uneven-ai 1.0.3 → 1.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -5,6 +5,18 @@ All notable changes to Uneven AI will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [1.0.4] - 2026-04-16
9
+
10
+ ### Fixed
11
+
12
+ - **providers**: Gemini API endpoint corrected from `/v1/` to `/v1beta/` for full model compatibility
13
+ - **providers**: Ollama default model corrected from `llama-4` (non-existent) to `llama4`
14
+
15
+ ### Changed
16
+
17
+ - **README**: update architecture section reference from `v0.12.6` to `v1.0.0`
18
+ - **package-lock.json**: regenerated to reflect current version (was stale at `0.12.6`)
19
+
8
20
  ## [1.0.3] - 2026-04-15
9
21
 
10
22
  ### Changed
package/README.md CHANGED
@@ -15,7 +15,7 @@
15
15
 
16
16
  ## 🏗️ Architecture
17
17
 
18
- Starting with **v0.12.6**, Uneven AI is built on a robust modular architecture that ensures stability, privacy, and performance. The system is divided into clear layers of responsibility:
18
+ Starting with **v1.0.0**, Uneven AI is built on a robust modular architecture that ensures stability, privacy, and performance. The system is divided into clear layers of responsibility:
19
19
 
20
20
  - **🌍 Domain**: Pure business logic and safety rules (the "Brain").
21
21
  - **⚙️ Application**: Orchestrates analysis, terminal watching, and fix application.
@@ -51,7 +51,7 @@ export class SBOMGenerator {
51
51
  const lockFile = await readJson(path.join(this.cwd, 'package-lock.json'));
52
52
  const projectName = packageJson?.name ?? path.basename(this.cwd);
53
53
  const projectVersion = packageJson?.version;
54
- let unevenVersion = '1.0.3';
54
+ let unevenVersion = '1.0.4';
55
55
  try {
56
56
  const pkg = await readJson(new URL('../../../package.json', import.meta.url).pathname);
57
57
  unevenVersion = pkg?.version ?? unevenVersion;
@@ -11,7 +11,7 @@ import * as path from 'path';
11
11
  import * as crypto from 'crypto';
12
12
  // ─── Constants ────────────────────────────────────────────────────────────────
13
13
  const SESSION_FILE = '.uneven/session.json';
14
- const UNEVEN_VERSION = '1.0.3';
14
+ const UNEVEN_VERSION = '1.0.4';
15
15
  const STALE_THRESHOLD_MS = 60 * 60 * 1000; // 1 hour
16
16
  const LOCK_TIMEOUT_MS = 30_000; // 30 seconds
17
17
  const LOCK_DEBOUNCE_MS = 1_500; // 1.5 seconds
@@ -55,7 +55,7 @@ const DEFAULT_MODELS = {
55
55
  openai: 'gpt-4o-mini',
56
56
  claude: 'claude-sonnet-4-6',
57
57
  gemini: 'gemini-2.5-flash',
58
- ollama: 'llama-4',
58
+ ollama: 'llama4',
59
59
  };
60
60
  // ─── Main class ──────────────────────────────────────────────────────────────
61
61
  export class ExternalProviders {
@@ -217,7 +217,7 @@ export class ExternalProviders {
217
217
  if (!apiKey)
218
218
  throw new Error('GOOGLE_API_KEY is not set');
219
219
  const action = onToken ? 'streamGenerateContent' : 'generateContent';
220
- const endpoint = `https://generativelanguage.googleapis.com/v1/models/${model}:${action}`;
220
+ const endpoint = `https://generativelanguage.googleapis.com/v1beta/models/${model}:${action}`;
221
221
  this.logger.debug(`Gemini: POST models/${model}:${action}`);
222
222
  const res = await fetch(endpoint, {
223
223
  method: 'POST',
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "uneven-ai",
3
- "version": "1.0.3",
3
+ "version": "1.0.4",
4
4
  "publishConfig": {
5
5
  "access": "public",
6
6
  "registry": "https://registry.npmjs.org/"