ctrlcode 0.1.0__tar.gz → 0.1.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 (181) hide show
  1. {ctrlcode-0.1.0 → ctrlcode-0.1.1}/PKG-INFO +4 -2
  2. {ctrlcode-0.1.0 → ctrlcode-0.1.1}/pyproject.toml +6 -12
  3. {ctrlcode-0.1.0 → ctrlcode-0.1.1}/src/ctrlcode/__init__.py +1 -1
  4. {ctrlcode-0.1.0/tui/ctrlcode_tui → ctrlcode-0.1.1/src/tui}/__init__.py +1 -1
  5. {ctrlcode-0.1.0 → ctrlcode-0.1.1}/tests/test_pr_automation.py +1 -1
  6. ctrlcode-0.1.0/tui/README.md +0 -84
  7. ctrlcode-0.1.0/tui/pyproject.toml +0 -21
  8. ctrlcode-0.1.0/tui/src/ctrlcode_tui/__init__.py +0 -2
  9. ctrlcode-0.1.0/tui/src/ctrlcode_tui/py.typed +0 -0
  10. {ctrlcode-0.1.0 → ctrlcode-0.1.1}/.gitignore +0 -0
  11. {ctrlcode-0.1.0 → ctrlcode-0.1.1}/AGENT.md +0 -0
  12. {ctrlcode-0.1.0 → ctrlcode-0.1.1}/INTEGRATION_SUMMARY.md +0 -0
  13. {ctrlcode-0.1.0 → ctrlcode-0.1.1}/README.md +0 -0
  14. {ctrlcode-0.1.0 → ctrlcode-0.1.1}/benchmarks/benchmark_batch_embedding.py +0 -0
  15. {ctrlcode-0.1.0 → ctrlcode-0.1.1}/benchmarks/benchmark_lru_cache.py +0 -0
  16. {ctrlcode-0.1.0 → ctrlcode-0.1.1}/benchmarks/benchmark_persistent_index.py +0 -0
  17. {ctrlcode-0.1.0 → ctrlcode-0.1.1}/benchmarks/historical_learning_benchmark.py +0 -0
  18. {ctrlcode-0.1.0 → ctrlcode-0.1.1}/benchmarks/profile_performance.py +0 -0
  19. {ctrlcode-0.1.0 → ctrlcode-0.1.1}/config.example.toml +0 -0
  20. {ctrlcode-0.1.0 → ctrlcode-0.1.1}/docs/AGENTS.md +0 -0
  21. {ctrlcode-0.1.0 → ctrlcode-0.1.1}/docs/WORLD_CLASS_AGENT_PROPOSAL.md +0 -0
  22. {ctrlcode-0.1.0 → ctrlcode-0.1.1}/docs/active-plans/agent-registry-integration.md +0 -0
  23. {ctrlcode-0.1.0 → ctrlcode-0.1.1}/docs/active-plans/event-driven-tui-summary.md +0 -0
  24. {ctrlcode-0.1.0 → ctrlcode-0.1.1}/docs/active-plans/multi-agent-architecture.md +0 -0
  25. {ctrlcode-0.1.0 → ctrlcode-0.1.1}/docs/active-plans/multi-agent-tui-integration.md +0 -0
  26. {ctrlcode-0.1.0 → ctrlcode-0.1.1}/docs/active-plans/simplified-tui-redesign.md +0 -0
  27. {ctrlcode-0.1.0 → ctrlcode-0.1.1}/docs/active-plans/tui-integration-complete.md +0 -0
  28. {ctrlcode-0.1.0 → ctrlcode-0.1.1}/docs/active-plans/tui-integration-progress.md +0 -0
  29. {ctrlcode-0.1.0 → ctrlcode-0.1.1}/docs/architectural-patterns/event-bus-architecture.md +0 -0
  30. {ctrlcode-0.1.0 → ctrlcode-0.1.1}/docs/architectural-patterns.md +0 -0
  31. {ctrlcode-0.1.0 → ctrlcode-0.1.1}/docs/coding-standards.md +0 -0
  32. {ctrlcode-0.1.0 → ctrlcode-0.1.1}/docs/core-beliefs.md +0 -0
  33. {ctrlcode-0.1.0 → ctrlcode-0.1.1}/docs/generated/tool-registry.md +0 -0
  34. {ctrlcode-0.1.0 → ctrlcode-0.1.1}/docs/golden-principles/index.md +0 -0
  35. {ctrlcode-0.1.0 → ctrlcode-0.1.1}/docs/golden-principles/no-yolo-parsing.md +0 -0
  36. {ctrlcode-0.1.0 → ctrlcode-0.1.1}/docs/golden-principles/prefer-shared-utils.md +0 -0
  37. {ctrlcode-0.1.0 → ctrlcode-0.1.1}/docs/golden-principles/structured-logging.md +0 -0
  38. {ctrlcode-0.1.0 → ctrlcode-0.1.1}/docs/references/harness-utils-api.md +0 -0
  39. {ctrlcode-0.1.0 → ctrlcode-0.1.1}/docs/references/multi-agent-guide.md +0 -0
  40. {ctrlcode-0.1.0 → ctrlcode-0.1.1}/docs/tech-debt/tracker.md +0 -0
  41. {ctrlcode-0.1.0 → ctrlcode-0.1.1}/docs/user-guide/configuration.md +0 -0
  42. {ctrlcode-0.1.0 → ctrlcode-0.1.1}/docs/user-guide/features.md +0 -0
  43. {ctrlcode-0.1.0 → ctrlcode-0.1.1}/docs/user-guide/getting-started.md +0 -0
  44. {ctrlcode-0.1.0 → ctrlcode-0.1.1}/docs/user-guide/security.md +0 -0
  45. {ctrlcode-0.1.0 → ctrlcode-0.1.1}/main.py +0 -0
  46. {ctrlcode-0.1.0 → ctrlcode-0.1.1}/prompts/SYSTEM_PROMPT.md +0 -0
  47. {ctrlcode-0.1.0 → ctrlcode-0.1.1}/prompts/agents/cleanup.md +0 -0
  48. {ctrlcode-0.1.0 → ctrlcode-0.1.1}/prompts/agents/coder.md +0 -0
  49. {ctrlcode-0.1.0 → ctrlcode-0.1.1}/prompts/agents/executor.md +0 -0
  50. {ctrlcode-0.1.0 → ctrlcode-0.1.1}/prompts/agents/orchestrator.md +0 -0
  51. {ctrlcode-0.1.0 → ctrlcode-0.1.1}/prompts/agents/planner.md +0 -0
  52. {ctrlcode-0.1.0 → ctrlcode-0.1.1}/prompts/agents/reviewer.md +0 -0
  53. {ctrlcode-0.1.0 → ctrlcode-0.1.1}/src/ctrlcode/agents/__init__.py +0 -0
  54. {ctrlcode-0.1.0 → ctrlcode-0.1.1}/src/ctrlcode/agents/cleanup.py +0 -0
  55. {ctrlcode-0.1.0 → ctrlcode-0.1.1}/src/ctrlcode/agents/communication.py +0 -0
  56. {ctrlcode-0.1.0 → ctrlcode-0.1.1}/src/ctrlcode/agents/observability.py +0 -0
  57. {ctrlcode-0.1.0 → ctrlcode-0.1.1}/src/ctrlcode/agents/react_loop.py +0 -0
  58. {ctrlcode-0.1.0 → ctrlcode-0.1.1}/src/ctrlcode/agents/registry.py +0 -0
  59. {ctrlcode-0.1.0 → ctrlcode-0.1.1}/src/ctrlcode/agents/result_parser.py +0 -0
  60. {ctrlcode-0.1.0 → ctrlcode-0.1.1}/src/ctrlcode/agents/workflow.py +0 -0
  61. {ctrlcode-0.1.0 → ctrlcode-0.1.1}/src/ctrlcode/analysis/__init__.py +0 -0
  62. {ctrlcode-0.1.0 → ctrlcode-0.1.1}/src/ctrlcode/analysis/ast_diff.py +0 -0
  63. {ctrlcode-0.1.0 → ctrlcode-0.1.1}/src/ctrlcode/analysis/bug_detector.py +0 -0
  64. {ctrlcode-0.1.0 → ctrlcode-0.1.1}/src/ctrlcode/analysis/code_graphs.py +0 -0
  65. {ctrlcode-0.1.0 → ctrlcode-0.1.1}/src/ctrlcode/analysis/semantic.py +0 -0
  66. {ctrlcode-0.1.0 → ctrlcode-0.1.1}/src/ctrlcode/analysis/static.py +0 -0
  67. {ctrlcode-0.1.0 → ctrlcode-0.1.1}/src/ctrlcode/analysis/synthesizer.py +0 -0
  68. {ctrlcode-0.1.0 → ctrlcode-0.1.1}/src/ctrlcode/analysis/tests.py +0 -0
  69. {ctrlcode-0.1.0 → ctrlcode-0.1.1}/src/ctrlcode/cleanup/__init__.py +0 -0
  70. {ctrlcode-0.1.0 → ctrlcode-0.1.1}/src/ctrlcode/cleanup/auto_merge.py +0 -0
  71. {ctrlcode-0.1.0 → ctrlcode-0.1.1}/src/ctrlcode/cleanup/doc_gardening.py +0 -0
  72. {ctrlcode-0.1.0 → ctrlcode-0.1.1}/src/ctrlcode/cleanup/pr_automation.py +0 -0
  73. {ctrlcode-0.1.0 → ctrlcode-0.1.1}/src/ctrlcode/cleanup/scheduler.py +0 -0
  74. {ctrlcode-0.1.0 → ctrlcode-0.1.1}/src/ctrlcode/config.py +0 -0
  75. {ctrlcode-0.1.0 → ctrlcode-0.1.1}/src/ctrlcode/embeddings/__init__.py +0 -0
  76. {ctrlcode-0.1.0 → ctrlcode-0.1.1}/src/ctrlcode/embeddings/embedder.py +0 -0
  77. {ctrlcode-0.1.0 → ctrlcode-0.1.1}/src/ctrlcode/embeddings/vector_store.py +0 -0
  78. {ctrlcode-0.1.0 → ctrlcode-0.1.1}/src/ctrlcode/fuzzing/__init__.py +0 -0
  79. {ctrlcode-0.1.0 → ctrlcode-0.1.1}/src/ctrlcode/fuzzing/analyzer.py +0 -0
  80. {ctrlcode-0.1.0 → ctrlcode-0.1.1}/src/ctrlcode/fuzzing/budget.py +0 -0
  81. {ctrlcode-0.1.0 → ctrlcode-0.1.1}/src/ctrlcode/fuzzing/context.py +0 -0
  82. {ctrlcode-0.1.0 → ctrlcode-0.1.1}/src/ctrlcode/fuzzing/context_fuzzer.py +0 -0
  83. {ctrlcode-0.1.0 → ctrlcode-0.1.1}/src/ctrlcode/fuzzing/derived_orchestrator.py +0 -0
  84. {ctrlcode-0.1.0 → ctrlcode-0.1.1}/src/ctrlcode/fuzzing/oracle_adapter.py +0 -0
  85. {ctrlcode-0.1.0 → ctrlcode-0.1.1}/src/ctrlcode/linters/__init__.py +0 -0
  86. {ctrlcode-0.1.0 → ctrlcode-0.1.1}/src/ctrlcode/linters/hand_rolled_utils.py +0 -0
  87. {ctrlcode-0.1.0 → ctrlcode-0.1.1}/src/ctrlcode/linters/yolo_parsing.py +0 -0
  88. {ctrlcode-0.1.0 → ctrlcode-0.1.1}/src/ctrlcode/metrics/__init__.py +0 -0
  89. {ctrlcode-0.1.0 → ctrlcode-0.1.1}/src/ctrlcode/metrics/dashboard.py +0 -0
  90. {ctrlcode-0.1.0 → ctrlcode-0.1.1}/src/ctrlcode/metrics/tech_debt.py +0 -0
  91. {ctrlcode-0.1.0 → ctrlcode-0.1.1}/src/ctrlcode/paths.py +0 -0
  92. {ctrlcode-0.1.0 → ctrlcode-0.1.1}/src/ctrlcode/permissions.py +0 -0
  93. {ctrlcode-0.1.0 → ctrlcode-0.1.1}/src/ctrlcode/providers/__init__.py +0 -0
  94. {ctrlcode-0.1.0 → ctrlcode-0.1.1}/src/ctrlcode/providers/anthropic.py +0 -0
  95. {ctrlcode-0.1.0 → ctrlcode-0.1.1}/src/ctrlcode/providers/base.py +0 -0
  96. {ctrlcode-0.1.0 → ctrlcode-0.1.1}/src/ctrlcode/providers/openai.py +0 -0
  97. {ctrlcode-0.1.0 → ctrlcode-0.1.1}/src/ctrlcode/providers/parallel.py +0 -0
  98. {ctrlcode-0.1.0 → ctrlcode-0.1.1}/src/ctrlcode/server.py +0 -0
  99. {ctrlcode-0.1.0 → ctrlcode-0.1.1}/src/ctrlcode/session/__init__.py +0 -0
  100. {ctrlcode-0.1.0 → ctrlcode-0.1.1}/src/ctrlcode/session/baseline.py +0 -0
  101. {ctrlcode-0.1.0 → ctrlcode-0.1.1}/src/ctrlcode/session/manager.py +0 -0
  102. {ctrlcode-0.1.0 → ctrlcode-0.1.1}/src/ctrlcode/skills/__init__.py +0 -0
  103. {ctrlcode-0.1.0 → ctrlcode-0.1.1}/src/ctrlcode/skills/builtin/commit.toml +0 -0
  104. {ctrlcode-0.1.0 → ctrlcode-0.1.1}/src/ctrlcode/skills/builtin/docs.toml +0 -0
  105. {ctrlcode-0.1.0 → ctrlcode-0.1.1}/src/ctrlcode/skills/builtin/refactor.toml +0 -0
  106. {ctrlcode-0.1.0 → ctrlcode-0.1.1}/src/ctrlcode/skills/builtin/review.toml +0 -0
  107. {ctrlcode-0.1.0 → ctrlcode-0.1.1}/src/ctrlcode/skills/builtin/test.toml +0 -0
  108. {ctrlcode-0.1.0 → ctrlcode-0.1.1}/src/ctrlcode/skills/loader.py +0 -0
  109. {ctrlcode-0.1.0 → ctrlcode-0.1.1}/src/ctrlcode/skills/registry.py +0 -0
  110. {ctrlcode-0.1.0 → ctrlcode-0.1.1}/src/ctrlcode/storage/__init__.py +0 -0
  111. {ctrlcode-0.1.0 → ctrlcode-0.1.1}/src/ctrlcode/storage/history_db.py +0 -0
  112. {ctrlcode-0.1.0 → ctrlcode-0.1.1}/src/ctrlcode/tools/__init__.py +0 -0
  113. {ctrlcode-0.1.0 → ctrlcode-0.1.1}/src/ctrlcode/tools/bash.py +0 -0
  114. {ctrlcode-0.1.0 → ctrlcode-0.1.1}/src/ctrlcode/tools/browser.py +0 -0
  115. {ctrlcode-0.1.0 → ctrlcode-0.1.1}/src/ctrlcode/tools/executor.py +0 -0
  116. {ctrlcode-0.1.0 → ctrlcode-0.1.1}/src/ctrlcode/tools/explore.py +0 -0
  117. {ctrlcode-0.1.0 → ctrlcode-0.1.1}/src/ctrlcode/tools/mcp.py +0 -0
  118. {ctrlcode-0.1.0 → ctrlcode-0.1.1}/src/ctrlcode/tools/observability.py +0 -0
  119. {ctrlcode-0.1.0 → ctrlcode-0.1.1}/src/ctrlcode/tools/registry.py +0 -0
  120. {ctrlcode-0.1.0 → ctrlcode-0.1.1}/src/ctrlcode/tools/todo.py +0 -0
  121. {ctrlcode-0.1.0 → ctrlcode-0.1.1}/src/ctrlcode/tools/update.py +0 -0
  122. {ctrlcode-0.1.0 → ctrlcode-0.1.1}/src/ctrlcode/tools/webfetch.py +0 -0
  123. {ctrlcode-0.1.0/tui/ctrlcode_tui → ctrlcode-0.1.1/src/tui}/app.py +0 -0
  124. {ctrlcode-0.1.0/tui/ctrlcode_tui → ctrlcode-0.1.1/src/tui}/app_event_bus_example.py +0 -0
  125. {ctrlcode-0.1.0/tui/ctrlcode_tui → ctrlcode-0.1.1/src/tui}/app_simplified_example.py +0 -0
  126. {ctrlcode-0.1.0/tui/ctrlcode_tui → ctrlcode-0.1.1/src/tui}/client.py +0 -0
  127. {ctrlcode-0.1.0/tui/ctrlcode_tui → ctrlcode-0.1.1/src/tui}/event_bus.py +0 -0
  128. {ctrlcode-0.1.0/tui/ctrlcode_tui → ctrlcode-0.1.1/src/tui}/event_bus_new.py +0 -0
  129. {ctrlcode-0.1.0/tui/ctrlcode_tui → ctrlcode-0.1.1/src/tui}/launcher.py +0 -0
  130. {ctrlcode-0.1.0/tui/ctrlcode_tui → ctrlcode-0.1.1/src/tui}/widgets/__init__.py +0 -0
  131. {ctrlcode-0.1.0/tui/ctrlcode_tui → ctrlcode-0.1.1/src/tui}/widgets/agent_panel.py +0 -0
  132. {ctrlcode-0.1.0/tui/ctrlcode_tui → ctrlcode-0.1.1/src/tui}/widgets/code_block.py +0 -0
  133. {ctrlcode-0.1.0/tui/ctrlcode_tui → ctrlcode-0.1.1/src/tui}/widgets/fuzzing.py +0 -0
  134. {ctrlcode-0.1.0/tui/ctrlcode_tui → ctrlcode-0.1.1/src/tui}/widgets/history_input.py +0 -0
  135. {ctrlcode-0.1.0/tui/ctrlcode_tui → ctrlcode-0.1.1/src/tui}/widgets/modal_base.py +0 -0
  136. {ctrlcode-0.1.0/tui/ctrlcode_tui → ctrlcode-0.1.1/src/tui}/widgets/modals/__init__.py +0 -0
  137. {ctrlcode-0.1.0/tui/ctrlcode_tui → ctrlcode-0.1.1/src/tui}/widgets/modals/agents_modal.py +0 -0
  138. {ctrlcode-0.1.0/tui/ctrlcode_tui → ctrlcode-0.1.1/src/tui}/widgets/modals/history_modal.py +0 -0
  139. {ctrlcode-0.1.0/tui/ctrlcode_tui → ctrlcode-0.1.1/src/tui}/widgets/modals/metrics_modal.py +0 -0
  140. {ctrlcode-0.1.0/tui/ctrlcode_tui → ctrlcode-0.1.1/src/tui}/widgets/modals/permission_modal.py +0 -0
  141. {ctrlcode-0.1.0/tui/ctrlcode_tui → ctrlcode-0.1.1/src/tui}/widgets/modals/review_modal.py +0 -0
  142. {ctrlcode-0.1.0/tui/ctrlcode_tui → ctrlcode-0.1.1/src/tui}/widgets/modals/status_modal.py +0 -0
  143. {ctrlcode-0.1.0/tui/ctrlcode_tui → ctrlcode-0.1.1/src/tui}/widgets/modals/tasks_modal.py +0 -0
  144. {ctrlcode-0.1.0/tui/ctrlcode_tui → ctrlcode-0.1.1/src/tui}/widgets/observability_results.py +0 -0
  145. {ctrlcode-0.1.0/tui/ctrlcode_tui → ctrlcode-0.1.1/src/tui}/widgets/parallel_execution.py +0 -0
  146. {ctrlcode-0.1.0/tui/ctrlcode_tui → ctrlcode-0.1.1/src/tui}/widgets/review_feedback.py +0 -0
  147. {ctrlcode-0.1.0/tui/ctrlcode_tui → ctrlcode-0.1.1/src/tui}/widgets/status_line.py +0 -0
  148. {ctrlcode-0.1.0/tui/ctrlcode_tui → ctrlcode-0.1.1/src/tui}/widgets/task_graph.py +0 -0
  149. {ctrlcode-0.1.0/tui/ctrlcode_tui → ctrlcode-0.1.1/src/tui}/widgets/todo_modal.py +0 -0
  150. {ctrlcode-0.1.0/tui/ctrlcode_tui → ctrlcode-0.1.1/src/tui}/widgets/tool_panel.py +0 -0
  151. {ctrlcode-0.1.0/tui/ctrlcode_tui → ctrlcode-0.1.1/src/tui}/widgets/variants.py +0 -0
  152. {ctrlcode-0.1.0/tui/ctrlcode_tui → ctrlcode-0.1.1/src/tui}/widgets/workflow_status.py +0 -0
  153. {ctrlcode-0.1.0 → ctrlcode-0.1.1}/tests/__init__.py +0 -0
  154. {ctrlcode-0.1.0 → ctrlcode-0.1.1}/tests/analysis/test_bug_detector.py +0 -0
  155. {ctrlcode-0.1.0 → ctrlcode-0.1.1}/tests/analysis/test_code_graphs.py +0 -0
  156. {ctrlcode-0.1.0 → ctrlcode-0.1.1}/tests/conftest.py +0 -0
  157. {ctrlcode-0.1.0 → ctrlcode-0.1.1}/tests/demo_agents.py +0 -0
  158. {ctrlcode-0.1.0 → ctrlcode-0.1.1}/tests/embeddings/test_batch_embedding.py +0 -0
  159. {ctrlcode-0.1.0 → ctrlcode-0.1.1}/tests/embeddings/test_embedder.py +0 -0
  160. {ctrlcode-0.1.0 → ctrlcode-0.1.1}/tests/embeddings/test_vector_store.py +0 -0
  161. {ctrlcode-0.1.0 → ctrlcode-0.1.1}/tests/fuzzing/test_context.py +0 -0
  162. {ctrlcode-0.1.0 → ctrlcode-0.1.1}/tests/fuzzing/test_oracle_adapter.py +0 -0
  163. {ctrlcode-0.1.0 → ctrlcode-0.1.1}/tests/fuzzing/test_persistent_vector_store.py +0 -0
  164. {ctrlcode-0.1.0 → ctrlcode-0.1.1}/tests/integration/test_full_pipeline.py +0 -0
  165. {ctrlcode-0.1.0 → ctrlcode-0.1.1}/tests/integration_example.py +0 -0
  166. {ctrlcode-0.1.0 → ctrlcode-0.1.1}/tests/metrics/test_dashboard.py +0 -0
  167. {ctrlcode-0.1.0 → ctrlcode-0.1.1}/tests/mocks/__init__.py +0 -0
  168. {ctrlcode-0.1.0 → ctrlcode-0.1.1}/tests/mocks/mock_provider.py +0 -0
  169. {ctrlcode-0.1.0 → ctrlcode-0.1.1}/tests/storage/test_history_db.py +0 -0
  170. {ctrlcode-0.1.0 → ctrlcode-0.1.1}/tests/storage/test_oracle_versioning.py +0 -0
  171. {ctrlcode-0.1.0 → ctrlcode-0.1.1}/tests/test_agent_execution.py +0 -0
  172. {ctrlcode-0.1.0 → ctrlcode-0.1.1}/tests/test_agent_registry.py +0 -0
  173. {ctrlcode-0.1.0 → ctrlcode-0.1.1}/tests/test_auto_merge.py +0 -0
  174. {ctrlcode-0.1.0 → ctrlcode-0.1.1}/tests/test_browser_tools.py +0 -0
  175. {ctrlcode-0.1.0 → ctrlcode-0.1.1}/tests/test_cleanup_scheduler.py +0 -0
  176. {ctrlcode-0.1.0 → ctrlcode-0.1.1}/tests/test_doc_gardening.py +0 -0
  177. {ctrlcode-0.1.0 → ctrlcode-0.1.1}/tests/test_linters.py +0 -0
  178. {ctrlcode-0.1.0 → ctrlcode-0.1.1}/tests/test_observability_tools.py +0 -0
  179. {ctrlcode-0.1.0 → ctrlcode-0.1.1}/tests/test_tech_debt_metrics.py +0 -0
  180. {ctrlcode-0.1.0 → ctrlcode-0.1.1}/twitter.txt +0 -0
  181. {ctrlcode-0.1.0 → ctrlcode-0.1.1}/wandb.key +0 -0
@@ -1,20 +1,22 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ctrlcode
3
- Version: 0.1.0
3
+ Version: 0.1.1
4
4
  Summary: Adaptive coding harness with differential fuzzing - transforms AI slop into production-ready code
5
5
  Requires-Python: >=3.12
6
6
  Requires-Dist: aiohttp>=3.10.0
7
7
  Requires-Dist: anthropic>=0.40.0
8
8
  Requires-Dist: apscheduler>=3.11.2
9
- Requires-Dist: ctrlcode-tui
10
9
  Requires-Dist: faiss-cpu>=1.13.2
11
10
  Requires-Dist: harness-utils>=0.3.1
11
+ Requires-Dist: httpx>=0.28.1
12
12
  Requires-Dist: mcp>=1.0.0
13
13
  Requires-Dist: networkx>=3.6.1
14
14
  Requires-Dist: openai>=1.54.0
15
15
  Requires-Dist: platformdirs>=4.5.1
16
16
  Requires-Dist: playwright>=1.58.0
17
+ Requires-Dist: pyperclip>=1.11.0
17
18
  Requires-Dist: sentence-transformers>=5.2.2
19
+ Requires-Dist: textual>=7.5.0
18
20
  Requires-Dist: tiktoken>=0.12.0
19
21
  Description-Content-Type: text/markdown
20
22
 
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "ctrlcode"
3
- version = "0.1.0"
3
+ version = "0.1.1"
4
4
  description = "Adaptive coding harness with differential fuzzing - transforms AI slop into production-ready code"
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.12"
@@ -17,11 +17,13 @@ dependencies = [
17
17
  "sentence-transformers>=5.2.2",
18
18
  "faiss-cpu>=1.13.2",
19
19
  "networkx>=3.6.1",
20
- "ctrlcode-tui",
20
+ "httpx>=0.28.1",
21
+ "pyperclip>=1.11.0",
22
+ "textual>=7.5.0",
21
23
  ]
22
24
 
23
25
  [project.scripts]
24
- ctrlcode = "ctrlcode_tui.app:main"
26
+ ctrlcode = "tui.app:main"
25
27
  ctrlcode-server = "ctrlcode.server:main"
26
28
 
27
29
  [build-system]
@@ -29,7 +31,7 @@ requires = ["hatchling"]
29
31
  build-backend = "hatchling.build"
30
32
 
31
33
  [tool.hatch.build.targets.wheel]
32
- packages = ["src/ctrlcode"]
34
+ packages = ["src/ctrlcode", "src/tui"]
33
35
 
34
36
  [tool.uv]
35
37
  package = true
@@ -39,11 +41,3 @@ dev-dependencies = [
39
41
  "ruff>=0.6.0",
40
42
  "pytest-asyncio>=1.3.0",
41
43
  ]
42
-
43
- [tool.uv.sources]
44
- ctrlcode-tui = { workspace = true }
45
-
46
- [tool.uv.workspace]
47
- members = [
48
- "tui",
49
- ]
@@ -1,6 +1,6 @@
1
1
  """ctrl-code: Adaptive coding harness with differential fuzzing."""
2
2
 
3
- __version__ = "0.1.0"
3
+ __version__ = "0.1.1"
4
4
 
5
5
  from .config import Config
6
6
  from .server import HarnessServer
@@ -1,3 +1,3 @@
1
1
  """Ctrl+Code TUI client."""
2
2
 
3
- __version__ = "0.1.0"
3
+ __version__ = "0.1.1"
@@ -25,7 +25,7 @@ def process(data):
25
25
  subprocess.run(["git", "config", "user.name", "Test"], cwd=workspace, capture_output=True)
26
26
  subprocess.run(["git", "config", "user.email", "test@test.com"], cwd=workspace, capture_output=True)
27
27
  subprocess.run(["git", "add", "."], cwd=workspace, capture_output=True)
28
- subprocess.run(["git", "commit", "-m", "Initial"], cwd=workspace, capture_output=True)
28
+ subprocess.run(["git", "commit", "--no-gpg-sign", "-m", "Initial"], cwd=workspace, capture_output=True)
29
29
 
30
30
  return workspace
31
31
 
@@ -1,84 +0,0 @@
1
- # Ctrl+Code TUI Client
2
-
3
- Terminal user interface for ctrl-code coding harness.
4
-
5
- ## Features
6
-
7
- - **Multi-session tabs**: Create multiple sessions with `/new` command
8
- - **Fuzzing progress**: Real-time visualization of differential fuzzing iterations
9
- - **Variant comparison**: Side-by-side view of code variants during fuzzing
10
- - **Tool inspection**: Monitor tool calls and results in real-time
11
- - **Streaming responses**: See AI responses as they're generated
12
- - **Keyboard shortcuts**: Efficient navigation and control
13
-
14
- ## Installation
15
-
16
- From the `tui/` directory:
17
-
18
- ```bash
19
- uv sync
20
- ```
21
-
22
- ## Usage
23
-
24
- Start the ctrl-code server first:
25
-
26
- ```bash
27
- cd .. && python -m ctrlcode.server
28
- ```
29
-
30
- Then run the TUI client:
31
-
32
- ```bash
33
- ctrlcode-tui
34
- ```
35
-
36
- ## Commands
37
-
38
- - `/new` - Create a new session tab
39
- - `/clear` - Clear current chat
40
- - `/sidebar` - Toggle sidebar visibility
41
- - `/help` - Show help message
42
-
43
- ## Keyboard Shortcuts
44
-
45
- - `Ctrl+N` - New session
46
- - `Ctrl+S` - Toggle sidebar
47
- - `Ctrl+Q` - Quit
48
- - `Escape` - Clear input
49
-
50
- ## Layout
51
-
52
- ```
53
- ┌────────────────────────────────────────────────────────┐
54
- │ Header │
55
- ├─────────────────────────────────┬──────────────────────┤
56
- │ Chat Area (70%) │ Sidebar (30%) │
57
- │ ┌───────────────────────────┐ │ ┌────────────────┐ │
58
- │ │ Session Tabs │ │ │ Tool Calls │ │
59
- │ │ ┌───────────────────────┐ │ │ │ │ │
60
- │ │ │ Streaming chat │ │ │ │ │ │
61
- │ │ │ │ │ │ └────────────────┘ │
62
- │ │ │ │ │ │ ┌────────────────┐ │
63
- │ │ │ │ │ │ │ Fuzzing │ │
64
- │ │ │ │ │ │ │ Progress │ │
65
- │ │ └───────────────────────┘ │ │ └────────────────┘ │
66
- │ └───────────────────────────┘ │ ┌────────────────┐ │
67
- │ │ │ Variant │ │
68
- │ │ │ Comparison │ │
69
- │ │ └────────────────┘ │
70
- ├─────────────────────────────────┴──────────────────────┤
71
- │ Input: Type a message or /command... │
72
- ├────────────────────────────────────────────────────────┤
73
- │ Footer (keyboard shortcuts) │
74
- └────────────────────────────────────────────────────────┘
75
- ```
76
-
77
- ## Architecture
78
-
79
- - `app.py` - Main Textual application
80
- - `client.py` - JSON-RPC client for server communication
81
- - `widgets/` - Custom widgets
82
- - `fuzzing.py` - Fuzzing progress visualization
83
- - `tool_panel.py` - Tool call inspection
84
- - `variants.py` - Variant comparison view
@@ -1,21 +0,0 @@
1
- [project]
2
- name = "ctrlcode-tui"
3
- version = "0.1.0"
4
- description = "TUI client for ctrl-code coding harness"
5
- readme = "README.md"
6
- authors = [
7
- { name = "Jeremy Tregunna", email = "jeremy@tregunna.ca" }
8
- ]
9
- requires-python = ">=3.12"
10
- dependencies = [
11
- "httpx>=0.28.1",
12
- "pyperclip>=1.11.0",
13
- "textual>=7.5.0",
14
- ]
15
-
16
- [project.scripts]
17
- ctrlcode = "ctrlcode_tui.app:main"
18
-
19
- [build-system]
20
- requires = ["hatchling"]
21
- build-backend = "hatchling.build"
@@ -1,2 +0,0 @@
1
- def hello() -> str:
2
- return "Hello from ctrlcode-tui!"
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes