letta-nightly 0.5.2.dev20241112104101__py3-none-any.whl → 0.5.2.dev20241113234401__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of letta-nightly might be problematic. Click here for more details.

@@ -0,0 +1,145 @@
1
+ from typing import List, Optional
2
+
3
+ from letta.orm.errors import NoResultFound
4
+ from letta.orm.file import FileMetadata as FileMetadataModel
5
+ from letta.orm.source import Source as SourceModel
6
+ from letta.schemas.file import FileMetadata as PydanticFileMetadata
7
+ from letta.schemas.source import Source as PydanticSource
8
+ from letta.schemas.source import SourceUpdate
9
+ from letta.schemas.user import User as PydanticUser
10
+ from letta.utils import enforce_types, printd
11
+
12
+
13
+ class SourceManager:
14
+ """Manager class to handle business logic related to Sources."""
15
+
16
+ def __init__(self):
17
+ from letta.server.server import db_context
18
+
19
+ self.session_maker = db_context
20
+
21
+ @enforce_types
22
+ def create_source(self, source: PydanticSource, actor: PydanticUser) -> PydanticSource:
23
+ """Create a new source based on the PydanticSource schema."""
24
+ # Try getting the source first by id
25
+ db_source = self.get_source_by_id(source.id, actor=actor)
26
+ if db_source:
27
+ return db_source
28
+ else:
29
+ with self.session_maker() as session:
30
+ # Provide default embedding config if not given
31
+ source.organization_id = actor.organization_id
32
+ source = SourceModel(**source.model_dump(exclude_none=True))
33
+ source.create(session, actor=actor)
34
+ return source.to_pydantic()
35
+
36
+ @enforce_types
37
+ def update_source(self, source_id: str, source_update: SourceUpdate, actor: PydanticUser) -> PydanticSource:
38
+ """Update a source by its ID with the given SourceUpdate object."""
39
+ with self.session_maker() as session:
40
+ source = SourceModel.read(db_session=session, identifier=source_id, actor=actor)
41
+
42
+ # get update dictionary
43
+ update_data = source_update.model_dump(exclude_unset=True, exclude_none=True)
44
+ # Remove redundant update fields
45
+ update_data = {key: value for key, value in update_data.items() if getattr(source, key) != value}
46
+
47
+ if update_data:
48
+ for key, value in update_data.items():
49
+ setattr(source, key, value)
50
+ source.update(db_session=session, actor=actor)
51
+ else:
52
+ printd(
53
+ f"`update_source` was called with user_id={actor.id}, organization_id={actor.organization_id}, name={source.name}, but found existing source with nothing to update."
54
+ )
55
+
56
+ return source.to_pydantic()
57
+
58
+ @enforce_types
59
+ def delete_source(self, source_id: str, actor: PydanticUser) -> PydanticSource:
60
+ """Delete a source by its ID."""
61
+ with self.session_maker() as session:
62
+ source = SourceModel.read(db_session=session, identifier=source_id)
63
+ source.delete(db_session=session, actor=actor)
64
+ return source.to_pydantic()
65
+
66
+ @enforce_types
67
+ def list_sources(self, actor: PydanticUser, cursor: Optional[str] = None, limit: Optional[int] = 50) -> List[PydanticSource]:
68
+ """List all sources with optional pagination."""
69
+ with self.session_maker() as session:
70
+ sources = SourceModel.list(
71
+ db_session=session,
72
+ cursor=cursor,
73
+ limit=limit,
74
+ organization_id=actor.organization_id,
75
+ )
76
+ return [source.to_pydantic() for source in sources]
77
+
78
+ # TODO: We make actor optional for now, but should most likely be enforced due to security reasons
79
+ @enforce_types
80
+ def get_source_by_id(self, source_id: str, actor: Optional[PydanticUser] = None) -> Optional[PydanticSource]:
81
+ """Retrieve a source by its ID."""
82
+ with self.session_maker() as session:
83
+ try:
84
+ source = SourceModel.read(db_session=session, identifier=source_id, actor=actor)
85
+ return source.to_pydantic()
86
+ except NoResultFound:
87
+ return None
88
+
89
+ @enforce_types
90
+ def get_source_by_name(self, source_name: str, actor: PydanticUser) -> Optional[PydanticSource]:
91
+ """Retrieve a source by its name."""
92
+ with self.session_maker() as session:
93
+ sources = SourceModel.list(
94
+ db_session=session,
95
+ name=source_name,
96
+ organization_id=actor.organization_id,
97
+ limit=1,
98
+ )
99
+ if not sources:
100
+ return None
101
+ else:
102
+ return sources[0].to_pydantic()
103
+
104
+ @enforce_types
105
+ def create_file(self, file_metadata: PydanticFileMetadata, actor: PydanticUser) -> PydanticFileMetadata:
106
+ """Create a new file based on the PydanticFileMetadata schema."""
107
+ db_file = self.get_file_by_id(file_metadata.id, actor=actor)
108
+ if db_file:
109
+ return db_file
110
+ else:
111
+ with self.session_maker() as session:
112
+ file_metadata.organization_id = actor.organization_id
113
+ file_metadata = FileMetadataModel(**file_metadata.model_dump(exclude_none=True))
114
+ file_metadata.create(session, actor=actor)
115
+ return file_metadata.to_pydantic()
116
+
117
+ # TODO: We make actor optional for now, but should most likely be enforced due to security reasons
118
+ @enforce_types
119
+ def get_file_by_id(self, file_id: str, actor: Optional[PydanticUser] = None) -> Optional[PydanticFileMetadata]:
120
+ """Retrieve a file by its ID."""
121
+ with self.session_maker() as session:
122
+ try:
123
+ file = FileMetadataModel.read(db_session=session, identifier=file_id, actor=actor)
124
+ return file.to_pydantic()
125
+ except NoResultFound:
126
+ return None
127
+
128
+ @enforce_types
129
+ def list_files(
130
+ self, source_id: str, actor: PydanticUser, cursor: Optional[str] = None, limit: Optional[int] = 50
131
+ ) -> List[PydanticFileMetadata]:
132
+ """List all files with optional pagination."""
133
+ with self.session_maker() as session:
134
+ files = FileMetadataModel.list(
135
+ db_session=session, cursor=cursor, limit=limit, organization_id=actor.organization_id, source_id=source_id
136
+ )
137
+ return [file.to_pydantic() for file in files]
138
+
139
+ @enforce_types
140
+ def delete_file(self, file_id: str, actor: PydanticUser) -> PydanticFileMetadata:
141
+ """Delete a file by its ID."""
142
+ with self.session_maker() as session:
143
+ file = FileMetadataModel.read(db_session=session, identifier=file_id)
144
+ file.delete(db_session=session, actor=actor)
145
+ return file.to_pydantic()
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: letta-nightly
3
- Version: 0.5.2.dev20241112104101
3
+ Version: 0.5.2.dev20241113234401
4
4
  Summary: Create LLM agents with long-term memory and custom tools
5
5
  License: Apache License
6
6
  Author: Letta Team
@@ -1,25 +1,25 @@
1
1
  letta/__init__.py,sha256=IMLtpH5HlbVUa1mmPpSyBpTZqVz1rsS7lbuqT7viBQ0,1014
2
2
  letta/__main__.py,sha256=6Hs2PV7EYc5Tid4g4OtcLXhqVHiNYTGzSBdoOnW2HXA,29
3
- letta/agent.py,sha256=5eP4H5DBJEUQT3QlZIAIdB3Dtmh5XnW1I3TJievv56Q,76744
3
+ letta/agent.py,sha256=mQxkYsG80P_KCzXN6EDmwi6tiXebabHpcYsgs7ugWP0,76952
4
4
  letta/agent_store/chroma.py,sha256=upR5zGnGs6I6btulEYbiZdGG87BgKjxUJOQZ4Y-RQ_M,12492
5
- letta/agent_store/db.py,sha256=iBdP9IxvuenKRF7SVRhFlC8yvRwNn2xxOfBFvadBcNA,23383
5
+ letta/agent_store/db.py,sha256=9pIeakcRls0Fi3wO2b9Jg_Qw1IBJ-_GUSpE1z-upGS0,23425
6
6
  letta/agent_store/lancedb.py,sha256=i63d4VZwj9UIOTNs5f0JZ_r5yZD-jKWz4FAH4RMpXOE,5104
7
7
  letta/agent_store/milvus.py,sha256=xUu-D9a6N10MuGJ-R-QWR2IHX77ueqAp88tV4gg9B4M,8470
8
8
  letta/agent_store/qdrant.py,sha256=6_33V-FEDpT9LG5zmr6-3y9slw1YFLswxpahiyMkvHA,7880
9
9
  letta/agent_store/storage.py,sha256=4gKvMRYBGm9cwyaDOzljxDKgqr4MxGXcC4yGhAdKcAA,6693
10
10
  letta/benchmark/benchmark.py,sha256=ebvnwfp3yezaXOQyGXkYCDYpsmre-b9hvNtnyx4xkG0,3701
11
11
  letta/benchmark/constants.py,sha256=aXc5gdpMGJT327VuxsT5FngbCK2J41PQYeICBO7g_RE,536
12
- letta/cli/cli.py,sha256=D6fnMecQ2BuVBlpAWt1F5QKDN-W3Sx30Ynuq-sdi-Hk,16811
12
+ letta/cli/cli.py,sha256=oREx2gmpFvw7CdmXjhzoj_4iypM27WAK5vePESIgcHo,16898
13
13
  letta/cli/cli_config.py,sha256=D-CpSZI1cDvdSQr3-zhGuDrJnZo1Ko7bi_wuxcBxxqo,8555
14
14
  letta/cli/cli_load.py,sha256=x4L8s15GwIW13xrhKYFWHo_y-IVGtoPDHWWKcHDRP10,4587
15
15
  letta/client/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
16
- letta/client/client.py,sha256=rInVYoGTibIUmu7ProGeHfTbVF_zu70OfQxY8zX5l2w,97430
16
+ letta/client/client.py,sha256=XR4VukYXnZ1LG5og_BP1_m_FWrjb6ESFFkT-gK6_-os,97885
17
17
  letta/client/streaming.py,sha256=Hh5pjlyrdCuO2V75ZCxSSOCPd3BmHdKFGaIUJC6fBp0,4775
18
18
  letta/client/utils.py,sha256=OJlAKWrldc4I6M1WpcTWNtPJ4wfxlzlZqWLfCozkFtI,2872
19
19
  letta/config.py,sha256=eK-ip06ELHNYriInkgfidDvJxQ2tD1u49I-VLXB87nE,18929
20
20
  letta/constants.py,sha256=c8pEfIhtpqFGunyzGObnfEeRJNkunfmq9Pfiau8YYfA,6544
21
21
  letta/credentials.py,sha256=D9mlcPsdDWlIIXQQD8wSPE9M_QvsRrb0p3LB5i9OF5Q,5806
22
- letta/data_sources/connectors.py,sha256=qO81ASB6V-vDPthfHYtZiyqcQDQPTT0NuD8hVwC6xI0,9907
22
+ letta/data_sources/connectors.py,sha256=5VKxfeV-QyUlK1wexLlpgar99dGm6PHxFaEbSeByo_U,9923
23
23
  letta/data_sources/connectors_helper.py,sha256=2TQjCt74fCgT5sw1AP8PalDEk06jPBbhrPG4HVr-WLs,3371
24
24
  letta/embeddings.py,sha256=qPt8kB-wmuRIg1py7DHnQGJpw3DmQHJ505FJvc0K6Yk,8873
25
25
  letta/errors.py,sha256=cDOo4cSYL-LA0w0b0GdsxXd5k2I1LLOY8nhtXk9YqYs,2875
@@ -40,11 +40,11 @@ letta/llm_api/anthropic.py,sha256=GZFMAGgertU7GrGK_ahz051Ce0MHXqPzh8f7AlsPslg,12
40
40
  letta/llm_api/azure_openai.py,sha256=Y1HKPog1XzM_f7ujUK_Gv2zQkoy5pU-1bKiUnvSxSrs,6297
41
41
  letta/llm_api/azure_openai_constants.py,sha256=oXtKrgBFHf744gyt5l1thILXgyi8NDNUrKEa2GGGpjw,278
42
42
  letta/llm_api/cohere.py,sha256=vDRd-SUGp1t_JUIdwC3RkIhwMl0OY7n-tAU9uPORYkY,14826
43
- letta/llm_api/google_ai.py,sha256=3xZ074nSOCC22c15yerA5ngWzh0ex4wxeI-6faNbHPE,17708
43
+ letta/llm_api/google_ai.py,sha256=xKz9JDZs3m6yzSfcgCAAUD_rjI20BBIINoiSvlcnOw0,17621
44
44
  letta/llm_api/helpers.py,sha256=KqkdjZWYghx4OPwLcHEC6ruc_z9DScbysw3VH4x9A0Q,9887
45
45
  letta/llm_api/llm_api_tools.py,sha256=KFG2miI7KrDOIcOSgm2jwBIb3qvzYt2O_5UNjTbTsm8,14786
46
46
  letta/llm_api/mistral.py,sha256=fHdfD9ug-rQIk2qn8tRKay1U6w9maF11ryhKi91FfXM,1593
47
- letta/llm_api/openai.py,sha256=o2I7yNyBMsW33MwQJMo2EWYTC5dLDdxfGmg-mQle6nA,23844
47
+ letta/llm_api/openai.py,sha256=p1tKbfCfhWOLnx2u-Vt67rq12uVUbo_zyslHHlmuTyU,23845
48
48
  letta/local_llm/README.md,sha256=hFJyw5B0TU2jrh9nb0zGZMgdH-Ei1dSRfhvPQG_NSoU,168
49
49
  letta/local_llm/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
50
50
  letta/local_llm/chat_completion_proxy.py,sha256=SiohxsjGTku4vOryOZx7I0t0xoO_sUuhXgoe62fKq3c,12995
@@ -84,22 +84,24 @@ letta/local_llm/webui/legacy_settings.py,sha256=BLmd3TSx5StnY3ibjwaxYATPt_Lvq-o1
84
84
  letta/local_llm/webui/settings.py,sha256=gmLHfiOl1u4JmlAZU2d2O8YKF9lafdakyjwR_ftVPh8,552
85
85
  letta/log.py,sha256=Oy5b71AXfrnQShxI_4ULo5U3kmZJG01bXbP_64Nr4Fk,2105
86
86
  letta/main.py,sha256=h-qPQn_Ok5wf2cf54RFPfe8yp6sCmE-Kp9mBk_HZf7o,18797
87
- letta/memory.py,sha256=6q1x3-PY-PeXzAt6hvP-UF1ajvroPZ7XW-5nLy-JhMo,17657
88
- letta/metadata.py,sha256=XI9nL2JwFAvkpTZHq8EGoJnwhq9fZZen8gwkjFJxz4E,29408
87
+ letta/memory.py,sha256=YupXOvzVJXH59RW4XWBrd7qMNEYaMbtWXCheKeWZwpU,17873
88
+ letta/metadata.py,sha256=xgwOPX_KQUl8OGxql2VAqe3ksg8EBD5gbctEDnM4RPk,22860
89
89
  letta/o1_agent.py,sha256=LqATgTpkc02-nCH_F87EOvgxLjdjT9F07kdzj3zSdQg,3118
90
90
  letta/openai_backcompat/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
91
91
  letta/openai_backcompat/openai_object.py,sha256=Y1ZS1sATP60qxJiOsjOP3NbwSzuzvkNAvb3DeuhM5Uk,13490
92
92
  letta/orm/__all__.py,sha256=2gh2MZTkA3Hw67VWVKK3JIStJOqTeLdpCvYSVYNeEDA,692
93
- letta/orm/__init__.py,sha256=J2GZpfXQunxU0ChavjkhoaSruluRFrLYknXD2m0BP_g,144
93
+ letta/orm/__init__.py,sha256=tp62sheGPGDmFHG1CBvYEnVenSj62cxWLaBMWK2NU80,220
94
94
  letta/orm/agents_tags.py,sha256=Qa7Yt9imL8xbGP57fflccAMy7Z32CQiU_7eZKSSPngc,1119
95
95
  letta/orm/base.py,sha256=K_LpNUURbsj44ycHbzvNXG_n8pBOjf1YvDaikIPDpQA,2716
96
96
  letta/orm/enums.py,sha256=KfHcFt_fR6GUmSlmfsa-TetvmuRxGESNve8MStRYW64,145
97
97
  letta/orm/errors.py,sha256=somsGtotFlb3SDM6tKdZ5TDGwEEP3ppx47ICAvNMnkg,225
98
- letta/orm/mixins.py,sha256=fW4oa1cUFbgVE46KSQlW_hwzsZSqEBSSV-U3xJC6fyw,749
99
- letta/orm/organization.py,sha256=ChQ3KuWfZLTnveI6Z6pvCV_b2gjUf1m7Pn17wXPheaI,1695
98
+ letta/orm/file.py,sha256=FtfZlJLXfac4ntaw3kC0N9VRoD255m8EK4p-pC2lcHk,1519
99
+ letta/orm/mixins.py,sha256=w8ALpGlytx2TDOOBBkqNgZTCimUOibijL7EKKKLJcM8,943
100
+ letta/orm/organization.py,sha256=wp58JWdv3OGjv4nYVEdoF5ps8BmP25Yxq5yfdFkf9_s,1792
101
+ letta/orm/source.py,sha256=Ib0XHCMt345RjBSC30A398rZ21W5mA4PXX00XNXyd24,2021
100
102
  letta/orm/sqlalchemy_base.py,sha256=QZ_b2jxNjXSvK-bJGxEHQiZqRn8tKNSuJRDorYCDCvE,7369
101
- letta/orm/tool.py,sha256=7FIeldPJTEOLA5ygasTOVXqUcm2aouYYARUOJXdaC4Y,2151
102
- letta/orm/user.py,sha256=-KNdpfnKRVJtSw0NrGRrVoSBBv7ASDchVempKtUuk-A,1229
103
+ letta/orm/tool.py,sha256=d0GclU_7qg8Z6ZE6kkH1kmrUAMCiV-ZM8BGaT1mnBU4,2089
104
+ letta/orm/user.py,sha256=bB4qGIT-ZoECZeeVqG-z3Z7WFXGqpC-GPcoYQoJZOuc,1137
103
105
  letta/persistence_manager.py,sha256=LlLgEDpSafCPAiyKmuq0NvVAnfBkZo6TWbGIKYQjQBs,5200
104
106
  letta/personas/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
105
107
  letta/personas/examples/anna_pa.txt,sha256=zgiNdSNhy1HQy58cF_6RFPzcg2i37F9v38YuL1CW40A,1849
@@ -123,7 +125,7 @@ letta/prompts/system/memgpt_gpt35_extralong.txt,sha256=FheNhYoIzNz6qnJKhVquZVSMj
123
125
  letta/prompts/system/memgpt_intuitive_knowledge.txt,sha256=sA7c3urYqREVnSBI81nTGImXAekqC0Fxc7RojFqud1g,2966
124
126
  letta/prompts/system/memgpt_modified_chat.txt,sha256=HOaPVurEftD8KsuwsclDgE2afIfklMjxhuSO96q1-6I,4656
125
127
  letta/prompts/system/memgpt_modified_o1.txt,sha256=AxxYVjYLZwpZ6yfifh1SuPtwlJGWTcTVzw53QbkN-Ao,5492
126
- letta/providers.py,sha256=nWvTvVsZH1EE2aHAwihJvCIDJpgfeWAOUE_YK1x5Zj4,19635
128
+ letta/providers.py,sha256=miNxSXDMKDZqYjrYtE2N9ecw9ltccDXSJBlJqxOhEws,19611
127
129
  letta/pytest.ini,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
128
130
  letta/schemas/agent.py,sha256=f0khTBWIRGZva4_C15Nm_tkmn1cwaVQlWa7_7laRbEE,7866
129
131
  letta/schemas/agents_tags.py,sha256=9DGr8fN2DHYdWvZ_qcXmrKI0w7YKCGz2lfEcrX2KAkI,1130
@@ -131,7 +133,7 @@ letta/schemas/api_key.py,sha256=u07yzzMn-hBAHZIIKbWY16KsgiFjSNR8lAghpMUo3_4,682
131
133
  letta/schemas/block.py,sha256=gc7NOZbv4ig_6ZgJ8-I875QoHxXcbcQIG94Cnwlqu8M,3999
132
134
  letta/schemas/embedding_config.py,sha256=1kD6NpiXeH4roVumxqDAKk7xt8SpXGWNhZs_XXUSlEU,2855
133
135
  letta/schemas/enums.py,sha256=WfRYpLh_pD-VyhEnp3Y6pPfx063zq2o4jky6PulqO8w,629
134
- letta/schemas/file.py,sha256=Ns0V2Jp6_lmiCmLCnXsOAh_UNqTW-fstcLKjYI35VOA,1357
136
+ letta/schemas/file.py,sha256=ChN2CWzLI2TT9WLItcfElEH0E8b7kzPylF2OQBr6Beg,1550
135
137
  letta/schemas/health.py,sha256=zT6mYovvD17iJRuu2rcaQQzbEEYrkwvAE9TB7iU824c,139
136
138
  letta/schemas/job.py,sha256=605TWjUdNy5Rgoc7en_DX3Giz-I7sVTXiSRZqxL__d8,1543
137
139
  letta/schemas/letta_base.py,sha256=VP6h6mV7u2AVSrcgzTIoptORv6BqmQXkkMzb7-NlcWs,3026
@@ -148,7 +150,7 @@ letta/schemas/openai/embedding_response.py,sha256=WKIZpXab1Av7v6sxKG8feW3ZtpQUNo
148
150
  letta/schemas/openai/openai.py,sha256=Hilo5BiLAGabzxCwnwfzK5QrWqwYD8epaEKFa4Pwndk,7970
149
151
  letta/schemas/organization.py,sha256=d2oN3IK2HeruEHKXwIzCbJ3Fxdi_BEe9JZ8J9aDbHwQ,698
150
152
  letta/schemas/passage.py,sha256=eYQMxD_XjHAi72jmqcGBU4wM4VZtSU0XK8uhQxxN3Ug,3563
151
- letta/schemas/source.py,sha256=hB4Ai6Nj8dFdbxv5_Qaf4uN_cmdGmnzgc-4QnHXcV3o,2562
153
+ letta/schemas/source.py,sha256=B1VbaDJV-EGPv1nQXwCx_RAzeAJd50UqP_1m1cIRT8c,2854
152
154
  letta/schemas/tool.py,sha256=HCUW4RXUS9RtvfpTPeNhauFN3s23BojSOceaIxv9bKI,9596
153
155
  letta/schemas/tool_rule.py,sha256=zv4jE0b8LW78idP4UbJARnrZcnmaqjGNUk_YV99Y0c0,884
154
156
  letta/schemas/usage.py,sha256=lvn1ooHwLEdv6gwQpw5PBUbcwn_gwdT6HA-fCiix6sY,817
@@ -157,7 +159,7 @@ letta/server/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
157
159
  letta/server/constants.py,sha256=yAdGbLkzlOU_dLTx0lKDmAnj0ZgRXCEaIcPJWO69eaE,92
158
160
  letta/server/generate_openapi_schema.sh,sha256=0OtBhkC1g6CobVmNEd_m2B6sTdppjbJLXaM95icejvE,371
159
161
  letta/server/rest_api/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
160
- letta/server/rest_api/app.py,sha256=YwBC6ox8CY9XH9joiX8J--9zGYXSaGGH2OR7EeozbTU,6697
162
+ letta/server/rest_api/app.py,sha256=QbCgYeyzA86iefwomROBAaxwvSWYQT10fhHcNZsyjH4,7555
161
163
  letta/server/rest_api/auth/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
162
164
  letta/server/rest_api/auth/index.py,sha256=fQBGyVylGSRfEMLQ17cZzrHd5Y1xiVylvPqH5Rl-lXQ,1378
163
165
  letta/server/rest_api/auth_token.py,sha256=725EFEIiNj4dh70hrSd94UysmFD8vcJLrTRfNHkzxDo,774
@@ -177,12 +179,12 @@ letta/server/rest_api/routers/v1/health.py,sha256=pKCuVESlVOhGIb4VC4K-H82eZqfghm
177
179
  letta/server/rest_api/routers/v1/jobs.py,sha256=a-j0v-5A0un0pVCOHpfeWnzpOWkVDQO6ti42k_qAlZY,2272
178
180
  letta/server/rest_api/routers/v1/llms.py,sha256=TcyvSx6MEM3je5F4DysL7ligmssL_pFlJaaO4uL95VY,877
179
181
  letta/server/rest_api/routers/v1/organizations.py,sha256=tyqVzXTpMtk3sKxI3Iz4aS6RhbGEbXDzFBB_CpW18v4,2080
180
- letta/server/rest_api/routers/v1/sources.py,sha256=eY_pk9jRL2Y9yIZdsTjH6EuKsfH1neaTU15MKNL0dvw,8749
182
+ letta/server/rest_api/routers/v1/sources.py,sha256=dSDgzt4LQPZxnZRFLHdvsFn_qoupbYvRhLIi8l1KVbs,8981
181
183
  letta/server/rest_api/routers/v1/tools.py,sha256=Bkb9oKswOycj5S3fBeim7LpDrZf37SybGwV6fyi3BFs,4296
182
184
  letta/server/rest_api/routers/v1/users.py,sha256=M1wEr2IyHzuRwINYxLXTkrbAH3osLe_cWjzrWrzR1aw,3729
183
185
  letta/server/rest_api/static_files.py,sha256=NG8sN4Z5EJ8JVQdj19tkFa9iQ1kBPTab9f_CUxd_u4Q,3143
184
186
  letta/server/rest_api/utils.py,sha256=GdHYCzXtbM5VCAYDPR0z5gnNZpRhwPld2BGZV7xT6cU,2924
185
- letta/server/server.py,sha256=fOhR-Do3_56R6x5BTV9U1ZbgedSd2oR6Gu76cwaj6cg,80783
187
+ letta/server/server.py,sha256=RQHtJwhpCgnRSL38wF13vATDkS5thCAMbtRDwU2U-yM,79746
186
188
  letta/server/startup.sh,sha256=wTOQOJJZw_Iec57WIu0UW0AVflk0ZMWYZWg8D3T_gSQ,698
187
189
  letta/server/static_files/assets/index-3ab03d5b.css,sha256=OrA9W4iKJ5h2Wlr7GwdAT4wow0CM8hVit1yOxEL49Qw,54295
188
190
  letta/server/static_files/assets/index-9fa459a2.js,sha256=j2oMcDJO9dWJaH5e-tsflbVpWK20gLWpZKJk4-Kuy6A,1815592
@@ -197,7 +199,8 @@ letta/server/ws_api/protocol.py,sha256=M_-gM5iuDBwa1cuN2IGNCG5GxMJwU2d3XW93XALv9
197
199
  letta/server/ws_api/server.py,sha256=C2Kv48PCwl46DQFb0ZP30s86KJLQ6dZk2AhWQEZn9pY,6004
198
200
  letta/services/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
199
201
  letta/services/agents_tags_manager.py,sha256=zNqeXDpaf4dQ77jrRHiQfITdk4FawBzcND-9tWrj8gw,3127
200
- letta/services/organization_manager.py,sha256=2RMmA8TRE9OFkomnT2NptEuFL4Y1lU3H2w1YjacI-o8,3613
202
+ letta/services/organization_manager.py,sha256=OfE2_NMmhqXURX4sg7hCOiFQVQpV5ZiPu7J3sboCSYc,3555
203
+ letta/services/source_manager.py,sha256=StX5Wfd7XSCKJet8qExIu3GMoI-eMIbEarAeTv2gq0s,6555
201
204
  letta/services/tool_manager.py,sha256=z3nnUDQWuqB5RYk_y78EvIH6SMx-KJy7qeHqclZHonw,7897
202
205
  letta/services/user_manager.py,sha256=UJa0hqCjz0yXtvrCR8OVBqlSR5lC_Ejn-uG__58zLds,4398
203
206
  letta/settings.py,sha256=yiYNmnYKj_BdTm0cBEIvQKYGU-lCmFntqsyVfRUy3_k,3411
@@ -205,8 +208,8 @@ letta/streaming_interface.py,sha256=_FPUWy58j50evHcpXyd7zB1wWqeCc71NCFeWh_TBvnw,
205
208
  letta/streaming_utils.py,sha256=329fsvj1ZN0r0LpQtmMPZ2vSxkDBIUUwvGHZFkjm2I8,11745
206
209
  letta/system.py,sha256=buKYPqG5n2x41hVmWpu6JUpyd7vTWED9Km2_M7dLrvk,6960
207
210
  letta/utils.py,sha256=SXLEYhyp3gHyIjrxNIKNZZ5ittKo3KOj6zxgC_Trex0,31012
208
- letta_nightly-0.5.2.dev20241112104101.dist-info/LICENSE,sha256=mExtuZ_GYJgDEI38GWdiEYZizZS4KkVt2SF1g_GPNhI,10759
209
- letta_nightly-0.5.2.dev20241112104101.dist-info/METADATA,sha256=iPQkItVGNBgehma7soFHdycDK4oqjHETvfw2Ul-ror8,11024
210
- letta_nightly-0.5.2.dev20241112104101.dist-info/WHEEL,sha256=FMvqSimYX_P7y0a7UY-_Mc83r5zkBZsCYPm7Lr0Bsq4,88
211
- letta_nightly-0.5.2.dev20241112104101.dist-info/entry_points.txt,sha256=2zdiyGNEZGV5oYBuS-y2nAAgjDgcC9yM_mHJBFSRt5U,40
212
- letta_nightly-0.5.2.dev20241112104101.dist-info/RECORD,,
211
+ letta_nightly-0.5.2.dev20241113234401.dist-info/LICENSE,sha256=mExtuZ_GYJgDEI38GWdiEYZizZS4KkVt2SF1g_GPNhI,10759
212
+ letta_nightly-0.5.2.dev20241113234401.dist-info/METADATA,sha256=sydGYHKPa9zN-9NrBVfbVicoEGwk4EfIemafhLSxZxY,11024
213
+ letta_nightly-0.5.2.dev20241113234401.dist-info/WHEEL,sha256=FMvqSimYX_P7y0a7UY-_Mc83r5zkBZsCYPm7Lr0Bsq4,88
214
+ letta_nightly-0.5.2.dev20241113234401.dist-info/entry_points.txt,sha256=2zdiyGNEZGV5oYBuS-y2nAAgjDgcC9yM_mHJBFSRt5U,40
215
+ letta_nightly-0.5.2.dev20241113234401.dist-info/RECORD,,