File size: 1,700 Bytes
b6ae7b8 f80360c b6ae7b8 f80360c b6ae7b8 f80360c 0908455 f80360c b6ae7b8 f80360c | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 | #!/usr/bin/env python3
"""
Stack 2.9 - Main Entry Point
Launch the Stack 2.9 CLI and agent interface.
"""
import sys
import argparse
from pathlib import Path
# Add directories to 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 new CLI first, fall back to old
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() |