monkeybot 3.0.0__tar.gz → 3.0.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.
- {monkeybot-3.0.0 → monkeybot-3.0.1}/CHANGELOG.md +6 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/PKG-INFO +1 -1
- {monkeybot-3.0.0 → monkeybot-3.0.1}/docs/features.md +1 -1
- {monkeybot-3.0.0 → monkeybot-3.0.1}/pyproject.toml +1 -1
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/core/tools/terminal.py +17 -2
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/core/test_terminal.py +22 -1
- {monkeybot-3.0.0 → monkeybot-3.0.1}/.dockerignore +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/.github/workflows/ci.yml +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/.github/workflows/live-eval-smoke.yml +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/.github/workflows/prepare-release.yml +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/.github/workflows/publish-release.yml +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/.gitignore +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/.pre-commit-config.yaml +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/BACKLOG.md +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/CONTRIBUTING.md +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/LICENSE +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/README.md +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/cli/pyproject.toml +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/cli/skills/monkeybot/SKILL.md +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/cli/skills/monkeybot/references/config-sections.md +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/cli/src/monkeybot_cli/__init__.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/cli/src/monkeybot_cli/chat_file_index.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/cli/src/monkeybot_cli/chat_local_shell.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/cli/src/monkeybot_cli/chat_renderer.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/cli/src/monkeybot_cli/chat_session.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/cli/src/monkeybot_cli/chat_status_bar.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/cli/src/monkeybot_cli/chat_theme.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/cli/src/monkeybot_cli/chat_tool_display.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/cli/src/monkeybot_cli/chat_tui.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/cli/src/monkeybot_cli/chat_tui_widgets.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/cli/src/monkeybot_cli/commands/__init__.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/cli/src/monkeybot_cli/commands/chat.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/cli/src/monkeybot_cli/commands/doctor.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/cli/src/monkeybot_cli/commands/loop.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/cli/src/monkeybot_cli/commands/new.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/cli/src/monkeybot_cli/commands/refresh.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/cli/src/monkeybot_cli/commands/run_cmd.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/cli/src/monkeybot_cli/commands/talk.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/cli/src/monkeybot_cli/commands/validate.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/cli/src/monkeybot_cli/compat.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/cli/src/monkeybot_cli/config_resolve.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/cli/src/monkeybot_cli/exit_commands.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/cli/src/monkeybot_cli/extras_catalog.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/cli/src/monkeybot_cli/gateway_health.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/cli/src/monkeybot_cli/main.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/cli/src/monkeybot_cli/opensandbox_lifecycle.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/cli/src/monkeybot_cli/output.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/cli/src/monkeybot_cli/providers.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/cli/src/monkeybot_cli/realtime/__init__.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/cli/src/monkeybot_cli/realtime/audio_io.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/cli/src/monkeybot_cli/realtime/client.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/cli/src/monkeybot_cli/realtime/gateway_manager.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/cli/src/monkeybot_cli/realtime/push_to_talk.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/cli/src/monkeybot_cli/realtime/session.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/cli/src/monkeybot_cli/realtime/session_controller.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/cli/src/monkeybot_cli/realtime/talk_ui.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/cli/src/monkeybot_cli/realtime/wire_encode.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/cli/src/monkeybot_cli/runtime_python.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/cli/src/monkeybot_cli/scaffold.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/cli/src/monkeybot_cli/scaffold_defaults/AGENT.md +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/cli/src/monkeybot_cli/scaffold_defaults/Dockerfile +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/cli/src/monkeybot_cli/scaffold_defaults/__init__.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/cli/src/monkeybot_cli/scaffold_defaults/browser/SKILL.md +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/cli/src/monkeybot_cli/scaffold_defaults/command_allowlist.yaml +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/cli/src/monkeybot_cli/scaffold_defaults/dockerignore +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/cli/src/monkeybot_cli/scaffold_defaults/env.example +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/cli/src/monkeybot_cli/scaffold_defaults/image-generator/SKILL.md +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/cli/src/monkeybot_cli/scaffold_defaults/image-generator/generate_image.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/cli/src/monkeybot_cli/scaffold_defaults/loop/SKILL.md +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/cli/src/monkeybot_cli/scaffold_defaults/mcp.json +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/cli/src/monkeybot_cli/scaffold_defaults/monkeybot.example.yaml +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/cli/src/monkeybot_cli/scaffold_defaults/opensandbox.docker.toml +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/cli/src/monkeybot_cli/scaffold_defaults/otel-collector.example.yaml +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/cli/src/monkeybot_cli/scaffold_defaults/permissions.yaml +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/cli/src/monkeybot_cli/session_controller.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/cli/src/monkeybot_cli/terminal_markdown.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/cli/tests/test_chat_continue.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/cli/tests/test_chat_e2e.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/cli/tests/test_chat_errors.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/cli/tests/test_chat_file_index.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/cli/tests/test_chat_grounding.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/cli/tests/test_chat_local_shell.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/cli/tests/test_chat_renderer_parity.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/cli/tests/test_chat_session.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/cli/tests/test_chat_status_bar.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/cli/tests/test_chat_theme.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/cli/tests/test_chat_tool_display.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/cli/tests/test_chat_tui.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/cli/tests/test_cli.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/cli/tests/test_config_resolve.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/cli/tests/test_doctor.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/cli/tests/test_extras_catalog.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/cli/tests/test_gateway_health.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/cli/tests/test_opensandbox_lifecycle.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/cli/tests/test_realtime_session_controller.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/cli/tests/test_run_cmd.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/cli/tests/test_runtime_python.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/cli/tests/test_scaffold.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/cli/tests/test_terminal_markdown.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/cli/uv.lock +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/docker/Dockerfile +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/docker/docker-compose.sandbox.yml +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/docker/opensandbox.docker.toml +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/docker/sandbox.Dockerfile +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/docker-compose.yml +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/docs/agent-layout.md +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/docs/assets/logo.png +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/docs/browser-mcp.md +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/docs/cloud-deployment-design.md +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/docs/deploy-aws-agentcore.md +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/docs/deploy-pattern-a-container.md +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/docs/deploy-pattern-b-serverless.md +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/docs/deploy-pattern-c-agent-platform.md +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/docs/deploy-pattern-d-realtime.md +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/docs/getting-started.md +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/docs/knowledge-layer-fixes.md +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/docs/live-evals.md +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/docs/mcp.md +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/docs/memory-graph-split-plan.md +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/docs/migrations/agent-scope-namespacing.md +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/docs/migrations/memory-outbox.sql +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/docs/observability-runbook.md +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/docs/otel-collector.example.yaml +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/docs/progressive-loop-tools.md +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/docs/progressive-mcp-tools.md +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/docs/skills.md +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/docs/spill-dynamic-design.md +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/docs/sse-gateway-ui.md +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/docs/workspace-index-design.md +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/evals/TEST_COVERAGE.md +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/evals/assertions.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/evals/diff.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/evals/eval_config.yaml +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/evals/models.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/evals/persistence.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/evals/report.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/evals/runner.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/evals/scenario_loader.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/evals/scenarios/context/summarization_trigger.yaml +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/evals/scenarios/mcp/get_prompt.yaml +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/evals/scenarios/mcp/list_resources.yaml +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/evals/scenarios/mcp/tool_invoke.yaml +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/evals/scenarios/memory/recall_cross_session.yaml +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/evals/scenarios/memory/recall_single_session.yaml +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/evals/scenarios/multi_turn/task_tracking.yaml +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/evals/scenarios/skills/skill_invocation.yaml +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/evals/scenarios/subagents/dispatch_complete.yaml +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/evals/scenarios/tools/core_read.yaml +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/evals/scenarios/tools/core_read_error.yaml +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/evals/scenarios/tools/core_run_command.yaml +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/evals/scenarios/tools/core_run_command_sandbox.yaml +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/evals/scenarios/tools/core_write.yaml +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/evals/scorer.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/evals/smoke_agent/.env.example +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/evals/smoke_agent/.gitignore +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/evals/smoke_agent/fixture_mcp_server.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/evals/smoke_agent/monkeybot_config/AGENT.md +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/evals/smoke_agent/monkeybot_config/command_allowlist.yaml +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/evals/smoke_agent/monkeybot_config/mcp.json +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/evals/smoke_agent/monkeybot_config/monkeybot.yaml +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/evals/smoke_agent/monkeybot_config/permissions.yaml +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/evals/smoke_agent/pyproject.toml +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/evals/smoke_agent/skills/browser/SKILL.md +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/evals/smoke_agent/uv.lock +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/evals/smoke_agent/workspace/.gitkeep +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/evals/smoke_agent/workspace/skills/browser/playbooks/.gitkeep +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/evals/suites/smoke.yaml +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/evals/test_assertions.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/evals/test_diff.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/evals/test_judge.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/evals/test_report.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/evals/test_runner_sse.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/evals/test_scorer.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/examples/README.md +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/examples/agentcore/handler.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/examples/agentcore/runtime_app.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/examples/agentengine/handler.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/examples/cloud-functions/main.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/examples/lambda/handler.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/examples/skills/browser/SKILL.md +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/examples/skills/browser/playbooks/.gitkeep +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/examples/skills/diagnostics/README.md +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/examples/skills/diagnostics/SKILL.md +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/examples/skills/diagnostics/__init__.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/examples/skills/diagnostics/diagnostics.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/examples/skills/image-generator/SKILL.md +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/examples/skills/image-generator/generate_image.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/integrations/browser-mcp/pyproject.toml +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/integrations/browser-mcp/scripts/agentcore_smoke.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/integrations/browser-mcp/src/browser_mcp/__init__.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/integrations/browser-mcp/src/browser_mcp/agentcore.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/integrations/browser-mcp/src/browser_mcp/assets/NOTICE.md +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/integrations/browser-mcp/src/browser_mcp/assets/dom_tree.js +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/integrations/browser-mcp/src/browser_mcp/assets/pa_driver.js +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/integrations/browser-mcp/src/browser_mcp/dom_indexing.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/integrations/browser-mcp/src/browser_mcp/playbooks.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/integrations/browser-mcp/src/browser_mcp/playwright_helpers.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/integrations/browser-mcp/src/browser_mcp/screenshots.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/integrations/browser-mcp/src/browser_mcp/server.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/integrations/browser-mcp/tests/test_agentcore.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/integrations/browser-mcp/tests/test_dom_indexing.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/integrations/browser-mcp/tests/test_in_app_cdp.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/integrations/browser-mcp/tests/test_indexed_tools.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/integrations/browser-mcp/tests/test_playbooks.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/integrations/browser-mcp/tests/test_playwright_helpers.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/integrations/browser-mcp/tests/test_screenshots.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/integrations/browser-mcp/tests/test_server_shutdown.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/integrations/browser-mcp/uv.lock +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/pytest.ini +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/scripts/create_schema.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/scripts/precommit-pytest.sh +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/scripts/release.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/scripts/smoke_global_cli.sh +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/__init__.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/cli/__init__.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/cli/__main__.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/cli/audio_io.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/cli/gateway_manager.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/cli/main.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/cli/push_to_talk.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/cli/realtime_client.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/core/__init__.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/core/attachments/__init__.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/core/attachments/catalog.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/core/attachments/config.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/core/attachments/freeze.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/core/attachments/resolve.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/core/attachments/store.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/core/attachments/text.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/core/attachments/tools.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/core/bootstrap.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/core/config/__init__.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/core/config/realtime_config.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/core/config/runtime_env.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/core/config/settings.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/core/config/validation.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/core/config/yaml_loader.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/core/context/__init__.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/core/context/campaign_context.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/core/context/common.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/core/context/epoch.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/core/context/tool_output_policy.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/core/context/tool_result_ingress.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/core/context/tool_shapers.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/core/hooks/__init__.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/core/knowledge/__init__.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/core/knowledge/captions.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/core/knowledge/chunking.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/core/knowledge/config.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/core/knowledge/embeddings/__init__.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/core/knowledge/embeddings/base.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/core/knowledge/embeddings/factory.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/core/knowledge/embeddings/gemini.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/core/knowledge/embeddings/nvidia.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/core/knowledge/embeddings/openai_compat.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/core/knowledge/embeddings/sanitize.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/core/knowledge/evidence_guard.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/core/knowledge/extractors.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/core/knowledge/fusion.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/core/knowledge/hook.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/core/knowledge/indexer.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/core/knowledge/links.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/core/knowledge/salience.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/core/knowledge/sqlite_index.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/core/knowledge/subsystem.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/core/knowledge/tool.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/core/knowledge/types.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/core/layout.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/core/llm/__init__.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/core/llm/provider.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/core/llm/realtime_provider.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/core/llm/usage.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/core/lockfile_names.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/core/logging_utils.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/core/mcp/__init__.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/core/mcp/mcp_client.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/core/mcp/ports_mcp.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/core/memory/__init__.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/core/memory/config.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/core/memory/hook.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/core/memory/ids.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/core/memory/ingest.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/core/memory/migrate_layout.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/core/memory/observability.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/core/memory/outbox.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/core/memory/palace.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/core/memory/subsystem.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/core/memory/uri.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/core/memory/writer.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/core/messages/__init__.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/core/messages/convert_provider.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/core/messages/tool_integrity.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/core/messages/transform_context.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/core/path_safety.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/core/persistence/__init__.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/core/persistence/backends.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/core/persistence/db.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/core/persistence/durable_runs.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/core/persistence/errors.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/core/persistence/firestore.indexes.json +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/core/persistence/firestore.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/core/persistence/firestore_scheduled_loops.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/core/persistence/history.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/core/persistence/postgres.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/core/persistence/runs.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/core/persistence/scheduled_loops.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/core/persistence/session_turn_locks.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/core/persistence/sqlite.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/core/persistence/sqlite_backend.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/core/persistence/sqlite_vector.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/core/persistence/thread_summary.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/core/persistence/transcript.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/core/persistence/transcript_analyzer.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/core/persistence/usage.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/core/prompts/__init__.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/core/prompts/harness_prompt.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/core/prompts/headings.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/core/prompts/prompt.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/core/runtime/__init__.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/core/runtime/context_budget.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/core/runtime/doom_loop.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/core/runtime/events.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/core/runtime/history_compaction.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/core/runtime/input_admission.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/core/runtime/loop.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/core/runtime/loop_hooks.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/core/runtime/loop_messages.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/core/runtime/loop_ports.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/core/runtime/loop_usage.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/core/runtime/provider_stream_mapper.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/core/runtime/realtime_loop.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/core/runtime/tool_batch.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/core/runtime/tool_dispatch.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/core/runtime/turn_loop.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/core/runtime/utterance_buffer.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/core/subagents/__init__.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/core/subagents/progress_publish.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/core/subagents/subagent_proto.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/core/subagents/subagent_worker.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/core/subagents/worker_pool.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/core/testing/__init__.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/core/testing/mocks_provider.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/core/testing/mocks_realtime_provider.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/core/tools/__init__.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/core/tools/core_tool_executor.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/core/tools/fs_isolation.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/core/tools/inspector.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/core/tools/loop_inspector.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/core/tools/patch.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/core/tools/permission.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/core/tools/sandbox_executor.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/core/tools/spill_inventory.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/core/tools/text_normalize.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/core/tools/tool_hint.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/core/tools/tool_kind.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/core/tools/types.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/core/tools/workspace_service.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/core/types/__init__.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/core/types/content_blocks.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/core/types/interfaces.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/core/types/types_tools.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/core/workspace/__init__.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/core/workspace/factory.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/core/workspace/gcs.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/core/workspace/local.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/core/workspace/protocol.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/core/workspace/s3.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/core/workspace_layout.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/gateway/__init__.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/gateway/bootstrap.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/gateway/main.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/gateway/realtime/__init__.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/gateway/realtime/app.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/gateway/realtime/deps.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/gateway/realtime/errors.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/gateway/realtime/guardrails.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/gateway/realtime/manager.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/gateway/realtime/metrics.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/gateway/realtime/routes.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/gateway/realtime/session.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/gateway/realtime/wire.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/gateway/realtime_main.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/gateway/sse/__init__.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/gateway/sse/app.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/gateway/sse/loop_port.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/gateway/sse/models.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/gateway/sse/reply_body.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/gateway/sse/routes.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/gateway/sse/scheduler_routes.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/gateway/sse/scheduler_wiring.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/gateway/sse/session_bus.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/gateway/sse/sse.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/gateway/sse/workspace_layout.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/observability/__init__.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/observability/_state.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/observability/instrumentation.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/observability/propagation.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/observability/spans.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/observability/sqlite_exporter.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/providers/__init__.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/providers/_openai_compat.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/providers/_utils.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/providers/bedrock.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/providers/claude.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/providers/gemini.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/providers/gemini_live.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/providers/huggingface.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/providers/model_capabilities.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/providers/nvidia.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/providers/ollama.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/providers/openai.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/providers/openrouter.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/providers/pricing.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/providers/sampling.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/providers/vertex_claude.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/scaffold/__init__.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/scheduler/__init__.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/scheduler/__main__.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/scheduler/engine.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/scheduler/http_invoker.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/scheduler/interval.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/scheduler/tick_result.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/scheduler/worker.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/subagents/__init__.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/subagents/worker/__init__.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/subagents/worker/__main__.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/todo_list/__init__.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/todo_list/store.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/todo_list/tool.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/web_search/__init__.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/web_search/backends/__init__.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/web_search/backends/duckduckgo.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/web_search/backends/firecrawl.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/web_search/backends/tavily.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/web_search/protocol.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/src/monkeybot/web_search/tool.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/__init__.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/acceptance/test_observability_acceptance.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/cli/__init__.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/cli/test_gateway_manager.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/cli/test_main.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/cli/test_push_to_talk.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/cli/test_realtime_client.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/conftest.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/core/__init__.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/core/fixtures/bitbucket_dc_style_pr.diff +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/core/memory/helpers.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/core/memory/in_memory_palace.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/core/memory/test_mempalace.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/core/memory/test_review_fixes.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/core/test_agent_layout.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/core/test_attachment_freeze.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/core/test_bootstrap.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/core/test_config_extensions.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/core/test_content_blocks.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/core/test_context.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/core/test_context_budget.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/core/test_context_epoch.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/core/test_core_tool_executor.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/core/test_doom_loop.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/core/test_durable_events.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/core/test_durable_runs.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/core/test_empty_completion.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/core/test_events.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/core/test_evidence_guard.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/core/test_firestore_history.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/core/test_firestore_scheduled_loops.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/core/test_fs_isolation.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/core/test_gemini_history_replay.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/core/test_harness_prompt.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/core/test_history.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/core/test_history_compaction_split.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/core/test_hooks.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/core/test_input_admission.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/core/test_inspector.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/core/test_knowledge_chunking.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/core/test_knowledge_chunking_rank.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/core/test_knowledge_config.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/core/test_knowledge_embeddings.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/core/test_knowledge_fts.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/core/test_knowledge_fusion.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/core/test_knowledge_fusion_ann.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/core/test_knowledge_hook.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/core/test_knowledge_indexer.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/core/test_knowledge_links.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/core/test_knowledge_media.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/core/test_knowledge_salience.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/core/test_knowledge_single_writer.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/core/test_knowledge_subsystem.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/core/test_knowledge_vectors.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/core/test_logging_utils.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/core/test_loop.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/core/test_loop_hooks.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/core/test_loop_observability.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/core/test_loop_transcript.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/core/test_mcp_client.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/core/test_memory_layout_migrate.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/core/test_message_pipeline.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/core/test_mocks_realtime_provider.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/core/test_patch.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/core/test_permission.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/core/test_pricing.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/core/test_progress_publish.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/core/test_prompt.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/core/test_provider_contract.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/core/test_provider_stream_mapper.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/core/test_realtime_loop.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/core/test_replace_fuzzy.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/core/test_run_command_parse.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/core/test_runs.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/core/test_runtime_env.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/core/test_sandbox_executor.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/core/test_scheduled_loops.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/core/test_session_turn_locks.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/core/test_settlement.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/core/test_spill_dynamic.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/core/test_spill_inventory.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/core/test_storage_backends.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/core/test_subagent_proto.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/core/test_subagent_trace_propagation.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/core/test_subagent_worker_paths.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/core/test_thread_summary_wire.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/core/test_tool_def_schema.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/core/test_tool_integrity.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/core/test_tool_result_ingress.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/core/test_tool_shapers.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/core/test_transcript.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/core/test_transcript_analyzer.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/core/test_truncated_tool_batch.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/core/test_usage.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/core/test_usage_migration.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/core/test_utterance_buffer.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/core/test_worker_pool.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/core/test_workspace_layout.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/core/test_workspace_symlinks.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/core/test_workspace_write_scope.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/core/workspace/test_factory.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/core/workspace/test_local_storage.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/core/workspace/test_protocol_contract.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/evals/__init__.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/evals/eval_hook.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/evals/scenario_runner.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/evals/scenarios/context_curation.yaml +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/evals/scenarios/memory_write_inject.yaml +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/evals/scenarios/subagent_roundtrip.yaml +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/evals/scenarios/tool_glob_grep.yaml +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/evals/scenarios/tool_load_file.yaml +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/evals/scenarios/tool_loops.yaml +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/evals/scenarios/tool_read.yaml +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/evals/scenarios/tool_replace_apply_patch.yaml +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/evals/scenarios/tool_run_command.yaml +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/evals/scenarios/tool_search_knowledge.yaml +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/evals/scenarios/tool_search_memory.yaml +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/evals/scenarios/tool_todo_list.yaml +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/evals/scenarios/tool_web_search.yaml +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/evals/scenarios/tool_write.yaml +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/evals/scenarios/turn_completion.yaml +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/evals/test_agent_behavior.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/evals/test_memory_knowledge_routing.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/gateway/__init__.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/gateway/realtime/__init__.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/gateway/realtime/test_app.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/gateway/realtime/test_deps.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/gateway/realtime/test_guardrails.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/gateway/realtime/test_manager.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/gateway/realtime/test_metrics.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/gateway/realtime/test_routes_client_text.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/gateway/realtime/test_session.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/gateway/realtime/test_wire.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/gateway/sse/test_attachments.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/gateway/sse/test_create_session_model.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/gateway/sse/test_routes.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/gateway/sse/test_scheduler_routes.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/gateway/sse/test_session_bus.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/gateway/sse/test_transcript_wiring.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/gateway/test_otel_fastapi.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/gateway/test_otel_lifespan.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/gateway/test_pending_response_endpoints.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/gateway/test_realtime_main.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/gateway/test_resolve_provider.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/gateway/test_sse_events.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/gateway/test_subagent_event_publisher.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/integration/__init__.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/integration/test_mb_e2e_simple_reply.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/integration/test_observability_integration.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/integration/test_prompt_caching_integration.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/observability/conftest.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/observability/test_init.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/observability/test_instrumentation.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/observability/test_loop_hook_spans.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/observability/test_propagation.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/observability/test_span_contract.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/observability/test_spans.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/observability/test_sqlite_exporter.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/observability/test_truncate.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/observability/test_turn_complete_trace.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/providers/conftest.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/providers/test_anthropic_cache.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/providers/test_anthropic_history.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/providers/test_bedrock_estimate.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/providers/test_gemini_live.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/providers/test_gemini_usage.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/providers/test_huggingface.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/providers/test_model_capabilities.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/providers/test_nvidia.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/providers/test_ollama.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/providers/test_openai_compat_usage.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/providers/test_openai_history.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/providers/test_pricing.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/providers/test_safe_parse_tool_args.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/providers/test_sampling.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/providers/test_sonnet5_sampling.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/providers/test_source_grep_gates.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/providers/test_vertex_claude_history.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/scheduler/test_engine.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/scheduler/test_interval.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/skills/__init__.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/skills/test_generate_image_script.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/test_cold_start.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/test_packaging_config.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/test_release_script.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/todo_list/test_todo_list.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/web_search/__init__.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/tests/web_search/test_web_search.py +0 -0
- {monkeybot-3.0.0 → monkeybot-3.0.1}/uv.lock +0 -0
|
@@ -6,6 +6,12 @@ the project adheres to [Semantic Versioning](https://semver.org/).
|
|
|
6
6
|
|
|
7
7
|
## [Unreleased]
|
|
8
8
|
|
|
9
|
+
## [core v3.0.1] - 2026-08-18
|
|
10
|
+
|
|
11
|
+
### Fixed
|
|
12
|
+
|
|
13
|
+
- Host `run_command` no longer fail-closes every command when filesystem isolation is unavailable and none of the memory hidden paths exist on disk (typical in nested Linux containers with memory off). Isolation is still required — and the command still refused — when at least one palace path is present.
|
|
14
|
+
|
|
9
15
|
## [core v3.0.0] - 2026-08-17
|
|
10
16
|
|
|
11
17
|
### Breaking
|
|
@@ -445,7 +445,7 @@ Each section follows: **Purpose** · **Key files** · **How it works** · **Depe
|
|
|
445
445
|
**Invariants:**
|
|
446
446
|
- Chat history is canonical; MemPalace drawers are an idempotent projection.
|
|
447
447
|
- Recall is scoped to the current `thread_id` by default.
|
|
448
|
-
- `memory.enabled: false` (or `MONKEYBOT_MEMORY_HOOK_ENABLED=0`) skips capture, wake-up, and prompt teaching. Host `run_command` children then cannot see palace files: Linux user+mount namespaces or macOS `sandbox-exec` hide those directories. If
|
|
448
|
+
- `memory.enabled: false` (or `MONKEYBOT_MEMORY_HOOK_ENABLED=0`) skips capture, wake-up, and prompt teaching. Host `run_command` children then cannot see palace files: Linux user+mount namespaces or macOS `sandbox-exec` hide those directories. If isolation cannot be established and at least one hidden palace path exists, the command is refused rather than run with palace files visible. If none of the hidden paths exist on disk, the command runs unwrapped (memory was never configured; nothing to hide). OpenSandbox does not mount the palace. The kill switch is not an argv denylist; `bash` remains allowed, and the OS hides the files.
|
|
449
449
|
- Postgres/Firestore persist the memory outbox with replica `palace_id` claim partitioning. Replicated deployments must share a lock-capable palace volume.
|
|
450
450
|
- MemPalace (chromadb / onnxruntime) is the optional `monkeybot[memory]` extra. Missing the extra disables memory instead of failing startup.
|
|
451
451
|
- Subagents can read the palace but do not register duplicate automatic-ingest hooks.
|
|
@@ -403,13 +403,28 @@ class TerminalExecutor:
|
|
|
403
403
|
async def _isolate(self, executable: str, args: list[str]) -> tuple[str, list[str]]:
|
|
404
404
|
"""Wrap argv so hidden paths are absent from the child's filesystem.
|
|
405
405
|
|
|
406
|
-
If this host cannot hide those paths, refuse to exec
|
|
407
|
-
validation is not a sandbox: a shell can
|
|
406
|
+
If this host cannot hide those paths, refuse to exec when any of them
|
|
407
|
+
exist on disk. Argument validation is not a sandbox: a shell can
|
|
408
|
+
build any path at runtime. Missing hidden paths with no isolation
|
|
409
|
+
available means memory was never configured — nothing to hide.
|
|
408
410
|
"""
|
|
409
411
|
if not self._hidden_paths:
|
|
410
412
|
return executable, args
|
|
411
413
|
support = await asyncio.to_thread(isolation_support)
|
|
412
414
|
if not support.available:
|
|
415
|
+
existing = [path for path in self._hidden_paths if path.expanduser().exists()]
|
|
416
|
+
if not existing:
|
|
417
|
+
logger.info(
|
|
418
|
+
"Filesystem isolation is unavailable on this host (%s); "
|
|
419
|
+
"running unwrapped because none of the hidden paths exist "
|
|
420
|
+
"(nothing to hide).",
|
|
421
|
+
support.detail,
|
|
422
|
+
extra={
|
|
423
|
+
"component": "terminal_executor",
|
|
424
|
+
"hidden_paths": [str(path) for path in self._hidden_paths],
|
|
425
|
+
},
|
|
426
|
+
)
|
|
427
|
+
return executable, args
|
|
413
428
|
raise SecurityError(
|
|
414
429
|
"Filesystem isolation is unavailable on this host "
|
|
415
430
|
f"({support.detail}); refusing to run commands while memory "
|
|
@@ -876,18 +876,39 @@ class TestTerminalExecutorIsolationFallback:
|
|
|
876
876
|
|
|
877
877
|
@pytest.mark.asyncio
|
|
878
878
|
async def test_unavailable_isolation_refuses_to_run(self, tmp_path, monkeypatch):
|
|
879
|
+
palace = tmp_path / "memory"
|
|
880
|
+
palace.mkdir()
|
|
879
881
|
monkeypatch.setattr(
|
|
880
882
|
terminal_module,
|
|
881
883
|
"isolation_support",
|
|
882
884
|
lambda: IsolationSupport("none", "probe says no"),
|
|
883
885
|
)
|
|
884
886
|
executor = TerminalExecutor(
|
|
885
|
-
allowed_path_prefixes=[str(tmp_path)], hidden_paths=[
|
|
887
|
+
allowed_path_prefixes=[str(tmp_path)], hidden_paths=[palace]
|
|
886
888
|
)
|
|
887
889
|
|
|
888
890
|
with pytest.raises(SecurityError, match="Filesystem isolation is unavailable"):
|
|
889
891
|
await executor.execute("echo", ["should-not-run"])
|
|
890
892
|
|
|
893
|
+
@pytest.mark.asyncio
|
|
894
|
+
async def test_unavailable_isolation_runs_when_nothing_exists_to_hide(
|
|
895
|
+
self, tmp_path, monkeypatch
|
|
896
|
+
):
|
|
897
|
+
monkeypatch.setattr(
|
|
898
|
+
terminal_module,
|
|
899
|
+
"isolation_support",
|
|
900
|
+
lambda: IsolationSupport("none", "probe says no"),
|
|
901
|
+
)
|
|
902
|
+
executor = TerminalExecutor(
|
|
903
|
+
allowed_path_prefixes=[str(tmp_path)],
|
|
904
|
+
hidden_paths=[tmp_path / "missing-palace"],
|
|
905
|
+
)
|
|
906
|
+
|
|
907
|
+
result = await executor.execute("echo", ["ok-to-run"])
|
|
908
|
+
|
|
909
|
+
assert result.exit_code == 0
|
|
910
|
+
assert "ok-to-run" in result.stdout
|
|
911
|
+
|
|
891
912
|
@pytest.mark.asyncio
|
|
892
913
|
async def test_failed_isolation_setup_raises_security_error(self, tmp_path, monkeypatch):
|
|
893
914
|
def broken_argv(executable, args, hidden_paths, *, support):
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{monkeybot-3.0.0 → monkeybot-3.0.1}/cli/src/monkeybot_cli/scaffold_defaults/browser/SKILL.md
RENAMED
|
File without changes
|
{monkeybot-3.0.0 → monkeybot-3.0.1}/cli/src/monkeybot_cli/scaffold_defaults/command_allowlist.yaml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{monkeybot-3.0.0 → monkeybot-3.0.1}/cli/src/monkeybot_cli/scaffold_defaults/image-generator/SKILL.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{monkeybot-3.0.0 → monkeybot-3.0.1}/cli/src/monkeybot_cli/scaffold_defaults/monkeybot.example.yaml
RENAMED
|
File without changes
|
{monkeybot-3.0.0 → monkeybot-3.0.1}/cli/src/monkeybot_cli/scaffold_defaults/opensandbox.docker.toml
RENAMED
|
File without changes
|
|
File without changes
|
{monkeybot-3.0.0 → monkeybot-3.0.1}/cli/src/monkeybot_cli/scaffold_defaults/permissions.yaml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{monkeybot-3.0.0 → monkeybot-3.0.1}/evals/smoke_agent/monkeybot_config/command_allowlist.yaml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{monkeybot-3.0.0 → monkeybot-3.0.1}/evals/smoke_agent/workspace/skills/browser/playbooks/.gitkeep
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|