claude-brain 0.29.1 → 0.29.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/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
0.29.
|
|
1
|
+
0.29.2
|
package/package.json
CHANGED
package/src/config/loader.ts
CHANGED
|
@@ -148,7 +148,7 @@ export async function loadConfig(basePath: string = process.cwd()): Promise<Conf
|
|
|
148
148
|
const fileConfig = loadFromFile(basePath)
|
|
149
149
|
const envConfig = loadFromEnv()
|
|
150
150
|
|
|
151
|
-
const merged = mergeConfigs(defaultConfig as Partial<Config>,
|
|
151
|
+
const merged = mergeConfigs(defaultConfig as Partial<Config>, fileConfig, envConfig)
|
|
152
152
|
|
|
153
153
|
const result = ConfigSchema.safeParse(merged)
|
|
154
154
|
|
|
@@ -211,7 +211,7 @@ export class PassiveClassifier {
|
|
|
211
211
|
const packages = match[1]?.trim()
|
|
212
212
|
if (packages) {
|
|
213
213
|
return {
|
|
214
|
-
type: '
|
|
214
|
+
type: 'decision',
|
|
215
215
|
confidence: 0.85,
|
|
216
216
|
content: `Installed package(s): ${packages}`,
|
|
217
217
|
project: this.extractProjectFromCwd(input.cwd),
|
|
@@ -213,9 +213,32 @@ export class ModelManager {
|
|
|
213
213
|
}
|
|
214
214
|
|
|
215
215
|
/**
|
|
216
|
-
* Unload
|
|
216
|
+
* Unload a single model, releasing its ONNX session to free native memory.
|
|
217
217
|
*/
|
|
218
|
-
|
|
218
|
+
async unloadModel(task: ModelTask): Promise<void> {
|
|
219
|
+
const loaded = this.loadedModels.get(task)
|
|
220
|
+
if (!loaded) return
|
|
221
|
+
|
|
222
|
+
try {
|
|
223
|
+
await loaded.session?.release?.()
|
|
224
|
+
} catch (err) {
|
|
225
|
+
this.logger.warn({ error: err, task }, 'Failed to release ONNX session')
|
|
226
|
+
}
|
|
227
|
+
this.loadedModels.delete(task)
|
|
228
|
+
this.logger.debug({ task }, 'Model unloaded')
|
|
229
|
+
}
|
|
230
|
+
|
|
231
|
+
/**
|
|
232
|
+
* Unload all models, releasing ONNX sessions to free native memory.
|
|
233
|
+
*/
|
|
234
|
+
async unloadAll(): Promise<void> {
|
|
235
|
+
for (const [task, loaded] of this.loadedModels) {
|
|
236
|
+
try {
|
|
237
|
+
await loaded.session?.release?.()
|
|
238
|
+
} catch (err) {
|
|
239
|
+
this.logger.warn({ error: err, task }, 'Failed to release ONNX session during unloadAll')
|
|
240
|
+
}
|
|
241
|
+
}
|
|
219
242
|
this.loadedModels.clear()
|
|
220
243
|
this.logger.debug('All models unloaded')
|
|
221
244
|
}
|
package/src/server/services.ts
CHANGED
|
@@ -697,9 +697,9 @@ export async function shutdownServices(): Promise<void> {
|
|
|
697
697
|
}
|
|
698
698
|
}
|
|
699
699
|
|
|
700
|
-
// Unload SLM models
|
|
700
|
+
// Unload SLM models (releases ONNX sessions)
|
|
701
701
|
if (services.modelManager) {
|
|
702
|
-
services.modelManager.unloadAll()
|
|
702
|
+
await services.modelManager.unloadAll()
|
|
703
703
|
serviceLogger.info('SLM models unloaded')
|
|
704
704
|
}
|
|
705
705
|
|