@mneme-ai/matrix 2.187.0 → 2.188.0

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/client.d.ts CHANGED
@@ -31,6 +31,30 @@ export declare function verifyReply(reply: ToolReply): {
31
31
  verified: boolean;
32
32
  reason: string;
33
33
  };
34
+ export interface ToolInfoWire {
35
+ name: string;
36
+ category: string;
37
+ description: string;
38
+ input_schema_json: string;
39
+ }
40
+ export interface ToolHitWire {
41
+ name: string;
42
+ category: string;
43
+ description: string;
44
+ score: number;
45
+ why: string;
46
+ }
47
+ /** ListTools — self-describing discovery: the full tool surface + each JSON Schema. */
48
+ export declare function listTools(client: MatrixClient, query?: string, limit?: number): Promise<{
49
+ tools: ToolInfoWire[];
50
+ total: number;
51
+ returned: number;
52
+ }>;
53
+ /** Search — intent → ranked tool hits (the autonomous-discovery path). */
54
+ export declare function search(client: MatrixClient, intent: string, limit?: number): Promise<{
55
+ hits: ToolHitWire[];
56
+ considered: number;
57
+ }>;
34
58
  /** Unary Invoke — the typed door to any tool. */
35
59
  export declare function invoke(client: MatrixClient, tool: string, argsJson?: string, heldRoot?: string): Promise<ToolReply>;
36
60
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,IAAI,MAAM,eAAe,CAAC;AAItC,OAAO,EAAE,MAAM,EAAa,MAAM,gBAAgB,CAAC;AAYnD,MAAM,WAAW,YAAY;IAAG,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,IAAI,CAAA;CAAE;AACpE,MAAM,WAAW,SAAS;IAAG,EAAE,EAAE,OAAO,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE;AAEhH,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,CAOlD;AAED,wBAAgB,MAAM,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC;IAAE,EAAE,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,OAAO,CAAA;CAAE,CAAC,CAGvI;AAED;;;wFAGwF;AACxF,wBAAgB,WAAW,CAAC,KAAK,EAAE,SAAS,GAAG;IAAE,QAAQ,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAQnF;AAED,iDAAiD;AACjD,wBAAgB,MAAM,CAAC,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,SAAO,EAAE,QAAQ,SAAK,GAAG,OAAO,CAAC,SAAS,CAAC,CAG7G;AAMD;;;GAGG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,SAAO,EAAE,QAAQ,SAAK,GAAG,OAAO,CAAC,SAAS,CAAC,CAkBjH;AAED,MAAM,WAAW,YAAY;IAAG,EAAE,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE;AAEpH;yFACyF;AACzF,wBAAgB,aAAa,CAAC,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,QAAQ,EAAE,EAAE,SAAS,SAAO,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAYnI"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,IAAI,MAAM,eAAe,CAAC;AAItC,OAAO,EAAE,MAAM,EAAa,MAAM,gBAAgB,CAAC;AAYnD,MAAM,WAAW,YAAY;IAAG,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,IAAI,CAAA;CAAE;AACpE,MAAM,WAAW,SAAS;IAAG,EAAE,EAAE,OAAO,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE;AAEhH,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,CAOlD;AAED,wBAAgB,MAAM,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC;IAAE,EAAE,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,OAAO,CAAA;CAAE,CAAC,CAGvI;AAED;;;wFAGwF;AACxF,wBAAgB,WAAW,CAAC,KAAK,EAAE,SAAS,GAAG;IAAE,QAAQ,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAQnF;AAED,MAAM,WAAW,YAAY;IAAG,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,iBAAiB,EAAE,MAAM,CAAA;CAAE;AAChH,MAAM,WAAW,WAAW;IAAG,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE;AAEhH,uFAAuF;AACvF,wBAAgB,SAAS,CAAC,MAAM,EAAE,YAAY,EAAE,KAAK,SAAK,EAAE,KAAK,SAAI,GAAG,OAAO,CAAC;IAAE,KAAK,EAAE,YAAY,EAAE,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,CAG1I;AAED,0EAA0E;AAC1E,wBAAgB,MAAM,CAAC,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,SAAI,GAAG,OAAO,CAAC;IAAE,IAAI,EAAE,WAAW,EAAE,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAAC,CAG5H;AAED,iDAAiD;AACjD,wBAAgB,MAAM,CAAC,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,SAAO,EAAE,QAAQ,SAAK,GAAG,OAAO,CAAC,SAAS,CAAC,CAG7G;AAMD;;;GAGG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,SAAO,EAAE,QAAQ,SAAK,GAAG,OAAO,CAAC,SAAS,CAAC,CAkBjH;AAED,MAAM,WAAW,YAAY;IAAG,EAAE,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE;AAEpH;yFACyF;AACzF,wBAAgB,aAAa,CAAC,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,QAAQ,EAAE,EAAE,SAAS,SAAO,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAYnI"}
package/dist/client.js CHANGED
@@ -44,6 +44,16 @@ export function verifyReply(reply) {
44
44
  return { verified: false, reason: e.message };
45
45
  }
46
46
  }
47
+ /** ListTools — self-describing discovery: the full tool surface + each JSON Schema. */
48
+ export function listTools(client, query = "", limit = 0) {
49
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
50
+ return new Promise((resolve, reject) => client._c.ListTools({ query, limit }, (e, r) => (e ? reject(e) : resolve(r))));
51
+ }
52
+ /** Search — intent → ranked tool hits (the autonomous-discovery path). */
53
+ export function search(client, intent, limit = 8) {
54
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
55
+ return new Promise((resolve, reject) => client._c.Search({ intent, limit }, (e, r) => (e ? reject(e) : resolve(r))));
56
+ }
47
57
  /** Unary Invoke — the typed door to any tool. */
48
58
  export function invoke(client, tool, argsJson = "{}", heldRoot = "") {
49
59
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"gauntlet.d.ts","sourceRoot":"","sources":["../src/gauntlet.ts"],"names":[],"mappings":"AAeA,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,iBAAiB,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;IACtH,MAAM,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAChE;AAED,wBAAsB,YAAY,IAAI,OAAO,CAAC,YAAY,CAAC,CA4C1D"}
1
+ {"version":3,"file":"gauntlet.d.ts","sourceRoot":"","sources":["../src/gauntlet.ts"],"names":[],"mappings":"AAeA,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,iBAAiB,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;IACtH,MAAM,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAChE;AAED,wBAAsB,YAAY,IAAI,OAAO,CAAC,YAAY,CAAC,CAsD1D"}
package/dist/gauntlet.js CHANGED
@@ -4,7 +4,7 @@
4
4
  * Honest numbers, not adjectives.
5
5
  */
6
6
  import { createMatrixServer } from "./server.js";
7
- import { connect, health, invoke, pipeInvoke } from "./client.js";
7
+ import { connect, health, invoke, pipeInvoke, listTools, search } from "./client.js";
8
8
  import { createHash } from "node:crypto";
9
9
  function entropy(n, seed = 1) {
10
10
  const out = new Uint8Array(n);
@@ -50,6 +50,14 @@ export async function grpcGauntlet() {
50
50
  const bad = await invoke(client, "no.such.tool");
51
51
  const stillUp = await health(client);
52
52
  checks.push({ name: "unknown tool fails cleanly, server stays up", pass: bad.ok === false && stillUp.ok === true, detail: bad.error.slice(0, 40) });
53
+ // 6) SELF-DESCRIBING — ListTools returns the surface + JSON schemas over the wire
54
+ const lt = await listTools(client, "", 5);
55
+ const schemaOk = lt.tools.length > 0 && lt.tools.every((t) => typeof t.name === "string" && t.name.length > 0 && typeof t.input_schema_json === "string");
56
+ checks.push({ name: "ListTools is self-describing (names + JSON schema)", pass: lt.total > 0 && schemaOk, detail: `${lt.total} tools advertised; sample schema len ${lt.tools[0]?.input_schema_json?.length ?? 0}` });
57
+ // 7) AUTONOMOUS DISCOVERY — Search maps a plain intent → a ranked, relevant tool
58
+ const sr = await search(client, "verify a claim is actually true", 5);
59
+ const found = sr.hits.length > 0 && /truth|verify|retire|savant|check/i.test(sr.hits[0]?.name ?? "");
60
+ checks.push({ name: "Search maps intent → the right tool (no LLM)", pass: found, detail: sr.hits.length ? `#1 ${sr.hits[0].name} (${sr.hits[0].why})` : "no hits" });
53
61
  const pass = checks.every((c) => c.pass);
54
62
  return { score: pass ? 100 : 0, metrics, checks };
55
63
  }
@@ -1 +1 @@
1
- {"version":3,"file":"gauntlet.js","sourceRoot":"","sources":["../src/gauntlet.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gauntlet.js","sourceRoot":"","sources":["../src/gauntlet.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -4,6 +4,7 @@
4
4
  * every Mneme function. Wraps @mneme-ai/core's pipe core. See docs/MATRIX.md.
5
5
  */
6
6
  export { createMatrixServer, buildImpl, type ServeOptions, type RunningServer } from "./server.js";
7
- export { connect, health, invoke, pipeInvoke, type MatrixClient, type ToolReply } from "./client.js";
7
+ export { connect, health, invoke, pipeInvoke, listTools, search, verifyReply, contextStream, type MatrixClient, type ToolReply, type ToolInfoWire, type ToolHitWire } from "./client.js";
8
8
  export { grpcGauntlet, type GrpcGauntlet } from "./gauntlet.js";
9
+ export { buildSearchIndex, searchTools, searchGauntlet, type SearchHit, type SearchIndex, type SearchGauntlet, type ToolLike } from "./search.js";
9
10
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,kBAAkB,EAAE,SAAS,EAAE,KAAK,YAAY,EAAE,KAAK,aAAa,EAAE,MAAM,aAAa,CAAC;AACnG,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,YAAY,EAAE,KAAK,SAAS,EAAE,MAAM,aAAa,CAAC;AACrG,OAAO,EAAE,YAAY,EAAE,KAAK,YAAY,EAAE,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,kBAAkB,EAAE,SAAS,EAAE,KAAK,YAAY,EAAE,KAAK,aAAa,EAAE,MAAM,aAAa,CAAC;AACnG,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,aAAa,EAAE,KAAK,YAAY,EAAE,KAAK,SAAS,EAAE,KAAK,YAAY,EAAE,KAAK,WAAW,EAAE,MAAM,aAAa,CAAC;AACzL,OAAO,EAAE,YAAY,EAAE,KAAK,YAAY,EAAE,MAAM,eAAe,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,cAAc,EAAE,KAAK,SAAS,EAAE,KAAK,WAAW,EAAE,KAAK,cAAc,EAAE,KAAK,QAAQ,EAAE,MAAM,aAAa,CAAC"}
package/dist/index.js CHANGED
@@ -4,6 +4,7 @@
4
4
  * every Mneme function. Wraps @mneme-ai/core's pipe core. See docs/MATRIX.md.
5
5
  */
6
6
  export { createMatrixServer, buildImpl } from "./server.js";
7
- export { connect, health, invoke, pipeInvoke } from "./client.js";
7
+ export { connect, health, invoke, pipeInvoke, listTools, search, verifyReply, contextStream } from "./client.js";
8
8
  export { grpcGauntlet } from "./gauntlet.js";
9
+ export { buildSearchIndex, searchTools, searchGauntlet } from "./search.js";
9
10
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,kBAAkB,EAAE,SAAS,EAAyC,MAAM,aAAa,CAAC;AACnG,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAqC,MAAM,aAAa,CAAC;AACrG,OAAO,EAAE,YAAY,EAAqB,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,kBAAkB,EAAE,SAAS,EAAyC,MAAM,aAAa,CAAC;AACnG,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,aAAa,EAA0E,MAAM,aAAa,CAAC;AACzL,OAAO,EAAE,YAAY,EAAqB,MAAM,eAAe,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,cAAc,EAAwE,MAAM,aAAa,CAAC"}
@@ -0,0 +1,69 @@
1
+ /**
2
+ * THE WISDOM SEARCH INDEX — autonomous tool discovery by INTENT.
3
+ *
4
+ * An AI agent connecting over gRPC rarely knows the 1000+ tool names. It knows what
5
+ * the user WANTS, in plain language. This index turns an intent → the right tool(s),
6
+ * deterministically, with NO LLM:
7
+ *
8
+ * • SUPER SEARCH (retrieval) — a BM25-lite ranker over each tool's name · category
9
+ * · description, so any phrasing finds the relevant tools.
10
+ * • WISDOM (the boost) — every tool ships hand-authored `triggers` ("when to use
11
+ * me" phrases). A trigger that matches the intent is CURATED knowledge, not a
12
+ * lexical coincidence, so it dominates the score. An optional pheromone map
13
+ * (proven real-world usage) multiplies on top — the more a tool has actually
14
+ * helped, the higher it ranks. Absent data ⇒ neutral (never fabricated).
15
+ *
16
+ * Pure + deterministic + total. Measured, not claimed: `searchGauntlet` feeds every
17
+ * tool its OWN trigger phrases back and reports top-1 / top-3 accuracy.
18
+ */
19
+ export interface ToolLike {
20
+ name: string;
21
+ category?: string;
22
+ description?: string;
23
+ triggers?: string[];
24
+ }
25
+ export interface SearchHit {
26
+ name: string;
27
+ category: string;
28
+ description: string;
29
+ score: number;
30
+ why: string;
31
+ }
32
+ export interface SearchIndex {
33
+ tools: Array<{
34
+ name: string;
35
+ category: string;
36
+ description: string;
37
+ triggers: string[];
38
+ tf: Map<string, number>;
39
+ trigSet: string[];
40
+ }>;
41
+ idf: Map<string, number>;
42
+ }
43
+ /** Build the index once from the tool registry. Deterministic. */
44
+ export declare function buildSearchIndex(tools: ToolLike[]): SearchIndex;
45
+ /**
46
+ * Search the index by free-text intent. `wisdom` is an optional proven-usage map
47
+ * (tool name → pheromone/usage count); present ⇒ a gentle multiplicative boost.
48
+ */
49
+ export declare function searchTools(index: SearchIndex, intent: string, limit?: number, wisdom?: Map<string, number>): SearchHit[];
50
+ export interface SearchGauntlet {
51
+ score: number;
52
+ checks: Array<{
53
+ name: string;
54
+ pass: boolean;
55
+ detail: string;
56
+ }>;
57
+ metrics: {
58
+ tools: number;
59
+ trials: number;
60
+ top1: number;
61
+ top3: number;
62
+ };
63
+ }
64
+ /**
65
+ * Feed every tool its OWN trigger phrases back as a query and measure how often the
66
+ * owning tool is ranked #1 / top-3. A real, reproducible retrieval-quality number.
67
+ */
68
+ export declare function searchGauntlet(tools: ToolLike[]): SearchGauntlet;
69
+ //# sourceMappingURL=search.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../src/search.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,MAAM,WAAW,QAAQ;IAAG,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE;AACxG,MAAM,WAAW,SAAS;IAAG,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE;AAC9G,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,EAAE,CAAC;QAAC,EAAE,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAAC,OAAO,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAAC;IACtI,GAAG,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC1B;AAMD,kEAAkE;AAClE,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,WAAW,CAiB/D;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,SAAI,EAAE,MAAM,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,EAAE,CA+BpH;AAGD,MAAM,WAAW,cAAc;IAAG,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAAC,OAAO,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE;AAEzL;;;GAGG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,cAAc,CAwBhE"}
package/dist/search.js ADDED
@@ -0,0 +1,144 @@
1
+ /**
2
+ * THE WISDOM SEARCH INDEX — autonomous tool discovery by INTENT.
3
+ *
4
+ * An AI agent connecting over gRPC rarely knows the 1000+ tool names. It knows what
5
+ * the user WANTS, in plain language. This index turns an intent → the right tool(s),
6
+ * deterministically, with NO LLM:
7
+ *
8
+ * • SUPER SEARCH (retrieval) — a BM25-lite ranker over each tool's name · category
9
+ * · description, so any phrasing finds the relevant tools.
10
+ * • WISDOM (the boost) — every tool ships hand-authored `triggers` ("when to use
11
+ * me" phrases). A trigger that matches the intent is CURATED knowledge, not a
12
+ * lexical coincidence, so it dominates the score. An optional pheromone map
13
+ * (proven real-world usage) multiplies on top — the more a tool has actually
14
+ * helped, the higher it ranks. Absent data ⇒ neutral (never fabricated).
15
+ *
16
+ * Pure + deterministic + total. Measured, not claimed: `searchGauntlet` feeds every
17
+ * tool its OWN trigger phrases back and reports top-1 / top-3 accuracy.
18
+ */
19
+ const STOP = new Set("the a an of to in on for is are be do does how what when which i you it me my this that with your from can could should would will get set use using run".split(/\s+/));
20
+ const tokenize = (s) => String(s || "").toLowerCase().replace(/[._/-]+/g, " ").split(/[^a-z0-9]+/).filter((w) => w.length > 1 && w !== "mneme" && !STOP.has(w));
21
+ /** Build the index once from the tool registry. Deterministic. */
22
+ export function buildSearchIndex(tools) {
23
+ const docs = tools.filter((t) => t && t.name).map((t) => {
24
+ const name = String(t.name), category = String(t.category ?? ""), description = String(t.description ?? "");
25
+ const triggers = (Array.isArray(t.triggers) ? t.triggers : []).map(String);
26
+ // term-frequency document: name ×3 + category ×2 + triggers ×3 + description ×1
27
+ const tf = new Map();
28
+ const add = (text, w) => { for (const tok of tokenize(text))
29
+ tf.set(tok, (tf.get(tok) ?? 0) + w); };
30
+ add(name, 3);
31
+ add(category, 2);
32
+ add(description, 1);
33
+ for (const tr of triggers)
34
+ add(tr, 3);
35
+ return { name, category, description, triggers, tf, trigSet: triggers.map((x) => x.toLowerCase().trim()).filter(Boolean) };
36
+ });
37
+ const N = Math.max(1, docs.length);
38
+ const df = new Map();
39
+ for (const d of docs)
40
+ for (const tok of d.tf.keys())
41
+ df.set(tok, (df.get(tok) ?? 0) + 1);
42
+ const idf = new Map();
43
+ for (const [tok, n] of df)
44
+ idf.set(tok, Math.log(1 + (N - n + 0.5) / (n + 0.5))); // BM25-style idf
45
+ return { tools: docs, idf };
46
+ }
47
+ /**
48
+ * Search the index by free-text intent. `wisdom` is an optional proven-usage map
49
+ * (tool name → pheromone/usage count); present ⇒ a gentle multiplicative boost.
50
+ */
51
+ export function searchTools(index, intent, limit = 8, wisdom) {
52
+ const q = String(intent || "");
53
+ const qLower = q.toLowerCase().trim();
54
+ const qTokens = tokenize(q);
55
+ if (!qTokens.length && !qLower)
56
+ return [];
57
+ const qSet = new Set(qTokens);
58
+ const maxPhe = wisdom && wisdom.size ? Math.max(1, ...wisdom.values()) : 1;
59
+ const hits = index.tools.map((d) => {
60
+ // BM25-lite: Σ idf(term) · tf, length-normalised
61
+ const len = Math.max(1, [...d.tf.values()].reduce((s, x) => s + x, 0));
62
+ let base = 0, overlap = 0;
63
+ for (const tok of qSet) {
64
+ const tf = d.tf.get(tok);
65
+ if (tf) {
66
+ base += (index.idf.get(tok) ?? 0) * (tf / (tf + 1.5 * (len / 30)));
67
+ overlap++;
68
+ }
69
+ }
70
+ // WISDOM boost — a curated trigger phrase that matches the intent is intent, not coincidence
71
+ let why = overlap ? `matches ${overlap} term(s)` : "";
72
+ let trigBoost = 0;
73
+ for (const tr of d.trigSet) {
74
+ if (!tr)
75
+ continue;
76
+ if (qLower === tr) {
77
+ trigBoost = Math.max(trigBoost, 6);
78
+ why = `exact trigger “${tr}”`;
79
+ }
80
+ else if (qLower.includes(tr) || tr.includes(qLower)) {
81
+ trigBoost = Math.max(trigBoost, 3.5);
82
+ why = `trigger “${tr}”`;
83
+ }
84
+ else {
85
+ const trTok = new Set(tokenize(tr));
86
+ let inter = 0;
87
+ for (const t of trTok)
88
+ if (qSet.has(t))
89
+ inter++;
90
+ if (trTok.size && inter / trTok.size >= 0.6) {
91
+ trigBoost = Math.max(trigBoost, 2);
92
+ if (!overlap)
93
+ why = `trigger “${tr}”`;
94
+ }
95
+ }
96
+ }
97
+ // name substring (e.g. intent contains "outline" → mneme.outline.*)
98
+ let nameBoost = 0;
99
+ for (const tok of qSet)
100
+ if (d.name.toLowerCase().includes(tok))
101
+ nameBoost += 0.8;
102
+ let score = base + trigBoost + nameBoost;
103
+ if (wisdom && score > 0) {
104
+ const phe = wisdom.get(d.name) ?? 0;
105
+ score *= 1 + 0.5 * (Math.log1p(phe) / Math.log1p(maxPhe));
106
+ }
107
+ return { name: d.name, category: d.category, description: d.description, score, why: why || "weak match" };
108
+ }).filter((h) => h.score > 0);
109
+ hits.sort((a, b) => (b.score - a.score) || a.name.localeCompare(b.name));
110
+ return hits.slice(0, Math.max(1, limit)).map((h) => ({ ...h, score: Math.round(h.score * 1000) / 1000 }));
111
+ }
112
+ /**
113
+ * Feed every tool its OWN trigger phrases back as a query and measure how often the
114
+ * owning tool is ranked #1 / top-3. A real, reproducible retrieval-quality number.
115
+ */
116
+ export function searchGauntlet(tools) {
117
+ const index = buildSearchIndex(tools);
118
+ let trials = 0, top1 = 0, top3 = 0;
119
+ for (const t of index.tools) {
120
+ for (const tr of t.triggers.slice(0, 3)) {
121
+ if (!tr.trim())
122
+ continue;
123
+ trials++;
124
+ const hits = searchTools(index, tr, 3);
125
+ if (hits[0]?.name === t.name)
126
+ top1++;
127
+ if (hits.some((h) => h.name === t.name))
128
+ top3++;
129
+ }
130
+ }
131
+ const top1Pct = trials ? top1 / trials : 0, top3Pct = trials ? top3 / trials : 0;
132
+ // determinism + a non-empty result on a plain intent + a sane accuracy floor
133
+ const det = JSON.stringify(searchTools(index, "verify a claim is true", 5)) === JSON.stringify(searchTools(index, "verify a claim is true", 5));
134
+ const nonEmpty = searchTools(index, "verify a claim", 5).length > 0;
135
+ const checks = [
136
+ { name: "TOP1-OWN-TRIGGER", pass: top1Pct >= 0.85, detail: `a tool is #1 for its own trigger ${(top1Pct * 100).toFixed(1)}% of the time (${top1}/${trials})` },
137
+ { name: "TOP3-OWN-TRIGGER", pass: top3Pct >= 0.95, detail: `a tool is in top-3 for its own trigger ${(top3Pct * 100).toFixed(1)}% (${top3}/${trials})` },
138
+ { name: "NON-EMPTY", pass: nonEmpty, detail: "a plain-language intent returns at least one tool" },
139
+ { name: "DETERMINISTIC", pass: det, detail: "same intent → byte-identical ranking" },
140
+ ];
141
+ const passed = checks.filter((c) => c.pass).length;
142
+ return { score: Math.round((passed / checks.length) * 100), checks, metrics: { tools: index.tools.length, trials, top1, top3 } };
143
+ }
144
+ //# sourceMappingURL=search.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search.js","sourceRoot":"","sources":["../src/search.ts"],"names":[],"mappings":"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"}
package/dist/server.d.ts CHANGED
@@ -36,6 +36,8 @@ export interface RunningServer {
36
36
  export declare function buildImpl(cwd: string, touch?: () => void): {
37
37
  Invoke: (call: any, cb: any) => void;
38
38
  Health: (_call: any, cb: any) => void;
39
+ ListTools: (call: any, cb: any) => void;
40
+ Search: (call: any, cb: any) => void;
39
41
  ContextStream: (call: any) => void;
40
42
  Pipe: (call: any) => void;
41
43
  };
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,OAAO,KAAK,IAAI,MAAM,eAAe,CAAC;AAStC,yFAAyF;AACzF,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAA+C;AAcjG,MAAM,WAAW,YAAY;IAC3B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3B;AAOD;gFACgF;AAChF,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,GAAE,MAAM,IAAe;mBAuChD,GAAG,MAAM,GAAG;oBAOX,GAAG,MAAM,GAAG;0BAKN,GAAG;iBAoBZ,GAAG;EAsBnB;AAED,8EAA8E;AAC9E,wBAAgB,kBAAkB,CAAC,IAAI,GAAE,YAAiB,GAAG,OAAO,CAAC,aAAa,CAAC,CAyClF"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,OAAO,KAAK,IAAI,MAAM,eAAe,CAAC;AAUtC,yFAAyF;AACzF,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAA+C;AAcjG,MAAM,WAAW,YAAY;IAC3B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3B;AAOD;gFACgF;AAChF,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,GAAE,MAAM,IAAe;mBA4ChD,GAAG,MAAM,GAAG;oBAOX,GAAG,MAAM,GAAG;sBAIV,GAAG,MAAM,GAAG;mBAuBf,GAAG,MAAM,GAAG;0BAaL,GAAG;iBAoBZ,GAAG;EAsBnB;AAED,8EAA8E;AAC9E,wBAAgB,kBAAkB,CAAC,IAAI,GAAE,YAAiB,GAAG,OAAO,CAAC,aAAa,CAAC,CAyClF"}
package/dist/server.js CHANGED
@@ -22,6 +22,7 @@ import { fileURLToPath } from "node:url";
22
22
  import { dirname, join } from "node:path";
23
23
  import { trustless, matrix } from "@mneme-ai/core";
24
24
  import { buildRuntime, buildToolMap } from "@mneme-ai/mcp";
25
+ import { buildSearchIndex, searchTools } from "./search.js";
25
26
  import { createRequire } from "node:module";
26
27
  import { writeFileSync, rmSync, mkdirSync, existsSync } from "node:fs";
27
28
  /** The discovery file any agent reads to find the running rail (zero-command wiring). */
@@ -47,6 +48,11 @@ const fromWire = (w) => ({ id: String(w.id), seq: Number(w.seq), total: Number(w
47
48
  * `touch` is called on every request so the server can self-reap when idle. */
48
49
  export function buildImpl(cwd, touch = () => { }) {
49
50
  const toolMap = buildToolMap();
51
+ // the WISDOM SEARCH INDEX — built once (lazily) from the tool registry's curated
52
+ // triggers + descriptions, so an agent can find a tool by intent over gRPC.
53
+ let searchIndex = null;
54
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
55
+ const getIndex = () => (searchIndex ??= buildSearchIndex([...toolMap.values()]));
50
56
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
51
57
  let runtime = null;
52
58
  let runtimeErr = "";
@@ -108,6 +114,54 @@ export function buildImpl(cwd, touch = () => { }) {
108
114
  // unary
109
115
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
110
116
  Health: (_call, cb) => { touch(); cb(null, { ok: true, version: version(), tools: toolMap.size, note: "Matrix Rail — 127.0.0.1, proof-carrying, chunked pipe, delta channel", trustless: true }); },
117
+ // SELF-DESCRIBING DISCOVERY — return the full tool surface + each tool's JSON
118
+ // Schema so a gRPC client (any language) can use everything WITHOUT prior knowledge.
119
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
120
+ ListTools: (call, cb) => {
121
+ touch();
122
+ try {
123
+ const r = call.request ?? {};
124
+ const q = String(r.query ?? "").trim().toLowerCase();
125
+ const limit = Number(r.limit ?? 0) || 0;
126
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
127
+ let all = [...toolMap.values()].map((t) => ({
128
+ name: String(t.name ?? ""),
129
+ category: String(t.category ?? ""),
130
+ description: String(t.description ?? ""),
131
+ input_schema_json: (() => { try {
132
+ return JSON.stringify(t.inputSchema ?? {});
133
+ }
134
+ catch {
135
+ return "{}";
136
+ } })(),
137
+ })).filter((t) => t.name);
138
+ all.sort((a, b) => a.name.localeCompare(b.name));
139
+ const total = all.length;
140
+ if (q)
141
+ all = all.filter((t) => t.name.toLowerCase().includes(q) || t.category.toLowerCase().includes(q) || t.description.toLowerCase().includes(q));
142
+ const matched = all.length;
143
+ if (limit > 0)
144
+ all = all.slice(0, limit);
145
+ cb(null, { tools: all, total, returned: all.length, _matched: matched });
146
+ }
147
+ catch (e) {
148
+ cb(null, { tools: [], total: 0, returned: 0, error: e.message });
149
+ }
150
+ },
151
+ // THE WISDOM SEARCH — intent → ranked tool hits (BM25 + curated-trigger boost).
152
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
153
+ Search: (call, cb) => {
154
+ touch();
155
+ try {
156
+ const r = call.request ?? {};
157
+ const limit = Number(r.limit ?? 0) || 8;
158
+ const hits = searchTools(getIndex(), String(r.intent ?? ""), limit);
159
+ cb(null, { hits, considered: toolMap.size });
160
+ }
161
+ catch (e) {
162
+ cb(null, { hits: [], considered: 0, error: e.message });
163
+ }
164
+ },
111
165
  // CONTEXT STREAM (Phase 2) — the delta channel. Per channel_id, hold a doc;
112
166
  // the opening snapshot sets the base, each op applies a splice + replies with a
113
167
  // COMPACT ack (hash + sizes, never the whole doc). Byte-exact + measured saving.
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mneme-ai/matrix",
3
- "version": "2.187.0",
3
+ "version": "2.188.0",
4
4
  "description": "THE MATRIX RAIL — the local-first gRPC wire server for Mneme. Any AI agent (any language) connects over HTTP/2 + Protobuf to reach every Mneme function through one typed, signed, streaming pipe. Invoke (unary, proof-carrying) + Pipe (bidi, chunked → any-size data flows byte-identical, past gRPC's 4MB cap). Binds 127.0.0.1 only; fail-open; wraps @mneme-ai/core's pipe core.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -33,7 +33,7 @@
33
33
  "dependencies": {
34
34
  "@grpc/grpc-js": "^1.12.5",
35
35
  "@grpc/proto-loader": "^0.7.13",
36
- "@mneme-ai/core": "2.187.0",
37
- "@mneme-ai/mcp": "2.187.0"
36
+ "@mneme-ai/core": "2.188.0",
37
+ "@mneme-ai/mcp": "2.188.0"
38
38
  }
39
39
  }
package/proto/mneme.proto CHANGED
@@ -21,9 +21,29 @@ service Matrix {
21
21
  // not the packet" — byte-exact, with a measured byte saving over re-sending.
22
22
  rpc ContextStream (stream DeltaMsg) returns (stream DeltaAck);
23
23
 
24
+ // SELF-DESCRIBING DISCOVERY — an AI agent that connects over gRPC (any language,
25
+ // any process) lists the ENTIRE tool surface + each tool's JSON Schema here, so it
26
+ // can use every function WITHOUT knowing names in advance. The gRPC peer of MCP's
27
+ // tools/list. Optional `query` filters by name/category/description.
28
+ rpc ListTools (ListToolsRequest) returns (ListToolsReply);
29
+
30
+ // THE WISDOM SEARCH — intent → the right tool(s). An agent that knows what the
31
+ // user WANTS (plain language) but not the tool name searches here. BM25 retrieval
32
+ // boosted by each tool's curated `triggers` (when-to-use wisdom) + proven usage.
33
+ // Deterministic, no LLM. The autonomous-discovery core.
34
+ rpc Search (SearchRequest) returns (SearchReply);
35
+
24
36
  rpc Health (HealthRequest) returns (HealthReply);
25
37
  }
26
38
 
39
+ message ListToolsRequest { string query = 1; uint32 limit = 2; }
40
+ message ToolInfo { string name = 1; string category = 2; string description = 3; string input_schema_json = 4; }
41
+ message ListToolsReply { repeated ToolInfo tools = 1; uint32 total = 2; uint32 returned = 3; }
42
+
43
+ message SearchRequest { string intent = 1; uint32 limit = 2; }
44
+ message ToolHit { string name = 1; string category = 2; string description = 3; double score = 4; string why = 5; }
45
+ message SearchReply { repeated ToolHit hits = 1; uint32 considered = 2; }
46
+
27
47
  message DeltaMsg {
28
48
  string channel_id = 1; // logical channel (lets one connection multiplex docs)
29
49
  bool snapshot = 2; // true for the opening frame (sets `base`)