letta-nightly 0.6.5.dev20241218213641__py3-none-any.whl → 0.6.5.dev20241220104040__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.
- letta/agent.py +37 -6
- letta/client/client.py +2 -2
- letta/client/streaming.py +9 -9
- letta/errors.py +60 -25
- letta/functions/function_sets/base.py +0 -54
- letta/helpers/tool_rule_solver.py +82 -51
- letta/llm_api/llm_api_tools.py +2 -2
- letta/orm/custom_columns.py +5 -2
- letta/orm/message.py +2 -1
- letta/orm/passage.py +14 -15
- letta/providers.py +2 -1
- letta/schemas/enums.py +1 -0
- letta/schemas/letta_message.py +76 -40
- letta/schemas/letta_response.py +9 -1
- letta/schemas/message.py +13 -13
- letta/schemas/tool_rule.py +12 -2
- letta/server/rest_api/interface.py +48 -48
- letta/server/rest_api/routers/openai/chat_completions/chat_completions.py +2 -2
- letta/server/rest_api/routers/v1/agents.py +3 -0
- letta/server/rest_api/routers/v1/tools.py +5 -20
- letta/server/rest_api/utils.py +23 -22
- letta/server/server.py +12 -18
- letta/services/agent_manager.py +32 -46
- letta/services/message_manager.py +1 -0
- letta/services/tool_manager.py +3 -3
- {letta_nightly-0.6.5.dev20241218213641.dist-info → letta_nightly-0.6.5.dev20241220104040.dist-info}/METADATA +1 -1
- {letta_nightly-0.6.5.dev20241218213641.dist-info → letta_nightly-0.6.5.dev20241220104040.dist-info}/RECORD +30 -30
- {letta_nightly-0.6.5.dev20241218213641.dist-info → letta_nightly-0.6.5.dev20241220104040.dist-info}/LICENSE +0 -0
- {letta_nightly-0.6.5.dev20241218213641.dist-info → letta_nightly-0.6.5.dev20241220104040.dist-info}/WHEEL +0 -0
- {letta_nightly-0.6.5.dev20241218213641.dist-info → letta_nightly-0.6.5.dev20241220104040.dist-info}/entry_points.txt +0 -0
letta/services/agent_manager.py
CHANGED
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
from typing import Dict, List, Optional
|
|
2
1
|
from datetime import datetime
|
|
3
|
-
import
|
|
2
|
+
from typing import Dict, List, Optional
|
|
4
3
|
|
|
5
|
-
|
|
4
|
+
import numpy as np
|
|
5
|
+
from sqlalchemy import Select, func, literal, select, union_all
|
|
6
6
|
|
|
7
7
|
from letta.constants import BASE_MEMORY_TOOLS, BASE_TOOLS, MAX_EMBEDDING_DIM
|
|
8
8
|
from letta.embeddings import embedding_model
|
|
9
9
|
from letta.log import get_logger
|
|
10
10
|
from letta.orm import Agent as AgentModel
|
|
11
|
+
from letta.orm import AgentPassage
|
|
11
12
|
from letta.orm import Block as BlockModel
|
|
12
13
|
from letta.orm import Source as SourceModel
|
|
14
|
+
from letta.orm import SourcePassage, SourcesAgents
|
|
13
15
|
from letta.orm import Tool as ToolModel
|
|
14
|
-
from letta.orm import AgentPassage, SourcePassage
|
|
15
|
-
from letta.orm import SourcesAgents
|
|
16
16
|
from letta.orm.errors import NoResultFound
|
|
17
17
|
from letta.orm.sqlite_functions import adapt_array
|
|
18
18
|
from letta.schemas.agent import AgentState as PydanticAgentState
|
|
@@ -77,6 +77,8 @@ class AgentManager:
|
|
|
77
77
|
tool_names.extend(BASE_TOOLS + BASE_MEMORY_TOOLS)
|
|
78
78
|
if agent_create.tools:
|
|
79
79
|
tool_names.extend(agent_create.tools)
|
|
80
|
+
# Remove duplicates
|
|
81
|
+
tool_names = list(set(tool_names))
|
|
80
82
|
|
|
81
83
|
tool_ids = agent_create.tool_ids or []
|
|
82
84
|
for tool_name in tool_names:
|
|
@@ -431,7 +433,7 @@ class AgentManager:
|
|
|
431
433
|
agent_only: bool = False,
|
|
432
434
|
) -> Select:
|
|
433
435
|
"""Helper function to build the base passage query with all filters applied.
|
|
434
|
-
|
|
436
|
+
|
|
435
437
|
Returns the query before any limit or count operations are applied.
|
|
436
438
|
"""
|
|
437
439
|
embedded_text = None
|
|
@@ -448,21 +450,14 @@ class AgentManager:
|
|
|
448
450
|
if not agent_only: # Include source passages
|
|
449
451
|
if agent_id is not None:
|
|
450
452
|
source_passages = (
|
|
451
|
-
select(
|
|
452
|
-
SourcePassage,
|
|
453
|
-
literal(None).label('agent_id')
|
|
454
|
-
)
|
|
453
|
+
select(SourcePassage, literal(None).label("agent_id"))
|
|
455
454
|
.join(SourcesAgents, SourcesAgents.source_id == SourcePassage.source_id)
|
|
456
455
|
.where(SourcesAgents.agent_id == agent_id)
|
|
457
456
|
.where(SourcePassage.organization_id == actor.organization_id)
|
|
458
457
|
)
|
|
459
458
|
else:
|
|
460
|
-
source_passages = (
|
|
461
|
-
|
|
462
|
-
SourcePassage,
|
|
463
|
-
literal(None).label('agent_id')
|
|
464
|
-
)
|
|
465
|
-
.where(SourcePassage.organization_id == actor.organization_id)
|
|
459
|
+
source_passages = select(SourcePassage, literal(None).label("agent_id")).where(
|
|
460
|
+
SourcePassage.organization_id == actor.organization_id
|
|
466
461
|
)
|
|
467
462
|
|
|
468
463
|
if source_id:
|
|
@@ -486,9 +481,9 @@ class AgentManager:
|
|
|
486
481
|
AgentPassage._created_by_id,
|
|
487
482
|
AgentPassage._last_updated_by_id,
|
|
488
483
|
AgentPassage.organization_id,
|
|
489
|
-
literal(None).label(
|
|
490
|
-
literal(None).label(
|
|
491
|
-
AgentPassage.agent_id
|
|
484
|
+
literal(None).label("file_id"),
|
|
485
|
+
literal(None).label("source_id"),
|
|
486
|
+
AgentPassage.agent_id,
|
|
492
487
|
)
|
|
493
488
|
.where(AgentPassage.agent_id == agent_id)
|
|
494
489
|
.where(AgentPassage.organization_id == actor.organization_id)
|
|
@@ -496,11 +491,11 @@ class AgentManager:
|
|
|
496
491
|
|
|
497
492
|
# Combine queries
|
|
498
493
|
if source_passages is not None and agent_passages is not None:
|
|
499
|
-
combined_query = union_all(source_passages, agent_passages).cte(
|
|
494
|
+
combined_query = union_all(source_passages, agent_passages).cte("combined_passages")
|
|
500
495
|
elif agent_passages is not None:
|
|
501
|
-
combined_query = agent_passages.cte(
|
|
496
|
+
combined_query = agent_passages.cte("combined_passages")
|
|
502
497
|
elif source_passages is not None:
|
|
503
|
-
combined_query = source_passages.cte(
|
|
498
|
+
combined_query = source_passages.cte("combined_passages")
|
|
504
499
|
else:
|
|
505
500
|
raise ValueError("No passages found")
|
|
506
501
|
|
|
@@ -521,9 +516,7 @@ class AgentManager:
|
|
|
521
516
|
if embedded_text:
|
|
522
517
|
if settings.letta_pg_uri_no_default:
|
|
523
518
|
# PostgreSQL with pgvector
|
|
524
|
-
main_query = main_query.order_by(
|
|
525
|
-
combined_query.c.embedding.cosine_distance(embedded_text).asc()
|
|
526
|
-
)
|
|
519
|
+
main_query = main_query.order_by(combined_query.c.embedding.cosine_distance(embedded_text).asc())
|
|
527
520
|
else:
|
|
528
521
|
# SQLite with custom vector type
|
|
529
522
|
query_embedding_binary = adapt_array(embedded_text)
|
|
@@ -531,13 +524,13 @@ class AgentManager:
|
|
|
531
524
|
main_query = main_query.order_by(
|
|
532
525
|
func.cosine_distance(combined_query.c.embedding, query_embedding_binary).asc(),
|
|
533
526
|
combined_query.c.created_at.asc(),
|
|
534
|
-
combined_query.c.id.asc()
|
|
527
|
+
combined_query.c.id.asc(),
|
|
535
528
|
)
|
|
536
529
|
else:
|
|
537
530
|
main_query = main_query.order_by(
|
|
538
531
|
func.cosine_distance(combined_query.c.embedding, query_embedding_binary).asc(),
|
|
539
532
|
combined_query.c.created_at.desc(),
|
|
540
|
-
combined_query.c.id.asc()
|
|
533
|
+
combined_query.c.id.asc(),
|
|
541
534
|
)
|
|
542
535
|
else:
|
|
543
536
|
if query_text:
|
|
@@ -545,18 +538,12 @@ class AgentManager:
|
|
|
545
538
|
|
|
546
539
|
# Handle cursor-based pagination
|
|
547
540
|
if cursor:
|
|
548
|
-
cursor_query = select(combined_query.c.created_at).where(
|
|
549
|
-
|
|
550
|
-
).scalar_subquery()
|
|
551
|
-
|
|
541
|
+
cursor_query = select(combined_query.c.created_at).where(combined_query.c.id == cursor).scalar_subquery()
|
|
542
|
+
|
|
552
543
|
if ascending:
|
|
553
|
-
main_query = main_query.where(
|
|
554
|
-
combined_query.c.created_at > cursor_query
|
|
555
|
-
)
|
|
544
|
+
main_query = main_query.where(combined_query.c.created_at > cursor_query)
|
|
556
545
|
else:
|
|
557
|
-
main_query = main_query.where(
|
|
558
|
-
combined_query.c.created_at < cursor_query
|
|
559
|
-
)
|
|
546
|
+
main_query = main_query.where(combined_query.c.created_at < cursor_query)
|
|
560
547
|
|
|
561
548
|
# Add ordering if not already ordered by similarity
|
|
562
549
|
if not embed_query:
|
|
@@ -588,7 +575,7 @@ class AgentManager:
|
|
|
588
575
|
embed_query: bool = False,
|
|
589
576
|
ascending: bool = True,
|
|
590
577
|
embedding_config: Optional[EmbeddingConfig] = None,
|
|
591
|
-
agent_only: bool = False
|
|
578
|
+
agent_only: bool = False,
|
|
592
579
|
) -> List[PydanticPassage]:
|
|
593
580
|
"""Lists all passages attached to an agent."""
|
|
594
581
|
with self.session_maker() as session:
|
|
@@ -617,19 +604,18 @@ class AgentManager:
|
|
|
617
604
|
passages = []
|
|
618
605
|
for row in results:
|
|
619
606
|
data = dict(row._mapping)
|
|
620
|
-
if data[
|
|
607
|
+
if data["agent_id"] is not None:
|
|
621
608
|
# This is an AgentPassage - remove source fields
|
|
622
|
-
data.pop(
|
|
623
|
-
data.pop(
|
|
609
|
+
data.pop("source_id", None)
|
|
610
|
+
data.pop("file_id", None)
|
|
624
611
|
passage = AgentPassage(**data)
|
|
625
612
|
else:
|
|
626
613
|
# This is a SourcePassage - remove agent field
|
|
627
|
-
data.pop(
|
|
614
|
+
data.pop("agent_id", None)
|
|
628
615
|
passage = SourcePassage(**data)
|
|
629
616
|
passages.append(passage)
|
|
630
|
-
|
|
631
|
-
return [p.to_pydantic() for p in passages]
|
|
632
617
|
|
|
618
|
+
return [p.to_pydantic() for p in passages]
|
|
633
619
|
|
|
634
620
|
@enforce_types
|
|
635
621
|
def passage_size(
|
|
@@ -645,7 +631,7 @@ class AgentManager:
|
|
|
645
631
|
embed_query: bool = False,
|
|
646
632
|
ascending: bool = True,
|
|
647
633
|
embedding_config: Optional[EmbeddingConfig] = None,
|
|
648
|
-
agent_only: bool = False
|
|
634
|
+
agent_only: bool = False,
|
|
649
635
|
) -> int:
|
|
650
636
|
"""Returns the count of passages matching the given criteria."""
|
|
651
637
|
with self.session_maker() as session:
|
|
@@ -663,7 +649,7 @@ class AgentManager:
|
|
|
663
649
|
embedding_config=embedding_config,
|
|
664
650
|
agent_only=agent_only,
|
|
665
651
|
)
|
|
666
|
-
|
|
652
|
+
|
|
667
653
|
# Convert to count query
|
|
668
654
|
count_query = select(func.count()).select_from(main_query.subquery())
|
|
669
655
|
return session.scalar(count_query) or 0
|
letta/services/tool_manager.py
CHANGED
|
@@ -3,6 +3,7 @@ import inspect
|
|
|
3
3
|
import warnings
|
|
4
4
|
from typing import List, Optional
|
|
5
5
|
|
|
6
|
+
from letta.constants import BASE_MEMORY_TOOLS, BASE_TOOLS
|
|
6
7
|
from letta.functions.functions import derive_openai_json_schema, load_function_set
|
|
7
8
|
|
|
8
9
|
# TODO: Remove this once we translate all of these to the ORM
|
|
@@ -20,7 +21,6 @@ class ToolManager:
|
|
|
20
21
|
BASE_TOOL_NAMES = [
|
|
21
22
|
"send_message",
|
|
22
23
|
"conversation_search",
|
|
23
|
-
"conversation_search_date",
|
|
24
24
|
"archival_memory_insert",
|
|
25
25
|
"archival_memory_search",
|
|
26
26
|
]
|
|
@@ -133,7 +133,7 @@ class ToolManager:
|
|
|
133
133
|
raise ValueError(f"Tool with id {tool_id} not found.")
|
|
134
134
|
|
|
135
135
|
@enforce_types
|
|
136
|
-
def
|
|
136
|
+
def upsert_base_tools(self, actor: PydanticUser) -> List[PydanticTool]:
|
|
137
137
|
"""Add default tools in base.py"""
|
|
138
138
|
module_name = "base"
|
|
139
139
|
full_module_name = f"letta.functions.function_sets.{module_name}"
|
|
@@ -154,7 +154,7 @@ class ToolManager:
|
|
|
154
154
|
# create tool in db
|
|
155
155
|
tools = []
|
|
156
156
|
for name, schema in functions_to_schema.items():
|
|
157
|
-
if name in
|
|
157
|
+
if name in BASE_TOOLS + BASE_MEMORY_TOOLS:
|
|
158
158
|
# print([str(inspect.getsource(line)) for line in schema["imports"]])
|
|
159
159
|
source_code = inspect.getsource(schema["python_function"])
|
|
160
160
|
tags = [module_name]
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
letta/__init__.py,sha256=zY_5By7t8Jgl0Nejq2i4yOTJQg0lzJNlwdmp8sB-W9Y,1014
|
|
2
2
|
letta/__main__.py,sha256=6Hs2PV7EYc5Tid4g4OtcLXhqVHiNYTGzSBdoOnW2HXA,29
|
|
3
|
-
letta/agent.py,sha256=
|
|
3
|
+
letta/agent.py,sha256=UkbUrQjbOsPUU6_1jJQ0i3VYZ28A-9J5V6201Xktreg,79195
|
|
4
4
|
letta/benchmark/benchmark.py,sha256=ebvnwfp3yezaXOQyGXkYCDYpsmre-b9hvNtnyx4xkG0,3701
|
|
5
5
|
letta/benchmark/constants.py,sha256=aXc5gdpMGJT327VuxsT5FngbCK2J41PQYeICBO7g_RE,536
|
|
6
6
|
letta/chat_only_agent.py,sha256=3wBCzddcfF6IMbPdDtTZFze5-HJSYxHd8w6jkkSwzsw,4628
|
|
@@ -8,8 +8,8 @@ letta/cli/cli.py,sha256=N6jCmysldhAGTQPkGDmRVMAIID7GlgECXqarcMV5h3M,16502
|
|
|
8
8
|
letta/cli/cli_config.py,sha256=tB0Wgz3O9j6KiCsU1HWfsKmhNM9RqLsAxzxEDFQFGnM,8565
|
|
9
9
|
letta/cli/cli_load.py,sha256=xFw-CuzjChcIptaqQ1XpDROENt0JSjyPeiQ0nmEeO1k,2706
|
|
10
10
|
letta/client/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
11
|
-
letta/client/client.py,sha256=
|
|
12
|
-
letta/client/streaming.py,sha256=
|
|
11
|
+
letta/client/client.py,sha256=hQDOqeWIeHNvvWTiO6QgBcuzHQ54V-G0DjtbJ-ycL9Y,126673
|
|
12
|
+
letta/client/streaming.py,sha256=tuByoy_T40pKghpoTboyBMmotlMEqVFPqNRgODZJ38k,4754
|
|
13
13
|
letta/client/utils.py,sha256=OJlAKWrldc4I6M1WpcTWNtPJ4wfxlzlZqWLfCozkFtI,2872
|
|
14
14
|
letta/config.py,sha256=JFGY4TWW0Wm5fTbZamOwWqk5G8Nn-TXyhgByGoAqy2c,12375
|
|
15
15
|
letta/constants.py,sha256=1cyuDmvdkmt9px5N3IqzxvcKJ_ERrYUdSzN60Ky-HBs,7054
|
|
@@ -17,15 +17,15 @@ letta/credentials.py,sha256=D9mlcPsdDWlIIXQQD8wSPE9M_QvsRrb0p3LB5i9OF5Q,5806
|
|
|
17
17
|
letta/data_sources/connectors.py,sha256=Bwgf6mW55rDrdX69dY3bLzQW9Uuk_o9w4skwbx1NioY,7039
|
|
18
18
|
letta/data_sources/connectors_helper.py,sha256=2TQjCt74fCgT5sw1AP8PalDEk06jPBbhrPG4HVr-WLs,3371
|
|
19
19
|
letta/embeddings.py,sha256=r1jWuZplYZl8GzfObBZxPdKWg2O0Msd8D164qSoCPIM,8855
|
|
20
|
-
letta/errors.py,sha256=
|
|
20
|
+
letta/errors.py,sha256=ZdaZ1spBobTNEVgeoaZ0Up4VqaTFhk2wDYzzzX9smz0,5111
|
|
21
21
|
letta/functions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
22
|
-
letta/functions/function_sets/base.py,sha256=
|
|
22
|
+
letta/functions/function_sets/base.py,sha256=bOiitkhzqYKwZBiRYrx29AlordiA5IrXw25eVSRK8BY,5984
|
|
23
23
|
letta/functions/function_sets/extras.py,sha256=Jik3UiDqYTm4Lam1XPTvuVjvgUHwIAhopsnbmVhGMBg,4732
|
|
24
24
|
letta/functions/functions.py,sha256=evH6GKnIJwVVre1Xre2gaSIqREv4eNM4DiWOhn8PMqg,3299
|
|
25
25
|
letta/functions/helpers.py,sha256=fJo4gPvWpkvR7jn0HucRorz4VlpYVqmYsiX1RetnnSY,8569
|
|
26
26
|
letta/functions/schema_generator.py,sha256=sN0QurH69H9jfRnRV5CBSYS7bVU9BKBdF0SSCGrwuQA,19256
|
|
27
27
|
letta/helpers/__init__.py,sha256=p0luQ1Oe3Skc6sH4O58aHHA3Qbkyjifpuq0DZ1GAY0U,59
|
|
28
|
-
letta/helpers/tool_rule_solver.py,sha256=
|
|
28
|
+
letta/helpers/tool_rule_solver.py,sha256=BzYSEMlv6NAfQplzqINGjza7jAXa831JkhbdCRQ58fY,6236
|
|
29
29
|
letta/humans/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
30
30
|
letta/humans/examples/basic.txt,sha256=Lcp8YESTWvOJgO4Yf_yyQmgo5bKakeB1nIVrwEGG6PA,17
|
|
31
31
|
letta/humans/examples/cs_phd.txt,sha256=9C9ZAV_VuG7GB31ksy3-_NAyk8rjE6YtVOkhp08k1xw,297
|
|
@@ -37,7 +37,7 @@ letta/llm_api/azure_openai_constants.py,sha256=oXtKrgBFHf744gyt5l1thILXgyi8NDNUr
|
|
|
37
37
|
letta/llm_api/cohere.py,sha256=vDRd-SUGp1t_JUIdwC3RkIhwMl0OY7n-tAU9uPORYkY,14826
|
|
38
38
|
letta/llm_api/google_ai.py,sha256=xKz9JDZs3m6yzSfcgCAAUD_rjI20BBIINoiSvlcnOw0,17621
|
|
39
39
|
letta/llm_api/helpers.py,sha256=F8xZDZgDojWX5v-0vakyeUQyCyBr1HmzmsITRdOsmVg,13457
|
|
40
|
-
letta/llm_api/llm_api_tools.py,sha256=
|
|
40
|
+
letta/llm_api/llm_api_tools.py,sha256=Qb1NsOOLmgMzMZ_A1J0v2EoQPm444Z2kZ9d-5j-FL6c,17731
|
|
41
41
|
letta/llm_api/mistral.py,sha256=fHdfD9ug-rQIk2qn8tRKay1U6w9maF11ryhKi91FfXM,1593
|
|
42
42
|
letta/llm_api/openai.py,sha256=4GEGROTv4vLawSgODnAHCI-DeIWDqrhuxtKrqYzHvso,24160
|
|
43
43
|
letta/local_llm/README.md,sha256=hFJyw5B0TU2jrh9nb0zGZMgdH-Ei1dSRfhvPQG_NSoU,168
|
|
@@ -91,15 +91,15 @@ letta/orm/agents_tags.py,sha256=dYSnHz4IWBjyOiQ4RJomX3P0QN76JTlEZEw5eJM6Emg,925
|
|
|
91
91
|
letta/orm/base.py,sha256=K_LpNUURbsj44ycHbzvNXG_n8pBOjf1YvDaikIPDpQA,2716
|
|
92
92
|
letta/orm/block.py,sha256=U2fOXdab9ynQscOqzUo3xv1a_GjqHLIgoNSZq-U0mYg,3308
|
|
93
93
|
letta/orm/blocks_agents.py,sha256=W0dykl9OchAofSuAYZD5zNmhyMabPr9LTJrz-I3A0m4,983
|
|
94
|
-
letta/orm/custom_columns.py,sha256=
|
|
94
|
+
letta/orm/custom_columns.py,sha256=dBYJn3yc1BIy7ZntIFfq9oEdQav-u0r412C2HyDeUPU,5056
|
|
95
95
|
letta/orm/enums.py,sha256=KfHcFt_fR6GUmSlmfsa-TetvmuRxGESNve8MStRYW64,145
|
|
96
96
|
letta/orm/errors.py,sha256=Se0Guz-gqi-D36NUWSh7AP9zTVCSph9KgZh_trwng4o,734
|
|
97
97
|
letta/orm/file.py,sha256=0qfqmBFizwtYriCz_qrshjxw3A9lMaRFKtwsZecviyo,1765
|
|
98
98
|
letta/orm/job.py,sha256=If-qSTJW4t5h-6Jolw3tS3-xMZEaPIbXe3S0GMf_FXI,1102
|
|
99
|
-
letta/orm/message.py,sha256=
|
|
99
|
+
letta/orm/message.py,sha256=Ui3mMZTAObP7RvmNnqCFudw8Pkt8IAPTlIjCSCsVDFA,1560
|
|
100
100
|
letta/orm/mixins.py,sha256=fBT4WjKDfDgGkkOHD8lFAaofDKElTLOx3oM1d6yQHSk,1620
|
|
101
101
|
letta/orm/organization.py,sha256=PSu9pHBT_YYdZo7Z7AZBBM4veOzD7x2H2NYN4SjD82E,2519
|
|
102
|
-
letta/orm/passage.py,sha256=
|
|
102
|
+
letta/orm/passage.py,sha256=tm5YhUozLR9hN7odGCqCniTl-3GDiFNz3LWAxullaGA,3132
|
|
103
103
|
letta/orm/sandbox_config.py,sha256=PCMHE-eJPzBT-90OYtXjEMRF4f9JB8AJIGETE7bu-f0,2870
|
|
104
104
|
letta/orm/source.py,sha256=SlX08BnoJYMh34cGTuPbo2kraCuXSy25xGdNWb7d7DQ,1782
|
|
105
105
|
letta/orm/sources_agents.py,sha256=q5Wf5TFNI9KH6cGW93roNhvFD3n39UE2bYQhnSJwlME,433
|
|
@@ -134,22 +134,22 @@ letta/prompts/system/memgpt_modified_chat.txt,sha256=F_yD4ZcR4aGDE3Z98tI7e609GYe
|
|
|
134
134
|
letta/prompts/system/memgpt_modified_o1.txt,sha256=objnDgnxpF3-MmU28ZqZ7-TOG8UlHBM_HMyAdSDWK88,5492
|
|
135
135
|
letta/prompts/system/memgpt_offline_memory.txt,sha256=rWEJeF-6aiinjkJM9hgLUYCmlEcC_HekYB1bjEUYq6M,2460
|
|
136
136
|
letta/prompts/system/memgpt_offline_memory_chat.txt,sha256=ituh7gDuio7nC2UKFB7GpBq6crxb8bYedQfJ0ADoPgg,3949
|
|
137
|
-
letta/providers.py,sha256=
|
|
137
|
+
letta/providers.py,sha256=vSOPExE8gpCTUYuz1qccr0wh10JK4QO2jtQleMLWL7s,25439
|
|
138
138
|
letta/pytest.ini,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
139
139
|
letta/schemas/agent.py,sha256=8zorIkzmsC2IBpO3r-I5p18VA-7BGDe_rxXqfPUJ9lE,10212
|
|
140
140
|
letta/schemas/block.py,sha256=pVDH8jr5r-oxdX4cK9dX2wXyLBzgGKQOBWOzqZSeBog,5944
|
|
141
141
|
letta/schemas/embedding_config.py,sha256=u6n-MjUgLfKeDCMdG8f_7qCxJBxo0I8d3KIggmhwjfA,3236
|
|
142
|
-
letta/schemas/enums.py,sha256=
|
|
142
|
+
letta/schemas/enums.py,sha256=_ar3z6H_HP5c4cQEIf4xYO1nqFHQQXWKy6VdcaOX-lQ,1064
|
|
143
143
|
letta/schemas/file.py,sha256=ChN2CWzLI2TT9WLItcfElEH0E8b7kzPylF2OQBr6Beg,1550
|
|
144
144
|
letta/schemas/health.py,sha256=zT6mYovvD17iJRuu2rcaQQzbEEYrkwvAE9TB7iU824c,139
|
|
145
145
|
letta/schemas/job.py,sha256=vRVVpMCHTxot9uaalLS8RARnqzJWvcLB1XP5XRBioPc,1398
|
|
146
146
|
letta/schemas/letta_base.py,sha256=v3OvpVFVUfcuK1lIyTjM0x4fmWeWQw1DdlhKXHBUCz8,3608
|
|
147
|
-
letta/schemas/letta_message.py,sha256=
|
|
147
|
+
letta/schemas/letta_message.py,sha256=SpAxAEFQa-JMzxIQ5cqz0TENB5S9WsdrTAHGUJBLCQQ,8040
|
|
148
148
|
letta/schemas/letta_request.py,sha256=Hfb66FB1tXmrpEX4_yLQVfTrTSMbPYeEvZY-vqW9Tj8,981
|
|
149
|
-
letta/schemas/letta_response.py,sha256=
|
|
149
|
+
letta/schemas/letta_response.py,sha256=PSHnIzGAz1MP1ACA_f7zyt4zXDnYJhNfcDRbV1HJpo4,6940
|
|
150
150
|
letta/schemas/llm_config.py,sha256=RbgnCaqYd_yl-Xs7t-DEI1NhpKD8WiVWjxcwq5mZd5M,4467
|
|
151
151
|
letta/schemas/memory.py,sha256=iWEm15qMa4pWQQUMIt6mnlrBQvACII0MpfNX8QujGE8,10072
|
|
152
|
-
letta/schemas/message.py,sha256=
|
|
152
|
+
letta/schemas/message.py,sha256=Z_k8YpURh0Dbx4BaFbo6Z7YP9JIkItL1UKtDnmZfVHE,34149
|
|
153
153
|
letta/schemas/openai/chat_completion_request.py,sha256=AOIwgbN3CZKVqkuXeMHeSa53u4h0wVq69t3T_LJ0vIE,3389
|
|
154
154
|
letta/schemas/openai/chat_completion_response.py,sha256=ub-oVSyLpuJd-5_yzCSIRR8tD3GM83IeDO1c1uAATa4,3970
|
|
155
155
|
letta/schemas/openai/chat_completions.py,sha256=V0ZPIIk-ds3O6MAkNHMz8zh1hqMFSPrTcYr88WDYzWE,3588
|
|
@@ -160,7 +160,7 @@ letta/schemas/passage.py,sha256=t_bSI8hpEuh-mj8bV8qOiIA1tAgyjGKrZMVe9l5oIaY,3675
|
|
|
160
160
|
letta/schemas/sandbox_config.py,sha256=3CZyClISK3722MWstwOcKp_ppOI1LOE98i84Q4E2U4Y,5737
|
|
161
161
|
letta/schemas/source.py,sha256=B1VbaDJV-EGPv1nQXwCx_RAzeAJd50UqP_1m1cIRT8c,2854
|
|
162
162
|
letta/schemas/tool.py,sha256=_9_JkGSlIn2PCbyJ18aQrNueZgxHFUT093GcJSWYqT4,10346
|
|
163
|
-
letta/schemas/tool_rule.py,sha256=
|
|
163
|
+
letta/schemas/tool_rule.py,sha256=R3KiU3m5LDhiQsK-ZNOHqicMeTLhA7yW0cVZOBH57Uk,1678
|
|
164
164
|
letta/schemas/usage.py,sha256=lvn1ooHwLEdv6gwQpw5PBUbcwn_gwdT6HA-fCiix6sY,817
|
|
165
165
|
letta/schemas/user.py,sha256=V32Tgl6oqB3KznkxUz12y7agkQicjzW7VocSpj78i6Q,1526
|
|
166
166
|
letta/server/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -171,16 +171,16 @@ letta/server/rest_api/app.py,sha256=ulEJeVgH5w9TdzqDJntmDfs8DCjIlImwLDoe6X1sPOc,
|
|
|
171
171
|
letta/server/rest_api/auth/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
172
172
|
letta/server/rest_api/auth/index.py,sha256=fQBGyVylGSRfEMLQ17cZzrHd5Y1xiVylvPqH5Rl-lXQ,1378
|
|
173
173
|
letta/server/rest_api/auth_token.py,sha256=725EFEIiNj4dh70hrSd94UysmFD8vcJLrTRfNHkzxDo,774
|
|
174
|
-
letta/server/rest_api/interface.py,sha256=
|
|
174
|
+
letta/server/rest_api/interface.py,sha256=NQjzO1sMvb-bTp8Tbnw_IndsomlOnwznSoJaqofiagk,45760
|
|
175
175
|
letta/server/rest_api/routers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
176
176
|
letta/server/rest_api/routers/openai/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
177
177
|
letta/server/rest_api/routers/openai/assistants/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
178
178
|
letta/server/rest_api/routers/openai/assistants/assistants.py,sha256=PXv5vLFDa3ptMBY6QJUkMaPqk2HFP0IpirJUCmgOY6k,4828
|
|
179
179
|
letta/server/rest_api/routers/openai/assistants/schemas.py,sha256=d3LdBLUI-mMUCP-Q3X9Z_DqIu-ko9_KLMt8og799aNg,5630
|
|
180
180
|
letta/server/rest_api/routers/openai/chat_completions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
181
|
-
letta/server/rest_api/routers/openai/chat_completions/chat_completions.py,sha256=
|
|
181
|
+
letta/server/rest_api/routers/openai/chat_completions/chat_completions.py,sha256=UoZCLvAsC2SzfnJg7LOz0h2wfcn8hmU33d2CW18erKw,4841
|
|
182
182
|
letta/server/rest_api/routers/v1/__init__.py,sha256=RZc0fIHNN4BGretjU6_TGK7q49RyV4jfYNudoiK_sUo,762
|
|
183
|
-
letta/server/rest_api/routers/v1/agents.py,sha256=
|
|
183
|
+
letta/server/rest_api/routers/v1/agents.py,sha256=a_u-g4tX1PN_c6cFnubApLqAkmZNTCu1YF6MmYdmymY,30359
|
|
184
184
|
letta/server/rest_api/routers/v1/blocks.py,sha256=IJ2pppwNooaUjIwyBALnKL4sJ8idW8cVJlY-VH_J9HY,4803
|
|
185
185
|
letta/server/rest_api/routers/v1/health.py,sha256=pKCuVESlVOhGIb4VC4K-H82eZqfghmT6kvj2iOkkKuc,401
|
|
186
186
|
letta/server/rest_api/routers/v1/jobs.py,sha256=-tEyuIxlXZfPREeMks-sRzHwhKE2xxgzbXeEbBAS2Q8,2730
|
|
@@ -188,11 +188,11 @@ letta/server/rest_api/routers/v1/llms.py,sha256=TcyvSx6MEM3je5F4DysL7ligmssL_pFl
|
|
|
188
188
|
letta/server/rest_api/routers/v1/organizations.py,sha256=tyqVzXTpMtk3sKxI3Iz4aS6RhbGEbXDzFBB_CpW18v4,2080
|
|
189
189
|
letta/server/rest_api/routers/v1/sandbox_configs.py,sha256=pG3X3bYbmsq90kRc-06qfnM6yalvYEpVVEQnTuZVm0o,5134
|
|
190
190
|
letta/server/rest_api/routers/v1/sources.py,sha256=bLvxyYBOLx1VD5YPuoCBrQrua0AruzUzvCMIiekjVQg,9974
|
|
191
|
-
letta/server/rest_api/routers/v1/tools.py,sha256=
|
|
191
|
+
letta/server/rest_api/routers/v1/tools.py,sha256=KC44cB5QYja0piHkQxI1F-IzJbck2OvnXaOj-gOsdqs,11176
|
|
192
192
|
letta/server/rest_api/routers/v1/users.py,sha256=EBQe9IfCG3kzHpKmotz4yVGZioXz3SCSRy5yEhJK8hU,2293
|
|
193
193
|
letta/server/rest_api/static_files.py,sha256=NG8sN4Z5EJ8JVQdj19tkFa9iQ1kBPTab9f_CUxd_u4Q,3143
|
|
194
|
-
letta/server/rest_api/utils.py,sha256=
|
|
195
|
-
letta/server/server.py,sha256=
|
|
194
|
+
letta/server/rest_api/utils.py,sha256=3wF-KavVVKzcdxcTQ7zzKtQQ1a7jRN3YuKXttrI5S9Y,3963
|
|
195
|
+
letta/server/server.py,sha256=_hcPg16zReylsO_T8LO-G5mk3UYLambtcq3-Lblvw0A,59954
|
|
196
196
|
letta/server/startup.sh,sha256=722uKJWB2C4q3vjn39De2zzPacaZNw_1fN1SpLGjKIo,1569
|
|
197
197
|
letta/server/static_files/assets/index-048c9598.js,sha256=mR16XppvselwKCcNgONs4L7kZEVa4OEERm4lNZYtLSk,146819
|
|
198
198
|
letta/server/static_files/assets/index-0e31b727.css,sha256=DjG3J3RSFLcinzoisOYYLiyTAIe5Uaxge3HE-DmQIsU,7688
|
|
@@ -206,18 +206,18 @@ letta/server/ws_api/interface.py,sha256=TWl9vkcMCnLsUtgsuENZ-ku2oMDA-OUTzLh_yNRo
|
|
|
206
206
|
letta/server/ws_api/protocol.py,sha256=M_-gM5iuDBwa1cuN2IGNCG5GxMJwU2d3XW93XALv9s8,1821
|
|
207
207
|
letta/server/ws_api/server.py,sha256=cBSzf-V4zT1bL_0i54OTI3cMXhTIIxqjSRF8pYjk7fg,5835
|
|
208
208
|
letta/services/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
209
|
-
letta/services/agent_manager.py,sha256=
|
|
209
|
+
letta/services/agent_manager.py,sha256=GQyLp6ZgBCXozkkbfeY81_sFbf-UHVU_ulaTvFO9dCM,30338
|
|
210
210
|
letta/services/block_manager.py,sha256=HUj9HKW2LvAsENEsgCO3Pf3orvSy6XOimev38VKmRZ8,4929
|
|
211
211
|
letta/services/helpers/agent_manager_helper.py,sha256=4AoJJI3ELDZrfhx38vc2OwgQflb7mkdppucln0MkgYg,3457
|
|
212
212
|
letta/services/job_manager.py,sha256=FrkSXloke48CZKuzlYdysxM5gKWoTu7FRigPrs_YW4A,3645
|
|
213
|
-
letta/services/message_manager.py,sha256=
|
|
213
|
+
letta/services/message_manager.py,sha256=l_1_Su9jt3si5EdvbHoC9F4ITuLub4ApcgdkTfK2y2s,7715
|
|
214
214
|
letta/services/organization_manager.py,sha256=hJI86_FErkRaW-VLBBmvmmciIXN59LN0mEMm78C36kQ,3331
|
|
215
215
|
letta/services/passage_manager.py,sha256=3wR9ZV3nIkJ-oSywA2SVR2yLoNe2Nv5WyfaLtoNN5i8,7867
|
|
216
216
|
letta/services/per_agent_lock_manager.py,sha256=porM0cKKANQ1FvcGXOO_qM7ARk5Fgi1HVEAhXsAg9-4,546
|
|
217
217
|
letta/services/sandbox_config_manager.py,sha256=USTXwEEWexKRZjng4NepP4_eetrxCJ5n16cl2AHJ_VM,13220
|
|
218
218
|
letta/services/source_manager.py,sha256=ZtLQikeJjwAq49f0d4WxUzyUN3LZBqWCZI4a-AzEMWQ,7643
|
|
219
219
|
letta/services/tool_execution_sandbox.py,sha256=NtjSXdm86_lbTeW2gF08tyf2KSoxBP0Bxq7qSNudrGE,21567
|
|
220
|
-
letta/services/tool_manager.py,sha256=
|
|
220
|
+
letta/services/tool_manager.py,sha256=eKhvGYNBq8MOwfuk-GyqiTdEcxRn4srYvTJqj-HgTKA,7686
|
|
221
221
|
letta/services/tool_sandbox_env/.gitkeep,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
222
222
|
letta/services/user_manager.py,sha256=oqLF9C4mGbN0TaGj7wMpb2RH2bUg6OJJcdyaWv370rQ,4272
|
|
223
223
|
letta/settings.py,sha256=sC4gS8Po1NyPmSMTk-TTxrKEoJUi8qgou1K3-BqtNA4,3979
|
|
@@ -225,8 +225,8 @@ letta/streaming_interface.py,sha256=_FPUWy58j50evHcpXyd7zB1wWqeCc71NCFeWh_TBvnw,
|
|
|
225
225
|
letta/streaming_utils.py,sha256=329fsvj1ZN0r0LpQtmMPZ2vSxkDBIUUwvGHZFkjm2I8,11745
|
|
226
226
|
letta/system.py,sha256=buKYPqG5n2x41hVmWpu6JUpyd7vTWED9Km2_M7dLrvk,6960
|
|
227
227
|
letta/utils.py,sha256=AlGH2fADkU5VkGISj9-hwMSZVKQUiI1whWTvXCKOiYw,33338
|
|
228
|
-
letta_nightly-0.6.5.
|
|
229
|
-
letta_nightly-0.6.5.
|
|
230
|
-
letta_nightly-0.6.5.
|
|
231
|
-
letta_nightly-0.6.5.
|
|
232
|
-
letta_nightly-0.6.5.
|
|
228
|
+
letta_nightly-0.6.5.dev20241220104040.dist-info/LICENSE,sha256=mExtuZ_GYJgDEI38GWdiEYZizZS4KkVt2SF1g_GPNhI,10759
|
|
229
|
+
letta_nightly-0.6.5.dev20241220104040.dist-info/METADATA,sha256=DVZq4GOeqSESq0SlcMNxZ_qaLGNpYzz0E7wrj-2J6xE,21693
|
|
230
|
+
letta_nightly-0.6.5.dev20241220104040.dist-info/WHEEL,sha256=FMvqSimYX_P7y0a7UY-_Mc83r5zkBZsCYPm7Lr0Bsq4,88
|
|
231
|
+
letta_nightly-0.6.5.dev20241220104040.dist-info/entry_points.txt,sha256=2zdiyGNEZGV5oYBuS-y2nAAgjDgcC9yM_mHJBFSRt5U,40
|
|
232
|
+
letta_nightly-0.6.5.dev20241220104040.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|