alysis-code 0.14.1__tar.gz → 0.14.2__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 (488) hide show
  1. {alysis_code-0.14.1 → alysis_code-0.14.2}/PKG-INFO +1 -1
  2. {alysis_code-0.14.1 → alysis_code-0.14.2}/docs/CHANGELOG.md +13 -0
  3. {alysis_code-0.14.1 → alysis_code-0.14.2}/pyproject.toml +1 -1
  4. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/__init__.py +1 -1
  5. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/cli_impl/config_menu.py +2 -2
  6. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/cli_impl/tui/app.py +21 -0
  7. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/llm/openai_compat.py +7 -0
  8. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/llm/openai_responses.py +8 -0
  9. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/reasoning_contracts.py +1 -0
  10. {alysis_code-0.14.1 → alysis_code-0.14.2}/.gitignore +0 -0
  11. {alysis_code-0.14.1 → alysis_code-0.14.2}/LICENSE +0 -0
  12. {alysis_code-0.14.1 → alysis_code-0.14.2}/NOTICE +0 -0
  13. {alysis_code-0.14.1 → alysis_code-0.14.2}/README.md +0 -0
  14. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/__main__.py +0 -0
  15. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/_build_info.py +0 -0
  16. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/account_login.py +0 -0
  17. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/agent/README.md +0 -0
  18. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/agent/__init__.py +0 -0
  19. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/agent/acceptance_contract.py +0 -0
  20. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/agent/anytime_checkpoint.py +0 -0
  21. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/agent/blast_radius.py +0 -0
  22. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/agent/cache_keepalive.py +0 -0
  23. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/agent/checkpoint_worker.py +0 -0
  24. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/agent/completion_certificate.py +0 -0
  25. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/agent/completion_gate.py +0 -0
  26. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/agent/empty_response_stall.py +0 -0
  27. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/agent/errors.py +0 -0
  28. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/agent/llm_calls.py +0 -0
  29. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/agent/mutation_classification.py +0 -0
  30. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/agent/prompt_context.py +0 -0
  31. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/agent/prompt_families.py +0 -0
  32. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/agent/prompt_guidance.py +0 -0
  33. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/agent/read_ledger.py +0 -0
  34. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/agent/regression_baseline.py +0 -0
  35. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/agent/reproduction_first.py +0 -0
  36. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/agent/sensitive_output.py +0 -0
  37. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/agent/session.py +0 -0
  38. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/agent/steering.py +0 -0
  39. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/agent/subagent_execution.py +0 -0
  40. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/agent/subagent_workspace.py +0 -0
  41. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/agent/task_evidence.py +0 -0
  42. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/agent/task_state.py +0 -0
  43. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/agent/tools_assembly.py +0 -0
  44. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/agent/turn/__init__.py +0 -0
  45. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/agent/turn/core.py +0 -0
  46. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/agent/turn/events.py +0 -0
  47. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/agent/turn/exploration.py +0 -0
  48. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/agent/turn/interventions.py +0 -0
  49. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/agent/turn/read_cache.py +0 -0
  50. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/agent/turn/snapshot.py +0 -0
  51. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/agent/turn/subagent_progress.py +0 -0
  52. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/agent/turn_contract.py +0 -0
  53. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/agent/turn_path.py +0 -0
  54. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/agent/verification.py +0 -0
  55. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/agent/verification_commands.py +0 -0
  56. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/agent/verification_evidence.py +0 -0
  57. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/agent/verification_result.py +0 -0
  58. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/agent_loop.py +0 -0
  59. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/agent_runtimes/__init__.py +0 -0
  60. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/agent_runtimes/base.py +0 -0
  61. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/agent_runtimes/builtins.py +0 -0
  62. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/agent_runtimes/codex_cli.py +0 -0
  63. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/agent_runtimes/host.py +0 -0
  64. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/agent_runtimes/registry.py +0 -0
  65. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/agent_runtimes/service.py +0 -0
  66. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/agentbox_client.py +0 -0
  67. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/agentbox_integration.py +0 -0
  68. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/alysis_cloud.py +0 -0
  69. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/approval_scope.py +0 -0
  70. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/assets/README.md +0 -0
  71. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/assets/__init__.py +0 -0
  72. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/assets/asset_read_core.py +0 -0
  73. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/assets/budget_allocator.py +0 -0
  74. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/assets/comprehender.py +0 -0
  75. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/assets/index.py +0 -0
  76. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/assets/ingestion.py +0 -0
  77. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/assets/legacy_migration.py +0 -0
  78. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/assets/local_tools.py +0 -0
  79. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/assets/models.py +0 -0
  80. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/assets/ocr.py +0 -0
  81. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/assets/owl/ascii/f-000.txt +0 -0
  82. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/assets/owl/ascii/f-001.txt +0 -0
  83. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/assets/owl/ascii/f-002.txt +0 -0
  84. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/assets/owl/ascii/f-003.txt +0 -0
  85. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/assets/owl/ascii/f-004.txt +0 -0
  86. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/assets/owl/ascii/f-005.txt +0 -0
  87. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/assets/owl/ascii/f-006.txt +0 -0
  88. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/assets/owl/ascii/f-007.txt +0 -0
  89. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/assets/owl/ascii/f-008.txt +0 -0
  90. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/assets/owl/ascii/f-009.txt +0 -0
  91. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/assets/owl/ascii/f-010.txt +0 -0
  92. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/assets/owl/ascii/f-011.txt +0 -0
  93. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/assets/owl/ascii/f-012.txt +0 -0
  94. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/assets/owl/ascii/f-013.txt +0 -0
  95. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/assets/owl/ascii/f-014.txt +0 -0
  96. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/assets/owl/ascii/f-015.txt +0 -0
  97. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/assets/owl/ascii/f-016.txt +0 -0
  98. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/assets/owl/ascii/f-017.txt +0 -0
  99. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/assets/owl/ascii/f-018.txt +0 -0
  100. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/assets/owl/ascii/f-019.txt +0 -0
  101. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/assets/owl/ascii/f-020.txt +0 -0
  102. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/assets/owl/index.html +0 -0
  103. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/assets/owl/show-owl.sh +0 -0
  104. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/assets/paths.py +0 -0
  105. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/assets/plan_binding.py +0 -0
  106. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/assets/planner_context.py +0 -0
  107. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/assets/planner_tools.py +0 -0
  108. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/assets/prompts.py +0 -0
  109. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/assets/replanner_context.py +0 -0
  110. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/assets/surface.py +0 -0
  111. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/assets/untrusted_content.py +0 -0
  112. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/assets/usage_logger.py +0 -0
  113. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/assets/worker_mirror.py +0 -0
  114. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/assets/worker_section.py +0 -0
  115. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/assets/worker_tools.py +0 -0
  116. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/atomic_io.py +0 -0
  117. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/auth_diagnostics.py +0 -0
  118. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/background_runner.py +0 -0
  119. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/branding.py +0 -0
  120. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/budget_policy.py +0 -0
  121. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/build_identity.py +0 -0
  122. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/builtin_hooks/__init__.py +0 -0
  123. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/builtin_hooks/notify_done_windows.py +0 -0
  124. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/bwrap_etc.py +0 -0
  125. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/cancellation.py +0 -0
  126. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/capabilities.py +0 -0
  127. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/chatgpt_codex_static_provider.py +0 -0
  128. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/checkpoint_settings.py +0 -0
  129. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/cli.py +0 -0
  130. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/cli_impl/__init__.py +0 -0
  131. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/cli_impl/assets_cli.py +0 -0
  132. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/cli_impl/assets_modal.py +0 -0
  133. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/cli_impl/chat/__init__.py +0 -0
  134. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/cli_impl/chat/commands.py +0 -0
  135. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/cli_impl/chat/forge_visibility.py +0 -0
  136. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/cli_impl/chat/loop.py +0 -0
  137. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/cli_impl/chat/mid_turn_policy.py +0 -0
  138. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/cli_impl/chat/rendering.py +0 -0
  139. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/cli_impl/chat/state.py +0 -0
  140. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/cli_impl/chat_resume.py +0 -0
  141. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/cli_impl/chat_slash_completer.py +0 -0
  142. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/cli_impl/commands/__init__.py +0 -0
  143. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/cli_impl/commands/_shared.py +0 -0
  144. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/cli_impl/commands/auth.py +0 -0
  145. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/cli_impl/commands/chat_resume_helpers.py +0 -0
  146. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/cli_impl/commands/chat_state.py +0 -0
  147. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/cli_impl/commands/chat_status.py +0 -0
  148. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/cli_impl/commands/chat_terminal.py +0 -0
  149. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/cli_impl/commands/chat_tui_panels.py +0 -0
  150. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/cli_impl/commands/cli_common.py +0 -0
  151. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/cli_impl/commands/cli_surface.py +0 -0
  152. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/cli_impl/commands/config.py +0 -0
  153. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/cli_impl/commands/conventions.py +0 -0
  154. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/cli_impl/commands/execution_helpers.py +0 -0
  155. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/cli_impl/commands/extensions.py +0 -0
  156. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/cli_impl/commands/forge.py +0 -0
  157. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/cli_impl/commands/forge_asset_view.py +0 -0
  158. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/cli_impl/commands/forge_helpers.py +0 -0
  159. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/cli_impl/commands/hooks.py +0 -0
  160. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/cli_impl/commands/ide_bridge.py +0 -0
  161. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/cli_impl/commands/mcp.py +0 -0
  162. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/cli_impl/commands/profile.py +0 -0
  163. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/cli_impl/commands/prompt_helpers.py +0 -0
  164. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/cli_impl/commands/report.py +0 -0
  165. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/cli_impl/commands/root.py +0 -0
  166. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/cli_impl/commands/sandbox.py +0 -0
  167. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/cli_impl/commands/server.py +0 -0
  168. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/cli_impl/commands/sessions.py +0 -0
  169. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/cli_impl/commands/skills.py +0 -0
  170. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/cli_impl/commands/startup.py +0 -0
  171. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/cli_impl/commands/tools.py +0 -0
  172. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/cli_impl/commands/update.py +0 -0
  173. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/cli_impl/commands/welcome.py +0 -0
  174. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/cli_impl/forge.py +0 -0
  175. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/cli_impl/forge_recovery.py +0 -0
  176. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/cli_impl/setup_wizard.py +0 -0
  177. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/cli_impl/tui/__init__.py +0 -0
  178. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/cli_impl/tui/attachments.py +0 -0
  179. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/cli_impl/tui/composer.py +0 -0
  180. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/cli_impl/tui/config.py +0 -0
  181. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/cli_impl/tui/config_flow.py +0 -0
  182. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/cli_impl/tui/config_overlay.py +0 -0
  183. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/cli_impl/tui/content.py +0 -0
  184. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/cli_impl/tui/footer.py +0 -0
  185. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/cli_impl/tui/forge_status.py +0 -0
  186. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/cli_impl/tui/links.py +0 -0
  187. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/cli_impl/tui/markdown.py +0 -0
  188. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/cli_impl/tui/owl.py +0 -0
  189. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/cli_impl/tui/plan_meta.py +0 -0
  190. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/cli_impl/tui/selection_bindings.py +0 -0
  191. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/cli_impl/tui/setup_app.py +0 -0
  192. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/cli_impl/tui/setup_flow.py +0 -0
  193. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/cli_impl/tui/state.py +0 -0
  194. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/cli_impl/tui/subagent_identity.py +0 -0
  195. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/cli_impl/tui/subagent_panel.py +0 -0
  196. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/cli_impl/tui/surface.py +0 -0
  197. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/cli_impl/tui/tips.py +0 -0
  198. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/cli_impl/tui/transcript.py +0 -0
  199. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/cli_impl/tui/update_prompt.py +0 -0
  200. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/cli_impl/tui/workspace_guard.py +0 -0
  201. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/clipboard.py +0 -0
  202. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/code_review.py +0 -0
  203. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/compaction/__init__.py +0 -0
  204. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/compaction/conversation_compactor.py +0 -0
  205. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/compaction/importance.py +0 -0
  206. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/compaction/settings.py +0 -0
  207. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/compaction/tool_output_offload.py +0 -0
  208. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/config.py +0 -0
  209. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/conflict_auto_resolver.py +0 -0
  210. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/consumer_verification.py +0 -0
  211. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/context/__init__.py +0 -0
  212. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/context/tool_schema_budgeter.py +0 -0
  213. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/crash_diagnostics.py +0 -0
  214. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/custom_tools/README.md +0 -0
  215. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/custom_tools/__init__.py +0 -0
  216. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/custom_tools/discovery.py +0 -0
  217. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/custom_tools/runtime.py +0 -0
  218. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/custom_tools/session.py +0 -0
  219. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/custom_tools/trust.py +0 -0
  220. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/diff_paths.py +0 -0
  221. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/direction_change.py +0 -0
  222. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/dispatch_timing.py +0 -0
  223. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/durable_service_manager.py +0 -0
  224. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/edit_discipline.py +0 -0
  225. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/error_text.py +0 -0
  226. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/execution_budget.py +0 -0
  227. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/execution_context.py +0 -0
  228. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/execution_deadline.py +0 -0
  229. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/execution_shared.py +0 -0
  230. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/extensions/README.md +0 -0
  231. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/extensions/__init__.py +0 -0
  232. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/extensions/activation.py +0 -0
  233. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/extensions/install.py +0 -0
  234. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/extensions/manifest.py +0 -0
  235. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/extensions/models.py +0 -0
  236. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/extensions/paths.py +0 -0
  237. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/extensions/registry.json +0 -0
  238. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/extensions/registry.py +0 -0
  239. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/extensions/state.py +0 -0
  240. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/extensions/workspace_trust.py +0 -0
  241. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/failed_task_evidence.py +0 -0
  242. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/failure_category.py +0 -0
  243. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/feedback_report.py +0 -0
  244. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/file_classification.py +0 -0
  245. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/forge.py +0 -0
  246. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/forge_completion.py +0 -0
  247. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/forge_events.py +0 -0
  248. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/frontmatter_utils.py +0 -0
  249. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/git_evidence.py +0 -0
  250. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/git_ops.py +0 -0
  251. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/git_safe.py +0 -0
  252. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/git_worktrees.py +0 -0
  253. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/hooks/README.md +0 -0
  254. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/hooks/__init__.py +0 -0
  255. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/hooks/audit.py +0 -0
  256. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/hooks/config.py +0 -0
  257. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/hooks/dispatcher.py +0 -0
  258. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/hooks/models.py +0 -0
  259. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/hooks/trust.py +0 -0
  260. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/host_actions.py +0 -0
  261. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/host_browser.py +0 -0
  262. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/ide/__init__.py +0 -0
  263. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/ide/activity_events.py +0 -0
  264. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/ide/approvals.py +0 -0
  265. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/ide/artifacts.py +0 -0
  266. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/ide/browser_egress_proxy.py +0 -0
  267. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/ide/cdp_websocket_transport.py +0 -0
  268. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/ide/change_ledger.py +0 -0
  269. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/ide/context_blocks.py +0 -0
  270. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/ide/event_stream.py +0 -0
  271. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/ide/forge_protocol.py +0 -0
  272. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/ide/forge_request_ledger.py +0 -0
  273. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/ide/health.py +0 -0
  274. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/ide/managed_browser.py +0 -0
  275. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/ide/management_protocol.py +0 -0
  276. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/ide/mcp_oauth_coordinator.py +0 -0
  277. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/ide/mcp_oauth_lifecycle.py +0 -0
  278. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/ide/prompt_queue.py +0 -0
  279. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/ide/protocol.py +0 -0
  280. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/ide/resumable_swarm.py +0 -0
  281. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/ide/session_search.py +0 -0
  282. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/ide/stdio_bridge.py +0 -0
  283. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/ide/structured_state.py +0 -0
  284. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/ide/swarm_protocol.py +0 -0
  285. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/integration_gate.py +0 -0
  286. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/interactive_input_guard.py +0 -0
  287. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/internal_artifacts.py +0 -0
  288. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/knowledge_base.py +0 -0
  289. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/knowledge_capture.py +0 -0
  290. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/knowledge_librarian.py +0 -0
  291. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/language_policy.py +0 -0
  292. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/litellm_static_provider.py +0 -0
  293. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/llm/__init__.py +0 -0
  294. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/llm/anthropic_messages.py +0 -0
  295. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/llm/base.py +0 -0
  296. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/llm/cache_capabilities.py +0 -0
  297. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/llm/cache_control_blocks.py +0 -0
  298. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/llm/cache_policy.py +0 -0
  299. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/llm/factory.py +0 -0
  300. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/llm/gemini_generate_content.py +0 -0
  301. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/llm/gemini_interactions.py +0 -0
  302. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/llm/http_cancellation.py +0 -0
  303. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/llm/metadata.py +0 -0
  304. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/llm/protocols.py +0 -0
  305. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/llm/provider_limits.py +0 -0
  306. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/llm/request_plan.py +0 -0
  307. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/llm/request_shape.py +0 -0
  308. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/llm/streaming.py +0 -0
  309. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/llm/temperature_compat.py +0 -0
  310. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/llm/tool_call_markup.py +0 -0
  311. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/llm/types.py +0 -0
  312. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/llm/usage_normalization.py +0 -0
  313. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/llm_error_display.py +0 -0
  314. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/logging_redaction.py +0 -0
  315. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/managed_host_deadline.py +0 -0
  316. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/mcp/README.md +0 -0
  317. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/mcp/__init__.py +0 -0
  318. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/mcp/client.py +0 -0
  319. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/mcp/config.py +0 -0
  320. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/mcp/errors.py +0 -0
  321. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/mcp/forge_scope.py +0 -0
  322. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/mcp/jsonrpc.py +0 -0
  323. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/mcp/manager.py +0 -0
  324. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/mcp/models.py +0 -0
  325. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/mcp/oauth.py +0 -0
  326. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/mcp/oauth_runtime.py +0 -0
  327. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/mcp/oauth_store.py +0 -0
  328. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/mcp/prompts.py +0 -0
  329. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/mcp/resources.py +0 -0
  330. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/mcp/roots.py +0 -0
  331. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/mcp/server_requests.py +0 -0
  332. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/mcp/token_store.py +0 -0
  333. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/mcp/transport_http.py +0 -0
  334. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/mcp/transport_stdio.py +0 -0
  335. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/mcp/untrusted_content.py +0 -0
  336. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/merge_conflict_reviewer.py +0 -0
  337. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/model_catalog/__init__.py +0 -0
  338. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/model_catalog/chatgpt_codex_subscription_snapshot.json +0 -0
  339. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/model_catalog/litellm_model_prices_snapshot.json +0 -0
  340. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/model_catalog/litellm_model_prices_snapshot.meta.json +0 -0
  341. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/model_metadata_policy.py +0 -0
  342. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/model_metadata_utils.py +0 -0
  343. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/model_registry.py +0 -0
  344. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/model_router.py +0 -0
  345. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/permission_policy.py +0 -0
  346. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/personas.py +0 -0
  347. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/pipeline_facts.py +0 -0
  348. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/plan_assistant.py +0 -0
  349. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/plan_reconciliation.py +0 -0
  350. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/plan_repair.py +0 -0
  351. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/plan_validation.py +0 -0
  352. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/planning_constraints.py +0 -0
  353. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/policy.py +0 -0
  354. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/preview_server.py +0 -0
  355. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/private_artifact_io.py +0 -0
  356. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/process_reaping.py +0 -0
  357. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/profile_presets.py +0 -0
  358. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/profiles.py +0 -0
  359. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/prompt_guidance_catalog.py +0 -0
  360. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/provider_auth/__init__.py +0 -0
  361. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/provider_auth/base.py +0 -0
  362. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/provider_auth/openai_codex.py +0 -0
  363. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/provider_auth/registry.py +0 -0
  364. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/provider_auth/store.py +0 -0
  365. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/provider_diagnostics.py +0 -0
  366. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/provider_model_catalog.py +0 -0
  367. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/provider_telemetry.py +0 -0
  368. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/provider_url.py +0 -0
  369. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/remote_sync.py +0 -0
  370. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/replanning.py +0 -0
  371. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/repo_scan.py +0 -0
  372. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/request_estimation.py +0 -0
  373. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/review_gate.py +0 -0
  374. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/run_lock.py +0 -0
  375. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/run_outcome.py +0 -0
  376. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/run_provenance.py +0 -0
  377. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/run_state.py +0 -0
  378. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/runtime_artifacts.py +0 -0
  379. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/runtime_context_features.py +0 -0
  380. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/runtime_kind.py +0 -0
  381. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/safety/__init__.py +0 -0
  382. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/safety/mcp_sanitize.py +0 -0
  383. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/safety/safe_http.py +0 -0
  384. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/safety/subagent_report.py +0 -0
  385. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/sandbox_doctor.py +0 -0
  386. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/sandbox_runner.py +0 -0
  387. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/sandbox_settings.py +0 -0
  388. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/serialized_paths.py +0 -0
  389. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/server/__init__.py +0 -0
  390. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/server/app.py +0 -0
  391. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/server/auth.py +0 -0
  392. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/server/job_config.py +0 -0
  393. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/server/settings.py +0 -0
  394. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/server/store.py +0 -0
  395. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/server/worker_runner.py +0 -0
  396. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/service_persistence.py +0 -0
  397. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/session_artifacts.py +0 -0
  398. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/session_metrics.py +0 -0
  399. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/session_store.py +0 -0
  400. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/skills/README.md +0 -0
  401. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/skills/__init__.py +0 -0
  402. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/skills/bundled/address-pr-comments/SKILL.md +0 -0
  403. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/skills/bundled/code-review/SKILL.md +0 -0
  404. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/skills/bundled/commit/SKILL.md +0 -0
  405. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/skills/bundled/debug/SKILL.md +0 -0
  406. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/skills/bundled/fix-ci/SKILL.md +0 -0
  407. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/skills/bundled/release-notes/SKILL.md +0 -0
  408. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/skills/bundled/security-review/SKILL.md +0 -0
  409. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/skills/bundled/skill-creator/SKILL.md +0 -0
  410. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/skills/conventions.py +0 -0
  411. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/skills/discovery.py +0 -0
  412. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/skills/eval_models.py +0 -0
  413. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/skills/eval_runner.py +0 -0
  414. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/skills/evals.py +0 -0
  415. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/skills/install.py +0 -0
  416. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/skills/loader.py +0 -0
  417. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/skills/matching.py +0 -0
  418. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/skills/models.py +0 -0
  419. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/skills/paths.py +0 -0
  420. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/skills/prompting.py +0 -0
  421. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/skills/scaffold.py +0 -0
  422. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/skills/state.py +0 -0
  423. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/skills/transactions.py +0 -0
  424. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/skills/validation.py +0 -0
  425. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/step_budget.py +0 -0
  426. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/subagent_labels.py +0 -0
  427. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/subagents.py +0 -0
  428. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/surface/__init__.py +0 -0
  429. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/surface/base.py +0 -0
  430. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/surface/console.py +0 -0
  431. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/surface/events.py +0 -0
  432. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/surface/hidden_surface.py +0 -0
  433. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/surface/noop_surface.py +0 -0
  434. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/surface/rich_surface.py +0 -0
  435. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/surface/styles.py +0 -0
  436. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/surface/theme.py +0 -0
  437. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/surface/types.py +0 -0
  438. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/swarm_backend.py +0 -0
  439. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/swarm_orchestrator.py +0 -0
  440. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/swarm_scheduler.py +0 -0
  441. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/swarm_trace.py +0 -0
  442. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/swarm_worker.py +0 -0
  443. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/swarm_write_guard.py +0 -0
  444. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/task_dependencies.py +0 -0
  445. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/task_readiness.py +0 -0
  446. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/task_scope.py +0 -0
  447. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/terminal_manager.py +0 -0
  448. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/terminal_ownership.py +0 -0
  449. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/text_normalization.py +0 -0
  450. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/token_budget.py +0 -0
  451. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/tools/README.md +0 -0
  452. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/tools/__init__.py +0 -0
  453. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/tools/artifacts.py +0 -0
  454. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/tools/availability.py +0 -0
  455. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/tools/capability_readiness.py +0 -0
  456. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/tools/fs.py +0 -0
  457. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/tools/git.py +0 -0
  458. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/tools/history.py +0 -0
  459. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/tools/http_timeout.py +0 -0
  460. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/tools/image_generation.py +0 -0
  461. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/tools/registry.py +0 -0
  462. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/tools/repo_map.py +0 -0
  463. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/tools/search.py +0 -0
  464. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/tools/shell.py +0 -0
  465. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/tools/symbols.py +0 -0
  466. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/tools/test_discovery.py +0 -0
  467. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/tools/web.py +0 -0
  468. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/tools/web_search.py +0 -0
  469. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/tools/web_search_dashscope.py +0 -0
  470. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/tools/web_search_ddgs.py +0 -0
  471. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/tools/web_search_provider_adapters.py +0 -0
  472. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/tools/web_search_tavily.py +0 -0
  473. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/transport_retry.py +0 -0
  474. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/updates.py +0 -0
  475. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/usage_tracker.py +0 -0
  476. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/verification_command_analysis.py +0 -0
  477. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/verification_contract.py +0 -0
  478. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/verification_failure_summary.py +0 -0
  479. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/verification_repair.py +0 -0
  480. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/verify_gate.py +0 -0
  481. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/web_research.py +0 -0
  482. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/web_search_adapters.py +0 -0
  483. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/web_search_policy.py +0 -0
  484. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/workspace_binding.py +0 -0
  485. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/workspace_binding_ui.py +0 -0
  486. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/workspace_context.py +0 -0
  487. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/workspace_isolation.py +0 -0
  488. {alysis_code-0.14.1 → alysis_code-0.14.2}/src/alysis_code/workspace_provisioning.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: alysis-code
3
- Version: 0.14.1
3
+ Version: 0.14.2
4
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
@@ -6,6 +6,19 @@ Notable user-facing changes to Alysis Code are recorded here. This project follo
6
6
 
7
7
  ## [Unreleased]
8
8
 
9
+ ## [0.14.2] - 2026-09-28
10
+
11
+ ### Fixed
12
+
13
+ - Show only supported reasoning efforts for hosted Luna and clear incompatible
14
+ settings inherited from another model. Map saved or environment-provided
15
+ `minimal` and `ultra` settings to `low` and `max`, preventing invalid-effort
16
+ errors during the free-credit campaign.
17
+ - Preserve the hosted gateway's capacity retry guidance and account request-limit
18
+ messages so users can distinguish temporary capacity from exhausted credits.
19
+ - Cancel working-tip link clicks when a fast mouse drag arrives before the next
20
+ screen repaint.
21
+
9
22
  ## [0.14.1] - 2026-09-25
10
23
 
11
24
  ### Added
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "alysis-code"
7
- version = "0.14.1"
7
+ version = "0.14.2"
8
8
  description = "Local CLI coding agent powered by any API."
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.11"
@@ -1,3 +1,3 @@
1
1
  __all__ = ["__version__"]
2
2
 
3
- __version__ = "0.14.1"
3
+ __version__ = "0.14.2"
@@ -492,7 +492,7 @@ class ConfigMenuState:
492
492
  """Drop a stale effort inherited from another provider/model surface."""
493
493
 
494
494
  preset = _active_preset(self)
495
- if preset is None or preset.key not in {"nvidia", "zai-coding-plan"}:
495
+ if preset is None or preset.key not in {"alysis", "nvidia", "zai-coding-plan"}:
496
496
  return
497
497
  allowed = _thinking_labels_for_state(
498
498
  self,
@@ -3674,7 +3674,7 @@ def _thinking_labels_for_state(
3674
3674
  if preset_key == "nvidia" and contract is UNKNOWN_CONTRACT:
3675
3675
  return ("auto",)
3676
3676
  current = _normalize_thinking_label(state.thinking_label)
3677
- if preset_key in {"nvidia", "zai-coding-plan"}:
3677
+ if preset_key in {"alysis", "nvidia", "zai-coding-plan"}:
3678
3678
  # A global effort may have been saved for the previously active
3679
3679
  # provider. Do not preserve an invalid value merely because it is
3680
3680
  # current; these controls are exact per hosted model and surface.
@@ -59,6 +59,7 @@ from prompt_toolkit.layout.controls import FormattedTextControl, UIContent, UICo
59
59
  from prompt_toolkit.layout.dimension import D
60
60
  from prompt_toolkit.layout.margins import ScrollbarMargin
61
61
  from prompt_toolkit.layout.menus import CompletionsMenu
62
+ from prompt_toolkit.layout.mouse_handlers import MouseHandlers
62
63
  from prompt_toolkit.layout.processors import Processor, Transformation
63
64
  from prompt_toolkit.layout.utils import explode_text_fragments
64
65
  from prompt_toolkit.mouse_events import MouseButton, MouseEvent, MouseEventType
@@ -2646,6 +2647,7 @@ def run_tui(
2646
2647
  "step": None,
2647
2648
  "generation": 0,
2648
2649
  "worker_generation": None,
2650
+ "early_mouse_handlers": None,
2649
2651
  }
2650
2652
 
2651
2653
  def _safe_invalidate() -> None:
@@ -2660,11 +2662,30 @@ def run_tui(
2660
2662
  tip_link_press = None
2661
2663
  drag_capture["generation"] += 1
2662
2664
  drag_capture.update({"target": target, "direction": 0, "step": step})
2665
+ if target == "tip_link":
2666
+ # A whole press/drag/release can arrive in one input batch, before
2667
+ # the capture float repaints. Capture those events immediately too.
2668
+ application = get_app()
2669
+ renderer = application.renderer
2670
+ previous = renderer.mouse_handlers
2671
+ captured = MouseHandlers()
2672
+ size = application.output.get_size()
2673
+ captured.set_mouse_handler_for_range(
2674
+ 0, size.columns, 0, size.rows, _tip_link_mouse_event
2675
+ )
2676
+ renderer.mouse_handlers = captured
2677
+ drag_capture["early_mouse_handlers"] = (renderer, previous, captured)
2663
2678
  _safe_invalidate()
2664
2679
 
2665
2680
  def _stop_drag_capture() -> None:
2666
2681
  nonlocal tip_link_press
2667
2682
  tip_link_press = None
2683
+ early_handlers = drag_capture.pop("early_mouse_handlers", None)
2684
+ if early_handlers is not None:
2685
+ renderer, previous, captured = early_handlers
2686
+ # A repaint installs its own capture map; never restore over it.
2687
+ if renderer.mouse_handlers is captured:
2688
+ renderer.mouse_handlers = previous
2668
2689
  if drag_capture["target"] is None:
2669
2690
  return
2670
2691
  drag_capture["generation"] += 1
@@ -1362,6 +1362,12 @@ def alysis_trial_error_message(err: LLMError) -> str | None:
1362
1362
  # and reservation budget in its message, while retaining the OpenAI error code.
1363
1363
  # Preserve that explanation instead of mislabeling every limit as excess RPM.
1364
1364
  message = error.get("message")
1365
+ if (
1366
+ code == "hosted_capacity_exceeded"
1367
+ and isinstance(message, str)
1368
+ and message.startswith("Hosted model capacity is busy. Retry in ")
1369
+ ):
1370
+ return message[:2048]
1365
1371
  if (
1366
1372
  code == "rate_limit_exceeded"
1367
1373
  and isinstance(message, str)
@@ -1371,6 +1377,7 @@ def alysis_trial_error_message(err: LLMError) -> str | None:
1371
1377
  "Weekly fair-use limit reached (",
1372
1378
  "Four hosted requests are already running for your account.",
1373
1379
  "Your account has reached its hosted request limit.",
1380
+ "Your account has reached the 20 requests per minute limit.",
1374
1381
  "Available credits cannot cover this request while other usage or reservations apply.",
1375
1382
  "Your available credit allowance is exhausted.",
1376
1383
  )
@@ -1024,9 +1024,15 @@ def _responses_reasoning(
1024
1024
  enable_thinking: bool | None,
1025
1025
  reasoning_effort: str | None,
1026
1026
  request_summary: bool = False,
1027
+ provider_key: str | None = None,
1028
+ model: str | None = None,
1027
1029
  ) -> dict[str, Any] | None:
1028
1030
  reasoning: dict[str, Any] = {}
1029
1031
  effort = str(reasoning_effort or "").strip().lower()
1032
+ if provider_key == "alysis" and model == "gpt-6-luna":
1033
+ # Older hosted pickers exposed the generic Responses efforts. Preserve
1034
+ # saved configs and environment overrides at Luna's supported bounds.
1035
+ effort = {"minimal": "low", "ultra": "max"}.get(effort, effort)
1030
1036
  if effort:
1031
1037
  if effort not in _RESPONSES_REASONING_EFFORTS:
1032
1038
  raise LLMError(f"OpenAI Responses reasoning_effort is not supported: {effort}")
@@ -2115,6 +2121,8 @@ class OpenAIResponsesClient:
2115
2121
  enable_thinking=self.enable_thinking,
2116
2122
  reasoning_effort=self.reasoning_effort,
2117
2123
  request_summary=self._should_request_reasoning_summary(),
2124
+ provider_key=self.provider_key,
2125
+ model=self.model,
2118
2126
  )
2119
2127
  documented_temperature_reason = documented_temperature_omit_reason(
2120
2128
  self.model,
@@ -88,6 +88,7 @@ def reasoning_labels_allowed_by_contract(
88
88
  return list(labels)
89
89
  effort_wires = {
90
90
  WIRE_REASONING_EFFORT,
91
+ WIRE_REASONING_OBJECT,
91
92
  WIRE_THINKING_LEVEL,
92
93
  WIRE_THINKING_ADAPTIVE,
93
94
  }
File without changes
File without changes
File without changes
File without changes