chalkpy 2.90.1__py3-none-any.whl → 2.95.3__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.
Files changed (202) hide show
  1. chalk/__init__.py +2 -1
  2. chalk/_gen/chalk/arrow/v1/arrow_pb2.py +7 -5
  3. chalk/_gen/chalk/arrow/v1/arrow_pb2.pyi +6 -0
  4. chalk/_gen/chalk/artifacts/v1/chart_pb2.py +16 -16
  5. chalk/_gen/chalk/artifacts/v1/chart_pb2.pyi +4 -0
  6. chalk/_gen/chalk/artifacts/v1/cron_query_pb2.py +8 -7
  7. chalk/_gen/chalk/artifacts/v1/cron_query_pb2.pyi +5 -0
  8. chalk/_gen/chalk/common/v1/offline_query_pb2.py +17 -15
  9. chalk/_gen/chalk/common/v1/offline_query_pb2.pyi +25 -0
  10. chalk/_gen/chalk/common/v1/script_task_pb2.py +3 -3
  11. chalk/_gen/chalk/common/v1/script_task_pb2.pyi +2 -0
  12. chalk/_gen/chalk/dataframe/__init__.py +0 -0
  13. chalk/_gen/chalk/dataframe/v1/__init__.py +0 -0
  14. chalk/_gen/chalk/dataframe/v1/dataframe_pb2.py +48 -0
  15. chalk/_gen/chalk/dataframe/v1/dataframe_pb2.pyi +123 -0
  16. chalk/_gen/chalk/dataframe/v1/dataframe_pb2_grpc.py +4 -0
  17. chalk/_gen/chalk/dataframe/v1/dataframe_pb2_grpc.pyi +4 -0
  18. chalk/_gen/chalk/graph/v1/graph_pb2.py +150 -149
  19. chalk/_gen/chalk/graph/v1/graph_pb2.pyi +25 -0
  20. chalk/_gen/chalk/graph/v1/sources_pb2.py +94 -84
  21. chalk/_gen/chalk/graph/v1/sources_pb2.pyi +56 -0
  22. chalk/_gen/chalk/kubernetes/v1/horizontalpodautoscaler_pb2.py +79 -0
  23. chalk/_gen/chalk/kubernetes/v1/horizontalpodautoscaler_pb2.pyi +377 -0
  24. chalk/_gen/chalk/kubernetes/v1/horizontalpodautoscaler_pb2_grpc.py +4 -0
  25. chalk/_gen/chalk/kubernetes/v1/horizontalpodautoscaler_pb2_grpc.pyi +4 -0
  26. chalk/_gen/chalk/kubernetes/v1/scaledobject_pb2.py +43 -7
  27. chalk/_gen/chalk/kubernetes/v1/scaledobject_pb2.pyi +252 -2
  28. chalk/_gen/chalk/protosql/v1/sql_service_pb2.py +54 -27
  29. chalk/_gen/chalk/protosql/v1/sql_service_pb2.pyi +131 -3
  30. chalk/_gen/chalk/protosql/v1/sql_service_pb2_grpc.py +45 -0
  31. chalk/_gen/chalk/protosql/v1/sql_service_pb2_grpc.pyi +14 -0
  32. chalk/_gen/chalk/python/v1/types_pb2.py +14 -14
  33. chalk/_gen/chalk/python/v1/types_pb2.pyi +8 -0
  34. chalk/_gen/chalk/server/v1/benchmark_pb2.py +76 -0
  35. chalk/_gen/chalk/server/v1/benchmark_pb2.pyi +156 -0
  36. chalk/_gen/chalk/server/v1/benchmark_pb2_grpc.py +258 -0
  37. chalk/_gen/chalk/server/v1/benchmark_pb2_grpc.pyi +84 -0
  38. chalk/_gen/chalk/server/v1/billing_pb2.py +40 -38
  39. chalk/_gen/chalk/server/v1/billing_pb2.pyi +17 -1
  40. chalk/_gen/chalk/server/v1/branches_pb2.py +45 -0
  41. chalk/_gen/chalk/server/v1/branches_pb2.pyi +80 -0
  42. chalk/_gen/chalk/server/v1/branches_pb2_grpc.pyi +36 -0
  43. chalk/_gen/chalk/server/v1/builder_pb2.py +358 -288
  44. chalk/_gen/chalk/server/v1/builder_pb2.pyi +360 -10
  45. chalk/_gen/chalk/server/v1/builder_pb2_grpc.py +225 -0
  46. chalk/_gen/chalk/server/v1/builder_pb2_grpc.pyi +60 -0
  47. chalk/_gen/chalk/server/v1/chart_pb2.py +10 -10
  48. chalk/_gen/chalk/server/v1/chart_pb2.pyi +18 -2
  49. chalk/_gen/chalk/server/v1/clickhouse_pb2.py +42 -0
  50. chalk/_gen/chalk/server/v1/clickhouse_pb2.pyi +17 -0
  51. chalk/_gen/chalk/server/v1/clickhouse_pb2_grpc.py +78 -0
  52. chalk/_gen/chalk/server/v1/clickhouse_pb2_grpc.pyi +38 -0
  53. chalk/_gen/chalk/server/v1/cloud_components_pb2.py +141 -119
  54. chalk/_gen/chalk/server/v1/cloud_components_pb2.pyi +106 -4
  55. chalk/_gen/chalk/server/v1/cloud_components_pb2_grpc.py +45 -0
  56. chalk/_gen/chalk/server/v1/cloud_components_pb2_grpc.pyi +12 -0
  57. chalk/_gen/chalk/server/v1/cloud_credentials_pb2.py +11 -3
  58. chalk/_gen/chalk/server/v1/cloud_credentials_pb2.pyi +20 -0
  59. chalk/_gen/chalk/server/v1/cloud_credentials_pb2_grpc.py +45 -0
  60. chalk/_gen/chalk/server/v1/cloud_credentials_pb2_grpc.pyi +12 -0
  61. chalk/_gen/chalk/server/v1/dataplanejobqueue_pb2.py +52 -38
  62. chalk/_gen/chalk/server/v1/dataplanejobqueue_pb2.pyi +62 -1
  63. chalk/_gen/chalk/server/v1/dataplanejobqueue_pb2_grpc.py +90 -0
  64. chalk/_gen/chalk/server/v1/dataplanejobqueue_pb2_grpc.pyi +24 -0
  65. chalk/_gen/chalk/server/v1/dataplaneworkflows_pb2.py +90 -0
  66. chalk/_gen/chalk/server/v1/dataplaneworkflows_pb2.pyi +264 -0
  67. chalk/_gen/chalk/server/v1/dataplaneworkflows_pb2_grpc.py +170 -0
  68. chalk/_gen/chalk/server/v1/dataplaneworkflows_pb2_grpc.pyi +62 -0
  69. chalk/_gen/chalk/server/v1/deploy_pb2.py +9 -3
  70. chalk/_gen/chalk/server/v1/deploy_pb2.pyi +12 -0
  71. chalk/_gen/chalk/server/v1/deploy_pb2_grpc.py +45 -0
  72. chalk/_gen/chalk/server/v1/deploy_pb2_grpc.pyi +12 -0
  73. chalk/_gen/chalk/server/v1/deployment_pb2.py +6 -6
  74. chalk/_gen/chalk/server/v1/deployment_pb2.pyi +20 -0
  75. chalk/_gen/chalk/server/v1/environment_pb2.py +14 -12
  76. chalk/_gen/chalk/server/v1/environment_pb2.pyi +19 -0
  77. chalk/_gen/chalk/server/v1/eventbus_pb2.py +4 -2
  78. chalk/_gen/chalk/server/v1/files_pb2.py +65 -0
  79. chalk/_gen/chalk/server/v1/files_pb2.pyi +167 -0
  80. chalk/_gen/chalk/server/v1/files_pb2_grpc.py +4 -0
  81. chalk/_gen/chalk/server/v1/files_pb2_grpc.pyi +4 -0
  82. chalk/_gen/chalk/server/v1/graph_pb2.py +38 -26
  83. chalk/_gen/chalk/server/v1/graph_pb2.pyi +58 -0
  84. chalk/_gen/chalk/server/v1/graph_pb2_grpc.py +47 -0
  85. chalk/_gen/chalk/server/v1/graph_pb2_grpc.pyi +18 -0
  86. chalk/_gen/chalk/server/v1/incident_pb2.py +23 -21
  87. chalk/_gen/chalk/server/v1/incident_pb2.pyi +15 -1
  88. chalk/_gen/chalk/server/v1/indexing_job_pb2.py +44 -0
  89. chalk/_gen/chalk/server/v1/indexing_job_pb2.pyi +38 -0
  90. chalk/_gen/chalk/server/v1/indexing_job_pb2_grpc.py +78 -0
  91. chalk/_gen/chalk/server/v1/indexing_job_pb2_grpc.pyi +38 -0
  92. chalk/_gen/chalk/server/v1/integrations_pb2.py +11 -9
  93. chalk/_gen/chalk/server/v1/integrations_pb2.pyi +34 -2
  94. chalk/_gen/chalk/server/v1/kube_pb2.py +29 -19
  95. chalk/_gen/chalk/server/v1/kube_pb2.pyi +28 -0
  96. chalk/_gen/chalk/server/v1/kube_pb2_grpc.py +45 -0
  97. chalk/_gen/chalk/server/v1/kube_pb2_grpc.pyi +12 -0
  98. chalk/_gen/chalk/server/v1/log_pb2.py +21 -3
  99. chalk/_gen/chalk/server/v1/log_pb2.pyi +68 -0
  100. chalk/_gen/chalk/server/v1/log_pb2_grpc.py +90 -0
  101. chalk/_gen/chalk/server/v1/log_pb2_grpc.pyi +24 -0
  102. chalk/_gen/chalk/server/v1/model_registry_pb2.py +10 -10
  103. chalk/_gen/chalk/server/v1/model_registry_pb2.pyi +4 -1
  104. chalk/_gen/chalk/server/v1/plandebug_pb2.py +53 -0
  105. chalk/_gen/chalk/server/v1/plandebug_pb2.pyi +86 -0
  106. chalk/_gen/chalk/server/v1/plandebug_pb2_grpc.py +168 -0
  107. chalk/_gen/chalk/server/v1/plandebug_pb2_grpc.pyi +60 -0
  108. chalk/_gen/chalk/server/v1/queries_pb2.py +66 -66
  109. chalk/_gen/chalk/server/v1/queries_pb2.pyi +32 -2
  110. chalk/_gen/chalk/server/v1/scheduled_query_run_pb2.py +12 -12
  111. chalk/_gen/chalk/server/v1/scheduled_query_run_pb2.pyi +16 -3
  112. chalk/_gen/chalk/server/v1/scheduler_pb2.py +24 -12
  113. chalk/_gen/chalk/server/v1/scheduler_pb2.pyi +61 -1
  114. chalk/_gen/chalk/server/v1/scheduler_pb2_grpc.py +90 -0
  115. chalk/_gen/chalk/server/v1/scheduler_pb2_grpc.pyi +24 -0
  116. chalk/_gen/chalk/server/v1/script_tasks_pb2.py +15 -3
  117. chalk/_gen/chalk/server/v1/script_tasks_pb2.pyi +22 -0
  118. chalk/_gen/chalk/server/v1/script_tasks_pb2_grpc.py +90 -0
  119. chalk/_gen/chalk/server/v1/script_tasks_pb2_grpc.pyi +24 -0
  120. chalk/_gen/chalk/server/v1/sql_interface_pb2.py +75 -0
  121. chalk/_gen/chalk/server/v1/sql_interface_pb2.pyi +142 -0
  122. chalk/_gen/chalk/server/v1/sql_interface_pb2_grpc.py +349 -0
  123. chalk/_gen/chalk/server/v1/sql_interface_pb2_grpc.pyi +114 -0
  124. chalk/_gen/chalk/server/v1/sql_queries_pb2.py +48 -0
  125. chalk/_gen/chalk/server/v1/sql_queries_pb2.pyi +150 -0
  126. chalk/_gen/chalk/server/v1/sql_queries_pb2_grpc.py +123 -0
  127. chalk/_gen/chalk/server/v1/sql_queries_pb2_grpc.pyi +52 -0
  128. chalk/_gen/chalk/server/v1/team_pb2.py +154 -141
  129. chalk/_gen/chalk/server/v1/team_pb2.pyi +30 -2
  130. chalk/_gen/chalk/server/v1/team_pb2_grpc.py +45 -0
  131. chalk/_gen/chalk/server/v1/team_pb2_grpc.pyi +12 -0
  132. chalk/_gen/chalk/server/v1/topic_pb2.py +5 -3
  133. chalk/_gen/chalk/server/v1/topic_pb2.pyi +10 -1
  134. chalk/_gen/chalk/server/v1/trace_pb2.py +44 -40
  135. chalk/_gen/chalk/server/v1/trace_pb2.pyi +20 -0
  136. chalk/_gen/chalk/streaming/v1/debug_service_pb2.py +62 -0
  137. chalk/_gen/chalk/streaming/v1/debug_service_pb2.pyi +75 -0
  138. chalk/_gen/chalk/streaming/v1/debug_service_pb2_grpc.py +221 -0
  139. chalk/_gen/chalk/streaming/v1/debug_service_pb2_grpc.pyi +88 -0
  140. chalk/_gen/chalk/streaming/v1/simple_streaming_service_pb2.py +16 -10
  141. chalk/_gen/chalk/streaming/v1/simple_streaming_service_pb2.pyi +52 -1
  142. chalk/_gen/chalk/streaming/v1/simple_streaming_service_pb2_grpc.py +48 -0
  143. chalk/_gen/chalk/streaming/v1/simple_streaming_service_pb2_grpc.pyi +20 -0
  144. chalk/_gen/chalk/utils/v1/field_change_pb2.py +32 -0
  145. chalk/_gen/chalk/utils/v1/field_change_pb2.pyi +42 -0
  146. chalk/_gen/chalk/utils/v1/field_change_pb2_grpc.py +4 -0
  147. chalk/_gen/chalk/utils/v1/field_change_pb2_grpc.pyi +4 -0
  148. chalk/_lsp/error_builder.py +11 -0
  149. chalk/_version.py +1 -1
  150. chalk/client/client.py +128 -43
  151. chalk/client/client_async.py +149 -0
  152. chalk/client/client_async_impl.py +22 -0
  153. chalk/client/client_grpc.py +539 -104
  154. chalk/client/client_impl.py +449 -122
  155. chalk/client/dataset.py +7 -1
  156. chalk/client/models.py +98 -0
  157. chalk/client/serialization/model_serialization.py +92 -9
  158. chalk/df/LazyFramePlaceholder.py +1154 -0
  159. chalk/features/_class_property.py +7 -0
  160. chalk/features/_embedding/embedding.py +1 -0
  161. chalk/features/_encoding/converter.py +83 -2
  162. chalk/features/feature_field.py +40 -30
  163. chalk/features/feature_set_decorator.py +1 -0
  164. chalk/features/feature_wrapper.py +42 -3
  165. chalk/features/hooks.py +81 -10
  166. chalk/features/inference.py +33 -31
  167. chalk/features/resolver.py +224 -24
  168. chalk/functions/__init__.py +65 -3
  169. chalk/gitignore/gitignore_parser.py +5 -1
  170. chalk/importer.py +142 -68
  171. chalk/ml/__init__.py +2 -0
  172. chalk/ml/model_hooks.py +194 -26
  173. chalk/ml/model_reference.py +56 -8
  174. chalk/ml/model_version.py +24 -15
  175. chalk/ml/utils.py +20 -17
  176. chalk/operators/_utils.py +10 -3
  177. chalk/parsed/_proto/export.py +22 -0
  178. chalk/parsed/duplicate_input_gql.py +3 -0
  179. chalk/parsed/json_conversions.py +20 -14
  180. chalk/parsed/to_proto.py +16 -4
  181. chalk/parsed/user_types_to_json.py +31 -10
  182. chalk/parsed/validation_from_registries.py +182 -0
  183. chalk/queries/named_query.py +16 -6
  184. chalk/queries/scheduled_query.py +9 -1
  185. chalk/serialization/parsed_annotation.py +24 -11
  186. chalk/sql/__init__.py +18 -0
  187. chalk/sql/_internal/integrations/databricks.py +55 -17
  188. chalk/sql/_internal/integrations/mssql.py +127 -62
  189. chalk/sql/_internal/integrations/redshift.py +4 -0
  190. chalk/sql/_internal/sql_file_resolver.py +53 -9
  191. chalk/sql/_internal/sql_source.py +35 -2
  192. chalk/streams/_kafka_source.py +5 -1
  193. chalk/streams/_windows.py +15 -2
  194. chalk/utils/_otel_version.py +13 -0
  195. chalk/utils/async_helpers.py +2 -2
  196. chalk/utils/missing_dependency.py +5 -4
  197. chalk/utils/tracing.py +185 -95
  198. {chalkpy-2.90.1.dist-info → chalkpy-2.95.3.dist-info}/METADATA +4 -6
  199. {chalkpy-2.90.1.dist-info → chalkpy-2.95.3.dist-info}/RECORD +202 -146
  200. {chalkpy-2.90.1.dist-info → chalkpy-2.95.3.dist-info}/WHEEL +0 -0
  201. {chalkpy-2.90.1.dist-info → chalkpy-2.95.3.dist-info}/entry_points.txt +0 -0
  202. {chalkpy-2.90.1.dist-info → chalkpy-2.95.3.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,88 @@
1
+ """
2
+ @generated by mypy-protobuf. Do not edit manually!
3
+ isort:skip_file
4
+ """
5
+
6
+ from abc import (
7
+ ABCMeta,
8
+ abstractmethod,
9
+ )
10
+ from chalk._gen.chalk.streaming.v1.debug_service_pb2 import (
11
+ DisableDebugModeRequest,
12
+ DisableDebugModeResponse,
13
+ EnableDebugModeRequest,
14
+ EnableDebugModeResponse,
15
+ GetDebugMessagesRequest,
16
+ GetDebugMessagesResponse,
17
+ GetDebugModeStatusRequest,
18
+ GetDebugModeStatusResponse,
19
+ )
20
+ from grpc import (
21
+ Channel,
22
+ Server,
23
+ ServicerContext,
24
+ UnaryUnaryMultiCallable,
25
+ )
26
+
27
+ class StreamingDebugServiceStub:
28
+ """Streaming Debug Service
29
+ Provides APIs for managing and querying streaming resolver debug mode
30
+ """
31
+
32
+ def __init__(self, channel: Channel) -> None: ...
33
+ EnableDebugMode: UnaryUnaryMultiCallable[
34
+ EnableDebugModeRequest,
35
+ EnableDebugModeResponse,
36
+ ]
37
+ """Enable debug mode for a streaming resolver"""
38
+ DisableDebugMode: UnaryUnaryMultiCallable[
39
+ DisableDebugModeRequest,
40
+ DisableDebugModeResponse,
41
+ ]
42
+ """Disable debug mode for a streaming resolver"""
43
+ GetDebugModeStatus: UnaryUnaryMultiCallable[
44
+ GetDebugModeStatusRequest,
45
+ GetDebugModeStatusResponse,
46
+ ]
47
+ """Get the current debug mode status for a resolver"""
48
+ GetDebugMessages: UnaryUnaryMultiCallable[
49
+ GetDebugMessagesRequest,
50
+ GetDebugMessagesResponse,
51
+ ]
52
+ """Get recent debug messages as parquet"""
53
+
54
+ class StreamingDebugServiceServicer(metaclass=ABCMeta):
55
+ """Streaming Debug Service
56
+ Provides APIs for managing and querying streaming resolver debug mode
57
+ """
58
+
59
+ @abstractmethod
60
+ def EnableDebugMode(
61
+ self,
62
+ request: EnableDebugModeRequest,
63
+ context: ServicerContext,
64
+ ) -> EnableDebugModeResponse:
65
+ """Enable debug mode for a streaming resolver"""
66
+ @abstractmethod
67
+ def DisableDebugMode(
68
+ self,
69
+ request: DisableDebugModeRequest,
70
+ context: ServicerContext,
71
+ ) -> DisableDebugModeResponse:
72
+ """Disable debug mode for a streaming resolver"""
73
+ @abstractmethod
74
+ def GetDebugModeStatus(
75
+ self,
76
+ request: GetDebugModeStatusRequest,
77
+ context: ServicerContext,
78
+ ) -> GetDebugModeStatusResponse:
79
+ """Get the current debug mode status for a resolver"""
80
+ @abstractmethod
81
+ def GetDebugMessages(
82
+ self,
83
+ request: GetDebugMessagesRequest,
84
+ context: ServicerContext,
85
+ ) -> GetDebugMessagesResponse:
86
+ """Get recent debug messages as parquet"""
87
+
88
+ def add_StreamingDebugServiceServicer_to_server(servicer: StreamingDebugServiceServicer, server: Server) -> None: ...
@@ -18,7 +18,7 @@ from chalk._gen.chalk.common.v1 import chalk_error_pb2 as chalk_dot_common_dot_v
18
18
 
19
19
 
20
20
  DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(
21
- b'\n1chalk/streaming/v1/simple_streaming_service.proto\x12\x12\x63halk.streaming.v1\x1a\x1f\x63halk/auth/v1/permissions.proto\x1a!chalk/common/v1/chalk_error.proto"\xa0\x01\n\x0eStreamingError\x12\x31\n\x05\x65rror\x18\x01 \x01(\x0b\x32\x1b.chalk.common.v1.ChalkErrorR\x05\x65rror\x12\x38\n\x05phase\x18\x02 \x01(\x0e\x32".chalk.streaming.v1.ExecutionPhaseR\x05phase\x12!\n\x0coperation_id\x18\x03 \x01(\tR\x0boperationId"\xb1\x01\n!SimpleStreamingUnaryInvokeRequest\x12\x34\n\x16streaming_resolver_fqn\x18\x01 \x01(\tR\x14streamingResolverFqn\x12\x1d\n\ninput_data\x18\x02 \x01(\x0cR\tinputData\x12&\n\x0coperation_id\x18\x03 \x01(\tH\x00R\x0boperationId\x88\x01\x01\x42\x0f\n\r_operation_id"\xe7\x02\n"SimpleStreamingUnaryInvokeResponse\x12(\n\x10num_rows_succeed\x18\x01 \x01(\x03R\x0enumRowsSucceed\x12&\n\x0fnum_rows_failed\x18\x02 \x01(\x03R\rnumRowsFailed\x12(\n\x10num_rows_skipped\x18\x03 \x01(\x03R\x0enumRowsSkipped\x12\x36\n\x05\x65rror\x18\x04 \x01(\x0b\x32\x1b.chalk.common.v1.ChalkErrorH\x00R\x05\x65rror\x88\x01\x01\x12$\n\x0boutput_data\x18\x05 \x01(\x0cH\x01R\noutputData\x88\x01\x01\x12M\n\x10\x65xecution_errors\x18\x06 \x03(\x0b\x32".chalk.streaming.v1.StreamingErrorR\x0f\x65xecutionErrorsB\x08\n\x06_errorB\x0e\n\x0c_output_data*\xc5\x01\n\x0e\x45xecutionPhase\x12\x1f\n\x1b\x45XECUTION_PHASE_UNSPECIFIED\x10\x00\x12\x19\n\x15\x45XECUTION_PHASE_PARSE\x10\x01\x12\x1b\n\x17\x45XECUTION_PHASE_MAPPING\x10\x02\x12\x1f\n\x1b\x45XECUTION_PHASE_PERSISTENCE\x10\x03\x12\x1f\n\x1b\x45XECUTION_PHASE_AGGREGATION\x10\x04\x12\x18\n\x14\x45XECUTION_PHASE_SINK\x10\x05\x32\xab\x01\n\x16SimpleStreamingService\x12\x90\x01\n\x1aSimpleStreamingUnaryInvoke\x12\x35.chalk.streaming.v1.SimpleStreamingUnaryInvokeRequest\x1a\x36.chalk.streaming.v1.SimpleStreamingUnaryInvokeResponse"\x03\x80}\x02\x42\x9f\x01\n\x16\x63om.chalk.streaming.v1B\x1bSimpleStreamingServiceProtoP\x01\xa2\x02\x03\x43SX\xaa\x02\x12\x43halk.Streaming.V1\xca\x02\x12\x43halk\\Streaming\\V1\xe2\x02\x1e\x43halk\\Streaming\\V1\\GPBMetadata\xea\x02\x14\x43halk::Streaming::V1b\x06proto3'
21
+ b'\n1chalk/streaming/v1/simple_streaming_service.proto\x12\x12\x63halk.streaming.v1\x1a\x1f\x63halk/auth/v1/permissions.proto\x1a!chalk/common/v1/chalk_error.proto"\xa0\x01\n\x0eStreamingError\x12\x31\n\x05\x65rror\x18\x01 \x01(\x0b\x32\x1b.chalk.common.v1.ChalkErrorR\x05\x65rror\x12\x38\n\x05phase\x18\x02 \x01(\x0e\x32".chalk.streaming.v1.ExecutionPhaseR\x05phase\x12!\n\x0coperation_id\x18\x03 \x01(\tR\x0boperationId"\xd6\x01\n!SimpleStreamingUnaryInvokeRequest\x12\x34\n\x16streaming_resolver_fqn\x18\x01 \x01(\tR\x14streamingResolverFqn\x12\x1d\n\ninput_data\x18\x02 \x01(\x0cR\tinputData\x12&\n\x0coperation_id\x18\x03 \x01(\tH\x00R\x0boperationId\x88\x01\x01\x12\x19\n\x05\x64\x65\x62ug\x18\x04 \x01(\x08H\x01R\x05\x64\x65\x62ug\x88\x01\x01\x42\x0f\n\r_operation_idB\x08\n\x06_debug"\xe7\x02\n"SimpleStreamingUnaryInvokeResponse\x12(\n\x10num_rows_succeed\x18\x01 \x01(\x03R\x0enumRowsSucceed\x12&\n\x0fnum_rows_failed\x18\x02 \x01(\x03R\rnumRowsFailed\x12(\n\x10num_rows_skipped\x18\x03 \x01(\x03R\x0enumRowsSkipped\x12\x36\n\x05\x65rror\x18\x04 \x01(\x0b\x32\x1b.chalk.common.v1.ChalkErrorH\x00R\x05\x65rror\x88\x01\x01\x12$\n\x0boutput_data\x18\x05 \x01(\x0cH\x01R\noutputData\x88\x01\x01\x12M\n\x10\x65xecution_errors\x18\x06 \x03(\x0b\x32".chalk.streaming.v1.StreamingErrorR\x0f\x65xecutionErrorsB\x08\n\x06_errorB\x0e\n\x0c_output_data"\xb5\x02\n\x1cTestStreamingResolverRequest\x12&\n\x0cresolver_fqn\x18\x01 \x01(\tH\x00R\x0bresolverFqn\x88\x01\x01\x12@\n\x1astatic_stream_resolver_b64\x18\x02 \x01(\tH\x01R\x17staticStreamResolverB64\x88\x01\x01\x12\x1d\n\ninput_data\x18\x03 \x01(\x0cR\tinputData\x12&\n\x0coperation_id\x18\x04 \x01(\tH\x02R\x0boperationId\x88\x01\x01\x12\x19\n\x05\x64\x65\x62ug\x18\x05 \x01(\x08H\x03R\x05\x64\x65\x62ug\x88\x01\x01\x42\x0f\n\r_resolver_fqnB\x1d\n\x1b_static_stream_resolver_b64B\x0f\n\r_operation_idB\x08\n\x06_debug"\xe1\x01\n\x1dTestStreamingResolverResponse\x12\x44\n\x06status\x18\x01 \x01(\x0e\x32,.chalk.streaming.v1.TestStreamResolverStatusR\x06status\x12\x1e\n\x08\x64\x61ta_uri\x18\x02 \x01(\tH\x00R\x07\x64\x61taUri\x88\x01\x01\x12\x33\n\x06\x65rrors\x18\x03 \x03(\x0b\x32\x1b.chalk.common.v1.ChalkErrorR\x06\x65rrors\x12\x18\n\x07message\x18\x04 \x01(\tR\x07messageB\x0b\n\t_data_uri*\xc5\x01\n\x0e\x45xecutionPhase\x12\x1f\n\x1b\x45XECUTION_PHASE_UNSPECIFIED\x10\x00\x12\x19\n\x15\x45XECUTION_PHASE_PARSE\x10\x01\x12\x1b\n\x17\x45XECUTION_PHASE_MAPPING\x10\x02\x12\x1f\n\x1b\x45XECUTION_PHASE_PERSISTENCE\x10\x03\x12\x1f\n\x1b\x45XECUTION_PHASE_AGGREGATION\x10\x04\x12\x18\n\x14\x45XECUTION_PHASE_SINK\x10\x05*\x99\x01\n\x18TestStreamResolverStatus\x12+\n\'TEST_STREAM_RESOLVER_STATUS_UNSPECIFIED\x10\x00\x12\'\n#TEST_STREAM_RESOLVER_STATUS_SUCCESS\x10\x01\x12\'\n#TEST_STREAM_RESOLVER_STATUS_FAILURE\x10\x02\x32\xaf\x02\n\x16SimpleStreamingService\x12\x90\x01\n\x1aSimpleStreamingUnaryInvoke\x12\x35.chalk.streaming.v1.SimpleStreamingUnaryInvokeRequest\x1a\x36.chalk.streaming.v1.SimpleStreamingUnaryInvokeResponse"\x03\x80}\x02\x12\x81\x01\n\x15TestStreamingResolver\x12\x30.chalk.streaming.v1.TestStreamingResolverRequest\x1a\x31.chalk.streaming.v1.TestStreamingResolverResponse"\x03\x80}\x02\x42\x9f\x01\n\x16\x63om.chalk.streaming.v1B\x1bSimpleStreamingServiceProtoP\x01\xa2\x02\x03\x43SX\xaa\x02\x12\x43halk.Streaming.V1\xca\x02\x12\x43halk\\Streaming\\V1\xe2\x02\x1e\x43halk\\Streaming\\V1\\GPBMetadata\xea\x02\x14\x43halk::Streaming::V1b\x06proto3'
22
22
  )
23
23
 
24
24
  _globals = globals()
@@ -29,18 +29,24 @@ if _descriptor._USE_C_DESCRIPTORS == False:
29
29
  _globals[
30
30
  "DESCRIPTOR"
31
31
  ]._serialized_options = b"\n\026com.chalk.streaming.v1B\033SimpleStreamingServiceProtoP\001\242\002\003CSX\252\002\022Chalk.Streaming.V1\312\002\022Chalk\\Streaming\\V1\342\002\036Chalk\\Streaming\\V1\\GPBMetadata\352\002\024Chalk::Streaming::V1"
32
- _globals["_SIMPLESTREAMINGUNARYINVOKERESPONSE"].fields_by_name["error"]._options = None
33
- _globals["_SIMPLESTREAMINGUNARYINVOKERESPONSE"].fields_by_name["error"]._serialized_options = b"\030\001"
34
32
  _globals["_SIMPLESTREAMINGSERVICE"].methods_by_name["SimpleStreamingUnaryInvoke"]._options = None
35
33
  _globals["_SIMPLESTREAMINGSERVICE"].methods_by_name["SimpleStreamingUnaryInvoke"]._serialized_options = b"\200}\002"
36
- _globals["_EXECUTIONPHASE"]._serialized_start = 847
37
- _globals["_EXECUTIONPHASE"]._serialized_end = 1044
34
+ _globals["_SIMPLESTREAMINGSERVICE"].methods_by_name["TestStreamingResolver"]._options = None
35
+ _globals["_SIMPLESTREAMINGSERVICE"].methods_by_name["TestStreamingResolver"]._serialized_options = b"\200}\002"
36
+ _globals["_EXECUTIONPHASE"]._serialized_start = 1424
37
+ _globals["_EXECUTIONPHASE"]._serialized_end = 1621
38
+ _globals["_TESTSTREAMRESOLVERSTATUS"]._serialized_start = 1624
39
+ _globals["_TESTSTREAMRESOLVERSTATUS"]._serialized_end = 1777
38
40
  _globals["_STREAMINGERROR"]._serialized_start = 142
39
41
  _globals["_STREAMINGERROR"]._serialized_end = 302
40
42
  _globals["_SIMPLESTREAMINGUNARYINVOKEREQUEST"]._serialized_start = 305
41
- _globals["_SIMPLESTREAMINGUNARYINVOKEREQUEST"]._serialized_end = 482
42
- _globals["_SIMPLESTREAMINGUNARYINVOKERESPONSE"]._serialized_start = 485
43
- _globals["_SIMPLESTREAMINGUNARYINVOKERESPONSE"]._serialized_end = 844
44
- _globals["_SIMPLESTREAMINGSERVICE"]._serialized_start = 1047
45
- _globals["_SIMPLESTREAMINGSERVICE"]._serialized_end = 1218
43
+ _globals["_SIMPLESTREAMINGUNARYINVOKEREQUEST"]._serialized_end = 519
44
+ _globals["_SIMPLESTREAMINGUNARYINVOKERESPONSE"]._serialized_start = 522
45
+ _globals["_SIMPLESTREAMINGUNARYINVOKERESPONSE"]._serialized_end = 881
46
+ _globals["_TESTSTREAMINGRESOLVERREQUEST"]._serialized_start = 884
47
+ _globals["_TESTSTREAMINGRESOLVERREQUEST"]._serialized_end = 1193
48
+ _globals["_TESTSTREAMINGRESOLVERRESPONSE"]._serialized_start = 1196
49
+ _globals["_TESTSTREAMINGRESOLVERRESPONSE"]._serialized_end = 1421
50
+ _globals["_SIMPLESTREAMINGSERVICE"]._serialized_start = 1780
51
+ _globals["_SIMPLESTREAMINGSERVICE"]._serialized_end = 2083
46
52
  # @@protoc_insertion_point(module_scope)
@@ -23,12 +23,21 @@ class ExecutionPhase(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
23
23
  EXECUTION_PHASE_AGGREGATION: _ClassVar[ExecutionPhase]
24
24
  EXECUTION_PHASE_SINK: _ClassVar[ExecutionPhase]
25
25
 
26
+ class TestStreamResolverStatus(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
27
+ __slots__ = ()
28
+ TEST_STREAM_RESOLVER_STATUS_UNSPECIFIED: _ClassVar[TestStreamResolverStatus]
29
+ TEST_STREAM_RESOLVER_STATUS_SUCCESS: _ClassVar[TestStreamResolverStatus]
30
+ TEST_STREAM_RESOLVER_STATUS_FAILURE: _ClassVar[TestStreamResolverStatus]
31
+
26
32
  EXECUTION_PHASE_UNSPECIFIED: ExecutionPhase
27
33
  EXECUTION_PHASE_PARSE: ExecutionPhase
28
34
  EXECUTION_PHASE_MAPPING: ExecutionPhase
29
35
  EXECUTION_PHASE_PERSISTENCE: ExecutionPhase
30
36
  EXECUTION_PHASE_AGGREGATION: ExecutionPhase
31
37
  EXECUTION_PHASE_SINK: ExecutionPhase
38
+ TEST_STREAM_RESOLVER_STATUS_UNSPECIFIED: TestStreamResolverStatus
39
+ TEST_STREAM_RESOLVER_STATUS_SUCCESS: TestStreamResolverStatus
40
+ TEST_STREAM_RESOLVER_STATUS_FAILURE: TestStreamResolverStatus
32
41
 
33
42
  class StreamingError(_message.Message):
34
43
  __slots__ = ("error", "phase", "operation_id")
@@ -46,18 +55,21 @@ class StreamingError(_message.Message):
46
55
  ) -> None: ...
47
56
 
48
57
  class SimpleStreamingUnaryInvokeRequest(_message.Message):
49
- __slots__ = ("streaming_resolver_fqn", "input_data", "operation_id")
58
+ __slots__ = ("streaming_resolver_fqn", "input_data", "operation_id", "debug")
50
59
  STREAMING_RESOLVER_FQN_FIELD_NUMBER: _ClassVar[int]
51
60
  INPUT_DATA_FIELD_NUMBER: _ClassVar[int]
52
61
  OPERATION_ID_FIELD_NUMBER: _ClassVar[int]
62
+ DEBUG_FIELD_NUMBER: _ClassVar[int]
53
63
  streaming_resolver_fqn: str
54
64
  input_data: bytes
55
65
  operation_id: str
66
+ debug: bool
56
67
  def __init__(
57
68
  self,
58
69
  streaming_resolver_fqn: _Optional[str] = ...,
59
70
  input_data: _Optional[bytes] = ...,
60
71
  operation_id: _Optional[str] = ...,
72
+ debug: bool = ...,
61
73
  ) -> None: ...
62
74
 
63
75
  class SimpleStreamingUnaryInvokeResponse(_message.Message):
@@ -83,3 +95,42 @@ class SimpleStreamingUnaryInvokeResponse(_message.Message):
83
95
  output_data: _Optional[bytes] = ...,
84
96
  execution_errors: _Optional[_Iterable[_Union[StreamingError, _Mapping]]] = ...,
85
97
  ) -> None: ...
98
+
99
+ class TestStreamingResolverRequest(_message.Message):
100
+ __slots__ = ("resolver_fqn", "static_stream_resolver_b64", "input_data", "operation_id", "debug")
101
+ RESOLVER_FQN_FIELD_NUMBER: _ClassVar[int]
102
+ STATIC_STREAM_RESOLVER_B64_FIELD_NUMBER: _ClassVar[int]
103
+ INPUT_DATA_FIELD_NUMBER: _ClassVar[int]
104
+ OPERATION_ID_FIELD_NUMBER: _ClassVar[int]
105
+ DEBUG_FIELD_NUMBER: _ClassVar[int]
106
+ resolver_fqn: str
107
+ static_stream_resolver_b64: str
108
+ input_data: bytes
109
+ operation_id: str
110
+ debug: bool
111
+ def __init__(
112
+ self,
113
+ resolver_fqn: _Optional[str] = ...,
114
+ static_stream_resolver_b64: _Optional[str] = ...,
115
+ input_data: _Optional[bytes] = ...,
116
+ operation_id: _Optional[str] = ...,
117
+ debug: bool = ...,
118
+ ) -> None: ...
119
+
120
+ class TestStreamingResolverResponse(_message.Message):
121
+ __slots__ = ("status", "data_uri", "errors", "message")
122
+ STATUS_FIELD_NUMBER: _ClassVar[int]
123
+ DATA_URI_FIELD_NUMBER: _ClassVar[int]
124
+ ERRORS_FIELD_NUMBER: _ClassVar[int]
125
+ MESSAGE_FIELD_NUMBER: _ClassVar[int]
126
+ status: TestStreamResolverStatus
127
+ data_uri: str
128
+ errors: _containers.RepeatedCompositeFieldContainer[_chalk_error_pb2.ChalkError]
129
+ message: str
130
+ def __init__(
131
+ self,
132
+ status: _Optional[_Union[TestStreamResolverStatus, str]] = ...,
133
+ data_uri: _Optional[str] = ...,
134
+ errors: _Optional[_Iterable[_Union[_chalk_error_pb2.ChalkError, _Mapping]]] = ...,
135
+ message: _Optional[str] = ...,
136
+ ) -> None: ...
@@ -22,6 +22,11 @@ class SimpleStreamingServiceStub(object):
22
22
  request_serializer=chalk_dot_streaming_dot_v1_dot_simple__streaming__service__pb2.SimpleStreamingUnaryInvokeRequest.SerializeToString,
23
23
  response_deserializer=chalk_dot_streaming_dot_v1_dot_simple__streaming__service__pb2.SimpleStreamingUnaryInvokeResponse.FromString,
24
24
  )
25
+ self.TestStreamingResolver = channel.unary_unary(
26
+ "/chalk.streaming.v1.SimpleStreamingService/TestStreamingResolver",
27
+ request_serializer=chalk_dot_streaming_dot_v1_dot_simple__streaming__service__pb2.TestStreamingResolverRequest.SerializeToString,
28
+ response_deserializer=chalk_dot_streaming_dot_v1_dot_simple__streaming__service__pb2.TestStreamingResolverResponse.FromString,
29
+ )
25
30
 
26
31
 
27
32
  class SimpleStreamingServiceServicer(object):
@@ -35,6 +40,15 @@ class SimpleStreamingServiceServicer(object):
35
40
  context.set_details("Method not implemented!")
36
41
  raise NotImplementedError("Method not implemented!")
37
42
 
43
+ def TestStreamingResolver(self, request, context):
44
+ """Test a streaming resolver with provided messages.
45
+ Supports testing both deployed resolvers and static/undeployed resolvers.
46
+ Returns a signed URL to download the test results.
47
+ """
48
+ context.set_code(grpc.StatusCode.UNIMPLEMENTED)
49
+ context.set_details("Method not implemented!")
50
+ raise NotImplementedError("Method not implemented!")
51
+
38
52
 
39
53
  def add_SimpleStreamingServiceServicer_to_server(servicer, server):
40
54
  rpc_method_handlers = {
@@ -43,6 +57,11 @@ def add_SimpleStreamingServiceServicer_to_server(servicer, server):
43
57
  request_deserializer=chalk_dot_streaming_dot_v1_dot_simple__streaming__service__pb2.SimpleStreamingUnaryInvokeRequest.FromString,
44
58
  response_serializer=chalk_dot_streaming_dot_v1_dot_simple__streaming__service__pb2.SimpleStreamingUnaryInvokeResponse.SerializeToString,
45
59
  ),
60
+ "TestStreamingResolver": grpc.unary_unary_rpc_method_handler(
61
+ servicer.TestStreamingResolver,
62
+ request_deserializer=chalk_dot_streaming_dot_v1_dot_simple__streaming__service__pb2.TestStreamingResolverRequest.FromString,
63
+ response_serializer=chalk_dot_streaming_dot_v1_dot_simple__streaming__service__pb2.TestStreamingResolverResponse.SerializeToString,
64
+ ),
46
65
  }
47
66
  generic_handler = grpc.method_handlers_generic_handler(
48
67
  "chalk.streaming.v1.SimpleStreamingService", rpc_method_handlers
@@ -82,3 +101,32 @@ class SimpleStreamingService(object):
82
101
  timeout,
83
102
  metadata,
84
103
  )
104
+
105
+ @staticmethod
106
+ def TestStreamingResolver(
107
+ request,
108
+ target,
109
+ options=(),
110
+ channel_credentials=None,
111
+ call_credentials=None,
112
+ insecure=False,
113
+ compression=None,
114
+ wait_for_ready=None,
115
+ timeout=None,
116
+ metadata=None,
117
+ ):
118
+ return grpc.experimental.unary_unary(
119
+ request,
120
+ target,
121
+ "/chalk.streaming.v1.SimpleStreamingService/TestStreamingResolver",
122
+ chalk_dot_streaming_dot_v1_dot_simple__streaming__service__pb2.TestStreamingResolverRequest.SerializeToString,
123
+ chalk_dot_streaming_dot_v1_dot_simple__streaming__service__pb2.TestStreamingResolverResponse.FromString,
124
+ options,
125
+ channel_credentials,
126
+ insecure,
127
+ call_credentials,
128
+ compression,
129
+ wait_for_ready,
130
+ timeout,
131
+ metadata,
132
+ )
@@ -10,6 +10,8 @@ from abc import (
10
10
  from chalk._gen.chalk.streaming.v1.simple_streaming_service_pb2 import (
11
11
  SimpleStreamingUnaryInvokeRequest,
12
12
  SimpleStreamingUnaryInvokeResponse,
13
+ TestStreamingResolverRequest,
14
+ TestStreamingResolverResponse,
13
15
  )
14
16
  from grpc import (
15
17
  Channel,
@@ -27,6 +29,14 @@ class SimpleStreamingServiceStub:
27
29
  """Runs a simple streaming plan with the given request.
28
30
  This is a simplified version of the streaming invoker service.
29
31
  """
32
+ TestStreamingResolver: UnaryUnaryMultiCallable[
33
+ TestStreamingResolverRequest,
34
+ TestStreamingResolverResponse,
35
+ ]
36
+ """Test a streaming resolver with provided messages.
37
+ Supports testing both deployed resolvers and static/undeployed resolvers.
38
+ Returns a signed URL to download the test results.
39
+ """
30
40
 
31
41
  class SimpleStreamingServiceServicer(metaclass=ABCMeta):
32
42
  @abstractmethod
@@ -38,5 +48,15 @@ class SimpleStreamingServiceServicer(metaclass=ABCMeta):
38
48
  """Runs a simple streaming plan with the given request.
39
49
  This is a simplified version of the streaming invoker service.
40
50
  """
51
+ @abstractmethod
52
+ def TestStreamingResolver(
53
+ self,
54
+ request: TestStreamingResolverRequest,
55
+ context: ServicerContext,
56
+ ) -> TestStreamingResolverResponse:
57
+ """Test a streaming resolver with provided messages.
58
+ Supports testing both deployed resolvers and static/undeployed resolvers.
59
+ Returns a signed URL to download the test results.
60
+ """
41
61
 
42
62
  def add_SimpleStreamingServiceServicer_to_server(servicer: SimpleStreamingServiceServicer, server: Server) -> None: ...
@@ -0,0 +1,32 @@
1
+ # -*- coding: utf-8 -*-
2
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
3
+ # source: chalk/utils/v1/field_change.proto
4
+ # Protobuf Python Version: 4.25.3
5
+ """Generated protocol buffer code."""
6
+
7
+ from google.protobuf import descriptor as _descriptor
8
+ from google.protobuf import descriptor_pool as _descriptor_pool
9
+ from google.protobuf import symbol_database as _symbol_database
10
+ from google.protobuf.internal import builder as _builder
11
+ # @@protoc_insertion_point(imports)
12
+
13
+ _sym_db = _symbol_database.Default()
14
+
15
+
16
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(
17
+ b'\n!chalk/utils/v1/field_change.proto\x12\x0e\x63halk.utils.v1"\xe0\x01\n\x0b\x46ieldChange\x12\x1d\n\nfield_name\x18\x01 \x01(\tR\tfieldName\x12*\n\x0eprevious_value\x18\x02 \x01(\tH\x00R\rpreviousValue\x88\x01\x01\x12 \n\tnew_value\x18\x03 \x01(\tH\x01R\x08newValue\x88\x01\x01\x12\x43\n\x0enested_changes\x18\x04 \x03(\x0b\x32\x1c.chalk.utils.v1.NestedChangeR\rnestedChangesB\x11\n\x0f_previous_valueB\x0c\n\n_new_value"\x91\x01\n\x0cNestedChange\x12\x12\n\x04path\x18\x01 \x01(\tR\x04path\x12*\n\x0eprevious_value\x18\x02 \x01(\tH\x00R\rpreviousValue\x88\x01\x01\x12 \n\tnew_value\x18\x03 \x01(\tH\x01R\x08newValue\x88\x01\x01\x42\x11\n\x0f_previous_valueB\x0c\n\n_new_valueB\x80\x01\n\x12\x63om.chalk.utils.v1B\x10\x46ieldChangeProtoP\x01\xa2\x02\x03\x43UX\xaa\x02\x0e\x43halk.Utils.V1\xca\x02\x0e\x43halk\\Utils\\V1\xe2\x02\x1a\x43halk\\Utils\\V1\\GPBMetadata\xea\x02\x10\x43halk::Utils::V1b\x06proto3'
18
+ )
19
+
20
+ _globals = globals()
21
+ _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
22
+ _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, "chalk.utils.v1.field_change_pb2", _globals)
23
+ if _descriptor._USE_C_DESCRIPTORS == False:
24
+ _globals["DESCRIPTOR"]._options = None
25
+ _globals[
26
+ "DESCRIPTOR"
27
+ ]._serialized_options = b"\n\022com.chalk.utils.v1B\020FieldChangeProtoP\001\242\002\003CUX\252\002\016Chalk.Utils.V1\312\002\016Chalk\\Utils\\V1\342\002\032Chalk\\Utils\\V1\\GPBMetadata\352\002\020Chalk::Utils::V1"
28
+ _globals["_FIELDCHANGE"]._serialized_start = 54
29
+ _globals["_FIELDCHANGE"]._serialized_end = 278
30
+ _globals["_NESTEDCHANGE"]._serialized_start = 281
31
+ _globals["_NESTEDCHANGE"]._serialized_end = 426
32
+ # @@protoc_insertion_point(module_scope)
@@ -0,0 +1,42 @@
1
+ from google.protobuf.internal import containers as _containers
2
+ from google.protobuf import descriptor as _descriptor
3
+ from google.protobuf import message as _message
4
+ from typing import (
5
+ ClassVar as _ClassVar,
6
+ Iterable as _Iterable,
7
+ Mapping as _Mapping,
8
+ Optional as _Optional,
9
+ Union as _Union,
10
+ )
11
+
12
+ DESCRIPTOR: _descriptor.FileDescriptor
13
+
14
+ class FieldChange(_message.Message):
15
+ __slots__ = ("field_name", "previous_value", "new_value", "nested_changes")
16
+ FIELD_NAME_FIELD_NUMBER: _ClassVar[int]
17
+ PREVIOUS_VALUE_FIELD_NUMBER: _ClassVar[int]
18
+ NEW_VALUE_FIELD_NUMBER: _ClassVar[int]
19
+ NESTED_CHANGES_FIELD_NUMBER: _ClassVar[int]
20
+ field_name: str
21
+ previous_value: str
22
+ new_value: str
23
+ nested_changes: _containers.RepeatedCompositeFieldContainer[NestedChange]
24
+ def __init__(
25
+ self,
26
+ field_name: _Optional[str] = ...,
27
+ previous_value: _Optional[str] = ...,
28
+ new_value: _Optional[str] = ...,
29
+ nested_changes: _Optional[_Iterable[_Union[NestedChange, _Mapping]]] = ...,
30
+ ) -> None: ...
31
+
32
+ class NestedChange(_message.Message):
33
+ __slots__ = ("path", "previous_value", "new_value")
34
+ PATH_FIELD_NUMBER: _ClassVar[int]
35
+ PREVIOUS_VALUE_FIELD_NUMBER: _ClassVar[int]
36
+ NEW_VALUE_FIELD_NUMBER: _ClassVar[int]
37
+ path: str
38
+ previous_value: str
39
+ new_value: str
40
+ def __init__(
41
+ self, path: _Optional[str] = ..., previous_value: _Optional[str] = ..., new_value: _Optional[str] = ...
42
+ ) -> None: ...
@@ -0,0 +1,4 @@
1
+ # Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT!
2
+ """Client and server classes corresponding to protobuf-defined services."""
3
+
4
+ import grpc
@@ -0,0 +1,4 @@
1
+ """
2
+ @generated by mypy-protobuf. Do not edit manually!
3
+ isort:skip_file
4
+ """
@@ -186,6 +186,17 @@ class LSPErrorBuilder:
186
186
  Returns whether the exception was promoted."""
187
187
  if id(e) in cls._exception_map:
188
188
  uri, diagnostic = cls._exception_map[id(e)]
189
+
190
+ # Check if this diagnostic already exists (deduplication)
191
+ # Compare by message, range, and uri to detect duplicates
192
+ for existing in cls.all_errors[uri]:
193
+ if existing.message == diagnostic.message and existing.range == diagnostic.range:
194
+ # Already exists, don't add duplicate
195
+ del cls._exception_map[id(e)]
196
+ del cls._strong_refs[id(e)]
197
+ return False # Not promoted, already exists
198
+
199
+ # Not a duplicate, add it
189
200
  cls.all_errors[uri].append(diagnostic)
190
201
  del cls._exception_map[id(e)]
191
202
  del cls._strong_refs[id(e)]
chalk/_version.py CHANGED
@@ -1 +1 @@
1
- __version__ = "2.90.1"
1
+ __version__ = "2.95.3"