jvagent 0.1.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- jvagent-0.1.1/.env.example +279 -0
- jvagent-0.1.1/AUTHORS +15 -0
- jvagent-0.1.1/LICENSE +21 -0
- jvagent-0.1.1/MANIFEST.in +23 -0
- jvagent-0.1.1/PKG-INFO +380 -0
- jvagent-0.1.1/README.md +306 -0
- jvagent-0.1.1/docs/ORCHESTRATOR.md +295 -0
- jvagent-0.1.1/docs/configuration.md +135 -0
- jvagent-0.1.1/docs/database-indexing.md +40 -0
- jvagent-0.1.1/docs/deprecated-api-migration.md +34 -0
- jvagent-0.1.1/docs/environment-keys-reference.md +253 -0
- jvagent-0.1.1/docs/error-logging.md +401 -0
- jvagent-0.1.1/docs/integrations-environment.md +127 -0
- jvagent-0.1.1/docs/interaction-logging.md +275 -0
- jvagent-0.1.1/docs/jvchat.md +68 -0
- jvagent-0.1.1/docs/language-models.md +108 -0
- jvagent-0.1.1/docs/logging.md +793 -0
- jvagent-0.1.1/docs/orchestration-modes.md +36 -0
- jvagent-0.1.1/docs/proactive-messages.md +282 -0
- jvagent-0.1.1/docs/scaffolding.md +233 -0
- jvagent-0.1.1/docs/security-review.md +553 -0
- jvagent-0.1.1/docs/task-tracking.md +242 -0
- jvagent-0.1.1/docs/thin-harness.md +93 -0
- jvagent-0.1.1/jvagent/__init__.py +35 -0
- jvagent-0.1.1/jvagent/__main__.py +6 -0
- jvagent-0.1.1/jvagent/_logging_compat.py +70 -0
- jvagent-0.1.1/jvagent/_mimetypes_compat.py +53 -0
- jvagent-0.1.1/jvagent/action/AGENTS.md +1 -0
- jvagent-0.1.1/jvagent/action/CLAUDE.md +145 -0
- jvagent-0.1.1/jvagent/action/README.md +34 -0
- jvagent-0.1.1/jvagent/action/__init__.py +33 -0
- jvagent-0.1.1/jvagent/action/access_control/README.md +230 -0
- jvagent-0.1.1/jvagent/action/access_control/__init__.py +10 -0
- jvagent-0.1.1/jvagent/action/access_control/access_control_action.py +452 -0
- jvagent-0.1.1/jvagent/action/access_control/endpoints.py +602 -0
- jvagent-0.1.1/jvagent/action/access_control/info.yaml +17 -0
- jvagent-0.1.1/jvagent/action/actions.py +728 -0
- jvagent-0.1.1/jvagent/action/agent_utils/README.md +3 -0
- jvagent-0.1.1/jvagent/action/agent_utils/__init__.py +10 -0
- jvagent-0.1.1/jvagent/action/agent_utils/agent_utils.py +112 -0
- jvagent-0.1.1/jvagent/action/agent_utils/endpoints.py +59 -0
- jvagent-0.1.1/jvagent/action/agent_utils/info.yaml +16 -0
- jvagent-0.1.1/jvagent/action/avatar_action/README.md +20 -0
- jvagent-0.1.1/jvagent/action/avatar_action/__init__.py +10 -0
- jvagent-0.1.1/jvagent/action/avatar_action/avatar_action.py +228 -0
- jvagent-0.1.1/jvagent/action/avatar_action/endpoints.py +275 -0
- jvagent-0.1.1/jvagent/action/avatar_action/info.yaml +14 -0
- jvagent-0.1.1/jvagent/action/base.py +1297 -0
- jvagent-0.1.1/jvagent/action/channels/__init__.py +1 -0
- jvagent-0.1.1/jvagent/action/channels/media.py +159 -0
- jvagent-0.1.1/jvagent/action/code_execution/__init__.py +8 -0
- jvagent-0.1.1/jvagent/action/code_execution/code_execution_action.py +203 -0
- jvagent-0.1.1/jvagent/action/code_execution/executor.py +223 -0
- jvagent-0.1.1/jvagent/action/code_execution/info.yaml +20 -0
- jvagent-0.1.1/jvagent/action/email_action/README.md +35 -0
- jvagent-0.1.1/jvagent/action/email_action/__init__.py +6 -0
- jvagent-0.1.1/jvagent/action/email_action/canonical_send_builder.py +191 -0
- jvagent-0.1.1/jvagent/action/email_action/email_action.py +685 -0
- jvagent-0.1.1/jvagent/action/email_action/email_adapter.py +222 -0
- jvagent-0.1.1/jvagent/action/email_action/email_filter.py +100 -0
- jvagent-0.1.1/jvagent/action/email_action/email_payload.py +74 -0
- jvagent-0.1.1/jvagent/action/email_action/email_utterance.py +68 -0
- jvagent-0.1.1/jvagent/action/email_action/email_webhook_helpers.py +172 -0
- jvagent-0.1.1/jvagent/action/email_action/endpoints.py +536 -0
- jvagent-0.1.1/jvagent/action/email_action/gmail_inbox.py +153 -0
- jvagent-0.1.1/jvagent/action/email_action/inbound/__init__.py +7 -0
- jvagent-0.1.1/jvagent/action/email_action/inbound/gmail.py +172 -0
- jvagent-0.1.1/jvagent/action/email_action/inbound/outlook.py +125 -0
- jvagent-0.1.1/jvagent/action/email_action/inbound/sendgrid.py +181 -0
- jvagent-0.1.1/jvagent/action/email_action/inbound/text_utils.py +11 -0
- jvagent-0.1.1/jvagent/action/email_action/info.yaml +21 -0
- jvagent-0.1.1/jvagent/action/email_action/modules/__init__.py +15 -0
- jvagent-0.1.1/jvagent/action/email_action/modules/base.py +42 -0
- jvagent-0.1.1/jvagent/action/email_action/modules/gmail.py +151 -0
- jvagent-0.1.1/jvagent/action/email_action/modules/outlook.py +135 -0
- jvagent-0.1.1/jvagent/action/email_action/modules/sendgrid.py +294 -0
- jvagent-0.1.1/jvagent/action/email_action/outlook_inbox.py +149 -0
- jvagent-0.1.1/jvagent/action/email_action/utils/__init__.py +1 -0
- jvagent-0.1.1/jvagent/action/email_action/webhook_auth.py +12 -0
- jvagent-0.1.1/jvagent/action/endpoints.py +587 -0
- jvagent-0.1.1/jvagent/action/facebook_action/README.md +142 -0
- jvagent-0.1.1/jvagent/action/facebook_action/__init__.py +9 -0
- jvagent-0.1.1/jvagent/action/facebook_action/endpoints.py +803 -0
- jvagent-0.1.1/jvagent/action/facebook_action/facebook_action.py +844 -0
- jvagent-0.1.1/jvagent/action/facebook_action/facebook_api.py +807 -0
- jvagent-0.1.1/jvagent/action/facebook_action/info.yaml +16 -0
- jvagent-0.1.1/jvagent/action/facebook_action/messenger_adapter.py +121 -0
- jvagent-0.1.1/jvagent/action/facebook_action/messenger_filter.py +27 -0
- jvagent-0.1.1/jvagent/action/facebook_action/messenger_message_coalescer.py +161 -0
- jvagent-0.1.1/jvagent/action/facebook_action/messenger_voice_filter.py +58 -0
- jvagent-0.1.1/jvagent/action/facebook_action/messenger_webhook_helpers.py +551 -0
- jvagent-0.1.1/jvagent/action/facebook_action/webhook_auth.py +12 -0
- jvagent-0.1.1/jvagent/action/file_interface/__init__.py +5 -0
- jvagent-0.1.1/jvagent/action/file_interface/_core.py +271 -0
- jvagent-0.1.1/jvagent/action/file_interface/file_interface_action.py +187 -0
- jvagent-0.1.1/jvagent/action/file_interface/info.yaml +19 -0
- jvagent-0.1.1/jvagent/action/google/__init__.py +5 -0
- jvagent-0.1.1/jvagent/action/google/endpoints.py +385 -0
- jvagent-0.1.1/jvagent/action/google/google_action.py +382 -0
- jvagent-0.1.1/jvagent/action/google/google_calendar_action/README.md +86 -0
- jvagent-0.1.1/jvagent/action/google/google_calendar_action/__init__.py +6 -0
- jvagent-0.1.1/jvagent/action/google/google_calendar_action/endpoints.py +237 -0
- jvagent-0.1.1/jvagent/action/google/google_calendar_action/google_calendar_action.py +121 -0
- jvagent-0.1.1/jvagent/action/google/google_calendar_action/info.yaml +22 -0
- jvagent-0.1.1/jvagent/action/google/google_docs_action/__init__.py +6 -0
- jvagent-0.1.1/jvagent/action/google/google_docs_action/endpoints.py +135 -0
- jvagent-0.1.1/jvagent/action/google/google_docs_action/google_docs_action.py +330 -0
- jvagent-0.1.1/jvagent/action/google/google_docs_action/info.yaml +24 -0
- jvagent-0.1.1/jvagent/action/google/google_drive_action/README.md +240 -0
- jvagent-0.1.1/jvagent/action/google/google_drive_action/__init__.py +6 -0
- jvagent-0.1.1/jvagent/action/google/google_drive_action/endpoints.py +408 -0
- jvagent-0.1.1/jvagent/action/google/google_drive_action/google_drive_action.py +421 -0
- jvagent-0.1.1/jvagent/action/google/google_drive_action/info.yaml +24 -0
- jvagent-0.1.1/jvagent/action/google/google_gmail_action/README.md +64 -0
- jvagent-0.1.1/jvagent/action/google/google_gmail_action/__init__.py +6 -0
- jvagent-0.1.1/jvagent/action/google/google_gmail_action/endpoints.py +170 -0
- jvagent-0.1.1/jvagent/action/google/google_gmail_action/google_gmail_action.py +138 -0
- jvagent-0.1.1/jvagent/action/google/google_gmail_action/info.yaml +23 -0
- jvagent-0.1.1/jvagent/action/google/google_sheets_action/README.md +88 -0
- jvagent-0.1.1/jvagent/action/google/google_sheets_action/__init__.py +6 -0
- jvagent-0.1.1/jvagent/action/google/google_sheets_action/endpoints.py +1098 -0
- jvagent-0.1.1/jvagent/action/google/google_sheets_action/google_sheets_action.py +1264 -0
- jvagent-0.1.1/jvagent/action/google/google_sheets_action/info.yaml +22 -0
- jvagent-0.1.1/jvagent/action/google/google_token.py +61 -0
- jvagent-0.1.1/jvagent/action/handoff_interact_action/README.md +13 -0
- jvagent-0.1.1/jvagent/action/handoff_interact_action/__init__.py +5 -0
- jvagent-0.1.1/jvagent/action/handoff_interact_action/handoff_interact_action.py +454 -0
- jvagent-0.1.1/jvagent/action/handoff_interact_action/info.yaml +37 -0
- jvagent-0.1.1/jvagent/action/interact/AGENTS.md +1 -0
- jvagent-0.1.1/jvagent/action/interact/CLAUDE.md +139 -0
- jvagent-0.1.1/jvagent/action/interact/README.md +453 -0
- jvagent-0.1.1/jvagent/action/interact/__init__.py +12 -0
- jvagent-0.1.1/jvagent/action/interact/base.py +543 -0
- jvagent-0.1.1/jvagent/action/interact/conversation_lock_manager.py +51 -0
- jvagent-0.1.1/jvagent/action/interact/endpoints.py +929 -0
- jvagent-0.1.1/jvagent/action/interact/interact_walker.py +1013 -0
- jvagent-0.1.1/jvagent/action/interact/rate_limiter.py +328 -0
- jvagent-0.1.1/jvagent/action/interact/response_builder.py +233 -0
- jvagent-0.1.1/jvagent/action/interact/session_token.py +406 -0
- jvagent-0.1.1/jvagent/action/interact/utils/__init__.py +1 -0
- jvagent-0.1.1/jvagent/action/interact/utils/uploads.py +225 -0
- jvagent-0.1.1/jvagent/action/interact/webhook_pipeline.py +394 -0
- jvagent-0.1.1/jvagent/action/interview/AGENTS.md +1 -0
- jvagent-0.1.1/jvagent/action/interview/CLAUDE.md +119 -0
- jvagent-0.1.1/jvagent/action/interview/README.md +507 -0
- jvagent-0.1.1/jvagent/action/interview/SKILL.md +100 -0
- jvagent-0.1.1/jvagent/action/interview/__init__.py +24 -0
- jvagent-0.1.1/jvagent/action/interview/_validate_contract.py +65 -0
- jvagent-0.1.1/jvagent/action/interview/activation_seed.py +146 -0
- jvagent-0.1.1/jvagent/action/interview/directive_compose.py +175 -0
- jvagent-0.1.1/jvagent/action/interview/docs/extending.md +553 -0
- jvagent-0.1.1/jvagent/action/interview/docs/frontmatter-schema.md +165 -0
- jvagent-0.1.1/jvagent/action/interview/docs/multi-turn-flow.md +239 -0
- jvagent-0.1.1/jvagent/action/interview/docs/skill_custom_instructions.md +102 -0
- jvagent-0.1.1/jvagent/action/interview/docs/thin-harness.md +92 -0
- jvagent-0.1.1/jvagent/action/interview/docs/troubleshooting.md +204 -0
- jvagent-0.1.1/jvagent/action/interview/engine.py +1852 -0
- jvagent-0.1.1/jvagent/action/interview/examples/example_account_gating/README.md +57 -0
- jvagent-0.1.1/jvagent/action/interview/examples/example_account_gating/example_booking_interview/SKILL.md +65 -0
- jvagent-0.1.1/jvagent/action/interview/examples/example_account_gating/example_signin_interview/SKILL.md +37 -0
- jvagent-0.1.1/jvagent/action/interview/examples/example_account_gating/use-cases/booking-gated-no-session.yaml +34 -0
- jvagent-0.1.1/jvagent/action/interview/examples/example_account_gating/use-cases/booking-with-session.yaml +32 -0
- jvagent-0.1.1/jvagent/action/interview/examples/example_for_each_interview/SKILL.md +57 -0
- jvagent-0.1.1/jvagent/action/interview/examples/example_for_each_interview/scripts/custom_tools.py +59 -0
- jvagent-0.1.1/jvagent/action/interview/examples/example_interview/SKILL.md +95 -0
- jvagent-0.1.1/jvagent/action/interview/examples/example_interview/scripts/custom_tools.py +331 -0
- jvagent-0.1.1/jvagent/action/interview/flow.py +477 -0
- jvagent-0.1.1/jvagent/action/interview/for_each.py +398 -0
- jvagent-0.1.1/jvagent/action/interview/hooks.py +709 -0
- jvagent-0.1.1/jvagent/action/interview/info.yaml +23 -0
- jvagent-0.1.1/jvagent/action/interview/interview_action.py +372 -0
- jvagent-0.1.1/jvagent/action/interview/procedure.py +33 -0
- jvagent-0.1.1/jvagent/action/interview/session.py +168 -0
- jvagent-0.1.1/jvagent/action/interview/spec.py +403 -0
- jvagent-0.1.1/jvagent/action/interview/tasks.py +133 -0
- jvagent-0.1.1/jvagent/action/interview/tools.py +220 -0
- jvagent-0.1.1/jvagent/action/interview/validators.py +246 -0
- jvagent-0.1.1/jvagent/action/intro/README.md +62 -0
- jvagent-0.1.1/jvagent/action/intro/__init__.py +5 -0
- jvagent-0.1.1/jvagent/action/intro/info.yaml +26 -0
- jvagent-0.1.1/jvagent/action/intro/intro_interact_action.py +132 -0
- jvagent-0.1.1/jvagent/action/leadgen/README.md +42 -0
- jvagent-0.1.1/jvagent/action/leadgen/SKILL.md +58 -0
- jvagent-0.1.1/jvagent/action/leadgen/__init__.py +12 -0
- jvagent-0.1.1/jvagent/action/leadgen/_validate_contract.py +46 -0
- jvagent-0.1.1/jvagent/action/leadgen/docs/extending.md +41 -0
- jvagent-0.1.1/jvagent/action/leadgen/docs/frontmatter-schema.md +104 -0
- jvagent-0.1.1/jvagent/action/leadgen/docs/thin-harness.md +25 -0
- jvagent-0.1.1/jvagent/action/leadgen/docs/troubleshooting.md +12 -0
- jvagent-0.1.1/jvagent/action/leadgen/engine.py +413 -0
- jvagent-0.1.1/jvagent/action/leadgen/examples/example_leadgen/SKILL.md +80 -0
- jvagent-0.1.1/jvagent/action/leadgen/examples/example_leadgen/scripts/custom_tools.py +21 -0
- jvagent-0.1.1/jvagent/action/leadgen/hooks.py +97 -0
- jvagent-0.1.1/jvagent/action/leadgen/info.yaml +15 -0
- jvagent-0.1.1/jvagent/action/leadgen/leadgen_action.py +148 -0
- jvagent-0.1.1/jvagent/action/leadgen/procedure.py +21 -0
- jvagent-0.1.1/jvagent/action/leadgen/spec.py +240 -0
- jvagent-0.1.1/jvagent/action/leadgen/store.py +255 -0
- jvagent-0.1.1/jvagent/action/leadgen/sync.py +166 -0
- jvagent-0.1.1/jvagent/action/leadgen/tools.py +178 -0
- jvagent-0.1.1/jvagent/action/leadgen/validators.py +97 -0
- jvagent-0.1.1/jvagent/action/loader/__init__.py +14 -0
- jvagent-0.1.1/jvagent/action/loader/action_loader.py +1300 -0
- jvagent-0.1.1/jvagent/action/loader/core_discovery.py +129 -0
- jvagent-0.1.1/jvagent/action/loader/factory.py +44 -0
- jvagent-0.1.1/jvagent/action/loader/importer.py +153 -0
- jvagent-0.1.1/jvagent/action/loader/info_yaml.py +46 -0
- jvagent-0.1.1/jvagent/action/loader/metadata.py +128 -0
- jvagent-0.1.1/jvagent/action/loader/module_loading.py +167 -0
- jvagent-0.1.1/jvagent/action/manifest.py +298 -0
- jvagent-0.1.1/jvagent/action/mcp/README.md +142 -0
- jvagent-0.1.1/jvagent/action/mcp/__init__.py +6 -0
- jvagent-0.1.1/jvagent/action/mcp/client.py +215 -0
- jvagent-0.1.1/jvagent/action/mcp/fs_server_factory.py +112 -0
- jvagent-0.1.1/jvagent/action/mcp/info.yaml +20 -0
- jvagent-0.1.1/jvagent/action/mcp/jvspatial_fs_server.py +308 -0
- jvagent-0.1.1/jvagent/action/mcp/mcp_action.py +878 -0
- jvagent-0.1.1/jvagent/action/mcp/prompts.py +35 -0
- jvagent-0.1.1/jvagent/action/mcp/result.py +25 -0
- jvagent-0.1.1/jvagent/action/microsoft/README.md +111 -0
- jvagent-0.1.1/jvagent/action/microsoft/__init__.py +3 -0
- jvagent-0.1.1/jvagent/action/microsoft/endpoints.py +333 -0
- jvagent-0.1.1/jvagent/action/microsoft/microsoft_action.py +347 -0
- jvagent-0.1.1/jvagent/action/microsoft/microsoft_excel_action/README.md +58 -0
- jvagent-0.1.1/jvagent/action/microsoft/microsoft_excel_action/__init__.py +4 -0
- jvagent-0.1.1/jvagent/action/microsoft/microsoft_excel_action/endpoints.py +187 -0
- jvagent-0.1.1/jvagent/action/microsoft/microsoft_excel_action/info.yaml +18 -0
- jvagent-0.1.1/jvagent/action/microsoft/microsoft_excel_action/microsoft_excel_action.py +583 -0
- jvagent-0.1.1/jvagent/action/microsoft/microsoft_onedrive_action/README.md +44 -0
- jvagent-0.1.1/jvagent/action/microsoft/microsoft_onedrive_action/__init__.py +4 -0
- jvagent-0.1.1/jvagent/action/microsoft/microsoft_onedrive_action/endpoints.py +260 -0
- jvagent-0.1.1/jvagent/action/microsoft/microsoft_onedrive_action/info.yaml +17 -0
- jvagent-0.1.1/jvagent/action/microsoft/microsoft_onedrive_action/microsoft_onedrive_action.py +293 -0
- jvagent-0.1.1/jvagent/action/microsoft/microsoft_outlook_calendar_action/README.md +38 -0
- jvagent-0.1.1/jvagent/action/microsoft/microsoft_outlook_calendar_action/__init__.py +4 -0
- jvagent-0.1.1/jvagent/action/microsoft/microsoft_outlook_calendar_action/endpoints.py +168 -0
- jvagent-0.1.1/jvagent/action/microsoft/microsoft_outlook_calendar_action/info.yaml +17 -0
- jvagent-0.1.1/jvagent/action/microsoft/microsoft_outlook_calendar_action/microsoft_outlook_calendar_action.py +163 -0
- jvagent-0.1.1/jvagent/action/microsoft/microsoft_outlook_mail_action/README.md +43 -0
- jvagent-0.1.1/jvagent/action/microsoft/microsoft_outlook_mail_action/__init__.py +4 -0
- jvagent-0.1.1/jvagent/action/microsoft/microsoft_outlook_mail_action/endpoints.py +161 -0
- jvagent-0.1.1/jvagent/action/microsoft/microsoft_outlook_mail_action/info.yaml +17 -0
- jvagent-0.1.1/jvagent/action/microsoft/microsoft_outlook_mail_action/microsoft_outlook_mail_action.py +253 -0
- jvagent-0.1.1/jvagent/action/microsoft/microsoft_token.py +60 -0
- jvagent-0.1.1/jvagent/action/model/README.md +783 -0
- jvagent-0.1.1/jvagent/action/model/__init__.py +72 -0
- jvagent-0.1.1/jvagent/action/model/base.py +482 -0
- jvagent-0.1.1/jvagent/action/model/context.py +259 -0
- jvagent-0.1.1/jvagent/action/model/cost_estimator.py +108 -0
- jvagent-0.1.1/jvagent/action/model/embedding/__init__.py +24 -0
- jvagent-0.1.1/jvagent/action/model/embedding/base.py +152 -0
- jvagent-0.1.1/jvagent/action/model/embedding/endpoints.py +459 -0
- jvagent-0.1.1/jvagent/action/model/embedding/generic/__init__.py +5 -0
- jvagent-0.1.1/jvagent/action/model/embedding/generic/generic.py +191 -0
- jvagent-0.1.1/jvagent/action/model/embedding/generic/info.yaml +34 -0
- jvagent-0.1.1/jvagent/action/model/embedding/huggingface/__init__.py +5 -0
- jvagent-0.1.1/jvagent/action/model/embedding/huggingface/huggingface.py +132 -0
- jvagent-0.1.1/jvagent/action/model/embedding/huggingface/info.yaml +34 -0
- jvagent-0.1.1/jvagent/action/model/embedding/ollama/__init__.py +5 -0
- jvagent-0.1.1/jvagent/action/model/embedding/ollama/info.yaml +22 -0
- jvagent-0.1.1/jvagent/action/model/embedding/ollama/ollama.py +117 -0
- jvagent-0.1.1/jvagent/action/model/embedding/openai/__init__.py +5 -0
- jvagent-0.1.1/jvagent/action/model/embedding/openai/info.yaml +35 -0
- jvagent-0.1.1/jvagent/action/model/embedding/openai/openai.py +180 -0
- jvagent-0.1.1/jvagent/action/model/embedding/openrouter/__init__.py +5 -0
- jvagent-0.1.1/jvagent/action/model/embedding/openrouter/info.yaml +34 -0
- jvagent-0.1.1/jvagent/action/model/embedding/openrouter/openrouter.py +136 -0
- jvagent-0.1.1/jvagent/action/model/language/__init__.py +39 -0
- jvagent-0.1.1/jvagent/action/model/language/anthropic/__init__.py +5 -0
- jvagent-0.1.1/jvagent/action/model/language/anthropic/anthropic.py +625 -0
- jvagent-0.1.1/jvagent/action/model/language/anthropic/info.yaml +22 -0
- jvagent-0.1.1/jvagent/action/model/language/base.py +1238 -0
- jvagent-0.1.1/jvagent/action/model/language/endpoints.py +498 -0
- jvagent-0.1.1/jvagent/action/model/language/groq/__init__.py +5 -0
- jvagent-0.1.1/jvagent/action/model/language/groq/groq.py +100 -0
- jvagent-0.1.1/jvagent/action/model/language/groq/info.yaml +37 -0
- jvagent-0.1.1/jvagent/action/model/language/ollama/__init__.py +5 -0
- jvagent-0.1.1/jvagent/action/model/language/ollama/info.yaml +22 -0
- jvagent-0.1.1/jvagent/action/model/language/ollama/ollama.py +475 -0
- jvagent-0.1.1/jvagent/action/model/language/openai/__init__.py +5 -0
- jvagent-0.1.1/jvagent/action/model/language/openai/info.yaml +35 -0
- jvagent-0.1.1/jvagent/action/model/language/openai/openai.py +702 -0
- jvagent-0.1.1/jvagent/action/model/language/openrouter/__init__.py +5 -0
- jvagent-0.1.1/jvagent/action/model/language/openrouter/info.yaml +34 -0
- jvagent-0.1.1/jvagent/action/model/language/openrouter/openrouter.py +222 -0
- jvagent-0.1.1/jvagent/action/model/language/templates.py +255 -0
- jvagent-0.1.1/jvagent/action/model/language/tools.py +405 -0
- jvagent-0.1.1/jvagent/action/model/ollama_endpoint.py +15 -0
- jvagent-0.1.1/jvagent/action/model/utils/__init__.py +1 -0
- jvagent-0.1.1/jvagent/action/model/utils/message_format.py +87 -0
- jvagent-0.1.1/jvagent/action/model/utils/token_estimation.py +201 -0
- jvagent-0.1.1/jvagent/action/oauth/__init__.py +29 -0
- jvagent-0.1.1/jvagent/action/oauth/audit.py +92 -0
- jvagent-0.1.1/jvagent/action/oauth/state.py +162 -0
- jvagent-0.1.1/jvagent/action/oauth/token_crypto.py +219 -0
- jvagent-0.1.1/jvagent/action/orchestrator/__init__.py +21 -0
- jvagent-0.1.1/jvagent/action/orchestrator/access.py +66 -0
- jvagent-0.1.1/jvagent/action/orchestrator/catalog.py +236 -0
- jvagent-0.1.1/jvagent/action/orchestrator/constants.py +37 -0
- jvagent-0.1.1/jvagent/action/orchestrator/continuation.py +326 -0
- jvagent-0.1.1/jvagent/action/orchestrator/core_tools.py +298 -0
- jvagent-0.1.1/jvagent/action/orchestrator/egress.py +127 -0
- jvagent-0.1.1/jvagent/action/orchestrator/info.yaml +33 -0
- jvagent-0.1.1/jvagent/action/orchestrator/loop.py +867 -0
- jvagent-0.1.1/jvagent/action/orchestrator/loop_helpers.py +16 -0
- jvagent-0.1.1/jvagent/action/orchestrator/orchestrator_interact_action.py +2790 -0
- jvagent-0.1.1/jvagent/action/orchestrator/preconditions.py +74 -0
- jvagent-0.1.1/jvagent/action/orchestrator/proactive_tools.py +73 -0
- jvagent-0.1.1/jvagent/action/orchestrator/prompts.py +252 -0
- jvagent-0.1.1/jvagent/action/orchestrator/skill_providers.py +59 -0
- jvagent-0.1.1/jvagent/action/orchestrator/skill_tasks.py +1011 -0
- jvagent-0.1.1/jvagent/action/orchestrator/skills.py +204 -0
- jvagent-0.1.1/jvagent/action/orchestrator/task_runners.py +95 -0
- jvagent-0.1.1/jvagent/action/orchestrator/tools.py +164 -0
- jvagent-0.1.1/jvagent/action/orchestrator/uploads.py +291 -0
- jvagent-0.1.1/jvagent/action/orchestrator/walk_path.py +48 -0
- jvagent-0.1.1/jvagent/action/pageindex/README.md +228 -0
- jvagent-0.1.1/jvagent/action/pageindex/__init__.py +50 -0
- jvagent-0.1.1/jvagent/action/pageindex/adapter.py +265 -0
- jvagent-0.1.1/jvagent/action/pageindex/config.py +439 -0
- jvagent-0.1.1/jvagent/action/pageindex/core/README.md +16 -0
- jvagent-0.1.1/jvagent/action/pageindex/core/__init__.py +2 -0
- jvagent-0.1.1/jvagent/action/pageindex/core/config.yaml +9 -0
- jvagent-0.1.1/jvagent/action/pageindex/core/page_index.py +1389 -0
- jvagent-0.1.1/jvagent/action/pageindex/core/page_index_md.py +419 -0
- jvagent-0.1.1/jvagent/action/pageindex/core/utils.py +722 -0
- jvagent-0.1.1/jvagent/action/pageindex/docling_convert.py +252 -0
- jvagent-0.1.1/jvagent/action/pageindex/document_walker.py +105 -0
- jvagent-0.1.1/jvagent/action/pageindex/documents.py +1307 -0
- jvagent-0.1.1/jvagent/action/pageindex/endpoints.py +2241 -0
- jvagent-0.1.1/jvagent/action/pageindex/jvforge_assimilate.py +363 -0
- jvagent-0.1.1/jvagent/action/pageindex/jvforge_routing.py +34 -0
- jvagent-0.1.1/jvagent/action/pageindex/lexical_index.py +326 -0
- jvagent-0.1.1/jvagent/action/pageindex/llm_bridge.py +148 -0
- jvagent-0.1.1/jvagent/action/pageindex/llm_override.py +59 -0
- jvagent-0.1.1/jvagent/action/pageindex/markdown_pages.py +108 -0
- jvagent-0.1.1/jvagent/action/pageindex/md_tree_enriched.py +667 -0
- jvagent-0.1.1/jvagent/action/pageindex/models.py +200 -0
- jvagent-0.1.1/jvagent/action/pageindex/pageindex_action/__init__.py +13 -0
- jvagent-0.1.1/jvagent/action/pageindex/pageindex_action/info.yaml +30 -0
- jvagent-0.1.1/jvagent/action/pageindex/pageindex_action/pageindex_action.py +949 -0
- jvagent-0.1.1/jvagent/action/pageindex/pageindex_action/runtime_config.py +133 -0
- jvagent-0.1.1/jvagent/action/pageindex/pageindex_google_drive_sync_action/README.md +195 -0
- jvagent-0.1.1/jvagent/action/pageindex/pageindex_google_drive_sync_action/__init__.py +21 -0
- jvagent-0.1.1/jvagent/action/pageindex/pageindex_google_drive_sync_action/drive_ingest_filter.py +55 -0
- jvagent-0.1.1/jvagent/action/pageindex/pageindex_google_drive_sync_action/endpoints.py +693 -0
- jvagent-0.1.1/jvagent/action/pageindex/pageindex_google_drive_sync_action/google_drive_documents.py +52 -0
- jvagent-0.1.1/jvagent/action/pageindex/pageindex_google_drive_sync_action/info.yaml +30 -0
- jvagent-0.1.1/jvagent/action/pageindex/pageindex_google_drive_sync_action/pageindex_google_drive_sync_action.py +1629 -0
- jvagent-0.1.1/jvagent/action/pageindex/pageindex_google_drive_sync_action/webhook_auth.py +12 -0
- jvagent-0.1.1/jvagent/action/pageindex/prompts.py +39 -0
- jvagent-0.1.1/jvagent/action/pageindex/ranking.py +70 -0
- jvagent-0.1.1/jvagent/action/pageindex/retrieval.py +888 -0
- jvagent-0.1.1/jvagent/action/pageindex/tokenizer.py +127 -0
- jvagent-0.1.1/jvagent/action/pageindex/url_guard.py +133 -0
- jvagent-0.1.1/jvagent/action/pageindex/webhook_auth.py +24 -0
- jvagent-0.1.1/jvagent/action/parameters.py +356 -0
- jvagent-0.1.1/jvagent/action/plugin_contracts.py +32 -0
- jvagent-0.1.1/jvagent/action/postiz_action/README.md +72 -0
- jvagent-0.1.1/jvagent/action/postiz_action/__init__.py +4 -0
- jvagent-0.1.1/jvagent/action/postiz_action/endpoints.py +74 -0
- jvagent-0.1.1/jvagent/action/postiz_action/info.yaml +17 -0
- jvagent-0.1.1/jvagent/action/postiz_action/postiz_action.py +285 -0
- jvagent-0.1.1/jvagent/action/reply/__init__.py +16 -0
- jvagent-0.1.1/jvagent/action/reply/endpoints.py +202 -0
- jvagent-0.1.1/jvagent/action/reply/info.yaml +19 -0
- jvagent-0.1.1/jvagent/action/reply/reply_action.py +803 -0
- jvagent-0.1.1/jvagent/action/response/README.md +664 -0
- jvagent-0.1.1/jvagent/action/response/__init__.py +28 -0
- jvagent-0.1.1/jvagent/action/response/channel_adapter.py +105 -0
- jvagent-0.1.1/jvagent/action/response/channel_filter.py +121 -0
- jvagent-0.1.1/jvagent/action/response/chunking.py +153 -0
- jvagent-0.1.1/jvagent/action/response/message.py +127 -0
- jvagent-0.1.1/jvagent/action/response/response_bus.py +1066 -0
- jvagent-0.1.1/jvagent/action/response/streaming.py +120 -0
- jvagent-0.1.1/jvagent/action/response/thought_formatting.py +44 -0
- jvagent-0.1.1/jvagent/action/sentdm_broadcast/README.md +193 -0
- jvagent-0.1.1/jvagent/action/sentdm_broadcast/__init__.py +11 -0
- jvagent-0.1.1/jvagent/action/sentdm_broadcast/broadcast_tester.py +843 -0
- jvagent-0.1.1/jvagent/action/sentdm_broadcast/docs/openapi.json +3159 -0
- jvagent-0.1.1/jvagent/action/sentdm_broadcast/docs/openapi.yaml +2691 -0
- jvagent-0.1.1/jvagent/action/sentdm_broadcast/docs/postman.json +2074 -0
- jvagent-0.1.1/jvagent/action/sentdm_broadcast/endpoints.py +551 -0
- jvagent-0.1.1/jvagent/action/sentdm_broadcast/info.yaml +17 -0
- jvagent-0.1.1/jvagent/action/sentdm_broadcast/models.py +135 -0
- jvagent-0.1.1/jvagent/action/sentdm_broadcast/sentdm_broadcast_action.py +1545 -0
- jvagent-0.1.1/jvagent/action/sentdm_broadcast/webhook_auth.py +12 -0
- jvagent-0.1.1/jvagent/action/sentdm_broadcast/webhook_debug.py +62 -0
- jvagent-0.1.1/jvagent/action/skill_hub/__init__.py +5 -0
- jvagent-0.1.1/jvagent/action/skill_hub/_installer.py +294 -0
- jvagent-0.1.1/jvagent/action/skill_hub/_skills_cli.py +268 -0
- jvagent-0.1.1/jvagent/action/skill_hub/info.yaml +22 -0
- jvagent-0.1.1/jvagent/action/skill_hub/skill_hub_action.py +484 -0
- jvagent-0.1.1/jvagent/action/skill_spec/__init__.py +39 -0
- jvagent-0.1.1/jvagent/action/skill_spec/base.py +129 -0
- jvagent-0.1.1/jvagent/action/skill_spec/contract.py +133 -0
- jvagent-0.1.1/jvagent/action/skill_spec/docs/thin-harness.md +20 -0
- jvagent-0.1.1/jvagent/action/skill_spec/registry.py +68 -0
- jvagent-0.1.1/jvagent/action/skill_spec/task_lock.py +15 -0
- jvagent-0.1.1/jvagent/action/spreadsheet/__init__.py +1 -0
- jvagent-0.1.1/jvagent/action/spreadsheet/range_utils.py +45 -0
- jvagent-0.1.1/jvagent/action/streaming.py +18 -0
- jvagent-0.1.1/jvagent/action/stt_action/README.md +106 -0
- jvagent-0.1.1/jvagent/action/stt_action/__init__.py +12 -0
- jvagent-0.1.1/jvagent/action/stt_action/base.py +87 -0
- jvagent-0.1.1/jvagent/action/stt_action/deepgram/__init__.py +3 -0
- jvagent-0.1.1/jvagent/action/stt_action/deepgram/deepgram.py +229 -0
- jvagent-0.1.1/jvagent/action/stt_action/deepgram/info.yaml +17 -0
- jvagent-0.1.1/jvagent/action/stt_action/endpoints.py +108 -0
- jvagent-0.1.1/jvagent/action/task_creation_interact_action/__init__.py +7 -0
- jvagent-0.1.1/jvagent/action/task_creation_interact_action/info.yaml +17 -0
- jvagent-0.1.1/jvagent/action/task_creation_interact_action/prompts.py +55 -0
- jvagent-0.1.1/jvagent/action/task_creation_interact_action/task_creation_interact_action.py +326 -0
- jvagent-0.1.1/jvagent/action/task_monitor/__init__.py +6 -0
- jvagent-0.1.1/jvagent/action/task_monitor/endpoints.py +120 -0
- jvagent-0.1.1/jvagent/action/task_monitor/finalize.py +117 -0
- jvagent-0.1.1/jvagent/action/task_monitor/info.yaml +16 -0
- jvagent-0.1.1/jvagent/action/task_monitor/task_monitor.py +464 -0
- jvagent-0.1.1/jvagent/action/task_trigger_interact_action/__init__.py +7 -0
- jvagent-0.1.1/jvagent/action/task_trigger_interact_action/info.yaml +17 -0
- jvagent-0.1.1/jvagent/action/task_trigger_interact_action/task_trigger_interact_action.py +84 -0
- jvagent-0.1.1/jvagent/action/tts_action/README.md +130 -0
- jvagent-0.1.1/jvagent/action/tts_action/__init__.py +12 -0
- jvagent-0.1.1/jvagent/action/tts_action/base.py +80 -0
- jvagent-0.1.1/jvagent/action/tts_action/elevenlabs/__init__.py +3 -0
- jvagent-0.1.1/jvagent/action/tts_action/elevenlabs/elevenlabs.py +215 -0
- jvagent-0.1.1/jvagent/action/tts_action/elevenlabs/info.yaml +17 -0
- jvagent-0.1.1/jvagent/action/tts_action/endpoints.py +178 -0
- jvagent-0.1.1/jvagent/action/utils/__init__.py +17 -0
- jvagent-0.1.1/jvagent/action/utils/endpoint_helpers.py +31 -0
- jvagent-0.1.1/jvagent/action/utils/meta_webhook.py +23 -0
- jvagent-0.1.1/jvagent/action/utils/webhook_reconcile.py +121 -0
- jvagent-0.1.1/jvagent/action/utils/webhook_system_user.py +68 -0
- jvagent-0.1.1/jvagent/action/vectorstore/__init__.py +18 -0
- jvagent-0.1.1/jvagent/action/vectorstore/base.py +378 -0
- jvagent-0.1.1/jvagent/action/vectorstore/endpoints.py +466 -0
- jvagent-0.1.1/jvagent/action/vectorstore/typesense/__init__.py +5 -0
- jvagent-0.1.1/jvagent/action/vectorstore/typesense/info.yaml +34 -0
- jvagent-0.1.1/jvagent/action/vectorstore/typesense/typesense.py +703 -0
- jvagent-0.1.1/jvagent/action/video_generation/README.md +37 -0
- jvagent-0.1.1/jvagent/action/video_generation/__init__.py +1 -0
- jvagent-0.1.1/jvagent/action/video_generation/heygen.py +558 -0
- jvagent-0.1.1/jvagent/action/video_generation/info.yaml +17 -0
- jvagent-0.1.1/jvagent/action/vision/__init__.py +5 -0
- jvagent-0.1.1/jvagent/action/vision/info.yaml +23 -0
- jvagent-0.1.1/jvagent/action/vision/multimodal.py +138 -0
- jvagent-0.1.1/jvagent/action/vision/prompts.py +11 -0
- jvagent-0.1.1/jvagent/action/vision/vision_action.py +144 -0
- jvagent-0.1.1/jvagent/action/web_fetch/__init__.py +5 -0
- jvagent-0.1.1/jvagent/action/web_fetch/info.yaml +22 -0
- jvagent-0.1.1/jvagent/action/web_fetch/web_fetch_action.py +202 -0
- jvagent-0.1.1/jvagent/action/web_search/README.md +133 -0
- jvagent-0.1.1/jvagent/action/web_search/__init__.py +20 -0
- jvagent-0.1.1/jvagent/action/web_search/base.py +62 -0
- jvagent-0.1.1/jvagent/action/web_search/brave/__init__.py +3 -0
- jvagent-0.1.1/jvagent/action/web_search/brave/brave.py +131 -0
- jvagent-0.1.1/jvagent/action/web_search/brave/info.yaml +17 -0
- jvagent-0.1.1/jvagent/action/web_search/prompts.py +8 -0
- jvagent-0.1.1/jvagent/action/web_search/serpapi/__init__.py +3 -0
- jvagent-0.1.1/jvagent/action/web_search/serpapi/info.yaml +18 -0
- jvagent-0.1.1/jvagent/action/web_search/serpapi/serpapi.py +116 -0
- jvagent-0.1.1/jvagent/action/web_search/serper/__init__.py +3 -0
- jvagent-0.1.1/jvagent/action/web_search/serper/info.yaml +16 -0
- jvagent-0.1.1/jvagent/action/web_search/serper/serper.py +134 -0
- jvagent-0.1.1/jvagent/action/whatsapp/README.md +698 -0
- jvagent-0.1.1/jvagent/action/whatsapp/__init__.py +13 -0
- jvagent-0.1.1/jvagent/action/whatsapp/endpoints.py +1378 -0
- jvagent-0.1.1/jvagent/action/whatsapp/info.yaml +19 -0
- jvagent-0.1.1/jvagent/action/whatsapp/modules/base.py +643 -0
- jvagent-0.1.1/jvagent/action/whatsapp/modules/meta_api.py +907 -0
- jvagent-0.1.1/jvagent/action/whatsapp/modules/registry.py +41 -0
- jvagent-0.1.1/jvagent/action/whatsapp/modules/ultramsg.py +592 -0
- jvagent-0.1.1/jvagent/action/whatsapp/modules/wppconnect.py +421 -0
- jvagent-0.1.1/jvagent/action/whatsapp/modules/wwebjs_api.py +965 -0
- jvagent-0.1.1/jvagent/action/whatsapp/utils/__init__.py +1 -0
- jvagent-0.1.1/jvagent/action/whatsapp/utils/conversation_lock_manager.py +5 -0
- jvagent-0.1.1/jvagent/action/whatsapp/utils/endpoint_helpers.py +652 -0
- jvagent-0.1.1/jvagent/action/whatsapp/utils/media_batch_manager.py +756 -0
- jvagent-0.1.1/jvagent/action/whatsapp/utils/meta_audio.py +59 -0
- jvagent-0.1.1/jvagent/action/whatsapp/utils/meta_verify_token.py +22 -0
- jvagent-0.1.1/jvagent/action/whatsapp/utils/meta_webhook_dedup.py +65 -0
- jvagent-0.1.1/jvagent/action/whatsapp/utils/meta_webhook_verify.py +153 -0
- jvagent-0.1.1/jvagent/action/whatsapp/utils/typing_state_manager.py +49 -0
- jvagent-0.1.1/jvagent/action/whatsapp/webhook_auth.py +12 -0
- jvagent-0.1.1/jvagent/action/whatsapp/whatsapp_action.py +1122 -0
- jvagent-0.1.1/jvagent/action/whatsapp/whatsapp_adapter.py +300 -0
- jvagent-0.1.1/jvagent/action/whatsapp/whatsapp_filter.py +61 -0
- jvagent-0.1.1/jvagent/action/whatsapp/whatsapp_voice_filter.py +68 -0
- jvagent-0.1.1/jvagent/bundle/README.md +176 -0
- jvagent-0.1.1/jvagent/bundle/__init__.py +5 -0
- jvagent-0.1.1/jvagent/bundle/bundler.py +74 -0
- jvagent-0.1.1/jvagent/bundle/dockerfile_generator.py +196 -0
- jvagent-0.1.1/jvagent/cli/AGENTS.md +1 -0
- jvagent-0.1.1/jvagent/cli/CLAUDE.md +138 -0
- jvagent-0.1.1/jvagent/cli/__init__.py +5 -0
- jvagent-0.1.1/jvagent/cli/__main__.py +6 -0
- jvagent-0.1.1/jvagent/cli/agent_commands.py +363 -0
- jvagent-0.1.1/jvagent/cli/app_commands.py +220 -0
- jvagent-0.1.1/jvagent/cli/bootstrap.py +244 -0
- jvagent-0.1.1/jvagent/cli/chat.py +77 -0
- jvagent-0.1.1/jvagent/cli/commands.py +40 -0
- jvagent-0.1.1/jvagent/cli/main.py +249 -0
- jvagent-0.1.1/jvagent/cli/server.py +616 -0
- jvagent-0.1.1/jvagent/cli/server_config.py +618 -0
- jvagent-0.1.1/jvagent/cli/skill_commands.py +540 -0
- jvagent-0.1.1/jvagent/cli/validate.py +184 -0
- jvagent-0.1.1/jvagent/core/AGENTS.md +1 -0
- jvagent-0.1.1/jvagent/core/CLAUDE.md +123 -0
- jvagent-0.1.1/jvagent/core/__init__.py +40 -0
- jvagent-0.1.1/jvagent/core/agent.py +444 -0
- jvagent-0.1.1/jvagent/core/agent_loader.py +761 -0
- jvagent-0.1.1/jvagent/core/agent_yaml_validator.py +163 -0
- jvagent-0.1.1/jvagent/core/agents.py +302 -0
- jvagent-0.1.1/jvagent/core/app.py +599 -0
- jvagent-0.1.1/jvagent/core/app_context.py +39 -0
- jvagent-0.1.1/jvagent/core/app_loader.py +569 -0
- jvagent-0.1.1/jvagent/core/app_yaml_validator.py +323 -0
- jvagent-0.1.1/jvagent/core/bootstrap_logger.py +82 -0
- jvagent-0.1.1/jvagent/core/bootstrap_update_mode.py +77 -0
- jvagent-0.1.1/jvagent/core/cache.py +398 -0
- jvagent-0.1.1/jvagent/core/callback.py +380 -0
- jvagent-0.1.1/jvagent/core/channel.py +27 -0
- jvagent-0.1.1/jvagent/core/config.py +631 -0
- jvagent-0.1.1/jvagent/core/dependency_installer.py +212 -0
- jvagent-0.1.1/jvagent/core/embed_endpoints.py +42 -0
- jvagent-0.1.1/jvagent/core/endpoints/__init__.py +54 -0
- jvagent-0.1.1/jvagent/core/endpoints/agents.py +263 -0
- jvagent-0.1.1/jvagent/core/endpoints/app.py +56 -0
- jvagent-0.1.1/jvagent/core/endpoints/conversation.py +107 -0
- jvagent-0.1.1/jvagent/core/endpoints/graph_repair.py +262 -0
- jvagent-0.1.1/jvagent/core/endpoints/status.py +30 -0
- jvagent-0.1.1/jvagent/core/env_resolver.py +119 -0
- jvagent-0.1.1/jvagent/core/errors.py +190 -0
- jvagent-0.1.1/jvagent/core/graph_repair.py +524 -0
- jvagent-0.1.1/jvagent/core/graph_repair_handlers.py +339 -0
- jvagent-0.1.1/jvagent/core/graph_repair_job.py +1469 -0
- jvagent-0.1.1/jvagent/core/index_bootstrap.py +179 -0
- jvagent-0.1.1/jvagent/core/jvspatial_compat.py +50 -0
- jvagent-0.1.1/jvagent/core/observability.py +40 -0
- jvagent-0.1.1/jvagent/core/profiling.py +382 -0
- jvagent-0.1.1/jvagent/core/public_url.py +9 -0
- jvagent-0.1.1/jvagent/core/repair_phases/__init__.py +27 -0
- jvagent-0.1.1/jvagent/core/repair_phases/engine.py +5 -0
- jvagent-0.1.1/jvagent/core/repair_phases/memory.py +205 -0
- jvagent-0.1.1/jvagent/core/repair_phases/types.py +43 -0
- jvagent-0.1.1/jvagent/core/repair_scratch.py +201 -0
- jvagent-0.1.1/jvagent/core/repair_state.py +388 -0
- jvagent-0.1.1/jvagent/core/sandbox.py +271 -0
- jvagent-0.1.1/jvagent/core/scheduler_bootstrap.py +169 -0
- jvagent-0.1.1/jvagent/core/startup.py +172 -0
- jvagent-0.1.1/jvagent/core/yaml_validation_utils.py +59 -0
- jvagent-0.1.1/jvagent/embed/__init__.py +66 -0
- jvagent-0.1.1/jvagent/embed/bootstrap.py +295 -0
- jvagent-0.1.1/jvagent/embed/interact.py +793 -0
- jvagent-0.1.1/jvagent/env.py +49 -0
- jvagent-0.1.1/jvagent/logging/AGENTS.md +1 -0
- jvagent-0.1.1/jvagent/logging/CLAUDE.md +96 -0
- jvagent-0.1.1/jvagent/logging/__init__.py +21 -0
- jvagent-0.1.1/jvagent/logging/endpoints.py +113 -0
- jvagent-0.1.1/jvagent/logging/service.py +20 -0
- jvagent-0.1.1/jvagent/memory/AGENTS.md +1 -0
- jvagent-0.1.1/jvagent/memory/CLAUDE.md +130 -0
- jvagent-0.1.1/jvagent/memory/README.md +92 -0
- jvagent-0.1.1/jvagent/memory/__init__.py +27 -0
- jvagent-0.1.1/jvagent/memory/artifact.py +98 -0
- jvagent-0.1.1/jvagent/memory/conversation.py +1231 -0
- jvagent-0.1.1/jvagent/memory/distributed_conversation_lock.py +306 -0
- jvagent-0.1.1/jvagent/memory/endpoints.py +547 -0
- jvagent-0.1.1/jvagent/memory/evidence_log.py +205 -0
- jvagent-0.1.1/jvagent/memory/interaction.py +776 -0
- jvagent-0.1.1/jvagent/memory/lock_manager.py +143 -0
- jvagent-0.1.1/jvagent/memory/manager.py +1182 -0
- jvagent-0.1.1/jvagent/memory/services/__init__.py +9 -0
- jvagent-0.1.1/jvagent/memory/task_eligibility.py +161 -0
- jvagent-0.1.1/jvagent/memory/task_graph.py +108 -0
- jvagent-0.1.1/jvagent/memory/task_payload.py +37 -0
- jvagent-0.1.1/jvagent/memory/task_proactive.py +105 -0
- jvagent-0.1.1/jvagent/memory/task_store.py +1149 -0
- jvagent-0.1.1/jvagent/memory/user.py +329 -0
- jvagent-0.1.1/jvagent/scaffold/__init__.py +18 -0
- jvagent-0.1.1/jvagent/scaffold/builtin_profiles/__init__.py +1 -0
- jvagent-0.1.1/jvagent/scaffold/builtin_profiles/conversational.yaml +6 -0
- jvagent-0.1.1/jvagent/scaffold/builtin_profiles/minimal.yaml +34 -0
- jvagent-0.1.1/jvagent/scaffold/builtin_profiles/orchestrator.yaml +89 -0
- jvagent-0.1.1/jvagent/scaffold/builtin_profiles/research.yaml +6 -0
- jvagent-0.1.1/jvagent/scaffold/builtin_profiles/whatsapp_voice.yaml +19 -0
- jvagent-0.1.1/jvagent/scaffold/interact_action.py +218 -0
- jvagent-0.1.1/jvagent/scaffold/operations.py +585 -0
- jvagent-0.1.1/jvagent/scaffold/profile_resolve.py +186 -0
- jvagent-0.1.1/jvagent/scaffold/profile_stub.py +33 -0
- jvagent-0.1.1/jvagent/scaffold/resource_io.py +46 -0
- jvagent-0.1.1/jvagent/scaffold/skill_resolve.py +692 -0
- jvagent-0.1.1/jvagent/scaffold/sop_extend.py +704 -0
- jvagent-0.1.1/jvagent/scaffold/static/__init__.py +1 -0
- jvagent-0.1.1/jvagent/scaffold/static/env.example.txt +196 -0
- jvagent-0.1.1/jvagent/scaffold/yaml_io.py +104 -0
- jvagent-0.1.1/jvagent/schemas/use-case-v1.schema.json +224 -0
- jvagent-0.1.1/jvagent/skills/README.md +297 -0
- jvagent-0.1.1/jvagent/skills/__init__.py +1 -0
- jvagent-0.1.1/jvagent/skills/answer/SKILL.md +80 -0
- jvagent-0.1.1/jvagent/skills/pageindex_search_with_references/SKILL.md +97 -0
- jvagent-0.1.1/jvagent/skills/pdf_generation/SKILL.md +63 -0
- jvagent-0.1.1/jvagent/skills/pdf_generation/resources/requirements.txt +19 -0
- jvagent-0.1.1/jvagent/skills/pdf_generation/scripts/render_pdf.py +118 -0
- jvagent-0.1.1/jvagent/skills/research/SKILL.md +41 -0
- jvagent-0.1.1/jvagent/skills/research/__init__.py +1 -0
- jvagent-0.1.1/jvagent/skills/triage/SKILL.md +49 -0
- jvagent-0.1.1/jvagent/skills/triage/scripts/prioritize.py +59 -0
- jvagent-0.1.1/jvagent/stress_seed_graph.py +455 -0
- jvagent-0.1.1/jvagent/testing/__init__.py +9 -0
- jvagent-0.1.1/jvagent/testing/use_case_loader.py +59 -0
- jvagent-0.1.1/jvagent/tooling/__init__.py +19 -0
- jvagent-0.1.1/jvagent/tooling/signature_schema.py +180 -0
- jvagent-0.1.1/jvagent/tooling/tool.py +85 -0
- jvagent-0.1.1/jvagent/tooling/tool_decorator.py +215 -0
- jvagent-0.1.1/jvagent/tooling/tool_executor.py +251 -0
- jvagent-0.1.1/jvagent/tooling/tool_observability.py +50 -0
- jvagent-0.1.1/jvagent/tooling/tool_registry.py +104 -0
- jvagent-0.1.1/jvagent/tooling/tool_result.py +39 -0
- jvagent-0.1.1/jvagent/tooling/tool_schema_validator.py +116 -0
- jvagent-0.1.1/jvagent/tooling/tool_serializer.py +24 -0
- jvagent-0.1.1/jvagent/version.py +3 -0
- jvagent-0.1.1/jvagent/webui/__init__.py +11 -0
- jvagent-0.1.1/jvagent/webui/dist/assets/ChatInterface-C61tS6kJ.js +267 -0
- jvagent-0.1.1/jvagent/webui/dist/assets/ChatInterface-CpKl2eGN.css +1 -0
- jvagent-0.1.1/jvagent/webui/dist/assets/ChatRedirect-bolUSsJG.js +1 -0
- jvagent-0.1.1/jvagent/webui/dist/assets/DebugInteractions-BGGM2vNQ.js +47 -0
- jvagent-0.1.1/jvagent/webui/dist/assets/Login-Bep8PiER.js +1 -0
- jvagent-0.1.1/jvagent/webui/dist/assets/main-DSMdJ_OX.css +1 -0
- jvagent-0.1.1/jvagent/webui/dist/assets/main-yV_cwtCQ.js +13 -0
- jvagent-0.1.1/jvagent/webui/dist/assets/useAgents-CdIk_6vr.js +1 -0
- jvagent-0.1.1/jvagent/webui/dist/assets/useAuth-DoodL4QV.js +1 -0
- jvagent-0.1.1/jvagent/webui/dist/assets/vendor-cytoscape-CUqq0XTU.js +331 -0
- jvagent-0.1.1/jvagent/webui/dist/assets/vendor-d3-DznK3MmS.js +5 -0
- jvagent-0.1.1/jvagent/webui/dist/assets/vendor-dagre-bridge-B2IYeVxy.js +6 -0
- jvagent-0.1.1/jvagent/webui/dist/assets/vendor-graphviz-C9sQj0WI.js +3 -0
- jvagent-0.1.1/jvagent/webui/dist/assets/vendor-markdown-B9moJQqy.js +14 -0
- jvagent-0.1.1/jvagent/webui/dist/assets/vendor-react-CEqf_TvG.js +60 -0
- jvagent-0.1.1/jvagent/webui/dist/index.html +34 -0
- jvagent-0.1.1/jvagent/webui/server.py +183 -0
- jvagent-0.1.1/jvagent.egg-info/PKG-INFO +380 -0
- jvagent-0.1.1/jvagent.egg-info/SOURCES.txt +655 -0
- jvagent-0.1.1/jvagent.egg-info/dependency_links.txt +1 -0
- jvagent-0.1.1/jvagent.egg-info/entry_points.txt +2 -0
- jvagent-0.1.1/jvagent.egg-info/requires.txt +51 -0
- jvagent-0.1.1/jvagent.egg-info/top_level.txt +1 -0
- jvagent-0.1.1/pyproject.toml +251 -0
- jvagent-0.1.1/setup.cfg +4 -0
- jvagent-0.1.1/tests/test_embed.py +197 -0
- jvagent-0.1.1/tests/test_embed_stream.py +53 -0
- jvagent-0.1.1/tests/test_env_load.py +55 -0
- jvagent-0.1.1/tests/test_framework_domain_agnostic.py +44 -0
- jvagent-0.1.1/tests/test_logging_compat.py +101 -0
- jvagent-0.1.1/tests/test_mimetypes_compat.py +47 -0
- jvagent-0.1.1/tests/test_stress_seed_graph.py +154 -0
- jvagent-0.1.1/tests/test_stress_seed_integration.py +45 -0
- jvagent-0.1.1/tests/test_tool_schema_audit.py +144 -0
|
@@ -0,0 +1,279 @@
|
|
|
1
|
+
# jvagent Environment Configuration Template
|
|
2
|
+
# Copy to .env and fill in your values. Never commit .env to version control.
|
|
3
|
+
# Overrides app.yaml; env vars take precedence. See app.yaml config section for defaults.
|
|
4
|
+
|
|
5
|
+
# ============================================================================
|
|
6
|
+
# REQUIRED SECRETS (production)
|
|
7
|
+
# ============================================================================
|
|
8
|
+
|
|
9
|
+
# JWT Secret (CHANGE IN PRODUCTION!)
|
|
10
|
+
# Generate: openssl rand -hex 32
|
|
11
|
+
JVSPATIAL_JWT_SECRET_KEY=your-jwt-secret-key-change-in-production
|
|
12
|
+
|
|
13
|
+
# Admin bootstrap (required to create initial admin user)
|
|
14
|
+
JVAGENT_ADMIN_PASSWORD=your-admin-password-here
|
|
15
|
+
|
|
16
|
+
# OpenAI API Key — OpenAI-compatible APIs and PageIndex tree search.
|
|
17
|
+
OPENAI_API_KEY=your-openai-api-key-here
|
|
18
|
+
# Legacy alias supported as fallback only:
|
|
19
|
+
|
|
20
|
+
# Ollama Cloud / hosted Ollama
|
|
21
|
+
OLLAMA_API_KEY=your-ollama-api-key-here
|
|
22
|
+
OLLAMA_API_ENDPOINT=your-ollama-compatible-api-endpoint-here
|
|
23
|
+
OLLAMA_MODEL=your-ollama-model
|
|
24
|
+
|
|
25
|
+
# Secrets are read from environment only.
|
|
26
|
+
# Secret-like keys in agent.yaml context are ignored with a warning.
|
|
27
|
+
|
|
28
|
+
# Typesense API Key (for vector store actions)
|
|
29
|
+
TYPESENSE_API_KEY=your-typesense-api-key-here
|
|
30
|
+
|
|
31
|
+
# ============================================================================
|
|
32
|
+
# ADMIN BOOTSTRAP
|
|
33
|
+
# ============================================================================
|
|
34
|
+
# JVAGENT_ADMIN_USERNAME=admin
|
|
35
|
+
# JVAGENT_ADMIN_EMAIL=admin@jvagent.example
|
|
36
|
+
|
|
37
|
+
# ============================================================================
|
|
38
|
+
# ACTION LOADING (production)
|
|
39
|
+
# ============================================================================
|
|
40
|
+
# When true, skip pip install for action info.yaml dependencies.pip (use image/requirements instead)
|
|
41
|
+
# JVAGENT_DISABLE_RUNTIME_PIP_INSTALL=false
|
|
42
|
+
|
|
43
|
+
# When true, load_app_config() re-raises if app.yaml config cannot be loaded (fail-fast for CI)
|
|
44
|
+
# JVAGENT_STRICT_CONFIG=false
|
|
45
|
+
|
|
46
|
+
# When true, log a warning for every ${VAR} in YAML that resolves to an empty string (optional placeholders stay quiet by default)
|
|
47
|
+
# JVAGENT_WARN_EMPTY_PLACEHOLDERS=false
|
|
48
|
+
|
|
49
|
+
# ============================================================================
|
|
50
|
+
# SERVER
|
|
51
|
+
# ============================================================================
|
|
52
|
+
# JVAGENT_APP_ID= # Unique app identifier (overrides app node's app_id when set)
|
|
53
|
+
# JVAGENT_HOST=127.0.0.1
|
|
54
|
+
# JVAGENT_PORT=8000
|
|
55
|
+
# JVAGENT_TITLE=jvagent API
|
|
56
|
+
# JVAGENT_DESCRIPTION=jvagent Agentive Platform API
|
|
57
|
+
# JVAGENT_VERSION=0.0.1
|
|
58
|
+
|
|
59
|
+
# Public origin for webhooks, OAuth callbacks, and absolute media URLs (WhatsApp, Facebook Messenger, Google)
|
|
60
|
+
# Example: https://your-app.example.com or http://localhost:8000
|
|
61
|
+
# JVAGENT_PUBLIC_BASE_URL=https://your-app.example.com
|
|
62
|
+
|
|
63
|
+
# ============================================================================
|
|
64
|
+
# DATABASE
|
|
65
|
+
# ============================================================================
|
|
66
|
+
# JVSPATIAL_DB_TYPE=json
|
|
67
|
+
# JVSPATIAL_DB_PATH=./jvagent_db
|
|
68
|
+
# (Do not use JVSPATIAL_JSONDB_PATH / JVSPATIAL_SQLITE_PATH — forbidden by jvspatial.)
|
|
69
|
+
|
|
70
|
+
# MongoDB
|
|
71
|
+
# JVSPATIAL_MONGODB_URI=mongodb://localhost:27017
|
|
72
|
+
# JVSPATIAL_MONGODB_DB_NAME=jvagent_db
|
|
73
|
+
# JVSPATIAL_MONGODB_MAX_POOL_SIZE=10
|
|
74
|
+
# JVSPATIAL_MONGODB_MIN_POOL_SIZE=0
|
|
75
|
+
|
|
76
|
+
# DynamoDB (AWS Lambda / serverless)
|
|
77
|
+
# JVSPATIAL_DYNAMODB_TABLE_NAME=jvspatial
|
|
78
|
+
# JVSPATIAL_DYNAMODB_REGION=us-east-1
|
|
79
|
+
# JVSPATIAL_DYNAMODB_ENDPOINT_URL=
|
|
80
|
+
# AWS_ACCESS_KEY_ID=
|
|
81
|
+
# AWS_SECRET_ACCESS_KEY=
|
|
82
|
+
|
|
83
|
+
# ============================================================================
|
|
84
|
+
# LOGGING DATABASE (jvspatial: JVSPATIAL_DB_LOGGING_* / JVSPATIAL_LOG_DB_*)
|
|
85
|
+
# ============================================================================
|
|
86
|
+
# JVSPATIAL_DB_LOGGING_ENABLED=true
|
|
87
|
+
# JVSPATIAL_DB_LOGGING_LEVELS=INTERACTION,ERROR,CRITICAL
|
|
88
|
+
# JVSPATIAL_LOG_DB_TYPE=mongodb
|
|
89
|
+
# JVSPATIAL_LOG_DB_URI=mongodb://localhost:27017
|
|
90
|
+
# JVSPATIAL_LOG_DB_NAME=jvagent_logs
|
|
91
|
+
# JVSPATIAL_LOG_DB_PATH=./jvagent_logs
|
|
92
|
+
# JVSPATIAL_LOG_RETENTION_DEFAULT_DAYS=60 # Log retention in days (0 = indefinite); shared with jvspatial load_env
|
|
93
|
+
|
|
94
|
+
# DynamoDB logging (when JVSPATIAL_LOG_DB_TYPE=dynamodb)
|
|
95
|
+
# JVSPATIAL_LOG_DB_TABLE_NAME=jvagent_logs
|
|
96
|
+
# JVSPATIAL_LOG_DB_REGION=us-east-1
|
|
97
|
+
# JVSPATIAL_LOG_DB_ENDPOINT_URL=
|
|
98
|
+
|
|
99
|
+
# ============================================================================
|
|
100
|
+
# AUTHENTICATION
|
|
101
|
+
# ============================================================================
|
|
102
|
+
# JVAGENT_AUTH_ENABLED=true
|
|
103
|
+
# JVSPATIAL_JWT_EXPIRE_MINUTES=60
|
|
104
|
+
# JVAGENT_API_KEY_MANAGEMENT_ENABLED=true
|
|
105
|
+
# JVAGENT_API_KEY_PREFIX=jv_
|
|
106
|
+
# JVAGENT_API_KEY_HEADER=x-api-key
|
|
107
|
+
|
|
108
|
+
# ============================================================================
|
|
109
|
+
# CORS
|
|
110
|
+
# ============================================================================
|
|
111
|
+
# JVSPATIAL_CORS_ENABLED=true
|
|
112
|
+
# JVSPATIAL_CORS_ORIGINS=http://localhost:3000,http://localhost:5173
|
|
113
|
+
|
|
114
|
+
# ============================================================================
|
|
115
|
+
# FILE STORAGE
|
|
116
|
+
# ============================================================================
|
|
117
|
+
# JVSPATIAL_FILE_STORAGE_ENABLED=false
|
|
118
|
+
# Public GET for {JVSPATIAL_API_PREFIX}/files/{path} (jvspatial default: true)
|
|
119
|
+
# JVSPATIAL_FILES_PUBLIC_READ=true
|
|
120
|
+
# Prefer JVSPATIAL_FILE_STORAGE_PROVIDER (aligns with app.yaml file_storage.provider).
|
|
121
|
+
# JVSPATIAL_FILE_STORAGE_PROVIDER=local
|
|
122
|
+
# JVSPATIAL_FILES_ROOT_PATH=./.files
|
|
123
|
+
# JVSPATIAL_FILE_STORAGE_BASE_URL=http://localhost:8000
|
|
124
|
+
# JVSPATIAL_FILE_STORAGE_MAX_SIZE=104857600
|
|
125
|
+
|
|
126
|
+
# S3 (canonical names — do not use *_REGION_NAME / *_ACCESS_KEY_ID / *_SECRET_ACCESS_KEY)
|
|
127
|
+
# JVSPATIAL_S3_BUCKET_NAME=
|
|
128
|
+
# JVSPATIAL_S3_REGION=us-east-1
|
|
129
|
+
# JVSPATIAL_S3_ACCESS_KEY=
|
|
130
|
+
# JVSPATIAL_S3_SECRET_KEY=
|
|
131
|
+
# JVSPATIAL_S3_ENDPOINT_URL=
|
|
132
|
+
|
|
133
|
+
# MCP filesystem sandbox (MCPAction): paths <files_root>/<agentId>/<userId>/
|
|
134
|
+
# MCP_FILESYSTEM_SANDBOX_MODE=false
|
|
135
|
+
# MCP_FILESYSTEM_SANDBOX_ROOT=
|
|
136
|
+
# MCP_FILESYSTEM_SANDBOX_USER_SCOPED=false
|
|
137
|
+
# Default user id for tool list + fulfill() when no visitor (default anonymous)
|
|
138
|
+
# MCP_FILESYSTEM_SANDBOX_DEFAULT_USER=anonymous
|
|
139
|
+
|
|
140
|
+
# ============================================================================
|
|
141
|
+
# API
|
|
142
|
+
# ============================================================================
|
|
143
|
+
# Graph REST API (allowlisted JVSPATIAL_* key; see jvspatial environment-configuration.md)
|
|
144
|
+
# JVSPATIAL_GRAPH_ENDPOINT_ENABLED=true
|
|
145
|
+
|
|
146
|
+
# ============================================================================
|
|
147
|
+
# INTERACT ENDPOINT
|
|
148
|
+
# ============================================================================
|
|
149
|
+
# JVAGENT_INTERACT_RATE_LIMIT_PER_MINUTE=60
|
|
150
|
+
# JVAGENT_INTERACT_MAX_UTTERANCE_LENGTH=2000 # null or empty = unlimited
|
|
151
|
+
# Max interaction nodes pruned per add_interaction call when over rolling limit (bounded tail latency).
|
|
152
|
+
# JVAGENT_MAX_INTERACTIONS_PRUNED_PER_CALL=100
|
|
153
|
+
# Cross-process serialization for conversation chain updates (recommended in multi-worker prod).
|
|
154
|
+
# JVAGENT_CONVERSATION_LOCK_REDIS_URL=
|
|
155
|
+
# JVAGENT_CONVERSATION_LOCK_DYNAMODB_TABLE=
|
|
156
|
+
|
|
157
|
+
# ============================================================================
|
|
158
|
+
# DEVELOPMENT & LOGGING
|
|
159
|
+
# ============================================================================
|
|
160
|
+
# JVSPATIAL_LOG_LEVEL=info
|
|
161
|
+
# JVSPATIAL_DEBUG=false
|
|
162
|
+
# JVSPATIAL_ENVIRONMENT=development
|
|
163
|
+
|
|
164
|
+
# jvspatial serverless override (optional; Lambda/Cloud Run etc. auto-detected).
|
|
165
|
+
# See jvspatial docs: serverless-mode.md
|
|
166
|
+
# SERVERLESS_MODE=true
|
|
167
|
+
|
|
168
|
+
# ============================================================================
|
|
169
|
+
# WHATSAPP INTEGRATION
|
|
170
|
+
# ============================================================================
|
|
171
|
+
# WHATSAPP_API_URL=http://your-whatsapp-provider:21000
|
|
172
|
+
# WHATSAPP_API_KEY=your-whatsapp-api-key-here
|
|
173
|
+
# WHATSAPP_SESSION=your-session-id-here
|
|
174
|
+
# WHATSAPP_TOKEN=your-token-here
|
|
175
|
+
# WHATSAPP_SESSION_REGISTER_TIMEOUT_SECONDS=120
|
|
176
|
+
# WHATSAPP_SKIP_STARTUP_REGISTRATION=false
|
|
177
|
+
# WHATSAPP_REQUEST_TIMEOUT=15
|
|
178
|
+
# Work-claim lease TTL for persistent batches (seconds); see jvspatial serverless-mode.md
|
|
179
|
+
# JVSPATIAL_WORK_CLAIM_STALE_SECONDS=600
|
|
180
|
+
|
|
181
|
+
# Serverless / LWA: deferred tasks hit POST {JVSPATIAL_API_PREFIX}/_internal/deferred (default /api/_internal/deferred).
|
|
182
|
+
# Optional: AWS_LWA_INVOKE_MODE=RESPONSE_STREAM and AWS_LWA_PASS_THROUGH_PATH=/api/_internal/deferred (see jvspatial serverless-mode.md).
|
|
183
|
+
|
|
184
|
+
# EventBridge scheduler: JVSPATIAL_EVENTBRIDGE_SCHEDULER_ENABLED defaults to true on serverless AWS; set false for Lambda invoke only.
|
|
185
|
+
# JVSPATIAL_EVENTBRIDGE_ROLE_ARN=arn:aws:iam::... # required for schedules to succeed
|
|
186
|
+
# JVSPATIAL_EVENTBRIDGE_LAMBDA_ARN=arn:aws:lambda:...
|
|
187
|
+
# If JVSPATIAL_EVENTBRIDGE_LAMBDA_ARN unset, ARN built from AWS_LAMBDA_FUNCTION_NAME + AWS_REGION + AWS_ACCOUNT_ID:
|
|
188
|
+
# AWS_REGION=us-east-1
|
|
189
|
+
# AWS_ACCOUNT_ID=123456789012
|
|
190
|
+
# JVSPATIAL_EVENTBRIDGE_SCHEDULER_GROUP=default
|
|
191
|
+
|
|
192
|
+
# ============================================================================
|
|
193
|
+
# EMAIL (EmailAction — package jvagent/email_action: gmail | sendgrid)
|
|
194
|
+
# ============================================================================
|
|
195
|
+
# Gmail (default): add GoogleGmailAction on the same agent; OAuth via:
|
|
196
|
+
# GOOGLE_CLIENT_SECRETS_JSON= # path or JSON string (same as other Google actions)
|
|
197
|
+
# Optional override From (else Gmail profile emailAddress):
|
|
198
|
+
# EMAIL_DEFAULT_SENDER=
|
|
199
|
+
# EMAIL_DEFAULT_SENDER_NAME=
|
|
200
|
+
# SendGrid: set provider=sendgrid on EmailAction
|
|
201
|
+
# SENDGRID_API_KEY=
|
|
202
|
+
# SENDGRID_API_BASE_URL=https://api.sendgrid.com/v3
|
|
203
|
+
# SENDGRID_FROM_EMAIL= # optional fallback if EMAIL_DEFAULT_SENDER unset
|
|
204
|
+
# SENDGRID_FROM_NAME=
|
|
205
|
+
|
|
206
|
+
# ============================================================================
|
|
207
|
+
# TTS / STT
|
|
208
|
+
# ============================================================================
|
|
209
|
+
# TTS_API_KEY=your-tts-api-key-here
|
|
210
|
+
# STT_API_KEY=your-stt-api-key-here
|
|
211
|
+
|
|
212
|
+
# ============================================================================
|
|
213
|
+
# WEBHOOK (jvspatial)
|
|
214
|
+
# ============================================================================
|
|
215
|
+
# JVSPATIAL_WEBHOOK_HMAC_SECRET=
|
|
216
|
+
# JVSPATIAL_WEBHOOK_HMAC_ALGORITHM=sha256
|
|
217
|
+
# JVSPATIAL_WEBHOOK_MAX_PAYLOAD_SIZE=1048576
|
|
218
|
+
# JVSPATIAL_WEBHOOK_IDEMPOTENCY_TTL=3600
|
|
219
|
+
# JVSPATIAL_WEBHOOK_HTTPS_REQUIRED=true
|
|
220
|
+
|
|
221
|
+
# ============================================================================
|
|
222
|
+
# PAGEINDEX (document indexing/retrieval)
|
|
223
|
+
# ============================================================================
|
|
224
|
+
# JVAGENT_PAGEINDEX_DB_TYPE=json
|
|
225
|
+
# JVAGENT_PAGEINDEX_DB_PATH=./pageindex_db
|
|
226
|
+
# JVAGENT_PAGEINDEX_DB_NAME=pageindex_db
|
|
227
|
+
# Default when unset: {app_id}_pageindex_db (one db per app, agents share it)
|
|
228
|
+
# JVAGENT_PAGEINDEX_DB_ROOT=. # Root for path when DB_PATH not set
|
|
229
|
+
# MongoDB/DynamoDB (when DB_TYPE is mongodb/dynamodb):
|
|
230
|
+
# JVAGENT_PAGEINDEX_DB_URI=mongodb://localhost:27017
|
|
231
|
+
# When unset/blank, Pageindex uses JVSPATIAL_MONGODB_URI, then mongodb://localhost:27017
|
|
232
|
+
# JVAGENT_PAGEINDEX_DB_TABLE_NAME=
|
|
233
|
+
# JVAGENT_PAGEINDEX_DB_REGION=us-east-1
|
|
234
|
+
|
|
235
|
+
# ============================================================================
|
|
236
|
+
# JVSPATIAL CACHE (entity cache)
|
|
237
|
+
# ============================================================================
|
|
238
|
+
# JVSPATIAL_CACHE_BACKEND=memory
|
|
239
|
+
# JVSPATIAL_CACHE_SIZE=1000
|
|
240
|
+
# JVSPATIAL_L1_CACHE_SIZE=500
|
|
241
|
+
# JVSPATIAL_REDIS_URL=redis://localhost:6379
|
|
242
|
+
# JVSPATIAL_REDIS_TTL=3600
|
|
243
|
+
|
|
244
|
+
# ============================================================================
|
|
245
|
+
# PERFORMANCE (jvagent)
|
|
246
|
+
# ============================================================================
|
|
247
|
+
# JVAGENT_ENABLE_PROFILING=false
|
|
248
|
+
# JVAGENT_ENABLE_AGENT_CACHE=true
|
|
249
|
+
# JVAGENT_AGENT_CACHE_TTL=300
|
|
250
|
+
# JVAGENT_ENABLE_ACTION_CACHE=true
|
|
251
|
+
# JVAGENT_ACTION_CACHE_TTL=60
|
|
252
|
+
# JVAGENT_ENABLE_DSPY_CACHE=false
|
|
253
|
+
# JVAGENT_CACHE_CLEANUP_PROBABILITY=0.1
|
|
254
|
+
# JVAGENT_ENABLE_INTERACT_ROUTER_CACHE=false
|
|
255
|
+
# JVAGENT_INTERACT_ROUTER_CACHE_TTL=45
|
|
256
|
+
|
|
257
|
+
# ============================================================================
|
|
258
|
+
# JVSPATIAL_* (framework keys used by jvagent)
|
|
259
|
+
# ============================================================================
|
|
260
|
+
# Set only names documented in docs/environment-keys-reference.md and jvspatial
|
|
261
|
+
# docs/md/environment-keys-reference.md. For file storage use JVSPATIAL_FILE_STORAGE_PROVIDER;
|
|
262
|
+
# for public webhook/OAuth URLs use JVAGENT_PUBLIC_BASE_URL.
|
|
263
|
+
|
|
264
|
+
# ============================================================================
|
|
265
|
+
# JVSPATIAL PERFORMANCE
|
|
266
|
+
# ============================================================================
|
|
267
|
+
# Batch saves (ignored when serverless / SERVERLESS_MODE — see jvspatial deferred_saves_globally_allowed)
|
|
268
|
+
# JVSPATIAL_ENABLE_DEFERRED_SAVES=true
|
|
269
|
+
|
|
270
|
+
|
|
271
|
+
# jvforge (PageIndex delegated ingest): base URL of the jvforge service (e.g. http://127.0.0.1:8088)
|
|
272
|
+
# JVAGENT_JVFORGE_BASE_URL=http://127.0.0.1:8088
|
|
273
|
+
# Optional API key only if jvforge has JVFORGE_API_KEY set
|
|
274
|
+
# JVAGENT_JVFORGE_API_KEY=
|
|
275
|
+
# JVFORGE_API_KEY=
|
|
276
|
+
# When true, ingest uses jvforge POST /v1/jobs (async queue) instead of synchronous /v1/process
|
|
277
|
+
# JVAGENT_JVFORGE_ASYNC=false
|
|
278
|
+
# Webhook path: set JVAGENT_PUBLIC_BASE_URL so PageIndex interact webhook URLs are reachable from jvforge.
|
|
279
|
+
# Align JVFORGE_PUBLIC_BASE_URL on the jvforge side with a host jvagent can use to GET artifacts (often same as JVAGENT_JVFORGE_BASE_URL for local dev).
|
jvagent-0.1.1/AUTHORS
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
jvagent — Authors & Maintainers
|
|
2
|
+
===============================
|
|
3
|
+
|
|
4
|
+
jvagent is an agent harness built on jvspatial.
|
|
5
|
+
|
|
6
|
+
Creator & Lead Maintainer
|
|
7
|
+
Eldon Marks (@eldonm) — https://github.com/eldonm
|
|
8
|
+
|
|
9
|
+
Contributors
|
|
10
|
+
This list grows with the project. Contributions are welcome.
|
|
11
|
+
|
|
12
|
+
---------------------------------------------------------------------
|
|
13
|
+
This file records authorship and ongoing maintenance of the project.
|
|
14
|
+
Authorship and maintenance are distinct from copyright ownership and
|
|
15
|
+
license terms, which are set out in LICENSE.
|
jvagent-0.1.1/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2025 TrueSelph Inc.
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
include README.md
|
|
2
|
+
include LICENSE
|
|
3
|
+
include pyproject.toml
|
|
4
|
+
include .env.example
|
|
5
|
+
recursive-include jvagent *.py
|
|
6
|
+
|
|
7
|
+
# Action + skill data — every action package ships an `info.yaml` (the
|
|
8
|
+
# action loader walks these to discover core actions at runtime), every
|
|
9
|
+
# skill bundle ships a `SKILL.md`, and some packages ship per-package
|
|
10
|
+
# READMEs or pinned `requirements.txt` files. Without these, non-editable
|
|
11
|
+
# wheel installs cannot discover any core action and emit
|
|
12
|
+
# "Action jvagent/<x> not found locally or in core library" warnings.
|
|
13
|
+
recursive-include jvagent *.yaml
|
|
14
|
+
recursive-include jvagent *.yml
|
|
15
|
+
recursive-include jvagent *.md
|
|
16
|
+
recursive-include jvagent *.json
|
|
17
|
+
recursive-include jvagent requirements.txt
|
|
18
|
+
recursive-include jvagent/scaffold/static *.txt
|
|
19
|
+
|
|
20
|
+
# Bundled jvchat UI (built by scripts/build_jvchat.py; served by `jvagent chat`).
|
|
21
|
+
recursive-include jvagent/webui/dist *
|
|
22
|
+
|
|
23
|
+
recursive-include docs *.md
|