chalkpy 2.96.4__py3-none-any.whl → 2.96.6__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 (30) hide show
  1. chalk/_gen/chalk/artifacts/v1/cron_query_pb2.py +4 -4
  2. chalk/_gen/chalk/artifacts/v1/cron_query_pb2.pyi +8 -0
  3. chalk/_gen/chalk/auth/v1/permissions_pb2.py +11 -3
  4. chalk/_gen/chalk/auth/v1/permissions_pb2.pyi +4 -0
  5. chalk/_gen/chalk/graph/v1/graph_pb2.py +92 -92
  6. chalk/_gen/chalk/server/v1/benchmark_pb2.py +33 -31
  7. chalk/_gen/chalk/server/v1/benchmark_pb2.pyi +12 -1
  8. chalk/_gen/chalk/server/v1/builder_pb2.py +240 -238
  9. chalk/_gen/chalk/server/v1/builder_pb2.pyi +20 -2
  10. chalk/_gen/chalk/server/v1/deployment_pb2.py +8 -6
  11. chalk/_gen/chalk/server/v1/infrastructure_pipelines_pb2.py +76 -0
  12. chalk/_gen/chalk/server/v1/infrastructure_pipelines_pb2.pyi +92 -0
  13. chalk/_gen/chalk/server/v1/infrastructure_pipelines_pb2_grpc.py +262 -0
  14. chalk/_gen/chalk/server/v1/infrastructure_pipelines_pb2_grpc.pyi +86 -0
  15. chalk/_gen/chalk/server/v1/scheduled_query_run_pb2.py +9 -3
  16. chalk/_gen/chalk/server/v1/scheduled_query_run_pb2.pyi +119 -0
  17. chalk/_gen/chalk/server/v1/scheduler_pb2.py +14 -12
  18. chalk/_gen/chalk/server/v1/scheduler_pb2.pyi +19 -9
  19. chalk/_gen/chalk/streaming/v1/simple_streaming_service_pb2.py +7 -5
  20. chalk/_gen/chalk/streaming/v1/simple_streaming_service_pb2.pyi +13 -0
  21. chalk/_version.py +1 -1
  22. chalk/features/resolver.py +99 -11
  23. chalk/functions/__init__.py +69 -0
  24. chalk/parsed/_proto/export.py +2 -0
  25. chalk/parsed/to_proto.py +3 -1
  26. {chalkpy-2.96.4.dist-info → chalkpy-2.96.6.dist-info}/METADATA +1 -1
  27. {chalkpy-2.96.4.dist-info → chalkpy-2.96.6.dist-info}/RECORD +30 -26
  28. {chalkpy-2.96.4.dist-info → chalkpy-2.96.6.dist-info}/WHEEL +1 -1
  29. {chalkpy-2.96.4.dist-info → chalkpy-2.96.6.dist-info}/entry_points.txt +0 -0
  30. {chalkpy-2.96.4.dist-info → chalkpy-2.96.6.dist-info}/top_level.txt +0 -0
@@ -19,7 +19,7 @@ from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__
19
19
 
20
20
 
21
21
  DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(
22
- b'\n)chalk/server/v1/scheduled_query_run.proto\x12\x0f\x63halk.server.v1\x1a%chalk/server/v1/offline_queries.proto\x1a google/protobuf/field_mask.proto\x1a\x1fgoogle/protobuf/timestamp.proto"\xa4\x06\n\x11ScheduledQueryRun\x12\x0e\n\x02id\x18\x01 \x01(\x03R\x02id\x12%\n\x0e\x65nvironment_id\x18\x02 \x01(\tR\renvironmentId\x12(\n\rdeployment_id\x18\x03 \x01(\tH\x00R\x0c\x64\x65ploymentId\x88\x01\x01\x12\x1a\n\x06run_id\x18\x04 \x01(\tH\x01R\x05runId\x88\x01\x01\x12"\n\rcron_query_id\x18\x05 \x01(\x03R\x0b\x63ronQueryId\x12\x33\n\x16\x63ron_query_schedule_id\x18\x06 \x01(\x03R\x13\x63ronQueryScheduleId\x12\x1b\n\tcron_name\x18\x07 \x01(\tR\x08\x63ronName\x12-\n\x10gcr_execution_id\x18\x08 \x01(\tH\x02R\x0egcrExecutionId\x88\x01\x01\x12%\n\x0cgcr_job_name\x18\t \x01(\tH\x03R\ngcrJobName\x88\x01\x01\x12(\n\x10offline_query_id\x18\n \x01(\tR\x0eofflineQueryId\x12\x39\n\ncreated_at\x18\x0b \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tcreatedAt\x12\x39\n\nupdated_at\x18\x0c \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tupdatedAt\x12@\n\x06status\x18\r \x01(\x0e\x32(.chalk.server.v1.ScheduledQueryRunStatusR\x06status\x12\x35\n\x14\x62locker_operation_id\x18\x0e \x01(\tH\x04R\x12\x62lockerOperationId\x88\x01\x01\x12\x37\n\x15workflow_execution_id\x18\x0f \x01(\tH\x05R\x13workflowExecutionId\x88\x01\x01\x42\x10\n\x0e_deployment_idB\t\n\x07_run_idB\x13\n\x11_gcr_execution_idB\x0f\n\r_gcr_job_nameB\x17\n\x15_blocker_operation_idB\x18\n\x16_workflow_execution_id"\xdd\x01\n\x1bGetScheduledQueryRunRequest\x12\x17\n\x06run_id\x18\x01 \x01(\x03H\x00R\x05runId\x12*\n\x10offline_query_id\x18\x02 \x01(\tH\x00R\x0eofflineQueryId\x12\x34\n\x15workflow_execution_id\x18\x04 \x01(\tH\x00R\x13workflowExecutionId\x12\x35\n\x08get_mask\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.FieldMaskR\x07getMaskB\x0c\n\nidentifier"\xd1\x01\n\x1cGetScheduledQueryRunResponse\x12R\n\x13scheduled_query_run\x18\x01 \x01(\x0b\x32".chalk.server.v1.ScheduledQueryRunR\x11scheduledQueryRun\x12K\n\roffline_query\x18\x02 \x01(\x0b\x32!.chalk.server.v1.OfflineQueryMetaH\x00R\x0cofflineQuery\x88\x01\x01\x42\x10\n\x0e_offline_query"\x9d\x01\n\x1cGetScheduledQueryRunsRequest\x12"\n\rcron_query_id\x18\x01 \x01(\x05R\x0b\x63ronQueryId\x12\x1d\n\tcron_name\x18\x04 \x01(\tH\x00R\x08\x63ronName\x12\x16\n\x06\x63ursor\x18\x02 \x01(\tR\x06\x63ursor\x12\x14\n\x05limit\x18\x03 \x01(\x05R\x05limitB\x0c\n\nidentifier"o\n\x1dGetScheduledQueryRunsResponse\x12\x36\n\x04runs\x18\x01 \x03(\x0b\x32".chalk.server.v1.ScheduledQueryRunR\x04runs\x12\x16\n\x06\x63ursor\x18\x02 \x01(\tR\x06\x63ursor*\x8f\x03\n\x17ScheduledQueryRunStatus\x12*\n&SCHEDULED_QUERY_RUN_STATUS_UNSPECIFIED\x10\x00\x12+\n\'SCHEDULED_QUERY_RUN_STATUS_INITIALIZING\x10\x01\x12*\n&SCHEDULED_QUERY_RUN_STATUS_INIT_FAILED\x10\x02\x12&\n"SCHEDULED_QUERY_RUN_STATUS_SKIPPED\x10\x03\x12%\n!SCHEDULED_QUERY_RUN_STATUS_QUEUED\x10\x04\x12&\n"SCHEDULED_QUERY_RUN_STATUS_WORKING\x10\x05\x12(\n$SCHEDULED_QUERY_RUN_STATUS_COMPLETED\x10\x06\x12%\n!SCHEDULED_QUERY_RUN_STATUS_FAILED\x10\x07\x12\'\n#SCHEDULED_QUERY_RUN_STATUS_CANCELED\x10\x08\x42\x9f\x01\n\x13\x63om.chalk.server.v1B\x16ScheduledQueryRunProtoP\x01Z\x12server/v1;serverv1\xa2\x02\x03\x43SX\xaa\x02\x0f\x43halk.Server.V1\xca\x02\x0f\x43halk\\Server\\V1\xe2\x02\x1b\x43halk\\Server\\V1\\GPBMetadata\xea\x02\x11\x43halk::Server::V1b\x06proto3'
22
+ b'\n)chalk/server/v1/scheduled_query_run.proto\x12\x0f\x63halk.server.v1\x1a%chalk/server/v1/offline_queries.proto\x1a google/protobuf/field_mask.proto\x1a\x1fgoogle/protobuf/timestamp.proto"\xa4\x06\n\x11ScheduledQueryRun\x12\x0e\n\x02id\x18\x01 \x01(\x03R\x02id\x12%\n\x0e\x65nvironment_id\x18\x02 \x01(\tR\renvironmentId\x12(\n\rdeployment_id\x18\x03 \x01(\tH\x00R\x0c\x64\x65ploymentId\x88\x01\x01\x12\x1a\n\x06run_id\x18\x04 \x01(\tH\x01R\x05runId\x88\x01\x01\x12"\n\rcron_query_id\x18\x05 \x01(\x03R\x0b\x63ronQueryId\x12\x33\n\x16\x63ron_query_schedule_id\x18\x06 \x01(\x03R\x13\x63ronQueryScheduleId\x12\x1b\n\tcron_name\x18\x07 \x01(\tR\x08\x63ronName\x12-\n\x10gcr_execution_id\x18\x08 \x01(\tH\x02R\x0egcrExecutionId\x88\x01\x01\x12%\n\x0cgcr_job_name\x18\t \x01(\tH\x03R\ngcrJobName\x88\x01\x01\x12(\n\x10offline_query_id\x18\n \x01(\tR\x0eofflineQueryId\x12\x39\n\ncreated_at\x18\x0b \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tcreatedAt\x12\x39\n\nupdated_at\x18\x0c \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tupdatedAt\x12@\n\x06status\x18\r \x01(\x0e\x32(.chalk.server.v1.ScheduledQueryRunStatusR\x06status\x12\x35\n\x14\x62locker_operation_id\x18\x0e \x01(\tH\x04R\x12\x62lockerOperationId\x88\x01\x01\x12\x37\n\x15workflow_execution_id\x18\x0f \x01(\tH\x05R\x13workflowExecutionId\x88\x01\x01\x42\x10\n\x0e_deployment_idB\t\n\x07_run_idB\x13\n\x11_gcr_execution_idB\x0f\n\r_gcr_job_nameB\x17\n\x15_blocker_operation_idB\x18\n\x16_workflow_execution_id"\xdd\x01\n\x1bGetScheduledQueryRunRequest\x12\x17\n\x06run_id\x18\x01 \x01(\x03H\x00R\x05runId\x12*\n\x10offline_query_id\x18\x02 \x01(\tH\x00R\x0eofflineQueryId\x12\x34\n\x15workflow_execution_id\x18\x04 \x01(\tH\x00R\x13workflowExecutionId\x12\x35\n\x08get_mask\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.FieldMaskR\x07getMaskB\x0c\n\nidentifier"\xd1\x01\n\x1cGetScheduledQueryRunResponse\x12R\n\x13scheduled_query_run\x18\x01 \x01(\x0b\x32".chalk.server.v1.ScheduledQueryRunR\x11scheduledQueryRun\x12K\n\roffline_query\x18\x02 \x01(\x0b\x32!.chalk.server.v1.OfflineQueryMetaH\x00R\x0cofflineQuery\x88\x01\x01\x42\x10\n\x0e_offline_query"\x9d\x01\n\x1cGetScheduledQueryRunsRequest\x12"\n\rcron_query_id\x18\x01 \x01(\x05R\x0b\x63ronQueryId\x12\x1d\n\tcron_name\x18\x04 \x01(\tH\x00R\x08\x63ronName\x12\x16\n\x06\x63ursor\x18\x02 \x01(\tR\x06\x63ursor\x12\x14\n\x05limit\x18\x03 \x01(\x05R\x05limitB\x0c\n\nidentifier"o\n\x1dGetScheduledQueryRunsResponse\x12\x36\n\x04runs\x18\x01 \x03(\x0b\x32".chalk.server.v1.ScheduledQueryRunR\x04runs\x12\x16\n\x06\x63ursor\x18\x02 \x01(\tR\x06\x63ursor"\xf5\x02\n\x15ScheduledQueryControl\x12"\n\rcron_query_id\x18\x01 \x01(\x05R\x0b\x63ronQueryId\x12&\n\x0f\x63ron_query_name\x18\x02 \x01(\tR\rcronQueryName\x12:\n\x06status\x18\x03 \x01(\x0e\x32".chalk.server.v1.CronControlStatusR\x06status\x12\x1e\n\x08\x61gent_id\x18\x04 \x01(\tH\x00R\x07\x61gentId\x88\x01\x01\x12\x39\n\ncreated_at\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tcreatedAt\x12\x39\n\nupdated_at\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tupdatedAt\x12"\n\njob_config\x18\x07 \x01(\tH\x01R\tjobConfig\x88\x01\x01\x42\x0b\n\t_agent_idB\r\n\x0b_job_config"\xd4\x07\n\x16ScheduledQuerySchedule\x12\x0e\n\x02id\x18\x01 \x01(\x05R\x02id\x12"\n\rcron_query_id\x18\x02 \x01(\x05R\x0b\x63ronQueryId\x12#\n\rdeployment_id\x18\x03 \x01(\tR\x0c\x64\x65ploymentId\x12\x12\n\x04name\x18\x04 \x01(\tR\x04name\x12\x12\n\x04\x63ron\x18\x05 \x01(\tR\x04\x63ron\x12\x1a\n\x08\x66ilename\x18\x06 \x01(\tR\x08\x66ilename\x12\x39\n\ncreated_at\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tcreatedAt\x12\x39\n\nupdated_at\x18\x08 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tupdatedAt\x12\x1b\n\x06output\x18\t \x01(\tH\x00R\x06output\x88\x01\x01\x12$\n\x0bmax_samples\x18\n \x01(\x05H\x01R\nmaxSamples\x88\x01\x01\x12\x32\n\x12recompute_features\x18\x0b \x01(\tH\x02R\x11recomputeFeatures\x88\x01\x01\x12@\n\x0blower_bound\x18\x0c \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x03R\nlowerBound\x88\x01\x01\x12@\n\x0bupper_bound\x18\r \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x04R\nupperBound\x88\x01\x01\x12\x17\n\x04tags\x18\x0e \x01(\tH\x05R\x04tags\x88\x01\x01\x12\x39\n\x16required_resolver_tags\x18\x0f \x01(\tH\x06R\x14requiredResolverTags\x88\x01\x01\x12,\n\x0fplanner_options\x18\x10 \x01(\tH\x07R\x0eplannerOptions\x88\x01\x01\x12&\n\x0c\x64\x61taset_name\x18\x11 \x01(\tH\x08R\x0b\x64\x61tasetName\x88\x01\x01\x12"\n\nnum_shards\x18\x12 \x01(\x05H\tR\tnumShards\x88\x01\x01\x12$\n\x0bnum_workers\x18\x13 \x01(\x05H\nR\nnumWorkers\x88\x01\x01\x42\t\n\x07_outputB\x0e\n\x0c_max_samplesB\x15\n\x13_recompute_featuresB\x0e\n\x0c_lower_boundB\x0e\n\x0c_upper_boundB\x07\n\x05_tagsB\x19\n\x17_required_resolver_tagsB\x12\n\x10_planner_optionsB\x0f\n\r_dataset_nameB\r\n\x0b_num_shardsB\x0e\n\x0c_num_workers*\x8f\x03\n\x17ScheduledQueryRunStatus\x12*\n&SCHEDULED_QUERY_RUN_STATUS_UNSPECIFIED\x10\x00\x12+\n\'SCHEDULED_QUERY_RUN_STATUS_INITIALIZING\x10\x01\x12*\n&SCHEDULED_QUERY_RUN_STATUS_INIT_FAILED\x10\x02\x12&\n"SCHEDULED_QUERY_RUN_STATUS_SKIPPED\x10\x03\x12%\n!SCHEDULED_QUERY_RUN_STATUS_QUEUED\x10\x04\x12&\n"SCHEDULED_QUERY_RUN_STATUS_WORKING\x10\x05\x12(\n$SCHEDULED_QUERY_RUN_STATUS_COMPLETED\x10\x06\x12%\n!SCHEDULED_QUERY_RUN_STATUS_FAILED\x10\x07\x12\'\n#SCHEDULED_QUERY_RUN_STATUS_CANCELED\x10\x08*u\n\x11\x43ronControlStatus\x12#\n\x1f\x43RON_CONTROL_STATUS_UNSPECIFIED\x10\x00\x12\x1c\n\x18\x43RON_CONTROL_STATUS_PLAY\x10\x01\x12\x1d\n\x19\x43RON_CONTROL_STATUS_PAUSE\x10\x02\x42\x9f\x01\n\x13\x63om.chalk.server.v1B\x16ScheduledQueryRunProtoP\x01Z\x12server/v1;serverv1\xa2\x02\x03\x43SX\xaa\x02\x0f\x43halk.Server.V1\xca\x02\x0f\x43halk\\Server\\V1\xe2\x02\x1b\x43halk\\Server\\V1\\GPBMetadata\xea\x02\x11\x43halk::Server::V1b\x06proto3'
23
23
  )
24
24
 
25
25
  _globals = globals()
@@ -30,8 +30,10 @@ if _descriptor._USE_C_DESCRIPTORS == False:
30
30
  _globals[
31
31
  "DESCRIPTOR"
32
32
  ]._serialized_options = b"\n\023com.chalk.server.v1B\026ScheduledQueryRunProtoP\001Z\022server/v1;serverv1\242\002\003CSX\252\002\017Chalk.Server.V1\312\002\017Chalk\\Server\\V1\342\002\033Chalk\\Server\\V1\\GPBMetadata\352\002\021Chalk::Server::V1"
33
- _globals["_SCHEDULEDQUERYRUNSTATUS"]._serialized_start = 1685
34
- _globals["_SCHEDULEDQUERYRUNSTATUS"]._serialized_end = 2084
33
+ _globals["_SCHEDULEDQUERYRUNSTATUS"]._serialized_start = 3044
34
+ _globals["_SCHEDULEDQUERYRUNSTATUS"]._serialized_end = 3443
35
+ _globals["_CRONCONTROLSTATUS"]._serialized_start = 3445
36
+ _globals["_CRONCONTROLSTATUS"]._serialized_end = 3562
35
37
  _globals["_SCHEDULEDQUERYRUN"]._serialized_start = 169
36
38
  _globals["_SCHEDULEDQUERYRUN"]._serialized_end = 973
37
39
  _globals["_GETSCHEDULEDQUERYRUNREQUEST"]._serialized_start = 976
@@ -42,4 +44,8 @@ if _descriptor._USE_C_DESCRIPTORS == False:
42
44
  _globals["_GETSCHEDULEDQUERYRUNSREQUEST"]._serialized_end = 1569
43
45
  _globals["_GETSCHEDULEDQUERYRUNSRESPONSE"]._serialized_start = 1571
44
46
  _globals["_GETSCHEDULEDQUERYRUNSRESPONSE"]._serialized_end = 1682
47
+ _globals["_SCHEDULEDQUERYCONTROL"]._serialized_start = 1685
48
+ _globals["_SCHEDULEDQUERYCONTROL"]._serialized_end = 2058
49
+ _globals["_SCHEDULEDQUERYSCHEDULE"]._serialized_start = 2061
50
+ _globals["_SCHEDULEDQUERYSCHEDULE"]._serialized_end = 3041
45
51
  # @@protoc_insertion_point(module_scope)
@@ -27,6 +27,12 @@ class ScheduledQueryRunStatus(int, metaclass=_enum_type_wrapper.EnumTypeWrapper)
27
27
  SCHEDULED_QUERY_RUN_STATUS_FAILED: _ClassVar[ScheduledQueryRunStatus]
28
28
  SCHEDULED_QUERY_RUN_STATUS_CANCELED: _ClassVar[ScheduledQueryRunStatus]
29
29
 
30
+ class CronControlStatus(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
31
+ __slots__ = ()
32
+ CRON_CONTROL_STATUS_UNSPECIFIED: _ClassVar[CronControlStatus]
33
+ CRON_CONTROL_STATUS_PLAY: _ClassVar[CronControlStatus]
34
+ CRON_CONTROL_STATUS_PAUSE: _ClassVar[CronControlStatus]
35
+
30
36
  SCHEDULED_QUERY_RUN_STATUS_UNSPECIFIED: ScheduledQueryRunStatus
31
37
  SCHEDULED_QUERY_RUN_STATUS_INITIALIZING: ScheduledQueryRunStatus
32
38
  SCHEDULED_QUERY_RUN_STATUS_INIT_FAILED: ScheduledQueryRunStatus
@@ -36,6 +42,9 @@ SCHEDULED_QUERY_RUN_STATUS_WORKING: ScheduledQueryRunStatus
36
42
  SCHEDULED_QUERY_RUN_STATUS_COMPLETED: ScheduledQueryRunStatus
37
43
  SCHEDULED_QUERY_RUN_STATUS_FAILED: ScheduledQueryRunStatus
38
44
  SCHEDULED_QUERY_RUN_STATUS_CANCELED: ScheduledQueryRunStatus
45
+ CRON_CONTROL_STATUS_UNSPECIFIED: CronControlStatus
46
+ CRON_CONTROL_STATUS_PLAY: CronControlStatus
47
+ CRON_CONTROL_STATUS_PAUSE: CronControlStatus
39
48
 
40
49
  class ScheduledQueryRun(_message.Message):
41
50
  __slots__ = (
@@ -161,3 +170,113 @@ class GetScheduledQueryRunsResponse(_message.Message):
161
170
  def __init__(
162
171
  self, runs: _Optional[_Iterable[_Union[ScheduledQueryRun, _Mapping]]] = ..., cursor: _Optional[str] = ...
163
172
  ) -> None: ...
173
+
174
+ class ScheduledQueryControl(_message.Message):
175
+ __slots__ = ("cron_query_id", "cron_query_name", "status", "agent_id", "created_at", "updated_at", "job_config")
176
+ CRON_QUERY_ID_FIELD_NUMBER: _ClassVar[int]
177
+ CRON_QUERY_NAME_FIELD_NUMBER: _ClassVar[int]
178
+ STATUS_FIELD_NUMBER: _ClassVar[int]
179
+ AGENT_ID_FIELD_NUMBER: _ClassVar[int]
180
+ CREATED_AT_FIELD_NUMBER: _ClassVar[int]
181
+ UPDATED_AT_FIELD_NUMBER: _ClassVar[int]
182
+ JOB_CONFIG_FIELD_NUMBER: _ClassVar[int]
183
+ cron_query_id: int
184
+ cron_query_name: str
185
+ status: CronControlStatus
186
+ agent_id: str
187
+ created_at: _timestamp_pb2.Timestamp
188
+ updated_at: _timestamp_pb2.Timestamp
189
+ job_config: str
190
+ def __init__(
191
+ self,
192
+ cron_query_id: _Optional[int] = ...,
193
+ cron_query_name: _Optional[str] = ...,
194
+ status: _Optional[_Union[CronControlStatus, str]] = ...,
195
+ agent_id: _Optional[str] = ...,
196
+ created_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ...,
197
+ updated_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ...,
198
+ job_config: _Optional[str] = ...,
199
+ ) -> None: ...
200
+
201
+ class ScheduledQuerySchedule(_message.Message):
202
+ __slots__ = (
203
+ "id",
204
+ "cron_query_id",
205
+ "deployment_id",
206
+ "name",
207
+ "cron",
208
+ "filename",
209
+ "created_at",
210
+ "updated_at",
211
+ "output",
212
+ "max_samples",
213
+ "recompute_features",
214
+ "lower_bound",
215
+ "upper_bound",
216
+ "tags",
217
+ "required_resolver_tags",
218
+ "planner_options",
219
+ "dataset_name",
220
+ "num_shards",
221
+ "num_workers",
222
+ )
223
+ ID_FIELD_NUMBER: _ClassVar[int]
224
+ CRON_QUERY_ID_FIELD_NUMBER: _ClassVar[int]
225
+ DEPLOYMENT_ID_FIELD_NUMBER: _ClassVar[int]
226
+ NAME_FIELD_NUMBER: _ClassVar[int]
227
+ CRON_FIELD_NUMBER: _ClassVar[int]
228
+ FILENAME_FIELD_NUMBER: _ClassVar[int]
229
+ CREATED_AT_FIELD_NUMBER: _ClassVar[int]
230
+ UPDATED_AT_FIELD_NUMBER: _ClassVar[int]
231
+ OUTPUT_FIELD_NUMBER: _ClassVar[int]
232
+ MAX_SAMPLES_FIELD_NUMBER: _ClassVar[int]
233
+ RECOMPUTE_FEATURES_FIELD_NUMBER: _ClassVar[int]
234
+ LOWER_BOUND_FIELD_NUMBER: _ClassVar[int]
235
+ UPPER_BOUND_FIELD_NUMBER: _ClassVar[int]
236
+ TAGS_FIELD_NUMBER: _ClassVar[int]
237
+ REQUIRED_RESOLVER_TAGS_FIELD_NUMBER: _ClassVar[int]
238
+ PLANNER_OPTIONS_FIELD_NUMBER: _ClassVar[int]
239
+ DATASET_NAME_FIELD_NUMBER: _ClassVar[int]
240
+ NUM_SHARDS_FIELD_NUMBER: _ClassVar[int]
241
+ NUM_WORKERS_FIELD_NUMBER: _ClassVar[int]
242
+ id: int
243
+ cron_query_id: int
244
+ deployment_id: str
245
+ name: str
246
+ cron: str
247
+ filename: str
248
+ created_at: _timestamp_pb2.Timestamp
249
+ updated_at: _timestamp_pb2.Timestamp
250
+ output: str
251
+ max_samples: int
252
+ recompute_features: str
253
+ lower_bound: _timestamp_pb2.Timestamp
254
+ upper_bound: _timestamp_pb2.Timestamp
255
+ tags: str
256
+ required_resolver_tags: str
257
+ planner_options: str
258
+ dataset_name: str
259
+ num_shards: int
260
+ num_workers: int
261
+ def __init__(
262
+ self,
263
+ id: _Optional[int] = ...,
264
+ cron_query_id: _Optional[int] = ...,
265
+ deployment_id: _Optional[str] = ...,
266
+ name: _Optional[str] = ...,
267
+ cron: _Optional[str] = ...,
268
+ filename: _Optional[str] = ...,
269
+ created_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ...,
270
+ updated_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ...,
271
+ output: _Optional[str] = ...,
272
+ max_samples: _Optional[int] = ...,
273
+ recompute_features: _Optional[str] = ...,
274
+ lower_bound: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ...,
275
+ upper_bound: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ...,
276
+ tags: _Optional[str] = ...,
277
+ required_resolver_tags: _Optional[str] = ...,
278
+ planner_options: _Optional[str] = ...,
279
+ dataset_name: _Optional[str] = ...,
280
+ num_shards: _Optional[int] = ...,
281
+ num_workers: _Optional[int] = ...,
282
+ ) -> None: ...
@@ -21,7 +21,7 @@ from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__
21
21
 
22
22
 
23
23
  DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(
24
- b'\n\x1f\x63halk/server/v1/scheduler.proto\x12\x0f\x63halk.server.v1\x1a\x1f\x63halk/auth/v1/permissions.proto\x1a\x1b\x63halk/server/v1/batch.proto\x1a)chalk/server/v1/scheduled_query_run.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1fgoogle/protobuf/timestamp.proto"\xa4\x06\n\x0f\x43ronResolverRun\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12%\n\x0e\x65nvironment_id\x18\x02 \x01(\tR\renvironmentId\x12!\n\x0cresolver_fqn\x18\x03 \x01(\tR\x0bresolverFqn\x12\x12\n\x04kind\x18\x04 \x01(\tR\x04kind\x12+\n\x11schedule_readable\x18\x05 \x01(\tR\x10scheduleReadable\x12\x36\n\x17schedule_resolver_value\x18\x06 \x01(\tR\x15scheduleResolverValue\x12\x39\n\ncreated_at\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tcreatedAt\x12(\n\rdeployment_id\x18\x08 \x01(\tH\x00R\x0c\x64\x65ploymentId\x88\x01\x01\x12\x31\n\x03\x65nd\x18\t \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x01R\x03\x65nd\x88\x01\x01\x12:\n\x05\x62\x61tch\x18\n \x01(\x0b\x32\x1f.chalk.server.v1.BatchOperationH\x02R\x05\x62\x61tch\x88\x01\x01\x12\x46\n\x0ctrigger_kind\x18\x0b \x01(\x0e\x32#.chalk.server.v1.CronRunTriggerKindR\x0btriggerKind\x12@\n\x0blower_bound\x18\x0c \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x03R\nlowerBound\x88\x01\x01\x12@\n\x0bupper_bound\x18\r \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x04R\nupperBound\x88\x01\x01\x12$\n\x0bmax_samples\x18\x0e \x01(\x03H\x05R\nmaxSamples\x88\x01\x01\x12$\n\x0eused_job_queue\x18\x0f \x01(\x08R\x0cusedJobQueueB\x10\n\x0e_deployment_idB\x06\n\x04_endB\x08\n\x06_batchB\x0e\n\x0c_lower_boundB\x0e\n\x0c_upper_boundB\x0e\n\x0c_max_samples"\x9d\x03\n ManualTriggerCronResolverRequest\x12!\n\x0cresolver_fqn\x18\x01 \x01(\tR\x0bresolverFqn\x12$\n\x0bmax_samples\x18\x02 \x01(\x03H\x00R\nmaxSamples\x88\x01\x01\x12@\n\x0blower_bound\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x01R\nlowerBound\x88\x01\x01\x12@\n\x0bupper_bound\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x02R\nupperBound\x88\x01\x01\x12\x30\n\x11timestamping_mode\x18\x06 \x01(\tH\x03R\x10timestampingMode\x88\x01\x01\x12$\n\x0bjob_options\x18\x07 \x01(\tH\x04R\njobOptions\x88\x01\x01\x42\x0e\n\x0c_max_samplesB\x0e\n\x0c_lower_boundB\x0e\n\x0c_upper_boundB\x14\n\x12_timestamping_modeB\x0e\n\x0c_job_options"q\n!ManualTriggerCronResolverResponse\x12L\n\x11\x63ron_resolver_run\x18\x01 \x01(\x0b\x32 .chalk.server.v1.CronResolverRunR\x0f\x63ronResolverRun"\x9c\x05\n"ManualTriggerScheduledQueryRequest\x12"\n\rcron_query_id\x18\x01 \x01(\x03R\x0b\x63ronQueryId\x12p\n\x0fplanner_options\x18\x02 \x03(\x0b\x32G.chalk.server.v1.ManualTriggerScheduledQueryRequest.PlannerOptionsEntryR\x0eplannerOptions\x12\x33\n\x15incremental_resolvers\x18\x03 \x03(\tR\x14incrementalResolvers\x12$\n\x0bmax_samples\x18\x04 \x01(\x03H\x01R\nmaxSamples\x88\x01\x01\x12j\n\renv_overrides\x18\x05 \x03(\x0b\x32\x45.chalk.server.v1.ManualTriggerScheduledQueryRequest.EnvOverridesEntryR\x0c\x65nvOverrides\x12(\n\x0f\x63ron_query_name\x18\x06 \x01(\tH\x00R\rcronQueryName\x12*\n\x11store_plan_stages\x18\x07 \x01(\x08R\x0fstorePlanStages\x1aY\n\x13PlannerOptionsEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12,\n\x05value\x18\x02 \x01(\x0b\x32\x16.google.protobuf.ValueR\x05value:\x02\x38\x01\x1a?\n\x11\x45nvOverridesEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x02\x38\x01\x42\x17\n\x15\x63ron_query_identifierB\x0e\n\x0c_max_samples"y\n#ManualTriggerScheduledQueryResponse\x12R\n\x13scheduled_query_run\x18\x01 \x01(\x0b\x32".chalk.server.v1.ScheduledQueryRunR\x11scheduledQueryRun"0\n\x1eGetScheduledResolverRunRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id"U\n\x1fGetScheduledResolverRunResponse\x12\x32\n\x03run\x18\x01 \x01(\x0b\x32 .chalk.server.v1.CronResolverRunR\x03run"\xa7\x03\n ListScheduledResolverRunsRequest\x12\x37\n\x06\x63ursor\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x00R\x06\x63ursor\x88\x01\x01\x12,\n\x0fresolver_filter\x18\x02 \x01(\tH\x01R\x0eresolverFilter\x88\x01\x01\x12\x19\n\x05limit\x18\x03 \x01(\x05H\x02R\x05limit\x88\x01\x01\x12\x35\n\x05start\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x03R\x05start\x88\x01\x01\x12\x31\n\x03\x65nd\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x04R\x03\x65nd\x88\x01\x01\x12J\n\rstatus_filter\x18\x06 \x01(\x0e\x32 .chalk.server.v1.OperationStatusH\x05R\x0cstatusFilter\x88\x01\x01\x42\t\n\x07_cursorB\x12\n\x10_resolver_filterB\x08\n\x06_limitB\x08\n\x06_startB\x06\n\x04_endB\x10\n\x0e_status_filter"Y\n!ListScheduledResolverRunsResponse\x12\x34\n\x04runs\x18\x01 \x03(\x0b\x32 .chalk.server.v1.CronResolverRunR\x04runs":\n!CancelScheduledResolverRunRequest\x12\x15\n\x06run_id\x18\x01 \x01(\tR\x05runId"a\n"CancelScheduledResolverRunResponse\x12;\n\x08\x63ron_run\x18\x01 \x01(\x0b\x32 .chalk.server.v1.CronResolverRunR\x07\x63ronRun*\x9c\x01\n\x12\x43ronRunTriggerKind\x12%\n!CRON_RUN_TRIGGER_KIND_UNSPECIFIED\x10\x00\x12 \n\x1c\x43RON_RUN_TRIGGER_KIND_MANUAL\x10\x01\x12\x1d\n\x19\x43RON_RUN_TRIGGER_KIND_API\x10\x02\x12\x1e\n\x1a\x43RON_RUN_TRIGGER_KIND_CRON\x10\x03\x32\xc7\x05\n\x10SchedulerService\x12\x87\x01\n\x19ManualTriggerCronResolver\x12\x31.chalk.server.v1.ManualTriggerCronResolverRequest\x1a\x32.chalk.server.v1.ManualTriggerCronResolverResponse"\x03\x80}\x11\x12\x8d\x01\n\x1bManualTriggerScheduledQuery\x12\x33.chalk.server.v1.ManualTriggerScheduledQueryRequest\x1a\x34.chalk.server.v1.ManualTriggerScheduledQueryResponse"\x03\x80}\x11\x12\x81\x01\n\x17GetScheduledResolverRun\x12/.chalk.server.v1.GetScheduledResolverRunRequest\x1a\x30.chalk.server.v1.GetScheduledResolverRunResponse"\x03\x80}\x10\x12\x87\x01\n\x19ListScheduledResolverRuns\x12\x31.chalk.server.v1.ListScheduledResolverRunsRequest\x1a\x32.chalk.server.v1.ListScheduledResolverRunsResponse"\x03\x80}\x10\x12\x8a\x01\n\x1a\x43\x61ncelScheduledResolverRun\x12\x32.chalk.server.v1.CancelScheduledResolverRunRequest\x1a\x33.chalk.server.v1.CancelScheduledResolverRunResponse"\x03\x80}\x11\x42\x97\x01\n\x13\x63om.chalk.server.v1B\x0eSchedulerProtoP\x01Z\x12server/v1;serverv1\xa2\x02\x03\x43SX\xaa\x02\x0f\x43halk.Server.V1\xca\x02\x0f\x43halk\\Server\\V1\xe2\x02\x1b\x43halk\\Server\\V1\\GPBMetadata\xea\x02\x11\x43halk::Server::V1b\x06proto3'
24
+ b'\n\x1f\x63halk/server/v1/scheduler.proto\x12\x0f\x63halk.server.v1\x1a\x1f\x63halk/auth/v1/permissions.proto\x1a\x1b\x63halk/server/v1/batch.proto\x1a)chalk/server/v1/scheduled_query_run.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1fgoogle/protobuf/timestamp.proto"\xa4\x06\n\x0f\x43ronResolverRun\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12%\n\x0e\x65nvironment_id\x18\x02 \x01(\tR\renvironmentId\x12!\n\x0cresolver_fqn\x18\x03 \x01(\tR\x0bresolverFqn\x12\x12\n\x04kind\x18\x04 \x01(\tR\x04kind\x12+\n\x11schedule_readable\x18\x05 \x01(\tR\x10scheduleReadable\x12\x36\n\x17schedule_resolver_value\x18\x06 \x01(\tR\x15scheduleResolverValue\x12\x39\n\ncreated_at\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tcreatedAt\x12(\n\rdeployment_id\x18\x08 \x01(\tH\x00R\x0c\x64\x65ploymentId\x88\x01\x01\x12\x31\n\x03\x65nd\x18\t \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x01R\x03\x65nd\x88\x01\x01\x12:\n\x05\x62\x61tch\x18\n \x01(\x0b\x32\x1f.chalk.server.v1.BatchOperationH\x02R\x05\x62\x61tch\x88\x01\x01\x12\x46\n\x0ctrigger_kind\x18\x0b \x01(\x0e\x32#.chalk.server.v1.CronRunTriggerKindR\x0btriggerKind\x12@\n\x0blower_bound\x18\x0c \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x03R\nlowerBound\x88\x01\x01\x12@\n\x0bupper_bound\x18\r \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x04R\nupperBound\x88\x01\x01\x12$\n\x0bmax_samples\x18\x0e \x01(\x03H\x05R\nmaxSamples\x88\x01\x01\x12$\n\x0eused_job_queue\x18\x0f \x01(\x08R\x0cusedJobQueueB\x10\n\x0e_deployment_idB\x06\n\x04_endB\x08\n\x06_batchB\x0e\n\x0c_lower_boundB\x0e\n\x0c_upper_boundB\x0e\n\x0c_max_samples"\x9d\x03\n ManualTriggerCronResolverRequest\x12!\n\x0cresolver_fqn\x18\x01 \x01(\tR\x0bresolverFqn\x12$\n\x0bmax_samples\x18\x02 \x01(\x03H\x00R\nmaxSamples\x88\x01\x01\x12@\n\x0blower_bound\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x01R\nlowerBound\x88\x01\x01\x12@\n\x0bupper_bound\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x02R\nupperBound\x88\x01\x01\x12\x30\n\x11timestamping_mode\x18\x06 \x01(\tH\x03R\x10timestampingMode\x88\x01\x01\x12$\n\x0bjob_options\x18\x07 \x01(\tH\x04R\njobOptions\x88\x01\x01\x42\x0e\n\x0c_max_samplesB\x0e\n\x0c_lower_boundB\x0e\n\x0c_upper_boundB\x14\n\x12_timestamping_modeB\x0e\n\x0c_job_options"q\n!ManualTriggerCronResolverResponse\x12L\n\x11\x63ron_resolver_run\x18\x01 \x01(\x0b\x32 .chalk.server.v1.CronResolverRunR\x0f\x63ronResolverRun"\x9c\x05\n"ManualTriggerScheduledQueryRequest\x12"\n\rcron_query_id\x18\x01 \x01(\x03R\x0b\x63ronQueryId\x12p\n\x0fplanner_options\x18\x02 \x03(\x0b\x32G.chalk.server.v1.ManualTriggerScheduledQueryRequest.PlannerOptionsEntryR\x0eplannerOptions\x12\x33\n\x15incremental_resolvers\x18\x03 \x03(\tR\x14incrementalResolvers\x12$\n\x0bmax_samples\x18\x04 \x01(\x03H\x01R\nmaxSamples\x88\x01\x01\x12j\n\renv_overrides\x18\x05 \x03(\x0b\x32\x45.chalk.server.v1.ManualTriggerScheduledQueryRequest.EnvOverridesEntryR\x0c\x65nvOverrides\x12(\n\x0f\x63ron_query_name\x18\x06 \x01(\tH\x00R\rcronQueryName\x12*\n\x11store_plan_stages\x18\x07 \x01(\x08R\x0fstorePlanStages\x1aY\n\x13PlannerOptionsEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12,\n\x05value\x18\x02 \x01(\x0b\x32\x16.google.protobuf.ValueR\x05value:\x02\x38\x01\x1a?\n\x11\x45nvOverridesEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x02\x38\x01\x42\x17\n\x15\x63ron_query_identifierB\x0e\n\x0c_max_samples"y\n#ManualTriggerScheduledQueryResponse\x12R\n\x13scheduled_query_run\x18\x01 \x01(\x0b\x32".chalk.server.v1.ScheduledQueryRunR\x11scheduledQueryRun"0\n\x1eGetScheduledResolverRunRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id"U\n\x1fGetScheduledResolverRunResponse\x12\x32\n\x03run\x18\x01 \x01(\x0b\x32 .chalk.server.v1.CronResolverRunR\x03run"\x97\x04\n ListScheduledResolverRunsRequest\x12;\n\x06\x63ursor\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x02\x18\x01H\x00R\x06\x63ursor\x88\x01\x01\x12\x19\n\x05limit\x18\x03 \x01(\x05H\x01R\x05limit\x88\x01\x01\x12"\n\npage_token\x18\x07 \x01(\tH\x02R\tpageToken\x88\x01\x01\x12,\n\x0fresolver_filter\x18\x02 \x01(\tH\x03R\x0eresolverFilter\x88\x01\x01\x12&\n\x0cresolver_fqn\x18\x08 \x01(\tH\x04R\x0bresolverFqn\x88\x01\x01\x12J\n\rstatus_filter\x18\x06 \x01(\x0e\x32 .chalk.server.v1.OperationStatusH\x05R\x0cstatusFilter\x88\x01\x01\x12\x35\n\x05start\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x06R\x05start\x88\x01\x01\x12\x31\n\x03\x65nd\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x07R\x03\x65nd\x88\x01\x01\x42\t\n\x07_cursorB\x08\n\x06_limitB\r\n\x0b_page_tokenB\x12\n\x10_resolver_filterB\x0f\n\r_resolver_fqnB\x10\n\x0e_status_filterB\x08\n\x06_startB\x06\n\x04_end"\x9a\x01\n!ListScheduledResolverRunsResponse\x12\x34\n\x04runs\x18\x01 \x03(\x0b\x32 .chalk.server.v1.CronResolverRunR\x04runs\x12+\n\x0fnext_page_token\x18\x02 \x01(\tH\x00R\rnextPageToken\x88\x01\x01\x42\x12\n\x10_next_page_token":\n!CancelScheduledResolverRunRequest\x12\x15\n\x06run_id\x18\x01 \x01(\tR\x05runId"a\n"CancelScheduledResolverRunResponse\x12;\n\x08\x63ron_run\x18\x01 \x01(\x0b\x32 .chalk.server.v1.CronResolverRunR\x07\x63ronRun*\x9c\x01\n\x12\x43ronRunTriggerKind\x12%\n!CRON_RUN_TRIGGER_KIND_UNSPECIFIED\x10\x00\x12 \n\x1c\x43RON_RUN_TRIGGER_KIND_MANUAL\x10\x01\x12\x1d\n\x19\x43RON_RUN_TRIGGER_KIND_API\x10\x02\x12\x1e\n\x1a\x43RON_RUN_TRIGGER_KIND_CRON\x10\x03\x32\xc7\x05\n\x10SchedulerService\x12\x87\x01\n\x19ManualTriggerCronResolver\x12\x31.chalk.server.v1.ManualTriggerCronResolverRequest\x1a\x32.chalk.server.v1.ManualTriggerCronResolverResponse"\x03\x80}\x11\x12\x8d\x01\n\x1bManualTriggerScheduledQuery\x12\x33.chalk.server.v1.ManualTriggerScheduledQueryRequest\x1a\x34.chalk.server.v1.ManualTriggerScheduledQueryResponse"\x03\x80}\x11\x12\x81\x01\n\x17GetScheduledResolverRun\x12/.chalk.server.v1.GetScheduledResolverRunRequest\x1a\x30.chalk.server.v1.GetScheduledResolverRunResponse"\x03\x80}\x10\x12\x87\x01\n\x19ListScheduledResolverRuns\x12\x31.chalk.server.v1.ListScheduledResolverRunsRequest\x1a\x32.chalk.server.v1.ListScheduledResolverRunsResponse"\x03\x80}\x10\x12\x8a\x01\n\x1a\x43\x61ncelScheduledResolverRun\x12\x32.chalk.server.v1.CancelScheduledResolverRunRequest\x1a\x33.chalk.server.v1.CancelScheduledResolverRunResponse"\x03\x80}\x11\x42\x97\x01\n\x13\x63om.chalk.server.v1B\x0eSchedulerProtoP\x01Z\x12server/v1;serverv1\xa2\x02\x03\x43SX\xaa\x02\x0f\x43halk.Server.V1\xca\x02\x0f\x43halk\\Server\\V1\xe2\x02\x1b\x43halk\\Server\\V1\\GPBMetadata\xea\x02\x11\x43halk::Server::V1b\x06proto3'
25
25
  )
26
26
 
27
27
  _globals = globals()
@@ -36,6 +36,8 @@ if _descriptor._USE_C_DESCRIPTORS == False:
36
36
  _globals["_MANUALTRIGGERSCHEDULEDQUERYREQUEST_PLANNEROPTIONSENTRY"]._serialized_options = b"8\001"
37
37
  _globals["_MANUALTRIGGERSCHEDULEDQUERYREQUEST_ENVOVERRIDESENTRY"]._options = None
38
38
  _globals["_MANUALTRIGGERSCHEDULEDQUERYREQUEST_ENVOVERRIDESENTRY"]._serialized_options = b"8\001"
39
+ _globals["_LISTSCHEDULEDRESOLVERRUNSREQUEST"].fields_by_name["cursor"]._options = None
40
+ _globals["_LISTSCHEDULEDRESOLVERRUNSREQUEST"].fields_by_name["cursor"]._serialized_options = b"\030\001"
39
41
  _globals["_SCHEDULERSERVICE"].methods_by_name["ManualTriggerCronResolver"]._options = None
40
42
  _globals["_SCHEDULERSERVICE"].methods_by_name["ManualTriggerCronResolver"]._serialized_options = b"\200}\021"
41
43
  _globals["_SCHEDULERSERVICE"].methods_by_name["ManualTriggerScheduledQuery"]._options = None
@@ -46,8 +48,8 @@ if _descriptor._USE_C_DESCRIPTORS == False:
46
48
  _globals["_SCHEDULERSERVICE"].methods_by_name["ListScheduledResolverRuns"]._serialized_options = b"\200}\020"
47
49
  _globals["_SCHEDULERSERVICE"].methods_by_name["CancelScheduledResolverRun"]._options = None
48
50
  _globals["_SCHEDULERSERVICE"].methods_by_name["CancelScheduledResolverRun"]._serialized_options = b"\200}\021"
49
- _globals["_CRONRUNTRIGGERKIND"]._serialized_start = 3166
50
- _globals["_CRONRUNTRIGGERKIND"]._serialized_end = 3322
51
+ _globals["_CRONRUNTRIGGERKIND"]._serialized_start = 3344
52
+ _globals["_CRONRUNTRIGGERKIND"]._serialized_end = 3500
51
53
  _globals["_CRONRESOLVERRUN"]._serialized_start = 221
52
54
  _globals["_CRONRESOLVERRUN"]._serialized_end = 1025
53
55
  _globals["_MANUALTRIGGERCRONRESOLVERREQUEST"]._serialized_start = 1028
@@ -67,13 +69,13 @@ if _descriptor._USE_C_DESCRIPTORS == False:
67
69
  _globals["_GETSCHEDULEDRESOLVERRUNRESPONSE"]._serialized_start = 2402
68
70
  _globals["_GETSCHEDULEDRESOLVERRUNRESPONSE"]._serialized_end = 2487
69
71
  _globals["_LISTSCHEDULEDRESOLVERRUNSREQUEST"]._serialized_start = 2490
70
- _globals["_LISTSCHEDULEDRESOLVERRUNSREQUEST"]._serialized_end = 2913
71
- _globals["_LISTSCHEDULEDRESOLVERRUNSRESPONSE"]._serialized_start = 2915
72
- _globals["_LISTSCHEDULEDRESOLVERRUNSRESPONSE"]._serialized_end = 3004
73
- _globals["_CANCELSCHEDULEDRESOLVERRUNREQUEST"]._serialized_start = 3006
74
- _globals["_CANCELSCHEDULEDRESOLVERRUNREQUEST"]._serialized_end = 3064
75
- _globals["_CANCELSCHEDULEDRESOLVERRUNRESPONSE"]._serialized_start = 3066
76
- _globals["_CANCELSCHEDULEDRESOLVERRUNRESPONSE"]._serialized_end = 3163
77
- _globals["_SCHEDULERSERVICE"]._serialized_start = 3325
78
- _globals["_SCHEDULERSERVICE"]._serialized_end = 4036
72
+ _globals["_LISTSCHEDULEDRESOLVERRUNSREQUEST"]._serialized_end = 3025
73
+ _globals["_LISTSCHEDULEDRESOLVERRUNSRESPONSE"]._serialized_start = 3028
74
+ _globals["_LISTSCHEDULEDRESOLVERRUNSRESPONSE"]._serialized_end = 3182
75
+ _globals["_CANCELSCHEDULEDRESOLVERRUNREQUEST"]._serialized_start = 3184
76
+ _globals["_CANCELSCHEDULEDRESOLVERRUNREQUEST"]._serialized_end = 3242
77
+ _globals["_CANCELSCHEDULEDRESOLVERRUNRESPONSE"]._serialized_start = 3244
78
+ _globals["_CANCELSCHEDULEDRESOLVERRUNRESPONSE"]._serialized_end = 3341
79
+ _globals["_SCHEDULERSERVICE"]._serialized_start = 3503
80
+ _globals["_SCHEDULERSERVICE"]._serialized_end = 4214
79
81
  # @@protoc_insertion_point(module_scope)
@@ -200,34 +200,44 @@ class GetScheduledResolverRunResponse(_message.Message):
200
200
  def __init__(self, run: _Optional[_Union[CronResolverRun, _Mapping]] = ...) -> None: ...
201
201
 
202
202
  class ListScheduledResolverRunsRequest(_message.Message):
203
- __slots__ = ("cursor", "resolver_filter", "limit", "start", "end", "status_filter")
203
+ __slots__ = ("cursor", "limit", "page_token", "resolver_filter", "resolver_fqn", "status_filter", "start", "end")
204
204
  CURSOR_FIELD_NUMBER: _ClassVar[int]
205
- RESOLVER_FILTER_FIELD_NUMBER: _ClassVar[int]
206
205
  LIMIT_FIELD_NUMBER: _ClassVar[int]
206
+ PAGE_TOKEN_FIELD_NUMBER: _ClassVar[int]
207
+ RESOLVER_FILTER_FIELD_NUMBER: _ClassVar[int]
208
+ RESOLVER_FQN_FIELD_NUMBER: _ClassVar[int]
209
+ STATUS_FILTER_FIELD_NUMBER: _ClassVar[int]
207
210
  START_FIELD_NUMBER: _ClassVar[int]
208
211
  END_FIELD_NUMBER: _ClassVar[int]
209
- STATUS_FILTER_FIELD_NUMBER: _ClassVar[int]
210
212
  cursor: _timestamp_pb2.Timestamp
211
- resolver_filter: str
212
213
  limit: int
214
+ page_token: str
215
+ resolver_filter: str
216
+ resolver_fqn: str
217
+ status_filter: _batch_pb2.OperationStatus
213
218
  start: _timestamp_pb2.Timestamp
214
219
  end: _timestamp_pb2.Timestamp
215
- status_filter: _batch_pb2.OperationStatus
216
220
  def __init__(
217
221
  self,
218
222
  cursor: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ...,
219
- resolver_filter: _Optional[str] = ...,
220
223
  limit: _Optional[int] = ...,
224
+ page_token: _Optional[str] = ...,
225
+ resolver_filter: _Optional[str] = ...,
226
+ resolver_fqn: _Optional[str] = ...,
227
+ status_filter: _Optional[_Union[_batch_pb2.OperationStatus, str]] = ...,
221
228
  start: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ...,
222
229
  end: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ...,
223
- status_filter: _Optional[_Union[_batch_pb2.OperationStatus, str]] = ...,
224
230
  ) -> None: ...
225
231
 
226
232
  class ListScheduledResolverRunsResponse(_message.Message):
227
- __slots__ = ("runs",)
233
+ __slots__ = ("runs", "next_page_token")
228
234
  RUNS_FIELD_NUMBER: _ClassVar[int]
235
+ NEXT_PAGE_TOKEN_FIELD_NUMBER: _ClassVar[int]
229
236
  runs: _containers.RepeatedCompositeFieldContainer[CronResolverRun]
230
- def __init__(self, runs: _Optional[_Iterable[_Union[CronResolverRun, _Mapping]]] = ...) -> None: ...
237
+ next_page_token: str
238
+ def __init__(
239
+ self, runs: _Optional[_Iterable[_Union[CronResolverRun, _Mapping]]] = ..., next_page_token: _Optional[str] = ...
240
+ ) -> None: ...
231
241
 
232
242
  class CancelScheduledResolverRunRequest(_message.Message):
233
243
  __slots__ = ("run_id",)
@@ -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"\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'
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*\xe4\x01\n\x16StreamingMessageStatus\x12(\n$STREAMING_MESSAGE_STATUS_UNSPECIFIED\x10\x00\x12)\n%STREAMING_MESSAGE_STATUS_PARSE_FAILED\x10\x01\x12*\n&STREAMING_MESSAGE_STATUS_PARSE_SKIPPED\x10\x02\x12#\n\x1fSTREAMING_MESSAGE_STATUS_FAILED\x10\x03\x12$\n STREAMING_MESSAGE_STATUS_SUCCESS\x10\x04*\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()
@@ -35,8 +35,10 @@ if _descriptor._USE_C_DESCRIPTORS == False:
35
35
  _globals["_SIMPLESTREAMINGSERVICE"].methods_by_name["TestStreamingResolver"]._serialized_options = b"\200}\002"
36
36
  _globals["_EXECUTIONPHASE"]._serialized_start = 1424
37
37
  _globals["_EXECUTIONPHASE"]._serialized_end = 1621
38
- _globals["_TESTSTREAMRESOLVERSTATUS"]._serialized_start = 1624
39
- _globals["_TESTSTREAMRESOLVERSTATUS"]._serialized_end = 1777
38
+ _globals["_STREAMINGMESSAGESTATUS"]._serialized_start = 1624
39
+ _globals["_STREAMINGMESSAGESTATUS"]._serialized_end = 1852
40
+ _globals["_TESTSTREAMRESOLVERSTATUS"]._serialized_start = 1855
41
+ _globals["_TESTSTREAMRESOLVERSTATUS"]._serialized_end = 2008
40
42
  _globals["_STREAMINGERROR"]._serialized_start = 142
41
43
  _globals["_STREAMINGERROR"]._serialized_end = 302
42
44
  _globals["_SIMPLESTREAMINGUNARYINVOKEREQUEST"]._serialized_start = 305
@@ -47,6 +49,6 @@ if _descriptor._USE_C_DESCRIPTORS == False:
47
49
  _globals["_TESTSTREAMINGRESOLVERREQUEST"]._serialized_end = 1193
48
50
  _globals["_TESTSTREAMINGRESOLVERRESPONSE"]._serialized_start = 1196
49
51
  _globals["_TESTSTREAMINGRESOLVERRESPONSE"]._serialized_end = 1421
50
- _globals["_SIMPLESTREAMINGSERVICE"]._serialized_start = 1780
51
- _globals["_SIMPLESTREAMINGSERVICE"]._serialized_end = 2083
52
+ _globals["_SIMPLESTREAMINGSERVICE"]._serialized_start = 2011
53
+ _globals["_SIMPLESTREAMINGSERVICE"]._serialized_end = 2314
52
54
  # @@protoc_insertion_point(module_scope)
@@ -23,6 +23,14 @@ 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 StreamingMessageStatus(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
27
+ __slots__ = ()
28
+ STREAMING_MESSAGE_STATUS_UNSPECIFIED: _ClassVar[StreamingMessageStatus]
29
+ STREAMING_MESSAGE_STATUS_PARSE_FAILED: _ClassVar[StreamingMessageStatus]
30
+ STREAMING_MESSAGE_STATUS_PARSE_SKIPPED: _ClassVar[StreamingMessageStatus]
31
+ STREAMING_MESSAGE_STATUS_FAILED: _ClassVar[StreamingMessageStatus]
32
+ STREAMING_MESSAGE_STATUS_SUCCESS: _ClassVar[StreamingMessageStatus]
33
+
26
34
  class TestStreamResolverStatus(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
27
35
  __slots__ = ()
28
36
  TEST_STREAM_RESOLVER_STATUS_UNSPECIFIED: _ClassVar[TestStreamResolverStatus]
@@ -35,6 +43,11 @@ EXECUTION_PHASE_MAPPING: ExecutionPhase
35
43
  EXECUTION_PHASE_PERSISTENCE: ExecutionPhase
36
44
  EXECUTION_PHASE_AGGREGATION: ExecutionPhase
37
45
  EXECUTION_PHASE_SINK: ExecutionPhase
46
+ STREAMING_MESSAGE_STATUS_UNSPECIFIED: StreamingMessageStatus
47
+ STREAMING_MESSAGE_STATUS_PARSE_FAILED: StreamingMessageStatus
48
+ STREAMING_MESSAGE_STATUS_PARSE_SKIPPED: StreamingMessageStatus
49
+ STREAMING_MESSAGE_STATUS_FAILED: StreamingMessageStatus
50
+ STREAMING_MESSAGE_STATUS_SUCCESS: StreamingMessageStatus
38
51
  TEST_STREAM_RESOLVER_STATUS_UNSPECIFIED: TestStreamResolverStatus
39
52
  TEST_STREAM_RESOLVER_STATUS_SUCCESS: TestStreamResolverStatus
40
53
  TEST_STREAM_RESOLVER_STATUS_FAILURE: TestStreamResolverStatus
chalk/_version.py CHANGED
@@ -1 +1 @@
1
- __version__ = "2.96.4"
1
+ __version__ = "2.96.6"
@@ -3812,6 +3812,7 @@ def make_stream_resolver(
3812
3812
  owner: Optional[str] = None,
3813
3813
  doc: str | None = None,
3814
3814
  sink: Sink | None = None,
3815
+ additional_output_features: Iterable[FeatureWrapper | str] | None = None,
3815
3816
  skip_online: bool = False,
3816
3817
  skip_offline: bool = False,
3817
3818
  ) -> StreamResolver:
@@ -3846,6 +3847,10 @@ def make_stream_resolver(
3846
3847
  sink
3847
3848
  An optional message producer configuration that specifies where to send messages.
3848
3849
  Read more at https://docs.chalk.ai/api-docs#Sink
3850
+ additional_output_features
3851
+ An optional iterable of additional features to compute and persist to the online store
3852
+ without publishing to an auxiliary stream. Mutually exclusive with `sink`.
3853
+ Use this when you want to enrich features without setting up stream publishing infrastructure.
3849
3854
  skip_online
3850
3855
  If True, skip online persistence (no writes to Redis/DynamoDB/etc).
3851
3856
  Results will still be processed but not stored in online stores.
@@ -3888,6 +3893,18 @@ def make_stream_resolver(
3888
3893
  range=error_builder.function_arg_range_by_name("source"),
3889
3894
  )
3890
3895
 
3896
+ # Validate that sink and additional_output_features are mutually exclusive
3897
+ if sink is not None and additional_output_features is not None:
3898
+ error_builder.add_diagnostic(
3899
+ message=(
3900
+ "Cannot specify both 'sink' and 'additional_output_features'. "
3901
+ + "If you're using Sink, add all desired features to Sink.output_features instead."
3902
+ ),
3903
+ code="208",
3904
+ label="Use Sink.output_features for all features",
3905
+ range=error_builder.function_arg_range_by_name("additional_output_features"),
3906
+ )
3907
+
3891
3908
  # Validate name is a string
3892
3909
  if not isinstance(name, str): # pyright: ignore[reportUnnecessaryIsInstance]
3893
3910
  error_builder.add_diagnostic(
@@ -3992,12 +4009,16 @@ def make_stream_resolver(
3992
4009
  f"Native streaming resolvers only support python parse functions with input bytes 'bytes'. Function {parse} has input type {parse_info.input_type}"
3993
4010
  )
3994
4011
 
3995
- # Validate and parse sink before creating StreamResolver
4012
+ # Validate and parse sink or additional_output_features before creating StreamResolver
3996
4013
  message_producer_parsed: StreamResolverMessageProducerParsed | None = None
3997
4014
  if sink is not None:
3998
4015
  message_producer_parsed = parse_message_producer_with_lsp_errors(
3999
4016
  sink, error_builder, "sink", message_type, name
4000
4017
  )
4018
+ elif additional_output_features is not None:
4019
+ message_producer_parsed = parse_additional_output_features_with_lsp_errors(
4020
+ additional_output_features, error_builder, "additional_output_features", message_type, name
4021
+ )
4001
4022
 
4002
4023
  resolver = StreamResolver(
4003
4024
  function_definition=caller_source,
@@ -4038,25 +4059,22 @@ def make_stream_resolver(
4038
4059
  return resolver
4039
4060
 
4040
4061
 
4041
- @dataclass
4062
+ @dataclass(kw_only=True)
4042
4063
  class Sink:
4043
- """Sends stream messages to a stream source of your choice.
4044
-
4045
- Messages are arrow tables serialized in IPC stream format with the specified output columns
4046
- """
4064
+ """Computes additional output features and sends them to a stream source."""
4047
4065
 
4048
4066
  send_to: StreamSource
4049
- """The source to send results to"""
4067
+ """The stream source to send results to."""
4050
4068
 
4051
4069
  output_features: Iterable[FeatureWrapper | str]
4052
4070
  """
4053
4071
  The requested output features. These can include both features returned by the stream resolvers and
4054
- other features retrievable via online query given the stream resolver outputs as inputs. The message sent to
4055
- the stream will have these output features as columns
4072
+ other features retrievable via online query given the stream resolver outputs as inputs.
4073
+ The message sent to the stream will have these output features as columns.
4056
4074
  """
4057
4075
 
4058
4076
  format: Literal["json", "ipc_stream"] = "ipc_stream"
4059
- """Format of messages sent"""
4077
+ """Format of messages sent."""
4060
4078
 
4061
4079
  feature_expressions: Mapping[FeatureWrapper | str, Underscore] | None = None
4062
4080
 
@@ -4184,10 +4202,80 @@ def parse_message_producer_with_lsp_errors(
4184
4202
  )
4185
4203
 
4186
4204
 
4205
+ def parse_additional_output_features_with_lsp_errors(
4206
+ output_features_input: Iterable[FeatureWrapper | str],
4207
+ error_builder: FunctionCallErrorBuilder,
4208
+ param_name: str,
4209
+ message_type: Type[BaseModel | google.protobuf.message.Message | AnyDataclass | str | bytes],
4210
+ resolver_name: str,
4211
+ ) -> StreamResolverMessageProducerParsed | None:
4212
+ """Parse additional_output_features into StreamResolverMessageProducerParsed.
4213
+
4214
+ Similar to parse_message_producer_with_lsp_errors but for additional_output_features
4215
+ parameter, which doesn't require a send_to destination.
4216
+ """
4217
+ # Validate output_features is iterable
4218
+ if not isinstance(output_features_input, collections.abc.Iterable): # pyright: ignore[reportUnnecessaryIsInstance]
4219
+ error_builder.add_diagnostic(
4220
+ message="Expected an iterable for argument 'additional_output_features'",
4221
+ code="209",
4222
+ label="Invalid additional_output_features type",
4223
+ range=error_builder.function_arg_range_by_name(param_name),
4224
+ )
4225
+ return None
4226
+
4227
+ output_features_list = list(output_features_input)
4228
+ if len(output_features_list) == 0:
4229
+ error_builder.add_diagnostic(
4230
+ message="Expected at least one feature in 'additional_output_features'",
4231
+ code="210",
4232
+ label="Empty additional_output_features",
4233
+ range=error_builder.function_arg_range_by_name(param_name),
4234
+ )
4235
+ return None
4236
+
4237
+ # Validate and unwrap features (same logic as parse_message_producer_with_lsp_errors)
4238
+ unwrapped_features: list[Feature] = []
4239
+ for f in output_features_list:
4240
+ if isinstance(f, FeatureWrapper):
4241
+ unwrapped_features.append(unwrap_feature(f))
4242
+ elif isinstance(f, str): # pyright: ignore[reportUnnecessaryIsInstance]
4243
+ try:
4244
+ feature = Feature.from_root_fqn(f)
4245
+ unwrapped_features.append(feature)
4246
+ except Exception:
4247
+ error_builder.add_diagnostic(
4248
+ message=f"Invalid feature FQN '{f}' in additional_output_features",
4249
+ code="211",
4250
+ label="Invalid feature FQN",
4251
+ range=error_builder.function_arg_range_by_name(param_name),
4252
+ )
4253
+ return None
4254
+ else:
4255
+ error_builder.add_diagnostic(
4256
+ message=f"Feature '{f}' must be a Feature or string, got {type(f)} instead",
4257
+ code="212",
4258
+ label="Invalid feature type",
4259
+ range=error_builder.function_arg_range_by_name(param_name),
4260
+ )
4261
+ return None
4262
+
4263
+ # Reuse existing validation
4264
+ _validate_output_features(unwrapped_features, error_builder, resolver_name)
4265
+
4266
+ # Create StreamResolverMessageProducerParsed with send_to=None
4267
+ return StreamResolverMessageProducerParsed(
4268
+ output_features=[str(f) for f in output_features_list],
4269
+ format="ipc_stream",
4270
+ send_to=None,
4271
+ feature_expressions=None,
4272
+ )
4273
+
4274
+
4187
4275
  class StreamResolverMessageProducerParsed:
4188
4276
  def __init__(
4189
4277
  self,
4190
- send_to: StreamSource,
4278
+ send_to: StreamSource | None,
4191
4279
  output_features: list[str],
4192
4280
  format: Literal["json", "ipc_stream"],
4193
4281
  feature_expressions: Mapping[str, Underscore] | None = None,