weni-cli 3.8.3__tar.gz → 3.8.4__tar.gz

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 (54) hide show
  1. {weni_cli-3.8.3 → weni_cli-3.8.4}/PKG-INFO +1 -1
  2. {weni_cli-3.8.3 → weni_cli-3.8.4}/pyproject.toml +1 -1
  3. {weni_cli-3.8.3 → weni_cli-3.8.4}/weni_cli/validators/tests/test_ticketer_definition.py +44 -0
  4. {weni_cli-3.8.3 → weni_cli-3.8.4}/weni_cli/validators/ticketer_definition.py +17 -0
  5. {weni_cli-3.8.3 → weni_cli-3.8.4}/README.md +0 -0
  6. {weni_cli-3.8.3 → weni_cli-3.8.4}/weni_cli/__init__.py +0 -0
  7. {weni_cli-3.8.3 → weni_cli-3.8.4}/weni_cli/auth.py +0 -0
  8. {weni_cli-3.8.3 → weni_cli-3.8.4}/weni_cli/cli.py +0 -0
  9. {weni_cli-3.8.3 → weni_cli-3.8.4}/weni_cli/clients/__init__.py +0 -0
  10. {weni_cli-3.8.3 → weni_cli-3.8.4}/weni_cli/clients/cli_client.py +0 -0
  11. {weni_cli-3.8.3 → weni_cli-3.8.4}/weni_cli/clients/common.py +0 -0
  12. {weni_cli-3.8.3 → weni_cli-3.8.4}/weni_cli/clients/response_handlers/__init__.py +0 -0
  13. {weni_cli-3.8.3 → weni_cli-3.8.4}/weni_cli/clients/response_handlers/handlers.py +0 -0
  14. {weni_cli-3.8.3 → weni_cli-3.8.4}/weni_cli/clients/tests/__init__.py +0 -0
  15. {weni_cli-3.8.3 → weni_cli-3.8.4}/weni_cli/clients/tests/test_cli_client.py +0 -0
  16. {weni_cli-3.8.3 → weni_cli-3.8.4}/weni_cli/clients/tests/test_weni_client.py +0 -0
  17. {weni_cli-3.8.3 → weni_cli-3.8.4}/weni_cli/clients/weni_client.py +0 -0
  18. {weni_cli-3.8.3 → weni_cli-3.8.4}/weni_cli/commands/channel_create.py +0 -0
  19. {weni_cli-3.8.3 → weni_cli-3.8.4}/weni_cli/commands/eval_init.py +0 -0
  20. {weni_cli-3.8.3 → weni_cli-3.8.4}/weni_cli/commands/eval_run.py +0 -0
  21. {weni_cli-3.8.3 → weni_cli-3.8.4}/weni_cli/commands/init.py +0 -0
  22. {weni_cli-3.8.3 → weni_cli-3.8.4}/weni_cli/commands/login.py +0 -0
  23. {weni_cli-3.8.3 → weni_cli-3.8.4}/weni_cli/commands/logs.py +0 -0
  24. {weni_cli-3.8.3 → weni_cli-3.8.4}/weni_cli/commands/project_current.py +0 -0
  25. {weni_cli-3.8.3 → weni_cli-3.8.4}/weni_cli/commands/project_list.py +0 -0
  26. {weni_cli-3.8.3 → weni_cli-3.8.4}/weni_cli/commands/project_push.py +0 -0
  27. {weni_cli-3.8.3 → weni_cli-3.8.4}/weni_cli/commands/project_use.py +0 -0
  28. {weni_cli-3.8.3 → weni_cli-3.8.4}/weni_cli/commands/run.py +0 -0
  29. {weni_cli-3.8.3 → weni_cli-3.8.4}/weni_cli/commands/ticketer_create.py +0 -0
  30. {weni_cli-3.8.3 → weni_cli-3.8.4}/weni_cli/formatter/__init__.py +0 -0
  31. {weni_cli-3.8.3 → weni_cli-3.8.4}/weni_cli/formatter/formatter.py +0 -0
  32. {weni_cli-3.8.3 → weni_cli-3.8.4}/weni_cli/formatter/tests/test_formatter.py +0 -0
  33. {weni_cli-3.8.3 → weni_cli-3.8.4}/weni_cli/handler.py +0 -0
  34. {weni_cli-3.8.3 → weni_cli-3.8.4}/weni_cli/packager/__init__.py +0 -0
  35. {weni_cli-3.8.3 → weni_cli-3.8.4}/weni_cli/packager/loader.py +0 -0
  36. {weni_cli-3.8.3 → weni_cli-3.8.4}/weni_cli/packager/packager.py +0 -0
  37. {weni_cli-3.8.3 → weni_cli-3.8.4}/weni_cli/packager/tests/__init__.py +0 -0
  38. {weni_cli-3.8.3 → weni_cli-3.8.4}/weni_cli/packager/tests/test_loader.py +0 -0
  39. {weni_cli-3.8.3 → weni_cli-3.8.4}/weni_cli/packager/tests/test_packager.py +0 -0
  40. {weni_cli-3.8.3 → weni_cli-3.8.4}/weni_cli/spinner/__init__.py +0 -0
  41. {weni_cli-3.8.3 → weni_cli-3.8.4}/weni_cli/spinner/spinners.py +0 -0
  42. {weni_cli-3.8.3 → weni_cli-3.8.4}/weni_cli/store.py +0 -0
  43. {weni_cli-3.8.3 → weni_cli-3.8.4}/weni_cli/utils.py +0 -0
  44. {weni_cli-3.8.3 → weni_cli-3.8.4}/weni_cli/validators/__init__.py +0 -0
  45. {weni_cli-3.8.3 → weni_cli-3.8.4}/weni_cli/validators/agent_definition.py +0 -0
  46. {weni_cli-3.8.3 → weni_cli-3.8.4}/weni_cli/validators/channel_definition.py +0 -0
  47. {weni_cli-3.8.3 → weni_cli-3.8.4}/weni_cli/validators/source.py +0 -0
  48. {weni_cli-3.8.3 → weni_cli-3.8.4}/weni_cli/validators/tests/__init__.py +0 -0
  49. {weni_cli-3.8.3 → weni_cli-3.8.4}/weni_cli/validators/tests/conftest.py +0 -0
  50. {weni_cli-3.8.3 → weni_cli-3.8.4}/weni_cli/validators/tests/test_active_test_definition.py +0 -0
  51. {weni_cli-3.8.3 → weni_cli-3.8.4}/weni_cli/validators/tests/test_channel_definition.py +0 -0
  52. {weni_cli-3.8.3 → weni_cli-3.8.4}/weni_cli/validators/tests/test_definition.py +0 -0
  53. {weni_cli-3.8.3 → weni_cli-3.8.4}/weni_cli/validators/tests/test_source.py +0 -0
  54. {weni_cli-3.8.3 → weni_cli-3.8.4}/weni_cli/wsgi.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: weni-cli
3
- Version: 3.8.3
3
+ Version: 3.8.4
4
4
  Summary:
5
5
  Author: Paulo Bernardo
6
6
  Author-email: paulo.bernardo@weni.ai
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "weni-cli"
3
- version = "3.8.3"
3
+ version = "3.8.4"
4
4
  description = ""
5
5
  authors = ["Paulo Bernardo <paulo.bernardo@weni.ai>", "Matheus Leal <matheus.cardoso@vtex.com>"]
6
6
  readme = "README.md"
@@ -186,6 +186,50 @@ class TestValidateTicketerDefinitionSchema:
186
186
  == "Ticketer at index 0: 'config.unknown_field' is not a recognized field in the ticketer definition file"
187
187
  )
188
188
 
189
+ def test_valid_ticketer_definition_with_equivalent_templates(self, valid_ticketer_definition):
190
+ data = valid_ticketer_definition.copy()
191
+ data["ticketers"] = [dict(data["ticketers"][0])]
192
+ data["ticketers"][0]["config"] = dict(data["ticketers"][0]["config"])
193
+ data["ticketers"][0]["config"].update(
194
+ {
195
+ "open_template": '{"ticket_id":{{json .ticket_id}},"contact":{{json .contact}},'
196
+ '"body":{{json .body}},"topic":{{json .topic}},"assignee":{{json .assignee}},'
197
+ '"metadata":{{json .metadata}},"opened_at":{{json .opened_at}}}',
198
+ "open_response_template": '{"external_id":{{json .external_id}},'
199
+ '"status":{{json .status}},"created_at":{{json .created_at}}}',
200
+ "forward_template": '{"ticket_id":{{json .ticket_id}},"external_id":{{json .external_id}},'
201
+ '"message_id":{{json .message_id}},"direction":{{json .direction}},'
202
+ '"sender":{{json .sender}},"text":{{json .text}},"attachments":{{json .attachments}},'
203
+ '"metadata":{{json .metadata}},"sent_at":{{json .sent_at}}}',
204
+ "forward_response_template": '{"message_external_id":{{json .message_external_id}},'
205
+ '"status":{{json .status}}}',
206
+ "close_template": '{"ticket_id":{{json .ticket_id}},"external_id":{{json .external_id}},'
207
+ '"closed_by":{{json .closed_by}},"reason":{{json .reason}},'
208
+ '"metadata":{{json .metadata}},"closed_at":{{json .closed_at}}}',
209
+ "close_response_template": '{"status":{{json .status}}}',
210
+ "history_mode": "batch",
211
+ "history_batch_size": "50",
212
+ "route_history_message": "/v1/tickets/{external_id}/messages",
213
+ "history_template": '{"ticket_id":{{json .ticket_id}},"external_id":{{json .external_id}},'
214
+ '"contact":{{json .contact}},"messages":{{json .messages}},"metadata":{{json .metadata}}}',
215
+ "history_response_template": '{"status":{{json .status}},'
216
+ '"messages_received":{{json .messages_received}}}',
217
+ "messages_template": '{"external_id":{{json .external_id}},'
218
+ '"message_external_id":{{json .message_external_id}},"direction":{{json .direction}},'
219
+ '"sender":{{json .sender}},"text":{{json .text}},"attachments":{{json .attachments}},'
220
+ '"metadata":{{json .metadata}},"sent_at":{{json .sent_at}}}',
221
+ "messages_response_template": '{"status":{{json .status}},'
222
+ '"ticket_uuid":{{json .ticket_uuid}},"message_uuid":{{json .message_uuid}}}',
223
+ "tickets_close_template": '{"external_id":{{json .external_id}},'
224
+ '"closed_by":{{json .closed_by}},"reason":{{json .reason}},'
225
+ '"metadata":{{json .metadata}},"closed_at":{{json .closed_at}}}',
226
+ "tickets_close_response_template": '{"status":{{json .status}},'
227
+ '"ticket_uuid":{{json .ticket_uuid}}}',
228
+ }
229
+ )
230
+ error = validate_ticketer_definition_schema(data)
231
+ assert error is None
232
+
189
233
 
190
234
  class TestLoadTicketerDefinition:
191
235
  """Tests for load_ticketer_definition function."""
@@ -18,7 +18,24 @@ OPTIONAL_CONFIG_FIELDS = [
18
18
  "route_close",
19
19
  "route_reopen",
20
20
  "route_history",
21
+ "route_history_message",
21
22
  "webhook_secret",
23
+ "history_mode",
24
+ "history_batch_size",
25
+ # Plataforma → Ticketer (request/response body templates)
26
+ "open_template",
27
+ "open_response_template",
28
+ "forward_template",
29
+ "forward_response_template",
30
+ "close_template",
31
+ "close_response_template",
32
+ "history_template",
33
+ "history_response_template",
34
+ # Ticketer → Plataforma (inbound webhook request/response templates)
35
+ "messages_template",
36
+ "messages_response_template",
37
+ "tickets_close_template",
38
+ "tickets_close_response_template",
22
39
  ]
23
40
 
24
41
  URL_PATTERN = re.compile(r"^https?://")
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes