alysis-code 0.14.9__tar.gz → 0.15.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 (622) hide show
  1. {alysis_code-0.14.9 → alysis_code-0.15.1}/.gitignore +3 -0
  2. {alysis_code-0.14.9 → alysis_code-0.15.1}/PKG-INFO +28 -11
  3. {alysis_code-0.14.9 → alysis_code-0.15.1}/README.md +12 -5
  4. {alysis_code-0.14.9 → alysis_code-0.15.1}/docs/CHANGELOG.md +81 -22
  5. {alysis_code-0.14.9 → alysis_code-0.15.1}/pyproject.toml +22 -10
  6. alysis_code-0.15.1/schemas/forge-host-v2/forge-host-v2.schema.json +5433 -0
  7. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/__init__.py +1 -1
  8. alysis_code-0.15.1/src/alysis_code/_windows_session_files.py +468 -0
  9. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/account_login.py +153 -15
  10. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/agent/README.md +3 -7
  11. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/agent/acceptance_contract.py +113 -33
  12. alysis_code-0.15.1/src/alysis_code/agent/action_approval.py +113 -0
  13. alysis_code-0.15.1/src/alysis_code/agent/approval_review.py +386 -0
  14. alysis_code-0.15.1/src/alysis_code/agent/browser_start.py +375 -0
  15. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/agent/checkpoint_worker.py +3 -2
  16. alysis_code-0.15.1/src/alysis_code/agent/computer_use_evidence.py +134 -0
  17. alysis_code-0.15.1/src/alysis_code/agent/computer_use_files.py +262 -0
  18. alysis_code-0.15.1/src/alysis_code/agent/computer_use_tools.py +960 -0
  19. alysis_code-0.15.1/src/alysis_code/agent/computer_use_upload_objectives.py +98 -0
  20. alysis_code-0.15.1/src/alysis_code/agent/computer_use_uploads.py +261 -0
  21. alysis_code-0.15.1/src/alysis_code/agent/computer_use_verification.py +156 -0
  22. alysis_code-0.15.1/src/alysis_code/agent/connector_result_evidence.py +107 -0
  23. alysis_code-0.15.1/src/alysis_code/agent/errors.py +57 -0
  24. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/agent/llm_calls.py +73 -25
  25. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/agent/prompt_context.py +375 -975
  26. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/agent/prompt_guidance.py +3 -0
  27. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/agent/regression_baseline.py +4 -1
  28. alysis_code-0.15.1/src/alysis_code/agent/sensitive_output.py +2017 -0
  29. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/agent/session.py +1197 -318
  30. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/agent/subagent_execution.py +30 -71
  31. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/agent/task_evidence.py +101 -19
  32. alysis_code-0.15.1/src/alysis_code/agent/tool_arguments.py +160 -0
  33. alysis_code-0.15.1/src/alysis_code/agent/tool_contract_recovery.py +89 -0
  34. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/agent/tools_assembly.py +753 -95
  35. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/agent/turn/core.py +1854 -271
  36. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/agent/turn_contract.py +44 -18
  37. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/agent/verification.py +3 -8
  38. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/agent_loop.py +5 -39
  39. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/agent_runtimes/codex_cli.py +4 -5
  40. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/alysis_cloud.py +49 -35
  41. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/approval_scope.py +18 -0
  42. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/assets/asset_read_core.py +5 -2
  43. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/assets/comprehender.py +6 -3
  44. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/assets/ingestion.py +5 -4
  45. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/assets/legacy_migration.py +3 -2
  46. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/assets/ocr.py +2 -1
  47. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/assets/planner_context.py +5 -2
  48. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/assets/surface.py +3 -2
  49. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/assets/worker_mirror.py +3 -2
  50. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/atomic_io.py +7 -0
  51. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/background_runner.py +63 -52
  52. alysis_code-0.15.1/src/alysis_code/branding.py +99 -0
  53. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/budget_policy.py +7 -4
  54. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/build_identity.py +6 -4
  55. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/cancellation.py +21 -0
  56. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/capabilities.py +85 -0
  57. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/cli.py +19 -12
  58. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/cli_impl/chat/commands.py +0 -70
  59. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/cli_impl/chat/loop.py +298 -64
  60. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/cli_impl/chat/mid_turn_policy.py +1 -2
  61. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/cli_impl/chat/state.py +4 -13
  62. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/cli_impl/chat_resume.py +2 -5
  63. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/cli_impl/chat_slash_completer.py +33 -8
  64. alysis_code-0.15.1/src/alysis_code/cli_impl/commands/agents.py +103 -0
  65. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/cli_impl/commands/auth.py +206 -9
  66. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/cli_impl/commands/chat_resume_helpers.py +45 -49
  67. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/cli_impl/commands/chat_terminal.py +12 -3
  68. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/cli_impl/commands/cli_common.py +0 -3
  69. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/cli_impl/commands/config.py +6 -2
  70. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/cli_impl/commands/execution_helpers.py +2 -1
  71. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/cli_impl/commands/extensions.py +13 -5
  72. alysis_code-0.15.1/src/alysis_code/cli_impl/commands/forge.py +2997 -0
  73. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/cli_impl/commands/forge_helpers.py +93 -255
  74. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/cli_impl/commands/mcp.py +19 -4
  75. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/cli_impl/commands/profile.py +242 -6
  76. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/cli_impl/commands/root.py +128 -33
  77. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/cli_impl/commands/startup.py +3 -2
  78. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/cli_impl/commands/welcome.py +4 -6
  79. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/cli_impl/config_menu.py +26 -15
  80. alysis_code-0.15.1/src/alysis_code/cli_impl/file_mention_completer.py +146 -0
  81. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/cli_impl/forge.py +3313 -306
  82. alysis_code-0.15.1/src/alysis_code/cli_impl/tui/actions.py +78 -0
  83. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/cli_impl/tui/app.py +1187 -141
  84. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/cli_impl/tui/config_flow.py +34 -1
  85. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/cli_impl/tui/config_overlay.py +19 -15
  86. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/cli_impl/tui/content.py +6 -1
  87. alysis_code-0.15.1/src/alysis_code/cli_impl/tui/diff_view.py +714 -0
  88. alysis_code-0.15.1/src/alysis_code/cli_impl/tui/integration_inspector.py +428 -0
  89. alysis_code-0.15.1/src/alysis_code/cli_impl/tui/integration_modal.py +395 -0
  90. alysis_code-0.15.1/src/alysis_code/cli_impl/tui/local_action_lifecycle.py +104 -0
  91. alysis_code-0.15.1/src/alysis_code/cli_impl/tui/local_mode_host.py +64 -0
  92. alysis_code-0.15.1/src/alysis_code/cli_impl/tui/modal_focus.py +26 -0
  93. alysis_code-0.15.1/src/alysis_code/cli_impl/tui/navigation_ui.py +307 -0
  94. alysis_code-0.15.1/src/alysis_code/cli_impl/tui/panel_text.py +82 -0
  95. alysis_code-0.15.1/src/alysis_code/cli_impl/tui/planning_backend.py +97 -0
  96. alysis_code-0.15.1/src/alysis_code/cli_impl/tui/planning_chooser.py +251 -0
  97. alysis_code-0.15.1/src/alysis_code/cli_impl/tui/prompt_history.py +196 -0
  98. alysis_code-0.15.1/src/alysis_code/cli_impl/tui/question_panel.py +487 -0
  99. alysis_code-0.15.1/src/alysis_code/cli_impl/tui/report_flow.py +470 -0
  100. alysis_code-0.15.1/src/alysis_code/cli_impl/tui/report_overlay.py +179 -0
  101. alysis_code-0.15.1/src/alysis_code/cli_impl/tui/review.py +377 -0
  102. alysis_code-0.15.1/src/alysis_code/cli_impl/tui/review_client.py +85 -0
  103. alysis_code-0.15.1/src/alysis_code/cli_impl/tui/session_navigation.py +166 -0
  104. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/cli_impl/tui/subagent_panel.py +2 -1
  105. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/cli_impl/tui/surface.py +87 -10
  106. alysis_code-0.15.1/src/alysis_code/cli_impl/tui/tool_trace.py +297 -0
  107. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/cli_impl/tui/transcript.py +93 -15
  108. alysis_code-0.15.1/src/alysis_code/cli_impl/tui/transcript_navigation.py +73 -0
  109. alysis_code-0.15.1/src/alysis_code/cli_impl/workspace_file_index.py +233 -0
  110. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/clipboard.py +28 -6
  111. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/code_review.py +71 -47
  112. alysis_code-0.15.1/src/alysis_code/command_review_rules.py +215 -0
  113. alysis_code-0.15.1/src/alysis_code/command_text.py +117 -0
  114. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/compaction/conversation_compactor.py +31 -4
  115. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/compaction/tool_output_offload.py +74 -0
  116. alysis_code-0.15.1/src/alysis_code/computer_use_diagnostics.py +441 -0
  117. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/config.py +153 -44
  118. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/conflict_auto_resolver.py +2 -1
  119. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/consumer_verification.py +7 -4
  120. alysis_code-0.15.1/src/alysis_code/critical_paths.py +200 -0
  121. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/custom_tools/runtime.py +1 -14
  122. alysis_code-0.15.1/src/alysis_code/desktop_connections.py +135 -0
  123. alysis_code-0.15.1/src/alysis_code/desktop_terminal.py +121 -0
  124. alysis_code-0.15.1/src/alysis_code/device_identity.py +48 -0
  125. alysis_code-0.15.1/src/alysis_code/diff_view.py +230 -0
  126. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/dispatch_timing.py +0 -2
  127. alysis_code-0.15.1/src/alysis_code/documents/__init__.py +44 -0
  128. alysis_code-0.15.1/src/alysis_code/documents/__main__.py +454 -0
  129. alysis_code-0.15.1/src/alysis_code/documents/fonts/LICENSE_LIBERATION +101 -0
  130. alysis_code-0.15.1/src/alysis_code/documents/fonts/LiberationSans-Bold.ttf +0 -0
  131. alysis_code-0.15.1/src/alysis_code/documents/fonts/LiberationSans-BoldItalic.ttf +0 -0
  132. alysis_code-0.15.1/src/alysis_code/documents/fonts/LiberationSans-Italic.ttf +0 -0
  133. alysis_code-0.15.1/src/alysis_code/documents/fonts/LiberationSans-Regular.ttf +0 -0
  134. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/durable_service_manager.py +114 -56
  135. alysis_code-0.15.1/src/alysis_code/embedded_browser.py +293 -0
  136. alysis_code-0.15.1/src/alysis_code/embedded_browser_visual.py +167 -0
  137. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/execution_budget.py +1 -0
  138. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/execution_context.py +3 -2
  139. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/execution_deadline.py +31 -1
  140. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/execution_shared.py +2 -1
  141. alysis_code-0.15.1/src/alysis_code/extensions/bundled/github/alysis-plugin.toml +25 -0
  142. alysis_code-0.15.1/src/alysis_code/extensions/bundled/google-calendar/alysis-plugin.toml +24 -0
  143. alysis_code-0.15.1/src/alysis_code/extensions/bundled/google-chat/alysis-plugin.toml +24 -0
  144. alysis_code-0.15.1/src/alysis_code/extensions/bundled/google-contacts/alysis-plugin.toml +24 -0
  145. alysis_code-0.15.1/src/alysis_code/extensions/bundled/google-docs/alysis-plugin.toml +24 -0
  146. alysis_code-0.15.1/src/alysis_code/extensions/bundled/google-drive/alysis-plugin.toml +24 -0
  147. alysis_code-0.15.1/src/alysis_code/extensions/bundled/google-gmail/alysis-plugin.toml +24 -0
  148. alysis_code-0.15.1/src/alysis_code/extensions/bundled/google-sheets/alysis-plugin.toml +24 -0
  149. alysis_code-0.15.1/src/alysis_code/extensions/bundled/google-slides/alysis-plugin.toml +24 -0
  150. alysis_code-0.15.1/src/alysis_code/extensions/bundled.py +24 -0
  151. alysis_code-0.15.1/src/alysis_code/extensions/component_activation.py +95 -0
  152. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/extensions/install.py +66 -12
  153. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/extensions/manifest.py +9 -20
  154. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/extensions/models.py +7 -0
  155. alysis_code-0.15.1/src/alysis_code/extensions/registry.json +213 -0
  156. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/failed_task_evidence.py +2 -1
  157. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/failure_category.py +1 -0
  158. alysis_code-0.15.1/src/alysis_code/feedback_delivery.py +205 -0
  159. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/forge.py +11 -6
  160. alysis_code-0.15.1/src/alysis_code/forge_conformance.py +558 -0
  161. alysis_code-0.15.1/src/alysis_code/forge_contract_verification.py +197 -0
  162. alysis_code-0.15.1/src/alysis_code/forge_host_cli.py +421 -0
  163. alysis_code-0.15.1/src/alysis_code/forge_host_client.py +222 -0
  164. alysis_code-0.15.1/src/alysis_code/forge_host_engine_bridge.py +698 -0
  165. alysis_code-0.15.1/src/alysis_code/forge_host_native_adapter.py +1263 -0
  166. alysis_code-0.15.1/src/alysis_code/forge_host_protocol/__init__.py +210 -0
  167. alysis_code-0.15.1/src/alysis_code/forge_host_protocol/canonical.py +298 -0
  168. alysis_code-0.15.1/src/alysis_code/forge_host_protocol/codec.py +210 -0
  169. alysis_code-0.15.1/src/alysis_code/forge_host_protocol/errors.py +64 -0
  170. alysis_code-0.15.1/src/alysis_code/forge_host_protocol/ledger.py +752 -0
  171. alysis_code-0.15.1/src/alysis_code/forge_host_protocol/models.py +1878 -0
  172. alysis_code-0.15.1/src/alysis_code/forge_host_protocol/negotiation.py +63 -0
  173. alysis_code-0.15.1/src/alysis_code/forge_host_protocol/redaction.py +63 -0
  174. alysis_code-0.15.1/src/alysis_code/forge_host_protocol/schema.py +51 -0
  175. alysis_code-0.15.1/src/alysis_code/forge_host_runtime.py +653 -0
  176. alysis_code-0.15.1/src/alysis_code/forge_host_service.py +1911 -0
  177. alysis_code-0.15.1/src/alysis_code/forge_host_stdio.py +384 -0
  178. alysis_code-0.15.1/src/alysis_code/forge_host_verification.py +865 -0
  179. alysis_code-0.15.1/src/alysis_code/forge_planner_engine.py +613 -0
  180. alysis_code-0.15.1/src/alysis_code/forge_planning_profile.py +89 -0
  181. alysis_code-0.15.1/src/alysis_code/forge_sequential_engine.py +2253 -0
  182. alysis_code-0.15.1/src/alysis_code/forge_status_channel.py +410 -0
  183. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/git_evidence.py +2 -1
  184. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/git_ops.py +7 -3
  185. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/git_worktrees.py +5 -4
  186. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/hooks/dispatcher.py +3 -14
  187. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/hooks/trust.py +24 -8
  188. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/host_actions.py +228 -2
  189. alysis_code-0.15.1/src/alysis_code/host_images.py +650 -0
  190. alysis_code-0.15.1/src/alysis_code/host_tls.py +113 -0
  191. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/ide/activity_events.py +5 -2
  192. alysis_code-0.15.1/src/alysis_code/ide/approval_binding.py +288 -0
  193. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/ide/change_ledger.py +33 -5
  194. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/ide/event_stream.py +149 -23
  195. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/ide/health.py +182 -3
  196. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/ide/managed_browser.py +2 -1
  197. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/ide/management_protocol.py +92 -8
  198. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/ide/prompt_queue.py +142 -3
  199. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/ide/session_search.py +8 -2
  200. alysis_code-0.15.1/src/alysis_code/ide/skill_invocation.py +46 -0
  201. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/ide/stdio_bridge.py +4149 -446
  202. alysis_code-0.15.1/src/alysis_code/ide/task_budget_channel.py +170 -0
  203. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/knowledge_capture.py +9 -0
  204. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/llm/anthropic_messages.py +131 -32
  205. alysis_code-0.15.1/src/alysis_code/llm/base.py +152 -0
  206. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/llm/cache_capabilities.py +11 -8
  207. alysis_code-0.15.1/src/alysis_code/llm/cancellable_http.py +386 -0
  208. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/llm/factory.py +16 -13
  209. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/llm/gemini_generate_content.py +92 -32
  210. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/llm/gemini_interactions.py +13 -2
  211. alysis_code-0.15.1/src/alysis_code/llm/hosted_request_limits.py +130 -0
  212. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/llm/http_cancellation.py +116 -39
  213. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/llm/openai_compat.py +357 -113
  214. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/llm/openai_responses.py +441 -69
  215. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/llm/protocols.py +63 -2
  216. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/llm/provider_limits.py +114 -6
  217. alysis_code-0.15.1/src/alysis_code/llm/rate_limit_metadata.py +56 -0
  218. alysis_code-0.15.1/src/alysis_code/llm/reasoning_trace.py +154 -0
  219. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/llm/streaming.py +16 -0
  220. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/llm/temperature_compat.py +1 -1
  221. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/llm/types.py +19 -4
  222. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/llm_error_display.py +5 -1
  223. alysis_code-0.15.1/src/alysis_code/managed_session.py +464 -0
  224. alysis_code-0.15.1/src/alysis_code/mcp/cancellation.py +80 -0
  225. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/mcp/client.py +18 -0
  226. alysis_code-0.15.1/src/alysis_code/mcp/github_discovery.py +526 -0
  227. alysis_code-0.15.1/src/alysis_code/mcp/github_host.py +261 -0
  228. alysis_code-0.15.1/src/alysis_code/mcp/google_host.py +171 -0
  229. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/mcp/manager.py +230 -107
  230. alysis_code-0.15.1/src/alysis_code/mcp/retention.py +29 -0
  231. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/mcp/token_store.py +52 -44
  232. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/mcp/transport_stdio.py +167 -11
  233. alysis_code-0.15.1/src/alysis_code/mcp/visual_delivery.py +108 -0
  234. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/merge_conflict_reviewer.py +2 -1
  235. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/model_catalog/chatgpt_codex_subscription_snapshot.json +45 -0
  236. alysis_code-0.15.1/src/alysis_code/model_reasoning.py +286 -0
  237. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/model_registry.py +35 -0
  238. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/model_router.py +3 -0
  239. alysis_code-0.15.1/src/alysis_code/office/__init__.py +60 -0
  240. alysis_code-0.15.1/src/alysis_code/office/__main__.py +211 -0
  241. alysis_code-0.15.1/src/alysis_code/office/rendering.py +174 -0
  242. alysis_code-0.15.1/src/alysis_code/office/sheets.py +817 -0
  243. alysis_code-0.15.1/src/alysis_code/office/slides.py +584 -0
  244. alysis_code-0.15.1/src/alysis_code/office/word.py +482 -0
  245. alysis_code-0.15.1/src/alysis_code/open_panels.py +158 -0
  246. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/personas.py +7 -3
  247. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/plan_assistant.py +26 -2
  248. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/plan_validation.py +10 -1
  249. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/policy.py +18 -0
  250. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/preview_server.py +3 -1
  251. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/process_reaping.py +133 -9
  252. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/profile_presets.py +31 -12
  253. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/profiles.py +41 -28
  254. alysis_code-0.15.1/src/alysis_code/project_data.py +53 -0
  255. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/provider_auth/__init__.py +10 -0
  256. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/provider_auth/base.py +64 -1
  257. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/provider_auth/openai_codex.py +501 -233
  258. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/provider_auth/registry.py +44 -0
  259. alysis_code-0.15.1/src/alysis_code/provider_auth/store.py +333 -0
  260. alysis_code-0.15.1/src/alysis_code/provider_auth/subscription_identity.py +118 -0
  261. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/provider_model_catalog.py +50 -1
  262. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/provider_telemetry.py +46 -7
  263. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/provider_url.py +21 -4
  264. alysis_code-0.15.1/src/alysis_code/read_only_commands.py +586 -0
  265. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/reasoning_contracts.py +97 -15
  266. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/remote_sync.py +22 -1
  267. alysis_code-0.15.1/src/alysis_code/review_service.py +225 -0
  268. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/run_outcome.py +17 -7
  269. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/run_provenance.py +0 -5
  270. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/runtime_artifacts.py +10 -1
  271. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/sandbox_doctor.py +4 -3
  272. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/sandbox_runner.py +289 -82
  273. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/sandbox_settings.py +22 -1
  274. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/server/worker_runner.py +4 -3
  275. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/session_store.py +97 -20
  276. alysis_code-0.15.1/src/alysis_code/shell_command_lexer.py +283 -0
  277. alysis_code-0.15.1/src/alysis_code/skills/bundled/alysis-docs/SKILL.md +24 -0
  278. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/skills/evals.py +2 -1
  279. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/skills/install.py +3 -2
  280. alysis_code-0.15.1/src/alysis_code/subagent_settings.py +308 -0
  281. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/subagents.py +11 -4
  282. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/surface/__init__.py +4 -0
  283. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/surface/base.py +24 -0
  284. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/surface/events.py +57 -0
  285. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/surface/hidden_surface.py +41 -0
  286. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/surface/noop_surface.py +13 -0
  287. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/surface/rich_surface.py +39 -2
  288. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/surface/types.py +33 -1
  289. alysis_code-0.15.1/src/alysis_code/task_budget.py +325 -0
  290. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/task_scope.py +2 -1
  291. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/terminal_ownership.py +2 -1
  292. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/tools/git.py +2 -3
  293. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/tools/registry.py +307 -1
  294. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/tools/repo_map.py +2 -1
  295. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/tools/search.py +5 -3
  296. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/tools/shell.py +51 -12
  297. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/tools/test_discovery.py +2 -1
  298. alysis_code-0.15.1/src/alysis_code/unicode_text.py +14 -0
  299. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/updates.py +6 -14
  300. alysis_code-0.15.1/src/alysis_code/user_questions.py +410 -0
  301. alysis_code-0.15.1/src/alysis_code/verification_contract.py +1559 -0
  302. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/verify_gate.py +24 -2
  303. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/web_research.py +73 -27
  304. alysis_code-0.15.1/src/alysis_code/windows_command_policy.py +355 -0
  305. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/workspace_binding.py +5 -1
  306. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/workspace_binding_ui.py +2 -0
  307. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/workspace_context.py +24 -4
  308. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/workspace_isolation.py +4 -3
  309. alysis_code-0.14.9/src/alysis_code/agent/errors.py +0 -28
  310. alysis_code-0.14.9/src/alysis_code/agent/sensitive_output.py +0 -648
  311. alysis_code-0.14.9/src/alysis_code/agent/task_state.py +0 -1263
  312. alysis_code-0.14.9/src/alysis_code/branding.py +0 -252
  313. alysis_code-0.14.9/src/alysis_code/cli_impl/commands/forge.py +0 -1283
  314. alysis_code-0.14.9/src/alysis_code/extensions/registry.json +0 -4
  315. alysis_code-0.14.9/src/alysis_code/llm/base.py +0 -71
  316. alysis_code-0.14.9/src/alysis_code/provider_auth/store.py +0 -125
  317. alysis_code-0.14.9/src/alysis_code/verification_contract.py +0 -578
  318. {alysis_code-0.14.9 → alysis_code-0.15.1}/LICENSE +0 -0
  319. {alysis_code-0.14.9 → alysis_code-0.15.1}/NOTICE +0 -0
  320. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/__main__.py +0 -0
  321. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/_build_info.py +0 -0
  322. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/agent/__init__.py +0 -0
  323. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/agent/anytime_checkpoint.py +0 -0
  324. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/agent/blast_radius.py +0 -0
  325. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/agent/cache_keepalive.py +0 -0
  326. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/agent/completion_certificate.py +0 -0
  327. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/agent/completion_gate.py +0 -0
  328. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/agent/empty_response_stall.py +0 -0
  329. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/agent/mutation_classification.py +0 -0
  330. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/agent/prompt_families.py +0 -0
  331. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/agent/read_ledger.py +0 -0
  332. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/agent/reproduction_first.py +0 -0
  333. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/agent/steering.py +0 -0
  334. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/agent/subagent_workspace.py +0 -0
  335. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/agent/turn/__init__.py +0 -0
  336. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/agent/turn/events.py +0 -0
  337. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/agent/turn/exploration.py +0 -0
  338. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/agent/turn/interventions.py +0 -0
  339. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/agent/turn/read_cache.py +0 -0
  340. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/agent/turn/snapshot.py +0 -0
  341. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/agent/turn/subagent_progress.py +0 -0
  342. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/agent/turn_path.py +0 -0
  343. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/agent/verification_commands.py +0 -0
  344. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/agent/verification_evidence.py +0 -0
  345. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/agent/verification_result.py +0 -0
  346. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/agent_runtimes/__init__.py +0 -0
  347. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/agent_runtimes/base.py +0 -0
  348. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/agent_runtimes/builtins.py +0 -0
  349. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/agent_runtimes/host.py +0 -0
  350. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/agent_runtimes/registry.py +0 -0
  351. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/agent_runtimes/service.py +0 -0
  352. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/agentbox_client.py +0 -0
  353. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/agentbox_integration.py +0 -0
  354. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/assets/README.md +0 -0
  355. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/assets/__init__.py +0 -0
  356. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/assets/budget_allocator.py +0 -0
  357. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/assets/index.py +0 -0
  358. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/assets/local_tools.py +0 -0
  359. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/assets/models.py +0 -0
  360. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/assets/owl/ascii/f-000.txt +0 -0
  361. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/assets/owl/ascii/f-001.txt +0 -0
  362. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/assets/owl/ascii/f-002.txt +0 -0
  363. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/assets/owl/ascii/f-003.txt +0 -0
  364. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/assets/owl/ascii/f-004.txt +0 -0
  365. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/assets/owl/ascii/f-005.txt +0 -0
  366. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/assets/owl/ascii/f-006.txt +0 -0
  367. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/assets/owl/ascii/f-007.txt +0 -0
  368. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/assets/owl/ascii/f-008.txt +0 -0
  369. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/assets/owl/ascii/f-009.txt +0 -0
  370. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/assets/owl/ascii/f-010.txt +0 -0
  371. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/assets/owl/ascii/f-011.txt +0 -0
  372. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/assets/owl/ascii/f-012.txt +0 -0
  373. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/assets/owl/ascii/f-013.txt +0 -0
  374. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/assets/owl/ascii/f-014.txt +0 -0
  375. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/assets/owl/ascii/f-015.txt +0 -0
  376. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/assets/owl/ascii/f-016.txt +0 -0
  377. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/assets/owl/ascii/f-017.txt +0 -0
  378. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/assets/owl/ascii/f-018.txt +0 -0
  379. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/assets/owl/ascii/f-019.txt +0 -0
  380. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/assets/owl/ascii/f-020.txt +0 -0
  381. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/assets/owl/index.html +0 -0
  382. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/assets/owl/show-owl.sh +0 -0
  383. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/assets/paths.py +0 -0
  384. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/assets/plan_binding.py +0 -0
  385. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/assets/planner_tools.py +0 -0
  386. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/assets/prompts.py +0 -0
  387. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/assets/replanner_context.py +0 -0
  388. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/assets/untrusted_content.py +0 -0
  389. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/assets/usage_logger.py +0 -0
  390. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/assets/worker_section.py +0 -0
  391. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/assets/worker_tools.py +0 -0
  392. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/auth_diagnostics.py +0 -0
  393. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/builtin_hooks/__init__.py +0 -0
  394. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/builtin_hooks/notify_done_windows.py +0 -0
  395. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/bwrap_etc.py +0 -0
  396. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/chatgpt_codex_static_provider.py +0 -0
  397. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/checkpoint_settings.py +0 -0
  398. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/cli_impl/__init__.py +0 -0
  399. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/cli_impl/assets_cli.py +0 -0
  400. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/cli_impl/assets_modal.py +0 -0
  401. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/cli_impl/chat/__init__.py +0 -0
  402. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/cli_impl/chat/forge_visibility.py +0 -0
  403. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/cli_impl/chat/rendering.py +0 -0
  404. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/cli_impl/commands/__init__.py +0 -0
  405. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/cli_impl/commands/_shared.py +0 -0
  406. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/cli_impl/commands/chat_state.py +0 -0
  407. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/cli_impl/commands/chat_status.py +0 -0
  408. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/cli_impl/commands/chat_tui_panels.py +0 -0
  409. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/cli_impl/commands/cli_surface.py +0 -0
  410. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/cli_impl/commands/conventions.py +0 -0
  411. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/cli_impl/commands/forge_asset_view.py +0 -0
  412. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/cli_impl/commands/hooks.py +0 -0
  413. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/cli_impl/commands/ide_bridge.py +0 -0
  414. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/cli_impl/commands/prompt_helpers.py +0 -0
  415. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/cli_impl/commands/report.py +0 -0
  416. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/cli_impl/commands/sandbox.py +0 -0
  417. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/cli_impl/commands/server.py +0 -0
  418. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/cli_impl/commands/sessions.py +0 -0
  419. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/cli_impl/commands/skills.py +0 -0
  420. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/cli_impl/commands/tools.py +0 -0
  421. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/cli_impl/commands/update.py +0 -0
  422. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/cli_impl/forge_recovery.py +0 -0
  423. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/cli_impl/setup_wizard.py +0 -0
  424. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/cli_impl/tui/__init__.py +0 -0
  425. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/cli_impl/tui/attachments.py +0 -0
  426. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/cli_impl/tui/composer.py +0 -0
  427. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/cli_impl/tui/config.py +0 -0
  428. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/cli_impl/tui/footer.py +0 -0
  429. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/cli_impl/tui/forge_status.py +0 -0
  430. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/cli_impl/tui/links.py +0 -0
  431. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/cli_impl/tui/markdown.py +0 -0
  432. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/cli_impl/tui/owl.py +0 -0
  433. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/cli_impl/tui/plan_meta.py +0 -0
  434. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/cli_impl/tui/selection_bindings.py +0 -0
  435. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/cli_impl/tui/setup_app.py +0 -0
  436. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/cli_impl/tui/setup_flow.py +0 -0
  437. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/cli_impl/tui/state.py +0 -0
  438. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/cli_impl/tui/subagent_identity.py +0 -0
  439. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/cli_impl/tui/tips.py +0 -0
  440. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/cli_impl/tui/update_prompt.py +0 -0
  441. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/cli_impl/tui/workspace_guard.py +0 -0
  442. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/compaction/__init__.py +0 -0
  443. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/compaction/importance.py +0 -0
  444. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/compaction/settings.py +0 -0
  445. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/context/__init__.py +0 -0
  446. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/context/tool_schema_budgeter.py +0 -0
  447. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/crash_diagnostics.py +0 -0
  448. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/custom_tools/README.md +0 -0
  449. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/custom_tools/__init__.py +0 -0
  450. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/custom_tools/discovery.py +0 -0
  451. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/custom_tools/session.py +0 -0
  452. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/custom_tools/trust.py +0 -0
  453. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/diff_paths.py +0 -0
  454. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/direction_change.py +0 -0
  455. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/edit_discipline.py +0 -0
  456. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/error_text.py +0 -0
  457. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/extensions/README.md +0 -0
  458. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/extensions/__init__.py +0 -0
  459. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/extensions/activation.py +0 -0
  460. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/extensions/paths.py +0 -0
  461. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/extensions/registry.py +0 -0
  462. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/extensions/state.py +0 -0
  463. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/extensions/workspace_trust.py +0 -0
  464. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/feedback_report.py +0 -0
  465. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/file_classification.py +0 -0
  466. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/forge_completion.py +0 -0
  467. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/forge_events.py +0 -0
  468. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/frontmatter_utils.py +0 -0
  469. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/git_safe.py +0 -0
  470. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/hooks/README.md +0 -0
  471. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/hooks/__init__.py +0 -0
  472. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/hooks/audit.py +0 -0
  473. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/hooks/config.py +0 -0
  474. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/hooks/models.py +0 -0
  475. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/host_browser.py +0 -0
  476. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/ide/__init__.py +0 -0
  477. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/ide/approvals.py +0 -0
  478. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/ide/artifacts.py +0 -0
  479. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/ide/browser_egress_proxy.py +0 -0
  480. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/ide/cdp_websocket_transport.py +0 -0
  481. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/ide/context_blocks.py +0 -0
  482. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/ide/forge_protocol.py +0 -0
  483. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/ide/forge_request_ledger.py +0 -0
  484. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/ide/mcp_oauth_coordinator.py +0 -0
  485. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/ide/mcp_oauth_lifecycle.py +0 -0
  486. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/ide/parent_watchdog.py +0 -0
  487. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/ide/protocol.py +0 -0
  488. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/ide/provider_switch.py +0 -0
  489. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/ide/resumable_swarm.py +0 -0
  490. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/ide/structured_state.py +0 -0
  491. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/ide/swarm_protocol.py +0 -0
  492. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/integration_gate.py +0 -0
  493. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/interactive_input_guard.py +0 -0
  494. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/internal_artifacts.py +0 -0
  495. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/knowledge_base.py +0 -0
  496. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/knowledge_librarian.py +0 -0
  497. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/language_policy.py +0 -0
  498. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/litellm_static_provider.py +0 -0
  499. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/llm/__init__.py +0 -0
  500. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/llm/cache_control_blocks.py +0 -0
  501. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/llm/cache_policy.py +0 -0
  502. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/llm/metadata.py +0 -0
  503. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/llm/request_plan.py +0 -0
  504. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/llm/request_shape.py +0 -0
  505. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/llm/tool_call_markup.py +0 -0
  506. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/llm/usage_normalization.py +0 -0
  507. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/logging_redaction.py +0 -0
  508. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/managed_host_deadline.py +0 -0
  509. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/mcp/README.md +0 -0
  510. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/mcp/__init__.py +0 -0
  511. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/mcp/config.py +0 -0
  512. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/mcp/errors.py +0 -0
  513. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/mcp/forge_scope.py +0 -0
  514. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/mcp/jsonrpc.py +0 -0
  515. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/mcp/models.py +0 -0
  516. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/mcp/oauth.py +0 -0
  517. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/mcp/oauth_runtime.py +0 -0
  518. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/mcp/oauth_store.py +0 -0
  519. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/mcp/prompts.py +0 -0
  520. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/mcp/resources.py +0 -0
  521. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/mcp/roots.py +0 -0
  522. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/mcp/server_requests.py +0 -0
  523. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/mcp/transport_http.py +0 -0
  524. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/mcp/untrusted_content.py +0 -0
  525. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/model_catalog/__init__.py +0 -0
  526. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/model_catalog/litellm_model_prices_snapshot.json +0 -0
  527. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/model_catalog/litellm_model_prices_snapshot.meta.json +0 -0
  528. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/model_metadata_policy.py +0 -0
  529. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/model_metadata_utils.py +0 -0
  530. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/permission_policy.py +0 -0
  531. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/pipeline_facts.py +0 -0
  532. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/plan_reconciliation.py +0 -0
  533. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/plan_repair.py +0 -0
  534. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/planning_constraints.py +0 -0
  535. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/private_artifact_io.py +0 -0
  536. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/prompt_guidance_catalog.py +0 -0
  537. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/provider_diagnostics.py +0 -0
  538. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/replanning.py +0 -0
  539. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/repo_scan.py +0 -0
  540. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/request_estimation.py +0 -0
  541. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/review_gate.py +0 -0
  542. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/run_lock.py +0 -0
  543. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/run_state.py +0 -0
  544. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/runtime_context_features.py +0 -0
  545. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/runtime_kind.py +0 -0
  546. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/safety/__init__.py +0 -0
  547. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/safety/mcp_sanitize.py +0 -0
  548. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/safety/safe_http.py +0 -0
  549. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/safety/subagent_report.py +0 -0
  550. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/serialized_paths.py +0 -0
  551. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/server/__init__.py +0 -0
  552. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/server/app.py +0 -0
  553. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/server/auth.py +0 -0
  554. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/server/job_config.py +0 -0
  555. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/server/settings.py +0 -0
  556. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/server/store.py +0 -0
  557. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/service_persistence.py +0 -0
  558. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/session_artifacts.py +0 -0
  559. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/session_metrics.py +0 -0
  560. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/skills/README.md +0 -0
  561. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/skills/__init__.py +0 -0
  562. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/skills/bundled/address-pr-comments/SKILL.md +0 -0
  563. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/skills/bundled/code-review/SKILL.md +0 -0
  564. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/skills/bundled/commit/SKILL.md +0 -0
  565. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/skills/bundled/debug/SKILL.md +0 -0
  566. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/skills/bundled/fix-ci/SKILL.md +0 -0
  567. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/skills/bundled/release-notes/SKILL.md +0 -0
  568. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/skills/bundled/security-review/SKILL.md +0 -0
  569. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/skills/bundled/skill-creator/SKILL.md +0 -0
  570. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/skills/conventions.py +0 -0
  571. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/skills/discovery.py +0 -0
  572. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/skills/eval_models.py +0 -0
  573. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/skills/eval_runner.py +0 -0
  574. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/skills/loader.py +0 -0
  575. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/skills/matching.py +0 -0
  576. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/skills/models.py +0 -0
  577. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/skills/paths.py +0 -0
  578. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/skills/prompting.py +0 -0
  579. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/skills/scaffold.py +0 -0
  580. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/skills/state.py +0 -0
  581. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/skills/transactions.py +0 -0
  582. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/skills/validation.py +0 -0
  583. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/step_budget.py +0 -0
  584. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/subagent_labels.py +0 -0
  585. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/surface/console.py +0 -0
  586. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/surface/styles.py +0 -0
  587. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/surface/theme.py +0 -0
  588. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/swarm_backend.py +0 -0
  589. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/swarm_orchestrator.py +0 -0
  590. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/swarm_scheduler.py +0 -0
  591. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/swarm_trace.py +0 -0
  592. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/swarm_worker.py +0 -0
  593. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/swarm_write_guard.py +0 -0
  594. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/task_dependencies.py +0 -0
  595. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/task_readiness.py +0 -0
  596. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/terminal_manager.py +0 -0
  597. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/text_normalization.py +0 -0
  598. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/token_budget.py +0 -0
  599. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/tools/README.md +0 -0
  600. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/tools/__init__.py +0 -0
  601. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/tools/artifacts.py +0 -0
  602. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/tools/availability.py +0 -0
  603. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/tools/capability_readiness.py +0 -0
  604. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/tools/fs.py +0 -0
  605. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/tools/history.py +0 -0
  606. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/tools/http_timeout.py +0 -0
  607. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/tools/image_generation.py +0 -0
  608. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/tools/symbols.py +0 -0
  609. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/tools/web.py +0 -0
  610. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/tools/web_search.py +0 -0
  611. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/tools/web_search_dashscope.py +0 -0
  612. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/tools/web_search_ddgs.py +0 -0
  613. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/tools/web_search_provider_adapters.py +0 -0
  614. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/tools/web_search_tavily.py +0 -0
  615. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/transport_retry.py +0 -0
  616. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/usage_tracker.py +0 -0
  617. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/verification_command_analysis.py +0 -0
  618. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/verification_failure_summary.py +0 -0
  619. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/verification_repair.py +0 -0
  620. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/web_search_adapters.py +0 -0
  621. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/web_search_policy.py +0 -0
  622. {alysis_code-0.14.9 → alysis_code-0.15.1}/src/alysis_code/workspace_provisioning.py +0 -0
@@ -35,6 +35,8 @@ alysis-feedback/
35
35
  reports/
36
36
  qa_reports/
37
37
  .qa-results/
38
+ /outputs/
39
+ /private-attestation/
38
40
  .workflow-release-dist/
39
41
  benchmark_results/
40
42
  benchmarks/terminal_bench/artifacts/
@@ -57,6 +59,7 @@ sylliptor_ecs.tar.gz
57
59
 
58
60
  # Claude Code local config
59
61
  .claude/
62
+ .codex/
60
63
 
61
64
  # OS / IDE
62
65
  .DS_Store
@@ -1,13 +1,13 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: alysis-code
3
- Version: 0.14.9
3
+ Version: 0.15.1
4
4
  Summary: Local CLI coding agent powered by any API.
5
- Project-URL: Changelog, https://github.com/AlysisAi/alysis-code/blob/main/docs/CHANGELOG.md
6
- Project-URL: Documentation, https://github.com/AlysisAi/alysis-code/tree/main/docs
5
+ Project-URL: Changelog, https://github.com/AlysisAi/AlysisCode/blob/main/docs/CHANGELOG.md
6
+ Project-URL: Documentation, https://github.com/AlysisAi/AlysisCode/tree/main/docs
7
7
  Project-URL: Funding, https://github.com/sponsors/AlysisAi
8
- Project-URL: Issues, https://github.com/AlysisAi/alysis-code/issues
9
- Project-URL: Security, https://github.com/AlysisAi/alysis-code/blob/main/.github/SECURITY.md
10
- Project-URL: Source, https://github.com/AlysisAi/alysis-code
8
+ Project-URL: Issues, https://github.com/AlysisAi/AlysisCode/issues
9
+ Project-URL: Security, https://github.com/AlysisAi/AlysisCode/blob/main/.github/SECURITY.md
10
+ Project-URL: Source, https://github.com/AlysisAi/AlysisCode
11
11
  License: Apache-2.0
12
12
  License-File: LICENSE
13
13
  License-File: NOTICE
@@ -47,9 +47,19 @@ Requires-Dist: websockets<17.0,>=15.0
47
47
  Provides-Extra: dev
48
48
  Requires-Dist: editables==0.5; extra == 'dev'
49
49
  Requires-Dist: hatchling==1.31.0; extra == 'dev'
50
+ Requires-Dist: jsonschema>=4.23.0; extra == 'dev'
50
51
  Requires-Dist: pytest>=8.0.0; extra == 'dev'
51
52
  Requires-Dist: pyyaml>=6.0.0; extra == 'dev'
52
53
  Requires-Dist: ruff>=0.6.0; extra == 'dev'
54
+ Provides-Extra: documents
55
+ Requires-Dist: lxml==6.1.3; extra == 'documents'
56
+ Requires-Dist: markdown-it-py==4.2.0; extra == 'documents'
57
+ Requires-Dist: openpyxl==3.1.5; extra == 'documents'
58
+ Requires-Dist: pypdfium2==5.13.0; extra == 'documents'
59
+ Requires-Dist: python-docx==1.2.0; extra == 'documents'
60
+ Requires-Dist: python-pptx==1.0.2; extra == 'documents'
61
+ Requires-Dist: reportlab==4.4.9; extra == 'documents'
62
+ Requires-Dist: xlsxwriter==3.2.9; extra == 'documents'
53
63
  Provides-Extra: managed-build
54
64
  Requires-Dist: pyinstaller-hooks-contrib==2026.6; extra == 'managed-build'
55
65
  Requires-Dist: pyinstaller==6.21.0; extra == 'managed-build'
@@ -73,8 +83,8 @@ Description-Content-Type: text/markdown
73
83
 
74
84
  <p align="center">
75
85
  <a href="https://alysiscode.com/">Website</a> ·
76
- <a href="https://github.com/AlysisAi/alysis-code/tree/main/docs">Docs</a> ·
77
- <a href="https://github.com/AlysisAi/alysis-code/blob/main/docs/CHANGELOG.md">Changelog</a>
86
+ <a href="https://github.com/AlysisAi/AlysisCode/tree/main/docs">Docs</a> ·
87
+ <a href="https://github.com/AlysisAi/AlysisCode/blob/main/docs/CHANGELOG.md">Changelog</a>
78
88
  </p>
79
89
 
80
90
  <p align="center">
@@ -82,10 +92,10 @@ Description-Content-Type: text/markdown
82
92
  </p>
83
93
 
84
94
  <p align="center">
85
- <a href="https://github.com/AlysisAi/alysis-code/actions/workflows/ci.yml"><img src="https://github.com/AlysisAi/alysis-code/actions/workflows/ci.yml/badge.svg" alt="CI"></a>
95
+ <a href="https://github.com/AlysisAi/AlysisCode/actions/workflows/ci.yml"><img src="https://github.com/AlysisAi/AlysisCode/actions/workflows/ci.yml/badge.svg" alt="CI"></a>
86
96
  <a href="https://pypi.org/project/alysis-code/"><img src="https://img.shields.io/pypi/v/alysis-code.svg" alt="PyPI version"></a>
87
97
  <a href="https://pypi.org/project/alysis-code/"><img src="https://img.shields.io/pypi/pyversions/alysis-code.svg" alt="Python versions"></a>
88
- <a href="https://github.com/AlysisAi/alysis-code/blob/main/LICENSE"><img src="https://img.shields.io/pypi/l/alysis-code.svg" alt="License"></a>
98
+ <a href="https://github.com/AlysisAi/AlysisCode/blob/main/LICENSE"><img src="https://img.shields.io/pypi/l/alysis-code.svg" alt="License"></a>
89
99
  </p>
90
100
 
91
101
  ---
@@ -100,6 +110,13 @@ Alysis Code requires **Python 3.11+** and runs on macOS, Linux, and Windows.
100
110
  pipx install alysis-code
101
111
  ```
102
112
 
113
+ On Linux, macOS, or Windows through WSL, the installer can also provision an
114
+ isolated Python runtime and install the CLI:
115
+
116
+ ```sh
117
+ curl -LsSf https://raw.githubusercontent.com/AlysisAi/AlysisCode/main/scripts/install.sh | sh
118
+ ```
119
+
103
120
  **2 — Launch in your project**
104
121
 
105
122
  ```bash
@@ -219,7 +236,7 @@ More questions? See the [full FAQ](https://alysiscode.com/docs/faq).
219
236
 
220
237
  ---
221
238
 
222
- **Join the community** — [X](https://x.com/alysiscode) | [GitHub Issues](https://github.com/AlysisAi/alysis-code/issues)
239
+ **Join the community** — [X](https://x.com/alysiscode) | [GitHub Issues](https://github.com/AlysisAi/AlysisCode/issues)
223
240
 
224
241
 
225
242
  ## Editor integrations
@@ -12,8 +12,8 @@
12
12
 
13
13
  <p align="center">
14
14
  <a href="https://alysiscode.com/">Website</a> ·
15
- <a href="https://github.com/AlysisAi/alysis-code/tree/main/docs">Docs</a> ·
16
- <a href="https://github.com/AlysisAi/alysis-code/blob/main/docs/CHANGELOG.md">Changelog</a>
15
+ <a href="https://github.com/AlysisAi/AlysisCode/tree/main/docs">Docs</a> ·
16
+ <a href="https://github.com/AlysisAi/AlysisCode/blob/main/docs/CHANGELOG.md">Changelog</a>
17
17
  </p>
18
18
 
19
19
  <p align="center">
@@ -21,10 +21,10 @@
21
21
  </p>
22
22
 
23
23
  <p align="center">
24
- <a href="https://github.com/AlysisAi/alysis-code/actions/workflows/ci.yml"><img src="https://github.com/AlysisAi/alysis-code/actions/workflows/ci.yml/badge.svg" alt="CI"></a>
24
+ <a href="https://github.com/AlysisAi/AlysisCode/actions/workflows/ci.yml"><img src="https://github.com/AlysisAi/AlysisCode/actions/workflows/ci.yml/badge.svg" alt="CI"></a>
25
25
  <a href="https://pypi.org/project/alysis-code/"><img src="https://img.shields.io/pypi/v/alysis-code.svg" alt="PyPI version"></a>
26
26
  <a href="https://pypi.org/project/alysis-code/"><img src="https://img.shields.io/pypi/pyversions/alysis-code.svg" alt="Python versions"></a>
27
- <a href="https://github.com/AlysisAi/alysis-code/blob/main/LICENSE"><img src="https://img.shields.io/pypi/l/alysis-code.svg" alt="License"></a>
27
+ <a href="https://github.com/AlysisAi/AlysisCode/blob/main/LICENSE"><img src="https://img.shields.io/pypi/l/alysis-code.svg" alt="License"></a>
28
28
  </p>
29
29
 
30
30
  ---
@@ -39,6 +39,13 @@ Alysis Code requires **Python 3.11+** and runs on macOS, Linux, and Windows.
39
39
  pipx install alysis-code
40
40
  ```
41
41
 
42
+ On Linux, macOS, or Windows through WSL, the installer can also provision an
43
+ isolated Python runtime and install the CLI:
44
+
45
+ ```sh
46
+ curl -LsSf https://raw.githubusercontent.com/AlysisAi/AlysisCode/main/scripts/install.sh | sh
47
+ ```
48
+
42
49
  **2 — Launch in your project**
43
50
 
44
51
  ```bash
@@ -158,7 +165,7 @@ More questions? See the [full FAQ](https://alysiscode.com/docs/faq).
158
165
 
159
166
  ---
160
167
 
161
- **Join the community** — [X](https://x.com/alysiscode) | [GitHub Issues](https://github.com/AlysisAi/alysis-code/issues)
168
+ **Join the community** — [X](https://x.com/alysiscode) | [GitHub Issues](https://github.com/AlysisAi/AlysisCode/issues)
162
169
 
163
170
 
164
171
  ## Editor integrations
@@ -1,5 +1,64 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.15.1 - 2026-10-15
4
+
5
+ - Keep the release qualification's simulated stalled provider connected until
6
+ the test completes. Its previous five-second disconnect could report a
7
+ provider failure before the managed deadline on Windows. Deadline and
8
+ process-cleanup assertions remain enforced.
9
+ - Include all changes listed under 0.15.0 below. The 0.15.0 tag is preserved,
10
+ but its release qualification failed before package publication.
11
+
12
+ ## 0.15.0 - 2026-10-15
13
+
14
+ - Expand the terminal workspace with inline diffs, file mentions, prompt history,
15
+ session navigation, integration inspection, planning, review, tool traces,
16
+ structured questions, and clearer subagent progress.
17
+ - Add IDE command and skill discovery, explicit skill invocation, mid-turn
18
+ steering, and opt-in reasoning summary events.
19
+ - Improve ChatGPT subscription registration, account selection, credential
20
+ refresh, saved profiles, endpoint migration, and reviewed model discovery.
21
+ - Add GPT-6.1 Sol presets and model-specific reasoning controls. Preserve
22
+ reasoning choices across settings reloads and separate safe reasoning summaries
23
+ from final answers.
24
+ - Recover more reliably from output limits, interrupted streams, provider retry
25
+ exhaustion, and cancellation. Improve caching and provider diagnostics.
26
+ - Add approval review and safer command classification, with fixes for Windows
27
+ command execution, macOS image paste, sandbox fallback, and local listeners.
28
+ - Clarify hosted-account billing and capacity errors without mislabeling them as
29
+ rejected API keys; direct model configuration guidance to `/config`.
30
+ - Remove `/objective` and explicit task-relation state. State the current goal in
31
+ the conversation; steer an active turn when requirements change.
32
+ - Stamp builds consistently and persist an installation identifier across client
33
+ sessions.
34
+ - Add optional PDF, Word, spreadsheet, and presentation tools through the
35
+ `documents` extra, with path-scoped input and output acceptance checks.
36
+ - Add host integration contracts for browser and computer actions, GitHub,
37
+ Google services, open panels, task budgets, and Forge verification.
38
+ - Route `forge plan` and `forge run` through the shared host planner and approval
39
+ flow. Machine planning accepts an explicit goal and intent.
40
+ - Add account usage/status, reviewed feedback delivery, corporate CA support,
41
+ and safer managed-session persistence on Windows.
42
+ - Add `profile check`, subagent settings, bundled Alysis documentation guidance,
43
+ and persona restoration when IDE sessions start or resume.
44
+ - Fix Windows `.git/info/exclude` line endings and VS Code provider setup,
45
+ startup readiness, and package inventory checks.
46
+ - Align public links and release provenance checks with `AlysisAi/AlysisCode`.
47
+ - Keep hosted deployment URLs and project keys out of public source and packages.
48
+ Hosted login, account status, and online feedback require runtime configuration
49
+ through `ALYSIS_CLOUD_API_URL`; see [Reference](reference.md). Other configured
50
+ providers remain available.
51
+ - Preserve focused setup actions during streamed sidebar updates and avoid
52
+ repeatedly searching the transcript for static controls.
53
+ - Keep background update checks bound to the data directory that scheduled them.
54
+ - Repair sandbox dependency locks and server packaging, and update the bundled
55
+ Go toolchain to the 1.26.9 security patch.
56
+ - Retire the `sylliptor` command and legacy branding aliases. Use `alysis` or
57
+ `alysis-code`, canonical `ALYSIS_` environment variables, `.alysis` project
58
+ data, and `alysis-plugin.toml` manifests. Back up and migrate legacy locations
59
+ explicitly before upgrading; this release does not move them automatically.
60
+
61
+
3
62
  ## 0.14.9 — Claude Haiku 5.5 on Alysis Free — 2026-10-07
4
63
 
5
64
  - Add Claude Haiku 5.5 to the Alysis Free model picker and direct Anthropic
@@ -471,25 +530,25 @@ Public launch and repository-layout refresh.
471
530
  ## Earlier releases
472
531
 
473
532
  Release notes for versions before 0.9.8 remain available in the
474
- [GitHub Releases archive](https://github.com/AlysisAi/alysis-code/releases).
475
-
476
- [Unreleased]: https://github.com/AlysisAi/alysis-code/compare/v0.14.1...HEAD
477
- [0.14.1]: https://github.com/AlysisAi/alysis-code/compare/v0.14.0...v0.14.1
478
- [0.14.0]: https://github.com/AlysisAi/alysis-code/compare/v0.13.8...v0.14.0
479
- [0.13.8]: https://github.com/AlysisAi/alysis-code/compare/v0.13.7...v0.13.8
480
- [0.13.7]: https://github.com/AlysisAi/alysis-code/compare/v0.13.6.2...v0.13.7
481
- [0.13.6.2]: https://github.com/AlysisAi/alysis-code/compare/v0.13.6.1...v0.13.6.2
482
- [0.13.6.1]: https://github.com/AlysisAi/alysis-code/compare/v0.13.6...v0.13.6.1
483
- [0.13.6]: https://github.com/AlysisAi/alysis-code/compare/v0.13.5...v0.13.6
484
- [0.13.5]: https://github.com/AlysisAi/alysis-code/compare/v0.13.4...v0.13.5
485
- [0.13.4]: https://github.com/AlysisAi/alysis-code/compare/v0.13.3...v0.13.4
486
- [0.13.3]: https://github.com/AlysisAi/alysis-code/compare/v0.13.2...v0.13.3
487
- [0.13.2]: https://github.com/AlysisAi/alysis-code/compare/v0.13.1...v0.13.2
488
- [0.13.1]: https://github.com/AlysisAi/alysis-code/compare/v0.13.0...v0.13.1
489
- [0.13.0]: https://github.com/AlysisAi/alysis-code/compare/v0.12.0...v0.13.0
490
- [0.12.0]: https://github.com/AlysisAi/alysis-code/compare/v0.11.2...v0.12.0
491
- [0.11.2]: https://github.com/AlysisAi/alysis-code/compare/v0.11.1...v0.11.2
492
- [0.11.1]: https://github.com/AlysisAi/alysis-code/compare/v0.11.0...v0.11.1
493
- [0.11.0]: https://github.com/AlysisAi/alysis-code/compare/v0.10.0...v0.11.0
494
- [0.10.0]: https://github.com/AlysisAi/alysis-code/compare/v0.9.8...v0.10.0
495
- [0.9.8]: https://github.com/AlysisAi/alysis-code/releases/tag/v0.9.8
533
+ [GitHub Releases archive](https://github.com/AlysisAi/AlysisCode/releases).
534
+
535
+ [Unreleased]: https://github.com/AlysisAi/AlysisCode/compare/v0.14.1...HEAD
536
+ [0.14.1]: https://github.com/AlysisAi/AlysisCode/compare/v0.14.0...v0.14.1
537
+ [0.14.0]: https://github.com/AlysisAi/AlysisCode/compare/v0.13.8...v0.14.0
538
+ [0.13.8]: https://github.com/AlysisAi/AlysisCode/compare/v0.13.7...v0.13.8
539
+ [0.13.7]: https://github.com/AlysisAi/AlysisCode/compare/v0.13.6.2...v0.13.7
540
+ [0.13.6.2]: https://github.com/AlysisAi/AlysisCode/compare/v0.13.6.1...v0.13.6.2
541
+ [0.13.6.1]: https://github.com/AlysisAi/AlysisCode/compare/v0.13.6...v0.13.6.1
542
+ [0.13.6]: https://github.com/AlysisAi/AlysisCode/compare/v0.13.5...v0.13.6
543
+ [0.13.5]: https://github.com/AlysisAi/AlysisCode/compare/v0.13.4...v0.13.5
544
+ [0.13.4]: https://github.com/AlysisAi/AlysisCode/compare/v0.13.3...v0.13.4
545
+ [0.13.3]: https://github.com/AlysisAi/AlysisCode/compare/v0.13.2...v0.13.3
546
+ [0.13.2]: https://github.com/AlysisAi/AlysisCode/compare/v0.13.1...v0.13.2
547
+ [0.13.1]: https://github.com/AlysisAi/AlysisCode/compare/v0.13.0...v0.13.1
548
+ [0.13.0]: https://github.com/AlysisAi/AlysisCode/compare/v0.12.0...v0.13.0
549
+ [0.12.0]: https://github.com/AlysisAi/AlysisCode/compare/v0.11.2...v0.12.0
550
+ [0.11.2]: https://github.com/AlysisAi/AlysisCode/compare/v0.11.1...v0.11.2
551
+ [0.11.1]: https://github.com/AlysisAi/AlysisCode/compare/v0.11.0...v0.11.1
552
+ [0.11.0]: https://github.com/AlysisAi/AlysisCode/compare/v0.10.0...v0.11.0
553
+ [0.10.0]: https://github.com/AlysisAi/AlysisCode/compare/v0.9.8...v0.10.0
554
+ [0.9.8]: https://github.com/AlysisAi/AlysisCode/releases/tag/v0.9.8
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "alysis-code"
7
- version = "0.14.9"
7
+ version = "0.15.1"
8
8
  description = "Local CLI coding agent powered by any API."
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.11"
@@ -54,15 +54,26 @@ dependencies = [
54
54
  ]
55
55
 
56
56
  [project.urls]
57
- Changelog = "https://github.com/AlysisAi/alysis-code/blob/main/docs/CHANGELOG.md"
58
- Documentation = "https://github.com/AlysisAi/alysis-code/tree/main/docs"
57
+ Changelog = "https://github.com/AlysisAi/AlysisCode/blob/main/docs/CHANGELOG.md"
58
+ Documentation = "https://github.com/AlysisAi/AlysisCode/tree/main/docs"
59
59
  Funding = "https://github.com/sponsors/AlysisAi"
60
- Issues = "https://github.com/AlysisAi/alysis-code/issues"
61
- Security = "https://github.com/AlysisAi/alysis-code/blob/main/.github/SECURITY.md"
62
- Source = "https://github.com/AlysisAi/alysis-code"
60
+ Issues = "https://github.com/AlysisAi/AlysisCode/issues"
61
+ Security = "https://github.com/AlysisAi/AlysisCode/blob/main/.github/SECURITY.md"
62
+ Source = "https://github.com/AlysisAi/AlysisCode"
63
63
 
64
64
  [project.optional-dependencies]
65
+ documents = [
66
+ "reportlab==4.4.9",
67
+ "pypdfium2==5.13.0",
68
+ "markdown-it-py==4.2.0",
69
+ "python-docx==1.2.0",
70
+ "openpyxl==3.1.5",
71
+ "XlsxWriter==3.2.9",
72
+ "python-pptx==1.0.2",
73
+ "lxml==6.1.3",
74
+ ]
65
75
  dev = [
76
+ "jsonschema>=4.23.0",
66
77
  "editables==0.5",
67
78
  "hatchling==1.31.0",
68
79
  "pyyaml>=6.0.0",
@@ -84,10 +95,7 @@ server = [
84
95
  alysis-code = "alysis_code.cli:app"
85
96
  # Short alias.
86
97
  alysis = "alysis_code.cli:app"
87
- # Deprecated alias kept so muscle memory, shell aliases, CI scripts and IDE
88
- # configs written against the old name keep working. Forwards silently.
89
- # Remove no earlier than the next major release.
90
- sylliptor = "alysis_code.cli:legacy_app"
98
+ alysis-ide-bridge = "alysis_code.ide.stdio_bridge:run_stdio_bridge"
91
99
 
92
100
  [tool.hatch.build.targets.wheel]
93
101
  packages = ["src/alysis_code"]
@@ -96,6 +104,9 @@ exclude = [
96
104
  "**/*.py[cod]",
97
105
  ]
98
106
 
107
+ [tool.hatch.build.targets.wheel.force-include]
108
+ "schemas/forge-host-v2/forge-host-v2.schema.json" = "alysis_code/schemas/forge-host-v2/forge-host-v2.schema.json"
109
+
99
110
  [tool.hatch.build.targets.sdist]
100
111
  include = [
101
112
  "/.gitignore",
@@ -105,6 +116,7 @@ include = [
105
116
  "/README.md",
106
117
  "/pyproject.toml",
107
118
  "/src/alysis_code",
119
+ "/schemas/forge-host-v2/forge-host-v2.schema.json",
108
120
  ]
109
121
  exclude = [
110
122
  "**/__pycache__/**",