synapse-cli-agent 0.1.30__tar.gz → 0.1.31__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.
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/.github/workflows/release.yml +12 -2
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/CHANGELOG.md +13 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/PKG-INFO +8 -6
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/README.md +7 -5
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/pyproject.toml +1 -1
- synapse_cli_agent-0.1.31/release_body.md +12 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/entry.py +4 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/ui/turn/controller.py +127 -28
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/tests/test_turn_controller.py +111 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/uv.lock +1 -1
- synapse_cli_agent-0.1.30/release_body.md +0 -13
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/.dockerignore +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/.github/workflows/ci.yml +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/.github/workflows/docs.yml +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/.github/workflows/native-compression-wheels.yml +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/.github/workflows/native-core-tool-wheels.yml +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/.gitignore +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/.python-version +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/.readthedocs.yaml +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/AGENTS.md +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/Dockerfile.web +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/LICENSE +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/README.zh-CN.md +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/agent-studio-prototype/favicon.svg +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/agent-studio-prototype/index.html +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/agent-studio-prototype/script.js +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/agent-studio-prototype/styles.css +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/agent_upstream.txt +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/assets/demo.gif +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/assets/synapse-logo.svg +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/assets/tui-preview.png +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/cli_upstream.txt +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/debug_compact.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/decode_screenshot.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/docs/agent-development-guide.md +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/docs/agent-runtime-decoupling/baseline-report.md +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/docs/agent-runtime-decoupling/decisions.md +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/docs/agent-runtime-decoupling/index.md +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/docs/agent-runtime-decoupling/migration.md +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/docs/agent-runtime-decoupling/phase-0-baseline.md +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/docs/agent-runtime-decoupling/phase-1-streaming-core.md +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/docs/agent-runtime-decoupling/phase-2-turn-runtime.md +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/docs/agent-runtime-decoupling/phase-3-tui-cutover.md +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/docs/agent-runtime-decoupling/phase-4-session-runtime.md +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/docs/agent-runtime-decoupling/phase-5-multi-session.md +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/docs/agent-runtime-decoupling/phase-6-project-runtime.md +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/docs/agent-runtime-decoupling/phase-7-global-control-plane.md +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/docs/agent-runtime-decoupling/phase-8-hardening.md +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/docs/agent-runtime-decoupling/post-review-fix-plan.md +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/docs/agent-runtime-decoupling/progress.md +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/docs/architecture-flow.md +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/docs/architecture.md +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/docs/cli.md +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/docs/codex-session-discovery-phase-1.md +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/docs/codex-session-import-phase-2.md +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/docs/config.md +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/docs/design.md +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/docs/docker-web.md +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/docs/index.md +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/docs/install.md +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/docs/math-formulas-test.md +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/docs/mcp.md +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/docs/models.md +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/docs/native-compression-core.md +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/docs/native-core-tool.md +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/docs/permissions.md +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/docs/quickstart.md +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/docs/sessions.md +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/docs/skills.md +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/docs/smith_output.md +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/docs/subagent-architecture-survey.md +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/docs/tool-output-transform.md +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/docs/tui-cursor-refactor.md +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/docs/tutorial.md +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/docs/x-agent-development-guide.md +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/examples/mcp.example.json +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/examples/models.example.json +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/examples/settings.example.json +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/middleware_upstream.txt +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/mkdocs.yml +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/rust/synapse-core-tool/Cargo.lock +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/rust/synapse-core-tool/Cargo.toml +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/rust/synapse-core-tool/LICENSE +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/rust/synapse-core-tool/NOTICE +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/rust/synapse-core-tool/README.md +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/rust/synapse-core-tool/pyproject.toml +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/rust/synapse-core-tool/python/synapse_core_tool/__init__.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/rust/synapse-core-tool/src/file_access.rs +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/rust/synapse-core-tool/src/file_tools.rs +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/rust/synapse-core-tool/src/lib.rs +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/rust/synapse-core-tool/src/math_render.rs +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/rust/synapse-core-tool/src/search.rs +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/rust/synapse-core-tool/uv.lock +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/rust/synapse-tool-compress-core/Cargo.lock +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/rust/synapse-tool-compress-core/Cargo.toml +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/rust/synapse-tool-compress-core/LICENSE +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/rust/synapse-tool-compress-core/NOTICE +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/rust/synapse-tool-compress-core/README.md +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/rust/synapse-tool-compress-core/pyproject.toml +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/rust/synapse-tool-compress-core/python/synapse_tool_compress_core/__init__.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/rust/synapse-tool-compress-core/src/headroom_port/ccr.rs +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/rust/synapse-tool-compress-core/src/headroom_port/ccr_in_memory.rs +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/rust/synapse-tool-compress-core/src/headroom_port/mod.rs +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/rust/synapse-tool-compress-core/src/headroom_port/relevance/base.rs +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/rust/synapse-tool-compress-core/src/headroom_port/relevance/bm25.rs +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/rust/synapse-tool-compress-core/src/headroom_port/signals/keyword_detector.rs +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/rust/synapse-tool-compress-core/src/headroom_port/signals/line_importance.rs +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/rust/synapse-tool-compress-core/src/headroom_port/transforms/adaptive_sizer.rs +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/rust/synapse-tool-compress-core/src/headroom_port/transforms/anchor_selector.rs +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/rust/synapse-tool-compress-core/src/headroom_port/transforms/code_compressor.rs +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/rust/synapse-tool-compress-core/src/headroom_port/transforms/diff_compressor.rs +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/rust/synapse-tool-compress-core/src/headroom_port/transforms/log_compressor.rs +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/rust/synapse-tool-compress-core/src/headroom_port/transforms/search_compressor.rs +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/rust/synapse-tool-compress-core/src/headroom_port/transforms/smart_crusher/analyzer.rs +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/rust/synapse-tool-compress-core/src/headroom_port/transforms/smart_crusher/anchors.rs +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/rust/synapse-tool-compress-core/src/headroom_port/transforms/smart_crusher/builder.rs +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/rust/synapse-tool-compress-core/src/headroom_port/transforms/smart_crusher/classifier.rs +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/rust/synapse-tool-compress-core/src/headroom_port/transforms/smart_crusher/compaction/classifier.rs +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/rust/synapse-tool-compress-core/src/headroom_port/transforms/smart_crusher/compaction/compactor.rs +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/rust/synapse-tool-compress-core/src/headroom_port/transforms/smart_crusher/compaction/formatter.rs +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/rust/synapse-tool-compress-core/src/headroom_port/transforms/smart_crusher/compaction/ir.rs +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/rust/synapse-tool-compress-core/src/headroom_port/transforms/smart_crusher/compaction/mod.rs +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/rust/synapse-tool-compress-core/src/headroom_port/transforms/smart_crusher/compaction/walker.rs +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/rust/synapse-tool-compress-core/src/headroom_port/transforms/smart_crusher/config.rs +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/rust/synapse-tool-compress-core/src/headroom_port/transforms/smart_crusher/constraints.rs +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/rust/synapse-tool-compress-core/src/headroom_port/transforms/smart_crusher/crusher.rs +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/rust/synapse-tool-compress-core/src/headroom_port/transforms/smart_crusher/crushers.rs +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/rust/synapse-tool-compress-core/src/headroom_port/transforms/smart_crusher/error_keywords.rs +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/rust/synapse-tool-compress-core/src/headroom_port/transforms/smart_crusher/field_detect.rs +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/rust/synapse-tool-compress-core/src/headroom_port/transforms/smart_crusher/hashing.rs +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/rust/synapse-tool-compress-core/src/headroom_port/transforms/smart_crusher/mod.rs +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/rust/synapse-tool-compress-core/src/headroom_port/transforms/smart_crusher/observer.rs +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/rust/synapse-tool-compress-core/src/headroom_port/transforms/smart_crusher/orchestration.rs +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/rust/synapse-tool-compress-core/src/headroom_port/transforms/smart_crusher/outliers.rs +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/rust/synapse-tool-compress-core/src/headroom_port/transforms/smart_crusher/planning.rs +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/rust/synapse-tool-compress-core/src/headroom_port/transforms/smart_crusher/statistics.rs +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/rust/synapse-tool-compress-core/src/headroom_port/transforms/smart_crusher/stats_math.rs +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/rust/synapse-tool-compress-core/src/headroom_port/transforms/smart_crusher/traits.rs +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/rust/synapse-tool-compress-core/src/headroom_port/transforms/smart_crusher/types.rs +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/rust/synapse-tool-compress-core/src/lib.rs +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/scripts/install.ps1 +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/scripts/release.ps1 +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/scripts/serve_web.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/slash_cmds_upstream.txt +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/__init__.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/__main__.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/app/__init__.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/app/agent.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/app/agent_assembly.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/app/agent_md.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/cli.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/commands/__init__.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/commands/compression.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/commands/goal.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/commands/helpers.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/commands/mcp.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/commands/model.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/commands/result.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/commands/sessions.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/commands/slash_cmds.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/commands/slash_complete.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/commands/theme.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/config.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/content/__init__.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/content/input_history.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/content/multimodal.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/content/prompts.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/content/skills_catalog.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/goals/__init__.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/goals/middleware.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/goals/model.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/goals/runtime.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/goals/steering.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/goals/store.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/goals/tools.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/integrations/__init__.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/integrations/checkpoint_seed.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/integrations/codex_history.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/integrations/codex_import.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/integrations/codex_sessions.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/integrations/describe_image.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/integrations/http_clients.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/integrations/llm_openai_compat.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/integrations/llm_openai_websocket.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/integrations/mcp_client.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/integrations/openai_oauth.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/integrations/openai_oauth_middleware.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/integrations/openai_usage.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/integrations/vision_middleware.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/memory/__init__.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/memory/auto_recorder.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/memory/embedder.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/memory/long_term.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/models/__init__.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/models/config.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/models/helpers.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/models/profile.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/models/registry.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/models_registry.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/observability/__init__.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/observability/debug_inspector.html +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/observability/debug_server.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/observability/exit_trace.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/observability/heap_dump.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/observability/llm_debug.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/observability/startup_trace.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/parallel_subagents.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/planner/__init__.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/planner/task_planner.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/projects/__init__.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/projects/catalog.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/rag/__init__.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/rag/knowledge_base.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/runtime/__init__.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/runtime/agent_loop/__init__.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/runtime/agent_loop/model.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/runtime/agent_loop/request.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/runtime/agent_loop/turn.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/runtime/async_runtime.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/runtime/backends.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/runtime/cancellation.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/runtime/context_compact.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/runtime/debug_capture_middleware.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/runtime/execute_capture.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/runtime/filesystem_tool_prompt_middleware.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/runtime/fs_permissions.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/runtime/harness.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/runtime/hitl.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/runtime/interaction_ledger.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/runtime/middleware.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/runtime/model_request_compression_middleware.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/runtime/pathing.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/runtime/projects/__init__.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/runtime/projects/identity.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/runtime/projects/runtime.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/runtime/safety.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/runtime/session_prewarm.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/runtime/sessions/__init__.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/runtime/sessions/events.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/runtime/sessions/manager.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/runtime/sessions/persistence.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/runtime/sessions/ref.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/runtime/sessions/runtime.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/runtime/steer.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/runtime/streaming/__init__.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/runtime/streaming/accumulator.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/runtime/streaming/adapters.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/runtime/streaming/events.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/runtime/streaming/parser.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/runtime/streaming/protocol.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/runtime/streaming/runtime.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/runtime/streaming/stream_events.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/runtime/streaming/tool_model.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/runtime/subagent_routing.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/runtime/subagents.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/runtime/timeline.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/runtime/token_rate.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/runtime/tool_ignore.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/runtime/tool_output_eval.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/runtime/tool_output_middleware.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/runtime/tool_output_usage_middleware.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/runtime/tool_response_truncate_middleware.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/sessions/__init__.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/sessions/cancel_repair.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/sessions/search_index.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/sessions/store.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/sessions/summary.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/sessions/transcript.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/sessions/transcript_migration.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/sessions/transcript_projection.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/settings/__init__.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/settings/config_paths.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/settings/schema.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/subagent_monitor.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/subagents.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/tool_output/__init__.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/tool_output/detection.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/tool_output/metrics.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/tool_output/models.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/tool_output/pipeline.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/tool_output/repository.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/tool_output/transformers.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/tools/__init__.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/tools/describe_image.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/tools/filesystem_patch.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/tools/filesystem_search.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/tools/session_tools.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/ui/__init__.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/ui/agent_lifecycle.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/ui/answer_divider.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/ui/bottombar/__init__.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/ui/bottombar/components/__init__.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/ui/bottombar/components/codex_usage.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/ui/bottombar/components/fast.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/ui/bottombar/components/goal.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/ui/bottombar/components/key_hints.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/ui/bottombar/components/mcp.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/ui/bottombar/components/mode.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/ui/bottombar/components/model.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/ui/bottombar/components/thread.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/ui/bottombar/context.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/ui/bottombar/core.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/ui/chrome/__init__.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/ui/chrome/controller.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/ui/clipboard.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/ui/dialogs/__init__.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/ui/dialogs/active_session_switcher.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/ui/dialogs/base.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/ui/dialogs/codex_reset.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/ui/dialogs/codex_session_list.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/ui/dialogs/compression_diagnostics.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/ui/dialogs/controller.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/ui/dialogs/git_explore.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/ui/dialogs/mcp_panel.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/ui/dialogs/model_picker.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/ui/dialogs/safety_panel.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/ui/dialogs/session_list.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/ui/dialogs/subagent_monitor.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/ui/dialogs/theme_designer.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/ui/dialogs/theme_picker.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/ui/drawer.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/ui/formatters.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/ui/git_explore/__init__.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/ui/git_explore/engine.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/ui/git_explore/provider.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/ui/git_explore/unified.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/ui/image_preview.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/ui/image_render.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/ui/image_viewer.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/ui/math_image.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/ui/mermaid_image.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/ui/prompt_controller.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/ui/rendering.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/ui/selectable_static.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/ui/selectable_text.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/ui/sink.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/ui/status_controller.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/ui/steer_controller.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/ui/steer_widget.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/ui/stream.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/ui/stream_events.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/ui/stream_runtime.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/ui/subagent_status_bar.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/ui/textual_lifecycle.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/ui/textual_stream_sink.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/ui/theme.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/ui/theme_controller.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/ui/timeline.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/ui/tool_blocks.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/ui/topbar/__init__.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/ui/topbar/components/__init__.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/ui/topbar/components/branch.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/ui/topbar/components/title.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/ui/topbar/components/tool_output.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/ui/topbar/components/usage.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/ui/topbar/components/workspace.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/ui/topbar/context.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/ui/topbar/core.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/ui/topbar/git_changes_popover.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/ui/topbar/git_chrome.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/ui/topbar/tool_output_popover.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/ui/topbar/widget.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/ui/transcript/__init__.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/ui/transcript/controller.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/ui/transcript/factory.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/ui/transcript/history.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/ui/transcript/state.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/ui/transcript_blocks.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/ui/tui.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/ui/tui_launch.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/ui/tui_styles.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/ui/turn/__init__.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/ui/turn/event_bridge.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/ui/turn/event_renderer.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/ui/turn/persistence.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/ui/turn/request.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/ui/turn_rail.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/ui/turn_rail_widgets.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/ui/user_turn.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/ui/user_turn_block.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/ui/welcome.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/src/synapse/web.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/synapse.cmd +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/tests/__init__.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/tests/fixtures/agent_stream/core_scenarios.json +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/tests/fixtures/codex_rollouts/duplicate_response_item.jsonl +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/tests/fixtures/codex_rollouts/incomplete_and_aborted.jsonl +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/tests/fixtures/codex_rollouts/legacy_compaction.jsonl +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/tests/fixtures/codex_rollouts/normal_completed.jsonl +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/tests/fixtures/codex_rollouts/replacement_history.jsonl +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/tests/fixtures/codex_rollouts/rollback.jsonl +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/tests/fixtures/codex_rollouts/unsupported_replacement.jsonl +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/tests/fixtures/sample_repo/calculator.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/tests/fixtures/sample_repo/test_calculator.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/tests/fixtures/tool_output_eval.json +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/tests/test.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/tests/test_agent_factory.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/tests/test_agent_lifecycle.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/tests/test_agent_turn_runtime.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/tests/test_async_checkpointer.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/tests/test_backends.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/tests/test_bottombar_registry.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/tests/test_cancel_repair.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/tests/test_capabilities.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/tests/test_checkpoint_seed.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/tests/test_chrome_controller.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/tests/test_cli.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/tests/test_cli_codex_import.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/tests/test_codex_history.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/tests/test_codex_import.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/tests/test_codex_sessions.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/tests/test_codex_sessions_windows.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/tests/test_compact_tool_descriptions.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/tests/test_config.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/tests/test_context_compact.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/tests/test_context_window.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/tests/test_dag_parallel.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/tests/test_debug_capture_middleware.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/tests/test_debug_inspector.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/tests/test_describe_image.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/tests/test_dialogs.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/tests/test_entry.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/tests/test_filesystem_patch_tool.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/tests/test_filesystem_search_tools.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/tests/test_git_changes_popover.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/tests/test_git_chrome.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/tests/test_git_explore.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/tests/test_goal_live_tui.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/tests/test_goals.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/tests/test_heap_dump.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/tests/test_http_clients.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/tests/test_image_render.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/tests/test_image_viewer.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/tests/test_input_history.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/tests/test_iteration_abc.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/tests/test_layered_config.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/tests/test_math_image_render.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/tests/test_mcp_schema.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/tests/test_mermaid_image.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/tests/test_mermaid_render.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/tests/test_middleware_async.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/tests/test_model_request_compression_middleware.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/tests/test_model_retry.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/tests/test_multimodal.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/tests/test_native_math_render.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/tests/test_openai_compat_reasoning.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/tests/test_openai_oauth.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/tests/test_openai_oauth_middleware.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/tests/test_openai_usage.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/tests/test_openai_websocket.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/tests/test_pathing.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/tests/test_project_catalog.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/tests/test_project_drawer.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/tests/test_project_runtime.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/tests/test_project_switch.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/tests/test_prompt_controller.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/tests/test_prompts.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/tests/test_runtime_hardening.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/tests/test_runtime_manager.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/tests/test_runtime_streaming.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/tests/test_safety.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/tests/test_search_index.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/tests/test_session_prewarm.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/tests/test_session_runtime.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/tests/test_session_store.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/tests/test_session_summary.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/tests/test_slash_and_mcp.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/tests/test_slash_complete.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/tests/test_slash_effects.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/tests/test_startup_defer.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/tests/test_startup_trace.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/tests/test_steer.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/tests/test_steer_controller.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/tests/test_stream_cancel.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/tests/test_stream_semantic_fixtures.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/tests/test_stream_tool_items.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/tests/test_stream_ui.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/tests/test_subagent_monitor_dialog.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/tests/test_subagent_status.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/tests/test_textual_stream_sink.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/tests/test_theme.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/tests/test_theme_controller.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/tests/test_timeline.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/tests/test_token_rate.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/tests/test_tool_ignore.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/tests/test_tool_intent.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/tests/test_tool_output.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/tests/test_tool_output_eval.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/tests/test_tool_output_slash.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/tests/test_tool_output_usage_middleware.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/tests/test_tool_response_truncate_middleware.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/tests/test_topbar_context_ratio.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/tests/test_topbar_registry.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/tests/test_transcript.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/tests/test_transcript_controller.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/tests/test_transcript_history.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/tests/test_transcript_history_controller.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/tests/test_transcript_migration.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/tests/test_transcript_projection.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/tests/test_tui_active_session_switcher.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/tests/test_tui_codex_import.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/tests/test_tui_selection.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/tests/test_turn_event_renderer.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/tests/test_turn_rail_minimap.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/tests/test_turn_request.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/tests/test_usage_restore.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/tests/test_user_turn_style.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/tests/test_welcome.py +0 -0
- {synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/tests/tool_output_plugin_fixture.py +0 -0
|
@@ -63,14 +63,17 @@ jobs:
|
|
|
63
63
|
- name: windows
|
|
64
64
|
os: windows-latest
|
|
65
65
|
artifact: executable-windows
|
|
66
|
+
binname: synapse-windows-x64.exe
|
|
66
67
|
# macOS executables target Apple Silicon only; Intel macOS is unsupported
|
|
67
68
|
# (matches the native-core-tool wheels matrix).
|
|
68
69
|
- name: macos
|
|
69
70
|
os: macos-latest
|
|
70
71
|
artifact: executable-macos
|
|
72
|
+
binname: synapse-macos-arm64
|
|
71
73
|
- name: linux
|
|
72
74
|
os: ubuntu-latest
|
|
73
75
|
artifact: executable-linux
|
|
76
|
+
binname: synapse-linux-x64
|
|
74
77
|
steps:
|
|
75
78
|
- uses: actions/checkout@v4
|
|
76
79
|
|
|
@@ -100,15 +103,22 @@ jobs:
|
|
|
100
103
|
--collect-all texicode `
|
|
101
104
|
src/synapse/entry.py
|
|
102
105
|
|
|
106
|
+
- name: Rename executable for artifact
|
|
107
|
+
shell: pwsh
|
|
108
|
+
run: |
|
|
109
|
+
$ext = if ($env:RUNNER_OS -eq 'Windows') { '.exe' } else { '' }
|
|
110
|
+
Rename-Item "dist/synapse$ext" "dist/${{ matrix.binname }}"
|
|
111
|
+
Write-Host "Renamed to ${{ matrix.binname }}"
|
|
112
|
+
|
|
103
113
|
- name: Fix executable permission (Unix)
|
|
104
114
|
if: runner.os != 'Windows'
|
|
105
|
-
run: chmod +x dist
|
|
115
|
+
run: chmod +x "dist/${{ matrix.binname }}"
|
|
106
116
|
|
|
107
117
|
- name: Upload executable artifact
|
|
108
118
|
uses: actions/upload-artifact@v4
|
|
109
119
|
with:
|
|
110
120
|
name: ${{ matrix.artifact }}
|
|
111
|
-
path: dist
|
|
121
|
+
path: dist/${{ matrix.binname }}
|
|
112
122
|
if-no-files-found: error
|
|
113
123
|
|
|
114
124
|
release:
|
|
@@ -8,6 +8,19 @@ All entries are written in English.
|
|
|
8
8
|
|
|
9
9
|
---
|
|
10
10
|
|
|
11
|
+
## v0.1.31
|
|
12
|
+
|
|
13
|
+
### New Features
|
|
14
|
+
|
|
15
|
+
- The `Ctrl+O` / `Ctrl+Tab` recent-sessions switcher now lists the most recently changed sessions across every registered project (from the user-layer catalog) instead of current-project history only, and marks each row's live runtime status (`running` / `queued` / `idle` / `cold`, etc.). Sessions without an in-process runtime are shown as cold history, and the list degrades gracefully to the legacy view when the catalog is unavailable.
|
|
16
|
+
|
|
17
|
+
### Bug Fixes
|
|
18
|
+
|
|
19
|
+
- Fixed the standalone Windows executable exiting immediately after launch: the PyInstaller entry script only defined `main()` without invoking it, so the packaged binary ran the top-level code and quit. `synapse.entry` now has an `if __name__ == "__main__"` guard and the packaged executable runs the CLI correctly.
|
|
20
|
+
- Fixed the release executable assets: the Linux and macOS binaries shared the same filename (`synapse`) and overwrote each other when merged into the release. Each platform is now uploaded under a distinct name: `synapse-windows-x64.exe`, `synapse-macos-arm64`, and `synapse-linux-x64`.
|
|
21
|
+
|
|
22
|
+
---
|
|
23
|
+
|
|
11
24
|
## v0.1.30
|
|
12
25
|
|
|
13
26
|
### New Features
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: synapse-cli-agent
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.31
|
|
4
4
|
Summary: Local coding agent built on LangChain Deep Agents (LocalShell, no sandbox)
|
|
5
5
|
Project-URL: Homepage, https://github.com/alex8224/synapse-agent
|
|
6
6
|
Project-URL: Repository, https://github.com/alex8224/synapse-agent
|
|
@@ -286,11 +286,13 @@ floating project drawer: it lists every registered project, groups their
|
|
|
286
286
|
sessions, marks live runtime status, and lets you switch sessions in place or
|
|
287
287
|
jump to another project (the TUI restarts into that project).
|
|
288
288
|
|
|
289
|
-
Press `Ctrl+Tab` for a
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
289
|
+
Press `Ctrl+Tab` for a global recent-sessions switcher: it lists the most
|
|
290
|
+
recently changed sessions across every registered project (from the user-layer
|
|
291
|
+
catalog), marks each one's live runtime status — `running` / `queued` /
|
|
292
|
+
`idle` / `cold`, etc. — lets you `Tab` / `Shift+Tab` through them and `Enter`
|
|
293
|
+
to switch. The old session keeps running in the background and is never
|
|
294
|
+
cancelled. Some terminals never forward `Ctrl+Tab` to the app; `Ctrl+O` is a
|
|
295
|
+
drop-in alternative.
|
|
294
296
|
|
|
295
297
|
<details>
|
|
296
298
|
<summary><b>Or run from source</b></summary>
|
|
@@ -55,11 +55,13 @@ floating project drawer: it lists every registered project, groups their
|
|
|
55
55
|
sessions, marks live runtime status, and lets you switch sessions in place or
|
|
56
56
|
jump to another project (the TUI restarts into that project).
|
|
57
57
|
|
|
58
|
-
Press `Ctrl+Tab` for a
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
58
|
+
Press `Ctrl+Tab` for a global recent-sessions switcher: it lists the most
|
|
59
|
+
recently changed sessions across every registered project (from the user-layer
|
|
60
|
+
catalog), marks each one's live runtime status — `running` / `queued` /
|
|
61
|
+
`idle` / `cold`, etc. — lets you `Tab` / `Shift+Tab` through them and `Enter`
|
|
62
|
+
to switch. The old session keeps running in the background and is never
|
|
63
|
+
cancelled. Some terminals never forward `Ctrl+Tab` to the app; `Ctrl+O` is a
|
|
64
|
+
drop-in alternative.
|
|
63
65
|
|
|
64
66
|
<details>
|
|
65
67
|
<summary><b>Or run from source</b></summary>
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
## v0.1.31
|
|
2
|
+
|
|
3
|
+
### New Features
|
|
4
|
+
|
|
5
|
+
- The `Ctrl+O` / `Ctrl+Tab` recent-sessions switcher now lists the most recently changed sessions across every registered project (from the user-layer catalog) instead of current-project history only, and marks each row's live runtime status (`running` / `queued` / `idle` / `cold`, etc.). Sessions without an in-process runtime are shown as cold history, and the list degrades gracefully to the legacy view when the catalog is unavailable.
|
|
6
|
+
|
|
7
|
+
### Bug Fixes
|
|
8
|
+
|
|
9
|
+
- Fixed the standalone Windows executable exiting immediately after launch: the PyInstaller entry script only defined `main()` without invoking it, so the packaged binary ran the top-level code and quit. `synapse.entry` now has an `if __name__ == "__main__"` guard and the packaged executable runs the CLI correctly.
|
|
10
|
+
- Fixed the release executable assets: the Linux and macOS binaries shared the same filename (`synapse`) and overwrote each other when merged into the release. Each platform is now uploaded under a distinct name: `synapse-windows-x64.exe`, `synapse-macos-arm64`, and `synapse-linux-x64`.
|
|
11
|
+
|
|
12
|
+
---
|
|
@@ -354,44 +354,143 @@ class TurnController:
|
|
|
354
354
|
return by_project
|
|
355
355
|
|
|
356
356
|
def active_session_items(self) -> tuple[ActiveSessionItem, ...]:
|
|
357
|
-
"""Snapshot of the 10 most recently
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
357
|
+
"""Snapshot of the 10 most recently changed sessions, globally.
|
|
358
|
+
|
|
359
|
+
Primary source is the user-layer ``ProjectCatalog`` projection: it
|
|
360
|
+
lists every registered project's sessions ordered by ``updated_at``
|
|
361
|
+
(cross-project), so the switcher is a *global* recent-changes list
|
|
362
|
+
rather than current-project history. Each row is then annotated with
|
|
363
|
+
its live runtime status:
|
|
364
|
+
|
|
365
|
+
- a session with an in-process runtime uses the runtime snapshot's
|
|
366
|
+
real status and ``last_activity_at`` (running / queued / idle / …);
|
|
367
|
+
- a session with no runtime in this process is marked ``COLD`` and
|
|
368
|
+
ordered by its persisted ``updated_at``.
|
|
369
|
+
|
|
370
|
+
Runtimes that the catalog has not projected yet (e.g. an active turn
|
|
371
|
+
that has not persisted) are appended so working sessions never vanish
|
|
372
|
+
from the list. When the catalog is unavailable (disabled or not yet
|
|
373
|
+
ready) this degrades to the legacy view: cross-project in-process
|
|
374
|
+
runtimes plus the current project's persisted cold history. Rows are
|
|
375
|
+
capped at ``MAX_RECENT_SESSION_ITEMS``.
|
|
373
376
|
"""
|
|
377
|
+
runtimes = self._runtime_index()
|
|
378
|
+
current = self._app.thread_id
|
|
379
|
+
catalog = getattr(self._app, "_project_catalog", None)
|
|
380
|
+
if catalog is not None:
|
|
381
|
+
try:
|
|
382
|
+
sessions = catalog.list_sessions(
|
|
383
|
+
limit=MAX_RECENT_SESSION_ITEMS * 3
|
|
384
|
+
)
|
|
385
|
+
except Exception: # noqa: BLE001 - catalog is best-effort
|
|
386
|
+
sessions = None
|
|
387
|
+
if sessions is not None:
|
|
388
|
+
return self._merge_global_items(sessions, runtimes, current)
|
|
389
|
+
return self._legacy_recent_items(runtimes, current)
|
|
390
|
+
|
|
391
|
+
def _runtime_index(self) -> dict[str, SessionRuntime]:
|
|
392
|
+
"""thread_id -> runtime across projects; the registry wins on clashes."""
|
|
374
393
|
runtimes: dict[str, SessionRuntime] = {}
|
|
375
394
|
for runtime in self._project_registry.all_sessions():
|
|
376
395
|
runtimes[runtime.thread_id] = runtime
|
|
377
396
|
for runtime in tuple(self._sessions.values()):
|
|
378
397
|
runtimes.setdefault(runtime.thread_id, runtime)
|
|
398
|
+
return runtimes
|
|
379
399
|
|
|
380
|
-
|
|
400
|
+
def _merge_global_items(
|
|
401
|
+
self,
|
|
402
|
+
sessions: list[Any],
|
|
403
|
+
runtimes: dict[str, SessionRuntime],
|
|
404
|
+
current: str,
|
|
405
|
+
) -> tuple[ActiveSessionItem, ...]:
|
|
406
|
+
"""Merge global catalog rows with live runtimes into one ordered list."""
|
|
381
407
|
items: list[ActiveSessionItem] = []
|
|
408
|
+
covered: set[tuple[str, str]] = set()
|
|
409
|
+
for cs in sessions:
|
|
410
|
+
runtime = self._runtime_for_session(cs, runtimes)
|
|
411
|
+
if runtime is not None:
|
|
412
|
+
snapshot = runtime.snapshot()
|
|
413
|
+
title = self._active_session_title(runtime, snapshot)
|
|
414
|
+
if title == snapshot.thread_id[:8] and (cs.title or "").strip():
|
|
415
|
+
# Prefer the catalog title over the bare id fallback.
|
|
416
|
+
title = (cs.title or "").strip()[:120]
|
|
417
|
+
items.append(
|
|
418
|
+
ActiveSessionItem(
|
|
419
|
+
project_id=cs.project_id,
|
|
420
|
+
thread_id=cs.thread_id,
|
|
421
|
+
title=title,
|
|
422
|
+
project_label=cs.project_name or self._project_label(runtime),
|
|
423
|
+
status=snapshot.status,
|
|
424
|
+
last_activity_at=snapshot.last_activity_at,
|
|
425
|
+
current=cs.thread_id == current,
|
|
426
|
+
)
|
|
427
|
+
)
|
|
428
|
+
else:
|
|
429
|
+
updated = _parse_stored_timestamp(cs.updated_at)
|
|
430
|
+
if updated is None:
|
|
431
|
+
continue
|
|
432
|
+
items.append(
|
|
433
|
+
ActiveSessionItem(
|
|
434
|
+
project_id=cs.project_id,
|
|
435
|
+
thread_id=cs.thread_id,
|
|
436
|
+
title=(cs.title or "").strip()[:120] or cs.thread_id[:8],
|
|
437
|
+
project_label=cs.project_name or cs.project_id[:8],
|
|
438
|
+
status=SessionStatus.COLD,
|
|
439
|
+
last_activity_at=updated,
|
|
440
|
+
current=False,
|
|
441
|
+
)
|
|
442
|
+
)
|
|
443
|
+
covered.add((cs.project_id, cs.thread_id))
|
|
444
|
+
# Append runtimes the catalog has not projected yet (active, unpersisted).
|
|
382
445
|
for runtime in runtimes.values():
|
|
383
446
|
snapshot = runtime.snapshot()
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
447
|
+
key = (snapshot.project_id, snapshot.thread_id)
|
|
448
|
+
if key in covered:
|
|
449
|
+
continue
|
|
450
|
+
items.append(self._item_from_runtime(runtime, snapshot, current))
|
|
451
|
+
items.sort(key=lambda item: item.last_activity_at, reverse=True)
|
|
452
|
+
return tuple(items[:MAX_RECENT_SESSION_ITEMS])
|
|
453
|
+
|
|
454
|
+
@staticmethod
|
|
455
|
+
def _runtime_for_session(cs: Any, runtimes: dict[str, SessionRuntime]) -> SessionRuntime | None:
|
|
456
|
+
"""Exact ``(project_id, thread_id)`` match, then unique thread fallback."""
|
|
457
|
+
matches = [r for r in runtimes.values() if r.thread_id == cs.thread_id]
|
|
458
|
+
for runtime in matches:
|
|
459
|
+
if str(getattr(runtime, "project_id", "") or "") == cs.project_id:
|
|
460
|
+
return runtime
|
|
461
|
+
return matches[0] if len(matches) == 1 else None
|
|
462
|
+
|
|
463
|
+
def _item_from_runtime(
|
|
464
|
+
self,
|
|
465
|
+
runtime: SessionRuntime,
|
|
466
|
+
snapshot: Any,
|
|
467
|
+
current: str,
|
|
468
|
+
) -> ActiveSessionItem:
|
|
469
|
+
"""Build a switcher row straight from one live runtime snapshot."""
|
|
470
|
+
return ActiveSessionItem(
|
|
471
|
+
project_id=snapshot.project_id,
|
|
472
|
+
thread_id=snapshot.thread_id,
|
|
473
|
+
title=self._active_session_title(runtime, snapshot),
|
|
474
|
+
project_label=self._project_label(runtime),
|
|
475
|
+
status=snapshot.status,
|
|
476
|
+
last_activity_at=snapshot.last_activity_at,
|
|
477
|
+
current=snapshot.thread_id == current,
|
|
478
|
+
)
|
|
479
|
+
|
|
480
|
+
def _legacy_recent_items(
|
|
481
|
+
self,
|
|
482
|
+
runtimes: dict[str, SessionRuntime],
|
|
483
|
+
current: str,
|
|
484
|
+
) -> tuple[ActiveSessionItem, ...]:
|
|
485
|
+
"""Fallback when the global catalog is unavailable.
|
|
486
|
+
|
|
487
|
+
Cross-project in-process runtimes plus the current project's persisted
|
|
488
|
+
cold history (the pre-catalog behavior).
|
|
489
|
+
"""
|
|
490
|
+
items: list[ActiveSessionItem] = []
|
|
491
|
+
for runtime in runtimes.values():
|
|
492
|
+
snapshot = runtime.snapshot()
|
|
493
|
+
items.append(self._item_from_runtime(runtime, snapshot, current))
|
|
395
494
|
items.extend(self._stored_recent_items(current))
|
|
396
495
|
items.sort(key=lambda item: item.last_activity_at, reverse=True)
|
|
397
496
|
return tuple(items[:MAX_RECENT_SESSION_ITEMS])
|
|
@@ -1363,6 +1363,117 @@ class TestActiveSessionItems:
|
|
|
1363
1363
|
|
|
1364
1364
|
assert controller.active_session_items() == ()
|
|
1365
1365
|
|
|
1366
|
+
def test_global_catalog_cold_sessions_across_projects(self) -> None:
|
|
1367
|
+
from synapse.projects.catalog import CatalogSession
|
|
1368
|
+
|
|
1369
|
+
controller = self._controller()
|
|
1370
|
+
controller._app._project_catalog = SimpleNamespace(
|
|
1371
|
+
list_sessions=lambda *, limit=200: [
|
|
1372
|
+
CatalogSession(
|
|
1373
|
+
project_id="pa", project_name="proj-a",
|
|
1374
|
+
workspace_path="/ws/a", thread_id="ca",
|
|
1375
|
+
title="cold a", model=None, summary=None,
|
|
1376
|
+
updated_at="2025-01-01T00:00:03+00:00",
|
|
1377
|
+
created_at="2025-01-01T00:00:00+00:00", tags=[],
|
|
1378
|
+
),
|
|
1379
|
+
CatalogSession(
|
|
1380
|
+
project_id="pb", project_name="proj-b",
|
|
1381
|
+
workspace_path="/ws/b", thread_id="cb",
|
|
1382
|
+
title="cold b", model=None, summary=None,
|
|
1383
|
+
updated_at="2025-01-01T00:00:01+00:00",
|
|
1384
|
+
created_at="2025-01-01T00:00:00+00:00", tags=[],
|
|
1385
|
+
),
|
|
1386
|
+
]
|
|
1387
|
+
)
|
|
1388
|
+
|
|
1389
|
+
items = controller.active_session_items()
|
|
1390
|
+
by_id = {item.thread_id: item for item in items}
|
|
1391
|
+
assert set(by_id) == {"ca", "cb"}
|
|
1392
|
+
assert by_id["ca"].status == SessionStatus.COLD
|
|
1393
|
+
assert by_id["ca"].project_id == "pa"
|
|
1394
|
+
assert by_id["ca"].project_label == "proj-a"
|
|
1395
|
+
assert by_id["ca"].title == "cold a"
|
|
1396
|
+
assert by_id["ca"].current is False
|
|
1397
|
+
# Sorted by persisted updated_at, newest first.
|
|
1398
|
+
assert [item.thread_id for item in items] == ["ca", "cb"]
|
|
1399
|
+
|
|
1400
|
+
def test_runtime_status_overrides_catalog_row(self) -> None:
|
|
1401
|
+
from synapse.projects.catalog import CatalogSession
|
|
1402
|
+
|
|
1403
|
+
controller = self._controller()
|
|
1404
|
+
controller._sessions["live"] = self._runtime(
|
|
1405
|
+
controller,
|
|
1406
|
+
thread_id="live",
|
|
1407
|
+
project_id="pa",
|
|
1408
|
+
status=SessionStatus.RUNNING,
|
|
1409
|
+
activity=1.0,
|
|
1410
|
+
workspace="proj-a",
|
|
1411
|
+
)
|
|
1412
|
+
controller._app._project_catalog = SimpleNamespace(
|
|
1413
|
+
list_sessions=lambda *, limit=200: [
|
|
1414
|
+
CatalogSession(
|
|
1415
|
+
project_id="pa", project_name="proj-a",
|
|
1416
|
+
workspace_path="/ws/a", thread_id="live",
|
|
1417
|
+
title="catalog title", model=None, summary=None,
|
|
1418
|
+
updated_at="2025-01-01T00:00:00+00:00",
|
|
1419
|
+
created_at="2025-01-01T00:00:00+00:00", tags=[],
|
|
1420
|
+
),
|
|
1421
|
+
CatalogSession(
|
|
1422
|
+
project_id="pb", project_name="proj-b",
|
|
1423
|
+
workspace_path="/ws/b", thread_id="cold",
|
|
1424
|
+
title="cold b", model=None, summary=None,
|
|
1425
|
+
updated_at="2025-01-01T00:00:01+00:00",
|
|
1426
|
+
created_at="2025-01-01T00:00:00+00:00", tags=[],
|
|
1427
|
+
),
|
|
1428
|
+
]
|
|
1429
|
+
)
|
|
1430
|
+
|
|
1431
|
+
items = controller.active_session_items()
|
|
1432
|
+
by_id = {item.thread_id: item for item in items}
|
|
1433
|
+
# Runtime snapshot status wins over the catalog projection.
|
|
1434
|
+
assert by_id["live"].status == SessionStatus.RUNNING
|
|
1435
|
+
assert by_id["cold"].status == SessionStatus.COLD
|
|
1436
|
+
# Live runtime (now - 1s) sorts before the cold 2025 row.
|
|
1437
|
+
assert [item.thread_id for item in items] == ["live", "cold"]
|
|
1438
|
+
|
|
1439
|
+
def test_runtime_not_in_catalog_is_appended(self) -> None:
|
|
1440
|
+
controller = self._controller()
|
|
1441
|
+
controller._sessions["active"] = self._runtime(
|
|
1442
|
+
controller,
|
|
1443
|
+
thread_id="active",
|
|
1444
|
+
project_id="pa",
|
|
1445
|
+
status=SessionStatus.RUNNING,
|
|
1446
|
+
activity=1.0,
|
|
1447
|
+
)
|
|
1448
|
+
# Catalog has no projection yet (active turn not persisted).
|
|
1449
|
+
controller._app._project_catalog = SimpleNamespace(
|
|
1450
|
+
list_sessions=lambda *, limit=200: []
|
|
1451
|
+
)
|
|
1452
|
+
|
|
1453
|
+
items = controller.active_session_items()
|
|
1454
|
+
assert [item.thread_id for item in items] == ["active"]
|
|
1455
|
+
assert items[0].status == SessionStatus.RUNNING
|
|
1456
|
+
|
|
1457
|
+
def test_catalog_failure_falls_back_to_legacy(self) -> None:
|
|
1458
|
+
def _boom(**kwargs: Any) -> list[Any]:
|
|
1459
|
+
del kwargs
|
|
1460
|
+
raise RuntimeError("db locked")
|
|
1461
|
+
|
|
1462
|
+
controller = self._controller()
|
|
1463
|
+
controller._sessions["a"] = self._runtime(
|
|
1464
|
+
controller,
|
|
1465
|
+
thread_id="a",
|
|
1466
|
+
project_id="p1",
|
|
1467
|
+
status=SessionStatus.RUNNING,
|
|
1468
|
+
activity=1.0,
|
|
1469
|
+
)
|
|
1470
|
+
controller._app._project_catalog = SimpleNamespace(list_sessions=_boom)
|
|
1471
|
+
|
|
1472
|
+
# Legacy fallback: live runtime survives, no exception leaks.
|
|
1473
|
+
items = controller.active_session_items()
|
|
1474
|
+
assert [item.thread_id for item in items] == ["a"]
|
|
1475
|
+
assert items[0].status == SessionStatus.RUNNING
|
|
1476
|
+
|
|
1366
1477
|
|
|
1367
1478
|
def test_current_flag_marks_attached_thread(self) -> None:
|
|
1368
1479
|
controller = self._controller()
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
## v0.1.30
|
|
2
|
-
|
|
3
|
-
### New Features
|
|
4
|
-
|
|
5
|
-
- TUI startup timing trace: the startup report now covers the full CLI module-tree import (typer, settings, stream modules) that previously fell outside the trace, making startup bottlenecks visible.
|
|
6
|
-
- Faster TUI startup: the model registry prewarm is optimized so the interface appears sooner.
|
|
7
|
-
|
|
8
|
-
### Engineering
|
|
9
|
-
|
|
10
|
-
- Release workflow now builds standalone single-file executables for Windows, Linux, and macOS (PyInstaller) and attaches them to the GitHub Release; the GitHub Release creation was moved to a dedicated job that waits for both the Python distributions and the executables, while PyPI publishing stays independent.
|
|
11
|
-
- Translated AGENTS.md and CHANGELOG.md to English; updated the README homepage demo media with an animated GIF and an mp4 fallback source.
|
|
12
|
-
|
|
13
|
-
---
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/.github/workflows/native-core-tool-wheels.yml
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
|
{synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/docs/agent-runtime-decoupling/decisions.md
RENAMED
|
File without changes
|
{synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/docs/agent-runtime-decoupling/index.md
RENAMED
|
File without changes
|
{synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/docs/agent-runtime-decoupling/migration.md
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
|
{synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/docs/agent-runtime-decoupling/progress.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{synapse_cli_agent-0.1.30 → synapse_cli_agent-0.1.31}/docs/codex-session-discovery-phase-1.md
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
|