@frogbotai/piece-telegram-bot 0.29.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.
Files changed (43) hide show
  1. package/dist/actions/index.d.ts +5 -5
  2. package/dist/actions/index.js +165 -91
  3. package/dist/actions/index.js.map +1 -1
  4. package/dist/adapter.js +10 -9
  5. package/dist/adapter.js.map +1 -1
  6. package/dist/client.js +36 -26
  7. package/dist/client.js.map +1 -1
  8. package/dist/config.js +15 -10
  9. package/dist/config.js.map +1 -1
  10. package/dist/define.js +1 -0
  11. package/dist/define.js.map +1 -1
  12. package/dist/files.d.ts.map +1 -1
  13. package/dist/files.js +23 -18
  14. package/dist/files.js.map +1 -1
  15. package/dist/index.d.ts +7 -7
  16. package/dist/index.js +20 -12
  17. package/dist/index.js.map +1 -1
  18. package/dist/questions/index.js +2 -1
  19. package/dist/questions/index.js.map +1 -1
  20. package/dist/questions/keyboard.js +132 -76
  21. package/dist/questions/keyboard.js.map +1 -1
  22. package/dist/questions/notify.js +38 -23
  23. package/dist/questions/notify.js.map +1 -1
  24. package/dist/questions/parse.js +128 -53
  25. package/dist/questions/parse.js.map +1 -1
  26. package/dist/questions/render.js +21 -5
  27. package/dist/questions/render.js.map +1 -1
  28. package/dist/questions/settled.js +30 -9
  29. package/dist/questions/settled.js.map +1 -1
  30. package/dist/questions/state.js +10 -8
  31. package/dist/questions/state.js.map +1 -1
  32. package/dist/questions/supports.js +2 -1
  33. package/dist/questions/supports.js.map +1 -1
  34. package/dist/questions/telegramThread.js +11 -7
  35. package/dist/questions/telegramThread.js.map +1 -1
  36. package/dist/questions/updated.js +19 -14
  37. package/dist/questions/updated.js.map +1 -1
  38. package/dist/triggers/newUpdate.d.ts +2 -2
  39. package/dist/triggers/newUpdate.js +35 -21
  40. package/dist/triggers/newUpdate.js.map +1 -1
  41. package/dist/webhook.js +8 -7
  42. package/dist/webhook.js.map +1 -1
  43. package/package.json +4 -4
@@ -1,87 +1,162 @@
1
1
  import { decodeAction, optionPages, selectedLabels } from './keyboard.js';
2
2
  import { readState } from './state.js';
3
- const IGNORE = { kind: 'ignore' };
4
- export const parseTelegramQuestion = ({ call, interaction, question, settled, }) => {
3
+ const IGNORE = {
4
+ kind: 'ignore'
5
+ };
6
+ export const parseTelegramQuestion = ({ call, interaction, question, settled })=>{
5
7
  const state = readState(question.state);
6
8
  if (interaction.type === 'action') {
7
- return parseAction({ call, data: interaction.event.actionId, state });
9
+ return parseAction({
10
+ call,
11
+ data: interaction.event.actionId,
12
+ state
13
+ });
8
14
  }
9
15
  if (interaction.type === 'message' && !settled) {
10
- return parseReply({ call, message: interaction.message, question, state });
16
+ return parseReply({
17
+ call,
18
+ message: interaction.message,
19
+ question,
20
+ state
21
+ });
11
22
  }
12
23
  return IGNORE;
13
24
  };
14
- function parseAction({ call, data, state, }) {
25
+ function parseAction({ call, data, state }) {
15
26
  const action = decodeAction(data);
16
- if (!action)
17
- return IGNORE;
18
- if (action.kind === 'dismiss')
19
- return { kind: 'dismiss' };
20
- if (action.q !== state.q)
21
- return { kind: 'stale' };
27
+ if (!action) return IGNORE;
28
+ if (action.kind === 'dismiss') return {
29
+ kind: 'dismiss'
30
+ };
31
+ if (action.q !== state.q) return {
32
+ kind: 'stale'
33
+ };
22
34
  const item = call.input.questions[state.q];
23
- if (!item)
24
- return IGNORE;
25
- switch (action.kind) {
26
- case 'choose': {
27
- const option = item.options[action.index];
28
- if (item.multiple || !option)
29
- return IGNORE;
30
- return advance({ call, state, answer: { header: item.header, selected: [option.label] } });
31
- }
32
- case 'toggle': {
33
- if (!item.multiple || !item.options[action.index])
34
- return IGNORE;
35
- const selected = state.selected.includes(action.index)
36
- ? state.selected.filter((index) => index !== action.index)
37
- : [...state.selected, action.index].sort((a, b) => a - b);
38
- return { kind: 'partial', state: { ...state, selected } };
39
- }
40
- case 'done': {
41
- if (!item.multiple)
42
- return IGNORE;
43
- const selected = selectedLabels({ item, selected: state.selected });
44
- if (selected.length === 0) {
45
- return { kind: 'rejected', reason: 'Select at least one option, then tap Done.' };
35
+ if (!item) return IGNORE;
36
+ switch(action.kind){
37
+ case 'choose':
38
+ {
39
+ const option = item.options[action.index];
40
+ if (item.multiple || !option) return IGNORE;
41
+ return advance({
42
+ call,
43
+ state,
44
+ answer: {
45
+ header: item.header,
46
+ selected: [
47
+ option.label
48
+ ]
49
+ }
50
+ });
51
+ }
52
+ case 'toggle':
53
+ {
54
+ if (!item.multiple || !item.options[action.index]) return IGNORE;
55
+ const selected = state.selected.includes(action.index) ? state.selected.filter((index)=>index !== action.index) : [
56
+ ...state.selected,
57
+ action.index
58
+ ].sort((a, b)=>a - b);
59
+ return {
60
+ kind: 'partial',
61
+ state: {
62
+ ...state,
63
+ selected
64
+ }
65
+ };
66
+ }
67
+ case 'done':
68
+ {
69
+ if (!item.multiple) return IGNORE;
70
+ const selected = selectedLabels({
71
+ item,
72
+ selected: state.selected
73
+ });
74
+ if (selected.length === 0) {
75
+ return {
76
+ kind: 'rejected',
77
+ reason: 'Select at least one option, then tap Done.'
78
+ };
79
+ }
80
+ return advance({
81
+ call,
82
+ state,
83
+ answer: {
84
+ header: item.header,
85
+ selected
86
+ }
87
+ });
46
88
  }
47
- return advance({ call, state, answer: { header: item.header, selected } });
48
- }
49
89
  case 'type':
50
- return item.custom ? { kind: 'partial', state: { ...state, typing: true } } : IGNORE;
90
+ return item.custom ? {
91
+ kind: 'partial',
92
+ state: {
93
+ ...state,
94
+ typing: true
95
+ }
96
+ } : IGNORE;
51
97
  case 'back':
52
- return { kind: 'partial', state: { ...state, typing: false } };
98
+ return {
99
+ kind: 'partial',
100
+ state: {
101
+ ...state,
102
+ typing: false
103
+ }
104
+ };
53
105
  case 'page':
54
- return action.page < optionPages(item).length
55
- ? { kind: 'partial', state: { ...state, page: action.page } }
56
- : IGNORE;
106
+ return action.page < optionPages(item).length ? {
107
+ kind: 'partial',
108
+ state: {
109
+ ...state,
110
+ page: action.page
111
+ }
112
+ } : IGNORE;
57
113
  }
58
114
  }
59
- function parseReply({ call, message, question, state, }) {
115
+ function parseReply({ call, message, question, state }) {
60
116
  const item = call.input.questions[state.q];
61
117
  const bound = message.replyTo?.id === question.messages.at(-1)?.id;
62
- if (!item?.custom || !state.typing || !bound)
63
- return IGNORE;
118
+ if (!item?.custom || !state.typing || !bound) return IGNORE;
64
119
  const custom = message.text.trim();
65
- if (!custom)
66
- return { kind: 'rejected', reason: 'Reply with your answer as text.' };
120
+ if (!custom) return {
121
+ kind: 'rejected',
122
+ reason: 'Reply with your answer as text.'
123
+ };
67
124
  return advance({
68
125
  call,
69
126
  state,
70
127
  answer: {
71
128
  header: item.header,
72
- selected: item.multiple ? selectedLabels({ item, selected: state.selected }) : [],
73
- custom,
74
- },
129
+ selected: item.multiple ? selectedLabels({
130
+ item,
131
+ selected: state.selected
132
+ }) : [],
133
+ custom
134
+ }
75
135
  });
76
136
  }
77
- function advance({ answer, call, state, }) {
78
- const answers = [...state.answers.slice(0, state.q), answer];
137
+ function advance({ answer, call, state }) {
138
+ const answers = [
139
+ ...state.answers.slice(0, state.q),
140
+ answer
141
+ ];
79
142
  if (answers.length === call.input.questions.length) {
80
- return { kind: 'answer', output: { answers } };
143
+ return {
144
+ kind: 'answer',
145
+ output: {
146
+ answers
147
+ }
148
+ };
81
149
  }
82
150
  return {
83
151
  kind: 'partial',
84
- state: { q: state.q + 1, page: 0, answers, selected: [], typing: false },
152
+ state: {
153
+ q: state.q + 1,
154
+ page: 0,
155
+ answers,
156
+ selected: [],
157
+ typing: false
158
+ }
85
159
  };
86
160
  }
161
+
87
162
  //# sourceMappingURL=parse.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"parse.js","sourceRoot":"","sources":["../../src/questions/parse.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAE1E,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAIvC,MAAM,MAAM,GAAwB,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;AAEvD,MAAM,CAAC,MAAM,qBAAqB,GAAmC,CAAC,EACpE,IAAI,EACJ,WAAW,EACX,QAAQ,EACR,OAAO,GACR,EAAE,EAAE;IACH,MAAM,KAAK,GAAG,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAExC,IAAI,WAAW,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAClC,OAAO,WAAW,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;IACxE,CAAC;IAED,IAAI,WAAW,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,OAAO,EAAE,CAAC;QAC/C,OAAO,UAAU,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,CAAC,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;IAC7E,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAEF,SAAS,WAAW,CAAC,EACnB,IAAI,EACJ,IAAI,EACJ,KAAK,GAKN;IACC,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IAElC,IAAI,CAAC,MAAM;QAAE,OAAO,MAAM,CAAC;IAE3B,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS;QAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;IAE1D,IAAI,MAAM,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC;QAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;IAEnD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAE3C,IAAI,CAAC,IAAI;QAAE,OAAO,MAAM,CAAC;IAEzB,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC;QACpB,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAE1C,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,MAAM;gBAAE,OAAO,MAAM,CAAC;YAE5C,OAAO,OAAO,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;QAC7F,CAAC;QAED,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;gBAAE,OAAO,MAAM,CAAC;YAEjE,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC;gBACpD,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,MAAM,CAAC,KAAK,CAAC;gBAC1D,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAE5D,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,GAAG,KAAK,EAAE,QAAQ,EAAE,EAAE,CAAC;QAC5D,CAAC;QAED,KAAK,MAAM,CAAC,CAAC,CAAC;YACZ,IAAI,CAAC,IAAI,CAAC,QAAQ;gBAAE,OAAO,MAAM,CAAC;YAElC,MAAM,QAAQ,GAAG,cAAc,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;YAEpE,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC1B,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,4CAA4C,EAAE,CAAC;YACpF,CAAC;YAED,OAAO,OAAO,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC;QAC7E,CAAC;QAED,KAAK,MAAM;YACT,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,GAAG,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;QAEvF,KAAK,MAAM;YACT,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,GAAG,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;QAEjE,KAAK,MAAM;YACT,OAAO,MAAM,CAAC,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,MAAM;gBAC3C,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,EAAE;gBAC7D,CAAC,CAAC,MAAM,CAAC;IACf,CAAC;AACH,CAAC;AAED,SAAS,UAAU,CAAC,EAClB,IAAI,EACJ,OAAO,EACP,QAAQ,EACR,KAAK,GAMN;IACC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC3C,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,EAAE,EAAE,KAAK,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IAEnE,IAAI,CAAC,IAAI,EAAE,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,KAAK;QAAE,OAAO,MAAM,CAAC;IAE5D,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;IAEnC,IAAI,CAAC,MAAM;QAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,iCAAiC,EAAE,CAAC;IAEpF,OAAO,OAAO,CAAC;QACb,IAAI;QACJ,KAAK;QACL,MAAM,EAAE;YACN,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE;YACjF,MAAM;SACP;KACF,CAAC,CAAC;AACL,CAAC;AAED,SAAS,OAAO,CAAC,EACf,MAAM,EACN,IAAI,EACJ,KAAK,GAKN;IACC,MAAM,OAAO,GAAG,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;IAE7D,IAAI,OAAO,CAAC,MAAM,KAAK,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;QACnD,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC;IACjD,CAAC;IAED,OAAO;QACL,IAAI,EAAE,SAAS;QACf,KAAK,EAAE,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE;KACzE,CAAC;AACJ,CAAC"}
1
+ {"version":3,"sources":["../../src/questions/parse.ts"],"names":["decodeAction","optionPages","selectedLabels","readState","IGNORE","kind","parseTelegramQuestion","call","interaction","question","settled","state","type","parseAction","data","event","actionId","parseReply","message","action","q","item","input","questions","option","options","index","multiple","advance","answer","header","selected","label","includes","filter","sort","a","b","length","reason","custom","typing","page","bound","replyTo","id","messages","at","text","trim","answers","slice","output"],"mappings":"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","file":"parse.js"}
@@ -1,21 +1,37 @@
1
1
  import { questionMessage } from './keyboard.js';
2
2
  import { initialState } from './state.js';
3
3
  import { postedAt, telegramTarget } from './telegramThread.js';
4
- export const renderTelegramQuestion = async ({ calls, client, thread, }) => {
4
+ export const renderTelegramQuestion = async ({ calls, client, thread })=>{
5
5
  const [call] = calls;
6
- if (!call)
7
- return [];
6
+ if (!call) return [];
8
7
  const target = telegramTarget(thread.id);
9
8
  const state = initialState();
10
9
  const response = await client.call('sendMessage', {
11
10
  ...target,
12
- ...questionMessage({ call, state }),
11
+ ...questionMessage({
12
+ call,
13
+ state
14
+ })
13
15
  });
14
16
  const sent = response.result;
15
17
  if (typeof sent?.message_id !== 'number') {
16
18
  throw new Error('Telegram sendMessage did not return a message id.');
17
19
  }
18
20
  const id = `${String(sent.chat?.id ?? target.chat_id)}:${sent.message_id}`;
19
- return [{ calls: [call.toolCallId], messages: [{ id, postedAt: postedAt(sent.date) }], state }];
21
+ return [
22
+ {
23
+ calls: [
24
+ call.toolCallId
25
+ ],
26
+ messages: [
27
+ {
28
+ id,
29
+ postedAt: postedAt(sent.date)
30
+ }
31
+ ],
32
+ state
33
+ }
34
+ ];
20
35
  };
36
+
21
37
  //# sourceMappingURL=render.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"render.js","sourceRoot":"","sources":["../../src/questions/render.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAI/D,MAAM,CAAC,MAAM,sBAAsB,GAAuD,KAAK,EAAE,EAC/F,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,MAAM,GAAG,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACzC,MAAM,KAAK,GAAG,YAAY,EAAE,CAAC;IAE7B,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE;QAChD,GAAG,MAAM;QACT,GAAG,eAAe,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;KACpC,CAAC,CAAC;IAEH,MAAM,IAAI,GAAG,QAAQ,CAAC,MAAiC,CAAC;IAExD,IAAI,OAAO,IAAI,EAAE,UAAU,KAAK,QAAQ,EAAE,CAAC;QACzC,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;IACvE,CAAC;IAED,MAAM,EAAE,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;IAE3E,OAAO,CAAC,EAAE,KAAK,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;AAClG,CAAC,CAAC"}
1
+ {"version":3,"sources":["../../src/questions/render.ts"],"names":["questionMessage","initialState","postedAt","telegramTarget","renderTelegramQuestion","calls","client","thread","call","target","id","state","response","sent","result","message_id","Error","String","chat","chat_id","toolCallId","messages","date"],"mappings":"AAGA,SAASA,eAAe,QAAQ,gBAAgB;AAChD,SAASC,YAAY,QAAQ,aAAa;AAC1C,SAASC,QAAQ,EAAEC,cAAc,QAAQ,sBAAsB;AAI/D,OAAO,MAAMC,yBAA6E,OAAO,EAC/FC,KAAK,EACLC,MAAM,EACNC,MAAM,EACP;IACC,MAAM,CAACC,KAAK,GAAGH;IAEf,IAAI,CAACG,MAAM,OAAO,EAAE;IAEpB,MAAMC,SAASN,eAAeI,OAAOG,EAAE;IACvC,MAAMC,QAAQV;IAEd,MAAMW,WAAW,MAAMN,OAAOE,IAAI,CAAC,eAAe;QAChD,GAAGC,MAAM;QACT,GAAGT,gBAAgB;YAAEQ;YAAMG;QAAM,EAAE;IACrC;IAEA,MAAME,OAAOD,SAASE,MAAM;IAE5B,IAAI,OAAOD,MAAME,eAAe,UAAU;QACxC,MAAM,IAAIC,MAAM;IAClB;IAEA,MAAMN,KAAK,GAAGO,OAAOJ,KAAKK,IAAI,EAAER,MAAMD,OAAOU,OAAO,EAAE,CAAC,EAAEN,KAAKE,UAAU,EAAE;IAE1E,OAAO;QAAC;YAAEV,OAAO;gBAACG,KAAKY,UAAU;aAAC;YAAEC,UAAU;gBAAC;oBAAEX;oBAAIR,UAAUA,SAASW,KAAKS,IAAI;gBAAE;aAAE;YAAEX;QAAM;KAAE;AACjG,EAAE","file":"render.js"}
@@ -1,18 +1,39 @@
1
1
  import { settledMessage } from './keyboard.js';
2
2
  import { readState } from './state.js';
3
3
  import { actorName, editQuestionMessage } from './telegramThread.js';
4
- export const settleTelegramQuestion = async ({ actor, call, client, outcome, question, req, thread, }) => {
4
+ export const settleTelegramQuestion = async ({ actor, call, client, outcome, question, req, thread })=>{
5
5
  const view = {
6
- ...(actorName(actor) ? { actor: actorName(actor) } : {}),
7
- ...('output' in outcome ? { answers: outcome.output.answers } : {}),
6
+ ...actorName(actor) ? {
7
+ actor: actorName(actor)
8
+ } : {},
9
+ ...'output' in outcome ? {
10
+ answers: outcome.output.answers
11
+ } : {}
8
12
  };
9
- const body = settledMessage({ ...view, call });
13
+ const body = settledMessage({
14
+ ...view,
15
+ call
16
+ });
10
17
  try {
11
- await Promise.all(question.messages.map(({ id }) => editQuestionMessage({ body, client, messageId: id, threadId: thread.id })));
18
+ await Promise.all(question.messages.map(({ id })=>editQuestionMessage({
19
+ body,
20
+ client,
21
+ messageId: id,
22
+ threadId: thread.id
23
+ })));
24
+ } catch (error) {
25
+ req.frogbot.logger.error({
26
+ err: error,
27
+ piece: 'telegramBot',
28
+ toolCallId: call.toolCallId
29
+ }, '[piece-telegram-bot] Could not mark a question answered.');
12
30
  }
13
- catch (error) {
14
- req.frogbot.logger.error({ err: error, piece: 'telegramBot', toolCallId: call.toolCallId }, '[piece-telegram-bot] Could not mark a question answered.');
15
- }
16
- return { state: { ...readState(question.state), settled: view } };
31
+ return {
32
+ state: {
33
+ ...readState(question.state),
34
+ settled: view
35
+ }
36
+ };
17
37
  };
38
+
18
39
  //# sourceMappingURL=settled.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"settled.js","sourceRoot":"","sources":["../../src/questions/settled.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,SAAS,EAA4B,MAAM,YAAY,CAAC;AACjE,OAAO,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAErE,MAAM,CAAC,MAAM,sBAAsB,GAAwD,KAAK,EAAE,EAChG,KAAK,EACL,IAAI,EACJ,MAAM,EACN,OAAO,EACP,QAAQ,EACR,GAAG,EACH,MAAM,GACP,EAAE,EAAE;IACH,MAAM,IAAI,GAAwB;QAChC,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACxD,GAAG,CAAC,QAAQ,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACpE,CAAC;IAEF,MAAM,IAAI,GAAG,cAAc,CAAC,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAE/C,IAAI,CAAC;QACH,MAAM,OAAO,CAAC,GAAG,CACf,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAC/B,mBAAmB,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAC1E,CACF,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CACtB,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,EACjE,0DAA0D,CAC3D,CAAC;IACJ,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,EAAE,GAAG,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC;AACpE,CAAC,CAAC"}
1
+ {"version":3,"sources":["../../src/questions/settled.ts"],"names":["settledMessage","readState","actorName","editQuestionMessage","settleTelegramQuestion","actor","call","client","outcome","question","req","thread","view","answers","output","body","Promise","all","messages","map","id","messageId","threadId","error","frogbot","logger","err","piece","toolCallId","state","settled"],"mappings":"AAGA,SAASA,cAAc,QAAQ,gBAAgB;AAC/C,SAASC,SAAS,QAAkC,aAAa;AACjE,SAASC,SAAS,EAAEC,mBAAmB,QAAQ,sBAAsB;AAErE,OAAO,MAAMC,yBAA8E,OAAO,EAChGC,KAAK,EACLC,IAAI,EACJC,MAAM,EACNC,OAAO,EACPC,QAAQ,EACRC,GAAG,EACHC,MAAM,EACP;IACC,MAAMC,OAA4B;QAChC,GAAIV,UAAUG,SAAS;YAAEA,OAAOH,UAAUG;QAAO,IAAI,CAAC,CAAC;QACvD,GAAI,YAAYG,UAAU;YAAEK,SAASL,QAAQM,MAAM,CAACD,OAAO;QAAC,IAAI,CAAC,CAAC;IACpE;IAEA,MAAME,OAAOf,eAAe;QAAE,GAAGY,IAAI;QAAEN;IAAK;IAE5C,IAAI;QACF,MAAMU,QAAQC,GAAG,CACfR,SAASS,QAAQ,CAACC,GAAG,CAAC,CAAC,EAAEC,EAAE,EAAE,GAC3BjB,oBAAoB;gBAAEY;gBAAMR;gBAAQc,WAAWD;gBAAIE,UAAUX,OAAOS,EAAE;YAAC;IAG7E,EAAE,OAAOG,OAAO;QACdb,IAAIc,OAAO,CAACC,MAAM,CAACF,KAAK,CACtB;YAAEG,KAAKH;YAAOI,OAAO;YAAeC,YAAYtB,KAAKsB,UAAU;QAAC,GAChE;IAEJ;IAEA,OAAO;QAAEC,OAAO;YAAE,GAAG5B,UAAUQ,SAASoB,KAAK,CAAC;YAAEC,SAASlB;QAAK;IAAE;AAClE,EAAE","file":"settled.js"}
@@ -1,18 +1,20 @@
1
1
  export function initialState() {
2
- return { q: 0, page: 0, answers: [], selected: [], typing: false };
2
+ return {
3
+ q: 0,
4
+ page: 0,
5
+ answers: [],
6
+ selected: [],
7
+ typing: false
8
+ };
3
9
  }
4
10
  export function readState(state) {
5
- if (!state || typeof state !== 'object')
6
- return initialState();
11
+ if (!state || typeof state !== 'object') return initialState();
7
12
  const value = state;
8
- const valid = isIndex(value.q) &&
9
- isIndex(value.page) &&
10
- Array.isArray(value.answers) &&
11
- Array.isArray(value.selected) &&
12
- typeof value.typing === 'boolean';
13
+ const valid = isIndex(value.q) && isIndex(value.page) && Array.isArray(value.answers) && Array.isArray(value.selected) && typeof value.typing === 'boolean';
13
14
  return valid ? value : initialState();
14
15
  }
15
16
  function isIndex(value) {
16
17
  return Number.isInteger(value) && value >= 0;
17
18
  }
19
+
18
20
  //# sourceMappingURL=state.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"state.js","sourceRoot":"","sources":["../../src/questions/state.ts"],"names":[],"mappings":"AAkBA,MAAM,UAAU,YAAY;IAC1B,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;AACrE,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,KAAc;IACtC,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,YAAY,EAAE,CAAC;IAE/D,MAAM,KAAK,GAAG,KAAuC,CAAC;IAEtD,MAAM,KAAK,GACT,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;QAChB,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC;QACnB,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC;QAC5B,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC;QAC7B,OAAO,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC;IAEpC,OAAO,KAAK,CAAC,CAAC,CAAE,KAA+B,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC;AACnE,CAAC;AAED,SAAS,OAAO,CAAC,KAAc;IAC7B,OAAO,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAK,KAAgB,IAAI,CAAC,CAAC;AAC3D,CAAC"}
1
+ {"version":3,"sources":["../../src/questions/state.ts"],"names":["initialState","q","page","answers","selected","typing","readState","state","value","valid","isIndex","Array","isArray","Number","isInteger"],"mappings":"AAkBA,OAAO,SAASA;IACd,OAAO;QAAEC,GAAG;QAAGC,MAAM;QAAGC,SAAS,EAAE;QAAEC,UAAU,EAAE;QAAEC,QAAQ;IAAM;AACnE;AAEA,OAAO,SAASC,UAAUC,KAAc;IACtC,IAAI,CAACA,SAAS,OAAOA,UAAU,UAAU,OAAOP;IAEhD,MAAMQ,QAAQD;IAEd,MAAME,QACJC,QAAQF,MAAMP,CAAC,KACfS,QAAQF,MAAMN,IAAI,KAClBS,MAAMC,OAAO,CAACJ,MAAML,OAAO,KAC3BQ,MAAMC,OAAO,CAACJ,MAAMJ,QAAQ,KAC5B,OAAOI,MAAMH,MAAM,KAAK;IAE1B,OAAOI,QAASD,QAAkCR;AACpD;AAEA,SAASU,QAAQF,KAAc;IAC7B,OAAOK,OAAOC,SAAS,CAACN,UAAU,AAACA,SAAoB;AACzD","file":"state.js"}
@@ -1,2 +1,3 @@
1
- export const supportsTelegramQuestion = ({ thread, }) => !thread.id.startsWith('telegram:biz:');
1
+ export const supportsTelegramQuestion = ({ thread })=>!thread.id.startsWith('telegram:biz:');
2
+
2
3
  //# sourceMappingURL=supports.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"supports.js","sourceRoot":"","sources":["../../src/questions/supports.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,wBAAwB,GAAmD,CAAC,EACvF,MAAM,GACP,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC"}
1
+ {"version":3,"sources":["../../src/questions/supports.ts"],"names":["supportsTelegramQuestion","thread","id","startsWith"],"mappings":"AAEA,OAAO,MAAMA,2BAA2E,CAAC,EACvFC,MAAM,EACP,GAAK,CAACA,OAAOC,EAAE,CAACC,UAAU,CAAC,iBAAiB","file":"supports.js"}
@@ -1,7 +1,12 @@
1
1
  import { TelegramApiError } from '../client.js';
2
2
  export function telegramTarget(threadId) {
3
3
  const [, chatId = '', topic] = threadId.split(':');
4
- return { chat_id: chatId, ...(topic ? { message_thread_id: Number(topic) } : {}) };
4
+ return {
5
+ chat_id: chatId,
6
+ ...topic ? {
7
+ message_thread_id: Number(topic)
8
+ } : {}
9
+ };
5
10
  }
6
11
  export function telegramMessageId(messageId) {
7
12
  return Number(messageId.split(':').at(-1));
@@ -16,19 +21,18 @@ export function responderName(interaction) {
16
21
  export function actorName(actor) {
17
22
  return actor?.channel?.name || actor?.channel?.username || undefined;
18
23
  }
19
- export async function editQuestionMessage({ body, client, messageId, threadId, }) {
24
+ export async function editQuestionMessage({ body, client, messageId, threadId }) {
20
25
  const { chat_id } = telegramTarget(threadId);
21
26
  try {
22
27
  await client.call('editMessageText', {
23
28
  chat_id,
24
29
  message_id: telegramMessageId(messageId),
25
- ...body,
30
+ ...body
26
31
  });
27
- }
28
- catch (error) {
32
+ } catch (error) {
29
33
  const unchanged = error instanceof TelegramApiError && /message is not modified/i.test(error.description ?? '');
30
- if (!unchanged)
31
- throw error;
34
+ if (!unchanged) throw error;
32
35
  }
33
36
  }
37
+
34
38
  //# sourceMappingURL=telegramThread.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"telegramThread.js","sourceRoot":"","sources":["../../src/questions/telegramThread.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAA0B,MAAM,cAAc,CAAC;AAKxE,MAAM,UAAU,cAAc,CAAC,QAAgB;IAC7C,MAAM,CAAC,EAAE,MAAM,GAAG,EAAE,EAAE,KAAK,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAEnD,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;AACrF,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,SAAiB;IACjD,OAAO,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7C,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,IAAa;IACpC,OAAO,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AAC7E,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,WAAgC;IAC5D,MAAM,MAAM,GACV,WAAW,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC;IAEvF,OAAO,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,MAAM,CAAC;AAC7D,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,KAAuB;IAC/C,OAAO,KAAK,EAAE,OAAO,EAAE,IAAI,IAAI,KAAK,EAAE,OAAO,EAAE,QAAQ,IAAI,SAAS,CAAC;AACvE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,EACxC,IAAI,EACJ,MAAM,EACN,SAAS,EACT,QAAQ,GAMT;IACC,MAAM,EAAE,OAAO,EAAE,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC;IAE7C,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,IAAI,CAAC,iBAAiB,EAAE;YACnC,OAAO;YACP,UAAU,EAAE,iBAAiB,CAAC,SAAS,CAAC;YACxC,GAAG,IAAI;SACR,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,SAAS,GACb,KAAK,YAAY,gBAAgB,IAAI,0BAA0B,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC;QAEhG,IAAI,CAAC,SAAS;YAAE,MAAM,KAAK,CAAC;IAC9B,CAAC;AACH,CAAC"}
1
+ {"version":3,"sources":["../../src/questions/telegramThread.ts"],"names":["TelegramApiError","telegramTarget","threadId","chatId","topic","split","chat_id","message_thread_id","Number","telegramMessageId","messageId","at","postedAt","date","Date","toISOString","responderName","interaction","author","type","message","event","user","fullName","userName","userId","actorName","actor","channel","name","username","undefined","editQuestionMessage","body","client","call","message_id","error","unchanged","test","description"],"mappings":"AAEA,SAASA,gBAAgB,QAAgC,eAAe;AAKxE,OAAO,SAASC,eAAeC,QAAgB;IAC7C,MAAM,GAAGC,SAAS,EAAE,EAAEC,MAAM,GAAGF,SAASG,KAAK,CAAC;IAE9C,OAAO;QAAEC,SAASH;QAAQ,GAAIC,QAAQ;YAAEG,mBAAmBC,OAAOJ;QAAO,IAAI,CAAC,CAAC;IAAE;AACnF;AAEA,OAAO,SAASK,kBAAkBC,SAAiB;IACjD,OAAOF,OAAOE,UAAUL,KAAK,CAAC,KAAKM,EAAE,CAAC,CAAC;AACzC;AAEA,OAAO,SAASC,SAASC,IAAa;IACpC,OAAO,OAAOA,SAAS,WAAW,IAAIC,KAAKD,OAAO,MAAME,WAAW,KAAK;AAC1E;AAEA,OAAO,SAASC,cAAcC,WAAgC;IAC5D,MAAMC,SACJD,YAAYE,IAAI,KAAK,YAAYF,YAAYG,OAAO,CAACF,MAAM,GAAGD,YAAYI,KAAK,CAACC,IAAI;IAEtF,OAAOJ,OAAOK,QAAQ,IAAIL,OAAOM,QAAQ,IAAIN,OAAOO,MAAM;AAC5D;AAEA,OAAO,SAASC,UAAUC,KAAuB;IAC/C,OAAOA,OAAOC,SAASC,QAAQF,OAAOC,SAASE,YAAYC;AAC7D;AAEA,OAAO,eAAeC,oBAAoB,EACxCC,IAAI,EACJC,MAAM,EACNxB,SAAS,EACTR,QAAQ,EAMT;IACC,MAAM,EAAEI,OAAO,EAAE,GAAGL,eAAeC;IAEnC,IAAI;QACF,MAAMgC,OAAOC,IAAI,CAAC,mBAAmB;YACnC7B;YACA8B,YAAY3B,kBAAkBC;YAC9B,GAAGuB,IAAI;QACT;IACF,EAAE,OAAOI,OAAO;QACd,MAAMC,YACJD,iBAAiBrC,oBAAoB,2BAA2BuC,IAAI,CAACF,MAAMG,WAAW,IAAI;QAE5F,IAAI,CAACF,WAAW,MAAMD;IACxB;AACF","file":"telegramThread.js"}
@@ -1,31 +1,36 @@
1
1
  import { decodeAction, questionMessage } from './keyboard.js';
2
2
  import { readState } from './state.js';
3
3
  import { editQuestionMessage } from './telegramThread.js';
4
- export const updateTelegramQuestion = async ({ call, client, interaction, question, req, thread }) => {
5
- const body = questionMessage({ call, state: readState(question.state) });
6
- const redraw = () => editQuestionMessage({
7
- body,
8
- client,
9
- messageId: question.messages.at(-1).id,
10
- threadId: thread.id,
4
+ export const updateTelegramQuestion = async ({ call, client, interaction, question, req, thread })=>{
5
+ const body = questionMessage({
6
+ call,
7
+ state: readState(question.state)
11
8
  });
9
+ const redraw = ()=>editQuestionMessage({
10
+ body,
11
+ client,
12
+ messageId: question.messages.at(-1).id,
13
+ threadId: thread.id
14
+ });
12
15
  if (advances(interaction)) {
13
16
  await redraw();
14
17
  return;
15
18
  }
16
19
  try {
17
20
  await redraw();
18
- }
19
- catch (error) {
20
- req.frogbot.logger.error({ err: error, piece: 'telegramBot', toolCallId: call.toolCallId }, '[piece-telegram-bot] Could not redraw a question.');
21
+ } catch (error) {
22
+ req.frogbot.logger.error({
23
+ err: error,
24
+ piece: 'telegramBot',
25
+ toolCallId: call.toolCallId
26
+ }, '[piece-telegram-bot] Could not redraw a question.');
21
27
  }
22
28
  };
23
29
  function advances(interaction) {
24
- if (!interaction || interaction.type === 'message')
25
- return true;
26
- if (interaction.type !== 'action')
27
- return false;
30
+ if (!interaction || interaction.type === 'message') return true;
31
+ if (interaction.type !== 'action') return false;
28
32
  const action = decodeAction(interaction.event.actionId);
29
33
  return action?.kind === 'choose' || action?.kind === 'done';
30
34
  }
35
+
31
36
  //# sourceMappingURL=updated.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"updated.js","sourceRoot":"","sources":["../../src/questions/updated.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAE1D,MAAM,CAAC,MAAM,sBAAsB,GAE/B,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE;IACjE,MAAM,IAAI,GAAG,eAAe,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAEzE,MAAM,MAAM,GAAG,GAAG,EAAE,CAClB,mBAAmB,CAAC;QAClB,IAAI;QACJ,MAAM;QACN,SAAS,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAE,CAAC,EAAE;QACvC,QAAQ,EAAE,MAAM,CAAC,EAAE;KACpB,CAAC,CAAC;IAEL,IAAI,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;QAC1B,MAAM,MAAM,EAAE,CAAC;QAEf,OAAO;IACT,CAAC;IAED,IAAI,CAAC;QACH,MAAM,MAAM,EAAE,CAAC;IACjB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CACtB,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,EACjE,mDAAmD,CACpD,CAAC;IACJ,CAAC;AACH,CAAC,CAAC;AAEF,SAAS,QAAQ,CAAC,WAA4C;IAC5D,IAAI,CAAC,WAAW,IAAI,WAAW,CAAC,IAAI,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IAEhE,IAAI,WAAW,CAAC,IAAI,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAEhD,MAAM,MAAM,GAAG,YAAY,CAAC,WAAW,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAExD,OAAO,MAAM,EAAE,IAAI,KAAK,QAAQ,IAAI,MAAM,EAAE,IAAI,KAAK,MAAM,CAAC;AAC9D,CAAC"}
1
+ {"version":3,"sources":["../../src/questions/updated.ts"],"names":["decodeAction","questionMessage","readState","editQuestionMessage","updateTelegramQuestion","call","client","interaction","question","req","thread","body","state","redraw","messageId","messages","at","id","threadId","advances","error","frogbot","logger","err","piece","toolCallId","type","action","event","actionId","kind"],"mappings":"AAGA,SAASA,YAAY,EAAEC,eAAe,QAAQ,gBAAgB;AAC9D,SAASC,SAAS,QAAQ,aAAa;AACvC,SAASC,mBAAmB,QAAQ,sBAAsB;AAE1D,OAAO,MAAMC,yBAET,OAAO,EAAEC,IAAI,EAAEC,MAAM,EAAEC,WAAW,EAAEC,QAAQ,EAAEC,GAAG,EAAEC,MAAM,EAAE;IAC7D,MAAMC,OAAOV,gBAAgB;QAAEI;QAAMO,OAAOV,UAAUM,SAASI,KAAK;IAAE;IAEtE,MAAMC,SAAS,IACbV,oBAAoB;YAClBQ;YACAL;YACAQ,WAAWN,SAASO,QAAQ,CAACC,EAAE,CAAC,CAAC,GAAIC,EAAE;YACvCC,UAAUR,OAAOO,EAAE;QACrB;IAEF,IAAIE,SAASZ,cAAc;QACzB,MAAMM;QAEN;IACF;IAEA,IAAI;QACF,MAAMA;IACR,EAAE,OAAOO,OAAO;QACdX,IAAIY,OAAO,CAACC,MAAM,CAACF,KAAK,CACtB;YAAEG,KAAKH;YAAOI,OAAO;YAAeC,YAAYpB,KAAKoB,UAAU;QAAC,GAChE;IAEJ;AACF,EAAE;AAEF,SAASN,SAASZ,WAA4C;IAC5D,IAAI,CAACA,eAAeA,YAAYmB,IAAI,KAAK,WAAW,OAAO;IAE3D,IAAInB,YAAYmB,IAAI,KAAK,UAAU,OAAO;IAE1C,MAAMC,SAAS3B,aAAaO,YAAYqB,KAAK,CAACC,QAAQ;IAEtD,OAAOF,QAAQG,SAAS,YAAYH,QAAQG,SAAS;AACvD","file":"updated.js"}
@@ -10,10 +10,10 @@ export declare const newUpdate: {
10
10
  edited_message: "edited_message";
11
11
  channel_post: "channel_post";
12
12
  edited_channel_post: "edited_channel_post";
13
- poll: "poll";
14
13
  callback_query: "callback_query";
15
14
  inline_query: "inline_query";
16
15
  chosen_inline_result: "chosen_inline_result";
16
+ poll: "poll";
17
17
  poll_answer: "poll_answer";
18
18
  my_chat_member: "my_chat_member";
19
19
  chat_member: "chat_member";
@@ -31,7 +31,7 @@ export declare const newUpdate: {
31
31
  type: "app";
32
32
  event: string;
33
33
  run(args: import("frogbot").PieceRunArgs<{
34
- updateTypes: ("message" | "edited_message" | "channel_post" | "edited_channel_post" | "poll" | "callback_query" | "inline_query" | "chosen_inline_result" | "poll_answer" | "my_chat_member" | "chat_member" | "chat_join_request")[];
34
+ updateTypes: ("message" | "edited_message" | "channel_post" | "edited_channel_post" | "callback_query" | "inline_query" | "chosen_inline_result" | "poll" | "poll_answer" | "my_chat_member" | "chat_member" | "chat_join_request")[];
35
35
  }, {
36
36
  webhookSecret?: string | undefined;
37
37
  botUsername?: string | undefined;