@nahisaho/katashiro-knowledge 0.1.6 → 0.1.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/graph/index.d.ts +1 -1
- package/dist/graph/index.d.ts.map +1 -1
- package/dist/graph/index.js.map +1 -1
- package/dist/graph/knowledge-graph.d.ts +53 -18
- package/dist/graph/knowledge-graph.d.ts.map +1 -1
- package/dist/graph/knowledge-graph.js +90 -45
- package/dist/graph/knowledge-graph.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/persistence/graph-persistence.d.ts +35 -6
- package/dist/persistence/graph-persistence.d.ts.map +1 -1
- package/dist/persistence/graph-persistence.js +94 -23
- package/dist/persistence/graph-persistence.js.map +1 -1
- package/dist/query/graph-query.d.ts +7 -5
- package/dist/query/graph-query.d.ts.map +1 -1
- package/dist/query/graph-query.js +19 -25
- package/dist/query/graph-query.js.map +1 -1
- package/dist/sync/graph-sync.js +8 -8
- package/dist/sync/graph-sync.js.map +1 -1
- package/dist/visualization/graph-visualization.d.ts.map +1 -1
- package/dist/visualization/graph-visualization.js +5 -7
- package/dist/visualization/graph-visualization.js.map +1 -1
- package/package.json +1 -1
package/dist/graph/index.d.ts
CHANGED
|
@@ -3,5 +3,5 @@
|
|
|
3
3
|
*
|
|
4
4
|
* @module @nahisaho/katashiro-knowledge
|
|
5
5
|
*/
|
|
6
|
-
export { KnowledgeGraph, type GraphNode, type GraphEdge, } from './knowledge-graph.js';
|
|
6
|
+
export { KnowledgeGraph, type GraphNode, type GraphNodeInput, type GraphEdge, type GraphEdgeInput, } from './knowledge-graph.js';
|
|
7
7
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/graph/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,cAAc,EACd,KAAK,SAAS,EACd,KAAK,SAAS,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/graph/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,cAAc,EACd,KAAK,SAAS,EACd,KAAK,cAAc,EACnB,KAAK,SAAS,EACd,KAAK,cAAc,GACpB,MAAM,sBAAsB,CAAC"}
|
package/dist/graph/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/graph/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,cAAc,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/graph/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,cAAc,GAKf,MAAM,sBAAsB,CAAC"}
|
|
@@ -6,7 +6,6 @@
|
|
|
6
6
|
* @module @nahisaho/katashiro-knowledge
|
|
7
7
|
* @task TSK-040
|
|
8
8
|
*/
|
|
9
|
-
import { type Result } from '@nahisaho/katashiro-core';
|
|
10
9
|
/**
|
|
11
10
|
* Graph node representing an entity
|
|
12
11
|
*/
|
|
@@ -18,6 +17,18 @@ export interface GraphNode {
|
|
|
18
17
|
readonly createdAt: string;
|
|
19
18
|
readonly updatedAt?: string;
|
|
20
19
|
}
|
|
20
|
+
/**
|
|
21
|
+
* Simplified node input for addNode()
|
|
22
|
+
* AGENTS.md互換API - idはオプショナル
|
|
23
|
+
*/
|
|
24
|
+
export interface GraphNodeInput {
|
|
25
|
+
readonly id?: string;
|
|
26
|
+
readonly type: string;
|
|
27
|
+
readonly label?: string;
|
|
28
|
+
readonly properties?: Record<string, unknown>;
|
|
29
|
+
readonly createdAt?: string;
|
|
30
|
+
readonly updatedAt?: string;
|
|
31
|
+
}
|
|
21
32
|
/**
|
|
22
33
|
* Graph edge representing a relationship
|
|
23
34
|
*/
|
|
@@ -30,6 +41,20 @@ export interface GraphEdge {
|
|
|
30
41
|
readonly properties?: Record<string, unknown>;
|
|
31
42
|
readonly createdAt: string;
|
|
32
43
|
}
|
|
44
|
+
/**
|
|
45
|
+
* Simplified edge input for addEdge()
|
|
46
|
+
* AGENTS.md互換API
|
|
47
|
+
*/
|
|
48
|
+
export interface GraphEdgeInput {
|
|
49
|
+
readonly id?: string;
|
|
50
|
+
readonly source: string;
|
|
51
|
+
readonly target: string;
|
|
52
|
+
readonly predicate?: string;
|
|
53
|
+
readonly type?: string;
|
|
54
|
+
readonly weight?: number;
|
|
55
|
+
readonly properties?: Record<string, unknown>;
|
|
56
|
+
readonly createdAt?: string;
|
|
57
|
+
}
|
|
33
58
|
/**
|
|
34
59
|
* KnowledgeGraph
|
|
35
60
|
*
|
|
@@ -42,67 +67,73 @@ export declare class KnowledgeGraph {
|
|
|
42
67
|
private reverseAdjacencyList;
|
|
43
68
|
/**
|
|
44
69
|
* Add a node to the graph
|
|
70
|
+
* Accepts both full GraphNode and simplified GraphNodeInput
|
|
71
|
+
* AGENTS.md互換: idが省略された場合は自動生成
|
|
45
72
|
*
|
|
46
73
|
* @param node - Node to add
|
|
47
|
-
* @returns
|
|
74
|
+
* @returns The added node (AGENTS.md互換)
|
|
48
75
|
*/
|
|
49
|
-
addNode(node: GraphNode):
|
|
76
|
+
addNode(node: GraphNode | GraphNodeInput): GraphNode;
|
|
50
77
|
/**
|
|
51
78
|
* Add an edge to the graph
|
|
79
|
+
* Accepts both full GraphEdge and simplified GraphEdgeInput
|
|
80
|
+
* AGENTS.md互換: エッジオブジェクトを返す
|
|
52
81
|
*
|
|
53
82
|
* @param edge - Edge to add
|
|
54
|
-
* @returns
|
|
83
|
+
* @returns The added edge (AGENTS.md互換)
|
|
55
84
|
*/
|
|
56
|
-
addEdge(edge: GraphEdge):
|
|
85
|
+
addEdge(edge: GraphEdge | GraphEdgeInput): GraphEdge;
|
|
57
86
|
/**
|
|
58
87
|
* Get a node by ID
|
|
88
|
+
* AGENTS.md互換: 直接ノードを返す
|
|
59
89
|
*
|
|
60
90
|
* @param id - Node ID
|
|
61
91
|
* @returns The node or null if not found
|
|
62
92
|
*/
|
|
63
|
-
getNode(id: string):
|
|
93
|
+
getNode(id: string): GraphNode | null;
|
|
64
94
|
/**
|
|
65
95
|
* Get an edge by ID
|
|
96
|
+
* AGENTS.md互換: 直接エッジを返す
|
|
66
97
|
*
|
|
67
98
|
* @param id - Edge ID
|
|
68
99
|
* @returns The edge or null if not found
|
|
69
100
|
*/
|
|
70
|
-
getEdge(id: string):
|
|
101
|
+
getEdge(id: string): GraphEdge | null;
|
|
71
102
|
/**
|
|
72
103
|
* Get all neighbors of a node (outgoing edges)
|
|
73
104
|
*
|
|
74
105
|
* @param nodeId - Node ID
|
|
75
106
|
* @returns Array of neighboring nodes
|
|
76
107
|
*/
|
|
77
|
-
getNeighbors(nodeId: string):
|
|
108
|
+
getNeighbors(nodeId: string): GraphNode[];
|
|
78
109
|
/**
|
|
79
110
|
* Get incoming neighbors of a node
|
|
80
111
|
*
|
|
81
112
|
* @param nodeId - Node ID
|
|
82
113
|
* @returns Array of nodes with edges pointing to this node
|
|
83
114
|
*/
|
|
84
|
-
getIncomingNeighbors(nodeId: string):
|
|
115
|
+
getIncomingNeighbors(nodeId: string): GraphNode[];
|
|
85
116
|
/**
|
|
86
117
|
* Get all edges from a node
|
|
87
118
|
*
|
|
88
119
|
* @param nodeId - Node ID
|
|
89
120
|
* @returns Array of edges from this node
|
|
90
121
|
*/
|
|
91
|
-
getOutgoingEdges(nodeId: string):
|
|
122
|
+
getOutgoingEdges(nodeId: string): GraphEdge[];
|
|
92
123
|
/**
|
|
93
124
|
* Remove a node and all its edges
|
|
94
125
|
*
|
|
95
126
|
* @param id - Node ID
|
|
96
|
-
* @returns
|
|
127
|
+
* @returns true if removed, false if not found
|
|
97
128
|
*/
|
|
98
|
-
removeNode(id: string):
|
|
129
|
+
removeNode(id: string): boolean;
|
|
99
130
|
/**
|
|
100
131
|
* Remove an edge
|
|
101
132
|
*
|
|
102
133
|
* @param id - Edge ID
|
|
103
|
-
* @returns
|
|
134
|
+
* @returns true if removed, false if not found
|
|
104
135
|
*/
|
|
105
|
-
removeEdge(id: string):
|
|
136
|
+
removeEdge(id: string): boolean;
|
|
106
137
|
/**
|
|
107
138
|
* Find a path between two nodes using BFS
|
|
108
139
|
*
|
|
@@ -110,7 +141,7 @@ export declare class KnowledgeGraph {
|
|
|
110
141
|
* @param endId - End node ID
|
|
111
142
|
* @returns Array of node IDs representing the path, or null if no path
|
|
112
143
|
*/
|
|
113
|
-
findPath(startId: string, endId: string):
|
|
144
|
+
findPath(startId: string, endId: string): string[] | null;
|
|
114
145
|
/**
|
|
115
146
|
* Get all nodes
|
|
116
147
|
*
|
|
@@ -161,10 +192,14 @@ export declare class KnowledgeGraph {
|
|
|
161
192
|
*/
|
|
162
193
|
getEdgesByPredicate(predicate: string): GraphEdge[];
|
|
163
194
|
/**
|
|
164
|
-
*
|
|
165
|
-
* @param
|
|
195
|
+
* 知識グラフを検索(AGENTS.md互換API)
|
|
196
|
+
* @param queryOrFilter 検索クエリ文字列またはフィルターオブジェクト
|
|
166
197
|
* @returns マッチしたノード
|
|
167
198
|
*/
|
|
168
|
-
query(
|
|
199
|
+
query(queryOrFilter: string | {
|
|
200
|
+
type?: string;
|
|
201
|
+
label?: string;
|
|
202
|
+
[key: string]: unknown;
|
|
203
|
+
}): GraphNode[];
|
|
169
204
|
}
|
|
170
205
|
//# sourceMappingURL=knowledge-graph.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"knowledge-graph.d.ts","sourceRoot":"","sources":["../../src/graph/knowledge-graph.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;
|
|
1
|
+
{"version":3,"file":"knowledge-graph.d.ts","sourceRoot":"","sources":["../../src/graph/knowledge-graph.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,7 +6,6 @@
|
|
|
6
6
|
* @module @nahisaho/katashiro-knowledge
|
|
7
7
|
* @task TSK-040
|
|
8
8
|
*/
|
|
9
|
-
import { ok, err } from '@nahisaho/katashiro-core';
|
|
10
9
|
/**
|
|
11
10
|
* KnowledgeGraph
|
|
12
11
|
*
|
|
@@ -19,59 +18,85 @@ export class KnowledgeGraph {
|
|
|
19
18
|
reverseAdjacencyList = new Map();
|
|
20
19
|
/**
|
|
21
20
|
* Add a node to the graph
|
|
21
|
+
* Accepts both full GraphNode and simplified GraphNodeInput
|
|
22
|
+
* AGENTS.md互換: idが省略された場合は自動生成
|
|
22
23
|
*
|
|
23
24
|
* @param node - Node to add
|
|
24
|
-
* @returns
|
|
25
|
+
* @returns The added node (AGENTS.md互換)
|
|
25
26
|
*/
|
|
26
27
|
addNode(node) {
|
|
27
|
-
|
|
28
|
-
|
|
28
|
+
// IDがない場合は自動生成
|
|
29
|
+
const nodeId = node.id || `node-${Date.now()}-${Math.random().toString(36).slice(2, 8)}`;
|
|
30
|
+
if (this.nodes.has(nodeId)) {
|
|
31
|
+
throw new Error(`Node with ID ${nodeId} already exists`);
|
|
29
32
|
}
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
33
|
+
// Normalize input to full GraphNode
|
|
34
|
+
const fullNode = {
|
|
35
|
+
id: nodeId,
|
|
36
|
+
type: node.type,
|
|
37
|
+
label: node.label || node.properties?.name || node.properties?.label || nodeId,
|
|
38
|
+
properties: node.properties || {},
|
|
39
|
+
createdAt: node.createdAt || new Date().toISOString(),
|
|
40
|
+
updatedAt: node.updatedAt,
|
|
41
|
+
};
|
|
42
|
+
this.nodes.set(fullNode.id, fullNode);
|
|
43
|
+
this.adjacencyList.set(fullNode.id, new Set());
|
|
44
|
+
this.reverseAdjacencyList.set(fullNode.id, new Set());
|
|
45
|
+
return fullNode;
|
|
34
46
|
}
|
|
35
47
|
/**
|
|
36
48
|
* Add an edge to the graph
|
|
49
|
+
* Accepts both full GraphEdge and simplified GraphEdgeInput
|
|
50
|
+
* AGENTS.md互換: エッジオブジェクトを返す
|
|
37
51
|
*
|
|
38
52
|
* @param edge - Edge to add
|
|
39
|
-
* @returns
|
|
53
|
+
* @returns The added edge (AGENTS.md互換)
|
|
40
54
|
*/
|
|
41
55
|
addEdge(edge) {
|
|
42
56
|
if (!this.nodes.has(edge.source)) {
|
|
43
|
-
|
|
57
|
+
throw new Error(`Source node ${edge.source} does not exist`);
|
|
44
58
|
}
|
|
45
59
|
if (!this.nodes.has(edge.target)) {
|
|
46
|
-
|
|
60
|
+
throw new Error(`Target node ${edge.target} does not exist`);
|
|
47
61
|
}
|
|
48
|
-
|
|
49
|
-
|
|
62
|
+
// Normalize input to full GraphEdge
|
|
63
|
+
const edgeId = edge.id || `edge-${edge.source}-${edge.target}-${Date.now()}-${Math.random().toString(36).slice(2, 8)}`;
|
|
64
|
+
if (this.edges.has(edgeId)) {
|
|
65
|
+
throw new Error(`Edge with ID ${edgeId} already exists`);
|
|
50
66
|
}
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
67
|
+
const fullEdge = {
|
|
68
|
+
id: edgeId,
|
|
69
|
+
source: edge.source,
|
|
70
|
+
target: edge.target,
|
|
71
|
+
predicate: edge.predicate || edge.type || 'related',
|
|
72
|
+
weight: edge.weight ?? 1,
|
|
73
|
+
properties: edge.properties,
|
|
74
|
+
createdAt: edge.createdAt || new Date().toISOString(),
|
|
75
|
+
};
|
|
76
|
+
this.edges.set(fullEdge.id, fullEdge);
|
|
77
|
+
this.adjacencyList.get(fullEdge.source)?.add(fullEdge.target);
|
|
78
|
+
this.reverseAdjacencyList.get(fullEdge.target)?.add(fullEdge.source);
|
|
79
|
+
return fullEdge;
|
|
55
80
|
}
|
|
56
81
|
/**
|
|
57
82
|
* Get a node by ID
|
|
83
|
+
* AGENTS.md互換: 直接ノードを返す
|
|
58
84
|
*
|
|
59
85
|
* @param id - Node ID
|
|
60
86
|
* @returns The node or null if not found
|
|
61
87
|
*/
|
|
62
88
|
getNode(id) {
|
|
63
|
-
|
|
64
|
-
return ok(node ?? null);
|
|
89
|
+
return this.nodes.get(id) ?? null;
|
|
65
90
|
}
|
|
66
91
|
/**
|
|
67
92
|
* Get an edge by ID
|
|
93
|
+
* AGENTS.md互換: 直接エッジを返す
|
|
68
94
|
*
|
|
69
95
|
* @param id - Edge ID
|
|
70
96
|
* @returns The edge or null if not found
|
|
71
97
|
*/
|
|
72
98
|
getEdge(id) {
|
|
73
|
-
|
|
74
|
-
return ok(edge ?? null);
|
|
99
|
+
return this.edges.get(id) ?? null;
|
|
75
100
|
}
|
|
76
101
|
/**
|
|
77
102
|
* Get all neighbors of a node (outgoing edges)
|
|
@@ -82,7 +107,7 @@ export class KnowledgeGraph {
|
|
|
82
107
|
getNeighbors(nodeId) {
|
|
83
108
|
const neighborIds = this.adjacencyList.get(nodeId);
|
|
84
109
|
if (!neighborIds) {
|
|
85
|
-
return
|
|
110
|
+
return [];
|
|
86
111
|
}
|
|
87
112
|
const neighbors = [];
|
|
88
113
|
for (const id of neighborIds) {
|
|
@@ -91,7 +116,7 @@ export class KnowledgeGraph {
|
|
|
91
116
|
neighbors.push(node);
|
|
92
117
|
}
|
|
93
118
|
}
|
|
94
|
-
return
|
|
119
|
+
return neighbors;
|
|
95
120
|
}
|
|
96
121
|
/**
|
|
97
122
|
* Get incoming neighbors of a node
|
|
@@ -102,7 +127,7 @@ export class KnowledgeGraph {
|
|
|
102
127
|
getIncomingNeighbors(nodeId) {
|
|
103
128
|
const neighborIds = this.reverseAdjacencyList.get(nodeId);
|
|
104
129
|
if (!neighborIds) {
|
|
105
|
-
return
|
|
130
|
+
return [];
|
|
106
131
|
}
|
|
107
132
|
const neighbors = [];
|
|
108
133
|
for (const id of neighborIds) {
|
|
@@ -111,7 +136,7 @@ export class KnowledgeGraph {
|
|
|
111
136
|
neighbors.push(node);
|
|
112
137
|
}
|
|
113
138
|
}
|
|
114
|
-
return
|
|
139
|
+
return neighbors;
|
|
115
140
|
}
|
|
116
141
|
/**
|
|
117
142
|
* Get all edges from a node
|
|
@@ -121,7 +146,7 @@ export class KnowledgeGraph {
|
|
|
121
146
|
*/
|
|
122
147
|
getOutgoingEdges(nodeId) {
|
|
123
148
|
if (!this.nodes.has(nodeId)) {
|
|
124
|
-
return
|
|
149
|
+
return [];
|
|
125
150
|
}
|
|
126
151
|
const edges = [];
|
|
127
152
|
for (const edge of this.edges.values()) {
|
|
@@ -129,17 +154,17 @@ export class KnowledgeGraph {
|
|
|
129
154
|
edges.push(edge);
|
|
130
155
|
}
|
|
131
156
|
}
|
|
132
|
-
return
|
|
157
|
+
return edges;
|
|
133
158
|
}
|
|
134
159
|
/**
|
|
135
160
|
* Remove a node and all its edges
|
|
136
161
|
*
|
|
137
162
|
* @param id - Node ID
|
|
138
|
-
* @returns
|
|
163
|
+
* @returns true if removed, false if not found
|
|
139
164
|
*/
|
|
140
165
|
removeNode(id) {
|
|
141
166
|
if (!this.nodes.has(id)) {
|
|
142
|
-
return
|
|
167
|
+
return false;
|
|
143
168
|
}
|
|
144
169
|
// Remove all edges involving this node
|
|
145
170
|
const edgesToRemove = [];
|
|
@@ -162,23 +187,23 @@ export class KnowledgeGraph {
|
|
|
162
187
|
this.nodes.delete(id);
|
|
163
188
|
this.adjacencyList.delete(id);
|
|
164
189
|
this.reverseAdjacencyList.delete(id);
|
|
165
|
-
return
|
|
190
|
+
return true;
|
|
166
191
|
}
|
|
167
192
|
/**
|
|
168
193
|
* Remove an edge
|
|
169
194
|
*
|
|
170
195
|
* @param id - Edge ID
|
|
171
|
-
* @returns
|
|
196
|
+
* @returns true if removed, false if not found
|
|
172
197
|
*/
|
|
173
198
|
removeEdge(id) {
|
|
174
199
|
const edge = this.edges.get(id);
|
|
175
200
|
if (!edge) {
|
|
176
|
-
return
|
|
201
|
+
return false;
|
|
177
202
|
}
|
|
178
203
|
this.adjacencyList.get(edge.source)?.delete(edge.target);
|
|
179
204
|
this.reverseAdjacencyList.get(edge.target)?.delete(edge.source);
|
|
180
205
|
this.edges.delete(id);
|
|
181
|
-
return
|
|
206
|
+
return true;
|
|
182
207
|
}
|
|
183
208
|
/**
|
|
184
209
|
* Find a path between two nodes using BFS
|
|
@@ -188,14 +213,11 @@ export class KnowledgeGraph {
|
|
|
188
213
|
* @returns Array of node IDs representing the path, or null if no path
|
|
189
214
|
*/
|
|
190
215
|
findPath(startId, endId) {
|
|
191
|
-
if (!this.nodes.has(startId)) {
|
|
192
|
-
return
|
|
193
|
-
}
|
|
194
|
-
if (!this.nodes.has(endId)) {
|
|
195
|
-
return err(new Error(`End node ${endId} does not exist`));
|
|
216
|
+
if (!this.nodes.has(startId) || !this.nodes.has(endId)) {
|
|
217
|
+
return null;
|
|
196
218
|
}
|
|
197
219
|
if (startId === endId) {
|
|
198
|
-
return
|
|
220
|
+
return [startId];
|
|
199
221
|
}
|
|
200
222
|
// BFS
|
|
201
223
|
const visited = new Set();
|
|
@@ -205,7 +227,7 @@ export class KnowledgeGraph {
|
|
|
205
227
|
while (queue.length > 0) {
|
|
206
228
|
const current = queue.shift();
|
|
207
229
|
if (current.id === endId) {
|
|
208
|
-
return
|
|
230
|
+
return current.path;
|
|
209
231
|
}
|
|
210
232
|
if (visited.has(current.id)) {
|
|
211
233
|
continue;
|
|
@@ -223,7 +245,7 @@ export class KnowledgeGraph {
|
|
|
223
245
|
}
|
|
224
246
|
}
|
|
225
247
|
}
|
|
226
|
-
return
|
|
248
|
+
return null;
|
|
227
249
|
}
|
|
228
250
|
/**
|
|
229
251
|
* Get all nodes
|
|
@@ -295,12 +317,35 @@ export class KnowledgeGraph {
|
|
|
295
317
|
return Array.from(this.edges.values()).filter((edge) => edge.predicate === predicate);
|
|
296
318
|
}
|
|
297
319
|
/**
|
|
298
|
-
*
|
|
299
|
-
* @param
|
|
320
|
+
* 知識グラフを検索(AGENTS.md互換API)
|
|
321
|
+
* @param queryOrFilter 検索クエリ文字列またはフィルターオブジェクト
|
|
300
322
|
* @returns マッチしたノード
|
|
301
323
|
*/
|
|
302
|
-
query(
|
|
303
|
-
|
|
324
|
+
query(queryOrFilter) {
|
|
325
|
+
// オブジェクトの場合はフィルタリング
|
|
326
|
+
if (typeof queryOrFilter === 'object' && queryOrFilter !== null) {
|
|
327
|
+
return Array.from(this.nodes.values()).filter((node) => {
|
|
328
|
+
// typeフィルター
|
|
329
|
+
if (queryOrFilter.type && node.type !== queryOrFilter.type) {
|
|
330
|
+
return false;
|
|
331
|
+
}
|
|
332
|
+
// labelフィルター
|
|
333
|
+
if (queryOrFilter.label && !node.label.includes(queryOrFilter.label)) {
|
|
334
|
+
return false;
|
|
335
|
+
}
|
|
336
|
+
// その他のプロパティフィルター
|
|
337
|
+
for (const [key, value] of Object.entries(queryOrFilter)) {
|
|
338
|
+
if (key === 'type' || key === 'label')
|
|
339
|
+
continue;
|
|
340
|
+
if (node.properties[key] !== value) {
|
|
341
|
+
return false;
|
|
342
|
+
}
|
|
343
|
+
}
|
|
344
|
+
return true;
|
|
345
|
+
});
|
|
346
|
+
}
|
|
347
|
+
// 文字列の場合はテキスト検索
|
|
348
|
+
const lowerQuery = queryOrFilter.toLowerCase();
|
|
304
349
|
return Array.from(this.nodes.values()).filter((node) => {
|
|
305
350
|
// ラベルで検索
|
|
306
351
|
if (node.label.toLowerCase().includes(lowerQuery)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"knowledge-graph.js","sourceRoot":"","sources":["../../src/graph/knowledge-graph.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;
|
|
1
|
+
{"version":3,"file":"knowledge-graph.js","sourceRoot":"","sources":["../../src/graph/knowledge-graph.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
*/
|
|
8
8
|
export type { ILLMProvider, ISourceTracker, IYATAClient, } from './interfaces.js';
|
|
9
9
|
export type { LLMConfig, LLMResponse, LLMProvider, TrackedSource, KnowledgeEntity, } from './types.js';
|
|
10
|
-
export { KnowledgeGraph, type GraphNode, type GraphEdge, } from './graph/index.js';
|
|
10
|
+
export { KnowledgeGraph, type GraphNode, type GraphNodeInput, type GraphEdge, type GraphEdgeInput, } from './graph/index.js';
|
|
11
11
|
export { GraphPersistence, type SerializedGraph, type GraphMetadata, type GraphDiff, } from './persistence/index.js';
|
|
12
12
|
export { GraphQuery, type QueryFilter, type GraphQueryDef, type QueryResult, } from './query/index.js';
|
|
13
13
|
export { GraphVisualization, type VisualizationConfig, type D3GraphData, type CytoscapeData, type GraphStats, } from './visualization/index.js';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,YAAY,EACV,YAAY,EACZ,cAAc,EACd,WAAW,GACZ,MAAM,iBAAiB,CAAC;AAEzB,YAAY,EACV,SAAS,EACT,WAAW,EACX,WAAW,EACX,aAAa,EACb,eAAe,GAChB,MAAM,YAAY,CAAC;AAGpB,OAAO,EACL,cAAc,EACd,KAAK,SAAS,EACd,KAAK,SAAS,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,YAAY,EACV,YAAY,EACZ,cAAc,EACd,WAAW,GACZ,MAAM,iBAAiB,CAAC;AAEzB,YAAY,EACV,SAAS,EACT,WAAW,EACX,WAAW,EACX,aAAa,EACb,eAAe,GAChB,MAAM,YAAY,CAAC;AAGpB,OAAO,EACL,cAAc,EACd,KAAK,SAAS,EACd,KAAK,cAAc,EACnB,KAAK,SAAS,EACd,KAAK,cAAc,GACpB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EACL,gBAAgB,EAChB,KAAK,eAAe,EACpB,KAAK,aAAa,EAClB,KAAK,SAAS,GACf,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EACL,UAAU,EACV,KAAK,WAAW,EAChB,KAAK,aAAa,EAClB,KAAK,WAAW,GACjB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EACL,kBAAkB,EAClB,KAAK,mBAAmB,EACxB,KAAK,WAAW,EAChB,KAAK,aAAa,EAClB,KAAK,UAAU,GAChB,MAAM,0BAA0B,CAAC;AAGlC,OAAO,EACL,SAAS,EACT,KAAK,WAAW,EAChB,KAAK,UAAU,EACf,KAAK,gBAAgB,EACrB,KAAK,QAAQ,GACd,MAAM,iBAAiB,CAAC"}
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAgBH,eAAe;AACf,OAAO,EACL,cAAc,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAgBH,eAAe;AACf,OAAO,EACL,cAAc,GAKf,MAAM,kBAAkB,CAAC;AAE1B,qBAAqB;AACrB,OAAO,EACL,gBAAgB,GAIjB,MAAM,wBAAwB,CAAC;AAEhC,eAAe;AACf,OAAO,EACL,UAAU,GAIX,MAAM,kBAAkB,CAAC;AAE1B,uBAAuB;AACvB,OAAO,EACL,kBAAkB,GAKnB,MAAM,0BAA0B,CAAC;AAElC,cAAc;AACd,OAAO,EACL,SAAS,GAKV,MAAM,iBAAiB,CAAC"}
|
|
@@ -35,22 +35,34 @@ export interface GraphMetadata {
|
|
|
35
35
|
*/
|
|
36
36
|
export declare class GraphPersistence {
|
|
37
37
|
/**
|
|
38
|
-
*
|
|
38
|
+
* シンプルにJSONに変換(AGENTS.md互換)
|
|
39
|
+
* @param graph - 変換するグラフ
|
|
40
|
+
* @returns JSON文字列
|
|
41
|
+
*/
|
|
42
|
+
serialize(graph: KnowledgeGraph): string;
|
|
43
|
+
/**
|
|
44
|
+
* JSONからグラフを復元(AGENTS.md互換)
|
|
45
|
+
* @param json - JSON文字列
|
|
46
|
+
* @returns 復元されたグラフ
|
|
47
|
+
*/
|
|
48
|
+
deserialize(json: string): KnowledgeGraph;
|
|
49
|
+
/**
|
|
50
|
+
* Serialize a graph to a portable format (Result API)
|
|
39
51
|
*
|
|
40
52
|
* @param graph - Graph to serialize
|
|
41
53
|
* @returns Serialized graph data
|
|
42
54
|
*/
|
|
43
|
-
|
|
55
|
+
serializeToObject(graph: KnowledgeGraph): Result<SerializedGraph, Error>;
|
|
44
56
|
/**
|
|
45
|
-
* Deserialize data into a graph
|
|
57
|
+
* Deserialize data into a graph (Result API)
|
|
46
58
|
*
|
|
47
59
|
* @param data - Serialized graph data
|
|
48
60
|
* @param graph - Target graph (will be modified)
|
|
49
61
|
* @returns Result indicating success or failure
|
|
50
62
|
*/
|
|
51
|
-
|
|
63
|
+
deserializeFromObject(data: SerializedGraph, graph: KnowledgeGraph): Result<void, Error>;
|
|
52
64
|
/**
|
|
53
|
-
* Convert graph to JSON string
|
|
65
|
+
* Convert graph to JSON string (Result API)
|
|
54
66
|
*
|
|
55
67
|
* @param graph - Graph to convert
|
|
56
68
|
* @param pretty - Whether to format with indentation
|
|
@@ -58,7 +70,7 @@ export declare class GraphPersistence {
|
|
|
58
70
|
*/
|
|
59
71
|
toJSON(graph: KnowledgeGraph, pretty?: boolean): Result<string, Error>;
|
|
60
72
|
/**
|
|
61
|
-
* Load graph from JSON string
|
|
73
|
+
* Load graph from JSON string (Result API)
|
|
62
74
|
*
|
|
63
75
|
* @param json - JSON string
|
|
64
76
|
* @param graph - Target graph
|
|
@@ -88,6 +100,23 @@ export declare class GraphPersistence {
|
|
|
88
100
|
* @returns Merged graph data
|
|
89
101
|
*/
|
|
90
102
|
merge(base: SerializedGraph, other: SerializedGraph): Result<SerializedGraph, Error>;
|
|
103
|
+
/**
|
|
104
|
+
* グラフをファイルに保存(簡易API)
|
|
105
|
+
* AGENTS.md互換API
|
|
106
|
+
*
|
|
107
|
+
* @param graph - 保存するグラフ
|
|
108
|
+
* @param filePath - ファイルパス
|
|
109
|
+
* @returns Result indicating success or failure
|
|
110
|
+
*/
|
|
111
|
+
save(graph: KnowledgeGraph, filePath: string): Promise<Result<void, Error>>;
|
|
112
|
+
/**
|
|
113
|
+
* ファイルからグラフを読み込み(簡易API)
|
|
114
|
+
* AGENTS.md互換API
|
|
115
|
+
*
|
|
116
|
+
* @param filePath - ファイルパス
|
|
117
|
+
* @returns 読み込んだグラフ
|
|
118
|
+
*/
|
|
119
|
+
load(filePath: string): Promise<Result<KnowledgeGraph, Error>>;
|
|
91
120
|
}
|
|
92
121
|
/**
|
|
93
122
|
* Graph diff result
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graph-persistence.d.ts","sourceRoot":"","sources":["../../src/persistence/graph-persistence.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAiB,KAAK,MAAM,EAAE,MAAM,0BAA0B,CAAC;AACtE,OAAO,EAAE,cAAc,EAAE,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAE7F;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,SAAS,EAAE,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAE,SAAS,EAAE,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC;CAClC;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;CAC/B;AAOD;;;;GAIG;AACH,qBAAa,gBAAgB;IAC3B;;;;;OAKG;IACH,
|
|
1
|
+
{"version":3,"file":"graph-persistence.d.ts","sourceRoot":"","sources":["../../src/persistence/graph-persistence.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAiB,KAAK,MAAM,EAAE,MAAM,0BAA0B,CAAC;AACtE,OAAO,EAAE,cAAc,EAAE,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAE7F;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,SAAS,EAAE,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAE,SAAS,EAAE,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC;CAClC;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;CAC/B;AAOD;;;;GAIG;AACH,qBAAa,gBAAgB;IAC3B;;;;OAIG;IACH,SAAS,CAAC,KAAK,EAAE,cAAc,GAAG,MAAM;IAkBxC;;;;OAIG;IACH,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc;IAiBzC;;;;;OAKG;IACH,iBAAiB,CAAC,KAAK,EAAE,cAAc,GAAG,MAAM,CAAC,eAAe,EAAE,KAAK,CAAC;IAsBxE;;;;;;OAMG;IACH,qBAAqB,CAAC,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,cAAc,GAAG,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC;IAqBxF;;;;;;OAMG;IACH,MAAM,CAAC,KAAK,EAAE,cAAc,EAAE,MAAM,UAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC;IASpE;;;;;;OAMG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,cAAc,GAAG,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC;IASlE;;;;;OAKG;IACH,QAAQ,CAAC,IAAI,EAAE,eAAe,GAAG,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC;IAoCvD;;;;;;OAMG;IACH,IAAI,CACF,MAAM,EAAE,eAAe,EACvB,KAAK,EAAE,eAAe,GACrB,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC;IA8B3B;;;;;;OAMG;IACH,KAAK,CACH,IAAI,EAAE,eAAe,EACrB,KAAK,EAAE,eAAe,GACrB,MAAM,CAAC,eAAe,EAAE,KAAK,CAAC;IAiCjC;;;;;;;OAOG;IACG,IAAI,CAAC,KAAK,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAejF;;;;;;OAMG;IACG,IAAI,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;CAcrE;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,UAAU,EAAE,SAAS,EAAE,CAAC;IACjC,QAAQ,CAAC,YAAY,EAAE,SAAS,EAAE,CAAC;IACnC,QAAQ,CAAC,UAAU,EAAE,SAAS,EAAE,CAAC;IACjC,QAAQ,CAAC,YAAY,EAAE,SAAS,EAAE,CAAC;IACnC,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;CAC9B"}
|
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
* @task TSK-041
|
|
8
8
|
*/
|
|
9
9
|
import { ok, err, isOk } from '@nahisaho/katashiro-core';
|
|
10
|
+
import { KnowledgeGraph } from '../graph/knowledge-graph.js';
|
|
10
11
|
/**
|
|
11
12
|
* Current serialization format version
|
|
12
13
|
*/
|
|
@@ -18,12 +19,50 @@ const FORMAT_VERSION = '1.0';
|
|
|
18
19
|
*/
|
|
19
20
|
export class GraphPersistence {
|
|
20
21
|
/**
|
|
21
|
-
*
|
|
22
|
+
* シンプルにJSONに変換(AGENTS.md互換)
|
|
23
|
+
* @param graph - 変換するグラフ
|
|
24
|
+
* @returns JSON文字列
|
|
25
|
+
*/
|
|
26
|
+
serialize(graph) {
|
|
27
|
+
const nodes = graph.getAllNodes();
|
|
28
|
+
const edges = graph.getAllEdges();
|
|
29
|
+
const serialized = {
|
|
30
|
+
version: FORMAT_VERSION,
|
|
31
|
+
nodes,
|
|
32
|
+
edges,
|
|
33
|
+
metadata: {
|
|
34
|
+
nodeCount: nodes.length,
|
|
35
|
+
edgeCount: edges.length,
|
|
36
|
+
createdAt: new Date().toISOString(),
|
|
37
|
+
},
|
|
38
|
+
};
|
|
39
|
+
return JSON.stringify(serialized, null, 2);
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* JSONからグラフを復元(AGENTS.md互換)
|
|
43
|
+
* @param json - JSON文字列
|
|
44
|
+
* @returns 復元されたグラフ
|
|
45
|
+
*/
|
|
46
|
+
deserialize(json) {
|
|
47
|
+
const data = JSON.parse(json);
|
|
48
|
+
const graph = new KnowledgeGraph();
|
|
49
|
+
// Add nodes first
|
|
50
|
+
for (const node of data.nodes) {
|
|
51
|
+
graph.addNode(node);
|
|
52
|
+
}
|
|
53
|
+
// Add edges
|
|
54
|
+
for (const edge of data.edges) {
|
|
55
|
+
graph.addEdge(edge);
|
|
56
|
+
}
|
|
57
|
+
return graph;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Serialize a graph to a portable format (Result API)
|
|
22
61
|
*
|
|
23
62
|
* @param graph - Graph to serialize
|
|
24
63
|
* @returns Serialized graph data
|
|
25
64
|
*/
|
|
26
|
-
|
|
65
|
+
serializeToObject(graph) {
|
|
27
66
|
try {
|
|
28
67
|
const nodes = graph.getAllNodes();
|
|
29
68
|
const edges = graph.getAllEdges();
|
|
@@ -44,29 +83,23 @@ export class GraphPersistence {
|
|
|
44
83
|
}
|
|
45
84
|
}
|
|
46
85
|
/**
|
|
47
|
-
* Deserialize data into a graph
|
|
86
|
+
* Deserialize data into a graph (Result API)
|
|
48
87
|
*
|
|
49
88
|
* @param data - Serialized graph data
|
|
50
89
|
* @param graph - Target graph (will be modified)
|
|
51
90
|
* @returns Result indicating success or failure
|
|
52
91
|
*/
|
|
53
|
-
|
|
92
|
+
deserializeFromObject(data, graph) {
|
|
54
93
|
try {
|
|
55
94
|
// Clear existing data
|
|
56
95
|
graph.clear();
|
|
57
96
|
// Add nodes first
|
|
58
97
|
for (const node of data.nodes) {
|
|
59
|
-
|
|
60
|
-
if (!isOk(result)) {
|
|
61
|
-
return err(new Error(`Failed to add node ${node.id}: ${result.error.message}`));
|
|
62
|
-
}
|
|
98
|
+
graph.addNode(node);
|
|
63
99
|
}
|
|
64
100
|
// Add edges
|
|
65
101
|
for (const edge of data.edges) {
|
|
66
|
-
|
|
67
|
-
if (!isOk(result)) {
|
|
68
|
-
return err(new Error(`Failed to add edge ${edge.id}: ${result.error.message}`));
|
|
69
|
-
}
|
|
102
|
+
graph.addEdge(edge);
|
|
70
103
|
}
|
|
71
104
|
return ok(undefined);
|
|
72
105
|
}
|
|
@@ -75,29 +108,23 @@ export class GraphPersistence {
|
|
|
75
108
|
}
|
|
76
109
|
}
|
|
77
110
|
/**
|
|
78
|
-
* Convert graph to JSON string
|
|
111
|
+
* Convert graph to JSON string (Result API)
|
|
79
112
|
*
|
|
80
113
|
* @param graph - Graph to convert
|
|
81
114
|
* @param pretty - Whether to format with indentation
|
|
82
115
|
* @returns JSON string
|
|
83
116
|
*/
|
|
84
117
|
toJSON(graph, pretty = false) {
|
|
85
|
-
const serializeResult = this.serialize(graph);
|
|
86
|
-
if (!isOk(serializeResult)) {
|
|
87
|
-
return err(serializeResult.error);
|
|
88
|
-
}
|
|
89
118
|
try {
|
|
90
|
-
const json =
|
|
91
|
-
|
|
92
|
-
: JSON.stringify(serializeResult.value);
|
|
93
|
-
return ok(json);
|
|
119
|
+
const json = this.serialize(graph);
|
|
120
|
+
return ok(pretty ? json : JSON.stringify(JSON.parse(json)));
|
|
94
121
|
}
|
|
95
122
|
catch (error) {
|
|
96
123
|
return err(error instanceof Error ? error : new Error(String(error)));
|
|
97
124
|
}
|
|
98
125
|
}
|
|
99
126
|
/**
|
|
100
|
-
* Load graph from JSON string
|
|
127
|
+
* Load graph from JSON string (Result API)
|
|
101
128
|
*
|
|
102
129
|
* @param json - JSON string
|
|
103
130
|
* @param graph - Target graph
|
|
@@ -106,7 +133,7 @@ export class GraphPersistence {
|
|
|
106
133
|
fromJSON(json, graph) {
|
|
107
134
|
try {
|
|
108
135
|
const data = JSON.parse(json);
|
|
109
|
-
return this.
|
|
136
|
+
return this.deserializeFromObject(data, graph);
|
|
110
137
|
}
|
|
111
138
|
catch (error) {
|
|
112
139
|
return err(error instanceof Error ? error : new Error(`Invalid JSON: ${error}`));
|
|
@@ -218,5 +245,49 @@ export class GraphPersistence {
|
|
|
218
245
|
return err(error instanceof Error ? error : new Error(String(error)));
|
|
219
246
|
}
|
|
220
247
|
}
|
|
248
|
+
/**
|
|
249
|
+
* グラフをファイルに保存(簡易API)
|
|
250
|
+
* AGENTS.md互換API
|
|
251
|
+
*
|
|
252
|
+
* @param graph - 保存するグラフ
|
|
253
|
+
* @param filePath - ファイルパス
|
|
254
|
+
* @returns Result indicating success or failure
|
|
255
|
+
*/
|
|
256
|
+
async save(graph, filePath) {
|
|
257
|
+
const jsonResult = this.toJSON(graph, true);
|
|
258
|
+
if (!isOk(jsonResult)) {
|
|
259
|
+
return err(jsonResult.error);
|
|
260
|
+
}
|
|
261
|
+
try {
|
|
262
|
+
const fs = await import('fs/promises');
|
|
263
|
+
await fs.writeFile(filePath, jsonResult.value, 'utf-8');
|
|
264
|
+
return ok(undefined);
|
|
265
|
+
}
|
|
266
|
+
catch (error) {
|
|
267
|
+
return err(error instanceof Error ? error : new Error(String(error)));
|
|
268
|
+
}
|
|
269
|
+
}
|
|
270
|
+
/**
|
|
271
|
+
* ファイルからグラフを読み込み(簡易API)
|
|
272
|
+
* AGENTS.md互換API
|
|
273
|
+
*
|
|
274
|
+
* @param filePath - ファイルパス
|
|
275
|
+
* @returns 読み込んだグラフ
|
|
276
|
+
*/
|
|
277
|
+
async load(filePath) {
|
|
278
|
+
try {
|
|
279
|
+
const fs = await import('fs/promises');
|
|
280
|
+
const json = await fs.readFile(filePath, 'utf-8');
|
|
281
|
+
const graph = new KnowledgeGraph();
|
|
282
|
+
const result = this.fromJSON(json, graph);
|
|
283
|
+
if (!isOk(result)) {
|
|
284
|
+
return err(result.error);
|
|
285
|
+
}
|
|
286
|
+
return ok(graph);
|
|
287
|
+
}
|
|
288
|
+
catch (error) {
|
|
289
|
+
return err(error instanceof Error ? error : new Error(String(error)));
|
|
290
|
+
}
|
|
291
|
+
}
|
|
221
292
|
}
|
|
222
293
|
//# sourceMappingURL=graph-persistence.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graph-persistence.js","sourceRoot":"","sources":["../../src/persistence/graph-persistence.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,EAAe,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"graph-persistence.js","sourceRoot":"","sources":["../../src/persistence/graph-persistence.ts"],"names":[],"mappings":"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"}
|
|
@@ -45,11 +45,12 @@ export declare class GraphQuery {
|
|
|
45
45
|
constructor(graph: KnowledgeGraph);
|
|
46
46
|
/**
|
|
47
47
|
* Find all nodes of a given type
|
|
48
|
+
* AGENTS.md互換: 直接配列を返す
|
|
48
49
|
*
|
|
49
50
|
* @param type - Node type to find
|
|
50
51
|
* @returns Array of matching nodes
|
|
51
52
|
*/
|
|
52
|
-
findByType(type: string):
|
|
53
|
+
findByType(type: string): GraphNode[];
|
|
53
54
|
/**
|
|
54
55
|
* Find nodes with a specific property value
|
|
55
56
|
*
|
|
@@ -57,14 +58,14 @@ export declare class GraphQuery {
|
|
|
57
58
|
* @param value - Property value
|
|
58
59
|
* @returns Array of matching nodes
|
|
59
60
|
*/
|
|
60
|
-
findByProperty(property: string, value: unknown):
|
|
61
|
+
findByProperty(property: string, value: unknown): GraphNode[];
|
|
61
62
|
/**
|
|
62
63
|
* Find edges with a given predicate
|
|
63
64
|
*
|
|
64
65
|
* @param predicate - Edge predicate
|
|
65
66
|
* @returns Array of matching edges
|
|
66
67
|
*/
|
|
67
|
-
findByPredicate(predicate: string):
|
|
68
|
+
findByPredicate(predicate: string): GraphEdge[];
|
|
68
69
|
/**
|
|
69
70
|
* Find nodes related to a given node
|
|
70
71
|
*
|
|
@@ -72,14 +73,15 @@ export declare class GraphQuery {
|
|
|
72
73
|
* @param predicate - Optional predicate filter
|
|
73
74
|
* @returns Array of related nodes
|
|
74
75
|
*/
|
|
75
|
-
findRelated(nodeId: string, predicate?: string):
|
|
76
|
+
findRelated(nodeId: string, predicate?: string): GraphNode[];
|
|
76
77
|
/**
|
|
77
78
|
* Search nodes by label
|
|
79
|
+
* AGENTS.md互換: 直接配列を返す
|
|
78
80
|
*
|
|
79
81
|
* @param query - Search query (case insensitive substring match)
|
|
80
82
|
* @returns Array of matching nodes
|
|
81
83
|
*/
|
|
82
|
-
search(query: string):
|
|
84
|
+
search(query: string): GraphNode[];
|
|
83
85
|
/**
|
|
84
86
|
* Execute a structured query
|
|
85
87
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graph-query.d.ts","sourceRoot":"","sources":["../../src/query/graph-query.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,
|
|
1
|
+
{"version":3,"file":"graph-query.d.ts","sourceRoot":"","sources":["../../src/query/graph-query.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAW,KAAK,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAE7F;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,KAAK,GAAG,KAAK,GAAG,UAAU,CAAC;IAC1E,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,CAAC;IACjC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,cAAc,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;CAC1C;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,KAAK,EAAE,SAAS,EAAE,CAAC;IAC5B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;CAChC;AAED;;;;GAIG;AACH,qBAAa,UAAU;IACT,OAAO,CAAC,KAAK;gBAAL,KAAK,EAAE,cAAc;IAEzC;;;;;;OAMG;IACH,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,EAAE;IAQrC;;;;;;OAMG;IACH,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,SAAS,EAAE;IAS7D;;;;;OAKG;IACH,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,EAAE;IAQ/C;;;;;;OAMG;IACH,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,EAAE;IAqB5D;;;;;;OAMG;IACH,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE;IAQlC;;;;;OAKG;IACH,OAAO,CAAC,QAAQ,EAAE,aAAa,GAAG,MAAM,CAAC,WAAW,EAAE,KAAK,CAAC;IA6D5D;;;;;;OAMG;IACH,SAAS,CACP,SAAS,EAAE,OAAO,GAAG,KAAK,GAAG,KAAK,EAClC,OAAO,EAAE,MAAM,GACd,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,KAAK,CAAC;IAwCxC;;OAEG;IACH,OAAO,CAAC,WAAW;CAyBpB"}
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* @module @nahisaho/katashiro-knowledge
|
|
7
7
|
* @task TSK-042
|
|
8
8
|
*/
|
|
9
|
-
import { ok, err
|
|
9
|
+
import { ok, err } from '@nahisaho/katashiro-core';
|
|
10
10
|
/**
|
|
11
11
|
* GraphQuery
|
|
12
12
|
*
|
|
@@ -19,17 +19,17 @@ export class GraphQuery {
|
|
|
19
19
|
}
|
|
20
20
|
/**
|
|
21
21
|
* Find all nodes of a given type
|
|
22
|
+
* AGENTS.md互換: 直接配列を返す
|
|
22
23
|
*
|
|
23
24
|
* @param type - Node type to find
|
|
24
25
|
* @returns Array of matching nodes
|
|
25
26
|
*/
|
|
26
27
|
findByType(type) {
|
|
27
28
|
try {
|
|
28
|
-
|
|
29
|
-
return ok(nodes);
|
|
29
|
+
return this.graph.getNodesByType(type);
|
|
30
30
|
}
|
|
31
|
-
catch
|
|
32
|
-
return
|
|
31
|
+
catch {
|
|
32
|
+
return [];
|
|
33
33
|
}
|
|
34
34
|
}
|
|
35
35
|
/**
|
|
@@ -42,11 +42,10 @@ export class GraphQuery {
|
|
|
42
42
|
findByProperty(property, value) {
|
|
43
43
|
try {
|
|
44
44
|
const allNodes = this.graph.getAllNodes();
|
|
45
|
-
|
|
46
|
-
return ok(matching);
|
|
45
|
+
return allNodes.filter((node) => node.properties[property] === value);
|
|
47
46
|
}
|
|
48
|
-
catch
|
|
49
|
-
return
|
|
47
|
+
catch {
|
|
48
|
+
return [];
|
|
50
49
|
}
|
|
51
50
|
}
|
|
52
51
|
/**
|
|
@@ -57,11 +56,10 @@ export class GraphQuery {
|
|
|
57
56
|
*/
|
|
58
57
|
findByPredicate(predicate) {
|
|
59
58
|
try {
|
|
60
|
-
|
|
61
|
-
return ok(edges);
|
|
59
|
+
return this.graph.getEdgesByPredicate(predicate);
|
|
62
60
|
}
|
|
63
|
-
catch
|
|
64
|
-
return
|
|
61
|
+
catch {
|
|
62
|
+
return [];
|
|
65
63
|
}
|
|
66
64
|
}
|
|
67
65
|
/**
|
|
@@ -73,11 +71,7 @@ export class GraphQuery {
|
|
|
73
71
|
*/
|
|
74
72
|
findRelated(nodeId, predicate) {
|
|
75
73
|
try {
|
|
76
|
-
|
|
77
|
-
if (!isOk(neighborsResult)) {
|
|
78
|
-
return neighborsResult;
|
|
79
|
-
}
|
|
80
|
-
let neighbors = neighborsResult.value;
|
|
74
|
+
let neighbors = this.graph.getNeighbors(nodeId);
|
|
81
75
|
// Filter by predicate if specified
|
|
82
76
|
if (predicate) {
|
|
83
77
|
const edges = this.graph.getAllEdges();
|
|
@@ -86,25 +80,25 @@ export class GraphQuery {
|
|
|
86
80
|
.map((e) => e.target));
|
|
87
81
|
neighbors = neighbors.filter((n) => validTargets.has(n.id));
|
|
88
82
|
}
|
|
89
|
-
return
|
|
83
|
+
return neighbors;
|
|
90
84
|
}
|
|
91
|
-
catch
|
|
92
|
-
return
|
|
85
|
+
catch {
|
|
86
|
+
return [];
|
|
93
87
|
}
|
|
94
88
|
}
|
|
95
89
|
/**
|
|
96
90
|
* Search nodes by label
|
|
91
|
+
* AGENTS.md互換: 直接配列を返す
|
|
97
92
|
*
|
|
98
93
|
* @param query - Search query (case insensitive substring match)
|
|
99
94
|
* @returns Array of matching nodes
|
|
100
95
|
*/
|
|
101
96
|
search(query) {
|
|
102
97
|
try {
|
|
103
|
-
|
|
104
|
-
return ok(nodes);
|
|
98
|
+
return this.graph.searchByLabel(query);
|
|
105
99
|
}
|
|
106
|
-
catch
|
|
107
|
-
return
|
|
100
|
+
catch {
|
|
101
|
+
return [];
|
|
108
102
|
}
|
|
109
103
|
}
|
|
110
104
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graph-query.js","sourceRoot":"","sources":["../../src/query/graph-query.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,EAAE,EAAE,GAAG,
|
|
1
|
+
{"version":3,"file":"graph-query.js","sourceRoot":"","sources":["../../src/query/graph-query.ts"],"names":[],"mappings":"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"}
|
package/dist/sync/graph-sync.js
CHANGED
|
@@ -115,7 +115,7 @@ export class GraphSync {
|
|
|
115
115
|
continue;
|
|
116
116
|
}
|
|
117
117
|
const result = this.localGraph.addNode(node);
|
|
118
|
-
if (
|
|
118
|
+
if (result) {
|
|
119
119
|
nodesAdded++;
|
|
120
120
|
}
|
|
121
121
|
}
|
|
@@ -125,7 +125,7 @@ export class GraphSync {
|
|
|
125
125
|
// Remove old and add new
|
|
126
126
|
this.localGraph.removeNode(local.id);
|
|
127
127
|
const result = this.localGraph.addNode(remote);
|
|
128
|
-
if (
|
|
128
|
+
if (result) {
|
|
129
129
|
nodesUpdated++;
|
|
130
130
|
}
|
|
131
131
|
}
|
|
@@ -138,9 +138,9 @@ export class GraphSync {
|
|
|
138
138
|
// Only add if both nodes exist
|
|
139
139
|
const sourceExists = this.localGraph.getNode(edge.source);
|
|
140
140
|
const targetExists = this.localGraph.getNode(edge.target);
|
|
141
|
-
if (
|
|
141
|
+
if (sourceExists && targetExists) {
|
|
142
142
|
const result = this.localGraph.addEdge(edge);
|
|
143
|
-
if (
|
|
143
|
+
if (result) {
|
|
144
144
|
edgesAdded++;
|
|
145
145
|
}
|
|
146
146
|
}
|
|
@@ -186,7 +186,7 @@ export class GraphSync {
|
|
|
186
186
|
continue;
|
|
187
187
|
}
|
|
188
188
|
const result = this.remoteGraph.addNode(node);
|
|
189
|
-
if (
|
|
189
|
+
if (result) {
|
|
190
190
|
nodesAdded++;
|
|
191
191
|
}
|
|
192
192
|
}
|
|
@@ -195,7 +195,7 @@ export class GraphSync {
|
|
|
195
195
|
for (const { local, remote } of comparison.modified.nodes) {
|
|
196
196
|
this.remoteGraph.removeNode(remote.id);
|
|
197
197
|
const result = this.remoteGraph.addNode(local);
|
|
198
|
-
if (
|
|
198
|
+
if (result) {
|
|
199
199
|
nodesUpdated++;
|
|
200
200
|
}
|
|
201
201
|
}
|
|
@@ -207,9 +207,9 @@ export class GraphSync {
|
|
|
207
207
|
}
|
|
208
208
|
const sourceExists = this.remoteGraph.getNode(edge.source);
|
|
209
209
|
const targetExists = this.remoteGraph.getNode(edge.target);
|
|
210
|
-
if (
|
|
210
|
+
if (sourceExists && targetExists) {
|
|
211
211
|
const result = this.remoteGraph.addEdge(edge);
|
|
212
|
-
if (
|
|
212
|
+
if (result) {
|
|
213
213
|
edgesAdded++;
|
|
214
214
|
}
|
|
215
215
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graph-sync.js","sourceRoot":"","sources":["../../src/sync/graph-sync.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"graph-sync.js","sourceRoot":"","sources":["../../src/sync/graph-sync.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,EAAe,MAAM,0BAA0B,CAAC;AAgEtE;;;;GAIG;AACH,MAAM,OAAO,SAAS;IAIV;IACA;IAJF,YAAY,GAAkB,IAAI,CAAC;IAE3C,YACU,UAA0B,EAC1B,WAA2B;QAD3B,eAAU,GAAV,UAAU,CAAgB;QAC1B,gBAAW,GAAX,WAAW,CAAgB;IAClC,CAAC;IAEJ;;;;OAIG;IACH,OAAO;QACL,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;YACjD,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC;YAEnD,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YAC/D,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YAEjE,MAAM,SAAS,GAAgB,EAAE,CAAC;YAClC,MAAM,UAAU,GAAgB,EAAE,CAAC;YACnC,MAAM,QAAQ,GAAmD,EAAE,CAAC;YACpE,MAAM,SAAS,GAAgB,EAAE,CAAC;YAElC,oBAAoB;YACpB,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;gBAC9B,MAAM,UAAU,GAAG,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAC9C,IAAI,CAAC,UAAU,EAAE,CAAC;oBAChB,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACvB,CAAC;qBAAM,IAAI,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,UAAU,CAAC,EAAE,CAAC;oBACjD,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;gBACrD,CAAC;qBAAM,CAAC;oBACN,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACvB,CAAC;YACH,CAAC;YAED,0BAA0B;YAC1B,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;gBAC/B,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;oBAC/B,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACxB,CAAC;YACH,CAAC;YAED,gBAAgB;YAChB,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;YACjD,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC;YAEnD,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YAC/D,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YAEjE,MAAM,cAAc,GAAgB,EAAE,CAAC;YACvC,MAAM,eAAe,GAAgB,EAAE,CAAC;YACxC,MAAM,aAAa,GAAmD,EAAE,CAAC;YACzE,MAAM,cAAc,GAAgB,EAAE,CAAC;YAEvC,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;gBAC9B,MAAM,UAAU,GAAG,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAC9C,IAAI,CAAC,UAAU,EAAE,CAAC;oBAChB,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC5B,CAAC;qBAAM,IAAI,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,UAAU,CAAC,EAAE,CAAC;oBACjD,aAAa,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;gBAC1D,CAAC;qBAAM,CAAC;oBACN,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC5B,CAAC;YACH,CAAC;YAED,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;gBAC/B,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;oBAC/B,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC7B,CAAC;YACH,CAAC;YAED,OAAO,EAAE,CAAC;gBACR,SAAS,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,cAAc,EAAE;gBACtD,UAAU,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,eAAe,EAAE;gBACzD,QAAQ,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,aAAa,EAAE;gBACnD,SAAS,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,cAAc,EAAE;aACvD,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,GAAG,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACxE,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACH,IAAI,CAAC,UAAuB,EAAE;QAC5B,IAAI,CAAC;YACH,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;YACrC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC;gBACzB,OAAO,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YAClC,CAAC;YAED,MAAM,UAAU,GAAG,aAAa,CAAC,KAAK,CAAC;YACvC,IAAI,UAAU,GAAG,CAAC,CAAC;YACnB,IAAI,YAAY,GAAG,CAAC,CAAC;YACrB,IAAI,UAAU,GAAG,CAAC,CAAC;YACnB,IAAI,YAAY,GAAG,CAAC,CAAC;YACrB,MAAM,SAAS,GAAe,EAAE,CAAC;YAEjC,iCAAiC;YACjC,KAAK,MAAM,IAAI,IAAI,UAAU,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;gBAC/C,IAAI,OAAO,CAAC,SAAS,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;oBAChE,SAAS;gBACX,CAAC;gBACD,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBAC7C,IAAI,MAAM,EAAE,CAAC;oBACX,UAAU,EAAE,CAAC;gBACf,CAAC;YACH,CAAC;YAED,qCAAqC;YACrC,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;gBAC3B,KAAK,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,UAAU,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;oBAC1D,yBAAyB;oBACzB,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;oBACrC,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;oBAC/C,IAAI,MAAM,EAAE,CAAC;wBACX,YAAY,EAAE,CAAC;oBACjB,CAAC;gBACH,CAAC;YACH,CAAC;YAED,iCAAiC;YACjC,KAAK,MAAM,IAAI,IAAI,UAAU,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;gBAC/C,IAAI,OAAO,CAAC,UAAU,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;oBACvE,SAAS;gBACX,CAAC;gBACD,+BAA+B;gBAC/B,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAC1D,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAC1D,IAAI,YAAY,IAAI,YAAY,EAAE,CAAC;oBACjC,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;oBAC7C,IAAI,MAAM,EAAE,CAAC;wBACX,UAAU,EAAE,CAAC;oBACf,CAAC;gBACH,CAAC;YACH,CAAC;YAED,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;YAC3C,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;YAE9B,OAAO,EAAE,CAAC;gBACR,UAAU;gBACV,YAAY;gBACZ,YAAY,EAAE,CAAC;gBACf,UAAU;gBACV,YAAY;gBACZ,YAAY,EAAE,CAAC;gBACf,SAAS;gBACT,SAAS;aACV,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,GAAG,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACxE,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACH,IAAI,CAAC,UAAuB,EAAE;QAC5B,IAAI,CAAC;YACH,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;YACrC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC;gBACzB,OAAO,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YAClC,CAAC;YAED,MAAM,UAAU,GAAG,aAAa,CAAC,KAAK,CAAC;YACvC,IAAI,UAAU,GAAG,CAAC,CAAC;YACnB,IAAI,YAAY,GAAG,CAAC,CAAC;YACrB,IAAI,UAAU,GAAG,CAAC,CAAC;YACnB,IAAI,YAAY,GAAG,CAAC,CAAC;YACrB,MAAM,SAAS,GAAe,EAAE,CAAC;YAEjC,iCAAiC;YACjC,KAAK,MAAM,IAAI,IAAI,UAAU,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;gBAC9C,IAAI,OAAO,CAAC,SAAS,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;oBAChE,SAAS;gBACX,CAAC;gBACD,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBAC9C,IAAI,MAAM,EAAE,CAAC;oBACX,UAAU,EAAE,CAAC;gBACf,CAAC;YACH,CAAC;YAED,qCAAqC;YACrC,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;gBAC3B,KAAK,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,UAAU,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;oBAC1D,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;oBACvC,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;oBAC/C,IAAI,MAAM,EAAE,CAAC;wBACX,YAAY,EAAE,CAAC;oBACjB,CAAC;gBACH,CAAC;YACH,CAAC;YAED,iCAAiC;YACjC,KAAK,MAAM,IAAI,IAAI,UAAU,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;gBAC9C,IAAI,OAAO,CAAC,UAAU,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;oBACvE,SAAS;gBACX,CAAC;gBACD,MAAM,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAC3D,MAAM,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAC3D,IAAI,YAAY,IAAI,YAAY,EAAE,CAAC;oBACjC,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;oBAC9C,IAAI,MAAM,EAAE,CAAC;wBACX,UAAU,EAAE,CAAC;oBACf,CAAC;gBACH,CAAC;YACH,CAAC;YAED,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;YAC3C,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;YAE9B,OAAO,EAAE,CAAC;gBACR,UAAU;gBACV,YAAY;gBACZ,YAAY,EAAE,CAAC;gBACf,UAAU;gBACV,YAAY;gBACZ,YAAY,EAAE,CAAC;gBACf,SAAS;gBACT,SAAS;aACV,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,GAAG,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACxE,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACH,IAAI,CAAC,UAAuB,EAAE;QAC5B,IAAI,CAAC;YACH,wBAAwB;YACxB,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACtC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;gBACtB,OAAO,UAAU,CAAC;YACpB,CAAC;YAED,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACtC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;gBACtB,OAAO,UAAU,CAAC;YACpB,CAAC;YAED,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;YAC3C,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;YAE9B,OAAO,EAAE,CAAC;gBACR,UAAU,EAAE,UAAU,CAAC,KAAK,CAAC,UAAU,GAAG,UAAU,CAAC,KAAK,CAAC,UAAU;gBACrE,YAAY,EACV,UAAU,CAAC,KAAK,CAAC,YAAY,GAAG,UAAU,CAAC,KAAK,CAAC,YAAY;gBAC/D,YAAY,EAAE,CAAC;gBACf,UAAU,EAAE,UAAU,CAAC,KAAK,CAAC,UAAU,GAAG,UAAU,CAAC,KAAK,CAAC,UAAU;gBACrE,YAAY,EACV,UAAU,CAAC,KAAK,CAAC,YAAY,GAAG,UAAU,CAAC,KAAK,CAAC,YAAY;gBAC/D,YAAY,EAAE,CAAC;gBACf,SAAS,EAAE;oBACT,GAAG,UAAU,CAAC,KAAK,CAAC,SAAS;oBAC7B,GAAG,UAAU,CAAC,KAAK,CAAC,SAAS;iBAC9B;gBACD,SAAS;aACV,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,GAAG,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACxE,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,YAAY;QACV,IAAI,CAAC;YACH,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;YACrC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC;gBACzB,OAAO,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YAClC,CAAC;YAED,MAAM,SAAS,GAAe,EAAE,CAAC;YACjC,MAAM,UAAU,GAAG,aAAa,CAAC,KAAK,CAAC;YAEvC,KAAK,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,UAAU,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;gBAC1D,IAAI,KAAK,CAAC,KAAK,KAAK,MAAM,CAAC,KAAK,EAAE,CAAC;oBACjC,SAAS,CAAC,IAAI,CAAC;wBACb,IAAI,EAAE,MAAM;wBACZ,EAAE,EAAE,KAAK,CAAC,EAAE;wBACZ,KAAK;wBACL,MAAM;wBACN,KAAK,EAAE,OAAO;qBACf,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YAED,KAAK,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,UAAU,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;gBAC1D,IAAI,KAAK,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,EAAE,CAAC;oBACnC,SAAS,CAAC,IAAI,CAAC;wBACb,IAAI,EAAE,MAAM;wBACZ,EAAE,EAAE,KAAK,CAAC,EAAE;wBACZ,KAAK;wBACL,MAAM;wBACN,KAAK,EAAE,QAAQ;qBAChB,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YAED,OAAO,EAAE,CAAC,SAAS,CAAC,CAAC;QACvB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,GAAG,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACxE,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,eAAe;QACb,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED;;OAEG;IACK,cAAc,CAAC,KAAgB,EAAE,MAAiB;QACxD,OAAO,CACL,KAAK,CAAC,KAAK,KAAK,MAAM,CAAC,KAAK;YAC5B,KAAK,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI;YAC1B,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,CACvE,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,cAAc,CAAC,KAAgB,EAAE,MAAiB;QACxD,OAAO,CACL,KAAK,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM;YAC9B,KAAK,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM;YAC9B,KAAK,CAAC,SAAS,KAAK,MAAM,CAAC,SAAS;YACpC,KAAK,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,CAC/B,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graph-visualization.d.ts","sourceRoot":"","sources":["../../src/visualization/graph-visualization.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,
|
|
1
|
+
{"version":3,"file":"graph-visualization.d.ts","sourceRoot":"","sources":["../../src/visualization/graph-visualization.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* @module @nahisaho/katashiro-knowledge
|
|
7
7
|
* @task TSK-043
|
|
8
8
|
*/
|
|
9
|
-
import { ok, err
|
|
9
|
+
import { ok, err } from '@nahisaho/katashiro-core';
|
|
10
10
|
/**
|
|
11
11
|
* GraphVisualization
|
|
12
12
|
*
|
|
@@ -198,12 +198,10 @@ export class GraphVisualization {
|
|
|
198
198
|
}
|
|
199
199
|
visited.add(current.id);
|
|
200
200
|
if (current.currentDepth < depth) {
|
|
201
|
-
const
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
queue.push({ id: neighbor.id, currentDepth: current.currentDepth + 1 });
|
|
206
|
-
}
|
|
201
|
+
const neighbors = this.graph.getNeighbors(current.id);
|
|
202
|
+
for (const neighbor of neighbors) {
|
|
203
|
+
if (!visited.has(neighbor.id)) {
|
|
204
|
+
queue.push({ id: neighbor.id, currentDepth: current.currentDepth + 1 });
|
|
207
205
|
}
|
|
208
206
|
}
|
|
209
207
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graph-visualization.js","sourceRoot":"","sources":["../../src/visualization/graph-visualization.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,EAAE,EAAE,GAAG,
|
|
1
|
+
{"version":3,"file":"graph-visualization.js","sourceRoot":"","sources":["../../src/visualization/graph-visualization.ts"],"names":[],"mappings":"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"}
|