@nyaruka/temba-components 0.130.0 → 0.130.2

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 (252) hide show
  1. package/CHANGELOG.md +34 -4
  2. package/DEV_DATA.md +89 -0
  3. package/demo/data/flows/food-order.json +4 -4
  4. package/demo/data/flows/sample-flow.json +132 -147
  5. package/dist/temba-components.js +764 -628
  6. package/dist/temba-components.js.map +1 -1
  7. package/out-tsc/src/display/Chat.js +5 -3
  8. package/out-tsc/src/display/Chat.js.map +1 -1
  9. package/out-tsc/src/events.js.map +1 -1
  10. package/out-tsc/src/flow/CanvasNode.js +83 -78
  11. package/out-tsc/src/flow/CanvasNode.js.map +1 -1
  12. package/out-tsc/src/flow/Editor.js +1 -0
  13. package/out-tsc/src/flow/Editor.js.map +1 -1
  14. package/out-tsc/src/flow/NodeEditor.js +47 -3
  15. package/out-tsc/src/flow/NodeEditor.js.map +1 -1
  16. package/out-tsc/src/flow/actions/add_contact_groups.js +13 -1
  17. package/out-tsc/src/flow/actions/add_contact_groups.js.map +1 -1
  18. package/out-tsc/src/flow/actions/add_contact_urn.js +1 -1
  19. package/out-tsc/src/flow/actions/add_contact_urn.js.map +1 -1
  20. package/out-tsc/src/flow/actions/add_input_labels.js +1 -0
  21. package/out-tsc/src/flow/actions/add_input_labels.js.map +1 -1
  22. package/out-tsc/src/flow/actions/set_contact_channel.js +1 -1
  23. package/out-tsc/src/flow/actions/set_contact_channel.js.map +1 -1
  24. package/out-tsc/src/flow/actions/set_contact_field.js +2 -1
  25. package/out-tsc/src/flow/actions/set_contact_field.js.map +1 -1
  26. package/out-tsc/src/flow/actions/set_contact_language.js +3 -1
  27. package/out-tsc/src/flow/actions/set_contact_language.js.map +1 -1
  28. package/out-tsc/src/flow/actions/set_contact_name.js +1 -1
  29. package/out-tsc/src/flow/actions/set_contact_name.js.map +1 -1
  30. package/out-tsc/src/flow/actions/set_contact_status.js +17 -14
  31. package/out-tsc/src/flow/actions/set_contact_status.js.map +1 -1
  32. package/out-tsc/src/flow/actions/set_run_result.js +1 -1
  33. package/out-tsc/src/flow/actions/set_run_result.js.map +1 -1
  34. package/out-tsc/src/flow/nodes/split_by_llm.js +12 -12
  35. package/out-tsc/src/flow/nodes/split_by_llm.js.map +1 -1
  36. package/out-tsc/src/flow/nodes/wait_for_response.js +609 -6
  37. package/out-tsc/src/flow/nodes/wait_for_response.js.map +1 -1
  38. package/out-tsc/src/flow/operators.js +194 -0
  39. package/out-tsc/src/flow/operators.js.map +1 -0
  40. package/out-tsc/src/flow/types.js.map +1 -1
  41. package/out-tsc/src/form/ArrayEditor.js +84 -19
  42. package/out-tsc/src/form/ArrayEditor.js.map +1 -1
  43. package/out-tsc/src/form/Checkbox.js +12 -0
  44. package/out-tsc/src/form/Checkbox.js.map +1 -1
  45. package/out-tsc/src/form/FieldRenderer.js +13 -3
  46. package/out-tsc/src/form/FieldRenderer.js.map +1 -1
  47. package/out-tsc/src/form/TextInput.js +20 -1
  48. package/out-tsc/src/form/TextInput.js.map +1 -1
  49. package/out-tsc/src/form/select/Select.js +14 -1
  50. package/out-tsc/src/form/select/Select.js.map +1 -1
  51. package/out-tsc/src/interfaces.js.map +1 -1
  52. package/out-tsc/src/layout/Dialog.js +3 -4
  53. package/out-tsc/src/layout/Dialog.js.map +1 -1
  54. package/out-tsc/src/list/RunList.js +2 -2
  55. package/out-tsc/src/list/RunList.js.map +1 -1
  56. package/out-tsc/src/live/ContactChat.js +114 -34
  57. package/out-tsc/src/live/ContactChat.js.map +1 -1
  58. package/out-tsc/src/live/ContactDetails.js +7 -0
  59. package/out-tsc/src/live/ContactDetails.js.map +1 -1
  60. package/out-tsc/src/live/ContactNameFetch.js +1 -1
  61. package/out-tsc/src/live/ContactNameFetch.js.map +1 -1
  62. package/out-tsc/test/NodeHelper.js +25 -27
  63. package/out-tsc/test/NodeHelper.js.map +1 -1
  64. package/out-tsc/test/nodes/split_by_llm.test.js +12 -4
  65. package/out-tsc/test/nodes/split_by_llm.test.js.map +1 -1
  66. package/out-tsc/test/nodes/split_by_llm_categorize.test.js +101 -91
  67. package/out-tsc/test/nodes/split_by_llm_categorize.test.js.map +1 -1
  68. package/out-tsc/test/nodes/split_by_random.test.js +120 -112
  69. package/out-tsc/test/nodes/split_by_random.test.js.map +1 -1
  70. package/out-tsc/test/nodes/wait_for_digits.test.js +131 -111
  71. package/out-tsc/test/nodes/wait_for_digits.test.js.map +1 -1
  72. package/out-tsc/test/nodes/wait_for_response.test.js +549 -85
  73. package/out-tsc/test/nodes/wait_for_response.test.js.map +1 -1
  74. package/out-tsc/test/temba-checkbox.test.js +32 -32
  75. package/out-tsc/test/temba-checkbox.test.js.map +1 -1
  76. package/out-tsc/test/temba-contact-chat.test.js +2 -1
  77. package/out-tsc/test/temba-contact-chat.test.js.map +1 -1
  78. package/out-tsc/test/temba-dropdown.test.js +0 -4
  79. package/out-tsc/test/temba-dropdown.test.js.map +1 -1
  80. package/out-tsc/test/temba-flow-editor-node.test.js +9 -4
  81. package/out-tsc/test/temba-flow-editor-node.test.js.map +1 -1
  82. package/out-tsc/test/temba-integration-markdown.test.js +13 -15
  83. package/out-tsc/test/temba-integration-markdown.test.js.map +1 -1
  84. package/out-tsc/test/temba-node-editor.test.js +5 -38
  85. package/out-tsc/test/temba-node-editor.test.js.map +1 -1
  86. package/out-tsc/test/temba-run-list.test.js +2 -2
  87. package/out-tsc/test/temba-run-list.test.js.map +1 -1
  88. package/out-tsc/test/utils.test.js +2 -1
  89. package/out-tsc/test/utils.test.js.map +1 -1
  90. package/package.json +6 -2
  91. package/screenshots/truth/actions/add_contact_groups/editor/descriptive-group-names.png +0 -0
  92. package/screenshots/truth/actions/add_contact_groups/editor/long-group-names.png +0 -0
  93. package/screenshots/truth/actions/add_contact_groups/editor/many-groups.png +0 -0
  94. package/screenshots/truth/actions/add_contact_groups/editor/multiple-groups.png +0 -0
  95. package/screenshots/truth/actions/add_contact_groups/editor/single-group.png +0 -0
  96. package/screenshots/truth/actions/add_contact_groups/render/descriptive-group-names.png +0 -0
  97. package/screenshots/truth/actions/add_contact_groups/render/long-group-names.png +0 -0
  98. package/screenshots/truth/actions/add_contact_groups/render/many-groups.png +0 -0
  99. package/screenshots/truth/actions/add_contact_groups/render/multiple-groups.png +0 -0
  100. package/screenshots/truth/actions/add_contact_groups/render/single-group.png +0 -0
  101. package/screenshots/truth/actions/remove_contact_groups/editor/cleanup-groups.png +0 -0
  102. package/screenshots/truth/actions/remove_contact_groups/editor/long-descriptive-group-names.png +0 -0
  103. package/screenshots/truth/actions/remove_contact_groups/editor/many-groups.png +0 -0
  104. package/screenshots/truth/actions/remove_contact_groups/editor/multiple-groups.png +0 -0
  105. package/screenshots/truth/actions/remove_contact_groups/editor/remove-from-all-groups.png +0 -0
  106. package/screenshots/truth/actions/remove_contact_groups/editor/single-group.png +0 -0
  107. package/screenshots/truth/actions/remove_contact_groups/render/cleanup-groups.png +0 -0
  108. package/screenshots/truth/actions/remove_contact_groups/render/long-descriptive-group-names.png +0 -0
  109. package/screenshots/truth/actions/remove_contact_groups/render/many-groups.png +0 -0
  110. package/screenshots/truth/actions/remove_contact_groups/render/multiple-groups.png +0 -0
  111. package/screenshots/truth/actions/remove_contact_groups/render/remove-from-all-groups.png +0 -0
  112. package/screenshots/truth/actions/remove_contact_groups/render/single-group.png +0 -0
  113. package/screenshots/truth/actions/send_email/editor/complex-business-email.png +0 -0
  114. package/screenshots/truth/actions/send_email/editor/empty-body.png +0 -0
  115. package/screenshots/truth/actions/send_email/editor/empty-subject.png +0 -0
  116. package/screenshots/truth/actions/send_email/editor/long-subject.png +0 -0
  117. package/screenshots/truth/actions/send_email/editor/multiline-body.png +0 -0
  118. package/screenshots/truth/actions/send_email/editor/multiple-recipients.png +0 -0
  119. package/screenshots/truth/actions/send_email/editor/simple-email.png +0 -0
  120. package/screenshots/truth/actions/send_email/editor/with-expressions.png +0 -0
  121. package/screenshots/truth/actions/send_email/render/complex-business-email.png +0 -0
  122. package/screenshots/truth/actions/send_email/render/empty-body.png +0 -0
  123. package/screenshots/truth/actions/send_email/render/empty-subject.png +0 -0
  124. package/screenshots/truth/actions/send_email/render/long-subject.png +0 -0
  125. package/screenshots/truth/actions/send_email/render/multiline-body.png +0 -0
  126. package/screenshots/truth/actions/send_email/render/multiple-recipients.png +0 -0
  127. package/screenshots/truth/actions/send_email/render/simple-email.png +0 -0
  128. package/screenshots/truth/actions/send_email/render/with-expressions.png +0 -0
  129. package/screenshots/truth/actions/send_msg/editor/long-quick-replies.png +0 -0
  130. package/screenshots/truth/actions/send_msg/editor/multiline-text-with-replies.png +0 -0
  131. package/screenshots/truth/actions/send_msg/editor/simple-text.png +0 -0
  132. package/screenshots/truth/actions/send_msg/editor/text-with-linebreaks.png +0 -0
  133. package/screenshots/truth/actions/send_msg/editor/text-with-many-quick-replies.png +0 -0
  134. package/screenshots/truth/actions/send_msg/editor/text-with-quick-replies.png +0 -0
  135. package/screenshots/truth/actions/send_msg/editor/text-without-quick-replies.png +0 -0
  136. package/screenshots/truth/actions/send_msg/render/long-quick-replies.png +0 -0
  137. package/screenshots/truth/actions/send_msg/render/multiline-text-with-replies.png +0 -0
  138. package/screenshots/truth/actions/send_msg/render/simple-text.png +0 -0
  139. package/screenshots/truth/actions/send_msg/render/text-with-linebreaks.png +0 -0
  140. package/screenshots/truth/actions/send_msg/render/text-with-many-quick-replies.png +0 -0
  141. package/screenshots/truth/actions/send_msg/render/text-with-quick-replies.png +0 -0
  142. package/screenshots/truth/actions/send_msg/render/text-without-quick-replies.png +0 -0
  143. package/screenshots/truth/checkbox/checkbox-label-background-hover.png +0 -0
  144. package/screenshots/truth/checkbox/checkbox-whitespace-label-no-background-hover.png +0 -0
  145. package/screenshots/truth/checkbox/checkbox-with-help-text.png +0 -0
  146. package/screenshots/truth/checkbox/checked.png +0 -0
  147. package/screenshots/truth/checkbox/default.png +0 -0
  148. package/screenshots/truth/editor/wait.png +0 -0
  149. package/screenshots/truth/integration/textinput-markdown-errors.png +0 -0
  150. package/screenshots/truth/lightbox/img-zoomed.png +0 -0
  151. package/screenshots/truth/nodes/split_by_llm/editor/information-extraction.png +0 -0
  152. package/screenshots/truth/nodes/split_by_llm/editor/sentiment-analysis.png +0 -0
  153. package/screenshots/truth/nodes/split_by_llm/editor/summarization.png +0 -0
  154. package/screenshots/truth/nodes/split_by_llm/editor/translation-task.png +0 -0
  155. package/screenshots/truth/nodes/split_by_llm/render/information-extraction.png +0 -0
  156. package/screenshots/truth/nodes/split_by_llm/render/sentiment-analysis.png +0 -0
  157. package/screenshots/truth/nodes/split_by_llm/render/summarization.png +0 -0
  158. package/screenshots/truth/nodes/split_by_llm/render/translation-task.png +0 -0
  159. package/screenshots/truth/nodes/split_by_llm_categorize/editor/basic-categorization.png +0 -0
  160. package/screenshots/truth/nodes/split_by_llm_categorize/editor/custom-input-and-result-name.png +0 -0
  161. package/screenshots/truth/nodes/split_by_llm_categorize/editor/feedback-categorization.png +0 -0
  162. package/screenshots/truth/nodes/split_by_llm_categorize/editor/many-categories.png +0 -0
  163. package/screenshots/truth/nodes/split_by_llm_categorize/editor/minimal-categories.png +0 -0
  164. package/screenshots/truth/nodes/split_by_llm_categorize/render/basic-categorization.png +0 -0
  165. package/screenshots/truth/nodes/split_by_llm_categorize/render/custom-input-and-result-name.png +0 -0
  166. package/screenshots/truth/nodes/split_by_llm_categorize/render/feedback-categorization.png +0 -0
  167. package/screenshots/truth/nodes/split_by_llm_categorize/render/many-categories.png +0 -0
  168. package/screenshots/truth/nodes/split_by_llm_categorize/render/minimal-categories.png +0 -0
  169. package/screenshots/truth/nodes/split_by_random/editor/ab-test-multiple-variants.png +0 -0
  170. package/screenshots/truth/nodes/split_by_random/editor/sampling-split.png +0 -0
  171. package/screenshots/truth/nodes/split_by_random/editor/three-way-split.png +0 -0
  172. package/screenshots/truth/nodes/split_by_random/editor/two-bucket-split.png +0 -0
  173. package/screenshots/truth/nodes/split_by_random/render/ab-test-multiple-variants.png +0 -0
  174. package/screenshots/truth/nodes/split_by_random/render/sampling-split.png +0 -0
  175. package/screenshots/truth/nodes/split_by_random/render/three-way-split.png +0 -0
  176. package/screenshots/truth/nodes/split_by_random/render/two-bucket-split.png +0 -0
  177. package/screenshots/truth/nodes/wait_for_digits/editor/basic-digits-wait.png +0 -0
  178. package/screenshots/truth/nodes/wait_for_digits/editor/phone-number-collection.png +0 -0
  179. package/screenshots/truth/nodes/wait_for_digits/editor/single-digit-with-timeout.png +0 -0
  180. package/screenshots/truth/nodes/wait_for_digits/editor/verification-code.png +0 -0
  181. package/screenshots/truth/nodes/wait_for_digits/render/basic-digits-wait.png +0 -0
  182. package/screenshots/truth/nodes/wait_for_digits/render/phone-number-collection.png +0 -0
  183. package/screenshots/truth/nodes/wait_for_digits/render/single-digit-with-timeout.png +0 -0
  184. package/screenshots/truth/nodes/wait_for_digits/render/verification-code.png +0 -0
  185. package/screenshots/truth/nodes/wait_for_response/editor/basic-wait.png +0 -0
  186. package/screenshots/truth/nodes/wait_for_response/editor/custom-result-name.png +0 -0
  187. package/screenshots/truth/nodes/wait_for_response/editor/no-timeout.png +0 -0
  188. package/screenshots/truth/nodes/wait_for_response/editor/short-timeout.png +0 -0
  189. package/screenshots/truth/nodes/wait_for_response/render/basic-wait.png +0 -0
  190. package/screenshots/truth/nodes/wait_for_response/render/custom-result-name.png +0 -0
  191. package/screenshots/truth/nodes/wait_for_response/render/no-timeout.png +0 -0
  192. package/screenshots/truth/nodes/wait_for_response/render/short-timeout.png +0 -0
  193. package/screenshots/truth/run-list/basic.png +0 -0
  194. package/screenshots/truth/templates/default.png +0 -0
  195. package/screenshots/truth/wait-for-response/rules-editor.png +0 -0
  196. package/screenshots/truth/wait-for-response/timeout-editor-unchecked.png +0 -0
  197. package/screenshots/truth/wait-for-response/timeout-editor.png +0 -0
  198. package/scripts/dev-data-sync.mjs +182 -0
  199. package/src/display/Chat.ts +6 -4
  200. package/src/events.ts +6 -5
  201. package/src/flow/CanvasNode.ts +89 -79
  202. package/src/flow/Editor.ts +1 -0
  203. package/src/flow/NodeEditor.ts +55 -3
  204. package/src/flow/actions/add_contact_groups.ts +16 -1
  205. package/src/flow/actions/add_contact_urn.ts +1 -1
  206. package/src/flow/actions/add_input_labels.ts +1 -0
  207. package/src/flow/actions/set_contact_channel.ts +1 -1
  208. package/src/flow/actions/set_contact_field.ts +2 -1
  209. package/src/flow/actions/set_contact_language.ts +3 -1
  210. package/src/flow/actions/set_contact_name.ts +1 -1
  211. package/src/flow/actions/set_contact_status.ts +18 -18
  212. package/src/flow/actions/set_run_result.ts +1 -1
  213. package/src/flow/nodes/split_by_llm.ts +14 -13
  214. package/src/flow/nodes/wait_for_response.ts +717 -5
  215. package/src/flow/operators.ts +215 -0
  216. package/src/flow/types.ts +10 -2
  217. package/src/form/ArrayEditor.ts +117 -37
  218. package/src/form/Checkbox.ts +12 -0
  219. package/src/form/FieldRenderer.ts +24 -3
  220. package/src/form/TextInput.ts +19 -1
  221. package/src/form/select/Select.ts +15 -4
  222. package/src/interfaces.ts +1 -1
  223. package/src/layout/Dialog.ts +4 -4
  224. package/src/list/RunList.ts +2 -2
  225. package/src/live/ContactChat.ts +144 -58
  226. package/src/live/ContactDetails.ts +7 -0
  227. package/src/live/ContactNameFetch.ts +1 -1
  228. package/static/api/labels.json +6 -1
  229. package/test/NodeHelper.ts +38 -40
  230. package/test/nodes/split_by_llm.test.ts +43 -32
  231. package/test/nodes/split_by_llm_categorize.test.ts +130 -120
  232. package/test/nodes/split_by_random.test.ts +136 -128
  233. package/test/nodes/wait_for_digits.test.ts +147 -127
  234. package/test/nodes/wait_for_response.test.ts +657 -104
  235. package/test/temba-checkbox.test.ts +36 -32
  236. package/test/temba-contact-chat.test.ts +2 -1
  237. package/test/temba-dropdown.test.ts +0 -12
  238. package/test/temba-flow-editor-node.test.ts +11 -4
  239. package/test/temba-integration-markdown.test.ts +16 -17
  240. package/test/temba-node-editor.test.ts +5 -43
  241. package/test/temba-run-list.test.ts +2 -2
  242. package/test/utils.test.ts +2 -1
  243. package/test-assets/list/runs.json +8 -8
  244. package/web-dev-mock.mjs +86 -30
  245. package/web-dev-server.config.mjs +272 -31
  246. package/screenshots/truth/dropdown/bottom-edge-collision.png +0 -0
  247. package/screenshots/truth/dropdown/right-edge-collision.png +0 -0
  248. package/screenshots/truth/editor/send_msg.png +0 -0
  249. package/screenshots/truth/editor/set_contact_language.png +0 -0
  250. package/screenshots/truth/editor/set_contact_name.png +0 -0
  251. package/screenshots/truth/editor/set_run_result.png +0 -0
  252. package/screenshots/truth/integration/checkbox-markdown-errors.png +0 -0
@@ -7,40 +7,98 @@
7
7
  "type": "messaging",
8
8
  "nodes": [
9
9
  {
10
- "uuid": "56a6ddd3-42d4-4ec2-b8ee-546b4ceb06f1",
10
+ "uuid": "8475045b-ecb2-44a7-b511-ee4a74703108",
11
11
  "actions": [],
12
12
  "router": {
13
- "type": "random",
13
+ "type": "switch",
14
+ "default_category_uuid": "e7f89d67-9e24-4161-9c15-cdb057674089",
15
+ "cases": [
16
+ {
17
+ "arguments": ["red"],
18
+ "type": "has_any_word",
19
+ "uuid": "1a3b3a53-3c16-4ae6-a1cc-ec018e6f64ac",
20
+ "category_uuid": "42a6ff3a-1e72-494e-8a6d-064c39dd66ba"
21
+ },
22
+ {
23
+ "arguments": ["green"],
24
+ "type": "has_any_word",
25
+ "uuid": "87dc3de5-8f5e-4437-9101-3953589f07e3",
26
+ "category_uuid": "98d75eb1-2371-42f6-ab9f-0ed62c589eaa"
27
+ },
28
+ {
29
+ "arguments": ["blue"],
30
+ "type": "has_any_word",
31
+ "uuid": "80309f3a-cd1a-4f19-a197-ca65253970a3",
32
+ "category_uuid": "6cdd692a-8871-4a08-9b53-5c87727e303b"
33
+ },
34
+ {
35
+ "arguments": ["10", "50"],
36
+ "type": "has_number_between",
37
+ "uuid": "4bcf4da2-39a5-4da8-8ced-046353a8f066",
38
+ "category_uuid": "0927dfd9-f4ff-4f81-95e1-965c5b6c9e7c"
39
+ }
40
+ ],
14
41
  "categories": [
15
42
  {
16
- "uuid": "2325c455-92bd-4776-958c-367b4c318881",
17
- "name": "Bucket 1",
18
- "exit_uuid": "4b9759ae-ab8e-4957-bc7b-01516cc0e0c5"
43
+ "exit_uuid": "affc04ee-3565-4cbf-a65d-e7e4f41ef043",
44
+ "name": "Red",
45
+ "uuid": "42a6ff3a-1e72-494e-8a6d-064c39dd66ba"
19
46
  },
20
47
  {
21
- "uuid": "12cdc990-86a5-46ec-8242-7193d85c2413",
22
- "name": "Bucket 2",
23
- "exit_uuid": "7610a57d-53e6-426f-93bf-d85161b11297"
48
+ "uuid": "98d75eb1-2371-42f6-ab9f-0ed62c589eaa",
49
+ "name": "Green",
50
+ "exit_uuid": "b12038ab-d607-4bce-b70e-860f8e0738f1"
51
+ },
52
+ {
53
+ "uuid": "6cdd692a-8871-4a08-9b53-5c87727e303b",
54
+ "name": "Blue but longer so it hits the max w",
55
+ "exit_uuid": "5fde9128-0dde-438c-acec-dc77f4140fc7"
56
+ },
57
+ {
58
+ "uuid": "0927dfd9-f4ff-4f81-95e1-965c5b6c9e7c",
59
+ "name": "10 - 50",
60
+ "exit_uuid": "a172fecc-139b-4121-9140-fe982ff2b1f9"
61
+ },
62
+ {
63
+ "exit_uuid": "5ede8cf6-d137-4d08-a8fa-0a7201398869",
64
+ "name": "Other",
65
+ "uuid": "e7f89d67-9e24-4161-9c15-cdb057674089"
24
66
  },
25
67
  {
26
- "uuid": "9e6db7e6-cf13-4809-8a3b-ea01e0a861d9",
27
- "name": "Bucket 3",
28
- "exit_uuid": "cb6f46db-d129-4fb3-9684-007d600a9eac"
68
+ "uuid": "ab8e3b1f-c177-4224-b343-a249a704388b",
69
+ "name": "No Response",
70
+ "exit_uuid": "705714da-1231-4919-87ea-88d4ae434ca1"
29
71
  }
30
- ]
72
+ ],
73
+ "operand": "@input.text",
74
+ "wait": {
75
+ "type": "msg",
76
+ "timeout": {
77
+ "seconds": 300,
78
+ "category_uuid": "ab8e3b1f-c177-4224-b343-a249a704388b"
79
+ }
80
+ }
31
81
  },
32
82
  "exits": [
33
83
  {
34
- "uuid": "4b9759ae-ab8e-4957-bc7b-01516cc0e0c5",
35
- "destination_uuid": null
84
+ "destination_uuid": "259d68eb-7dd3-4e5b-96bb-44f3898f9f2c",
85
+ "uuid": "affc04ee-3565-4cbf-a65d-e7e4f41ef043"
36
86
  },
37
87
  {
38
- "uuid": "7610a57d-53e6-426f-93bf-d85161b11297",
39
- "destination_uuid": null
88
+ "uuid": "b12038ab-d607-4bce-b70e-860f8e0738f1"
40
89
  },
41
90
  {
42
- "uuid": "cb6f46db-d129-4fb3-9684-007d600a9eac",
43
- "destination_uuid": null
91
+ "uuid": "5fde9128-0dde-438c-acec-dc77f4140fc7"
92
+ },
93
+ {
94
+ "uuid": "a172fecc-139b-4121-9140-fe982ff2b1f9"
95
+ },
96
+ {
97
+ "destination_uuid": "d7ef1df7-1f4c-4d9b-b058-397fc17295fe",
98
+ "uuid": "5ede8cf6-d137-4d08-a8fa-0a7201398869"
99
+ },
100
+ {
101
+ "uuid": "705714da-1231-4919-87ea-88d4ae434ca1"
44
102
  }
45
103
  ]
46
104
  },
@@ -52,6 +110,11 @@
52
110
  "type": "set_contact_status",
53
111
  "status": "active"
54
112
  },
113
+ {
114
+ "uuid": "2de0b3d2-8b84-43f7-8716-640c879b6730",
115
+ "type": "set_contact_language",
116
+ "language": "eng"
117
+ },
55
118
  {
56
119
  "uuid": "1c68d488-7ce7-4c7d-ae05-f767589e00ff",
57
120
  "type": "set_contact_channel",
@@ -73,11 +136,6 @@
73
136
  "uuid": "cc5c9892-4ba0-450a-a9d6-8567381eab1c",
74
137
  "type": "set_contact_name",
75
138
  "name": "Rowan"
76
- },
77
- {
78
- "uuid": "2de0b3d2-8b84-43f7-8716-640c879b6730",
79
- "type": "set_contact_language",
80
- "language": "eng"
81
139
  }
82
140
  ],
83
141
  "exits": [
@@ -103,13 +161,7 @@
103
161
  "video:@fields.video",
104
162
  "image:@fields.image"
105
163
  ],
106
- "quick_replies": [
107
- "Red",
108
- "Green",
109
- "Blue",
110
- "Yellow",
111
- "Purple"
112
- ]
164
+ "quick_replies": ["Red", "Green", "Blue", "Yellow", "Purple"]
113
165
  }
114
166
  ],
115
167
  "exits": [
@@ -127,25 +179,19 @@
127
179
  "default_category_uuid": "e6a9f714-6f2a-4884-b850-f79ff397ee63",
128
180
  "cases": [
129
181
  {
130
- "arguments": [
131
- "red"
132
- ],
182
+ "arguments": ["red"],
133
183
  "type": "has_any_word",
134
184
  "uuid": "2040ff07-f509-416d-b150-15abc27a9dfd",
135
185
  "category_uuid": "4ceb8f3b-05a2-4d75-950e-fa4934ab24fb"
136
186
  },
137
187
  {
138
- "arguments": [
139
- "green"
140
- ],
188
+ "arguments": ["green"],
141
189
  "type": "has_any_word",
142
190
  "uuid": "b7b142d8-2434-41d9-9e5c-4e0335841972",
143
191
  "category_uuid": "153aa4a6-553c-4adf-9773-1f44596c33fb"
144
192
  },
145
193
  {
146
- "arguments": [
147
- "blue"
148
- ],
194
+ "arguments": ["blue"],
149
195
  "type": "has_any_word",
150
196
  "uuid": "e2ccc4e7-c379-43e3-8115-48e8fe7ef4de",
151
197
  "category_uuid": "ee972b45-3bfe-4e93-9d4e-e9c8f8ffc587"
@@ -247,10 +293,7 @@
247
293
  {
248
294
  "uuid": "8b9201ff-b195-4e18-8124-3362d310a2e5",
249
295
  "type": "has_number_between",
250
- "arguments": [
251
- "200",
252
- "299"
253
- ],
296
+ "arguments": ["200", "299"],
254
297
  "category_uuid": "1b9100a4-f3f0-410e-8b6f-d339bf58a13a"
255
298
  }
256
299
  ]
@@ -262,7 +305,7 @@
262
305
  },
263
306
  {
264
307
  "uuid": "8087c747-eebc-4f35-8032-33490ba390d6",
265
- "destination_uuid": "b85000c4-1990-4d86-807a-1318ea512708"
308
+ "destination_uuid": "f115fdb0-d92d-47a2-96f3-e03e36767b14"
266
309
  }
267
310
  ]
268
311
  },
@@ -273,14 +316,8 @@
273
316
  "uuid": "9963160a-a007-4c7b-8c9e-7325e1b69ed8",
274
317
  "type": "send_msg",
275
318
  "text": "Excellent choices.",
276
- "attachments": [
277
- "image:@contact.profile_url"
278
- ],
279
- "quick_replies": [
280
- "Red",
281
- "Green",
282
- "Blue"
283
- ]
319
+ "attachments": ["image:@contact.profile_url"],
320
+ "quick_replies": ["Red", "Green", "Blue"]
284
321
  },
285
322
  {
286
323
  "uuid": "d0d1571c-bf9e-4156-ac7c-984789c71472",
@@ -365,21 +402,10 @@
365
402
  "language": "spa"
366
403
  },
367
404
  {
368
- "uuid": "773fa48f-7341-4f57-bf74-2afed2e4b763",
369
- "actions": [
370
- {
371
- "type": "remove_contact_groups",
372
- "groups": [],
373
- "all_groups": true,
374
- "uuid": "4f6a8bbb-5563-4bdb-8b53-e23490596fcd"
375
- }
376
- ],
377
- "exits": [
378
- {
379
- "uuid": "f2265a88-4568-4105-8a0c-c698d32ff18f",
380
- "destination_uuid": null
381
- }
382
- ]
405
+ "type": "remove_contact_groups",
406
+ "groups": [],
407
+ "all_groups": true,
408
+ "uuid": "4f6a8bbb-5563-4bdb-8b53-e23490596fcd"
383
409
  },
384
410
  {
385
411
  "type": "add_contact_urn",
@@ -399,10 +425,7 @@
399
425
  {
400
426
  "uuid": "a0f3f1f2-1869-4ad6-9fb0-e610a3e00ae7",
401
427
  "type": "send_email",
402
- "addresses": [
403
- "mistermeowface@whiskers.com",
404
- "name@domain.com"
405
- ],
428
+ "addresses": ["mistermeowface@whiskers.com", "name@domain.com"],
406
429
  "subject": "Did you get this?",
407
430
  "body": "I hope it arrived! But this message is a bit longer."
408
431
  }
@@ -422,9 +445,7 @@
422
445
  "default_category_uuid": "50ededa6-7dd3-4f4f-81d2-e3011ea1cc05",
423
446
  "cases": [
424
447
  {
425
- "arguments": [
426
- "Archived"
427
- ],
448
+ "arguments": ["Archived"],
428
449
  "type": "has_any_word",
429
450
  "uuid": "bc2e884d-9740-4028-a6bb-72f0c263336c",
430
451
  "category_uuid": "8032da05-1778-4d0c-9b7d-d218a7fb561d"
@@ -447,7 +468,7 @@
447
468
  "exits": [
448
469
  {
449
470
  "uuid": "4654d1d0-f6d8-45ee-b941-0d61846b7da0",
450
- "destination_uuid": "8ecec688-f154-4b80-a0b3-3cbff0fac892"
471
+ "destination_uuid": "b85000c4-1990-4d86-807a-1318ea512708"
451
472
  },
452
473
  {
453
474
  "uuid": "e7161b36-544c-4b0e-814f-1e3784f8e1b5",
@@ -475,9 +496,7 @@
475
496
  ],
476
497
  "cases": [
477
498
  {
478
- "arguments": [
479
- "bleep"
480
- ],
499
+ "arguments": ["bleep"],
481
500
  "type": "has_any_word",
482
501
  "uuid": "5fcb78ba-245d-40e5-986a-a9cbafb3e527",
483
502
  "category_uuid": "5a9d7012-02c3-46ac-a926-7b6d9c503fde"
@@ -511,11 +530,6 @@
511
530
  "uuid": "b2f0dd39-553e-4651-96ef-95cac79867f3",
512
531
  "name": "Bucket 2",
513
532
  "exit_uuid": "bdf64af3-8585-45ce-a3ba-10aab8dcc4fd"
514
- },
515
- {
516
- "uuid": "edcaf2fd-34bb-46ea-bbc1-d23044b303d4",
517
- "name": "My Other Buckets",
518
- "exit_uuid": "df832c64-57f9-4468-b055-9b66a4e3b9bf"
519
533
  }
520
534
  ]
521
535
  },
@@ -526,10 +540,6 @@
526
540
  },
527
541
  {
528
542
  "uuid": "bdf64af3-8585-45ce-a3ba-10aab8dcc4fd",
529
- "destination_uuid": "56a6ddd3-42d4-4ec2-b8ee-546b4ceb06f1"
530
- },
531
- {
532
- "uuid": "df832c64-57f9-4468-b055-9b66a4e3b9bf",
533
543
  "destination_uuid": null
534
544
  }
535
545
  ]
@@ -554,9 +564,7 @@
554
564
  ],
555
565
  "cases": [
556
566
  {
557
- "arguments": [
558
- "red"
559
- ],
567
+ "arguments": ["red"],
560
568
  "type": "has_any_word",
561
569
  "uuid": "44f4d027-f904-4c38-8cad-e01aae9b4faf",
562
570
  "category_uuid": "c8ba0faf-cf72-447a-84fe-5dc63775c0f5"
@@ -584,19 +592,13 @@
584
592
  {
585
593
  "uuid": "e1c0d59e-1810-4677-ad3b-69c4d1d645e8",
586
594
  "type": "has_group",
587
- "arguments": [
588
- "269e8abf-e81b-404c-82ce-45ff42d13769",
589
- "Empty"
590
- ],
595
+ "arguments": ["269e8abf-e81b-404c-82ce-45ff42d13769", "Empty"],
591
596
  "category_uuid": "d7ae9a33-357f-445f-84f0-ac11da786602"
592
597
  },
593
598
  {
594
599
  "uuid": "90ab3ac3-bc46-402a-a569-5739aa8a590d",
595
600
  "type": "has_group",
596
- "arguments": [
597
- "4b4ad0a2-0be6-4edd-8d6f-f6fa40ce695c",
598
- "Drivers"
599
- ],
601
+ "arguments": ["4b4ad0a2-0be6-4edd-8d6f-f6fa40ce695c", "Drivers"],
600
602
  "category_uuid": "92e8677a-8070-4a98-901d-8247ac8e1898"
601
603
  }
602
604
  ],
@@ -645,17 +647,13 @@
645
647
  {
646
648
  "uuid": "93312571-e686-4561-8bfd-5bc00c0cd442",
647
649
  "type": "has_only_phrase",
648
- "arguments": [
649
- "tel"
650
- ],
650
+ "arguments": ["tel"],
651
651
  "category_uuid": "8334572c-c31d-422a-8a95-2cb3d55e733b"
652
652
  },
653
653
  {
654
654
  "uuid": "03ce9105-dd9f-41b7-adc3-56b0547e031b",
655
655
  "type": "has_only_phrase",
656
- "arguments": [
657
- "facebook"
658
- ],
656
+ "arguments": ["facebook"],
659
657
  "category_uuid": "23e7a079-3f2c-406b-9acc-dbbf388b3b79"
660
658
  }
661
659
  ],
@@ -727,9 +725,7 @@
727
725
  {
728
726
  "uuid": "625daede-4c37-45d4-9af6-5607ad4b1ce0",
729
727
  "type": "has_only_text",
730
- "arguments": [
731
- "completed"
732
- ],
728
+ "arguments": ["completed"],
733
729
  "category_uuid": "894652f9-cc6c-4192-827d-3c5543778478"
734
730
  }
735
731
  ]
@@ -766,9 +762,7 @@
766
762
  {
767
763
  "uuid": "ac40cb14-6886-4f4e-b309-bcf4ef92b26d",
768
764
  "type": "has_only_text",
769
- "arguments": [
770
- "<ERROR>"
771
- ],
765
+ "arguments": ["<ERROR>"],
772
766
  "category_uuid": "00685353-2326-4150-a403-58f006e50885"
773
767
  }
774
768
  ],
@@ -927,33 +921,25 @@
927
921
  {
928
922
  "uuid": "055e63a4-5eae-4325-b436-ca013e20ae17",
929
923
  "type": "has_only_text",
930
- "arguments": [
931
- "Cat"
932
- ],
924
+ "arguments": ["Cat"],
933
925
  "category_uuid": "96d0d4c4-5830-4a6d-b20b-6730b1e10679"
934
926
  },
935
927
  {
936
928
  "uuid": "f0795c37-977e-4d0f-9136-378626a40173",
937
929
  "type": "has_only_text",
938
- "arguments": [
939
- "Dog"
940
- ],
930
+ "arguments": ["Dog"],
941
931
  "category_uuid": "4632b796-f8ab-4a35-80d1-a1b53a6db803"
942
932
  },
943
933
  {
944
934
  "uuid": "62a7fc70-ffbf-4925-9f9a-ca6ef531942a",
945
935
  "type": "has_only_text",
946
- "arguments": [
947
- "Oyster"
948
- ],
936
+ "arguments": ["Oyster"],
949
937
  "category_uuid": "faa4fc1c-c4ba-47fc-8a93-a9bf8bd5818c"
950
938
  },
951
939
  {
952
940
  "uuid": "8fd5f13b-0398-4286-b18a-a92b5a2ea19d",
953
941
  "type": "has_only_text",
954
- "arguments": [
955
- "<ERROR>"
956
- ],
942
+ "arguments": ["<ERROR>"],
957
943
  "category_uuid": "b3a625e7-97f2-461d-a481-20dec52bd609"
958
944
  }
959
945
  ]
@@ -984,6 +970,13 @@
984
970
  ],
985
971
  "_ui": {
986
972
  "nodes": {
973
+ "8475045b-ecb2-44a7-b511-ee4a74703108": {
974
+ "position": {
975
+ "left": 0,
976
+ "top": 220
977
+ },
978
+ "type": "wait_for_response"
979
+ },
987
980
  "fb7bbf99-65cd-4e08-825a-68fc7293cc05": {
988
981
  "position": {
989
982
  "left": 0,
@@ -993,8 +986,8 @@
993
986
  },
994
987
  "145eb3d3-b841-4e66-abac-297ae525c7ad": {
995
988
  "position": {
996
- "left": 700,
997
- "top": 500
989
+ "left": 720,
990
+ "top": 380
998
991
  },
999
992
  "type": "split_by_llm_categorize"
1000
993
  },
@@ -1018,8 +1011,8 @@
1018
1011
  "e1f22e97-a170-44b4-a79b-98ab916f4c34": {
1019
1012
  "type": "split_by_webhook",
1020
1013
  "position": {
1021
- "left": 640,
1022
- "top": 40
1014
+ "left": 500,
1015
+ "top": 20
1023
1016
  },
1024
1017
  "config": {}
1025
1018
  },
@@ -1041,8 +1034,8 @@
1041
1034
  "f115fdb0-d92d-47a2-96f3-e03e36767b14": {
1042
1035
  "type": "split_by_contact_field",
1043
1036
  "position": {
1044
- "left": 1020,
1045
- "top": 140
1037
+ "left": 800,
1038
+ "top": 40
1046
1039
  },
1047
1040
  "config": {
1048
1041
  "operand": {
@@ -1056,8 +1049,8 @@
1056
1049
  "b85000c4-1990-4d86-807a-1318ea512708": {
1057
1050
  "type": "split_by_expression",
1058
1051
  "position": {
1059
- "left": 740,
1060
- "top": 200
1052
+ "left": 720,
1053
+ "top": 160
1061
1054
  },
1062
1055
  "config": {
1063
1056
  "cases": {}
@@ -1066,16 +1059,16 @@
1066
1059
  "8ecec688-f154-4b80-a0b3-3cbff0fac892": {
1067
1060
  "type": "split_by_random",
1068
1061
  "position": {
1069
- "left": 1000,
1070
- "top": 300
1062
+ "left": 760,
1063
+ "top": 260
1071
1064
  },
1072
1065
  "config": null
1073
1066
  },
1074
1067
  "66171418-2368-44b9-95db-fdf7cd5cf4fe": {
1075
1068
  "type": "split_by_run_result",
1076
1069
  "position": {
1077
- "left": 780,
1078
- "top": 660
1070
+ "left": 760,
1071
+ "top": 580
1079
1072
  },
1080
1073
  "config": {
1081
1074
  "operand": {
@@ -1116,26 +1109,18 @@
1116
1109
  },
1117
1110
  "425c4757-bead-440f-92aa-a1cc3fcd7d35": {
1118
1111
  "position": {
1119
- "left": 780,
1120
- "top": 800
1112
+ "left": 760,
1113
+ "top": 700
1121
1114
  },
1122
1115
  "type": "execute_actions"
1123
1116
  },
1124
1117
  "21ff86c2-5276-4448-afb6-54d1f832ba0c": {
1125
1118
  "type": "split_by_ticket",
1126
1119
  "position": {
1127
- "left": 780,
1128
- "top": 920
1120
+ "left": 760,
1121
+ "top": 820
1129
1122
  },
1130
1123
  "config": {}
1131
- },
1132
- "56a6ddd3-42d4-4ec2-b8ee-546b4ceb06f1": {
1133
- "type": "split_by_random",
1134
- "position": {
1135
- "left": 1080,
1136
- "top": 440
1137
- },
1138
- "config": null
1139
1124
  }
1140
1125
  },
1141
1126
  "stickies": {
@@ -1190,4 +1175,4 @@
1190
1175
  "expire_after_minutes": 4320,
1191
1176
  "localization": {}
1192
1177
  }
1193
- }
1178
+ }