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.
Files changed (496) hide show
  1. {alysis_code-0.13.8 → alysis_code-0.14.1}/.gitignore +5 -0
  2. {alysis_code-0.13.8 → alysis_code-0.14.1}/PKG-INFO +14 -12
  3. {alysis_code-0.13.8 → alysis_code-0.14.1}/README.md +9 -9
  4. {alysis_code-0.13.8 → alysis_code-0.14.1}/docs/CHANGELOG.md +52 -2
  5. {alysis_code-0.13.8 → alysis_code-0.14.1}/pyproject.toml +5 -3
  6. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/__init__.py +1 -1
  7. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/_build_info.py +3 -1
  8. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/account_login.py +8 -6
  9. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/agent/README.md +5 -0
  10. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/agent/acceptance_contract.py +437 -46
  11. alysis_code-0.14.1/src/alysis_code/agent/anytime_checkpoint.py +506 -0
  12. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/agent/blast_radius.py +495 -52
  13. alysis_code-0.14.1/src/alysis_code/agent/checkpoint_worker.py +180 -0
  14. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/agent/completion_certificate.py +20 -1
  15. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/agent/completion_gate.py +40 -0
  16. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/agent/llm_calls.py +116 -43
  17. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/agent/prompt_context.py +783 -273
  18. alysis_code-0.14.1/src/alysis_code/agent/prompt_families.py +169 -0
  19. alysis_code-0.14.1/src/alysis_code/agent/prompt_guidance.py +179 -0
  20. alysis_code-0.14.1/src/alysis_code/agent/read_ledger.py +449 -0
  21. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/agent/regression_baseline.py +46 -7
  22. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/agent/sensitive_output.py +19 -0
  23. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/agent/session.py +626 -148
  24. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/agent/subagent_execution.py +1595 -266
  25. alysis_code-0.14.1/src/alysis_code/agent/subagent_workspace.py +1435 -0
  26. alysis_code-0.14.1/src/alysis_code/agent/task_evidence.py +215 -0
  27. alysis_code-0.14.1/src/alysis_code/agent/task_state.py +1263 -0
  28. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/agent/tools_assembly.py +579 -174
  29. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/agent/turn/__init__.py +5 -5
  30. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/agent/turn/core.py +1828 -978
  31. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/agent/turn/exploration.py +80 -7
  32. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/agent/turn/read_cache.py +97 -54
  33. alysis_code-0.14.1/src/alysis_code/agent/turn/subagent_progress.py +1132 -0
  34. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/agent/turn_path.py +75 -0
  35. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/agent/verification.py +1097 -192
  36. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/agent/verification_commands.py +193 -41
  37. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/agent/verification_evidence.py +58 -6
  38. alysis_code-0.14.1/src/alysis_code/agent/verification_result.py +58 -0
  39. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/agent_loop.py +97 -17
  40. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/agent_runtimes/codex_cli.py +4 -3
  41. alysis_code-0.14.1/src/alysis_code/agentbox_client.py +416 -0
  42. alysis_code-0.14.1/src/alysis_code/agentbox_integration.py +310 -0
  43. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/approval_scope.py +81 -0
  44. alysis_code-0.14.1/src/alysis_code/assets/local_tools.py +309 -0
  45. alysis_code-0.14.1/src/alysis_code/assets/owl/index.html +98 -0
  46. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/budget_policy.py +5 -0
  47. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/build_identity.py +121 -7
  48. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/cancellation.py +35 -11
  49. alysis_code-0.14.1/src/alysis_code/checkpoint_settings.py +22 -0
  50. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/cli_impl/chat/commands.py +78 -0
  51. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/cli_impl/chat/loop.py +255 -91
  52. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/cli_impl/chat/mid_turn_policy.py +2 -1
  53. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/cli_impl/chat/state.py +5 -0
  54. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/cli_impl/chat_resume.py +15 -1
  55. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/cli_impl/chat_slash_completer.py +14 -2
  56. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/cli_impl/commands/chat_resume_helpers.py +231 -3
  57. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/cli_impl/commands/cli_common.py +3 -0
  58. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/cli_impl/commands/forge.py +2 -1
  59. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/cli_impl/commands/prompt_helpers.py +32 -4
  60. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/cli_impl/commands/root.py +15 -19
  61. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/cli_impl/commands/welcome.py +34 -26
  62. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/cli_impl/config_menu.py +124 -73
  63. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/cli_impl/forge.py +24 -6
  64. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/cli_impl/setup_wizard.py +17 -8
  65. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/cli_impl/tui/app.py +743 -85
  66. alysis_code-0.14.1/src/alysis_code/cli_impl/tui/attachments.py +557 -0
  67. alysis_code-0.14.1/src/alysis_code/cli_impl/tui/composer.py +335 -0
  68. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/cli_impl/tui/config_flow.py +30 -18
  69. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/cli_impl/tui/config_overlay.py +14 -7
  70. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/cli_impl/tui/content.py +67 -1
  71. alysis_code-0.14.1/src/alysis_code/cli_impl/tui/links.py +339 -0
  72. alysis_code-0.14.1/src/alysis_code/cli_impl/tui/markdown.py +396 -0
  73. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/cli_impl/tui/owl.py +16 -1
  74. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/cli_impl/tui/setup_flow.py +1 -1
  75. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/cli_impl/tui/subagent_identity.py +1 -1
  76. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/cli_impl/tui/surface.py +114 -30
  77. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/cli_impl/tui/transcript.py +26 -0
  78. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/cli_impl/tui/workspace_guard.py +121 -11
  79. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/compaction/conversation_compactor.py +304 -5
  80. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/compaction/tool_output_offload.py +21 -112
  81. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/config.py +319 -15
  82. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/conflict_auto_resolver.py +10 -2
  83. alysis_code-0.14.1/src/alysis_code/consumer_verification.py +626 -0
  84. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/durable_service_manager.py +607 -63
  85. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/execution_budget.py +3 -0
  86. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/execution_context.py +78 -115
  87. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/execution_deadline.py +59 -5
  88. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/execution_shared.py +113 -110
  89. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/git_evidence.py +198 -0
  90. alysis_code-0.14.1/src/alysis_code/git_safe.py +111 -0
  91. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/host_browser.py +13 -7
  92. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/integration_gate.py +10 -1
  93. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/internal_artifacts.py +43 -3
  94. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/llm/anthropic_messages.py +62 -6
  95. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/llm/cache_capabilities.py +12 -1
  96. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/llm/cache_policy.py +9 -1
  97. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/llm/factory.py +50 -7
  98. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/llm/gemini_generate_content.py +43 -9
  99. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/llm/gemini_interactions.py +9 -2
  100. alysis_code-0.14.1/src/alysis_code/llm/http_cancellation.py +509 -0
  101. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/llm/metadata.py +27 -4
  102. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/llm/openai_compat.py +366 -76
  103. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/llm/openai_responses.py +97 -16
  104. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/llm/protocols.py +25 -0
  105. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/llm/provider_limits.py +88 -12
  106. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/llm/request_plan.py +71 -1
  107. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/llm/temperature_compat.py +9 -0
  108. alysis_code-0.14.1/src/alysis_code/llm/tool_call_markup.py +95 -0
  109. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/managed_host_deadline.py +89 -1
  110. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/mcp/transport_stdio.py +15 -0
  111. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/model_catalog/chatgpt_codex_subscription_snapshot.json +106 -23
  112. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/model_registry.py +312 -32
  113. alysis_code-0.14.1/src/alysis_code/private_artifact_io.py +117 -0
  114. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/process_reaping.py +14 -3
  115. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/profile_presets.py +322 -249
  116. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/profiles.py +13 -0
  117. alysis_code-0.14.1/src/alysis_code/prompt_guidance_catalog.py +298 -0
  118. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/provider_auth/base.py +5 -1
  119. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/provider_auth/openai_codex.py +60 -15
  120. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/provider_diagnostics.py +16 -0
  121. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/provider_telemetry.py +185 -33
  122. alysis_code-0.14.1/src/alysis_code/provider_url.py +140 -0
  123. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/reasoning_contracts.py +98 -17
  124. alysis_code-0.14.1/src/alysis_code/run_outcome.py +201 -0
  125. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/run_provenance.py +18 -1
  126. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/sandbox_doctor.py +46 -10
  127. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/sandbox_runner.py +110 -2
  128. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/sandbox_settings.py +13 -0
  129. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/server/app.py +1 -0
  130. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/server/worker_runner.py +35 -0
  131. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/service_persistence.py +21 -1
  132. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/session_artifacts.py +80 -0
  133. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/session_metrics.py +7 -1
  134. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/session_store.py +468 -13
  135. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/skills/README.md +2 -2
  136. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/skills/__init__.py +0 -22
  137. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/skills/eval_models.py +7 -3
  138. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/skills/evals.py +14 -2
  139. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/skills/prompting.py +3 -2
  140. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/step_budget.py +1 -1
  141. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/subagents.py +174 -55
  142. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/surface/rich_surface.py +87 -45
  143. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/surface/types.py +32 -0
  144. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/swarm_orchestrator.py +14 -2
  145. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/swarm_trace.py +10 -0
  146. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/swarm_worker.py +122 -37
  147. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/terminal_manager.py +16 -14
  148. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/tools/artifacts.py +48 -12
  149. alysis_code-0.14.1/src/alysis_code/tools/availability.py +348 -0
  150. alysis_code-0.14.1/src/alysis_code/tools/capability_readiness.py +74 -0
  151. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/tools/fs.py +216 -81
  152. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/tools/git.py +3 -0
  153. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/tools/registry.py +337 -104
  154. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/tools/symbols.py +115 -21
  155. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/tools/test_discovery.py +27 -27
  156. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/tools/web.py +196 -35
  157. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/transport_retry.py +9 -6
  158. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/verification_command_analysis.py +7 -8
  159. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/verification_contract.py +7 -3
  160. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/verification_repair.py +8 -0
  161. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/verify_gate.py +90 -16
  162. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/web_research.py +76 -0
  163. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/workspace_isolation.py +5 -3
  164. alysis_code-0.13.8/src/alysis_code/agent/read_ledger.py +0 -253
  165. alysis_code-0.13.8/src/alysis_code/agent/subagent_workspace.py +0 -666
  166. alysis_code-0.13.8/src/alysis_code/cli_impl/tui/markdown.py +0 -244
  167. alysis_code-0.13.8/src/alysis_code/git_safe.py +0 -62
  168. alysis_code-0.13.8/src/alysis_code/provider_url.py +0 -75
  169. alysis_code-0.13.8/src/alysis_code/run_outcome.py +0 -58
  170. alysis_code-0.13.8/src/alysis_code/skills/selection.py +0 -226
  171. alysis_code-0.13.8/src/alysis_code/tools/availability.py +0 -188
  172. {alysis_code-0.13.8 → alysis_code-0.14.1}/LICENSE +0 -0
  173. {alysis_code-0.13.8 → alysis_code-0.14.1}/NOTICE +0 -0
  174. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/__main__.py +0 -0
  175. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/agent/__init__.py +0 -0
  176. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/agent/cache_keepalive.py +0 -0
  177. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/agent/empty_response_stall.py +0 -0
  178. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/agent/errors.py +0 -0
  179. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/agent/mutation_classification.py +0 -0
  180. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/agent/reproduction_first.py +0 -0
  181. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/agent/steering.py +0 -0
  182. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/agent/turn/events.py +0 -0
  183. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/agent/turn/interventions.py +0 -0
  184. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/agent/turn/snapshot.py +0 -0
  185. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/agent/turn_contract.py +0 -0
  186. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/agent_runtimes/__init__.py +0 -0
  187. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/agent_runtimes/base.py +0 -0
  188. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/agent_runtimes/builtins.py +0 -0
  189. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/agent_runtimes/host.py +0 -0
  190. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/agent_runtimes/registry.py +0 -0
  191. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/agent_runtimes/service.py +0 -0
  192. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/alysis_cloud.py +0 -0
  193. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/assets/README.md +0 -0
  194. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/assets/__init__.py +0 -0
  195. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/assets/asset_read_core.py +0 -0
  196. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/assets/budget_allocator.py +0 -0
  197. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/assets/comprehender.py +0 -0
  198. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/assets/index.py +0 -0
  199. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/assets/ingestion.py +0 -0
  200. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/assets/legacy_migration.py +0 -0
  201. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/assets/models.py +0 -0
  202. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/assets/ocr.py +0 -0
  203. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/assets/owl/ascii/f-000.txt +0 -0
  204. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/assets/owl/ascii/f-001.txt +0 -0
  205. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/assets/owl/ascii/f-002.txt +0 -0
  206. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/assets/owl/ascii/f-003.txt +0 -0
  207. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/assets/owl/ascii/f-004.txt +0 -0
  208. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/assets/owl/ascii/f-005.txt +0 -0
  209. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/assets/owl/ascii/f-006.txt +0 -0
  210. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/assets/owl/ascii/f-007.txt +0 -0
  211. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/assets/owl/ascii/f-008.txt +0 -0
  212. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/assets/owl/ascii/f-009.txt +0 -0
  213. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/assets/owl/ascii/f-010.txt +0 -0
  214. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/assets/owl/ascii/f-011.txt +0 -0
  215. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/assets/owl/ascii/f-012.txt +0 -0
  216. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/assets/owl/ascii/f-013.txt +0 -0
  217. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/assets/owl/ascii/f-014.txt +0 -0
  218. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/assets/owl/ascii/f-015.txt +0 -0
  219. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/assets/owl/ascii/f-016.txt +0 -0
  220. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/assets/owl/ascii/f-017.txt +0 -0
  221. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/assets/owl/ascii/f-018.txt +0 -0
  222. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/assets/owl/ascii/f-019.txt +0 -0
  223. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/assets/owl/ascii/f-020.txt +0 -0
  224. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/assets/owl/show-owl.sh +0 -0
  225. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/assets/paths.py +0 -0
  226. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/assets/plan_binding.py +0 -0
  227. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/assets/planner_context.py +0 -0
  228. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/assets/planner_tools.py +0 -0
  229. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/assets/prompts.py +0 -0
  230. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/assets/replanner_context.py +0 -0
  231. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/assets/surface.py +0 -0
  232. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/assets/untrusted_content.py +0 -0
  233. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/assets/usage_logger.py +0 -0
  234. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/assets/worker_mirror.py +0 -0
  235. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/assets/worker_section.py +0 -0
  236. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/assets/worker_tools.py +0 -0
  237. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/atomic_io.py +0 -0
  238. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/auth_diagnostics.py +0 -0
  239. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/background_runner.py +0 -0
  240. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/branding.py +0 -0
  241. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/builtin_hooks/__init__.py +0 -0
  242. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/builtin_hooks/notify_done_windows.py +0 -0
  243. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/bwrap_etc.py +0 -0
  244. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/capabilities.py +0 -0
  245. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/chatgpt_codex_static_provider.py +0 -0
  246. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/cli.py +0 -0
  247. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/cli_impl/__init__.py +0 -0
  248. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/cli_impl/assets_cli.py +0 -0
  249. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/cli_impl/assets_modal.py +0 -0
  250. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/cli_impl/chat/__init__.py +0 -0
  251. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/cli_impl/chat/forge_visibility.py +0 -0
  252. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/cli_impl/chat/rendering.py +0 -0
  253. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/cli_impl/commands/__init__.py +0 -0
  254. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/cli_impl/commands/_shared.py +0 -0
  255. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/cli_impl/commands/auth.py +0 -0
  256. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/cli_impl/commands/chat_state.py +0 -0
  257. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/cli_impl/commands/chat_status.py +0 -0
  258. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/cli_impl/commands/chat_terminal.py +0 -0
  259. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/cli_impl/commands/chat_tui_panels.py +0 -0
  260. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/cli_impl/commands/cli_surface.py +0 -0
  261. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/cli_impl/commands/config.py +0 -0
  262. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/cli_impl/commands/conventions.py +0 -0
  263. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/cli_impl/commands/execution_helpers.py +0 -0
  264. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/cli_impl/commands/extensions.py +0 -0
  265. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/cli_impl/commands/forge_asset_view.py +0 -0
  266. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/cli_impl/commands/forge_helpers.py +0 -0
  267. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/cli_impl/commands/hooks.py +0 -0
  268. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/cli_impl/commands/ide_bridge.py +0 -0
  269. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/cli_impl/commands/mcp.py +0 -0
  270. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/cli_impl/commands/profile.py +0 -0
  271. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/cli_impl/commands/report.py +0 -0
  272. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/cli_impl/commands/sandbox.py +0 -0
  273. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/cli_impl/commands/server.py +0 -0
  274. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/cli_impl/commands/sessions.py +0 -0
  275. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/cli_impl/commands/skills.py +0 -0
  276. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/cli_impl/commands/startup.py +0 -0
  277. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/cli_impl/commands/tools.py +0 -0
  278. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/cli_impl/commands/update.py +0 -0
  279. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/cli_impl/forge_recovery.py +0 -0
  280. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/cli_impl/tui/__init__.py +0 -0
  281. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/cli_impl/tui/config.py +0 -0
  282. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/cli_impl/tui/footer.py +0 -0
  283. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/cli_impl/tui/forge_status.py +0 -0
  284. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/cli_impl/tui/plan_meta.py +0 -0
  285. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/cli_impl/tui/selection_bindings.py +0 -0
  286. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/cli_impl/tui/setup_app.py +0 -0
  287. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/cli_impl/tui/state.py +0 -0
  288. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/cli_impl/tui/subagent_panel.py +0 -0
  289. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/cli_impl/tui/tips.py +0 -0
  290. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/cli_impl/tui/update_prompt.py +0 -0
  291. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/clipboard.py +0 -0
  292. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/code_review.py +0 -0
  293. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/compaction/__init__.py +0 -0
  294. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/compaction/importance.py +0 -0
  295. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/compaction/settings.py +0 -0
  296. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/context/__init__.py +0 -0
  297. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/context/tool_schema_budgeter.py +0 -0
  298. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/crash_diagnostics.py +0 -0
  299. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/custom_tools/README.md +0 -0
  300. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/custom_tools/__init__.py +0 -0
  301. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/custom_tools/discovery.py +0 -0
  302. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/custom_tools/runtime.py +0 -0
  303. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/custom_tools/session.py +0 -0
  304. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/custom_tools/trust.py +0 -0
  305. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/diff_paths.py +0 -0
  306. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/direction_change.py +0 -0
  307. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/dispatch_timing.py +0 -0
  308. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/edit_discipline.py +0 -0
  309. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/error_text.py +0 -0
  310. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/extensions/README.md +0 -0
  311. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/extensions/__init__.py +0 -0
  312. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/extensions/activation.py +0 -0
  313. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/extensions/install.py +0 -0
  314. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/extensions/manifest.py +0 -0
  315. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/extensions/models.py +0 -0
  316. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/extensions/paths.py +0 -0
  317. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/extensions/registry.json +0 -0
  318. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/extensions/registry.py +0 -0
  319. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/extensions/state.py +0 -0
  320. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/extensions/workspace_trust.py +0 -0
  321. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/failed_task_evidence.py +0 -0
  322. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/failure_category.py +0 -0
  323. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/feedback_report.py +0 -0
  324. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/file_classification.py +0 -0
  325. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/forge.py +0 -0
  326. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/forge_completion.py +0 -0
  327. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/forge_events.py +0 -0
  328. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/frontmatter_utils.py +0 -0
  329. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/git_ops.py +0 -0
  330. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/git_worktrees.py +0 -0
  331. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/hooks/README.md +0 -0
  332. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/hooks/__init__.py +0 -0
  333. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/hooks/audit.py +0 -0
  334. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/hooks/config.py +0 -0
  335. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/hooks/dispatcher.py +0 -0
  336. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/hooks/models.py +0 -0
  337. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/hooks/trust.py +0 -0
  338. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/host_actions.py +0 -0
  339. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/ide/__init__.py +0 -0
  340. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/ide/activity_events.py +0 -0
  341. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/ide/approvals.py +0 -0
  342. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/ide/artifacts.py +0 -0
  343. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/ide/browser_egress_proxy.py +0 -0
  344. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/ide/cdp_websocket_transport.py +0 -0
  345. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/ide/change_ledger.py +0 -0
  346. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/ide/context_blocks.py +0 -0
  347. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/ide/event_stream.py +0 -0
  348. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/ide/forge_protocol.py +0 -0
  349. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/ide/forge_request_ledger.py +0 -0
  350. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/ide/health.py +0 -0
  351. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/ide/managed_browser.py +0 -0
  352. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/ide/management_protocol.py +0 -0
  353. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/ide/mcp_oauth_coordinator.py +0 -0
  354. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/ide/mcp_oauth_lifecycle.py +0 -0
  355. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/ide/prompt_queue.py +0 -0
  356. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/ide/protocol.py +0 -0
  357. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/ide/resumable_swarm.py +0 -0
  358. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/ide/session_search.py +0 -0
  359. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/ide/stdio_bridge.py +0 -0
  360. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/ide/structured_state.py +0 -0
  361. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/ide/swarm_protocol.py +0 -0
  362. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/interactive_input_guard.py +0 -0
  363. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/knowledge_base.py +0 -0
  364. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/knowledge_capture.py +0 -0
  365. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/knowledge_librarian.py +0 -0
  366. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/language_policy.py +0 -0
  367. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/litellm_static_provider.py +0 -0
  368. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/llm/__init__.py +0 -0
  369. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/llm/base.py +0 -0
  370. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/llm/cache_control_blocks.py +0 -0
  371. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/llm/request_shape.py +0 -0
  372. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/llm/streaming.py +0 -0
  373. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/llm/types.py +0 -0
  374. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/llm/usage_normalization.py +0 -0
  375. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/llm_error_display.py +0 -0
  376. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/logging_redaction.py +0 -0
  377. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/mcp/README.md +0 -0
  378. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/mcp/__init__.py +0 -0
  379. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/mcp/client.py +0 -0
  380. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/mcp/config.py +0 -0
  381. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/mcp/errors.py +0 -0
  382. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/mcp/forge_scope.py +0 -0
  383. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/mcp/jsonrpc.py +0 -0
  384. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/mcp/manager.py +0 -0
  385. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/mcp/models.py +0 -0
  386. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/mcp/oauth.py +0 -0
  387. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/mcp/oauth_runtime.py +0 -0
  388. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/mcp/oauth_store.py +0 -0
  389. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/mcp/prompts.py +0 -0
  390. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/mcp/resources.py +0 -0
  391. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/mcp/roots.py +0 -0
  392. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/mcp/server_requests.py +0 -0
  393. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/mcp/token_store.py +0 -0
  394. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/mcp/transport_http.py +0 -0
  395. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/mcp/untrusted_content.py +0 -0
  396. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/merge_conflict_reviewer.py +0 -0
  397. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/model_catalog/__init__.py +0 -0
  398. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/model_catalog/litellm_model_prices_snapshot.json +0 -0
  399. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/model_catalog/litellm_model_prices_snapshot.meta.json +0 -0
  400. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/model_metadata_policy.py +0 -0
  401. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/model_metadata_utils.py +0 -0
  402. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/model_router.py +0 -0
  403. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/permission_policy.py +0 -0
  404. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/personas.py +0 -0
  405. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/pipeline_facts.py +0 -0
  406. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/plan_assistant.py +0 -0
  407. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/plan_reconciliation.py +0 -0
  408. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/plan_repair.py +0 -0
  409. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/plan_validation.py +0 -0
  410. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/planning_constraints.py +0 -0
  411. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/policy.py +0 -0
  412. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/preview_server.py +0 -0
  413. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/provider_auth/__init__.py +0 -0
  414. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/provider_auth/registry.py +0 -0
  415. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/provider_auth/store.py +0 -0
  416. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/provider_model_catalog.py +0 -0
  417. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/remote_sync.py +0 -0
  418. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/replanning.py +0 -0
  419. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/repo_scan.py +0 -0
  420. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/request_estimation.py +0 -0
  421. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/review_gate.py +0 -0
  422. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/run_lock.py +0 -0
  423. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/run_state.py +0 -0
  424. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/runtime_artifacts.py +0 -0
  425. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/runtime_context_features.py +0 -0
  426. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/runtime_kind.py +0 -0
  427. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/safety/__init__.py +0 -0
  428. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/safety/mcp_sanitize.py +0 -0
  429. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/safety/safe_http.py +0 -0
  430. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/safety/subagent_report.py +0 -0
  431. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/serialized_paths.py +0 -0
  432. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/server/__init__.py +0 -0
  433. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/server/auth.py +0 -0
  434. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/server/job_config.py +0 -0
  435. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/server/settings.py +0 -0
  436. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/server/store.py +0 -0
  437. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/skills/bundled/address-pr-comments/SKILL.md +0 -0
  438. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/skills/bundled/code-review/SKILL.md +0 -0
  439. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/skills/bundled/commit/SKILL.md +0 -0
  440. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/skills/bundled/debug/SKILL.md +0 -0
  441. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/skills/bundled/fix-ci/SKILL.md +0 -0
  442. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/skills/bundled/release-notes/SKILL.md +0 -0
  443. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/skills/bundled/security-review/SKILL.md +0 -0
  444. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/skills/bundled/skill-creator/SKILL.md +0 -0
  445. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/skills/conventions.py +0 -0
  446. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/skills/discovery.py +0 -0
  447. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/skills/eval_runner.py +0 -0
  448. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/skills/install.py +0 -0
  449. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/skills/loader.py +0 -0
  450. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/skills/matching.py +0 -0
  451. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/skills/models.py +0 -0
  452. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/skills/paths.py +0 -0
  453. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/skills/scaffold.py +0 -0
  454. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/skills/state.py +0 -0
  455. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/skills/transactions.py +0 -0
  456. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/skills/validation.py +0 -0
  457. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/subagent_labels.py +0 -0
  458. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/surface/__init__.py +0 -0
  459. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/surface/base.py +0 -0
  460. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/surface/console.py +0 -0
  461. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/surface/events.py +0 -0
  462. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/surface/hidden_surface.py +0 -0
  463. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/surface/noop_surface.py +0 -0
  464. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/surface/styles.py +0 -0
  465. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/surface/theme.py +0 -0
  466. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/swarm_backend.py +0 -0
  467. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/swarm_scheduler.py +0 -0
  468. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/swarm_write_guard.py +0 -0
  469. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/task_dependencies.py +0 -0
  470. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/task_readiness.py +0 -0
  471. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/task_scope.py +0 -0
  472. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/terminal_ownership.py +0 -0
  473. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/text_normalization.py +0 -0
  474. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/token_budget.py +0 -0
  475. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/tools/README.md +0 -0
  476. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/tools/__init__.py +0 -0
  477. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/tools/history.py +0 -0
  478. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/tools/http_timeout.py +0 -0
  479. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/tools/image_generation.py +0 -0
  480. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/tools/repo_map.py +0 -0
  481. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/tools/search.py +0 -0
  482. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/tools/shell.py +0 -0
  483. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/tools/web_search.py +0 -0
  484. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/tools/web_search_dashscope.py +0 -0
  485. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/tools/web_search_ddgs.py +0 -0
  486. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/tools/web_search_provider_adapters.py +0 -0
  487. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/tools/web_search_tavily.py +0 -0
  488. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/updates.py +0 -0
  489. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/usage_tracker.py +0 -0
  490. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/verification_failure_summary.py +0 -0
  491. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/web_search_adapters.py +0 -0
  492. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/web_search_policy.py +0 -0
  493. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/workspace_binding.py +0 -0
  494. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/workspace_binding_ui.py +0 -0
  495. {alysis_code-0.13.8 → alysis_code-0.14.1}/src/alysis_code/workspace_context.py +0 -0
  496. {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.13.8
4
- Summary: Open-source coding agent for hosted and local models.
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
- ## Modes & Personas
153
+ ## Permissions & Personas
152
154
 
153
155
  Two layers control what the agent may do — one enforces, one focuses.
154
156
 
155
- **Execution modes** are the enforcement layer. Choose one per command with `--mode`, select the
156
- next message's permissions with `/permissions` or **Shift+Tab**, or set a default with
157
- `alysis-code config set default_mode <mode>`. A selection leaves the active turn's permissions
158
- unchanged until the next message starts:
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 subagent delegation. |
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 legacy chat Plan Mode and its `/plan` commands have been removed; Forge retains its plan views
183
- and editor. Persona changes made during a running turn apply after that turn finishes.
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](../../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
- ## Modes & Personas
92
+ ## Permissions & Personas
93
93
 
94
94
  Two layers control what the agent may do — one enforces, one focuses.
95
95
 
96
- **Execution modes** are the enforcement layer. Choose one per command with `--mode`, select the
97
- next message's permissions with `/permissions` or **Shift+Tab**, or set a default with
98
- `alysis-code config set default_mode <mode>`. A selection leaves the active turn's permissions
99
- unchanged until the next message starts:
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 subagent delegation. |
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 legacy chat Plan Mode and its `/plan` commands have been removed; Forge retains its plan views
124
- and editor. Persona changes made during a running turn apply after that turn finishes.
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](../../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
- No user-facing changes yet.
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.13.8...HEAD
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.13.8"
8
- description = "Open-source coding agent for hosted and local models."
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",
@@ -1,3 +1,3 @@
1
1
  __all__ = ["__version__"]
2
2
 
3
- __version__ = "0.13.8"
3
+ __version__ = "0.14.1"
@@ -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
- BUILD_INFO_SCHEMA_VERSION = 1
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-v4-flash"
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 the Pro flagship (``deepseek-v4-flash``) so
445
- subscribe → login → chat works with zero extra steps. Re-logins preserve
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
- their choice. Legacy MiMo ids (the retired Xiaomi trial) are remapped to
448
- the current default via the preset's model_aliases at config load.
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