@trustgraph/react-state 1.7.2 → 1.7.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +171 -142
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.esm.js +172 -143
- package/dist/index.esm.js.map +1 -1
- package/dist/state/explainability.d.ts +1 -1
- package/dist/state/explainability.d.ts.map +1 -1
- package/dist/state/provenance.d.ts +3 -2
- package/dist/state/provenance.d.ts.map +1 -1
- package/dist/utils/explainability.d.ts +18 -22
- package/dist/utils/explainability.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -42,5 +42,5 @@ export interface UseExplainabilityResult {
|
|
|
42
42
|
* Hook for managing explainability during inference
|
|
43
43
|
*/
|
|
44
44
|
export declare const useExplainability: (options?: UseExplainabilityOptions) => UseExplainabilityResult;
|
|
45
|
-
export type { ExplainabilitySession, ExplainEventType, StructuredExplainEvent, QuestionEvent, ExplorationEvent, FocusEvent, SynthesisEvent, SelectedEdge, ProvenanceChain, ProvenanceChainItem, AgentQuestionEvent, DecompositionEvent, AnalysisEvent, ReflectionEvent, ConclusionEvent, } from "../utils/explainability";
|
|
45
|
+
export type { ExplainabilitySession, ExplainEventType, StructuredExplainEvent, QuestionEvent, ExplorationEvent, FocusEvent, SynthesisEvent, SelectedEdge, ProvenanceChain, ProvenanceChainItem, AgentQuestionEvent, DecompositionEvent, AnalysisEvent, ReflectionEvent, ConclusionEvent, GroundingEvent, } from "../utils/explainability";
|
|
46
46
|
//# sourceMappingURL=explainability.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"explainability.d.ts","sourceRoot":"","sources":["../../src/state/explainability.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAKH,OAAO,KAAK,EAAE,YAAY,EAAU,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAIL,KAAK,qBAAqB,
|
|
1
|
+
{"version":3,"file":"explainability.d.ts","sourceRoot":"","sources":["../../src/state/explainability.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAKH,OAAO,KAAK,EAAE,YAAY,EAAU,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAIL,KAAK,qBAAqB,EAO3B,MAAM,yBAAyB,CAAC;AAEjC,MAAM,WAAW,wBAAwB;IACvC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,0DAA0D;IAC1D,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,mEAAmE;IACnE,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,qBAAqB,KAAK,IAAI,CAAC;CACrD;AAED,MAAM,WAAW,uBAAuB;IACtC,uEAAuE;IACvE,QAAQ,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,CAAC;IACxC,8DAA8D;IAC9D,OAAO,EAAE,qBAAqB,CAAC;IAC/B,gFAAgF;IAChF,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,qBAAqB,CAAC,CAAC;IACnD,0BAA0B;IAC1B,MAAM,EAAE,YAAY,EAAE,CAAC;IACvB,qDAAqD;IACrD,WAAW,EAAE,OAAO,CAAC;IACrB,iEAAiE;IACjE,eAAe,EAAE,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IAC1C,iCAAiC;IACjC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,wBAAwB;IACxB,KAAK,EAAE,MAAM,IAAI,CAAC;CACnB;AAED;;GAEG;AACH,eAAO,MAAM,iBAAiB,GAC5B,UAAS,wBAA6B,KACrC,uBAmQF,CAAC;AAGF,YAAY,EACV,qBAAqB,EACrB,gBAAgB,EAChB,sBAAsB,EACtB,aAAa,EACb,gBAAgB,EAChB,UAAU,EACV,cAAc,EACd,YAAY,EACZ,eAAe,EACf,mBAAmB,EACnB,kBAAkB,EAClB,kBAAkB,EAClB,aAAa,EACb,eAAe,EACf,eAAe,EACf,cAAc,GACf,MAAM,yBAAyB,CAAC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Hook for tracing provenance chains in the knowledge graph
|
|
3
|
-
* Follows
|
|
3
|
+
* Follows tg:contains to find subgraphs, then prov:wasDerivedFrom
|
|
4
|
+
* to trace chunk → page → document chains
|
|
4
5
|
*/
|
|
5
6
|
import type { ProvenanceChain } from "../utils/explainability";
|
|
6
7
|
export interface UseProvenanceOptions {
|
|
@@ -12,7 +13,7 @@ export interface UseProvenanceOptions {
|
|
|
12
13
|
export interface UseProvenanceResult {
|
|
13
14
|
/** Trace provenance chain from a URI to root */
|
|
14
15
|
traceChain: (uri: string) => Promise<ProvenanceChain>;
|
|
15
|
-
/** Trace provenance for an edge (s, p, o) - finds
|
|
16
|
+
/** Trace provenance for an edge (s, p, o) - finds containing subgraph first */
|
|
16
17
|
traceEdgeProvenance: (s: string, p: string, o: string) => Promise<ProvenanceChain[]>;
|
|
17
18
|
/** Resolve label for a URI (uses cache) */
|
|
18
19
|
resolveLabel: (uri: string) => Promise<string>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provenance.d.ts","sourceRoot":"","sources":["../../src/state/provenance.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"provenance.d.ts","sourceRoot":"","sources":["../../src/state/provenance.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAWH,OAAO,KAAK,EAAE,eAAe,EAAuB,MAAM,yBAAyB,CAAC;AAKpF,MAAM,WAAW,oBAAoB;IACnC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,2CAA2C;IAC3C,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,mBAAmB;IAClC,gDAAgD;IAChD,UAAU,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,eAAe,CAAC,CAAC;IACtD,+EAA+E;IAC/E,mBAAmB,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC;IACrF,2CAA2C;IAC3C,YAAY,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IAC/C,4BAA4B;IAC5B,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,iDAAiD;IACjD,SAAS,EAAE,OAAO,CAAC;CACpB;AAED;;GAEG;AACH,eAAO,MAAM,aAAa,GAAI,UAAS,oBAAyB,KAAG,mBAwNlE,CAAC"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Explainability utilities for parsing and structuring explain events
|
|
3
3
|
*/
|
|
4
4
|
import type { Triple, Term } from "@trustgraph/client";
|
|
5
|
-
export type ExplainEventType = "question" | "exploration" | "focus" | "synthesis" | "agent-question" | "decomposition" | "analysis" | "reflection" | "conclusion" | "unknown";
|
|
5
|
+
export type ExplainEventType = "question" | "exploration" | "focus" | "synthesis" | "agent-question" | "decomposition" | "analysis" | "reflection" | "conclusion" | "grounding" | "unknown";
|
|
6
6
|
export interface QuestionEvent {
|
|
7
7
|
type: "question";
|
|
8
8
|
explainId: string;
|
|
@@ -15,41 +15,47 @@ export interface ExplorationEvent {
|
|
|
15
15
|
explainId: string;
|
|
16
16
|
explainGraph: string;
|
|
17
17
|
edgeCount?: number;
|
|
18
|
+
/** Entity URIs discovered during exploration */
|
|
19
|
+
entities?: string[];
|
|
18
20
|
}
|
|
19
21
|
export interface SelectedEdge {
|
|
20
|
-
/** The actual edge as (s, p, o) URIs */
|
|
21
22
|
edge: {
|
|
22
23
|
s: string;
|
|
23
24
|
p: string;
|
|
24
25
|
o: string;
|
|
25
26
|
};
|
|
26
|
-
/** Human-readable labels for the edge */
|
|
27
27
|
labels?: {
|
|
28
28
|
s: string;
|
|
29
29
|
p: string;
|
|
30
30
|
o: string;
|
|
31
31
|
};
|
|
32
|
-
/** LLM's reasoning for selecting this edge */
|
|
33
32
|
reasoning?: string;
|
|
34
|
-
/** Provenance chain to source documents */
|
|
35
33
|
sources?: ProvenanceChainItem[];
|
|
36
34
|
}
|
|
37
35
|
export interface FocusEvent {
|
|
38
36
|
type: "focus";
|
|
39
37
|
explainId: string;
|
|
40
38
|
explainGraph: string;
|
|
41
|
-
/** URIs of edge selection entities */
|
|
39
|
+
/** URIs of edge selection entities (old format) */
|
|
42
40
|
edgeSelectionUris: string[];
|
|
43
|
-
/** Fully resolved selected edges
|
|
41
|
+
/** Fully resolved selected edges */
|
|
44
42
|
selectedEdges?: SelectedEdge[];
|
|
45
43
|
}
|
|
46
44
|
export interface SynthesisEvent {
|
|
47
45
|
type: "synthesis";
|
|
48
46
|
explainId: string;
|
|
49
47
|
explainGraph: string;
|
|
50
|
-
/** Content length (full content is streamed separately) */
|
|
51
48
|
contentLength?: number;
|
|
52
49
|
}
|
|
50
|
+
export interface GroundingEvent {
|
|
51
|
+
type: "grounding";
|
|
52
|
+
explainId: string;
|
|
53
|
+
explainGraph: string;
|
|
54
|
+
label?: string;
|
|
55
|
+
/** Concepts extracted from the query for graph traversal */
|
|
56
|
+
concepts: string[];
|
|
57
|
+
derivedFrom?: string[];
|
|
58
|
+
}
|
|
53
59
|
export interface AgentQuestionEvent {
|
|
54
60
|
type: "agent-question";
|
|
55
61
|
explainId: string;
|
|
@@ -90,17 +96,14 @@ export interface ConclusionEvent {
|
|
|
90
96
|
label?: string;
|
|
91
97
|
derivedFrom?: string[];
|
|
92
98
|
}
|
|
93
|
-
export type StructuredExplainEvent = QuestionEvent | ExplorationEvent | FocusEvent | SynthesisEvent | AgentQuestionEvent | DecompositionEvent | AnalysisEvent | ReflectionEvent | ConclusionEvent;
|
|
99
|
+
export type StructuredExplainEvent = QuestionEvent | ExplorationEvent | FocusEvent | SynthesisEvent | GroundingEvent | AgentQuestionEvent | DecompositionEvent | AnalysisEvent | ReflectionEvent | ConclusionEvent;
|
|
94
100
|
export interface ProvenanceChainItem {
|
|
95
101
|
uri: string;
|
|
96
102
|
label: string;
|
|
97
103
|
}
|
|
98
104
|
export interface ProvenanceChain {
|
|
99
|
-
/** The chain from leaf to root (e.g., chunk → page → document) */
|
|
100
105
|
chain: ProvenanceChainItem[];
|
|
101
|
-
/** The root document URI */
|
|
102
106
|
documentUri?: string;
|
|
103
|
-
/** The root document label/title */
|
|
104
107
|
documentLabel?: string;
|
|
105
108
|
}
|
|
106
109
|
export interface ExplainabilitySession {
|
|
@@ -111,16 +114,10 @@ export interface ExplainabilitySession {
|
|
|
111
114
|
agentSteps?: StructuredExplainEvent[];
|
|
112
115
|
}
|
|
113
116
|
/**
|
|
114
|
-
* Extract event type from explainId URI (graph-rag
|
|
117
|
+
* Extract event type from explainId URI (graph-rag fallback)
|
|
115
118
|
*/
|
|
116
119
|
export declare function getEventType(explainId: string): ExplainEventType;
|
|
117
|
-
/**
|
|
118
|
-
* Get term value from a Term object
|
|
119
|
-
*/
|
|
120
120
|
export declare function getTermValue(term: Term): string;
|
|
121
|
-
/**
|
|
122
|
-
* Extract quoted triple from a Term
|
|
123
|
-
*/
|
|
124
121
|
export declare function extractQuotedTriple(term: Term): {
|
|
125
122
|
s: string;
|
|
126
123
|
p: string;
|
|
@@ -128,7 +125,6 @@ export declare function extractQuotedTriple(term: Term): {
|
|
|
128
125
|
} | null;
|
|
129
126
|
/**
|
|
130
127
|
* Detect event type from RDF types in embedded triples.
|
|
131
|
-
* Returns an agent event type if matched, "unknown" otherwise.
|
|
132
128
|
*/
|
|
133
129
|
export declare function getEventTypeFromTriples(triples: Triple[]): ExplainEventType;
|
|
134
130
|
export declare function parseQuestionTriples(explainId: string, explainGraph: string, triples: Triple[]): QuestionEvent;
|
|
@@ -145,8 +141,8 @@ export declare function parseEdgeSelectionTriples(triples: Triple[]): {
|
|
|
145
141
|
};
|
|
146
142
|
/**
|
|
147
143
|
* Parse triples into a structured event.
|
|
148
|
-
* Tries RDF type detection first
|
|
149
|
-
* Returns null for events with no triples
|
|
144
|
+
* Tries RDF type detection first, then URI patterns as fallback.
|
|
145
|
+
* Returns null for events with no triples.
|
|
150
146
|
*/
|
|
151
147
|
export declare function parseExplainTriples(explainId: string, explainGraph: string, triples: Triple[]): StructuredExplainEvent | null;
|
|
152
148
|
//# sourceMappingURL=explainability.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"explainability.d.ts","sourceRoot":"","sources":["../../src/utils/explainability.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"explainability.d.ts","sourceRoot":"","sources":["../../src/utils/explainability.ts"],"names":[],"mappings":"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"}
|