kodingo-core 0.2.2 → 0.2.4

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
@@ -11,4 +11,5 @@ export * from "./src/domain/decision/decision";
11
11
  export * from "./src/domain/decision/decision-outcome";
12
12
  export * from "./src/domain/decision/decision-event";
13
13
  export * from "./src/domain/decision/decision-errors";
14
+ export * from "./src/query/query-engine";
14
15
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,cAAc,oCAAoC,CAAC;AACnD,cAAc,sCAAsC,CAAC;AAErD,cAAc,yBAAyB,CAAC;AACxC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AAEvC,cAAc,oCAAoC,CAAC;AACnD,cAAc,mCAAmC,CAAC;AAElD,cAAc,wCAAwC,CAAC;AACvD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,wCAAwC,CAAC;AACvD,cAAc,sCAAsC,CAAC;AACrD,cAAc,uCAAuC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,cAAc,oCAAoC,CAAC;AACnD,cAAc,sCAAsC,CAAC;AAErD,cAAc,yBAAyB,CAAC;AACxC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AAEvC,cAAc,oCAAoC,CAAC;AACnD,cAAc,mCAAmC,CAAC;AAElD,cAAc,wCAAwC,CAAC;AACvD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,wCAAwC,CAAC;AACvD,cAAc,sCAAsC,CAAC;AACrD,cAAc,uCAAuC,CAAC;AACtD,cAAc,0BAA0B,CAAC"}
package/dist/index.js CHANGED
@@ -27,4 +27,5 @@ __exportStar(require("./src/domain/decision/decision"), exports);
27
27
  __exportStar(require("./src/domain/decision/decision-outcome"), exports);
28
28
  __exportStar(require("./src/domain/decision/decision-event"), exports);
29
29
  __exportStar(require("./src/domain/decision/decision-errors"), exports);
30
+ __exportStar(require("./src/query/query-engine"), exports);
30
31
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,qEAAmD;AACnD,uEAAqD;AAErD,0DAAwC;AACxC,6DAA2C;AAC3C,yDAAuC;AACvC,yDAAuC;AAEvC,qEAAmD;AACnD,oEAAkD;AAElD,yEAAuD;AACvD,iEAA+C;AAC/C,yEAAuD;AACvD,uEAAqD;AACrD,wEAAsD"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,qEAAmD;AACnD,uEAAqD;AAErD,0DAAwC;AACxC,6DAA2C;AAC3C,yDAAuC;AACvC,yDAAuC;AAEvC,qEAAmD;AACnD,oEAAkD;AAElD,yEAAuD;AACvD,iEAA+C;AAC/C,yEAAuD;AACvD,uEAAqD;AACrD,wEAAsD;AACtD,2DAAyC"}
@@ -88,6 +88,19 @@ export interface MemoryRecord {
88
88
  * Generated by normalising and hashing the function body content.
89
89
  */
90
90
  fingerprint?: string;
91
+ /**
92
+ * Document source — filename of the document this memory was extracted from.
93
+ * Only present on memories created via document upload.
94
+ */
95
+ sourceDocument?: string;
96
+ /**
97
+ * Document type classification.
98
+ */
99
+ sourceDocumentType?: "prd" | "architecture" | "concept_note" | "other";
100
+ /**
101
+ * ID of the kodingo_documents record this memory was extracted from.
102
+ */
103
+ documentId?: string;
91
104
  }
92
105
  /**
93
106
  * Project memory state for a project.
@@ -128,6 +141,9 @@ export declare function createProposedMemory(input: {
128
141
  correctsId?: string;
129
142
  machineId?: string;
130
143
  displayName?: string;
144
+ sourceDocument?: string;
145
+ sourceDocumentType?: "prd" | "architecture" | "concept_note" | "other";
146
+ documentId?: string;
131
147
  now?: Date;
132
148
  }): MemoryRecord;
133
149
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"project-memory.d.ts","sourceRoot":"","sources":["../../../../src/domain/memory/project-memory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"project-memory.d.ts","sourceRoot":"","sources":["../../../../src/domain/memory/project-memory.ts"],"names":[],"mappings":"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"}
@@ -56,6 +56,9 @@ function createProposedMemory(input) {
56
56
  correctsId: input.correctsId,
57
57
  machineId: input.machineId,
58
58
  displayName: input.displayName,
59
+ sourceDocument: input.sourceDocument,
60
+ sourceDocumentType: input.sourceDocumentType,
61
+ documentId: input.documentId,
59
62
  };
60
63
  }
61
64
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"project-memory.js","sourceRoot":"","sources":["../../../../src/domain/memory/project-memory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"project-memory.js","sourceRoot":"","sources":["../../../../src/domain/memory/project-memory.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,60 @@
1
+ /**
2
+ * query-engine.ts
3
+ *
4
+ * Core domain logic for the Kortex query engine.
5
+ * Defines types, ranking, and synthesis interface.
6
+ * No LLM calls, no DB access — pure deterministic domain logic.
7
+ */
8
+ import type { MemoryRecord } from "../domain/memory/project-memory";
9
+ export type QueryIntentType = "concept" | "symbol" | "decision_history" | "comparison" | "general";
10
+ export interface QueryIntent {
11
+ raw: string;
12
+ type: QueryIntentType;
13
+ entities: string[];
14
+ symbolHint?: string;
15
+ confidence: number;
16
+ }
17
+ export interface QuerySource {
18
+ memory: MemoryRecord;
19
+ relevanceScore: number;
20
+ vectorScore: number;
21
+ domainScore: number;
22
+ }
23
+ export interface QueryResult {
24
+ answer: string;
25
+ sources: QuerySource[];
26
+ intent: QueryIntent;
27
+ synthesisedAt: Date;
28
+ totalCandidates: number;
29
+ }
30
+ export interface SynthesisPort {
31
+ /**
32
+ * Generate a natural language answer grounded in the provided memories.
33
+ * Implementations use an LLM with the memories as context.
34
+ */
35
+ synthesise(params: {
36
+ intent: QueryIntent;
37
+ memories: MemoryRecord[];
38
+ projectName?: string;
39
+ }): Promise<{
40
+ answer: string;
41
+ }>;
42
+ }
43
+ /**
44
+ * Re-ranks vector search candidates using domain scoring.
45
+ * Called after pgvector retrieval to apply Kortex-specific ranking rules.
46
+ *
47
+ * Combined score = (vectorScore * 0.6) + (domainScore * 0.4)
48
+ * Vector similarity is weighted higher but domain scoring prevents
49
+ * low-confidence or denied memories from surfacing.
50
+ */
51
+ export declare function rankMemoriesForQuery(candidates: Array<{
52
+ memory: MemoryRecord;
53
+ vectorScore: number;
54
+ }>, intent: QueryIntent): QuerySource[];
55
+ /**
56
+ * Builds the context string passed to the LLM for synthesis.
57
+ * Formats ranked memories into a structured prompt context.
58
+ */
59
+ export declare function buildQueryContext(sources: QuerySource[], maxSources?: number): string;
60
+ //# sourceMappingURL=query-engine.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query-engine.d.ts","sourceRoot":"","sources":["../../../src/query/query-engine.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAIpE,MAAM,MAAM,eAAe,GACvB,SAAS,GACT,QAAQ,GACR,kBAAkB,GAClB,YAAY,GACZ,SAAS,CAAC;AAEd,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,eAAe,CAAC;IACtB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;CACpB;AAID,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,YAAY,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,MAAM,EAAE,WAAW,CAAC;IACpB,aAAa,EAAE,IAAI,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;CACzB;AAID,MAAM,WAAW,aAAa;IAC5B;;;OAGG;IACH,UAAU,CAAC,MAAM,EAAE;QACjB,MAAM,EAAE,WAAW,CAAC;QACpB,QAAQ,EAAE,YAAY,EAAE,CAAC;QACzB,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACjC;AAuCD;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAClC,UAAU,EAAE,KAAK,CAAC;IAAE,MAAM,EAAE,YAAY,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,CAAC,EAChE,MAAM,EAAE,WAAW,GAClB,WAAW,EAAE,CAoDf;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,WAAW,EAAE,EACtB,UAAU,SAAI,GACb,MAAM,CAgBR"}
@@ -0,0 +1,116 @@
1
+ "use strict";
2
+ /**
3
+ * query-engine.ts
4
+ *
5
+ * Core domain logic for the Kortex query engine.
6
+ * Defines types, ranking, and synthesis interface.
7
+ * No LLM calls, no DB access — pure deterministic domain logic.
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.rankMemoriesForQuery = rankMemoriesForQuery;
11
+ exports.buildQueryContext = buildQueryContext;
12
+ // ── Ranking ───────────────────────────────────────────────────────────────────
13
+ const STATUS_WEIGHT = {
14
+ affirmed: 1.0,
15
+ proposed: 0.6,
16
+ ignored: 0.3,
17
+ denied: 0.0,
18
+ };
19
+ const INTENT_TYPE_WEIGHT = {
20
+ concept: {
21
+ decision: 1.0,
22
+ context: 0.8,
23
+ note: 0.6,
24
+ },
25
+ symbol: {
26
+ context: 1.0,
27
+ decision: 0.8,
28
+ note: 0.6,
29
+ },
30
+ decision_history: {
31
+ decision: 1.0,
32
+ note: 0.7,
33
+ context: 0.5,
34
+ },
35
+ comparison: {
36
+ decision: 1.0,
37
+ context: 0.8,
38
+ note: 0.6,
39
+ },
40
+ general: {
41
+ decision: 0.9,
42
+ context: 0.9,
43
+ note: 0.7,
44
+ },
45
+ };
46
+ /**
47
+ * Re-ranks vector search candidates using domain scoring.
48
+ * Called after pgvector retrieval to apply Kortex-specific ranking rules.
49
+ *
50
+ * Combined score = (vectorScore * 0.6) + (domainScore * 0.4)
51
+ * Vector similarity is weighted higher but domain scoring prevents
52
+ * low-confidence or denied memories from surfacing.
53
+ */
54
+ function rankMemoriesForQuery(candidates, intent) {
55
+ const intentWeights = INTENT_TYPE_WEIGHT[intent.type] ?? INTENT_TYPE_WEIGHT.general;
56
+ return candidates
57
+ .map(({ memory, vectorScore }) => {
58
+ const statusScore = STATUS_WEIGHT[memory.status] ?? 0;
59
+ const typeScore = intentWeights[memory.type] ?? 0.5;
60
+ const confidenceScore = memory.confidence;
61
+ // Boost if symbol matches the hint exactly
62
+ const symbolBoost = intent.symbolHint &&
63
+ memory.symbol?.toLowerCase().includes(intent.symbolHint.toLowerCase())
64
+ ? 0.2
65
+ : 0;
66
+ // Boost if any entity matches tags or symbol
67
+ const entityBoost = intent.entities.some(e => memory.tags?.some(t => t.toLowerCase().includes(e.toLowerCase())) ||
68
+ memory.symbol?.toLowerCase().includes(e.toLowerCase()) ||
69
+ memory.title?.toLowerCase().includes(e.toLowerCase()))
70
+ ? 0.15
71
+ : 0;
72
+ // Recency boost — memories updated in last 30 days get a small boost
73
+ const daysSinceUpdate = (Date.now() - new Date(memory.updatedAt).getTime()) / (1000 * 60 * 60 * 24);
74
+ const recencyBoost = daysSinceUpdate < 30 ? 0.05 : 0;
75
+ const domainScore = Math.min(1, statusScore * 0.4 +
76
+ typeScore * 0.25 +
77
+ confidenceScore * 0.2 +
78
+ symbolBoost +
79
+ entityBoost +
80
+ recencyBoost);
81
+ // Denied memories never surface regardless of vector score
82
+ if (memory.status === "denied") {
83
+ return { memory, vectorScore, domainScore: 0, relevanceScore: 0 };
84
+ }
85
+ const relevanceScore = vectorScore * 0.6 + domainScore * 0.4;
86
+ return { memory, vectorScore, domainScore, relevanceScore };
87
+ })
88
+ .filter(s => s.relevanceScore > 0)
89
+ .sort((a, b) => b.relevanceScore - a.relevanceScore);
90
+ }
91
+ /**
92
+ * Builds the context string passed to the LLM for synthesis.
93
+ * Formats ranked memories into a structured prompt context.
94
+ */
95
+ function buildQueryContext(sources, maxSources = 8) {
96
+ return sources
97
+ .slice(0, maxSources)
98
+ .map((s, i) => {
99
+ const m = s.memory;
100
+ const lines = [];
101
+ lines.push(`[Source ${i + 1}]`);
102
+ if (m.title)
103
+ lines.push(`Title: ${m.title}`);
104
+ if (m.symbol)
105
+ lines.push(`Symbol: ${m.symbol}`);
106
+ if (m.repo)
107
+ lines.push(`Repo: ${m.repo}`);
108
+ lines.push(`Type: ${m.type} | Status: ${m.status} | Confidence: ${Math.round(m.confidence * 100)}%`);
109
+ if (m.tags?.length)
110
+ lines.push(`Tags: ${m.tags.join(", ")}`);
111
+ lines.push(`Content: ${m.content}`);
112
+ return lines.join("\n");
113
+ })
114
+ .join("\n\n---\n\n");
115
+ }
116
+ //# sourceMappingURL=query-engine.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query-engine.js","sourceRoot":"","sources":["../../../src/query/query-engine.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "kodingo-core",
3
- "version": "0.2.2",
3
+ "version": "0.2.4",
4
4
  "description": "Core domain logic and ports for Kodingo.",
5
5
  "license": "ISC",
6
6
  "type": "commonjs",