uneven-ai 1.1.0 โ 1.1.2
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 +13 -0
- package/README.md +2 -2
- package/dist/infrastructure/adapters/bridge.d.ts.map +1 -1
- package/dist/infrastructure/adapters/bridge.js +43 -2
- package/package.json +1 -1
- package/prebuilds/darwin-arm64/uneven_core.node +0 -0
- package/prebuilds/linux-arm64/uneven_core.node +0 -0
- package/prebuilds/linux-x64/uneven_core.node +0 -0
- package/prebuilds/win32-x64/uneven_core.node +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,19 @@ 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.1.2] - 2026-04-24
|
|
9
|
+
|
|
10
|
+
### Fixed
|
|
11
|
+
|
|
12
|
+
- **Engine Initialization**: Resolved a naming convention mismatch where `maxTokens` (camelCase) from the TypeScript configuration was not being correctly mapped to `max_tokens` (snake_case) expected by the native Rust engine.
|
|
13
|
+
- **Native Bridge**: Updated the bridge to ensure all configuration fields are correctly transformed before being passed to the native core, preventing initialization failures.
|
|
14
|
+
|
|
15
|
+
## [1.1.1] - 2026-04-24
|
|
16
|
+
|
|
17
|
+
### Fixed
|
|
18
|
+
|
|
19
|
+
- **Naming Conventions**: Stabilized internal naming conventions between TypeScript and Rust layers.
|
|
20
|
+
|
|
8
21
|
## [1.1.0] - 2026-04-20
|
|
9
22
|
|
|
10
23
|
### Added
|
package/README.md
CHANGED
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
- **๐ฌ Maria Shell** โ Run `uneven-ai` to talk with **Maria**, your local senior agent. She understands your intent and dispatches commands automatically.
|
|
19
19
|
- **๐ง Local Sovereignty** โ Powered by **Maria**, our built-in offline brain. Choose between **Maria Standard** (Llama 3.2 โ fast & light) or **Maria Pro** (Llama 4 Scout โ high performance).
|
|
20
20
|
- **โก Selective Knowledge Retrieval** โ New **Knowledge Map Strategy** for massive projects. The AI identifies relevant files from a compact project map before reading content, reducing token costs by up to 90% and eliminating "context noise".
|
|
21
|
-
- **๐ Semantic Knowledge Base** โ Scalable indexing for codebase, databases, and docs. Optimized for surgical context delivery in v1.1.
|
|
21
|
+
- **๐ Semantic Knowledge Base** โ Scalable indexing for codebase, databases, and docs. Optimized for surgical context delivery in v1.1.1.
|
|
22
22
|
- **๐ Terminal Watcher** โ Monitors your dev workflow and catches execution errors in real time.
|
|
23
23
|
- **๐ค Autonomous Correction** โ Diagnoses errors using your project's context and applies surgical fixes.
|
|
24
24
|
- **๐ฆ Security Shield** โ Detects malicious patterns, supply chain attacks, and compromised dependencies.
|
|
@@ -158,7 +158,7 @@ uneven-ai ci
|
|
|
158
158
|
Run `uneven-ai` with no arguments to open the interactive shell:
|
|
159
159
|
|
|
160
160
|
```
|
|
161
|
-
โ Uneven AI v1.1.
|
|
161
|
+
โ Uneven AI v1.1.1
|
|
162
162
|
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
|
163
163
|
Olรก! O que posso fazer por vocรช hoje?
|
|
164
164
|
(Escreva sua mensagem ou "sair" para encerrar)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bridge.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/adapters/bridge.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AA4EH,MAAM,WAAW,YAAY;IAC3B,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;IAC5D,UAAU,IAAI,MAAM,CAAA;IACpB,aAAa,IAAI,MAAM,CAAA;IACvB,aAAa,IAAI,MAAM,CAAA;IACvB,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;IACjE,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;IACjC,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;IACvC,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;IACzH,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,GAAG,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,CAAC,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;IACrL,uBAAuB,IAAI,IAAI,CAAA;IAC/B,mBAAmB,IAAI,IAAI,CAAA;IAC3B,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,SAAS,EAAE,MAAM,EAAE,CAAC;QAAC,MAAM,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAAA;IACtG,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACtH,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;IACjC,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;IAC9C,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;CACnG;AAED,wBAAgB,gBAAgB,IAAI,YAAY,GAAG,IAAI,CAEtD;AAED,wBAAgB,iBAAiB,IAAI,OAAO,CAE3C;
|
|
1
|
+
{"version":3,"file":"bridge.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/adapters/bridge.ts"],"names":[],"mappings":"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"}
|
|
@@ -79,11 +79,45 @@ export function getNativeBinding() {
|
|
|
79
79
|
export function isNativeAvailable() {
|
|
80
80
|
return nativeBinding !== null;
|
|
81
81
|
}
|
|
82
|
+
/**
|
|
83
|
+
* Converts camelCase TypeScript config to snake_case Rust config.
|
|
84
|
+
* Rust's UnevenConfig expects snake_case for several fields.
|
|
85
|
+
*/
|
|
86
|
+
function toNativeConfig(config) {
|
|
87
|
+
const native = {
|
|
88
|
+
brain: {
|
|
89
|
+
provider: config.brain?.provider,
|
|
90
|
+
model: config.brain?.model,
|
|
91
|
+
api_key: config.brain?.apiKey,
|
|
92
|
+
temperature: config.brain?.temperature,
|
|
93
|
+
max_tokens: config.brain?.maxTokens || config.brain?.max_tokens, // fallback
|
|
94
|
+
local: config.brain?.local ? {
|
|
95
|
+
threads: config.brain.local.threads,
|
|
96
|
+
gpu_layers: config.brain.local.gpuLayers,
|
|
97
|
+
unload_timeout: config.brain.local.unloadTimeout,
|
|
98
|
+
} : undefined
|
|
99
|
+
},
|
|
100
|
+
knowledge: {
|
|
101
|
+
dirs: config.knowledge?.dirs || [],
|
|
102
|
+
files: config.knowledge?.files || [],
|
|
103
|
+
urls: config.knowledge?.urls || [],
|
|
104
|
+
external_project: config.knowledge?.externalProject,
|
|
105
|
+
},
|
|
106
|
+
watch: {
|
|
107
|
+
terminal: config.watch?.terminal || 'npm run dev',
|
|
108
|
+
auto_fix: config.watch?.autoFix ?? true,
|
|
109
|
+
confirm_before_fix: config.watch?.confirmBeforeFix ?? false,
|
|
110
|
+
dirs: config.watch?.dirs || [],
|
|
111
|
+
}
|
|
112
|
+
};
|
|
113
|
+
return native;
|
|
114
|
+
}
|
|
82
115
|
export async function initNativeEngine(config, threads = 4) {
|
|
83
116
|
if (!nativeBinding)
|
|
84
117
|
throw new Error('Native binding not available');
|
|
85
118
|
try {
|
|
86
|
-
|
|
119
|
+
const nativeConfig = toNativeConfig(config);
|
|
120
|
+
await nativeBinding.initEngine(JSON.stringify(nativeConfig), threads);
|
|
87
121
|
}
|
|
88
122
|
catch (error) {
|
|
89
123
|
throw new Error(`Failed to initialize native engine: ${error}`);
|
|
@@ -172,7 +206,14 @@ export async function storeDocumentsBatch(docIds, docPaths, docContents, docType
|
|
|
172
206
|
*/
|
|
173
207
|
function safeParseNativeJson(raw, context) {
|
|
174
208
|
try {
|
|
175
|
-
|
|
209
|
+
const parsed = JSON.parse(raw);
|
|
210
|
+
// Map snake_case response to camelCase TS
|
|
211
|
+
if (parsed && typeof parsed === 'object') {
|
|
212
|
+
if (parsed.tokens_used !== undefined) {
|
|
213
|
+
parsed.tokensUsed = parsed.tokens_used;
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
return parsed;
|
|
176
217
|
}
|
|
177
218
|
catch (parseError) {
|
|
178
219
|
const preview = raw.length > 500 ? raw.slice(0, 500) + '...' : raw;
|
package/package.json
CHANGED
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|