@hiveai/mcp 0.9.19 → 0.9.21

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/dist/index.js CHANGED
@@ -135,8 +135,8 @@ import {
135
135
  } from "@hiveai/core";
136
136
  import { z as z4 } from "zod";
137
137
  var MemSaveInputSchema = {
138
- type: z4.enum(["convention", "decision", "gotcha", "architecture", "glossary", "attempt", "session_recap"]).describe(
139
- "Kind of memory being saved. Use 'attempt' for failed approaches (auto-validated). Use 'session_recap' via mem_session_end instead."
138
+ type: z4.enum(["convention", "decision", "gotcha", "architecture", "glossary", "skill", "attempt", "session_recap"]).describe(
139
+ "Kind of memory being saved. Use 'skill' for reusable procedures/playbooks agents should follow for recurring tasks (feedforward harness guide). Use 'attempt' for failed approaches (auto-validated). Use 'session_recap' via mem_session_end instead."
140
140
  ),
141
141
  slug: z4.string().min(1).describe("Short human-readable identifier \u2014 becomes part of the filename"),
142
142
  body: z4.string().describe("Markdown body of the memory"),
@@ -1913,10 +1913,10 @@ function classifyMemoryPriority(memory, loaded, inputFiles, inputSymbols) {
1913
1913
  );
1914
1914
  const strongSemantic = (memory.semantic_score ?? 0) >= 0.65;
1915
1915
  const usefulSemantic = (memory.semantic_score ?? 0) >= 0.35;
1916
- if (fm?.requires_human_approval || directAnchor || directSymbol || memory.type === "attempt" && (memory.match_quality === "exact" || strongSemantic)) {
1916
+ if (fm?.requires_human_approval || directAnchor || directSymbol || memory.type === "attempt" && (memory.match_quality === "exact" || strongSemantic) || memory.type === "skill" && (memory.match_quality === "exact" || strongSemantic)) {
1917
1917
  return "must_read";
1918
1918
  }
1919
- if (memory.reasons.includes("module") || memory.reasons.includes("domain") || memory.match_quality === "exact" || usefulSemantic) {
1919
+ if (memory.type === "skill" || memory.reasons.includes("module") || memory.reasons.includes("domain") || memory.match_quality === "exact" || usefulSemantic) {
1920
1920
  return "useful";
1921
1921
  }
1922
1922
  return "background";
@@ -1996,6 +1996,7 @@ function explainWhySurfaced(memory, loaded, inputFiles, inferredModules) {
1996
1996
  }
1997
1997
  why.push(`Confidence: ${memory.confidence}; read ${memory.read_count} time${memory.read_count === 1 ? "" : "s"}.`);
1998
1998
  if (memory.type === "attempt") why.push("Failed-approach record; read before repeating the same path.");
1999
+ if (memory.type === "skill") why.push("Skill (reusable procedure/playbook) \u2014 follow the steps described when doing this type of task.");
1999
2000
  if (memory.status === "proposed" || memory.status === "draft") {
2000
2001
  why.push("Unvalidated record; use cautiously or ask a human before treating it as policy.");
2001
2002
  }
@@ -3670,7 +3671,7 @@ When done, respond with: "Imported N memories: [list of IDs]" or "Nothing action
3670
3671
  // src/server.ts
3671
3672
  import { loadConfigSync } from "@hiveai/core";
3672
3673
  var SERVER_NAME = "haive";
3673
- var SERVER_VERSION = "0.9.19";
3674
+ var SERVER_VERSION = "0.9.21";
3674
3675
  function jsonResult(data) {
3675
3676
  return {
3676
3677
  content: [