letta-client 1.0.0a6__py3-none-any.whl → 1.0.0a7__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-client might be problematic. Click here for more details.
- {letta_sdk → letta_client}/__init__.py +8 -8
- {letta_sdk → letta_client}/_base_client.py +1 -1
- {letta_sdk → letta_client}/_client.py +124 -171
- {letta_sdk → letta_client}/_exceptions.py +2 -2
- {letta_sdk → letta_client}/_resource.py +5 -5
- {letta_sdk → letta_client}/_response.py +8 -6
- {letta_sdk → letta_client}/_streaming.py +3 -3
- {letta_sdk → letta_client}/_types.py +1 -1
- {letta_sdk → letta_client}/_utils/_logs.py +3 -3
- {letta_sdk → letta_client}/_utils/_resources_proxy.py +4 -4
- {letta_sdk → letta_client}/_version.py +2 -2
- {letta_sdk → letta_client}/resources/__init__.py +14 -154
- {letta_sdk → letta_client}/resources/agents/__init__.py +28 -42
- {letta_sdk → letta_client}/resources/agents/agents.py +216 -734
- {letta_sdk/resources/agents/core_memory → letta_client/resources/agents}/blocks.py +103 -12
- {letta_sdk → letta_client}/resources/agents/files.py +71 -8
- {letta_sdk → letta_client}/resources/agents/folders.py +90 -3
- letta_client/resources/agents/groups.py +242 -0
- {letta_sdk → letta_client}/resources/agents/messages.py +252 -480
- {letta_sdk → letta_client}/resources/agents/tools.py +135 -22
- letta_sdk/resources/jobs.py → letta_client/resources/archives.py +268 -280
- {letta_sdk/resources/messages → letta_client/resources/batches}/batches.py +35 -152
- letta_client/resources/batches/messages.py +238 -0
- {letta_sdk/resources/agents/core_memory → letta_client/resources/blocks}/__init__.py +14 -14
- letta_client/resources/blocks/agents.py +284 -0
- {letta_sdk/resources → letta_client/resources/blocks}/blocks.py +54 -167
- letta_client/resources/folders/__init__.py +47 -0
- letta_client/resources/folders/agents.py +234 -0
- letta_client/resources/folders/files.py +469 -0
- letta_sdk/resources/providers.py → letta_client/resources/folders/folders.py +292 -309
- {letta_sdk → letta_client}/resources/groups/groups.py +12 -78
- {letta_sdk → letta_client}/resources/groups/messages.py +165 -27
- letta_client/resources/identities/__init__.py +61 -0
- letta_client/resources/identities/agents.py +266 -0
- letta_client/resources/identities/blocks.py +234 -0
- {letta_sdk/resources → letta_client/resources/identities}/identities.py +267 -525
- letta_client/resources/identities/properties.py +174 -0
- letta_client/resources/models/__init__.py +33 -0
- {letta_sdk/resources → letta_client/resources/models}/embeddings.py +26 -49
- {letta_sdk/resources → letta_client/resources/models}/models.py +42 -117
- letta_client/resources/runs/__init__.py +61 -0
- letta_sdk/resources/archives.py → letta_client/resources/runs/messages.py +182 -153
- letta_client/resources/runs/runs.py +460 -0
- letta_sdk/resources/projects.py → letta_client/resources/runs/steps.py +93 -56
- letta_sdk/resources/voice_beta/chat.py → letta_client/resources/runs/usage.py +50 -57
- letta_client/resources/steps/__init__.py +75 -0
- letta_client/resources/steps/feedback.py +198 -0
- letta_client/resources/steps/messages.py +234 -0
- letta_client/resources/steps/metrics.py +167 -0
- letta_client/resources/steps/steps.py +511 -0
- letta_sdk/resources/telemetry.py → letta_client/resources/steps/trace.py +45 -56
- letta_client/resources/templates/__init__.py +33 -0
- letta_client/resources/templates/agents.py +236 -0
- letta_client/resources/templates/templates.py +102 -0
- {letta_sdk/resources/tools → letta_client/resources}/tools.py +239 -425
- letta_client/types/__init__.py +120 -0
- {letta_sdk → letta_client}/types/agent_create_params.py +5 -2
- {letta_sdk → letta_client}/types/agent_environment_variable.py +3 -0
- letta_client/types/agent_export_file_params.py +18 -0
- letta_sdk/types/agent_export_response.py → letta_client/types/agent_export_file_response.py +2 -2
- letta_sdk/types/agent_import_params.py → letta_client/types/agent_import_file_params.py +5 -2
- letta_sdk/types/agent_import_response.py → letta_client/types/agent_import_file_response.py +2 -2
- {letta_sdk → letta_client}/types/agent_list_params.py +19 -2
- {letta_sdk → letta_client}/types/agent_retrieve_params.py +20 -3
- {letta_sdk → letta_client}/types/agent_state.py +131 -3
- {letta_sdk → letta_client}/types/agent_type.py +1 -0
- {letta_sdk → letta_client}/types/agent_update_params.py +12 -0
- {letta_sdk → letta_client}/types/agents/__init__.py +12 -19
- letta_client/types/agents/approval_create_param.py +44 -0
- {letta_sdk → letta_client}/types/agents/approval_request_message.py +10 -2
- letta_client/types/agents/approval_response_message.py +63 -0
- {letta_sdk/types/agents/core_memory → letta_client/types/agents}/block.py +1 -1
- letta_sdk/types/identity_list_blocks_params.py → letta_client/types/agents/block_list_params.py +2 -2
- {letta_sdk/types/agents/core_memory → letta_client/types/agents}/block_update_params.py +1 -0
- letta_client/types/agents/file_list_params.py +40 -0
- letta_client/types/agents/folder_list_params.py +34 -0
- letta_sdk/types/source.py → letta_client/types/agents/folder_list_response.py +10 -6
- letta_client/types/agents/group_list_params.py +37 -0
- letta_client/types/agents/group_list_response.py +10 -0
- {letta_sdk → letta_client}/types/agents/letta_assistant_message_content_union.py +3 -0
- {letta_sdk → letta_client}/types/agents/letta_assistant_message_content_union_param.py +4 -0
- {letta_sdk → letta_client}/types/agents/letta_response.py +0 -4
- {letta_sdk → letta_client}/types/agents/message.py +93 -2
- {letta_sdk → letta_client}/types/agents/message_list_params.py +20 -5
- letta_sdk/types/agent_reset_messages_params.py → letta_client/types/agents/message_reset_params.py +2 -2
- {letta_sdk → letta_client}/types/agents/message_send_async_params.py +12 -3
- {letta_sdk → letta_client}/types/agents/message_send_params.py +12 -3
- letta_sdk/types/agents/message_send_stream_params.py → letta_client/types/agents/message_stream_params.py +14 -5
- {letta_sdk → letta_client}/types/agents/message_update_params.py +4 -0
- {letta_sdk → letta_client}/types/agents/omitted_reasoning_content.py +3 -0
- {letta_sdk → letta_client}/types/agents/omitted_reasoning_content_param.py +4 -0
- {letta_sdk → letta_client}/types/agents/run.py +16 -19
- {letta_sdk → letta_client}/types/agents/text_content.py +3 -0
- {letta_sdk → letta_client}/types/agents/text_content_param.py +4 -0
- {letta_sdk → letta_client}/types/agents/tool_call_content.py +3 -0
- {letta_sdk → letta_client}/types/agents/tool_call_content_param.py +4 -1
- {letta_sdk → letta_client}/types/agents/tool_call_message.py +6 -2
- letta_client/types/agents/tool_list_params.py +34 -0
- {letta_sdk → letta_client}/types/agents/tool_return.py +7 -3
- letta_client/types/agents/tool_return_param.py +25 -0
- letta_client/types/agents/tool_update_approval_params.py +21 -0
- {letta_sdk → letta_client}/types/archive.py +4 -0
- letta_client/types/archive_create_params.py +19 -0
- letta_sdk/types/archive_retrieve_params.py → letta_client/types/archive_list_params.py +2 -2
- letta_sdk/types/archive_retrieve_response.py → letta_client/types/archive_list_response.py +2 -2
- {letta_sdk → letta_client}/types/archive_update_params.py +3 -3
- {letta_sdk/types/messages → letta_client/types}/batch_create_params.py +15 -6
- letta_sdk/types/job.py → letta_client/types/batch_job.py +8 -3
- letta_client/types/batches/__init__.py +6 -0
- letta_sdk/types/messages/batch_list_messages_params.py → letta_client/types/batches/message_list_params.py +2 -2
- letta_sdk/types/messages/batch_list_messages_response.py → letta_client/types/batches/message_list_response.py +2 -2
- {letta_sdk → letta_client}/types/block_list_response.py +1 -1
- letta_client/types/blocks/__init__.py +6 -0
- letta_sdk/types/block_list_agents_params.py → letta_client/types/blocks/agent_list_params.py +22 -5
- letta_sdk/types/agent_list_groups_response.py → letta_client/types/blocks/agent_list_response.py +3 -3
- letta_client/types/child_tool_rule.py +40 -0
- letta_client/types/child_tool_rule_param.py +42 -0
- letta_client/types/folders/__init__.py +10 -0
- letta_sdk/types/folder_list_agents_params.py → letta_client/types/folders/agent_list_params.py +2 -2
- letta_sdk/types/run_list_active_response.py → letta_client/types/folders/agent_list_response.py +2 -4
- letta_sdk/types/folder_list_files_params.py → letta_client/types/folders/file_list_params.py +2 -2
- letta_client/types/folders/file_list_response.py +68 -0
- letta_sdk/types/source_upload_file_params.py → letta_client/types/folders/file_upload_params.py +5 -6
- letta_sdk/types/file_metadata.py → letta_client/types/folders/file_upload_response.py +5 -5
- {letta_sdk → letta_client}/types/groups/__init__.py +1 -1
- {letta_sdk → letta_client}/types/groups/message_send_params.py +12 -3
- letta_sdk/types/groups/message_send_stream_params.py → letta_client/types/groups/message_stream_params.py +14 -5
- {letta_sdk → letta_client}/types/groups/message_update_params.py +4 -0
- letta_sdk/types/health_check_response.py → letta_client/types/health_response.py +2 -2
- letta_client/types/identities/__init__.py +9 -0
- letta_sdk/types/identity_list_agents_params.py → letta_client/types/identities/agent_list_params.py +19 -3
- letta_client/types/identities/agent_list_response.py +10 -0
- letta_client/types/identities/block_list_params.py +34 -0
- letta_sdk/types/agents/folder_list_response.py → letta_client/types/identities/block_list_response.py +3 -3
- letta_sdk/types/identity_upsert_properties_params.py → letta_client/types/identities/property_upsert_params.py +3 -3
- letta_sdk/types/identity_modify_params.py → letta_client/types/identity_update_params.py +2 -2
- {letta_sdk → letta_client}/types/init_tool_rule.py +10 -1
- {letta_sdk → letta_client}/types/init_tool_rule_param.py +10 -1
- {letta_sdk → letta_client}/types/llm_config.py +6 -0
- {letta_sdk → letta_client}/types/llm_config_param.py +6 -0
- {letta_sdk/types/voice_beta → letta_client/types/models}/__init__.py +1 -1
- letta_sdk/types/agents/archival_memory_create_response.py → letta_client/types/models/embedding_list_response.py +3 -3
- {letta_sdk → letta_client}/types/run_list_params.py +29 -5
- letta_client/types/runs/__init__.py +10 -0
- letta_sdk/types/run_list_messages_params.py → letta_client/types/runs/message_list_params.py +5 -2
- letta_client/types/runs/message_list_response.py +10 -0
- letta_sdk/types/run_retrieve_stream_params.py → letta_client/types/runs/message_stream_params.py +2 -2
- letta_sdk/types/run_list_steps_params.py → letta_client/types/runs/step_list_params.py +9 -6
- letta_sdk/types/job_list_response.py → letta_client/types/runs/step_list_response.py +3 -3
- letta_sdk/types/run_retrieve_usage_response.py → letta_client/types/runs/usage_retrieve_response.py +3 -3
- {letta_sdk → letta_client}/types/step.py +6 -6
- letta_client/types/steps/__init__.py +8 -0
- letta_sdk/types/step_update_feedback_params.py → letta_client/types/steps/feedback_create_params.py +3 -3
- letta_sdk/types/step_list_messages_params.py → letta_client/types/steps/message_list_params.py +2 -2
- letta_client/types/steps/message_list_response.py +34 -0
- letta_sdk/types/step_retrieve_metrics_response.py → letta_client/types/steps/metric_retrieve_response.py +6 -6
- {letta_sdk/types/tools → letta_client/types/templates}/__init__.py +2 -0
- letta_sdk/types/template_create_agents_params.py → letta_client/types/templates/agent_create_params.py +4 -4
- {letta_sdk → letta_client}/types/tool.py +6 -0
- {letta_sdk → letta_client}/types/tool_create_params.py +6 -0
- {letta_sdk → letta_client}/types/tool_return_message.py +3 -0
- letta_sdk/types/tool_modify_params.py → letta_client/types/tool_update_params.py +8 -2
- letta_sdk/types/tool_upsert_base_response.py → letta_client/types/tool_upsert_base_tools_response.py +2 -2
- {letta_sdk → letta_client}/types/tool_upsert_params.py +6 -0
- {letta_client-1.0.0a6.dist-info → letta_client-1.0.0a7.dist-info}/METADATA +110 -70
- letta_client-1.0.0a7.dist-info/RECORD +307 -0
- {letta_client-1.0.0a6.dist-info → letta_client-1.0.0a7.dist-info}/licenses/LICENSE +1 -1
- letta_client-1.0.0a6.dist-info/RECORD +0 -420
- letta_sdk/resources/_internal_templates/__init__.py +0 -33
- letta_sdk/resources/_internal_templates/_internal_templates.py +0 -961
- letta_sdk/resources/_internal_templates/deployment.py +0 -268
- letta_sdk/resources/agents/archival_memory.py +0 -581
- letta_sdk/resources/agents/core_memory/core_memory.py +0 -278
- letta_sdk/resources/agents/sources.py +0 -332
- letta_sdk/resources/client_side_access_tokens.py +0 -402
- letta_sdk/resources/folders.py +0 -1562
- letta_sdk/resources/health.py +0 -135
- letta_sdk/resources/messages/messages.py +0 -102
- letta_sdk/resources/runs.py +0 -1016
- letta_sdk/resources/sources/__init__.py +0 -33
- letta_sdk/resources/sources/files.py +0 -341
- letta_sdk/resources/sources/sources.py +0 -1371
- letta_sdk/resources/steps.py +0 -784
- letta_sdk/resources/templates.py +0 -1310
- letta_sdk/resources/tools/__init__.py +0 -47
- letta_sdk/resources/tools/composio/__init__.py +0 -33
- letta_sdk/resources/tools/composio/apps.py +0 -214
- letta_sdk/resources/tools/composio/composio.py +0 -201
- letta_sdk/resources/tools/mcp/__init__.py +0 -47
- letta_sdk/resources/tools/mcp/mcp.py +0 -134
- letta_sdk/resources/tools/mcp/oauth.py +0 -214
- letta_sdk/resources/tools/mcp/servers/__init__.py +0 -33
- letta_sdk/resources/tools/mcp/servers/servers.py +0 -1785
- letta_sdk/resources/tools/mcp/servers/tools.py +0 -263
- letta_sdk/resources/voice_beta/__init__.py +0 -33
- letta_sdk/resources/voice_beta/voice_beta.py +0 -102
- letta_sdk/types/__init__.py +0 -226
- letta_sdk/types/_internal_templates/__init__.py +0 -7
- letta_sdk/types/_internal_templates/deployment_delete_response.py +0 -17
- letta_sdk/types/_internal_templates/deployment_list_entities_params.py +0 -15
- letta_sdk/types/_internal_templates/deployment_list_entities_response.py +0 -31
- letta_sdk/types/agent_export_params.py +0 -17
- letta_sdk/types/agent_list_groups_params.py +0 -13
- letta_sdk/types/agent_migrate_params.py +0 -19
- letta_sdk/types/agent_migrate_response.py +0 -11
- letta_sdk/types/agent_retrieve_context_response.py +0 -110
- letta_sdk/types/agent_search_params.py +0 -78
- letta_sdk/types/agent_search_response.py +0 -16
- letta_sdk/types/agent_summarize_params.py +0 -12
- letta_sdk/types/agents/approval_create_param.py +0 -22
- letta_sdk/types/agents/approval_response_message.py +0 -41
- letta_sdk/types/agents/archival_memory_create_params.py +0 -23
- letta_sdk/types/agents/archival_memory_list_params.py +0 -28
- letta_sdk/types/agents/archival_memory_list_response.py +0 -10
- letta_sdk/types/agents/archival_memory_search_params.py +0 -35
- letta_sdk/types/agents/archival_memory_search_response.py +0 -26
- letta_sdk/types/agents/core_memory/__init__.py +0 -7
- letta_sdk/types/agents/core_memory_retrieve_variables_response.py +0 -11
- letta_sdk/types/agents/file_list_params.py +0 -19
- letta_sdk/types/agents/letta_request_param.py +0 -45
- letta_sdk/types/agents/letta_streaming_request_param.py +0 -60
- letta_sdk/types/agents/memory.py +0 -92
- letta_sdk/types/agents/message_preview_raw_payload_params.py +0 -103
- letta_sdk/types/agents/message_preview_raw_payload_response.py +0 -8
- letta_sdk/types/agents/message_search_params.py +0 -38
- letta_sdk/types/agents/message_search_response.py +0 -29
- letta_sdk/types/agents/source_list_response.py +0 -10
- letta_sdk/types/agents/tool_modify_approval_params.py +0 -13
- letta_sdk/types/block_list_agents_response.py +0 -10
- letta_sdk/types/child_tool_rule.py +0 -21
- letta_sdk/types/child_tool_rule_param.py +0 -23
- letta_sdk/types/client_side_access_token_create_params.py +0 -32
- letta_sdk/types/client_side_access_token_create_response.py +0 -34
- letta_sdk/types/client_side_access_token_delete_params.py +0 -11
- letta_sdk/types/client_side_access_token_list_params.py +0 -23
- letta_sdk/types/client_side_access_token_list_response.py +0 -40
- letta_sdk/types/duplicate_file_handling.py +0 -7
- letta_sdk/types/embedding_get_total_storage_size_response.py +0 -7
- letta_sdk/types/file_processing_status.py +0 -7
- letta_sdk/types/folder_get_by_name_response.py +0 -7
- letta_sdk/types/folder_list_agents_response.py +0 -8
- letta_sdk/types/folder_list_files_response.py +0 -10
- letta_sdk/types/folder_list_passages_params.py +0 -34
- letta_sdk/types/folder_list_passages_response.py +0 -10
- letta_sdk/types/folder_retrieve_metadata_params.py +0 -11
- letta_sdk/types/folder_upload_file_params.py +0 -21
- letta_sdk/types/identity_list_agents_response.py +0 -10
- letta_sdk/types/identity_list_blocks_response.py +0 -10
- letta_sdk/types/internal_template_create_agent_params.py +0 -217
- letta_sdk/types/internal_template_create_block_params.py +0 -54
- letta_sdk/types/internal_template_create_group_params.py +0 -49
- letta_sdk/types/job_list_active_params.py +0 -28
- letta_sdk/types/job_list_active_response.py +0 -10
- letta_sdk/types/job_list_params.py +0 -31
- letta_sdk/types/messages/__init__.py +0 -10
- letta_sdk/types/messages/batch_job.py +0 -60
- letta_sdk/types/model_list_embedding_response.py +0 -10
- letta_sdk/types/organization_sources_stats.py +0 -49
- letta_sdk/types/passage.py +0 -56
- letta_sdk/types/project_list_params.py +0 -16
- letta_sdk/types/project_list_response.py +0 -23
- letta_sdk/types/provider.py +0 -42
- letta_sdk/types/provider_check_params.py +0 -30
- letta_sdk/types/provider_create_params.py +0 -33
- letta_sdk/types/provider_list_params.py +0 -42
- letta_sdk/types/provider_list_response.py +0 -10
- letta_sdk/types/provider_update_params.py +0 -25
- letta_sdk/types/run_list_active_params.py +0 -18
- letta_sdk/types/run_list_messages_response.py +0 -10
- letta_sdk/types/run_list_steps_response.py +0 -10
- letta_sdk/types/source_count_response.py +0 -7
- letta_sdk/types/source_create_params.py +0 -33
- letta_sdk/types/source_get_agents_response.py +0 -8
- letta_sdk/types/source_get_by_name_response.py +0 -7
- letta_sdk/types/source_get_metadata_params.py +0 -11
- letta_sdk/types/source_list_passages_params.py +0 -19
- letta_sdk/types/source_list_passages_response.py +0 -10
- letta_sdk/types/source_list_response.py +0 -10
- letta_sdk/types/source_update_params.py +0 -27
- letta_sdk/types/sources/__init__.py +0 -7
- letta_sdk/types/sources/file_list_params.py +0 -26
- letta_sdk/types/sources/file_list_response.py +0 -10
- letta_sdk/types/sources/file_retrieve_params.py +0 -14
- letta_sdk/types/step_list_messages_response.py +0 -34
- letta_sdk/types/template_create_agents_response.py +0 -12
- letta_sdk/types/template_create_params.py +0 -40
- letta_sdk/types/template_create_response.py +0 -29
- letta_sdk/types/template_delete_response.py +0 -9
- letta_sdk/types/template_fork_params.py +0 -17
- letta_sdk/types/template_fork_response.py +0 -29
- letta_sdk/types/template_get_snapshot_response.py +0 -258
- letta_sdk/types/template_list_params.py +0 -34
- letta_sdk/types/template_list_response.py +0 -35
- letta_sdk/types/template_list_versions_params.py +0 -16
- letta_sdk/types/template_list_versions_response.py +0 -29
- letta_sdk/types/template_rename_params.py +0 -14
- letta_sdk/types/template_rename_response.py +0 -9
- letta_sdk/types/template_save_version_params.py +0 -32
- letta_sdk/types/template_save_version_response.py +0 -29
- letta_sdk/types/template_update_description_params.py +0 -14
- letta_sdk/types/template_update_description_response.py +0 -9
- letta_sdk/types/tool_run_params.py +0 -43
- letta_sdk/types/tools/composio/__init__.py +0 -6
- letta_sdk/types/tools/composio/app_list_actions_response.py +0 -70
- letta_sdk/types/tools/composio/app_list_response.py +0 -103
- letta_sdk/types/tools/mcp/__init__.py +0 -21
- letta_sdk/types/tools/mcp/mcp_server_type.py +0 -7
- letta_sdk/types/tools/mcp/oauth_callback_params.py +0 -22
- letta_sdk/types/tools/mcp/server_add_params.py +0 -68
- letta_sdk/types/tools/mcp/server_add_response.py +0 -14
- letta_sdk/types/tools/mcp/server_connect_params.py +0 -68
- letta_sdk/types/tools/mcp/server_delete_response.py +0 -14
- letta_sdk/types/tools/mcp/server_list_response.py +0 -14
- letta_sdk/types/tools/mcp/server_resync_params.py +0 -12
- letta_sdk/types/tools/mcp/server_test_params.py +0 -68
- letta_sdk/types/tools/mcp/server_update_params.py +0 -43
- letta_sdk/types/tools/mcp/server_update_response.py +0 -12
- letta_sdk/types/tools/mcp/servers/__init__.py +0 -6
- letta_sdk/types/tools/mcp/servers/tool_execute_params.py +0 -15
- letta_sdk/types/tools/mcp/servers/tool_list_response.py +0 -85
- letta_sdk/types/tools/mcp/sse_server_config.py +0 -27
- letta_sdk/types/tools/mcp/sse_server_config_param.py +0 -29
- letta_sdk/types/tools/mcp/stdio_server_config.py +0 -24
- letta_sdk/types/tools/mcp/stdio_server_config_param.py +0 -27
- letta_sdk/types/tools/mcp/streamable_http_server_config.py +0 -27
- letta_sdk/types/tools/mcp/streamable_http_server_config_param.py +0 -29
- letta_sdk/types/voice_beta/chat_create_completion_params.py +0 -12
- {letta_sdk → letta_client}/_compat.py +0 -0
- {letta_sdk → letta_client}/_constants.py +0 -0
- {letta_sdk → letta_client}/_files.py +0 -0
- {letta_sdk → letta_client}/_models.py +0 -0
- {letta_sdk → letta_client}/_qs.py +0 -0
- {letta_sdk → letta_client}/_utils/__init__.py +0 -0
- {letta_sdk → letta_client}/_utils/_compat.py +0 -0
- {letta_sdk → letta_client}/_utils/_datetime_parse.py +0 -0
- {letta_sdk → letta_client}/_utils/_proxy.py +0 -0
- {letta_sdk → letta_client}/_utils/_reflection.py +0 -0
- {letta_sdk → letta_client}/_utils/_streams.py +0 -0
- {letta_sdk → letta_client}/_utils/_sync.py +0 -0
- {letta_sdk → letta_client}/_utils/_transform.py +0 -0
- {letta_sdk → letta_client}/_utils/_typing.py +0 -0
- {letta_sdk → letta_client}/_utils/_utils.py +0 -0
- {letta_sdk → letta_client}/lib/.keep +0 -0
- {letta_sdk → letta_client}/py.typed +0 -0
- {letta_sdk/resources/messages → letta_client/resources/batches}/__init__.py +6 -6
- {letta_sdk → letta_client}/resources/groups/__init__.py +0 -0
- {letta_sdk → letta_client}/resources/tags.py +0 -0
- {letta_sdk → letta_client}/types/agent_count_response.py +0 -0
- {letta_sdk → letta_client}/types/agent_list_response.py +0 -0
- {letta_sdk → letta_client}/types/agents/assistant_message.py +0 -0
- {letta_sdk/types/agents/core_memory → letta_client/types/agents}/block_list_response.py +0 -0
- {letta_sdk → letta_client}/types/agents/file_close_all_response.py +0 -0
- {letta_sdk → letta_client}/types/agents/file_list_response.py +0 -0
- {letta_sdk → letta_client}/types/agents/file_open_response.py +0 -0
- {letta_sdk → letta_client}/types/agents/hidden_reasoning_message.py +0 -0
- {letta_sdk → letta_client}/types/agents/image_content.py +0 -0
- {letta_sdk → letta_client}/types/agents/image_content_param.py +0 -0
- {letta_sdk → letta_client}/types/agents/job_status.py +0 -0
- {letta_sdk → letta_client}/types/agents/job_type.py +0 -0
- {letta_sdk → letta_client}/types/agents/letta_message_union.py +0 -0
- {letta_sdk → letta_client}/types/agents/letta_user_message_content_union.py +0 -0
- {letta_sdk → letta_client}/types/agents/letta_user_message_content_union_param.py +0 -0
- {letta_sdk → letta_client}/types/agents/message_cancel_params.py +0 -0
- {letta_sdk → letta_client}/types/agents/message_cancel_response.py +0 -0
- {letta_sdk → letta_client}/types/agents/message_list_response.py +0 -0
- {letta_sdk → letta_client}/types/agents/message_role.py +0 -0
- {letta_sdk → letta_client}/types/agents/message_type.py +0 -0
- {letta_sdk → letta_client}/types/agents/message_update_response.py +0 -0
- {letta_sdk → letta_client}/types/agents/reasoning_content.py +0 -0
- {letta_sdk → letta_client}/types/agents/reasoning_content_param.py +0 -0
- {letta_sdk → letta_client}/types/agents/reasoning_message.py +0 -0
- {letta_sdk → letta_client}/types/agents/redacted_reasoning_content.py +0 -0
- {letta_sdk → letta_client}/types/agents/redacted_reasoning_content_param.py +0 -0
- {letta_sdk → letta_client}/types/agents/system_message.py +0 -0
- {letta_sdk → letta_client}/types/agents/tool_call.py +0 -0
- {letta_sdk → letta_client}/types/agents/tool_call_delta.py +0 -0
- {letta_sdk → letta_client}/types/agents/tool_list_response.py +0 -0
- {letta_sdk → letta_client}/types/agents/tool_return_content.py +0 -0
- {letta_sdk → letta_client}/types/agents/tool_return_content_param.py +0 -0
- {letta_sdk → letta_client}/types/agents/update_assistant_message_param.py +0 -0
- {letta_sdk → letta_client}/types/agents/update_reasoning_message_param.py +0 -0
- {letta_sdk → letta_client}/types/agents/update_system_message_param.py +0 -0
- {letta_sdk → letta_client}/types/agents/update_user_message_param.py +0 -0
- {letta_sdk → letta_client}/types/agents/user_message.py +0 -0
- {letta_sdk/types/messages → letta_client/types}/batch_list_params.py +0 -0
- {letta_sdk/types/messages → letta_client/types}/batch_list_response.py +0 -0
- {letta_sdk → letta_client}/types/block_count_response.py +0 -0
- {letta_sdk → letta_client}/types/block_create_params.py +0 -0
- {letta_sdk → letta_client}/types/block_list_params.py +0 -0
- {letta_sdk → letta_client}/types/block_update_params.py +0 -0
- {letta_sdk → letta_client}/types/conditional_tool_rule.py +0 -0
- {letta_sdk → letta_client}/types/conditional_tool_rule_param.py +0 -0
- {letta_sdk → letta_client}/types/continue_tool_rule.py +0 -0
- {letta_sdk → letta_client}/types/continue_tool_rule_param.py +0 -0
- {letta_sdk → letta_client}/types/create_block_param.py +0 -0
- {letta_sdk → letta_client}/types/dynamic_manager_param.py +0 -0
- {letta_sdk → letta_client}/types/embedding_config.py +0 -0
- {letta_sdk → letta_client}/types/embedding_config_param.py +0 -0
- {letta_sdk → letta_client}/types/folder.py +0 -0
- {letta_sdk → letta_client}/types/folder_count_response.py +0 -0
- {letta_sdk → letta_client}/types/folder_create_params.py +0 -0
- {letta_sdk → letta_client}/types/folder_list_params.py +0 -0
- {letta_sdk → letta_client}/types/folder_list_response.py +0 -0
- {letta_sdk → letta_client}/types/folder_update_params.py +0 -0
- {letta_sdk → letta_client}/types/group.py +0 -0
- {letta_sdk → letta_client}/types/group_count_response.py +0 -0
- {letta_sdk → letta_client}/types/group_create_params.py +0 -0
- {letta_sdk → letta_client}/types/group_list_params.py +0 -0
- {letta_sdk → letta_client}/types/group_list_response.py +0 -0
- {letta_sdk → letta_client}/types/group_update_params.py +0 -0
- {letta_sdk → letta_client}/types/groups/message_list_params.py +0 -0
- {letta_sdk → letta_client}/types/groups/message_list_response.py +0 -0
- {letta_sdk → letta_client}/types/groups/message_update_response.py +0 -0
- {letta_sdk → letta_client}/types/identity.py +0 -0
- {letta_sdk → letta_client}/types/identity_count_response.py +0 -0
- {letta_sdk → letta_client}/types/identity_create_params.py +0 -0
- {letta_sdk → letta_client}/types/identity_list_params.py +0 -0
- {letta_sdk → letta_client}/types/identity_list_response.py +0 -0
- {letta_sdk → letta_client}/types/identity_property.py +0 -0
- {letta_sdk → letta_client}/types/identity_property_param.py +0 -0
- {letta_sdk → letta_client}/types/identity_type.py +0 -0
- {letta_sdk → letta_client}/types/identity_upsert_params.py +0 -0
- {letta_sdk → letta_client}/types/json_object_response_format.py +0 -0
- {letta_sdk → letta_client}/types/json_object_response_format_param.py +0 -0
- {letta_sdk → letta_client}/types/json_schema_response_format.py +0 -0
- {letta_sdk → letta_client}/types/json_schema_response_format_param.py +0 -0
- {letta_sdk → letta_client}/types/letta_message_content_union_param.py +0 -0
- {letta_sdk → letta_client}/types/manager_type.py +0 -0
- {letta_sdk → letta_client}/types/max_count_per_step_tool_rule.py +0 -0
- {letta_sdk → letta_client}/types/max_count_per_step_tool_rule_param.py +0 -0
- {letta_sdk → letta_client}/types/message_create_param.py +0 -0
- {letta_sdk → letta_client}/types/model_list_params.py +0 -0
- {letta_sdk → letta_client}/types/model_list_response.py +0 -0
- {letta_sdk → letta_client}/types/npm_requirement.py +0 -0
- {letta_sdk → letta_client}/types/npm_requirement_param.py +0 -0
- {letta_sdk → letta_client}/types/parent_tool_rule.py +0 -0
- {letta_sdk → letta_client}/types/parent_tool_rule_param.py +0 -0
- {letta_sdk → letta_client}/types/pip_requirement.py +0 -0
- {letta_sdk → letta_client}/types/pip_requirement_param.py +0 -0
- {letta_sdk → letta_client}/types/provider_category.py +0 -0
- {letta_sdk → letta_client}/types/provider_trace.py +0 -0
- {letta_sdk → letta_client}/types/provider_type.py +0 -0
- {letta_sdk → letta_client}/types/required_before_exit_tool_rule.py +0 -0
- {letta_sdk → letta_client}/types/required_before_exit_tool_rule_param.py +0 -0
- {letta_sdk → letta_client}/types/requires_approval_tool_rule.py +0 -0
- {letta_sdk → letta_client}/types/requires_approval_tool_rule_param.py +0 -0
- {letta_sdk → letta_client}/types/round_robin_manager_param.py +0 -0
- {letta_sdk → letta_client}/types/run_list_response.py +0 -0
- {letta_sdk → letta_client}/types/sleeptime_manager_param.py +0 -0
- {letta_sdk → letta_client}/types/step_list_params.py +0 -0
- {letta_sdk → letta_client}/types/step_list_response.py +0 -0
- {letta_sdk → letta_client}/types/stop_reason_type.py +0 -0
- {letta_sdk → letta_client}/types/supervisor_manager_param.py +0 -0
- {letta_sdk → letta_client}/types/tag_list_params.py +0 -0
- {letta_sdk → letta_client}/types/tag_list_response.py +0 -0
- {letta_sdk → letta_client}/types/terminal_tool_rule.py +0 -0
- {letta_sdk → letta_client}/types/terminal_tool_rule_param.py +0 -0
- {letta_sdk → letta_client}/types/text_response_format.py +0 -0
- {letta_sdk → letta_client}/types/text_response_format_param.py +0 -0
- {letta_sdk → letta_client}/types/tool_count_params.py +0 -0
- {letta_sdk → letta_client}/types/tool_count_response.py +0 -0
- {letta_sdk → letta_client}/types/tool_list_params.py +0 -0
- {letta_sdk → letta_client}/types/tool_list_response.py +0 -0
- {letta_sdk → letta_client}/types/tool_type.py +1 -1
- {letta_sdk → letta_client}/types/vector_db_provider.py +0 -0
- {letta_sdk → letta_client}/types/voice_sleeptime_manager_param.py +0 -0
- {letta_client-1.0.0a6.dist-info → letta_client-1.0.0a7.dist-info}/WHEEL +0 -0
|
@@ -0,0 +1,234 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
from typing import Optional
|
|
6
|
+
from typing_extensions import Literal
|
|
7
|
+
|
|
8
|
+
import httpx
|
|
9
|
+
|
|
10
|
+
from ..._types import Body, Omit, Query, Headers, NotGiven, omit, not_given
|
|
11
|
+
from ..._utils import maybe_transform, async_maybe_transform
|
|
12
|
+
from ..._compat import cached_property
|
|
13
|
+
from ..._resource import SyncAPIResource, AsyncAPIResource
|
|
14
|
+
from ..._response import (
|
|
15
|
+
to_raw_response_wrapper,
|
|
16
|
+
to_streamed_response_wrapper,
|
|
17
|
+
async_to_raw_response_wrapper,
|
|
18
|
+
async_to_streamed_response_wrapper,
|
|
19
|
+
)
|
|
20
|
+
from ..._base_client import make_request_options
|
|
21
|
+
from ...types.folders import agent_list_params
|
|
22
|
+
from ...types.folders.agent_list_response import AgentListResponse
|
|
23
|
+
|
|
24
|
+
__all__ = ["AgentsResource", "AsyncAgentsResource"]
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
class AgentsResource(SyncAPIResource):
|
|
28
|
+
@cached_property
|
|
29
|
+
def with_raw_response(self) -> AgentsResourceWithRawResponse:
|
|
30
|
+
"""
|
|
31
|
+
This property can be used as a prefix for any HTTP method call to return
|
|
32
|
+
the raw response object instead of the parsed content.
|
|
33
|
+
|
|
34
|
+
For more information, see https://www.github.com/letta-ai/letta-python#accessing-raw-response-data-eg-headers
|
|
35
|
+
"""
|
|
36
|
+
return AgentsResourceWithRawResponse(self)
|
|
37
|
+
|
|
38
|
+
@cached_property
|
|
39
|
+
def with_streaming_response(self) -> AgentsResourceWithStreamingResponse:
|
|
40
|
+
"""
|
|
41
|
+
An alternative to `.with_raw_response` that doesn't eagerly read the response body.
|
|
42
|
+
|
|
43
|
+
For more information, see https://www.github.com/letta-ai/letta-python#with_streaming_response
|
|
44
|
+
"""
|
|
45
|
+
return AgentsResourceWithStreamingResponse(self)
|
|
46
|
+
|
|
47
|
+
def list(
|
|
48
|
+
self,
|
|
49
|
+
folder_id: str,
|
|
50
|
+
*,
|
|
51
|
+
after: Optional[str] | Omit = omit,
|
|
52
|
+
before: Optional[str] | Omit = omit,
|
|
53
|
+
limit: Optional[int] | Omit = omit,
|
|
54
|
+
order: Literal["asc", "desc"] | Omit = omit,
|
|
55
|
+
order_by: Literal["created_at"] | Omit = omit,
|
|
56
|
+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
57
|
+
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
58
|
+
extra_headers: Headers | None = None,
|
|
59
|
+
extra_query: Query | None = None,
|
|
60
|
+
extra_body: Body | None = None,
|
|
61
|
+
timeout: float | httpx.Timeout | None | NotGiven = not_given,
|
|
62
|
+
) -> AgentListResponse:
|
|
63
|
+
"""
|
|
64
|
+
Get all agent IDs that have the specified folder attached.
|
|
65
|
+
|
|
66
|
+
Args:
|
|
67
|
+
folder_id: The ID of the source in the format 'source-<uuid4>'
|
|
68
|
+
|
|
69
|
+
after: Agent ID cursor for pagination. Returns agents that come after this agent ID in
|
|
70
|
+
the specified sort order
|
|
71
|
+
|
|
72
|
+
before: Agent ID cursor for pagination. Returns agents that come before this agent ID in
|
|
73
|
+
the specified sort order
|
|
74
|
+
|
|
75
|
+
limit: Maximum number of agents to return
|
|
76
|
+
|
|
77
|
+
order: Sort order for agents by creation time. 'asc' for oldest first, 'desc' for
|
|
78
|
+
newest first
|
|
79
|
+
|
|
80
|
+
order_by: Field to sort by
|
|
81
|
+
|
|
82
|
+
extra_headers: Send extra headers
|
|
83
|
+
|
|
84
|
+
extra_query: Add additional query parameters to the request
|
|
85
|
+
|
|
86
|
+
extra_body: Add additional JSON properties to the request
|
|
87
|
+
|
|
88
|
+
timeout: Override the client-level default timeout for this request, in seconds
|
|
89
|
+
"""
|
|
90
|
+
if not folder_id:
|
|
91
|
+
raise ValueError(f"Expected a non-empty value for `folder_id` but received {folder_id!r}")
|
|
92
|
+
return self._get(
|
|
93
|
+
f"/v1/folders/{folder_id}/agents",
|
|
94
|
+
options=make_request_options(
|
|
95
|
+
extra_headers=extra_headers,
|
|
96
|
+
extra_query=extra_query,
|
|
97
|
+
extra_body=extra_body,
|
|
98
|
+
timeout=timeout,
|
|
99
|
+
query=maybe_transform(
|
|
100
|
+
{
|
|
101
|
+
"after": after,
|
|
102
|
+
"before": before,
|
|
103
|
+
"limit": limit,
|
|
104
|
+
"order": order,
|
|
105
|
+
"order_by": order_by,
|
|
106
|
+
},
|
|
107
|
+
agent_list_params.AgentListParams,
|
|
108
|
+
),
|
|
109
|
+
),
|
|
110
|
+
cast_to=AgentListResponse,
|
|
111
|
+
)
|
|
112
|
+
|
|
113
|
+
|
|
114
|
+
class AsyncAgentsResource(AsyncAPIResource):
|
|
115
|
+
@cached_property
|
|
116
|
+
def with_raw_response(self) -> AsyncAgentsResourceWithRawResponse:
|
|
117
|
+
"""
|
|
118
|
+
This property can be used as a prefix for any HTTP method call to return
|
|
119
|
+
the raw response object instead of the parsed content.
|
|
120
|
+
|
|
121
|
+
For more information, see https://www.github.com/letta-ai/letta-python#accessing-raw-response-data-eg-headers
|
|
122
|
+
"""
|
|
123
|
+
return AsyncAgentsResourceWithRawResponse(self)
|
|
124
|
+
|
|
125
|
+
@cached_property
|
|
126
|
+
def with_streaming_response(self) -> AsyncAgentsResourceWithStreamingResponse:
|
|
127
|
+
"""
|
|
128
|
+
An alternative to `.with_raw_response` that doesn't eagerly read the response body.
|
|
129
|
+
|
|
130
|
+
For more information, see https://www.github.com/letta-ai/letta-python#with_streaming_response
|
|
131
|
+
"""
|
|
132
|
+
return AsyncAgentsResourceWithStreamingResponse(self)
|
|
133
|
+
|
|
134
|
+
async def list(
|
|
135
|
+
self,
|
|
136
|
+
folder_id: str,
|
|
137
|
+
*,
|
|
138
|
+
after: Optional[str] | Omit = omit,
|
|
139
|
+
before: Optional[str] | Omit = omit,
|
|
140
|
+
limit: Optional[int] | Omit = omit,
|
|
141
|
+
order: Literal["asc", "desc"] | Omit = omit,
|
|
142
|
+
order_by: Literal["created_at"] | Omit = omit,
|
|
143
|
+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
144
|
+
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
145
|
+
extra_headers: Headers | None = None,
|
|
146
|
+
extra_query: Query | None = None,
|
|
147
|
+
extra_body: Body | None = None,
|
|
148
|
+
timeout: float | httpx.Timeout | None | NotGiven = not_given,
|
|
149
|
+
) -> AgentListResponse:
|
|
150
|
+
"""
|
|
151
|
+
Get all agent IDs that have the specified folder attached.
|
|
152
|
+
|
|
153
|
+
Args:
|
|
154
|
+
folder_id: The ID of the source in the format 'source-<uuid4>'
|
|
155
|
+
|
|
156
|
+
after: Agent ID cursor for pagination. Returns agents that come after this agent ID in
|
|
157
|
+
the specified sort order
|
|
158
|
+
|
|
159
|
+
before: Agent ID cursor for pagination. Returns agents that come before this agent ID in
|
|
160
|
+
the specified sort order
|
|
161
|
+
|
|
162
|
+
limit: Maximum number of agents to return
|
|
163
|
+
|
|
164
|
+
order: Sort order for agents by creation time. 'asc' for oldest first, 'desc' for
|
|
165
|
+
newest first
|
|
166
|
+
|
|
167
|
+
order_by: Field to sort by
|
|
168
|
+
|
|
169
|
+
extra_headers: Send extra headers
|
|
170
|
+
|
|
171
|
+
extra_query: Add additional query parameters to the request
|
|
172
|
+
|
|
173
|
+
extra_body: Add additional JSON properties to the request
|
|
174
|
+
|
|
175
|
+
timeout: Override the client-level default timeout for this request, in seconds
|
|
176
|
+
"""
|
|
177
|
+
if not folder_id:
|
|
178
|
+
raise ValueError(f"Expected a non-empty value for `folder_id` but received {folder_id!r}")
|
|
179
|
+
return await self._get(
|
|
180
|
+
f"/v1/folders/{folder_id}/agents",
|
|
181
|
+
options=make_request_options(
|
|
182
|
+
extra_headers=extra_headers,
|
|
183
|
+
extra_query=extra_query,
|
|
184
|
+
extra_body=extra_body,
|
|
185
|
+
timeout=timeout,
|
|
186
|
+
query=await async_maybe_transform(
|
|
187
|
+
{
|
|
188
|
+
"after": after,
|
|
189
|
+
"before": before,
|
|
190
|
+
"limit": limit,
|
|
191
|
+
"order": order,
|
|
192
|
+
"order_by": order_by,
|
|
193
|
+
},
|
|
194
|
+
agent_list_params.AgentListParams,
|
|
195
|
+
),
|
|
196
|
+
),
|
|
197
|
+
cast_to=AgentListResponse,
|
|
198
|
+
)
|
|
199
|
+
|
|
200
|
+
|
|
201
|
+
class AgentsResourceWithRawResponse:
|
|
202
|
+
def __init__(self, agents: AgentsResource) -> None:
|
|
203
|
+
self._agents = agents
|
|
204
|
+
|
|
205
|
+
self.list = to_raw_response_wrapper(
|
|
206
|
+
agents.list,
|
|
207
|
+
)
|
|
208
|
+
|
|
209
|
+
|
|
210
|
+
class AsyncAgentsResourceWithRawResponse:
|
|
211
|
+
def __init__(self, agents: AsyncAgentsResource) -> None:
|
|
212
|
+
self._agents = agents
|
|
213
|
+
|
|
214
|
+
self.list = async_to_raw_response_wrapper(
|
|
215
|
+
agents.list,
|
|
216
|
+
)
|
|
217
|
+
|
|
218
|
+
|
|
219
|
+
class AgentsResourceWithStreamingResponse:
|
|
220
|
+
def __init__(self, agents: AgentsResource) -> None:
|
|
221
|
+
self._agents = agents
|
|
222
|
+
|
|
223
|
+
self.list = to_streamed_response_wrapper(
|
|
224
|
+
agents.list,
|
|
225
|
+
)
|
|
226
|
+
|
|
227
|
+
|
|
228
|
+
class AsyncAgentsResourceWithStreamingResponse:
|
|
229
|
+
def __init__(self, agents: AsyncAgentsResource) -> None:
|
|
230
|
+
self._agents = agents
|
|
231
|
+
|
|
232
|
+
self.list = async_to_streamed_response_wrapper(
|
|
233
|
+
agents.list,
|
|
234
|
+
)
|
|
@@ -0,0 +1,469 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
from typing import Mapping, Optional, cast
|
|
6
|
+
from typing_extensions import Literal
|
|
7
|
+
|
|
8
|
+
import httpx
|
|
9
|
+
|
|
10
|
+
from ..._types import Body, Omit, Query, Headers, NoneType, NotGiven, FileTypes, omit, not_given
|
|
11
|
+
from ..._utils import extract_files, maybe_transform, deepcopy_minimal, async_maybe_transform
|
|
12
|
+
from ..._compat import cached_property
|
|
13
|
+
from ..._resource import SyncAPIResource, AsyncAPIResource
|
|
14
|
+
from ..._response import (
|
|
15
|
+
to_raw_response_wrapper,
|
|
16
|
+
to_streamed_response_wrapper,
|
|
17
|
+
async_to_raw_response_wrapper,
|
|
18
|
+
async_to_streamed_response_wrapper,
|
|
19
|
+
)
|
|
20
|
+
from ..._base_client import make_request_options
|
|
21
|
+
from ...types.folders import file_list_params, file_upload_params
|
|
22
|
+
from ...types.folders.file_list_response import FileListResponse
|
|
23
|
+
from ...types.folders.file_upload_response import FileUploadResponse
|
|
24
|
+
|
|
25
|
+
__all__ = ["FilesResource", "AsyncFilesResource"]
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
class FilesResource(SyncAPIResource):
|
|
29
|
+
@cached_property
|
|
30
|
+
def with_raw_response(self) -> FilesResourceWithRawResponse:
|
|
31
|
+
"""
|
|
32
|
+
This property can be used as a prefix for any HTTP method call to return
|
|
33
|
+
the raw response object instead of the parsed content.
|
|
34
|
+
|
|
35
|
+
For more information, see https://www.github.com/letta-ai/letta-python#accessing-raw-response-data-eg-headers
|
|
36
|
+
"""
|
|
37
|
+
return FilesResourceWithRawResponse(self)
|
|
38
|
+
|
|
39
|
+
@cached_property
|
|
40
|
+
def with_streaming_response(self) -> FilesResourceWithStreamingResponse:
|
|
41
|
+
"""
|
|
42
|
+
An alternative to `.with_raw_response` that doesn't eagerly read the response body.
|
|
43
|
+
|
|
44
|
+
For more information, see https://www.github.com/letta-ai/letta-python#with_streaming_response
|
|
45
|
+
"""
|
|
46
|
+
return FilesResourceWithStreamingResponse(self)
|
|
47
|
+
|
|
48
|
+
def list(
|
|
49
|
+
self,
|
|
50
|
+
folder_id: str,
|
|
51
|
+
*,
|
|
52
|
+
after: Optional[str] | Omit = omit,
|
|
53
|
+
before: Optional[str] | Omit = omit,
|
|
54
|
+
include_content: bool | Omit = omit,
|
|
55
|
+
limit: Optional[int] | Omit = omit,
|
|
56
|
+
order: Literal["asc", "desc"] | Omit = omit,
|
|
57
|
+
order_by: Literal["created_at"] | Omit = omit,
|
|
58
|
+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
59
|
+
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
60
|
+
extra_headers: Headers | None = None,
|
|
61
|
+
extra_query: Query | None = None,
|
|
62
|
+
extra_body: Body | None = None,
|
|
63
|
+
timeout: float | httpx.Timeout | None | NotGiven = not_given,
|
|
64
|
+
) -> FileListResponse:
|
|
65
|
+
"""
|
|
66
|
+
List paginated files associated with a data folder.
|
|
67
|
+
|
|
68
|
+
Args:
|
|
69
|
+
folder_id: The ID of the source in the format 'source-<uuid4>'
|
|
70
|
+
|
|
71
|
+
after: File ID cursor for pagination. Returns files that come after this file ID in the
|
|
72
|
+
specified sort order
|
|
73
|
+
|
|
74
|
+
before: File ID cursor for pagination. Returns files that come before this file ID in
|
|
75
|
+
the specified sort order
|
|
76
|
+
|
|
77
|
+
include_content: Whether to include full file content
|
|
78
|
+
|
|
79
|
+
limit: Maximum number of files to return
|
|
80
|
+
|
|
81
|
+
order: Sort order for files by creation time. 'asc' for oldest first, 'desc' for newest
|
|
82
|
+
first
|
|
83
|
+
|
|
84
|
+
order_by: Field to sort by
|
|
85
|
+
|
|
86
|
+
extra_headers: Send extra headers
|
|
87
|
+
|
|
88
|
+
extra_query: Add additional query parameters to the request
|
|
89
|
+
|
|
90
|
+
extra_body: Add additional JSON properties to the request
|
|
91
|
+
|
|
92
|
+
timeout: Override the client-level default timeout for this request, in seconds
|
|
93
|
+
"""
|
|
94
|
+
if not folder_id:
|
|
95
|
+
raise ValueError(f"Expected a non-empty value for `folder_id` but received {folder_id!r}")
|
|
96
|
+
return self._get(
|
|
97
|
+
f"/v1/folders/{folder_id}/files",
|
|
98
|
+
options=make_request_options(
|
|
99
|
+
extra_headers=extra_headers,
|
|
100
|
+
extra_query=extra_query,
|
|
101
|
+
extra_body=extra_body,
|
|
102
|
+
timeout=timeout,
|
|
103
|
+
query=maybe_transform(
|
|
104
|
+
{
|
|
105
|
+
"after": after,
|
|
106
|
+
"before": before,
|
|
107
|
+
"include_content": include_content,
|
|
108
|
+
"limit": limit,
|
|
109
|
+
"order": order,
|
|
110
|
+
"order_by": order_by,
|
|
111
|
+
},
|
|
112
|
+
file_list_params.FileListParams,
|
|
113
|
+
),
|
|
114
|
+
),
|
|
115
|
+
cast_to=FileListResponse,
|
|
116
|
+
)
|
|
117
|
+
|
|
118
|
+
def delete(
|
|
119
|
+
self,
|
|
120
|
+
file_id: str,
|
|
121
|
+
*,
|
|
122
|
+
folder_id: str,
|
|
123
|
+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
124
|
+
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
125
|
+
extra_headers: Headers | None = None,
|
|
126
|
+
extra_query: Query | None = None,
|
|
127
|
+
extra_body: Body | None = None,
|
|
128
|
+
timeout: float | httpx.Timeout | None | NotGiven = not_given,
|
|
129
|
+
) -> None:
|
|
130
|
+
"""
|
|
131
|
+
Delete a file from a folder.
|
|
132
|
+
|
|
133
|
+
Args:
|
|
134
|
+
folder_id: The ID of the source in the format 'source-<uuid4>'
|
|
135
|
+
|
|
136
|
+
file_id: The ID of the file in the format 'file-<uuid4>'
|
|
137
|
+
|
|
138
|
+
extra_headers: Send extra headers
|
|
139
|
+
|
|
140
|
+
extra_query: Add additional query parameters to the request
|
|
141
|
+
|
|
142
|
+
extra_body: Add additional JSON properties to the request
|
|
143
|
+
|
|
144
|
+
timeout: Override the client-level default timeout for this request, in seconds
|
|
145
|
+
"""
|
|
146
|
+
if not folder_id:
|
|
147
|
+
raise ValueError(f"Expected a non-empty value for `folder_id` but received {folder_id!r}")
|
|
148
|
+
if not file_id:
|
|
149
|
+
raise ValueError(f"Expected a non-empty value for `file_id` but received {file_id!r}")
|
|
150
|
+
extra_headers = {"Accept": "*/*", **(extra_headers or {})}
|
|
151
|
+
return self._delete(
|
|
152
|
+
f"/v1/folders/{folder_id}/{file_id}",
|
|
153
|
+
options=make_request_options(
|
|
154
|
+
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
|
|
155
|
+
),
|
|
156
|
+
cast_to=NoneType,
|
|
157
|
+
)
|
|
158
|
+
|
|
159
|
+
def upload(
|
|
160
|
+
self,
|
|
161
|
+
folder_id: str,
|
|
162
|
+
*,
|
|
163
|
+
file: FileTypes,
|
|
164
|
+
duplicate_handling: Literal["skip", "error", "suffix", "replace"] | Omit = omit,
|
|
165
|
+
name: Optional[str] | Omit = omit,
|
|
166
|
+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
167
|
+
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
168
|
+
extra_headers: Headers | None = None,
|
|
169
|
+
extra_query: Query | None = None,
|
|
170
|
+
extra_body: Body | None = None,
|
|
171
|
+
timeout: float | httpx.Timeout | None | NotGiven = not_given,
|
|
172
|
+
) -> FileUploadResponse:
|
|
173
|
+
"""
|
|
174
|
+
Upload a file to a data folder.
|
|
175
|
+
|
|
176
|
+
Args:
|
|
177
|
+
folder_id: The ID of the source in the format 'source-<uuid4>'
|
|
178
|
+
|
|
179
|
+
duplicate_handling: How to handle duplicate filenames
|
|
180
|
+
|
|
181
|
+
name: Optional custom name to override the uploaded file's name
|
|
182
|
+
|
|
183
|
+
extra_headers: Send extra headers
|
|
184
|
+
|
|
185
|
+
extra_query: Add additional query parameters to the request
|
|
186
|
+
|
|
187
|
+
extra_body: Add additional JSON properties to the request
|
|
188
|
+
|
|
189
|
+
timeout: Override the client-level default timeout for this request, in seconds
|
|
190
|
+
"""
|
|
191
|
+
if not folder_id:
|
|
192
|
+
raise ValueError(f"Expected a non-empty value for `folder_id` but received {folder_id!r}")
|
|
193
|
+
body = deepcopy_minimal({"file": file})
|
|
194
|
+
files = extract_files(cast(Mapping[str, object], body), paths=[["file"]])
|
|
195
|
+
# It should be noted that the actual Content-Type header that will be
|
|
196
|
+
# sent to the server will contain a `boundary` parameter, e.g.
|
|
197
|
+
# multipart/form-data; boundary=---abc--
|
|
198
|
+
extra_headers = {"Content-Type": "multipart/form-data", **(extra_headers or {})}
|
|
199
|
+
return self._post(
|
|
200
|
+
f"/v1/folders/{folder_id}/upload",
|
|
201
|
+
body=maybe_transform(body, file_upload_params.FileUploadParams),
|
|
202
|
+
files=files,
|
|
203
|
+
options=make_request_options(
|
|
204
|
+
extra_headers=extra_headers,
|
|
205
|
+
extra_query=extra_query,
|
|
206
|
+
extra_body=extra_body,
|
|
207
|
+
timeout=timeout,
|
|
208
|
+
query=maybe_transform(
|
|
209
|
+
{
|
|
210
|
+
"duplicate_handling": duplicate_handling,
|
|
211
|
+
"name": name,
|
|
212
|
+
},
|
|
213
|
+
file_upload_params.FileUploadParams,
|
|
214
|
+
),
|
|
215
|
+
),
|
|
216
|
+
cast_to=FileUploadResponse,
|
|
217
|
+
)
|
|
218
|
+
|
|
219
|
+
|
|
220
|
+
class AsyncFilesResource(AsyncAPIResource):
|
|
221
|
+
@cached_property
|
|
222
|
+
def with_raw_response(self) -> AsyncFilesResourceWithRawResponse:
|
|
223
|
+
"""
|
|
224
|
+
This property can be used as a prefix for any HTTP method call to return
|
|
225
|
+
the raw response object instead of the parsed content.
|
|
226
|
+
|
|
227
|
+
For more information, see https://www.github.com/letta-ai/letta-python#accessing-raw-response-data-eg-headers
|
|
228
|
+
"""
|
|
229
|
+
return AsyncFilesResourceWithRawResponse(self)
|
|
230
|
+
|
|
231
|
+
@cached_property
|
|
232
|
+
def with_streaming_response(self) -> AsyncFilesResourceWithStreamingResponse:
|
|
233
|
+
"""
|
|
234
|
+
An alternative to `.with_raw_response` that doesn't eagerly read the response body.
|
|
235
|
+
|
|
236
|
+
For more information, see https://www.github.com/letta-ai/letta-python#with_streaming_response
|
|
237
|
+
"""
|
|
238
|
+
return AsyncFilesResourceWithStreamingResponse(self)
|
|
239
|
+
|
|
240
|
+
async def list(
|
|
241
|
+
self,
|
|
242
|
+
folder_id: str,
|
|
243
|
+
*,
|
|
244
|
+
after: Optional[str] | Omit = omit,
|
|
245
|
+
before: Optional[str] | Omit = omit,
|
|
246
|
+
include_content: bool | Omit = omit,
|
|
247
|
+
limit: Optional[int] | Omit = omit,
|
|
248
|
+
order: Literal["asc", "desc"] | Omit = omit,
|
|
249
|
+
order_by: Literal["created_at"] | Omit = omit,
|
|
250
|
+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
251
|
+
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
252
|
+
extra_headers: Headers | None = None,
|
|
253
|
+
extra_query: Query | None = None,
|
|
254
|
+
extra_body: Body | None = None,
|
|
255
|
+
timeout: float | httpx.Timeout | None | NotGiven = not_given,
|
|
256
|
+
) -> FileListResponse:
|
|
257
|
+
"""
|
|
258
|
+
List paginated files associated with a data folder.
|
|
259
|
+
|
|
260
|
+
Args:
|
|
261
|
+
folder_id: The ID of the source in the format 'source-<uuid4>'
|
|
262
|
+
|
|
263
|
+
after: File ID cursor for pagination. Returns files that come after this file ID in the
|
|
264
|
+
specified sort order
|
|
265
|
+
|
|
266
|
+
before: File ID cursor for pagination. Returns files that come before this file ID in
|
|
267
|
+
the specified sort order
|
|
268
|
+
|
|
269
|
+
include_content: Whether to include full file content
|
|
270
|
+
|
|
271
|
+
limit: Maximum number of files to return
|
|
272
|
+
|
|
273
|
+
order: Sort order for files by creation time. 'asc' for oldest first, 'desc' for newest
|
|
274
|
+
first
|
|
275
|
+
|
|
276
|
+
order_by: Field to sort by
|
|
277
|
+
|
|
278
|
+
extra_headers: Send extra headers
|
|
279
|
+
|
|
280
|
+
extra_query: Add additional query parameters to the request
|
|
281
|
+
|
|
282
|
+
extra_body: Add additional JSON properties to the request
|
|
283
|
+
|
|
284
|
+
timeout: Override the client-level default timeout for this request, in seconds
|
|
285
|
+
"""
|
|
286
|
+
if not folder_id:
|
|
287
|
+
raise ValueError(f"Expected a non-empty value for `folder_id` but received {folder_id!r}")
|
|
288
|
+
return await self._get(
|
|
289
|
+
f"/v1/folders/{folder_id}/files",
|
|
290
|
+
options=make_request_options(
|
|
291
|
+
extra_headers=extra_headers,
|
|
292
|
+
extra_query=extra_query,
|
|
293
|
+
extra_body=extra_body,
|
|
294
|
+
timeout=timeout,
|
|
295
|
+
query=await async_maybe_transform(
|
|
296
|
+
{
|
|
297
|
+
"after": after,
|
|
298
|
+
"before": before,
|
|
299
|
+
"include_content": include_content,
|
|
300
|
+
"limit": limit,
|
|
301
|
+
"order": order,
|
|
302
|
+
"order_by": order_by,
|
|
303
|
+
},
|
|
304
|
+
file_list_params.FileListParams,
|
|
305
|
+
),
|
|
306
|
+
),
|
|
307
|
+
cast_to=FileListResponse,
|
|
308
|
+
)
|
|
309
|
+
|
|
310
|
+
async def delete(
|
|
311
|
+
self,
|
|
312
|
+
file_id: str,
|
|
313
|
+
*,
|
|
314
|
+
folder_id: str,
|
|
315
|
+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
316
|
+
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
317
|
+
extra_headers: Headers | None = None,
|
|
318
|
+
extra_query: Query | None = None,
|
|
319
|
+
extra_body: Body | None = None,
|
|
320
|
+
timeout: float | httpx.Timeout | None | NotGiven = not_given,
|
|
321
|
+
) -> None:
|
|
322
|
+
"""
|
|
323
|
+
Delete a file from a folder.
|
|
324
|
+
|
|
325
|
+
Args:
|
|
326
|
+
folder_id: The ID of the source in the format 'source-<uuid4>'
|
|
327
|
+
|
|
328
|
+
file_id: The ID of the file in the format 'file-<uuid4>'
|
|
329
|
+
|
|
330
|
+
extra_headers: Send extra headers
|
|
331
|
+
|
|
332
|
+
extra_query: Add additional query parameters to the request
|
|
333
|
+
|
|
334
|
+
extra_body: Add additional JSON properties to the request
|
|
335
|
+
|
|
336
|
+
timeout: Override the client-level default timeout for this request, in seconds
|
|
337
|
+
"""
|
|
338
|
+
if not folder_id:
|
|
339
|
+
raise ValueError(f"Expected a non-empty value for `folder_id` but received {folder_id!r}")
|
|
340
|
+
if not file_id:
|
|
341
|
+
raise ValueError(f"Expected a non-empty value for `file_id` but received {file_id!r}")
|
|
342
|
+
extra_headers = {"Accept": "*/*", **(extra_headers or {})}
|
|
343
|
+
return await self._delete(
|
|
344
|
+
f"/v1/folders/{folder_id}/{file_id}",
|
|
345
|
+
options=make_request_options(
|
|
346
|
+
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
|
|
347
|
+
),
|
|
348
|
+
cast_to=NoneType,
|
|
349
|
+
)
|
|
350
|
+
|
|
351
|
+
async def upload(
|
|
352
|
+
self,
|
|
353
|
+
folder_id: str,
|
|
354
|
+
*,
|
|
355
|
+
file: FileTypes,
|
|
356
|
+
duplicate_handling: Literal["skip", "error", "suffix", "replace"] | Omit = omit,
|
|
357
|
+
name: Optional[str] | Omit = omit,
|
|
358
|
+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
359
|
+
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
360
|
+
extra_headers: Headers | None = None,
|
|
361
|
+
extra_query: Query | None = None,
|
|
362
|
+
extra_body: Body | None = None,
|
|
363
|
+
timeout: float | httpx.Timeout | None | NotGiven = not_given,
|
|
364
|
+
) -> FileUploadResponse:
|
|
365
|
+
"""
|
|
366
|
+
Upload a file to a data folder.
|
|
367
|
+
|
|
368
|
+
Args:
|
|
369
|
+
folder_id: The ID of the source in the format 'source-<uuid4>'
|
|
370
|
+
|
|
371
|
+
duplicate_handling: How to handle duplicate filenames
|
|
372
|
+
|
|
373
|
+
name: Optional custom name to override the uploaded file's name
|
|
374
|
+
|
|
375
|
+
extra_headers: Send extra headers
|
|
376
|
+
|
|
377
|
+
extra_query: Add additional query parameters to the request
|
|
378
|
+
|
|
379
|
+
extra_body: Add additional JSON properties to the request
|
|
380
|
+
|
|
381
|
+
timeout: Override the client-level default timeout for this request, in seconds
|
|
382
|
+
"""
|
|
383
|
+
if not folder_id:
|
|
384
|
+
raise ValueError(f"Expected a non-empty value for `folder_id` but received {folder_id!r}")
|
|
385
|
+
body = deepcopy_minimal({"file": file})
|
|
386
|
+
files = extract_files(cast(Mapping[str, object], body), paths=[["file"]])
|
|
387
|
+
# It should be noted that the actual Content-Type header that will be
|
|
388
|
+
# sent to the server will contain a `boundary` parameter, e.g.
|
|
389
|
+
# multipart/form-data; boundary=---abc--
|
|
390
|
+
extra_headers = {"Content-Type": "multipart/form-data", **(extra_headers or {})}
|
|
391
|
+
return await self._post(
|
|
392
|
+
f"/v1/folders/{folder_id}/upload",
|
|
393
|
+
body=await async_maybe_transform(body, file_upload_params.FileUploadParams),
|
|
394
|
+
files=files,
|
|
395
|
+
options=make_request_options(
|
|
396
|
+
extra_headers=extra_headers,
|
|
397
|
+
extra_query=extra_query,
|
|
398
|
+
extra_body=extra_body,
|
|
399
|
+
timeout=timeout,
|
|
400
|
+
query=await async_maybe_transform(
|
|
401
|
+
{
|
|
402
|
+
"duplicate_handling": duplicate_handling,
|
|
403
|
+
"name": name,
|
|
404
|
+
},
|
|
405
|
+
file_upload_params.FileUploadParams,
|
|
406
|
+
),
|
|
407
|
+
),
|
|
408
|
+
cast_to=FileUploadResponse,
|
|
409
|
+
)
|
|
410
|
+
|
|
411
|
+
|
|
412
|
+
class FilesResourceWithRawResponse:
|
|
413
|
+
def __init__(self, files: FilesResource) -> None:
|
|
414
|
+
self._files = files
|
|
415
|
+
|
|
416
|
+
self.list = to_raw_response_wrapper(
|
|
417
|
+
files.list,
|
|
418
|
+
)
|
|
419
|
+
self.delete = to_raw_response_wrapper(
|
|
420
|
+
files.delete,
|
|
421
|
+
)
|
|
422
|
+
self.upload = to_raw_response_wrapper(
|
|
423
|
+
files.upload,
|
|
424
|
+
)
|
|
425
|
+
|
|
426
|
+
|
|
427
|
+
class AsyncFilesResourceWithRawResponse:
|
|
428
|
+
def __init__(self, files: AsyncFilesResource) -> None:
|
|
429
|
+
self._files = files
|
|
430
|
+
|
|
431
|
+
self.list = async_to_raw_response_wrapper(
|
|
432
|
+
files.list,
|
|
433
|
+
)
|
|
434
|
+
self.delete = async_to_raw_response_wrapper(
|
|
435
|
+
files.delete,
|
|
436
|
+
)
|
|
437
|
+
self.upload = async_to_raw_response_wrapper(
|
|
438
|
+
files.upload,
|
|
439
|
+
)
|
|
440
|
+
|
|
441
|
+
|
|
442
|
+
class FilesResourceWithStreamingResponse:
|
|
443
|
+
def __init__(self, files: FilesResource) -> None:
|
|
444
|
+
self._files = files
|
|
445
|
+
|
|
446
|
+
self.list = to_streamed_response_wrapper(
|
|
447
|
+
files.list,
|
|
448
|
+
)
|
|
449
|
+
self.delete = to_streamed_response_wrapper(
|
|
450
|
+
files.delete,
|
|
451
|
+
)
|
|
452
|
+
self.upload = to_streamed_response_wrapper(
|
|
453
|
+
files.upload,
|
|
454
|
+
)
|
|
455
|
+
|
|
456
|
+
|
|
457
|
+
class AsyncFilesResourceWithStreamingResponse:
|
|
458
|
+
def __init__(self, files: AsyncFilesResource) -> None:
|
|
459
|
+
self._files = files
|
|
460
|
+
|
|
461
|
+
self.list = async_to_streamed_response_wrapper(
|
|
462
|
+
files.list,
|
|
463
|
+
)
|
|
464
|
+
self.delete = async_to_streamed_response_wrapper(
|
|
465
|
+
files.delete,
|
|
466
|
+
)
|
|
467
|
+
self.upload = async_to_streamed_response_wrapper(
|
|
468
|
+
files.upload,
|
|
469
|
+
)
|