@grackle-ai/knowledge 0.61.2 → 0.62.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/dist/index.d.ts CHANGED
@@ -25,4 +25,6 @@ export type { CreateReferenceNodeInput, CreateNativeNodeInput, UpdateReferenceNo
25
25
  export { createEdge, removeEdge } from "./edge-store.js";
26
26
  export type { SearchOptions, SearchResult } from "./search.js";
27
27
  export { knowledgeSearch } from "./search.js";
28
+ export { findReferenceNodeBySource, deleteReferenceNodeBySource, syncReferenceNode, deriveTaskText, deriveFindingText, } from "./reference-sync.js";
29
+ export type { SyncReferenceNodeInput } from "./reference-sync.js";
28
30
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxF,YAAY,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAC5D,cAAc,YAAY,CAAC;AAC3B,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,sBAAsB,EACtB,mBAAmB,EACnB,oCAAoC,EACpC,UAAU,EACV,iBAAiB,EACjB,oBAAoB,EACpB,0BAA0B,GAC3B,MAAM,gBAAgB,CAAC;AACxB,YAAY,EAAE,QAAQ,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChF,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,YAAY,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AACrE,YAAY,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,YAAY,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AACxE,OAAO,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,EACL,mBAAmB,EACnB,gBAAgB,EAChB,OAAO,EACP,UAAU,EACV,UAAU,EACV,YAAY,GACb,MAAM,iBAAiB,CAAC;AACzB,YAAY,EACV,wBAAwB,EACxB,qBAAqB,EACrB,wBAAwB,EACxB,qBAAqB,EACrB,eAAe,EACf,aAAa,GACd,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AACzD,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxF,YAAY,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAC5D,cAAc,YAAY,CAAC;AAC3B,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,sBAAsB,EACtB,mBAAmB,EACnB,oCAAoC,EACpC,UAAU,EACV,iBAAiB,EACjB,oBAAoB,EACpB,0BAA0B,GAC3B,MAAM,gBAAgB,CAAC;AACxB,YAAY,EAAE,QAAQ,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChF,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,YAAY,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AACrE,YAAY,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,YAAY,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AACxE,OAAO,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,EACL,mBAAmB,EACnB,gBAAgB,EAChB,OAAO,EACP,UAAU,EACV,UAAU,EACV,YAAY,GACb,MAAM,iBAAiB,CAAC;AACzB,YAAY,EACV,wBAAwB,EACxB,qBAAqB,EACrB,wBAAwB,EACxB,qBAAqB,EACrB,eAAe,EACf,aAAa,GACd,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AACzD,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EACL,yBAAyB,EACzB,2BAA2B,EAC3B,iBAAiB,EACjB,cAAc,EACd,iBAAiB,GAClB,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC"}
package/dist/index.js CHANGED
@@ -18,4 +18,5 @@ export { createTranscriptChunker } from "./transcript-chunker.js";
18
18
  export { createReferenceNode, createNativeNode, getNode, deleteNode, updateNode, recordToNode, } from "./node-store.js";
19
19
  export { createEdge, removeEdge } from "./edge-store.js";
20
20
  export { knowledgeSearch } from "./search.js";
21
+ export { findReferenceNodeBySource, deleteReferenceNodeBySource, syncReferenceNode, deriveTaskText, deriveFindingText, } from "./reference-sync.js";
21
22
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExF,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAC5D,cAAc,YAAY,CAAC;AAC3B,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,sBAAsB,EACtB,mBAAmB,EACnB,oCAAoC,EACpC,UAAU,EACV,iBAAiB,EACjB,oBAAoB,EACpB,0BAA0B,GAC3B,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAE1D,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AAErE,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,OAAO,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,EACL,mBAAmB,EACnB,gBAAgB,EAChB,OAAO,EACP,UAAU,EACV,UAAU,EACV,YAAY,GACb,MAAM,iBAAiB,CAAC;AASzB,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAEzD,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExF,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAC5D,cAAc,YAAY,CAAC;AAC3B,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,sBAAsB,EACtB,mBAAmB,EACnB,oCAAoC,EACpC,UAAU,EACV,iBAAiB,EACjB,oBAAoB,EACpB,0BAA0B,GAC3B,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAE1D,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AAErE,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,OAAO,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,EACL,mBAAmB,EACnB,gBAAgB,EAChB,OAAO,EACP,UAAU,EACV,UAAU,EACV,YAAY,GACb,MAAM,iBAAiB,CAAC;AASzB,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAEzD,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EACL,yBAAyB,EACzB,2BAA2B,EAC3B,iBAAiB,EACjB,cAAc,EACd,iBAAiB,GAClB,MAAM,qBAAqB,CAAC"}
@@ -0,0 +1,76 @@
1
+ /**
2
+ * Reference node synchronization with Grackle entities.
3
+ *
4
+ * Provides lookup, upsert, and deletion of reference nodes keyed by
5
+ * `(sourceType, sourceId)`, plus pure text-derivation helpers for
6
+ * producing embeddable strings from entity data.
7
+ *
8
+ * The server-side event bus wiring that calls these functions is in #713.
9
+ *
10
+ * @module
11
+ */
12
+ import { type ReferenceSource, type ReferenceNode } from "./types.js";
13
+ import type { Embedder } from "./embedder.js";
14
+ /** Input for syncing a reference node with a Grackle entity. */
15
+ export interface SyncReferenceNodeInput {
16
+ /** Which entity type this refers to. */
17
+ sourceType: ReferenceSource;
18
+ /** The ID of the entity in Grackle's relational DB. */
19
+ sourceId: string;
20
+ /** Human-readable label derived from the source (e.g., task title). */
21
+ label: string;
22
+ /** Text content to derive the embedding from. */
23
+ text: string;
24
+ /** Workspace scope (empty string = global). */
25
+ workspaceId: string;
26
+ }
27
+ /**
28
+ * Find a reference node by its source identity.
29
+ *
30
+ * Uses the composite index on `(sourceType, sourceId)` for efficient lookup.
31
+ *
32
+ * @param sourceType - The entity type (task, finding, session, workspace).
33
+ * @param sourceId - The entity ID from Grackle's relational DB.
34
+ * @returns The reference node if found, or `undefined`.
35
+ */
36
+ export declare function findReferenceNodeBySource(sourceType: ReferenceSource, sourceId: string): Promise<ReferenceNode | undefined>;
37
+ /**
38
+ * Delete a reference node by its source identity.
39
+ *
40
+ * Removes the node and all its edges (`DETACH DELETE`). Used when the
41
+ * corresponding entity is deleted in Grackle's relational DB.
42
+ *
43
+ * @param sourceType - The entity type (task, finding, session, workspace).
44
+ * @param sourceId - The entity ID from Grackle's relational DB.
45
+ * @returns `true` if a node was deleted, `false` if no matching node existed.
46
+ */
47
+ export declare function deleteReferenceNodeBySource(sourceType: ReferenceSource, sourceId: string): Promise<boolean>;
48
+ /**
49
+ * Upsert a reference node for a Grackle entity.
50
+ *
51
+ * Derives an embedding from the provided text, then either creates a new
52
+ * reference node or updates the existing one (matched by sourceType + sourceId).
53
+ *
54
+ * @param embedder - The embedder to produce the embedding vector.
55
+ * @param input - The entity data to sync.
56
+ * @returns The node ID (either existing or newly created).
57
+ */
58
+ export declare function syncReferenceNode(embedder: Embedder, input: SyncReferenceNodeInput): Promise<string>;
59
+ /**
60
+ * Derive embeddable text from a task's title and description.
61
+ *
62
+ * @param title - The task title.
63
+ * @param description - The task description (may be empty).
64
+ * @returns A formatted text string suitable for embedding.
65
+ */
66
+ export declare function deriveTaskText(title: string, description: string): string;
67
+ /**
68
+ * Derive embeddable text from a finding's title, content, and tags.
69
+ *
70
+ * @param title - The finding title.
71
+ * @param content - The finding content.
72
+ * @param tags - Free-form tags for categorization.
73
+ * @returns A formatted text string suitable for embedding.
74
+ */
75
+ export declare function deriveFindingText(title: string, content: string, tags: string[]): string;
76
+ //# sourceMappingURL=reference-sync.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reference-sync.d.ts","sourceRoot":"","sources":["../src/reference-sync.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAKH,OAAO,EACL,KAAK,eAAe,EACpB,KAAK,aAAa,EAEnB,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAO9C,gEAAgE;AAChE,MAAM,WAAW,sBAAsB;IACrC,wCAAwC;IACxC,UAAU,EAAE,eAAe,CAAC;IAC5B,uDAAuD;IACvD,QAAQ,EAAE,MAAM,CAAC;IACjB,uEAAuE;IACvE,KAAK,EAAE,MAAM,CAAC;IACd,iDAAiD;IACjD,IAAI,EAAE,MAAM,CAAC;IACb,+CAA+C;IAC/C,WAAW,EAAE,MAAM,CAAC;CACrB;AAmBD;;;;;;;;GAQG;AACH,wBAAsB,yBAAyB,CAC7C,UAAU,EAAE,eAAe,EAC3B,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC,CAoCpC;AAED;;;;;;;;;GASG;AACH,wBAAsB,2BAA2B,CAC/C,UAAU,EAAE,eAAe,EAC3B,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,OAAO,CAAC,CAuBlB;AAMD;;;;;;;;;GASG;AACH,wBAAsB,iBAAiB,CACrC,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,sBAAsB,GAC5B,OAAO,CAAC,MAAM,CAAC,CA6BjB;AAMD;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAMzE;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EAAE,GACb,MAAM,CASR"}
@@ -0,0 +1,164 @@
1
+ /**
2
+ * Reference node synchronization with Grackle entities.
3
+ *
4
+ * Provides lookup, upsert, and deletion of reference nodes keyed by
5
+ * `(sourceType, sourceId)`, plus pure text-derivation helpers for
6
+ * producing embeddable strings from entity data.
7
+ *
8
+ * The server-side event bus wiring that calls these functions is in #713.
9
+ *
10
+ * @module
11
+ */
12
+ import { getSession } from "./client.js";
13
+ import { logger } from "./logger.js";
14
+ import { NODE_LABEL } from "./constants.js";
15
+ import { isReferenceNode, } from "./types.js";
16
+ import { createReferenceNode, updateNode, recordToNode } from "./node-store.js";
17
+ // ---------------------------------------------------------------------------
18
+ // Cypher queries
19
+ // ---------------------------------------------------------------------------
20
+ const FIND_BY_SOURCE_CYPHER = `
21
+ MATCH (n:${NODE_LABEL} {kind: 'reference', sourceType: $sourceType, sourceId: $sourceId})
22
+ RETURN n`;
23
+ const DELETE_BY_SOURCE_CYPHER = `
24
+ MATCH (n:${NODE_LABEL} {kind: 'reference', sourceType: $sourceType, sourceId: $sourceId})
25
+ DETACH DELETE n
26
+ RETURN count(n) AS deleted`;
27
+ // ---------------------------------------------------------------------------
28
+ // Query functions
29
+ // ---------------------------------------------------------------------------
30
+ /**
31
+ * Find a reference node by its source identity.
32
+ *
33
+ * Uses the composite index on `(sourceType, sourceId)` for efficient lookup.
34
+ *
35
+ * @param sourceType - The entity type (task, finding, session, workspace).
36
+ * @param sourceId - The entity ID from Grackle's relational DB.
37
+ * @returns The reference node if found, or `undefined`.
38
+ */
39
+ export async function findReferenceNodeBySource(sourceType, sourceId) {
40
+ const session = getSession();
41
+ try {
42
+ const result = await session.run(FIND_BY_SOURCE_CYPHER, {
43
+ sourceType,
44
+ sourceId,
45
+ });
46
+ if (result.records.length === 0) {
47
+ return undefined;
48
+ }
49
+ const neo4jNode = result.records[0].get("n");
50
+ const node = recordToNode(neo4jNode.properties);
51
+ if (!isReferenceNode(node)) {
52
+ logger.warn({ sourceType, sourceId, kind: node.kind }, "findReferenceNodeBySource matched a non-reference node");
53
+ return undefined;
54
+ }
55
+ return node;
56
+ }
57
+ finally {
58
+ try {
59
+ await session.close();
60
+ }
61
+ catch (closeError) {
62
+ logger.warn({ err: closeError }, "Failed to close session after findReferenceNodeBySource");
63
+ }
64
+ }
65
+ }
66
+ /**
67
+ * Delete a reference node by its source identity.
68
+ *
69
+ * Removes the node and all its edges (`DETACH DELETE`). Used when the
70
+ * corresponding entity is deleted in Grackle's relational DB.
71
+ *
72
+ * @param sourceType - The entity type (task, finding, session, workspace).
73
+ * @param sourceId - The entity ID from Grackle's relational DB.
74
+ * @returns `true` if a node was deleted, `false` if no matching node existed.
75
+ */
76
+ export async function deleteReferenceNodeBySource(sourceType, sourceId) {
77
+ const session = getSession();
78
+ try {
79
+ const result = await session.run(DELETE_BY_SOURCE_CYPHER, {
80
+ sourceType,
81
+ sourceId,
82
+ });
83
+ const deleted = result.records[0]?.get("deleted");
84
+ if (deleted > 0) {
85
+ logger.debug({ sourceType, sourceId }, "Deleted reference node by source");
86
+ }
87
+ return deleted > 0;
88
+ }
89
+ finally {
90
+ try {
91
+ await session.close();
92
+ }
93
+ catch (closeError) {
94
+ logger.warn({ err: closeError }, "Failed to close session after deleteReferenceNodeBySource");
95
+ }
96
+ }
97
+ }
98
+ // ---------------------------------------------------------------------------
99
+ // Sync (upsert)
100
+ // ---------------------------------------------------------------------------
101
+ /**
102
+ * Upsert a reference node for a Grackle entity.
103
+ *
104
+ * Derives an embedding from the provided text, then either creates a new
105
+ * reference node or updates the existing one (matched by sourceType + sourceId).
106
+ *
107
+ * @param embedder - The embedder to produce the embedding vector.
108
+ * @param input - The entity data to sync.
109
+ * @returns The node ID (either existing or newly created).
110
+ */
111
+ export async function syncReferenceNode(embedder, input) {
112
+ const { vector } = await embedder.embed(input.text);
113
+ const existing = await findReferenceNodeBySource(input.sourceType, input.sourceId);
114
+ if (existing) {
115
+ await updateNode(existing.id, { label: input.label, embedding: vector });
116
+ logger.debug({ nodeId: existing.id, sourceType: input.sourceType, sourceId: input.sourceId }, "Updated reference node");
117
+ return existing.id;
118
+ }
119
+ const newId = await createReferenceNode({
120
+ sourceType: input.sourceType,
121
+ sourceId: input.sourceId,
122
+ label: input.label,
123
+ embedding: vector,
124
+ workspaceId: input.workspaceId,
125
+ });
126
+ logger.debug({ nodeId: newId, sourceType: input.sourceType, sourceId: input.sourceId }, "Created reference node");
127
+ return newId;
128
+ }
129
+ // ---------------------------------------------------------------------------
130
+ // Text derivation helpers (pure functions)
131
+ // ---------------------------------------------------------------------------
132
+ /**
133
+ * Derive embeddable text from a task's title and description.
134
+ *
135
+ * @param title - The task title.
136
+ * @param description - The task description (may be empty).
137
+ * @returns A formatted text string suitable for embedding.
138
+ */
139
+ export function deriveTaskText(title, description) {
140
+ const parts = [`[Task] ${title}`];
141
+ if (description) {
142
+ parts.push(description);
143
+ }
144
+ return parts.join(" - ");
145
+ }
146
+ /**
147
+ * Derive embeddable text from a finding's title, content, and tags.
148
+ *
149
+ * @param title - The finding title.
150
+ * @param content - The finding content.
151
+ * @param tags - Free-form tags for categorization.
152
+ * @returns A formatted text string suitable for embedding.
153
+ */
154
+ export function deriveFindingText(title, content, tags) {
155
+ const parts = [`[Finding] ${title}`];
156
+ if (content) {
157
+ parts.push(content);
158
+ }
159
+ if (tags.length > 0) {
160
+ parts.push(`tags:${tags.join(",")}`);
161
+ }
162
+ return parts.join(" - ");
163
+ }
164
+ //# sourceMappingURL=reference-sync.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reference-sync.js","sourceRoot":"","sources":["../src/reference-sync.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@grackle-ai/knowledge",
3
- "version": "0.61.2",
3
+ "version": "0.62.0",
4
4
  "description": "Knowledge graph subsystem for Grackle (Neo4j + vector search)",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -27,7 +27,7 @@
27
27
  "@huggingface/transformers": "^3.4.0",
28
28
  "neo4j-driver": "^6.0.1",
29
29
  "pino": "^10.3.1",
30
- "@grackle-ai/common": "0.61.2"
30
+ "@grackle-ai/common": "0.62.0"
31
31
  },
32
32
  "devDependencies": {
33
33
  "@rushstack/heft": "1.2.4",