Bug
Running dsagent or dsagent chat without --model and without any config (no .env, no DSAGENT_DEFAULT_MODEL/LLM_MODEL) causes:
Configuration Error: 'NoneType' object has no attribute 'lower'
Cause: args.model is None and validate_configuration(None) calls model.lower() internally.
Expected behavior
- Without config, the CLI should use the default model (e.g.
gpt-4o) and only fail with a clear message if the API key for that model is missing.
- No config file should be required to run
dsagent.
Fix (to be done in a branch/PR)
- Resolve the effective model with
get_default_model(explicit=args.model) before calling validate_configuration() in CLI entry points (repl.py, run.py, cli.py).
- Use that
effective_model for validation and when creating the agent.
- In
validate_configuration(), guard against None/empty and raise a clear ConfigurationError instead of AttributeError.
Release: 0.9.1
Bug
Running
dsagentordsagent chatwithout--modeland without any config (no.env, noDSAGENT_DEFAULT_MODEL/LLM_MODEL) causes:Cause:
args.modelisNoneandvalidate_configuration(None)callsmodel.lower()internally.Expected behavior
gpt-4o) and only fail with a clear message if the API key for that model is missing.dsagent.Fix (to be done in a branch/PR)
get_default_model(explicit=args.model)before callingvalidate_configuration()in CLI entry points (repl.py,run.py,cli.py).effective_modelfor validation and when creating the agent.validate_configuration(), guard againstNone/empty and raise a clearConfigurationErrorinstead ofAttributeError.Release: 0.9.1