@elqnt/kg 1.0.8 → 1.0.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,49 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});// models/kg-designer.ts
2
+ var KGGraphCreate = "kg.graph.create";
3
+ var KGGraphUpdate = "kg.graph.update.*";
4
+ var KGGraphDelete = "kg.graph.delete.*";
5
+ var KGGraphGet = "kg.graph.get.*";
6
+ var KGGraphList = "kg.graph.list";
7
+ var KGDesignerNodeCreate = "kg.designer.node.create";
8
+ var KGDesignerNodeUpdate = "kg.designer.node.update.*";
9
+ var KGDesignerNodeDelete = "kg.designer.node.delete.*";
10
+ var KGDesignerNodeGet = "kg.designer.node.get.*";
11
+ var KGDesignerNodeList = "kg.designer.node.list";
12
+ var KGDesignerEdgeCreate = "kg.designer.edge.create";
13
+ var KGDesignerEdgeUpdate = "kg.designer.edge.update.*";
14
+ var KGDesignerEdgeDelete = "kg.designer.edge.delete.*";
15
+ var KGDesignerEdgeGet = "kg.designer.edge.get.*";
16
+ var KGDesignerEdgeList = "kg.designer.edge.list";
17
+ var KGDBCreate = "kg.db.create";
18
+ var KGDocumentDelete = "kg_ingest.document.delete";
19
+ var KGSyncJobUpdate = "kg.sync.job.update";
20
+ var KGSyncJobList = "kg.sync.job.list";
21
+ var KGGraphOptimize = "kg.graph.optimize";
22
+ var KGIngestNodeSync = "kg.sync.node";
23
+ var KGIngestBatchSync = "kg.sync.batch";
24
+
25
+
26
+
27
+
28
+
29
+
30
+
31
+
32
+
33
+
34
+
35
+
36
+
37
+
38
+
39
+
40
+
41
+
42
+
43
+
44
+
45
+
46
+
47
+
48
+ exports.KGGraphCreate = KGGraphCreate; exports.KGGraphUpdate = KGGraphUpdate; exports.KGGraphDelete = KGGraphDelete; exports.KGGraphGet = KGGraphGet; exports.KGGraphList = KGGraphList; exports.KGDesignerNodeCreate = KGDesignerNodeCreate; exports.KGDesignerNodeUpdate = KGDesignerNodeUpdate; exports.KGDesignerNodeDelete = KGDesignerNodeDelete; exports.KGDesignerNodeGet = KGDesignerNodeGet; exports.KGDesignerNodeList = KGDesignerNodeList; exports.KGDesignerEdgeCreate = KGDesignerEdgeCreate; exports.KGDesignerEdgeUpdate = KGDesignerEdgeUpdate; exports.KGDesignerEdgeDelete = KGDesignerEdgeDelete; exports.KGDesignerEdgeGet = KGDesignerEdgeGet; exports.KGDesignerEdgeList = KGDesignerEdgeList; exports.KGDBCreate = KGDBCreate; exports.KGDocumentDelete = KGDocumentDelete; exports.KGSyncJobUpdate = KGSyncJobUpdate; exports.KGSyncJobList = KGSyncJobList; exports.KGGraphOptimize = KGGraphOptimize; exports.KGIngestNodeSync = KGIngestNodeSync; exports.KGIngestBatchSync = KGIngestBatchSync;
49
+ //# sourceMappingURL=chunk-2OYIMLE4.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/home/runner/work/eloquent-packages/eloquent-packages/packages/kg/dist/chunk-2OYIMLE4.js","../models/kg-designer.ts"],"names":[],"mappings":"AAAA;ACuDO,IAAM,cAAA,EAAgB,iBAAA;AACtB,IAAM,cAAA,EAAgB,mBAAA;AACtB,IAAM,cAAA,EAAgB,mBAAA;AACtB,IAAM,WAAA,EAAa,gBAAA;AACnB,IAAM,YAAA,EAAc,eAAA;AAIpB,IAAM,qBAAA,EAAuB,yBAAA;AAC7B,IAAM,qBAAA,EAAuB,2BAAA;AAC7B,IAAM,qBAAA,EAAuB,2BAAA;AAC7B,IAAM,kBAAA,EAAoB,wBAAA;AAC1B,IAAM,mBAAA,EAAqB,uBAAA;AAI3B,IAAM,qBAAA,EAAuB,yBAAA;AAC7B,IAAM,qBAAA,EAAuB,2BAAA;AAC7B,IAAM,qBAAA,EAAuB,2BAAA;AAC7B,IAAM,kBAAA,EAAoB,wBAAA;AAC1B,IAAM,mBAAA,EAAqB,uBAAA;AAI3B,IAAM,WAAA,EAAa,cAAA;AAInB,IAAM,iBAAA,EAAmB,2BAAA;AAIzB,IAAM,gBAAA,EAAkB,oBAAA;AACxB,IAAM,cAAA,EAAgB,kBAAA;AAItB,IAAM,gBAAA,EAAkB,mBAAA;AAKxB,IAAM,iBAAA,EAAmB,cAAA;AACzB,IAAM,kBAAA,EAAoB,eAAA;AD3EjC;AACA;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,69BAAC","file":"/home/runner/work/eloquent-packages/eloquent-packages/packages/kg/dist/chunk-2OYIMLE4.js","sourcesContent":[null,"// Code generated by tygo. DO NOT EDIT.\n\n//////////\n// source: designer-models.go\n\n/**\n * GraphNodeDefinition represents a node type in the knowledge graph\n */\nexport interface GraphNodeDefinition {\n label: string;\n description: string;\n schema: { [key: string]: any};\n createdAt: string /* RFC3339 */;\n updatedAt: string /* RFC3339 */;\n}\n/**\n * GraphEdgeDefinition represents an edge type in the knowledge graph\n */\nexport interface GraphEdgeDefinition {\n label: string;\n description: string;\n fromNode: string;\n toNode: string;\n schema: { [key: string]: any};\n createdAt: string /* RFC3339 */;\n updatedAt: string /* RFC3339 */;\n}\n/**\n * Request/Response types\n */\nexport interface GraphNodeRequest {\n node: GraphNodeDefinition;\n}\nexport interface GraphNodeResponse {\n node?: GraphNodeDefinition;\n nodes?: GraphNodeDefinition[];\n success: boolean;\n error?: string;\n}\nexport interface GraphEdgeRequest {\n edge: GraphEdgeDefinition;\n}\nexport interface GraphEdgeResponse {\n edge?: GraphEdgeDefinition;\n edges?: GraphEdgeDefinition[];\n success: boolean;\n error?: string;\n}\n\n//////////\n// source: subjects.go\n\n/**\n * KG Graph management subjects (multi-graph support)\n */\nexport const KGGraphCreate = \"kg.graph.create\";\nexport const KGGraphUpdate = \"kg.graph.update.*\";\nexport const KGGraphDelete = \"kg.graph.delete.*\";\nexport const KGGraphGet = \"kg.graph.get.*\";\nexport const KGGraphList = \"kg.graph.list\";\n/**\n * KG Designer Node subjects\n */\nexport const KGDesignerNodeCreate = \"kg.designer.node.create\";\nexport const KGDesignerNodeUpdate = \"kg.designer.node.update.*\";\nexport const KGDesignerNodeDelete = \"kg.designer.node.delete.*\";\nexport const KGDesignerNodeGet = \"kg.designer.node.get.*\";\nexport const KGDesignerNodeList = \"kg.designer.node.list\";\n/**\n * KG Designer Edge subjects\n */\nexport const KGDesignerEdgeCreate = \"kg.designer.edge.create\";\nexport const KGDesignerEdgeUpdate = \"kg.designer.edge.update.*\";\nexport const KGDesignerEdgeDelete = \"kg.designer.edge.delete.*\";\nexport const KGDesignerEdgeGet = \"kg.designer.edge.get.*\";\nexport const KGDesignerEdgeList = \"kg.designer.edge.list\";\n/**\n * KG Database subjects\n */\nexport const KGDBCreate = \"kg.db.create\";\n/**\n * KG Document subjects\n */\nexport const KGDocumentDelete = \"kg_ingest.document.delete\";\n/**\n * KG Sync Job subjects\n */\nexport const KGSyncJobUpdate = \"kg.sync.job.update\";\nexport const KGSyncJobList = \"kg.sync.job.list\";\n/**\n * KG Optimization subjects\n */\nexport const KGGraphOptimize = \"kg.graph.optimize\";\n/**\n * Synchronous ingest subjects (bypass JetStream for direct ClickHouse insertion)\n * Use kg.sync.* pattern to avoid overlap with kg.ingest.> JetStream stream\n */\nexport const KGIngestNodeSync = \"kg.sync.node\";\nexport const KGIngestBatchSync = \"kg.sync.batch\";\n"]}
@@ -36,4 +36,4 @@ var KGRelationshipDirectionOutgoing = "outgoing";
36
36
 
37
37
 
38
38
  exports.DuplicatePolicyCreateIf = DuplicatePolicyCreateIf; exports.DuplicatePolicyIgnore = DuplicatePolicyIgnore; exports.DuplicatePolicyReplace = DuplicatePolicyReplace; exports.DuplicatePolicyFail = DuplicatePolicyFail; exports.DuplicatePolicyCreate = DuplicatePolicyCreate; exports.KGFieldQueryOperatorEqual = KGFieldQueryOperatorEqual; exports.KGFieldQueryOperatorNotEqual = KGFieldQueryOperatorNotEqual; exports.KGFieldQueryOperatorGreater = KGFieldQueryOperatorGreater; exports.KGFieldQueryOperatorLess = KGFieldQueryOperatorLess; exports.KGFieldQueryOperatorGreaterOrEqual = KGFieldQueryOperatorGreaterOrEqual; exports.KGFieldQueryOperatorLessOrEqual = KGFieldQueryOperatorLessOrEqual; exports.KGFieldQueryOperatorLike = KGFieldQueryOperatorLike; exports.KGFieldQueryOperatorSimilar = KGFieldQueryOperatorSimilar; exports.KGFieldQueryOperatorIn = KGFieldQueryOperatorIn; exports.KGFieldQueryOperatorArrayContains = KGFieldQueryOperatorArrayContains; exports.KGRelationshipDirectionIncoming = KGRelationshipDirectionIncoming; exports.KGRelationshipDirectionOutgoing = KGRelationshipDirectionOutgoing;
39
- //# sourceMappingURL=chunk-5NCBQDAT.js.map
39
+ //# sourceMappingURL=chunk-AV4H2BKO.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/home/runner/work/eloquent-packages/eloquent-packages/packages/kg/dist/chunk-AV4H2BKO.js","../models/kg.ts"],"names":[],"mappings":"AAAA;AC+FO,IAAM,wBAAA,EAA2C,kBAAA;AACjD,IAAM,sBAAA,EAAyC,QAAA;AAC/C,IAAM,uBAAA,EAA0C,SAAA;AAChD,IAAM,oBAAA,EAAuC,MAAA;AAC7C,IAAM,sBAAA,EAAyC,QAAA;AA6B/C,IAAM,0BAAA,EAAkD,IAAA;AACxD,IAAM,6BAAA,EAAqD,KAAA;AAC3D,IAAM,4BAAA,EAAoD,IAAA;AAC1D,IAAM,yBAAA,EAAiD,IAAA;AACvD,IAAM,mCAAA,EAA2D,KAAA;AACjE,IAAM,gCAAA,EAAwD,KAAA;AAC9D,IAAM,yBAAA,EAAiD,MAAA;AACvD,IAAM,4BAAA,EAAoD,SAAA;AAK1D,IAAM,uBAAA,EAA+C,IAAA;AACrD,IAAM,kCAAA,EAA0D,eAAA;AAEhE,IAAM,gCAAA,EAA2D,UAAA;AACjE,IAAM,gCAAA,EAA2D,UAAA;AD9HxE;AACA;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,klCAAC","file":"/home/runner/work/eloquent-packages/eloquent-packages/packages/kg/dist/chunk-AV4H2BKO.js","sourcesContent":[null,"// Code generated by tygo. DO NOT EDIT.\nimport { ResponseMetadata } from \"@elqnt/types\";\n\n//////////\n// source: kg-models.go\n\n/**\n * Graph represents a knowledge graph within an organization\n */\nexport interface Graph {\n id: string;\n name: string;\n description: string;\n isDefault: boolean;\n createdAt: string /* RFC3339 */;\n updatedAt: string /* RFC3339 */;\n}\n/**\n * CreateGraphRequest is the request to create a new graph\n */\nexport interface CreateGraphRequest {\n name: string;\n description: string;\n}\n/**\n * CreateGraphResult is the response for creating a graph\n */\nexport interface CreateGraphResult {\n graph?: Graph;\n success: boolean;\n error?: string;\n metadata?: ResponseMetadata;\n}\n/**\n * GetGraphResult is the response for getting a single graph\n */\nexport interface GetGraphResult {\n graph?: Graph;\n success: boolean;\n error?: string;\n metadata?: ResponseMetadata;\n}\n/**\n * ListGraphsResult is the response for listing graphs\n */\nexport interface ListGraphsResult {\n graphs?: Graph[];\n success: boolean;\n error?: string;\n metadata?: ResponseMetadata;\n}\n/**\n * UpdateGraphResult is the response for updating a graph\n */\nexport interface UpdateGraphResult {\n graph?: Graph;\n success: boolean;\n error?: string;\n metadata?: ResponseMetadata;\n}\n/**\n * DeleteGraphResult is the response for deleting a graph\n */\nexport interface DeleteGraphResult {\n success: boolean;\n error?: string;\n metadata?: ResponseMetadata;\n}\nexport interface KGNode {\n id: string;\n label: string;\n fields: { [key: string]: any};\n relationships?: KGEdge[];\n score?: number /* float64 */;\n}\nexport interface KGEdge {\n id: string;\n label: string;\n fields: { [key: string]: any};\n from: string;\n to: string;\n}\nexport interface KGNodeIngestRequest {\n graphId?: string; // Optional - defaults to \"default\" for backwards compatibility\n label: string;\n keyField?: string;\n reverseEdgeLabel?: string;\n fields: { [key: string]: any};\n edges?: KGEdgeIngestRequest[];\n duplicatePolicy?: DuplicatePolicy;\n generateEmbeddings?: boolean;\n embeddingsSource?: string;\n embeddingsFields?: string[];\n}\nexport type DuplicatePolicy = string;\nexport const DuplicatePolicyCreateIf: DuplicatePolicy = \"createIfNotExist\";\nexport const DuplicatePolicyIgnore: DuplicatePolicy = \"ignore\";\nexport const DuplicatePolicyReplace: DuplicatePolicy = \"replace\";\nexport const DuplicatePolicyFail: DuplicatePolicy = \"fail\";\nexport const DuplicatePolicyCreate: DuplicatePolicy = \"create\";\nexport interface KGEdgeIngestRequest {\n label: string;\n fields: { [key: string]: any};\n toLabel: string;\n toFieldKey: string;\n toFieldValue: any;\n createReciprocal: boolean;\n reciprocalLabel: string;\n allowEmbeddingsSearch?: boolean;\n}\nexport interface KGQuery {\n graphId?: string; // Optional - defaults to \"default\" for backwards compatibility\n label: string;\n fields: KGFieldQuery[];\n limit: number /* int */;\n depth: number /* int */;\n sortBy: string;\n sortOrder: string;\n edges?: KGEdgeQuery[];\n embeddingsSource?: string;\n skipEmbedding?: boolean;\n}\nexport interface KGFieldQuery {\n name: string;\n value: any;\n operator: KGFieldQueryOperator;\n}\nexport type KGFieldQueryOperator = string;\nexport const KGFieldQueryOperatorEqual: KGFieldQueryOperator = \"eq\";\nexport const KGFieldQueryOperatorNotEqual: KGFieldQueryOperator = \"neq\";\nexport const KGFieldQueryOperatorGreater: KGFieldQueryOperator = \"gt\";\nexport const KGFieldQueryOperatorLess: KGFieldQueryOperator = \"lt\";\nexport const KGFieldQueryOperatorGreaterOrEqual: KGFieldQueryOperator = \"gte\";\nexport const KGFieldQueryOperatorLessOrEqual: KGFieldQueryOperator = \"lte\";\nexport const KGFieldQueryOperatorLike: KGFieldQueryOperator = \"like\";\nexport const KGFieldQueryOperatorSimilar: KGFieldQueryOperator = \"similar\";\n/**\n * KGFieldQueryOperatorGreaterOrEqual KGFieldQueryOperator = \"gte\"\n * KGFieldQueryOperatorLessOrEqual KGFieldQueryOperator = \"lte\"\n */\nexport const KGFieldQueryOperatorIn: KGFieldQueryOperator = \"in\";\nexport const KGFieldQueryOperatorArrayContains: KGFieldQueryOperator = \"arrayContains\";\nexport type KGRelationshipDirection = string;\nexport const KGRelationshipDirectionIncoming: KGRelationshipDirection = \"incoming\";\nexport const KGRelationshipDirectionOutgoing: KGRelationshipDirection = \"outgoing\";\nexport interface KGEdgeQuery {\n label: string;\n direction: 'incoming' | 'outgoing';\n fields?: { [key: string]: any};\n /**\n * FromLabel string `json:\"fromLabel\"`\n * FromFieldKey string `json:\"fromFieldKey\"`\n * FromValue interface{} `json:\"fromValue\"`\n */\n toLabel: string;\n toFieldKey: string;\n toFieldValue: any;\n}\nexport interface KGQueryResult {\n nodes: KGNode[];\n edges: KGEdge[];\n}\nexport interface KGLabelInfo {\n label: string;\n count: number /* uint64 */;\n}\nexport interface KGPropertyInfo {\n property: string;\n count: number /* uint64 */;\n}\nexport interface KGPLabelSchema {\n label: string;\n keys: string[];\n}\nexport interface KGArticle {\n id: string;\n title: string;\n content: string;\n lang?: string;\n docUrl?: string;\n paragraphs?: string;\n}\nexport interface KGPropertyFilter {\n property: string;\n value: string;\n}\nexport interface KGPropertyFilterRequest {\n label: string;\n filters: KGPropertyFilter[];\n}\nexport interface DeleteDocumentRequest {\n documentId: string;\n}\nexport interface DeleteDocumentResponse {\n success: boolean;\n deletedNodes: { [key: string]: number /* int */};\n totalDeleted: number /* int */;\n error?: string;\n}\n/**\n * KGSyncJob represents a sync job record in the database\n */\nexport interface KGSyncJob {\n id: string;\n title: string;\n stats: { [key: string]: any};\n startTime: string;\n endTime: string;\n updatedAt?: string;\n}\n/**\n * KGSyncJobUpdateRequest is used to insert or update a sync job\n */\nexport interface KGSyncJobUpdateRequest {\n id: string;\n title: string;\n stats: { [key: string]: any};\n startTime: string;\n endTime: string;\n}\nexport interface KGSyncJobUpdateResponse {\n jobId: string;\n metadata: ResponseMetadata;\n}\nexport interface KGSyncJobListResponse {\n jobs: KGSyncJob[];\n metadata: ResponseMetadata;\n}\n/**\n * KGSyncJobListRequest is used to list sync jobs with filters\n */\nexport interface KGSyncJobListRequest {\n limit?: number /* int */;\n offset?: number /* int */;\n startFrom?: string;\n endTo?: string;\n}\n/**\n * KGSyncIngestResponse is the response for synchronous single node ingestion\n */\nexport interface KGSyncIngestResponse {\n success: boolean;\n nodeId?: string;\n error?: string;\n metadata: ResponseMetadata;\n}\n/**\n * KGBatchSyncIngestResponse is the response for synchronous batch node ingestion\n */\nexport interface KGBatchSyncIngestResponse {\n success: boolean;\n ingestedCount: number /* int */;\n nodeIds?: string[];\n errors?: string[];\n metadata: ResponseMetadata;\n}\n"]}
@@ -1,4 +1,9 @@
1
1
  // models/kg-designer.ts
2
+ var KGGraphCreate = "kg.graph.create";
3
+ var KGGraphUpdate = "kg.graph.update.*";
4
+ var KGGraphDelete = "kg.graph.delete.*";
5
+ var KGGraphGet = "kg.graph.get.*";
6
+ var KGGraphList = "kg.graph.list";
2
7
  var KGDesignerNodeCreate = "kg.designer.node.create";
3
8
  var KGDesignerNodeUpdate = "kg.designer.node.update.*";
4
9
  var KGDesignerNodeDelete = "kg.designer.node.delete.*";
@@ -14,8 +19,15 @@ var KGDocumentDelete = "kg_ingest.document.delete";
14
19
  var KGSyncJobUpdate = "kg.sync.job.update";
15
20
  var KGSyncJobList = "kg.sync.job.list";
16
21
  var KGGraphOptimize = "kg.graph.optimize";
22
+ var KGIngestNodeSync = "kg.sync.node";
23
+ var KGIngestBatchSync = "kg.sync.batch";
17
24
 
18
25
  export {
26
+ KGGraphCreate,
27
+ KGGraphUpdate,
28
+ KGGraphDelete,
29
+ KGGraphGet,
30
+ KGGraphList,
19
31
  KGDesignerNodeCreate,
20
32
  KGDesignerNodeUpdate,
21
33
  KGDesignerNodeDelete,
@@ -30,6 +42,8 @@ export {
30
42
  KGDocumentDelete,
31
43
  KGSyncJobUpdate,
32
44
  KGSyncJobList,
33
- KGGraphOptimize
45
+ KGGraphOptimize,
46
+ KGIngestNodeSync,
47
+ KGIngestBatchSync
34
48
  };
35
- //# sourceMappingURL=chunk-ZKSYF4EB.mjs.map
49
+ //# sourceMappingURL=chunk-IXLQ6ZMR.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../models/kg-designer.ts"],"sourcesContent":["// Code generated by tygo. DO NOT EDIT.\n\n//////////\n// source: designer-models.go\n\n/**\n * GraphNodeDefinition represents a node type in the knowledge graph\n */\nexport interface GraphNodeDefinition {\n label: string;\n description: string;\n schema: { [key: string]: any};\n createdAt: string /* RFC3339 */;\n updatedAt: string /* RFC3339 */;\n}\n/**\n * GraphEdgeDefinition represents an edge type in the knowledge graph\n */\nexport interface GraphEdgeDefinition {\n label: string;\n description: string;\n fromNode: string;\n toNode: string;\n schema: { [key: string]: any};\n createdAt: string /* RFC3339 */;\n updatedAt: string /* RFC3339 */;\n}\n/**\n * Request/Response types\n */\nexport interface GraphNodeRequest {\n node: GraphNodeDefinition;\n}\nexport interface GraphNodeResponse {\n node?: GraphNodeDefinition;\n nodes?: GraphNodeDefinition[];\n success: boolean;\n error?: string;\n}\nexport interface GraphEdgeRequest {\n edge: GraphEdgeDefinition;\n}\nexport interface GraphEdgeResponse {\n edge?: GraphEdgeDefinition;\n edges?: GraphEdgeDefinition[];\n success: boolean;\n error?: string;\n}\n\n//////////\n// source: subjects.go\n\n/**\n * KG Graph management subjects (multi-graph support)\n */\nexport const KGGraphCreate = \"kg.graph.create\";\nexport const KGGraphUpdate = \"kg.graph.update.*\";\nexport const KGGraphDelete = \"kg.graph.delete.*\";\nexport const KGGraphGet = \"kg.graph.get.*\";\nexport const KGGraphList = \"kg.graph.list\";\n/**\n * KG Designer Node subjects\n */\nexport const KGDesignerNodeCreate = \"kg.designer.node.create\";\nexport const KGDesignerNodeUpdate = \"kg.designer.node.update.*\";\nexport const KGDesignerNodeDelete = \"kg.designer.node.delete.*\";\nexport const KGDesignerNodeGet = \"kg.designer.node.get.*\";\nexport const KGDesignerNodeList = \"kg.designer.node.list\";\n/**\n * KG Designer Edge subjects\n */\nexport const KGDesignerEdgeCreate = \"kg.designer.edge.create\";\nexport const KGDesignerEdgeUpdate = \"kg.designer.edge.update.*\";\nexport const KGDesignerEdgeDelete = \"kg.designer.edge.delete.*\";\nexport const KGDesignerEdgeGet = \"kg.designer.edge.get.*\";\nexport const KGDesignerEdgeList = \"kg.designer.edge.list\";\n/**\n * KG Database subjects\n */\nexport const KGDBCreate = \"kg.db.create\";\n/**\n * KG Document subjects\n */\nexport const KGDocumentDelete = \"kg_ingest.document.delete\";\n/**\n * KG Sync Job subjects\n */\nexport const KGSyncJobUpdate = \"kg.sync.job.update\";\nexport const KGSyncJobList = \"kg.sync.job.list\";\n/**\n * KG Optimization subjects\n */\nexport const KGGraphOptimize = \"kg.graph.optimize\";\n/**\n * Synchronous ingest subjects (bypass JetStream for direct ClickHouse insertion)\n * Use kg.sync.* pattern to avoid overlap with kg.ingest.> JetStream stream\n */\nexport const KGIngestNodeSync = \"kg.sync.node\";\nexport const KGIngestBatchSync = \"kg.sync.batch\";\n"],"mappings":";AAuDO,IAAM,gBAAgB;AACtB,IAAM,gBAAgB;AACtB,IAAM,gBAAgB;AACtB,IAAM,aAAa;AACnB,IAAM,cAAc;AAIpB,IAAM,uBAAuB;AAC7B,IAAM,uBAAuB;AAC7B,IAAM,uBAAuB;AAC7B,IAAM,oBAAoB;AAC1B,IAAM,qBAAqB;AAI3B,IAAM,uBAAuB;AAC7B,IAAM,uBAAuB;AAC7B,IAAM,uBAAuB;AAC7B,IAAM,oBAAoB;AAC1B,IAAM,qBAAqB;AAI3B,IAAM,aAAa;AAInB,IAAM,mBAAmB;AAIzB,IAAM,kBAAkB;AACxB,IAAM,gBAAgB;AAItB,IAAM,kBAAkB;AAKxB,IAAM,mBAAmB;AACzB,IAAM,oBAAoB;","names":[]}
@@ -36,4 +36,4 @@ export {
36
36
  KGRelationshipDirectionIncoming,
37
37
  KGRelationshipDirectionOutgoing
38
38
  };
39
- //# sourceMappingURL=chunk-26VARHUJ.mjs.map
39
+ //# sourceMappingURL=chunk-OZU7UCOQ.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../models/kg.ts"],"sourcesContent":["// Code generated by tygo. DO NOT EDIT.\nimport { ResponseMetadata } from \"@elqnt/types\";\n\n//////////\n// source: kg-models.go\n\n/**\n * Graph represents a knowledge graph within an organization\n */\nexport interface Graph {\n id: string;\n name: string;\n description: string;\n isDefault: boolean;\n createdAt: string /* RFC3339 */;\n updatedAt: string /* RFC3339 */;\n}\n/**\n * CreateGraphRequest is the request to create a new graph\n */\nexport interface CreateGraphRequest {\n name: string;\n description: string;\n}\n/**\n * CreateGraphResult is the response for creating a graph\n */\nexport interface CreateGraphResult {\n graph?: Graph;\n success: boolean;\n error?: string;\n metadata?: ResponseMetadata;\n}\n/**\n * GetGraphResult is the response for getting a single graph\n */\nexport interface GetGraphResult {\n graph?: Graph;\n success: boolean;\n error?: string;\n metadata?: ResponseMetadata;\n}\n/**\n * ListGraphsResult is the response for listing graphs\n */\nexport interface ListGraphsResult {\n graphs?: Graph[];\n success: boolean;\n error?: string;\n metadata?: ResponseMetadata;\n}\n/**\n * UpdateGraphResult is the response for updating a graph\n */\nexport interface UpdateGraphResult {\n graph?: Graph;\n success: boolean;\n error?: string;\n metadata?: ResponseMetadata;\n}\n/**\n * DeleteGraphResult is the response for deleting a graph\n */\nexport interface DeleteGraphResult {\n success: boolean;\n error?: string;\n metadata?: ResponseMetadata;\n}\nexport interface KGNode {\n id: string;\n label: string;\n fields: { [key: string]: any};\n relationships?: KGEdge[];\n score?: number /* float64 */;\n}\nexport interface KGEdge {\n id: string;\n label: string;\n fields: { [key: string]: any};\n from: string;\n to: string;\n}\nexport interface KGNodeIngestRequest {\n graphId?: string; // Optional - defaults to \"default\" for backwards compatibility\n label: string;\n keyField?: string;\n reverseEdgeLabel?: string;\n fields: { [key: string]: any};\n edges?: KGEdgeIngestRequest[];\n duplicatePolicy?: DuplicatePolicy;\n generateEmbeddings?: boolean;\n embeddingsSource?: string;\n embeddingsFields?: string[];\n}\nexport type DuplicatePolicy = string;\nexport const DuplicatePolicyCreateIf: DuplicatePolicy = \"createIfNotExist\";\nexport const DuplicatePolicyIgnore: DuplicatePolicy = \"ignore\";\nexport const DuplicatePolicyReplace: DuplicatePolicy = \"replace\";\nexport const DuplicatePolicyFail: DuplicatePolicy = \"fail\";\nexport const DuplicatePolicyCreate: DuplicatePolicy = \"create\";\nexport interface KGEdgeIngestRequest {\n label: string;\n fields: { [key: string]: any};\n toLabel: string;\n toFieldKey: string;\n toFieldValue: any;\n createReciprocal: boolean;\n reciprocalLabel: string;\n allowEmbeddingsSearch?: boolean;\n}\nexport interface KGQuery {\n graphId?: string; // Optional - defaults to \"default\" for backwards compatibility\n label: string;\n fields: KGFieldQuery[];\n limit: number /* int */;\n depth: number /* int */;\n sortBy: string;\n sortOrder: string;\n edges?: KGEdgeQuery[];\n embeddingsSource?: string;\n skipEmbedding?: boolean;\n}\nexport interface KGFieldQuery {\n name: string;\n value: any;\n operator: KGFieldQueryOperator;\n}\nexport type KGFieldQueryOperator = string;\nexport const KGFieldQueryOperatorEqual: KGFieldQueryOperator = \"eq\";\nexport const KGFieldQueryOperatorNotEqual: KGFieldQueryOperator = \"neq\";\nexport const KGFieldQueryOperatorGreater: KGFieldQueryOperator = \"gt\";\nexport const KGFieldQueryOperatorLess: KGFieldQueryOperator = \"lt\";\nexport const KGFieldQueryOperatorGreaterOrEqual: KGFieldQueryOperator = \"gte\";\nexport const KGFieldQueryOperatorLessOrEqual: KGFieldQueryOperator = \"lte\";\nexport const KGFieldQueryOperatorLike: KGFieldQueryOperator = \"like\";\nexport const KGFieldQueryOperatorSimilar: KGFieldQueryOperator = \"similar\";\n/**\n * KGFieldQueryOperatorGreaterOrEqual KGFieldQueryOperator = \"gte\"\n * KGFieldQueryOperatorLessOrEqual KGFieldQueryOperator = \"lte\"\n */\nexport const KGFieldQueryOperatorIn: KGFieldQueryOperator = \"in\";\nexport const KGFieldQueryOperatorArrayContains: KGFieldQueryOperator = \"arrayContains\";\nexport type KGRelationshipDirection = string;\nexport const KGRelationshipDirectionIncoming: KGRelationshipDirection = \"incoming\";\nexport const KGRelationshipDirectionOutgoing: KGRelationshipDirection = \"outgoing\";\nexport interface KGEdgeQuery {\n label: string;\n direction: 'incoming' | 'outgoing';\n fields?: { [key: string]: any};\n /**\n * FromLabel string `json:\"fromLabel\"`\n * FromFieldKey string `json:\"fromFieldKey\"`\n * FromValue interface{} `json:\"fromValue\"`\n */\n toLabel: string;\n toFieldKey: string;\n toFieldValue: any;\n}\nexport interface KGQueryResult {\n nodes: KGNode[];\n edges: KGEdge[];\n}\nexport interface KGLabelInfo {\n label: string;\n count: number /* uint64 */;\n}\nexport interface KGPropertyInfo {\n property: string;\n count: number /* uint64 */;\n}\nexport interface KGPLabelSchema {\n label: string;\n keys: string[];\n}\nexport interface KGArticle {\n id: string;\n title: string;\n content: string;\n lang?: string;\n docUrl?: string;\n paragraphs?: string;\n}\nexport interface KGPropertyFilter {\n property: string;\n value: string;\n}\nexport interface KGPropertyFilterRequest {\n label: string;\n filters: KGPropertyFilter[];\n}\nexport interface DeleteDocumentRequest {\n documentId: string;\n}\nexport interface DeleteDocumentResponse {\n success: boolean;\n deletedNodes: { [key: string]: number /* int */};\n totalDeleted: number /* int */;\n error?: string;\n}\n/**\n * KGSyncJob represents a sync job record in the database\n */\nexport interface KGSyncJob {\n id: string;\n title: string;\n stats: { [key: string]: any};\n startTime: string;\n endTime: string;\n updatedAt?: string;\n}\n/**\n * KGSyncJobUpdateRequest is used to insert or update a sync job\n */\nexport interface KGSyncJobUpdateRequest {\n id: string;\n title: string;\n stats: { [key: string]: any};\n startTime: string;\n endTime: string;\n}\nexport interface KGSyncJobUpdateResponse {\n jobId: string;\n metadata: ResponseMetadata;\n}\nexport interface KGSyncJobListResponse {\n jobs: KGSyncJob[];\n metadata: ResponseMetadata;\n}\n/**\n * KGSyncJobListRequest is used to list sync jobs with filters\n */\nexport interface KGSyncJobListRequest {\n limit?: number /* int */;\n offset?: number /* int */;\n startFrom?: string;\n endTo?: string;\n}\n/**\n * KGSyncIngestResponse is the response for synchronous single node ingestion\n */\nexport interface KGSyncIngestResponse {\n success: boolean;\n nodeId?: string;\n error?: string;\n metadata: ResponseMetadata;\n}\n/**\n * KGBatchSyncIngestResponse is the response for synchronous batch node ingestion\n */\nexport interface KGBatchSyncIngestResponse {\n success: boolean;\n ingestedCount: number /* int */;\n nodeIds?: string[];\n errors?: string[];\n metadata: ResponseMetadata;\n}\n"],"mappings":";AA+FO,IAAM,0BAA2C;AACjD,IAAM,wBAAyC;AAC/C,IAAM,yBAA0C;AAChD,IAAM,sBAAuC;AAC7C,IAAM,wBAAyC;AA6B/C,IAAM,4BAAkD;AACxD,IAAM,+BAAqD;AAC3D,IAAM,8BAAoD;AAC1D,IAAM,2BAAiD;AACvD,IAAM,qCAA2D;AACjE,IAAM,kCAAwD;AAC9D,IAAM,2BAAiD;AACvD,IAAM,8BAAoD;AAK1D,IAAM,yBAA+C;AACrD,IAAM,oCAA0D;AAEhE,IAAM,kCAA2D;AACjE,IAAM,kCAA2D;","names":[]}
package/dist/index.d.mts CHANGED
@@ -1,6 +1,6 @@
1
- import { KGNodeIngestRequest, KGQuery, KGQueryResult, KGLabelInfo, KGNode } from './models/kg.mjs';
2
- export { DeleteDocumentRequest, DeleteDocumentResponse, DuplicatePolicy, DuplicatePolicyCreate, DuplicatePolicyCreateIf, DuplicatePolicyFail, DuplicatePolicyIgnore, DuplicatePolicyReplace, KGArticle, KGEdge, KGEdgeIngestRequest, KGEdgeQuery, KGFieldQuery, KGFieldQueryOperator, KGFieldQueryOperatorArrayContains, KGFieldQueryOperatorEqual, KGFieldQueryOperatorGreater, KGFieldQueryOperatorGreaterOrEqual, KGFieldQueryOperatorIn, KGFieldQueryOperatorLess, KGFieldQueryOperatorLessOrEqual, KGFieldQueryOperatorLike, KGFieldQueryOperatorNotEqual, KGFieldQueryOperatorSimilar, KGPLabelSchema, KGPropertyFilter, KGPropertyFilterRequest, KGPropertyInfo, KGRelationshipDirection, KGRelationshipDirectionIncoming, KGRelationshipDirectionOutgoing, KGSyncJob, KGSyncJobListRequest, KGSyncJobListResponse, KGSyncJobUpdateRequest, KGSyncJobUpdateResponse } from './models/kg.mjs';
3
- export { GraphEdgeDefinition, GraphEdgeRequest, GraphEdgeResponse, GraphNodeDefinition, GraphNodeRequest, GraphNodeResponse, KGDBCreate, KGDesignerEdgeCreate, KGDesignerEdgeDelete, KGDesignerEdgeGet, KGDesignerEdgeList, KGDesignerEdgeUpdate, KGDesignerNodeCreate, KGDesignerNodeDelete, KGDesignerNodeGet, KGDesignerNodeList, KGDesignerNodeUpdate, KGDocumentDelete, KGGraphOptimize, KGSyncJobList, KGSyncJobUpdate } from './models/kg-designer.mjs';
1
+ import { KGNodeIngestRequest, KGQuery, KGQueryResult, KGLabelInfo, KGNode, Graph } from './models/kg.mjs';
2
+ export { CreateGraphRequest, CreateGraphResult, DeleteDocumentRequest, DeleteDocumentResponse, DeleteGraphResult, DuplicatePolicy, DuplicatePolicyCreate, DuplicatePolicyCreateIf, DuplicatePolicyFail, DuplicatePolicyIgnore, DuplicatePolicyReplace, GetGraphResult, KGArticle, KGBatchSyncIngestResponse, KGEdge, KGEdgeIngestRequest, KGEdgeQuery, KGFieldQuery, KGFieldQueryOperator, KGFieldQueryOperatorArrayContains, KGFieldQueryOperatorEqual, KGFieldQueryOperatorGreater, KGFieldQueryOperatorGreaterOrEqual, KGFieldQueryOperatorIn, KGFieldQueryOperatorLess, KGFieldQueryOperatorLessOrEqual, KGFieldQueryOperatorLike, KGFieldQueryOperatorNotEqual, KGFieldQueryOperatorSimilar, KGPLabelSchema, KGPropertyFilter, KGPropertyFilterRequest, KGPropertyInfo, KGRelationshipDirection, KGRelationshipDirectionIncoming, KGRelationshipDirectionOutgoing, KGSyncIngestResponse, KGSyncJob, KGSyncJobListRequest, KGSyncJobListResponse, KGSyncJobUpdateRequest, KGSyncJobUpdateResponse, ListGraphsResult, UpdateGraphResult } from './models/kg.mjs';
3
+ export { GraphEdgeDefinition, GraphEdgeRequest, GraphEdgeResponse, GraphNodeDefinition, GraphNodeRequest, GraphNodeResponse, KGDBCreate, KGDesignerEdgeCreate, KGDesignerEdgeDelete, KGDesignerEdgeGet, KGDesignerEdgeList, KGDesignerEdgeUpdate, KGDesignerNodeCreate, KGDesignerNodeDelete, KGDesignerNodeGet, KGDesignerNodeList, KGDesignerNodeUpdate, KGDocumentDelete, KGGraphCreate, KGGraphDelete, KGGraphGet, KGGraphList, KGGraphOptimize, KGGraphUpdate, KGIngestBatchSync, KGIngestNodeSync, KGSyncJobList, KGSyncJobUpdate } from './models/kg-designer.mjs';
4
4
  import * as react_jsx_runtime from 'react/jsx-runtime';
5
5
  import * as react from 'react';
6
6
  import { ReactNode } from 'react';
@@ -30,6 +30,13 @@ type UseKnowledgeGraphType = {
30
30
  selectedNodeId: string | undefined;
31
31
  setSelectedNodeId: (id: string | undefined) => void;
32
32
  getNodeById: (id: string) => Promise<KGNode | Error>;
33
+ graphs: Graph[];
34
+ selectedGraph: Graph | undefined;
35
+ selectedGraphId: string | undefined;
36
+ graphsLoading: boolean;
37
+ graphsError: string | undefined;
38
+ selectGraph: (graphId: string | undefined) => void;
39
+ refreshGraphs: () => Promise<void>;
33
40
  };
34
41
  declare const useKnowledgeGraph: (overrideOrgId?: string) => UseKnowledgeGraphType;
35
42
 
@@ -45,4 +52,4 @@ declare function KnowledgeGraphContextProvider(props: {
45
52
  }): react_jsx_runtime.JSX.Element;
46
53
  declare const useKnowledgeGraphContext: () => UseKnowledgeGraphType;
47
54
 
48
- export { KGLabelInfo, KGNode, KGNodeIngestRequest, KGQuery, KGQueryResult, KnowledgeGraphContext, KnowledgeGraphContextProvider, Test, type UseKnowledgeGraphAnalyticsType, type UseKnowledgeGraphType, useKnowledgeGraph, useKnowledgeGraphAnalytics, useKnowledgeGraphContext };
55
+ export { Graph, KGLabelInfo, KGNode, KGNodeIngestRequest, KGQuery, KGQueryResult, KnowledgeGraphContext, KnowledgeGraphContextProvider, Test, type UseKnowledgeGraphAnalyticsType, type UseKnowledgeGraphType, useKnowledgeGraph, useKnowledgeGraphAnalytics, useKnowledgeGraphContext };
package/dist/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
- import { KGNodeIngestRequest, KGQuery, KGQueryResult, KGLabelInfo, KGNode } from './models/kg.js';
2
- export { DeleteDocumentRequest, DeleteDocumentResponse, DuplicatePolicy, DuplicatePolicyCreate, DuplicatePolicyCreateIf, DuplicatePolicyFail, DuplicatePolicyIgnore, DuplicatePolicyReplace, KGArticle, KGEdge, KGEdgeIngestRequest, KGEdgeQuery, KGFieldQuery, KGFieldQueryOperator, KGFieldQueryOperatorArrayContains, KGFieldQueryOperatorEqual, KGFieldQueryOperatorGreater, KGFieldQueryOperatorGreaterOrEqual, KGFieldQueryOperatorIn, KGFieldQueryOperatorLess, KGFieldQueryOperatorLessOrEqual, KGFieldQueryOperatorLike, KGFieldQueryOperatorNotEqual, KGFieldQueryOperatorSimilar, KGPLabelSchema, KGPropertyFilter, KGPropertyFilterRequest, KGPropertyInfo, KGRelationshipDirection, KGRelationshipDirectionIncoming, KGRelationshipDirectionOutgoing, KGSyncJob, KGSyncJobListRequest, KGSyncJobListResponse, KGSyncJobUpdateRequest, KGSyncJobUpdateResponse } from './models/kg.js';
3
- export { GraphEdgeDefinition, GraphEdgeRequest, GraphEdgeResponse, GraphNodeDefinition, GraphNodeRequest, GraphNodeResponse, KGDBCreate, KGDesignerEdgeCreate, KGDesignerEdgeDelete, KGDesignerEdgeGet, KGDesignerEdgeList, KGDesignerEdgeUpdate, KGDesignerNodeCreate, KGDesignerNodeDelete, KGDesignerNodeGet, KGDesignerNodeList, KGDesignerNodeUpdate, KGDocumentDelete, KGGraphOptimize, KGSyncJobList, KGSyncJobUpdate } from './models/kg-designer.js';
1
+ import { KGNodeIngestRequest, KGQuery, KGQueryResult, KGLabelInfo, KGNode, Graph } from './models/kg.js';
2
+ export { CreateGraphRequest, CreateGraphResult, DeleteDocumentRequest, DeleteDocumentResponse, DeleteGraphResult, DuplicatePolicy, DuplicatePolicyCreate, DuplicatePolicyCreateIf, DuplicatePolicyFail, DuplicatePolicyIgnore, DuplicatePolicyReplace, GetGraphResult, KGArticle, KGBatchSyncIngestResponse, KGEdge, KGEdgeIngestRequest, KGEdgeQuery, KGFieldQuery, KGFieldQueryOperator, KGFieldQueryOperatorArrayContains, KGFieldQueryOperatorEqual, KGFieldQueryOperatorGreater, KGFieldQueryOperatorGreaterOrEqual, KGFieldQueryOperatorIn, KGFieldQueryOperatorLess, KGFieldQueryOperatorLessOrEqual, KGFieldQueryOperatorLike, KGFieldQueryOperatorNotEqual, KGFieldQueryOperatorSimilar, KGPLabelSchema, KGPropertyFilter, KGPropertyFilterRequest, KGPropertyInfo, KGRelationshipDirection, KGRelationshipDirectionIncoming, KGRelationshipDirectionOutgoing, KGSyncIngestResponse, KGSyncJob, KGSyncJobListRequest, KGSyncJobListResponse, KGSyncJobUpdateRequest, KGSyncJobUpdateResponse, ListGraphsResult, UpdateGraphResult } from './models/kg.js';
3
+ export { GraphEdgeDefinition, GraphEdgeRequest, GraphEdgeResponse, GraphNodeDefinition, GraphNodeRequest, GraphNodeResponse, KGDBCreate, KGDesignerEdgeCreate, KGDesignerEdgeDelete, KGDesignerEdgeGet, KGDesignerEdgeList, KGDesignerEdgeUpdate, KGDesignerNodeCreate, KGDesignerNodeDelete, KGDesignerNodeGet, KGDesignerNodeList, KGDesignerNodeUpdate, KGDocumentDelete, KGGraphCreate, KGGraphDelete, KGGraphGet, KGGraphList, KGGraphOptimize, KGGraphUpdate, KGIngestBatchSync, KGIngestNodeSync, KGSyncJobList, KGSyncJobUpdate } from './models/kg-designer.js';
4
4
  import * as react_jsx_runtime from 'react/jsx-runtime';
5
5
  import * as react from 'react';
6
6
  import { ReactNode } from 'react';
@@ -30,6 +30,13 @@ type UseKnowledgeGraphType = {
30
30
  selectedNodeId: string | undefined;
31
31
  setSelectedNodeId: (id: string | undefined) => void;
32
32
  getNodeById: (id: string) => Promise<KGNode | Error>;
33
+ graphs: Graph[];
34
+ selectedGraph: Graph | undefined;
35
+ selectedGraphId: string | undefined;
36
+ graphsLoading: boolean;
37
+ graphsError: string | undefined;
38
+ selectGraph: (graphId: string | undefined) => void;
39
+ refreshGraphs: () => Promise<void>;
33
40
  };
34
41
  declare const useKnowledgeGraph: (overrideOrgId?: string) => UseKnowledgeGraphType;
35
42
 
@@ -45,4 +52,4 @@ declare function KnowledgeGraphContextProvider(props: {
45
52
  }): react_jsx_runtime.JSX.Element;
46
53
  declare const useKnowledgeGraphContext: () => UseKnowledgeGraphType;
47
54
 
48
- export { KGLabelInfo, KGNode, KGNodeIngestRequest, KGQuery, KGQueryResult, KnowledgeGraphContext, KnowledgeGraphContextProvider, Test, type UseKnowledgeGraphAnalyticsType, type UseKnowledgeGraphType, useKnowledgeGraph, useKnowledgeGraphAnalytics, useKnowledgeGraphContext };
55
+ export { Graph, KGLabelInfo, KGNode, KGNodeIngestRequest, KGQuery, KGQueryResult, KnowledgeGraphContext, KnowledgeGraphContextProvider, Test, type UseKnowledgeGraphAnalyticsType, type UseKnowledgeGraphType, useKnowledgeGraph, useKnowledgeGraphAnalytics, useKnowledgeGraphContext };
package/dist/index.js CHANGED
@@ -15,7 +15,6 @@
15
15
 
16
16
 
17
17
 
18
- var _chunkHOOYDY65js = require('./chunk-HOOYDY65.js');
19
18
 
20
19
 
21
20
 
@@ -23,6 +22,7 @@ var _chunkHOOYDY65js = require('./chunk-HOOYDY65.js');
23
22
 
24
23
 
25
24
 
25
+ var _chunk2OYIMLE4js = require('./chunk-2OYIMLE4.js');
26
26
 
27
27
 
28
28
 
@@ -34,7 +34,14 @@ var _chunkHOOYDY65js = require('./chunk-HOOYDY65.js');
34
34
 
35
35
 
36
36
 
37
- var _chunk5NCBQDATjs = require('./chunk-5NCBQDAT.js');
37
+
38
+
39
+
40
+
41
+
42
+
43
+
44
+ var _chunkAV4H2BKOjs = require('./chunk-AV4H2BKO.js');
38
45
 
39
46
  // consts.ts
40
47
  var Test = "hi";
@@ -59,6 +66,49 @@ var useKnowledgeGraph = (overrideOrgId) => {
59
66
  void 0
60
67
  );
61
68
  const [stateTrigger, setStateTrigger] = _react.useState.call(void 0, 0);
69
+ const [graphs, setGraphs] = _react.useState.call(void 0, []);
70
+ const [graphsLoading, setGraphsLoading] = _react.useState.call(void 0, true);
71
+ const [graphsError, setGraphsError] = _react.useState.call(void 0, );
72
+ const [selectedGraphId, setSelectedGraphId] = _react.useState.call(void 0, );
73
+ const selectedGraph = _react.useMemo.call(void 0, () => {
74
+ if (!selectedGraphId) {
75
+ return graphs.find((g) => g.isDefault) || graphs[0];
76
+ }
77
+ return graphs.find((g) => g.id === selectedGraphId);
78
+ }, [graphs, selectedGraphId]);
79
+ function selectGraph(graphId) {
80
+ setSelectedGraphId(graphId);
81
+ }
82
+ async function refreshGraphs() {
83
+ if (!orgId || !natsConnected) return;
84
+ setGraphsLoading(true);
85
+ setGraphsError(void 0);
86
+ const data = await request(_chunk2OYIMLE4js.KGGraphList, {}, { orgId });
87
+ if (data instanceof Error) {
88
+ setGraphsError(data.message);
89
+ setGraphsLoading(false);
90
+ return;
91
+ }
92
+ if (data.success !== false) {
93
+ const loadedGraphs = data.graphs || [];
94
+ setGraphs(loadedGraphs);
95
+ setSelectedGraphId((prev) => {
96
+ if (!prev && loadedGraphs.length) {
97
+ const defaultGraph = loadedGraphs.find((g) => g.isDefault);
98
+ return _optionalChain([defaultGraph, 'optionalAccess', _ => _.id]) || _optionalChain([loadedGraphs, 'access', _2 => _2[0], 'optionalAccess', _3 => _3.id]);
99
+ }
100
+ return prev;
101
+ });
102
+ } else {
103
+ setGraphsError(data.error || "Failed to load graphs");
104
+ }
105
+ setGraphsLoading(false);
106
+ }
107
+ _react.useEffect.call(void 0, () => {
108
+ if (!natsConnected || !orgId) return;
109
+ setSelectedGraphId(void 0);
110
+ refreshGraphs();
111
+ }, [natsConnected, orgId]);
62
112
  async function ingestNode(node) {
63
113
  if (!orgId) {
64
114
  return new Error("No orgId provided");
@@ -270,7 +320,7 @@ var useKnowledgeGraph = (overrideOrgId) => {
270
320
  }
271
321
  if (!Array.isArray(data) && typeof data === "object") {
272
322
  const err = data;
273
- return new Error(_nullishCoalesce(_nullishCoalesce(_optionalChain([err, 'optionalAccess', _ => _.message]), () => ( _optionalChain([err, 'optionalAccess', _2 => _2.error]))), () => ( err)));
323
+ return new Error(_nullishCoalesce(_nullishCoalesce(_optionalChain([err, 'optionalAccess', _4 => _4.message]), () => ( _optionalChain([err, 'optionalAccess', _5 => _5.error]))), () => ( err)));
274
324
  }
275
325
  return data;
276
326
  }
@@ -311,8 +361,8 @@ var useKnowledgeGraph = (overrideOrgId) => {
311
361
  }
312
362
  setQueryResult(res);
313
363
  console.log("graph query response ", {
314
- nodesCount: _optionalChain([res, 'access', _3 => _3.nodes, 'optionalAccess', _4 => _4.length]),
315
- edgesCount: _optionalChain([res, 'access', _5 => _5.edges, 'optionalAccess', _6 => _6.length])
364
+ nodesCount: _optionalChain([res, 'access', _6 => _6.nodes, 'optionalAccess', _7 => _7.length]),
365
+ edgesCount: _optionalChain([res, 'access', _8 => _8.edges, 'optionalAccess', _9 => _9.length])
316
366
  });
317
367
  }
318
368
  getGraphQueryResult();
@@ -338,7 +388,15 @@ var useKnowledgeGraph = (overrideOrgId) => {
338
388
  ingestText,
339
389
  selectedNodeId,
340
390
  setSelectedNodeId,
341
- ingestYT
391
+ ingestYT,
392
+ // Graph selection
393
+ graphs,
394
+ selectedGraph,
395
+ selectedGraphId: _optionalChain([selectedGraph, 'optionalAccess', _10 => _10.id]),
396
+ graphsLoading,
397
+ graphsError,
398
+ selectGraph,
399
+ refreshGraphs
342
400
  };
343
401
  };
344
402
 
@@ -412,5 +470,12 @@ var useKnowledgeGraphContext = () => {
412
470
 
413
471
 
414
472
 
415
- exports.DuplicatePolicyCreate = _chunk5NCBQDATjs.DuplicatePolicyCreate; exports.DuplicatePolicyCreateIf = _chunk5NCBQDATjs.DuplicatePolicyCreateIf; exports.DuplicatePolicyFail = _chunk5NCBQDATjs.DuplicatePolicyFail; exports.DuplicatePolicyIgnore = _chunk5NCBQDATjs.DuplicatePolicyIgnore; exports.DuplicatePolicyReplace = _chunk5NCBQDATjs.DuplicatePolicyReplace; exports.KGDBCreate = _chunkHOOYDY65js.KGDBCreate; exports.KGDesignerEdgeCreate = _chunkHOOYDY65js.KGDesignerEdgeCreate; exports.KGDesignerEdgeDelete = _chunkHOOYDY65js.KGDesignerEdgeDelete; exports.KGDesignerEdgeGet = _chunkHOOYDY65js.KGDesignerEdgeGet; exports.KGDesignerEdgeList = _chunkHOOYDY65js.KGDesignerEdgeList; exports.KGDesignerEdgeUpdate = _chunkHOOYDY65js.KGDesignerEdgeUpdate; exports.KGDesignerNodeCreate = _chunkHOOYDY65js.KGDesignerNodeCreate; exports.KGDesignerNodeDelete = _chunkHOOYDY65js.KGDesignerNodeDelete; exports.KGDesignerNodeGet = _chunkHOOYDY65js.KGDesignerNodeGet; exports.KGDesignerNodeList = _chunkHOOYDY65js.KGDesignerNodeList; exports.KGDesignerNodeUpdate = _chunkHOOYDY65js.KGDesignerNodeUpdate; exports.KGDocumentDelete = _chunkHOOYDY65js.KGDocumentDelete; exports.KGFieldQueryOperatorArrayContains = _chunk5NCBQDATjs.KGFieldQueryOperatorArrayContains; exports.KGFieldQueryOperatorEqual = _chunk5NCBQDATjs.KGFieldQueryOperatorEqual; exports.KGFieldQueryOperatorGreater = _chunk5NCBQDATjs.KGFieldQueryOperatorGreater; exports.KGFieldQueryOperatorGreaterOrEqual = _chunk5NCBQDATjs.KGFieldQueryOperatorGreaterOrEqual; exports.KGFieldQueryOperatorIn = _chunk5NCBQDATjs.KGFieldQueryOperatorIn; exports.KGFieldQueryOperatorLess = _chunk5NCBQDATjs.KGFieldQueryOperatorLess; exports.KGFieldQueryOperatorLessOrEqual = _chunk5NCBQDATjs.KGFieldQueryOperatorLessOrEqual; exports.KGFieldQueryOperatorLike = _chunk5NCBQDATjs.KGFieldQueryOperatorLike; exports.KGFieldQueryOperatorNotEqual = _chunk5NCBQDATjs.KGFieldQueryOperatorNotEqual; exports.KGFieldQueryOperatorSimilar = _chunk5NCBQDATjs.KGFieldQueryOperatorSimilar; exports.KGGraphOptimize = _chunkHOOYDY65js.KGGraphOptimize; exports.KGRelationshipDirectionIncoming = _chunk5NCBQDATjs.KGRelationshipDirectionIncoming; exports.KGRelationshipDirectionOutgoing = _chunk5NCBQDATjs.KGRelationshipDirectionOutgoing; exports.KGSyncJobList = _chunkHOOYDY65js.KGSyncJobList; exports.KGSyncJobUpdate = _chunkHOOYDY65js.KGSyncJobUpdate; exports.KnowledgeGraphContext = KnowledgeGraphContext; exports.KnowledgeGraphContextProvider = KnowledgeGraphContextProvider; exports.Test = Test; exports.useKnowledgeGraph = useKnowledgeGraph; exports.useKnowledgeGraphAnalytics = useKnowledgeGraphAnalytics; exports.useKnowledgeGraphContext = useKnowledgeGraphContext;
473
+
474
+
475
+
476
+
477
+
478
+
479
+
480
+ exports.DuplicatePolicyCreate = _chunkAV4H2BKOjs.DuplicatePolicyCreate; exports.DuplicatePolicyCreateIf = _chunkAV4H2BKOjs.DuplicatePolicyCreateIf; exports.DuplicatePolicyFail = _chunkAV4H2BKOjs.DuplicatePolicyFail; exports.DuplicatePolicyIgnore = _chunkAV4H2BKOjs.DuplicatePolicyIgnore; exports.DuplicatePolicyReplace = _chunkAV4H2BKOjs.DuplicatePolicyReplace; exports.KGDBCreate = _chunk2OYIMLE4js.KGDBCreate; exports.KGDesignerEdgeCreate = _chunk2OYIMLE4js.KGDesignerEdgeCreate; exports.KGDesignerEdgeDelete = _chunk2OYIMLE4js.KGDesignerEdgeDelete; exports.KGDesignerEdgeGet = _chunk2OYIMLE4js.KGDesignerEdgeGet; exports.KGDesignerEdgeList = _chunk2OYIMLE4js.KGDesignerEdgeList; exports.KGDesignerEdgeUpdate = _chunk2OYIMLE4js.KGDesignerEdgeUpdate; exports.KGDesignerNodeCreate = _chunk2OYIMLE4js.KGDesignerNodeCreate; exports.KGDesignerNodeDelete = _chunk2OYIMLE4js.KGDesignerNodeDelete; exports.KGDesignerNodeGet = _chunk2OYIMLE4js.KGDesignerNodeGet; exports.KGDesignerNodeList = _chunk2OYIMLE4js.KGDesignerNodeList; exports.KGDesignerNodeUpdate = _chunk2OYIMLE4js.KGDesignerNodeUpdate; exports.KGDocumentDelete = _chunk2OYIMLE4js.KGDocumentDelete; exports.KGFieldQueryOperatorArrayContains = _chunkAV4H2BKOjs.KGFieldQueryOperatorArrayContains; exports.KGFieldQueryOperatorEqual = _chunkAV4H2BKOjs.KGFieldQueryOperatorEqual; exports.KGFieldQueryOperatorGreater = _chunkAV4H2BKOjs.KGFieldQueryOperatorGreater; exports.KGFieldQueryOperatorGreaterOrEqual = _chunkAV4H2BKOjs.KGFieldQueryOperatorGreaterOrEqual; exports.KGFieldQueryOperatorIn = _chunkAV4H2BKOjs.KGFieldQueryOperatorIn; exports.KGFieldQueryOperatorLess = _chunkAV4H2BKOjs.KGFieldQueryOperatorLess; exports.KGFieldQueryOperatorLessOrEqual = _chunkAV4H2BKOjs.KGFieldQueryOperatorLessOrEqual; exports.KGFieldQueryOperatorLike = _chunkAV4H2BKOjs.KGFieldQueryOperatorLike; exports.KGFieldQueryOperatorNotEqual = _chunkAV4H2BKOjs.KGFieldQueryOperatorNotEqual; exports.KGFieldQueryOperatorSimilar = _chunkAV4H2BKOjs.KGFieldQueryOperatorSimilar; exports.KGGraphCreate = _chunk2OYIMLE4js.KGGraphCreate; exports.KGGraphDelete = _chunk2OYIMLE4js.KGGraphDelete; exports.KGGraphGet = _chunk2OYIMLE4js.KGGraphGet; exports.KGGraphList = _chunk2OYIMLE4js.KGGraphList; exports.KGGraphOptimize = _chunk2OYIMLE4js.KGGraphOptimize; exports.KGGraphUpdate = _chunk2OYIMLE4js.KGGraphUpdate; exports.KGIngestBatchSync = _chunk2OYIMLE4js.KGIngestBatchSync; exports.KGIngestNodeSync = _chunk2OYIMLE4js.KGIngestNodeSync; exports.KGRelationshipDirectionIncoming = _chunkAV4H2BKOjs.KGRelationshipDirectionIncoming; exports.KGRelationshipDirectionOutgoing = _chunkAV4H2BKOjs.KGRelationshipDirectionOutgoing; exports.KGSyncJobList = _chunk2OYIMLE4js.KGSyncJobList; exports.KGSyncJobUpdate = _chunk2OYIMLE4js.KGSyncJobUpdate; exports.KnowledgeGraphContext = KnowledgeGraphContext; exports.KnowledgeGraphContextProvider = KnowledgeGraphContextProvider; exports.Test = Test; exports.useKnowledgeGraph = useKnowledgeGraph; exports.useKnowledgeGraphAnalytics = useKnowledgeGraphAnalytics; exports.useKnowledgeGraphContext = useKnowledgeGraphContext;
416
481
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/eloquent-packages/eloquent-packages/packages/kg/dist/index.js","../consts.ts","../hooks/use-knowledge-graph.ts","../hooks/use-knowledge-graph-analytics.ts","../state/knowledge-graph-context.tsx"],"names":["labels","useUserContext","useState","useNatsContext"],"mappings":"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","file":"/home/runner/work/eloquent-packages/eloquent-packages/packages/kg/dist/index.js","sourcesContent":[null,"export const Test = \"hi\";","\"use client\";\n\nimport { useUserContext } from \"@elqnt/auth\";\nimport { DocsIngestionRequest } from \"@elqnt/docs\";\nimport { useNatsContext } from \"@elqnt/nats\";\nimport { useEffect, useState } from \"react\";\nimport {\n KGLabelInfo,\n KGNode,\n KGNodeIngestRequest,\n KGQuery,\n KGQueryResult,\n} from \"../models\";\n\ntype Success = { success: boolean };\n\nexport type UseKnowledgeGraphType = {\n isLoading: boolean;\n ingestNode: (node: KGNodeIngestRequest) => Promise<Success | Error>;\n ingestNodes: (node: KGNodeIngestRequest[]) => Promise<Success | Error>;\n updateNode: (\n nodeId: string,\n label: string,\n fields: Record<string, any>\n ) => Promise<Success | Error>;\n ingestDocs: (\n urls: string[],\n mode: \"documents\" | \"entities\" | \"snippets\",\n brief: string,\n labels: string[]\n ) => Promise<Success | Error>;\n\n ingestText: (\n text: string,\n mode: \"entities\" | \"snippets\"\n ) => Promise<Success | Error>;\n\n ingestYT: (url: string) => Promise<Success | Error>;\n\n queryGraph: (query: KGQuery) => Promise<KGQueryResult>;\n getGraphLabels: () => Promise<KGLabelInfo[] | Error>;\n labels: KGLabelInfo[] | undefined;\n selectedLabel: string | undefined;\n setSelectedLabel: (label: string) => void;\n queryResult: KGQueryResult | undefined;\n setQueryResult: (res: KGQueryResult) => void;\n refreshState: () => void;\n selectedNodeId: string | undefined;\n setSelectedNodeId: (id: string | undefined) => void;\n getNodeById: (id: string) => Promise<KGNode | Error>;\n};\n\nexport const useKnowledgeGraph = (\n overrideOrgId?: string\n): UseKnowledgeGraphType => {\n const { selectedOrgId } = useUserContext();\n const [isLoading, setIsLoading] = useState(false);\n const { natsConnected, request } = useNatsContext();\n const [selectedNodeId, setSelectedNodeId] = useState<string | undefined>(\n undefined\n );\n\n const orgId = overrideOrgId ?? selectedOrgId;\n\n const [labels, setLabels] = useState<KGLabelInfo[] | undefined>(undefined);\n const [selectedLabel, setSelectedLabel] = useState<string | undefined>(\n undefined\n );\n const [queryResult, setQueryResult] = useState<KGQueryResult | undefined>(\n undefined\n );\n\n const [stateTrigger, setStateTrigger] = useState(0);\n\n async function ingestNode(\n node: KGNodeIngestRequest\n ): Promise<Success | Error> {\n if (!orgId) {\n return new Error(\"No orgId provided\");\n }\n\n if (!natsConnected) {\n return new Error(\"Not connected to NATS\");\n }\n\n setIsLoading(true);\n const data = await request<KGNodeIngestRequest, Success>(\n \"kg.ingest.node\",\n node,\n {\n orgId,\n }\n );\n\n setIsLoading(false);\n\n if (data instanceof Error) {\n console.error(data);\n return data;\n }\n\n return data;\n }\n\n async function ingestNodes(\n nodes: KGNodeIngestRequest[]\n ): Promise<Success | Error> {\n if (!orgId) {\n return new Error(\"No orgId provided\");\n }\n\n if (!natsConnected) {\n return new Error(\"Not connected to NATS\");\n }\n\n setIsLoading(true);\n const data = await request<KGNodeIngestRequest[], Success>(\n \"kg.ingest.nodes\",\n nodes,\n {\n orgId,\n }\n );\n\n setIsLoading(false);\n\n if (data instanceof Error) {\n console.error(data);\n return data;\n }\n\n return data;\n }\n\n async function updateNode(\n nodeId: string,\n label: string,\n fields: Record<string, any>\n ): Promise<Success | Error> {\n const nodeRequest: KGNodeIngestRequest = {\n label,\n keyField: \"id\",\n fields: {\n ...fields,\n id: nodeId,\n },\n duplicatePolicy: \"replace\",\n };\n\n const result = await ingestNode(nodeRequest);\n\n // Optimize graph after successful update (non-blocking, with delay)\n if (!(result instanceof Error)) {\n // Wait 2 seconds to ensure node is fully written to ClickHouse\n setTimeout(() => {\n optimizeGraph().catch(err =>\n console.error(\"Failed to optimize graph after node update:\", err)\n );\n }, 2000);\n }\n\n return result;\n }\n\n async function optimizeGraph(): Promise<Success | Error> {\n if (!orgId) {\n return new Error(\"No orgId provided\");\n }\n\n if (!natsConnected) {\n return new Error(\"Not connected to NATS\");\n }\n\n const data = await request<{}, Success>(\n \"kg.graph.optimize\",\n {},\n {\n orgId,\n }\n );\n\n if (data instanceof Error) {\n console.error(\"Graph optimization failed:\", data);\n return data;\n }\n\n console.log(\"Graph optimized successfully\");\n return data;\n }\n\n async function ingestDocs(\n urls: string[],\n mode: \"documents\" | \"entities\" | \"snippets\",\n brief: string,\n labels: string[]\n ): Promise<Success | Error> {\n // todo: implement\n if (!orgId) {\n return new Error(\"No orgId provided\");\n }\n\n if (!natsConnected) {\n return new Error(\"Not connected to NATS\");\n }\n\n setIsLoading(true);\n const data = await request<DocsIngestionRequest, Success>(\n \"docs.kg.ingest\",\n { urls, mode, brief, labels },\n {\n orgId,\n }\n );\n\n setIsLoading(false);\n\n if (data instanceof Error) {\n console.error(data);\n return data;\n }\n\n return data;\n }\n\n async function ingestText(\n text: string,\n mode: \"entities\" | \"snippets\"\n ): Promise<Success | Error> {\n if (!orgId) {\n return new Error(\"No orgId provided\");\n }\n\n if (!natsConnected) {\n return new Error(\"Not connected to NATS\");\n }\n\n setIsLoading(true);\n const data = await request<any, Success>(\n \"docs.kg.ingestText\",\n { text, mode },\n {\n orgId,\n }\n );\n\n setIsLoading(false);\n\n if (data instanceof Error) {\n console.error(data);\n return data;\n }\n\n return data;\n }\n\n async function ingestYT(url: string): Promise<Success | Error> {\n if (!orgId) {\n return new Error(\"No orgId provided\");\n }\n\n if (!natsConnected) {\n return new Error(\"Not connected to NATS\");\n }\n\n setIsLoading(true);\n const data = await request<any, Success>(\n \"docs.kg.ingestYT\",\n { url },\n {\n orgId,\n }\n );\n\n setIsLoading(false);\n\n if (data instanceof Error) {\n console.error(data);\n return data;\n }\n\n return data;\n }\n\n async function queryGraph(query: KGQuery): Promise<KGQueryResult> {\n if (!orgId) {\n throw new Error(\"No orgId provided\");\n }\n\n if (!natsConnected) {\n throw new Error(\"Not connected to NATS\");\n }\n\n setIsLoading(true);\n\n const data = await request<KGQuery, KGQueryResult>(\n \"kg.query.graph\",\n query,\n {\n orgId,\n }\n );\n\n setIsLoading(false);\n\n if (data instanceof Error) {\n console.error(data);\n return data;\n }\n\n return data;\n }\n\n async function getNodeById(id: string): Promise<KGNode | Error> {\n if (!orgId) {\n return new Error(\"No orgId provided\");\n }\n\n if (!natsConnected) {\n return new Error(\"Not connected to NATS\");\n }\n\n const data = await request<any, KGNode>(\n \"kg.query.nodeById\",\n { id },\n { orgId }\n );\n\n if (data instanceof Error) {\n console.error(data);\n return data;\n }\n\n return data;\n }\n\n async function getGraphLabels(): Promise<KGLabelInfo[] | Error> {\n if (!orgId) {\n return new Error(\"No orgId provided\");\n }\n\n if (!natsConnected) {\n return new Error(\"Not connected to NATS\");\n }\n\n // console.log(\"getGraphLabels\", { orgId });\n\n setIsLoading(true);\n\n const data = await request<any, KGLabelInfo[]>(\n \"kg.graph.labels\",\n {},\n { orgId }\n );\n\n setIsLoading(false);\n\n if (data instanceof Error) {\n console.error(data);\n return data;\n }\n\n // todo: global error\n if (!Array.isArray(data) && typeof data === \"object\") {\n const err = data as any;\n return new Error(err?.message ?? err?.error ?? err);\n }\n\n return data;\n }\n\n useEffect(() => {\n if (!natsConnected || !orgId) {\n return;\n }\n async function getLabels(): Promise<KGLabelInfo[] | Error> {\n const data = await getGraphLabels();\n if (data instanceof Error) {\n // console.error(data);\n return [];\n }\n setLabels(data);\n return data;\n }\n getLabels();\n }, [natsConnected, orgId, stateTrigger]);\n\n useEffect(() => {\n if (!natsConnected || !orgId || !selectedLabel) {\n return;\n }\n async function getGraphQueryResult() {\n if (!selectedLabel) return;\n\n console.log(\"will getGraphQueryResult\", { orgId, selectedLabel });\n\n const query: KGQuery = {\n label: selectedLabel,\n fields: [],\n limit: 5_00,\n sortBy: \"\",\n sortOrder: \"asc\",\n // edges: [{ label: \"student of\", direction: \"outgoing\" }],\n depth: 2,\n };\n\n const res = await queryGraph(query);\n\n if (res instanceof Error) {\n console.error(res);\n return;\n }\n setQueryResult(res);\n console.log(\"graph query response \", {\n nodesCount: res.nodes?.length,\n edgesCount: res.edges?.length,\n });\n }\n getGraphQueryResult();\n }, [natsConnected, orgId, selectedLabel, stateTrigger]);\n\n function refreshState() {\n setStateTrigger(stateTrigger + 1);\n }\n\n return {\n isLoading,\n ingestNode,\n ingestNodes,\n updateNode,\n queryGraph,\n getNodeById,\n getGraphLabels,\n labels,\n selectedLabel,\n setSelectedLabel,\n queryResult,\n setQueryResult,\n refreshState,\n ingestDocs,\n ingestText,\n selectedNodeId,\n setSelectedNodeId,\n ingestYT,\n };\n};\n","\"use client\";\n\nimport { useNatsContext } from \"@elqnt/nats\";\nimport { useUserContext } from \"@elqnt/auth\";\nimport { useState } from \"react\";\nexport type UseKnowledgeGraphAnalyticsType = {\n isLoading: boolean;\n};\n\nexport const useKnowledgeGraphAnalytics = (\n overrideOrgId?: string\n): UseKnowledgeGraphAnalyticsType => {\n const { selectedOrgId } = useUserContext();\n const [isLoading, setIsLoading] = useState(false);\n const { natsConnected, request } = useNatsContext();\n\n return {\n isLoading,\n };\n};\n","\"use client\";\n\nimport { ReactNode, createContext, useContext } from \"react\";\nimport {\n UseKnowledgeGraphType,\n useKnowledgeGraph,\n} from \"../hooks/use-knowledge-graph\";\n\nexport const KnowledgeGraphContext = createContext<\n UseKnowledgeGraphType | undefined\n>(undefined);\n\nexport function KnowledgeGraphContextProvider(props: {\n children: ReactNode;\n overrideOrgId?: string;\n}) {\n const { children, overrideOrgId } = props;\n\n const useKG = useKnowledgeGraph(overrideOrgId);\n\n return (\n <KnowledgeGraphContext.Provider value={useKG}>\n {children}\n </KnowledgeGraphContext.Provider>\n );\n}\n\nexport const useKnowledgeGraphContext = () => {\n const context = useContext(KnowledgeGraphContext);\n if (context === undefined) {\n throw new Error(\n \"useKnowledgeGraphContext must be used within a KnowledgeGraphContextProvider\"\n );\n }\n return context;\n};\n"]}
1
+ {"version":3,"sources":["/home/runner/work/eloquent-packages/eloquent-packages/packages/kg/dist/index.js","../consts.ts","../hooks/use-knowledge-graph.ts","../hooks/use-knowledge-graph-analytics.ts","../state/knowledge-graph-context.tsx"],"names":["labels","useUserContext","useState","useNatsContext"],"mappings":"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","file":"/home/runner/work/eloquent-packages/eloquent-packages/packages/kg/dist/index.js","sourcesContent":[null,"export const Test = \"hi\";","\"use client\";\n\nimport { useUserContext } from \"@elqnt/auth\";\nimport { DocsIngestionRequest } from \"@elqnt/docs\";\nimport { useNatsContext } from \"@elqnt/nats\";\nimport { useEffect, useMemo, useState } from \"react\";\nimport {\n Graph,\n KGLabelInfo,\n KGNode,\n KGNodeIngestRequest,\n KGQuery,\n KGQueryResult,\n ListGraphsResult,\n} from \"../models\";\nimport { KGGraphList } from \"../models/kg-designer\";\n\ntype Success = { success: boolean };\n\nexport type UseKnowledgeGraphType = {\n isLoading: boolean;\n ingestNode: (node: KGNodeIngestRequest) => Promise<Success | Error>;\n ingestNodes: (node: KGNodeIngestRequest[]) => Promise<Success | Error>;\n updateNode: (\n nodeId: string,\n label: string,\n fields: Record<string, any>\n ) => Promise<Success | Error>;\n ingestDocs: (\n urls: string[],\n mode: \"documents\" | \"entities\" | \"snippets\",\n brief: string,\n labels: string[]\n ) => Promise<Success | Error>;\n\n ingestText: (\n text: string,\n mode: \"entities\" | \"snippets\"\n ) => Promise<Success | Error>;\n\n ingestYT: (url: string) => Promise<Success | Error>;\n\n queryGraph: (query: KGQuery) => Promise<KGQueryResult>;\n getGraphLabels: () => Promise<KGLabelInfo[] | Error>;\n labels: KGLabelInfo[] | undefined;\n selectedLabel: string | undefined;\n setSelectedLabel: (label: string) => void;\n queryResult: KGQueryResult | undefined;\n setQueryResult: (res: KGQueryResult) => void;\n refreshState: () => void;\n selectedNodeId: string | undefined;\n setSelectedNodeId: (id: string | undefined) => void;\n getNodeById: (id: string) => Promise<KGNode | Error>;\n\n // Graph selection\n graphs: Graph[];\n selectedGraph: Graph | undefined;\n selectedGraphId: string | undefined;\n graphsLoading: boolean;\n graphsError: string | undefined;\n selectGraph: (graphId: string | undefined) => void;\n refreshGraphs: () => Promise<void>;\n};\n\nexport const useKnowledgeGraph = (\n overrideOrgId?: string\n): UseKnowledgeGraphType => {\n const { selectedOrgId } = useUserContext();\n const [isLoading, setIsLoading] = useState(false);\n const { natsConnected, request } = useNatsContext();\n const [selectedNodeId, setSelectedNodeId] = useState<string | undefined>(\n undefined\n );\n\n const orgId = overrideOrgId ?? selectedOrgId;\n\n const [labels, setLabels] = useState<KGLabelInfo[] | undefined>(undefined);\n const [selectedLabel, setSelectedLabel] = useState<string | undefined>(\n undefined\n );\n const [queryResult, setQueryResult] = useState<KGQueryResult | undefined>(\n undefined\n );\n\n const [stateTrigger, setStateTrigger] = useState(0);\n\n // --- Graph selection state ---\n const [graphs, setGraphs] = useState<Graph[]>([]);\n const [graphsLoading, setGraphsLoading] = useState(true);\n const [graphsError, setGraphsError] = useState<string | undefined>();\n const [selectedGraphId, setSelectedGraphId] = useState<string | undefined>();\n\n const selectedGraph = useMemo(() => {\n if (!selectedGraphId) {\n return graphs.find((g) => g.isDefault) || graphs[0];\n }\n return graphs.find((g) => g.id === selectedGraphId);\n }, [graphs, selectedGraphId]);\n\n function selectGraph(graphId: string | undefined) {\n setSelectedGraphId(graphId);\n }\n\n async function refreshGraphs() {\n if (!orgId || !natsConnected) return;\n\n setGraphsLoading(true);\n setGraphsError(undefined);\n\n const data = await request<{}, ListGraphsResult>(KGGraphList, {}, { orgId });\n\n if (data instanceof Error) {\n setGraphsError(data.message);\n setGraphsLoading(false);\n return;\n }\n\n if (data.success !== false) {\n const loadedGraphs = data.graphs || [];\n setGraphs(loadedGraphs);\n\n // Auto-select default graph only if nothing is selected\n setSelectedGraphId((prev) => {\n if (!prev && loadedGraphs.length) {\n const defaultGraph = loadedGraphs.find((g) => g.isDefault);\n return defaultGraph?.id || loadedGraphs[0]?.id;\n }\n return prev;\n });\n } else {\n setGraphsError(data.error || \"Failed to load graphs\");\n }\n\n setGraphsLoading(false);\n }\n\n // Load graphs when NATS connects or org changes\n useEffect(() => {\n if (!natsConnected || !orgId) return;\n setSelectedGraphId(undefined);\n refreshGraphs();\n }, [natsConnected, orgId]);\n\n async function ingestNode(\n node: KGNodeIngestRequest\n ): Promise<Success | Error> {\n if (!orgId) {\n return new Error(\"No orgId provided\");\n }\n\n if (!natsConnected) {\n return new Error(\"Not connected to NATS\");\n }\n\n setIsLoading(true);\n const data = await request<KGNodeIngestRequest, Success>(\n \"kg.ingest.node\",\n node,\n {\n orgId,\n }\n );\n\n setIsLoading(false);\n\n if (data instanceof Error) {\n console.error(data);\n return data;\n }\n\n return data;\n }\n\n async function ingestNodes(\n nodes: KGNodeIngestRequest[]\n ): Promise<Success | Error> {\n if (!orgId) {\n return new Error(\"No orgId provided\");\n }\n\n if (!natsConnected) {\n return new Error(\"Not connected to NATS\");\n }\n\n setIsLoading(true);\n const data = await request<KGNodeIngestRequest[], Success>(\n \"kg.ingest.nodes\",\n nodes,\n {\n orgId,\n }\n );\n\n setIsLoading(false);\n\n if (data instanceof Error) {\n console.error(data);\n return data;\n }\n\n return data;\n }\n\n async function updateNode(\n nodeId: string,\n label: string,\n fields: Record<string, any>\n ): Promise<Success | Error> {\n const nodeRequest: KGNodeIngestRequest = {\n label,\n keyField: \"id\",\n fields: {\n ...fields,\n id: nodeId,\n },\n duplicatePolicy: \"replace\",\n };\n\n const result = await ingestNode(nodeRequest);\n\n // Optimize graph after successful update (non-blocking, with delay)\n if (!(result instanceof Error)) {\n // Wait 2 seconds to ensure node is fully written to ClickHouse\n setTimeout(() => {\n optimizeGraph().catch(err =>\n console.error(\"Failed to optimize graph after node update:\", err)\n );\n }, 2000);\n }\n\n return result;\n }\n\n async function optimizeGraph(): Promise<Success | Error> {\n if (!orgId) {\n return new Error(\"No orgId provided\");\n }\n\n if (!natsConnected) {\n return new Error(\"Not connected to NATS\");\n }\n\n const data = await request<{}, Success>(\n \"kg.graph.optimize\",\n {},\n {\n orgId,\n }\n );\n\n if (data instanceof Error) {\n console.error(\"Graph optimization failed:\", data);\n return data;\n }\n\n console.log(\"Graph optimized successfully\");\n return data;\n }\n\n async function ingestDocs(\n urls: string[],\n mode: \"documents\" | \"entities\" | \"snippets\",\n brief: string,\n labels: string[]\n ): Promise<Success | Error> {\n // todo: implement\n if (!orgId) {\n return new Error(\"No orgId provided\");\n }\n\n if (!natsConnected) {\n return new Error(\"Not connected to NATS\");\n }\n\n setIsLoading(true);\n const data = await request<DocsIngestionRequest, Success>(\n \"docs.kg.ingest\",\n { urls, mode, brief, labels },\n {\n orgId,\n }\n );\n\n setIsLoading(false);\n\n if (data instanceof Error) {\n console.error(data);\n return data;\n }\n\n return data;\n }\n\n async function ingestText(\n text: string,\n mode: \"entities\" | \"snippets\"\n ): Promise<Success | Error> {\n if (!orgId) {\n return new Error(\"No orgId provided\");\n }\n\n if (!natsConnected) {\n return new Error(\"Not connected to NATS\");\n }\n\n setIsLoading(true);\n const data = await request<any, Success>(\n \"docs.kg.ingestText\",\n { text, mode },\n {\n orgId,\n }\n );\n\n setIsLoading(false);\n\n if (data instanceof Error) {\n console.error(data);\n return data;\n }\n\n return data;\n }\n\n async function ingestYT(url: string): Promise<Success | Error> {\n if (!orgId) {\n return new Error(\"No orgId provided\");\n }\n\n if (!natsConnected) {\n return new Error(\"Not connected to NATS\");\n }\n\n setIsLoading(true);\n const data = await request<any, Success>(\n \"docs.kg.ingestYT\",\n { url },\n {\n orgId,\n }\n );\n\n setIsLoading(false);\n\n if (data instanceof Error) {\n console.error(data);\n return data;\n }\n\n return data;\n }\n\n async function queryGraph(query: KGQuery): Promise<KGQueryResult> {\n if (!orgId) {\n throw new Error(\"No orgId provided\");\n }\n\n if (!natsConnected) {\n throw new Error(\"Not connected to NATS\");\n }\n\n setIsLoading(true);\n\n const data = await request<KGQuery, KGQueryResult>(\n \"kg.query.graph\",\n query,\n {\n orgId,\n }\n );\n\n setIsLoading(false);\n\n if (data instanceof Error) {\n console.error(data);\n return data;\n }\n\n return data;\n }\n\n async function getNodeById(id: string): Promise<KGNode | Error> {\n if (!orgId) {\n return new Error(\"No orgId provided\");\n }\n\n if (!natsConnected) {\n return new Error(\"Not connected to NATS\");\n }\n\n const data = await request<any, KGNode>(\n \"kg.query.nodeById\",\n { id },\n { orgId }\n );\n\n if (data instanceof Error) {\n console.error(data);\n return data;\n }\n\n return data;\n }\n\n async function getGraphLabels(): Promise<KGLabelInfo[] | Error> {\n if (!orgId) {\n return new Error(\"No orgId provided\");\n }\n\n if (!natsConnected) {\n return new Error(\"Not connected to NATS\");\n }\n\n // console.log(\"getGraphLabels\", { orgId });\n\n setIsLoading(true);\n\n const data = await request<any, KGLabelInfo[]>(\n \"kg.graph.labels\",\n {},\n { orgId }\n );\n\n setIsLoading(false);\n\n if (data instanceof Error) {\n console.error(data);\n return data;\n }\n\n // todo: global error\n if (!Array.isArray(data) && typeof data === \"object\") {\n const err = data as any;\n return new Error(err?.message ?? err?.error ?? err);\n }\n\n return data;\n }\n\n useEffect(() => {\n if (!natsConnected || !orgId) {\n return;\n }\n async function getLabels(): Promise<KGLabelInfo[] | Error> {\n const data = await getGraphLabels();\n if (data instanceof Error) {\n // console.error(data);\n return [];\n }\n setLabels(data);\n return data;\n }\n getLabels();\n }, [natsConnected, orgId, stateTrigger]);\n\n useEffect(() => {\n if (!natsConnected || !orgId || !selectedLabel) {\n return;\n }\n async function getGraphQueryResult() {\n if (!selectedLabel) return;\n\n console.log(\"will getGraphQueryResult\", { orgId, selectedLabel });\n\n const query: KGQuery = {\n label: selectedLabel,\n fields: [],\n limit: 5_00,\n sortBy: \"\",\n sortOrder: \"asc\",\n // edges: [{ label: \"student of\", direction: \"outgoing\" }],\n depth: 2,\n };\n\n const res = await queryGraph(query);\n\n if (res instanceof Error) {\n console.error(res);\n return;\n }\n setQueryResult(res);\n console.log(\"graph query response \", {\n nodesCount: res.nodes?.length,\n edgesCount: res.edges?.length,\n });\n }\n getGraphQueryResult();\n }, [natsConnected, orgId, selectedLabel, stateTrigger]);\n\n function refreshState() {\n setStateTrigger(stateTrigger + 1);\n }\n\n return {\n isLoading,\n ingestNode,\n ingestNodes,\n updateNode,\n queryGraph,\n getNodeById,\n getGraphLabels,\n labels,\n selectedLabel,\n setSelectedLabel,\n queryResult,\n setQueryResult,\n refreshState,\n ingestDocs,\n ingestText,\n selectedNodeId,\n setSelectedNodeId,\n ingestYT,\n\n // Graph selection\n graphs,\n selectedGraph,\n selectedGraphId: selectedGraph?.id,\n graphsLoading,\n graphsError,\n selectGraph,\n refreshGraphs,\n };\n};\n","\"use client\";\n\nimport { useNatsContext } from \"@elqnt/nats\";\nimport { useUserContext } from \"@elqnt/auth\";\nimport { useState } from \"react\";\nexport type UseKnowledgeGraphAnalyticsType = {\n isLoading: boolean;\n};\n\nexport const useKnowledgeGraphAnalytics = (\n overrideOrgId?: string\n): UseKnowledgeGraphAnalyticsType => {\n const { selectedOrgId } = useUserContext();\n const [isLoading, setIsLoading] = useState(false);\n const { natsConnected, request } = useNatsContext();\n\n return {\n isLoading,\n };\n};\n","\"use client\";\n\nimport { ReactNode, createContext, useContext } from \"react\";\nimport {\n UseKnowledgeGraphType,\n useKnowledgeGraph,\n} from \"../hooks/use-knowledge-graph\";\n\nexport const KnowledgeGraphContext = createContext<\n UseKnowledgeGraphType | undefined\n>(undefined);\n\nexport function KnowledgeGraphContextProvider(props: {\n children: ReactNode;\n overrideOrgId?: string;\n}) {\n const { children, overrideOrgId } = props;\n\n const useKG = useKnowledgeGraph(overrideOrgId);\n\n return (\n <KnowledgeGraphContext.Provider value={useKG}>\n {children}\n </KnowledgeGraphContext.Provider>\n );\n}\n\nexport const useKnowledgeGraphContext = () => {\n const context = useContext(KnowledgeGraphContext);\n if (context === undefined) {\n throw new Error(\n \"useKnowledgeGraphContext must be used within a KnowledgeGraphContextProvider\"\n );\n }\n return context;\n};\n"]}
package/dist/index.mjs CHANGED
@@ -12,10 +12,17 @@ import {
12
12
  KGDesignerNodeList,
13
13
  KGDesignerNodeUpdate,
14
14
  KGDocumentDelete,
15
+ KGGraphCreate,
16
+ KGGraphDelete,
17
+ KGGraphGet,
18
+ KGGraphList,
15
19
  KGGraphOptimize,
20
+ KGGraphUpdate,
21
+ KGIngestBatchSync,
22
+ KGIngestNodeSync,
16
23
  KGSyncJobList,
17
24
  KGSyncJobUpdate
18
- } from "./chunk-ZKSYF4EB.mjs";
25
+ } from "./chunk-IXLQ6ZMR.mjs";
19
26
  import {
20
27
  DuplicatePolicyCreate,
21
28
  DuplicatePolicyCreateIf,
@@ -34,7 +41,7 @@ import {
34
41
  KGFieldQueryOperatorSimilar,
35
42
  KGRelationshipDirectionIncoming,
36
43
  KGRelationshipDirectionOutgoing
37
- } from "./chunk-26VARHUJ.mjs";
44
+ } from "./chunk-OZU7UCOQ.mjs";
38
45
 
39
46
  // consts.ts
40
47
  var Test = "hi";
@@ -42,7 +49,7 @@ var Test = "hi";
42
49
  // hooks/use-knowledge-graph.ts
43
50
  import { useUserContext } from "@elqnt/auth";
44
51
  import { useNatsContext } from "@elqnt/nats";
45
- import { useEffect, useState } from "react";
52
+ import { useEffect, useMemo, useState } from "react";
46
53
  var useKnowledgeGraph = (overrideOrgId) => {
47
54
  const { selectedOrgId } = useUserContext();
48
55
  const [isLoading, setIsLoading] = useState(false);
@@ -59,6 +66,49 @@ var useKnowledgeGraph = (overrideOrgId) => {
59
66
  void 0
60
67
  );
61
68
  const [stateTrigger, setStateTrigger] = useState(0);
69
+ const [graphs, setGraphs] = useState([]);
70
+ const [graphsLoading, setGraphsLoading] = useState(true);
71
+ const [graphsError, setGraphsError] = useState();
72
+ const [selectedGraphId, setSelectedGraphId] = useState();
73
+ const selectedGraph = useMemo(() => {
74
+ if (!selectedGraphId) {
75
+ return graphs.find((g) => g.isDefault) || graphs[0];
76
+ }
77
+ return graphs.find((g) => g.id === selectedGraphId);
78
+ }, [graphs, selectedGraphId]);
79
+ function selectGraph(graphId) {
80
+ setSelectedGraphId(graphId);
81
+ }
82
+ async function refreshGraphs() {
83
+ if (!orgId || !natsConnected) return;
84
+ setGraphsLoading(true);
85
+ setGraphsError(void 0);
86
+ const data = await request(KGGraphList, {}, { orgId });
87
+ if (data instanceof Error) {
88
+ setGraphsError(data.message);
89
+ setGraphsLoading(false);
90
+ return;
91
+ }
92
+ if (data.success !== false) {
93
+ const loadedGraphs = data.graphs || [];
94
+ setGraphs(loadedGraphs);
95
+ setSelectedGraphId((prev) => {
96
+ if (!prev && loadedGraphs.length) {
97
+ const defaultGraph = loadedGraphs.find((g) => g.isDefault);
98
+ return defaultGraph?.id || loadedGraphs[0]?.id;
99
+ }
100
+ return prev;
101
+ });
102
+ } else {
103
+ setGraphsError(data.error || "Failed to load graphs");
104
+ }
105
+ setGraphsLoading(false);
106
+ }
107
+ useEffect(() => {
108
+ if (!natsConnected || !orgId) return;
109
+ setSelectedGraphId(void 0);
110
+ refreshGraphs();
111
+ }, [natsConnected, orgId]);
62
112
  async function ingestNode(node) {
63
113
  if (!orgId) {
64
114
  return new Error("No orgId provided");
@@ -338,7 +388,15 @@ var useKnowledgeGraph = (overrideOrgId) => {
338
388
  ingestText,
339
389
  selectedNodeId,
340
390
  setSelectedNodeId,
341
- ingestYT
391
+ ingestYT,
392
+ // Graph selection
393
+ graphs,
394
+ selectedGraph,
395
+ selectedGraphId: selectedGraph?.id,
396
+ graphsLoading,
397
+ graphsError,
398
+ selectGraph,
399
+ refreshGraphs
342
400
  };
343
401
  };
344
402
 
@@ -401,7 +459,14 @@ export {
401
459
  KGFieldQueryOperatorLike,
402
460
  KGFieldQueryOperatorNotEqual,
403
461
  KGFieldQueryOperatorSimilar,
462
+ KGGraphCreate,
463
+ KGGraphDelete,
464
+ KGGraphGet,
465
+ KGGraphList,
404
466
  KGGraphOptimize,
467
+ KGGraphUpdate,
468
+ KGIngestBatchSync,
469
+ KGIngestNodeSync,
405
470
  KGRelationshipDirectionIncoming,
406
471
  KGRelationshipDirectionOutgoing,
407
472
  KGSyncJobList,