bikky 0.3.2 → 0.3.3
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/README.md +68 -32
- package/dist/daemon/episode-summary.d.ts +1 -6
- package/dist/daemon/episode-summary.d.ts.map +1 -1
- package/dist/daemon/episode-summary.js +5 -36
- package/dist/daemon/episode-summary.js.map +1 -1
- package/dist/daemon/workstream-summary.d.ts +1 -8
- package/dist/daemon/workstream-summary.d.ts.map +1 -1
- package/dist/daemon/workstream-summary.js +4 -37
- package/dist/daemon/workstream-summary.js.map +1 -1
- package/dist/mcp/index.d.ts.map +1 -1
- package/dist/mcp/index.js +8 -1
- package/dist/mcp/index.js.map +1 -1
- package/dist/mcp/taxonomy.d.ts +14 -0
- package/dist/mcp/taxonomy.d.ts.map +1 -1
- package/dist/mcp/taxonomy.js +70 -0
- package/dist/mcp/taxonomy.js.map +1 -1
- package/dist/mcp/tools.d.ts.map +1 -1
- package/dist/mcp/tools.js +120 -91
- package/dist/mcp/tools.js.map +1 -1
- package/dist/prompts/distill.d.ts.map +1 -1
- package/dist/prompts/distill.js +35 -17
- package/dist/prompts/distill.js.map +1 -1
- package/dist/prompts/episode-summary.d.ts +15 -0
- package/dist/prompts/episode-summary.d.ts.map +1 -0
- package/dist/prompts/episode-summary.js +60 -0
- package/dist/prompts/episode-summary.js.map +1 -0
- package/dist/prompts/extraction.d.ts.map +1 -1
- package/dist/prompts/extraction.js +29 -6
- package/dist/prompts/extraction.js.map +1 -1
- package/dist/prompts/index.d.ts +2 -0
- package/dist/prompts/index.d.ts.map +1 -1
- package/dist/prompts/index.js +2 -0
- package/dist/prompts/index.js.map +1 -1
- package/dist/prompts/prompts.test.js +1 -1
- package/dist/prompts/prompts.test.js.map +1 -1
- package/dist/prompts/workstream-summary.d.ts +17 -0
- package/dist/prompts/workstream-summary.d.ts.map +1 -0
- package/dist/prompts/workstream-summary.js +72 -0
- package/dist/prompts/workstream-summary.js.map +1 -0
- package/dist/render.d.ts.map +1 -1
- package/dist/render.js +13 -1
- package/dist/render.js.map +1 -1
- package/dist/render.test.js +36 -5
- package/dist/render.test.js.map +1 -1
- package/docs/diagrams/architecture.svg +87 -0
- package/docs/diagrams/team-memory.svg +250 -0
- package/docs/screenshots/dashboard.png +0 -0
- package/docs/screenshots/graph.png +0 -0
- package/docs/screenshots/memory.png +0 -0
- package/package.json +4 -2
package/dist/mcp/taxonomy.js
CHANGED
|
@@ -573,6 +573,76 @@ export function categoryPromptSection(category) {
|
|
|
573
573
|
export function allCategoryPromptSections() {
|
|
574
574
|
return Object.keys(CATEGORIES).map(categoryPromptSection).join("\n\n");
|
|
575
575
|
}
|
|
576
|
+
// ---------------------------------------------------------------------------
|
|
577
|
+
// MCP enum descriptions — single source of truth shared with src/mcp/tools.ts
|
|
578
|
+
// ---------------------------------------------------------------------------
|
|
579
|
+
//
|
|
580
|
+
// These render the canonical CATEGORIES / DOMAINS / KINDS / MEMORY_SUBTYPES /
|
|
581
|
+
// SOURCES tables into the multiline strings agents see when they inspect a
|
|
582
|
+
// tool schema. Keeping them here means tool descriptions never drift from
|
|
583
|
+
// the ontology definitions above.
|
|
584
|
+
function shortenDescription(text) {
|
|
585
|
+
// Collapse any whitespace and clip to the first sentence so per-value
|
|
586
|
+
// blurbs stay readable inside a tool schema description.
|
|
587
|
+
const collapsed = text.replace(/\s+/g, " ").trim();
|
|
588
|
+
const firstPeriod = collapsed.indexOf(". ");
|
|
589
|
+
if (firstPeriod > 0)
|
|
590
|
+
return collapsed.slice(0, firstPeriod + 1);
|
|
591
|
+
return collapsed;
|
|
592
|
+
}
|
|
593
|
+
/** Render the `category` enum description for memory_store / memory_recall. */
|
|
594
|
+
export function categoryEnumDescription() {
|
|
595
|
+
const lines = Object.entries(CATEGORIES).map(([name, def]) => ` • ${name} — ${shortenDescription(def.description)}`);
|
|
596
|
+
return [
|
|
597
|
+
"Subject matter of the fact. One of:",
|
|
598
|
+
...lines,
|
|
599
|
+
`Default when omitted: ${DEFAULT_CATEGORY}.`,
|
|
600
|
+
].join("\n");
|
|
601
|
+
}
|
|
602
|
+
/** Render the `domain` enum description. */
|
|
603
|
+
export function domainEnumDescription() {
|
|
604
|
+
const lines = Object.entries(DOMAINS).map(([name, def]) => ` • ${name} — ${shortenDescription(def.description)}`);
|
|
605
|
+
return [
|
|
606
|
+
"Activity profile that controls vocabulary and ranking. One of:",
|
|
607
|
+
...lines,
|
|
608
|
+
`Default when omitted: ${DEFAULT_DOMAIN}.`,
|
|
609
|
+
].join("\n");
|
|
610
|
+
}
|
|
611
|
+
/** Render the `kind` enum description. Telemetry is daemon-only — excluded. */
|
|
612
|
+
export function kindEnumDescription() {
|
|
613
|
+
const lines = Object.entries(KINDS)
|
|
614
|
+
.filter(([name]) => name !== "telemetry")
|
|
615
|
+
.map(([name, def]) => ` • ${name} — ${shortenDescription(def.description)}`);
|
|
616
|
+
return [
|
|
617
|
+
"Knowledge form of the memory object. One of:",
|
|
618
|
+
...lines,
|
|
619
|
+
`Default when omitted: ${DEFAULT_KIND}. (telemetry is reserved for the daemon.)`,
|
|
620
|
+
].join("\n");
|
|
621
|
+
}
|
|
622
|
+
/**
|
|
623
|
+
* Render the `memory_subtype` enum description, grouped by kind so the agent
|
|
624
|
+
* knows which subtypes pair with which kind (the runtime enforces this via
|
|
625
|
+
* validateMemorySubtype).
|
|
626
|
+
*/
|
|
627
|
+
export function memorySubtypeEnumDescription() {
|
|
628
|
+
const groups = Object.entries(MEMORY_SUBTYPES)
|
|
629
|
+
.filter(([, subtypes]) => subtypes.length > 0)
|
|
630
|
+
.map(([kind, subtypes]) => ` • kind=${kind}: ${subtypes.join(", ")}`);
|
|
631
|
+
return [
|
|
632
|
+
"Optional finer-grained type within the kind. Only set when one of these clearly applies — otherwise leave blank.",
|
|
633
|
+
"Subtype must match the kind (validated server-side):",
|
|
634
|
+
...groups,
|
|
635
|
+
].join("\n");
|
|
636
|
+
}
|
|
637
|
+
/** Render the `source` enum description for memory_store. */
|
|
638
|
+
export function sourceEnumDescription() {
|
|
639
|
+
const lines = Object.entries(SOURCES).map(([name, def]) => ` • ${name} — ${shortenDescription(def.description)}`);
|
|
640
|
+
return [
|
|
641
|
+
"Who created this memory. One of:",
|
|
642
|
+
...lines,
|
|
643
|
+
`Default when omitted: ${DEFAULT_SOURCE}. Only override when the human explicitly asked you to remember this (use 'user').`,
|
|
644
|
+
].join("\n");
|
|
645
|
+
}
|
|
576
646
|
export function memorySubtypeValues() {
|
|
577
647
|
return Object.values(MEMORY_SUBTYPES).flat();
|
|
578
648
|
}
|
package/dist/mcp/taxonomy.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taxonomy.js","sourceRoot":"","sources":["../../src/mcp/taxonomy.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"taxonomy.js","sourceRoot":"","sources":["../../src/mcp/taxonomy.ts"],"names":[],"mappings":"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"}
|
package/dist/mcp/tools.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../src/mcp/tools.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../src/mcp/tools.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AA0PzE,wBAAgB,aAAa,CAAC,GAAG,EAAE,SAAS,GAAG,IAAI,CA4iClD"}
|
package/dist/mcp/tools.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import crypto from "node:crypto";
|
|
5
5
|
import { z } from "zod";
|
|
6
|
-
import { STALENESS_DAYS, THRESHOLD_DUPLICATE, THRESHOLD_RELATED, QDRANT_INDEXES, categoryValues, domainValues, kindValues, memorySubtypeValues, sourceValues, DEFAULT_CATEGORY, DEFAULT_DOMAIN, DEFAULT_KIND, DEFAULT_SOURCE, categoryForMemorySubtype, layerForMemorySubtype, normalizeCategory, normalizeDomain, normalizeKind, validateMemorySubtype, } from "./taxonomy.js";
|
|
6
|
+
import { STALENESS_DAYS, THRESHOLD_DUPLICATE, THRESHOLD_RELATED, QDRANT_INDEXES, categoryValues, categoryEnumDescription, domainValues, domainEnumDescription, kindValues, kindEnumDescription, memorySubtypeValues, memorySubtypeEnumDescription, sourceValues, sourceEnumDescription, DEFAULT_CATEGORY, DEFAULT_DOMAIN, DEFAULT_KIND, DEFAULT_SOURCE, categoryForMemorySubtype, layerForMemorySubtype, normalizeCategory, normalizeDomain, normalizeKind, validateMemorySubtype, } from "./taxonomy.js";
|
|
7
7
|
import { contentHash, daysSince, lastActivityDate, computeCombinedScore, buildFilter, formatFact, MEMORY_RECALL_EXCLUDED_KINDS, } from "./helpers.js";
|
|
8
8
|
import { ready, qdrantUrl, qdrantApiKey, setupError, setQdrantUrl, setQdrantApiKey, setReady, getCollection, log, embed, getEmbeddingConfig, qdrantReq, ensureCollection, qdrantUpsert, qdrantSearch, qdrantScroll, qdrantSetPayload, qdrantGetPoints, } from "./api.js";
|
|
9
9
|
import { saveConfig, loadConfig } from "../config.js";
|
|
@@ -166,7 +166,11 @@ async function graphTraversal(primaryResults, limit, scope) {
|
|
|
166
166
|
// ---------------------------------------------------------------------------
|
|
167
167
|
export function registerTools(mcp) {
|
|
168
168
|
// ── get_setup_status ────────────────────────────────────────────────────
|
|
169
|
-
mcp.tool("get_setup_status",
|
|
169
|
+
mcp.tool("get_setup_status", [
|
|
170
|
+
"Check whether the memory system is configured and reachable.",
|
|
171
|
+
"Use this when memory tools return a 'setup_required' error, or once at session start if you're not sure bikky is wired up. Reports which credentials are missing and includes onboarding instructions if anything is incomplete.",
|
|
172
|
+
"Read-only — safe to call any time.",
|
|
173
|
+
].join(" "), {}, async () => {
|
|
170
174
|
const status = {
|
|
171
175
|
ready,
|
|
172
176
|
qdrant_url: !!qdrantUrl,
|
|
@@ -206,7 +210,10 @@ export function registerTools(mcp) {
|
|
|
206
210
|
return { content: [{ type: "text", text: JSON.stringify(status, null, 2) }] };
|
|
207
211
|
});
|
|
208
212
|
// ── configure_credentials ───────────────────────────────────────────────
|
|
209
|
-
mcp.tool("configure_credentials",
|
|
213
|
+
mcp.tool("configure_credentials", [
|
|
214
|
+
"Persist Qdrant and embedding credentials to ~/.bikky/config.json and bring the memory system online.",
|
|
215
|
+
"Call this only during onboarding (or when rotating credentials). After it succeeds, the collection is created if missing and embeddings are tested. For day-to-day use, prefer get_setup_status.",
|
|
216
|
+
].join(" "), {
|
|
210
217
|
qdrant_url: z.string().optional().describe("Qdrant REST URL — Qdrant Cloud (https://xxx.cloud.qdrant.io:6333), local Docker (http://localhost:6333), or self-hosted"),
|
|
211
218
|
qdrant_api_key: z.string().optional().describe("Qdrant API key — required for Qdrant Cloud; optional / leave blank for unauthenticated local or self-hosted instances"),
|
|
212
219
|
openai_api_key: z.string().optional().describe("OpenAI API key (for OpenAI embedding/LLM provider)"),
|
|
@@ -252,7 +259,11 @@ export function registerTools(mcp) {
|
|
|
252
259
|
return { content: [{ type: "text", text: JSON.stringify(results, null, 2) }] };
|
|
253
260
|
});
|
|
254
261
|
// ── verify_connection ───────────────────────────────────────────────────
|
|
255
|
-
mcp.tool("verify_connection",
|
|
262
|
+
mcp.tool("verify_connection", [
|
|
263
|
+
"Confirm Qdrant is reachable, embeddings work, and the collection exists.",
|
|
264
|
+
"Use this to debug a sudden 'setup_required' or empty-recall after a network blip or credential change. Lighter than configure_credentials — does not write to disk.",
|
|
265
|
+
"Read-only.",
|
|
266
|
+
].join(" "), {}, async () => {
|
|
256
267
|
const results = { qdrant: false, embedding: false, collection: false };
|
|
257
268
|
if (qdrantUrl) {
|
|
258
269
|
try {
|
|
@@ -281,39 +292,36 @@ export function registerTools(mcp) {
|
|
|
281
292
|
return { content: [{ type: "text", text: JSON.stringify(results, null, 2) }] };
|
|
282
293
|
});
|
|
283
294
|
// ── memory_store ────────────────────────────────────────────────────────
|
|
284
|
-
mcp.tool("memory_store",
|
|
285
|
-
"
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
episode_id: z.string().optional().describe("
|
|
299
|
-
workstream_key: z.string().optional().describe("
|
|
300
|
-
task_key: z.string().optional().describe("
|
|
301
|
-
repo: z.string().optional().describe("
|
|
302
|
-
branch: z.string().optional().describe("
|
|
303
|
-
review_status: z.enum(["candidate", "reviewed", "approved", "rejected"]).optional()
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
importance: z.number().min(0).max(1).optional().describe("How important (0.0-1.0). Omit to default to 0.5."),
|
|
309
|
-
supersedes: z.string().optional().describe("ID of a fact this one replaces"),
|
|
295
|
+
mcp.tool("memory_store", [
|
|
296
|
+
"Persist one atomic fact to long-term memory.",
|
|
297
|
+
"Call this whenever you learn something a future session would need: a service detail, a decision rationale, a workaround, a user preference, an ownership fact, a task-resume pointer. One fact per call — split compound observations into separate calls.",
|
|
298
|
+
"Dedup is automatic (content hash + vector similarity), so you do NOT need to recall first. The tool returns one of: inserted (new fact), reinforced (exact or near-duplicate found — counters bumped), or — if there are similar-but-different facts — a list of potential conflicts so you can decide whether to use 'supersedes'.",
|
|
299
|
+
"To create a typed edge between two entities at the same time, set the optional 'relation' field — no separate tool call needed.",
|
|
300
|
+
"Do NOT use for ephemeral state (current cursor, in-flight todo). Use the harness task folder instead.",
|
|
301
|
+
].join(" "), {
|
|
302
|
+
content: z.string().describe("The fact to store. Should be one atomic, self-contained statement (no compound 'A and B') that makes sense out of context."),
|
|
303
|
+
category: z.enum(categoryValues()).describe(categoryEnumDescription()),
|
|
304
|
+
entities: z.array(z.string()).describe("Lowercase entity names mentioned by this fact (e.g. ['qdrant', 'workspace_id']). Used for entity-scoped recall and graph traversal — keep them short and canonical."),
|
|
305
|
+
domain: z.enum(domainValues()).default(DEFAULT_DOMAIN).describe(domainEnumDescription()),
|
|
306
|
+
kind: z.enum(kindValues()).default(DEFAULT_KIND).describe(kindEnumDescription()),
|
|
307
|
+
memory_subtype: z.enum(memorySubtypeValues()).optional().describe(memorySubtypeEnumDescription()),
|
|
308
|
+
workspace_id: z.string().optional().describe("Workspace namespace for team-shared memory. Omit to use the default workspace from config."),
|
|
309
|
+
episode_id: z.string().optional().describe("Coherent activity-segment ID. Group facts captured during the same coherent task or transcript."),
|
|
310
|
+
workstream_key: z.string().optional().describe("Durable continuity key for a long-running objective (survives across sessions)."),
|
|
311
|
+
task_key: z.string().optional().describe("Task or issue key (e.g. GitHub issue number, JIRA key)."),
|
|
312
|
+
repo: z.string().optional().describe("Repository or project surface this fact relates to (e.g. 'bikky-dev/bikky')."),
|
|
313
|
+
branch: z.string().optional().describe("Branch or working surface (e.g. 'main', 'feat/x')."),
|
|
314
|
+
review_status: z.enum(["candidate", "reviewed", "approved", "rejected"]).optional().describe("Review lifecycle status. candidate=auto-extracted (daemon), reviewed=human-checked, approved=human-confirmed, rejected=incorrect. Agents normally leave this unset."),
|
|
315
|
+
source: z.enum(sourceValues()).default(DEFAULT_SOURCE).describe(sourceEnumDescription()),
|
|
316
|
+
confidence: z.number().min(0).max(1).default(0.9).describe("How certain you are this fact is correct (0.0-1.0). Default 0.9. Lower (~0.6) for inferred or unverified facts."),
|
|
317
|
+
importance: z.number().min(0).max(1).optional().describe("How important this fact is for future recall (0.0-1.0). Defaults to 0.5 if omitted. ≥0.8 surfaces in session briefings."),
|
|
318
|
+
supersedes: z.string().optional().describe("ID of an existing fact that this one replaces. The old fact is marked superseded and excluded from recall. Use this when a fact is updated; use memory_forget when a fact was simply wrong."),
|
|
310
319
|
relation: z.object({
|
|
311
|
-
from: z.string().describe("Source entity"),
|
|
312
|
-
type: z.string().describe("Relation type (owns, uses, decided, prefers, works-on
|
|
313
|
-
to: z.string().describe("Target entity"),
|
|
314
|
-
}).optional().describe("Optional typed
|
|
315
|
-
metadata: z.record(z.string(), z.string()).optional()
|
|
316
|
-
.describe("Optional key-value metadata. Stored with the fact and filterable via memory_recall."),
|
|
320
|
+
from: z.string().describe("Source entity (lowercase)."),
|
|
321
|
+
type: z.string().describe("Relation type (e.g. 'owns', 'uses', 'decided', 'prefers', 'works-on')."),
|
|
322
|
+
to: z.string().describe("Target entity (lowercase)."),
|
|
323
|
+
}).optional().describe("Optional typed edge between two entities — created in the same call. Use this whenever the fact also expresses a relationship; no separate tool call needed."),
|
|
324
|
+
metadata: z.record(z.string(), z.string()).optional().describe("Arbitrary key-value metadata. Stored with the fact and exact-match filterable via memory_recall.metadata_filter (all key/value pairs must match — AND logic)."),
|
|
317
325
|
}, async ({ content, category, entities, domain, kind, memory_subtype, workspace_id, episode_id, workstream_key, task_key, repo, branch, review_status, source, confidence, importance, supersedes, relation, metadata, }) => {
|
|
318
326
|
const guard = requireReady();
|
|
319
327
|
if (guard)
|
|
@@ -556,29 +564,34 @@ export function registerTools(mcp) {
|
|
|
556
564
|
return { content: [{ type: "text", text: JSON.stringify(result) }] };
|
|
557
565
|
});
|
|
558
566
|
// ── memory_recall ───────────────────────────────────────────────────────
|
|
559
|
-
mcp.tool("memory_recall",
|
|
560
|
-
"
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
567
|
+
mcp.tool("memory_recall", [
|
|
568
|
+
"Semantic + filtered search over memory. Returns facts ranked by relevance (vector similarity blended with recency, importance, and reinforcement).",
|
|
569
|
+
"Three main uses:",
|
|
570
|
+
" 1. Session-start briefing — broad query like 'session briefing: user preferences, active projects, recent decisions'.",
|
|
571
|
+
" 2. Per-prompt contextual recall — focused query derived from what the user just asked.",
|
|
572
|
+
" 3. Pre-store conflict check — recall similar facts before storing, so you can use 'supersedes' if the new fact replaces an older one.",
|
|
573
|
+
"Combine the natural-language query with structured filters (category, domain, entity, date range, metadata) for tighter results.",
|
|
574
|
+
"If you have a known entity name and want everything about it, prefer memory_entity. For 'what does X own/use?' style questions, prefer memory_relations.",
|
|
575
|
+
].join("\n"), {
|
|
576
|
+
query: z.string().describe("Natural-language description of what you're looking for. Embedded and matched semantically — full sentences work better than keyword lists."),
|
|
577
|
+
category: z.string().optional().describe("Filter by category (same vocabulary as memory_store.category). Optional."),
|
|
578
|
+
domain: z.string().optional().describe("Filter by domain activity profile (same vocabulary as memory_store.domain). Optional."),
|
|
579
|
+
kind: z.string().optional().describe("Filter by kind: fact, summary, distilled, relation. Optional. Telemetry is excluded by default."),
|
|
580
|
+
memory_subtype: z.string().optional().describe("Filter by memory subtype (must be valid for the chosen kind). Optional."),
|
|
581
|
+
workspace_id: z.string().optional().describe("Filter to facts in this workspace namespace. Omit to use the default workspace from config."),
|
|
582
|
+
include_legacy_workspace: z.boolean().optional().describe("Backwards-compatibility flag: also include legacy facts that have no workspace_id. Default false. Only set this if you suspect pre-migration data is missing from results."),
|
|
583
|
+
entity: z.string().optional().describe("Restrict to facts mentioning this entity (case-insensitive). For full entity context prefer memory_entity."),
|
|
584
|
+
episode_id: z.string().optional().describe("Filter by coherent episode ID."),
|
|
585
|
+
workstream_key: z.string().optional().describe("Filter by durable workstream key."),
|
|
586
|
+
task_key: z.string().optional().describe("Filter by task or issue key."),
|
|
587
|
+
repo: z.string().optional().describe("Filter by repository or project surface."),
|
|
588
|
+
branch: z.string().optional().describe("Filter by branch or working surface."),
|
|
589
|
+
review_status: z.string().optional().describe("Filter by review lifecycle status (candidate / reviewed / approved / rejected)."),
|
|
590
|
+
since: z.string().optional().describe("Only facts created on or after this ISO 8601 date or datetime."),
|
|
591
|
+
until: z.string().optional().describe("Only facts created on or before this ISO 8601 date or datetime."),
|
|
592
|
+
limit: z.number().optional().default(10).describe("Max results to return (default 10)."),
|
|
593
|
+
graph_depth: z.number().optional().default(0).describe("Entity-graph traversal depth. 0 = vector search only (fast, default). 1 = also surface 1-hop entity-related facts (slower; use when the user asks 'what's connected to X?')."),
|
|
594
|
+
metadata_filter: z.record(z.string(), z.string()).optional().describe("Exact-match filter on the metadata map stored with each fact. All key/value pairs must match (AND logic)."),
|
|
582
595
|
}, async ({ query, category, domain, kind, memory_subtype, workspace_id, include_legacy_workspace, entity, episode_id, workstream_key, task_key, repo, branch, review_status, since, until, limit, graph_depth, metadata_filter, }) => {
|
|
583
596
|
const guard = requireReady();
|
|
584
597
|
if (guard)
|
|
@@ -641,12 +654,15 @@ export function registerTools(mcp) {
|
|
|
641
654
|
return { content: [{ type: "text", text: lines.join("\n") }] };
|
|
642
655
|
});
|
|
643
656
|
// ── memory_entity ───────────────────────────────────────────────────────
|
|
644
|
-
mcp.tool("memory_entity",
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
|
|
648
|
-
|
|
649
|
-
|
|
657
|
+
mcp.tool("memory_entity", [
|
|
658
|
+
"Get everything bikky knows about a specific entity — facts mentioning it plus typed relations into and out of it.",
|
|
659
|
+
"Prefer this over memory_recall when the user asks 'tell me about X' or 'what do we know about X' and X is a known entity name (service, person, repo, concept). Faster and more complete than semantic search for entity-centric queries.",
|
|
660
|
+
"If you only have a fuzzy description, use memory_recall first to find the entity name.",
|
|
661
|
+
].join(" "), {
|
|
662
|
+
name: z.string().describe("Entity name (case-insensitive, e.g. 'qdrant', 'workspace_id'). Should match the lowercase canonical form used when facts were stored."),
|
|
663
|
+
limit: z.number().optional().default(20).describe("Max facts to return (default 20). Relations are always returned in full, capped at 50 each direction."),
|
|
664
|
+
workspace_id: z.string().optional().describe("Workspace namespace. Omit to use the default from config."),
|
|
665
|
+
include_legacy_workspace: z.boolean().optional().describe("Backwards-compatibility: also include legacy facts with no workspace_id. Default false."),
|
|
650
666
|
}, async ({ name, limit, workspace_id, include_legacy_workspace }) => {
|
|
651
667
|
const guard = requireReady();
|
|
652
668
|
if (guard)
|
|
@@ -696,14 +712,16 @@ export function registerTools(mcp) {
|
|
|
696
712
|
return { content: [{ type: "text", text: output.join("\n") }] };
|
|
697
713
|
});
|
|
698
714
|
// ── memory_relations ────────────────────────────────────────────────────
|
|
699
|
-
mcp.tool("memory_relations",
|
|
700
|
-
|
|
701
|
-
|
|
702
|
-
|
|
703
|
-
|
|
704
|
-
|
|
705
|
-
|
|
706
|
-
|
|
715
|
+
mcp.tool("memory_relations", [
|
|
716
|
+
"Query typed edges between entities. Returns 'A --[type]--> B' triples that semantic search alone wouldn't surface.",
|
|
717
|
+
"Use for 'what does X own / use / depend on?' and 'who owns Y?' style questions. Optionally filter by direction (from / to / both) and relation type.",
|
|
718
|
+
"To create relations, use memory_store with the 'relation' field — there is no separate create-relation tool.",
|
|
719
|
+
].join(" "), {
|
|
720
|
+
entity: z.string().describe("Entity name to query (case-insensitive)."),
|
|
721
|
+
relation_type: z.string().optional().describe("Filter to a specific edge label (e.g. 'owns', 'uses', 'decided', 'prefers', 'works-on'). Optional."),
|
|
722
|
+
direction: z.enum(["from", "to", "both"]).optional().default("both").describe("Which side of the edge the entity is on. 'from' = entity is the source (X --[?]--> ?). 'to' = entity is the target (? --[?]--> X). 'both' = either (default)."),
|
|
723
|
+
workspace_id: z.string().optional().describe("Workspace namespace. Omit to use the default from config."),
|
|
724
|
+
include_legacy_workspace: z.boolean().optional().describe("Backwards-compatibility: also include legacy facts with no workspace_id. Default false."),
|
|
707
725
|
}, async ({ entity, relation_type, direction, workspace_id, include_legacy_workspace }) => {
|
|
708
726
|
const guard = requireReady();
|
|
709
727
|
if (guard)
|
|
@@ -746,10 +764,13 @@ export function registerTools(mcp) {
|
|
|
746
764
|
return { content: [{ type: "text", text: lines.join("\n") }] };
|
|
747
765
|
});
|
|
748
766
|
// ── memory_forget ───────────────────────────────────────────────────────
|
|
749
|
-
mcp.tool("memory_forget",
|
|
750
|
-
|
|
751
|
-
|
|
752
|
-
|
|
767
|
+
mcp.tool("memory_forget", [
|
|
768
|
+
"Mark a fact as superseded/wrong. The fact stays in storage (for audit) but is excluded from all recall results.",
|
|
769
|
+
"Use this when a fact was simply incorrect or no longer applies and there is no replacement. If you have a corrected version, use memory_store with 'supersedes: <fact_id>' instead — that way the new fact stays linked to the old one.",
|
|
770
|
+
].join(" "), {
|
|
771
|
+
fact_id: z.string().describe("ID of the fact to forget (returned by memory_store / memory_recall as 'id')."),
|
|
772
|
+
reason: z.string().describe("Short human-readable reason this fact is being retired (stored in 'superseded_by' for future audit)."),
|
|
773
|
+
workspace_id: z.string().optional().describe("Workspace namespace. Omit to use the default from config."),
|
|
753
774
|
}, async ({ fact_id, reason, workspace_id }) => {
|
|
754
775
|
const guard = requireReady();
|
|
755
776
|
if (guard)
|
|
@@ -779,9 +800,13 @@ export function registerTools(mcp) {
|
|
|
779
800
|
}
|
|
780
801
|
});
|
|
781
802
|
// ── memory_verify ───────────────────────────────────────────────────────
|
|
782
|
-
mcp.tool("memory_verify",
|
|
783
|
-
|
|
784
|
-
|
|
803
|
+
mcp.tool("memory_verify", [
|
|
804
|
+
"Confirm an existing fact is still accurate, without re-storing it. Resets the staleness clock and bumps a verification counter.",
|
|
805
|
+
"Use this when memory_heartbeat surfaces a stale fact ID and you can confirm it's still true (e.g. you just observed the system in that state). Lighter than memory_store(supersedes:) — same content, fresh timestamp.",
|
|
806
|
+
"If the fact is no longer true, use memory_forget or memory_store(supersedes:) instead.",
|
|
807
|
+
].join(" "), {
|
|
808
|
+
fact_id: z.string().describe("ID of the fact to verify (from memory_recall or memory_heartbeat)."),
|
|
809
|
+
workspace_id: z.string().optional().describe("Workspace namespace. Omit to use the default from config."),
|
|
785
810
|
}, async ({ fact_id, workspace_id }) => {
|
|
786
811
|
const guard = requireReady();
|
|
787
812
|
if (guard)
|
|
@@ -819,16 +844,17 @@ export function registerTools(mcp) {
|
|
|
819
844
|
}
|
|
820
845
|
});
|
|
821
846
|
// ── memory_review ───────────────────────────────────────────────────────
|
|
822
|
-
mcp.tool("memory_review",
|
|
823
|
-
|
|
824
|
-
|
|
825
|
-
|
|
826
|
-
|
|
827
|
-
|
|
828
|
-
|
|
829
|
-
|
|
830
|
-
|
|
831
|
-
|
|
847
|
+
mcp.tool("memory_review", [
|
|
848
|
+
"Triage facts that were extracted automatically by the bikky daemon (source='daemon').",
|
|
849
|
+
"Only useful when the daemon is running and capturing memories from logs/transcripts; otherwise this returns an empty list. Supports four actions: list (default — show recent daemon facts), approve (mark verified), reject (mark superseded with reason), correct (replace with edited content as a new fact).",
|
|
850
|
+
].join(" "), {
|
|
851
|
+
limit: z.number().optional().default(10).describe("Max facts to return when action=list (default 10)."),
|
|
852
|
+
action: z.enum(["list", "approve", "reject", "correct"]).optional().default("list").describe("What to do. list = show recent daemon-extracted facts (default). approve = confirm a fact is correct (bumps verification count). reject = mark a fact as wrong (requires 'reason'). correct = supersede with an edited version (requires 'corrected_content')."),
|
|
853
|
+
fact_id: z.string().optional().describe("Fact ID to act on. Required for approve / reject / correct."),
|
|
854
|
+
reason: z.string().optional().describe("Required for action=reject. Short reason the fact is wrong."),
|
|
855
|
+
corrected_content: z.string().optional().describe("Required for action=correct. The fixed fact text. Stored as a new fact that supersedes the original."),
|
|
856
|
+
workspace_id: z.string().optional().describe("Workspace namespace. Omit to use the default from config."),
|
|
857
|
+
include_legacy_workspace: z.boolean().optional().describe("Backwards-compatibility: also include legacy facts with no workspace_id. Default false."),
|
|
832
858
|
}, async ({ limit, action, fact_id, reason, corrected_content, workspace_id, include_legacy_workspace }) => {
|
|
833
859
|
const guard = requireReady();
|
|
834
860
|
if (guard)
|
|
@@ -947,7 +973,10 @@ export function registerTools(mcp) {
|
|
|
947
973
|
return { content: [{ type: "text", text: `Unknown action: ${String(action)}` }] };
|
|
948
974
|
});
|
|
949
975
|
// ── memory_heartbeat ────────────────────────────────────────────────────
|
|
950
|
-
mcp.tool("memory_heartbeat",
|
|
976
|
+
mcp.tool("memory_heartbeat", [
|
|
977
|
+
"Reflection check-in. Returns up to three things: a memory nudge if you haven't stored anything in 10+ minutes, stale-fact alerts every 3rd call (with IDs you can pass to memory_verify or memory_forget), and a reflection prompt asking whether the last few minutes of work produced anything worth storing.",
|
|
978
|
+
"Call periodically during interactive sessions — roughly every 10 minutes or every 3rd user prompt. No arguments. Cheap and read-only.",
|
|
979
|
+
].join(" "), {}, async () => {
|
|
951
980
|
heartbeatCount++;
|
|
952
981
|
const sections = [];
|
|
953
982
|
const nudge = buildMemoryNudge();
|