Skip to content

chore: release v0.2.6#253

Merged
valdis merged 1 commit into
mainfrom
release/v0.2.6
Jun 17, 2026
Merged

chore: release v0.2.6#253
valdis merged 1 commit into
mainfrom
release/v0.2.6

Conversation

@eggai-release-bot

@eggai-release-bot eggai-release-bot Bot commented Jun 17, 2026

Copy link
Copy Markdown
Contributor

Release v0.2.6

Added

  • baseUrl field added to aiStageConfig schema for openai-compatible providers, with OPENAI_BASE_URL / OPENAI_API_KEY env-var fallbacks resolved in getResolvedStageConfig.
  • openai-compatible provider support for agentic review mode via @eggai/configurable-agent (Vercel AI SDK v5 agent loop). Any provider with a custom baseUrl can now run the full agentic security audit without SDK-specific adapters.
  • Provider-dialect smoke spec: npm run test:smoke runs the 4 AI caller stages migrated in PR feat: native LLM structured responses via zod-driven complete #145 (file-reviewer, validation-resolver, dedup-resolver, root-cause-extract) against each real provider (anthropic, openai, bedrock, github) using a slice fixture as input. Validates that the structured-output dialect path returns a zod-validated response without throwing. Implemented as a Jest spec under tests/smoke/ with its own jest.smoke.config.ts — not picked up by default npm test (whose roots are limited to tests/unit/). Provider config comes from ConfigService + the existing PROVIDER_DEFAULTS table, not a duplicated table. Providers with missing credentials are describe.skip()-ed; providers with malformed credentials fail loudly via the provider class's own validateApiKey(). Input is a slice fixture under evals/datasets/inbox/smoke-sql-injection/, loosely following TDR 0002. Nightly + manual CI workflow at .github/workflows/provider-dialect-smoke.yml. Automates the unchecked manual smoke item from PR feat: native LLM structured responses via zod-driven complete #145's test plan; distinct from the deferred per-stage golden-evals item which validates output quality.
  • unstructured dialect for LLM models without response_format: {type: "json_schema"} support (e.g. Llama, Qwen2.5, DeepSeek-V3, Phi, older o1-series). When isUnstructured() is true, the pipeline runs a full prose path: ProseFileReviewerProseValidationResolverProseDeduplicationResolversession/prose-report.md. No JSON parsing, no structured schemas — the model writes free-form prose and subsequent stages refine it in-kind.
  • Bundled litellm model capability snapshot (src/ai/providers/model-capabilities.json, 2101 chat models) for automatic supportsResponseSchema lookup. Unknown models default to unstructured (safe).
  • scripts/update-model-capabilities.ts maintenance script to sync the snapshot from upstream litellm (npm run maintenance:update-model-capabilities [--write]).

Checklist:

  • Version bump looks correct
  • Changelog entries are accurate
  • CI passes

After merging, the release will be automatically tagged and published to npm.

@eggai-release-bot eggai-release-bot Bot added the release Release PR label Jun 17, 2026
@valdis valdis enabled auto-merge (squash) June 17, 2026 08:23
@github-actions

github-actions Bot commented Jun 17, 2026

Copy link
Copy Markdown

QualOps Code Quality Analysis

Status: ✅ PASSED - No issues found

Summary

  • Total Issues: 0
  • Critical: 0 🔴
  • High: 0 🟠
  • Medium: 0 🟡
  • Low: 0 🟢
  • Files Analyzed: 2

No issues found in the analyzed code.

📊 Full Report

View detailed report


Powered by QualOps

@valdis valdis merged commit 2ddf689 into main Jun 17, 2026
11 checks passed
@valdis valdis deleted the release/v0.2.6 branch June 17, 2026 08:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

release Release PR

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant