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