@astermind/cybernetic-chatbot-client 2.2.18 → 2.2.30

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":"CyberneticLocalRAG.d.ts","sourceRoot":"","sources":["../src/CyberneticLocalRAG.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEtE,UAAU,cAAc;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,KAAK,CAAC;QACX,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,MAAM,CAAC;QAChB,KAAK,EAAE,MAAM,CAAC;KACjB,CAAC,CAAC;IACH,QAAQ,EAAE,MAAM,CAAC;CACpB;AAUD;;;;;GAKG;AACH,MAAM,WAAW,YAAY;IACzB,MAAM,EAAE,OAAO,CAAC;IAChB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,qBAAa,kBAAkB;IAC3B,OAAO,CAAC,SAAS,CAAyB;IAC1C,OAAO,CAAC,GAAG,CAAkC;IAC7C,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,gBAAgB,CAAS;IACjC,OAAO,CAAC,aAAa,CAAC,CAAS;IAC/B,OAAO,CAAC,UAAU,CAAC,CAAS;IAC5B,OAAO,CAAC,UAAU,CAAkC;IAEpD;;OAEG;IACH,SAAS,IAAI,OAAO;IAIpB;;OAEG;IACG,KAAK,CAAC,SAAS,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IA4CvD;;OAEG;IACG,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAsDjD;;OAEG;IACH,KAAK,IAAI,IAAI;IAUb;;;;;OAKG;IACG,cAAc,CAAC,UAAU,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IA2CpE;;OAEG;IACH,eAAe,IAAI,YAAY;IAa/B;;OAEG;IACH,OAAO,CAAC,QAAQ;IAQhB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAiB5B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAsBxB;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAyB9B;;OAEG;IACH,OAAO,CAAC,UAAU;CAarB"}
1
+ {"version":3,"file":"CyberneticLocalRAG.d.ts","sourceRoot":"","sources":["../src/CyberneticLocalRAG.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEtE,UAAU,cAAc;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,KAAK,CAAC;QACX,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,MAAM,CAAC;QAChB,KAAK,EAAE,MAAM,CAAC;KACjB,CAAC,CAAC;IACH,QAAQ,EAAE,MAAM,CAAC;CACpB;AAUD;;;;;GAKG;AACH,MAAM,WAAW,YAAY;IACzB,MAAM,EAAE,OAAO,CAAC;IAChB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,qBAAa,kBAAkB;IAC3B,OAAO,CAAC,SAAS,CAAyB;IAC1C,OAAO,CAAC,GAAG,CAAkC;IAC7C,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,gBAAgB,CAAS;IACjC,OAAO,CAAC,aAAa,CAAC,CAAS;IAC/B,OAAO,CAAC,UAAU,CAAC,CAAS;IAC5B,OAAO,CAAC,UAAU,CAAkC;IAEpD;;OAEG;IACH,SAAS,IAAI,OAAO;IAIpB;;OAEG;IACG,KAAK,CAAC,SAAS,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAiDvD;;OAEG;IACG,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAsDjD;;OAEG;IACH,KAAK,IAAI,IAAI;IAUb;;;;;OAKG;IACG,cAAc,CAAC,UAAU,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IA2CpE;;OAEG;IACH,eAAe,IAAI,YAAY;IAa/B;;OAEG;IACH,OAAO,CAAC,QAAQ;IAWhB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAiB5B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAsBxB;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAyB9B;;OAEG;IACH,OAAO,CAAC,UAAU;CAarB"}
@@ -43,6 +43,10 @@ export declare class CyberneticIntentClassifier {
43
43
  * Extract target from regex match
44
44
  */
45
45
  private extractTarget;
46
+ /**
47
+ * Strip common articles and filler words for better matching
48
+ */
49
+ private stripArticles;
46
50
  /**
47
51
  * Find site map match for target string
48
52
  */
@@ -1 +1 @@
1
- {"version":3,"file":"CyberneticIntentClassifier.d.ts","sourceRoot":"","sources":["../../src/agentic/CyberneticIntentClassifier.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACR,oBAAoB,EAIpB,WAAW,EACd,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EACR,mBAAmB,EACnB,aAAa,EAEb,kBAAkB,EAClB,mBAAmB,EACtB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAoCzD;;;;;GAKG;AACH,qBAAa,0BAA0B;IACnC,OAAO,CAAC,MAAM,CAAc;IAC5B,OAAO,CAAC,YAAY,CAA4B;IAChD,OAAO,CAAC,SAAS,CAA+B;IAChD,OAAO,CAAC,UAAU,CAAkC;IACpD,OAAO,CAAC,UAAU,CAA4B;IAC9C,OAAO,CAAC,aAAa,CAAoC;IAEzD,8CAA8C;IAC9C,OAAO,CAAC,gBAAgB,CAAiC;IAEzD;;;;;;OAMG;gBACS,MAAM,EAAE,WAAW,EAAE,MAAM,GAAE,MAAW,EAAE,MAAM,GAAE,MAAW;IAmBzE;;OAEG;IACH,OAAO,CAAC,YAAY;IA6CpB;;;;;OAKG;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,oBAAoB;IA6C/C;;OAEG;IACH,OAAO,CAAC,WAAW;IAwLnB;;OAEG;IACH,OAAO,CAAC,aAAa;IAUrB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IA4BxB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAyBzB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IA0BzB;;OAEG;IACH,OAAO,CAAC,eAAe;IAqBvB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAwC1B;;OAEG;IACH,OAAO,CAAC,eAAe;IAIvB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAqCxB;;OAEG;IACH,OAAO,CAAC,wBAAwB;IA4BhC;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAgC9B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAU3B;;OAEG;IACH,SAAS,IAAI,WAAW;IAMxB;;;;;OAKG;IACG,eAAe,CAAC,UAAU,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IA8BrE;;;;OAIG;IACG,WAAW,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAwBvD;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAkC1B;;OAEG;IACH,OAAO,CAAC,0BAA0B;IAiDlC;;OAEG;IACH,OAAO,CAAC,UAAU;IAelB;;OAEG;IACH,aAAa,IAAI,kBAAkB,EAAE;IAIrC;;OAEG;IACH,gBAAgB,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;IAIzC;;OAEG;IACH,SAAS,IAAI,OAAO;IAMpB;;;;;OAKG;IACG,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;IAe1C;;;OAGG;IACH,OAAO,CAAC,2BAA2B;IAyCnC;;;;OAIG;IACH,cAAc,IAAI,OAAO;IAQzB;;;;;OAKG;IACG,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC;IAOzC;;;;;OAKG;IACG,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IAUrC;;;;OAIG;IACH,mBAAmB,IAAI,gBAAgB,GAAG,IAAI;IAI9C;;;;OAIG;IACH,iBAAiB,IAAI,mBAAmB,EAAE;CAO7C"}
1
+ {"version":3,"file":"CyberneticIntentClassifier.d.ts","sourceRoot":"","sources":["../../src/agentic/CyberneticIntentClassifier.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACR,oBAAoB,EAIpB,WAAW,EACd,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EACR,mBAAmB,EACnB,aAAa,EAEb,kBAAkB,EAClB,mBAAmB,EACtB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAoCzD;;;;;GAKG;AACH,qBAAa,0BAA0B;IACnC,OAAO,CAAC,MAAM,CAAc;IAC5B,OAAO,CAAC,YAAY,CAA4B;IAChD,OAAO,CAAC,SAAS,CAA+B;IAChD,OAAO,CAAC,UAAU,CAAkC;IACpD,OAAO,CAAC,UAAU,CAA4B;IAC9C,OAAO,CAAC,aAAa,CAAoC;IAEzD,8CAA8C;IAC9C,OAAO,CAAC,gBAAgB,CAAiC;IAEzD;;;;;;OAMG;gBACS,MAAM,EAAE,WAAW,EAAE,MAAM,GAAE,MAAW,EAAE,MAAM,GAAE,MAAW;IAmBzE;;OAEG;IACH,OAAO,CAAC,YAAY;IA6CpB;;;;;OAKG;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,oBAAoB;IA6C/C;;OAEG;IACH,OAAO,CAAC,WAAW;IAwLnB;;OAEG;IACH,OAAO,CAAC,aAAa;IAUrB;;OAEG;IACH,OAAO,CAAC,aAAa;IAOrB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAgCxB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAyBzB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IA0BzB;;OAEG;IACH,OAAO,CAAC,eAAe;IAqBvB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAwC1B;;OAEG;IACH,OAAO,CAAC,eAAe;IAIvB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAqCxB;;OAEG;IACH,OAAO,CAAC,wBAAwB;IA4BhC;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAgC9B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAU3B;;OAEG;IACH,SAAS,IAAI,WAAW;IAMxB;;;;;OAKG;IACG,eAAe,CAAC,UAAU,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IA8BrE;;;;OAIG;IACG,WAAW,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAwBvD;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAkC1B;;OAEG;IACH,OAAO,CAAC,0BAA0B;IAiDlC;;OAEG;IACH,OAAO,CAAC,UAAU;IAelB;;OAEG;IACH,aAAa,IAAI,kBAAkB,EAAE;IAIrC;;OAEG;IACH,gBAAgB,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;IAIzC;;OAEG;IACH,SAAS,IAAI,OAAO;IAMpB;;;;;OAKG;IACG,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;IAe1C;;;OAGG;IACH,OAAO,CAAC,2BAA2B;IAyCnC;;;;OAIG;IACH,cAAc,IAAI,OAAO;IAQzB;;;;;OAKG;IACG,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC;IAOzC;;;;;OAKG;IACG,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IAUrC;;;;OAIG;IACH,mBAAmB,IAAI,gBAAgB,GAAG,IAAI;IAI9C;;;;OAIG;IACH,iBAAiB,IAAI,mBAAmB,EAAE;CAO7C"}
@@ -640,6 +640,10 @@ class CyberneticLocalRAG {
640
640
  // Tokenize and build document frequency
641
641
  const docFreq = new Map();
642
642
  for (const doc of documents) {
643
+ // Skip documents without content
644
+ if (!doc.content) {
645
+ continue;
646
+ }
643
647
  const tokens = this.tokenize(doc.content);
644
648
  const uniqueTokens = new Set(tokens);
645
649
  // Count document frequency
@@ -790,6 +794,9 @@ class CyberneticLocalRAG {
790
794
  * Tokenize text into words
791
795
  */
792
796
  tokenize(text) {
797
+ if (!text || typeof text !== 'string') {
798
+ return [];
799
+ }
793
800
  return text
794
801
  .toLowerCase()
795
802
  .replace(/[^\w\s]/g, ' ')
@@ -3534,22 +3541,35 @@ class CyberneticIntentClassifier {
3534
3541
  }
3535
3542
  return '';
3536
3543
  }
3544
+ /**
3545
+ * Strip common articles and filler words for better matching
3546
+ */
3547
+ stripArticles(text) {
3548
+ return text
3549
+ .replace(/^(the|a|an|my|our|your|this|that)\s+/gi, '')
3550
+ .replace(/\s+(page|section|screen|view)$/gi, '')
3551
+ .trim();
3552
+ }
3537
3553
  /**
3538
3554
  * Find site map match for target string
3539
3555
  */
3540
3556
  findSiteMapMatch(target) {
3541
3557
  const normalizedTarget = target.toLowerCase().replace(/[^a-z0-9\s]/g, '');
3542
- // Exact match
3543
- const exact = this.siteMapIndex.get(normalizedTarget);
3558
+ const strippedTarget = this.stripArticles(normalizedTarget);
3559
+ // Exact match (try both with and without articles)
3560
+ const exact = this.siteMapIndex.get(normalizedTarget) || this.siteMapIndex.get(strippedTarget);
3544
3561
  if (exact) {
3545
3562
  return { entry: exact, similarity: 1.0 };
3546
3563
  }
3547
- // Fuzzy match
3564
+ // Fuzzy match using stripped version for better accuracy
3548
3565
  let bestMatch = null;
3549
3566
  let bestScore = 0;
3550
3567
  for (const [key, entry] of this.siteMapIndex) {
3551
- const score = this.calculateSimilarity(normalizedTarget, key);
3552
- if (score > bestScore && score > 0.6) {
3568
+ // Compare both original and stripped versions, take the better score
3569
+ const score1 = this.calculateSimilarity(normalizedTarget, key);
3570
+ const score2 = this.calculateSimilarity(strippedTarget, key);
3571
+ const score = Math.max(score1, score2);
3572
+ if (score > bestScore && score > 0.5) {
3553
3573
  bestScore = score;
3554
3574
  bestMatch = entry;
3555
3575
  }