| |
| """ |
| Stack 2.9 - Main Entry Point |
| Launch the Stack 2.9 CLI and agent interface. |
| """ |
|
|
| import sys |
| import argparse |
| from pathlib import Path |
|
|
| |
| stack_cli_dir = Path(__file__).parent / "stack_cli" |
| stack_2_9_cli = Path(__file__).parent / "stack-2-9-cli" |
| stack_2_9_eval = Path(__file__).parent / "stack-2-9-eval" |
| stack_2_9_training = Path(__file__).parent / "stack-2-9-training" |
|
|
| paths = [str(stack_cli_dir), str(stack_2_9_cli), str(stack_2_9_eval), str(stack_2_9_training)] |
| for p in paths: |
| if Path(p).exists(): |
| sys.path.insert(0, p) |
|
|
|
|
| def main(): |
| parser = argparse.ArgumentParser(description="Stack 2.9 CLI") |
| parser.add_argument("--provider", "-p", choices=["ollama", "openai", "anthropic", "together"], |
| default="ollama", help="Model provider") |
| parser.add_argument("--model", "-m", type=str, help="Model name") |
| parser.add_argument("--chat", "-c", action="store_true", help="Start in chat mode") |
| parser.add_argument("--eval", "-e", choices=["mbpp", "human_eval", "gsm8k", "all"], |
| help="Run evaluation benchmark") |
| parser.add_argument("--patterns", action="store_true", help="View pattern statistics") |
| args = parser.parse_args() |
|
|
| |
| try: |
| from stack_2_9_cli.main import main as new_main |
| new_main() |
| except ImportError: |
| try: |
| from stack_cli.cli import main as cli_main |
| cli_main() |
| except ImportError as e: |
| print(f"Error: {e}") |
| print("Install dependencies: pip install -r requirements.txt") |
| sys.exit(1) |
|
|
|
|
| if __name__ == "__main__": |
| main() |