@crewx/knowledge-core 0.1.17-rc.62 → 0.1.17-rc.64

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.
@@ -1,5 +1,7 @@
1
1
  export { parseFrontmatter, stringifyFrontmatter } from './parser';
2
2
  export { searchEntries } from './search';
3
+ export { createSearchIndex, DEFAULT_SEARCH_INDEX_FIELD_WEIGHTS } from './search-index';
4
+ export type { SearchIndex } from './search-index';
3
5
  export { buildGraph } from './graph';
4
6
  export type { KnowledgeEntry, ScoredEntry, GraphNode, GraphEdge, Graph, ParsedFrontmatter, BuildGraphOptions, } from './types';
5
7
  export { COMMANDS, RELATIONS, generateNextActions, bindTemplate, resolvePattern, formatActions, } from './hateoas';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,YAAY,EACV,cAAc,EACd,WAAW,EACX,SAAS,EACT,SAAS,EACT,KAAK,EACL,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,SAAS,CAAC;AAEjB,OAAO,EACL,QAAQ,EACR,SAAS,EACT,mBAAmB,EACnB,YAAY,EACZ,cAAc,EACd,aAAa,GACd,MAAM,WAAW,CAAC;AACnB,YAAY,EACV,iBAAiB,EACjB,eAAe,EACf,aAAa,EACb,UAAU,EACV,YAAY,GACb,MAAM,WAAW,CAAC;AAGnB,OAAO,EACL,qBAAqB,EACrB,gBAAgB,GACjB,MAAM,iBAAiB,CAAC;AACzB,YAAY,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAGvE,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,EACf,cAAc,EACd,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,eAAe,CAAC;AACvB,YAAY,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,kCAAkC,EAAE,MAAM,gBAAgB,CAAC;AACvF,YAAY,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,YAAY,EACV,cAAc,EACd,WAAW,EACX,SAAS,EACT,SAAS,EACT,KAAK,EACL,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,SAAS,CAAC;AAEjB,OAAO,EACL,QAAQ,EACR,SAAS,EACT,mBAAmB,EACnB,YAAY,EACZ,cAAc,EACd,aAAa,GACd,MAAM,WAAW,CAAC;AACnB,YAAY,EACV,iBAAiB,EACjB,eAAe,EACf,aAAa,EACb,UAAU,EACV,YAAY,GACb,MAAM,WAAW,CAAC;AAGnB,OAAO,EACL,qBAAqB,EACrB,gBAAgB,GACjB,MAAM,iBAAiB,CAAC;AACzB,YAAY,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAGvE,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,EACf,cAAc,EACd,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,eAAe,CAAC;AACvB,YAAY,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC"}
package/dist/src/index.js CHANGED
@@ -1,11 +1,14 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.buildIgnorePatterns = exports.resolveProjectRoot = exports.loadDocsConfig = exports.DEFAULT_EXCLUDE = exports.DEFAULT_ROOT_FILES = exports.DEFAULT_DOC_ROOTS = exports.loadSearchConfig = exports.DEFAULT_SEARCH_CONFIG = exports.formatActions = exports.resolvePattern = exports.bindTemplate = exports.generateNextActions = exports.RELATIONS = exports.COMMANDS = exports.buildGraph = exports.searchEntries = exports.stringifyFrontmatter = exports.parseFrontmatter = void 0;
3
+ exports.buildIgnorePatterns = exports.resolveProjectRoot = exports.loadDocsConfig = exports.DEFAULT_EXCLUDE = exports.DEFAULT_ROOT_FILES = exports.DEFAULT_DOC_ROOTS = exports.loadSearchConfig = exports.DEFAULT_SEARCH_CONFIG = exports.formatActions = exports.resolvePattern = exports.bindTemplate = exports.generateNextActions = exports.RELATIONS = exports.COMMANDS = exports.buildGraph = exports.DEFAULT_SEARCH_INDEX_FIELD_WEIGHTS = exports.createSearchIndex = exports.searchEntries = exports.stringifyFrontmatter = exports.parseFrontmatter = void 0;
4
4
  var parser_1 = require("./parser");
5
5
  Object.defineProperty(exports, "parseFrontmatter", { enumerable: true, get: function () { return parser_1.parseFrontmatter; } });
6
6
  Object.defineProperty(exports, "stringifyFrontmatter", { enumerable: true, get: function () { return parser_1.stringifyFrontmatter; } });
7
7
  var search_1 = require("./search");
8
8
  Object.defineProperty(exports, "searchEntries", { enumerable: true, get: function () { return search_1.searchEntries; } });
9
+ var search_index_1 = require("./search-index");
10
+ Object.defineProperty(exports, "createSearchIndex", { enumerable: true, get: function () { return search_index_1.createSearchIndex; } });
11
+ Object.defineProperty(exports, "DEFAULT_SEARCH_INDEX_FIELD_WEIGHTS", { enumerable: true, get: function () { return search_index_1.DEFAULT_SEARCH_INDEX_FIELD_WEIGHTS; } });
9
12
  var graph_1 = require("./graph");
10
13
  Object.defineProperty(exports, "buildGraph", { enumerable: true, get: function () { return graph_1.buildGraph; } });
11
14
  var hateoas_1 = require("./hateoas");
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAIA,mCAAkE;AAAzD,0GAAA,gBAAgB,OAAA;AAAE,8GAAA,oBAAoB,OAAA;AAC/C,mCAAyC;AAAhC,uGAAA,aAAa,OAAA;AACtB,iCAAqC;AAA5B,mGAAA,UAAU,OAAA;AAWnB,qCAOmB;AANjB,mGAAA,QAAQ,OAAA;AACR,oGAAA,SAAS,OAAA;AACT,8GAAA,mBAAmB,OAAA;AACnB,uGAAA,YAAY,OAAA;AACZ,yGAAA,cAAc,OAAA;AACd,wGAAA,aAAa,OAAA;AAWf,iDAGyB;AAFvB,sHAAA,qBAAqB,OAAA;AACrB,iHAAA,gBAAgB,OAAA;AAKlB,6CAOuB;AANrB,gHAAA,iBAAiB,OAAA;AACjB,iHAAA,kBAAkB,OAAA;AAClB,8GAAA,eAAe,OAAA;AACf,6GAAA,cAAc,OAAA;AACd,iHAAA,kBAAkB,OAAA;AAClB,kHAAA,mBAAmB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAIA,mCAAkE;AAAzD,0GAAA,gBAAgB,OAAA;AAAE,8GAAA,oBAAoB,OAAA;AAC/C,mCAAyC;AAAhC,uGAAA,aAAa,OAAA;AACtB,+CAAuF;AAA9E,iHAAA,iBAAiB,OAAA;AAAE,kIAAA,kCAAkC,OAAA;AAE9D,iCAAqC;AAA5B,mGAAA,UAAU,OAAA;AAWnB,qCAOmB;AANjB,mGAAA,QAAQ,OAAA;AACR,oGAAA,SAAS,OAAA;AACT,8GAAA,mBAAmB,OAAA;AACnB,uGAAA,YAAY,OAAA;AACZ,yGAAA,cAAc,OAAA;AACd,wGAAA,aAAa,OAAA;AAWf,iDAGyB;AAFvB,sHAAA,qBAAqB,OAAA;AACrB,iHAAA,gBAAgB,OAAA;AAKlB,6CAOuB;AANrB,gHAAA,iBAAiB,OAAA;AACjB,iHAAA,kBAAkB,OAAA;AAClB,8GAAA,eAAe,OAAA;AACf,6GAAA,cAAc,OAAA;AACd,iHAAA,kBAAkB,OAAA;AAClB,kHAAA,mBAAmB,OAAA"}
@@ -0,0 +1,7 @@
1
+ import type { KnowledgeEntry, ScoredEntry } from './types';
2
+ export declare const DEFAULT_SEARCH_INDEX_FIELD_WEIGHTS: Readonly<Record<string, number>>;
3
+ export interface SearchIndex {
4
+ search(query: string, limit: number): ScoredEntry[];
5
+ }
6
+ export declare function createSearchIndex(entries: readonly KnowledgeEntry[], fieldWeights?: Readonly<Record<string, number>>): SearchIndex;
7
+ //# sourceMappingURL=search-index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search-index.d.ts","sourceRoot":"","sources":["../../src/search-index.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAgB3D,eAAO,MAAM,kCAAkC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAI/E,CAAC;AA4MF,MAAM,WAAW,WAAW;IAE1B,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,WAAW,EAAE,CAAC;CACrD;AAGD,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,SAAS,cAAc,EAAE,EAClC,YAAY,GAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAsC,GAClF,WAAW,CAgDb"}
@@ -0,0 +1,234 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DEFAULT_SEARCH_INDEX_FIELD_WEIGHTS = void 0;
4
+ exports.createSearchIndex = createSearchIndex;
5
+ const bm25Lib = require('wink-bm25-text-search');
6
+ const nlp = require('wink-nlp-utils');
7
+ exports.DEFAULT_SEARCH_INDEX_FIELD_WEIGHTS = {
8
+ summary: 3,
9
+ tags: 2,
10
+ body: 1,
11
+ };
12
+ const HANGUL_CHARACTERS = '\u1100-\u11ff\u3130-\u318f\uac00-\ud7af\ua960-\ua97f\ud7b0-\ud7ff';
13
+ const KOREAN_RUN_RE = new RegExp(`[${HANGUL_CHARACTERS}]+`, 'gu');
14
+ const BODY_MAX_LENGTH = 1000000;
15
+ function stringifySearchField(value) {
16
+ if (value == null)
17
+ return '';
18
+ if (typeof value === 'string')
19
+ return value;
20
+ if (typeof value === 'number' || typeof value === 'boolean' || typeof value === 'bigint') {
21
+ return String(value);
22
+ }
23
+ if (value instanceof Date)
24
+ return value.toISOString();
25
+ if (Array.isArray(value)) {
26
+ return value.map((item) => stringifySearchField(item)).filter(Boolean).join(' ');
27
+ }
28
+ if (typeof value === 'object') {
29
+ return Object.values(value)
30
+ .map((item) => stringifySearchField(item))
31
+ .filter(Boolean)
32
+ .join(' ');
33
+ }
34
+ return '';
35
+ }
36
+ function tokenizeKoreanBigram(value) {
37
+ const tokens = [];
38
+ let segmentStart = 0;
39
+ let foundKoreanRun = false;
40
+ for (const match of value.matchAll(KOREAN_RUN_RE)) {
41
+ foundKoreanRun = true;
42
+ const start = match.index ?? segmentStart;
43
+ if (start > segmentStart)
44
+ tokens.push(...nlp.string.tokenize0(value.slice(segmentStart, start)));
45
+ const syllables = Array.from(match[0]);
46
+ if (syllables.length === 1) {
47
+ tokens.push(syllables[0]);
48
+ }
49
+ else {
50
+ for (let index = 0; index < syllables.length - 1; index++) {
51
+ tokens.push(`${syllables[index]}${syllables[index + 1]}`);
52
+ }
53
+ }
54
+ segmentStart = start + match[0].length;
55
+ }
56
+ if (!foundKoreanRun)
57
+ return nlp.string.tokenize0(value);
58
+ if (segmentStart < value.length) {
59
+ tokens.push(...nlp.string.tokenize0(value.slice(segmentStart)));
60
+ }
61
+ return tokens;
62
+ }
63
+ const splitUnderscores = (value) => value.flatMap((token) => token.split('_')).filter(Boolean);
64
+ const PREP_TASKS = [
65
+ (value) => nlp.string.lowerCase(String(value)),
66
+ (value) => tokenizeKoreanBigram(String(value)),
67
+ splitUnderscores,
68
+ (value) => nlp.tokens.removeWords(value),
69
+ (value) => nlp.tokens.stem(value),
70
+ ];
71
+ function prepareTokens(value) {
72
+ let prepared = value;
73
+ for (const task of PREP_TASKS)
74
+ prepared = task(prepared);
75
+ return prepared;
76
+ }
77
+ function buildDocument(entry, fields) {
78
+ const document = {};
79
+ for (const field of fields) {
80
+ let value = stringifySearchField(entry[field]);
81
+ if (field === 'body')
82
+ value = value.substring(0, BODY_MAX_LENGTH);
83
+ document[field] = value;
84
+ }
85
+ return document;
86
+ }
87
+ function stableValue(value) {
88
+ if (value == null)
89
+ return 'null';
90
+ if (typeof value === 'string')
91
+ return `string:${value}`;
92
+ if (typeof value === 'number' || typeof value === 'boolean' || typeof value === 'bigint') {
93
+ return `${typeof value}:${String(value)}`;
94
+ }
95
+ if (value instanceof Date)
96
+ return `date:${value.toISOString()}`;
97
+ if (Array.isArray(value))
98
+ return `array:[${value.map(stableValue).join(',')}]`;
99
+ if (typeof value === 'object') {
100
+ return `object:{${Object.keys(value)
101
+ .sort()
102
+ .map((key) => `${stableValue(key)}=${stableValue(value[key])}`)
103
+ .join(',')}}`;
104
+ }
105
+ return `${typeof value}:${String(value)}`;
106
+ }
107
+ function compareText(left, right) {
108
+ return left < right ? -1 : left > right ? 1 : 0;
109
+ }
110
+ function orderEntries(entries) {
111
+ return entries.slice().sort((left, right) => {
112
+ const idOrder = compareText(left.id, right.id);
113
+ if (idOrder !== 0)
114
+ return idOrder;
115
+ return compareText(stableValue(left), stableValue(right));
116
+ });
117
+ }
118
+ function compareScoredEntries(left, right) {
119
+ const scoreOrder = right._score - left._score;
120
+ if (scoreOrder !== 0)
121
+ return scoreOrder;
122
+ const idOrder = compareText(left.id, right.id);
123
+ if (idOrder !== 0)
124
+ return idOrder;
125
+ return compareText(stableValue(left), stableValue(right));
126
+ }
127
+ function validateLimit(limit) {
128
+ if (!Number.isInteger(limit) || limit < 1) {
129
+ throw new RangeError(`Search limit must be a positive integer, received ${limit}`);
130
+ }
131
+ }
132
+ function prepareDocument(document, fields) {
133
+ return {
134
+ fields: new Map(fields.map((field) => [field, prepareTokens(document[field] ?? '')])),
135
+ };
136
+ }
137
+ function countTokens(tokens, token) {
138
+ let count = 0;
139
+ for (const value of tokens)
140
+ if (value === token)
141
+ count++;
142
+ return count;
143
+ }
144
+ function searchSmallCorpus(entries, documents, fields, fieldWeights, query, limit) {
145
+ const queryTokens = prepareTokens(query);
146
+ if (queryTokens.length === 0)
147
+ return [];
148
+ const documentFrequency = new Map();
149
+ for (const document of documents) {
150
+ const uniqueTokens = new Set();
151
+ for (const field of fields) {
152
+ for (const token of document.fields.get(field) ?? [])
153
+ uniqueTokens.add(token);
154
+ }
155
+ for (const token of uniqueTokens)
156
+ documentFrequency.set(token, (documentFrequency.get(token) ?? 0) + 1);
157
+ }
158
+ const averageLength = new Map();
159
+ for (const field of fields) {
160
+ const total = documents.reduce((sum, document) => sum + (document.fields.get(field)?.length ?? 0), 0);
161
+ averageLength.set(field, total / Math.max(documents.length, 1));
162
+ }
163
+ const k1 = 1.2;
164
+ const b = 0.75;
165
+ const scored = entries.map((entry, documentIndex) => {
166
+ const document = documents[documentIndex];
167
+ let score = 0;
168
+ for (const token of queryTokens) {
169
+ const documentFrequencyValue = documentFrequency.get(token) ?? 0;
170
+ if (documentFrequencyValue === 0)
171
+ continue;
172
+ const idf = Math.log(1 + (documents.length - documentFrequencyValue + 0.5) / (documentFrequencyValue + 0.5));
173
+ for (const field of fields) {
174
+ const tokens = document.fields.get(field) ?? [];
175
+ const termFrequency = countTokens(tokens, token);
176
+ if (termFrequency === 0)
177
+ continue;
178
+ const average = averageLength.get(field) ?? 0;
179
+ const normalizedLength = average === 0 ? 1 : 1 - b + b * (tokens.length / average);
180
+ const termScore = (termFrequency * (k1 + 1)) / (termFrequency + k1 * normalizedLength);
181
+ score += idf * termScore * (fieldWeights[field] ?? 0);
182
+ }
183
+ }
184
+ return { ...entry, _score: Math.round(score * 100) / 100 };
185
+ });
186
+ return scored.filter((entry) => entry._score > 0).sort(compareScoredEntries).slice(0, limit);
187
+ }
188
+ function createSearchIndex(entries, fieldWeights = exports.DEFAULT_SEARCH_INDEX_FIELD_WEIGHTS) {
189
+ const orderedEntries = orderEntries(entries);
190
+ const weights = { ...fieldWeights };
191
+ const fields = Object.keys(weights);
192
+ const documents = orderedEntries.map((entry) => buildDocument(entry, fields));
193
+ if (orderedEntries.length < 3) {
194
+ const preparedDocuments = documents.map((document) => prepareDocument(document, fields));
195
+ return {
196
+ search(query, limit) {
197
+ validateLimit(limit);
198
+ if (!query || query.trim().length === 0)
199
+ return [];
200
+ return searchSmallCorpus(orderedEntries, preparedDocuments, fields, weights, query, limit);
201
+ },
202
+ };
203
+ }
204
+ const engine = bm25Lib();
205
+ engine.defineConfig({ fldWeights: weights });
206
+ engine.definePrepTasks(PREP_TASKS);
207
+ documents.forEach((document, index) => engine.addDoc(document, index));
208
+ engine.consolidate();
209
+ return {
210
+ search(query, limit) {
211
+ validateLimit(limit);
212
+ if (!query || query.trim().length === 0)
213
+ return [];
214
+ return engine
215
+ .search(query, limit)
216
+ .map(([index, score]) => ({
217
+ entry: orderedEntries[index],
218
+ rawScore: score,
219
+ }))
220
+ .sort((left, right) => {
221
+ const scoreOrder = right.rawScore - left.rawScore;
222
+ if (scoreOrder !== 0)
223
+ return scoreOrder;
224
+ return compareScoredEntries({ ...left.entry, _score: 0 }, { ...right.entry, _score: 0 });
225
+ })
226
+ .map(({ entry, rawScore }) => ({
227
+ ...entry,
228
+ _score: Math.round(rawScore * 100) / 100,
229
+ }))
230
+ .slice(0, limit);
231
+ },
232
+ };
233
+ }
234
+ //# sourceMappingURL=search-index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search-index.js","sourceRoot":"","sources":["../../src/search-index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@crewx/knowledge-core",
3
- "version": "0.1.17-rc.62",
3
+ "version": "0.1.17-rc.64",
4
4
  "description": "Shared knowledge core - parser, search (BM25), graph builder for CrewX",
5
5
  "type": "commonjs",
6
6
  "main": "dist/src/index.js",