forgex-cli 0.1.4__tar.gz → 0.1.5__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 (197) hide show
  1. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/PKG-INFO +1 -1
  2. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/src/forgex/__init__.py +1 -1
  3. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/src/forgex/agents/architect.py +2 -0
  4. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/src/forgex/cli/commands/plan.py +14 -7
  5. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/src/forgex/cli/intent.py +1 -1
  6. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/src/forgex/cli/repl.py +4 -0
  7. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/.github/workflows/ci.yml +0 -0
  8. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/.github/workflows/release.yml +0 -0
  9. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/.gitignore +0 -0
  10. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/CHANGELOG.md +0 -0
  11. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/LICENSE +0 -0
  12. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/README.md +0 -0
  13. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/SECURITY.md +0 -0
  14. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/docs/agents.md +0 -0
  15. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/docs/architecture.md +0 -0
  16. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/docs/configuration.md +0 -0
  17. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/docs/decisions.md +0 -0
  18. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/docs/providers.md +0 -0
  19. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/docs/quickstart.md +0 -0
  20. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/docs/sandbox.md +0 -0
  21. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/docs/security.md +0 -0
  22. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/examples/demo-project/README.md +0 -0
  23. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/examples/demo-project/pyproject.toml +0 -0
  24. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/examples/demo-project/src/demo/__init__.py +0 -0
  25. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/examples/demo-project/src/demo/calc.py +0 -0
  26. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/examples/demo-project/tests/test_calc.py +0 -0
  27. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/pyproject.toml +0 -0
  28. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/src/forgex/__main__.py +0 -0
  29. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/src/forgex/agents/__init__.py +0 -0
  30. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/src/forgex/agents/base.py +0 -0
  31. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/src/forgex/agents/builder.py +0 -0
  32. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/src/forgex/agents/ensemble.py +0 -0
  33. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/src/forgex/agents/expert_coder.py +0 -0
  34. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/src/forgex/agents/supervisor.py +0 -0
  35. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/src/forgex/cli/__init__.py +0 -0
  36. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/src/forgex/cli/app.py +0 -0
  37. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/src/forgex/cli/build_views.py +0 -0
  38. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/src/forgex/cli/commands/__init__.py +0 -0
  39. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/src/forgex/cli/commands/build.py +0 -0
  40. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/src/forgex/cli/commands/checkpoint.py +0 -0
  41. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/src/forgex/cli/commands/config.py +0 -0
  42. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/src/forgex/cli/commands/context.py +0 -0
  43. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/src/forgex/cli/commands/diff.py +0 -0
  44. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/src/forgex/cli/commands/do_cmd.py +0 -0
  45. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/src/forgex/cli/commands/doctor.py +0 -0
  46. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/src/forgex/cli/commands/fix.py +0 -0
  47. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/src/forgex/cli/commands/init.py +0 -0
  48. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/src/forgex/cli/commands/logs.py +0 -0
  49. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/src/forgex/cli/commands/models.py +0 -0
  50. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/src/forgex/cli/commands/review.py +0 -0
  51. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/src/forgex/cli/commands/rollback.py +0 -0
  52. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/src/forgex/cli/commands/run.py +0 -0
  53. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/src/forgex/cli/commands/status.py +0 -0
  54. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/src/forgex/cli/commands/supervise.py +0 -0
  55. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/src/forgex/cli/commands/task.py +0 -0
  56. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/src/forgex/cli/commands/tools.py +0 -0
  57. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/src/forgex/cli/commands/verify.py +0 -0
  58. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/src/forgex/cli/context_memory.py +0 -0
  59. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/src/forgex/cli/progress.py +0 -0
  60. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/src/forgex/cli/runtime.py +0 -0
  61. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/src/forgex/cli/session.py +0 -0
  62. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/src/forgex/cli/ui.py +0 -0
  63. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/src/forgex/config/__init__.py +0 -0
  64. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/src/forgex/config/loader.py +0 -0
  65. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/src/forgex/config/schema.py +0 -0
  66. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/src/forgex/context/__init__.py +0 -0
  67. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/src/forgex/context/chunker.py +0 -0
  68. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/src/forgex/context/dependency_graph.py +0 -0
  69. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/src/forgex/context/indexer.py +0 -0
  70. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/src/forgex/context/manager.py +0 -0
  71. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/src/forgex/context/retriever.py +0 -0
  72. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/src/forgex/models/__init__.py +0 -0
  73. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/src/forgex/models/base.py +0 -0
  74. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/src/forgex/models/capabilities.py +0 -0
  75. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/src/forgex/models/factory.py +0 -0
  76. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/src/forgex/models/groq.py +0 -0
  77. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/src/forgex/models/local.py +0 -0
  78. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/src/forgex/models/openai_compatible.py +0 -0
  79. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/src/forgex/models/registry.py +0 -0
  80. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/src/forgex/models/router.py +0 -0
  81. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/src/forgex/orchestration/__init__.py +0 -0
  82. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/src/forgex/orchestration/checkpoints.py +0 -0
  83. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/src/forgex/orchestration/engine.py +0 -0
  84. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/src/forgex/orchestration/events.py +0 -0
  85. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/src/forgex/orchestration/lockfile.py +0 -0
  86. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/src/forgex/orchestration/retry.py +0 -0
  87. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/src/forgex/orchestration/state.py +0 -0
  88. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/src/forgex/orchestration/stores.py +0 -0
  89. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/src/forgex/orchestration/workflow.py +0 -0
  90. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/src/forgex/project.py +0 -0
  91. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/src/forgex/prompts/__init__.py +0 -0
  92. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/src/forgex/prompts/architect.md +0 -0
  93. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/src/forgex/prompts/builder.md +0 -0
  94. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/src/forgex/prompts/expert_coder.md +0 -0
  95. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/src/forgex/prompts/reviewer.md +0 -0
  96. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/src/forgex/prompts/supervisor.md +0 -0
  97. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/src/forgex/research/__init__.py +0 -0
  98. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/src/forgex/research/citations.py +0 -0
  99. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/src/forgex/research/engine.py +0 -0
  100. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/src/forgex/research/sources.py +0 -0
  101. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/src/forgex/sandbox/__init__.py +0 -0
  102. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/src/forgex/sandbox/executor.py +0 -0
  103. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/src/forgex/sandbox/permissions.py +0 -0
  104. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/src/forgex/sandbox/policies.py +0 -0
  105. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/src/forgex/schemas/__init__.py +0 -0
  106. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/src/forgex/schemas/agent.py +0 -0
  107. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/src/forgex/schemas/checkpoint.py +0 -0
  108. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/src/forgex/schemas/error.py +0 -0
  109. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/src/forgex/schemas/event.py +0 -0
  110. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/src/forgex/schemas/plan.py +0 -0
  111. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/src/forgex/schemas/project.py +0 -0
  112. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/src/forgex/schemas/research.py +0 -0
  113. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/src/forgex/schemas/result.py +0 -0
  114. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/src/forgex/schemas/task.py +0 -0
  115. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/src/forgex/storage/__init__.py +0 -0
  116. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/src/forgex/storage/database.py +0 -0
  117. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/src/forgex/storage/migrations.py +0 -0
  118. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/src/forgex/storage/repositories.py +0 -0
  119. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/src/forgex/tools/__init__.py +0 -0
  120. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/src/forgex/tools/base.py +0 -0
  121. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/src/forgex/tools/dependencies.py +0 -0
  122. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/src/forgex/tools/filesystem.py +0 -0
  123. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/src/forgex/tools/git.py +0 -0
  124. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/src/forgex/tools/project.py +0 -0
  125. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/src/forgex/tools/search.py +0 -0
  126. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/src/forgex/tools/terminal.py +0 -0
  127. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/src/forgex/tools/testing.py +0 -0
  128. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/src/forgex/tools/verification.py +0 -0
  129. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/src/forgex/utils/__init__.py +0 -0
  130. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/src/forgex/utils/logging.py +0 -0
  131. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/src/forgex/utils/paths.py +0 -0
  132. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/src/forgex/utils/redact.py +0 -0
  133. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/tests/__init__.py +0 -0
  134. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/tests/conftest.py +0 -0
  135. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/tests/unit/__init__.py +0 -0
  136. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/tests/unit/test_agents_architect.py +0 -0
  137. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/tests/unit/test_builder_agent.py +0 -0
  138. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/tests/unit/test_checkpoints.py +0 -0
  139. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/tests/unit/test_cli.py +0 -0
  140. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/tests/unit/test_cli_build.py +0 -0
  141. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/tests/unit/test_cli_checkpoint.py +0 -0
  142. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/tests/unit/test_cli_do.py +0 -0
  143. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/tests/unit/test_cli_models.py +0 -0
  144. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/tests/unit/test_cli_plan.py +0 -0
  145. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/tests/unit/test_cli_review.py +0 -0
  146. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/tests/unit/test_cli_surface.py +0 -0
  147. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/tests/unit/test_cli_task.py +0 -0
  148. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/tests/unit/test_cli_tools.py +0 -0
  149. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/tests/unit/test_cli_verify.py +0 -0
  150. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/tests/unit/test_config.py +0 -0
  151. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/tests/unit/test_config_env.py +0 -0
  152. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/tests/unit/test_config_setup.py +0 -0
  153. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/tests/unit/test_context_agents.py +0 -0
  154. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/tests/unit/test_context_manager.py +0 -0
  155. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/tests/unit/test_context_memory.py +0 -0
  156. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/tests/unit/test_engine.py +0 -0
  157. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/tests/unit/test_ensemble.py +0 -0
  158. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/tests/unit/test_events.py +0 -0
  159. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/tests/unit/test_executor.py +0 -0
  160. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/tests/unit/test_expert_coder.py +0 -0
  161. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/tests/unit/test_fix.py +0 -0
  162. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/tests/unit/test_indexer.py +0 -0
  163. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/tests/unit/test_init.py +0 -0
  164. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/tests/unit/test_intent.py +0 -0
  165. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/tests/unit/test_large_repo.py +0 -0
  166. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/tests/unit/test_offline.py +0 -0
  167. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/tests/unit/test_packaging.py +0 -0
  168. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/tests/unit/test_paths.py +0 -0
  169. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/tests/unit/test_permissions.py +0 -0
  170. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/tests/unit/test_plan_schemas.py +0 -0
  171. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/tests/unit/test_policies.py +0 -0
  172. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/tests/unit/test_project.py +0 -0
  173. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/tests/unit/test_providers.py +0 -0
  174. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/tests/unit/test_recovery.py +0 -0
  175. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/tests/unit/test_redact.py +0 -0
  176. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/tests/unit/test_registry.py +0 -0
  177. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/tests/unit/test_repl.py +0 -0
  178. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/tests/unit/test_research.py +0 -0
  179. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/tests/unit/test_retriever.py +0 -0
  180. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/tests/unit/test_retry.py +0 -0
  181. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/tests/unit/test_router.py +0 -0
  182. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/tests/unit/test_run_cli.py +0 -0
  183. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/tests/unit/test_runtime.py +0 -0
  184. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/tests/unit/test_security.py +0 -0
  185. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/tests/unit/test_session.py +0 -0
  186. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/tests/unit/test_state.py +0 -0
  187. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/tests/unit/test_storage.py +0 -0
  188. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/tests/unit/test_stores.py +0 -0
  189. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/tests/unit/test_supervisor.py +0 -0
  190. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/tests/unit/test_tasks.py +0 -0
  191. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/tests/unit/test_tools_dependencies.py +0 -0
  192. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/tests/unit/test_tools_filesystem.py +0 -0
  193. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/tests/unit/test_tools_git.py +0 -0
  194. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/tests/unit/test_tools_search.py +0 -0
  195. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/tests/unit/test_tools_terminal.py +0 -0
  196. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/tests/unit/test_verification.py +0 -0
  197. {forgex_cli-0.1.4 → forgex_cli-0.1.5}/tests/unit/test_workflow.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: forgex-cli
3
- Version: 0.1.4
3
+ Version: 0.1.5
4
4
  Summary: FORGEX — multi-agent AI software engineering. Plan. Build. Refine. Verify.
5
5
  Project-URL: Homepage, https://github.com/B-max12/Forgex
6
6
  Project-URL: Repository, https://github.com/B-max12/Forgex
@@ -1,3 +1,3 @@
1
1
  """FORGEX — Plan. Build. Refine. Verify."""
2
2
 
3
- __version__ = "0.1.4"
3
+ __version__ = "0.1.5"
@@ -67,6 +67,8 @@ class ArchitectAgent(BaseAgent):
67
67
  brief += "\n\nSymbols:\n" + symbols
68
68
  except Exception:
69
69
  logger.warning("symbol map unavailable", exc_info=True)
70
+ if len(brief) > 16_000:
71
+ brief = brief[:16_000] + "\n... [context truncated to stay within token budget]"
70
72
  return brief
71
73
 
72
74
  async def plan(
@@ -55,22 +55,29 @@ def plan_command(
55
55
 
56
56
  with open_stores(root) as stores:
57
57
  planner = build_planner(config=config, workspace=root, stores=stores)
58
- try:
59
- result = asyncio.run(
60
- plan_project(
58
+
59
+ async def _run_plan():
60
+ try:
61
+ return await plan_project(
61
62
  planner,
62
63
  stores=stores,
63
64
  request=request,
64
65
  dry_run=dry_run,
65
66
  progress=progress,
66
67
  )
67
- )
68
+ finally:
69
+ aclose = getattr(planner, "aclose", None)
70
+ if aclose is not None:
71
+ try:
72
+ await aclose()
73
+ except Exception:
74
+ pass
75
+
76
+ try:
77
+ result = asyncio.run(_run_plan())
68
78
  finally:
69
79
  if status_ctx:
70
80
  status_ctx.stop()
71
- aclose = getattr(planner, "aclose", None)
72
- if aclose is not None:
73
- asyncio.run(aclose())
74
81
 
75
82
  tasks = specs_to_tasks(result.plan.tasks)
76
83
  ui.data({
@@ -45,7 +45,7 @@ class IntentResult:
45
45
  _INTENT_PATTERNS = [
46
46
  # Plan and build patterns (e.g. "build me a REST API", "plan and build a service")
47
47
  (
48
- r"^(?:please\s+)?(?:build\s+me\s+|plan\s+and\s+build\s+)(.+)$",
48
+ r"^(?:please\s+)?(?:build\s+(?:me\s+)?|make\s+(?:me\s+)?|plan\s+and\s+build\s+)(.+)$",
49
49
  IntentAction.PLAN_AND_BUILD,
50
50
  lambda m: [["plan", m.group(1).strip()], ["build"]],
51
51
  "Plan architecture and execute build pipeline",
@@ -246,6 +246,10 @@ class ForgexREPL:
246
246
  if text.startswith("/"):
247
247
  text = text[1:].strip()
248
248
 
249
+ # Strip optional leading 'forgex' if user typed 'forgex <cmd>' in REPL
250
+ if text.lower().startswith("forgex "):
251
+ text = text[7:].strip()
252
+
249
253
  tokens = shlex.split(text, posix=sys.platform != "win32")
250
254
  if not tokens:
251
255
  return
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