@elqnt/kg 1.0.0
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 +72 -0
- package/dist/index.d.mts +310 -0
- package/dist/index.d.ts +310 -0
- package/dist/index.js +478 -0
- package/dist/index.js.map +1 -0
- package/dist/index.mjs +414 -0
- package/dist/index.mjs.map +1 -0
- package/package.json +42 -0
package/README.md
ADDED
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
# @eloquent/kg
|
|
2
|
+
|
|
3
|
+
This package provides knowledge graph functionality for Eloquent applications.
|
|
4
|
+
|
|
5
|
+
## Installation
|
|
6
|
+
|
|
7
|
+
Since this package is published to GitHub Packages, you'll need to configure npm to use GitHub Packages for the `@eloquent` scope.
|
|
8
|
+
|
|
9
|
+
1. Create or edit an `.npmrc` file in your project root:
|
|
10
|
+
|
|
11
|
+
```
|
|
12
|
+
@eloquent:registry=https://npm.pkg.github.com
|
|
13
|
+
//npm.pkg.github.com/:_authToken=${GITHUB_TOKEN}
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
2. Set your GitHub token as an environment variable:
|
|
17
|
+
|
|
18
|
+
```bash
|
|
19
|
+
export GITHUB_TOKEN=your_github_token
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
3. Install the package:
|
|
23
|
+
|
|
24
|
+
```bash
|
|
25
|
+
npm install @eloquent/kg
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
## Usage
|
|
29
|
+
|
|
30
|
+
```typescript
|
|
31
|
+
import {} from /* components or functions */ "@eloquent/kg";
|
|
32
|
+
|
|
33
|
+
// Your code here
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
## Development
|
|
37
|
+
|
|
38
|
+
To build the package locally:
|
|
39
|
+
|
|
40
|
+
```bash
|
|
41
|
+
npm run build
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
## Publishing
|
|
45
|
+
|
|
46
|
+
This package is automatically published to GitHub Packages when changes are pushed to the main branch that affect files in the `packages/eloquent/kg` directory.
|
|
47
|
+
|
|
48
|
+
For manual publishing:
|
|
49
|
+
|
|
50
|
+
1. Make sure you have the correct GitHub token set up
|
|
51
|
+
2. Update the version in package.json
|
|
52
|
+
3. Run:
|
|
53
|
+
|
|
54
|
+
```bash
|
|
55
|
+
cd packages/eloquent/kg
|
|
56
|
+
npm run build
|
|
57
|
+
npm publish
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
## Monorepo Integration
|
|
61
|
+
|
|
62
|
+
This package is part of the auto-beam-frontend monorepo. When making changes:
|
|
63
|
+
|
|
64
|
+
1. The package will be automatically published when changes are pushed to the main branch
|
|
65
|
+
2. The package follows the early return pattern in its build process
|
|
66
|
+
3. To use this package in other packages within the monorepo, add it as a dependency in the package.json file:
|
|
67
|
+
|
|
68
|
+
```json
|
|
69
|
+
"dependencies": {
|
|
70
|
+
"@eloquent/kg": "*"
|
|
71
|
+
}
|
|
72
|
+
```
|
package/dist/index.d.mts
ADDED
|
@@ -0,0 +1,310 @@
|
|
|
1
|
+
import { ResponseMetadata } from '@elqnt/types';
|
|
2
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
3
|
+
import * as react from 'react';
|
|
4
|
+
import { ReactNode } from 'react';
|
|
5
|
+
|
|
6
|
+
declare const Test = "hi";
|
|
7
|
+
|
|
8
|
+
interface KGNode {
|
|
9
|
+
id: string;
|
|
10
|
+
label: string;
|
|
11
|
+
fields: {
|
|
12
|
+
[key: string]: any;
|
|
13
|
+
};
|
|
14
|
+
relationships?: KGEdge[];
|
|
15
|
+
score?: number;
|
|
16
|
+
}
|
|
17
|
+
interface KGEdge {
|
|
18
|
+
id: string;
|
|
19
|
+
label: string;
|
|
20
|
+
fields: {
|
|
21
|
+
[key: string]: any;
|
|
22
|
+
};
|
|
23
|
+
from: string;
|
|
24
|
+
to: string;
|
|
25
|
+
}
|
|
26
|
+
interface KGNodeIngestRequest {
|
|
27
|
+
label: string;
|
|
28
|
+
keyField?: string;
|
|
29
|
+
reverseEdgeLabel?: string;
|
|
30
|
+
fields: {
|
|
31
|
+
[key: string]: any;
|
|
32
|
+
};
|
|
33
|
+
edges?: KGEdgeIngestRequest[];
|
|
34
|
+
duplicatePolicy?: DuplicatePolicy;
|
|
35
|
+
generateEmbeddings?: boolean;
|
|
36
|
+
embeddingsSource?: string;
|
|
37
|
+
embeddingsFields?: string[];
|
|
38
|
+
}
|
|
39
|
+
type DuplicatePolicy = string;
|
|
40
|
+
declare const DuplicatePolicyCreateIf: DuplicatePolicy;
|
|
41
|
+
declare const DuplicatePolicyIgnore: DuplicatePolicy;
|
|
42
|
+
declare const DuplicatePolicyReplace: DuplicatePolicy;
|
|
43
|
+
declare const DuplicatePolicyFail: DuplicatePolicy;
|
|
44
|
+
declare const DuplicatePolicyCreate: DuplicatePolicy;
|
|
45
|
+
interface KGEdgeIngestRequest {
|
|
46
|
+
label: string;
|
|
47
|
+
fields: {
|
|
48
|
+
[key: string]: any;
|
|
49
|
+
};
|
|
50
|
+
toLabel: string;
|
|
51
|
+
toFieldKey: string;
|
|
52
|
+
toFieldValue: any;
|
|
53
|
+
createReciprocal: boolean;
|
|
54
|
+
reciprocalLabel: string;
|
|
55
|
+
allowEmbeddingsSearch?: boolean;
|
|
56
|
+
}
|
|
57
|
+
interface KGQuery {
|
|
58
|
+
label: string;
|
|
59
|
+
fields: KGFieldQuery[];
|
|
60
|
+
limit: number;
|
|
61
|
+
depth: number;
|
|
62
|
+
sortBy: string;
|
|
63
|
+
sortOrder: string;
|
|
64
|
+
edges?: KGEdgeQuery[];
|
|
65
|
+
embeddingsSource?: string;
|
|
66
|
+
skipEmbedding?: boolean;
|
|
67
|
+
}
|
|
68
|
+
interface KGFieldQuery {
|
|
69
|
+
name: string;
|
|
70
|
+
value: any;
|
|
71
|
+
operator: KGFieldQueryOperator;
|
|
72
|
+
}
|
|
73
|
+
type KGFieldQueryOperator = string;
|
|
74
|
+
declare const KGFieldQueryOperatorEqual: KGFieldQueryOperator;
|
|
75
|
+
declare const KGFieldQueryOperatorNotEqual: KGFieldQueryOperator;
|
|
76
|
+
declare const KGFieldQueryOperatorGreater: KGFieldQueryOperator;
|
|
77
|
+
declare const KGFieldQueryOperatorLess: KGFieldQueryOperator;
|
|
78
|
+
declare const KGFieldQueryOperatorGreaterOrEqual: KGFieldQueryOperator;
|
|
79
|
+
declare const KGFieldQueryOperatorLessOrEqual: KGFieldQueryOperator;
|
|
80
|
+
declare const KGFieldQueryOperatorLike: KGFieldQueryOperator;
|
|
81
|
+
declare const KGFieldQueryOperatorSimilar: KGFieldQueryOperator;
|
|
82
|
+
/**
|
|
83
|
+
* KGFieldQueryOperatorGreaterOrEqual KGFieldQueryOperator = "gte"
|
|
84
|
+
* KGFieldQueryOperatorLessOrEqual KGFieldQueryOperator = "lte"
|
|
85
|
+
*/
|
|
86
|
+
declare const KGFieldQueryOperatorIn: KGFieldQueryOperator;
|
|
87
|
+
declare const KGFieldQueryOperatorArrayContains: KGFieldQueryOperator;
|
|
88
|
+
type KGRelationshipDirection = string;
|
|
89
|
+
declare const KGRelationshipDirectionIncoming: KGRelationshipDirection;
|
|
90
|
+
declare const KGRelationshipDirectionOutgoing: KGRelationshipDirection;
|
|
91
|
+
interface KGEdgeQuery {
|
|
92
|
+
label: string;
|
|
93
|
+
direction: 'incoming' | 'outgoing';
|
|
94
|
+
fields?: {
|
|
95
|
+
[key: string]: any;
|
|
96
|
+
};
|
|
97
|
+
/**
|
|
98
|
+
* FromLabel string `json:"fromLabel"`
|
|
99
|
+
* FromFieldKey string `json:"fromFieldKey"`
|
|
100
|
+
* FromValue interface{} `json:"fromValue"`
|
|
101
|
+
*/
|
|
102
|
+
toLabel: string;
|
|
103
|
+
toFieldKey: string;
|
|
104
|
+
toFieldValue: any;
|
|
105
|
+
}
|
|
106
|
+
interface KGQueryResult {
|
|
107
|
+
nodes: KGNode[];
|
|
108
|
+
edges: KGEdge[];
|
|
109
|
+
}
|
|
110
|
+
interface KGLabelInfo {
|
|
111
|
+
label: string;
|
|
112
|
+
count: number;
|
|
113
|
+
}
|
|
114
|
+
interface KGPropertyInfo {
|
|
115
|
+
property: string;
|
|
116
|
+
count: number;
|
|
117
|
+
}
|
|
118
|
+
interface KGPLabelSchema {
|
|
119
|
+
label: string;
|
|
120
|
+
keys: string[];
|
|
121
|
+
}
|
|
122
|
+
interface KGArticle {
|
|
123
|
+
id: string;
|
|
124
|
+
title: string;
|
|
125
|
+
content: string;
|
|
126
|
+
lang?: string;
|
|
127
|
+
docUrl?: string;
|
|
128
|
+
paragraphs?: string;
|
|
129
|
+
}
|
|
130
|
+
interface KGPropertyFilter {
|
|
131
|
+
property: string;
|
|
132
|
+
value: string;
|
|
133
|
+
}
|
|
134
|
+
interface KGPropertyFilterRequest {
|
|
135
|
+
label: string;
|
|
136
|
+
filters: KGPropertyFilter[];
|
|
137
|
+
}
|
|
138
|
+
interface DeleteDocumentRequest {
|
|
139
|
+
documentId: string;
|
|
140
|
+
}
|
|
141
|
+
interface DeleteDocumentResponse {
|
|
142
|
+
success: boolean;
|
|
143
|
+
deletedNodes: {
|
|
144
|
+
[key: string]: number;
|
|
145
|
+
};
|
|
146
|
+
totalDeleted: number;
|
|
147
|
+
error?: string;
|
|
148
|
+
}
|
|
149
|
+
/**
|
|
150
|
+
* KGSyncJob represents a sync job record in the database
|
|
151
|
+
*/
|
|
152
|
+
interface KGSyncJob {
|
|
153
|
+
id: string;
|
|
154
|
+
title: string;
|
|
155
|
+
stats: {
|
|
156
|
+
[key: string]: any;
|
|
157
|
+
};
|
|
158
|
+
startTime: string;
|
|
159
|
+
endTime: string;
|
|
160
|
+
updatedAt?: string;
|
|
161
|
+
}
|
|
162
|
+
/**
|
|
163
|
+
* KGSyncJobUpdateRequest is used to insert or update a sync job
|
|
164
|
+
*/
|
|
165
|
+
interface KGSyncJobUpdateRequest {
|
|
166
|
+
id: string;
|
|
167
|
+
title: string;
|
|
168
|
+
stats: {
|
|
169
|
+
[key: string]: any;
|
|
170
|
+
};
|
|
171
|
+
startTime: string;
|
|
172
|
+
endTime: string;
|
|
173
|
+
}
|
|
174
|
+
interface KGSyncJobUpdateResponse {
|
|
175
|
+
jobId: string;
|
|
176
|
+
metadata: ResponseMetadata;
|
|
177
|
+
}
|
|
178
|
+
interface KGSyncJobListResponse {
|
|
179
|
+
jobs: KGSyncJob[];
|
|
180
|
+
metadata: ResponseMetadata;
|
|
181
|
+
}
|
|
182
|
+
/**
|
|
183
|
+
* KGSyncJobListRequest is used to list sync jobs with filters
|
|
184
|
+
*/
|
|
185
|
+
interface KGSyncJobListRequest {
|
|
186
|
+
limit?: number;
|
|
187
|
+
offset?: number;
|
|
188
|
+
startFrom?: string;
|
|
189
|
+
endTo?: string;
|
|
190
|
+
}
|
|
191
|
+
|
|
192
|
+
/**
|
|
193
|
+
* GraphNodeDefinition represents a node type in the knowledge graph
|
|
194
|
+
*/
|
|
195
|
+
interface GraphNodeDefinition {
|
|
196
|
+
label: string;
|
|
197
|
+
description: string;
|
|
198
|
+
schema: {
|
|
199
|
+
[key: string]: any;
|
|
200
|
+
};
|
|
201
|
+
createdAt: string;
|
|
202
|
+
updatedAt: string;
|
|
203
|
+
}
|
|
204
|
+
/**
|
|
205
|
+
* GraphEdgeDefinition represents an edge type in the knowledge graph
|
|
206
|
+
*/
|
|
207
|
+
interface GraphEdgeDefinition {
|
|
208
|
+
label: string;
|
|
209
|
+
description: string;
|
|
210
|
+
fromNode: string;
|
|
211
|
+
toNode: string;
|
|
212
|
+
schema: {
|
|
213
|
+
[key: string]: any;
|
|
214
|
+
};
|
|
215
|
+
createdAt: string;
|
|
216
|
+
updatedAt: string;
|
|
217
|
+
}
|
|
218
|
+
/**
|
|
219
|
+
* Request/Response types
|
|
220
|
+
*/
|
|
221
|
+
interface GraphNodeRequest {
|
|
222
|
+
node: GraphNodeDefinition;
|
|
223
|
+
}
|
|
224
|
+
interface GraphNodeResponse {
|
|
225
|
+
node?: GraphNodeDefinition;
|
|
226
|
+
nodes?: GraphNodeDefinition[];
|
|
227
|
+
success: boolean;
|
|
228
|
+
error?: string;
|
|
229
|
+
}
|
|
230
|
+
interface GraphEdgeRequest {
|
|
231
|
+
edge: GraphEdgeDefinition;
|
|
232
|
+
}
|
|
233
|
+
interface GraphEdgeResponse {
|
|
234
|
+
edge?: GraphEdgeDefinition;
|
|
235
|
+
edges?: GraphEdgeDefinition[];
|
|
236
|
+
success: boolean;
|
|
237
|
+
error?: string;
|
|
238
|
+
}
|
|
239
|
+
/**
|
|
240
|
+
* KG Designer Node subjects
|
|
241
|
+
*/
|
|
242
|
+
declare const KGDesignerNodeCreate = "kg.designer.node.create";
|
|
243
|
+
declare const KGDesignerNodeUpdate = "kg.designer.node.update.*";
|
|
244
|
+
declare const KGDesignerNodeDelete = "kg.designer.node.delete.*";
|
|
245
|
+
declare const KGDesignerNodeGet = "kg.designer.node.get.*";
|
|
246
|
+
declare const KGDesignerNodeList = "kg.designer.node.list";
|
|
247
|
+
/**
|
|
248
|
+
* KG Designer Edge subjects
|
|
249
|
+
*/
|
|
250
|
+
declare const KGDesignerEdgeCreate = "kg.designer.edge.create";
|
|
251
|
+
declare const KGDesignerEdgeUpdate = "kg.designer.edge.update.*";
|
|
252
|
+
declare const KGDesignerEdgeDelete = "kg.designer.edge.delete.*";
|
|
253
|
+
declare const KGDesignerEdgeGet = "kg.designer.edge.get.*";
|
|
254
|
+
declare const KGDesignerEdgeList = "kg.designer.edge.list";
|
|
255
|
+
/**
|
|
256
|
+
* KG Database subjects
|
|
257
|
+
*/
|
|
258
|
+
declare const KGDBCreate = "kg.db.create";
|
|
259
|
+
/**
|
|
260
|
+
* KG Document subjects
|
|
261
|
+
*/
|
|
262
|
+
declare const KGDocumentDelete = "kg_ingest.document.delete";
|
|
263
|
+
/**
|
|
264
|
+
* KG Sync Job subjects
|
|
265
|
+
*/
|
|
266
|
+
declare const KGSyncJobUpdate = "kg.sync.job.update";
|
|
267
|
+
declare const KGSyncJobList = "kg.sync.job.list";
|
|
268
|
+
/**
|
|
269
|
+
* KG Optimization subjects
|
|
270
|
+
*/
|
|
271
|
+
declare const KGGraphOptimize = "kg.graph.optimize";
|
|
272
|
+
|
|
273
|
+
type Success = {
|
|
274
|
+
success: boolean;
|
|
275
|
+
};
|
|
276
|
+
type UseKnowledgeGraphType = {
|
|
277
|
+
isLoading: boolean;
|
|
278
|
+
ingestNode: (node: KGNodeIngestRequest) => Promise<Success | Error>;
|
|
279
|
+
ingestNodes: (node: KGNodeIngestRequest[]) => Promise<Success | Error>;
|
|
280
|
+
updateNode: (nodeId: string, label: string, fields: Record<string, any>) => Promise<Success | Error>;
|
|
281
|
+
ingestDocs: (urls: string[], mode: "documents" | "entities" | "snippets", brief: string, labels: string[]) => Promise<Success | Error>;
|
|
282
|
+
ingestText: (text: string, mode: "entities" | "snippets") => Promise<Success | Error>;
|
|
283
|
+
ingestYT: (url: string) => Promise<Success | Error>;
|
|
284
|
+
queryGraph: (query: KGQuery) => Promise<KGQueryResult>;
|
|
285
|
+
getGraphLabels: () => Promise<KGLabelInfo[] | Error>;
|
|
286
|
+
labels: KGLabelInfo[] | undefined;
|
|
287
|
+
selectedLabel: string | undefined;
|
|
288
|
+
setSelectedLabel: (label: string) => void;
|
|
289
|
+
queryResult: KGQueryResult | undefined;
|
|
290
|
+
setQueryResult: (res: KGQueryResult) => void;
|
|
291
|
+
refreshState: () => void;
|
|
292
|
+
selectedNodeId: string | undefined;
|
|
293
|
+
setSelectedNodeId: (id: string | undefined) => void;
|
|
294
|
+
getNodeById: (id: string) => Promise<KGNode | Error>;
|
|
295
|
+
};
|
|
296
|
+
declare const useKnowledgeGraph: (overrideOrgId?: string) => UseKnowledgeGraphType;
|
|
297
|
+
|
|
298
|
+
type UseKnowledgeGraphAnalyticsType = {
|
|
299
|
+
isLoading: boolean;
|
|
300
|
+
};
|
|
301
|
+
declare const useKnowledgeGraphAnalytics: (overrideOrgId?: string) => UseKnowledgeGraphAnalyticsType;
|
|
302
|
+
|
|
303
|
+
declare const KnowledgeGraphContext: react.Context<UseKnowledgeGraphType | undefined>;
|
|
304
|
+
declare function KnowledgeGraphContextProvider(props: {
|
|
305
|
+
children: ReactNode;
|
|
306
|
+
overrideOrgId?: string;
|
|
307
|
+
}): react_jsx_runtime.JSX.Element;
|
|
308
|
+
declare const useKnowledgeGraphContext: () => UseKnowledgeGraphType;
|
|
309
|
+
|
|
310
|
+
export { type DeleteDocumentRequest, type DeleteDocumentResponse, type DuplicatePolicy, DuplicatePolicyCreate, DuplicatePolicyCreateIf, DuplicatePolicyFail, DuplicatePolicyIgnore, DuplicatePolicyReplace, type GraphEdgeDefinition, type GraphEdgeRequest, type GraphEdgeResponse, type GraphNodeDefinition, type GraphNodeRequest, type GraphNodeResponse, type KGArticle, KGDBCreate, KGDesignerEdgeCreate, KGDesignerEdgeDelete, KGDesignerEdgeGet, KGDesignerEdgeList, KGDesignerEdgeUpdate, KGDesignerNodeCreate, KGDesignerNodeDelete, KGDesignerNodeGet, KGDesignerNodeList, KGDesignerNodeUpdate, KGDocumentDelete, type KGEdge, type KGEdgeIngestRequest, type KGEdgeQuery, type KGFieldQuery, type KGFieldQueryOperator, KGFieldQueryOperatorArrayContains, KGFieldQueryOperatorEqual, KGFieldQueryOperatorGreater, KGFieldQueryOperatorGreaterOrEqual, KGFieldQueryOperatorIn, KGFieldQueryOperatorLess, KGFieldQueryOperatorLessOrEqual, KGFieldQueryOperatorLike, KGFieldQueryOperatorNotEqual, KGFieldQueryOperatorSimilar, KGGraphOptimize, type KGLabelInfo, type KGNode, type KGNodeIngestRequest, type KGPLabelSchema, type KGPropertyFilter, type KGPropertyFilterRequest, type KGPropertyInfo, type KGQuery, type KGQueryResult, type KGRelationshipDirection, KGRelationshipDirectionIncoming, KGRelationshipDirectionOutgoing, type KGSyncJob, KGSyncJobList, type KGSyncJobListRequest, type KGSyncJobListResponse, KGSyncJobUpdate, type KGSyncJobUpdateRequest, type KGSyncJobUpdateResponse, KnowledgeGraphContext, KnowledgeGraphContextProvider, Test, type UseKnowledgeGraphAnalyticsType, type UseKnowledgeGraphType, useKnowledgeGraph, useKnowledgeGraphAnalytics, useKnowledgeGraphContext };
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,310 @@
|
|
|
1
|
+
import { ResponseMetadata } from '@elqnt/types';
|
|
2
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
3
|
+
import * as react from 'react';
|
|
4
|
+
import { ReactNode } from 'react';
|
|
5
|
+
|
|
6
|
+
declare const Test = "hi";
|
|
7
|
+
|
|
8
|
+
interface KGNode {
|
|
9
|
+
id: string;
|
|
10
|
+
label: string;
|
|
11
|
+
fields: {
|
|
12
|
+
[key: string]: any;
|
|
13
|
+
};
|
|
14
|
+
relationships?: KGEdge[];
|
|
15
|
+
score?: number;
|
|
16
|
+
}
|
|
17
|
+
interface KGEdge {
|
|
18
|
+
id: string;
|
|
19
|
+
label: string;
|
|
20
|
+
fields: {
|
|
21
|
+
[key: string]: any;
|
|
22
|
+
};
|
|
23
|
+
from: string;
|
|
24
|
+
to: string;
|
|
25
|
+
}
|
|
26
|
+
interface KGNodeIngestRequest {
|
|
27
|
+
label: string;
|
|
28
|
+
keyField?: string;
|
|
29
|
+
reverseEdgeLabel?: string;
|
|
30
|
+
fields: {
|
|
31
|
+
[key: string]: any;
|
|
32
|
+
};
|
|
33
|
+
edges?: KGEdgeIngestRequest[];
|
|
34
|
+
duplicatePolicy?: DuplicatePolicy;
|
|
35
|
+
generateEmbeddings?: boolean;
|
|
36
|
+
embeddingsSource?: string;
|
|
37
|
+
embeddingsFields?: string[];
|
|
38
|
+
}
|
|
39
|
+
type DuplicatePolicy = string;
|
|
40
|
+
declare const DuplicatePolicyCreateIf: DuplicatePolicy;
|
|
41
|
+
declare const DuplicatePolicyIgnore: DuplicatePolicy;
|
|
42
|
+
declare const DuplicatePolicyReplace: DuplicatePolicy;
|
|
43
|
+
declare const DuplicatePolicyFail: DuplicatePolicy;
|
|
44
|
+
declare const DuplicatePolicyCreate: DuplicatePolicy;
|
|
45
|
+
interface KGEdgeIngestRequest {
|
|
46
|
+
label: string;
|
|
47
|
+
fields: {
|
|
48
|
+
[key: string]: any;
|
|
49
|
+
};
|
|
50
|
+
toLabel: string;
|
|
51
|
+
toFieldKey: string;
|
|
52
|
+
toFieldValue: any;
|
|
53
|
+
createReciprocal: boolean;
|
|
54
|
+
reciprocalLabel: string;
|
|
55
|
+
allowEmbeddingsSearch?: boolean;
|
|
56
|
+
}
|
|
57
|
+
interface KGQuery {
|
|
58
|
+
label: string;
|
|
59
|
+
fields: KGFieldQuery[];
|
|
60
|
+
limit: number;
|
|
61
|
+
depth: number;
|
|
62
|
+
sortBy: string;
|
|
63
|
+
sortOrder: string;
|
|
64
|
+
edges?: KGEdgeQuery[];
|
|
65
|
+
embeddingsSource?: string;
|
|
66
|
+
skipEmbedding?: boolean;
|
|
67
|
+
}
|
|
68
|
+
interface KGFieldQuery {
|
|
69
|
+
name: string;
|
|
70
|
+
value: any;
|
|
71
|
+
operator: KGFieldQueryOperator;
|
|
72
|
+
}
|
|
73
|
+
type KGFieldQueryOperator = string;
|
|
74
|
+
declare const KGFieldQueryOperatorEqual: KGFieldQueryOperator;
|
|
75
|
+
declare const KGFieldQueryOperatorNotEqual: KGFieldQueryOperator;
|
|
76
|
+
declare const KGFieldQueryOperatorGreater: KGFieldQueryOperator;
|
|
77
|
+
declare const KGFieldQueryOperatorLess: KGFieldQueryOperator;
|
|
78
|
+
declare const KGFieldQueryOperatorGreaterOrEqual: KGFieldQueryOperator;
|
|
79
|
+
declare const KGFieldQueryOperatorLessOrEqual: KGFieldQueryOperator;
|
|
80
|
+
declare const KGFieldQueryOperatorLike: KGFieldQueryOperator;
|
|
81
|
+
declare const KGFieldQueryOperatorSimilar: KGFieldQueryOperator;
|
|
82
|
+
/**
|
|
83
|
+
* KGFieldQueryOperatorGreaterOrEqual KGFieldQueryOperator = "gte"
|
|
84
|
+
* KGFieldQueryOperatorLessOrEqual KGFieldQueryOperator = "lte"
|
|
85
|
+
*/
|
|
86
|
+
declare const KGFieldQueryOperatorIn: KGFieldQueryOperator;
|
|
87
|
+
declare const KGFieldQueryOperatorArrayContains: KGFieldQueryOperator;
|
|
88
|
+
type KGRelationshipDirection = string;
|
|
89
|
+
declare const KGRelationshipDirectionIncoming: KGRelationshipDirection;
|
|
90
|
+
declare const KGRelationshipDirectionOutgoing: KGRelationshipDirection;
|
|
91
|
+
interface KGEdgeQuery {
|
|
92
|
+
label: string;
|
|
93
|
+
direction: 'incoming' | 'outgoing';
|
|
94
|
+
fields?: {
|
|
95
|
+
[key: string]: any;
|
|
96
|
+
};
|
|
97
|
+
/**
|
|
98
|
+
* FromLabel string `json:"fromLabel"`
|
|
99
|
+
* FromFieldKey string `json:"fromFieldKey"`
|
|
100
|
+
* FromValue interface{} `json:"fromValue"`
|
|
101
|
+
*/
|
|
102
|
+
toLabel: string;
|
|
103
|
+
toFieldKey: string;
|
|
104
|
+
toFieldValue: any;
|
|
105
|
+
}
|
|
106
|
+
interface KGQueryResult {
|
|
107
|
+
nodes: KGNode[];
|
|
108
|
+
edges: KGEdge[];
|
|
109
|
+
}
|
|
110
|
+
interface KGLabelInfo {
|
|
111
|
+
label: string;
|
|
112
|
+
count: number;
|
|
113
|
+
}
|
|
114
|
+
interface KGPropertyInfo {
|
|
115
|
+
property: string;
|
|
116
|
+
count: number;
|
|
117
|
+
}
|
|
118
|
+
interface KGPLabelSchema {
|
|
119
|
+
label: string;
|
|
120
|
+
keys: string[];
|
|
121
|
+
}
|
|
122
|
+
interface KGArticle {
|
|
123
|
+
id: string;
|
|
124
|
+
title: string;
|
|
125
|
+
content: string;
|
|
126
|
+
lang?: string;
|
|
127
|
+
docUrl?: string;
|
|
128
|
+
paragraphs?: string;
|
|
129
|
+
}
|
|
130
|
+
interface KGPropertyFilter {
|
|
131
|
+
property: string;
|
|
132
|
+
value: string;
|
|
133
|
+
}
|
|
134
|
+
interface KGPropertyFilterRequest {
|
|
135
|
+
label: string;
|
|
136
|
+
filters: KGPropertyFilter[];
|
|
137
|
+
}
|
|
138
|
+
interface DeleteDocumentRequest {
|
|
139
|
+
documentId: string;
|
|
140
|
+
}
|
|
141
|
+
interface DeleteDocumentResponse {
|
|
142
|
+
success: boolean;
|
|
143
|
+
deletedNodes: {
|
|
144
|
+
[key: string]: number;
|
|
145
|
+
};
|
|
146
|
+
totalDeleted: number;
|
|
147
|
+
error?: string;
|
|
148
|
+
}
|
|
149
|
+
/**
|
|
150
|
+
* KGSyncJob represents a sync job record in the database
|
|
151
|
+
*/
|
|
152
|
+
interface KGSyncJob {
|
|
153
|
+
id: string;
|
|
154
|
+
title: string;
|
|
155
|
+
stats: {
|
|
156
|
+
[key: string]: any;
|
|
157
|
+
};
|
|
158
|
+
startTime: string;
|
|
159
|
+
endTime: string;
|
|
160
|
+
updatedAt?: string;
|
|
161
|
+
}
|
|
162
|
+
/**
|
|
163
|
+
* KGSyncJobUpdateRequest is used to insert or update a sync job
|
|
164
|
+
*/
|
|
165
|
+
interface KGSyncJobUpdateRequest {
|
|
166
|
+
id: string;
|
|
167
|
+
title: string;
|
|
168
|
+
stats: {
|
|
169
|
+
[key: string]: any;
|
|
170
|
+
};
|
|
171
|
+
startTime: string;
|
|
172
|
+
endTime: string;
|
|
173
|
+
}
|
|
174
|
+
interface KGSyncJobUpdateResponse {
|
|
175
|
+
jobId: string;
|
|
176
|
+
metadata: ResponseMetadata;
|
|
177
|
+
}
|
|
178
|
+
interface KGSyncJobListResponse {
|
|
179
|
+
jobs: KGSyncJob[];
|
|
180
|
+
metadata: ResponseMetadata;
|
|
181
|
+
}
|
|
182
|
+
/**
|
|
183
|
+
* KGSyncJobListRequest is used to list sync jobs with filters
|
|
184
|
+
*/
|
|
185
|
+
interface KGSyncJobListRequest {
|
|
186
|
+
limit?: number;
|
|
187
|
+
offset?: number;
|
|
188
|
+
startFrom?: string;
|
|
189
|
+
endTo?: string;
|
|
190
|
+
}
|
|
191
|
+
|
|
192
|
+
/**
|
|
193
|
+
* GraphNodeDefinition represents a node type in the knowledge graph
|
|
194
|
+
*/
|
|
195
|
+
interface GraphNodeDefinition {
|
|
196
|
+
label: string;
|
|
197
|
+
description: string;
|
|
198
|
+
schema: {
|
|
199
|
+
[key: string]: any;
|
|
200
|
+
};
|
|
201
|
+
createdAt: string;
|
|
202
|
+
updatedAt: string;
|
|
203
|
+
}
|
|
204
|
+
/**
|
|
205
|
+
* GraphEdgeDefinition represents an edge type in the knowledge graph
|
|
206
|
+
*/
|
|
207
|
+
interface GraphEdgeDefinition {
|
|
208
|
+
label: string;
|
|
209
|
+
description: string;
|
|
210
|
+
fromNode: string;
|
|
211
|
+
toNode: string;
|
|
212
|
+
schema: {
|
|
213
|
+
[key: string]: any;
|
|
214
|
+
};
|
|
215
|
+
createdAt: string;
|
|
216
|
+
updatedAt: string;
|
|
217
|
+
}
|
|
218
|
+
/**
|
|
219
|
+
* Request/Response types
|
|
220
|
+
*/
|
|
221
|
+
interface GraphNodeRequest {
|
|
222
|
+
node: GraphNodeDefinition;
|
|
223
|
+
}
|
|
224
|
+
interface GraphNodeResponse {
|
|
225
|
+
node?: GraphNodeDefinition;
|
|
226
|
+
nodes?: GraphNodeDefinition[];
|
|
227
|
+
success: boolean;
|
|
228
|
+
error?: string;
|
|
229
|
+
}
|
|
230
|
+
interface GraphEdgeRequest {
|
|
231
|
+
edge: GraphEdgeDefinition;
|
|
232
|
+
}
|
|
233
|
+
interface GraphEdgeResponse {
|
|
234
|
+
edge?: GraphEdgeDefinition;
|
|
235
|
+
edges?: GraphEdgeDefinition[];
|
|
236
|
+
success: boolean;
|
|
237
|
+
error?: string;
|
|
238
|
+
}
|
|
239
|
+
/**
|
|
240
|
+
* KG Designer Node subjects
|
|
241
|
+
*/
|
|
242
|
+
declare const KGDesignerNodeCreate = "kg.designer.node.create";
|
|
243
|
+
declare const KGDesignerNodeUpdate = "kg.designer.node.update.*";
|
|
244
|
+
declare const KGDesignerNodeDelete = "kg.designer.node.delete.*";
|
|
245
|
+
declare const KGDesignerNodeGet = "kg.designer.node.get.*";
|
|
246
|
+
declare const KGDesignerNodeList = "kg.designer.node.list";
|
|
247
|
+
/**
|
|
248
|
+
* KG Designer Edge subjects
|
|
249
|
+
*/
|
|
250
|
+
declare const KGDesignerEdgeCreate = "kg.designer.edge.create";
|
|
251
|
+
declare const KGDesignerEdgeUpdate = "kg.designer.edge.update.*";
|
|
252
|
+
declare const KGDesignerEdgeDelete = "kg.designer.edge.delete.*";
|
|
253
|
+
declare const KGDesignerEdgeGet = "kg.designer.edge.get.*";
|
|
254
|
+
declare const KGDesignerEdgeList = "kg.designer.edge.list";
|
|
255
|
+
/**
|
|
256
|
+
* KG Database subjects
|
|
257
|
+
*/
|
|
258
|
+
declare const KGDBCreate = "kg.db.create";
|
|
259
|
+
/**
|
|
260
|
+
* KG Document subjects
|
|
261
|
+
*/
|
|
262
|
+
declare const KGDocumentDelete = "kg_ingest.document.delete";
|
|
263
|
+
/**
|
|
264
|
+
* KG Sync Job subjects
|
|
265
|
+
*/
|
|
266
|
+
declare const KGSyncJobUpdate = "kg.sync.job.update";
|
|
267
|
+
declare const KGSyncJobList = "kg.sync.job.list";
|
|
268
|
+
/**
|
|
269
|
+
* KG Optimization subjects
|
|
270
|
+
*/
|
|
271
|
+
declare const KGGraphOptimize = "kg.graph.optimize";
|
|
272
|
+
|
|
273
|
+
type Success = {
|
|
274
|
+
success: boolean;
|
|
275
|
+
};
|
|
276
|
+
type UseKnowledgeGraphType = {
|
|
277
|
+
isLoading: boolean;
|
|
278
|
+
ingestNode: (node: KGNodeIngestRequest) => Promise<Success | Error>;
|
|
279
|
+
ingestNodes: (node: KGNodeIngestRequest[]) => Promise<Success | Error>;
|
|
280
|
+
updateNode: (nodeId: string, label: string, fields: Record<string, any>) => Promise<Success | Error>;
|
|
281
|
+
ingestDocs: (urls: string[], mode: "documents" | "entities" | "snippets", brief: string, labels: string[]) => Promise<Success | Error>;
|
|
282
|
+
ingestText: (text: string, mode: "entities" | "snippets") => Promise<Success | Error>;
|
|
283
|
+
ingestYT: (url: string) => Promise<Success | Error>;
|
|
284
|
+
queryGraph: (query: KGQuery) => Promise<KGQueryResult>;
|
|
285
|
+
getGraphLabels: () => Promise<KGLabelInfo[] | Error>;
|
|
286
|
+
labels: KGLabelInfo[] | undefined;
|
|
287
|
+
selectedLabel: string | undefined;
|
|
288
|
+
setSelectedLabel: (label: string) => void;
|
|
289
|
+
queryResult: KGQueryResult | undefined;
|
|
290
|
+
setQueryResult: (res: KGQueryResult) => void;
|
|
291
|
+
refreshState: () => void;
|
|
292
|
+
selectedNodeId: string | undefined;
|
|
293
|
+
setSelectedNodeId: (id: string | undefined) => void;
|
|
294
|
+
getNodeById: (id: string) => Promise<KGNode | Error>;
|
|
295
|
+
};
|
|
296
|
+
declare const useKnowledgeGraph: (overrideOrgId?: string) => UseKnowledgeGraphType;
|
|
297
|
+
|
|
298
|
+
type UseKnowledgeGraphAnalyticsType = {
|
|
299
|
+
isLoading: boolean;
|
|
300
|
+
};
|
|
301
|
+
declare const useKnowledgeGraphAnalytics: (overrideOrgId?: string) => UseKnowledgeGraphAnalyticsType;
|
|
302
|
+
|
|
303
|
+
declare const KnowledgeGraphContext: react.Context<UseKnowledgeGraphType | undefined>;
|
|
304
|
+
declare function KnowledgeGraphContextProvider(props: {
|
|
305
|
+
children: ReactNode;
|
|
306
|
+
overrideOrgId?: string;
|
|
307
|
+
}): react_jsx_runtime.JSX.Element;
|
|
308
|
+
declare const useKnowledgeGraphContext: () => UseKnowledgeGraphType;
|
|
309
|
+
|
|
310
|
+
export { type DeleteDocumentRequest, type DeleteDocumentResponse, type DuplicatePolicy, DuplicatePolicyCreate, DuplicatePolicyCreateIf, DuplicatePolicyFail, DuplicatePolicyIgnore, DuplicatePolicyReplace, type GraphEdgeDefinition, type GraphEdgeRequest, type GraphEdgeResponse, type GraphNodeDefinition, type GraphNodeRequest, type GraphNodeResponse, type KGArticle, KGDBCreate, KGDesignerEdgeCreate, KGDesignerEdgeDelete, KGDesignerEdgeGet, KGDesignerEdgeList, KGDesignerEdgeUpdate, KGDesignerNodeCreate, KGDesignerNodeDelete, KGDesignerNodeGet, KGDesignerNodeList, KGDesignerNodeUpdate, KGDocumentDelete, type KGEdge, type KGEdgeIngestRequest, type KGEdgeQuery, type KGFieldQuery, type KGFieldQueryOperator, KGFieldQueryOperatorArrayContains, KGFieldQueryOperatorEqual, KGFieldQueryOperatorGreater, KGFieldQueryOperatorGreaterOrEqual, KGFieldQueryOperatorIn, KGFieldQueryOperatorLess, KGFieldQueryOperatorLessOrEqual, KGFieldQueryOperatorLike, KGFieldQueryOperatorNotEqual, KGFieldQueryOperatorSimilar, KGGraphOptimize, type KGLabelInfo, type KGNode, type KGNodeIngestRequest, type KGPLabelSchema, type KGPropertyFilter, type KGPropertyFilterRequest, type KGPropertyInfo, type KGQuery, type KGQueryResult, type KGRelationshipDirection, KGRelationshipDirectionIncoming, KGRelationshipDirectionOutgoing, type KGSyncJob, KGSyncJobList, type KGSyncJobListRequest, type KGSyncJobListResponse, KGSyncJobUpdate, type KGSyncJobUpdateRequest, type KGSyncJobUpdateResponse, KnowledgeGraphContext, KnowledgeGraphContextProvider, Test, type UseKnowledgeGraphAnalyticsType, type UseKnowledgeGraphType, useKnowledgeGraph, useKnowledgeGraphAnalytics, useKnowledgeGraphContext };
|