corvic-engine 0.3.0rc51__tar.gz → 0.3.0rc53__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (251) hide show
  1. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/Cargo.lock +24 -24
  2. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/Cargo.toml +1 -1
  3. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/PKG-INFO +1 -1
  4. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/pyproject.toml +2 -2
  5. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic/model/_pipeline.py +0 -30
  6. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic/model/_proto_orm_convert.py +31 -23
  7. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic/model/_resource.py +29 -8
  8. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic/orm/__init__.py +0 -6
  9. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic/system/storage.py +3 -3
  10. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic/table/table.py +16 -1
  11. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic_generated/ingest/v2/resource_pb2.py +16 -14
  12. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic_generated/ingest/v2/resource_pb2.pyi +12 -8
  13. corvic_engine-0.3.0rc53/python/corvic_generated/model/v1alpha/models_pb2.py +54 -0
  14. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic_generated/model/v1alpha/models_pb2.pyi +6 -13
  15. corvic_engine-0.3.0rc51/python/corvic_generated/model/v1alpha/models_pb2.py +0 -58
  16. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/LICENSE +0 -0
  17. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/README.md +0 -0
  18. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/Cargo.toml +0 -0
  19. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/buf/validate/expression_pb2.py +0 -0
  20. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/buf/validate/expression_pb2.pyi +0 -0
  21. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/buf/validate/expression_pb2_grpc.py +0 -0
  22. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/buf/validate/expression_pb2_grpc.pyi +0 -0
  23. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/buf/validate/priv/private_pb2.py +0 -0
  24. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/buf/validate/priv/private_pb2.pyi +0 -0
  25. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/buf/validate/priv/private_pb2_grpc.py +0 -0
  26. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/buf/validate/priv/private_pb2_grpc.pyi +0 -0
  27. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/buf/validate/validate_pb2.py +0 -0
  28. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/buf/validate/validate_pb2.pyi +0 -0
  29. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/buf/validate/validate_pb2_grpc.py +0 -0
  30. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/buf/validate/validate_pb2_grpc.pyi +0 -0
  31. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic/context/__init__.py +0 -0
  32. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic/context/py.typed +0 -0
  33. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic/embed/__init__.py +0 -0
  34. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic/embed/node2vec.py +0 -0
  35. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic/embed/py.typed +0 -0
  36. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic/embedding_metric/__init__.py +0 -0
  37. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic/embedding_metric/embeddings.py +0 -0
  38. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic/embedding_metric/py.typed +0 -0
  39. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic/engine/__init__.py +0 -0
  40. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic/engine/_native.pyi +0 -0
  41. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic/engine/py.typed +0 -0
  42. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic/model/__init__.py +0 -0
  43. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic/model/_agent.py +0 -0
  44. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic/model/_base_model.py +0 -0
  45. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic/model/_completion_model.py +0 -0
  46. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic/model/_defaults.py +0 -0
  47. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic/model/_errors.py +0 -0
  48. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic/model/_feature_type.py +0 -0
  49. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic/model/_feature_view.py +0 -0
  50. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic/model/_room.py +0 -0
  51. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic/model/_source.py +0 -0
  52. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic/model/_space.py +0 -0
  53. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic/model/py.typed +0 -0
  54. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic/op_graph/__init__.py +0 -0
  55. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic/op_graph/_schema.py +0 -0
  56. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic/op_graph/_transformations.py +0 -0
  57. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic/op_graph/aggregation.py +0 -0
  58. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic/op_graph/encoders.py +0 -0
  59. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic/op_graph/errors.py +0 -0
  60. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic/op_graph/feature_types.py +0 -0
  61. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic/op_graph/ops.py +0 -0
  62. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic/op_graph/py.typed +0 -0
  63. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic/op_graph/row_filters/__init__.py +0 -0
  64. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic/op_graph/row_filters/_jsonlogic.py +0 -0
  65. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic/op_graph/row_filters/_row_filters.py +0 -0
  66. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic/op_graph/sample_strategy.py +0 -0
  67. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic/orm/_proto_columns.py +0 -0
  68. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic/orm/base.py +0 -0
  69. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic/orm/errors.py +0 -0
  70. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic/orm/func/__init__.py +0 -0
  71. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic/orm/func/utc_func.py +0 -0
  72. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic/orm/func/uuid_func.py +0 -0
  73. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic/orm/ids.py +0 -0
  74. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic/orm/keys.py +0 -0
  75. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic/orm/mixins.py +0 -0
  76. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic/orm/py.typed +0 -0
  77. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic/pa_scalar/__init__.py +0 -0
  78. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic/pa_scalar/_const.py +0 -0
  79. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic/pa_scalar/_from_value.py +0 -0
  80. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic/pa_scalar/_temporal.py +0 -0
  81. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic/pa_scalar/_to_value.py +0 -0
  82. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic/pa_scalar/_types.py +0 -0
  83. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic/pa_scalar/py.typed +0 -0
  84. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic/proto_wrapper/__init__.py +0 -0
  85. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic/proto_wrapper/_errors.py +0 -0
  86. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic/proto_wrapper/_wrappers.py +0 -0
  87. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic/proto_wrapper/py.typed +0 -0
  88. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic/result/__init__.py +0 -0
  89. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic/result/py.typed +0 -0
  90. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic/sql/__init__.py +0 -0
  91. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic/sql/parse_ops.py +0 -0
  92. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic/sql/py.typed +0 -0
  93. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic/system/__init__.py +0 -0
  94. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic/system/_dimension_reduction.py +0 -0
  95. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic/system/_embedder.py +0 -0
  96. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic/system/_image_embedder.py +0 -0
  97. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic/system/_planner.py +0 -0
  98. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic/system/_text_embedder.py +0 -0
  99. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic/system/client.py +0 -0
  100. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic/system/in_memory_executor.py +0 -0
  101. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic/system/op_graph_executor.py +0 -0
  102. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic/system/py.typed +0 -0
  103. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic/system/staging.py +0 -0
  104. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic/system_sqlite/__init__.py +0 -0
  105. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic/system_sqlite/client.py +0 -0
  106. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic/system_sqlite/fs_blob_store.py +0 -0
  107. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic/system_sqlite/py.typed +0 -0
  108. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic/system_sqlite/rdbms_blob_store.py +0 -0
  109. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic/system_sqlite/staging.py +0 -0
  110. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic/table/__init__.py +0 -0
  111. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic/table/py.typed +0 -0
  112. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic/version/__init__.py +0 -0
  113. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic/version/py.typed +0 -0
  114. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic/well_known_types/__init__.py +0 -0
  115. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic/well_known_types/py.typed +0 -0
  116. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic_generated/__init__.py +0 -0
  117. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic_generated/algorithm/__init__.py +0 -0
  118. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic_generated/algorithm/graph/__init__.py +0 -0
  119. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic_generated/algorithm/graph/v1/__init__.py +0 -0
  120. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic_generated/algorithm/graph/v1/graph_pb2.py +0 -0
  121. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic_generated/algorithm/graph/v1/graph_pb2.pyi +0 -0
  122. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic_generated/algorithm/graph/v1/graph_pb2_grpc.py +0 -0
  123. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic_generated/algorithm/graph/v1/graph_pb2_grpc.pyi +0 -0
  124. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic_generated/chat/__init__.py +0 -0
  125. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic_generated/chat/v1/__init__.py +0 -0
  126. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic_generated/chat/v1/service_pb2.py +0 -0
  127. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic_generated/chat/v1/service_pb2.pyi +0 -0
  128. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic_generated/chat/v1/service_pb2_grpc.py +0 -0
  129. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic_generated/chat/v1/service_pb2_grpc.pyi +0 -0
  130. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic_generated/completion/__init__.py +0 -0
  131. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic_generated/completion/v1/__init__.py +0 -0
  132. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic_generated/completion/v1/service_pb2.py +0 -0
  133. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic_generated/completion/v1/service_pb2.pyi +0 -0
  134. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic_generated/completion/v1/service_pb2_grpc.py +0 -0
  135. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic_generated/completion/v1/service_pb2_grpc.pyi +0 -0
  136. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic_generated/config/__init__.py +0 -0
  137. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic_generated/config/v1/__init__.py +0 -0
  138. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic_generated/config/v1/settings_pb2.py +0 -0
  139. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic_generated/config/v1/settings_pb2.pyi +0 -0
  140. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic_generated/config/v1/settings_pb2_grpc.py +0 -0
  141. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic_generated/config/v1/settings_pb2_grpc.pyi +0 -0
  142. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic_generated/embedding/__init__.py +0 -0
  143. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic_generated/embedding/v1/__init__.py +0 -0
  144. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic_generated/embedding/v1/models_pb2.py +0 -0
  145. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic_generated/embedding/v1/models_pb2.pyi +0 -0
  146. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic_generated/embedding/v1/models_pb2_grpc.py +0 -0
  147. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic_generated/embedding/v1/models_pb2_grpc.pyi +0 -0
  148. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic_generated/feature/__init__.py +0 -0
  149. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic_generated/feature/v1/__init__.py +0 -0
  150. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic_generated/feature/v1/experiment_pb2.py +0 -0
  151. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic_generated/feature/v1/experiment_pb2.pyi +0 -0
  152. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic_generated/feature/v1/experiment_pb2_grpc.py +0 -0
  153. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic_generated/feature/v1/experiment_pb2_grpc.pyi +0 -0
  154. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic_generated/feature/v1/space_pb2.py +0 -0
  155. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic_generated/feature/v1/space_pb2.pyi +0 -0
  156. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic_generated/feature/v1/space_pb2_grpc.py +0 -0
  157. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic_generated/feature/v1/space_pb2_grpc.pyi +0 -0
  158. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic_generated/feature/v2/__init__.py +0 -0
  159. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic_generated/feature/v2/feature_view_pb2.py +0 -0
  160. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic_generated/feature/v2/feature_view_pb2.pyi +0 -0
  161. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic_generated/feature/v2/feature_view_pb2_grpc.py +0 -0
  162. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic_generated/feature/v2/feature_view_pb2_grpc.pyi +0 -0
  163. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic_generated/feature/v2/space_pb2.py +0 -0
  164. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic_generated/feature/v2/space_pb2.pyi +0 -0
  165. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic_generated/feature/v2/space_pb2_grpc.py +0 -0
  166. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic_generated/feature/v2/space_pb2_grpc.pyi +0 -0
  167. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic_generated/ingest/__init__.py +0 -0
  168. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic_generated/ingest/v1/__init__.py +0 -0
  169. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic_generated/ingest/v1/service_pb2.py +0 -0
  170. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic_generated/ingest/v1/service_pb2.pyi +0 -0
  171. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic_generated/ingest/v1/service_pb2_grpc.py +0 -0
  172. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic_generated/ingest/v1/service_pb2_grpc.pyi +0 -0
  173. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic_generated/ingest/v2/__init__.py +0 -0
  174. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic_generated/ingest/v2/pipeline_pb2.py +0 -0
  175. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic_generated/ingest/v2/pipeline_pb2.pyi +0 -0
  176. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic_generated/ingest/v2/pipeline_pb2_grpc.py +0 -0
  177. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic_generated/ingest/v2/pipeline_pb2_grpc.pyi +0 -0
  178. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic_generated/ingest/v2/quick_mode_pb2.py +0 -0
  179. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic_generated/ingest/v2/quick_mode_pb2.pyi +0 -0
  180. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic_generated/ingest/v2/quick_mode_pb2_grpc.py +0 -0
  181. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic_generated/ingest/v2/quick_mode_pb2_grpc.pyi +0 -0
  182. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic_generated/ingest/v2/resource_pb2_grpc.py +0 -0
  183. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic_generated/ingest/v2/resource_pb2_grpc.pyi +0 -0
  184. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic_generated/ingest/v2/room_pb2.py +0 -0
  185. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic_generated/ingest/v2/room_pb2.pyi +0 -0
  186. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic_generated/ingest/v2/room_pb2_grpc.py +0 -0
  187. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic_generated/ingest/v2/room_pb2_grpc.pyi +0 -0
  188. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic_generated/ingest/v2/source_pb2.py +0 -0
  189. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic_generated/ingest/v2/source_pb2.pyi +0 -0
  190. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic_generated/ingest/v2/source_pb2_grpc.py +0 -0
  191. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic_generated/ingest/v2/source_pb2_grpc.pyi +0 -0
  192. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic_generated/ingest/v2/table_pb2.py +0 -0
  193. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic_generated/ingest/v2/table_pb2.pyi +0 -0
  194. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic_generated/ingest/v2/table_pb2_grpc.py +0 -0
  195. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic_generated/ingest/v2/table_pb2_grpc.pyi +0 -0
  196. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic_generated/model/__init__.py +0 -0
  197. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic_generated/model/v1alpha/__init__.py +0 -0
  198. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic_generated/model/v1alpha/models_pb2_grpc.py +0 -0
  199. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic_generated/model/v1alpha/models_pb2_grpc.pyi +0 -0
  200. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic_generated/orm/__init__.py +0 -0
  201. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic_generated/orm/v1/__init__.py +0 -0
  202. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic_generated/orm/v1/agent_pb2.py +0 -0
  203. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic_generated/orm/v1/agent_pb2.pyi +0 -0
  204. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic_generated/orm/v1/agent_pb2_grpc.py +0 -0
  205. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic_generated/orm/v1/agent_pb2_grpc.pyi +0 -0
  206. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic_generated/orm/v1/common_pb2.py +0 -0
  207. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic_generated/orm/v1/common_pb2.pyi +0 -0
  208. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic_generated/orm/v1/common_pb2_grpc.py +0 -0
  209. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic_generated/orm/v1/common_pb2_grpc.pyi +0 -0
  210. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic_generated/orm/v1/completion_model_pb2.py +0 -0
  211. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic_generated/orm/v1/completion_model_pb2.pyi +0 -0
  212. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic_generated/orm/v1/completion_model_pb2_grpc.py +0 -0
  213. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic_generated/orm/v1/completion_model_pb2_grpc.pyi +0 -0
  214. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic_generated/orm/v1/feature_view_pb2.py +0 -0
  215. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic_generated/orm/v1/feature_view_pb2.pyi +0 -0
  216. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic_generated/orm/v1/feature_view_pb2_grpc.py +0 -0
  217. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic_generated/orm/v1/feature_view_pb2_grpc.pyi +0 -0
  218. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic_generated/orm/v1/pipeline_pb2.py +0 -0
  219. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic_generated/orm/v1/pipeline_pb2.pyi +0 -0
  220. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic_generated/orm/v1/pipeline_pb2_grpc.py +0 -0
  221. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic_generated/orm/v1/pipeline_pb2_grpc.pyi +0 -0
  222. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic_generated/orm/v1/space_pb2.py +0 -0
  223. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic_generated/orm/v1/space_pb2.pyi +0 -0
  224. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic_generated/orm/v1/space_pb2_grpc.py +0 -0
  225. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic_generated/orm/v1/space_pb2_grpc.pyi +0 -0
  226. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic_generated/orm/v1/table_pb2.py +0 -0
  227. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic_generated/orm/v1/table_pb2.pyi +0 -0
  228. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic_generated/orm/v1/table_pb2_grpc.py +0 -0
  229. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic_generated/orm/v1/table_pb2_grpc.pyi +0 -0
  230. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic_generated/platform/__init__.py +0 -0
  231. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic_generated/platform/v1/__init__.py +0 -0
  232. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic_generated/platform/v1/platform_pb2.py +0 -0
  233. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic_generated/platform/v1/platform_pb2.pyi +0 -0
  234. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic_generated/platform/v1/platform_pb2_grpc.py +0 -0
  235. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic_generated/platform/v1/platform_pb2_grpc.pyi +0 -0
  236. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic_generated/query/__init__.py +0 -0
  237. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic_generated/query/v1/__init__.py +0 -0
  238. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic_generated/query/v1/query_pb2.py +0 -0
  239. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic_generated/query/v1/query_pb2.pyi +0 -0
  240. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic_generated/query/v1/query_pb2_grpc.py +0 -0
  241. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic_generated/query/v1/query_pb2_grpc.pyi +0 -0
  242. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic_generated/status/__init__.py +0 -0
  243. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic_generated/status/v1/__init__.py +0 -0
  244. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic_generated/status/v1/event_pb2.py +0 -0
  245. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic_generated/status/v1/event_pb2.pyi +0 -0
  246. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic_generated/status/v1/event_pb2_grpc.py +0 -0
  247. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic_generated/status/v1/event_pb2_grpc.pyi +0 -0
  248. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic_generated/status/v1/service_pb2.py +0 -0
  249. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic_generated/status/v1/service_pb2.pyi +0 -0
  250. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic_generated/status/v1/service_pb2_grpc.py +0 -0
  251. {corvic_engine-0.3.0rc51 → corvic_engine-0.3.0rc53}/python/corvic_generated/status/v1/service_pb2_grpc.pyi +0 -0
@@ -10,9 +10,9 @@ checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26"
10
10
 
11
11
  [[package]]
12
12
  name = "bitflags"
13
- version = "2.8.0"
13
+ version = "2.9.0"
14
14
  source = "registry+https://github.com/rust-lang/crates.io-index"
15
- checksum = "8f68f53c83ab957f72c32642f3868eec03eb974d1fb82e453128456482613d36"
15
+ checksum = "5c8214115b7bf84099f1309324e63141d4c5d7cc26862f97a0a857dbefe165bd"
16
16
 
17
17
  [[package]]
18
18
  name = "cfg-if"
@@ -22,7 +22,7 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
22
22
 
23
23
  [[package]]
24
24
  name = "corvic-engine"
25
- version = "0.3.0-rc.51"
25
+ version = "0.3.0-rc.53"
26
26
  dependencies = [
27
27
  "numpy",
28
28
  "pyo3",
@@ -57,13 +57,13 @@ checksum = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28"
57
57
 
58
58
  [[package]]
59
59
  name = "either"
60
- version = "1.13.0"
60
+ version = "1.15.0"
61
61
  source = "registry+https://github.com/rust-lang/crates.io-index"
62
- checksum = "60b1af1c220855b6ceac025d3f6ecdd2b7c4894bfe9cd9bda4fbb4bc7c0d4cf0"
62
+ checksum = "48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719"
63
63
 
64
64
  [[package]]
65
65
  name = "engine-walk"
66
- version = "0.3.0-rc.51"
66
+ version = "0.3.0-rc.53"
67
67
  dependencies = [
68
68
  "version_check",
69
69
  ]
@@ -76,15 +76,15 @@ checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8"
76
76
 
77
77
  [[package]]
78
78
  name = "indoc"
79
- version = "2.0.5"
79
+ version = "2.0.6"
80
80
  source = "registry+https://github.com/rust-lang/crates.io-index"
81
- checksum = "b248f5224d1d606005e02c97f5aa4e88eeb230488bcc03bc9ca4d7991399f2b5"
81
+ checksum = "f4c7245a08504955605670dbf141fceab975f15ca21570696aebe9d2e71576bd"
82
82
 
83
83
  [[package]]
84
84
  name = "libc"
85
- version = "0.2.169"
85
+ version = "0.2.170"
86
86
  source = "registry+https://github.com/rust-lang/crates.io-index"
87
- checksum = "b5aba8db14291edd000dfcc4d620c7ebfb122c613afb886ca8803fa4e128a20a"
87
+ checksum = "875b3680cb2f8f71bdcf9a30f38d48282f5d3c95cbf9b3fa57269bb5d5c06828"
88
88
 
89
89
  [[package]]
90
90
  name = "lock_api"
@@ -201,15 +201,15 @@ dependencies = [
201
201
 
202
202
  [[package]]
203
203
  name = "portable-atomic"
204
- version = "1.10.0"
204
+ version = "1.11.0"
205
205
  source = "registry+https://github.com/rust-lang/crates.io-index"
206
- checksum = "280dc24453071f1b63954171985a0b0d30058d287960968b9b2aca264c8d4ee6"
206
+ checksum = "350e9b48cbc6b0e028b0473b114454c6316e57336ee184ceab6e53f72c178b3e"
207
207
 
208
208
  [[package]]
209
209
  name = "proc-macro2"
210
- version = "1.0.93"
210
+ version = "1.0.94"
211
211
  source = "registry+https://github.com/rust-lang/crates.io-index"
212
- checksum = "60946a68e5f9d28b0dc1c21bb8a97ee7d018a8b322fa57838ba31cc878e22d99"
212
+ checksum = "a31971752e70b8b2686d7e46ec17fb38dad4051d94024c88df49b667caea9c84"
213
213
  dependencies = [
214
214
  "unicode-ident",
215
215
  ]
@@ -279,9 +279,9 @@ dependencies = [
279
279
 
280
280
  [[package]]
281
281
  name = "quote"
282
- version = "1.0.38"
282
+ version = "1.0.39"
283
283
  source = "registry+https://github.com/rust-lang/crates.io-index"
284
- checksum = "0e4dccaaaf89514f546c693ddc140f729f958c247918a13380cccc6078391acc"
284
+ checksum = "c1f1914ce909e1658d9907913b4b91947430c7d9be598b15a1912935b8c04801"
285
285
  dependencies = [
286
286
  "proc-macro2",
287
287
  ]
@@ -314,9 +314,9 @@ dependencies = [
314
314
 
315
315
  [[package]]
316
316
  name = "redox_syscall"
317
- version = "0.5.8"
317
+ version = "0.5.10"
318
318
  source = "registry+https://github.com/rust-lang/crates.io-index"
319
- checksum = "03a862b389f93e68874fbf580b9de08dd02facb9a788ebadaf4a3fd33cf58834"
319
+ checksum = "0b8c0c260b63a8219631167be35e6a988e9554dbd323f8bd08439c8ed1302bd1"
320
320
  dependencies = [
321
321
  "bitflags",
322
322
  ]
@@ -341,9 +341,9 @@ checksum = "7fcf8323ef1faaee30a44a340193b1ac6814fd9b7b4e88e9d4519a3e4abe1cfd"
341
341
 
342
342
  [[package]]
343
343
  name = "syn"
344
- version = "2.0.98"
344
+ version = "2.0.99"
345
345
  source = "registry+https://github.com/rust-lang/crates.io-index"
346
- checksum = "36147f1a48ae0ec2b5b3bc5b537d267457555a10dc06f3dbc8cb11ba3006d3b1"
346
+ checksum = "e02e925281e18ffd9d640e234264753c43edc62d64b2d4cf898f1bc5e75f3fc2"
347
347
  dependencies = [
348
348
  "proc-macro2",
349
349
  "quote",
@@ -368,15 +368,15 @@ dependencies = [
368
368
 
369
369
  [[package]]
370
370
  name = "unicode-ident"
371
- version = "1.0.17"
371
+ version = "1.0.18"
372
372
  source = "registry+https://github.com/rust-lang/crates.io-index"
373
- checksum = "00e2473a93778eb0bad35909dff6a10d28e63f792f16ed15e404fca9d5eeedbe"
373
+ checksum = "5a5f39404a5da50712a4c1eecf25e90dd62b613502b7e925fd4e4d19b5c96512"
374
374
 
375
375
  [[package]]
376
376
  name = "unindent"
377
- version = "0.2.3"
377
+ version = "0.2.4"
378
378
  source = "registry+https://github.com/rust-lang/crates.io-index"
379
- checksum = "c7de7d73e1754487cb58364ee906a499937a0dfabd86bcb980fa99ec8c8fa2ce"
379
+ checksum = "7264e107f553ccae879d21fbea1d6724ac785e8c3bfc762137959b5802826ef3"
380
380
 
381
381
  [[package]]
382
382
  name = "version_check"
@@ -3,7 +3,7 @@ resolver = "2"
3
3
  members = ["python"]
4
4
 
5
5
  [workspace.package]
6
- version = "0.3.0-rc.51"
6
+ version = "0.3.0-rc.53"
7
7
  edition = "2021"
8
8
  publish = false
9
9
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: corvic-engine
3
- Version: 0.3.0rc51
3
+ Version: 0.3.0rc53
4
4
  Classifier: Environment :: Console
5
5
  Classifier: License :: Other/Proprietary License
6
6
  Classifier: Programming Language :: Python :: Implementation :: CPython
@@ -20,7 +20,7 @@ authors = [
20
20
  ]
21
21
  readme = "README.md"
22
22
  description = "Seamless embedding generation and retrieval."
23
- version = "0.3.0-rc.51" # sync this with tool.poetry.version below
23
+ version = "0.3.0-rc.53" # sync this with tool.poetry.version below
24
24
 
25
25
  # TODO(ddn): Pull dependencies from tool.poetry.dependencies. We use maturin as
26
26
  # the build system but poetry for the development environment.
@@ -74,7 +74,7 @@ packages = [
74
74
  ]
75
75
  description = ""
76
76
  authors = []
77
- version = "0.3.0-rc.51"
77
+ version = "0.3.0-rc.53"
78
78
 
79
79
  [tool.poetry.scripts]
80
80
  check = "corvic_check.cli:main"
@@ -22,7 +22,6 @@ from corvic.model._proto_orm_convert import (
22
22
  pipeline_orm_to_proto,
23
23
  pipeline_proto_to_orm,
24
24
  )
25
- from corvic.model._resource import Resource, ResourceID
26
25
  from corvic.model._source import Source
27
26
  from corvic.result import InvalidArgumentError, NotFoundError, Ok
28
27
  from corvic_generated.model.v1alpha import models_pb2
@@ -122,9 +121,6 @@ class Pipeline(BaseModel[PipelineID, models_pb2.Pipeline, orm.Pipeline]):
122
121
  @classmethod
123
122
  def orm_load_options(cls) -> list[LoaderOption]:
124
123
  return [
125
- sa_orm.selectinload(orm.Pipeline.inputs)
126
- .selectinload(orm.PipelineInput.resource)
127
- .selectinload(orm.Resource.pipeline_ref),
128
124
  sa_orm.selectinload(orm.Pipeline.outputs)
129
125
  .selectinload(orm.PipelineOutput.source)
130
126
  .selectinload(orm.Source.pipeline_ref),
@@ -168,13 +164,6 @@ class Pipeline(BaseModel[PipelineID, models_pb2.Pipeline, orm.Pipeline]):
168
164
  def description(self):
169
165
  return self.proto_self.description
170
166
 
171
- @functools.cached_property
172
- def inputs(self) -> Mapping[str, Resource]:
173
- return {
174
- name: Resource(self.client, proto_resource)
175
- for name, proto_resource in self.proto_self.resource_inputs.items()
176
- }
177
-
178
167
  @functools.cached_property
179
168
  def outputs(self) -> Mapping[str, Source]:
180
169
  return {
@@ -187,25 +176,6 @@ class Pipeline(BaseModel[PipelineID, models_pb2.Pipeline, orm.Pipeline]):
187
176
  new_proto.name = name
188
177
  return self.__class__(self.client, proto_self=new_proto)
189
178
 
190
- def with_input(
191
- self, resource: Resource | ResourceID
192
- ) -> Ok[Self] | NotFoundError | InvalidArgumentError:
193
- if isinstance(resource, ResourceID):
194
- match Resource.from_id(resource, self.client):
195
- case NotFoundError() as err:
196
- return err
197
- case Ok(obj):
198
- resource = obj
199
-
200
- if resource.room_id != self.room_id:
201
- return InvalidArgumentError("cannot add inputs from other rooms")
202
-
203
- input_name = f"output-{uuid.uuid4()}"
204
- new_proto = copy.deepcopy(self.proto_self)
205
- new_proto.resource_inputs[input_name].CopyFrom(resource.proto_self)
206
-
207
- return Ok(self.__class__(self.client, proto_self=new_proto))
208
-
209
179
 
210
180
  class UnknownTransformationPipeline(Pipeline):
211
181
  """A pipeline that this version of the code doesn't know what to do with."""
@@ -103,6 +103,11 @@ def timestamp_orm_to_proto(
103
103
 
104
104
 
105
105
  def resource_orm_to_proto(resource_orm: orm.Resource) -> models_pb2.Resource:
106
+ pipeline_input_name = ""
107
+ pipeline_id = ""
108
+ if resource_orm.pipeline_ref:
109
+ pipeline_input_name = resource_orm.pipeline_ref.name
110
+ pipeline_id = str(resource_orm.pipeline_ref.pipeline_id)
106
111
  return models_pb2.Resource(
107
112
  id=str(resource_orm.id),
108
113
  name=resource_orm.name,
@@ -115,9 +120,8 @@ def resource_orm_to_proto(resource_orm: orm.Resource) -> models_pb2.Resource:
115
120
  room_id=str(resource_orm.room_id),
116
121
  org_id=str(resource_orm.org_id),
117
122
  recent_events=[resource_orm.latest_event] if resource_orm.latest_event else [],
118
- pipeline_id=str(resource_orm.pipeline_ref.pipeline_id)
119
- if resource_orm.pipeline_ref
120
- else "",
123
+ pipeline_id=pipeline_id,
124
+ pipeline_input_name=pipeline_input_name,
121
125
  created_at=timestamp_orm_to_proto(resource_orm.created_at),
122
126
  )
123
127
 
@@ -192,10 +196,6 @@ def pipeline_orm_to_proto(
192
196
  id=str(pipeline_orm.id),
193
197
  name=pipeline_orm.name,
194
198
  room_id=str(pipeline_orm.room_id),
195
- resource_inputs={
196
- input_obj.name: resource_orm_to_proto(input_obj.resource)
197
- for input_obj in pipeline_orm.inputs
198
- },
199
199
  source_outputs={
200
200
  output_obj.name: source_orm_to_proto(output_obj.source)
201
201
  for output_obj in pipeline_orm.outputs
@@ -279,7 +279,30 @@ def resource_proto_to_orm(
279
279
  latest_event=proto_obj.recent_events[-1] if proto_obj.recent_events else None,
280
280
  room_id=room_id,
281
281
  )
282
- return Ok(_add_orm_to_session(orm_obj, proto_obj.org_id, session))
282
+ _add_orm_to_session(orm_obj, proto_obj.org_id, session)
283
+
284
+ if proto_obj.pipeline_id:
285
+ match _translate_orm_id(proto_obj.pipeline_id, orm.PipelineID):
286
+ case orm.InvalidORMIdentifierError() as err:
287
+ return err
288
+ case Ok(pipeline_id):
289
+ pass
290
+ if not pipeline_id:
291
+ return InvalidArgumentError("resource's pipeline cannot be anonymous")
292
+ session.flush()
293
+ if not orm_obj.id:
294
+ raise InternalError("internal assertion did not hold")
295
+ pipeline_input = orm.PipelineInput(
296
+ resource_id=orm_obj.id,
297
+ name=proto_obj.pipeline_input_name,
298
+ pipeline_id=pipeline_id,
299
+ room_id=room_id,
300
+ )
301
+ if orm_obj.org_id:
302
+ pipeline_input.org_id = orm_obj.org_id
303
+ orm_obj.pipeline_ref = session.merge(pipeline_input)
304
+
305
+ return Ok(orm_obj)
283
306
 
284
307
 
285
308
  def _ensure_id(
@@ -329,21 +352,6 @@ def pipeline_proto_to_orm( # noqa: C901
329
352
  if not orm_obj.id:
330
353
  raise InternalError("internal assertion did not hold")
331
354
 
332
- for name, val in proto_obj.resource_inputs.items():
333
- match _ensure_id(val, resource_proto_to_orm, orm.ResourceID, session):
334
- case orm.InvalidORMIdentifierError() | InvalidArgumentError() as err:
335
- return err
336
- case Ok(resource_id):
337
- pass
338
- inputs.append(
339
- orm.PipelineInput(
340
- resource_id=resource_id,
341
- name=name,
342
- pipeline_id=orm_obj.id,
343
- room_id=room_id,
344
- )
345
- )
346
-
347
355
  outputs = list[orm.PipelineOutput]()
348
356
  for name, val in proto_obj.source_outputs.items():
349
357
  match _ensure_id(val, source_proto_to_orm, orm.SourceID, session):
@@ -4,6 +4,7 @@ from __future__ import annotations
4
4
 
5
5
  import copy
6
6
  import datetime
7
+ import uuid
7
8
  from collections.abc import Iterable, Sequence
8
9
  from typing import TypeAlias
9
10
 
@@ -127,6 +128,7 @@ class Resource(BaseModel[ResourceID, models_pb2.Resource, orm.Resource]):
127
128
  cls,
128
129
  *,
129
130
  room_id: RoomID | None = None,
131
+ pipeline_id: PipelineID | None = None,
130
132
  limit: int | None = None,
131
133
  created_before: datetime.datetime | None = None,
132
134
  client: system.Client | None = None,
@@ -136,13 +138,19 @@ class Resource(BaseModel[ResourceID, models_pb2.Resource, orm.Resource]):
136
138
  ) -> Ok[list[Resource]] | NotFoundError | InvalidArgumentError:
137
139
  """List resources."""
138
140
  client = client or Defaults.get_default_client()
139
- additional_query_transform = None
140
141
 
141
- def url_filter(query: sa.Select[tuple[orm.Resource]]):
142
- return query.filter_by(url=url)
143
-
144
- if url is not None:
145
- additional_query_transform = url_filter
142
+ def query_transform(query: sa.Select[tuple[orm.Resource]]):
143
+ if url:
144
+ query = query.where(orm.Resource.url == url)
145
+ if pipeline_id:
146
+ query = query.where(
147
+ orm.Resource.id.in_(
148
+ sa.select(orm.PipelineInput.resource_id).where(
149
+ orm.PipelineInput.pipeline_id == pipeline_id
150
+ )
151
+ )
152
+ )
153
+ return query
146
154
 
147
155
  match cls.list_as_proto(
148
156
  client,
@@ -151,7 +159,7 @@ class Resource(BaseModel[ResourceID, models_pb2.Resource, orm.Resource]):
151
159
  created_before=created_before,
152
160
  ids=ids,
153
161
  existing_session=existing_session,
154
- additional_query_transform=additional_query_transform,
162
+ additional_query_transform=query_transform,
155
163
  ):
156
164
  case NotFoundError() | InvalidArgumentError() as err:
157
165
  return err
@@ -219,10 +227,23 @@ class Resource(BaseModel[ResourceID, models_pb2.Resource, orm.Resource]):
219
227
  client = client or Defaults.get_default_client()
220
228
  room_id = room_id or Defaults.get_default_room_id(client)
221
229
 
222
- blob = client.storage_manager.make_tabular_blob(room_id, "anonymous_tables")
230
+ blob = client.storage_manager.make_tabular_blob(
231
+ room_id, f"polars_dataframe/{uuid.uuid4()}"
232
+ )
223
233
  with blob.open(mode="wb") as stream:
224
234
  data_frame.write_parquet(stream)
225
235
 
226
236
  blob.content_type = "application/octet-stream"
227
237
  blob.patch()
228
238
  return cls.from_blob(blob.url, blob, client, room_id=room_id)
239
+
240
+ def as_input_to(self, pipeline_id: orm.PipelineID) -> Self:
241
+ new_proto = copy.deepcopy(self.proto_self)
242
+ new_proto.pipeline_id = str(pipeline_id)
243
+ new_proto.pipeline_input_name = f"output-{uuid.uuid4()}"
244
+
245
+ return self.__class__(self.client, proto_self=new_proto)
246
+
247
+ @property
248
+ def pipeline_input_name(self) -> str:
249
+ return self.proto_self.pipeline_input_name
@@ -163,12 +163,6 @@ class Pipeline(BelongsToOrgMixin, BelongsToRoomMixin, Base):
163
163
  description: sa_orm.Mapped[str | None] = sa_orm.mapped_column()
164
164
  id: sa_orm.Mapped[PipelineID | None] = primary_key_identity_column()
165
165
 
166
- inputs: sa_orm.Mapped[list[PipelineInput]] = sa_orm.relationship(
167
- viewonly=True,
168
- init=False,
169
- default_factory=list,
170
- )
171
-
172
166
  outputs: sa_orm.Mapped[list[PipelineOutput]] = sa_orm.relationship(
173
167
  viewonly=True,
174
168
  init=False,
@@ -144,7 +144,7 @@ class StorageManager:
144
144
 
145
145
  def make_tabular_blob(self, room_id: orm.RoomID, suffix: str | None = None) -> Blob:
146
146
  if suffix:
147
- name = f"{self._render_room_id(room_id)}/{uuid.uuid4()}/{suffix}"
147
+ name = f"{self._render_room_id(room_id)}/{suffix}"
148
148
  else:
149
149
  name = f"{self._render_room_id(room_id)}/{uuid.uuid4()}"
150
150
  return self.bucket.blob(f"{self.tabular_prefix}/{name}")
@@ -153,14 +153,14 @@ class StorageManager:
153
153
  self, room_id: orm.RoomID, suffix: str | None = None
154
154
  ) -> Blob:
155
155
  if suffix:
156
- name = f"{self._render_room_id(room_id)}/{uuid.uuid4()}/{suffix}"
156
+ name = f"{self._render_room_id(room_id)}/{suffix}"
157
157
  else:
158
158
  name = f"{self._render_room_id(room_id)}/{uuid.uuid4()}"
159
159
  return self.bucket.blob(f"{self.unstructured_prefix}/{name}")
160
160
 
161
161
  def make_vector_blob(self, room_id: orm.RoomID, suffix: str | None = None) -> Blob:
162
162
  if suffix:
163
- name = f"{self._render_room_id(room_id)}/{uuid.uuid4()}/{suffix}"
163
+ name = f"{self._render_room_id(room_id)}/{suffix}"
164
164
  else:
165
165
  name = f"{self._render_room_id(room_id)}/{uuid.uuid4()}"
166
166
  return self.bucket.blob(f"{self.vector_prefix}/{name}")
@@ -4,6 +4,7 @@ from __future__ import annotations
4
4
 
5
5
  import dataclasses
6
6
  import functools
7
+ import uuid
7
8
  from collections.abc import Iterable, Mapping, Sequence
8
9
  from typing import (
9
10
  Any,
@@ -61,6 +62,9 @@ _TM = TypeVar("_TM", bound=TypedMetadata)
61
62
 
62
63
  _logger = structlog.get_logger()
63
64
 
65
+ CORVIC_RESERVED_PREFIX = "__corvic"
66
+ CORVIC_SURROGATE_ID = f"{CORVIC_RESERVED_PREFIX}_surrogate_id"
67
+
64
68
 
65
69
  @dataclasses.dataclass
66
70
  class DataclassAsTypedMetadataMixin:
@@ -362,6 +366,16 @@ class Table:
362
366
  case Ok(op):
363
367
  pass
364
368
 
369
+ # For internally added columns we can set custom feature types
370
+ if CORVIC_SURROGATE_ID in schema:
371
+ match op.update_feature_types(
372
+ {CORVIC_SURROGATE_ID: op_graph.feature_type.identifier()}
373
+ ):
374
+ case InvalidArgumentError() as error:
375
+ return error
376
+ case Ok(op):
377
+ pass
378
+
365
379
  return Ok(cls.from_ops(client, op))
366
380
 
367
381
  def to_bytes(self):
@@ -453,7 +467,8 @@ class Table:
453
467
  TableComputeContext(
454
468
  self.op_graph,
455
469
  output_url_prefix=self.client.storage_manager.make_tabular_blob(
456
- room_id=room_id, suffix="anonymous_tables"
470
+ room_id=room_id,
471
+ suffix=f"anonymous_tables-{uuid.uuid4()}.parquet",
457
472
  ).url,
458
473
  )
459
474
  ],
@@ -18,7 +18,7 @@ from google.protobuf import descriptor_pb2 as google_dot_protobuf_dot_descriptor
18
18
  from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2
19
19
 
20
20
 
21
- DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1f\x63orvic/ingest/v2/resource.proto\x12\x10\x63orvic.ingest.v2\x1a\x1b\x62uf/validate/validate.proto\x1a\x1c\x63orvic/status/v1/event.proto\x1a google/protobuf/descriptor.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\x89\x03\n\x10ResourceMetadata\x12\x1b\n\x04name\x18\x01 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\x04name\x12\x1b\n\tmime_type\x18\x02 \x01(\tR\x08mimeType\x12y\n\x07room_id\x18\x03 \x01(\tB`\xbaH]\xba\x01Z\n\x0estring.pattern\x12\x16value must be a number\x1a\x30this.matches(\'^[0-9]+$\') && !this.endsWith(\'\\n\')R\x06roomId\x12#\n\roriginal_path\x18\x05 \x01(\tR\x0coriginalPath\x12 \n\x0b\x64\x65scription\x18\x06 \x01(\tR\x0b\x64\x65scription\x12\x1f\n\x0bpipeline_id\x18\x08 \x01(\tR\npipelineId\x12;\n\ttype_hint\x18\x04 \x01(\x0e\x32\x1e.corvic.ingest.v2.ResourceTypeR\x08typeHint\x12\x1b\n\x04size\x18\x07 \x01(\x03\x42\x07\xbaH\x04\"\x02 \x00R\x04size\"\xf7\x02\n\rResourceEntry\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x1b\n\x04name\x18\x02 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\x04name\x12\x1b\n\tmime_type\x18\x03 \x01(\tR\x08mimeType\x12\x10\n\x03md5\x18\x05 \x01(\tR\x03md5\x12\x17\n\x07room_id\x18\x06 \x01(\tR\x06roomId\x12\x12\n\x04size\x18\x07 \x01(\x04R\x04size\x12#\n\roriginal_path\x18\t \x01(\tR\x0coriginalPath\x12 \n\x0b\x64\x65scription\x18\x0b \x01(\tR\x0b\x64\x65scription\x12\x1f\n\x0bpipeline_id\x18\x0c \x01(\tR\npipelineId\x12\x37\n\x18referenced_by_source_ids\x18\n \x03(\tR\x15referencedBySourceIds\x12<\n\rrecent_events\x18\x08 \x03(\x0b\x32\x17.corvic.status.v1.EventR\x0crecentEvents\"p\n\x16\x43reateUploadURLRequest\x12>\n\x08metadata\x18\x01 \x01(\x0b\x32\".corvic.ingest.v2.ResourceMetadataR\x08metadata\x12\x16\n\x06origin\x18\x02 \x01(\tR\x06origin\"A\n\x17\x43reateUploadURLResponse\x12\x10\n\x03url\x18\x01 \x01(\tR\x03url\x12\x14\n\x05token\x18\x02 \x01(\tR\x05token\"s\n\x15UploadURLTokenPayload\x12>\n\x08metadata\x18\x01 \x01(\x0b\x32\".corvic.ingest.v2.ResourceMetadataR\x08metadata\x12\x1a\n\x08\x66ilename\x18\x02 \x01(\tR\x08\x66ilename\"0\n\x18\x46inalizeUploadURLRequest\x12\x14\n\x05token\x18\x01 \x01(\tR\x05token\"R\n\x19\x46inalizeUploadURLResponse\x12\x35\n\x05\x65ntry\x18\x01 \x01(\x0b\x32\x1f.corvic.ingest.v2.ResourceEntryR\x05\x65ntry\"\x89\x01\n\x15\x44\x65leteResourceRequest\x12p\n\x02id\x18\x01 \x01(\tB`\xbaH]\xba\x01Z\n\x0estring.pattern\x12\x16value must be a number\x1a\x30this.matches(\'^[0-9]+$\') && !this.endsWith(\'\\n\')R\x02id\"\x18\n\x16\x44\x65leteResourceResponse\"\x86\x01\n\x12GetResourceRequest\x12p\n\x02id\x18\x01 \x01(\tB`\xbaH]\xba\x01Z\n\x0estring.pattern\x12\x16value must be a number\x1a\x30this.matches(\'^[0-9]+$\') && !this.endsWith(\'\\n\')R\x02id\"L\n\x13GetResourceResponse\x12\x35\n\x05\x65ntry\x18\x01 \x01(\x0b\x32\x1f.corvic.ingest.v2.ResourceEntryR\x05\x65ntry\"\x94\x01\n\x14ListResourcesRequest\x12|\n\x07room_id\x18\x01 \x01(\tBc\xbaH`\xba\x01Z\n\x0estring.pattern\x12\x16value must be a number\x1a\x30this.matches(\'^[0-9]+$\') && !this.endsWith(\'\\n\')\xd0\x01\x01R\x06roomId\"N\n\x15ListResourcesResponse\x12\x35\n\x05\x65ntry\x18\x01 \x01(\x0b\x32\x1f.corvic.ingest.v2.ResourceEntryR\x05\x65ntry\"\x85\x01\n\x0cResourceList\x12u\n\x02id\x18\x01 \x03(\tBe\xbaHb\x92\x01_\"]\xba\x01Z\n\x0estring.pattern\x12\x16value must be a number\x1a\x30this.matches(\'^[0-9]+$\') && !this.endsWith(\'\\n\')R\x02id\"\xd4\x01\n\x15WatchResourcesRequest\x12{\n\x07room_id\x18\x01 \x01(\tB`\xbaH]\xba\x01Z\n\x0estring.pattern\x12\x16value must be a number\x1a\x30this.matches(\'^[0-9]+$\') && !this.endsWith(\'\\n\')H\x00R\x06roomId\x12\x32\n\x03ids\x18\x02 \x01(\x0b\x32\x1e.corvic.ingest.v2.ResourceListH\x00R\x03idsB\n\n\x08selector\"d\n\x16WatchResourcesResponse\x12J\n\x10updated_resource\x18\x01 \x01(\x0b\x32\x1f.corvic.ingest.v2.ResourceEntryR\x0fupdatedResource\"\x94\x01\n#ListResourcesPaginatedCursorPayload\x12T\n\x19\x63reate_time_of_last_entry\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\x15\x63reateTimeOfLastEntry\x12\x17\n\x07room_id\x18\x02 \x01(\tR\x06roomId\"\xdf\x01\n\x1dListResourcesPaginatedRequest\x12|\n\x07room_id\x18\x01 \x01(\tBc\xbaH`\xba\x01Z\n\x0estring.pattern\x12\x16value must be a number\x1a\x30this.matches(\'^[0-9]+$\') && !this.endsWith(\'\\n\')\xd0\x01\x01R\x06roomId\x12(\n\x10\x65ntries_per_page\x18\x02 \x01(\rR\x0e\x65ntriesPerPage\x12\x16\n\x06\x63ursor\x18\x03 \x01(\tR\x06\x63ursor\"o\n\x1eListResourcesPaginatedResponse\x12\x35\n\x05\x65ntry\x18\x01 \x03(\x0b\x32\x1f.corvic.ingest.v2.ResourceEntryR\x05\x65ntry\x12\x16\n\x06\x63ursor\x18\x02 \x01(\tR\x06\x63ursor\"\x94\x01\n CreateResourceDownloadURLRequest\x12p\n\x02id\x18\x01 \x01(\tB`\xbaH]\xba\x01Z\n\x0estring.pattern\x12\x16value must be a number\x1a\x30this.matches(\'^[0-9]+$\') && !this.endsWith(\'\\n\')R\x02id\"5\n!CreateResourceDownloadURLResponse\x12\x10\n\x03url\x18\x01 \x01(\tR\x03url*\xab\x01\n\x0cResourceType\x12\x1d\n\x19RESOURCE_TYPE_UNSPECIFIED\x10\x00\x12\x1b\n\x13RESOURCE_TYPE_TABLE\x10\x01\x1a\x02\x08\x01\x12!\n\x1dRESOURCE_TYPE_DIMENSION_TABLE\x10\x02\x12\x1c\n\x18RESOURCE_TYPE_FACT_TABLE\x10\x03\x12\x1e\n\x1aRESOURCE_TYPE_PDF_DOCUMENT\x10\x04\x32\x97\x07\n\x0fResourceService\x12h\n\x0f\x43reateUploadURL\x12(.corvic.ingest.v2.CreateUploadURLRequest\x1a).corvic.ingest.v2.CreateUploadURLResponse\"\x00\x12q\n\x11\x46inalizeUploadURL\x12*.corvic.ingest.v2.FinalizeUploadURLRequest\x1a+.corvic.ingest.v2.FinalizeUploadURLResponse\"\x03\x90\x02\x02\x12\x65\n\x0e\x44\x65leteResource\x12\'.corvic.ingest.v2.DeleteResourceRequest\x1a(.corvic.ingest.v2.DeleteResourceResponse\"\x00\x12_\n\x0bGetResource\x12$.corvic.ingest.v2.GetResourceRequest\x1a%.corvic.ingest.v2.GetResourceResponse\"\x03\x90\x02\x01\x12g\n\rListResources\x12&.corvic.ingest.v2.ListResourcesRequest\x1a\'.corvic.ingest.v2.ListResourcesResponse\"\x03\x90\x02\x01\x30\x01\x12\x80\x01\n\x16ListResourcesPaginated\x12/.corvic.ingest.v2.ListResourcesPaginatedRequest\x1a\x30.corvic.ingest.v2.ListResourcesPaginatedResponse\"\x03\x90\x02\x01\x12j\n\x0eWatchResources\x12\'.corvic.ingest.v2.WatchResourcesRequest\x1a(.corvic.ingest.v2.WatchResourcesResponse\"\x03\x90\x02\x01\x30\x01\x12\x86\x01\n\x19\x43reateResourceDownloadURL\x12\x32.corvic.ingest.v2.CreateResourceDownloadURLRequest\x1a\x33.corvic.ingest.v2.CreateResourceDownloadURLResponse\"\x00\x62\x06proto3')
21
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1f\x63orvic/ingest/v2/resource.proto\x12\x10\x63orvic.ingest.v2\x1a\x1b\x62uf/validate/validate.proto\x1a\x1c\x63orvic/status/v1/event.proto\x1a google/protobuf/descriptor.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\x89\x03\n\x10ResourceMetadata\x12\x1b\n\x04name\x18\x01 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\x04name\x12\x1b\n\tmime_type\x18\x02 \x01(\tR\x08mimeType\x12y\n\x07room_id\x18\x03 \x01(\tB`\xbaH]\xba\x01Z\n\x0estring.pattern\x12\x16value must be a number\x1a\x30this.matches(\'^[0-9]+$\') && !this.endsWith(\'\\n\')R\x06roomId\x12#\n\roriginal_path\x18\x05 \x01(\tR\x0coriginalPath\x12 \n\x0b\x64\x65scription\x18\x06 \x01(\tR\x0b\x64\x65scription\x12\x1f\n\x0bpipeline_id\x18\x08 \x01(\tR\npipelineId\x12;\n\ttype_hint\x18\x04 \x01(\x0e\x32\x1e.corvic.ingest.v2.ResourceTypeR\x08typeHint\x12\x1b\n\x04size\x18\x07 \x01(\x03\x42\x07\xbaH\x04\"\x02 \x00R\x04size\"\xf7\x02\n\rResourceEntry\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x1b\n\x04name\x18\x02 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\x04name\x12\x1b\n\tmime_type\x18\x03 \x01(\tR\x08mimeType\x12\x10\n\x03md5\x18\x05 \x01(\tR\x03md5\x12\x17\n\x07room_id\x18\x06 \x01(\tR\x06roomId\x12\x12\n\x04size\x18\x07 \x01(\x04R\x04size\x12#\n\roriginal_path\x18\t \x01(\tR\x0coriginalPath\x12 \n\x0b\x64\x65scription\x18\x0b \x01(\tR\x0b\x64\x65scription\x12\x1f\n\x0bpipeline_id\x18\x0c \x01(\tR\npipelineId\x12\x37\n\x18referenced_by_source_ids\x18\n \x03(\tR\x15referencedBySourceIds\x12<\n\rrecent_events\x18\x08 \x03(\x0b\x32\x17.corvic.status.v1.EventR\x0crecentEvents\"p\n\x16\x43reateUploadURLRequest\x12>\n\x08metadata\x18\x01 \x01(\x0b\x32\".corvic.ingest.v2.ResourceMetadataR\x08metadata\x12\x16\n\x06origin\x18\x02 \x01(\tR\x06origin\"A\n\x17\x43reateUploadURLResponse\x12\x10\n\x03url\x18\x01 \x01(\tR\x03url\x12\x14\n\x05token\x18\x02 \x01(\tR\x05token\"s\n\x15UploadURLTokenPayload\x12>\n\x08metadata\x18\x01 \x01(\x0b\x32\".corvic.ingest.v2.ResourceMetadataR\x08metadata\x12\x1a\n\x08\x66ilename\x18\x02 \x01(\tR\x08\x66ilename\"0\n\x18\x46inalizeUploadURLRequest\x12\x14\n\x05token\x18\x01 \x01(\tR\x05token\"R\n\x19\x46inalizeUploadURLResponse\x12\x35\n\x05\x65ntry\x18\x01 \x01(\x0b\x32\x1f.corvic.ingest.v2.ResourceEntryR\x05\x65ntry\"\x89\x01\n\x15\x44\x65leteResourceRequest\x12p\n\x02id\x18\x01 \x01(\tB`\xbaH]\xba\x01Z\n\x0estring.pattern\x12\x16value must be a number\x1a\x30this.matches(\'^[0-9]+$\') && !this.endsWith(\'\\n\')R\x02id\"\x18\n\x16\x44\x65leteResourceResponse\"\x86\x01\n\x12GetResourceRequest\x12p\n\x02id\x18\x01 \x01(\tB`\xbaH]\xba\x01Z\n\x0estring.pattern\x12\x16value must be a number\x1a\x30this.matches(\'^[0-9]+$\') && !this.endsWith(\'\\n\')R\x02id\"L\n\x13GetResourceResponse\x12\x35\n\x05\x65ntry\x18\x01 \x01(\x0b\x32\x1f.corvic.ingest.v2.ResourceEntryR\x05\x65ntry\"\x94\x01\n\x14ListResourcesRequest\x12|\n\x07room_id\x18\x01 \x01(\tBc\xbaH`\xba\x01Z\n\x0estring.pattern\x12\x16value must be a number\x1a\x30this.matches(\'^[0-9]+$\') && !this.endsWith(\'\\n\')\xd0\x01\x01R\x06roomId\"N\n\x15ListResourcesResponse\x12\x35\n\x05\x65ntry\x18\x01 \x01(\x0b\x32\x1f.corvic.ingest.v2.ResourceEntryR\x05\x65ntry\"\x85\x01\n\x0cResourceList\x12u\n\x02id\x18\x01 \x03(\tBe\xbaHb\x92\x01_\"]\xba\x01Z\n\x0estring.pattern\x12\x16value must be a number\x1a\x30this.matches(\'^[0-9]+$\') && !this.endsWith(\'\\n\')R\x02id\"\xd4\x01\n\x15WatchResourcesRequest\x12{\n\x07room_id\x18\x01 \x01(\tB`\xbaH]\xba\x01Z\n\x0estring.pattern\x12\x16value must be a number\x1a\x30this.matches(\'^[0-9]+$\') && !this.endsWith(\'\\n\')H\x00R\x06roomId\x12\x32\n\x03ids\x18\x02 \x01(\x0b\x32\x1e.corvic.ingest.v2.ResourceListH\x00R\x03idsB\n\n\x08selector\"d\n\x16WatchResourcesResponse\x12J\n\x10updated_resource\x18\x01 \x01(\x0b\x32\x1f.corvic.ingest.v2.ResourceEntryR\x0fupdatedResource\"\xb5\x01\n#ListResourcesPaginatedCursorPayload\x12T\n\x19\x63reate_time_of_last_entry\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\x15\x63reateTimeOfLastEntry\x12\x17\n\x07room_id\x18\x02 \x01(\tR\x06roomId\x12\x1f\n\x0bpipeline_id\x18\x03 \x01(\tR\npipelineId\"\xe6\x02\n\x1dListResourcesPaginatedRequest\x12|\n\x07room_id\x18\x01 \x01(\tBc\xbaH`\xba\x01Z\n\x0estring.pattern\x12\x16value must be a number\x1a\x30this.matches(\'^[0-9]+$\') && !this.endsWith(\'\\n\')\xd0\x01\x01R\x06roomId\x12\x84\x01\n\x0bpipeline_id\x18\x04 \x01(\tBc\xbaH`\xba\x01Z\n\x0estring.pattern\x12\x16value must be a number\x1a\x30this.matches(\'^[0-9]+$\') && !this.endsWith(\'\\n\')\xd0\x01\x01R\npipelineId\x12(\n\x10\x65ntries_per_page\x18\x02 \x01(\rR\x0e\x65ntriesPerPage\x12\x16\n\x06\x63ursor\x18\x03 \x01(\tR\x06\x63ursor\"\x91\x01\n\x1eListResourcesPaginatedResponse\x12J\n\x10resource_entries\x18\x03 \x03(\x0b\x32\x1f.corvic.ingest.v2.ResourceEntryR\x0fresourceEntries\x12\x16\n\x06\x63ursor\x18\x02 \x01(\tR\x06\x63ursorJ\x04\x08\x01\x10\x02R\x05\x65ntry\"\x94\x01\n CreateResourceDownloadURLRequest\x12p\n\x02id\x18\x01 \x01(\tB`\xbaH]\xba\x01Z\n\x0estring.pattern\x12\x16value must be a number\x1a\x30this.matches(\'^[0-9]+$\') && !this.endsWith(\'\\n\')R\x02id\"5\n!CreateResourceDownloadURLResponse\x12\x10\n\x03url\x18\x01 \x01(\tR\x03url*\xab\x01\n\x0cResourceType\x12\x1d\n\x19RESOURCE_TYPE_UNSPECIFIED\x10\x00\x12\x1b\n\x13RESOURCE_TYPE_TABLE\x10\x01\x1a\x02\x08\x01\x12!\n\x1dRESOURCE_TYPE_DIMENSION_TABLE\x10\x02\x12\x1c\n\x18RESOURCE_TYPE_FACT_TABLE\x10\x03\x12\x1e\n\x1aRESOURCE_TYPE_PDF_DOCUMENT\x10\x04\x32\x97\x07\n\x0fResourceService\x12h\n\x0f\x43reateUploadURL\x12(.corvic.ingest.v2.CreateUploadURLRequest\x1a).corvic.ingest.v2.CreateUploadURLResponse\"\x00\x12q\n\x11\x46inalizeUploadURL\x12*.corvic.ingest.v2.FinalizeUploadURLRequest\x1a+.corvic.ingest.v2.FinalizeUploadURLResponse\"\x03\x90\x02\x02\x12\x65\n\x0e\x44\x65leteResource\x12\'.corvic.ingest.v2.DeleteResourceRequest\x1a(.corvic.ingest.v2.DeleteResourceResponse\"\x00\x12_\n\x0bGetResource\x12$.corvic.ingest.v2.GetResourceRequest\x1a%.corvic.ingest.v2.GetResourceResponse\"\x03\x90\x02\x01\x12g\n\rListResources\x12&.corvic.ingest.v2.ListResourcesRequest\x1a\'.corvic.ingest.v2.ListResourcesResponse\"\x03\x90\x02\x01\x30\x01\x12\x80\x01\n\x16ListResourcesPaginated\x12/.corvic.ingest.v2.ListResourcesPaginatedRequest\x1a\x30.corvic.ingest.v2.ListResourcesPaginatedResponse\"\x03\x90\x02\x01\x12j\n\x0eWatchResources\x12\'.corvic.ingest.v2.WatchResourcesRequest\x1a(.corvic.ingest.v2.WatchResourcesResponse\"\x03\x90\x02\x01\x30\x01\x12\x86\x01\n\x19\x43reateResourceDownloadURL\x12\x32.corvic.ingest.v2.CreateResourceDownloadURLRequest\x1a\x33.corvic.ingest.v2.CreateResourceDownloadURLResponse\"\x00\x62\x06proto3')
22
22
 
23
23
  _globals = globals()
24
24
  _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
@@ -47,6 +47,8 @@ if _descriptor._USE_C_DESCRIPTORS == False:
47
47
  _globals['_WATCHRESOURCESREQUEST'].fields_by_name['room_id']._serialized_options = b'\272H]\272\001Z\n\016string.pattern\022\026value must be a number\0320this.matches(\'^[0-9]+$\') && !this.endsWith(\'\\n\')'
48
48
  _globals['_LISTRESOURCESPAGINATEDREQUEST'].fields_by_name['room_id']._options = None
49
49
  _globals['_LISTRESOURCESPAGINATEDREQUEST'].fields_by_name['room_id']._serialized_options = b'\272H`\272\001Z\n\016string.pattern\022\026value must be a number\0320this.matches(\'^[0-9]+$\') && !this.endsWith(\'\\n\')\320\001\001'
50
+ _globals['_LISTRESOURCESPAGINATEDREQUEST'].fields_by_name['pipeline_id']._options = None
51
+ _globals['_LISTRESOURCESPAGINATEDREQUEST'].fields_by_name['pipeline_id']._serialized_options = b'\272H`\272\001Z\n\016string.pattern\022\026value must be a number\0320this.matches(\'^[0-9]+$\') && !this.endsWith(\'\\n\')\320\001\001'
50
52
  _globals['_CREATERESOURCEDOWNLOADURLREQUEST'].fields_by_name['id']._options = None
51
53
  _globals['_CREATERESOURCEDOWNLOADURLREQUEST'].fields_by_name['id']._serialized_options = b'\272H]\272\001Z\n\016string.pattern\022\026value must be a number\0320this.matches(\'^[0-9]+$\') && !this.endsWith(\'\\n\')'
52
54
  _globals['_RESOURCESERVICE'].methods_by_name['FinalizeUploadURL']._options = None
@@ -59,8 +61,8 @@ if _descriptor._USE_C_DESCRIPTORS == False:
59
61
  _globals['_RESOURCESERVICE'].methods_by_name['ListResourcesPaginated']._serialized_options = b'\220\002\001'
60
62
  _globals['_RESOURCESERVICE'].methods_by_name['WatchResources']._options = None
61
63
  _globals['_RESOURCESERVICE'].methods_by_name['WatchResources']._serialized_options = b'\220\002\001'
62
- _globals['_RESOURCETYPE']._serialized_start=3147
63
- _globals['_RESOURCETYPE']._serialized_end=3318
64
+ _globals['_RESOURCETYPE']._serialized_start=3350
65
+ _globals['_RESOURCETYPE']._serialized_end=3521
64
66
  _globals['_RESOURCEMETADATA']._serialized_start=180
65
67
  _globals['_RESOURCEMETADATA']._serialized_end=573
66
68
  _globals['_RESOURCEENTRY']._serialized_start=576
@@ -94,15 +96,15 @@ if _descriptor._USE_C_DESCRIPTORS == False:
94
96
  _globals['_WATCHRESOURCESRESPONSE']._serialized_start=2348
95
97
  _globals['_WATCHRESOURCESRESPONSE']._serialized_end=2448
96
98
  _globals['_LISTRESOURCESPAGINATEDCURSORPAYLOAD']._serialized_start=2451
97
- _globals['_LISTRESOURCESPAGINATEDCURSORPAYLOAD']._serialized_end=2599
98
- _globals['_LISTRESOURCESPAGINATEDREQUEST']._serialized_start=2602
99
- _globals['_LISTRESOURCESPAGINATEDREQUEST']._serialized_end=2825
100
- _globals['_LISTRESOURCESPAGINATEDRESPONSE']._serialized_start=2827
101
- _globals['_LISTRESOURCESPAGINATEDRESPONSE']._serialized_end=2938
102
- _globals['_CREATERESOURCEDOWNLOADURLREQUEST']._serialized_start=2941
103
- _globals['_CREATERESOURCEDOWNLOADURLREQUEST']._serialized_end=3089
104
- _globals['_CREATERESOURCEDOWNLOADURLRESPONSE']._serialized_start=3091
105
- _globals['_CREATERESOURCEDOWNLOADURLRESPONSE']._serialized_end=3144
106
- _globals['_RESOURCESERVICE']._serialized_start=3321
107
- _globals['_RESOURCESERVICE']._serialized_end=4240
99
+ _globals['_LISTRESOURCESPAGINATEDCURSORPAYLOAD']._serialized_end=2632
100
+ _globals['_LISTRESOURCESPAGINATEDREQUEST']._serialized_start=2635
101
+ _globals['_LISTRESOURCESPAGINATEDREQUEST']._serialized_end=2993
102
+ _globals['_LISTRESOURCESPAGINATEDRESPONSE']._serialized_start=2996
103
+ _globals['_LISTRESOURCESPAGINATEDRESPONSE']._serialized_end=3141
104
+ _globals['_CREATERESOURCEDOWNLOADURLREQUEST']._serialized_start=3144
105
+ _globals['_CREATERESOURCEDOWNLOADURLREQUEST']._serialized_end=3292
106
+ _globals['_CREATERESOURCEDOWNLOADURLRESPONSE']._serialized_start=3294
107
+ _globals['_CREATERESOURCEDOWNLOADURLRESPONSE']._serialized_end=3347
108
+ _globals['_RESOURCESERVICE']._serialized_start=3524
109
+ _globals['_RESOURCESERVICE']._serialized_end=4443
108
110
  # @@protoc_insertion_point(module_scope)
@@ -160,30 +160,34 @@ class WatchResourcesResponse(_message.Message):
160
160
  def __init__(self, updated_resource: _Optional[_Union[ResourceEntry, _Mapping]] = ...) -> None: ...
161
161
 
162
162
  class ListResourcesPaginatedCursorPayload(_message.Message):
163
- __slots__ = ("create_time_of_last_entry", "room_id")
163
+ __slots__ = ("create_time_of_last_entry", "room_id", "pipeline_id")
164
164
  CREATE_TIME_OF_LAST_ENTRY_FIELD_NUMBER: _ClassVar[int]
165
165
  ROOM_ID_FIELD_NUMBER: _ClassVar[int]
166
+ PIPELINE_ID_FIELD_NUMBER: _ClassVar[int]
166
167
  create_time_of_last_entry: _timestamp_pb2.Timestamp
167
168
  room_id: str
168
- def __init__(self, create_time_of_last_entry: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., room_id: _Optional[str] = ...) -> None: ...
169
+ pipeline_id: str
170
+ def __init__(self, create_time_of_last_entry: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., room_id: _Optional[str] = ..., pipeline_id: _Optional[str] = ...) -> None: ...
169
171
 
170
172
  class ListResourcesPaginatedRequest(_message.Message):
171
- __slots__ = ("room_id", "entries_per_page", "cursor")
173
+ __slots__ = ("room_id", "pipeline_id", "entries_per_page", "cursor")
172
174
  ROOM_ID_FIELD_NUMBER: _ClassVar[int]
175
+ PIPELINE_ID_FIELD_NUMBER: _ClassVar[int]
173
176
  ENTRIES_PER_PAGE_FIELD_NUMBER: _ClassVar[int]
174
177
  CURSOR_FIELD_NUMBER: _ClassVar[int]
175
178
  room_id: str
179
+ pipeline_id: str
176
180
  entries_per_page: int
177
181
  cursor: str
178
- def __init__(self, room_id: _Optional[str] = ..., entries_per_page: _Optional[int] = ..., cursor: _Optional[str] = ...) -> None: ...
182
+ def __init__(self, room_id: _Optional[str] = ..., pipeline_id: _Optional[str] = ..., entries_per_page: _Optional[int] = ..., cursor: _Optional[str] = ...) -> None: ...
179
183
 
180
184
  class ListResourcesPaginatedResponse(_message.Message):
181
- __slots__ = ("entry", "cursor")
182
- ENTRY_FIELD_NUMBER: _ClassVar[int]
185
+ __slots__ = ("resource_entries", "cursor")
186
+ RESOURCE_ENTRIES_FIELD_NUMBER: _ClassVar[int]
183
187
  CURSOR_FIELD_NUMBER: _ClassVar[int]
184
- entry: _containers.RepeatedCompositeFieldContainer[ResourceEntry]
188
+ resource_entries: _containers.RepeatedCompositeFieldContainer[ResourceEntry]
185
189
  cursor: str
186
- def __init__(self, entry: _Optional[_Iterable[_Union[ResourceEntry, _Mapping]]] = ..., cursor: _Optional[str] = ...) -> None: ...
190
+ def __init__(self, resource_entries: _Optional[_Iterable[_Union[ResourceEntry, _Mapping]]] = ..., cursor: _Optional[str] = ...) -> None: ...
187
191
 
188
192
  class CreateResourceDownloadURLRequest(_message.Message):
189
193
  __slots__ = ("id",)