wolverine-ai 3.9.2 → 3.9.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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "wolverine-ai",
3
- "version": "3.9.2",
3
+ "version": "3.9.4",
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": {
@@ -331,7 +331,7 @@ class AgentEngine {
331
331
  this.logger = options.logger;
332
332
  this.cwd = options.cwd || process.cwd();
333
333
  this.mcp = options.mcp || null; // McpRegistry for external tools
334
- this.category = options.category || "reasoning"; // Analytics category matches model role
334
+ this.category = options.category || "tool"; // Agent uses tools = tool category by default
335
335
 
336
336
  // Budget constraints (claw-code: QueryEngineConfig)
337
337
  this.maxTurns = options.maxTurns || 15;
@@ -97,9 +97,9 @@ async function spawnAgent(type, task, options = {}) {
97
97
  });
98
98
  }
99
99
 
100
- // Map sub-agent type to analytics category matching the 9 model roles:
101
- // explore/plan/verify = classifier (triage), fix/database = tool (uses tools to fix), research = research, security = audit
102
- const categoryMap = { explore: "classifier", plan: "classifier", verify: "classifier", research: "research", fix: "tool", database: "tool", security: "audit" };
100
+ // Map sub-agent type to analytics category by ACTIVITY (what the AI is doing):
101
+ // All agents that use tools = "tool", classification/planning = "classifier", research = "research", security = "audit"
102
+ const categoryMap = { explore: "tool", plan: "classifier", verify: "tool", research: "research", fix: "tool", database: "tool", security: "audit" };
103
103
  const agent = new AgentEngine({
104
104
  sandbox: options.sandbox,
105
105
  logger: options.logger,
@@ -114,7 +114,7 @@ const SEED_DOCS = [
114
114
  metadata: { topic: "sub-agent-tools" },
115
115
  },
116
116
  {
117
- text: "Heal pipeline with analytics categories matching 9 model roles: (1) Injection scan AUDIT_MODEL 'audit'. (2) Fast path single-shot repair CODING_MODEL → 'coding'. (3) Main agent with tools REASONING_MODEL 'reasoning'. (4) Sub-agents: explore/plan/verify CLASSIFIER_MODEL 'classifier'; fix/database TOOL_MODEL 'tool'; research RESEARCH_MODEL 'research'; security AUDIT_MODEL 'audit'. (5) Brain compaction COMPACTING_MODEL 'compacting'. (6) Embeddings EMBEDDING_MODEL 'embedding'. (7) Notifier/perf summaries CHAT_MODEL 'chat'. All 9 roles tracked: reasoning, coding, chat, tool, classifier, audit, compacting, research, embedding. Billing: all calls go through unified credit proxy (WOLVERINE_API_KEY). Billing errors (402) stop healing immediately.",
117
+ text: "Heal pipeline analytics categories track ACTIVITY not model slot. Every heal fires: (1) audit: injection scan. (2) classifier: AI classifies error complexity. (3) research: deep research for moderate/complex errors. (4) coding: fast path single-shot repair (no tools). (5) tool: main agent + sub-agents that USE tools (read_file, write_file, bash_exec, etc). (6) chat: post-heal summary. (7) compacting: brain text compression. (8) embedding: brain vectors. (9) reasoning: reserved for deep analysis without tools. Key: agent using tools = 'tool' category regardless of which model slot (reasoning/coding) provided the model. Fast path code gen without tools = 'coding'. Sub-agent explore/verify/fix = 'tool' (they use tools). Sub-agent plan = 'classifier' (no tools, just classifies). Billing: unified credit proxy. 402 stops healing immediately.",
118
118
  metadata: { topic: "heal-escalation" },
119
119
  },
120
120
  {
@@ -367,7 +367,7 @@ async function _healImpl({ stderr, cwd, sandbox, notifier, rateLimiter, backupMa
367
367
  sandbox, logger, cwd, mcp,
368
368
  maxTurns: agentMaxTurns,
369
369
  maxTokens: tokenBudget.agent,
370
- category: "reasoning",
370
+ category: "tool", // Agent uses tools (read_file, write_file, bash_exec) = tool category
371
371
  });
372
372
 
373
373
  const agentResult = await agent.run({