uneven-ai 1.1.0 โ 1.1.1
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/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/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
|