@crewx/knowledge-core 0.1.17-rc.1 → 0.1.17-rc.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.
@@ -1 +1 @@
1
- {"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../src/search.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAuF3D,wBAAgB,aAAa,CAC3B,OAAO,EAAE,cAAc,EAAE,EACzB,KAAK,EAAE,MAAM,EACb,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GACpC,WAAW,EAAE,CAcf"}
1
+ {"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../src/search.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAqG3D,wBAAgB,aAAa,CAC3B,OAAO,EAAE,cAAc,EAAE,EACzB,KAAK,EAAE,MAAM,EACb,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GACpC,WAAW,EAAE,CAcf"}
@@ -5,6 +5,27 @@ const bm25Lib = require('wink-bm25-text-search');
5
5
  const nlp = require('wink-nlp-utils');
6
6
  const DEFAULT_FIELD_WEIGHTS = { summary: 3, tags: 2, body: 1 };
7
7
  const KOREAN_REGEX = /[\uac00-\ud7af\u1100-\u11ff\u3130-\u318f\ua960-\ua97f\ud7b0-\ud7ff]/;
8
+ function stringifySearchField(value) {
9
+ if (value == null)
10
+ return '';
11
+ if (typeof value === 'string')
12
+ return value;
13
+ if (typeof value === 'number' || typeof value === 'boolean' || typeof value === 'bigint') {
14
+ return String(value);
15
+ }
16
+ if (value instanceof Date)
17
+ return value.toISOString();
18
+ if (Array.isArray(value)) {
19
+ return value.map((item) => stringifySearchField(item)).filter(Boolean).join(' ');
20
+ }
21
+ if (typeof value === 'object') {
22
+ return Object.values(value)
23
+ .map((item) => stringifySearchField(item))
24
+ .filter(Boolean)
25
+ .join(' ');
26
+ }
27
+ return '';
28
+ }
8
29
  function hasKorean(text) {
9
30
  return KOREAN_REGEX.test(text);
10
31
  }
@@ -22,12 +43,10 @@ function bm25Search(entries, query, fieldWeights) {
22
43
  entries.forEach((entry, idx) => {
23
44
  const doc = {};
24
45
  for (const field of Object.keys(fieldWeights)) {
25
- let value = entry[field];
26
- if (Array.isArray(value))
27
- value = value.join(' ');
28
- if (field === 'body' && typeof value === 'string')
46
+ let value = stringifySearchField(entry[field]);
47
+ if (field === 'body')
29
48
  value = value.substring(0, 1000000);
30
- doc[field] = value || '';
49
+ doc[field] = value;
31
50
  }
32
51
  engine.addDoc(doc, idx);
33
52
  });
@@ -45,12 +64,7 @@ function koreanKeywordSearch(entries, query, fields) {
45
64
  return entries
46
65
  .map((entry) => {
47
66
  const searchText = fields
48
- .map((field) => {
49
- let value = entry[field];
50
- if (Array.isArray(value))
51
- value = value.join(' ');
52
- return value || '';
53
- })
67
+ .map((field) => stringifySearchField(entry[field]))
54
68
  .join(' ')
55
69
  .toLowerCase();
56
70
  const matchCount = words.filter((word) => searchText.includes(word)).length;
@@ -1 +1 @@
1
- {"version":3,"file":"search.js","sourceRoot":"","sources":["../../src/search.ts"],"names":[],"mappings":";;AA6FA,sCAkBC;AArGD,MAAM,OAAO,GAAkB,OAAO,CAAC,uBAAuB,CAAC,CAAC;AAChE,MAAM,GAAG,GAA4C,OAAO,CAAC,gBAAgB,CAAC,CAAC;AAG/E,MAAM,qBAAqB,GAA2B,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;AAEvF,MAAM,YAAY,GAAG,qEAAqE,CAAC;AAE3F,SAAS,SAAS,CAAC,IAAY;IAC7B,OAAO,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACjC,CAAC;AAED,SAAS,UAAU,CACjB,OAAyB,EACzB,KAAa,EACb,YAAoC;IAGpC,MAAM,MAAM,GAAI,OAAe,EAAE,CAAC;IAElC,MAAM,CAAC,YAAY,CAAC,EAAE,UAAU,EAAE,YAAY,EAAE,CAAC,CAAC;IAElD,MAAM,gBAAgB,GAAG,CAAC,MAAgB,EAAE,EAAE,CAC5C,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAGtD,MAAM,CAAC,eAAe,CAAC;QACrB,GAAG,CAAC,QAAQ,CAAE,CAAC,WAAW,CAAC;QAC3B,GAAG,CAAC,QAAQ,CAAE,CAAC,WAAW,CAAC;QAC3B,gBAAgB;QAChB,GAAG,CAAC,QAAQ,CAAE,CAAC,aAAa,CAAC;QAC7B,GAAG,CAAC,QAAQ,CAAE,CAAC,MAAM,CAAC;KACvB,CAAC,CAAC;IAEH,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;QAC7B,MAAM,GAAG,GAA2B,EAAE,CAAC;QACvC,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;YAC9C,IAAI,KAAK,GAAY,KAAK,CAAC,KAAK,CAAC,CAAC;YAClC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;gBAAE,KAAK,GAAI,KAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAChE,IAAI,KAAK,KAAK,MAAM,IAAI,OAAO,KAAK,KAAK,QAAQ;gBAAE,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,OAAS,CAAC,CAAC;YACzF,GAAG,CAAC,KAAK,CAAC,GAAI,KAAgB,IAAI,EAAE,CAAC;QACvC,CAAC;QAED,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAC1B,CAAC,CAAC,CAAC;IAGH,MAAM,CAAC,WAAW,EAAE,CAAC;IAErB,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAuB,CAAC;IAE3D,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;QACpC,GAAG,OAAO,CAAC,GAAG,CAAE;QAChB,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,CAAC,GAAG,GAAG;KACtC,CAAC,CAAC,CAAC;AACN,CAAC;AAED,SAAS,mBAAmB,CAC1B,OAAyB,EACzB,KAAa,EACb,MAAgB;IAEhB,MAAM,KAAK,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC3E,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAElC,OAAO,OAAO;SACX,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QACb,MAAM,UAAU,GAAG,MAAM;aACtB,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YACb,IAAI,KAAK,GAAY,KAAK,CAAC,KAAK,CAAC,CAAC;YAClC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;gBAAE,KAAK,GAAI,KAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAChE,OAAQ,KAAgB,IAAI,EAAE,CAAC;QACjC,CAAC,CAAC;aACD,IAAI,CAAC,GAAG,CAAC;aACT,WAAW,EAAE,CAAC;QAEjB,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC;QAC5E,OAAO,EAAE,GAAG,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;IAC1C,CAAC,CAAC;SACD,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;SACjC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC;AACzC,CAAC;AAED,SAAgB,aAAa,CAC3B,OAAyB,EACzB,KAAa,EACb,YAAqC;IAErC,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAChD,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAEnD,MAAM,OAAO,GAAG,YAAY,IAAI,qBAAqB,CAAC;IACtD,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAGpC,IAAI,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;QACrB,OAAO,mBAAmB,CAAC,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IACrD,CAAC;IAGD,OAAO,UAAU,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;AAC7C,CAAC"}
1
+ {"version":3,"file":"search.js","sourceRoot":"","sources":["../../src/search.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.1",
3
+ "version": "0.1.17-rc.3",
4
4
  "description": "Shared knowledge core - parser, search (BM25), graph builder for CrewX",
5
5
  "type": "commonjs",
6
6
  "main": "dist/src/index.js",