wolverine-ai 3.7.7 → 3.7.9
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/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "wolverine-ai",
|
|
3
|
-
"version": "3.7.
|
|
3
|
+
"version": "3.7.9",
|
|
4
4
|
"description": "Self-healing Node.js server framework powered by AI. Catches crashes, diagnoses errors, generates fixes, verifies, and restarts — automatically.",
|
|
5
5
|
"main": "src/index.js",
|
|
6
6
|
"bin": {
|
package/src/brain/brain.js
CHANGED
|
@@ -114,7 +114,7 @@ const SEED_DOCS = [
|
|
|
114
114
|
metadata: { topic: "sub-agent-tools" },
|
|
115
115
|
},
|
|
116
116
|
{
|
|
117
|
-
text: "Heal pipeline escalation with cost optimization: Iteration 1 uses fast path (CODING_MODEL). For simple errors (TypeError/ReferenceError/SyntaxError), verifier trusts syntax+boot and skips route probe — ErrorMonitor is safety net.
|
|
117
|
+
text: "Heal pipeline escalation with cost optimization: Iteration 1 uses fast path (CODING_MODEL, tracked as 'coding' category). For simple errors (TypeError/ReferenceError/SyntaxError), verifier trusts syntax+boot and skips route probe — ErrorMonitor is safety net. Iteration 2 uses single agent (REASONING_MODEL, 4 turns for simple, 8 for complex, tracked as 'tool' category). Iteration 3+ uses sub-agents: explore/plan/verify use classifier model (tracked as 'classifier'), fixer uses coding model (tracked as 'coding'), research sub-agent tracked as 'research', security as 'audit'. All calls billed through unified credit system — framework authenticates as a normal API user via WOLVERINE_API_KEY through the billing proxy. Billing errors (402, insufficient_quota) immediately stop healing, no token waste.",
|
|
118
118
|
metadata: { topic: "heal-escalation" },
|
|
119
119
|
},
|
|
120
120
|
{
|
|
@@ -146,7 +146,7 @@ const SEED_DOCS = [
|
|
|
146
146
|
metadata: { topic: "fastify" },
|
|
147
147
|
},
|
|
148
148
|
{
|
|
149
|
-
text: "npm package: wolverine-ai on npmjs.com. Install: npm i wolverine-ai. CLI: npx wolverine server/index.js.
|
|
149
|
+
text: "npm package: wolverine-ai on npmjs.com (v3.7.7). Install: npm i wolverine-ai. CLI: npx wolverine server/index.js. 85 files, 190KB compressed. Includes src/, bin/, examples/. Server directory created from src/templates/server/ on first run (never overwritten). GitHub: https://github.com/bobbyswhip/Wolverine. Unified billing: all AI calls route through inference proxy with credit-based billing. WOLVERINE_API_KEY authenticates through billing proxy, WOLVERINE_GPU_KEY for direct GPU access. 3 providers: openai, anthropic, wolverine (self-hosted GPU via Vast.ai).",
|
|
150
150
|
metadata: { topic: "npm-package" },
|
|
151
151
|
},
|
|
152
152
|
{
|
|
@@ -162,7 +162,7 @@ const SEED_DOCS = [
|
|
|
162
162
|
metadata: { topic: "smart-edit" },
|
|
163
163
|
},
|
|
164
164
|
{
|
|
165
|
-
text: "Token tracking: every AI call tracked with input/output tokens, USD cost, latencyMs, and success/failure. Per-model KPIs: avgLatencyMs, minLatencyMs, maxLatencyMs, tokensPerSecond, successRate, costPerCall, successes, failures. Aggregated by model, by category, by tool, by provider (openai/anthropic).
|
|
165
|
+
text: "Token tracking: every AI call tracked with input/output tokens, USD cost, latencyMs, and success/failure. Per-model KPIs: avgLatencyMs, minLatencyMs, maxLatencyMs, tokensPerSecond, successRate, costPerCall, successes, failures. Aggregated by model, by category, by tool, by provider (openai/anthropic/wolverine). 9 analytics categories match the 9 settings.json model roles: reasoning (deep debugging), coding (fast path repair + fix sub-agents), chat (dashboard), tool (main agent with tool use), classifier (triage sub-agents: explore/plan/verify), audit (injection scan + security sub-agent), compacting (brain text compression), research (research agent + research sub-agent), embedding (brain vector embeddings). All categories tracked in byModelCategory cross-reference for per-task model comparison. Persisted to .wolverine/usage.json + .wolverine/usage-history.jsonl. Telemetry sends all per-model performance data to platform backend for fleet-wide analytics.",
|
|
166
166
|
metadata: { topic: "token-tracking" },
|
|
167
167
|
},
|
|
168
168
|
{
|
|
@@ -123,8 +123,12 @@ function upgrade(cwd, logger) {
|
|
|
123
123
|
_writeLock(cwd, { lastAttemptedVersion: latest, lastAttemptedAt: Date.now(), from: current });
|
|
124
124
|
|
|
125
125
|
const { safeUpdate } = require("../skills/update");
|
|
126
|
-
_currentVersion = null;
|
|
126
|
+
_currentVersion = null; // reset cached version so post-update reads new package.json
|
|
127
|
+
// Also clear Node's require cache for package.json
|
|
128
|
+
try { delete require.cache[require.resolve(path.join(cwd, "package.json"))]; } catch {}
|
|
129
|
+
try { delete require.cache[require.resolve("../../package.json")]; } catch {}
|
|
127
130
|
const result = safeUpdate(cwd, { logger });
|
|
131
|
+
_currentVersion = null; // reset again after update so next getCurrentVersion() reads fresh
|
|
128
132
|
|
|
129
133
|
// Verify deps after update
|
|
130
134
|
if (result.success) {
|
package/src/skills/update.js
CHANGED
|
@@ -193,6 +193,9 @@ function safeUpdate(cwd, options = {}) {
|
|
|
193
193
|
fs.writeFileSync(path.join(seedRefreshDir, ".seed-refresh"), new Date().toISOString(), "utf-8");
|
|
194
194
|
console.log(chalk.gray(" 🧠 Brain seed merge scheduled for next boot"));
|
|
195
195
|
|
|
196
|
+
// Clear Node's require cache for package.json so we read the new version
|
|
197
|
+
const pkgPath = path.resolve(cwd, "package.json");
|
|
198
|
+
delete require.cache[pkgPath];
|
|
196
199
|
const newVersion = _getCurrentVersion(cwd);
|
|
197
200
|
console.log(chalk.green(` ✅ Updated: ${currentVersion} → ${newVersion}`));
|
|
198
201
|
console.log(chalk.gray(` 🔒 Emergency backup at: ${backup.dir}`));
|