alysis-code 0.13.8__tar.gz → 0.14.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.
- {alysis_code-0.13.8 → alysis_code-0.14.1}/.gitignore +5 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/PKG-INFO +14 -12
- {alysis_code-0.13.8 → alysis_code-0.14.1}/README.md +9 -9
- {alysis_code-0.13.8 → alysis_code-0.14.1}/docs/CHANGELOG.md +52 -2
- {alysis_code-0.13.8 → alysis_code-0.14.1}/pyproject.toml +5 -3
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/__init__.py +1 -1
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/_build_info.py +3 -1
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/account_login.py +8 -6
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/agent/README.md +5 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/agent/acceptance_contract.py +437 -46
- alysis_code-0.14.1/src/alysis_code/agent/anytime_checkpoint.py +506 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/agent/blast_radius.py +495 -52
- alysis_code-0.14.1/src/alysis_code/agent/checkpoint_worker.py +180 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/agent/completion_certificate.py +20 -1
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/agent/completion_gate.py +40 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/agent/llm_calls.py +116 -43
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/agent/prompt_context.py +783 -273
- alysis_code-0.14.1/src/alysis_code/agent/prompt_families.py +169 -0
- alysis_code-0.14.1/src/alysis_code/agent/prompt_guidance.py +179 -0
- alysis_code-0.14.1/src/alysis_code/agent/read_ledger.py +449 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/agent/regression_baseline.py +46 -7
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/agent/sensitive_output.py +19 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/agent/session.py +626 -148
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/agent/subagent_execution.py +1595 -266
- alysis_code-0.14.1/src/alysis_code/agent/subagent_workspace.py +1435 -0
- alysis_code-0.14.1/src/alysis_code/agent/task_evidence.py +215 -0
- alysis_code-0.14.1/src/alysis_code/agent/task_state.py +1263 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/agent/tools_assembly.py +579 -174
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/agent/turn/__init__.py +5 -5
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/agent/turn/core.py +1828 -978
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/agent/turn/exploration.py +80 -7
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/agent/turn/read_cache.py +97 -54
- alysis_code-0.14.1/src/alysis_code/agent/turn/subagent_progress.py +1132 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/agent/turn_path.py +75 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/agent/verification.py +1097 -192
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/agent/verification_commands.py +193 -41
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/agent/verification_evidence.py +58 -6
- alysis_code-0.14.1/src/alysis_code/agent/verification_result.py +58 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/agent_loop.py +97 -17
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/agent_runtimes/codex_cli.py +4 -3
- alysis_code-0.14.1/src/alysis_code/agentbox_client.py +416 -0
- alysis_code-0.14.1/src/alysis_code/agentbox_integration.py +310 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/approval_scope.py +81 -0
- alysis_code-0.14.1/src/alysis_code/assets/local_tools.py +309 -0
- alysis_code-0.14.1/src/alysis_code/assets/owl/index.html +98 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/budget_policy.py +5 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/build_identity.py +121 -7
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/cancellation.py +35 -11
- alysis_code-0.14.1/src/alysis_code/checkpoint_settings.py +22 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/cli_impl/chat/commands.py +78 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/cli_impl/chat/loop.py +255 -91
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/cli_impl/chat/mid_turn_policy.py +2 -1
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/cli_impl/chat/state.py +5 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/cli_impl/chat_resume.py +15 -1
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/cli_impl/chat_slash_completer.py +14 -2
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/cli_impl/commands/chat_resume_helpers.py +231 -3
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/cli_impl/commands/cli_common.py +3 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/cli_impl/commands/forge.py +2 -1
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/cli_impl/commands/prompt_helpers.py +32 -4
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/cli_impl/commands/root.py +15 -19
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/cli_impl/commands/welcome.py +34 -26
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/cli_impl/config_menu.py +124 -73
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/cli_impl/forge.py +24 -6
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/cli_impl/setup_wizard.py +17 -8
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/cli_impl/tui/app.py +743 -85
- alysis_code-0.14.1/src/alysis_code/cli_impl/tui/attachments.py +557 -0
- alysis_code-0.14.1/src/alysis_code/cli_impl/tui/composer.py +335 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/cli_impl/tui/config_flow.py +30 -18
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/cli_impl/tui/config_overlay.py +14 -7
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/cli_impl/tui/content.py +67 -1
- alysis_code-0.14.1/src/alysis_code/cli_impl/tui/links.py +339 -0
- alysis_code-0.14.1/src/alysis_code/cli_impl/tui/markdown.py +396 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/cli_impl/tui/owl.py +16 -1
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/cli_impl/tui/setup_flow.py +1 -1
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/cli_impl/tui/subagent_identity.py +1 -1
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/cli_impl/tui/surface.py +114 -30
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/cli_impl/tui/transcript.py +26 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/cli_impl/tui/workspace_guard.py +121 -11
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/compaction/conversation_compactor.py +304 -5
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/compaction/tool_output_offload.py +21 -112
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/config.py +319 -15
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/conflict_auto_resolver.py +10 -2
- alysis_code-0.14.1/src/alysis_code/consumer_verification.py +626 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/durable_service_manager.py +607 -63
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/execution_budget.py +3 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/execution_context.py +78 -115
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/execution_deadline.py +59 -5
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/execution_shared.py +113 -110
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/git_evidence.py +198 -0
- alysis_code-0.14.1/src/alysis_code/git_safe.py +111 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/host_browser.py +13 -7
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/integration_gate.py +10 -1
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/internal_artifacts.py +43 -3
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/llm/anthropic_messages.py +62 -6
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/llm/cache_capabilities.py +12 -1
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/llm/cache_policy.py +9 -1
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/llm/factory.py +50 -7
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/llm/gemini_generate_content.py +43 -9
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/llm/gemini_interactions.py +9 -2
- alysis_code-0.14.1/src/alysis_code/llm/http_cancellation.py +509 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/llm/metadata.py +27 -4
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/llm/openai_compat.py +366 -76
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/llm/openai_responses.py +97 -16
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/llm/protocols.py +25 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/llm/provider_limits.py +88 -12
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/llm/request_plan.py +71 -1
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/llm/temperature_compat.py +9 -0
- alysis_code-0.14.1/src/alysis_code/llm/tool_call_markup.py +95 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/managed_host_deadline.py +89 -1
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/mcp/transport_stdio.py +15 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/model_catalog/chatgpt_codex_subscription_snapshot.json +106 -23
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/model_registry.py +312 -32
- alysis_code-0.14.1/src/alysis_code/private_artifact_io.py +117 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/process_reaping.py +14 -3
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/profile_presets.py +322 -249
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/profiles.py +13 -0
- alysis_code-0.14.1/src/alysis_code/prompt_guidance_catalog.py +298 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/provider_auth/base.py +5 -1
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/provider_auth/openai_codex.py +60 -15
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/provider_diagnostics.py +16 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/provider_telemetry.py +185 -33
- alysis_code-0.14.1/src/alysis_code/provider_url.py +140 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/reasoning_contracts.py +98 -17
- alysis_code-0.14.1/src/alysis_code/run_outcome.py +201 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/run_provenance.py +18 -1
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/sandbox_doctor.py +46 -10
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/sandbox_runner.py +110 -2
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/sandbox_settings.py +13 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/server/app.py +1 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/server/worker_runner.py +35 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/service_persistence.py +21 -1
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/session_artifacts.py +80 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/session_metrics.py +7 -1
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/session_store.py +468 -13
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/skills/README.md +2 -2
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/skills/__init__.py +0 -22
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/skills/eval_models.py +7 -3
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/skills/evals.py +14 -2
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/skills/prompting.py +3 -2
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/step_budget.py +1 -1
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/subagents.py +174 -55
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/surface/rich_surface.py +87 -45
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/surface/types.py +32 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/swarm_orchestrator.py +14 -2
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/swarm_trace.py +10 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/swarm_worker.py +122 -37
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/terminal_manager.py +16 -14
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/tools/artifacts.py +48 -12
- alysis_code-0.14.1/src/alysis_code/tools/availability.py +348 -0
- alysis_code-0.14.1/src/alysis_code/tools/capability_readiness.py +74 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/tools/fs.py +216 -81
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/tools/git.py +3 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/tools/registry.py +337 -104
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/tools/symbols.py +115 -21
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/tools/test_discovery.py +27 -27
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/tools/web.py +196 -35
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/transport_retry.py +9 -6
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/verification_command_analysis.py +7 -8
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/verification_contract.py +7 -3
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/verification_repair.py +8 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/verify_gate.py +90 -16
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/web_research.py +76 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/workspace_isolation.py +5 -3
- alysis_code-0.13.8/src/alysis_code/agent/read_ledger.py +0 -253
- alysis_code-0.13.8/src/alysis_code/agent/subagent_workspace.py +0 -666
- alysis_code-0.13.8/src/alysis_code/cli_impl/tui/markdown.py +0 -244
- alysis_code-0.13.8/src/alysis_code/git_safe.py +0 -62
- alysis_code-0.13.8/src/alysis_code/provider_url.py +0 -75
- alysis_code-0.13.8/src/alysis_code/run_outcome.py +0 -58
- alysis_code-0.13.8/src/alysis_code/skills/selection.py +0 -226
- alysis_code-0.13.8/src/alysis_code/tools/availability.py +0 -188
- {alysis_code-0.13.8 → alysis_code-0.14.1}/LICENSE +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/NOTICE +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/__main__.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/agent/__init__.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/agent/cache_keepalive.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/agent/empty_response_stall.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/agent/errors.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/agent/mutation_classification.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/agent/reproduction_first.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/agent/steering.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/agent/turn/events.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/agent/turn/interventions.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/agent/turn/snapshot.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/agent/turn_contract.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/agent_runtimes/__init__.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/agent_runtimes/base.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/agent_runtimes/builtins.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/agent_runtimes/host.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/agent_runtimes/registry.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/agent_runtimes/service.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/alysis_cloud.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/assets/README.md +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/assets/__init__.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/assets/asset_read_core.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/assets/budget_allocator.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/assets/comprehender.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/assets/index.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/assets/ingestion.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/assets/legacy_migration.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/assets/models.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/assets/ocr.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/assets/owl/ascii/f-000.txt +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/assets/owl/ascii/f-001.txt +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/assets/owl/ascii/f-002.txt +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/assets/owl/ascii/f-003.txt +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/assets/owl/ascii/f-004.txt +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/assets/owl/ascii/f-005.txt +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/assets/owl/ascii/f-006.txt +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/assets/owl/ascii/f-007.txt +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/assets/owl/ascii/f-008.txt +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/assets/owl/ascii/f-009.txt +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/assets/owl/ascii/f-010.txt +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/assets/owl/ascii/f-011.txt +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/assets/owl/ascii/f-012.txt +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/assets/owl/ascii/f-013.txt +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/assets/owl/ascii/f-014.txt +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/assets/owl/ascii/f-015.txt +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/assets/owl/ascii/f-016.txt +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/assets/owl/ascii/f-017.txt +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/assets/owl/ascii/f-018.txt +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/assets/owl/ascii/f-019.txt +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/assets/owl/ascii/f-020.txt +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/assets/owl/show-owl.sh +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/assets/paths.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/assets/plan_binding.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/assets/planner_context.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/assets/planner_tools.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/assets/prompts.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/assets/replanner_context.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/assets/surface.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/assets/untrusted_content.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/assets/usage_logger.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/assets/worker_mirror.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/assets/worker_section.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/assets/worker_tools.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/atomic_io.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/auth_diagnostics.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/background_runner.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/branding.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/builtin_hooks/__init__.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/builtin_hooks/notify_done_windows.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/bwrap_etc.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/capabilities.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/chatgpt_codex_static_provider.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/cli.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/cli_impl/__init__.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/cli_impl/assets_cli.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/cli_impl/assets_modal.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/cli_impl/chat/__init__.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/cli_impl/chat/forge_visibility.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/cli_impl/chat/rendering.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/cli_impl/commands/__init__.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/cli_impl/commands/_shared.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/cli_impl/commands/auth.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/cli_impl/commands/chat_state.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/cli_impl/commands/chat_status.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/cli_impl/commands/chat_terminal.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/cli_impl/commands/chat_tui_panels.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/cli_impl/commands/cli_surface.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/cli_impl/commands/config.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/cli_impl/commands/conventions.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/cli_impl/commands/execution_helpers.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/cli_impl/commands/extensions.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/cli_impl/commands/forge_asset_view.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/cli_impl/commands/forge_helpers.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/cli_impl/commands/hooks.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/cli_impl/commands/ide_bridge.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/cli_impl/commands/mcp.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/cli_impl/commands/profile.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/cli_impl/commands/report.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/cli_impl/commands/sandbox.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/cli_impl/commands/server.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/cli_impl/commands/sessions.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/cli_impl/commands/skills.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/cli_impl/commands/startup.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/cli_impl/commands/tools.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/cli_impl/commands/update.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/cli_impl/forge_recovery.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/cli_impl/tui/__init__.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/cli_impl/tui/config.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/cli_impl/tui/footer.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/cli_impl/tui/forge_status.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/cli_impl/tui/plan_meta.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/cli_impl/tui/selection_bindings.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/cli_impl/tui/setup_app.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/cli_impl/tui/state.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/cli_impl/tui/subagent_panel.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/cli_impl/tui/tips.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/cli_impl/tui/update_prompt.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/clipboard.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/code_review.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/compaction/__init__.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/compaction/importance.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/compaction/settings.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/context/__init__.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/context/tool_schema_budgeter.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/crash_diagnostics.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/custom_tools/README.md +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/custom_tools/__init__.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/custom_tools/discovery.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/custom_tools/runtime.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/custom_tools/session.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/custom_tools/trust.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/diff_paths.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/direction_change.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/dispatch_timing.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/edit_discipline.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/error_text.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/extensions/README.md +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/extensions/__init__.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/extensions/activation.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/extensions/install.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/extensions/manifest.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/extensions/models.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/extensions/paths.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/extensions/registry.json +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/extensions/registry.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/extensions/state.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/extensions/workspace_trust.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/failed_task_evidence.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/failure_category.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/feedback_report.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/file_classification.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/forge.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/forge_completion.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/forge_events.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/frontmatter_utils.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/git_ops.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/git_worktrees.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/hooks/README.md +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/hooks/__init__.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/hooks/audit.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/hooks/config.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/hooks/dispatcher.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/hooks/models.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/hooks/trust.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/host_actions.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/ide/__init__.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/ide/activity_events.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/ide/approvals.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/ide/artifacts.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/ide/browser_egress_proxy.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/ide/cdp_websocket_transport.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/ide/change_ledger.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/ide/context_blocks.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/ide/event_stream.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/ide/forge_protocol.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/ide/forge_request_ledger.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/ide/health.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/ide/managed_browser.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/ide/management_protocol.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/ide/mcp_oauth_coordinator.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/ide/mcp_oauth_lifecycle.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/ide/prompt_queue.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/ide/protocol.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/ide/resumable_swarm.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/ide/session_search.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/ide/stdio_bridge.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/ide/structured_state.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/ide/swarm_protocol.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/interactive_input_guard.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/knowledge_base.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/knowledge_capture.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/knowledge_librarian.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/language_policy.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/litellm_static_provider.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/llm/__init__.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/llm/base.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/llm/cache_control_blocks.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/llm/request_shape.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/llm/streaming.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/llm/types.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/llm/usage_normalization.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/llm_error_display.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/logging_redaction.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/mcp/README.md +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/mcp/__init__.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/mcp/client.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/mcp/config.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/mcp/errors.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/mcp/forge_scope.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/mcp/jsonrpc.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/mcp/manager.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/mcp/models.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/mcp/oauth.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/mcp/oauth_runtime.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/mcp/oauth_store.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/mcp/prompts.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/mcp/resources.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/mcp/roots.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/mcp/server_requests.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/mcp/token_store.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/mcp/transport_http.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/mcp/untrusted_content.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/merge_conflict_reviewer.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/model_catalog/__init__.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/model_catalog/litellm_model_prices_snapshot.json +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/model_catalog/litellm_model_prices_snapshot.meta.json +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/model_metadata_policy.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/model_metadata_utils.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/model_router.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/permission_policy.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/personas.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/pipeline_facts.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/plan_assistant.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/plan_reconciliation.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/plan_repair.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/plan_validation.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/planning_constraints.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/policy.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/preview_server.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/provider_auth/__init__.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/provider_auth/registry.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/provider_auth/store.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/provider_model_catalog.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/remote_sync.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/replanning.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/repo_scan.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/request_estimation.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/review_gate.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/run_lock.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/run_state.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/runtime_artifacts.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/runtime_context_features.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/runtime_kind.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/safety/__init__.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/safety/mcp_sanitize.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/safety/safe_http.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/safety/subagent_report.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/serialized_paths.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/server/__init__.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/server/auth.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/server/job_config.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/server/settings.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/server/store.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/skills/bundled/address-pr-comments/SKILL.md +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/skills/bundled/code-review/SKILL.md +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/skills/bundled/commit/SKILL.md +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/skills/bundled/debug/SKILL.md +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/skills/bundled/fix-ci/SKILL.md +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/skills/bundled/release-notes/SKILL.md +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/skills/bundled/security-review/SKILL.md +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/skills/bundled/skill-creator/SKILL.md +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/skills/conventions.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/skills/discovery.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/skills/eval_runner.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/skills/install.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/skills/loader.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/skills/matching.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/skills/models.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/skills/paths.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/skills/scaffold.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/skills/state.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/skills/transactions.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/skills/validation.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/subagent_labels.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/surface/__init__.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/surface/base.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/surface/console.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/surface/events.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/surface/hidden_surface.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/surface/noop_surface.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/surface/styles.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/surface/theme.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/swarm_backend.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/swarm_scheduler.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/swarm_write_guard.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/task_dependencies.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/task_readiness.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/task_scope.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/terminal_ownership.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/text_normalization.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/token_budget.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/tools/README.md +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/tools/__init__.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/tools/history.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/tools/http_timeout.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/tools/image_generation.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/tools/repo_map.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/tools/search.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/tools/shell.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/tools/web_search.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/tools/web_search_dashscope.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/tools/web_search_ddgs.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/tools/web_search_provider_adapters.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/tools/web_search_tavily.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/updates.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/usage_tracker.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/verification_failure_summary.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/web_search_adapters.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/web_search_policy.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/workspace_binding.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/workspace_binding_ui.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/workspace_context.py +0 -0
- {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/workspace_provisioning.py +0 -0
|
@@ -14,6 +14,7 @@ venv/
|
|
|
14
14
|
|
|
15
15
|
# Tooling
|
|
16
16
|
.dev/
|
|
17
|
+
.worktrees/
|
|
17
18
|
.pytest_cache/
|
|
18
19
|
.pytest-*/
|
|
19
20
|
.ruff_cache/
|
|
@@ -45,6 +46,10 @@ extensions/*/out/
|
|
|
45
46
|
extensions/*/*.vsix
|
|
46
47
|
|
|
47
48
|
# Local review/context bundles
|
|
49
|
+
# Retired internal report directories, regardless of artifact format.
|
|
50
|
+
/docs/internal/
|
|
51
|
+
/docs/subagents/
|
|
52
|
+
/docs/tooling/
|
|
48
53
|
*_context_review.zip
|
|
49
54
|
owner-scoping.patch
|
|
50
55
|
alysis_ecs.tar.gz
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: alysis-code
|
|
3
|
-
Version: 0.
|
|
4
|
-
Summary:
|
|
3
|
+
Version: 0.14.1
|
|
4
|
+
Summary: Local CLI coding agent powered by any API.
|
|
5
5
|
Project-URL: Changelog, https://github.com/AlysisAi/alysis-code/blob/main/docs/CHANGELOG.md
|
|
6
6
|
Project-URL: Documentation, https://github.com/AlysisAi/alysis-code/tree/main/docs
|
|
7
7
|
Project-URL: Funding, https://github.com/sponsors/AlysisAi
|
|
@@ -25,17 +25,19 @@ Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
|
|
|
25
25
|
Classifier: Topic :: Software Development
|
|
26
26
|
Classifier: Topic :: Utilities
|
|
27
27
|
Requires-Python: >=3.11
|
|
28
|
+
Requires-Dist: anyio>=4.14.2
|
|
28
29
|
Requires-Dist: click>=8.0.0
|
|
29
30
|
Requires-Dist: cryptography>=50.0.0
|
|
30
31
|
Requires-Dist: ddgs>=9.0.0
|
|
31
|
-
Requires-Dist: h2>=4.4.1
|
|
32
32
|
Requires-Dist: httpcore<2.0.0,>=1.0.0
|
|
33
33
|
Requires-Dist: httpx>=0.27.0
|
|
34
34
|
Requires-Dist: keyring>=25.0.0
|
|
35
|
+
Requires-Dist: markdown-it-py<5.0.0,>=4.2.0
|
|
35
36
|
Requires-Dist: packaging>=23.0
|
|
36
37
|
Requires-Dist: pillow>=12.3.0
|
|
37
38
|
Requires-Dist: platformdirs>=4.2.0
|
|
38
39
|
Requires-Dist: prompt-toolkit>=3.0.43
|
|
40
|
+
Requires-Dist: psutil<8.0,>=7.2.2
|
|
39
41
|
Requires-Dist: pydantic>=2.6.0
|
|
40
42
|
Requires-Dist: pygments<3.0.0,>=2.17.0
|
|
41
43
|
Requires-Dist: rich>=13.7.1
|
|
@@ -148,18 +150,18 @@ Shell and verification commands default to strict sandboxing. Verification can r
|
|
|
148
150
|
sandbox only when explicitly configured with `verify_sandbox.mode="off"` or
|
|
149
151
|
`ALYSIS_VERIFY_SANDBOX_MODE=off`.
|
|
150
152
|
|
|
151
|
-
##
|
|
153
|
+
## Permissions & Personas
|
|
152
154
|
|
|
153
155
|
Two layers control what the agent may do — one enforces, one focuses.
|
|
154
156
|
|
|
155
|
-
**
|
|
156
|
-
|
|
157
|
-
`alysis-code config set default_mode <mode>`. A selection
|
|
158
|
-
|
|
157
|
+
**Permissions** are the enforcement layer. Choose one per command with `--mode`, select the next
|
|
158
|
+
message's level in chat with `/permissions` or **Shift+Tab**, or set a default with
|
|
159
|
+
`alysis-code config set default_mode <mode>`. A selection takes effect when the next user message
|
|
160
|
+
starts; it does not change a turn already running:
|
|
159
161
|
|
|
160
162
|
| Mode | Behavior |
|
|
161
163
|
| --- | --- |
|
|
162
|
-
| `readonly` | Inspection only — no file writes, shell, MCP, or
|
|
164
|
+
| `readonly` | Inspection plus top-level read-only delegation — no file writes, shell, MCP, candidate apply/discard, or nested delegation. |
|
|
163
165
|
| `review` | The safe default — previews and asks before every write and shell command. |
|
|
164
166
|
| `auto` | Applies routine edits with fewer prompts; dangerous operations stay blocked. |
|
|
165
167
|
| `fullaccess` | No mode-level prompts for trusted workspaces — the denylist and audit log stay active. |
|
|
@@ -179,8 +181,8 @@ never raise it. Define your own in `.alysis_personas/*.md`.
|
|
|
179
181
|
[Learn more](https://alysiscode.com/docs/concepts/personas)
|
|
180
182
|
|
|
181
183
|
Use `/persona architect` for planning in chat, or `/forge` for a plan-driven execution workflow.
|
|
182
|
-
The
|
|
183
|
-
|
|
184
|
+
The former chat `/plan` commands have been removed; Forge retains its plan views and editor.
|
|
185
|
+
Persona changes made during a running turn apply after that turn finishes.
|
|
184
186
|
|
|
185
187
|
## Project Links
|
|
186
188
|
|
|
@@ -215,4 +217,4 @@ More questions? See the [full FAQ](https://alysiscode.com/docs/faq).
|
|
|
215
217
|
|
|
216
218
|
---
|
|
217
219
|
|
|
218
|
-
**Join the community** — [X](https://x.com/alysiscode) | [GitHub Issues](
|
|
220
|
+
**Join the community** — [X](https://x.com/alysiscode) | [GitHub Issues](https://github.com/AlysisAi/alysis-code/issues)
|
|
@@ -89,18 +89,18 @@ Shell and verification commands default to strict sandboxing. Verification can r
|
|
|
89
89
|
sandbox only when explicitly configured with `verify_sandbox.mode="off"` or
|
|
90
90
|
`ALYSIS_VERIFY_SANDBOX_MODE=off`.
|
|
91
91
|
|
|
92
|
-
##
|
|
92
|
+
## Permissions & Personas
|
|
93
93
|
|
|
94
94
|
Two layers control what the agent may do — one enforces, one focuses.
|
|
95
95
|
|
|
96
|
-
**
|
|
97
|
-
|
|
98
|
-
`alysis-code config set default_mode <mode>`. A selection
|
|
99
|
-
|
|
96
|
+
**Permissions** are the enforcement layer. Choose one per command with `--mode`, select the next
|
|
97
|
+
message's level in chat with `/permissions` or **Shift+Tab**, or set a default with
|
|
98
|
+
`alysis-code config set default_mode <mode>`. A selection takes effect when the next user message
|
|
99
|
+
starts; it does not change a turn already running:
|
|
100
100
|
|
|
101
101
|
| Mode | Behavior |
|
|
102
102
|
| --- | --- |
|
|
103
|
-
| `readonly` | Inspection only — no file writes, shell, MCP, or
|
|
103
|
+
| `readonly` | Inspection plus top-level read-only delegation — no file writes, shell, MCP, candidate apply/discard, or nested delegation. |
|
|
104
104
|
| `review` | The safe default — previews and asks before every write and shell command. |
|
|
105
105
|
| `auto` | Applies routine edits with fewer prompts; dangerous operations stay blocked. |
|
|
106
106
|
| `fullaccess` | No mode-level prompts for trusted workspaces — the denylist and audit log stay active. |
|
|
@@ -120,8 +120,8 @@ never raise it. Define your own in `.alysis_personas/*.md`.
|
|
|
120
120
|
[Learn more](https://alysiscode.com/docs/concepts/personas)
|
|
121
121
|
|
|
122
122
|
Use `/persona architect` for planning in chat, or `/forge` for a plan-driven execution workflow.
|
|
123
|
-
The
|
|
124
|
-
|
|
123
|
+
The former chat `/plan` commands have been removed; Forge retains its plan views and editor.
|
|
124
|
+
Persona changes made during a running turn apply after that turn finishes.
|
|
125
125
|
|
|
126
126
|
## Project Links
|
|
127
127
|
|
|
@@ -156,4 +156,4 @@ More questions? See the [full FAQ](https://alysiscode.com/docs/faq).
|
|
|
156
156
|
|
|
157
157
|
---
|
|
158
158
|
|
|
159
|
-
**Join the community** — [X](https://x.com/alysiscode) | [GitHub Issues](
|
|
159
|
+
**Join the community** — [X](https://x.com/alysiscode) | [GitHub Issues](https://github.com/AlysisAi/alysis-code/issues)
|
|
@@ -6,7 +6,55 @@ Notable user-facing changes to Alysis Code are recorded here. This project follo
|
|
|
6
6
|
|
|
7
7
|
## [Unreleased]
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
## [0.14.1] - 2026-09-25
|
|
10
|
+
|
|
11
|
+
### Added
|
|
12
|
+
|
|
13
|
+
- Add GPT-6 Luna to the Alysis Code account model picker, with hosted Responses
|
|
14
|
+
routing, configurable reasoning, and stateless function-tool continuation.
|
|
15
|
+
Luna uses the account's shared credit allowance alongside the Flash models.
|
|
16
|
+
|
|
17
|
+
### Fixed
|
|
18
|
+
|
|
19
|
+
- Rebuild the correct chat and compactor transports when switching between hosted
|
|
20
|
+
Luna and Flash models during a conversation, while preserving the session on a
|
|
21
|
+
failed switch.
|
|
22
|
+
- Keep hosted web search as a function tool and show the gateway's capacity,
|
|
23
|
+
request, and credit-limit reasons instead of a generic rate-limit message.
|
|
24
|
+
|
|
25
|
+
## [0.14.0] - 2026-09-24
|
|
26
|
+
|
|
27
|
+
### Added
|
|
28
|
+
|
|
29
|
+
- Add GPT-6 Sol and GPT-6 Luna to the OpenAI API and ChatGPT subscription model
|
|
30
|
+
choices, with pricing, context limits, and reasoning settings. Subscription
|
|
31
|
+
availability follows the live account catalog.
|
|
32
|
+
- Add Claude Opus 5.5 to Anthropic and OpenRouter, Grok 4.7 to xAI and OpenRouter,
|
|
33
|
+
Mistral's hosted GLM 5.3, and current OpenRouter model routes.
|
|
34
|
+
- Show DeepSeek V4.1 Flash and GLM 5.3 Flash as hosted account model choices.
|
|
35
|
+
- Add `/objective` commands to inspect, replace, and amend the current task across
|
|
36
|
+
retries and resumed sessions.
|
|
37
|
+
- Allow a configurable set of public package registries for `web_fetch` while
|
|
38
|
+
retaining URL and network safety checks.
|
|
39
|
+
|
|
40
|
+
### Changed
|
|
41
|
+
|
|
42
|
+
- Show clearer model names in setup and move the request timeout control to
|
|
43
|
+
Advanced settings.
|
|
44
|
+
- Improve subagent scheduling, task evidence, and verification reporting.
|
|
45
|
+
|
|
46
|
+
### Fixed
|
|
47
|
+
|
|
48
|
+
- Suppress unexecuted tool-call markup in replies, retry once with structured
|
|
49
|
+
tool calls, and report a failure if the model repeats the malformed output.
|
|
50
|
+
- Require AnyIO 4.14.2 or newer in the HTTP runtime dependency set.
|
|
51
|
+
- Keep hosted account credentials on the selected gateway when an unsupported
|
|
52
|
+
model is chosen, and preserve retired Xiaomi selections without silently
|
|
53
|
+
redirecting them to a different provider's model.
|
|
54
|
+
- Omit unsupported temperature settings for GPT-6 reasoning requests and reject
|
|
55
|
+
attempts to disable reasoning for always-thinking OpenRouter models.
|
|
56
|
+
- Improve session recovery and deadline handling for long running work.
|
|
57
|
+
- Verify durable service listener ownership on macOS without requiring root access.
|
|
10
58
|
|
|
11
59
|
## [0.13.8] - 2026-09-16
|
|
12
60
|
|
|
@@ -308,7 +356,9 @@ Public launch and repository-layout refresh.
|
|
|
308
356
|
Release notes for versions before 0.9.8 remain available in the
|
|
309
357
|
[GitHub Releases archive](https://github.com/AlysisAi/alysis-code/releases).
|
|
310
358
|
|
|
311
|
-
[Unreleased]: https://github.com/AlysisAi/alysis-code/compare/v0.
|
|
359
|
+
[Unreleased]: https://github.com/AlysisAi/alysis-code/compare/v0.14.1...HEAD
|
|
360
|
+
[0.14.1]: https://github.com/AlysisAi/alysis-code/compare/v0.14.0...v0.14.1
|
|
361
|
+
[0.14.0]: https://github.com/AlysisAi/alysis-code/compare/v0.13.8...v0.14.0
|
|
312
362
|
[0.13.8]: https://github.com/AlysisAi/alysis-code/compare/v0.13.7...v0.13.8
|
|
313
363
|
[0.13.7]: https://github.com/AlysisAi/alysis-code/compare/v0.13.6.2...v0.13.7
|
|
314
364
|
[0.13.6.2]: https://github.com/AlysisAi/alysis-code/compare/v0.13.6.1...v0.13.6.2
|
|
@@ -4,8 +4,8 @@ build-backend = "hatchling.build"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "alysis-code"
|
|
7
|
-
version = "0.
|
|
8
|
-
description = "
|
|
7
|
+
version = "0.14.1"
|
|
8
|
+
description = "Local CLI coding agent powered by any API."
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
requires-python = ">=3.11"
|
|
11
11
|
license = { text = "Apache-2.0" }
|
|
@@ -32,18 +32,20 @@ classifiers = [
|
|
|
32
32
|
"Topic :: Utilities",
|
|
33
33
|
]
|
|
34
34
|
dependencies = [
|
|
35
|
+
"anyio>=4.14.2",
|
|
35
36
|
"click>=8.0.0",
|
|
36
37
|
"cryptography>=50.0.0",
|
|
37
38
|
"ddgs>=9.0.0",
|
|
38
|
-
"h2>=4.4.1",
|
|
39
39
|
"httpcore>=1.0.0,<2.0.0",
|
|
40
40
|
"httpx>=0.27.0",
|
|
41
41
|
"keyring>=25.0.0",
|
|
42
|
+
"markdown-it-py>=4.2.0,<5.0.0",
|
|
42
43
|
"packaging>=23.0",
|
|
43
44
|
"pillow>=12.3.0",
|
|
44
45
|
"platformdirs>=4.2.0",
|
|
45
46
|
"pydantic>=2.6.0",
|
|
46
47
|
"prompt-toolkit>=3.0.43",
|
|
48
|
+
"psutil>=7.2.2,<8.0",
|
|
47
49
|
"pygments>=2.17.0,<3.0.0",
|
|
48
50
|
"rich>=13.7.1",
|
|
49
51
|
"tiktoken>=0.7.0",
|
|
@@ -8,7 +8,9 @@ stale commit hash.
|
|
|
8
8
|
"""
|
|
9
9
|
|
|
10
10
|
BUILD_COMMIT = ""
|
|
11
|
+
BUILD_COMMIT_SUBJECT = ""
|
|
11
12
|
BUILD_TIMESTAMP = ""
|
|
12
13
|
BUILD_DIRTY = True
|
|
13
14
|
BUILD_SOURCE = "dev-default"
|
|
14
|
-
|
|
15
|
+
BUILD_RESOLVED_ORIGIN_MAIN = "unavailable"
|
|
16
|
+
BUILD_INFO_SCHEMA_VERSION = 2
|
|
@@ -37,7 +37,7 @@ from .config import (
|
|
|
37
37
|
save_persisted_profile_key,
|
|
38
38
|
)
|
|
39
39
|
from .host_browser import open_url
|
|
40
|
-
from .profile_presets import get_preset, make_profile_from_preset
|
|
40
|
+
from .profile_presets import canonical_model_alias_for_preset, get_preset, make_profile_from_preset
|
|
41
41
|
from .profiles import ProfileSpec, add_profile, get_profile, set_active_profile
|
|
42
42
|
|
|
43
43
|
# Matches the server-side device-code expiry (15 min) so we poll until the code
|
|
@@ -49,7 +49,7 @@ _DEFAULT_POLL_INTERVAL_S = 5.0
|
|
|
49
49
|
# model picker, so an offline/slow gateway must not stall the menu for long.
|
|
50
50
|
_MODELS_TIMEOUT_S = 6.0
|
|
51
51
|
|
|
52
|
-
_FRESH_LOGIN_DEFAULT_MODEL = "deepseek-
|
|
52
|
+
_FRESH_LOGIN_DEFAULT_MODEL = "deepseek-flash"
|
|
53
53
|
|
|
54
54
|
|
|
55
55
|
class AlysisLoginError(Exception):
|
|
@@ -441,11 +441,11 @@ def _format_token_usage(used: int | None, total: int | None) -> str | None:
|
|
|
441
441
|
def _activate_alysis_profile(cfg: AppConfig, *, email: str | None) -> LoginResult:
|
|
442
442
|
"""Create + activate the `alysis` profile, keeping any model the user chose.
|
|
443
443
|
|
|
444
|
-
Fresh logins default to
|
|
445
|
-
|
|
444
|
+
Fresh logins default to V4.1 Flash (``deepseek-flash``) so
|
|
445
|
+
connect → login → chat works with zero extra steps. Re-logins preserve
|
|
446
446
|
whatever model the user selected since, so logging in again never undoes
|
|
447
|
-
|
|
448
|
-
|
|
447
|
+
supported choices. Retired Flash/beta ids are remapped to the current
|
|
448
|
+
default via the preset's model_aliases, including on re-login.
|
|
449
449
|
"""
|
|
450
450
|
preset = get_preset(cloud.PROFILE_KEY)
|
|
451
451
|
if preset is not None:
|
|
@@ -456,6 +456,8 @@ def _activate_alysis_profile(cfg: AppConfig, *, email: str | None) -> LoginResul
|
|
|
456
456
|
existing = get_profile(cfg, cloud.PROFILE_KEY)
|
|
457
457
|
existing_model = str(getattr(existing, "default_model", "") or "").strip() if existing else ""
|
|
458
458
|
chosen_model = existing_model or _FRESH_LOGIN_DEFAULT_MODEL
|
|
459
|
+
if preset is not None:
|
|
460
|
+
chosen_model = canonical_model_alias_for_preset(preset, chosen_model)
|
|
459
461
|
|
|
460
462
|
# Always pin to the live gateway URL (env-overridable for tests); keep the
|
|
461
463
|
# user's chosen model.
|
|
@@ -12,6 +12,11 @@ managed execution flows.
|
|
|
12
12
|
- [turn_path.py](turn_path.py) defines execution posture and reply-language directives.
|
|
13
13
|
- [prompt_context.py](prompt_context.py) prepares workspace, convention, skill, plugin, and
|
|
14
14
|
verification context.
|
|
15
|
+
- [task_state.py](task_state.py) holds the host-owned task identity (`SessionTaskState`):
|
|
16
|
+
the accepted objective, its originating user event, and its transitions.
|
|
17
|
+
The pinned `<task_brief>` is a bounded rendering of it, installed before the
|
|
18
|
+
first model request of a turn; it is never inferred from edits, tool output,
|
|
19
|
+
or model text, and it grants no permission.
|
|
15
20
|
- [verification.py](verification.py) and [verification_commands.py](verification_commands.py)
|
|
16
21
|
support verification flows.
|
|
17
22
|
|