novacode-cli 1.2.0__tar.gz → 1.2.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 (1388) hide show
  1. novacode_cli-1.2.1/PKG-INFO +271 -0
  2. novacode_cli-1.2.1/README.md +167 -0
  3. novacode_cli-1.2.1/novacode_cli/_version.py +3 -0
  4. novacode_cli-1.2.1/novacode_cli/agents/async_agents/general_purpose.py +42 -0
  5. novacode_cli-1.2.1/novacode_cli/agents/async_context.py +303 -0
  6. novacode_cli-1.2.1/novacode_cli/agents/caveman.py +352 -0
  7. novacode_cli-1.2.1/novacode_cli/agents/code_mode.py +774 -0
  8. novacode_cli-1.2.1/novacode_cli/agents/core_agent.py +2710 -0
  9. novacode_cli-1.2.1/novacode_cli/agents/handoff.py +166 -0
  10. novacode_cli-1.2.1/novacode_cli/agents/invocation.py +152 -0
  11. novacode_cli-1.2.1/novacode_cli/agents/model_budget.py +42 -0
  12. novacode_cli-1.2.1/novacode_cli/agents/model_retry.py +113 -0
  13. novacode_cli-1.2.1/novacode_cli/agents/plan_agent/plan_mode_middleware.py +64 -0
  14. novacode_cli-1.2.1/novacode_cli/agents/ponytail.py +66 -0
  15. novacode_cli-1.2.1/novacode_cli/agents/prime.py +274 -0
  16. novacode_cli-1.2.1/novacode_cli/agents/tool_search.py +806 -0
  17. novacode_cli-1.2.1/novacode_cli/audio/__init__.py +301 -0
  18. novacode_cli-1.2.1/novacode_cli/audio/downloads.py +273 -0
  19. novacode_cli-1.2.1/novacode_cli/audio/pipeline.py +391 -0
  20. novacode_cli-1.2.1/novacode_cli/audio/playback.py +87 -0
  21. novacode_cli-1.2.1/novacode_cli/audio/providers.py +208 -0
  22. novacode_cli-1.2.1/novacode_cli/audio/stt_elevenlabs.py +89 -0
  23. novacode_cli-1.2.1/novacode_cli/audio/stt_parakeet.py +94 -0
  24. novacode_cli-1.2.1/novacode_cli/audio/summarize.py +92 -0
  25. novacode_cli-1.2.1/novacode_cli/audio/tts.py +85 -0
  26. novacode_cli-1.2.1/novacode_cli/cli_args.py +718 -0
  27. novacode_cli-1.2.1/novacode_cli/commands/browser_use_handler.py +75 -0
  28. novacode_cli-1.2.1/novacode_cli/commands/chat_handler.py +1357 -0
  29. novacode_cli-1.2.1/novacode_cli/commands/ci_fix.py +171 -0
  30. novacode_cli-1.2.1/novacode_cli/commands/handoff_handler.py +68 -0
  31. novacode_cli-1.2.1/novacode_cli/commands/onboard_handler.py +121 -0
  32. novacode_cli-1.2.1/novacode_cli/commands/plugin_install_handler.py +38 -0
  33. novacode_cli-1.2.1/novacode_cli/commands/prime_handler.py +455 -0
  34. novacode_cli-1.2.1/novacode_cli/commands/session_commands.py +203 -0
  35. novacode_cli-1.2.1/novacode_cli/commands/voice_handler.py +447 -0
  36. novacode_cli-1.2.1/novacode_cli/computer/runtime.py +474 -0
  37. novacode_cli-1.2.1/novacode_cli/computer/windows_qemu.py +211 -0
  38. novacode_cli-1.2.1/novacode_cli/config/nova_config.py +1283 -0
  39. novacode_cli-1.2.1/novacode_cli/config/provider_catalog.json +5127 -0
  40. novacode_cli-1.2.1/novacode_cli/context/snapshot.py +493 -0
  41. novacode_cli-1.2.1/novacode_cli/core/agent_loop.py +1821 -0
  42. novacode_cli-1.2.1/novacode_cli/core/subagent_tasks.py +696 -0
  43. novacode_cli-1.2.1/novacode_cli/council.py +595 -0
  44. novacode_cli-1.2.1/novacode_cli/council_consensus.py +115 -0
  45. novacode_cli-1.2.1/novacode_cli/council_decision.py +157 -0
  46. novacode_cli-1.2.1/novacode_cli/council_web_settings.py +41 -0
  47. novacode_cli-1.2.1/novacode_cli/council_workspace.py +56 -0
  48. novacode_cli-1.2.1/novacode_cli/cowork/ui.py +826 -0
  49. novacode_cli-1.2.1/novacode_cli/entrypoint.py +56 -0
  50. novacode_cli-1.2.1/novacode_cli/handoff.py +383 -0
  51. novacode_cli-1.2.1/novacode_cli/headless/runner.py +461 -0
  52. novacode_cli-1.2.1/novacode_cli/hooks.py +359 -0
  53. novacode_cli-1.2.1/novacode_cli/main.py +2078 -0
  54. novacode_cli-1.2.1/novacode_cli/mcp/config.py +406 -0
  55. novacode_cli-1.2.1/novacode_cli/memory/semantic.py +116 -0
  56. novacode_cli-1.2.1/novacode_cli/plugins/claude_plugins.py +538 -0
  57. novacode_cli-1.2.1/novacode_cli/plugins/cli.py +168 -0
  58. novacode_cli-1.2.1/novacode_cli/plugins/components.py +413 -0
  59. novacode_cli-1.2.1/novacode_cli/plugins/hooks.py +356 -0
  60. novacode_cli-1.2.1/novacode_cli/plugins/marketplaces.py +199 -0
  61. novacode_cli-1.2.1/novacode_cli/plugins/storage.py +70 -0
  62. novacode_cli-1.2.1/novacode_cli/project_onboard.py +537 -0
  63. novacode_cli-1.2.1/novacode_cli/prompts/System_Prompt_Nova.jinja +23 -0
  64. novacode_cli-1.2.1/novacode_cli/prompts/claude_plan_mode.jinja +12 -0
  65. novacode_cli-1.2.1/novacode_cli/prompts/core_agent_system.jinja +81 -0
  66. novacode_cli-1.2.1/novacode_cli/prompts/nova_standing_instructions.jinja +26 -0
  67. novacode_cli-1.2.1/novacode_cli/prompts/onboard_dashboard.jinja +378 -0
  68. novacode_cli-1.2.1/novacode_cli/prompts/plan_agent.jinja +87 -0
  69. novacode_cli-1.2.1/novacode_cli/prompts/ponytail/UPSTREAM.json +15 -0
  70. novacode_cli-1.2.1/novacode_cli/prompts/research_swarm.jinja +130 -0
  71. novacode_cli-1.2.1/novacode_cli/prompts/subagents/fact_checker.jinja +48 -0
  72. novacode_cli-1.2.1/novacode_cli/prompts/subagents/financial_analyst.jinja +50 -0
  73. novacode_cli-1.2.1/novacode_cli/prompts/subagents/literature_reviewer.jinja +52 -0
  74. novacode_cli-1.2.1/novacode_cli/prompts/subagents/market_analyst.jinja +48 -0
  75. novacode_cli-1.2.1/novacode_cli/prompts/subagents/research_synthesizer.jinja +57 -0
  76. novacode_cli-1.2.1/novacode_cli/prompts/subagents/technical_researcher.jinja +56 -0
  77. novacode_cli-1.2.1/novacode_cli/prompts/subagents/web_researcher.jinja +46 -0
  78. novacode_cli-1.2.1/novacode_cli/remote/async_task_watcher.py +240 -0
  79. novacode_cli-1.2.1/novacode_cli/remote/status.py +411 -0
  80. novacode_cli-1.2.1/novacode_cli/remote/telegram_bridge.py +1118 -0
  81. novacode_cli-1.2.1/novacode_cli/rooms/bridge.py +86 -0
  82. novacode_cli-1.2.1/novacode_cli/rooms/cli.py +231 -0
  83. novacode_cli-1.2.1/novacode_cli/rooms/nova.py +227 -0
  84. novacode_cli-1.2.1/novacode_cli/rooms/runtime.py +299 -0
  85. novacode_cli-1.2.1/novacode_cli/rooms/store.py +538 -0
  86. novacode_cli-1.2.1/novacode_cli/shell/jobs.py +475 -0
  87. novacode_cli-1.2.1/novacode_cli/shell/middleware.py +1568 -0
  88. novacode_cli-1.2.1/novacode_cli/skills/builtin/handoff/SKILL.md +15 -0
  89. novacode_cli-1.2.1/novacode_cli/skills/load.py +248 -0
  90. novacode_cli-1.2.1/novacode_cli/skills/refreshing_middleware.py +896 -0
  91. novacode_cli-1.2.1/novacode_cli/skills/retrieval.py +248 -0
  92. novacode_cli-1.2.1/novacode_cli/skills/runtime.py +118 -0
  93. novacode_cli-1.2.1/novacode_cli/states/Session.py +847 -0
  94. novacode_cli-1.2.1/novacode_cli/teams/adapters/inprocess.py +206 -0
  95. novacode_cli-1.2.1/novacode_cli/teams/bootstrap.py +246 -0
  96. novacode_cli-1.2.1/novacode_cli/teams/coordinator.py +815 -0
  97. novacode_cli-1.2.1/novacode_cli/teams/worker.py +251 -0
  98. novacode_cli-1.2.1/novacode_cli/tools/job_tools.py +143 -0
  99. novacode_cli-1.2.1/novacode_cli/tools/scraper_tools.py +377 -0
  100. novacode_cli-1.2.1/novacode_cli/tools/waiter_tools.py +408 -0
  101. novacode_cli-1.2.1/novacode_cli/tracking/usage_tree.py +677 -0
  102. novacode_cli-1.2.1/novacode_cli/tui/app.py +19315 -0
  103. novacode_cli-1.2.1/novacode_cli/tui/caveman_screen.py +185 -0
  104. novacode_cli-1.2.1/novacode_cli/tui/handoff_screen.py +206 -0
  105. novacode_cli-1.2.1/novacode_cli/tui/history_tree_screen.py +179 -0
  106. novacode_cli-1.2.1/novacode_cli/tui/home.py +328 -0
  107. novacode_cli-1.2.1/novacode_cli/tui/interface_styles.tcss +327 -0
  108. novacode_cli-1.2.1/novacode_cli/tui/pickers.py +237 -0
  109. novacode_cli-1.2.1/novacode_cli/tui/reference_screens.py +444 -0
  110. novacode_cli-1.2.1/novacode_cli/tui/rooms.py +597 -0
  111. novacode_cli-1.2.1/novacode_cli/tui/screens.py +7088 -0
  112. novacode_cli-1.2.1/novacode_cli/tui/session_pane.py +242 -0
  113. novacode_cli-1.2.1/novacode_cli/tui/teammates.py +548 -0
  114. novacode_cli-1.2.1/novacode_cli/tui/voice_downloads.py +113 -0
  115. novacode_cli-1.2.1/novacode_cli/tui/widgets.py +2038 -0
  116. novacode_cli-1.2.1/novacode_cli/ui/council_web.py +113 -0
  117. novacode_cli-1.2.1/novacode_cli/ui/council_workspace.py +72 -0
  118. novacode_cli-1.2.1/novacode_cli/ui/cowork_web.py +41 -0
  119. novacode_cli-1.2.1/novacode_cli/ui/hitl_approval.py +196 -0
  120. novacode_cli-1.2.1/novacode_cli/ui/web_workspace.py +244 -0
  121. novacode_cli-1.2.1/novacode_cli/ui_events.py +299 -0
  122. novacode_cli-1.2.1/novacode_cli.egg-info/PKG-INFO +271 -0
  123. novacode_cli-1.2.1/pyproject.toml +320 -0
  124. novacode_cli-1.2.1/setup.cfg +4 -0
  125. novacode_cli-1.2.1/tests/test_async_model_context.py +559 -0
  126. novacode_cli-1.2.1/tests/test_async_task_watcher.py +191 -0
  127. novacode_cli-1.2.1/tests/test_caveman.py +346 -0
  128. novacode_cli-1.2.1/tests/test_caveman_features.py +450 -0
  129. novacode_cli-1.2.1/tests/test_chat_handler.py +757 -0
  130. novacode_cli-1.2.1/tests/test_ci_fix.py +124 -0
  131. novacode_cli-1.2.1/tests/test_compression_modes.py +238 -0
  132. novacode_cli-1.2.1/tests/test_computer.py +602 -0
  133. novacode_cli-1.2.1/tests/test_council_settings.py +306 -0
  134. novacode_cli-1.2.1/tests/test_council_workspace.py +40 -0
  135. novacode_cli-1.2.1/tests/test_discord_session_threads.py +460 -0
  136. novacode_cli-1.2.1/tests/test_file_tracker.py +113 -0
  137. novacode_cli-1.2.1/tests/test_handoff.py +419 -0
  138. novacode_cli-1.2.1/tests/test_handoff_skill_and_delete.py +251 -0
  139. novacode_cli-1.2.1/tests/test_handoff_ui.py +197 -0
  140. novacode_cli-1.2.1/tests/test_interface_styles.py +95 -0
  141. novacode_cli-1.2.1/tests/test_knowledge_cache.py +462 -0
  142. novacode_cli-1.2.1/tests/test_lite_mode.py +148 -0
  143. novacode_cli-1.2.1/tests/test_memory_prompt_cache_order.py +303 -0
  144. novacode_cli-1.2.1/tests/test_model_retry_progress.py +151 -0
  145. novacode_cli-1.2.1/tests/test_passing_fixes.py +259 -0
  146. novacode_cli-1.2.1/tests/test_plugin_compatibility.py +1030 -0
  147. novacode_cli-1.2.1/tests/test_prime.py +393 -0
  148. novacode_cli-1.2.1/tests/test_prime_ui.py +286 -0
  149. novacode_cli-1.2.1/tests/test_project_onboard.py +330 -0
  150. novacode_cli-1.2.1/tests/test_project_rooms.py +868 -0
  151. novacode_cli-1.2.1/tests/test_provider_caching.py +299 -0
  152. novacode_cli-1.2.1/tests/test_release_version.py +50 -0
  153. novacode_cli-1.2.1/tests/test_remote_approval_transport.py +377 -0
  154. novacode_cli-1.2.1/tests/test_remote_approval_tui.py +382 -0
  155. novacode_cli-1.2.1/tests/test_remote_status.py +298 -0
  156. novacode_cli-1.2.1/tests/test_semantic_cache.py +116 -0
  157. novacode_cli-1.2.1/tests/test_session_edges.py +228 -0
  158. novacode_cli-1.2.1/tests/test_shared_embeddings.py +264 -0
  159. novacode_cli-1.2.1/tests/test_skill_retrieval.py +235 -0
  160. novacode_cli-1.2.1/tests/test_skill_selection.py +311 -0
  161. novacode_cli-1.2.1/tests/test_skills_runtime.py +429 -0
  162. novacode_cli-1.2.1/tests/test_subagent_resilience.py +282 -0
  163. novacode_cli-1.2.1/tests/test_team_inprocess.py +422 -0
  164. novacode_cli-1.2.1/tests/test_team_process.py +217 -0
  165. novacode_cli-1.2.1/tests/test_teammate_updates.py +199 -0
  166. novacode_cli-1.2.1/tests/test_teammates.py +717 -0
  167. novacode_cli-1.2.1/tests/test_teammates_ui.py +396 -0
  168. novacode_cli-1.2.1/tests/test_telegram_session_topics.py +497 -0
  169. novacode_cli-1.2.1/tests/test_tool_search.py +460 -0
  170. novacode_cli-1.2.1/tests/test_tool_search_safety.py +359 -0
  171. novacode_cli-1.2.1/tests/test_tool_search_variants.py +117 -0
  172. novacode_cli-1.2.1/tests/test_tool_verdicts.py +829 -0
  173. novacode_cli-1.2.1/tests/test_tui_app.py +5731 -0
  174. novacode_cli-1.2.1/tests/test_tui_classic_design.py +206 -0
  175. novacode_cli-1.2.1/tests/test_tui_home_preferences.py +506 -0
  176. novacode_cli-1.2.1/tests/test_tui_subagent_panel.py +333 -0
  177. novacode_cli-1.2.1/tests/test_tui_terminal_title.py +93 -0
  178. novacode_cli-1.2.1/tests/test_tui_voice_downloads.py +192 -0
  179. novacode_cli-1.2.1/tests/test_tui_voice_output.py +82 -0
  180. novacode_cli-1.2.1/tests/test_voice_catalog.py +106 -0
  181. novacode_cli-1.2.1/tests/test_web_workspace_browser.py +435 -0
  182. novacode_cli-1.2.1/tests/test_windows_qemu.py +373 -0
  183. novacode_cli-1.2.0/PKG-INFO +0 -271
  184. novacode_cli-1.2.0/README.md +0 -167
  185. novacode_cli-1.2.0/novacode_cli/_version.py +0 -3
  186. novacode_cli-1.2.0/novacode_cli/agents/async_agents/general_purpose.py +0 -42
  187. novacode_cli-1.2.0/novacode_cli/agents/async_context.py +0 -303
  188. novacode_cli-1.2.0/novacode_cli/agents/caveman.py +0 -352
  189. novacode_cli-1.2.0/novacode_cli/agents/code_mode.py +0 -774
  190. novacode_cli-1.2.0/novacode_cli/agents/core_agent.py +0 -2710
  191. novacode_cli-1.2.0/novacode_cli/agents/handoff.py +0 -166
  192. novacode_cli-1.2.0/novacode_cli/agents/invocation.py +0 -152
  193. novacode_cli-1.2.0/novacode_cli/agents/model_budget.py +0 -42
  194. novacode_cli-1.2.0/novacode_cli/agents/model_retry.py +0 -113
  195. novacode_cli-1.2.0/novacode_cli/agents/plan_agent/plan_mode_middleware.py +0 -64
  196. novacode_cli-1.2.0/novacode_cli/agents/ponytail.py +0 -66
  197. novacode_cli-1.2.0/novacode_cli/agents/prime.py +0 -274
  198. novacode_cli-1.2.0/novacode_cli/agents/tool_search.py +0 -806
  199. novacode_cli-1.2.0/novacode_cli/audio/__init__.py +0 -301
  200. novacode_cli-1.2.0/novacode_cli/audio/downloads.py +0 -273
  201. novacode_cli-1.2.0/novacode_cli/audio/pipeline.py +0 -391
  202. novacode_cli-1.2.0/novacode_cli/audio/playback.py +0 -87
  203. novacode_cli-1.2.0/novacode_cli/audio/providers.py +0 -208
  204. novacode_cli-1.2.0/novacode_cli/audio/stt_elevenlabs.py +0 -89
  205. novacode_cli-1.2.0/novacode_cli/audio/stt_parakeet.py +0 -94
  206. novacode_cli-1.2.0/novacode_cli/audio/summarize.py +0 -92
  207. novacode_cli-1.2.0/novacode_cli/audio/tts.py +0 -85
  208. novacode_cli-1.2.0/novacode_cli/cli_args.py +0 -718
  209. novacode_cli-1.2.0/novacode_cli/commands/browser_use_handler.py +0 -75
  210. novacode_cli-1.2.0/novacode_cli/commands/chat_handler.py +0 -1357
  211. novacode_cli-1.2.0/novacode_cli/commands/ci_fix.py +0 -171
  212. novacode_cli-1.2.0/novacode_cli/commands/handoff_handler.py +0 -68
  213. novacode_cli-1.2.0/novacode_cli/commands/onboard_handler.py +0 -121
  214. novacode_cli-1.2.0/novacode_cli/commands/plugin_install_handler.py +0 -38
  215. novacode_cli-1.2.0/novacode_cli/commands/prime_handler.py +0 -455
  216. novacode_cli-1.2.0/novacode_cli/commands/session_commands.py +0 -203
  217. novacode_cli-1.2.0/novacode_cli/commands/voice_handler.py +0 -447
  218. novacode_cli-1.2.0/novacode_cli/computer/runtime.py +0 -474
  219. novacode_cli-1.2.0/novacode_cli/computer/windows_qemu.py +0 -211
  220. novacode_cli-1.2.0/novacode_cli/config/nova_config.py +0 -1283
  221. novacode_cli-1.2.0/novacode_cli/config/provider_catalog.json +0 -5127
  222. novacode_cli-1.2.0/novacode_cli/context/snapshot.py +0 -493
  223. novacode_cli-1.2.0/novacode_cli/core/agent_loop.py +0 -1821
  224. novacode_cli-1.2.0/novacode_cli/core/subagent_tasks.py +0 -696
  225. novacode_cli-1.2.0/novacode_cli/council.py +0 -595
  226. novacode_cli-1.2.0/novacode_cli/council_consensus.py +0 -115
  227. novacode_cli-1.2.0/novacode_cli/council_decision.py +0 -157
  228. novacode_cli-1.2.0/novacode_cli/council_web_settings.py +0 -41
  229. novacode_cli-1.2.0/novacode_cli/council_workspace.py +0 -56
  230. novacode_cli-1.2.0/novacode_cli/cowork/ui.py +0 -826
  231. novacode_cli-1.2.0/novacode_cli/entrypoint.py +0 -56
  232. novacode_cli-1.2.0/novacode_cli/handoff.py +0 -383
  233. novacode_cli-1.2.0/novacode_cli/headless/runner.py +0 -461
  234. novacode_cli-1.2.0/novacode_cli/hooks.py +0 -359
  235. novacode_cli-1.2.0/novacode_cli/main.py +0 -2078
  236. novacode_cli-1.2.0/novacode_cli/mcp/config.py +0 -406
  237. novacode_cli-1.2.0/novacode_cli/memory/semantic.py +0 -116
  238. novacode_cli-1.2.0/novacode_cli/plugins/claude_plugins.py +0 -538
  239. novacode_cli-1.2.0/novacode_cli/plugins/cli.py +0 -168
  240. novacode_cli-1.2.0/novacode_cli/plugins/components.py +0 -413
  241. novacode_cli-1.2.0/novacode_cli/plugins/hooks.py +0 -356
  242. novacode_cli-1.2.0/novacode_cli/plugins/marketplaces.py +0 -199
  243. novacode_cli-1.2.0/novacode_cli/plugins/storage.py +0 -70
  244. novacode_cli-1.2.0/novacode_cli/project_onboard.py +0 -537
  245. novacode_cli-1.2.0/novacode_cli/prompts/System_Prompt_Nova.jinja +0 -23
  246. novacode_cli-1.2.0/novacode_cli/prompts/claude_plan_mode.jinja +0 -12
  247. novacode_cli-1.2.0/novacode_cli/prompts/core_agent_system.jinja +0 -81
  248. novacode_cli-1.2.0/novacode_cli/prompts/nova_standing_instructions.jinja +0 -26
  249. novacode_cli-1.2.0/novacode_cli/prompts/onboard_dashboard.jinja +0 -378
  250. novacode_cli-1.2.0/novacode_cli/prompts/plan_agent.jinja +0 -87
  251. novacode_cli-1.2.0/novacode_cli/prompts/ponytail/UPSTREAM.json +0 -15
  252. novacode_cli-1.2.0/novacode_cli/prompts/research_swarm.jinja +0 -130
  253. novacode_cli-1.2.0/novacode_cli/prompts/subagents/fact_checker.jinja +0 -48
  254. novacode_cli-1.2.0/novacode_cli/prompts/subagents/financial_analyst.jinja +0 -50
  255. novacode_cli-1.2.0/novacode_cli/prompts/subagents/literature_reviewer.jinja +0 -52
  256. novacode_cli-1.2.0/novacode_cli/prompts/subagents/market_analyst.jinja +0 -48
  257. novacode_cli-1.2.0/novacode_cli/prompts/subagents/research_synthesizer.jinja +0 -57
  258. novacode_cli-1.2.0/novacode_cli/prompts/subagents/technical_researcher.jinja +0 -56
  259. novacode_cli-1.2.0/novacode_cli/prompts/subagents/web_researcher.jinja +0 -46
  260. novacode_cli-1.2.0/novacode_cli/remote/async_task_watcher.py +0 -240
  261. novacode_cli-1.2.0/novacode_cli/remote/status.py +0 -411
  262. novacode_cli-1.2.0/novacode_cli/remote/telegram_bridge.py +0 -1118
  263. novacode_cli-1.2.0/novacode_cli/rooms/bridge.py +0 -86
  264. novacode_cli-1.2.0/novacode_cli/rooms/cli.py +0 -231
  265. novacode_cli-1.2.0/novacode_cli/rooms/nova.py +0 -227
  266. novacode_cli-1.2.0/novacode_cli/rooms/runtime.py +0 -299
  267. novacode_cli-1.2.0/novacode_cli/rooms/store.py +0 -538
  268. novacode_cli-1.2.0/novacode_cli/shell/jobs.py +0 -475
  269. novacode_cli-1.2.0/novacode_cli/shell/middleware.py +0 -1568
  270. novacode_cli-1.2.0/novacode_cli/skills/builtin/handoff/SKILL.md +0 -15
  271. novacode_cli-1.2.0/novacode_cli/skills/load.py +0 -248
  272. novacode_cli-1.2.0/novacode_cli/skills/refreshing_middleware.py +0 -896
  273. novacode_cli-1.2.0/novacode_cli/skills/retrieval.py +0 -248
  274. novacode_cli-1.2.0/novacode_cli/skills/runtime.py +0 -118
  275. novacode_cli-1.2.0/novacode_cli/states/Session.py +0 -847
  276. novacode_cli-1.2.0/novacode_cli/teams/adapters/inprocess.py +0 -206
  277. novacode_cli-1.2.0/novacode_cli/teams/bootstrap.py +0 -246
  278. novacode_cli-1.2.0/novacode_cli/teams/coordinator.py +0 -815
  279. novacode_cli-1.2.0/novacode_cli/teams/worker.py +0 -251
  280. novacode_cli-1.2.0/novacode_cli/tools/job_tools.py +0 -143
  281. novacode_cli-1.2.0/novacode_cli/tools/scraper_tools.py +0 -377
  282. novacode_cli-1.2.0/novacode_cli/tools/waiter_tools.py +0 -408
  283. novacode_cli-1.2.0/novacode_cli/tracking/usage_tree.py +0 -677
  284. novacode_cli-1.2.0/novacode_cli/tui/app.py +0 -19315
  285. novacode_cli-1.2.0/novacode_cli/tui/caveman_screen.py +0 -185
  286. novacode_cli-1.2.0/novacode_cli/tui/handoff_screen.py +0 -206
  287. novacode_cli-1.2.0/novacode_cli/tui/history_tree_screen.py +0 -179
  288. novacode_cli-1.2.0/novacode_cli/tui/home.py +0 -328
  289. novacode_cli-1.2.0/novacode_cli/tui/interface_styles.tcss +0 -327
  290. novacode_cli-1.2.0/novacode_cli/tui/pickers.py +0 -237
  291. novacode_cli-1.2.0/novacode_cli/tui/reference_screens.py +0 -444
  292. novacode_cli-1.2.0/novacode_cli/tui/rooms.py +0 -597
  293. novacode_cli-1.2.0/novacode_cli/tui/screens.py +0 -7088
  294. novacode_cli-1.2.0/novacode_cli/tui/session_pane.py +0 -242
  295. novacode_cli-1.2.0/novacode_cli/tui/teammates.py +0 -548
  296. novacode_cli-1.2.0/novacode_cli/tui/voice_downloads.py +0 -113
  297. novacode_cli-1.2.0/novacode_cli/tui/widgets.py +0 -2038
  298. novacode_cli-1.2.0/novacode_cli/ui/council_web.py +0 -113
  299. novacode_cli-1.2.0/novacode_cli/ui/council_workspace.py +0 -72
  300. novacode_cli-1.2.0/novacode_cli/ui/cowork_web.py +0 -41
  301. novacode_cli-1.2.0/novacode_cli/ui/hitl_approval.py +0 -196
  302. novacode_cli-1.2.0/novacode_cli/ui/web_workspace.py +0 -244
  303. novacode_cli-1.2.0/novacode_cli/ui_events.py +0 -299
  304. novacode_cli-1.2.0/novacode_cli.egg-info/PKG-INFO +0 -271
  305. novacode_cli-1.2.0/pyproject.toml +0 -320
  306. novacode_cli-1.2.0/setup.cfg +0 -4
  307. novacode_cli-1.2.0/tests/test_async_model_context.py +0 -559
  308. novacode_cli-1.2.0/tests/test_async_task_watcher.py +0 -191
  309. novacode_cli-1.2.0/tests/test_caveman.py +0 -346
  310. novacode_cli-1.2.0/tests/test_caveman_features.py +0 -450
  311. novacode_cli-1.2.0/tests/test_chat_handler.py +0 -757
  312. novacode_cli-1.2.0/tests/test_ci_fix.py +0 -124
  313. novacode_cli-1.2.0/tests/test_compression_modes.py +0 -238
  314. novacode_cli-1.2.0/tests/test_computer.py +0 -602
  315. novacode_cli-1.2.0/tests/test_council_settings.py +0 -306
  316. novacode_cli-1.2.0/tests/test_council_workspace.py +0 -40
  317. novacode_cli-1.2.0/tests/test_discord_session_threads.py +0 -460
  318. novacode_cli-1.2.0/tests/test_file_tracker.py +0 -113
  319. novacode_cli-1.2.0/tests/test_handoff.py +0 -419
  320. novacode_cli-1.2.0/tests/test_handoff_skill_and_delete.py +0 -251
  321. novacode_cli-1.2.0/tests/test_handoff_ui.py +0 -197
  322. novacode_cli-1.2.0/tests/test_interface_styles.py +0 -95
  323. novacode_cli-1.2.0/tests/test_knowledge_cache.py +0 -462
  324. novacode_cli-1.2.0/tests/test_lite_mode.py +0 -148
  325. novacode_cli-1.2.0/tests/test_memory_prompt_cache_order.py +0 -303
  326. novacode_cli-1.2.0/tests/test_model_retry_progress.py +0 -151
  327. novacode_cli-1.2.0/tests/test_passing_fixes.py +0 -259
  328. novacode_cli-1.2.0/tests/test_plugin_compatibility.py +0 -1030
  329. novacode_cli-1.2.0/tests/test_prime.py +0 -393
  330. novacode_cli-1.2.0/tests/test_prime_ui.py +0 -286
  331. novacode_cli-1.2.0/tests/test_project_onboard.py +0 -330
  332. novacode_cli-1.2.0/tests/test_project_rooms.py +0 -868
  333. novacode_cli-1.2.0/tests/test_provider_caching.py +0 -299
  334. novacode_cli-1.2.0/tests/test_release_version.py +0 -50
  335. novacode_cli-1.2.0/tests/test_remote_approval_transport.py +0 -377
  336. novacode_cli-1.2.0/tests/test_remote_approval_tui.py +0 -382
  337. novacode_cli-1.2.0/tests/test_remote_status.py +0 -298
  338. novacode_cli-1.2.0/tests/test_semantic_cache.py +0 -116
  339. novacode_cli-1.2.0/tests/test_session_edges.py +0 -228
  340. novacode_cli-1.2.0/tests/test_shared_embeddings.py +0 -264
  341. novacode_cli-1.2.0/tests/test_skill_retrieval.py +0 -235
  342. novacode_cli-1.2.0/tests/test_skill_selection.py +0 -311
  343. novacode_cli-1.2.0/tests/test_skills_runtime.py +0 -429
  344. novacode_cli-1.2.0/tests/test_subagent_resilience.py +0 -282
  345. novacode_cli-1.2.0/tests/test_team_inprocess.py +0 -422
  346. novacode_cli-1.2.0/tests/test_team_process.py +0 -217
  347. novacode_cli-1.2.0/tests/test_teammate_updates.py +0 -199
  348. novacode_cli-1.2.0/tests/test_teammates.py +0 -717
  349. novacode_cli-1.2.0/tests/test_teammates_ui.py +0 -396
  350. novacode_cli-1.2.0/tests/test_telegram_session_topics.py +0 -497
  351. novacode_cli-1.2.0/tests/test_tool_search.py +0 -460
  352. novacode_cli-1.2.0/tests/test_tool_search_safety.py +0 -359
  353. novacode_cli-1.2.0/tests/test_tool_search_variants.py +0 -117
  354. novacode_cli-1.2.0/tests/test_tool_verdicts.py +0 -829
  355. novacode_cli-1.2.0/tests/test_tui_app.py +0 -5731
  356. novacode_cli-1.2.0/tests/test_tui_classic_design.py +0 -206
  357. novacode_cli-1.2.0/tests/test_tui_home_preferences.py +0 -506
  358. novacode_cli-1.2.0/tests/test_tui_subagent_panel.py +0 -333
  359. novacode_cli-1.2.0/tests/test_tui_terminal_title.py +0 -93
  360. novacode_cli-1.2.0/tests/test_tui_voice_downloads.py +0 -192
  361. novacode_cli-1.2.0/tests/test_tui_voice_output.py +0 -82
  362. novacode_cli-1.2.0/tests/test_voice_catalog.py +0 -106
  363. novacode_cli-1.2.0/tests/test_web_workspace_browser.py +0 -435
  364. novacode_cli-1.2.0/tests/test_windows_qemu.py +0 -373
  365. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/LICENSE +0 -0
  366. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/__init__.py +0 -0
  367. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/__main__.py +0 -0
  368. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/_lazy_heavy.py +0 -0
  369. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/agent_stream.py +0 -0
  370. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/agents/agent_file.py +0 -0
  371. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/agents/agent_mailbox.py +0 -0
  372. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/agents/approval_decisions.py +0 -0
  373. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/agents/arg_repair.py +0 -0
  374. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/agents/async_agents/__init__.py +0 -0
  375. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/agents/async_agents/_config.py +0 -0
  376. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/agents/async_agents/_mcp_tools.py +0 -0
  377. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/agents/async_agents/_specialist.py +0 -0
  378. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/agents/async_agents/_test_commands.py +0 -0
  379. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/agents/async_agents/_tools.py +0 -0
  380. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/agents/async_agents/langgraph.json +0 -0
  381. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/agents/async_agents/research.py +0 -0
  382. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/agents/async_on_demand.py +0 -0
  383. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/agents/async_task_errors.py +0 -0
  384. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/agents/async_workspace.py +0 -0
  385. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/agents/attribution.py +0 -0
  386. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/agents/browser_mode.py +0 -0
  387. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/agents/btw_agent.py +0 -0
  388. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/agents/caveman_support.py +0 -0
  389. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/agents/code_runtime.py +0 -0
  390. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/agents/context_compaction.py +0 -0
  391. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/agents/default_subagents/__init__.py +0 -0
  392. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/agents/default_subagents/async_subagents.py +0 -0
  393. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/agents/default_subagents/builtin/browser-automation-agent.md +0 -0
  394. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/agents/default_subagents/builtin/bug-fix-agent.md +0 -0
  395. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/agents/default_subagents/builtin/bug-investigation-agent.md +0 -0
  396. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/agents/default_subagents/builtin/code-explorer.md +0 -0
  397. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/agents/default_subagents/builtin/code-review-agent.md +0 -0
  398. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/agents/default_subagents/builtin/dependency-audit-agent.md +0 -0
  399. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/agents/default_subagents/builtin/documentation-update-agent.md +0 -0
  400. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/agents/default_subagents/builtin/performance-audit-agent.md +0 -0
  401. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/agents/default_subagents/builtin/plan-scout-agent.md +0 -0
  402. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/agents/default_subagents/builtin/refactoring-agent.md +0 -0
  403. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/agents/default_subagents/builtin/refactoring-specialist-agent.md +0 -0
  404. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/agents/default_subagents/builtin/security-audit-agent.md +0 -0
  405. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/agents/default_subagents/builtin/test-generation-agent.md +0 -0
  406. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/agents/default_subagents/builtin/test-runner-agent.md +0 -0
  407. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/agents/default_subagents/prompt.py +0 -0
  408. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/agents/default_subagents/subagents.py +0 -0
  409. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/agents/dream_agent.py +0 -0
  410. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/agents/edit_diagnostics.py +0 -0
  411. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/agents/edit_fallback.py +0 -0
  412. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/agents/model_router.py +0 -0
  413. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/agents/openai_decisions.py +0 -0
  414. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/agents/plan_agent/__init__.py +0 -0
  415. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/agents/plan_agent/plan_agent.py +0 -0
  416. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/agents/plan_execution.py +0 -0
  417. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/agents/provider_caching.py +0 -0
  418. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/agents/server_launcher.py +0 -0
  419. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/agents/strict_tools.py +0 -0
  420. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/agents/task_discipline.py +0 -0
  421. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/agents/tool_call_repair.py +0 -0
  422. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/agents/tool_offload.py +0 -0
  423. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/agents/tool_search_variants.py +0 -0
  424. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/agents/tool_verdicts.py +0 -0
  425. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/agents/user_async_agents.py +0 -0
  426. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/artifacts/__init__.py +0 -0
  427. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/artifacts/registry.py +0 -0
  428. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/artifacts/server.py +0 -0
  429. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/assets/Nova.png +0 -0
  430. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/assets/nova-avatar.png +0 -0
  431. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/audio/capture.py +0 -0
  432. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/audio/speakable.py +0 -0
  433. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/audio/stt.py +0 -0
  434. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/audio/stt_deepgram.py +0 -0
  435. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/audio/stt_whistle.py +0 -0
  436. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/audio/tts_kokoro.py +0 -0
  437. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/audio/tts_orpheus.py +0 -0
  438. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/audio/tts_pocket.py +0 -0
  439. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/audio/tts_sano.py +0 -0
  440. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/audio/vad.py +0 -0
  441. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/backends/__init__.py +0 -0
  442. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/backends/filesystem.py +0 -0
  443. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/backends/native_search.py +0 -0
  444. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/bootstrap/__init__.py +0 -0
  445. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/bootstrap/env_snapshot.py +0 -0
  446. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/bootstrap/steering.py +0 -0
  447. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/bootstrap/vision_router.py +0 -0
  448. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/brand.py +0 -0
  449. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/commands/__init__.py +0 -0
  450. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/commands/agents_commands.py +0 -0
  451. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/commands/auth_handler.py +0 -0
  452. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/commands/cache_handler.py +0 -0
  453. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/commands/claude_plan.py +0 -0
  454. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/commands/codex_plan.py +0 -0
  455. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/commands/commands.py +0 -0
  456. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/commands/create_handler.py +0 -0
  457. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/commands/create_server.py +0 -0
  458. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/commands/cron_handler.py +0 -0
  459. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/commands/dream_handler.py +0 -0
  460. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/commands/effort_handler.py +0 -0
  461. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/commands/evolution_handler.py +0 -0
  462. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/commands/file_commands.py +0 -0
  463. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/commands/hooks_handler.py +0 -0
  464. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/commands/init_handler.py +0 -0
  465. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/commands/learning_handler.py +0 -0
  466. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/commands/lite_mode_handler.py +0 -0
  467. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/commands/log_commands.py +0 -0
  468. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/commands/mcp_handler.py +0 -0
  469. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/commands/model_handler.py +0 -0
  470. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/commands/notifications_handler.py +0 -0
  471. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/commands/plan_handler.py +0 -0
  472. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/commands/planner_usage.py +0 -0
  473. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/commands/plugins_handler.py +0 -0
  474. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/commands/prompt_handler.py +0 -0
  475. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/commands/provider_usage.py +0 -0
  476. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/commands/ralph_events.py +0 -0
  477. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/commands/ralph_handler.py +0 -0
  478. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/commands/refine_handler.py +0 -0
  479. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/commands/research_handler.py +0 -0
  480. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/commands/rootapp_remote.py +0 -0
  481. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/commands/router_handler.py +0 -0
  482. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/commands/server_commands.py +0 -0
  483. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/commands/share_handler.py +0 -0
  484. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/commands/side_commands.py +0 -0
  485. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/commands/skill_invoke.py +0 -0
  486. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/commands/skills_commands.py +0 -0
  487. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/commands/trace_handler.py +0 -0
  488. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/commands/trello_handler.py +0 -0
  489. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/commands/trello_remote.py +0 -0
  490. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/commands/trello_server.py +0 -0
  491. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/commands/vision_handler.py +0 -0
  492. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/commands/webhook_handler.py +0 -0
  493. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/commands/wiki_commands.py +0 -0
  494. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/compaction.py +0 -0
  495. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/computation_cache.py +0 -0
  496. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/computer/__init__.py +0 -0
  497. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/computer/persistent.py +0 -0
  498. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/computer/preview.py +0 -0
  499. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/computer/windows_console.py +0 -0
  500. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/config/browser_mode.py +0 -0
  501. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/config/catalog_models.py +0 -0
  502. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/config/config.py +0 -0
  503. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/config/credentials.py +0 -0
  504. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/config/google_oauth_auth.py +0 -0
  505. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/config/model_capabilities.py +0 -0
  506. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/config/model_catalog.py +0 -0
  507. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/config/model_create.py +0 -0
  508. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/config/model_manager.py +0 -0
  509. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/config/openai_chatgpt_auth.py +0 -0
  510. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/config/opencode_gateway.py +0 -0
  511. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/config/plan_mode.py +0 -0
  512. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/config/provider_auth.py +0 -0
  513. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/config/provider_registry.py +0 -0
  514. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/config/provider_transports.py +0 -0
  515. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/config/role_models.py +0 -0
  516. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/context/__init__.py +0 -0
  517. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/context/_analysis.py +0 -0
  518. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/context/_budget.py +0 -0
  519. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/context/_conversation.py +0 -0
  520. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/context/_dynamic.py +0 -0
  521. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/context/_model_config.py +0 -0
  522. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/context/_models_dev.py +0 -0
  523. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/context/archives.py +0 -0
  524. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/context/estimates.py +0 -0
  525. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/context/history.py +0 -0
  526. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/context/knowledge_cache.py +0 -0
  527. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/context/manager.py +0 -0
  528. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/context/observations.py +0 -0
  529. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/context/pressure.py +0 -0
  530. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/context/provider_accounting.py +0 -0
  531. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/context/strategies.py +0 -0
  532. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/context/task_progress.py +0 -0
  533. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/core/__init__.py +0 -0
  534. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/core/autonomous_loop.py +0 -0
  535. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/core/code_approvals.py +0 -0
  536. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/core/input_preparation.py +0 -0
  537. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/core/reasoning.py +0 -0
  538. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/core/streaming.py +0 -0
  539. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/core/subagent_tracking.py +0 -0
  540. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/core/tool_results.py +0 -0
  541. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/core/verification_loop.py +0 -0
  542. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/council_planner.py +0 -0
  543. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/council_settings.py +0 -0
  544. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/cowork/__init__.py +0 -0
  545. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/cowork/broker_middleware.py +0 -0
  546. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/cowork/launcher.py +0 -0
  547. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/cowork/policy.py +0 -0
  548. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/daemons/__init__.py +0 -0
  549. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/daemons/registry.py +0 -0
  550. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/desktop_notifications.py +0 -0
  551. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/doctor.py +0 -0
  552. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/embeddings.py +0 -0
  553. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/errors/__init__.py +0 -0
  554. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/errors/handlers.py +0 -0
  555. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/errors/provider_errors.py +0 -0
  556. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/errors/taxonomy.py +0 -0
  557. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/events.py +0 -0
  558. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/file_ops.py +0 -0
  559. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/git_safety.py +0 -0
  560. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/headless/__init__.py +0 -0
  561. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/headless/input.py +0 -0
  562. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/headless/output.py +0 -0
  563. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/headless/pipe.py +0 -0
  564. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/hermes/__init__.py +0 -0
  565. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/hermes/activation.py +0 -0
  566. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/hermes/config.py +0 -0
  567. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/hermes/curator.py +0 -0
  568. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/hermes/evolution.py +0 -0
  569. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/hermes/ledger.py +0 -0
  570. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/hermes/memory_tiers.py +0 -0
  571. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/hermes/middleware.py +0 -0
  572. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/hermes/overview.py +0 -0
  573. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/hermes/prompt_evolution.py +0 -0
  574. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/hermes/refine_loop.py +0 -0
  575. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/hermes/refinement_log.py +0 -0
  576. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/hermes/review.py +0 -0
  577. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/hermes/skill_debate.py +0 -0
  578. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/hermes/skill_discovery.py +0 -0
  579. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/hermes/skill_manager.py +0 -0
  580. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/hermes/skill_proposals.py +0 -0
  581. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/hermes/test_gaming.py +0 -0
  582. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/hermes/tracker.py +0 -0
  583. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/hermes/tuner.py +0 -0
  584. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/hermes/verification_memory.py +0 -0
  585. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/hermes/verifier.py +0 -0
  586. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/hitl/__init__.py +0 -0
  587. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/hitl/interrupts.py +0 -0
  588. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/image_utils.py +0 -0
  589. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/init/__init__.py +0 -0
  590. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/init/events.py +0 -0
  591. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/input_utils.py +0 -0
  592. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/install_commands.py +0 -0
  593. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/integrations/__init__.py +0 -0
  594. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/integrations/daytona.py +0 -0
  595. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/integrations/docker.py +0 -0
  596. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/integrations/host_path.py +0 -0
  597. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/integrations/langsmith.py +0 -0
  598. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/integrations/modal.py +0 -0
  599. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/integrations/runloop.py +0 -0
  600. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/integrations/sandbox_factory.py +0 -0
  601. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/integrations/sandbox_registry.py +0 -0
  602. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/integrations/workdir_backend.py +0 -0
  603. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/mcp/__init__.py +0 -0
  604. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/mcp/auth.py +0 -0
  605. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/mcp/client.py +0 -0
  606. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/mcp/code_mode.py +0 -0
  607. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/mcp/code_runtime.py +0 -0
  608. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/mcp/commands.py +0 -0
  609. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/mcp/generic.py +0 -0
  610. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/mcp/middleware.py +0 -0
  611. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/mcp/presets.py +0 -0
  612. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/memory/__init__.py +0 -0
  613. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/memory/agent_memory.py +0 -0
  614. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/memory/builtin_lessons.py +0 -0
  615. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/memory/dream_gates.py +0 -0
  616. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/memory/limits.py +0 -0
  617. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/memory/parsed_cache.py +0 -0
  618. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/memory/recall_stats.py +0 -0
  619. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/memory/store.py +0 -0
  620. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/memory/wiki.py +0 -0
  621. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/migrate.py +0 -0
  622. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/onboarding.py +0 -0
  623. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/onboarding_check.py +0 -0
  624. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/path_approval.py +0 -0
  625. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/plan_archive.py +0 -0
  626. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/plugins/__init__.py +0 -0
  627. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/plugins/loader.py +0 -0
  628. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/prime.py +0 -0
  629. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/prime_factory/__init__.py +0 -0
  630. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/prime_factory/container.py +0 -0
  631. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/prime_factory/controller.py +0 -0
  632. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/prime_factory/knowledge.py +0 -0
  633. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/prime_factory/publication.py +0 -0
  634. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/prime_factory/recovery.py +0 -0
  635. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/prime_factory/research.py +0 -0
  636. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/prime_factory/runner.py +0 -0
  637. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/prime_factory/runtime.py +0 -0
  638. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/prime_factory/state.py +0 -0
  639. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/prime_factory/store.py +0 -0
  640. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/prime_factory/worker.py +0 -0
  641. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/prime_factory/workflow.py +0 -0
  642. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/prime_factory/workspace.py +0 -0
  643. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/prime_memory.py +0 -0
  644. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/process_manager.py +0 -0
  645. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/prompts/__init__.py +0 -0
  646. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/prompts/agent_definitions.jinja +0 -0
  647. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/prompts/agent_generation.jinja +0 -0
  648. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/prompts/async_agents/general_purpose.jinja +0 -0
  649. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/prompts/coding_workflow.jinja +0 -0
  650. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/prompts/computer_use.jinja +0 -0
  651. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/prompts/delegation.jinja +0 -0
  652. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/prompts/desktop_power.jinja +0 -0
  653. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/prompts/file_paths.jinja +0 -0
  654. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/prompts/file_tracker.jinja +0 -0
  655. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/prompts/init_agents_md.jinja +0 -0
  656. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/prompts/init_exploration.jinja +0 -0
  657. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/prompts/init_semantic_orchestrate.jinja +0 -0
  658. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/prompts/instruction_scope.jinja +0 -0
  659. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/prompts/learnings_extraction.jinja +0 -0
  660. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/prompts/longterm_memory.jinja +0 -0
  661. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/prompts/mcp.jinja +0 -0
  662. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/prompts/memory_consolidation.jinja +0 -0
  663. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/prompts/nova_evolution.jinja +0 -0
  664. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/prompts/nova_review.jinja +0 -0
  665. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/prompts/nova_skill_debate.jinja +0 -0
  666. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/prompts/nova_verify.jinja +0 -0
  667. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/prompts/plan_scouts.jinja +0 -0
  668. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/prompts/plan_storage.jinja +0 -0
  669. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/prompts/planning.jinja +0 -0
  670. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/prompts/ponytail/LICENSE +0 -0
  671. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/prompts/ponytail/hooks/ponytail-config.js +0 -0
  672. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/prompts/ponytail/hooks/ponytail-instructions.js +0 -0
  673. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/prompts/ponytail/skills/ponytail/SKILL.md +0 -0
  674. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/prompts/ponytail/skills/ponytail-audit/SKILL.md +0 -0
  675. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/prompts/ponytail/skills/ponytail-debt/SKILL.md +0 -0
  676. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/prompts/ponytail/skills/ponytail-gain/SKILL.md +0 -0
  677. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/prompts/ponytail/skills/ponytail-help/SKILL.md +0 -0
  678. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/prompts/ponytail/skills/ponytail-review/SKILL.md +0 -0
  679. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/prompts/prompt_evolution.jinja +0 -0
  680. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/prompts/ralph_iteration.jinja +0 -0
  681. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/prompts/refine_gate.jinja +0 -0
  682. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/prompts/refine_plan.jinja +0 -0
  683. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/prompts/refine_review.jinja +0 -0
  684. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/prompts/research_delivery.jinja +0 -0
  685. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/prompts/response_style.jinja +0 -0
  686. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/prompts/session_summarization.jinja +0 -0
  687. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/prompts/skill_creation.jinja +0 -0
  688. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/prompts/summarization.jinja +0 -0
  689. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/prompts/summarization_answers.jinja +0 -0
  690. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/prompts/summarization_questions.jinja +0 -0
  691. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/prompts/vision_caption.jinja +0 -0
  692. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/prompts/voice_summary.jinja +0 -0
  693. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/prompts/wiki_file.jinja +0 -0
  694. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/prompts/wiki_ingest.jinja +0 -0
  695. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/recovery.py +0 -0
  696. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/remote/__init__.py +0 -0
  697. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/remote/approvals.py +0 -0
  698. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/remote/async_task_clients.py +0 -0
  699. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/remote/bridge.py +0 -0
  700. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/remote/command_menu.py +0 -0
  701. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/remote/command_ui.py +0 -0
  702. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/remote/config.py +0 -0
  703. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/remote/discord_bridge.py +0 -0
  704. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/remote/discord_format.py +0 -0
  705. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/remote/discord_threads.py +0 -0
  706. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/remote/images.py +0 -0
  707. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/remote/processor.py +0 -0
  708. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/remote/rootapp_bot/bot.cjs +0 -0
  709. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/remote/rootapp_bot/package-lock.json +0 -0
  710. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/remote/rootapp_bot/package.json +0 -0
  711. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/remote/rootapp_bot/transport.cjs +0 -0
  712. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/remote/rootapp_bridge.py +0 -0
  713. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/remote/rootapp_setup.py +0 -0
  714. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/remote/routing.py +0 -0
  715. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/remote/scheduler.py +0 -0
  716. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/remote/session.py +0 -0
  717. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/remote/streaming.py +0 -0
  718. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/remote/telegram_format.py +0 -0
  719. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/remote/telegram_hub.py +0 -0
  720. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/remote/voice_notes.py +0 -0
  721. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/remote/webhook_adapters.py +0 -0
  722. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/remote/webhook_server.py +0 -0
  723. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/rewind.py +0 -0
  724. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/rooms/__init__.py +0 -0
  725. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/rooms/workspace.py +0 -0
  726. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/security/__init__.py +0 -0
  727. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/security/approval_context.py +0 -0
  728. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/security/delegated_approval.py +0 -0
  729. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/security/local_http.py +0 -0
  730. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/security/middleware.py +0 -0
  731. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/security/paths.py +0 -0
  732. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/security/policy.py +0 -0
  733. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/security/policy_writer.py +0 -0
  734. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/security/prompt_injection.py +0 -0
  735. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/security/remember.py +0 -0
  736. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/security/rule_synthesis.py +0 -0
  737. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/security/secret_files.py +0 -0
  738. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/security/session_allow.py +0 -0
  739. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/security/unicode_security.py +0 -0
  740. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/security/validator.py +0 -0
  741. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/server/__init__.py +0 -0
  742. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/server/app.py +0 -0
  743. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/server/event_adapter.py +0 -0
  744. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/server/session_manager.py +0 -0
  745. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/server_main.py +0 -0
  746. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/server_runner/dev_server.py +0 -0
  747. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/server_runner/test_runner.py +0 -0
  748. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/session/__init__.py +0 -0
  749. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/session/adapters/__init__.py +0 -0
  750. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/session/adapters/claude_code.py +0 -0
  751. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/session/adapters/codex.py +0 -0
  752. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/session/adapters/harness_native.py +0 -0
  753. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/session/checkpoint_coordinator.py +0 -0
  754. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/session/context_restore.py +0 -0
  755. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/session/history_export.py +0 -0
  756. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/session/history_tree.py +0 -0
  757. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/session/imported_context.py +0 -0
  758. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/session/runtime_identity.py +0 -0
  759. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/session/session_persistence.py +0 -0
  760. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/session/session_prompt_builder.py +0 -0
  761. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/session/session_restore.py +0 -0
  762. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/session/session_summarization.py +0 -0
  763. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/session/transcript_journal.py +0 -0
  764. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/sessions/__init__.py +0 -0
  765. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/sessions/gateway.py +0 -0
  766. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/sessions/launch.py +0 -0
  767. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/sessions/lease.py +0 -0
  768. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/sessions/messaging.py +0 -0
  769. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/sessions/protocol.py +0 -0
  770. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/sessions/resume.py +0 -0
  771. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/sessions/supervisor.py +0 -0
  772. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/sessions/tasks.py +0 -0
  773. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/sessions/tui_messaging.py +0 -0
  774. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/sessions/worker.py +0 -0
  775. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/sessions/worktree.py +0 -0
  776. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/shell/__init__.py +0 -0
  777. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/shell/os_sandbox.py +0 -0
  778. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/shell/output.py +0 -0
  779. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/shell/patterns.py +0 -0
  780. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/shell/processes.py +0 -0
  781. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/shell/utils.py +0 -0
  782. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/skills/__init__.py +0 -0
  783. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/skills/curation_middleware.py +0 -0
  784. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/skills/executable.py +0 -0
  785. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/skills/libraries.py +0 -0
  786. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/skills/prune.py +0 -0
  787. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/skills/schema.py +0 -0
  788. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/skills/skill_creation.py +0 -0
  789. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/skills/skill_lock.py +0 -0
  790. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/skills/skill_system_prompt.py +0 -0
  791. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/skills/skills_prefs.py +0 -0
  792. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/skills/tool_resolver.py +0 -0
  793. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/skills/upstream.py +0 -0
  794. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/skills/versioning.py +0 -0
  795. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/states/__init__.py +0 -0
  796. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/states/slices/__init__.py +0 -0
  797. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/states/slices/agent_runtime.py +0 -0
  798. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/states/slices/background_tasks.py +0 -0
  799. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/states/slices/notifications.py +0 -0
  800. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/states/slices/remote_bridge.py +0 -0
  801. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/states/slices/ui_settings.py +0 -0
  802. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/states/slices/wiki.py +0 -0
  803. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/teammates/__init__.py +0 -0
  804. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/teammates/controller.py +0 -0
  805. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/teammates/graph.py +0 -0
  806. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/teammates/registry.py +0 -0
  807. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/teammates/service.py +0 -0
  808. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/teammates/worker.py +0 -0
  809. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/teams/__init__.py +0 -0
  810. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/teams/adapters/__init__.py +0 -0
  811. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/teams/adapters/container.py +0 -0
  812. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/teams/adapters/process.py +0 -0
  813. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/teams/container_git.py +0 -0
  814. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/teams/context.py +0 -0
  815. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/teams/gateway.py +0 -0
  816. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/teams/host.py +0 -0
  817. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/teams/legacy.py +0 -0
  818. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/teams/middleware.py +0 -0
  819. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/teams/models.py +0 -0
  820. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/teams/output.py +0 -0
  821. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/teams/protocol.py +0 -0
  822. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/teams/recovery.py +0 -0
  823. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/teams/scheduler.py +0 -0
  824. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/teams/store.py +0 -0
  825. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/teams/workspace.py +0 -0
  826. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/token_utils.py +0 -0
  827. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/tools/__init__.py +0 -0
  828. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/tools/_shared.py +0 -0
  829. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/tools/_types.py +0 -0
  830. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/tools/artifact_tools.py +0 -0
  831. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/tools/code_search_tools.py +0 -0
  832. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/tools/computer_tools.py +0 -0
  833. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/tools/cron_tools.py +0 -0
  834. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/tools/daemon_tool.py +0 -0
  835. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/tools/desktop_tools.py +0 -0
  836. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/tools/fetch_tools.py +0 -0
  837. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/tools/http_tools.py +0 -0
  838. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/tools/inspection_tools.py +0 -0
  839. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/tools/knowledge_tools.py +0 -0
  840. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/tools/memory_tools.py +0 -0
  841. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/tools/memory_wiki_tools.py +0 -0
  842. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/tools/notebook_tools.py +0 -0
  843. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/tools/oracle_tool.py +0 -0
  844. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/tools/plan_archive_tools.py +0 -0
  845. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/tools/plan_mode_tools.py +0 -0
  846. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/tools/python_kernel_loop.py +0 -0
  847. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/tools/python_kernel_tool.py +0 -0
  848. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/tools/reflection_tools.py +0 -0
  849. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/tools/skill_tools.py +0 -0
  850. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/tools/speak_tool.py +0 -0
  851. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/tools/store_memory_tools.py +0 -0
  852. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/tools/ui_tools.py +0 -0
  853. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/tools/web_tools.py +0 -0
  854. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/tools/wiki_tools.py +0 -0
  855. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/tools/worktree_tools.py +0 -0
  856. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/tracking/__init__.py +0 -0
  857. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/tracking/file_tracker.py +0 -0
  858. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/tracking/local_metrics.py +0 -0
  859. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/tracking/loop_guard.py +0 -0
  860. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/tracking/request_metrics.py +0 -0
  861. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/tracking/tracing.py +0 -0
  862. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/tracking/workspace_anchoring.py +0 -0
  863. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/tui/__init__.py +0 -0
  864. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/tui/animation_rate.py +0 -0
  865. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/tui/animations.py +0 -0
  866. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/tui/auth_display.py +0 -0
  867. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/tui/auth_screens.py +0 -0
  868. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/tui/avatar.py +0 -0
  869. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/tui/avatar_frames.py +0 -0
  870. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/tui/background_tasks.py +0 -0
  871. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/tui/browser_settings_screen.py +0 -0
  872. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/tui/council_settings_screen.py +0 -0
  873. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/tui/council_view.py +0 -0
  874. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/tui/decision_settings.py +0 -0
  875. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/tui/diff_preview.py +0 -0
  876. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/tui/gc_tuning.py +0 -0
  877. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/tui/harness.py +0 -0
  878. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/tui/home_scene.py +0 -0
  879. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/tui/icons.py +0 -0
  880. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/tui/matrix3.py +0 -0
  881. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/tui/mcp_tools_screen.py +0 -0
  882. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/tui/motion.py +0 -0
  883. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/tui/output_body.py +0 -0
  884. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/tui/output_buffer.py +0 -0
  885. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/tui/palette.py +0 -0
  886. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/tui/prime_panel.py +0 -0
  887. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/tui/provider_signin.py +0 -0
  888. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/tui/pty_shell.py +0 -0
  889. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/tui/resume_picker.py +0 -0
  890. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/tui/session_import.py +0 -0
  891. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/tui/session_tab.py +0 -0
  892. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/tui/session_transcript.py +0 -0
  893. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/tui/shell_output.py +0 -0
  894. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/tui/stall_watch.py +0 -0
  895. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/tui/statusline.py +0 -0
  896. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/tui/statusline_screen.py +0 -0
  897. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/tui/teammate_updates.py +0 -0
  898. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/tui/terminal.py +0 -0
  899. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/tui/terminal_view.py +0 -0
  900. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/tui/themes.py +0 -0
  901. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/tui/update_notice.py +0 -0
  902. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/tui/windows_input.py +0 -0
  903. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/tui/workspace_approval.py +0 -0
  904. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/ui/diff_highlight.py +0 -0
  905. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/ui/execution.py +0 -0
  906. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/ui/exit_summary.py +0 -0
  907. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/ui/input_preparation.py +0 -0
  908. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/ui/interrupt_handlers.py +0 -0
  909. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/ui/question_prompt.py +0 -0
  910. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/ui/status_phrases.py +0 -0
  911. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/ui/stream_preview.py +0 -0
  912. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/ui/streaming.py +0 -0
  913. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/ui/subagent_tracking.py +0 -0
  914. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/ui/ui_elements.py +0 -0
  915. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/update_ui.py +0 -0
  916. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/updates.py +0 -0
  917. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/utils/backend_patches.py +0 -0
  918. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/utils/backend_paths.py +0 -0
  919. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/utils/lazy_providers.py +0 -0
  920. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/utils/model_info.py +0 -0
  921. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/utils/pdf_extraction.py +0 -0
  922. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/utils/startup.py +0 -0
  923. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/utils/tasks.py +0 -0
  924. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/utils/windows.py +0 -0
  925. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/vixie/hook_adapter.py +0 -0
  926. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/vixie/server.py +0 -0
  927. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/wiki/__init__.py +0 -0
  928. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/wiki/ask.py +0 -0
  929. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/wiki/file.py +0 -0
  930. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/wiki/ingest.py +0 -0
  931. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli/wiki/manager.py +0 -0
  932. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli.egg-info/SOURCES.txt +0 -0
  933. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli.egg-info/dependency_links.txt +0 -0
  934. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli.egg-info/entry_points.txt +0 -0
  935. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli.egg-info/requires.txt +0 -0
  936. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/novacode_cli.egg-info/top_level.txt +0 -0
  937. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_absolute_host_paths.py +0 -0
  938. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_agent_invocation.py +0 -0
  939. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_agent_mailbox.py +0 -0
  940. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_agent_mentions.py +0 -0
  941. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_agent_server_launcher.py +0 -0
  942. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_agent_stream.py +0 -0
  943. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_agents_http_api.py +0 -0
  944. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_agents_screen.py +0 -0
  945. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_approval_decisions.py +0 -0
  946. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_approval_policy.py +0 -0
  947. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_arg_repair.py +0 -0
  948. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_artifacts.py +0 -0
  949. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_async_completion_delivery.py +0 -0
  950. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_async_general_purpose.py +0 -0
  951. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_async_mcp_tools.py +0 -0
  952. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_async_offload_fixes.py +0 -0
  953. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_async_on_demand.py +0 -0
  954. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_async_subagent_gating.py +0 -0
  955. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_async_task_errors.py +0 -0
  956. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_attribution.py +0 -0
  957. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_auth_refresh.py +0 -0
  958. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_auth_screens.py +0 -0
  959. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_autonomous_loop.py +0 -0
  960. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_background_monitor.py +0 -0
  961. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_background_responsiveness.py +0 -0
  962. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_bash_in_chat.py +0 -0
  963. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_brand.py +0 -0
  964. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_brand_banner.py +0 -0
  965. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_browser_mode.py +0 -0
  966. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_browser_mode_ui.py +0 -0
  967. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_browser_server_settings.py +0 -0
  968. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_build_avatar.py +0 -0
  969. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_builtin_agent_files.py +0 -0
  970. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_builtin_lessons.py +0 -0
  971. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_cache_diagnostics.py +0 -0
  972. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_caveman_benchmark.py +0 -0
  973. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_checkpoint_coordinator.py +0 -0
  974. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_claude_agent_files.py +0 -0
  975. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_claude_plan.py +0 -0
  976. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_clear.py +0 -0
  977. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_clear_context.py +0 -0
  978. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_cli_help_branding.py +0 -0
  979. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_clipboard_image_paste.py +0 -0
  980. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_code_mode_toggle.py +0 -0
  981. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_codex_plan.py +0 -0
  982. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_commandcode_provider.py +0 -0
  983. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_compaction.py +0 -0
  984. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_compaction_derived_label.py +0 -0
  985. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_compaction_no_replay.py +0 -0
  986. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_compaction_notice.py +0 -0
  987. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_compaction_prefix.py +0 -0
  988. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_compaction_replay_leak.py +0 -0
  989. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_compaction_tail.py +0 -0
  990. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_compaction_trigger_sync.py +0 -0
  991. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_computer_background.py +0 -0
  992. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_context_breakdown_tokens.py +0 -0
  993. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_context_compaction.py +0 -0
  994. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_context_compaction_guard.py +0 -0
  995. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_context_edit_trigger.py +0 -0
  996. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_context_history.py +0 -0
  997. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_context_learning_audit.py +0 -0
  998. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_context_learning_properties.py +0 -0
  999. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_context_learning_replay.py +0 -0
  1000. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_context_learning_verification_gate.py +0 -0
  1001. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_context_overflow.py +0 -0
  1002. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_context_pressure_policy.py +0 -0
  1003. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_context_snapshot.py +0 -0
  1004. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_context_strategies.py +0 -0
  1005. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_continuation_heading_coupling.py +0 -0
  1006. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_continuation_leak.py +0 -0
  1007. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_conversation_context.py +0 -0
  1008. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_conversation_history_backend.py +0 -0
  1009. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_core_prompt_subagents.py +0 -0
  1010. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_council_chat_ui.py +0 -0
  1011. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_council_consensus.py +0 -0
  1012. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_council_planner.py +0 -0
  1013. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_council_tui.py +0 -0
  1014. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_council_view.py +0 -0
  1015. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_cowork_broker_middleware.py +0 -0
  1016. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_cowork_policy.py +0 -0
  1017. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_cowork_server.py +0 -0
  1018. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_credentials.py +0 -0
  1019. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_cross_session_lifecycle.py +0 -0
  1020. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_cross_session_tui.py +0 -0
  1021. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_ctrl_b_background.py +0 -0
  1022. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_daemon_hardening.py +0 -0
  1023. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_daemon_security_identity.py +0 -0
  1024. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_daemon_tool.py +0 -0
  1025. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_dangerous_patterns.py +0 -0
  1026. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_decision_settings.py +0 -0
  1027. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_deepagents_compat.py +0 -0
  1028. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_deferred_commands.py +0 -0
  1029. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_delegated_auto_approve.py +0 -0
  1030. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_desktop_notifications.py +0 -0
  1031. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_desktop_sleep.py +0 -0
  1032. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_diff_highlight.py +0 -0
  1033. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_diff_preview.py +0 -0
  1034. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_dream_agent_backend.py +0 -0
  1035. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_dream_gates.py +0 -0
  1036. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_dream_handler.py +0 -0
  1037. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_edit_diagnostics.py +0 -0
  1038. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_edit_fallback.py +0 -0
  1039. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_entrance_animation.py +0 -0
  1040. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_error_taxonomy.py +0 -0
  1041. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_essential_session_tools.py +0 -0
  1042. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_events.py +0 -0
  1043. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_evolution_activity.py +0 -0
  1044. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_exit_summary.py +0 -0
  1045. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_external_review.py +0 -0
  1046. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_factory_container.py +0 -0
  1047. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_factory_controller.py +0 -0
  1048. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_factory_interfaces.py +0 -0
  1049. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_factory_knowledge.py +0 -0
  1050. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_factory_workers.py +0 -0
  1051. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_factory_workflow.py +0 -0
  1052. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_factory_workspace.py +0 -0
  1053. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_fallback_usage.py +0 -0
  1054. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_file_mentions.py +0 -0
  1055. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_file_op_tracker_isolation.py +0 -0
  1056. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_file_ops.py +0 -0
  1057. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_generic_mcp_tool.py +0 -0
  1058. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_git_safety.py +0 -0
  1059. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_goal_rubric.py +0 -0
  1060. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_goal_usage.py +0 -0
  1061. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_good_habits_injection.py +0 -0
  1062. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_google_oauth_auth.py +0 -0
  1063. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_google_tool_schema.py +0 -0
  1064. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_google_workspace_offline.py +0 -0
  1065. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_guard_and_log_fixes.py +0 -0
  1066. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_headless.py +0 -0
  1067. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_headless_production.py +0 -0
  1068. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_home_scenes.py +0 -0
  1069. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_hooks.py +0 -0
  1070. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_host_path.py +0 -0
  1071. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_hover_restyle.py +0 -0
  1072. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_image_utils.py +0 -0
  1073. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_input_history_and_redirect.py +0 -0
  1074. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_install_commands.py +0 -0
  1075. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_jev_auth.py +0 -0
  1076. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_langsmith_runtime.py +0 -0
  1077. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_langsmith_setup.py +0 -0
  1078. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_langsmith_setup_modal.py +0 -0
  1079. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_large_paste.py +0 -0
  1080. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_lazy_heavy.py +0 -0
  1081. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_lazy_providers.py +0 -0
  1082. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_learning_activation.py +0 -0
  1083. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_learning_command_lifecycle.py +0 -0
  1084. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_learning_ledger.py +0 -0
  1085. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_learning_recall.py +0 -0
  1086. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_learning_review_safety.py +0 -0
  1087. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_learning_rework.py +0 -0
  1088. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_learning_tui.py +0 -0
  1089. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_lesson_scope.py +0 -0
  1090. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_local_backend_subagent_execute.py +0 -0
  1091. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_log_session_line.py +0 -0
  1092. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_loop_guard.py +0 -0
  1093. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_loop_guard_halts.py +0 -0
  1094. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_matrix3.py +0 -0
  1095. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_matrix_rain.py +0 -0
  1096. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_mcp_auth.py +0 -0
  1097. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_mcp_cli.py +0 -0
  1098. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_mcp_code_mode.py +0 -0
  1099. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_mcp_presets.py +0 -0
  1100. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_mcp_sessions.py +0 -0
  1101. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_mcp_structured_content.py +0 -0
  1102. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_memory_retrieval.py +0 -0
  1103. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_memory_search.py +0 -0
  1104. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_memory_tools.py +0 -0
  1105. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_memory_wiki.py +0 -0
  1106. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_modal_layouts.py +0 -0
  1107. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_model_build.py +0 -0
  1108. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_model_capabilities.py +0 -0
  1109. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_model_catalog.py +0 -0
  1110. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_model_command_core.py +0 -0
  1111. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_model_endpoint.py +0 -0
  1112. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_model_router.py +0 -0
  1113. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_model_screen_custom.py +0 -0
  1114. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_model_screen_roles.py +0 -0
  1115. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_model_selector.py +0 -0
  1116. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_models_dev_context.py +0 -0
  1117. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_more_providers.py +0 -0
  1118. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_multimodal_content_blocks.py +0 -0
  1119. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_native_code_mode.py +0 -0
  1120. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_native_search.py +0 -0
  1121. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_notebook_tools.py +0 -0
  1122. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_notifications.py +0 -0
  1123. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_nova_avatar.py +0 -0
  1124. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_nova_config_lost_update.py +0 -0
  1125. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_nvidia_provider.py +0 -0
  1126. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_ollama_context.py +0 -0
  1127. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_ollama_stdout_guard.py +0 -0
  1128. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_openai_chatgpt_auth.py +0 -0
  1129. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_openai_decisions.py +0 -0
  1130. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_opencode_jev.py +0 -0
  1131. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_opencode_model_list.py +0 -0
  1132. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_opencode_provider.py +0 -0
  1133. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_opencode_zen.py +0 -0
  1134. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_optimization.py +0 -0
  1135. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_os_sandbox.py +0 -0
  1136. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_packaged_main_prompts.py +0 -0
  1137. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_paste_placeholders.py +0 -0
  1138. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_pathless_search_scope.py +0 -0
  1139. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_phase45.py +0 -0
  1140. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_phase89.py +0 -0
  1141. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_pipe_adapter.py +0 -0
  1142. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_pipe_mode.py +0 -0
  1143. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_plan_agent_checkpoint.py +0 -0
  1144. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_plan_approval_options.py +0 -0
  1145. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_plan_approval_persistence.py +0 -0
  1146. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_plan_archive.py +0 -0
  1147. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_plan_auto_scope.py +0 -0
  1148. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_plan_directory_creation.py +0 -0
  1149. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_plan_execution.py +0 -0
  1150. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_plan_lifecycle_regressions.py +0 -0
  1151. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_plan_mcp_guard.py +0 -0
  1152. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_plan_middleware.py +0 -0
  1153. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_plan_paths.py +0 -0
  1154. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_planner_usage.py +0 -0
  1155. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_plugins.py +0 -0
  1156. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_policy_writer.py +0 -0
  1157. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_portable_daemon_runtime.py +0 -0
  1158. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_portable_paths_stdlib.py +0 -0
  1159. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_prime_browser.py +0 -0
  1160. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_prime_records.py +0 -0
  1161. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_process_runtime.py +0 -0
  1162. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_project_memory.py +0 -0
  1163. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_project_root.py +0 -0
  1164. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_project_session_picker.py +0 -0
  1165. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_prompt_contracts.py +0 -0
  1166. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_prompt_injection_guardrails.py +0 -0
  1167. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_provider_accounting.py +0 -0
  1168. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_provider_auth.py +0 -0
  1169. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_provider_catalog.py +0 -0
  1170. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_provider_effort_wiring.py +0 -0
  1171. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_provider_errors.py +0 -0
  1172. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_provider_signin_ui.py +0 -0
  1173. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_provider_transports.py +0 -0
  1174. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_provider_usage.py +0 -0
  1175. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_python_kernel_tool.py +0 -0
  1176. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_queue_and_redirect.py +0 -0
  1177. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_quickjs_compat.py +0 -0
  1178. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_ralph_progress.py +0 -0
  1179. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_ralph_smart_loop.py +0 -0
  1180. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_ralph_ui.py +0 -0
  1181. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_reasoning_content.py +0 -0
  1182. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_reasoning_scroll.py +0 -0
  1183. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_reasoning_settings.py +0 -0
  1184. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_reasoning_visibility.py +0 -0
  1185. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_rebuild_keeps_backend.py +0 -0
  1186. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_recent_plans.py +0 -0
  1187. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_recovery.py +0 -0
  1188. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_recovery_archives.py +0 -0
  1189. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_reference_pin_background_ui.py +0 -0
  1190. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_reference_screens.py +0 -0
  1191. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_refine_handler.py +0 -0
  1192. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_refreshing_skills.py +0 -0
  1193. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_remember_approvals.py +0 -0
  1194. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_remote_approval_processor.py +0 -0
  1195. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_remote_approval_worker.py +0 -0
  1196. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_remote_approvals.py +0 -0
  1197. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_remote_commands.py +0 -0
  1198. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_remote_cron.py +0 -0
  1199. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_remote_image_display.py +0 -0
  1200. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_remote_launch_approval.py +0 -0
  1201. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_remote_question.py +0 -0
  1202. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_remote_session_resume.py +0 -0
  1203. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_remote_sessions.py +0 -0
  1204. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_remote_start_approval.py +0 -0
  1205. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_remote_stop.py +0 -0
  1206. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_remote_streaming.py +0 -0
  1207. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_remote_tool_digest.py +0 -0
  1208. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_remote_voice_notes.py +0 -0
  1209. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_repl_context_pressure.py +0 -0
  1210. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_request_snapshot.py +0 -0
  1211. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_research_subagents.py +0 -0
  1212. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_research_swarm_roster.py +0 -0
  1213. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_resource_efficiency.py +0 -0
  1214. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_restored_context.py +0 -0
  1215. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_resume_history.py +0 -0
  1216. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_resume_picker_design.py +0 -0
  1217. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_review_gateway_models.py +0 -0
  1218. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_review_task_end.py +0 -0
  1219. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_rewind.py +0 -0
  1220. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_role_models.py +0 -0
  1221. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_rootapp_remote.py +0 -0
  1222. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_rootapp_ui.py +0 -0
  1223. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_rule_synthesis.py +0 -0
  1224. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_runtime_boundary_fixes.py +0 -0
  1225. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_sandbox_langsmith.py +0 -0
  1226. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_sandbox_orphan.py +0 -0
  1227. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_sandbox_provider_regressions.py +0 -0
  1228. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_sandbox_provision.py +0 -0
  1229. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_sandbox_registry.py +0 -0
  1230. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_security_middleware.py +0 -0
  1231. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_security_paths_audit.py +0 -0
  1232. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_security_remediation.py +0 -0
  1233. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_session_agent_tools.py +0 -0
  1234. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_session_allow.py +0 -0
  1235. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_session_clear.py +0 -0
  1236. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_session_crash_recovery.py +0 -0
  1237. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_session_gateway.py +0 -0
  1238. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_session_import.py +0 -0
  1239. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_session_launch.py +0 -0
  1240. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_session_lease.py +0 -0
  1241. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_session_messaging.py +0 -0
  1242. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_session_model_restore.py +0 -0
  1243. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_session_plus.py +0 -0
  1244. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_session_protocol.py +0 -0
  1245. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_session_provider_restore.py +0 -0
  1246. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_session_reply_panels.py +0 -0
  1247. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_session_retention.py +0 -0
  1248. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_session_rpc.py +0 -0
  1249. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_session_state_fields.py +0 -0
  1250. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_session_supervisor.py +0 -0
  1251. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_session_transcript.py +0 -0
  1252. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_session_transport.py +0 -0
  1253. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_session_tree.py +0 -0
  1254. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_session_worker.py +0 -0
  1255. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_settings_screen.py +0 -0
  1256. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_share_handler.py +0 -0
  1257. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_shared_state_read.py +0 -0
  1258. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_shell_dialect_routing.py +0 -0
  1259. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_shell_jobs.py +0 -0
  1260. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_shell_middleware.py +0 -0
  1261. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_shell_nonblocking.py +0 -0
  1262. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_shell_output.py +0 -0
  1263. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_shell_output_responsiveness.py +0 -0
  1264. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_shell_prompts.py +0 -0
  1265. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_shutdown.py +0 -0
  1266. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_side_commands_goal.py +0 -0
  1267. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_skill_creation_contract.py +0 -0
  1268. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_skill_executable.py +0 -0
  1269. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_skill_invoke.py +0 -0
  1270. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_skill_libraries_and_resolvers.py +0 -0
  1271. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_skill_manage_tool.py +0 -0
  1272. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_skill_usage_policy.py +0 -0
  1273. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_skill_versioning.py +0 -0
  1274. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_skills_controls.py +0 -0
  1275. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_skills_curation.py +0 -0
  1276. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_skills_prune.py +0 -0
  1277. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_skills_upstream.py +0 -0
  1278. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_startup_and_search_perf.py +0 -0
  1279. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_startup_version_scan.py +0 -0
  1280. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_status_phrases.py +0 -0
  1281. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_statusline_controls.py +0 -0
  1282. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_steering.py +0 -0
  1283. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_store_memory.py +0 -0
  1284. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_strict_tools.py +0 -0
  1285. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_subagent_hitl.py +0 -0
  1286. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_subagent_model_roles.py +0 -0
  1287. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_subagent_registration.py +0 -0
  1288. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_subagent_tasks.py +0 -0
  1289. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_subagent_tracking.py +0 -0
  1290. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_summarization_profile.py +0 -0
  1291. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_tab_mentions.py +0 -0
  1292. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_tab_performance.py +0 -0
  1293. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_tab_resume.py +0 -0
  1294. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_tab_tasks.py +0 -0
  1295. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_task_discipline.py +0 -0
  1296. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_task_progress_compaction.py +0 -0
  1297. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_team_accounting.py +0 -0
  1298. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_team_approvals.py +0 -0
  1299. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_team_container.py +0 -0
  1300. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_team_legacy.py +0 -0
  1301. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_team_lifecycle.py +0 -0
  1302. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_team_output.py +0 -0
  1303. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_team_properties.py +0 -0
  1304. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_team_recovery.py +0 -0
  1305. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_team_runtime.py +0 -0
  1306. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_team_store.py +0 -0
  1307. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_team_swarm.py +0 -0
  1308. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_team_update_handoff.py +0 -0
  1309. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_team_workspace.py +0 -0
  1310. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_team_worktree.py +0 -0
  1311. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_teammate_computer.py +0 -0
  1312. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_teammate_registry.py +0 -0
  1313. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_telegram_approval_buttons.py +0 -0
  1314. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_telegram_command_menu.py +0 -0
  1315. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_telegram_format.py +0 -0
  1316. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_telegram_hub.py +0 -0
  1317. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_telegram_images.py +0 -0
  1318. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_telegram_voice.py +0 -0
  1319. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_test_gaming.py +0 -0
  1320. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_text_repetition_guard.py +0 -0
  1321. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_text_selection.py +0 -0
  1322. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_theme_markdown.py +0 -0
  1323. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_theme_readability.py +0 -0
  1324. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_token_efficiency.py +0 -0
  1325. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_tool_call_repair.py +0 -0
  1326. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_tool_definition_accounting.py +0 -0
  1327. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_tool_result_offload_vs_truncation.py +0 -0
  1328. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_tool_verdict_flag.py +0 -0
  1329. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_transcript_journal.py +0 -0
  1330. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_transcript_restyle.py +0 -0
  1331. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_trello_remote.py +0 -0
  1332. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_trello_server.py +0 -0
  1333. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_tui_agent_server_command.py +0 -0
  1334. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_tui_animation_rate.py +0 -0
  1335. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_tui_banner_sizes.py +0 -0
  1336. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_tui_cancel.py +0 -0
  1337. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_tui_compaction_row.py +0 -0
  1338. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_tui_crash_autosave.py +0 -0
  1339. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_tui_exit_immediate.py +0 -0
  1340. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_tui_help_coverage.py +0 -0
  1341. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_tui_home_dashboard.py +0 -0
  1342. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_tui_icons.py +0 -0
  1343. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_tui_long_run.py +0 -0
  1344. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_tui_no_blocking_io.py +0 -0
  1345. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_tui_no_layout_storm.py +0 -0
  1346. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_tui_notices.py +0 -0
  1347. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_tui_onboard_progress.py +0 -0
  1348. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_tui_output_log.py +0 -0
  1349. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_tui_pickers.py +0 -0
  1350. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_tui_question_dock.py +0 -0
  1351. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_tui_remember.py +0 -0
  1352. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_tui_remote_subcommands.py +0 -0
  1353. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_tui_replay_layouts.py +0 -0
  1354. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_tui_resume_model.py +0 -0
  1355. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_tui_sessions.py +0 -0
  1356. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_tui_terminal_view.py +0 -0
  1357. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_tui_test_output.py +0 -0
  1358. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_tui_trace_command.py +0 -0
  1359. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_tui_update_release.py +0 -0
  1360. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_tui_windows_input.py +0 -0
  1361. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_ui_harness.py +0 -0
  1362. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_unified_code_mode.py +0 -0
  1363. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_update_release.py +0 -0
  1364. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_update_restart.py +0 -0
  1365. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_update_success_screen.py +0 -0
  1366. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_updates.py +0 -0
  1367. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_usage_lifecycle.py +0 -0
  1368. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_usage_tree.py +0 -0
  1369. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_user_async_agents.py +0 -0
  1370. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_user_config_guard.py +0 -0
  1371. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_verdict_tool_uses_edit.py +0 -0
  1372. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_verification_loop.py +0 -0
  1373. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_verification_memory.py +0 -0
  1374. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_verification_signal.py +0 -0
  1375. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_vision_caption_wiring.py +0 -0
  1376. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_vision_multimodal_routing.py +0 -0
  1377. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_vision_router.py +0 -0
  1378. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_voice_credentials.py +0 -0
  1379. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_waiter_tools.py +0 -0
  1380. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_web_workspace_ui.py +0 -0
  1381. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_webhook_server.py +0 -0
  1382. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_workdir_backend.py +0 -0
  1383. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_workdir_backend_no_python3.py +0 -0
  1384. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_workdir_grep.py +0 -0
  1385. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_workspace_approval.py +0 -0
  1386. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_worktree.py +0 -0
  1387. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_worktree_tools.py +0 -0
  1388. {novacode_cli-1.2.0 → novacode_cli-1.2.1}/tests/test_write_file_content_patch.py +0 -0
@@ -0,0 +1,271 @@
1
+ Metadata-Version: 2.4
2
+ Name: novacode-cli
3
+ Version: 1.2.1
4
+ Summary: Agentic Coding Tool that runs in your terminal
5
+ Author-email: Babitdor <babitdorbryan14@gmail.com>
6
+ License-Expression: MIT
7
+ Project-URL: Homepage, https://github.com/Babitdor/NovaCode
8
+ Project-URL: Repository, https://github.com/Babitdor/NovaCode
9
+ Project-URL: Issues, https://github.com/Babitdor/NovaCode/issues
10
+ Project-URL: Changelog, https://github.com/Babitdor/NovaCode/blob/main/CHANGELOG.md
11
+ Keywords: nova,code-cli,nova-code,agentic-code-cli
12
+ Classifier: Development Status :: 3 - Alpha
13
+ Classifier: Intended Audience :: Developers
14
+ Classifier: Programming Language :: Python :: 3.11
15
+ Classifier: Programming Language :: Python :: 3.12
16
+ Classifier: Programming Language :: Python :: 3.13
17
+ Requires-Python: <4.0,>=3.11
18
+ Description-Content-Type: text/markdown
19
+ License-File: LICENSE
20
+ Requires-Dist: requests
21
+ Requires-Dist: certifi>=2026.10.19
22
+ Requires-Dist: brotli>=1.2.1
23
+ Requires-Dist: jinja2>=3.1.0
24
+ Requires-Dist: rich>=13.0.0
25
+ Requires-Dist: textual>=1.0.0
26
+ Requires-Dist: psutil>=5.9
27
+ Requires-Dist: pyte<0.9,>=0.8.2
28
+ Requires-Dist: pywinpty<3,>=2.0.15; sys_platform == "win32"
29
+ Requires-Dist: langchain>=1.2.13
30
+ Requires-Dist: langchain-core>=1.2.22
31
+ Requires-Dist: langchain-openai>=1.0.0
32
+ Requires-Dist: langchain-anthropic>=1.4.0
33
+ Requires-Dist: langchain-ollama>=1.0.1
34
+ Requires-Dist: langchain-google-genai>=4.2.1
35
+ Requires-Dist: google-auth>=2.40
36
+ Requires-Dist: google-auth-oauthlib>=1.2.2
37
+ Requires-Dist: langchain-nvidia-ai-endpoints>=1.4.1
38
+ Requires-Dist: langchain-mcp-adapters>=0.2.2
39
+ Requires-Dist: langgraph>=1.1.3
40
+ Requires-Dist: langgraph-checkpoint-sqlite>=2.0.0
41
+ Requires-Dist: langsmith>=0.7.22
42
+ Requires-Dist: tavily-python
43
+ Requires-Dist: deepagents<0.8,>=0.7.0
44
+ Requires-Dist: python-dotenv
45
+ Requires-Dist: daytona>=0.113.0
46
+ Requires-Dist: modal>=0.65.0
47
+ Requires-Dist: markdownify>=0.13.0
48
+ Requires-Dist: runloop-api-client>=0.69.0
49
+ Requires-Dist: mcp<2,>=1.28.1
50
+ Requires-Dist: docker>=7.0.0
51
+ Requires-Dist: keyring>=24.0.0
52
+ Requires-Dist: pillow>=13.0.0
53
+ Requires-Dist: aiosqlite>=0.19.0
54
+ Requires-Dist: pyyaml>=6.0
55
+ Requires-Dist: tomli-w>=1.0.0
56
+ Requires-Dist: ddgs>=7.0.0
57
+ Requires-Dist: aiohttp>=3.9
58
+ Requires-Dist: httpx>=0.27
59
+ Requires-Dist: PyJWT[crypto]>=2.10
60
+ Requires-Dist: pydantic>=2.0
61
+ Requires-Dist: jsonschema>=4.18
62
+ Requires-Dist: referencing>=0.28.4
63
+ Requires-Dist: regex>=2024.11.6
64
+ Requires-Dist: pymupdf>=1.24
65
+ Requires-Dist: bm25s>=0.2
66
+ Requires-Dist: graphifyy>=0.4.0
67
+ Requires-Dist: semble>=0.1.8
68
+ Requires-Dist: discord.py>=2.3.0
69
+ Requires-Dist: python-telegram-bot>=21.0.0
70
+ Requires-Dist: langchain-quickjs==0.3.2
71
+ Requires-Dist: dill>=0.3.8
72
+ Requires-Dist: langchain-typesafe>=0.0.1a3
73
+ Provides-Extra: browser
74
+ Requires-Dist: browser-use>=0.1.0; extra == "browser"
75
+ Requires-Dist: playwright>=1.40.0; extra == "browser"
76
+ Provides-Extra: voice
77
+ Requires-Dist: faster-whisper>=1.0.0; extra == "voice"
78
+ Requires-Dist: silero-vad>=5.1; extra == "voice"
79
+ Requires-Dist: piper-tts>=1.2.0; extra == "voice"
80
+ Requires-Dist: sounddevice>=0.4.6; extra == "voice"
81
+ Provides-Extra: voice-orpheus
82
+ Requires-Dist: orpheus-cpp==0.0.3; extra == "voice-orpheus"
83
+ Requires-Dist: llama-cpp-python>=0.3.0; extra == "voice-orpheus"
84
+ Provides-Extra: voice-parakeet
85
+ Requires-Dist: sherpa-onnx<2,>=1.10.0; extra == "voice-parakeet"
86
+ Provides-Extra: voice-pocket
87
+ Requires-Dist: pocket-tts>=0.1.0; extra == "voice-pocket"
88
+ Provides-Extra: bedrock
89
+ Requires-Dist: langchain-aws>=1.0.0; extra == "bedrock"
90
+ Provides-Extra: server
91
+ Requires-Dist: fastapi>=0.115.0; extra == "server"
92
+ Requires-Dist: uvicorn>=0.34.0; extra == "server"
93
+ Provides-Extra: agents-server
94
+ Requires-Dist: langgraph-cli[inmem]; extra == "agents-server"
95
+ Provides-Extra: voice-whistle
96
+ Requires-Dist: cactus-needle<4,>=3.2.1; extra == "voice-whistle"
97
+ Provides-Extra: voice-kokoro
98
+ Requires-Dist: kokoro-onnx==0.4.9; extra == "voice-kokoro"
99
+ Provides-Extra: voice-sano
100
+ Requires-Dist: sanotts==0.3.0; extra == "voice-sano"
101
+ Provides-Extra: computer
102
+ Requires-Dist: cua==0.9.0; extra == "computer"
103
+ Dynamic: license-file
104
+
105
+ ![NovaCode banner](assets/Nova.png)
106
+
107
+ # NovaCode
108
+
109
+ An open-source terminal coding assistant that reads your project, plans changes,
110
+ edits files and runs checks. Choose cloud or local models and keep useful project
111
+ knowledge between sessions.
112
+
113
+ Built with Python, LangGraph, deepagents and Textual. [MIT licensed](LICENSE).
114
+
115
+ ![NovaCode terminal in Classic style](assets/Preview-classic.png)
116
+
117
+ ## Get started
118
+
119
+ Requires **Python 3.11+**, **Git** and **uv**, plus a supported model provider or
120
+ a running Ollama instance with a model installed.
121
+
122
+ ```bash
123
+ git clone https://github.com/Babitdor/NovaCode.git
124
+ cd NovaCode
125
+ uv sync
126
+ uv run nova
127
+ ```
128
+
129
+ First-run setup guides provider configuration and workspace approval. Hosted
130
+ models may charge for usage. To install a global `nova` command from this checkout,
131
+ run `uv tool install .`, then launch `nova` from your project directory.
132
+
133
+ ## What Nova can do
134
+
135
+ - **Code and verify:** investigate projects, edit files, run commands and checks,
136
+ and review changes with workspace and tool approvals.
137
+ - **Plan and delegate:** compare Council proposals, use specialist agents and
138
+ coordinate project tabs with messages and Git worktrees.
139
+ - **Remember:** inspect and maintain a linked Markdown memory wiki, resume
140
+ sessions and recover supported file snapshots.
141
+ - **Choose and extend:** select hosted or local models, configure an independent
142
+ vision model, and add skills, plugins and MCP servers.
143
+ - **Compose tools in Code Mode:** toggle it below the composer to combine
144
+ eligible native and MCP tools in bounded JavaScript workflows.
145
+ - **Speak and listen:** optional speech input and short spoken reply summaries,
146
+ including lightweight CPU voice choices and model download progress.
147
+ - **Make it yours:** choose from 13 interface styles, including character art
148
+ and optional animated home scenes.
149
+ - **Work beyond the terminal:** use remote chats, local web workspaces, temporary
150
+ artifact previews and headless automation.
151
+
152
+ See [FEATURES.md](FEATURES.md) for the full catalog, setup requirements and
153
+ landing-page copy.
154
+
155
+ ## Everyday use
156
+
157
+ | Command | Purpose |
158
+ | --- | --- |
159
+ | `/help` | Commands and keyboard shortcuts |
160
+ | `/onboard` | Interactive code map, guided tours, architecture guide, Q&A and change impact |
161
+ | `/model`, `/auth` | Models, vision and provider access |
162
+ | `/plan`, `/council <task>` | Investigate changes and compare plans |
163
+ | `/tabs`, `/resume` | Parallel projects and saved sessions |
164
+ | `/dream`, `/context` | Memory maintenance and context inspection |
165
+ | `/settings`, `/theme` | Voice, interface styles and preferences |
166
+ | `/mcp`, `/remote` | External tools and remote chat setup |
167
+ | `/restore` | Recoverable file snapshots |
168
+
169
+ Attach files with `@`; use **Shift+Enter** for a new line. For a one-shot task:
170
+
171
+ ```bash
172
+ uv run nova -p "Summarize the changes in this repository"
173
+ ```
174
+
175
+ **New to a project? Start with `/onboard`.** Inspired by
176
+ [Understand Anything](https://github.com/Egonex-AI/Understand-Anything), it parses
177
+ the local workspace with the already installed Graphify language parsers and
178
+ saves a persistent graph and guide in `.nova/onboard/`. The local artifact
179
+ dashboard provides file/symbol search, directory filters, a clickable dependency
180
+ map, a learning tour and incoming dependency impact tracing. It needs no Node
181
+ installation, browser credentials or external dashboard assets.
182
+
183
+ Use `/onboard open` to reopen the dashboard, `/onboard tour` for a conversational
184
+ tour, `/onboard ask <question>` for source-grounded Q&A, and
185
+ `/onboard impact <symbol or path>` before changing code. The dashboard's **Ask
186
+ Nova** tab prepares a command to paste into the conversation. Nova explains the
187
+ architecture and business flows using its normal model and tool permissions;
188
+ the initial deterministic guide contains structural facts only. Reopen the
189
+ dashboard after Nova enriches the guide. Model calls use your configured provider.
190
+
191
+ `/onboard refresh` rebuilds after changes. File-content fingerprints detect
192
+ new, edited and deleted inputs; saved analyses display a staleness notice.
193
+ Scans respect Git ignore rules and skip links, generated directories and common
194
+ secret filenames. Static parsing can miss dynamic dependencies; directory
195
+ groups are not semantic architecture layers. Limits: 5,000 source/Markdown
196
+ files, 1 MiB per file, 64 MiB total input and 32 MiB graph. The parsing deadline
197
+ scales with file count and input size from two to ten minutes; Escape cancels it.
198
+ Refresh replaces generated graph/guide files, so copy edited guides
199
+ elsewhere before rebuilding. This command currently requires a local workspace;
200
+ Plan Mode prevents building or refreshing the saved analysis.
201
+
202
+ ## Optional features
203
+
204
+ Install selected extras from this checkout, for example:
205
+
206
+ ```bash
207
+ uv sync --extra voice --extra voice-kokoro
208
+ ```
209
+
210
+ Keep all desired `--extra` flags when syncing. Speech models download on first
211
+ use. See [setup and usage](SETUP.md) for global installation, voice providers,
212
+ browser automation and background-agent requirements.
213
+
214
+ **Local computer preview:** the `computer` extra lets Nova operate a
215
+ separate Linux QEMU VM with a private live browser preview and pause/resume/stop
216
+ controls. Requires QEMU, a guest-image download and 4 GiB RAM for the guest.
217
+ Start with `/computer start`; see [computer setup and limits](COMPUTER.md).
218
+ The Windows WHPX compatibility fix in this checkout has passed a real desktop boot.
219
+
220
+ ## Documentation and contributing
221
+
222
+ [Setup and usage](SETUP.md) · [Feature catalog](FEATURES.md) ·
223
+ [Code Mode](docs/mcp-code-mode.md) · [Permissions](docs/security-guardrails.md) ·
224
+ [Sharing](docs/temporary-sharing.md) · [Changelog](changelog/)
225
+
226
+ For development, run `uv sync --group dev` and tests relevant to your change.
227
+ See [project instructions](AGENTS.md) for build and check commands. Report bugs
228
+ or propose changes through repository issues and pull requests.
229
+
230
+
231
+ ### Compression preferences
232
+
233
+ The composer selector cycles **Off → Caveman → Ponytail → Off**. Options saves
234
+ mode, independent intensities and Caveman feature switches together; Escape discards
235
+ edits. Preferences persist across restarts. Existing Caveman settings migrate automatically.
236
+ Mode changes use temporary notifications and never submit your draft.
237
+
238
+ - `/caveman on|off|lite|full|ultra|wenyan-lite|wenyan-full|wenyan-ultra`
239
+ - `/ponytail` activates Ponytail without resetting its selected intensity.
240
+ - `/ponytail lite|full|ultra|off|settings|status`
241
+ - `/ponytail-review [scope]`, `/ponytail-audit [scope]`, `/ponytail-debt [scope]`,
242
+ `/ponytail-gain`, `/ponytail-help` run the corresponding one-shot helper without
243
+ changing the selected mode. Review and audit request reports, not edits.
244
+ - A standalone `stop ponytail` or `normal mode` disables Ponytail. Those phrases
245
+ inside an ordinary task do not change preferences.
246
+
247
+ Caveman compresses prose and optionally tool views. Ponytail applies the upstream
248
+ coding rules: solve the complete problem with the least new code, preserve necessary
249
+ checks, and name skipped work and risks. Ponytail leaves tool results intact and
250
+ also applies to delegated model requests. Neither mode changes tool permissions.
251
+ Savings depend on the task and model; shorter output is not guaranteed.
252
+
253
+ Ponytail's MIT-licensed skill bodies and JavaScript instruction builder are vendored
254
+ from [DietrichGebert/ponytail](https://github.com/DietrichGebert/ponytail) at
255
+ `09c434ab73ca43761c5d8b0c5d341926c2fba710`. Nova's Python builder is checked
256
+ against golden hashes from that JavaScript builder. Nova owns the persistent selector;
257
+ upstream Claude-specific band, board, install hooks and default-mode files are not used.
258
+ There is no Node runtime requirement.
259
+
260
+ To validate every compression intensity against your configured LLM (20 paid/provider
261
+ calls, concurrency two, 60-second timeout each), run:
262
+
263
+ ```sh
264
+ uv run python -m scripts.verify_compression_live
265
+ ```
266
+
267
+ This opt-in check preserves exact failure facts/commands and validates generated
268
+ Python on boundary and invalid-bound cases. It writes synthetic outputs and reported
269
+ usage (or `unknown`) to `test-results/compression-live.json`, without changing your
270
+ preferences. Offline tests never call an LLM. Golden parity proves prompt equivalence;
271
+ it cannot guarantee identical stochastic model responses.
@@ -0,0 +1,167 @@
1
+ ![NovaCode banner](assets/Nova.png)
2
+
3
+ # NovaCode
4
+
5
+ An open-source terminal coding assistant that reads your project, plans changes,
6
+ edits files and runs checks. Choose cloud or local models and keep useful project
7
+ knowledge between sessions.
8
+
9
+ Built with Python, LangGraph, deepagents and Textual. [MIT licensed](LICENSE).
10
+
11
+ ![NovaCode terminal in Classic style](assets/Preview-classic.png)
12
+
13
+ ## Get started
14
+
15
+ Requires **Python 3.11+**, **Git** and **uv**, plus a supported model provider or
16
+ a running Ollama instance with a model installed.
17
+
18
+ ```bash
19
+ git clone https://github.com/Babitdor/NovaCode.git
20
+ cd NovaCode
21
+ uv sync
22
+ uv run nova
23
+ ```
24
+
25
+ First-run setup guides provider configuration and workspace approval. Hosted
26
+ models may charge for usage. To install a global `nova` command from this checkout,
27
+ run `uv tool install .`, then launch `nova` from your project directory.
28
+
29
+ ## What Nova can do
30
+
31
+ - **Code and verify:** investigate projects, edit files, run commands and checks,
32
+ and review changes with workspace and tool approvals.
33
+ - **Plan and delegate:** compare Council proposals, use specialist agents and
34
+ coordinate project tabs with messages and Git worktrees.
35
+ - **Remember:** inspect and maintain a linked Markdown memory wiki, resume
36
+ sessions and recover supported file snapshots.
37
+ - **Choose and extend:** select hosted or local models, configure an independent
38
+ vision model, and add skills, plugins and MCP servers.
39
+ - **Compose tools in Code Mode:** toggle it below the composer to combine
40
+ eligible native and MCP tools in bounded JavaScript workflows.
41
+ - **Speak and listen:** optional speech input and short spoken reply summaries,
42
+ including lightweight CPU voice choices and model download progress.
43
+ - **Make it yours:** choose from 13 interface styles, including character art
44
+ and optional animated home scenes.
45
+ - **Work beyond the terminal:** use remote chats, local web workspaces, temporary
46
+ artifact previews and headless automation.
47
+
48
+ See [FEATURES.md](FEATURES.md) for the full catalog, setup requirements and
49
+ landing-page copy.
50
+
51
+ ## Everyday use
52
+
53
+ | Command | Purpose |
54
+ | --- | --- |
55
+ | `/help` | Commands and keyboard shortcuts |
56
+ | `/onboard` | Interactive code map, guided tours, architecture guide, Q&A and change impact |
57
+ | `/model`, `/auth` | Models, vision and provider access |
58
+ | `/plan`, `/council <task>` | Investigate changes and compare plans |
59
+ | `/tabs`, `/resume` | Parallel projects and saved sessions |
60
+ | `/dream`, `/context` | Memory maintenance and context inspection |
61
+ | `/settings`, `/theme` | Voice, interface styles and preferences |
62
+ | `/mcp`, `/remote` | External tools and remote chat setup |
63
+ | `/restore` | Recoverable file snapshots |
64
+
65
+ Attach files with `@`; use **Shift+Enter** for a new line. For a one-shot task:
66
+
67
+ ```bash
68
+ uv run nova -p "Summarize the changes in this repository"
69
+ ```
70
+
71
+ **New to a project? Start with `/onboard`.** Inspired by
72
+ [Understand Anything](https://github.com/Egonex-AI/Understand-Anything), it parses
73
+ the local workspace with the already installed Graphify language parsers and
74
+ saves a persistent graph and guide in `.nova/onboard/`. The local artifact
75
+ dashboard provides file/symbol search, directory filters, a clickable dependency
76
+ map, a learning tour and incoming dependency impact tracing. It needs no Node
77
+ installation, browser credentials or external dashboard assets.
78
+
79
+ Use `/onboard open` to reopen the dashboard, `/onboard tour` for a conversational
80
+ tour, `/onboard ask <question>` for source-grounded Q&A, and
81
+ `/onboard impact <symbol or path>` before changing code. The dashboard's **Ask
82
+ Nova** tab prepares a command to paste into the conversation. Nova explains the
83
+ architecture and business flows using its normal model and tool permissions;
84
+ the initial deterministic guide contains structural facts only. Reopen the
85
+ dashboard after Nova enriches the guide. Model calls use your configured provider.
86
+
87
+ `/onboard refresh` rebuilds after changes. File-content fingerprints detect
88
+ new, edited and deleted inputs; saved analyses display a staleness notice.
89
+ Scans respect Git ignore rules and skip links, generated directories and common
90
+ secret filenames. Static parsing can miss dynamic dependencies; directory
91
+ groups are not semantic architecture layers. Limits: 5,000 source/Markdown
92
+ files, 1 MiB per file, 64 MiB total input and 32 MiB graph. The parsing deadline
93
+ scales with file count and input size from two to ten minutes; Escape cancels it.
94
+ Refresh replaces generated graph/guide files, so copy edited guides
95
+ elsewhere before rebuilding. This command currently requires a local workspace;
96
+ Plan Mode prevents building or refreshing the saved analysis.
97
+
98
+ ## Optional features
99
+
100
+ Install selected extras from this checkout, for example:
101
+
102
+ ```bash
103
+ uv sync --extra voice --extra voice-kokoro
104
+ ```
105
+
106
+ Keep all desired `--extra` flags when syncing. Speech models download on first
107
+ use. See [setup and usage](SETUP.md) for global installation, voice providers,
108
+ browser automation and background-agent requirements.
109
+
110
+ **Local computer preview:** the `computer` extra lets Nova operate a
111
+ separate Linux QEMU VM with a private live browser preview and pause/resume/stop
112
+ controls. Requires QEMU, a guest-image download and 4 GiB RAM for the guest.
113
+ Start with `/computer start`; see [computer setup and limits](COMPUTER.md).
114
+ The Windows WHPX compatibility fix in this checkout has passed a real desktop boot.
115
+
116
+ ## Documentation and contributing
117
+
118
+ [Setup and usage](SETUP.md) · [Feature catalog](FEATURES.md) ·
119
+ [Code Mode](docs/mcp-code-mode.md) · [Permissions](docs/security-guardrails.md) ·
120
+ [Sharing](docs/temporary-sharing.md) · [Changelog](changelog/)
121
+
122
+ For development, run `uv sync --group dev` and tests relevant to your change.
123
+ See [project instructions](AGENTS.md) for build and check commands. Report bugs
124
+ or propose changes through repository issues and pull requests.
125
+
126
+
127
+ ### Compression preferences
128
+
129
+ The composer selector cycles **Off → Caveman → Ponytail → Off**. Options saves
130
+ mode, independent intensities and Caveman feature switches together; Escape discards
131
+ edits. Preferences persist across restarts. Existing Caveman settings migrate automatically.
132
+ Mode changes use temporary notifications and never submit your draft.
133
+
134
+ - `/caveman on|off|lite|full|ultra|wenyan-lite|wenyan-full|wenyan-ultra`
135
+ - `/ponytail` activates Ponytail without resetting its selected intensity.
136
+ - `/ponytail lite|full|ultra|off|settings|status`
137
+ - `/ponytail-review [scope]`, `/ponytail-audit [scope]`, `/ponytail-debt [scope]`,
138
+ `/ponytail-gain`, `/ponytail-help` run the corresponding one-shot helper without
139
+ changing the selected mode. Review and audit request reports, not edits.
140
+ - A standalone `stop ponytail` or `normal mode` disables Ponytail. Those phrases
141
+ inside an ordinary task do not change preferences.
142
+
143
+ Caveman compresses prose and optionally tool views. Ponytail applies the upstream
144
+ coding rules: solve the complete problem with the least new code, preserve necessary
145
+ checks, and name skipped work and risks. Ponytail leaves tool results intact and
146
+ also applies to delegated model requests. Neither mode changes tool permissions.
147
+ Savings depend on the task and model; shorter output is not guaranteed.
148
+
149
+ Ponytail's MIT-licensed skill bodies and JavaScript instruction builder are vendored
150
+ from [DietrichGebert/ponytail](https://github.com/DietrichGebert/ponytail) at
151
+ `09c434ab73ca43761c5d8b0c5d341926c2fba710`. Nova's Python builder is checked
152
+ against golden hashes from that JavaScript builder. Nova owns the persistent selector;
153
+ upstream Claude-specific band, board, install hooks and default-mode files are not used.
154
+ There is no Node runtime requirement.
155
+
156
+ To validate every compression intensity against your configured LLM (20 paid/provider
157
+ calls, concurrency two, 60-second timeout each), run:
158
+
159
+ ```sh
160
+ uv run python -m scripts.verify_compression_live
161
+ ```
162
+
163
+ This opt-in check preserves exact failure facts/commands and validates generated
164
+ Python on boundary and invalid-bound cases. It writes synthetic outputs and reported
165
+ usage (or `unknown`) to `test-results/compression-live.json`, without changing your
166
+ preferences. Offline tests never call an LLM. Golden parity proves prompt equivalence;
167
+ it cannot guarantee identical stochastic model responses.
@@ -0,0 +1,3 @@
1
+ """Version information for NOVA CLI."""
2
+
3
+ __version__ = "1.2.1"
@@ -0,0 +1,42 @@
1
+ """General-purpose delegation on Nova's background agent server."""
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing import Any
6
+
7
+
8
+ def build_graph() -> Any:
9
+ """Build with the server's workspace, async model role and unattended policy."""
10
+ from deepagents import create_deep_agent
11
+ from novacode_cli.context.snapshot import background_context_middleware
12
+ from deepagents.backends.filesystem import FilesystemBackend
13
+
14
+ from novacode_cli.agents.async_agents._specialist import BACKGROUND_NOTE
15
+ from novacode_cli.agents.async_context import AsyncModelOverrideMiddleware, NovaAsyncContext
16
+ from novacode_cli.agents.async_workspace import workspace_root
17
+ from novacode_cli.config.model_create import build_async_agent_model
18
+ from novacode_cli.prompts import render_template
19
+ from novacode_cli.security.delegated_approval import DelegatedApprovalMiddleware
20
+ from novacode_cli.shell.middleware import ShellMiddleware
21
+ from novacode_cli.skills.libraries import background_library
22
+ from novacode_cli.tools import docs_search, fetch_url, web_search
23
+
24
+ root = workspace_root()
25
+ return create_deep_agent(
26
+ name="general-purpose-async",
27
+ model=build_async_agent_model(),
28
+ tools=[web_search, docs_search, fetch_url],
29
+ backend=FilesystemBackend(root_dir=str(root), virtual_mode=True),
30
+ system_prompt=render_template("async_agents/general_purpose.jinja") + BACKGROUND_NOTE,
31
+ middleware=[
32
+ AsyncModelOverrideMiddleware(),
33
+ DelegatedApprovalMiddleware(),
34
+ ShellMiddleware(workspace_root=str(root)),
35
+ background_library("general-purpose-async"),
36
+ *background_context_middleware(),
37
+ ],
38
+ context_schema=NovaAsyncContext,
39
+ )
40
+
41
+
42
+ graph = build_graph()