Skip to content

feat: add Cosmos provider foundation and secure configuration - #32

Merged
subhamoydatta703 merged 1 commit into
mainfrom
feat/cosmos-provider-foundation
Oct 13, 2026
Merged

subhamoydatta703 merged 1 commit into
mainfrom
feat/cosmos-provider-foundation

Conversation

@subhamoydatta703

Copy link
Copy Markdown
Owner

What does this PR do?
Implements Cosmos phases 1 and 2: shared provider messages and secure provider configuration. Agent, research, and debugging tool calls use explicit call IDs. Gemini SDK conversion and native continuation handling now live in the Gemini provider folder. Existing Gemini session logs are migrated in memory without rewriting the original files.

Adds provider-specific folders, validated model/reasoning metadata, bounded injectable discovery, masked API key entry, encrypted credential storage, and persisted active/remembered provider preferences. New configuration commands are set-provider-key, set-provider, and show-provider. Updates README, developer documentation, contributor guidance, and regression tests.

Related issue(s)
None linked.

Type of change

  • New feature
  • Documentation
  • Refactor / cleanup
  • Dependency update

Checks

  • bun run typecheck
  • bun run src/index.ts --help
  • bun run test:core — 105 passed
  • bun run test:web — 147 passed
  • bun run test:web:browser — 3 passed
  • bun run test:docker — 9 passed
  • git diff --cached --check
  • Conventional Commit message

264 tests passed locally on Windows with Bun 1.3.14, zero failures. GitHub CI is separate. No live model/API validation was performed.

Security note
Existing tool dispatch and permission enforcement remain in place. Shared messages validate tool identity; recovery marks unknown outcomes without replaying commands; native continuation data is checked for incompatible provider/model use. New key commands require masked interactive input and do not accept positional keys. Registered credentials are redacted from logs and persisted agent output. Invalid settings and failed persistence are reported explicitly.

Additional context
This is foundation/configuration work. Runtime still uses Gemini with its current fixed model and default reasoning. OpenAI/Claude runtime adapters, runtime model/reasoning overrides, authenticated model discovery, and /provider, /model, /reasoning chat controls remain pending. Startup rejects saved selections the runtime cannot apply.

Cosmos planning files under docs/ remain local because the existing repository rules ignore that folder. No dependencies or package versions changed. This PR must not be merged automatically.

@subhamoydatta703
subhamoydatta703 merged commit 5918e02 into main Oct 13, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant