prism-models 0.1.7__tar.gz → 0.2.1__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 (52) hide show
  1. {prism_models-0.1.7 → prism_models-0.2.1}/PKG-INFO +1 -1
  2. {prism_models-0.1.7 → prism_models-0.2.1}/prism_models/config.py +1 -1
  3. {prism_models-0.1.7 → prism_models-0.2.1}/prism_models/content.py +12 -11
  4. {prism_models-0.1.7 → prism_models-0.2.1}/prism_models/feedback.py +1 -6
  5. prism_models-0.2.1/prism_models/migration/versions/2025_11_03_1738_b733b48d78b5_remove_source.py +32 -0
  6. prism_models-0.2.1/prism_models/migration/versions/2025_11_06_1450_8a7e56260eba_added_collection_ids_sync_enabled_and_.py +36 -0
  7. prism_models-0.2.1/prism_models/migration/versions/2025_11_06_1626_4c4148ac2d21_removed_qna_related_columns_from_.py +40 -0
  8. prism_models-0.2.1/prism_models/migration/versions/2025_11_06_1648_b228888a01ee_added_chunk_config_to_source.py +32 -0
  9. {prism_models-0.1.7 → prism_models-0.2.1}/prism_models.egg-info/PKG-INFO +1 -1
  10. {prism_models-0.1.7 → prism_models-0.2.1}/prism_models.egg-info/SOURCES.txt +5 -1
  11. {prism_models-0.1.7 → prism_models-0.2.1}/pyproject.toml +1 -1
  12. {prism_models-0.1.7 → prism_models-0.2.1}/README.md +0 -0
  13. {prism_models-0.1.7 → prism_models-0.2.1}/prism_models/__init__.py +0 -0
  14. {prism_models-0.1.7 → prism_models-0.2.1}/prism_models/agent_profile.py +0 -0
  15. {prism_models-0.1.7 → prism_models-0.2.1}/prism_models/base.py +0 -0
  16. {prism_models-0.1.7 → prism_models-0.2.1}/prism_models/chat.py +0 -0
  17. {prism_models-0.1.7 → prism_models-0.2.1}/prism_models/migration/README +0 -0
  18. {prism_models-0.1.7 → prism_models-0.2.1}/prism_models/migration/__init__.py +0 -0
  19. {prism_models-0.1.7 → prism_models-0.2.1}/prism_models/migration/env.py +0 -0
  20. {prism_models-0.1.7 → prism_models-0.2.1}/prism_models/migration/script.py.mako +0 -0
  21. {prism_models-0.1.7 → prism_models-0.2.1}/prism_models/migration/versions/2025_09_11_1516_161f8829d93f_initial_schema.py +0 -0
  22. {prism_models-0.1.7 → prism_models-0.2.1}/prism_models/migration/versions/2025_09_11_1558_5e011849ea76_changes_for_feedback.py +0 -0
  23. {prism_models-0.1.7 → prism_models-0.2.1}/prism_models/migration/versions/2025_09_14_2243_059af231c2b2_profile_entities.py +0 -0
  24. {prism_models-0.1.7 → prism_models-0.2.1}/prism_models/migration/versions/2025_09_15_1646_3219fec0bb10_agent_changes.py +0 -0
  25. {prism_models-0.1.7 → prism_models-0.2.1}/prism_models/migration/versions/2025_09_16_1627_f2013b08daac_rename_metadata_to_additional_data.py +0 -0
  26. {prism_models-0.1.7 → prism_models-0.2.1}/prism_models/migration/versions/2025_09_17_1147_327febbf555f_display_name_added.py +0 -0
  27. {prism_models-0.1.7 → prism_models-0.2.1}/prism_models/migration/versions/2025_09_18_1106_b0bcb7ca1dc9_add_support_for_profile_on_create_convo.py +0 -0
  28. {prism_models-0.1.7 → prism_models-0.2.1}/prism_models/migration/versions/2025_09_18_1511_bbc1955191e6_preview_mode.py +0 -0
  29. {prism_models-0.1.7 → prism_models-0.2.1}/prism_models/migration/versions/2025_09_26_1115_6eb70e848451_added_publish_status_to_document.py +0 -0
  30. {prism_models-0.1.7 → prism_models-0.2.1}/prism_models/migration/versions/2025_09_26_1240_f8b0ea2e743c_drop_unique_title_version_on_document.py +0 -0
  31. {prism_models-0.1.7 → prism_models-0.2.1}/prism_models/migration/versions/2025_09_26_1505_07dc8c2589e0_added_chunk_id_and_vector_embeddings_to_.py +0 -0
  32. {prism_models-0.1.7 → prism_models-0.2.1}/prism_models/migration/versions/2025_09_29_1220_46ba2693b883_add_markdown_markdown_file_path_s3_.py +0 -0
  33. {prism_models-0.1.7 → prism_models-0.2.1}/prism_models/migration/versions/2025_10_02_1520_bf1472a9b021_removed_doc_id_from_config_table_and_.py +0 -0
  34. {prism_models-0.1.7 → prism_models-0.2.1}/prism_models/migration/versions/2025_10_02_1525_6c0e63e0fef8_removed_doc_id_from_config_table_.py +0 -0
  35. {prism_models-0.1.7 → prism_models-0.2.1}/prism_models/migration/versions/2025_10_02_1608_1b3eb48f5017_config_id_on_delete_will_be_set_to_null.py +0 -0
  36. {prism_models-0.1.7 → prism_models-0.2.1}/prism_models/migration/versions/2025_10_03_1109_ac85b606d8a4_added_docling_hybrid_to_chunkstrategy.py +0 -0
  37. {prism_models-0.1.7 → prism_models-0.2.1}/prism_models/migration/versions/2025_10_03_1204_7d1cb343a63f_added_s3_bucket_and_s3_dir_in_source_.py +0 -0
  38. {prism_models-0.1.7 → prism_models-0.2.1}/prism_models/migration/versions/2025_10_03_1452_f9c750ec2a0b_1_to_1_relationship_between_collection_.py +0 -0
  39. {prism_models-0.1.7 → prism_models-0.2.1}/prism_models/migration/versions/2025_10_07_1722_5cfa0c462948_added_travel_advisory_enum.py +0 -0
  40. {prism_models-0.1.7 → prism_models-0.2.1}/prism_models/migration/versions/2025_10_08_1304_c91eb8e38cc7_added_destination_report_and_event_.py +0 -0
  41. {prism_models-0.1.7 → prism_models-0.2.1}/prism_models/migration/versions/2025_10_09_1308_796b720ea35f_added_qa_id_to_vovetor.py +0 -0
  42. {prism_models-0.1.7 → prism_models-0.2.1}/prism_models/migration/versions/2025_10_16_1611_663c66268631_added_sharepoint_drive_item_id_as_an_.py +0 -0
  43. {prism_models-0.1.7 → prism_models-0.2.1}/prism_models/migration/versions/2025_10_23_1228_919d07a93f83_added_sharepoint_directory_in_source.py +0 -0
  44. {prism_models-0.1.7 → prism_models-0.2.1}/prism_models/migration/versions/2025_10_27_1331_ff3be2c4311f_added_agentcollectionaccess_table.py +0 -0
  45. {prism_models-0.1.7 → prism_models-0.2.1}/prism_models/migration/versions/2025_10_28_1333_b789e61df26a_ad_enum_and_field_added.py +0 -0
  46. {prism_models-0.1.7 → prism_models-0.2.1}/prism_models/migration/versions/2025_11_03_1633_cc27b20a106e_removed_collection_from_source_.py +0 -0
  47. {prism_models-0.1.7 → prism_models-0.2.1}/prism_models/migration/versions/2025_11_03_1653_bf5c2ce928e3_removed_collection_from_source_.py +0 -0
  48. {prism_models-0.1.7 → prism_models-0.2.1}/prism_models/qdrant.py +0 -0
  49. {prism_models-0.1.7 → prism_models-0.2.1}/prism_models.egg-info/dependency_links.txt +0 -0
  50. {prism_models-0.1.7 → prism_models-0.2.1}/prism_models.egg-info/requires.txt +0 -0
  51. {prism_models-0.1.7 → prism_models-0.2.1}/prism_models.egg-info/top_level.txt +0 -0
  52. {prism_models-0.1.7 → prism_models-0.2.1}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: prism-models
3
- Version: 0.1.7
3
+ Version: 0.2.1
4
4
  Requires-Python: >=3.12
5
5
  Requires-Dist: sqlalchemy[asyncio]>=2.0.0
6
6
  Requires-Dist: alembic>=1.16.0
@@ -26,7 +26,7 @@ class Settings(BaseSettings):
26
26
  @property
27
27
  def PG_DATABASE_URL_PRISM(self) -> str:
28
28
  """Get the Prism database URL."""
29
- return self.PG_DATABASE_URL + "/prism2"
29
+ return self.PG_DATABASE_URL + "/prism"
30
30
 
31
31
  @property
32
32
  def is_development(self) -> bool:
@@ -97,15 +97,20 @@ class Source(BaseModel):
97
97
  s3_directory: Mapped[str | None] = mapped_column(String(2048), nullable=True)
98
98
 
99
99
  sharepoint_directory: Mapped[str | None] = mapped_column(String(2048), nullable=True)
100
- # One-to-one relationship to Collection via unique FK - NOTE NOT UNIQUE
101
- collection_id: Mapped[int | None] = mapped_column(
102
- Integer, ForeignKey("collection.id"), nullable=False, unique=True, index=True
103
- )
104
- collection: Mapped[Optional["Collection"]] = relationship(
105
- "Collection", back_populates="source", uselist=False
100
+
101
+ target_collection_ids: Mapped[list[int] | None] = mapped_column(ARRAY(Integer), nullable=True)
102
+
103
+ sync_enabled: Mapped[bool] = mapped_column(Boolean, default=True, nullable=True)
104
+
105
+ default_publish_status: Mapped[DocumentPublishStatus] = mapped_column(
106
+ Enum(DocumentPublishStatus, native_enum=False),
107
+ nullable=True,
108
+ default=DocumentPublishStatus.PREVIEW,
106
109
  )
107
110
 
108
111
 
112
+
113
+
109
114
  def __repr__(self):
110
115
  return f"<Source(id={getattr(self, 'id', None)}, name='{self.name}')>"
111
116
 
@@ -121,10 +126,6 @@ class Collection(BaseModel):
121
126
  # Relationships
122
127
  owner: Mapped[Optional["Contact"]] = relationship("Contact")
123
128
  documents: Mapped[list["CollectionDocument"]] = relationship(back_populates="collection")
124
- # One-to-one backref to Source
125
- source: Mapped[Optional["Source"]] = relationship(
126
- "Source", back_populates="collection", uselist=False
127
- )
128
129
 
129
130
  __table_args__ = (UniqueConstraint("name", name="uq_collection_name"),)
130
131
 
@@ -248,4 +249,4 @@ class Vector(BaseModel):
248
249
 
249
250
 
250
251
  chunk: Mapped["Chunk"] = relationship(back_populates="vector")
251
- qa_pair: Mapped["QAPair"] = relationship(back_populates="vector")
252
+ qa_pair: Mapped["QAPair"] = relationship(back_populates="vector")
@@ -94,7 +94,6 @@ class Feedback(BaseModel):
94
94
  # Relationships
95
95
  manager: Mapped["Contact"] = relationship(foreign_keys=[manager_id])
96
96
  chunk: Mapped[Optional["Chunk"]] = relationship()
97
- qa_pair: Mapped[Optional["QAPair"]] = relationship()
98
97
  message: Mapped[Optional["ConversationMessage"]] = relationship()
99
98
  assigned_reviewer: Mapped[Optional["Contact"]] = relationship(foreign_keys=[assigned_reviewer_id])
100
99
 
@@ -111,7 +110,6 @@ class FeedbackAnalysis(BaseModel):
111
110
 
112
111
  analysis_type: Mapped[AnalysisType] = mapped_column(String(50), nullable=False)
113
112
  llm_response: Mapped[dict[str, Any] | None] = mapped_column(JSON)
114
- confidence_score: Mapped[float | None] = mapped_column(Float)
115
113
  model_used: Mapped[str | None] = mapped_column(String(255))
116
114
  analyzed_at: Mapped[datetime] = mapped_column(TIMESTAMP(timezone=True), server_default=func.now(), nullable=False)
117
115
  approved: Mapped[bool] = mapped_column(Boolean, default=False, nullable=False)
@@ -127,9 +125,8 @@ class FeedbackAnalysis(BaseModel):
127
125
  class Augmentation(BaseModel):
128
126
  feedback_id: Mapped[int] = mapped_column(Integer, ForeignKey("feedback.id"), nullable=False, index=True)
129
127
  original_chunk_id: Mapped[int | None] = mapped_column(Integer, ForeignKey("chunk.id"), nullable=True)
130
- original_qa_pair_id: Mapped[int | None] = mapped_column(Integer, ForeignKey("qa_pair.id"), nullable=True)
131
128
  generated_chunk_id: Mapped[int | None] = mapped_column(Integer, ForeignKey("chunk.id"), nullable=True)
132
- generated_qa_pair_id: Mapped[int | None] = mapped_column(Integer, ForeignKey("qa_pair.id"), nullable=True)
129
+
133
130
 
134
131
  action_type: Mapped[AugmentationAction] = mapped_column(String(50), nullable=False)
135
132
  change_summary: Mapped[dict[str, Any] | None] = mapped_column(JSON)
@@ -137,9 +134,7 @@ class Augmentation(BaseModel):
137
134
  # Relationships
138
135
  feedback: Mapped["Feedback"] = relationship(back_populates="augmentations")
139
136
  original_chunk: Mapped[Optional["Chunk"]] = relationship(foreign_keys=[original_chunk_id])
140
- original_qa_pair: Mapped[Optional["QAPair"]] = relationship(foreign_keys=[original_qa_pair_id])
141
137
  generated_chunk: Mapped[Optional["Chunk"]] = relationship(foreign_keys=[generated_chunk_id])
142
- generated_qa_pair: Mapped[Optional["QAPair"]] = relationship(foreign_keys=[generated_qa_pair_id])
143
138
 
144
139
  def __repr__(self):
145
140
  return f"<Augmentation(id={self.id}, action='{self.action_type}', status='{self.status}')>"
@@ -0,0 +1,32 @@
1
+ """remove source
2
+
3
+ Revision ID: b733b48d78b5
4
+ Revises: bf5c2ce928e3
5
+ Create Date: 2025-11-03 17:38:08.937565
6
+
7
+ """
8
+ from typing import Sequence, Union
9
+
10
+ from alembic import op
11
+ import sqlalchemy as sa
12
+
13
+
14
+ # revision identifiers, used by Alembic.
15
+ revision: str = 'b733b48d78b5'
16
+ down_revision: Union[str, Sequence[str], None] = 'bf5c2ce928e3'
17
+ branch_labels: Union[str, Sequence[str], None] = None
18
+ depends_on: Union[str, Sequence[str], None] = None
19
+
20
+
21
+ def upgrade() -> None:
22
+ """Upgrade schema."""
23
+ # ### commands auto generated by Alembic - please adjust! ###
24
+ pass
25
+ # ### end Alembic commands ###
26
+
27
+
28
+ def downgrade() -> None:
29
+ """Downgrade schema."""
30
+ # ### commands auto generated by Alembic - please adjust! ###
31
+ pass
32
+ # ### end Alembic commands ###
@@ -0,0 +1,36 @@
1
+ """added collection ids, sync enabled and default publish status to source table
2
+
3
+ Revision ID: 8a7e56260eba
4
+ Revises: b733b48d78b5
5
+ Create Date: 2025-11-06 14:50:51.787562
6
+
7
+ """
8
+ from typing import Sequence, Union
9
+
10
+ from alembic import op
11
+ import sqlalchemy as sa
12
+ from sqlalchemy.dialects import postgresql
13
+
14
+ # revision identifiers, used by Alembic.
15
+ revision: str = '8a7e56260eba'
16
+ down_revision: Union[str, Sequence[str], None] = 'b733b48d78b5'
17
+ branch_labels: Union[str, Sequence[str], None] = None
18
+ depends_on: Union[str, Sequence[str], None] = None
19
+
20
+
21
+ def upgrade() -> None:
22
+ """Upgrade schema."""
23
+ # ### commands auto generated by Alembic - please adjust! ###
24
+ op.add_column('source', sa.Column('target_collection_ids', postgresql.ARRAY(sa.Integer()), nullable=True))
25
+ op.add_column('source', sa.Column('sync_enabled', sa.Boolean(), nullable=True))
26
+ op.add_column('source', sa.Column('default_publish_status', sa.Enum('PREVIEW', 'ACTIVE', 'INACTIVE', name='documentpublishstatus', native_enum=False), nullable=True))
27
+ # ### end Alembic commands ###
28
+
29
+
30
+ def downgrade() -> None:
31
+ """Downgrade schema."""
32
+ # ### commands auto generated by Alembic - please adjust! ###
33
+ op.drop_column('source', 'default_publish_status')
34
+ op.drop_column('source', 'sync_enabled')
35
+ op.drop_column('source', 'target_collection_ids')
36
+ # ### end Alembic commands ###
@@ -0,0 +1,40 @@
1
+ """removed qna related columns from Augmentation and removed confidence score from feedback analysis
2
+
3
+ Revision ID: 4c4148ac2d21
4
+ Revises: 8a7e56260eba
5
+ Create Date: 2025-11-06 16:26:20.979418
6
+
7
+ """
8
+ from typing import Sequence, Union
9
+
10
+ from alembic import op
11
+ import sqlalchemy as sa
12
+
13
+
14
+ # revision identifiers, used by Alembic.
15
+ revision: str = '4c4148ac2d21'
16
+ down_revision: Union[str, Sequence[str], None] = '8a7e56260eba'
17
+ branch_labels: Union[str, Sequence[str], None] = None
18
+ depends_on: Union[str, Sequence[str], None] = None
19
+
20
+
21
+ def upgrade() -> None:
22
+ """Upgrade schema."""
23
+ # ### commands auto generated by Alembic - please adjust! ###
24
+ op.drop_constraint(op.f('augmentation_original_qa_pair_id_fkey'), 'augmentation', type_='foreignkey')
25
+ op.drop_constraint(op.f('augmentation_generated_qa_pair_id_fkey'), 'augmentation', type_='foreignkey')
26
+ op.drop_column('augmentation', 'original_qa_pair_id')
27
+ op.drop_column('augmentation', 'generated_qa_pair_id')
28
+ op.drop_column('feedback_analysis', 'confidence_score')
29
+ # ### end Alembic commands ###
30
+
31
+
32
+ def downgrade() -> None:
33
+ """Downgrade schema."""
34
+ # ### commands auto generated by Alembic - please adjust! ###
35
+ op.add_column('feedback_analysis', sa.Column('confidence_score', sa.DOUBLE_PRECISION(precision=53), autoincrement=False, nullable=True))
36
+ op.add_column('augmentation', sa.Column('generated_qa_pair_id', sa.INTEGER(), autoincrement=False, nullable=True))
37
+ op.add_column('augmentation', sa.Column('original_qa_pair_id', sa.INTEGER(), autoincrement=False, nullable=True))
38
+ op.create_foreign_key(op.f('augmentation_generated_qa_pair_id_fkey'), 'augmentation', 'qa_pair', ['generated_qa_pair_id'], ['id'])
39
+ op.create_foreign_key(op.f('augmentation_original_qa_pair_id_fkey'), 'augmentation', 'qa_pair', ['original_qa_pair_id'], ['id'])
40
+ # ### end Alembic commands ###
@@ -0,0 +1,32 @@
1
+ """added chunk config to source
2
+
3
+ Revision ID: b228888a01ee
4
+ Revises: 4c4148ac2d21
5
+ Create Date: 2025-11-06 16:48:20.647497
6
+
7
+ """
8
+ from typing import Sequence, Union
9
+
10
+ from alembic import op
11
+ import sqlalchemy as sa
12
+
13
+
14
+ # revision identifiers, used by Alembic.
15
+ revision: str = 'b228888a01ee'
16
+ down_revision: Union[str, Sequence[str], None] = '4c4148ac2d21'
17
+ branch_labels: Union[str, Sequence[str], None] = None
18
+ depends_on: Union[str, Sequence[str], None] = None
19
+
20
+
21
+ def upgrade() -> None:
22
+ """Upgrade schema."""
23
+ # ### commands auto generated by Alembic - please adjust! ###
24
+ pass
25
+ # ### end Alembic commands ###
26
+
27
+
28
+ def downgrade() -> None:
29
+ """Downgrade schema."""
30
+ # ### commands auto generated by Alembic - please adjust! ###
31
+ pass
32
+ # ### end Alembic commands ###
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: prism-models
3
- Version: 0.1.7
3
+ Version: 0.2.1
4
4
  Requires-Python: >=3.12
5
5
  Requires-Dist: sqlalchemy[asyncio]>=2.0.0
6
6
  Requires-Dist: alembic>=1.16.0
@@ -43,4 +43,8 @@ prism_models/migration/versions/2025_10_23_1228_919d07a93f83_added_sharepoint_di
43
43
  prism_models/migration/versions/2025_10_27_1331_ff3be2c4311f_added_agentcollectionaccess_table.py
44
44
  prism_models/migration/versions/2025_10_28_1333_b789e61df26a_ad_enum_and_field_added.py
45
45
  prism_models/migration/versions/2025_11_03_1633_cc27b20a106e_removed_collection_from_source_.py
46
- prism_models/migration/versions/2025_11_03_1653_bf5c2ce928e3_removed_collection_from_source_.py
46
+ prism_models/migration/versions/2025_11_03_1653_bf5c2ce928e3_removed_collection_from_source_.py
47
+ prism_models/migration/versions/2025_11_03_1738_b733b48d78b5_remove_source.py
48
+ prism_models/migration/versions/2025_11_06_1450_8a7e56260eba_added_collection_ids_sync_enabled_and_.py
49
+ prism_models/migration/versions/2025_11_06_1626_4c4148ac2d21_removed_qna_related_columns_from_.py
50
+ prism_models/migration/versions/2025_11_06_1648_b228888a01ee_added_chunk_config_to_source.py
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "prism-models"
7
- version = "0.1.7"
7
+ version = "0.2.1"
8
8
  requires-python = ">=3.12"
9
9
  dependencies = [
10
10
  "sqlalchemy[asyncio]>=2.0.0",
File without changes
File without changes