@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 +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +1 -0
- package/dist/cli.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/servers/_kg-principal.d.ts +27 -0
- package/dist/servers/_kg-principal.d.ts.map +1 -0
- package/dist/servers/_kg-principal.js +111 -0
- package/dist/servers/_kg-principal.js.map +1 -0
- package/dist/servers/factories/knowledge-graph.d.ts +153 -14
- package/dist/servers/factories/knowledge-graph.d.ts.map +1 -1
- package/dist/servers/factories/knowledge-graph.js +571 -219
- package/dist/servers/factories/knowledge-graph.js.map +1 -1
- package/dist/servers/factories/revealui-content.d.ts +19 -0
- package/dist/servers/factories/revealui-content.d.ts.map +1 -1
- package/dist/servers/factories/revealui-content.js +117 -2
- package/dist/servers/factories/revealui-content.js.map +1 -1
- package/dist/servers/knowledge-graph.d.ts +14 -0
- package/dist/servers/knowledge-graph.d.ts.map +1 -0
- package/dist/servers/knowledge-graph.js +45 -0
- package/dist/servers/knowledge-graph.js.map +1 -0
- package/package.json +7 -7
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
|
-
- **
|
|
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,
|
|
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';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -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":"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"}
|
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,
|
|
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":"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"}
|
|
@@ -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
|
|
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
|
|
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
|
|
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"}
|