corvic-engine 0.3.0rc58__tar.gz → 0.3.0rc60__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 (244) hide show
  1. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/Cargo.lock +2 -2
  2. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/Cargo.toml +1 -1
  3. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/PKG-INFO +1 -1
  4. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/pyproject.toml +2 -4
  5. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/corvic/model/__init__.py +0 -3
  6. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/corvic/model/_base_model.py +9 -6
  7. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/corvic/model/_completion_model.py +10 -4
  8. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/corvic/model/_proto_orm_convert.py +4 -91
  9. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/corvic/orm/__init__.py +5 -75
  10. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/corvic/orm/base.py +1 -1
  11. corvic_engine-0.3.0rc60/python/corvic_generated/feature/v2/feature_view_pb2.py +81 -0
  12. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/corvic_generated/feature/v2/feature_view_pb2.pyi +0 -14
  13. corvic_engine-0.3.0rc60/python/corvic_generated/feature/v2/space_pb2.py +137 -0
  14. corvic_engine-0.3.0rc60/python/corvic_generated/ingest/v2/pipeline_pb2.py +68 -0
  15. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/corvic_generated/ingest/v2/quick_mode_pb2.py +18 -13
  16. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/corvic_generated/ingest/v2/quick_mode_pb2.pyi +1 -0
  17. corvic_engine-0.3.0rc60/python/corvic_generated/ingest/v2/resource_pb2.py +116 -0
  18. corvic_engine-0.3.0rc60/python/corvic_generated/ingest/v2/room_pb2.py +79 -0
  19. corvic_engine-0.3.0rc60/python/corvic_generated/ingest/v2/source_pb2.py +97 -0
  20. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/corvic_generated/ingest/v2/table_pb2.py +23 -23
  21. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/corvic_generated/model/v1alpha/models_pb2.py +2 -2
  22. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/corvic_generated/model/v1alpha/models_pb2.pyi +4 -4
  23. corvic_engine-0.3.0rc58/python/corvic/model/_agent.py +0 -154
  24. corvic_engine-0.3.0rc58/python/corvic_generated/chat/v1/service_pb2.py +0 -65
  25. corvic_engine-0.3.0rc58/python/corvic_generated/chat/v1/service_pb2.pyi +0 -132
  26. corvic_engine-0.3.0rc58/python/corvic_generated/chat/v1/service_pb2_grpc.py +0 -198
  27. corvic_engine-0.3.0rc58/python/corvic_generated/chat/v1/service_pb2_grpc.pyi +0 -97
  28. corvic_engine-0.3.0rc58/python/corvic_generated/completion/v1/service_pb2.py +0 -69
  29. corvic_engine-0.3.0rc58/python/corvic_generated/completion/v1/service_pb2.pyi +0 -201
  30. corvic_engine-0.3.0rc58/python/corvic_generated/completion/v1/service_pb2_grpc.py +0 -198
  31. corvic_engine-0.3.0rc58/python/corvic_generated/completion/v1/service_pb2_grpc.pyi +0 -97
  32. corvic_engine-0.3.0rc58/python/corvic_generated/feature/v2/feature_view_pb2.py +0 -89
  33. corvic_engine-0.3.0rc58/python/corvic_generated/feature/v2/space_pb2.py +0 -147
  34. corvic_engine-0.3.0rc58/python/corvic_generated/ingest/v2/pipeline_pb2.py +0 -62
  35. corvic_engine-0.3.0rc58/python/corvic_generated/ingest/v2/resource_pb2.py +0 -110
  36. corvic_engine-0.3.0rc58/python/corvic_generated/ingest/v2/room_pb2.py +0 -79
  37. corvic_engine-0.3.0rc58/python/corvic_generated/ingest/v2/source_pb2.py +0 -97
  38. corvic_engine-0.3.0rc58/python/corvic_generated/orm/__init__.py +0 -0
  39. corvic_engine-0.3.0rc58/python/corvic_generated/orm/v1/__init__.py +0 -0
  40. corvic_engine-0.3.0rc58/python/corvic_generated/query/__init__.py +0 -0
  41. corvic_engine-0.3.0rc58/python/corvic_generated/query/v1/__init__.py +0 -0
  42. corvic_engine-0.3.0rc58/python/corvic_generated/query/v1/query_pb2.py +0 -36
  43. corvic_engine-0.3.0rc58/python/corvic_generated/query/v1/query_pb2.pyi +0 -63
  44. corvic_engine-0.3.0rc58/python/corvic_generated/query/v1/query_pb2_grpc.py +0 -66
  45. corvic_engine-0.3.0rc58/python/corvic_generated/query/v1/query_pb2_grpc.pyi +0 -41
  46. corvic_engine-0.3.0rc58/python/corvic_generated/status/__init__.py +0 -0
  47. corvic_engine-0.3.0rc58/python/corvic_generated/status/v1/__init__.py +0 -0
  48. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/LICENSE +0 -0
  49. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/README.md +0 -0
  50. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/Cargo.toml +0 -0
  51. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/buf/validate/expression_pb2.py +0 -0
  52. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/buf/validate/expression_pb2.pyi +0 -0
  53. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/buf/validate/expression_pb2_grpc.py +0 -0
  54. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/buf/validate/expression_pb2_grpc.pyi +0 -0
  55. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/buf/validate/priv/private_pb2.py +0 -0
  56. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/buf/validate/priv/private_pb2.pyi +0 -0
  57. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/buf/validate/priv/private_pb2_grpc.py +0 -0
  58. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/buf/validate/priv/private_pb2_grpc.pyi +0 -0
  59. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/buf/validate/validate_pb2.py +0 -0
  60. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/buf/validate/validate_pb2.pyi +0 -0
  61. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/buf/validate/validate_pb2_grpc.py +0 -0
  62. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/buf/validate/validate_pb2_grpc.pyi +0 -0
  63. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/corvic/context/__init__.py +0 -0
  64. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/corvic/context/py.typed +0 -0
  65. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/corvic/embed/__init__.py +0 -0
  66. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/corvic/embed/node2vec.py +0 -0
  67. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/corvic/embed/py.typed +0 -0
  68. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/corvic/embedding_metric/__init__.py +0 -0
  69. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/corvic/embedding_metric/embeddings.py +0 -0
  70. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/corvic/embedding_metric/py.typed +0 -0
  71. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/corvic/engine/__init__.py +0 -0
  72. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/corvic/engine/_native.pyi +0 -0
  73. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/corvic/engine/py.typed +0 -0
  74. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/corvic/model/_defaults.py +0 -0
  75. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/corvic/model/_errors.py +0 -0
  76. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/corvic/model/_feature_type.py +0 -0
  77. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/corvic/model/_feature_view.py +0 -0
  78. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/corvic/model/_pipeline.py +0 -0
  79. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/corvic/model/_resource.py +0 -0
  80. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/corvic/model/_room.py +0 -0
  81. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/corvic/model/_source.py +0 -0
  82. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/corvic/model/_space.py +0 -0
  83. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/corvic/model/py.typed +0 -0
  84. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/corvic/op_graph/__init__.py +0 -0
  85. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/corvic/op_graph/_schema.py +0 -0
  86. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/corvic/op_graph/_transformations.py +0 -0
  87. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/corvic/op_graph/aggregation.py +0 -0
  88. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/corvic/op_graph/encoders.py +0 -0
  89. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/corvic/op_graph/errors.py +0 -0
  90. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/corvic/op_graph/feature_types.py +0 -0
  91. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/corvic/op_graph/ops.py +0 -0
  92. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/corvic/op_graph/py.typed +0 -0
  93. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/corvic/op_graph/row_filters/__init__.py +0 -0
  94. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/corvic/op_graph/row_filters/_jsonlogic.py +0 -0
  95. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/corvic/op_graph/row_filters/_row_filters.py +0 -0
  96. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/corvic/op_graph/sample_strategy.py +0 -0
  97. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/corvic/orm/_proto_columns.py +0 -0
  98. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/corvic/orm/errors.py +0 -0
  99. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/corvic/orm/func/__init__.py +0 -0
  100. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/corvic/orm/func/utc_func.py +0 -0
  101. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/corvic/orm/func/uuid_func.py +0 -0
  102. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/corvic/orm/ids.py +0 -0
  103. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/corvic/orm/keys.py +0 -0
  104. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/corvic/orm/mixins.py +0 -0
  105. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/corvic/orm/py.typed +0 -0
  106. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/corvic/pa_scalar/__init__.py +0 -0
  107. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/corvic/pa_scalar/_const.py +0 -0
  108. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/corvic/pa_scalar/_from_value.py +0 -0
  109. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/corvic/pa_scalar/_temporal.py +0 -0
  110. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/corvic/pa_scalar/_to_value.py +0 -0
  111. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/corvic/pa_scalar/_types.py +0 -0
  112. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/corvic/pa_scalar/py.typed +0 -0
  113. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/corvic/proto_wrapper/__init__.py +0 -0
  114. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/corvic/proto_wrapper/_errors.py +0 -0
  115. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/corvic/proto_wrapper/_wrappers.py +0 -0
  116. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/corvic/proto_wrapper/py.typed +0 -0
  117. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/corvic/result/__init__.py +0 -0
  118. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/corvic/result/py.typed +0 -0
  119. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/corvic/sql/__init__.py +0 -0
  120. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/corvic/sql/parse_ops.py +0 -0
  121. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/corvic/sql/py.typed +0 -0
  122. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/corvic/system/__init__.py +0 -0
  123. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/corvic/system/_dimension_reduction.py +0 -0
  124. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/corvic/system/_embedder.py +0 -0
  125. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/corvic/system/_image_embedder.py +0 -0
  126. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/corvic/system/_planner.py +0 -0
  127. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/corvic/system/_text_embedder.py +0 -0
  128. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/corvic/system/client.py +0 -0
  129. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/corvic/system/in_memory_executor.py +0 -0
  130. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/corvic/system/op_graph_executor.py +0 -0
  131. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/corvic/system/py.typed +0 -0
  132. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/corvic/system/staging.py +0 -0
  133. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/corvic/system/storage.py +0 -0
  134. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/corvic/system_sqlite/__init__.py +0 -0
  135. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/corvic/system_sqlite/client.py +0 -0
  136. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/corvic/system_sqlite/fs_blob_store.py +0 -0
  137. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/corvic/system_sqlite/py.typed +0 -0
  138. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/corvic/system_sqlite/rdbms_blob_store.py +0 -0
  139. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/corvic/system_sqlite/staging.py +0 -0
  140. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/corvic/table/__init__.py +0 -0
  141. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/corvic/table/py.typed +0 -0
  142. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/corvic/table/table.py +0 -0
  143. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/corvic/version/__init__.py +0 -0
  144. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/corvic/version/py.typed +0 -0
  145. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/corvic/well_known_types/__init__.py +0 -0
  146. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/corvic/well_known_types/py.typed +0 -0
  147. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/corvic_generated/__init__.py +0 -0
  148. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/corvic_generated/algorithm/__init__.py +0 -0
  149. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/corvic_generated/algorithm/graph/__init__.py +0 -0
  150. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/corvic_generated/algorithm/graph/v1/__init__.py +0 -0
  151. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/corvic_generated/algorithm/graph/v1/graph_pb2.py +0 -0
  152. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/corvic_generated/algorithm/graph/v1/graph_pb2.pyi +0 -0
  153. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/corvic_generated/algorithm/graph/v1/graph_pb2_grpc.py +0 -0
  154. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/corvic_generated/algorithm/graph/v1/graph_pb2_grpc.pyi +0 -0
  155. {corvic_engine-0.3.0rc58/python/corvic_generated/chat → corvic_engine-0.3.0rc60/python/corvic_generated/embedding}/__init__.py +0 -0
  156. {corvic_engine-0.3.0rc58/python/corvic_generated/chat → corvic_engine-0.3.0rc60/python/corvic_generated/embedding}/v1/__init__.py +0 -0
  157. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/corvic_generated/embedding/v1/models_pb2.py +0 -0
  158. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/corvic_generated/embedding/v1/models_pb2.pyi +0 -0
  159. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/corvic_generated/embedding/v1/models_pb2_grpc.py +0 -0
  160. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/corvic_generated/embedding/v1/models_pb2_grpc.pyi +0 -0
  161. {corvic_engine-0.3.0rc58/python/corvic_generated/completion → corvic_engine-0.3.0rc60/python/corvic_generated/feature}/__init__.py +0 -0
  162. {corvic_engine-0.3.0rc58/python/corvic_generated/completion → corvic_engine-0.3.0rc60/python/corvic_generated/feature}/v1/__init__.py +0 -0
  163. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/corvic_generated/feature/v1/experiment_pb2.py +0 -0
  164. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/corvic_generated/feature/v1/experiment_pb2.pyi +0 -0
  165. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/corvic_generated/feature/v1/experiment_pb2_grpc.py +0 -0
  166. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/corvic_generated/feature/v1/experiment_pb2_grpc.pyi +0 -0
  167. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/corvic_generated/feature/v1/space_pb2.py +0 -0
  168. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/corvic_generated/feature/v1/space_pb2.pyi +0 -0
  169. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/corvic_generated/feature/v1/space_pb2_grpc.py +0 -0
  170. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/corvic_generated/feature/v1/space_pb2_grpc.pyi +0 -0
  171. {corvic_engine-0.3.0rc58/python/corvic_generated/embedding → corvic_engine-0.3.0rc60/python/corvic_generated/feature/v2}/__init__.py +0 -0
  172. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/corvic_generated/feature/v2/feature_view_pb2_grpc.py +0 -0
  173. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/corvic_generated/feature/v2/feature_view_pb2_grpc.pyi +0 -0
  174. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/corvic_generated/feature/v2/space_pb2.pyi +0 -0
  175. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/corvic_generated/feature/v2/space_pb2_grpc.py +0 -0
  176. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/corvic_generated/feature/v2/space_pb2_grpc.pyi +0 -0
  177. {corvic_engine-0.3.0rc58/python/corvic_generated/embedding/v1 → corvic_engine-0.3.0rc60/python/corvic_generated/ingest}/__init__.py +0 -0
  178. {corvic_engine-0.3.0rc58/python/corvic_generated/feature → corvic_engine-0.3.0rc60/python/corvic_generated/ingest/v1}/__init__.py +0 -0
  179. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/corvic_generated/ingest/v1/service_pb2.py +0 -0
  180. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/corvic_generated/ingest/v1/service_pb2.pyi +0 -0
  181. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/corvic_generated/ingest/v1/service_pb2_grpc.py +0 -0
  182. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/corvic_generated/ingest/v1/service_pb2_grpc.pyi +0 -0
  183. {corvic_engine-0.3.0rc58/python/corvic_generated/feature/v1 → corvic_engine-0.3.0rc60/python/corvic_generated/ingest/v2}/__init__.py +0 -0
  184. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/corvic_generated/ingest/v2/pipeline_pb2.pyi +0 -0
  185. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/corvic_generated/ingest/v2/pipeline_pb2_grpc.py +0 -0
  186. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/corvic_generated/ingest/v2/pipeline_pb2_grpc.pyi +0 -0
  187. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/corvic_generated/ingest/v2/quick_mode_pb2_grpc.py +0 -0
  188. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/corvic_generated/ingest/v2/quick_mode_pb2_grpc.pyi +0 -0
  189. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/corvic_generated/ingest/v2/resource_pb2.pyi +0 -0
  190. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/corvic_generated/ingest/v2/resource_pb2_grpc.py +0 -0
  191. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/corvic_generated/ingest/v2/resource_pb2_grpc.pyi +0 -0
  192. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/corvic_generated/ingest/v2/room_pb2.pyi +0 -0
  193. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/corvic_generated/ingest/v2/room_pb2_grpc.py +0 -0
  194. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/corvic_generated/ingest/v2/room_pb2_grpc.pyi +0 -0
  195. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/corvic_generated/ingest/v2/source_pb2.pyi +0 -0
  196. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/corvic_generated/ingest/v2/source_pb2_grpc.py +0 -0
  197. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/corvic_generated/ingest/v2/source_pb2_grpc.pyi +0 -0
  198. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/corvic_generated/ingest/v2/table_pb2.pyi +0 -0
  199. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/corvic_generated/ingest/v2/table_pb2_grpc.py +0 -0
  200. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/corvic_generated/ingest/v2/table_pb2_grpc.pyi +0 -0
  201. {corvic_engine-0.3.0rc58/python/corvic_generated/feature/v2 → corvic_engine-0.3.0rc60/python/corvic_generated/model}/__init__.py +0 -0
  202. {corvic_engine-0.3.0rc58/python/corvic_generated/ingest → corvic_engine-0.3.0rc60/python/corvic_generated/model/v1alpha}/__init__.py +0 -0
  203. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/corvic_generated/model/v1alpha/models_pb2_grpc.py +0 -0
  204. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/corvic_generated/model/v1alpha/models_pb2_grpc.pyi +0 -0
  205. {corvic_engine-0.3.0rc58/python/corvic_generated/ingest/v1 → corvic_engine-0.3.0rc60/python/corvic_generated/orm}/__init__.py +0 -0
  206. {corvic_engine-0.3.0rc58/python/corvic_generated/ingest/v2 → corvic_engine-0.3.0rc60/python/corvic_generated/orm/v1}/__init__.py +0 -0
  207. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/corvic_generated/orm/v1/agent_pb2.py +0 -0
  208. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/corvic_generated/orm/v1/agent_pb2.pyi +0 -0
  209. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/corvic_generated/orm/v1/agent_pb2_grpc.py +0 -0
  210. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/corvic_generated/orm/v1/agent_pb2_grpc.pyi +0 -0
  211. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/corvic_generated/orm/v1/common_pb2.py +0 -0
  212. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/corvic_generated/orm/v1/common_pb2.pyi +0 -0
  213. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/corvic_generated/orm/v1/common_pb2_grpc.py +0 -0
  214. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/corvic_generated/orm/v1/common_pb2_grpc.pyi +0 -0
  215. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/corvic_generated/orm/v1/completion_model_pb2.py +0 -0
  216. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/corvic_generated/orm/v1/completion_model_pb2.pyi +0 -0
  217. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/corvic_generated/orm/v1/completion_model_pb2_grpc.py +0 -0
  218. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/corvic_generated/orm/v1/completion_model_pb2_grpc.pyi +0 -0
  219. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/corvic_generated/orm/v1/feature_view_pb2.py +0 -0
  220. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/corvic_generated/orm/v1/feature_view_pb2.pyi +0 -0
  221. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/corvic_generated/orm/v1/feature_view_pb2_grpc.py +0 -0
  222. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/corvic_generated/orm/v1/feature_view_pb2_grpc.pyi +0 -0
  223. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/corvic_generated/orm/v1/pipeline_pb2.py +0 -0
  224. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/corvic_generated/orm/v1/pipeline_pb2.pyi +0 -0
  225. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/corvic_generated/orm/v1/pipeline_pb2_grpc.py +0 -0
  226. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/corvic_generated/orm/v1/pipeline_pb2_grpc.pyi +0 -0
  227. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/corvic_generated/orm/v1/space_pb2.py +0 -0
  228. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/corvic_generated/orm/v1/space_pb2.pyi +0 -0
  229. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/corvic_generated/orm/v1/space_pb2_grpc.py +0 -0
  230. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/corvic_generated/orm/v1/space_pb2_grpc.pyi +0 -0
  231. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/corvic_generated/orm/v1/table_pb2.py +0 -0
  232. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/corvic_generated/orm/v1/table_pb2.pyi +0 -0
  233. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/corvic_generated/orm/v1/table_pb2_grpc.py +0 -0
  234. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/corvic_generated/orm/v1/table_pb2_grpc.pyi +0 -0
  235. {corvic_engine-0.3.0rc58/python/corvic_generated/model → corvic_engine-0.3.0rc60/python/corvic_generated/status}/__init__.py +0 -0
  236. {corvic_engine-0.3.0rc58/python/corvic_generated/model/v1alpha → corvic_engine-0.3.0rc60/python/corvic_generated/status/v1}/__init__.py +0 -0
  237. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/corvic_generated/status/v1/event_pb2.py +0 -0
  238. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/corvic_generated/status/v1/event_pb2.pyi +0 -0
  239. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/corvic_generated/status/v1/event_pb2_grpc.py +0 -0
  240. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/corvic_generated/status/v1/event_pb2_grpc.pyi +0 -0
  241. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/corvic_generated/status/v1/service_pb2.py +0 -0
  242. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/corvic_generated/status/v1/service_pb2.pyi +0 -0
  243. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/corvic_generated/status/v1/service_pb2_grpc.py +0 -0
  244. {corvic_engine-0.3.0rc58 → corvic_engine-0.3.0rc60}/python/corvic_generated/status/v1/service_pb2_grpc.pyi +0 -0
@@ -22,7 +22,7 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
22
22
 
23
23
  [[package]]
24
24
  name = "corvic-engine"
25
- version = "0.3.0-rc.58"
25
+ version = "0.3.0-rc.60"
26
26
  dependencies = [
27
27
  "numpy",
28
28
  "pyo3",
@@ -63,7 +63,7 @@ checksum = "48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719"
63
63
 
64
64
  [[package]]
65
65
  name = "engine-walk"
66
- version = "0.3.0-rc.58"
66
+ version = "0.3.0-rc.60"
67
67
  dependencies = [
68
68
  "version_check",
69
69
  ]
@@ -3,7 +3,7 @@ resolver = "2"
3
3
  members = ["python"]
4
4
 
5
5
  [workspace.package]
6
- version = "0.3.0-rc.58"
6
+ version = "0.3.0-rc.60"
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.0rc58
3
+ Version: 0.3.0rc60
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.58" # sync this with tool.poetry.version below
23
+ version = "0.3.0-rc.60" # 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.58"
77
+ version = "0.3.0-rc.60"
78
78
 
79
79
  [tool.poetry.scripts]
80
80
  check = "corvic_check.cli:main"
@@ -165,8 +165,6 @@ torch = [
165
165
  { platform = "linux", version = "^2.4.0", source = "torch-cpu-linux" },
166
166
  { platform = "darwin", version = "^2.4.0", source = "pypi" },
167
167
  ]
168
- torch-geometric = "^2.5.3"
169
- deepgnn-torch = "^0.1.60"
170
168
  transformers = "^4.48.0"
171
169
  umap-learn = "^0.5.5"
172
170
  pillow = "10.4.0"
@@ -1,7 +1,6 @@
1
1
  """Data modeling objects for creating corvic pipelines."""
2
2
 
3
3
  import corvic.model._feature_type as feature_type
4
- from corvic.model._agent import Agent, AgentID
5
4
  from corvic.model._base_model import (
6
5
  BaseModel,
7
6
  BelongsToOrgModel,
@@ -71,8 +70,6 @@ from corvic.model._space import (
71
70
  FeatureType = feature_type.FeatureType
72
71
 
73
72
  __all__ = [
74
- "Agent",
75
- "AgentID",
76
73
  "BaseModel",
77
74
  "BelongsToOrgModel",
78
75
  "BelongsToRoomModel",
@@ -215,12 +215,15 @@ class BaseModel(Generic[ID, ProtoObj, OrmObj], UsesOrmID[ID, ProtoObj]):
215
215
  with orm.Session(
216
216
  self.client.sa_engine, expire_on_commit=False, autoflush=False
217
217
  ) as session:
218
- match self.delete_by_ids([self.id], session):
219
- case InvalidArgumentError() as err:
220
- return err
221
- case Ok(None):
222
- pass
223
- session.commit()
218
+ try:
219
+ match self.delete_by_ids([self.id], session):
220
+ case InvalidArgumentError() as err:
221
+ return err
222
+ case Ok(None):
223
+ pass
224
+ session.commit()
225
+ except sa.exc.IntegrityError as exc:
226
+ return InvalidArgumentError.from_(exc)
224
227
 
225
228
  new_proto_self = copy.copy(self.proto_self)
226
229
  new_proto_self.id = ""
@@ -122,8 +122,12 @@ class CompletionModel(
122
122
  return None
123
123
 
124
124
  @property
125
- def is_validated(self) -> bool:
126
- return self.proto_self.is_validated
125
+ def last_successful_validation(self) -> datetime.datetime | None:
126
+ if self.proto_self.last_successful_validation != UNIX_TIMESTAMP_START_DATETIME:
127
+ return self.proto_self.last_successful_validation.ToDatetime(
128
+ tzinfo=datetime.timezone.utc
129
+ )
130
+ return None
127
131
 
128
132
  @classmethod
129
133
  def create(
@@ -218,7 +222,9 @@ class CompletionModel(
218
222
  proto_self.last_validation_time.FromDatetime(last_validation_time)
219
223
  return CompletionModel(self.client, proto_self)
220
224
 
221
- def with_is_validated(self, *, is_validated: bool) -> CompletionModel:
225
+ def with_last_successful_validation(
226
+ self, last_successful_validation: datetime.datetime
227
+ ) -> CompletionModel:
222
228
  proto_self = copy.deepcopy(self.proto_self)
223
- proto_self.is_validated = is_validated
229
+ proto_self.last_successful_validation.FromDatetime(last_successful_validation)
224
230
  return CompletionModel(self.client, proto_self)
@@ -121,17 +121,6 @@ def source_orm_to_proto(source_orm: orm.Source) -> models_pb2.Source:
121
121
  )
122
122
 
123
123
 
124
- def agent_orm_to_proto(agent_orm: orm.Agent) -> models_pb2.Agent:
125
- return models_pb2.Agent(
126
- id=str(agent_orm.id),
127
- name=agent_orm.name,
128
- room_id=str(agent_orm.room_id),
129
- agent_parameters=agent_orm.parameters,
130
- org_id=str(agent_orm.org_id),
131
- created_at=timestamp_orm_to_proto(agent_orm.created_at),
132
- )
133
-
134
-
135
124
  def feature_view_source_orm_to_proto(
136
125
  feature_view_source_orm: orm.FeatureViewSource,
137
126
  ) -> models_pb2.FeatureViewSource:
@@ -225,7 +214,9 @@ def completion_model_orm_to_proto(
225
214
  last_validation_time=timestamp_orm_to_proto(
226
215
  completion_model_orm.last_validation_time
227
216
  ),
228
- is_validated=completion_model_orm.is_validated,
217
+ last_successful_validation=timestamp_orm_to_proto(
218
+ completion_model_orm.last_successful_validation
219
+ ),
229
220
  )
230
221
 
231
222
 
@@ -399,62 +390,6 @@ def source_proto_to_orm(
399
390
  return add_orm_room_mixin_to_session(orm_obj, proto_obj, orm.SourceID, session)
400
391
 
401
392
 
402
- def _update_agent_associations(
403
- agent: orm.Agent,
404
- session: sa_orm.Session,
405
- ) -> list[orm.SpaceID]:
406
- associated_space_ids = list[orm.SpaceID]()
407
- agent_id = agent.id
408
- agent_parameters = agent.parameters
409
- if not agent_id or not agent_parameters:
410
- return associated_space_ids
411
- for (
412
- raw_space_id,
413
- instruction,
414
- ) in agent_parameters.orchestrator_parameters.space_instructions.items():
415
- space_id = orm.SpaceID(raw_space_id)
416
- space_run_id = (
417
- orm.SpaceRunID(instruction.space_run_id)
418
- if instruction.space_run_id
419
- else None
420
- )
421
- associated_space_ids.append(space_id)
422
- session.merge(
423
- orm.AgentSpaceAssociation(
424
- room_id=agent.room_id,
425
- agent_id=agent_id,
426
- space_id=space_id,
427
- space_run_id=space_run_id,
428
- )
429
- )
430
- return associated_space_ids
431
-
432
-
433
- def agent_proto_to_orm(
434
- proto_obj: models_pb2.Agent, session: sa_orm.Session
435
- ) -> Ok[orm.Agent] | orm.InvalidORMIdentifierError | InvalidArgumentError:
436
- orm_obj = orm.Agent(
437
- name=proto_obj.name,
438
- parameters=proto_obj.agent_parameters,
439
- )
440
- match add_orm_room_mixin_to_session(orm_obj, proto_obj, orm.AgentID, session):
441
- case Ok(agent):
442
- pass
443
- case orm.InvalidORMIdentifierError() as err:
444
- return err
445
- session.flush()
446
-
447
- if not agent.id:
448
- return InvalidArgumentError("failed to add agent to session")
449
- associated_space_ids = _update_agent_associations(agent, session)
450
- session.execute(
451
- sa.delete(orm.AgentSpaceAssociation)
452
- .where(orm.AgentSpaceAssociation.agent_id == agent.id)
453
- .where(orm.AgentSpaceAssociation.space_id.not_in(associated_space_ids))
454
- )
455
- return Ok(agent)
456
-
457
-
458
393
  def space_proto_to_orm(
459
394
  proto_obj: models_pb2.Space, session: sa_orm.Session
460
395
  ) -> Ok[orm.Space] | orm.InvalidORMIdentifierError | InvalidArgumentError:
@@ -580,7 +515,7 @@ def completion_model_proto_to_orm(
580
515
  parameters=proto_obj.parameters,
581
516
  secret_api_key=proto_obj.secret_api_key,
582
517
  last_validation_time=proto_obj.last_validation_time.ToDatetime(),
583
- is_validated=proto_obj.is_validated,
518
+ last_successful_validation=proto_obj.last_successful_validation.ToDatetime(),
584
519
  )
585
520
  return add_orm_org_mixin_to_session(
586
521
  orm_obj, proto_obj, orm.CompletionModelID, session
@@ -662,18 +597,6 @@ def resource_delete_orms(
662
597
  return Ok(None)
663
598
 
664
599
 
665
- def agent_delete_orms(
666
- ids: Sequence[orm.AgentID], session: orm.Session
667
- ) -> Ok[None] | InvalidArgumentError:
668
- session.execute(
669
- sa.delete(orm.AgentSpaceAssociation).where(
670
- orm.AgentSpaceAssociation.agent_id.in_(ids)
671
- )
672
- )
673
- session.execute(sa.delete(orm.Agent).where(orm.Agent.id.in_(ids)))
674
- return Ok(None)
675
-
676
-
677
600
  def feature_view_source_delete_orms(
678
601
  ids: Sequence[orm.FeatureViewSourceID], session: orm.Session
679
602
  ) -> Ok[None] | InvalidArgumentError:
@@ -720,16 +643,6 @@ def feature_view_delete_orms(
720
643
  def space_delete_orms(
721
644
  ids: Sequence[orm.SpaceID], session: orm.Session
722
645
  ) -> Ok[None] | InvalidArgumentError:
723
- existing_agents = list(
724
- session.scalars(
725
- sa.select(orm.AgentSpaceAssociation)
726
- .where(orm.AgentSpaceAssociation.space_id.in_(ids))
727
- .limit(1)
728
- )
729
- )
730
- if existing_agents:
731
- return InvalidArgumentError("cannot delete a space that still has agents")
732
-
733
646
  session.execute(sa.delete(orm.Space).where(orm.Space.id.in_(ids)))
734
647
  return Ok(None)
735
648
 
@@ -48,7 +48,6 @@ from corvic.orm.mixins import (
48
48
  live_unique_constraint,
49
49
  )
50
50
  from corvic_generated.orm.v1 import (
51
- agent_pb2,
52
51
  common_pb2,
53
52
  completion_model_pb2,
54
53
  feature_view_pb2,
@@ -292,77 +291,6 @@ class Space(BelongsToOrgMixin, BelongsToRoomMixin, Base, kw_only=True):
292
291
  return self.name
293
292
 
294
293
 
295
- class SpaceRun(BelongsToOrgMixin, BelongsToRoomMixin, Base, kw_only=True):
296
- """A Space run."""
297
-
298
- __tablename__ = "space_run"
299
-
300
- id: sa_orm.Mapped[SpaceRunID | None] = primary_key_identity_column()
301
- table_op_graph: sa_orm.Mapped[table_pb2.TableComputeOp] = sa_orm.mapped_column(
302
- default_factory=table_pb2.TableComputeOp
303
- )
304
- space_id: sa_orm.Mapped[SpaceID] = sa_orm.mapped_column(
305
- ForeignKey(Space).make(ondelete="CASCADE"), nullable=False
306
- )
307
- space: sa_orm.Mapped[Space] = sa_orm.relationship(init=False, viewonly=True)
308
- result_url: sa_orm.Mapped[str | None] = sa_orm.mapped_column(sa.Text, default=None)
309
- coordinates_urls: sa_orm.Mapped[common_pb2.BlobUrlList | None] = (
310
- sa_orm.mapped_column(default=None)
311
- )
312
- latest_event: sa_orm.Mapped[event_pb2.Event | None] = sa_orm.mapped_column(
313
- default=None, nullable=True
314
- )
315
- vector_urls: sa_orm.Mapped[common_pb2.BlobUrlList | None] = sa_orm.mapped_column(
316
- default=None
317
- )
318
-
319
- embedding_metrics: sa_orm.Mapped[common_pb2.EmbeddingMetrics | None] = (
320
- sa_orm.mapped_column(default=None)
321
- )
322
- insight_tools: sa_orm.Mapped[table_pb2.NamedTables | None] = sa_orm.mapped_column(
323
- default=None
324
- )
325
- combine_embeddings_from: sa_orm.Mapped[SpaceRunID | None] = sa_orm.mapped_column(
326
- sa.ForeignKey("space_run.id"), nullable=True, default=None
327
- )
328
-
329
-
330
- class Agent(SoftDeleteMixin, BelongsToOrgMixin, BelongsToRoomMixin, Base, kw_only=True):
331
- """An Agent."""
332
-
333
- __tablename__ = "agent"
334
- __table_args__ = (live_unique_constraint("name", "room_id"),)
335
-
336
- id: sa_orm.Mapped[AgentID | None] = primary_key_identity_column()
337
- name: sa_orm.Mapped[str] = sa_orm.mapped_column(sa.Text, default=None)
338
-
339
- @property
340
- def agent_key(self):
341
- return self.name
342
-
343
- parameters: sa_orm.Mapped[agent_pb2.AgentParameters | None] = sa_orm.mapped_column(
344
- default=None
345
- )
346
-
347
- space_associations: sa_orm.Mapped[list[AgentSpaceAssociation]] = (
348
- sa_orm.relationship(default_factory=list, init=False, viewonly=True)
349
- )
350
-
351
-
352
- class AgentSpaceAssociation(BelongsToOrgMixin, BelongsToRoomMixin, Base, kw_only=True):
353
- __tablename__ = "agent_space_association"
354
-
355
- space_run_id: sa_orm.Mapped[SpaceRunID | None] = sa_orm.mapped_column(
356
- ForeignKey(SpaceRun).make()
357
- )
358
- agent_id: sa_orm.Mapped[AgentID] = primary_key_foreign_column(
359
- ForeignKey(Agent).make(ondelete="CASCADE")
360
- )
361
- space_id: sa_orm.Mapped[SpaceID] = primary_key_foreign_column(
362
- ForeignKey(Space).make()
363
- )
364
-
365
-
366
294
  class CompletionModel(SoftDeleteMixin, BelongsToOrgMixin, Base, kw_only=True):
367
295
  """A customer's custom completion model definition."""
368
296
 
@@ -381,7 +309,11 @@ class CompletionModel(SoftDeleteMixin, BelongsToOrgMixin, Base, kw_only=True):
381
309
  server_default=None,
382
310
  default=None,
383
311
  )
384
- is_validated: sa_orm.Mapped[bool] = sa_orm.mapped_column(default=False)
312
+ last_successful_validation: sa_orm.Mapped[datetime | None] = sa_orm.mapped_column(
313
+ sa.DateTime(timezone=True),
314
+ server_default=None,
315
+ default=None,
316
+ )
385
317
 
386
318
  @property
387
319
  def model_key(self):
@@ -408,7 +340,6 @@ ID = (
408
340
 
409
341
 
410
342
  __all__ = [
411
- "Agent",
412
343
  "AgentID",
413
344
  "AgentMessageID",
414
345
  "Base",
@@ -442,7 +373,6 @@ __all__ = [
442
373
  "Space",
443
374
  "SpaceID",
444
375
  "SpaceParametersID",
445
- "SpaceRun",
446
376
  "SpaceRunID",
447
377
  "UserMessageID",
448
378
  "primary_key_foreign_column",
@@ -167,7 +167,7 @@ class Base(sa_orm.MappedAsDataclass, sa_orm.DeclarativeBase):
167
167
  @updated_at.inplace.expression
168
168
  @classmethod
169
169
  def _updated_at_expression(cls):
170
- return cls._created_at
170
+ return cls._updated_at
171
171
 
172
172
 
173
173
  class OrgBase(Base):
@@ -0,0 +1,81 @@
1
+ # -*- coding: utf-8 -*-
2
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
3
+ # source: corvic/feature/v2/feature_view.proto
4
+ # Protobuf Python Version: 4.25.3
5
+ """Generated protocol buffer code."""
6
+ from google.protobuf import descriptor as _descriptor
7
+ from google.protobuf import descriptor_pool as _descriptor_pool
8
+ from google.protobuf import symbol_database as _symbol_database
9
+ from google.protobuf.internal import builder as _builder
10
+ # @@protoc_insertion_point(imports)
11
+
12
+ _sym_db = _symbol_database.Default()
13
+
14
+
15
+ from buf.validate import validate_pb2 as buf_dot_validate_dot_validate__pb2
16
+ from corvic_generated.ingest.v2 import source_pb2 as corvic_dot_ingest_dot_v2_dot_source__pb2
17
+ from google.protobuf import descriptor_pb2 as google_dot_protobuf_dot_descriptor__pb2
18
+
19
+
20
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n$corvic/feature/v2/feature_view.proto\x12\x11\x63orvic.feature.v2\x1a\x1b\x62uf/validate/validate.proto\x1a\x1d\x63orvic/ingest/v2/source.proto\x1a google/protobuf/descriptor.proto\"\x94\x01\n\x0cOutputSource\x12\x83\x01\n\tsource_id\x18\x01 \x01(\tBf\xbaHcr\x04\x10\x01\x18\x14\xba\x01Z\n\x0estring.pattern\x12\x16value must be a number\x1a\x30this.matches(\'^[0-9]+$\') && !this.endsWith(\'\\n\')R\x08sourceId\"\x9f\x02\n\x10\x46\x65\x61tureViewEntry\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x17\n\x07room_id\x18\x02 \x01(\tR\x06roomId\x12\x44\n\x0esource_entries\x18\x03 \x03(\x0b\x32\x1d.corvic.ingest.v2.SourceEntryR\rsourceEntries\x12\x1b\n\x04name\x18\x04 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\x04name\x12 \n\x0b\x64\x65scription\x18\x05 \x01(\tR\x0b\x64\x65scription\x12\x46\n\x0eoutput_sources\x18\x07 \x03(\x0b\x32\x1f.corvic.feature.v2.OutputSourceR\routputSourcesJ\x04\x08\x06\x10\x07R\x0foutput_entities\"\x8f\x01\n\x15GetFeatureViewRequest\x12v\n\x02id\x18\x01 \x01(\tBf\xbaHcr\x04\x10\x01\x18\x14\xba\x01Z\n\x0estring.pattern\x12\x16value must be a number\x1a\x30this.matches(\'^[0-9]+$\') && !this.endsWith(\'\\n\')R\x02id\"k\n\x16GetFeatureViewResponse\x12Q\n\x12\x66\x65\x61ture_view_entry\x18\x01 \x01(\x0b\x32#.corvic.feature.v2.FeatureViewEntryR\x10\x66\x65\x61tureViewEntry\"\x9c\x01\n\x17ListFeatureViewsRequest\x12\x80\x01\n\x07room_id\x18\x01 \x01(\tBg\xbaHdr\x02\x18\x14\xba\x01Z\n\x0estring.pattern\x12\x16value must be a number\x1a\x30this.matches(\'^[0-9]+$\') && !this.endsWith(\'\\n\')\xd0\x01\x01R\x06roomId\"q\n\x18ListFeatureViewsResponse\x12U\n\x14\x66\x65\x61ture_view_entries\x18\x01 \x03(\x0b\x32#.corvic.feature.v2.FeatureViewEntryR\x12\x66\x65\x61tureViewEntries\"\xd3\x03\n\x18\x43reateFeatureViewRequest\x12\x7f\n\x07room_id\x18\x01 \x01(\tBf\xbaHcr\x04\x10\x01\x18\x14\xba\x01Z\n\x0estring.pattern\x12\x16value must be a number\x1a\x30this.matches(\'^[0-9]+$\') && !this.endsWith(\'\\n\')R\x06roomId\x12\x1e\n\x04name\x18\x02 \x01(\tB\n\xbaH\x07r\x05\x10\x01\x18\xc8\x01R\x04name\x12*\n\x0b\x64\x65scription\x18\x03 \x01(\tB\x08\xbaH\x05r\x03\x18\xe8\x07R\x0b\x64\x65scription\x12\x8a\x01\n\nsource_ids\x18\x04 \x03(\tBk\xbaHh\x92\x01\x65\"cr\x04\x10\x01\x18\x14\xba\x01Z\n\x0estring.pattern\x12\x16value must be a number\x1a\x30this.matches(\'^[0-9]+$\') && !this.endsWith(\'\\n\')R\tsourceIds\x12\x46\n\x0eoutput_sources\x18\x06 \x03(\x0b\x32\x1f.corvic.feature.v2.OutputSourceR\routputSourcesJ\x04\x08\x05\x10\x06R\x0foutput_entities\"n\n\x19\x43reateFeatureViewResponse\x12Q\n\x12\x66\x65\x61ture_view_entry\x18\x01 \x01(\x0b\x32#.corvic.feature.v2.FeatureViewEntryR\x10\x66\x65\x61tureViewEntry\"\x92\x01\n\x18\x44\x65leteFeatureViewRequest\x12v\n\x02id\x18\x01 \x01(\tBf\xbaHcr\x04\x10\x01\x18\x14\xba\x01Z\n\x0estring.pattern\x12\x16value must be a number\x1a\x30this.matches(\'^[0-9]+$\') && !this.endsWith(\'\\n\')R\x02id\"\x1b\n\x19\x44\x65leteFeatureViewResponse\"\x8f\x02\n\"GetFeatureViewRelationshipsRequest\x12\x8a\x01\n\nsource_ids\x18\x01 \x03(\tBk\xbaHh\x92\x01\x65\"cr\x04\x10\x01\x18\x14\xba\x01Z\n\x0estring.pattern\x12\x16value must be a number\x1a\x30this.matches(\'^[0-9]+$\') && !this.endsWith(\'\\n\')R\tsourceIds\x12\x46\n\x0eoutput_sources\x18\x03 \x03(\x0b\x32\x1f.corvic.feature.v2.OutputSourceR\routputSourcesJ\x04\x08\x02\x10\x03R\x0eoutput_entites\"U\n\x12SourceRelationship\x12?\n\x1crelationship_path_source_ids\x18\x03 \x03(\tR\x19relationshipPathSourceIds\"\x7f\n#GetFeatureViewRelationshipsResponse\x12X\n\x14source_relationships\x18\x01 \x03(\x0b\x32%.corvic.feature.v2.SourceRelationshipR\x13sourceRelationships2\xea\x04\n\x12\x46\x65\x61tureViewService\x12j\n\x0eGetFeatureView\x12(.corvic.feature.v2.GetFeatureViewRequest\x1a).corvic.feature.v2.GetFeatureViewResponse\"\x03\x90\x02\x01\x12p\n\x11\x43reateFeatureView\x12+.corvic.feature.v2.CreateFeatureViewRequest\x1a,.corvic.feature.v2.CreateFeatureViewResponse\"\x00\x12p\n\x11\x44\x65leteFeatureView\x12+.corvic.feature.v2.DeleteFeatureViewRequest\x1a,.corvic.feature.v2.DeleteFeatureViewResponse\"\x00\x12p\n\x10ListFeatureViews\x12*.corvic.feature.v2.ListFeatureViewsRequest\x1a+.corvic.feature.v2.ListFeatureViewsResponse\"\x03\x90\x02\x01\x12\x91\x01\n\x1bGetFeatureViewRelationships\x12\x35.corvic.feature.v2.GetFeatureViewRelationshipsRequest\x1a\x36.corvic.feature.v2.GetFeatureViewRelationshipsResponse\"\x03\x90\x02\x01\x62\x06proto3')
21
+
22
+ _globals = globals()
23
+ _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
24
+ _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'corvic.feature.v2.feature_view_pb2', _globals)
25
+ if _descriptor._USE_C_DESCRIPTORS == False:
26
+ DESCRIPTOR._options = None
27
+ _globals['_OUTPUTSOURCE'].fields_by_name['source_id']._options = None
28
+ _globals['_OUTPUTSOURCE'].fields_by_name['source_id']._serialized_options = b'\272Hcr\004\020\001\030\024\272\001Z\n\016string.pattern\022\026value must be a number\0320this.matches(\'^[0-9]+$\') && !this.endsWith(\'\\n\')'
29
+ _globals['_FEATUREVIEWENTRY'].fields_by_name['name']._options = None
30
+ _globals['_FEATUREVIEWENTRY'].fields_by_name['name']._serialized_options = b'\272H\004r\002\020\001'
31
+ _globals['_GETFEATUREVIEWREQUEST'].fields_by_name['id']._options = None
32
+ _globals['_GETFEATUREVIEWREQUEST'].fields_by_name['id']._serialized_options = b'\272Hcr\004\020\001\030\024\272\001Z\n\016string.pattern\022\026value must be a number\0320this.matches(\'^[0-9]+$\') && !this.endsWith(\'\\n\')'
33
+ _globals['_LISTFEATUREVIEWSREQUEST'].fields_by_name['room_id']._options = None
34
+ _globals['_LISTFEATUREVIEWSREQUEST'].fields_by_name['room_id']._serialized_options = b'\272Hdr\002\030\024\272\001Z\n\016string.pattern\022\026value must be a number\0320this.matches(\'^[0-9]+$\') && !this.endsWith(\'\\n\')\320\001\001'
35
+ _globals['_CREATEFEATUREVIEWREQUEST'].fields_by_name['room_id']._options = None
36
+ _globals['_CREATEFEATUREVIEWREQUEST'].fields_by_name['room_id']._serialized_options = b'\272Hcr\004\020\001\030\024\272\001Z\n\016string.pattern\022\026value must be a number\0320this.matches(\'^[0-9]+$\') && !this.endsWith(\'\\n\')'
37
+ _globals['_CREATEFEATUREVIEWREQUEST'].fields_by_name['name']._options = None
38
+ _globals['_CREATEFEATUREVIEWREQUEST'].fields_by_name['name']._serialized_options = b'\272H\007r\005\020\001\030\310\001'
39
+ _globals['_CREATEFEATUREVIEWREQUEST'].fields_by_name['description']._options = None
40
+ _globals['_CREATEFEATUREVIEWREQUEST'].fields_by_name['description']._serialized_options = b'\272H\005r\003\030\350\007'
41
+ _globals['_CREATEFEATUREVIEWREQUEST'].fields_by_name['source_ids']._options = None
42
+ _globals['_CREATEFEATUREVIEWREQUEST'].fields_by_name['source_ids']._serialized_options = b'\272Hh\222\001e\"cr\004\020\001\030\024\272\001Z\n\016string.pattern\022\026value must be a number\0320this.matches(\'^[0-9]+$\') && !this.endsWith(\'\\n\')'
43
+ _globals['_DELETEFEATUREVIEWREQUEST'].fields_by_name['id']._options = None
44
+ _globals['_DELETEFEATUREVIEWREQUEST'].fields_by_name['id']._serialized_options = b'\272Hcr\004\020\001\030\024\272\001Z\n\016string.pattern\022\026value must be a number\0320this.matches(\'^[0-9]+$\') && !this.endsWith(\'\\n\')'
45
+ _globals['_GETFEATUREVIEWRELATIONSHIPSREQUEST'].fields_by_name['source_ids']._options = None
46
+ _globals['_GETFEATUREVIEWRELATIONSHIPSREQUEST'].fields_by_name['source_ids']._serialized_options = b'\272Hh\222\001e\"cr\004\020\001\030\024\272\001Z\n\016string.pattern\022\026value must be a number\0320this.matches(\'^[0-9]+$\') && !this.endsWith(\'\\n\')'
47
+ _globals['_FEATUREVIEWSERVICE'].methods_by_name['GetFeatureView']._options = None
48
+ _globals['_FEATUREVIEWSERVICE'].methods_by_name['GetFeatureView']._serialized_options = b'\220\002\001'
49
+ _globals['_FEATUREVIEWSERVICE'].methods_by_name['ListFeatureViews']._options = None
50
+ _globals['_FEATUREVIEWSERVICE'].methods_by_name['ListFeatureViews']._serialized_options = b'\220\002\001'
51
+ _globals['_FEATUREVIEWSERVICE'].methods_by_name['GetFeatureViewRelationships']._options = None
52
+ _globals['_FEATUREVIEWSERVICE'].methods_by_name['GetFeatureViewRelationships']._serialized_options = b'\220\002\001'
53
+ _globals['_OUTPUTSOURCE']._serialized_start=154
54
+ _globals['_OUTPUTSOURCE']._serialized_end=302
55
+ _globals['_FEATUREVIEWENTRY']._serialized_start=305
56
+ _globals['_FEATUREVIEWENTRY']._serialized_end=592
57
+ _globals['_GETFEATUREVIEWREQUEST']._serialized_start=595
58
+ _globals['_GETFEATUREVIEWREQUEST']._serialized_end=738
59
+ _globals['_GETFEATUREVIEWRESPONSE']._serialized_start=740
60
+ _globals['_GETFEATUREVIEWRESPONSE']._serialized_end=847
61
+ _globals['_LISTFEATUREVIEWSREQUEST']._serialized_start=850
62
+ _globals['_LISTFEATUREVIEWSREQUEST']._serialized_end=1006
63
+ _globals['_LISTFEATUREVIEWSRESPONSE']._serialized_start=1008
64
+ _globals['_LISTFEATUREVIEWSRESPONSE']._serialized_end=1121
65
+ _globals['_CREATEFEATUREVIEWREQUEST']._serialized_start=1124
66
+ _globals['_CREATEFEATUREVIEWREQUEST']._serialized_end=1591
67
+ _globals['_CREATEFEATUREVIEWRESPONSE']._serialized_start=1593
68
+ _globals['_CREATEFEATUREVIEWRESPONSE']._serialized_end=1703
69
+ _globals['_DELETEFEATUREVIEWREQUEST']._serialized_start=1706
70
+ _globals['_DELETEFEATUREVIEWREQUEST']._serialized_end=1852
71
+ _globals['_DELETEFEATUREVIEWRESPONSE']._serialized_start=1854
72
+ _globals['_DELETEFEATUREVIEWRESPONSE']._serialized_end=1881
73
+ _globals['_GETFEATUREVIEWRELATIONSHIPSREQUEST']._serialized_start=1884
74
+ _globals['_GETFEATUREVIEWRELATIONSHIPSREQUEST']._serialized_end=2155
75
+ _globals['_SOURCERELATIONSHIP']._serialized_start=2157
76
+ _globals['_SOURCERELATIONSHIP']._serialized_end=2242
77
+ _globals['_GETFEATUREVIEWRELATIONSHIPSRESPONSE']._serialized_start=2244
78
+ _globals['_GETFEATUREVIEWRELATIONSHIPSRESPONSE']._serialized_end=2371
79
+ _globals['_FEATUREVIEWSERVICE']._serialized_start=2374
80
+ _globals['_FEATUREVIEWSERVICE']._serialized_end=2992
81
+ # @@protoc_insertion_point(module_scope)
@@ -8,20 +8,6 @@ from typing import ClassVar as _ClassVar, Iterable as _Iterable, Mapping as _Map
8
8
 
9
9
  DESCRIPTOR: _descriptor.FileDescriptor
10
10
 
11
- class OutputEntity(_message.Message):
12
- __slots__ = ("name", "source_id")
13
- NAME_FIELD_NUMBER: _ClassVar[int]
14
- SOURCE_ID_FIELD_NUMBER: _ClassVar[int]
15
- name: str
16
- source_id: str
17
- def __init__(self, name: _Optional[str] = ..., source_id: _Optional[str] = ...) -> None: ...
18
-
19
- class OutputEntities(_message.Message):
20
- __slots__ = ("output_entities",)
21
- OUTPUT_ENTITIES_FIELD_NUMBER: _ClassVar[int]
22
- output_entities: _containers.RepeatedCompositeFieldContainer[OutputEntity]
23
- def __init__(self, output_entities: _Optional[_Iterable[_Union[OutputEntity, _Mapping]]] = ...) -> None: ...
24
-
25
11
  class OutputSource(_message.Message):
26
12
  __slots__ = ("source_id",)
27
13
  SOURCE_ID_FIELD_NUMBER: _ClassVar[int]