canvas 0.1.12b0__py3-none-any.whl → 0.1.14__py3-none-any.whl

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.

Potentially problematic release.


This version of canvas might be problematic. Click here for more details.

Files changed (60) hide show
  1. {canvas-0.1.12b0.dist-info → canvas-0.1.14.dist-info}/METADATA +43 -2
  2. canvas-0.1.14.dist-info/RECORD +90 -0
  3. {canvas-0.1.12b0.dist-info → canvas-0.1.14.dist-info}/WHEEL +1 -1
  4. canvas_cli/apps/plugin/__init__.py +3 -1
  5. canvas_cli/apps/plugin/plugin.py +74 -0
  6. canvas_cli/main.py +5 -3
  7. canvas_cli/templates/plugins/default/{{ cookiecutter.__project_slug }}/protocols/my_protocol.py +3 -0
  8. canvas_generated/messages/effects_pb2.py +28 -0
  9. canvas_generated/messages/effects_pb2.pyi +147 -0
  10. canvas_generated/messages/events_pb2.py +31 -0
  11. {generated → canvas_generated}/messages/events_pb2.pyi +3 -1
  12. {generated → canvas_generated}/messages/plugins_pb2.py +7 -7
  13. canvas_generated/services/plugin_runner_pb2.py +28 -0
  14. {generated → canvas_generated}/services/plugin_runner_pb2.pyi +2 -2
  15. {generated → canvas_generated}/services/plugin_runner_pb2_grpc.py +14 -14
  16. canvas_sdk/base.py +45 -0
  17. canvas_sdk/commands/base.py +61 -41
  18. canvas_sdk/commands/commands/assess.py +6 -2
  19. canvas_sdk/commands/commands/diagnose.py +4 -14
  20. canvas_sdk/commands/commands/goal.py +3 -2
  21. canvas_sdk/commands/commands/history_present_illness.py +2 -1
  22. canvas_sdk/commands/commands/medication_statement.py +6 -2
  23. canvas_sdk/commands/commands/plan.py +2 -1
  24. canvas_sdk/commands/commands/prescribe.py +24 -11
  25. canvas_sdk/commands/commands/questionnaire.py +6 -2
  26. canvas_sdk/commands/commands/reason_for_visit.py +13 -6
  27. canvas_sdk/commands/commands/stop_medication.py +6 -2
  28. canvas_sdk/commands/commands/update_goal.py +4 -1
  29. canvas_sdk/commands/tests/test_utils.py +31 -64
  30. canvas_sdk/commands/tests/tests.py +116 -65
  31. canvas_sdk/data/__init__.py +1 -0
  32. canvas_sdk/data/base.py +22 -0
  33. canvas_sdk/data/patient.py +6 -0
  34. canvas_sdk/data/staff.py +6 -0
  35. canvas_sdk/data/task.py +60 -0
  36. canvas_sdk/effects/__init__.py +1 -1
  37. canvas_sdk/effects/banner_alert/__init__.py +2 -0
  38. canvas_sdk/effects/banner_alert/add_banner_alert.py +49 -0
  39. canvas_sdk/effects/banner_alert/remove_banner_alert.py +20 -0
  40. canvas_sdk/effects/base.py +4 -6
  41. canvas_sdk/events/__init__.py +1 -1
  42. canvas_sdk/handlers/__init__.py +1 -0
  43. canvas_sdk/handlers/base.py +16 -0
  44. canvas_sdk/handlers/cron_task.py +35 -0
  45. canvas_sdk/protocols/base.py +2 -11
  46. canvas_sdk/utils/stats.py +27 -0
  47. logger/__init__.py +2 -0
  48. logger/logger.py +48 -0
  49. canvas-0.1.12b0.dist-info/RECORD +0 -78
  50. canvas_sdk/effects/banner_alert/banner_alert.py +0 -37
  51. canvas_sdk/effects/banner_alert/constants.py +0 -19
  52. generated/messages/effects_pb2.py +0 -28
  53. generated/messages/effects_pb2.pyi +0 -25
  54. generated/messages/events_pb2.py +0 -31
  55. generated/services/plugin_runner_pb2.py +0 -28
  56. {canvas-0.1.12b0.dist-info → canvas-0.1.14.dist-info}/entry_points.txt +0 -0
  57. {generated → canvas_generated}/messages/effects_pb2_grpc.py +0 -0
  58. {generated → canvas_generated}/messages/events_pb2_grpc.py +0 -0
  59. {generated → canvas_generated}/messages/plugins_pb2.pyi +0 -0
  60. {generated → canvas_generated}/messages/plugins_pb2_grpc.py +0 -0
@@ -1,8 +1,9 @@
1
+ import json
1
2
  from typing import Any
2
3
 
3
4
  from pydantic import BaseModel, ConfigDict
4
5
 
5
- from canvas_sdk.effects import Effect
6
+ from canvas_sdk.effects import Effect, EffectType
6
7
 
7
8
 
8
9
  class _BaseEffect(BaseModel):
@@ -11,7 +12,7 @@ class _BaseEffect(BaseModel):
11
12
  """
12
13
 
13
14
  class Meta:
14
- effect_type = ""
15
+ effect_type = EffectType.UNKNOWN_EFFECT
15
16
 
16
17
  model_config = ConfigDict(strict=True, validate_assignment=True)
17
18
 
@@ -24,7 +25,4 @@ class _BaseEffect(BaseModel):
24
25
  return {"data": self.values}
25
26
 
26
27
  def apply(self) -> Effect:
27
- return {
28
- "type": self.Meta.effect_type,
29
- "payload": self.effect_payload,
30
- }
28
+ return Effect(type=self.Meta.effect_type, payload=json.dumps(self.effect_payload))
@@ -1 +1 @@
1
- from generated.messages.events_pb2 import Event, EventResponse, EventType
1
+ from canvas_generated.messages.events_pb2 import Event, EventResponse, EventType
@@ -0,0 +1 @@
1
+ from canvas_sdk.handlers.base import BaseHandler
@@ -0,0 +1,16 @@
1
+ import json
2
+
3
+
4
+ class BaseHandler:
5
+ """
6
+ The class that all handlers inherit from.
7
+ """
8
+
9
+ def __init__(self, event, secrets=None) -> None:
10
+ self.event = event
11
+ try:
12
+ self.context = json.loads(event.context)
13
+ except ValueError:
14
+ self.context = {}
15
+ self.target = event.target
16
+ self.secrets = secrets or {}
@@ -0,0 +1,35 @@
1
+ from abc import abstractmethod
2
+
3
+ import arrow
4
+ from cron_converter import Cron
5
+
6
+ from canvas_sdk.effects import Effect
7
+ from canvas_sdk.events import EventType
8
+ from canvas_sdk.handlers.base import BaseHandler
9
+
10
+
11
+ class CronTask(BaseHandler):
12
+ """
13
+ A type of handler that executes periodically according to a provided schedule.
14
+ """
15
+
16
+ RESPONDS_TO = EventType.Name(EventType.CRON)
17
+
18
+ SCHEDULE: str = "" # e.g. "* * * * *" for every minute.
19
+
20
+ @abstractmethod
21
+ def execute(self) -> list[Effect]:
22
+ """
23
+ Perform some work and return a list of effects.
24
+ """
25
+
26
+ def compute(self) -> list[Effect]:
27
+ """
28
+ See if the task should execute given the timestamp.
29
+ """
30
+ if not self.SCHEDULE:
31
+ raise ValueError("You must set a SCHEDULE.")
32
+ datetime = arrow.get(self.target).datetime
33
+ if datetime in Cron(self.SCHEDULE):
34
+ return self.execute()
35
+ return []
@@ -1,16 +1,7 @@
1
- import json
1
+ from canvas_sdk.handlers.base import BaseHandler
2
2
 
3
3
 
4
- class BaseProtocol:
4
+ class BaseProtocol(BaseHandler):
5
5
  """
6
6
  The class that protocols inherit from.
7
7
  """
8
-
9
- def __init__(self, event, secrets=None) -> None:
10
- self.event = event
11
- try:
12
- self.context = json.loads(event.context)
13
- except ValueError:
14
- self.context = {}
15
- self.target = event.target
16
- self.secrets = secrets or {}
@@ -0,0 +1,27 @@
1
+ from time import time
2
+ from typing import Any
3
+
4
+
5
+ def get_duration_ms(start_time: time) -> int:
6
+ return int((time() - start_time) * 1000)
7
+
8
+
9
+ LINE_PROTOCOL_TRANSLATION = str.maketrans(
10
+ {
11
+ ",": r"\,",
12
+ "=": r"\=",
13
+ " ": r"\ ",
14
+ ":": r"__",
15
+ }
16
+ )
17
+
18
+
19
+ def tags_to_line_protocol(tags: dict[str, Any]) -> str:
20
+ """Generate a tags string compatible with the InfluxDB line protocol.
21
+
22
+ See: https://docs.influxdata.com/influxdb/v1.1/write_protocols/line_protocol_tutorial/
23
+ """
24
+ return ",".join(
25
+ f"{tag_name}={str(tag_value).translate(LINE_PROTOCOL_TRANSLATION)}"
26
+ for tag_name, tag_value in tags.items()
27
+ )
logger/__init__.py ADDED
@@ -0,0 +1,2 @@
1
+ from logger.logger import PluginLogger
2
+ log = PluginLogger()
logger/logger.py ADDED
@@ -0,0 +1,48 @@
1
+ import logging
2
+ import os
3
+
4
+ from pubsub.pubsub import Publisher
5
+
6
+
7
+ class PubSubLogHandler(logging.Handler):
8
+ def __init__(self) -> None:
9
+ self.publisher = Publisher()
10
+ logging.Handler.__init__(self=self)
11
+
12
+ def emit(self, record) -> None:
13
+ message = self.format(record)
14
+ self.publisher.publish(message)
15
+
16
+
17
+ class PluginLogger:
18
+ def __init__(self) -> None:
19
+ self.logger = logging.getLogger("plugin_runner_logger")
20
+ self.logger.setLevel(logging.INFO)
21
+ log_prefix = os.getenv("HOSTNAME", "")
22
+ if log_prefix != "":
23
+ log_prefix = f"[{log_prefix}] "
24
+ formatter = logging.Formatter(f"{log_prefix}%(levelname)s %(asctime)s %(message)s")
25
+
26
+ streaming_handler = logging.StreamHandler()
27
+ streaming_handler.setFormatter(formatter)
28
+ self.logger.addHandler(streaming_handler)
29
+
30
+ if os.getenv("REDIS_ENDPOINT"):
31
+ pubsub_handler = PubSubLogHandler()
32
+ pubsub_handler.setFormatter(formatter)
33
+ self.logger.addHandler(pubsub_handler)
34
+
35
+ def debug(self, message) -> None:
36
+ self.logger.debug(message)
37
+
38
+ def info(self, message) -> None:
39
+ self.logger.info(message)
40
+
41
+ def warning(self, message) -> None:
42
+ self.logger.warning(message)
43
+
44
+ def error(self, message) -> None:
45
+ self.logger.error(message)
46
+
47
+ def critical(self, message) -> None:
48
+ self.logger.critical(message)
@@ -1,78 +0,0 @@
1
- canvas_cli/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
- canvas_cli/apps/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
3
- canvas_cli/apps/auth/__init__.py,sha256=gIwJ2qWvRlLqbiRkudrGqTKV-orlb8OTkG487qoRda4,105
4
- canvas_cli/apps/auth/tests.py,sha256=WK7hSLTK95gEweMRaj3RdPC-qSwjnuulxMUg6D0bY_k,4528
5
- canvas_cli/apps/auth/utils.py,sha256=IH5oZB3pdlb4_FRfCZKkNTncx_kdKagpiBqlhtM8h2U,5434
6
- canvas_cli/apps/logs/__init__.py,sha256=ehY9SRb6nBw81xZF50yyBlUZJtNR2VeVSNI5sFuWJ7o,64
7
- canvas_cli/apps/logs/logs.py,sha256=Ixue8Z1wgxABunVIx6TzmsH6oZ0FPf2H51Sd3nFUnAI,1969
8
- canvas_cli/apps/plugin/__init__.py,sha256=72Gcu2T9GsRLPbBApS9V0ZKSzehEE3hqgU_pie2T50Y,190
9
- canvas_cli/apps/plugin/plugin.py,sha256=03Xq7Xhvu6GszGPtIDWB3iMr1i_AZ9UPc6est2qoUK4,9362
10
- canvas_cli/apps/plugin/tests.py,sha256=_8fHTGlQermt4AVs20nsTYcs2bDRNEqr9CGE29pD6YQ,1035
11
- canvas_cli/conftest.py,sha256=pGvVS6VT0Zll_Lp3ezLh2jykOk-2HTBVH8RP5FwLUVw,930
12
- canvas_cli/main.py,sha256=RbGZtIBmm81GUkN_80u_VB-CL7kxwID_GoDbkSgo7LQ,3607
13
- canvas_cli/templates/plugins/default/cookiecutter.json,sha256=dWEB3wJ8U4bko8jX26PgLLg_jgWlafLTNqsGnY1PUcg,124
14
- canvas_cli/templates/plugins/default/{{ cookiecutter.__project_slug }}/CANVAS_MANIFEST.json,sha256=9N0u5hN0GqjPvUh_B3YHtvyntEvxUGbInbQeprU0TS0,787
15
- canvas_cli/templates/plugins/default/{{ cookiecutter.__project_slug }}/README.md,sha256=7QdF2JWlWwq6Us9LzkO9XWJU4IU7Q6RD_w8ImcS-hrI,347
16
- canvas_cli/templates/plugins/default/{{ cookiecutter.__project_slug }}/protocols/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
17
- canvas_cli/templates/plugins/default/{{ cookiecutter.__project_slug }}/protocols/my_protocol.py,sha256=rWil6oyKCULwCwKJDC_7j9gyOrShU8BxMV1RvlVsh0o,2189
18
- canvas_cli/tests.py,sha256=LgiHeVHF5lxlH_pNT962uk-5D-JqNhhuu1LhSz90nK8,285
19
- canvas_cli/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
20
- canvas_cli/utils/context/__init__.py,sha256=HhYvI-hydP0mV18nJiU7uo5gk0yN7EYNgouxieoGDOE,102
21
- canvas_cli/utils/context/context.py,sha256=Q-MniBuvzDKhLODOOrOVdaRTLz9Lp0m7cAz-i6YRRpA,5138
22
- canvas_cli/utils/context/tests.py,sha256=aNmAggwvjKV-1WrgIvp66M46EX2QCbbHmity3bSCBTg,4211
23
- canvas_cli/utils/print/__init__.py,sha256=zkRiQCUhPIB3wNGeJ1Hwfd12zJyvbRRiWqequJORvdE,88
24
- canvas_cli/utils/print/print.py,sha256=GejLUtC5hfWuKHUBapyEwVHNIaIILxW60_xBQchiGpI,1420
25
- canvas_cli/utils/print/tests.py,sha256=4kqp_uMpUUjSXokD_Hxs2aMyx50_JzGABAQoNC4XTrM,2376
26
- canvas_cli/utils/urls/__init__.py,sha256=08hlrQhQ1pKBjlIRaC0j53IkgK723jfK8-j3djvR0ko,81
27
- canvas_cli/utils/urls/tests.py,sha256=opXDF2i3lXTdsKJ7ywIRzWDDzZ5KAO0JbGIR3hbJdoE,407
28
- canvas_cli/utils/urls/urls.py,sha256=KwWTh5ERrEsZEvdBrZpZB71xtyWkDuglpXUbycWmBOo,798
29
- canvas_cli/utils/validators/__init__.py,sha256=rBvSR2O1hWkNAnUBdcr-zUkmqT796_A61b9pnvEhwrM,113
30
- canvas_cli/utils/validators/manifest_schema.py,sha256=SIMpr_vTV8dtkO9cjsRnZZtRm5tgGkPR6QewTG8CztI,3117
31
- canvas_cli/utils/validators/tests.py,sha256=cZHLSx7oteOfLOoU1tXGvw88n6itcvUT2B3ZBg-bmEY,1206
32
- canvas_cli/utils/validators/validators.py,sha256=RKDKxIvZ1IuCPVuhQ1KHdpwu7aewAqT9ZX-nA-LZDdg,1614
33
- canvas_sdk/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
34
- canvas_sdk/commands/__init__.py,sha256=4JTiljkBJ2Da2mU3_VAJ5dcpxg0X3QAocYJBBMJRpGc,1116
35
- canvas_sdk/commands/base.py,sha256=qVgZMBFwdHw6Y66TN68QNlrewr2RqYSpiD1RIPUqUyk,4141
36
- canvas_sdk/commands/commands/assess.py,sha256=uQgLwDp_9I8fjy3reA4g2RSvGY0Ee8UijfwpsvrMRS4,1636
37
- canvas_sdk/commands/commands/diagnose.py,sha256=3bg4ScNzTKJa7sXv3xH9VKQSF_srX_G3m-Xpe-VKzzQ,1382
38
- canvas_sdk/commands/commands/goal.py,sha256=WE5q8oFRtQmclqdCydG4WYW4hoodOvd9dEiSGkJfGqs,1527
39
- canvas_sdk/commands/commands/history_present_illness.py,sha256=TQ-upptwYy-EKAegqT5jyU7csQpOZeqzp8VfBZTO0mw,366
40
- canvas_sdk/commands/commands/medication_statement.py,sha256=Ww-WuMbvosfY7Uv8sTFUjPaBGxUoA-ptdcw6Q569DeY,937
41
- canvas_sdk/commands/commands/plan.py,sha256=Q-e4wqTL6zafG7tOk_9R0mi5pDGqVXKxgbFjsB8CS4Q,350
42
- canvas_sdk/commands/commands/prescribe.py,sha256=4EQHRhTtW_FHJDOaUgMu8lSgK8JKtUcNrOUs8hbTSdw,1574
43
- canvas_sdk/commands/commands/questionnaire.py,sha256=XmwpANCHRV_kV2B_X7xqAJ39yX7bn9iT8XHuVoFfLFk,553
44
- canvas_sdk/commands/commands/reason_for_visit.py,sha256=Zs2WKybbMWvimoZc4ehGxqXNWvX7c0snAe34adP2A4E,1252
45
- canvas_sdk/commands/commands/stop_medication.py,sha256=5AIPEBBqT1mhpQOcCPh3FJfVq487Qtq3fNrWXqNxqhM,627
46
- canvas_sdk/commands/commands/update_goal.py,sha256=yiOiHiSwfOzFUAz61C7i6WIJ2o-OUmjmXzm33GcIC3E,1499
47
- canvas_sdk/commands/constants.py,sha256=LVAuWvxDuDzsW74JUWIzy_lMLvte0_Grlldr-YCjgBw,176
48
- canvas_sdk/commands/tests/test_utils.py,sha256=gdW9e82-Z9Xm3LyYVa7Pd7sGreL-gtP854iC1UIhOEc,6287
49
- canvas_sdk/commands/tests/tests.py,sha256=3ZIsIi0GmXV3jm8QmEhLn_FwL8qpW6yt5jjq9FQwHPA,13863
50
- canvas_sdk/data/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
51
- canvas_sdk/effects/__init__.py,sha256=w3-PimW34Li9b8l_aWCyM7X8-jxMIM3e0ttXg44CV2k,62
52
- canvas_sdk/effects/banner_alert/banner_alert.py,sha256=Vb23JpwAvfH5GoZpGcHzuWyNQ68cfLXOJjRgbPBaB_M,1013
53
- canvas_sdk/effects/banner_alert/constants.py,sha256=kfd113dGYDm-g_B5iZb47VNpJjioGqQZSNRoR_rsktw,436
54
- canvas_sdk/effects/base.py,sha256=h67VmsgMq_Dvr01w8UEf204UqiGjomYrMf_InHzibm4,688
55
- canvas_sdk/events/__init__.py,sha256=oh1hgaoXbWmPBUUvMb_F0n0Chf5L42ZkKIvvLf-Olzk,74
56
- canvas_sdk/protocols/__init__.py,sha256=GKtNMsJ5XaNOJUz9adE2_pONLeZqkZIrd9hXAU-jzvU,51
57
- canvas_sdk/protocols/base.py,sha256=Xh5ZcyCJ3MQJKjWHs2ZdSnAjhO_ak8aUXIxfBLvunmc,369
58
- canvas_sdk/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
59
- canvas_sdk/utils/__init__.py,sha256=sFuhqcWvXb2-33FOuXZgWuUeC5jZL2MDoqjGoQZGwd8,60
60
- canvas_sdk/utils/http.py,sha256=YOgUFp7FOFhbDwkGhCiD3JLZ342oNZR-qncMxv2qSjw,2159
61
- canvas_sdk/utils/tests.py,sha256=t3MScbIfzXkQttMIvj0dRzJlFVS8LFU8WgWRrChM-H0,1931
62
- canvas_sdk/views/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
63
- generated/messages/effects_pb2.py,sha256=eeBvmKpQYRFfDJTLtn_fw63wmvGGB8DY61MPZmn_Yag,1422
64
- generated/messages/effects_pb2.pyi,sha256=frLk1uvbMZ8C5VmzWVddZ5aqM0lfCEZ-6yOk2bE8-4w,974
65
- generated/messages/effects_pb2_grpc.py,sha256=1oboBPFxaTEXt9Aw7EAj8gXHDCNMhZD2VXqocC9l_gk,159
66
- generated/messages/events_pb2.py,sha256=K_AogDGOKpj1jJVefvkN3T3k3Ul8jldBZ9rPGiCepZs,13059
67
- generated/messages/events_pb2.pyi,sha256=p2Oh75Es1OdTXLQ0Zui37vxukfaGNsx1sjcgp5iS3gM,22103
68
- generated/messages/events_pb2_grpc.py,sha256=1oboBPFxaTEXt9Aw7EAj8gXHDCNMhZD2VXqocC9l_gk,159
69
- generated/messages/plugins_pb2.py,sha256=5q04dON7n-_NHKBTdIOwGEm7kBYMRnQJMLXoDfc0OmQ,1249
70
- generated/messages/plugins_pb2.pyi,sha256=G1seqytP8GlJJh-AL2CJ0VyUNlReEvK61C-Oh8QuGiE,501
71
- generated/messages/plugins_pb2_grpc.py,sha256=1oboBPFxaTEXt9Aw7EAj8gXHDCNMhZD2VXqocC9l_gk,159
72
- generated/services/plugin_runner_pb2.py,sha256=eURe0VvEEbGf5H4wThTMT1iNYOuMZUssxCzJ_IbgzAA,1494
73
- generated/services/plugin_runner_pb2.pyi,sha256=2DSpspm8gL2B58Wy6nDUAGUAqTRfRjTvOW-vJ-hKO6M,251
74
- generated/services/plugin_runner_pb2_grpc.py,sha256=7JGPNuRBTDQK-QqbDA4kPR1MUsXrxDum_x8N_O5Ki0Y,4423
75
- canvas-0.1.12b0.dist-info/METADATA,sha256=CDPe-AO9JxvU_9S1Vw_3moQKoBxkBrMen920ZwYcr-w,3518
76
- canvas-0.1.12b0.dist-info/WHEEL,sha256=d2fvjOD7sXsVzChCqf0Ty0JbHKBaLYwDbGQDwQTnJ50,88
77
- canvas-0.1.12b0.dist-info/entry_points.txt,sha256=VSmSo1IZ3aEfL7enmLmlWSraS_IIkoXNVeyXzgRxFiY,46
78
- canvas-0.1.12b0.dist-info/RECORD,,
@@ -1,37 +0,0 @@
1
- from typing import Any
2
-
3
- from pydantic import Field
4
-
5
- from canvas_sdk.effects.banner_alert.constants import (
6
- BannerAlertIntent,
7
- BannerAlertPlacement,
8
- )
9
- from canvas_sdk.effects.base import _BaseEffect
10
-
11
-
12
- class BannerAlert(_BaseEffect):
13
- """
14
- An Effect that will result in a banner alert in Canvas.
15
- """
16
-
17
- class Meta:
18
- effect_type = "SHOW_BANNER_ALERT"
19
-
20
- patient_key: str
21
- narrative: str = Field(max_length=90)
22
- placements: list[BannerAlertPlacement] = Field(min_length=1)
23
- intents: list[BannerAlertIntent] = Field(min_length=1)
24
-
25
- @property
26
- def values(self) -> dict[str, Any]:
27
- """The BannerAlert's values."""
28
- return {
29
- "narrative": self.narrative,
30
- "placement": [p.value for p in self.placements],
31
- "intent": [i.value for i in self.intents],
32
- }
33
-
34
- @property
35
- def effect_payload(self) -> dict[str, Any]:
36
- """The payload of the effect."""
37
- return {"patient": self.patient_key, "data": self.values}
@@ -1,19 +0,0 @@
1
- from enum import Enum
2
-
3
-
4
- class BannerAlertPlacement(Enum):
5
- """Where the BannerAlert should appear in the Canvas UI."""
6
-
7
- CHART = "chart"
8
- TIMELINE = "timeline"
9
- APPOINTMENT_CARD = "appointment_card"
10
- SCHEDULING_CARD = "scheduling_card"
11
- PROFILE = "profile"
12
-
13
-
14
- class BannerAlertIntent(Enum):
15
- """The intent that should be conveyed in the BannerAlert."""
16
-
17
- INFO = "info"
18
- WARNING = "warning"
19
- ALERT = "alert"
@@ -1,28 +0,0 @@
1
- # -*- coding: utf-8 -*-
2
- # Generated by the protocol buffer compiler. DO NOT EDIT!
3
- # source: generated/messages/effects.proto
4
- # Protobuf Python Version: 4.25.0
5
- """Generated protocol buffer code."""
6
- from google.protobuf import descriptor as _descriptor
7
- from google.protobuf import descriptor_pool as _descriptor_pool
8
- from google.protobuf import symbol_database as _symbol_database
9
- from google.protobuf.internal import builder as _builder
10
- # @@protoc_insertion_point(imports)
11
-
12
- _sym_db = _symbol_database.Default()
13
-
14
-
15
-
16
-
17
- DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n generated/messages/effects.proto\x12\x06\x63\x61nvas\";\n\x06\x45\x66\x66\x65\x63t\x12 \n\x04type\x18\x01 \x01(\x0e\x32\x12.canvas.EffectType\x12\x0f\n\x07payload\x18\x02 \x01(\t*`\n\nEffectType\x12\x12\n\x0eUNKNOWN_EFFECT\x10\x00\x12\x07\n\x03LOG\x10\x01\x12\x14\n\x10\x41\x44\x44_PLAN_COMMAND\x10\x02\x12\x1f\n\x1b\x41UTOCOMPLETE_SEARCH_RESULTS\x10\x03\x62\x06proto3')
18
-
19
- _globals = globals()
20
- _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
21
- _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'generated.messages.effects_pb2', _globals)
22
- if _descriptor._USE_C_DESCRIPTORS == False:
23
- DESCRIPTOR._options = None
24
- _globals['_EFFECTTYPE']._serialized_start=105
25
- _globals['_EFFECTTYPE']._serialized_end=201
26
- _globals['_EFFECT']._serialized_start=44
27
- _globals['_EFFECT']._serialized_end=103
28
- # @@protoc_insertion_point(module_scope)
@@ -1,25 +0,0 @@
1
- from google.protobuf.internal import enum_type_wrapper as _enum_type_wrapper
2
- from google.protobuf import descriptor as _descriptor
3
- from google.protobuf import message as _message
4
- from typing import ClassVar as _ClassVar, Optional as _Optional, Union as _Union
5
-
6
- DESCRIPTOR: _descriptor.FileDescriptor
7
-
8
- class EffectType(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
9
- __slots__ = ()
10
- UNKNOWN_EFFECT: _ClassVar[EffectType]
11
- LOG: _ClassVar[EffectType]
12
- ADD_PLAN_COMMAND: _ClassVar[EffectType]
13
- AUTOCOMPLETE_SEARCH_RESULTS: _ClassVar[EffectType]
14
- UNKNOWN_EFFECT: EffectType
15
- LOG: EffectType
16
- ADD_PLAN_COMMAND: EffectType
17
- AUTOCOMPLETE_SEARCH_RESULTS: EffectType
18
-
19
- class Effect(_message.Message):
20
- __slots__ = ("type", "payload")
21
- TYPE_FIELD_NUMBER: _ClassVar[int]
22
- PAYLOAD_FIELD_NUMBER: _ClassVar[int]
23
- type: EffectType
24
- payload: str
25
- def __init__(self, type: _Optional[_Union[EffectType, str]] = ..., payload: _Optional[str] = ...) -> None: ...
@@ -1,31 +0,0 @@
1
- # -*- coding: utf-8 -*-
2
- # Generated by the protocol buffer compiler. DO NOT EDIT!
3
- # source: generated/messages/events.proto
4
- # Protobuf Python Version: 4.25.0
5
- """Generated protocol buffer code."""
6
- from google.protobuf import descriptor as _descriptor
7
- from google.protobuf import descriptor_pool as _descriptor_pool
8
- from google.protobuf import symbol_database as _symbol_database
9
- from google.protobuf.internal import builder as _builder
10
- # @@protoc_insertion_point(imports)
11
-
12
- _sym_db = _symbol_database.Default()
13
-
14
-
15
- from generated.messages import effects_pb2 as generated_dot_messages_dot_effects__pb2
16
-
17
-
18
- DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1fgenerated/messages/events.proto\x12\x06\x63\x61nvas\x1a generated/messages/effects.proto\"I\n\x05\x45vent\x12\x1f\n\x04type\x18\x01 \x01(\x0e\x32\x11.canvas.EventType\x12\x0e\n\x06target\x18\x02 \x01(\t\x12\x0f\n\x07\x63ontext\x18\x03 \x01(\t\"A\n\rEventResponse\x12\x0f\n\x07success\x18\x01 \x01(\x08\x12\x1f\n\x07\x65\x66\x66\x65\x63ts\x18\x02 \x03(\x0b\x32\x0e.canvas.Effect*\xbb=\n\tEventType\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x1f\n\x1b\x41LLERGY_INTOLERANCE_CREATED\x10\x01\x12\x1f\n\x1b\x41LLERGY_INTOLERANCE_UPDATED\x10\x02\x12\x18\n\x14\x41PPOINTMENT_CANCELED\x10\x04\x12\x1a\n\x16\x41PPOINTMENT_CHECKED_IN\x10\x05\x12\x17\n\x13\x41PPOINTMENT_CREATED\x10\x06\x12\x19\n\x15\x41PPOINTMENT_NO_SHOWED\x10\x07\x12\x1b\n\x17\x41PPOINTMENT_RESCHEDULED\x10\x08\x12\x18\n\x14\x41PPOINTMENT_RESTORED\x10\t\x12\x17\n\x13\x41PPOINTMENT_UPDATED\x10\n\x12\x1d\n\x19\x42ILLING_LINE_ITEM_CREATED\x10\x0b\x12\x1d\n\x19\x42ILLING_LINE_ITEM_UPDATED\x10\x0c\x12\x16\n\x12\x43ONDITION_ASSESSED\x10\r\x12\x15\n\x11\x43ONDITION_CREATED\x10\x0e\x12\x16\n\x12\x43ONDITION_RESOLVED\x10\x0f\x12\x15\n\x11\x43ONDITION_UPDATED\x10\x10\x12\x13\n\x0f\x43ONSENT_CREATED\x10\x11\x12\x13\n\x0f\x43ONSENT_DELETED\x10\x12\x12\x13\n\x0f\x43ONSENT_UPDATED\x10\x13\x12\x14\n\x10\x43OVERAGE_CREATED\x10\x14\x12\x14\n\x10\x43OVERAGE_UPDATED\x10\x15\x12\x15\n\x11\x45NCOUNTER_CREATED\x10\x16\x12\x15\n\x11\x45NCOUNTER_UPDATED\x10\x17\x12\x1a\n\x16IMAGING_REPORT_CREATED\x10\x1a\x12\x1a\n\x16IMAGING_REPORT_UPDATED\x10\x1b\x12\x18\n\x14IMMUNIZATION_CREATED\x10\x1c\x12\"\n\x1eIMMUNIZATION_STATEMENT_CREATED\x10\x1d\x12\"\n\x1eIMMUNIZATION_STATEMENT_UPDATED\x10\x1e\x12\x18\n\x14IMMUNIZATION_UPDATED\x10\x1f\x12\x17\n\x13INSTRUCTION_CREATED\x10 \x12\x17\n\x13INSTRUCTION_UPDATED\x10!\x12\x15\n\x11INTERVIEW_CREATED\x10\"\x12\x15\n\x11INTERVIEW_UPDATED\x10#\x12\x15\n\x11LAB_ORDER_CREATED\x10$\x12\x15\n\x11LAB_ORDER_UPDATED\x10%\x12\x16\n\x12LAB_REPORT_CREATED\x10&\x12\x16\n\x12LAB_REPORT_UPDATED\x10\'\x12 \n\x1cMEDICATION_LIST_ITEM_CREATED\x10(\x12 \n\x1cMEDICATION_LIST_ITEM_UPDATED\x10)\x12\x13\n\x0fMESSAGE_CREATED\x10*\x12\x13\n\x0fPATIENT_CREATED\x10+\x12\x13\n\x0fPATIENT_UPDATED\x10,\x12\x18\n\x14PRESCRIPTION_CREATED\x10-\x12\x18\n\x14PRESCRIPTION_UPDATED\x10.\x12\x1b\n\x17REFERRAL_REPORT_CREATED\x10/\x12\x1b\n\x17REFERRAL_REPORT_UPDATED\x10\x30\x12\x18\n\x14TASK_COMMENT_CREATED\x10\x33\x12\x10\n\x0cTASK_CREATED\x10\x36\x12\x18\n\x14TASK_LABELS_ADJUSTED\x10\x37\x12\x10\n\x0cTASK_UPDATED\x10\x39\x12\x16\n\x12VITAL_SIGN_CREATED\x10:\x12\x16\n\x12VITAL_SIGN_UPDATED\x10;\x12\x19\n\x15PRE_COMMAND_ORIGINATE\x10\x64\x12\x1a\n\x16POST_COMMAND_ORIGINATE\x10\x65\x12\x16\n\x12PRE_COMMAND_UPDATE\x10\x66\x12\x17\n\x13POST_COMMAND_UPDATE\x10g\x12\x16\n\x12PRE_COMMAND_COMMIT\x10h\x12\x17\n\x13POST_COMMAND_COMMIT\x10i\x12\x16\n\x12PRE_COMMAND_DELETE\x10j\x12\x17\n\x13POST_COMMAND_DELETE\x10k\x12\x1e\n\x1aPRE_COMMAND_ENTER_IN_ERROR\x10l\x12\x1f\n\x1bPOST_COMMAND_ENTER_IN_ERROR\x10m\x12\x1e\n\x1aPRE_COMMAND_EXECUTE_ACTION\x10n\x12\x1f\n\x1bPOST_COMMAND_EXECUTE_ACTION\x10o\x12\'\n\"ASSESS_COMMAND__CONDITION_SELECTED\x10\xc8\x01\x12\x31\n,MEDICATION_STATEMENT__MEDICATION__PRE_SEARCH\x10\xc9\x01\x12\x32\n-MEDICATION_STATEMENT__MEDICATION__POST_SEARCH\x10\xca\x01\x12/\n*MEDICATION_STATEMENT__MEDICATION__SELECTED\x10\xcb\x01\x12\"\n\x1d\x41SSESS_COMMAND__PRE_ORIGINATE\x10\xd8\x36\x12#\n\x1e\x41SSESS_COMMAND__POST_ORIGINATE\x10\xd9\x36\x12\x1f\n\x1a\x41SSESS_COMMAND__PRE_UPDATE\x10\xda\x36\x12 \n\x1b\x41SSESS_COMMAND__POST_UPDATE\x10\xdb\x36\x12\x1f\n\x1a\x41SSESS_COMMAND__PRE_COMMIT\x10\xdc\x36\x12 \n\x1b\x41SSESS_COMMAND__POST_COMMIT\x10\xdd\x36\x12\x1f\n\x1a\x41SSESS_COMMAND__PRE_DELETE\x10\xde\x36\x12 \n\x1b\x41SSESS_COMMAND__POST_DELETE\x10\xdf\x36\x12\'\n\"ASSESS_COMMAND__PRE_ENTER_IN_ERROR\x10\xe0\x36\x12(\n#ASSESS_COMMAND__POST_ENTER_IN_ERROR\x10\xe1\x36\x12\'\n\"ASSESS_COMMAND__PRE_EXECUTE_ACTION\x10\xe2\x36\x12(\n#ASSESS_COMMAND__POST_EXECUTE_ACTION\x10\xe3\x36\x12#\n\x1e\x41SSESS__CONDITION__POST_SEARCH\x10\xe4\x36\x12$\n\x1f\x44IAGNOSE__DIAGNOSE__POST_SEARCH\x10\xbcm\x12!\n\x1bGOAL_COMMAND__PRE_ORIGINATE\x10\xd0\x8c\x01\x12\"\n\x1cGOAL_COMMAND__POST_ORIGINATE\x10\xd1\x8c\x01\x12\x1e\n\x18GOAL_COMMAND__PRE_UPDATE\x10\xd2\x8c\x01\x12\x1f\n\x19GOAL_COMMAND__POST_UPDATE\x10\xd3\x8c\x01\x12\x1e\n\x18GOAL_COMMAND__PRE_COMMIT\x10\xd4\x8c\x01\x12\x1f\n\x19GOAL_COMMAND__POST_COMMIT\x10\xd5\x8c\x01\x12\x1e\n\x18GOAL_COMMAND__PRE_DELETE\x10\xd6\x8c\x01\x12\x1f\n\x19GOAL_COMMAND__POST_DELETE\x10\xd7\x8c\x01\x12&\n GOAL_COMMAND__PRE_ENTER_IN_ERROR\x10\xd8\x8c\x01\x12\'\n!GOAL_COMMAND__POST_ENTER_IN_ERROR\x10\xd9\x8c\x01\x12&\n GOAL_COMMAND__PRE_EXECUTE_ACTION\x10\xda\x8c\x01\x12\'\n!GOAL_COMMAND__POST_EXECUTE_ACTION\x10\xdb\x8c\x01\x12\x37\n1HISTORY_OF_PRESENT_ILLNESS_COMMAND__PRE_ORIGINATE\x10\xb8\x94\x01\x12\x38\n2HISTORY_OF_PRESENT_ILLNESS_COMMAND__POST_ORIGINATE\x10\xb9\x94\x01\x12\x34\n.HISTORY_OF_PRESENT_ILLNESS_COMMAND__PRE_UPDATE\x10\xba\x94\x01\x12\x35\n/HISTORY_OF_PRESENT_ILLNESS_COMMAND__POST_UPDATE\x10\xbb\x94\x01\x12\x34\n.HISTORY_OF_PRESENT_ILLNESS_COMMAND__PRE_COMMIT\x10\xbc\x94\x01\x12\x35\n/HISTORY_OF_PRESENT_ILLNESS_COMMAND__POST_COMMIT\x10\xbd\x94\x01\x12\x34\n.HISTORY_OF_PRESENT_ILLNESS_COMMAND__PRE_DELETE\x10\xbe\x94\x01\x12\x35\n/HISTORY_OF_PRESENT_ILLNESS_COMMAND__POST_DELETE\x10\xbf\x94\x01\x12<\n6HISTORY_OF_PRESENT_ILLNESS_COMMAND__PRE_ENTER_IN_ERROR\x10\xc0\x94\x01\x12=\n7HISTORY_OF_PRESENT_ILLNESS_COMMAND__POST_ENTER_IN_ERROR\x10\xc1\x94\x01\x12<\n6HISTORY_OF_PRESENT_ILLNESS_COMMAND__PRE_EXECUTE_ACTION\x10\xc2\x94\x01\x12=\n7HISTORY_OF_PRESENT_ILLNESS_COMMAND__POST_EXECUTE_ACTION\x10\xc3\x94\x01\x12\x31\n+MEDICATION_STATEMENT_COMMAND__PRE_ORIGINATE\x10\xe0\xda\x01\x12\x32\n,MEDICATION_STATEMENT_COMMAND__POST_ORIGINATE\x10\xe1\xda\x01\x12.\n(MEDICATION_STATEMENT_COMMAND__PRE_UPDATE\x10\xe2\xda\x01\x12/\n)MEDICATION_STATEMENT_COMMAND__POST_UPDATE\x10\xe3\xda\x01\x12.\n(MEDICATION_STATEMENT_COMMAND__PRE_COMMIT\x10\xe4\xda\x01\x12/\n)MEDICATION_STATEMENT_COMMAND__POST_COMMIT\x10\xe5\xda\x01\x12.\n(MEDICATION_STATEMENT_COMMAND__PRE_DELETE\x10\xe6\xda\x01\x12/\n)MEDICATION_STATEMENT_COMMAND__POST_DELETE\x10\xe7\xda\x01\x12\x36\n0MEDICATION_STATEMENT_COMMAND__PRE_ENTER_IN_ERROR\x10\xe8\xda\x01\x12\x37\n1MEDICATION_STATEMENT_COMMAND__POST_ENTER_IN_ERROR\x10\xe9\xda\x01\x12\x36\n0MEDICATION_STATEMENT_COMMAND__PRE_EXECUTE_ACTION\x10\xea\xda\x01\x12\x37\n1MEDICATION_STATEMENT_COMMAND__POST_EXECUTE_ACTION\x10\xeb\xda\x01\x12!\n\x1bPLAN_COMMAND__PRE_ORIGINATE\x10\x98\xf2\x01\x12\"\n\x1cPLAN_COMMAND__POST_ORIGINATE\x10\x99\xf2\x01\x12\x1e\n\x18PLAN_COMMAND__PRE_UPDATE\x10\x9a\xf2\x01\x12\x1f\n\x19PLAN_COMMAND__POST_UPDATE\x10\x9b\xf2\x01\x12\x1e\n\x18PLAN_COMMAND__PRE_COMMIT\x10\x9c\xf2\x01\x12\x1f\n\x19PLAN_COMMAND__POST_COMMIT\x10\x9d\xf2\x01\x12\x1e\n\x18PLAN_COMMAND__PRE_DELETE\x10\x9e\xf2\x01\x12\x1f\n\x19PLAN_COMMAND__POST_DELETE\x10\x9f\xf2\x01\x12&\n PLAN_COMMAND__PRE_ENTER_IN_ERROR\x10\xa0\xf2\x01\x12\'\n!PLAN_COMMAND__POST_ENTER_IN_ERROR\x10\xa1\xf2\x01\x12&\n PLAN_COMMAND__PRE_EXECUTE_ACTION\x10\xa2\xf2\x01\x12\'\n!PLAN_COMMAND__POST_EXECUTE_ACTION\x10\xa3\xf2\x01\x12&\n PRESCRIBE_COMMAND__PRE_ORIGINATE\x10\xe8\x81\x02\x12\'\n!PRESCRIBE_COMMAND__POST_ORIGINATE\x10\xe9\x81\x02\x12#\n\x1dPRESCRIBE_COMMAND__PRE_UPDATE\x10\xea\x81\x02\x12$\n\x1ePRESCRIBE_COMMAND__POST_UPDATE\x10\xeb\x81\x02\x12#\n\x1dPRESCRIBE_COMMAND__PRE_COMMIT\x10\xec\x81\x02\x12$\n\x1ePRESCRIBE_COMMAND__POST_COMMIT\x10\xed\x81\x02\x12#\n\x1dPRESCRIBE_COMMAND__PRE_DELETE\x10\xee\x81\x02\x12$\n\x1ePRESCRIBE_COMMAND__POST_DELETE\x10\xef\x81\x02\x12+\n%PRESCRIBE_COMMAND__PRE_ENTER_IN_ERROR\x10\xf0\x81\x02\x12,\n&PRESCRIBE_COMMAND__POST_ENTER_IN_ERROR\x10\xf1\x81\x02\x12+\n%PRESCRIBE_COMMAND__PRE_EXECUTE_ACTION\x10\xf2\x81\x02\x12,\n&PRESCRIBE_COMMAND__POST_EXECUTE_ACTION\x10\xf3\x81\x02\x12\'\n!PRESCRIBE__PRESCRIBE__POST_SEARCH\x10\xf4\x81\x02\x12*\n$QUESTIONNAIRE_COMMAND__PRE_ORIGINATE\x10\xd0\x89\x02\x12+\n%QUESTIONNAIRE_COMMAND__POST_ORIGINATE\x10\xd1\x89\x02\x12\'\n!QUESTIONNAIRE_COMMAND__PRE_UPDATE\x10\xd2\x89\x02\x12(\n\"QUESTIONNAIRE_COMMAND__POST_UPDATE\x10\xd3\x89\x02\x12\'\n!QUESTIONNAIRE_COMMAND__PRE_COMMIT\x10\xd4\x89\x02\x12(\n\"QUESTIONNAIRE_COMMAND__POST_COMMIT\x10\xd5\x89\x02\x12\'\n!QUESTIONNAIRE_COMMAND__PRE_DELETE\x10\xd6\x89\x02\x12(\n\"QUESTIONNAIRE_COMMAND__POST_DELETE\x10\xd7\x89\x02\x12/\n)QUESTIONNAIRE_COMMAND__PRE_ENTER_IN_ERROR\x10\xd8\x89\x02\x12\x30\n*QUESTIONNAIRE_COMMAND__POST_ENTER_IN_ERROR\x10\xd9\x89\x02\x12/\n)QUESTIONNAIRE_COMMAND__PRE_EXECUTE_ACTION\x10\xda\x89\x02\x12\x30\n*QUESTIONNAIRE_COMMAND__POST_EXECUTE_ACTION\x10\xdb\x89\x02\x12/\n)QUESTIONNAIRE__QUESTIONNAIRE__POST_SEARCH\x10\xdc\x89\x02\x12-\n\'REASON_FOR_VISIT_COMMAND__PRE_ORIGINATE\x10\xb8\x91\x02\x12.\n(REASON_FOR_VISIT_COMMAND__POST_ORIGINATE\x10\xb9\x91\x02\x12*\n$REASON_FOR_VISIT_COMMAND__PRE_UPDATE\x10\xba\x91\x02\x12+\n%REASON_FOR_VISIT_COMMAND__POST_UPDATE\x10\xbb\x91\x02\x12*\n$REASON_FOR_VISIT_COMMAND__PRE_COMMIT\x10\xbc\x91\x02\x12+\n%REASON_FOR_VISIT_COMMAND__POST_COMMIT\x10\xbd\x91\x02\x12*\n$REASON_FOR_VISIT_COMMAND__PRE_DELETE\x10\xbe\x91\x02\x12+\n%REASON_FOR_VISIT_COMMAND__POST_DELETE\x10\xbf\x91\x02\x12\x32\n,REASON_FOR_VISIT_COMMAND__PRE_ENTER_IN_ERROR\x10\xc0\x91\x02\x12\x33\n-REASON_FOR_VISIT_COMMAND__POST_ENTER_IN_ERROR\x10\xc1\x91\x02\x12\x32\n,REASON_FOR_VISIT_COMMAND__PRE_EXECUTE_ACTION\x10\xc2\x91\x02\x12\x33\n-REASON_FOR_VISIT_COMMAND__POST_EXECUTE_ACTION\x10\xc3\x91\x02\x12+\n%REASON_FOR_VISIT__CODING__POST_SEARCH\x10\xc4\x91\x02\x12,\n&STOP_MEDICATION_COMMAND__PRE_ORIGINATE\x10\xe0\xd7\x02\x12-\n\'STOP_MEDICATION_COMMAND__POST_ORIGINATE\x10\xe1\xd7\x02\x12)\n#STOP_MEDICATION_COMMAND__PRE_UPDATE\x10\xe2\xd7\x02\x12*\n$STOP_MEDICATION_COMMAND__POST_UPDATE\x10\xe3\xd7\x02\x12)\n#STOP_MEDICATION_COMMAND__PRE_COMMIT\x10\xe4\xd7\x02\x12*\n$STOP_MEDICATION_COMMAND__POST_COMMIT\x10\xe5\xd7\x02\x12)\n#STOP_MEDICATION_COMMAND__PRE_DELETE\x10\xe6\xd7\x02\x12*\n$STOP_MEDICATION_COMMAND__POST_DELETE\x10\xe7\xd7\x02\x12\x31\n+STOP_MEDICATION_COMMAND__PRE_ENTER_IN_ERROR\x10\xe8\xd7\x02\x12\x32\n,STOP_MEDICATION_COMMAND__POST_ENTER_IN_ERROR\x10\xe9\xd7\x02\x12\x31\n+STOP_MEDICATION_COMMAND__PRE_EXECUTE_ACTION\x10\xea\xd7\x02\x12\x32\n,STOP_MEDICATION_COMMAND__POST_EXECUTE_ACTION\x10\xeb\xd7\x02\x12.\n(STOP_MEDICATION__MEDICATION__POST_SEARCH\x10\xec\xd7\x02\x12!\n\x1bTASK_COMMAND__PRE_ORIGINATE\x10\x98\xef\x02\x12\"\n\x1cTASK_COMMAND__POST_ORIGINATE\x10\x99\xef\x02\x12\x1e\n\x18TASK_COMMAND__PRE_UPDATE\x10\x9a\xef\x02\x12\x1f\n\x19TASK_COMMAND__POST_UPDATE\x10\x9b\xef\x02\x12\x1e\n\x18TASK_COMMAND__PRE_COMMIT\x10\x9c\xef\x02\x12\x1f\n\x19TASK_COMMAND__POST_COMMIT\x10\x9d\xef\x02\x12\x1e\n\x18TASK_COMMAND__PRE_DELETE\x10\x9e\xef\x02\x12\x1f\n\x19TASK_COMMAND__POST_DELETE\x10\x9f\xef\x02\x12&\n TASK_COMMAND__PRE_ENTER_IN_ERROR\x10\xa0\xef\x02\x12\'\n!TASK_COMMAND__POST_ENTER_IN_ERROR\x10\xa1\xef\x02\x12&\n TASK_COMMAND__PRE_EXECUTE_ACTION\x10\xa2\xef\x02\x12\'\n!TASK_COMMAND__POST_EXECUTE_ACTION\x10\xa3\xef\x02\x12(\n\"UPDATE_GOAL_COMMAND__PRE_ORIGINATE\x10\xd0\x86\x03\x12)\n#UPDATE_GOAL_COMMAND__POST_ORIGINATE\x10\xd1\x86\x03\x12%\n\x1fUPDATE_GOAL_COMMAND__PRE_UPDATE\x10\xd2\x86\x03\x12&\n UPDATE_GOAL_COMMAND__POST_UPDATE\x10\xd3\x86\x03\x12%\n\x1fUPDATE_GOAL_COMMAND__PRE_COMMIT\x10\xd4\x86\x03\x12&\n UPDATE_GOAL_COMMAND__POST_COMMIT\x10\xd5\x86\x03\x12%\n\x1fUPDATE_GOAL_COMMAND__PRE_DELETE\x10\xd6\x86\x03\x12&\n UPDATE_GOAL_COMMAND__POST_DELETE\x10\xd7\x86\x03\x12-\n\'UPDATE_GOAL_COMMAND__PRE_ENTER_IN_ERROR\x10\xd8\x86\x03\x12.\n(UPDATE_GOAL_COMMAND__POST_ENTER_IN_ERROR\x10\xd9\x86\x03\x12-\n\'UPDATE_GOAL_COMMAND__PRE_EXECUTE_ACTION\x10\xda\x86\x03\x12.\n(UPDATE_GOAL_COMMAND__POST_EXECUTE_ACTION\x10\xdb\x86\x03\x12.\n(UPDATE_GOAL__GOAL_STATEMENT__POST_SEARCH\x10\xdc\x86\x03\x62\x06proto3')
19
-
20
- _globals = globals()
21
- _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
22
- _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'generated.messages.events_pb2', _globals)
23
- if _descriptor._USE_C_DESCRIPTORS == False:
24
- DESCRIPTOR._options = None
25
- _globals['_EVENTTYPE']._serialized_start=220
26
- _globals['_EVENTTYPE']._serialized_end=8087
27
- _globals['_EVENT']._serialized_start=77
28
- _globals['_EVENT']._serialized_end=150
29
- _globals['_EVENTRESPONSE']._serialized_start=152
30
- _globals['_EVENTRESPONSE']._serialized_end=217
31
- # @@protoc_insertion_point(module_scope)
@@ -1,28 +0,0 @@
1
- # -*- coding: utf-8 -*-
2
- # Generated by the protocol buffer compiler. DO NOT EDIT!
3
- # source: generated/services/plugin_runner.proto
4
- # Protobuf Python Version: 4.25.0
5
- """Generated protocol buffer code."""
6
- from google.protobuf import descriptor as _descriptor
7
- from google.protobuf import descriptor_pool as _descriptor_pool
8
- from google.protobuf import symbol_database as _symbol_database
9
- from google.protobuf.internal import builder as _builder
10
- # @@protoc_insertion_point(imports)
11
-
12
- _sym_db = _symbol_database.Default()
13
-
14
-
15
- from generated.messages import events_pb2 as generated_dot_messages_dot_events__pb2
16
- from generated.messages import plugins_pb2 as generated_dot_messages_dot_plugins__pb2
17
-
18
-
19
- DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n&generated/services/plugin_runner.proto\x12\x06\x63\x61nvas\x1a\x1fgenerated/messages/events.proto\x1a generated/messages/plugins.proto2\x87\x01\n\x0cPluginRunner\x12\x35\n\x0bHandleEvent\x12\r.canvas.Event\x1a\x15.canvas.EventResponse0\x01\x12@\n\rReloadPlugins\x12\x15.ReloadPluginsRequest\x1a\x16.ReloadPluginsResponse0\x01\x62\x06proto3')
20
-
21
- _globals = globals()
22
- _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
23
- _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'generated.services.plugin_runner_pb2', _globals)
24
- if _descriptor._USE_C_DESCRIPTORS == False:
25
- DESCRIPTOR._options = None
26
- _globals['_PLUGINRUNNER']._serialized_start=118
27
- _globals['_PLUGINRUNNER']._serialized_end=253
28
- # @@protoc_insertion_point(module_scope)
File without changes