argustack 0.1.25 → 0.1.27
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 +30 -6
- package/dist/adapters/jira/mapper.d.ts.map +1 -1
- package/dist/adapters/jira/mapper.js +4 -0
- package/dist/adapters/jira/mapper.js.map +1 -1
- package/dist/adapters/jira/provider.d.ts +2 -2
- package/dist/adapters/jira/provider.d.ts.map +1 -1
- package/dist/adapters/jira/provider.js +10 -7
- package/dist/adapters/jira/provider.js.map +1 -1
- package/dist/adapters/postgres/schema.d.ts.map +1 -1
- package/dist/adapters/postgres/schema.js +39 -0
- package/dist/adapters/postgres/schema.js.map +1 -1
- package/dist/adapters/postgres/storage.d.ts +8 -1
- package/dist/adapters/postgres/storage.d.ts.map +1 -1
- package/dist/adapters/postgres/storage.js +113 -1
- package/dist/adapters/postgres/storage.js.map +1 -1
- package/dist/cli/graph.d.ts +3 -0
- package/dist/cli/graph.d.ts.map +1 -0
- package/dist/cli/graph.js +96 -0
- package/dist/cli/graph.js.map +1 -0
- package/dist/cli/index.js +2 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/init/generators.d.ts.map +1 -1
- package/dist/cli/init/generators.js +8 -2
- package/dist/cli/init/generators.js.map +1 -1
- package/dist/cli/init/setup-jira.d.ts.map +1 -1
- package/dist/cli/init/setup-jira.js +33 -13
- package/dist/cli/init/setup-jira.js.map +1 -1
- package/dist/cli/init/types.d.ts +2 -0
- package/dist/cli/init/types.d.ts.map +1 -1
- package/dist/cli/init/types.js.map +1 -1
- package/dist/cli/sync.d.ts +0 -9
- package/dist/cli/sync.d.ts.map +1 -1
- package/dist/cli/sync.js +37 -2
- package/dist/cli/sync.js.map +1 -1
- package/dist/core/ports/storage.d.ts +15 -1
- package/dist/core/ports/storage.d.ts.map +1 -1
- package/dist/core/types/config.d.ts +1 -0
- package/dist/core/types/config.d.ts.map +1 -1
- package/dist/core/types/config.js.map +1 -1
- package/dist/core/types/graph.d.ts +35 -0
- package/dist/core/types/graph.d.ts.map +1 -0
- package/dist/core/types/graph.js +2 -0
- package/dist/core/types/graph.js.map +1 -0
- package/dist/core/types/index.d.ts +1 -0
- package/dist/core/types/index.d.ts.map +1 -1
- package/dist/mcp/helpers.js +1 -1
- package/dist/mcp/helpers.js.map +1 -1
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +2 -0
- package/dist/mcp/server.js.map +1 -1
- package/dist/mcp/tools/graph.d.ts +3 -0
- package/dist/mcp/tools/graph.d.ts.map +1 -0
- package/dist/mcp/tools/graph.js +398 -0
- package/dist/mcp/tools/graph.js.map +1 -0
- package/dist/use-cases/build-graph.d.ts +13 -0
- package/dist/use-cases/build-graph.d.ts.map +1 -0
- package/dist/use-cases/build-graph.js +270 -0
- package/dist/use-cases/build-graph.js.map +1 -0
- package/dist/{adapters/jira → workspace}/adf.d.ts +1 -0
- package/dist/workspace/adf.d.ts.map +1 -0
- package/dist/{adapters/jira → workspace}/adf.js +157 -0
- package/dist/workspace/adf.js.map +1 -0
- package/package.json +1 -1
- package/dist/adapters/jira/adf.d.ts.map +0 -1
- package/dist/adapters/jira/adf.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../../src/core/ports/storage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAC/
|
|
1
|
+
{"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../../src/core/ports/storage.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/core/types/config.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,GAAG,KAAK,GAAG,IAAI,GAAG,OAAO,CAAC;AAE5E,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/core/types/config.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,GAAG,KAAK,GAAG,IAAI,GAAG,OAAO,CAAC;AAE5E,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,CAAC,CAAC;IACX,kDAAkD;IAClD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,mCAAmC;IACnC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC,CAAC;IACnD,+CAA+C;IAC/C,KAAK,EAAE,UAAU,EAAE,CAAC;IACpB,iCAAiC;IACjC,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,gDAAgD;AAChD,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,UAAU,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,CAgDlF,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,UAAU,EAAoD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/core/types/config.ts"],"names":[],"mappings":"AAAA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/core/types/config.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAwBH,gDAAgD;AAChD,MAAM,CAAC,MAAM,WAAW,GAA+D;IACrF,IAAI,EAAE;QACJ,KAAK,EAAE,MAAM;QACb,WAAW,EACT,4GAA4G;YAC5G,0GAA0G;YAC1G,4HAA4H;KAC/H;IACD,GAAG,EAAE;QACH,KAAK,EAAE,8BAA8B;QACrC,WAAW,EACT,6FAA6F;YAC7F,uGAAuG;YACvG,4DAA4D;YAC5D,iGAAiG;YACjG,wEAAwE;KAC3E;IACD,MAAM,EAAE;QACN,KAAK,EAAE,kCAAkC;QACzC,WAAW,EACT,8GAA8G;YAC9G,0EAA0E;YAC1E,8FAA8F;YAC9F,wEAAwE;KAC3E;IACD,GAAG,EAAE;QACH,KAAK,EAAE,iCAAiC;QACxC,WAAW,EACT,+DAA+D;YAC/D,wEAAwE;YACxE,qEAAqE;YACrE,uDAAuD;KAC1D;IACD,KAAK,EAAE;QACL,KAAK,EAAE,0BAA0B;QACjC,WAAW,EACT,gEAAgE;YAChE,kFAAkF;YAClF,8DAA8D;KACjE;IACD,EAAE,EAAE;QACF,KAAK,EAAE,8BAA8B;QACrC,WAAW,EACT,gFAAgF;YAChF,iGAAiG;YACjG,sGAAsG;YACtG,2FAA2F;KAC9F;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAiB,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
export interface GraphEntity {
|
|
2
|
+
id?: number;
|
|
3
|
+
name: string;
|
|
4
|
+
type: string;
|
|
5
|
+
properties: Record<string, unknown>;
|
|
6
|
+
}
|
|
7
|
+
export interface GraphRelationship {
|
|
8
|
+
id?: number;
|
|
9
|
+
sourceId: number;
|
|
10
|
+
targetId: number;
|
|
11
|
+
type: string;
|
|
12
|
+
weight: number;
|
|
13
|
+
source: 'structural' | 'claude';
|
|
14
|
+
properties: Record<string, unknown>;
|
|
15
|
+
}
|
|
16
|
+
export interface GraphObservation {
|
|
17
|
+
id?: number;
|
|
18
|
+
entityId: number;
|
|
19
|
+
content: string;
|
|
20
|
+
author: string;
|
|
21
|
+
createdAt?: string;
|
|
22
|
+
}
|
|
23
|
+
export interface GraphQueryResult {
|
|
24
|
+
entities: GraphEntity[];
|
|
25
|
+
relationships: GraphRelationship[];
|
|
26
|
+
observations: GraphObservation[];
|
|
27
|
+
}
|
|
28
|
+
export interface GraphStats {
|
|
29
|
+
entityCount: number;
|
|
30
|
+
relationshipCount: number;
|
|
31
|
+
observationCount: number;
|
|
32
|
+
byEntityType: Record<string, number>;
|
|
33
|
+
byRelationshipType: Record<string, number>;
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=graph.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"graph.d.ts","sourceRoot":"","sources":["../../../src/core/types/graph.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,WAAW;IAC1B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACrC;AAED,MAAM,WAAW,iBAAiB;IAChC,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,YAAY,GAAG,QAAQ,CAAC;IAChC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACrC;AAED,MAAM,WAAW,gBAAgB;IAC/B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,aAAa,EAAE,iBAAiB,EAAE,CAAC;IACnC,YAAY,EAAE,gBAAgB,EAAE,CAAC;CAClC;AAED,MAAM,WAAW,UAAU;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,gBAAgB,EAAE,MAAM,CAAC;IACzB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC5C"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"graph.js","sourceRoot":"","sources":["../../../src/core/types/graph.ts"],"names":[],"mappings":""}
|
|
@@ -6,4 +6,5 @@ export type { SourceType, SourceConfig, WorkspaceConfig, } from './config.js';
|
|
|
6
6
|
export { SOURCE_META, ALL_SOURCES } from './config.js';
|
|
7
7
|
export type { DbEngine, DbTable, DbColumn, DbForeignKey, DbIndex, DbSchemaBatch, } from './database.js';
|
|
8
8
|
export type { ProxyConfig, ProxyAuth, ProxyEndpoint, ProxyEndpoints, ProxyFieldMapping, } from './proxy-config.js';
|
|
9
|
+
export type { GraphEntity, GraphRelationship, GraphObservation, GraphQueryResult, GraphStats, } from './graph.js';
|
|
9
10
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/types/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,KAAK,EACL,YAAY,EACZ,cAAc,EACd,YAAY,EACZ,SAAS,EACT,UAAU,EACV,kBAAkB,GACnB,MAAM,YAAY,CAAC;AAEpB,YAAY,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAE5C,YAAY,EACV,MAAM,EACN,UAAU,EACV,cAAc,EACd,WAAW,EACX,MAAM,GACP,MAAM,UAAU,CAAC;AAElB,YAAY,EACV,WAAW,EACX,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,EACf,mBAAmB,EACnB,OAAO,EACP,WAAW,GACZ,MAAM,aAAa,CAAC;AAErB,YAAY,EACV,UAAU,EACV,YAAY,EACZ,eAAe,GAChB,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAEvD,YAAY,EACV,QAAQ,EACR,OAAO,EACP,QAAQ,EACR,YAAY,EACZ,OAAO,EACP,aAAa,GACd,MAAM,eAAe,CAAC;AAEvB,YAAY,EACV,WAAW,EACX,SAAS,EACT,aAAa,EACb,cAAc,EACd,iBAAiB,GAClB,MAAM,mBAAmB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/types/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,KAAK,EACL,YAAY,EACZ,cAAc,EACd,YAAY,EACZ,SAAS,EACT,UAAU,EACV,kBAAkB,GACnB,MAAM,YAAY,CAAC;AAEpB,YAAY,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAE5C,YAAY,EACV,MAAM,EACN,UAAU,EACV,cAAc,EACd,WAAW,EACX,MAAM,GACP,MAAM,UAAU,CAAC;AAElB,YAAY,EACV,WAAW,EACX,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,EACf,mBAAmB,EACnB,OAAO,EACP,WAAW,GACZ,MAAM,aAAa,CAAC;AAErB,YAAY,EACV,UAAU,EACV,YAAY,EACZ,eAAe,GAChB,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAEvD,YAAY,EACV,QAAQ,EACR,OAAO,EACP,QAAQ,EACR,YAAY,EACZ,OAAO,EACP,aAAa,GACd,MAAM,eAAe,CAAC;AAEvB,YAAY,EACV,WAAW,EACX,SAAS,EACT,aAAa,EACb,cAAc,EACd,iBAAiB,GAClB,MAAM,mBAAmB,CAAC;AAE3B,YAAY,EACV,WAAW,EACX,iBAAiB,EACjB,gBAAgB,EAChB,gBAAgB,EAChB,UAAU,GACX,MAAM,YAAY,CAAC"}
|
package/dist/mcp/helpers.js
CHANGED
|
@@ -135,7 +135,7 @@ export async function createAdapters(workspaceRoot) {
|
|
|
135
135
|
const { DB_HOST, DB_PORT, DB_USER, DB_PASSWORD, DB_NAME } = process.env;
|
|
136
136
|
let source = null;
|
|
137
137
|
const wsConfig = readConfig(workspaceRoot);
|
|
138
|
-
const issueTypes = wsConfig?.sources.jira?.
|
|
138
|
+
const issueTypes = wsConfig?.sources.jira?.issueTypeIds;
|
|
139
139
|
const { proxyConfigExists, loadProxyConfig, ProxyJiraProvider } = await import('../adapters/jira-proxy/index.js');
|
|
140
140
|
if (proxyConfigExists(workspaceRoot)) {
|
|
141
141
|
const proxyConfig = loadProxyConfig(workspaceRoot);
|
package/dist/mcp/helpers.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/mcp/helpers.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/mcp/helpers.ts"],"names":[],"mappings":"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"}
|
package/dist/mcp/server.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":";AAEA;;;;;;;;;GASG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":";AAEA;;;;;;;;;GASG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AA4BpE,eAAO,MAAM,MAAM,WAWjB,CAAC;AAWH,wBAAsB,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CAIpD"}
|
package/dist/mcp/server.js
CHANGED
|
@@ -21,6 +21,7 @@ import { registerSearchTools } from './tools/search.js';
|
|
|
21
21
|
import { registerEstimateTools } from './tools/estimate.js';
|
|
22
22
|
import { registerDatabaseTools } from './tools/database.js';
|
|
23
23
|
import { registerPushTools } from './tools/push.js';
|
|
24
|
+
import { registerGraphTools } from './tools/graph.js';
|
|
24
25
|
const mcpFilename = fileURLToPath(import.meta.url);
|
|
25
26
|
const mcpPackageRoot = resolve(dirname(mcpFilename), '..', '..');
|
|
26
27
|
function loadIconDataUri() {
|
|
@@ -51,6 +52,7 @@ registerSearchTools(server);
|
|
|
51
52
|
registerEstimateTools(server);
|
|
52
53
|
registerDatabaseTools(server);
|
|
53
54
|
registerPushTools(server);
|
|
55
|
+
registerGraphTools(server);
|
|
54
56
|
export async function startMcpServer() {
|
|
55
57
|
const transport = new StdioServerTransport();
|
|
56
58
|
await server.connect(transport);
|
package/dist/mcp/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":";AAEA;;;;;;;;;GASG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"graph.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/graph.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAUzE,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAkd1D"}
|
|
@@ -0,0 +1,398 @@
|
|
|
1
|
+
import { z } from 'zod/v4';
|
|
2
|
+
import { loadWorkspace, createAdapters, textResponse, errorResponse, getErrorMessage, } from '../helpers.js';
|
|
3
|
+
export function registerGraphTools(server) {
|
|
4
|
+
server.registerTool('impact_analysis', {
|
|
5
|
+
description: 'Analyze impact of changing a file or module. Returns connected issues, developers, PRs via knowledge graph traversal. Run `argustack graph build` first. Use to assess risk before making changes.',
|
|
6
|
+
inputSchema: {
|
|
7
|
+
file_or_module: z.string().describe('File path or module name (e.g. "src/adapters/payment", "payment")'),
|
|
8
|
+
depth: z.number().optional().describe('Graph traversal depth (default: 2)'),
|
|
9
|
+
},
|
|
10
|
+
}, async ({ file_or_module: target, depth }) => {
|
|
11
|
+
const ws = loadWorkspace();
|
|
12
|
+
if (!ws.ok) {
|
|
13
|
+
return errorResponse(`Workspace not found: ${ws.reason}`);
|
|
14
|
+
}
|
|
15
|
+
const { storage } = await createAdapters(ws.root);
|
|
16
|
+
try {
|
|
17
|
+
await storage.initialize();
|
|
18
|
+
const result = await storage.queryGraph(target, depth ?? 2);
|
|
19
|
+
if (result.entities.length === 0) {
|
|
20
|
+
return textResponse(`No graph data for "${target}". Run "argustack graph build" first.`);
|
|
21
|
+
}
|
|
22
|
+
const issues = result.entities.filter((e) => e.type === 'issue');
|
|
23
|
+
const developers = result.entities.filter((e) => e.type === 'developer');
|
|
24
|
+
const prs = result.entities.filter((e) => e.type === 'pr');
|
|
25
|
+
const modules = result.entities.filter((e) => e.type === 'module');
|
|
26
|
+
const lines = [
|
|
27
|
+
`# Impact Analysis: ${target}`,
|
|
28
|
+
'',
|
|
29
|
+
`**${String(issues.length)} issues**, **${String(developers.length)} developers**, **${String(prs.length)} PRs**, **${String(modules.length)} modules** connected`,
|
|
30
|
+
'',
|
|
31
|
+
];
|
|
32
|
+
if (issues.length > 0) {
|
|
33
|
+
lines.push('## Connected Issues');
|
|
34
|
+
for (const issue of issues.slice(0, 20)) {
|
|
35
|
+
const props = issue.properties;
|
|
36
|
+
lines.push(`- **${issue.name}** — ${typeof props['status'] === 'string' ? props['status'] : '?'} | ${typeof props['summary'] === 'string' ? props['summary'] : ''}`);
|
|
37
|
+
}
|
|
38
|
+
lines.push('');
|
|
39
|
+
}
|
|
40
|
+
if (developers.length > 0) {
|
|
41
|
+
lines.push('## Developers');
|
|
42
|
+
const devWeights = developers.map((dev) => {
|
|
43
|
+
const rels = result.relationships.filter((r) => r.sourceId === dev.id || r.targetId === dev.id);
|
|
44
|
+
return { name: dev.name, connections: rels.length };
|
|
45
|
+
}).sort((a, b) => b.connections - a.connections);
|
|
46
|
+
for (const dev of devWeights.slice(0, 10)) {
|
|
47
|
+
lines.push(`- ${dev.name} — ${String(dev.connections)} connections`);
|
|
48
|
+
}
|
|
49
|
+
lines.push('');
|
|
50
|
+
}
|
|
51
|
+
if (result.observations.length > 0) {
|
|
52
|
+
lines.push('## Observations');
|
|
53
|
+
for (const obs of result.observations) {
|
|
54
|
+
const entity = result.entities.find((e) => e.id === obs.entityId);
|
|
55
|
+
lines.push(`- [${entity?.name ?? '?'}] ${obs.content}`);
|
|
56
|
+
}
|
|
57
|
+
lines.push('');
|
|
58
|
+
}
|
|
59
|
+
await storage.close();
|
|
60
|
+
return textResponse(lines.join('\n'));
|
|
61
|
+
}
|
|
62
|
+
catch (err) {
|
|
63
|
+
await storage.close();
|
|
64
|
+
return errorResponse(`Impact analysis failed: ${getErrorMessage(err)}`);
|
|
65
|
+
}
|
|
66
|
+
});
|
|
67
|
+
server.registerTool('developer_expertise', {
|
|
68
|
+
description: 'Find developers who know a specific area. Ranks by commits, reviews, issue assignments via knowledge graph. Run `argustack graph build` first.',
|
|
69
|
+
inputSchema: {
|
|
70
|
+
area: z.string().describe('Topic, module, or component name (e.g. "payment", "authentication")'),
|
|
71
|
+
limit: z.number().optional().describe('Max developers to return (default: 10)'),
|
|
72
|
+
},
|
|
73
|
+
}, async ({ area, limit }) => {
|
|
74
|
+
const ws = loadWorkspace();
|
|
75
|
+
if (!ws.ok) {
|
|
76
|
+
return errorResponse(`Workspace not found: ${ws.reason}`);
|
|
77
|
+
}
|
|
78
|
+
const { storage } = await createAdapters(ws.root);
|
|
79
|
+
try {
|
|
80
|
+
await storage.initialize();
|
|
81
|
+
const result = await storage.queryGraph(area, 2);
|
|
82
|
+
if (result.entities.length === 0) {
|
|
83
|
+
return textResponse(`No graph data for "${area}". Run "argustack graph build" first.`);
|
|
84
|
+
}
|
|
85
|
+
const developers = result.entities.filter((e) => e.type === 'developer');
|
|
86
|
+
const ranked = developers.map((dev) => {
|
|
87
|
+
const rels = result.relationships.filter((r) => r.sourceId === dev.id || r.targetId === dev.id);
|
|
88
|
+
const commits = rels.filter((r) => r.type === 'authored_commit_for' || r.type === 'changed').length;
|
|
89
|
+
const reviews = rels.filter((r) => r.type === 'reviewed').length;
|
|
90
|
+
const assigned = rels.filter((r) => r.type === 'assigned_to').length;
|
|
91
|
+
return { name: dev.name, total: rels.length, commits, reviews, assigned };
|
|
92
|
+
}).sort((a, b) => b.total - a.total).slice(0, limit ?? 10);
|
|
93
|
+
const lines = [
|
|
94
|
+
`# Developer Expertise: ${area}`,
|
|
95
|
+
'',
|
|
96
|
+
];
|
|
97
|
+
for (let i = 0; i < ranked.length; i++) {
|
|
98
|
+
const dev = ranked[i];
|
|
99
|
+
if (!dev) {
|
|
100
|
+
continue;
|
|
101
|
+
}
|
|
102
|
+
lines.push(`${String(i + 1)}. **${dev.name}** — ${String(dev.commits)} commits, ${String(dev.reviews)} reviews, ${String(dev.assigned)} assignments`);
|
|
103
|
+
}
|
|
104
|
+
await storage.close();
|
|
105
|
+
return textResponse(lines.join('\n'));
|
|
106
|
+
}
|
|
107
|
+
catch (err) {
|
|
108
|
+
await storage.close();
|
|
109
|
+
return errorResponse(`Developer expertise failed: ${getErrorMessage(err)}`);
|
|
110
|
+
}
|
|
111
|
+
});
|
|
112
|
+
server.registerTool('related_issues', {
|
|
113
|
+
description: 'Find issues related to a given issue via knowledge graph traversal — through commits, files, PRs, developers. Discovers connections beyond explicit Jira links.',
|
|
114
|
+
inputSchema: {
|
|
115
|
+
issue_key: z.string().describe('Issue key (e.g. "ORG-16999")'),
|
|
116
|
+
depth: z.number().optional().describe('Traversal depth (default: 3)'),
|
|
117
|
+
},
|
|
118
|
+
}, async ({ issue_key: issueKey, depth }) => {
|
|
119
|
+
const ws = loadWorkspace();
|
|
120
|
+
if (!ws.ok) {
|
|
121
|
+
return errorResponse(`Workspace not found: ${ws.reason}`);
|
|
122
|
+
}
|
|
123
|
+
const { storage } = await createAdapters(ws.root);
|
|
124
|
+
try {
|
|
125
|
+
await storage.initialize();
|
|
126
|
+
const result = await storage.queryGraph(issueKey, depth ?? 3);
|
|
127
|
+
const related = result.entities.filter((e) => e.type === 'issue' && e.name !== issueKey);
|
|
128
|
+
if (related.length === 0) {
|
|
129
|
+
return textResponse(`No related issues found for ${issueKey}. Run "argustack graph build" first.`);
|
|
130
|
+
}
|
|
131
|
+
const lines = [
|
|
132
|
+
`# Related Issues: ${issueKey}`,
|
|
133
|
+
`Found ${String(related.length)} related issue(s)`,
|
|
134
|
+
'',
|
|
135
|
+
];
|
|
136
|
+
for (const issue of related.slice(0, 30)) {
|
|
137
|
+
const props = issue.properties;
|
|
138
|
+
const source = result.relationships.some((r) => (r.sourceId === issue.id || r.targetId === issue.id) && r.source === 'claude') ? ' (semantic)' : '';
|
|
139
|
+
lines.push(`- **${issue.name}**${source} — ${typeof props['status'] === 'string' ? props['status'] : '?'} | ${typeof props['summary'] === 'string' ? props['summary'] : ''}`);
|
|
140
|
+
}
|
|
141
|
+
await storage.close();
|
|
142
|
+
return textResponse(lines.join('\n'));
|
|
143
|
+
}
|
|
144
|
+
catch (err) {
|
|
145
|
+
await storage.close();
|
|
146
|
+
return errorResponse(`Related issues failed: ${getErrorMessage(err)}`);
|
|
147
|
+
}
|
|
148
|
+
});
|
|
149
|
+
server.registerTool('code_dependencies', {
|
|
150
|
+
description: 'Show code dependencies for a file or module — co-changed files (coupling), imports, package dependencies. Based on knowledge graph data.',
|
|
151
|
+
inputSchema: {
|
|
152
|
+
file_or_module: z.string().describe('File path or module name'),
|
|
153
|
+
depth: z.number().optional().describe('Traversal depth (default: 2)'),
|
|
154
|
+
},
|
|
155
|
+
}, async ({ file_or_module: target, depth }) => {
|
|
156
|
+
const ws = loadWorkspace();
|
|
157
|
+
if (!ws.ok) {
|
|
158
|
+
return errorResponse(`Workspace not found: ${ws.reason}`);
|
|
159
|
+
}
|
|
160
|
+
const { storage } = await createAdapters(ws.root);
|
|
161
|
+
try {
|
|
162
|
+
await storage.initialize();
|
|
163
|
+
const result = await storage.queryGraph(target, depth ?? 2);
|
|
164
|
+
const coChanges = result.relationships
|
|
165
|
+
.filter((r) => r.type === 'co_changes')
|
|
166
|
+
.sort((a, b) => b.weight - a.weight);
|
|
167
|
+
const imports = result.relationships.filter((r) => r.type === 'imports');
|
|
168
|
+
const pkgDeps = result.relationships.filter((r) => r.type === 'depends_on_pkg');
|
|
169
|
+
const lines = [`# Code Dependencies: ${target}`, ''];
|
|
170
|
+
if (coChanges.length > 0) {
|
|
171
|
+
lines.push('## Co-changed Modules (coupling)');
|
|
172
|
+
for (const rel of coChanges.slice(0, 15)) {
|
|
173
|
+
const other = result.entities.find((e) => e.id === rel.sourceId || e.id === rel.targetId);
|
|
174
|
+
if (other) {
|
|
175
|
+
lines.push(`- ${other.name} (${String(rel.weight)}x together)`);
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
lines.push('');
|
|
179
|
+
}
|
|
180
|
+
if (imports.length > 0) {
|
|
181
|
+
lines.push('## Imports');
|
|
182
|
+
for (const rel of imports.slice(0, 20)) {
|
|
183
|
+
const importedModule = result.entities.find((e) => e.id === rel.targetId);
|
|
184
|
+
if (importedModule) {
|
|
185
|
+
lines.push(`- ${importedModule.name}`);
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
lines.push('');
|
|
189
|
+
}
|
|
190
|
+
if (pkgDeps.length > 0) {
|
|
191
|
+
lines.push('## Package Dependencies');
|
|
192
|
+
for (const rel of pkgDeps.slice(0, 20)) {
|
|
193
|
+
const pkg = result.entities.find((e) => e.id === rel.targetId);
|
|
194
|
+
if (pkg) {
|
|
195
|
+
lines.push(`- ${pkg.name}`);
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
lines.push('');
|
|
199
|
+
}
|
|
200
|
+
if (coChanges.length === 0 && imports.length === 0 && pkgDeps.length === 0) {
|
|
201
|
+
await storage.close();
|
|
202
|
+
return textResponse(`No code dependency data for "${target}". Run "argustack graph build" first.`);
|
|
203
|
+
}
|
|
204
|
+
await storage.close();
|
|
205
|
+
return textResponse(lines.join('\n'));
|
|
206
|
+
}
|
|
207
|
+
catch (err) {
|
|
208
|
+
await storage.close();
|
|
209
|
+
return errorResponse(`Code dependencies failed: ${getErrorMessage(err)}`);
|
|
210
|
+
}
|
|
211
|
+
});
|
|
212
|
+
server.registerTool('business_context', {
|
|
213
|
+
description: 'Show business context for a topic — business processes, features, related issues. Based on semantic graph built by Claude. Run `build_business_graph` first for best results.',
|
|
214
|
+
inputSchema: {
|
|
215
|
+
topic: z.string().describe('Business topic (e.g. "refund", "payment", "onboarding")'),
|
|
216
|
+
depth: z.number().optional().describe('Traversal depth (default: 2)'),
|
|
217
|
+
},
|
|
218
|
+
}, async ({ topic, depth }) => {
|
|
219
|
+
const ws = loadWorkspace();
|
|
220
|
+
if (!ws.ok) {
|
|
221
|
+
return errorResponse(`Workspace not found: ${ws.reason}`);
|
|
222
|
+
}
|
|
223
|
+
const { storage } = await createAdapters(ws.root);
|
|
224
|
+
try {
|
|
225
|
+
await storage.initialize();
|
|
226
|
+
const result = await storage.queryGraph(topic, depth ?? 2);
|
|
227
|
+
const processes = result.entities.filter((e) => e.type === 'business_process');
|
|
228
|
+
const features = result.entities.filter((e) => e.type === 'feature');
|
|
229
|
+
const issues = result.entities.filter((e) => e.type === 'issue');
|
|
230
|
+
const lines = [`# Business Context: ${topic}`, ''];
|
|
231
|
+
if (processes.length > 0) {
|
|
232
|
+
lines.push('## Business Processes');
|
|
233
|
+
for (const p of processes) {
|
|
234
|
+
lines.push(`- **${p.name}**`);
|
|
235
|
+
}
|
|
236
|
+
lines.push('');
|
|
237
|
+
}
|
|
238
|
+
if (features.length > 0) {
|
|
239
|
+
lines.push('## Features');
|
|
240
|
+
for (const f of features) {
|
|
241
|
+
lines.push(`- ${f.name}`);
|
|
242
|
+
}
|
|
243
|
+
lines.push('');
|
|
244
|
+
}
|
|
245
|
+
if (issues.length > 0) {
|
|
246
|
+
lines.push(`## Related Issues (${String(issues.length)})`);
|
|
247
|
+
for (const issue of issues.slice(0, 15)) {
|
|
248
|
+
lines.push(`- **${issue.name}** — ${typeof issue.properties['status'] === 'string' ? issue.properties['status'] : '?'} | ${typeof issue.properties['summary'] === 'string' ? issue.properties['summary'] : ''}`);
|
|
249
|
+
}
|
|
250
|
+
lines.push('');
|
|
251
|
+
}
|
|
252
|
+
if (result.observations.length > 0) {
|
|
253
|
+
lines.push('## Knowledge & Notes');
|
|
254
|
+
for (const obs of result.observations) {
|
|
255
|
+
lines.push(`- ${obs.content}`);
|
|
256
|
+
}
|
|
257
|
+
lines.push('');
|
|
258
|
+
}
|
|
259
|
+
if (processes.length === 0 && features.length === 0 && issues.length === 0) {
|
|
260
|
+
await storage.close();
|
|
261
|
+
return textResponse('No business context for "' + topic + '". Run `build_business_graph` to have Claude analyze issue descriptions.');
|
|
262
|
+
}
|
|
263
|
+
await storage.close();
|
|
264
|
+
return textResponse(lines.join('\n'));
|
|
265
|
+
}
|
|
266
|
+
catch (err) {
|
|
267
|
+
await storage.close();
|
|
268
|
+
return errorResponse(`Business context failed: ${getErrorMessage(err)}`);
|
|
269
|
+
}
|
|
270
|
+
});
|
|
271
|
+
server.registerTool('build_business_graph', {
|
|
272
|
+
description: 'Claude analyzes issue descriptions to discover business processes and features, then saves them to the knowledge graph. Returns entities found for Claude to confirm and save. No external API cost — uses Claude Max subscription.',
|
|
273
|
+
inputSchema: {
|
|
274
|
+
project: z.string().optional().describe('Project key to analyze (default: all)'),
|
|
275
|
+
batch_size: z.number().optional().describe('Issues per batch (default: 50)'),
|
|
276
|
+
},
|
|
277
|
+
}, async ({ project, batch_size: batchSize }) => {
|
|
278
|
+
const ws = loadWorkspace();
|
|
279
|
+
if (!ws.ok) {
|
|
280
|
+
return errorResponse(`Workspace not found: ${ws.reason}`);
|
|
281
|
+
}
|
|
282
|
+
const { storage } = await createAdapters(ws.root);
|
|
283
|
+
try {
|
|
284
|
+
await storage.initialize();
|
|
285
|
+
const projectFilter = project ? `WHERE project_key = $1` : '';
|
|
286
|
+
const params = project ? [project] : [];
|
|
287
|
+
const result = await storage.query(`SELECT issue_key, summary, description, issue_type, status FROM issues ${projectFilter} ORDER BY issue_key LIMIT ${String(batchSize ?? 50)}`, params);
|
|
288
|
+
if (result.rows.length === 0) {
|
|
289
|
+
await storage.close();
|
|
290
|
+
return textResponse('No issues found. Run `argustack sync jira` first.');
|
|
291
|
+
}
|
|
292
|
+
const issueList = result.rows.map((r) => {
|
|
293
|
+
const desc = r['description'] ?? '';
|
|
294
|
+
const preview = desc.length > 200 ? desc.slice(0, 200) + '...' : desc;
|
|
295
|
+
return `**${r['issue_key']}** [${r['issue_type']}] ${r['summary']}\n${preview}`;
|
|
296
|
+
}).join('\n\n');
|
|
297
|
+
await storage.close();
|
|
298
|
+
return textResponse([
|
|
299
|
+
`# Business Graph Analysis`,
|
|
300
|
+
`Analyzed ${String(result.rows.length)} issues. Review and use add_relationship to save connections.`,
|
|
301
|
+
'',
|
|
302
|
+
'## Instructions',
|
|
303
|
+
'Read the issues below. Identify:',
|
|
304
|
+
'1. **Business Processes** (e.g. "Refund Flow", "ACH Processing", "User Onboarding")',
|
|
305
|
+
'2. **Features** (e.g. "Payment Redistribution", "LOC Account Management")',
|
|
306
|
+
'3. Which issues belong to which process/feature',
|
|
307
|
+
'4. Which processes affect each other',
|
|
308
|
+
'',
|
|
309
|
+
'Then call `add_relationship` for each connection found.',
|
|
310
|
+
'Call `add_observation` to record important business knowledge.',
|
|
311
|
+
'',
|
|
312
|
+
'---',
|
|
313
|
+
'',
|
|
314
|
+
issueList,
|
|
315
|
+
].join('\n'));
|
|
316
|
+
}
|
|
317
|
+
catch (err) {
|
|
318
|
+
await storage.close();
|
|
319
|
+
return errorResponse(`Build business graph failed: ${getErrorMessage(err)}`);
|
|
320
|
+
}
|
|
321
|
+
});
|
|
322
|
+
server.registerTool('add_relationship', {
|
|
323
|
+
description: 'Add a relationship between two entities in the knowledge graph. Claude discovers connections and records them. Marked as source=claude — survives graph rebuild.',
|
|
324
|
+
inputSchema: {
|
|
325
|
+
source_name: z.string().describe('Source entity name (e.g. "Refund Flow")'),
|
|
326
|
+
source_type: z.string().describe('Source entity type (e.g. "business_process", "feature", "issue", "developer", "module")'),
|
|
327
|
+
target_name: z.string().describe('Target entity name'),
|
|
328
|
+
target_type: z.string().describe('Target entity type'),
|
|
329
|
+
relationship_type: z.string().describe('Relationship type (e.g. "affects", "part_of_process", "implements_feature", "depends_on", "related_to")'),
|
|
330
|
+
description: z.string().optional().describe('Description of the relationship'),
|
|
331
|
+
},
|
|
332
|
+
}, async ({ source_name: srcName, source_type: srcType, target_name: tgtName, target_type: tgtType, relationship_type: relType, description: desc }) => {
|
|
333
|
+
const ws = loadWorkspace();
|
|
334
|
+
if (!ws.ok) {
|
|
335
|
+
return errorResponse(`Workspace not found: ${ws.reason}`);
|
|
336
|
+
}
|
|
337
|
+
const { storage } = await createAdapters(ws.root);
|
|
338
|
+
try {
|
|
339
|
+
await storage.initialize();
|
|
340
|
+
await storage.saveGraphEntities([
|
|
341
|
+
{ name: srcName, type: srcType, properties: {} },
|
|
342
|
+
{ name: tgtName, type: tgtType, properties: {} },
|
|
343
|
+
]);
|
|
344
|
+
const entityResult = await storage.query('SELECT id, name, type FROM graph_entities WHERE (name = $1 AND type = $2) OR (name = $3 AND type = $4)', [srcName, srcType, tgtName, tgtType]);
|
|
345
|
+
const srcEntity = entityResult.rows.find((r) => r['name'] === srcName && r['type'] === srcType);
|
|
346
|
+
const tgtEntity = entityResult.rows.find((r) => r['name'] === tgtName && r['type'] === tgtType);
|
|
347
|
+
if (!srcEntity || !tgtEntity) {
|
|
348
|
+
await storage.close();
|
|
349
|
+
return errorResponse('Failed to create entities');
|
|
350
|
+
}
|
|
351
|
+
await storage.saveGraphRelationships([{
|
|
352
|
+
sourceId: srcEntity['id'],
|
|
353
|
+
targetId: tgtEntity['id'],
|
|
354
|
+
type: relType,
|
|
355
|
+
weight: 1,
|
|
356
|
+
source: 'claude',
|
|
357
|
+
properties: desc ? { description: desc } : {},
|
|
358
|
+
}]);
|
|
359
|
+
await storage.close();
|
|
360
|
+
return textResponse(`Added: ${srcName} —[${relType}]→ ${tgtName}${desc ? ` (${desc})` : ''}`);
|
|
361
|
+
}
|
|
362
|
+
catch (err) {
|
|
363
|
+
await storage.close();
|
|
364
|
+
return errorResponse(`Add relationship failed: ${getErrorMessage(err)}`);
|
|
365
|
+
}
|
|
366
|
+
});
|
|
367
|
+
server.registerTool('add_observation', {
|
|
368
|
+
description: 'Add a text note/observation to any entity in the knowledge graph. Multiple observations per entity — append only, never overwrites. Use to record business knowledge, warnings, tips.',
|
|
369
|
+
inputSchema: {
|
|
370
|
+
entity_name: z.string().describe('Entity name (e.g. "ORG-16999", "Refund Flow", "Dmitry Kislitsyn")'),
|
|
371
|
+
content: z.string().describe('Observation text (e.g. "After refund, must sync to OrgMeter within same business day")'),
|
|
372
|
+
},
|
|
373
|
+
}, async ({ entity_name: entityName, content }) => {
|
|
374
|
+
const ws = loadWorkspace();
|
|
375
|
+
if (!ws.ok) {
|
|
376
|
+
return errorResponse('Workspace not found: ' + ws.reason);
|
|
377
|
+
}
|
|
378
|
+
const { storage } = await createAdapters(ws.root);
|
|
379
|
+
try {
|
|
380
|
+
await storage.initialize();
|
|
381
|
+
const entityResult = await storage.query('SELECT id FROM graph_entities WHERE name = $1 LIMIT 1', [entityName]);
|
|
382
|
+
if (entityResult.rows.length === 0) {
|
|
383
|
+
await storage.close();
|
|
384
|
+
return errorResponse('Entity "' + entityName + '" not found. Run "argustack graph build" first, or create it via add_relationship.');
|
|
385
|
+
}
|
|
386
|
+
const entityId = entityResult.rows[0]?.['id'];
|
|
387
|
+
await storage.saveGraphObservation(entityId, content, 'claude');
|
|
388
|
+
const allObs = await storage.getObservations(entityId);
|
|
389
|
+
await storage.close();
|
|
390
|
+
return textResponse(`Added observation to "${entityName}". Total observations: ${String(allObs.length)}`);
|
|
391
|
+
}
|
|
392
|
+
catch (err) {
|
|
393
|
+
await storage.close();
|
|
394
|
+
return errorResponse(`Add observation failed: ${getErrorMessage(err)}`);
|
|
395
|
+
}
|
|
396
|
+
});
|
|
397
|
+
}
|
|
398
|
+
//# sourceMappingURL=graph.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"graph.js","sourceRoot":"","sources":["../../../src/mcp/tools/graph.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAC3B,OAAO,EACL,aAAa,EACb,cAAc,EACd,YAAY,EACZ,aAAa,EACb,eAAe,GAChB,MAAM,eAAe,CAAC;AAEvB,MAAM,UAAU,kBAAkB,CAAC,MAAiB;IAClD,MAAM,CAAC,YAAY,CACjB,iBAAiB,EACjB;QACE,WAAW,EAAE,oMAAoM;QACjN,WAAW,EAAE;YACX,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mEAAmE,CAAC;YACxG,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oCAAoC,CAAC;SAC5E;KACF,EACD,KAAK,EAAE,EAAE,cAAc,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE;QAC1C,MAAM,EAAE,GAAG,aAAa,EAAE,CAAC;QAC3B,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAAC,OAAO,aAAa,CAAC,wBAAwB,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC;QAAC,CAAC;QAE1E,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,cAAc,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;QAClD,IAAI,CAAC;YACH,MAAM,OAAO,CAAC,UAAU,EAAE,CAAC;YAC3B,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,CAAC,CAAC;YAE5D,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACjC,OAAO,YAAY,CAAC,sBAAsB,MAAM,uCAAuC,CAAC,CAAC;YAC3F,CAAC;YAED,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC;YACjE,MAAM,UAAU,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC;YACzE,MAAM,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;YAC3D,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;YAEnE,MAAM,KAAK,GAAG;gBACZ,sBAAsB,MAAM,EAAE;gBAC9B,EAAE;gBACF,KAAK,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,gBAAgB,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,oBAAoB,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,aAAa,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,sBAAsB;gBAClK,EAAE;aACH,CAAC;YAEF,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACtB,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;gBAClC,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;oBACxC,MAAM,KAAK,GAAG,KAAK,CAAC,UAAU,CAAC;oBAC/B,KAAK,CAAC,IAAI,CAAC,OAAO,KAAK,CAAC,IAAI,QAAQ,OAAO,KAAK,CAAC,QAAQ,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,OAAO,KAAK,CAAC,SAAS,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBACvK,CAAC;gBACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACjB,CAAC;YAED,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC1B,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;gBAC5B,MAAM,UAAU,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;oBACxC,MAAM,IAAI,GAAG,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC,QAAQ,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC;oBAChG,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;gBACtD,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC;gBACjD,KAAK,MAAM,GAAG,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;oBAC1C,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,IAAI,MAAM,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;gBACvE,CAAC;gBACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACjB,CAAC;YAED,IAAI,MAAM,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACnC,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;gBAC9B,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;oBACtC,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,QAAQ,CAAC,CAAC;oBAClE,KAAK,CAAC,IAAI,CAAC,MAAM,MAAM,EAAE,IAAI,IAAI,GAAG,KAAK,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;gBAC1D,CAAC;gBACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACjB,CAAC;YAED,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;YACtB,OAAO,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACxC,CAAC;QAAC,OAAO,GAAY,EAAE,CAAC;YACtB,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;YACtB,OAAO,aAAa,CAAC,2BAA2B,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC1E,CAAC;IACH,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,YAAY,CACjB,qBAAqB,EACrB;QACE,WAAW,EAAE,gJAAgJ;QAC7J,WAAW,EAAE;YACX,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,qEAAqE,CAAC;YAChG,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wCAAwC,CAAC;SAChF;KACF,EACD,KAAK,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE;QACxB,MAAM,EAAE,GAAG,aAAa,EAAE,CAAC;QAC3B,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAAC,OAAO,aAAa,CAAC,wBAAwB,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC;QAAC,CAAC;QAE1E,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,cAAc,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;QAClD,IAAI,CAAC;YACH,MAAM,OAAO,CAAC,UAAU,EAAE,CAAC;YAC3B,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;YAEjD,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACjC,OAAO,YAAY,CAAC,sBAAsB,IAAI,uCAAuC,CAAC,CAAC;YACzF,CAAC;YAED,MAAM,UAAU,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC;YACzE,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;gBACpC,MAAM,IAAI,GAAG,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC,QAAQ,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC;gBAChG,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,qBAAqB,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,MAAM,CAAC;gBACpG,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,MAAM,CAAC;gBACjE,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,aAAa,CAAC,CAAC,MAAM,CAAC;gBACrE,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;YAC5E,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;YAE3D,MAAM,KAAK,GAAG;gBACZ,0BAA0B,IAAI,EAAE;gBAChC,EAAE;aACH,CAAC;YAEF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACvC,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;gBACtB,IAAI,CAAC,GAAG,EAAE,CAAC;oBAAC,SAAS;gBAAC,CAAC;gBACvB,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,GAAG,CAAC,IAAI,QAAQ,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,aAAa,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,aAAa,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;YACxJ,CAAC;YAED,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;YACtB,OAAO,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACxC,CAAC;QAAC,OAAO,GAAY,EAAE,CAAC;YACtB,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;YACtB,OAAO,aAAa,CAAC,+BAA+B,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC9E,CAAC;IACH,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,YAAY,CACjB,gBAAgB,EAChB;QACE,WAAW,EAAE,iKAAiK;QAC9K,WAAW,EAAE;YACX,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;YAC9D,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;SACtE;KACF,EACD,KAAK,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE;QACvC,MAAM,EAAE,GAAG,aAAa,EAAE,CAAC;QAC3B,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAAC,OAAO,aAAa,CAAC,wBAAwB,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC;QAAC,CAAC;QAE1E,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,cAAc,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;QAClD,IAAI,CAAC;YACH,MAAM,OAAO,CAAC,UAAU,EAAE,CAAC;YAC3B,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,QAAQ,EAAE,KAAK,IAAI,CAAC,CAAC,CAAC;YAE9D,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;YAEzF,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACzB,OAAO,YAAY,CAAC,+BAA+B,QAAQ,sCAAsC,CAAC,CAAC;YACrG,CAAC;YAED,MAAM,KAAK,GAAG;gBACZ,qBAAqB,QAAQ,EAAE;gBAC/B,SAAS,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,mBAAmB;gBAClD,EAAE;aACH,CAAC;YAEF,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;gBACzC,MAAM,KAAK,GAAG,KAAK,CAAC,UAAU,CAAC;gBAC/B,MAAM,MAAM,GAAG,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAC7C,CAAC,CAAC,CAAC,QAAQ,KAAK,KAAK,CAAC,EAAE,IAAI,CAAC,CAAC,QAAQ,KAAK,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,QAAQ,CAC9E,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC;gBACvB,KAAK,CAAC,IAAI,CAAC,OAAO,KAAK,CAAC,IAAI,KAAK,MAAM,MAAM,OAAO,KAAK,CAAC,QAAQ,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,OAAO,KAAK,CAAC,SAAS,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAChL,CAAC;YAED,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;YACtB,OAAO,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACxC,CAAC;QAAC,OAAO,GAAY,EAAE,CAAC;YACtB,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;YACtB,OAAO,aAAa,CAAC,0BAA0B,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACzE,CAAC;IACH,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,YAAY,CACjB,mBAAmB,EACnB;QACE,WAAW,EAAE,0IAA0I;QACvJ,WAAW,EAAE;YACX,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC;YAC/D,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;SACtE;KACF,EACD,KAAK,EAAE,EAAE,cAAc,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE;QAC1C,MAAM,EAAE,GAAG,aAAa,EAAE,CAAC;QAC3B,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAAC,OAAO,aAAa,CAAC,wBAAwB,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC;QAAC,CAAC;QAE1E,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,cAAc,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;QAClD,IAAI,CAAC;YACH,MAAM,OAAO,CAAC,UAAU,EAAE,CAAC;YAC3B,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,CAAC,CAAC;YAE5D,MAAM,SAAS,GAAG,MAAM,CAAC,aAAa;iBACnC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,YAAY,CAAC;iBACtC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC;YAEvC,MAAM,OAAO,GAAG,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;YACzE,MAAM,OAAO,GAAG,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,gBAAgB,CAAC,CAAC;YAEhF,MAAM,KAAK,GAAG,CAAC,wBAAwB,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC;YAErD,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACzB,KAAK,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;gBAC/C,KAAK,MAAM,GAAG,IAAI,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;oBACzC,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,QAAQ,IAAI,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,QAAQ,CAAC,CAAC;oBAC1F,IAAI,KAAK,EAAE,CAAC;wBACV,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,IAAI,KAAK,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;oBAClE,CAAC;gBACH,CAAC;gBACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACjB,CAAC;YAED,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACvB,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gBACzB,KAAK,MAAM,GAAG,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;oBACvC,MAAM,cAAc,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,QAAQ,CAAC,CAAC;oBAC1E,IAAI,cAAc,EAAE,CAAC;wBAAC,KAAK,CAAC,IAAI,CAAC,KAAK,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC;oBAAC,CAAC;gBACjE,CAAC;gBACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACjB,CAAC;YAED,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACvB,KAAK,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;gBACtC,KAAK,MAAM,GAAG,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;oBACvC,MAAM,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,QAAQ,CAAC,CAAC;oBAC/D,IAAI,GAAG,EAAE,CAAC;wBAAC,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;oBAAC,CAAC;gBAC3C,CAAC;gBACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACjB,CAAC;YAED,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC3E,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;gBACtB,OAAO,YAAY,CAAC,gCAAgC,MAAM,uCAAuC,CAAC,CAAC;YACrG,CAAC;YAED,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;YACtB,OAAO,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACxC,CAAC;QAAC,OAAO,GAAY,EAAE,CAAC;YACtB,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;YACtB,OAAO,aAAa,CAAC,6BAA6B,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC5E,CAAC;IACH,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,YAAY,CACjB,kBAAkB,EAClB;QACE,WAAW,EAAE,+KAA+K;QAC5L,WAAW,EAAE;YACX,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,yDAAyD,CAAC;YACrF,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;SACtE;KACF,EACD,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE;QACzB,MAAM,EAAE,GAAG,aAAa,EAAE,CAAC;QAC3B,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAAC,OAAO,aAAa,CAAC,wBAAwB,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC;QAAC,CAAC;QAE1E,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,cAAc,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;QAClD,IAAI,CAAC;YACH,MAAM,OAAO,CAAC,UAAU,EAAE,CAAC;YAC3B,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,KAAK,EAAE,KAAK,IAAI,CAAC,CAAC,CAAC;YAE3D,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,kBAAkB,CAAC,CAAC;YAC/E,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;YACrE,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC;YAEjE,MAAM,KAAK,GAAG,CAAC,uBAAuB,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;YAEnD,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACzB,KAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;gBACpC,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;oBAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC;gBAAC,CAAC;gBAC7D,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACjB,CAAC;YAED,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACxB,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;gBAC1B,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;oBAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;gBAAC,CAAC;gBACxD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACjB,CAAC;YAED,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACtB,KAAK,CAAC,IAAI,CAAC,sBAAsB,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBAC3D,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;oBACxC,KAAK,CAAC,IAAI,CAAC,OAAO,KAAK,CAAC,IAAI,QAAQ,OAAO,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,OAAO,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBACnN,CAAC;gBACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACjB,CAAC;YAED,IAAI,MAAM,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACnC,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;gBACnC,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;oBACtC,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;gBACjC,CAAC;gBACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACjB,CAAC;YAED,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC3E,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;gBACtB,OAAO,YAAY,CAAC,2BAA2B,GAAG,KAAK,GAAG,0EAA0E,CAAC,CAAC;YACxI,CAAC;YAED,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;YACtB,OAAO,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACxC,CAAC;QAAC,OAAO,GAAY,EAAE,CAAC;YACtB,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;YACtB,OAAO,aAAa,CAAC,4BAA4B,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC3E,CAAC;IACH,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,YAAY,CACjB,sBAAsB,EACtB;QACE,WAAW,EAAE,qOAAqO;QAClP,WAAW,EAAE;YACX,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uCAAuC,CAAC;YAChF,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC;SAC7E;KACF,EACD,KAAK,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,EAAE,EAAE;QAC3C,MAAM,EAAE,GAAG,aAAa,EAAE,CAAC;QAC3B,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAAC,OAAO,aAAa,CAAC,wBAAwB,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC;QAAC,CAAC;QAE1E,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,cAAc,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;QAClD,IAAI,CAAC;YACH,MAAM,OAAO,CAAC,UAAU,EAAE,CAAC;YAE3B,MAAM,aAAa,GAAG,OAAO,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9D,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACxC,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,KAAK,CAChC,0EAA0E,aAAa,6BAA6B,MAAM,CAAC,SAAS,IAAI,EAAE,CAAC,EAAE,EAC7I,MAAM,CACP,CAAC;YAEF,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC7B,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;gBACtB,OAAO,YAAY,CAAC,mDAAmD,CAAC,CAAC;YAC3E,CAAC;YAED,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;gBACtC,MAAM,IAAI,GAAI,CAAC,CAAC,aAAa,CAAmB,IAAI,EAAE,CAAC;gBACvD,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;gBACtE,OAAO,KAAK,CAAC,CAAC,WAAW,CAAW,OAAO,CAAC,CAAC,YAAY,CAAW,KAAK,CAAC,CAAC,SAAS,CAAW,KAAK,OAAO,EAAE,CAAC;YAChH,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAEhB,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;YAEtB,OAAO,YAAY,CAAC;gBAClB,2BAA2B;gBAC3B,YAAY,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,+DAA+D;gBACrG,EAAE;gBACF,iBAAiB;gBACjB,kCAAkC;gBAClC,qFAAqF;gBACrF,2EAA2E;gBAC3E,iDAAiD;gBACjD,sCAAsC;gBACtC,EAAE;gBACF,yDAAyD;gBACzD,gEAAgE;gBAChE,EAAE;gBACF,KAAK;gBACL,EAAE;gBACF,SAAS;aACV,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAChB,CAAC;QAAC,OAAO,GAAY,EAAE,CAAC;YACtB,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;YACtB,OAAO,aAAa,CAAC,gCAAgC,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC/E,CAAC;IACH,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,YAAY,CACjB,kBAAkB,EAClB;QACE,WAAW,EAAE,kKAAkK;QAC/K,WAAW,EAAE;YACX,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,yCAAyC,CAAC;YAC3E,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,yFAAyF,CAAC;YAC3H,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,oBAAoB,CAAC;YACtD,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,oBAAoB,CAAC;YACtD,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,yGAAyG,CAAC;YACjJ,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iCAAiC,CAAC;SAC/E;KACF,EACD,KAAK,EAAE,EAAE,WAAW,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,iBAAiB,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,EAAE;QAClJ,MAAM,EAAE,GAAG,aAAa,EAAE,CAAC;QAC3B,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAAC,OAAO,aAAa,CAAC,wBAAwB,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC;QAAC,CAAC;QAE1E,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,cAAc,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;QAClD,IAAI,CAAC;YACH,MAAM,OAAO,CAAC,UAAU,EAAE,CAAC;YAE3B,MAAM,OAAO,CAAC,iBAAiB,CAAC;gBAC9B,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE,EAAE;gBAChD,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE,EAAE;aACjD,CAAC,CAAC;YAEH,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,KAAK,CACtC,wGAAwG,EACxG,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CACrC,CAAC;YAEF,MAAM,SAAS,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,OAAO,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,OAAO,CAAC,CAAC;YAChG,MAAM,SAAS,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,OAAO,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,OAAO,CAAC,CAAC;YAEhG,IAAI,CAAC,SAAS,IAAI,CAAC,SAAS,EAAE,CAAC;gBAC7B,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;gBACtB,OAAO,aAAa,CAAC,2BAA2B,CAAC,CAAC;YACpD,CAAC;YAED,MAAM,OAAO,CAAC,sBAAsB,CAAC,CAAC;oBACpC,QAAQ,EAAE,SAAS,CAAC,IAAI,CAAW;oBACnC,QAAQ,EAAE,SAAS,CAAC,IAAI,CAAW;oBACnC,IAAI,EAAE,OAAO;oBACb,MAAM,EAAE,CAAC;oBACT,MAAM,EAAE,QAAQ;oBAChB,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE;iBAC9C,CAAC,CAAC,CAAC;YAEJ,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;YACtB,OAAO,YAAY,CAAC,UAAU,OAAO,MAAM,OAAO,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAChG,CAAC;QAAC,OAAO,GAAY,EAAE,CAAC;YACtB,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;YACtB,OAAO,aAAa,CAAC,4BAA4B,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC3E,CAAC;IACH,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,YAAY,CACjB,iBAAiB,EACjB;QACE,WAAW,EAAE,uLAAuL;QACpM,WAAW,EAAE;YACX,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mEAAmE,CAAC;YACrG,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,wFAAwF,CAAC;SACvH;KACF,EACD,KAAK,EAAE,EAAE,WAAW,EAAE,UAAU,EAAE,OAAO,EAAE,EAAE,EAAE;QAC7C,MAAM,EAAE,GAAG,aAAa,EAAE,CAAC;QAC3B,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAAC,OAAO,aAAa,CAAC,uBAAuB,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC;QAAC,CAAC;QAE1E,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,cAAc,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;QAClD,IAAI,CAAC;YACH,MAAM,OAAO,CAAC,UAAU,EAAE,CAAC;YAE3B,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,KAAK,CACtC,uDAAuD,EACvD,CAAC,UAAU,CAAC,CACb,CAAC;YAEF,IAAI,YAAY,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACnC,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;gBACtB,OAAO,aAAa,CAAC,UAAU,GAAG,UAAU,GAAG,oFAAoF,CAAC,CAAC;YACvI,CAAC;YAED,MAAM,QAAQ,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAW,CAAC;YACxD,MAAM,OAAO,CAAC,oBAAoB,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;YAEhE,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;YACvD,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;YACtB,OAAO,YAAY,CAAC,yBAAyB,UAAU,0BAA0B,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC5G,CAAC;QAAC,OAAO,GAAY,EAAE,CAAC;YACtB,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;YACtB,OAAO,aAAa,CAAC,2BAA2B,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC1E,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC"}
|