From 43a112fde95a2da8cd504fbb7ffdfe8e430d27df Mon Sep 17 00:00:00 2001 From: Eva Date: Wed, 20 May 2026 03:24:09 +0700 Subject: [PATCH] feat: add Cortex entity graph tools (#20) --- README.md | 7 + .../core-entity-graph-tools.test.d.ts | 2 + .../core-entity-graph-tools.test.d.ts.map | 1 + .../__tests__/core-entity-graph-tools.test.js | 58 +++++++ .../core-entity-graph-tools.test.js.map | 1 + dist/__tests__/memory-context-format.test.js | 25 +++ .../memory-context-format.test.js.map | 2 +- dist/__tests__/owner-context.test.js | 3 + dist/__tests__/owner-context.test.js.map | 2 +- dist/__tests__/plugin-manifest-parity.test.js | 7 + .../plugin-manifest-parity.test.js.map | 2 +- dist/index.d.ts | 3 + dist/index.d.ts.map | 2 +- dist/index.js | 119 ++++++++++++- dist/index.js.map | 2 +- dist/openclaw.plugin.json | 3 + docs/cortex-core-tools.md | 22 +++ openclaw.plugin.json | 3 + package.json | 2 +- src/__tests__/core-entity-graph-tools.test.ts | 70 ++++++++ src/__tests__/memory-context-format.test.ts | 25 +++ src/__tests__/owner-context.test.ts | 3 + src/__tests__/plugin-manifest-parity.test.ts | 11 ++ src/index.ts | 159 +++++++++++++++++- 24 files changed, 524 insertions(+), 10 deletions(-) create mode 100644 dist/__tests__/core-entity-graph-tools.test.d.ts create mode 100644 dist/__tests__/core-entity-graph-tools.test.d.ts.map create mode 100644 dist/__tests__/core-entity-graph-tools.test.js create mode 100644 dist/__tests__/core-entity-graph-tools.test.js.map create mode 100644 docs/cortex-core-tools.md create mode 100644 src/__tests__/core-entity-graph-tools.test.ts diff --git a/README.md b/README.md index 4fe68b2..4722043 100644 --- a/README.md +++ b/README.md @@ -108,6 +108,9 @@ directly: | `cortex_update_commitment` | Mark a commitment as completed or cancelled | | `cortex_list_commitments` | List active (or all) tracked commitments | | `cortex_insights` | List pending or accepted Cortex insights | +| `cortex_entities_list` | List owner-resolved Cortex entities | +| `cortex_entity_detail` | Fetch one entity with aliases, claims, and relationships | +| `cortex_graph_query` | Fetch the owner-resolved entity relationship graph | | `cortex_add_open_loop` | Track an unresolved thread or topic | | `cortex_resolve_open_loop` | Mark an open loop as resolved | | `cortex_list_open_loops` | List unresolved threads | @@ -128,6 +131,10 @@ the effective owner from the authenticated request. `ownerIdMode: "configured"` is retained for self-host installs that deliberately use the configured `ownerId` as their local namespace. +Entity and graph tools are read-only and use the same owner-resolution path as +memory tools. Use `cortex_entities_list` first to resolve entity IDs, then +`cortex_entity_detail` or `cortex_graph_query` for the cited relationship view. + For customer/account workspaces, `companyBrainContextMode: "auto"` enables a separate `` block. The block is distinct from ``, resolves the account through the Company Brain account diff --git a/dist/__tests__/core-entity-graph-tools.test.d.ts b/dist/__tests__/core-entity-graph-tools.test.d.ts new file mode 100644 index 0000000..cc3e9cd --- /dev/null +++ b/dist/__tests__/core-entity-graph-tools.test.d.ts @@ -0,0 +1,2 @@ +export {}; +//# sourceMappingURL=core-entity-graph-tools.test.d.ts.map \ No newline at end of file diff --git a/dist/__tests__/core-entity-graph-tools.test.d.ts.map b/dist/__tests__/core-entity-graph-tools.test.d.ts.map new file mode 100644 index 0000000..a5c1e22 --- /dev/null +++ b/dist/__tests__/core-entity-graph-tools.test.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"core-entity-graph-tools.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/core-entity-graph-tools.test.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/dist/__tests__/core-entity-graph-tools.test.js b/dist/__tests__/core-entity-graph-tools.test.js new file mode 100644 index 0000000..9aac02a --- /dev/null +++ b/dist/__tests__/core-entity-graph-tools.test.js @@ -0,0 +1,58 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const strict_1 = __importDefault(require("node:assert/strict")); +const node_fs_1 = __importDefault(require("node:fs")); +const index_1 = require("../index"); +const manifest = JSON.parse(node_fs_1.default.readFileSync("openclaw.plugin.json", "utf8")); +for (const toolName of [ + "cortex_entities_list", + "cortex_entity_detail", + "cortex_graph_query", +]) { + strict_1.default.ok(manifest.tools.includes(toolName), `manifest is missing ${toolName}`); +} +{ + const cfg = (0, index_1.parseEvaMemoryConfig)({ ownerId: "company-acme" }); + strict_1.default.equal(cfg.ownerIdMode, "server_resolved"); +} +{ + const rendered = (0, index_1.formatCortexToolResult)("Cortex entities", { + entities: [ + { + id: "ent_assistant", + name: "assistant", + entity_type: "agent", + claim_count: 12, + }, + ], + total: 1, + errors: [], + }); + strict_1.default.match(rendered, /Cortex entities:/); + strict_1.default.match(rendered, /"id": "ent_assistant"/); + strict_1.default.match(rendered, /"claim_count": 12/); +} +{ + strict_1.default.equal((0, index_1.formatCortexToolResult)("Cortex graph", null), "Cortex graph failed: Cortex returned no result."); +} +{ + const source = node_fs_1.default.readFileSync("src/index.ts", "utf8"); + const coreReadTools = [ + ["cortex_entities_list", "listEntities"], + ["cortex_entity_detail", "getEntityDetail"], + ["cortex_graph_query", "queryGraph"], + ]; + for (const [toolName, clientMethod] of coreReadTools) { + const start = source.indexOf(`name: "${toolName}"`); + strict_1.default.notEqual(start, -1, `${toolName} registration should exist`); + const nextRegistration = source.indexOf("api.registerTool", start + 1); + const block = source.slice(start, nextRegistration === -1 ? source.length : nextRegistration); + strict_1.default.equal(/\bowner_id\b/.test(block), false, `${toolName} schema and execute block must not expose caller-supplied owner_id`); + strict_1.default.equal(new RegExp(`client\\.${clientMethod}\\([^)]*owner_id`).test(block), false, `${toolName} execute path must not pass caller-supplied owner_id`); + } +} +console.log("core-entity-graph-tools tests passed"); +//# sourceMappingURL=core-entity-graph-tools.test.js.map \ No newline at end of file diff --git a/dist/__tests__/core-entity-graph-tools.test.js.map b/dist/__tests__/core-entity-graph-tools.test.js.map new file mode 100644 index 0000000..8adedfd --- /dev/null +++ b/dist/__tests__/core-entity-graph-tools.test.js.map @@ -0,0 +1 @@ +{"version":3,"file":"core-entity-graph-tools.test.js","sourceRoot":"","sources":["../../src/__tests__/core-entity-graph-tools.test.ts"],"names":[],"mappings":";;;;;AAAA,gEAAwC;AACxC,sDAAyB;AACzB,oCAAwE;AAExE,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,iBAAE,CAAC,YAAY,CAAC,sBAAsB,EAAE,MAAM,CAAC,CAAC,CAAC;AAE7E,KAAK,MAAM,QAAQ,IAAI;IACrB,sBAAsB;IACtB,sBAAsB;IACtB,oBAAoB;CACrB,EAAE,CAAC;IACF,gBAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,uBAAuB,QAAQ,EAAE,CAAC,CAAC;AAClF,CAAC;AAED,CAAC;IACC,MAAM,GAAG,GAAG,IAAA,4BAAoB,EAAC,EAAE,OAAO,EAAE,cAAc,EAAE,CAAC,CAAC;IAC9D,gBAAM,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,EAAE,iBAAiB,CAAC,CAAC;AACnD,CAAC;AAED,CAAC;IACC,MAAM,QAAQ,GAAG,IAAA,8BAAsB,EAAC,iBAAiB,EAAE;QACzD,QAAQ,EAAE;YACR;gBACE,EAAE,EAAE,eAAe;gBACnB,IAAI,EAAE,WAAW;gBACjB,WAAW,EAAE,OAAO;gBACpB,WAAW,EAAE,EAAE;aAChB;SACF;QACD,KAAK,EAAE,CAAC;QACR,MAAM,EAAE,EAAE;KACX,CAAC,CAAC;IACH,gBAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAC;IAC3C,gBAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,uBAAuB,CAAC,CAAC;IAChD,gBAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,mBAAmB,CAAC,CAAC;AAC9C,CAAC;AAED,CAAC;IACC,gBAAM,CAAC,KAAK,CACV,IAAA,8BAAsB,EAAC,cAAc,EAAE,IAAI,CAAC,EAC5C,iDAAiD,CAClD,CAAC;AACJ,CAAC;AAED,CAAC;IACC,MAAM,MAAM,GAAG,iBAAE,CAAC,YAAY,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;IACvD,MAAM,aAAa,GAAG;QACpB,CAAC,sBAAsB,EAAE,cAAc,CAAC;QACxC,CAAC,sBAAsB,EAAE,iBAAiB,CAAC;QAC3C,CAAC,oBAAoB,EAAE,YAAY,CAAC;KACrC,CAAC;IACF,KAAK,MAAM,CAAC,QAAQ,EAAE,YAAY,CAAC,IAAI,aAAa,EAAE,CAAC;QACrD,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU,QAAQ,GAAG,CAAC,CAAC;QACpD,gBAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,GAAG,QAAQ,4BAA4B,CAAC,CAAC;QACpE,MAAM,gBAAgB,GAAG,MAAM,CAAC,OAAO,CAAC,kBAAkB,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;QACvE,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,gBAAgB,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC;QAC9F,gBAAM,CAAC,KAAK,CACV,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,EAC1B,KAAK,EACL,GAAG,QAAQ,oEAAoE,CAChF,CAAC;QACF,gBAAM,CAAC,KAAK,CACV,IAAI,MAAM,CAAC,YAAY,YAAY,kBAAkB,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAClE,KAAK,EACL,GAAG,QAAQ,sDAAsD,CAClE,CAAC;IACJ,CAAC;AACH,CAAC;AAED,OAAO,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAC"} \ No newline at end of file diff --git a/dist/__tests__/memory-context-format.test.js b/dist/__tests__/memory-context-format.test.js index bb6decf..c798095 100644 --- a/dist/__tests__/memory-context-format.test.js +++ b/dist/__tests__/memory-context-format.test.js @@ -113,6 +113,31 @@ function item(overrides) { strict_1.default.doesNotMatch(formatted, /\[seen/); strict_1.default.doesNotMatch(formatted, /⚠️/); } +{ + const logs = []; + const originalInfo = console.info; + console.info = (message) => { + logs.push(String(message)); + }; + try { + const items = [ + item({ item_id: "fits1111", content: "Short memory", score: 0.95 }), + item({ item_id: "large222", content: "Large memory ".repeat(600), score: 0.94 }), + ]; + const formatted = (0, index_1.formatMemoryContext)(items, 2500, items.length, 8, 0.25, { + injectionFormat: "v2", + showConflicts: true, + showRelations: true, + dedup: true, + }); + strict_1.default.match(formatted, /\[1 of 2 memories shown/); + strict_1.default.equal(logs.length, 1); + strict_1.default.match(logs[0] ?? "", /\[cortex\] memories-injected=1\/2 chars=\d+\/2500/); + } + finally { + console.info = originalInfo; + } +} { const cfg = (0, index_1.parseEvaMemoryConfig)({ injectionHardFloor: Number.NaN, diff --git a/dist/__tests__/memory-context-format.test.js.map b/dist/__tests__/memory-context-format.test.js.map index 5f36b32..02ca1a5 100644 --- a/dist/__tests__/memory-context-format.test.js.map +++ b/dist/__tests__/memory-context-format.test.js.map @@ -1 +1 @@ -{"version":3,"file":"memory-context-format.test.js","sourceRoot":"","sources":["../../src/__tests__/memory-context-format.test.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"memory-context-format.test.js","sourceRoot":"","sources":["../../src/__tests__/memory-context-format.test.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/__tests__/owner-context.test.js b/dist/__tests__/owner-context.test.js index 2919420..26611f6 100644 --- a/dist/__tests__/owner-context.test.js +++ b/dist/__tests__/owner-context.test.js @@ -32,6 +32,9 @@ const index_1 = require("../index"); ["cortex_update_commitment", "updateCommitment"], ["cortex_list_commitments", "listCommitments"], ["cortex_insights", "listInsights"], + ["cortex_entities_list", "listEntities"], + ["cortex_entity_detail", "getEntityDetail"], + ["cortex_graph_query", "queryGraph"], ["cortex_add_open_loop", "addOpenLoop"], ["cortex_resolve_open_loop", "resolveOpenLoop"], ["cortex_list_open_loops", "listOpenLoops"], diff --git a/dist/__tests__/owner-context.test.js.map b/dist/__tests__/owner-context.test.js.map index 36a6b26..d56eb2e 100644 --- a/dist/__tests__/owner-context.test.js.map +++ b/dist/__tests__/owner-context.test.js.map @@ -1 +1 @@ -{"version":3,"file":"owner-context.test.js","sourceRoot":"","sources":["../../src/__tests__/owner-context.test.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"owner-context.test.js","sourceRoot":"","sources":["../../src/__tests__/owner-context.test.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/__tests__/plugin-manifest-parity.test.js b/dist/__tests__/plugin-manifest-parity.test.js index 12662cf..ae8805e 100644 --- a/dist/__tests__/plugin-manifest-parity.test.js +++ b/dist/__tests__/plugin-manifest-parity.test.js @@ -22,5 +22,12 @@ for (const property of [ strict_1.default.ok(distManifest.configSchema.properties[property], `dist manifest is missing ${property}`); } strict_1.default.ok(distManifest.tools.includes("cortex_insights"), "dist manifest is missing cortex_insights"); +for (const toolName of [ + "cortex_entities_list", + "cortex_entity_detail", + "cortex_graph_query", +]) { + strict_1.default.ok(distManifest.tools.includes(toolName), `dist manifest is missing ${toolName}`); +} console.log("plugin-manifest-parity tests passed"); //# sourceMappingURL=plugin-manifest-parity.test.js.map \ No newline at end of file diff --git a/dist/__tests__/plugin-manifest-parity.test.js.map b/dist/__tests__/plugin-manifest-parity.test.js.map index 897cd23..653770e 100644 --- a/dist/__tests__/plugin-manifest-parity.test.js.map +++ b/dist/__tests__/plugin-manifest-parity.test.js.map @@ -1 +1 @@ -{"version":3,"file":"plugin-manifest-parity.test.js","sourceRoot":"","sources":["../../src/__tests__/plugin-manifest-parity.test.ts"],"names":[],"mappings":";;;;;AAAA,gEAAwC;AACxC,sDAAyB;AAEzB,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,iBAAE,CAAC,YAAY,CAAC,sBAAsB,EAAE,MAAM,CAAC,CAAC,CAAC;AACjF,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,iBAAE,CAAC,YAAY,CAAC,2BAA2B,EAAE,MAAM,CAAC,CAAC,CAAC;AAEtF,gBAAM,CAAC,SAAS,CAAC,YAAY,CAAC,KAAK,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC;AACzD,gBAAM,CAAC,SAAS,CAAC,YAAY,CAAC,YAAY,EAAE,YAAY,CAAC,YAAY,CAAC,CAAC;AACvE,gBAAM,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;AAE5C,KAAK,MAAM,QAAQ,IAAI;IACrB,aAAa;IACb,yBAAyB;IACzB,8BAA8B;IAC9B,2BAA2B;IAC3B,+BAA+B;IAC/B,gCAAgC;IAChC,6BAA6B;CAC9B,EAAE,CAAC;IACF,gBAAM,CAAC,EAAE,CACP,YAAY,CAAC,YAAY,CAAC,UAAU,CAAC,QAAQ,CAAC,EAC9C,4BAA4B,QAAQ,EAAE,CACvC,CAAC;AACJ,CAAC;AAED,gBAAM,CAAC,EAAE,CACP,YAAY,CAAC,KAAK,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAC9C,0CAA0C,CAC3C,CAAC;AAEF,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC"} \ No newline at end of file +{"version":3,"file":"plugin-manifest-parity.test.js","sourceRoot":"","sources":["../../src/__tests__/plugin-manifest-parity.test.ts"],"names":[],"mappings":";;;;;AAAA,gEAAwC;AACxC,sDAAyB;AAEzB,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,iBAAE,CAAC,YAAY,CAAC,sBAAsB,EAAE,MAAM,CAAC,CAAC,CAAC;AACjF,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,iBAAE,CAAC,YAAY,CAAC,2BAA2B,EAAE,MAAM,CAAC,CAAC,CAAC;AAEtF,gBAAM,CAAC,SAAS,CAAC,YAAY,CAAC,KAAK,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC;AACzD,gBAAM,CAAC,SAAS,CAAC,YAAY,CAAC,YAAY,EAAE,YAAY,CAAC,YAAY,CAAC,CAAC;AACvE,gBAAM,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;AAE5C,KAAK,MAAM,QAAQ,IAAI;IACrB,aAAa;IACb,yBAAyB;IACzB,8BAA8B;IAC9B,2BAA2B;IAC3B,+BAA+B;IAC/B,gCAAgC;IAChC,6BAA6B;CAC9B,EAAE,CAAC;IACF,gBAAM,CAAC,EAAE,CACP,YAAY,CAAC,YAAY,CAAC,UAAU,CAAC,QAAQ,CAAC,EAC9C,4BAA4B,QAAQ,EAAE,CACvC,CAAC;AACJ,CAAC;AAED,gBAAM,CAAC,EAAE,CACP,YAAY,CAAC,KAAK,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAC9C,0CAA0C,CAC3C,CAAC;AAEF,KAAK,MAAM,QAAQ,IAAI;IACrB,sBAAsB;IACtB,sBAAsB;IACtB,oBAAoB;CACrB,EAAE,CAAC;IACF,gBAAM,CAAC,EAAE,CACP,YAAY,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,EACrC,4BAA4B,QAAQ,EAAE,CACvC,CAAC;AACJ,CAAC;AAED,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC"} \ No newline at end of file diff --git a/dist/index.d.ts b/dist/index.d.ts index a1c6fa2..dca8674 100644 --- a/dist/index.d.ts +++ b/dist/index.d.ts @@ -20,6 +20,7 @@ * Tools: cortex_search, cortex_remember, cortex_forget, cortex_ask, * cortex_list_contradictions, cortex_resolve_contradiction, * cortex_add_commitment, cortex_update_commitment, cortex_list_commitments, + * cortex_entities_list, cortex_entity_detail, cortex_graph_query, * cortex_add_open_loop, cortex_resolve_open_loop, cortex_list_open_loops */ import type { OpenClawPluginApi } from "openclaw/plugin-sdk"; @@ -75,6 +76,7 @@ interface RetrievedItem { provenance?: string; } type CompanyBrainToolResult = Record; +type CortexToolResult = Record; interface CompanyBrainContextPayload { account?: Record | null; brief?: CompanyBrainToolResult | null; @@ -97,6 +99,7 @@ export declare function withConfiguredOwner>(b owner_id?: string; }; export declare function formatCompanyBrainToolResult(label: string, result: CompanyBrainToolResult | null): string; +export declare function formatCortexToolResult(label: string, result: CortexToolResult | null): string; export declare function formatCompanyBrainContext(payload: CompanyBrainContextPayload, options?: { maxChars?: number; }): string; diff --git a/dist/index.d.ts.map b/dist/index.d.ts.map index 43bdf1f..de9f759 100644 --- a/dist/index.d.ts.map +++ b/dist/index.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/index.js b/dist/index.js index 0c4ac19..ca8eac7 100644 --- a/dist/index.js +++ b/dist/index.js @@ -21,12 +21,14 @@ * Tools: cortex_search, cortex_remember, cortex_forget, cortex_ask, * cortex_list_contradictions, cortex_resolve_contradiction, * cortex_add_commitment, cortex_update_commitment, cortex_list_commitments, + * cortex_entities_list, cortex_entity_detail, cortex_graph_query, * cortex_add_open_loop, cortex_resolve_open_loop, cortex_list_open_loops */ Object.defineProperty(exports, "__esModule", { value: true }); exports.shouldSendConfiguredOwner = shouldSendConfiguredOwner; exports.withConfiguredOwner = withConfiguredOwner; exports.formatCompanyBrainToolResult = formatCompanyBrainToolResult; +exports.formatCortexToolResult = formatCortexToolResult; exports.formatCompanyBrainContext = formatCompanyBrainContext; exports.resolveCompanyBrainAccountFromAccountsList = resolveCompanyBrainAccountFromAccountsList; exports.parseEvaMemoryConfig = parseEvaMemoryConfig; @@ -76,6 +78,12 @@ function formatCompanyBrainToolResult(label, result) { } return `${label}:\n${JSON.stringify(result, null, 2)}`; } +function formatCortexToolResult(label, result) { + if (!result) { + return `${label} failed: Cortex returned no result.`; + } + return `${label}:\n${JSON.stringify(result, null, 2)}`; +} const COMPANY_BRAIN_CONTEXT_PREAMBLE = `Company Brain account-scoped context from Cortex. Scope: customer/account context and source-cited operating state, not personal Cortex memory. Authority: source-cited Company Brain evidence is the only authoritative business context in this block. GBrain, shadow, or dry-run context is non-authoritative unless backed by citations here. @@ -483,6 +491,33 @@ class CortexClient { params.set("status", status); return this.get(this.withQuery("/api/v1/open-loops", params)); } + // --- Entities + Graph --- + async listEntities(options = {}) { + const limit = clampNumber(options.limit, 50, 1, 200); + const offset = clampNumber(options.offset, 0, 0, 1000000); + const page = Math.floor(offset / limit) + 1; + const params = this.ownerParams({ + page: String(page), + per_page: String(limit), + limit: String(limit), + offset: String(offset), + }); + addOptionalParam(params, "entity_type", options.entityType); + addOptionalParam(params, "search", options.search); + return this.get(this.withQuery("/api/v1/entities", params)); + } + async getEntityDetail(entityId) { + const params = this.ownerParams(); + return this.get(this.withQuery(`/api/v1/entities/${encodeURIComponent(entityId)}`, params)); + } + async queryGraph(options = {}) { + const params = this.ownerParams({ + max_depth: String(clampNumber(options.maxDepth, 2, 1, 5)), + max_nodes: String(clampNumber(options.maxNodes, 50, 1, 200)), + }); + addOptionalParam(params, "center_entity_id", options.centerEntityId); + return this.get(this.withQuery("/api/v1/graph", params)); + } // --- Company Brain --- async listCompanyBrainAccounts(options = {}) { const params = new URLSearchParams(); @@ -1320,6 +1355,7 @@ function formatMemoryContextV1(items, maxChars, totalCount = items.length, maxCo const lines = ["", MEMORY_PREAMBLE]; let charCount = MEMORY_PREAMBLE.length; let injectedCount = 0; + let truncatedByCharCap = false; for (const item of relevant.slice(0, maxCount)) { const tag = item.source === "cornerstone" ? " [cornerstone]" : ""; const id = item.item_id ? `[${item.item_id.slice(0, 8)}]` : ""; @@ -1332,14 +1368,19 @@ function formatMemoryContextV1(items, maxChars, totalCount = items.length, maxCo const line = prefix ? `- ${prefix} ${item.content}${tag}` : `- ${item.content}${tag}`; - if (charCount + line.length > maxChars) + if (charCount + line.length > maxChars) { + truncatedByCharCap = true; break; + } lines.push(line); charCount += line.length; injectedCount++; } if (lines.length <= 2) return ""; + if (truncatedByCharCap) { + console.info(`[cortex] memories-injected=${injectedCount}/${totalCount} chars=${charCount}/${maxChars}`); + } lines.push(`[${injectedCount} of ${totalCount} memories shown — use cortex_search for more]`); lines.push(""); return lines.join("\n"); @@ -1353,13 +1394,16 @@ function formatMemoryContextV2(items, maxChars, totalCount = items.length, maxCo const lines = ["", MEMORY_PREAMBLE]; let charCount = MEMORY_PREAMBLE.length; let injectedCount = 0; + let truncatedByCharCap = false; const processed = preprocessClaims(relevant, options); for (const entry of processed.slice(0, maxCount)) { const line = formatMemoryLine(entry.item, entry); const relationLine = entry.relationHint ? ` ↳ ${entry.relationHint}` : ""; const needed = line.length + (relationLine ? relationLine.length + 1 : 0); - if (charCount + needed > maxChars) + if (charCount + needed > maxChars) { + truncatedByCharCap = true; break; + } lines.push(line); if (relationLine) lines.push(relationLine); @@ -1368,6 +1412,9 @@ function formatMemoryContextV2(items, maxChars, totalCount = items.length, maxCo } if (lines.length <= 2) return ""; + if (truncatedByCharCap) { + console.info(`[cortex] memories-injected=${injectedCount}/${totalCount} chars=${charCount}/${maxChars}`); + } lines.push(`[${injectedCount} of ${totalCount} memories shown — use cortex_search for more]`); lines.push(""); return lines.join("\n"); @@ -1778,6 +1825,74 @@ const cortexPlugin = { } }, }, { name: "cortex_insights" }); + api.registerTool({ + name: "cortex_entities_list", + label: "Cortex Entities List", + description: "List owner-resolved Cortex entities through the Cortex HTTP API. Read-only; use this to find stable entity IDs before entity detail or graph calls.", + parameters: typebox_1.Type.Object({ + entity_type: typebox_1.Type.Optional(typebox_1.Type.String({ description: "Optional entity type filter, such as person, organization, project, or topic" })), + search: typebox_1.Type.Optional(typebox_1.Type.String({ description: "Optional entity search text" })), + limit: typebox_1.Type.Optional(typebox_1.Type.Number({ description: "Max entities to return, 1-200 (default: 50)" })), + offset: typebox_1.Type.Optional(typebox_1.Type.Number({ description: "Zero-based entity offset (default: 0)" })), + }), + async execute(_toolCallId, params) { + const { entity_type, search, limit, offset } = params; + try { + const result = await client.listEntities({ + entityType: entity_type, + search, + limit, + offset, + }); + return { content: [{ type: "text", text: formatCortexToolResult("Cortex entities", result) }] }; + } + catch (err) { + return { content: [{ type: "text", text: `Cortex entities list failed: ${String(err)}` }] }; + } + }, + }, { name: "cortex_entities_list" }); + api.registerTool({ + name: "cortex_entity_detail", + label: "Cortex Entity Detail", + description: "Fetch one owner-resolved Cortex entity with aliases, claims, and relationships. Read-only; call cortex_entities_list first when you need an ID.", + parameters: typebox_1.Type.Object({ + entity_id: typebox_1.Type.String({ description: "Stable Cortex entity ID from cortex_entities_list" }), + }), + async execute(_toolCallId, params) { + const { entity_id } = params; + try { + const result = await client.getEntityDetail(entity_id); + return { content: [{ type: "text", text: formatCortexToolResult("Cortex entity detail", result) }] }; + } + catch (err) { + return { content: [{ type: "text", text: `Cortex entity detail failed: ${String(err)}` }] }; + } + }, + }, { name: "cortex_entity_detail" }); + api.registerTool({ + name: "cortex_graph_query", + label: "Cortex Graph Query", + description: "Fetch the owner-resolved Cortex entity relationship graph. Read-only; optionally center the graph on one entity ID.", + parameters: typebox_1.Type.Object({ + center_entity_id: typebox_1.Type.Optional(typebox_1.Type.String({ description: "Optional entity ID to center the graph on" })), + max_depth: typebox_1.Type.Optional(typebox_1.Type.Number({ description: "Max graph traversal depth, 1-5 (default: 2)" })), + max_nodes: typebox_1.Type.Optional(typebox_1.Type.Number({ description: "Max graph nodes to return, 1-200 (default: 50)" })), + }), + async execute(_toolCallId, params) { + const { center_entity_id, max_depth, max_nodes } = params; + try { + const result = await client.queryGraph({ + centerEntityId: center_entity_id, + maxDepth: max_depth, + maxNodes: max_nodes, + }); + return { content: [{ type: "text", text: formatCortexToolResult("Cortex graph", result) }] }; + } + catch (err) { + return { content: [{ type: "text", text: `Cortex graph query failed: ${String(err)}` }] }; + } + }, + }, { name: "cortex_graph_query" }); api.registerTool({ name: "company_brain_accounts_list", label: "Company Brain Accounts List", diff --git a/dist/index.js.map b/dist/index.js.map index 2ba9789..226e299 100644 --- a/dist/index.js.map +++ b/dist/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/openclaw.plugin.json b/dist/openclaw.plugin.json index 0aa11b8..91049ac 100644 --- a/dist/openclaw.plugin.json +++ b/dist/openclaw.plugin.json @@ -16,6 +16,9 @@ "cortex_update_commitment", "cortex_list_commitments", "cortex_insights", + "cortex_entities_list", + "cortex_entity_detail", + "cortex_graph_query", "company_brain_accounts_list", "company_brain_account_brief", "company_brain_account_timeline", diff --git a/docs/cortex-core-tools.md b/docs/cortex-core-tools.md new file mode 100644 index 0000000..9c88121 --- /dev/null +++ b/docs/cortex-core-tools.md @@ -0,0 +1,22 @@ +# Cortex Core Plugin Tools + +The plugin exposes core Cortex memory, entity, and graph features only through +explicit Cortex HTTP tools. Hosted deployments should keep `ownerIdMode` set to +`server_resolved` so Cortex resolves the effective owner from the request. The +tools do not expose per-call `owner_id` parameters. + +## Entity And Graph Tools + +| tool | purpose | +|------|---------| +| `cortex_entities_list` | List or search owner-resolved entities. | +| `cortex_entity_detail` | Fetch one entity with aliases, claims, and relationships. | +| `cortex_graph_query` | Fetch the owner-resolved entity relationship graph. | + +Use `cortex_entities_list` before `cortex_entity_detail` or a centered +`cortex_graph_query` when you need a stable entity ID. Graph output is raw +Cortex JSON so agents preserve node IDs, relationship labels, counts, and any +route diagnostics returned by Cortex. + +These tools are read-only. They do not write to plugin storage and they do not +send `X-Owner-Id`. diff --git a/openclaw.plugin.json b/openclaw.plugin.json index fab4120..c4ddf5b 100644 --- a/openclaw.plugin.json +++ b/openclaw.plugin.json @@ -16,6 +16,9 @@ "cortex_update_commitment", "cortex_list_commitments", "cortex_insights", + "cortex_entities_list", + "cortex_entity_detail", + "cortex_graph_query", "company_brain_accounts_list", "company_brain_account_brief", "company_brain_account_timeline", diff --git a/package.json b/package.json index 930b827..4d26723 100644 --- a/package.json +++ b/package.json @@ -6,7 +6,7 @@ "types": "dist/index.d.ts", "scripts": { "build": "tsc && node scripts/sync-dist-manifest.mjs", - "test": "npm run build && node dist/__tests__/memory-context-format.test.js && node dist/__tests__/company-brain-tools.test.js && node dist/__tests__/company-brain-context-format.test.js && node dist/__tests__/plugin-manifest-parity.test.js && node dist/__tests__/owner-context.test.js", + "test": "npm run build && node dist/__tests__/memory-context-format.test.js && node dist/__tests__/company-brain-tools.test.js && node dist/__tests__/company-brain-context-format.test.js && node dist/__tests__/core-entity-graph-tools.test.js && node dist/__tests__/plugin-manifest-parity.test.js && node dist/__tests__/owner-context.test.js", "company-brain:canary": "node scripts/company-brain-canary.mjs", "prepublishOnly": "npm run build" }, diff --git a/src/__tests__/core-entity-graph-tools.test.ts b/src/__tests__/core-entity-graph-tools.test.ts new file mode 100644 index 0000000..924e31a --- /dev/null +++ b/src/__tests__/core-entity-graph-tools.test.ts @@ -0,0 +1,70 @@ +import assert from "node:assert/strict"; +import fs from "node:fs"; +import { formatCortexToolResult, parseEvaMemoryConfig } from "../index"; + +const manifest = JSON.parse(fs.readFileSync("openclaw.plugin.json", "utf8")); + +for (const toolName of [ + "cortex_entities_list", + "cortex_entity_detail", + "cortex_graph_query", +]) { + assert.ok(manifest.tools.includes(toolName), `manifest is missing ${toolName}`); +} + +{ + const cfg = parseEvaMemoryConfig({ ownerId: "company-acme" }); + assert.equal(cfg.ownerIdMode, "server_resolved"); +} + +{ + const rendered = formatCortexToolResult("Cortex entities", { + entities: [ + { + id: "ent_assistant", + name: "assistant", + entity_type: "agent", + claim_count: 12, + }, + ], + total: 1, + errors: [], + }); + assert.match(rendered, /Cortex entities:/); + assert.match(rendered, /"id": "ent_assistant"/); + assert.match(rendered, /"claim_count": 12/); +} + +{ + assert.equal( + formatCortexToolResult("Cortex graph", null), + "Cortex graph failed: Cortex returned no result.", + ); +} + +{ + const source = fs.readFileSync("src/index.ts", "utf8"); + const coreReadTools = [ + ["cortex_entities_list", "listEntities"], + ["cortex_entity_detail", "getEntityDetail"], + ["cortex_graph_query", "queryGraph"], + ]; + for (const [toolName, clientMethod] of coreReadTools) { + const start = source.indexOf(`name: "${toolName}"`); + assert.notEqual(start, -1, `${toolName} registration should exist`); + const nextRegistration = source.indexOf("api.registerTool", start + 1); + const block = source.slice(start, nextRegistration === -1 ? source.length : nextRegistration); + assert.equal( + /\bowner_id\b/.test(block), + false, + `${toolName} schema and execute block must not expose caller-supplied owner_id`, + ); + assert.equal( + new RegExp(`client\\.${clientMethod}\\([^)]*owner_id`).test(block), + false, + `${toolName} execute path must not pass caller-supplied owner_id`, + ); + } +} + +console.log("core-entity-graph-tools tests passed"); diff --git a/src/__tests__/memory-context-format.test.ts b/src/__tests__/memory-context-format.test.ts index 40475eb..3b5439c 100644 --- a/src/__tests__/memory-context-format.test.ts +++ b/src/__tests__/memory-context-format.test.ts @@ -117,6 +117,31 @@ function item(overrides: Record) { assert.doesNotMatch(formatted, /⚠️/); } +{ + const logs: string[] = []; + const originalInfo = console.info; + console.info = (message?: unknown) => { + logs.push(String(message)); + }; + try { + const items = [ + item({ item_id: "fits1111", content: "Short memory", score: 0.95 }), + item({ item_id: "large222", content: "Large memory ".repeat(600), score: 0.94 }), + ]; + const formatted = formatMemoryContext(items, 2500, items.length, 8, 0.25, { + injectionFormat: "v2", + showConflicts: true, + showRelations: true, + dedup: true, + }); + assert.match(formatted, /\[1 of 2 memories shown/); + assert.equal(logs.length, 1); + assert.match(logs[0] ?? "", /\[cortex\] memories-injected=1\/2 chars=\d+\/2500/); + } finally { + console.info = originalInfo; + } +} + { const cfg = parseEvaMemoryConfig({ injectionHardFloor: Number.NaN, diff --git a/src/__tests__/owner-context.test.ts b/src/__tests__/owner-context.test.ts index b2556fe..2951506 100644 --- a/src/__tests__/owner-context.test.ts +++ b/src/__tests__/owner-context.test.ts @@ -38,6 +38,9 @@ import { ["cortex_update_commitment", "updateCommitment"], ["cortex_list_commitments", "listCommitments"], ["cortex_insights", "listInsights"], + ["cortex_entities_list", "listEntities"], + ["cortex_entity_detail", "getEntityDetail"], + ["cortex_graph_query", "queryGraph"], ["cortex_add_open_loop", "addOpenLoop"], ["cortex_resolve_open_loop", "resolveOpenLoop"], ["cortex_list_open_loops", "listOpenLoops"], diff --git a/src/__tests__/plugin-manifest-parity.test.ts b/src/__tests__/plugin-manifest-parity.test.ts index d9f916f..7d51c6e 100644 --- a/src/__tests__/plugin-manifest-parity.test.ts +++ b/src/__tests__/plugin-manifest-parity.test.ts @@ -28,4 +28,15 @@ assert.ok( "dist manifest is missing cortex_insights", ); +for (const toolName of [ + "cortex_entities_list", + "cortex_entity_detail", + "cortex_graph_query", +]) { + assert.ok( + distManifest.tools.includes(toolName), + `dist manifest is missing ${toolName}`, + ); +} + console.log("plugin-manifest-parity tests passed"); diff --git a/src/index.ts b/src/index.ts index befb758..b26a5a7 100644 --- a/src/index.ts +++ b/src/index.ts @@ -20,6 +20,7 @@ * Tools: cortex_search, cortex_remember, cortex_forget, cortex_ask, * cortex_list_contradictions, cortex_resolve_contradiction, * cortex_add_commitment, cortex_update_commitment, cortex_list_commitments, + * cortex_entities_list, cortex_entity_detail, cortex_graph_query, * cortex_add_open_loop, cortex_resolve_open_loop, cortex_list_open_loops */ @@ -110,6 +111,7 @@ type CompanyBrainQueryIntent = | "open_loops"; type CompanyBrainToolResult = Record; +type CortexToolResult = Record; interface CompanyBrainContextPayload { account?: Record | null; @@ -167,6 +169,13 @@ export function formatCompanyBrainToolResult(label: string, result: CompanyBrain return `${label}:\n${JSON.stringify(result, null, 2)}`; } +export function formatCortexToolResult(label: string, result: CortexToolResult | null): string { + if (!result) { + return `${label} failed: Cortex returned no result.`; + } + return `${label}:\n${JSON.stringify(result, null, 2)}`; +} + const COMPANY_BRAIN_CONTEXT_PREAMBLE = `Company Brain account-scoped context from Cortex. Scope: customer/account context and source-cited operating state, not personal Cortex memory. Authority: source-cited Company Brain evidence is the only authoritative business context in this block. GBrain, shadow, or dry-run context is non-authoritative unless backed by citations here. @@ -659,6 +668,52 @@ class CortexClient { ); } + // --- Entities + Graph --- + + async listEntities(options: { + entityType?: string; + search?: string; + limit?: number; + offset?: number; + } = {}) { + const limit = clampNumber(options.limit, 50, 1, 200); + const offset = clampNumber(options.offset, 0, 0, 1000000); + const page = Math.floor(offset / limit) + 1; + const params = this.ownerParams({ + page: String(page), + per_page: String(limit), + limit: String(limit), + offset: String(offset), + }); + addOptionalParam(params, "entity_type", options.entityType); + addOptionalParam(params, "search", options.search); + return this.get( + this.withQuery("/api/v1/entities", params), + ); + } + + async getEntityDetail(entityId: string) { + const params = this.ownerParams(); + return this.get( + this.withQuery(`/api/v1/entities/${encodeURIComponent(entityId)}`, params), + ); + } + + async queryGraph(options: { + centerEntityId?: string; + maxDepth?: number; + maxNodes?: number; + } = {}) { + const params = this.ownerParams({ + max_depth: String(clampNumber(options.maxDepth, 2, 1, 5)), + max_nodes: String(clampNumber(options.maxNodes, 50, 1, 200)), + }); + addOptionalParam(params, "center_entity_id", options.centerEntityId); + return this.get( + this.withQuery("/api/v1/graph", params), + ); + } + // --- Company Brain --- async listCompanyBrainAccounts(options: { @@ -1633,6 +1688,7 @@ function formatMemoryContextV1( const lines: string[] = ["", MEMORY_PREAMBLE]; let charCount = MEMORY_PREAMBLE.length; let injectedCount = 0; + let truncatedByCharCap = false; for (const item of relevant.slice(0, maxCount)) { const tag = item.source === "cornerstone" ? " [cornerstone]" : ""; @@ -1646,13 +1702,19 @@ function formatMemoryContextV1( const line = prefix ? `- ${prefix} ${item.content}${tag}` : `- ${item.content}${tag}`; - if (charCount + line.length > maxChars) break; + if (charCount + line.length > maxChars) { + truncatedByCharCap = true; + break; + } lines.push(line); charCount += line.length; injectedCount++; } if (lines.length <= 2) return ""; + if (truncatedByCharCap) { + console.info(`[cortex] memories-injected=${injectedCount}/${totalCount} chars=${charCount}/${maxChars}`); + } lines.push(`[${injectedCount} of ${totalCount} memories shown — use cortex_search for more]`); lines.push(""); return lines.join("\n"); @@ -1674,12 +1736,16 @@ function formatMemoryContextV2( const lines: string[] = ["", MEMORY_PREAMBLE]; let charCount = MEMORY_PREAMBLE.length; let injectedCount = 0; + let truncatedByCharCap = false; const processed = preprocessClaims(relevant, options); for (const entry of processed.slice(0, maxCount)) { const line = formatMemoryLine(entry.item, entry); const relationLine = entry.relationHint ? ` ↳ ${entry.relationHint}` : ""; const needed = line.length + (relationLine ? relationLine.length + 1 : 0); - if (charCount + needed > maxChars) break; + if (charCount + needed > maxChars) { + truncatedByCharCap = true; + break; + } lines.push(line); if (relationLine) lines.push(relationLine); charCount += needed; @@ -1687,6 +1753,9 @@ function formatMemoryContextV2( } if (lines.length <= 2) return ""; + if (truncatedByCharCap) { + console.info(`[cortex] memories-injected=${injectedCount}/${totalCount} chars=${charCount}/${maxChars}`); + } lines.push(`[${injectedCount} of ${totalCount} memories shown — use cortex_search for more]`); lines.push(""); return lines.join("\n"); @@ -2148,6 +2217,92 @@ const cortexPlugin = { { name: "cortex_insights" }, ); + api.registerTool( + { + name: "cortex_entities_list", + label: "Cortex Entities List", + description: "List owner-resolved Cortex entities through the Cortex HTTP API. Read-only; use this to find stable entity IDs before entity detail or graph calls.", + parameters: Type.Object({ + entity_type: Type.Optional(Type.String({ description: "Optional entity type filter, such as person, organization, project, or topic" })), + search: Type.Optional(Type.String({ description: "Optional entity search text" })), + limit: Type.Optional(Type.Number({ description: "Max entities to return, 1-200 (default: 50)" })), + offset: Type.Optional(Type.Number({ description: "Zero-based entity offset (default: 0)" })), + }), + async execute(_toolCallId: string, params: unknown): Promise { + const { entity_type, search, limit, offset } = params as { + entity_type?: string; + search?: string; + limit?: number; + offset?: number; + }; + try { + const result = await client.listEntities({ + entityType: entity_type, + search, + limit, + offset, + }); + return { content: [{ type: "text" as const, text: formatCortexToolResult("Cortex entities", result) }] }; + } catch (err) { + return { content: [{ type: "text" as const, text: `Cortex entities list failed: ${String(err)}` }] }; + } + }, + }, + { name: "cortex_entities_list" }, + ); + + api.registerTool( + { + name: "cortex_entity_detail", + label: "Cortex Entity Detail", + description: "Fetch one owner-resolved Cortex entity with aliases, claims, and relationships. Read-only; call cortex_entities_list first when you need an ID.", + parameters: Type.Object({ + entity_id: Type.String({ description: "Stable Cortex entity ID from cortex_entities_list" }), + }), + async execute(_toolCallId: string, params: unknown): Promise { + const { entity_id } = params as { entity_id: string }; + try { + const result = await client.getEntityDetail(entity_id); + return { content: [{ type: "text" as const, text: formatCortexToolResult("Cortex entity detail", result) }] }; + } catch (err) { + return { content: [{ type: "text" as const, text: `Cortex entity detail failed: ${String(err)}` }] }; + } + }, + }, + { name: "cortex_entity_detail" }, + ); + + api.registerTool( + { + name: "cortex_graph_query", + label: "Cortex Graph Query", + description: "Fetch the owner-resolved Cortex entity relationship graph. Read-only; optionally center the graph on one entity ID.", + parameters: Type.Object({ + center_entity_id: Type.Optional(Type.String({ description: "Optional entity ID to center the graph on" })), + max_depth: Type.Optional(Type.Number({ description: "Max graph traversal depth, 1-5 (default: 2)" })), + max_nodes: Type.Optional(Type.Number({ description: "Max graph nodes to return, 1-200 (default: 50)" })), + }), + async execute(_toolCallId: string, params: unknown): Promise { + const { center_entity_id, max_depth, max_nodes } = params as { + center_entity_id?: string; + max_depth?: number; + max_nodes?: number; + }; + try { + const result = await client.queryGraph({ + centerEntityId: center_entity_id, + maxDepth: max_depth, + maxNodes: max_nodes, + }); + return { content: [{ type: "text" as const, text: formatCortexToolResult("Cortex graph", result) }] }; + } catch (err) { + return { content: [{ type: "text" as const, text: `Cortex graph query failed: ${String(err)}` }] }; + } + }, + }, + { name: "cortex_graph_query" }, + ); + api.registerTool( { name: "company_brain_accounts_list",