@revealui/mcp 0.8.9 → 0.8.10

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 CHANGED
@@ -19,7 +19,7 @@ Centralized MCP server infrastructure, configuration, and documentation for Reve
19
19
 
20
20
  This package contains everything MCP-related:
21
21
 
22
- - **13 MCP Servers** - Code Validator, Contracts Introspection, RevealUI Docs, Neon, Next.js DevTools, Playwright, RevealUI Content, RevealUI Email, RevealUI Memory, RevealUI Stripe, Stripe, Vercel, and the Adapter base (BaseAdapter with retry and idempotency, plus the Vercel/Stripe/Neon adapter subclasses). This roster matches the CI counter in `scripts/validate/claim-drift.ts` (adapter counted, the underscore-prefixed email-provider utility not); the count is enforced by `pnpm validate:claims`. Of the 13, eight are RevealUI-authored and five are first-party launchers that start vendor MCP server packages.
22
+ - **14 MCP Servers** - Code Validator, Contracts Introspection, RevealUI Docs, Knowledge Graph, Neon, Next.js DevTools, Playwright, RevealUI Content, RevealUI Email, RevealUI Memory, RevealUI Stripe, Stripe, Vercel, and the Adapter base (BaseAdapter with retry and idempotency, plus the Vercel/Stripe/Neon adapter subclasses). This roster matches the CI counter in `scripts/validate/claim-drift.ts` (adapter counted, the underscore-prefixed email-provider and kg-principal utilities not); the count is enforced by `pnpm validate:claims`. Of the 14, nine are RevealUI-authored and five are first-party launchers that start vendor MCP server packages.
23
23
  - **MCPHypervisor (incubating)** - Multi-server process manager in source (`src/hypervisor.ts`). Not started by apps at boot today (ADR-007). Use `revealui-mcp` / per-server launchers for day-to-day attach.
24
24
  - **Configuration Templates** - For Claude Code / Claude Desktop
25
25
  - **Utilities** - Config management, database adapters
package/dist/cli.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAEA;;;;;;;;;;;;;;GAcG;AAEH,QAAA,MAAM,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAanD,CAAC;AAEF,QAAA,MAAM,SAAS,oBAAkB,CAAC;AAClC,QAAA,MAAM,MAAM,SAhBwB,OAAO,CAAC,OAAO,CAAC,aAgBK,CAAC"}
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAEA;;;;;;;;;;;;;;GAcG;AAEH,QAAA,MAAM,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAenD,CAAC;AAEF,QAAA,MAAM,SAAS,oBAAkB,CAAC;AAClC,QAAA,MAAM,MAAM,SAlBwB,OAAO,CAAC,OAAO,CAAC,aAkBK,CAAC"}
package/dist/cli.js CHANGED
@@ -18,6 +18,7 @@
18
18
  const SERVERS = {
19
19
  contracts: () => import('./servers/contracts.js'),
20
20
  docs: () => import('./servers/docs.js'),
21
+ 'knowledge-graph': () => import('./servers/knowledge-graph.js').then((m) => m.launchKnowledgeGraphMcp()),
21
22
  neon: () => import('./servers/neon.js').then((m) => m.launchNeonMcp()),
22
23
  'next-devtools': () => import('./servers/next-devtools.js').then((m) => m.launchNextDevtoolsMcp()),
23
24
  playwright: () => import('./servers/playwright.js').then((m) => m.launchPlaywrightMcp()),
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";;AAEA;;;;;;;;;;;;;;GAcG;AAEH,MAAM,OAAO,GAA2C;IACtD,SAAS,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,wBAAwB,CAAC;IACjD,IAAI,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC;IACvC,IAAI,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC;IACtE,eAAe,EAAE,GAAG,EAAE,CACpB,MAAM,CAAC,4BAA4B,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,qBAAqB,EAAE,CAAC;IAC7E,UAAU,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,yBAAyB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,mBAAmB,EAAE,CAAC;IACxF,kBAAkB,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,+BAA+B,CAAC;IACjE,gBAAgB,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,6BAA6B,CAAC;IAC7D,iBAAiB,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,8BAA8B,CAAC;IAC/D,iBAAiB,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,8BAA8B,CAAC;IAC/D,MAAM,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC;IAC5E,MAAM,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC;CAC7E,CAAC;AAEF,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClC,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAE1D,IAAI,CAAC,MAAM,EAAE,CAAC;IACZ,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC/C,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,yDAAyD,IAAI,IAAI,CAAC,CAAC;IACxF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;IAChC,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACvE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,iCAAiC,SAAS,KAAK,OAAO,IAAI,CAAC,CAAC;IACjF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";;AAEA;;;;;;;;;;;;;;GAcG;AAEH,MAAM,OAAO,GAA2C;IACtD,SAAS,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,wBAAwB,CAAC;IACjD,IAAI,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC;IACvC,iBAAiB,EAAE,GAAG,EAAE,CACtB,MAAM,CAAC,8BAA8B,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,uBAAuB,EAAE,CAAC;IACjF,IAAI,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC;IACtE,eAAe,EAAE,GAAG,EAAE,CACpB,MAAM,CAAC,4BAA4B,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,qBAAqB,EAAE,CAAC;IAC7E,UAAU,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,yBAAyB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,mBAAmB,EAAE,CAAC;IACxF,kBAAkB,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,+BAA+B,CAAC;IACjE,gBAAgB,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,6BAA6B,CAAC;IAC7D,iBAAiB,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,8BAA8B,CAAC;IAC/D,iBAAiB,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,8BAA8B,CAAC;IAC/D,MAAM,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC;IAC5E,MAAM,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC;CAC7E,CAAC;AAEF,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClC,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAE1D,IAAI,CAAC,MAAM,EAAE,CAAC;IACZ,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC/C,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,yDAAyD,IAAI,IAAI,CAAC,CAAC;IACxF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;IAChC,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACvE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,iCAAiC,SAAS,KAAK,OAAO,IAAI,CAAC,CAAC;IACjF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
package/dist/index.d.ts CHANGED
@@ -26,7 +26,7 @@ export { DEFAULT_TIER_LIMITS, McpRateLimiter, type McpRateLimiterOptions, type R
26
26
  export { disposeAllAdapters, generateIdempotencyKey, generateUniqueIdempotencyKey, type IdempotencyStore, MCPAdapter, type MCPConfig, } from './servers/adapter.js';
27
27
  export { type ContractCategoryName, type ContractCategorySchemas, type CreateContractsServerOptions, createContractsServer, getContractsCatalog, REGISTERED_CATEGORIES, validatePayload, } from './servers/factories/contracts.js';
28
28
  export { type CreateDocsServerOptions, createDocsServer, enumeratePackages, getLibraryDoc, type LibraryDoc, listLibraries, type PackageEntry, type ResolveResult, resolveLibrary, } from './servers/factories/docs.js';
29
- export { type AssembledContext, type CreateKnowledgeGraphServerOptions, createKnowledgeGraphServer, } from './servers/factories/knowledge-graph.js';
29
+ export { type AssembledContext, type CreateKnowledgeGraphServerOptions, createKnowledgeGraphServer, createKnowledgeGraphToolset, DEFAULT_KG_TOOL_TIMEOUT_MS, type KnowledgeGraphToolset, } from './servers/factories/knowledge-graph.js';
30
30
  export { type CreateRevealuiContentServerOptions, type CredentialsProvider, createRevealuiContentServer, type McpToolAuditOutcome, type McpToolAuditRecord, type McpToolAuditSink, type McpToolCallContext, type ResolvedApiCredentials, setCredentials as setRevealuiContentCredentials, } from './servers/factories/revealui-content.js';
31
31
  export { launchNeonMcp } from './servers/neon.js';
32
32
  export { launchNextDevtoolsMcp } from './servers/next-devtools.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAGH,OAAO,EACL,aAAa,EACb,eAAe,EACf,iBAAiB,EACjB,KAAK,WAAW,EAChB,KAAK,2BAA2B,EAChC,KAAK,wBAAwB,EAC7B,KAAK,WAAW,GACjB,MAAM,kBAAkB,CAAC;AAE1B,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAEnE,OAAO,EACL,iBAAiB,EACjB,KAAK,aAAa,EAClB,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,WAAW,CAAC;AAEnB,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,kBAAkB,EACvB,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,UAAU,EACf,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EACxB,KAAK,sBAAsB,EAC3B,KAAK,kBAAkB,EACvB,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,KAAK,eAAe,EACpB,KAAK,YAAY,EACjB,KAAK,0BAA0B,EAC/B,KAAK,gBAAgB,EACrB,kBAAkB,EAClB,SAAS,EACT,KAAK,gBAAgB,EACrB,oBAAoB,EACpB,KAAK,iBAAiB,EACtB,KAAK,QAAQ,EACb,KAAK,MAAM,EACX,KAAK,aAAa,EAClB,KAAK,eAAe,EACpB,KAAK,QAAQ,EACb,KAAK,gBAAgB,EACrB,KAAK,yBAAyB,EAC9B,KAAK,qBAAqB,EAC1B,KAAK,IAAI,EACT,KAAK,aAAa,EAClB,KAAK,eAAe,EACpB,KAAK,kBAAkB,EACvB,KAAK,qBAAqB,EAC1B,KAAK,oCAAoC,EACzC,KAAK,iCAAiC,EACtC,KAAK,8BAA8B,EACnC,KAAK,IAAI,EACT,KAAK,gBAAgB,GACtB,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,YAAY,EACZ,KAAK,SAAS,IAAI,YAAY,EAC9B,KAAK,cAAc,GACpB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,0BAA0B,EAC1B,yBAAyB,EACzB,gCAAgC,EAChC,KAAK,gBAAgB,EACrB,sBAAsB,EACtB,KAAK,UAAU,EACf,KAAK,iBAAiB,EACtB,uBAAuB,EACvB,gBAAgB,EAChB,KAAK,WAAW,EAChB,KAAK,mBAAmB,EACxB,yBAAyB,EACzB,iBAAiB,EACjB,gCAAgC,EAChC,KAAK,oBAAoB,EACzB,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,mBAAmB,EACnB,KAAK,qBAAqB,EAC1B,aAAa,EACb,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,OAAO,EACZ,KAAK,cAAc,EACnB,+BAA+B,GAChC,MAAM,iBAAiB,CAAC;AACzB,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAEjE,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EACnB,KAAK,aAAa,EAClB,gBAAgB,EAChB,KAAK,uBAAuB,EAC5B,aAAa,EACb,KAAK,sBAAsB,EAC3B,KAAK,0BAA0B,EAC/B,KAAK,mBAAmB,EACxB,KAAK,WAAW,EAChB,aAAa,EACb,KAAK,oBAAoB,EACzB,KAAK,KAAK,GACX,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,eAAe,EACf,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,kBAAkB,GACxB,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,sBAAsB,EACtB,oBAAoB,EACpB,KAAK,cAAc,EACnB,KAAK,WAAW,GACjB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACL,mBAAmB,EACnB,cAAc,EACd,KAAK,qBAAqB,EAC1B,KAAK,eAAe,EACpB,KAAK,eAAe,GACrB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,kBAAkB,EAClB,sBAAsB,EACtB,4BAA4B,EAC5B,KAAK,gBAAgB,EACrB,UAAU,EACV,KAAK,SAAS,GACf,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,KAAK,oBAAoB,EACzB,KAAK,uBAAuB,EAC5B,KAAK,4BAA4B,EACjC,qBAAqB,EACrB,mBAAmB,EACnB,qBAAqB,EACrB,eAAe,GAChB,MAAM,kCAAkC,CAAC;AAE1C,OAAO,EACL,KAAK,uBAAuB,EAC5B,gBAAgB,EAChB,iBAAiB,EACjB,aAAa,EACb,KAAK,UAAU,EACf,aAAa,EACb,KAAK,YAAY,EACjB,KAAK,aAAa,EAClB,cAAc,GACf,MAAM,6BAA6B,CAAC;AAGrC,OAAO,EACL,KAAK,gBAAgB,EACrB,KAAK,iCAAiC,EACtC,0BAA0B,EAC1B,2BAA2B,EAC3B,0BAA0B,EAC1B,KAAK,qBAAqB,GAC3B,MAAM,wCAAwC,CAAC;AAEhD,OAAO,EACL,KAAK,kCAAkC,EACvC,KAAK,mBAAmB,EACxB,2BAA2B,EAC3B,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EACvB,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,EACvB,KAAK,sBAAsB,EAC3B,cAAc,IAAI,6BAA6B,GAChD,MAAM,yCAAyC,CAAC;AAEjD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD,OAAO,EACL,+BAA+B,EAC/B,KAAK,qBAAqB,EAC1B,KAAK,qBAAqB,EAC1B,KAAK,4BAA4B,GAClC,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,KAAK,QAAQ,EACb,KAAK,eAAe,EACpB,KAAK,YAAY,EACjB,YAAY,GACb,MAAM,gBAAgB,CAAC"}
package/dist/index.js CHANGED
@@ -39,7 +39,7 @@ export { createContractsServer, getContractsCatalog, REGISTERED_CATEGORIES, vali
39
39
  export { createDocsServer, enumeratePackages, getLibraryDoc, listLibraries, resolveLibrary, } from './servers/factories/docs.js';
40
40
  // Knowledge graph server (GAP-349 P2 — kg_search/kg_get_node/kg_neighbors/
41
41
  // kg_add_episode/kg_path/kg_at_time/kg_context over @revealui/knowledge-graph)
42
- export { createKnowledgeGraphServer, } from './servers/factories/knowledge-graph.js';
42
+ export { createKnowledgeGraphServer, createKnowledgeGraphToolset, DEFAULT_KG_TOOL_TIMEOUT_MS, } from './servers/factories/knowledge-graph.js';
43
43
  // First-party server factories (Stage 1 PR-1.2 — dual-mode template)
44
44
  export { createRevealuiContentServer, setCredentials as setRevealuiContentCredentials, } from './servers/factories/revealui-content.js';
45
45
  // Server launchers
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,mBAAmB;AACnB,OAAO,EACL,aAAa,EACb,eAAe,EACf,iBAAiB,GAKlB,MAAM,kBAAkB,CAAC;AAG1B,2DAA2D;AAC3D,OAAO,EACL,iBAAiB,EAEjB,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,WAAW,CAAC;AACnB,wFAAwF;AACxF,OAAO,EAiBL,kBAAkB,EAClB,SAAS,EAET,oBAAoB,GAoBrB,MAAM,aAAa,CAAC;AACrB,gBAAgB;AAChB,OAAO,EACL,YAAY,GAGb,MAAM,mBAAmB,CAAC;AAC3B,0CAA0C;AAC1C,OAAO,EACL,0BAA0B,EAC1B,yBAAyB,EACzB,gCAAgC,EAEhC,sBAAsB,EAGtB,uBAAuB,EACvB,gBAAgB,EAGhB,yBAAyB,EACzB,iBAAiB,EACjB,gCAAgC,EAEhC,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,gBAAgB,CAAC;AACxB,0DAA0D;AAC1D,OAAO,EACL,mBAAmB,EAEnB,aAAa,EAKb,+BAA+B,GAChC,MAAM,iBAAiB,CAAC;AAEzB,kFAAkF;AAClF,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EAEnB,gBAAgB,EAEhB,aAAa,EAKb,aAAa,GAGd,MAAM,YAAY,CAAC;AACpB,yCAAyC;AACzC,OAAO,EACL,eAAe,GAIhB,MAAM,eAAe,CAAC;AACvB,yCAAyC;AACzC,OAAO,EACL,sBAAsB,EACtB,oBAAoB,GAGrB,MAAM,uBAAuB,CAAC;AAC/B,2BAA2B;AAC3B,OAAO,EACL,mBAAmB,EACnB,cAAc,GAIf,MAAM,mBAAmB,CAAC;AAC3B,oBAAoB;AACpB,OAAO,EACL,kBAAkB,EAClB,sBAAsB,EACtB,4BAA4B,EAE5B,UAAU,GAEX,MAAM,sBAAsB,CAAC;AAC9B,4EAA4E;AAC5E,OAAO,EAIL,qBAAqB,EACrB,mBAAmB,EACnB,qBAAqB,EACrB,eAAe,GAChB,MAAM,kCAAkC,CAAC;AAC1C,+EAA+E;AAC/E,OAAO,EAEL,gBAAgB,EAChB,iBAAiB,EACjB,aAAa,EAEb,aAAa,EAGb,cAAc,GACf,MAAM,6BAA6B,CAAC;AACrC,2EAA2E;AAC3E,+EAA+E;AAC/E,OAAO,EAGL,0BAA0B,GAC3B,MAAM,wCAAwC,CAAC;AAChD,qEAAqE;AACrE,OAAO,EAGL,2BAA2B,EAM3B,cAAc,IAAI,6BAA6B,GAChD,MAAM,yCAAyC,CAAC;AACjD,mBAAmB;AACnB,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,sDAAsD;AACtD,OAAO,EACL,+BAA+B,GAIhC,MAAM,sBAAsB,CAAC;AAC9B,8CAA8C;AAC9C,OAAO,EAIL,YAAY,GACb,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,mBAAmB;AACnB,OAAO,EACL,aAAa,EACb,eAAe,EACf,iBAAiB,GAKlB,MAAM,kBAAkB,CAAC;AAG1B,2DAA2D;AAC3D,OAAO,EACL,iBAAiB,EAEjB,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,WAAW,CAAC;AACnB,wFAAwF;AACxF,OAAO,EAiBL,kBAAkB,EAClB,SAAS,EAET,oBAAoB,GAoBrB,MAAM,aAAa,CAAC;AACrB,gBAAgB;AAChB,OAAO,EACL,YAAY,GAGb,MAAM,mBAAmB,CAAC;AAC3B,0CAA0C;AAC1C,OAAO,EACL,0BAA0B,EAC1B,yBAAyB,EACzB,gCAAgC,EAEhC,sBAAsB,EAGtB,uBAAuB,EACvB,gBAAgB,EAGhB,yBAAyB,EACzB,iBAAiB,EACjB,gCAAgC,EAEhC,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,gBAAgB,CAAC;AACxB,0DAA0D;AAC1D,OAAO,EACL,mBAAmB,EAEnB,aAAa,EAKb,+BAA+B,GAChC,MAAM,iBAAiB,CAAC;AAEzB,kFAAkF;AAClF,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EAEnB,gBAAgB,EAEhB,aAAa,EAKb,aAAa,GAGd,MAAM,YAAY,CAAC;AACpB,yCAAyC;AACzC,OAAO,EACL,eAAe,GAIhB,MAAM,eAAe,CAAC;AACvB,yCAAyC;AACzC,OAAO,EACL,sBAAsB,EACtB,oBAAoB,GAGrB,MAAM,uBAAuB,CAAC;AAC/B,2BAA2B;AAC3B,OAAO,EACL,mBAAmB,EACnB,cAAc,GAIf,MAAM,mBAAmB,CAAC;AAC3B,oBAAoB;AACpB,OAAO,EACL,kBAAkB,EAClB,sBAAsB,EACtB,4BAA4B,EAE5B,UAAU,GAEX,MAAM,sBAAsB,CAAC;AAC9B,4EAA4E;AAC5E,OAAO,EAIL,qBAAqB,EACrB,mBAAmB,EACnB,qBAAqB,EACrB,eAAe,GAChB,MAAM,kCAAkC,CAAC;AAC1C,+EAA+E;AAC/E,OAAO,EAEL,gBAAgB,EAChB,iBAAiB,EACjB,aAAa,EAEb,aAAa,EAGb,cAAc,GACf,MAAM,6BAA6B,CAAC;AACrC,2EAA2E;AAC3E,+EAA+E;AAC/E,OAAO,EAGL,0BAA0B,EAC1B,2BAA2B,EAC3B,0BAA0B,GAE3B,MAAM,wCAAwC,CAAC;AAChD,qEAAqE;AACrE,OAAO,EAGL,2BAA2B,EAM3B,cAAc,IAAI,6BAA6B,GAChD,MAAM,yCAAyC,CAAC;AACjD,mBAAmB;AACnB,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,sDAAsD;AACtD,OAAO,EACL,+BAA+B,GAIhC,MAAM,sBAAsB,CAAC;AAC9B,8CAA8C;AAC9C,OAAO,EAIL,YAAY,GACb,MAAM,gBAAgB,CAAC"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * Studio-local principal for the knowledge-graph stdio launcher.
3
+ *
4
+ * Reads the same hook-identity files SessionStart writes
5
+ * (`REVDEV_HOOK_IDENTITY_DIR` / `~/.local/share/revealui/hook-identities`).
6
+ * Does not import `@revealui/harnesses` (MCP stays free of the adapter layer).
7
+ */
8
+ import { type MemoryHarness, type MemoryPrincipal } from '@revealui/knowledge-graph/memory';
9
+ export interface HookIdentity {
10
+ readonly agentId: string;
11
+ readonly did: string;
12
+ readonly fingerprint: string;
13
+ }
14
+ export declare function defaultIdentityDir(): string;
15
+ export declare function daemonSessionCacheDir(): string;
16
+ export declare function readDaemonSessionCache(ppid?: number | string): string | null;
17
+ export declare function resolveStudioAgentId(): string | null;
18
+ export declare function loadHookIdentity(agentId: string, dir?: string): HookIdentity | null;
19
+ export declare function detectHarness(): MemoryHarness;
20
+ export declare function loadStudioPrincipal(): MemoryPrincipal | null;
21
+ export declare function missingPrincipalKey(): string;
22
+ export declare function warnMissingPrincipal(log: {
23
+ warning(msg: string): void;
24
+ }): void;
25
+ /** Test-only: clear the once-per-process warn set. */
26
+ export declare function resetMissingPrincipalWarnings(): void;
27
+ //# sourceMappingURL=_kg-principal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_kg-principal.d.ts","sourceRoot":"","sources":["../../src/servers/_kg-principal.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,eAAe,EAErB,MAAM,kCAAkC,CAAC;AAY1C,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B;AAID,wBAAgB,kBAAkB,IAAI,MAAM,CAK3C;AAED,wBAAgB,qBAAqB,IAAI,MAAM,CAK9C;AAWD,wBAAgB,sBAAsB,CAAC,IAAI,GAAE,MAAM,GAAG,MAAqB,GAAG,MAAM,GAAG,IAAI,CAS1F;AAED,wBAAgB,oBAAoB,IAAI,MAAM,GAAG,IAAI,CAIpD;AAED,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,MAAM,EACf,GAAG,GAAE,MAA6B,GACjC,YAAY,GAAG,IAAI,CAmBrB;AAED,wBAAgB,aAAa,IAAI,aAAa,CAM7C;AAED,wBAAgB,mBAAmB,IAAI,eAAe,GAAG,IAAI,CAe5D;AAED,wBAAgB,mBAAmB,IAAI,MAAM,CAE5C;AAED,wBAAgB,oBAAoB,CAAC,GAAG,EAAE;IAAE,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,GAAG,IAAI,CAO9E;AAED,sDAAsD;AACtD,wBAAgB,6BAA6B,IAAI,IAAI,CAEpD"}
@@ -0,0 +1,111 @@
1
+ /**
2
+ * Studio-local principal for the knowledge-graph stdio launcher.
3
+ *
4
+ * Reads the same hook-identity files SessionStart writes
5
+ * (`REVDEV_HOOK_IDENTITY_DIR` / `~/.local/share/revealui/hook-identities`).
6
+ * Does not import `@revealui/harnesses` (MCP stays free of the adapter layer).
7
+ */
8
+ import { readFileSync } from 'node:fs';
9
+ import { homedir } from 'node:os';
10
+ import { join } from 'node:path';
11
+ import { STUDIO_LOCAL_TENANT, } from '@revealui/knowledge-graph/memory';
12
+ const HARNESSES = [
13
+ 'claude',
14
+ 'grok',
15
+ 'cursor',
16
+ 'opencode',
17
+ 'revdev',
18
+ 'hermes',
19
+ 'other',
20
+ ];
21
+ const warned = new Set();
22
+ export function defaultIdentityDir() {
23
+ return (process.env.REVDEV_HOOK_IDENTITY_DIR ??
24
+ join(homedir(), '.local', 'share', 'revealui', 'hook-identities'));
25
+ }
26
+ export function daemonSessionCacheDir() {
27
+ return (process.env.REVDEV_DAEMON_SESSION_DIR ??
28
+ join(homedir(), '.local', 'share', 'revealui', 'daemon-sessions'));
29
+ }
30
+ function safeAgentId(agentId) {
31
+ return (agentId.length > 0 &&
32
+ !agentId.includes('/') &&
33
+ !agentId.includes('\\') &&
34
+ !agentId.includes('..'));
35
+ }
36
+ export function readDaemonSessionCache(ppid = process.ppid) {
37
+ try {
38
+ const safe = String(ppid).replace(/[^a-zA-Z0-9_-]/g, '');
39
+ if (!safe)
40
+ return null;
41
+ const raw = readFileSync(join(daemonSessionCacheDir(), `${safe}.id`), 'utf-8').trim();
42
+ return raw || null;
43
+ }
44
+ catch {
45
+ return null;
46
+ }
47
+ }
48
+ export function resolveStudioAgentId() {
49
+ const env = process.env.REVDEV_AGENT_ID?.trim();
50
+ if (env)
51
+ return env;
52
+ return readDaemonSessionCache(process.ppid);
53
+ }
54
+ export function loadHookIdentity(agentId, dir = defaultIdentityDir()) {
55
+ if (!safeAgentId(agentId))
56
+ return null;
57
+ try {
58
+ const raw = readFileSync(join(dir, `${agentId}.json`), 'utf-8');
59
+ const parsed = JSON.parse(raw);
60
+ if (!(parsed &&
61
+ typeof parsed.did === 'string' &&
62
+ typeof parsed.fingerprint === 'string' &&
63
+ typeof parsed.privateKeyPem === 'string')) {
64
+ return null;
65
+ }
66
+ return { agentId, did: parsed.did, fingerprint: parsed.fingerprint };
67
+ }
68
+ catch {
69
+ return null;
70
+ }
71
+ }
72
+ export function detectHarness() {
73
+ const raw = process.env.REVDEV_HARNESS;
74
+ if (raw && HARNESSES.includes(raw)) {
75
+ return raw;
76
+ }
77
+ return 'other';
78
+ }
79
+ export function loadStudioPrincipal() {
80
+ const agentId = resolveStudioAgentId();
81
+ if (!agentId)
82
+ return null;
83
+ const identity = loadHookIdentity(agentId);
84
+ if (!identity)
85
+ return null;
86
+ return {
87
+ did: identity.did,
88
+ agentId: identity.agentId,
89
+ fingerprint: identity.fingerprint,
90
+ didKind: 'agent-key',
91
+ harness: detectHarness(),
92
+ tenantId: STUDIO_LOCAL_TENANT,
93
+ trustBoundary: 'studio-local',
94
+ isFleetOperator: true,
95
+ };
96
+ }
97
+ export function missingPrincipalKey() {
98
+ return process.env.REVDEV_AGENT_ID?.trim() || `ppid:${process.ppid}`;
99
+ }
100
+ export function warnMissingPrincipal(log) {
101
+ const key = missingPrincipalKey();
102
+ if (warned.has(key))
103
+ return;
104
+ warned.add(key);
105
+ log.warning('[durable-memory] knowledge graph principal missing. Proceeding without durable memory.');
106
+ }
107
+ /** Test-only: clear the once-per-process warn set. */
108
+ export function resetMissingPrincipalWarnings() {
109
+ warned.clear();
110
+ }
111
+ //# sourceMappingURL=_kg-principal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_kg-principal.js","sourceRoot":"","sources":["../../src/servers/_kg-principal.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAGL,mBAAmB,GACpB,MAAM,kCAAkC,CAAC;AAE1C,MAAM,SAAS,GAA6B;IAC1C,QAAQ;IACR,MAAM;IACN,QAAQ;IACR,UAAU;IACV,QAAQ;IACR,QAAQ;IACR,OAAO;CACR,CAAC;AAQF,MAAM,MAAM,GAAG,IAAI,GAAG,EAAU,CAAC;AAEjC,MAAM,UAAU,kBAAkB;IAChC,OAAO,CACL,OAAO,CAAC,GAAG,CAAC,wBAAwB;QACpC,IAAI,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,iBAAiB,CAAC,CAClE,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,qBAAqB;IACnC,OAAO,CACL,OAAO,CAAC,GAAG,CAAC,yBAAyB;QACrC,IAAI,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,iBAAiB,CAAC,CAClE,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAAC,OAAe;IAClC,OAAO,CACL,OAAO,CAAC,MAAM,GAAG,CAAC;QAClB,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC;QACtB,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;QACvB,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CACxB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,OAAwB,OAAO,CAAC,IAAI;IACzE,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC;QACzD,IAAI,CAAC,IAAI;YAAE,OAAO,IAAI,CAAC;QACvB,MAAM,GAAG,GAAG,YAAY,CAAC,IAAI,CAAC,qBAAqB,EAAE,EAAE,GAAG,IAAI,KAAK,CAAC,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;QACtF,OAAO,GAAG,IAAI,IAAI,CAAC;IACrB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,UAAU,oBAAoB;IAClC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,IAAI,EAAE,CAAC;IAChD,IAAI,GAAG;QAAE,OAAO,GAAG,CAAC;IACpB,OAAO,sBAAsB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAC9C,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC9B,OAAe,EACf,MAAc,kBAAkB,EAAE;IAElC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;QAAE,OAAO,IAAI,CAAC;IACvC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC;QAChE,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAuD,CAAC;QACrF,IACE,CAAC,CACC,MAAM;YACN,OAAO,MAAM,CAAC,GAAG,KAAK,QAAQ;YAC9B,OAAO,MAAM,CAAC,WAAW,KAAK,QAAQ;YACtC,OAAO,MAAM,CAAC,aAAa,KAAK,QAAQ,CACzC,EACD,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC;IACvE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,UAAU,aAAa;IAC3B,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;IACvC,IAAI,GAAG,IAAK,SAA+B,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QAC1D,OAAO,GAAoB,CAAC;IAC9B,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,mBAAmB;IACjC,MAAM,OAAO,GAAG,oBAAoB,EAAE,CAAC;IACvC,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAC1B,MAAM,QAAQ,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAC3C,IAAI,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC3B,OAAO;QACL,GAAG,EAAE,QAAQ,CAAC,GAAG;QACjB,OAAO,EAAE,QAAQ,CAAC,OAAO;QACzB,WAAW,EAAE,QAAQ,CAAC,WAAW;QACjC,OAAO,EAAE,WAAW;QACpB,OAAO,EAAE,aAAa,EAAE;QACxB,QAAQ,EAAE,mBAAmB;QAC7B,aAAa,EAAE,cAAc;QAC7B,eAAe,EAAE,IAAI;KACtB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,mBAAmB;IACjC,OAAO,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,IAAI,EAAE,IAAI,QAAQ,OAAO,CAAC,IAAI,EAAE,CAAC;AACvE,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,GAAmC;IACtE,MAAM,GAAG,GAAG,mBAAmB,EAAE,CAAC;IAClC,IAAI,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC;QAAE,OAAO;IAC5B,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAChB,GAAG,CAAC,OAAO,CACT,wFAAwF,CACzF,CAAC;AACJ,CAAC;AAED,sDAAsD;AACtD,MAAM,UAAU,6BAA6B;IAC3C,MAAM,CAAC,KAAK,EAAE,CAAC;AACjB,CAAC"}
@@ -32,10 +32,21 @@
32
32
  * reserved for `revkg scan`), Zod-validates `episodeType` plus every node kind
33
33
  * and edge relation against the ontology enums, and accepts no raw SQL or
34
34
  * table-name input of any kind.
35
+ *
36
+ * Product mode (`mode: 'product'`) extracts `createKnowledgeGraphToolset` so
37
+ * stdio and a later hosted composite share one dispatcher. CallTool threads
38
+ * `extra.authInfo` / `extra.sessionId`. Writes stamp actor + scope from
39
+ * `principalProvider` (client `source` / `contentRef.actorDid` are ignored).
40
+ * Compat mode (default) keeps today's unwrapped JSON for in-repo tests.
35
41
  */
36
42
  import { Server } from '@modelcontextprotocol/sdk/server/index.js';
37
- import { type Embedder, type KgExecutor } from '@revealui/knowledge-graph';
43
+ import { type CallToolRequest, type CallToolResult, type Tool } from '@modelcontextprotocol/sdk/types.js';
44
+ import { type AssembledContext, type Embedder, type KgExecutor } from '@revealui/knowledge-graph';
45
+ import { type MemoryPrincipal } from '@revealui/knowledge-graph/memory';
38
46
  import { z } from 'zod/v4';
47
+ import type { McpToolAuditSink, McpToolCallContext } from './revealui-content.js';
48
+ /** Dispatch Promise.race budget. Hung writes must not block the agent. */
49
+ export declare const DEFAULT_KG_TOOL_TIMEOUT_MS = 4000;
39
50
  export declare const KgSearchArgsSchema: z.ZodObject<{
40
51
  query: z.ZodString;
41
52
  anchor: z.ZodOptional<z.ZodString>;
@@ -114,15 +125,132 @@ export declare const KgAddEpisodeArgsSchema: z.ZodObject<{
114
125
  episodeType: z.ZodEnum<{
115
126
  json: "json";
116
127
  manual: "manual";
128
+ "agent-fact": "agent-fact";
129
+ memory: "memory";
117
130
  "code-scan": "code-scan";
118
131
  "git-commit": "git-commit";
119
132
  doc: "doc";
133
+ }>;
134
+ source: z.ZodString;
135
+ content: z.ZodOptional<z.ZodString>;
136
+ contentRef: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
137
+ referenceTime: z.ZodOptional<z.ZodString>;
138
+ siteId: z.ZodOptional<z.ZodString>;
139
+ nodes: z.ZodDefault<z.ZodArray<z.ZodObject<{
140
+ kind: z.ZodEnum<{
141
+ symbol: "symbol";
142
+ file: "file";
143
+ skill: "skill";
144
+ agent: "agent";
145
+ dependency: "dependency";
146
+ rule: "rule";
147
+ repo: "repo";
148
+ package: "package";
149
+ app: "app";
150
+ "db-table": "db-table";
151
+ route: "route";
152
+ "mcp-tool": "mcp-tool";
153
+ hook: "hook";
154
+ gap: "gap";
155
+ lane: "lane";
156
+ adr: "adr";
157
+ "secret-path": "secret-path";
158
+ workflow: "workflow";
159
+ concept: "concept";
160
+ }>;
161
+ name: z.ZodString;
162
+ naturalKey: z.ZodString;
163
+ repo: z.ZodOptional<z.ZodString>;
164
+ summary: z.ZodOptional<z.ZodString>;
165
+ attributes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
166
+ }, z.core.$strict>>>;
167
+ edges: z.ZodDefault<z.ZodArray<z.ZodObject<{
168
+ source: z.ZodObject<{
169
+ kind: z.ZodEnum<{
170
+ symbol: "symbol";
171
+ file: "file";
172
+ skill: "skill";
173
+ agent: "agent";
174
+ dependency: "dependency";
175
+ rule: "rule";
176
+ repo: "repo";
177
+ package: "package";
178
+ app: "app";
179
+ "db-table": "db-table";
180
+ route: "route";
181
+ "mcp-tool": "mcp-tool";
182
+ hook: "hook";
183
+ gap: "gap";
184
+ lane: "lane";
185
+ adr: "adr";
186
+ "secret-path": "secret-path";
187
+ workflow: "workflow";
188
+ concept: "concept";
189
+ }>;
190
+ naturalKey: z.ZodString;
191
+ }, z.core.$strict>;
192
+ target: z.ZodObject<{
193
+ kind: z.ZodEnum<{
194
+ symbol: "symbol";
195
+ file: "file";
196
+ skill: "skill";
197
+ agent: "agent";
198
+ dependency: "dependency";
199
+ rule: "rule";
200
+ repo: "repo";
201
+ package: "package";
202
+ app: "app";
203
+ "db-table": "db-table";
204
+ route: "route";
205
+ "mcp-tool": "mcp-tool";
206
+ hook: "hook";
207
+ gap: "gap";
208
+ lane: "lane";
209
+ adr: "adr";
210
+ "secret-path": "secret-path";
211
+ workflow: "workflow";
212
+ concept: "concept";
213
+ }>;
214
+ naturalKey: z.ZodString;
215
+ }, z.core.$strict>;
216
+ relation: z.ZodEnum<{
217
+ blocks: "blocks";
218
+ exports: "exports";
219
+ contains: "contains";
220
+ imports: "imports";
221
+ "depends-on": "depends-on";
222
+ documents: "documents";
223
+ decides: "decides";
224
+ tracks: "tracks";
225
+ implements: "implements";
226
+ supersedes: "supersedes";
227
+ guards: "guards";
228
+ invokes: "invokes";
229
+ "stores-in": "stores-in";
230
+ syncs: "syncs";
231
+ mentions: "mentions";
232
+ discovered: "discovered";
233
+ "relates-to": "relates-to";
234
+ }>;
235
+ fact: z.ZodString;
236
+ repo: z.ZodOptional<z.ZodString>;
237
+ validAt: z.ZodOptional<z.ZodString>;
238
+ attributes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
239
+ }, z.core.$strict>>>;
240
+ }, z.core.$strict>;
241
+ export declare const KgProductAddEpisodeArgsSchema: z.ZodObject<{
242
+ episodeType: z.ZodEnum<{
243
+ manual: "manual";
120
244
  "agent-fact": "agent-fact";
121
245
  memory: "memory";
122
246
  }>;
123
- source: z.ZodString;
247
+ source: z.ZodOptional<z.ZodString>;
124
248
  content: z.ZodOptional<z.ZodString>;
125
249
  contentRef: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
250
+ classification: z.ZodOptional<z.ZodEnum<{
251
+ private: "private";
252
+ workspace: "workspace";
253
+ }>>;
126
254
  referenceTime: z.ZodOptional<z.ZodString>;
127
255
  siteId: z.ZodOptional<z.ZodString>;
128
256
  nodes: z.ZodDefault<z.ZodArray<z.ZodObject<{
@@ -243,18 +371,7 @@ export declare const KgContextArgsSchema: z.ZodObject<{
243
371
  depth: z.ZodOptional<z.ZodNumber>;
244
372
  at: z.ZodOptional<z.ZodString>;
245
373
  }, z.core.$strict>;
246
- export interface AssembledContext {
247
- context: string;
248
- anchor: {
249
- id: string;
250
- naturalKey: string;
251
- };
252
- nodeCount: number;
253
- factCount: number;
254
- charBudget: number;
255
- charsUsed: number;
256
- truncated: boolean;
257
- }
374
+ export type { AssembledContext };
258
375
  export interface CreateKnowledgeGraphServerOptions {
259
376
  /** Injected executor. Tests pass a PGlite-backed `KgExecutor`; production omits this and resolves lazily from `@revealui/db/pool`. */
260
377
  executor?: KgExecutor;
@@ -262,7 +379,29 @@ export interface CreateKnowledgeGraphServerOptions {
262
379
  embedder?: Embedder;
263
380
  /** siteId stamped on episodes ingested via `kg_add_episode`. Defaults to `os.hostname()`. */
264
381
  siteId?: string;
382
+ /** Per-call identity. Required in product mode; ignored in compat. */
383
+ principalProvider?: (ctx: McpToolCallContext) => Promise<MemoryPrincipal | null> | MemoryPrincipal | null;
384
+ /** Optional receipts. Mutating tools fail closed; reads log-and-continue. */
385
+ auditSink?: McpToolAuditSink;
386
+ /** Default `{ kg_add_episode }`. */
387
+ mutatingTools?: ReadonlySet<string>;
388
+ /** `compat` (default) keeps unwrapped JSON. `product` stamps + envelopes. */
389
+ mode?: 'compat' | 'product';
390
+ /** Mount trust boundary. Product default is `studio-local`. */
391
+ trustBoundary?: 'studio-local' | 'hosted';
392
+ /** Dispatch Promise.race budget in ms. Default 4000. */
393
+ timeoutMs?: number;
265
394
  }
395
+ export interface KnowledgeGraphToolset {
396
+ tools: Tool[];
397
+ names: ReadonlySet<string>;
398
+ dispatch(request: CallToolRequest, extra?: unknown): Promise<CallToolResult>;
399
+ }
400
+ /**
401
+ * Shared dispatcher for stdio and a later hosted composite. CallTool must pass
402
+ * `extra` so `principalProvider` can read `authInfo` / `sessionId`.
403
+ */
404
+ export declare function createKnowledgeGraphToolset(options?: CreateKnowledgeGraphServerOptions): KnowledgeGraphToolset;
266
405
  /**
267
406
  * Create a fresh `knowledge-graph` MCP Server instance. Safe to call multiple
268
407
  * times — each call returns an independent Server with its own request
@@ -1 +1 @@
1
- {"version":3,"file":"knowledge-graph.d.ts","sourceRoot":"","sources":["../../../src/servers/factories/knowledge-graph.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AAGH,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAQnE,OAAO,EAIL,KAAK,QAAQ,EAGb,KAAK,UAAU,EAShB,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAiB3B,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAWpB,CAAC;AAEZ,eAAO,MAAM,mBAAmB;;kBAIrB,CAAC;AAEZ,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;kBAOvB,CAAC;AAgCZ,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAkD/B,CAAC;AAEL,eAAO,MAAM,gBAAgB;;;;;kBAOlB,CAAC;AAEZ,eAAO,MAAM,kBAAkB;;;kBAKpB,CAAC;AAEZ,eAAO,MAAM,mBAAmB;;;;;kBAOrB,CAAC;AAkPZ,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3C,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,OAAO,CAAC;CACpB;AAgID,MAAM,WAAW,iCAAiC;IAChD,sIAAsI;IACtI,QAAQ,CAAC,EAAE,UAAU,CAAC;IACtB,kLAAkL;IAClL,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,6FAA6F;IAC7F,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;GAIG;AACH,wBAAgB,0BAA0B,CAAC,OAAO,CAAC,EAAE,iCAAiC,GAAG,MAAM,CA2P9F"}
1
+ {"version":3,"file":"knowledge-graph.d.ts","sourceRoot":"","sources":["../../../src/servers/factories/knowledge-graph.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AAIH,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACnE,OAAO,EACL,KAAK,eAAe,EAEpB,KAAK,cAAc,EAEnB,KAAK,IAAI,EACV,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EACL,KAAK,gBAAgB,EAKrB,KAAK,QAAQ,EAGb,KAAK,UAAU,EAShB,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAQL,KAAK,eAAe,EAIrB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAE3B,OAAO,KAAK,EAEV,gBAAgB,EAChB,kBAAkB,EACnB,MAAM,uBAAuB,CAAC;AAe/B,0EAA0E;AAC1E,eAAO,MAAM,0BAA0B,OAAQ,CAAC;AAQhD,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAWpB,CAAC;AAEZ,eAAO,MAAM,mBAAmB;;kBAIrB,CAAC;AAEZ,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;kBAOvB,CAAC;AA4EZ,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAeE,CAAC;AAEtC,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAiBL,CAAC;AAEtC,eAAO,MAAM,gBAAgB;;;;;kBAOlB,CAAC;AAEZ,eAAO,MAAM,kBAAkB;;;kBAKpB,CAAC;AAEZ,eAAO,MAAM,mBAAmB;;;;;kBAOrB,CAAC;AA6SZ,YAAY,EAAE,gBAAgB,EAAE,CAAC;AAkJjC,MAAM,WAAW,iCAAiC;IAChD,sIAAsI;IACtI,QAAQ,CAAC,EAAE,UAAU,CAAC;IACtB,kLAAkL;IAClL,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,6FAA6F;IAC7F,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,sEAAsE;IACtE,iBAAiB,CAAC,EAAE,CAClB,GAAG,EAAE,kBAAkB,KACpB,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,GAAG,eAAe,GAAG,IAAI,CAAC;IAC9D,6EAA6E;IAC7E,SAAS,CAAC,EAAE,gBAAgB,CAAC;IAC7B,oCAAoC;IACpC,aAAa,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACpC,6EAA6E;IAC7E,IAAI,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;IAC5B,+DAA+D;IAC/D,aAAa,CAAC,EAAE,cAAc,GAAG,QAAQ,CAAC;IAC1C,wDAAwD;IACxD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,eAAe,EAAE,KAAK,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;CAC9E;AAED;;;GAGG;AACH,wBAAgB,2BAA2B,CACzC,OAAO,CAAC,EAAE,iCAAiC,GAC1C,qBAAqB,CAydvB;AAED;;;;GAIG;AACH,wBAAgB,0BAA0B,CAAC,OAAO,CAAC,EAAE,iCAAiC,GAAG,MAAM,CAa9F"}