@ixo/common 1.1.0 → 1.1.1

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.
Files changed (127) hide show
  1. package/.turbo/turbo-build.log +1 -1
  2. package/CHANGELOG.md +0 -6
  3. package/README.md +1 -6
  4. package/dist/ai/nodes/generic-chat/generic-chat.node.d.ts +4 -4
  5. package/dist/ai/nodes/generic-chat/generic-chat.node.d.ts.map +1 -1
  6. package/dist/ai/nodes/generic-chat/generic-chat.node.js +1 -1
  7. package/dist/ai/nodes/generic-chat/generic-chat.node.js.map +1 -1
  8. package/dist/ai/semantic-router-factory/create-semantic-router.d.ts +2 -2
  9. package/dist/ai/semantic-router-factory/create-semantic-router.d.ts.map +1 -1
  10. package/dist/ai/semantic-router-factory/create-semantic-router.js.map +1 -1
  11. package/dist/ai/tools/action-caller.d.ts +3 -3
  12. package/dist/ai/tools/action-caller.d.ts.map +1 -1
  13. package/dist/ai/tools/ask-ixo-guru/ask-ixo-guru.d.ts.map +1 -1
  14. package/dist/ai/tools/ask-ixo-guru/ask-ixo-guru.js.map +1 -1
  15. package/dist/ai/tools/browser-tool-caller.d.ts +3 -3
  16. package/dist/ai/tools/browser-tool-caller.d.ts.map +1 -1
  17. package/dist/ai/tools/frontend-tool-caller.d.ts +2 -2
  18. package/dist/ai/tools/frontend-tool-caller.d.ts.map +1 -1
  19. package/dist/ai/tools/frontend-tool-caller.js +2 -1
  20. package/dist/ai/tools/frontend-tool-caller.js.map +1 -1
  21. package/dist/ai/tools/log-action-to-matrix.d.ts +2 -2
  22. package/dist/ai/tools/log-action-to-matrix.d.ts.map +1 -1
  23. package/dist/ai/tools/log-action-to-matrix.js.map +1 -1
  24. package/dist/ai/tools/parser-action-tool.d.ts +2 -2
  25. package/dist/ai/tools/parser-action-tool.d.ts.map +1 -1
  26. package/dist/ai/tools/parser-action-tool.js +5 -5
  27. package/dist/ai/tools/parser-action-tool.js.map +1 -1
  28. package/dist/ai/tools/parser-browser-tool.d.ts +2 -2
  29. package/dist/ai/tools/parser-browser-tool.d.ts.map +1 -1
  30. package/dist/ai/tools/parser-browser-tool.js +1 -1
  31. package/dist/ai/tools/parser-browser-tool.js.map +1 -1
  32. package/dist/ai/tools/scrape-web-page.d.ts +1 -1
  33. package/dist/ai/tools/scrape-web-page.d.ts.map +1 -1
  34. package/dist/ai/utils/doc-splitter.js.map +1 -1
  35. package/dist/ai/utils/generate-questions-from-chunks.d.ts +1 -1
  36. package/dist/ai/utils/generate-questions-from-chunks.d.ts.map +1 -1
  37. package/dist/ai/utils/json-to-yaml.js.map +1 -1
  38. package/dist/ai/utils/load-file.js +1 -1
  39. package/dist/ai/utils/load-file.js.map +1 -1
  40. package/dist/ai/utils/transformGraphStateMessageToListMessageResponse.d.ts.map +1 -1
  41. package/dist/ai/utils/transformGraphStateMessageToListMessageResponse.js +5 -3
  42. package/dist/ai/utils/transformGraphStateMessageToListMessageResponse.js.map +1 -1
  43. package/dist/ai/utils/verify-matrix-openId-token.d.ts.map +1 -1
  44. package/dist/ai/utils/verify-matrix-openId-token.js +2 -2
  45. package/dist/ai/utils/verify-matrix-openId-token.js.map +1 -1
  46. package/dist/services/env/env.service.d.ts.map +1 -1
  47. package/dist/services/env/env.service.js.map +1 -1
  48. package/dist/services/session-manager/session-manager.service.d.ts +2 -2
  49. package/dist/services/session-manager/session-manager.service.d.ts.map +1 -1
  50. package/dist/services/session-manager/session-manager.service.js +3 -2
  51. package/dist/services/session-manager/session-manager.service.js.map +1 -1
  52. package/package.json +6 -10
  53. package/src/ai/index.ts +1 -1
  54. package/src/ai/models/openai.test.ts +7 -8
  55. package/src/ai/nodes/generic-chat/generic-chat.node.ts +7 -4
  56. package/src/ai/nodes/generic-chat/index.ts +1 -1
  57. package/src/ai/nodes/index.ts +1 -1
  58. package/src/ai/semantic-router-factory/create-semantic-router.test.ts +8 -5
  59. package/src/ai/semantic-router-factory/create-semantic-router.ts +8 -5
  60. package/src/ai/tools/action-caller.ts +3 -3
  61. package/src/ai/tools/ask-ixo-guru/ask-ixo-guru.ts +6 -4
  62. package/src/ai/tools/browser-tool-caller.ts +3 -3
  63. package/src/ai/tools/frontend-tool-caller.ts +11 -6
  64. package/src/ai/tools/log-action-to-matrix.ts +2 -3
  65. package/src/ai/tools/parser-action-tool.ts +8 -8
  66. package/src/ai/tools/parser-browser-tool.ts +4 -4
  67. package/src/ai/tools/retriever-tool/retriever-tool.test.ts +30 -23
  68. package/src/ai/tools/scrape-web-page.ts +1 -1
  69. package/src/ai/utils/__tests__/doc-relevance-checker.test.ts +5 -3
  70. package/src/ai/utils/__tests__/json-to-yaml.test.ts +1 -1
  71. package/src/ai/utils/doc-splitter.ts +1 -1
  72. package/src/ai/utils/generate-questions-from-chunks.ts +1 -1
  73. package/src/ai/utils/json-to-yaml.ts +1 -1
  74. package/src/ai/utils/load-file.ts +1 -1
  75. package/src/ai/utils/transformGraphStateMessageToListMessageResponse.ts +8 -4
  76. package/src/ai/utils/verify-matrix-openId-token.ts +9 -6
  77. package/src/services/env/env-service.test.ts +1 -1
  78. package/src/services/env/env.service.ts +0 -1
  79. package/src/services/session-manager/session-manager.service.ts +6 -4
  80. package/src/utils/index.ts +1 -1
  81. package/tsconfig.json +8 -2
  82. package/tsconfig.tsbuildinfo +1 -1
  83. package/vitest.config.ts +2 -0
  84. package/.eslintrc.js +0 -9
  85. package/.prettierignore +0 -3
  86. package/.prettierrc.cjs +0 -4
  87. package/dist/ai/models/openai.test.d.ts +0 -2
  88. package/dist/ai/models/openai.test.d.ts.map +0 -1
  89. package/dist/ai/models/openai.test.js +0 -58
  90. package/dist/ai/models/openai.test.js.map +0 -1
  91. package/dist/ai/semantic-router-factory/create-semantic-router.test.d.ts +0 -2
  92. package/dist/ai/semantic-router-factory/create-semantic-router.test.d.ts.map +0 -1
  93. package/dist/ai/semantic-router-factory/create-semantic-router.test.js +0 -68
  94. package/dist/ai/semantic-router-factory/create-semantic-router.test.js.map +0 -1
  95. package/dist/ai/tools/retriever-tool/retriever-tool.test.d.ts +0 -2
  96. package/dist/ai/tools/retriever-tool/retriever-tool.test.d.ts.map +0 -1
  97. package/dist/ai/tools/retriever-tool/retriever-tool.test.js +0 -119
  98. package/dist/ai/tools/retriever-tool/retriever-tool.test.js.map +0 -1
  99. package/dist/ai/utils/__tests__/chunk-arr.test.d.ts +0 -2
  100. package/dist/ai/utils/__tests__/chunk-arr.test.d.ts.map +0 -1
  101. package/dist/ai/utils/__tests__/chunk-arr.test.js +0 -37
  102. package/dist/ai/utils/__tests__/chunk-arr.test.js.map +0 -1
  103. package/dist/ai/utils/__tests__/doc-relevance-checker.test.d.ts +0 -2
  104. package/dist/ai/utils/__tests__/doc-relevance-checker.test.d.ts.map +0 -1
  105. package/dist/ai/utils/__tests__/doc-relevance-checker.test.js +0 -80
  106. package/dist/ai/utils/__tests__/doc-relevance-checker.test.js.map +0 -1
  107. package/dist/ai/utils/__tests__/doc-splitter.test.d.ts +0 -2
  108. package/dist/ai/utils/__tests__/doc-splitter.test.d.ts.map +0 -1
  109. package/dist/ai/utils/__tests__/doc-splitter.test.js +0 -35
  110. package/dist/ai/utils/__tests__/doc-splitter.test.js.map +0 -1
  111. package/dist/ai/utils/__tests__/filter-similarity-search-results.test.d.ts +0 -2
  112. package/dist/ai/utils/__tests__/filter-similarity-search-results.test.d.ts.map +0 -1
  113. package/dist/ai/utils/__tests__/filter-similarity-search-results.test.js +0 -47
  114. package/dist/ai/utils/__tests__/filter-similarity-search-results.test.js.map +0 -1
  115. package/dist/ai/utils/__tests__/json-to-yaml.test.d.ts +0 -2
  116. package/dist/ai/utils/__tests__/json-to-yaml.test.d.ts.map +0 -1
  117. package/dist/ai/utils/__tests__/json-to-yaml.test.js +0 -63
  118. package/dist/ai/utils/__tests__/json-to-yaml.test.js.map +0 -1
  119. package/dist/ai/utils/__tests__/stringify-docs.test.d.ts +0 -2
  120. package/dist/ai/utils/__tests__/stringify-docs.test.d.ts.map +0 -1
  121. package/dist/ai/utils/__tests__/stringify-docs.test.js +0 -54
  122. package/dist/ai/utils/__tests__/stringify-docs.test.js.map +0 -1
  123. package/dist/services/env/env-service.test.d.ts +0 -2
  124. package/dist/services/env/env-service.test.d.ts.map +0 -1
  125. package/dist/services/env/env-service.test.js +0 -99
  126. package/dist/services/env/env-service.test.js.map +0 -1
  127. package/jest.config.js +0 -6
@@ -1 +1 @@
1
- {"version":3,"file":"session-manager.service.d.ts","sourceRoot":"","sources":["../../../src/services/session-manager/session-manager.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE1C,OAAO,EAAE,mBAAmB,EAAE,MAAM,2CAA2C,CAAC;AAChF,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,oBAAoB,EACzB,KAAK,4BAA4B,EACjC,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EACxB,KAAK,2BAA2B,EACjC,MAAM,UAAU,CAAC;AAElB,MAAM,WAAW,oBAAoB;IACnC,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;CACrD;AAED,qBAAa,qBAAqB;IAE9B,OAAO,CAAC,QAAQ,CAAC,WAAW;aACZ,YAAY;IAC5B,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAC;gBAFpB,WAAW,EAAE,oBAAoB,EAClC,YAAY,gBAA8B,EACzC,mBAAmB,CAAC,EAAE,mBAAmB,YAAA;IAGrD,mBAAmB,CAAC,EACzB,eAAe,GAChB,EAAE;QACD,eAAe,EAAE,MAAM,CAAC;KACzB,GAAG,GAAG,MAAM,IAAI,MAAM,EAAE;YAIX,kBAAkB;IAsEnB,wBAAwB,CAAC,EACpC,SAAS,EACT,GAAG,EACH,kBAAkB,GACnB,EAAE;QACD,SAAS,EAAE,MAAM,CAAC;QAClB,GAAG,EAAE,MAAM,CAAC;QACZ,kBAAkB,EAAE,MAAM,CAAC;KAC5B,GAAG,OAAO,CAAC,IAAI,CAAC;IAQJ,cAAc,CAAC,EAC1B,SAAS,EACT,GAAG,EACH,QAAQ,EACR,eAAe,EACf,UAAU,EACV,MAAM,EAAE,OAAO,EACf,kBAAkB,EAClB,SAAS,EACT,WAAW,EACX,aAAa,GACd,EAAE;QACD,SAAS,EAAE,MAAM,CAAC;QAClB,GAAG,EAAE,MAAM,CAAC;QACZ,QAAQ,EAAE,MAAM,EAAE,CAAC;QACnB,eAAe,EAAE,MAAM,CAAC;QACxB,UAAU,EAAE,MAAM,CAAC;QACnB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAC5B,SAAS,EAAE,MAAM,CAAC;QAClB,WAAW,CAAC,EAAE,eAAe,CAAC;QAC9B,aAAa,CAAC,EAAE,MAAM,CAAC;KACxB,GAAG,OAAO,CAAC,WAAW,CAAC;IAwFX,UAAU,CACrB,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,MAAM,EACX,eAAe,GAAE,OAAc,GAC9B,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC;IAuDtB,YAAY,CACvB,eAAe,EAAE,mBAAmB,GACnC,OAAO,CAAC,2BAA2B,CAAC;IAsD1B,aAAa,CACxB,gBAAgB,EAAE,oBAAoB,GACrC,OAAO,CAAC,4BAA4B,CAAC;IAgD3B,aAAa,CACxB,gBAAgB,EAAE,oBAAoB,GACrC,OAAO,CAAC,IAAI,CAAC;CAMjB"}
1
+ {"version":3,"file":"session-manager.service.d.ts","sourceRoot":"","sources":["../../../src/services/session-manager/session-manager.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE/C,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,2CAA2C,CAAC;AACrF,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,oBAAoB,EACzB,KAAK,4BAA4B,EACjC,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EACxB,KAAK,2BAA2B,EACjC,MAAM,UAAU,CAAC;AAElB,MAAM,WAAW,oBAAoB;IACnC,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;CACrD;AAED,qBAAa,qBAAqB;IAE9B,OAAO,CAAC,QAAQ,CAAC,WAAW;aACZ,YAAY;IAC5B,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAC;gBAFpB,WAAW,EAAE,oBAAoB,EAClC,YAAY,gBAA8B,EACzC,mBAAmB,CAAC,EAAE,mBAAmB,YAAA;IAGrD,mBAAmB,CAAC,EACzB,eAAe,GAChB,EAAE;QACD,eAAe,EAAE,MAAM,CAAC;KACzB,GAAG,GAAG,MAAM,IAAI,MAAM,EAAE;YAIX,kBAAkB;IAsEnB,wBAAwB,CAAC,EACpC,SAAS,EACT,GAAG,EACH,kBAAkB,GACnB,EAAE;QACD,SAAS,EAAE,MAAM,CAAC;QAClB,GAAG,EAAE,MAAM,CAAC;QACZ,kBAAkB,EAAE,MAAM,CAAC;KAC5B,GAAG,OAAO,CAAC,IAAI,CAAC;IAQJ,cAAc,CAAC,EAC1B,SAAS,EACT,GAAG,EACH,QAAQ,EACR,eAAe,EACf,UAAU,EACV,MAAM,EAAE,OAAO,EACf,kBAAkB,EAClB,SAAS,EACT,WAAW,EACX,aAAa,GACd,EAAE;QACD,SAAS,EAAE,MAAM,CAAC;QAClB,GAAG,EAAE,MAAM,CAAC;QACZ,QAAQ,EAAE,MAAM,EAAE,CAAC;QACnB,eAAe,EAAE,MAAM,CAAC;QACxB,UAAU,EAAE,MAAM,CAAC;QACnB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAC5B,SAAS,EAAE,MAAM,CAAC;QAClB,WAAW,CAAC,EAAE,eAAe,CAAC;QAC9B,aAAa,CAAC,EAAE,MAAM,CAAC;KACxB,GAAG,OAAO,CAAC,WAAW,CAAC;IAwFX,UAAU,CACrB,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,MAAM,EACX,eAAe,GAAE,OAAc,GAC9B,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC;IAuDtB,YAAY,CACvB,eAAe,EAAE,mBAAmB,GACnC,OAAO,CAAC,2BAA2B,CAAC;IAsD1B,aAAa,CACxB,gBAAgB,EAAE,oBAAoB,GACrC,OAAO,CAAC,4BAA4B,CAAC;IAkD3B,aAAa,CACxB,gBAAgB,EAAE,oBAAoB,GACrC,OAAO,CAAC,IAAI,CAAC;CAMjB"}
@@ -73,7 +73,7 @@ ___________________________________________________________
73
73
  ${messages.join('\n\n')}
74
74
  </messages>
75
75
  `);
76
- const title = response.content.toString();
76
+ const title = String(response.content);
77
77
  return title;
78
78
  }
79
79
  async updateLastProcessedCount({ sessionId, did, lastProcessedCount, }) {
@@ -201,7 +201,8 @@ ___________________________________________________________
201
201
  return { sessions, total };
202
202
  }
203
203
  async createSession(createSessionDto) {
204
- const userHomeServer = createSessionDto.homeServer || await getMatrixHomeServerCroppedForDid(createSessionDto.did);
204
+ const userHomeServer = createSessionDto.homeServer ||
205
+ (await getMatrixHomeServerCroppedForDid(createSessionDto.did));
205
206
  const { roomId } = await this.matrixManger.getOracleRoomIdWithHomeServer({
206
207
  userDid: createSessionDto.did,
207
208
  oracleEntityDid: createSessionDto.oracleEntityDid,
@@ -1 +1 @@
1
- {"version":3,"file":"session-manager.service.js","sourceRoot":"","sources":["../../../src/services/session-manager/session-manager.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session-manager.service.js","sourceRoot":"","sources":["../../../src/services/session-manager/session-manager.service.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ixo/common",
3
- "version": "1.1.0",
3
+ "version": "1.1.1",
4
4
  "private": false,
5
5
  "publishConfig": {
6
6
  "access": "public"
@@ -24,23 +24,19 @@
24
24
  }
25
25
  },
26
26
  "devDependencies": {
27
- "@jest/types": "^29.6.3",
28
27
  "@langchain/langgraph-checkpoint-validation": "^1.0.0",
29
28
  "@testcontainers/postgresql": "^10.16.0",
30
29
  "@types/better-sqlite3": "^7.6.13",
31
- "@types/jest": "^29.5.14",
32
30
  "@types/node": "^22.7.3",
33
31
  "@types/store": "^2.0.5",
34
32
  "better-sqlite3": "^12.4.6",
35
- "jest": "^29.7.0",
36
33
  "testcontainers": "^10.16.0",
37
- "ts-jest": "^29.2.5",
38
34
  "typescript": "^5.3.3",
39
- "@ixo/eslint-config": "1.0.0",
40
35
  "@ixo/data-store": "^1.0.1",
41
- "@ixo/jest-config": "0.0.0",
36
+ "@ixo/eslint-config": "2.0.0",
42
37
  "@ixo/typescript-config": "1.0.0",
43
- "@ixo/oracles-events": "^1.0.1"
38
+ "@ixo/vitest-config": "1.0.0",
39
+ "@ixo/oracles-events": "^1.0.3"
44
40
  },
45
41
  "dependencies": {
46
42
  "@cosmjs/proto-signing": "^0.33.0",
@@ -71,11 +67,11 @@
71
67
  "store": "^2.0.12",
72
68
  "zod": "^4.1.12",
73
69
  "@ixo/logger": "0.0.2",
74
- "@ixo/matrix": "1.1.0",
70
+ "@ixo/matrix": "1.2.1",
75
71
  "@ixo/oracles-chain-client": "1.2.0"
76
72
  },
77
73
  "scripts": {
78
74
  "build": "tsc && tsc-alias",
79
- "test": "jest"
75
+ "test": "vitest run"
80
76
  }
81
77
  }
package/src/ai/index.ts CHANGED
@@ -5,4 +5,4 @@ export * from './semantic-router-factory/index.js';
5
5
  export * from './tools/index.js';
6
6
  export * from './types.js';
7
7
  export * from './utils/index.js';
8
- export { zodResponseFormat } from 'openai/helpers/zod';
8
+ export { zodResponseFormat } from 'openai/helpers/zod';
@@ -6,7 +6,7 @@ const originalEnv = process.env;
6
6
 
7
7
  describe('OpenAI Models', () => {
8
8
  beforeEach(() => {
9
- jest.resetModules();
9
+ vi.resetModules();
10
10
  process.env = { ...originalEnv };
11
11
  process.env.OPENAI_API_KEY = 'test-api-key';
12
12
  });
@@ -21,8 +21,7 @@ describe('OpenAI Models', () => {
21
21
 
22
22
  expect(model).toBeInstanceOf(ChatOpenAI);
23
23
  expect(model).toHaveProperty('temperature', 0.2);
24
- expect(model).toHaveProperty('modelName', 'gpt-4o-mini');
25
- expect(model).toHaveProperty('apiKey', 'test-api-key');
24
+ expect(model).toHaveProperty('model', 'gpt-4o-mini');
26
25
  });
27
26
 
28
27
  it('should override default parameters when provided', () => {
@@ -36,8 +35,7 @@ describe('OpenAI Models', () => {
36
35
 
37
36
  expect(model).toBeInstanceOf(ChatOpenAI);
38
37
  expect(model).toHaveProperty('temperature', 0.8);
39
- expect(model).toHaveProperty('modelName', 'gpt-4');
40
- expect(model).toHaveProperty('apiKey', 'custom-api-key');
38
+ expect(model).toHaveProperty('model', 'gpt-4');
41
39
  });
42
40
  });
43
41
 
@@ -62,11 +60,12 @@ describe('OpenAI Models', () => {
62
60
  });
63
61
 
64
62
  describe('Error handling', () => {
65
- it('should throw an error when OPENAI_API_KEY is not set', () => {
63
+ it('should still create model when OPENAI_API_KEY is not set (validation deferred to call)', () => {
66
64
  delete process.env.OPENAI_API_KEY;
67
65
 
68
- expect(() => getChatOpenAiModel()).toThrow();
69
- expect(() => getOpenAiEmbeddings()).toThrow();
66
+ // Newer @langchain/openai defers API key validation to invocation time
67
+ const model = getChatOpenAiModel();
68
+ expect(model).toBeInstanceOf(ChatOpenAI);
70
69
  });
71
70
  });
72
71
  });
@@ -1,13 +1,16 @@
1
1
  import { Logger } from '@ixo/logger';
2
- import { BaseMessage } from '@langchain/core/messages';
2
+ import { type BaseMessage } from '@langchain/core/messages';
3
3
  import {
4
4
  ChatPromptTemplate,
5
5
  MessagesPlaceholder,
6
6
  } from '@langchain/core/prompts';
7
- import { RunnableConfig } from '@langchain/core/runnables';
8
- import { StructuredTool, Tool } from '@langchain/core/tools';
7
+ import { type RunnableConfig } from '@langchain/core/runnables';
8
+ import { type StructuredTool, type Tool } from '@langchain/core/tools';
9
9
  import { getChatOpenAiModel } from 'src/ai/models/openai.js';
10
- import { GENERIC_CHAT_PROMPT, InputVariables } from './generic-chat.prompt.js';
10
+ import {
11
+ GENERIC_CHAT_PROMPT,
12
+ type InputVariables,
13
+ } from './generic-chat.prompt.js';
11
14
 
12
15
  type StateWithMessages<S extends object> = {
13
16
  messages: BaseMessage[];
@@ -1 +1 @@
1
- export * from './generic-chat.node.js';
1
+ export * from './generic-chat.node.js';
@@ -1,3 +1,3 @@
1
1
  export * from './create-fake-node.js';
2
2
  export * from './find-docs/index.js';
3
- export * from './generic-chat/index.js';
3
+ export * from './generic-chat/index.js';
@@ -1,9 +1,12 @@
1
1
  import { createSemanticRouter } from './create-semantic-router.js';
2
2
 
3
- const parse = jest.fn();
4
- const create = jest.fn();
5
- jest.mock('openai', () => ({
6
- OpenAI: jest.fn().mockImplementation(() => {
3
+ const parse = vi.fn();
4
+ const create = vi.fn();
5
+ vi.mock('langfuse', () => ({
6
+ observeOpenAI: vi.fn((client: unknown) => client),
7
+ }));
8
+ vi.mock('openai', () => ({
9
+ OpenAI: vi.fn().mockImplementation(() => {
7
10
  function fn(): unknown {
8
11
  return {};
9
12
  }
@@ -15,7 +18,7 @@ jest.mock('openai', () => ({
15
18
  };
16
19
 
17
20
  fn.chat = {
18
- completions: { create },
21
+ completions: { create, parse },
19
22
  };
20
23
  return fn;
21
24
  }),
@@ -1,15 +1,15 @@
1
1
  import { Logger } from '@ixo/logger';
2
2
  import { PromptTemplate } from '@langchain/core/prompts';
3
- import { LangfuseConfig, observeOpenAI } from 'langfuse';
3
+ import { type LangfuseConfig, observeOpenAI } from 'langfuse';
4
4
  import { OpenAI } from 'openai';
5
5
  import { zodResponseFormat } from 'openai/helpers/zod';
6
- import z from 'zod';
6
+ import z from 'zod';
7
7
  import { type EnsureKeys } from '../types.js';
8
8
  import { jsonToYaml } from '../utils/index.js';
9
9
  import { semanticRouterPrompt } from './semantic-router-prompt.js';
10
10
  import { validateRoutes } from './validate-routes.js';
11
- import { APIPromise } from 'openai/index.js';
12
- import { ParsedChatCompletion } from 'openai/resources/chat/completions.mjs';
11
+ import { type APIPromise } from 'openai/index.js';
12
+ import { type ParsedChatCompletion } from 'openai/resources/chat/completions.mjs';
13
13
 
14
14
  /**
15
15
  * Creates a semantic router that resolves the path based on the given routes and basedOn value.
@@ -45,7 +45,10 @@ export const createSemanticRouter = <
45
45
  ) => Promise<keyof R>) => {
46
46
  const keys = validateRoutes(routes, basedOn);
47
47
  const schema = z.object({
48
- nextRoute: z.enum(keys as [string, ...string[]], 'The routes that will be used to resolve the path'),
48
+ nextRoute: z.enum(
49
+ keys as [string, ...string[]],
50
+ 'The routes that will be used to resolve the path',
51
+ ),
49
52
  });
50
53
  return async <T extends Record<string, unknown>>(
51
54
  state: EnsureKeys<T, K>,
@@ -1,7 +1,7 @@
1
1
  import { callFrontendTool } from './frontend-tool-caller.js';
2
2
 
3
3
  export interface AgActionResult {
4
- result?: any;
4
+ result?: unknown;
5
5
  error?: string;
6
6
  success: boolean;
7
7
  }
@@ -10,7 +10,7 @@ export interface IAgActionCallerParams {
10
10
  sessionId: string;
11
11
  toolCallId: string;
12
12
  toolName: string;
13
- args: any;
13
+ args: Record<string, unknown>;
14
14
  timeout?: number;
15
15
  }
16
16
 
@@ -25,7 +25,7 @@ export async function callAgAction({
25
25
  toolName,
26
26
  args,
27
27
  timeout = 10000, // 10 seconds for UI actions
28
- }: IAgActionCallerParams): Promise<any> {
28
+ }: IAgActionCallerParams): Promise<unknown> {
29
29
  return callFrontendTool({
30
30
  sessionId,
31
31
  toolId: toolCallId,
@@ -1,5 +1,5 @@
1
1
  import { tool } from '@langchain/core/tools';
2
- import z from 'zod';
2
+ import z from 'zod';
3
3
  import { jsonToYaml } from '../../utils/json-to-yaml.js';
4
4
 
5
5
  export type RequestPayload = {
@@ -65,9 +65,11 @@ export const askIXOGuruTool = tool(callGuruApi, {
65
65
  description:
66
66
  'Ask the IXO Guru AI a question - IXO guru has access to internal knowledge base of IXO organization this tool will return the answer and the session ID to use for chat history if you want to continue a conversation within the same session send the same session ID otherwise a new session ID',
67
67
  schema: z.object({
68
- question: z.string( 'The question to ask the IXO Guru AI',),
68
+ question: z.string('The question to ask the IXO Guru AI'),
69
69
  sessionId: z
70
- .string( 'The session ID to use for chat history if you want to continue a conversation within the same session send the same session ID otherwise a new session ID',)
71
- .uuid( 'Session ID must be a valid UUID',),
70
+ .string(
71
+ 'The session ID to use for chat history if you want to continue a conversation within the same session send the same session ID otherwise a new session ID',
72
+ )
73
+ .uuid('Session ID must be a valid UUID'),
72
74
  }),
73
75
  });
@@ -1,7 +1,7 @@
1
1
  import { callFrontendTool } from './frontend-tool-caller.js';
2
2
 
3
3
  export interface BrowserToolResult {
4
- result?: any;
4
+ result?: unknown;
5
5
  error?: string;
6
6
  success: boolean;
7
7
  }
@@ -10,7 +10,7 @@ export interface IBrowserToolCallerParams {
10
10
  sessionId: string;
11
11
  toolCallId: string;
12
12
  toolName: string;
13
- args: any;
13
+ args: Record<string, unknown>;
14
14
  timeout?: number;
15
15
  }
16
16
 
@@ -25,7 +25,7 @@ export async function callBrowserTool({
25
25
  toolName,
26
26
  args,
27
27
  timeout = 15000,
28
- }: IBrowserToolCallerParams): Promise<any> {
28
+ }: IBrowserToolCallerParams): Promise<unknown> {
29
29
  return callFrontendTool({
30
30
  sessionId,
31
31
  toolId: toolCallId,
@@ -6,7 +6,7 @@ export interface IFrontendToolCallerParams {
6
6
  sessionId: string;
7
7
  toolId: string;
8
8
  toolName: string;
9
- args: any;
9
+ args: Record<string, unknown>;
10
10
  toolType: 'browser' | 'agui';
11
11
  timeout?: number;
12
12
  }
@@ -24,7 +24,7 @@ export async function callFrontendTool({
24
24
  args,
25
25
  toolType,
26
26
  timeout = 15000,
27
- }: IFrontendToolCallerParams): Promise<any> {
27
+ }: IFrontendToolCallerParams): Promise<unknown> {
28
28
  // Step 1: Emit appropriate event based on tool type
29
29
  if (toolType === 'browser') {
30
30
  new BrowserToolCallEvent({
@@ -42,7 +42,7 @@ export async function callFrontendTool({
42
42
  toolName,
43
43
  args,
44
44
  status: 'isRunning',
45
- } as any).emit();
45
+ }).emit();
46
46
  }
47
47
 
48
48
  // Step 2: Wait for result via rootEventEmitter
@@ -50,9 +50,14 @@ export async function callFrontendTool({
50
50
  toolType === 'browser' ? 'browser_tool_result' : 'action_call_result';
51
51
 
52
52
  return await new Promise((resolve, reject) => {
53
+ // eslint-disable-next-line prefer-const -- assigned after handler definition due to mutual reference
53
54
  let timeoutHandle: NodeJS.Timeout;
54
-
55
- const resultHandler = (data: any) => {
55
+ const resultHandler = (...args: unknown[]) => {
56
+ const data = args[0] as {
57
+ toolCallId: string;
58
+ error?: string;
59
+ result?: Record<string, unknown>;
60
+ };
56
61
  const receivedId = data.toolCallId;
57
62
  if (receivedId === toolId) {
58
63
  clearTimeout(timeoutHandle);
@@ -63,7 +68,7 @@ export async function callFrontendTool({
63
68
  reject(new Error(data.error));
64
69
  } else if (toolType === 'agui' && data.result?.success === false) {
65
70
  // AG-UI specific error handling
66
- reject(new Error(data.result.error || 'Action failed'));
71
+ reject(new Error((data.result.error as string) || 'Action failed'));
67
72
  } else {
68
73
  resolve(data.result);
69
74
  }
@@ -3,11 +3,10 @@ import { MatrixManager } from '@ixo/matrix';
3
3
 
4
4
  const matrixManager = MatrixManager.getInstance();
5
5
 
6
-
7
6
  interface IAction {
8
7
  name: string;
9
- args: Record<string, any>;
10
- result: any;
8
+ args: Record<string, unknown>;
9
+ result: unknown;
11
10
  error?: string;
12
11
  success: boolean;
13
12
  }
@@ -1,4 +1,4 @@
1
- import { IRunnableConfigWithRequiredFields } from '@ixo/matrix';
1
+ import { type IRunnableConfigWithRequiredFields } from '@ixo/matrix';
2
2
  import { tool } from '@langchain/core/tools';
3
3
  import { callAgAction } from './action-caller.js';
4
4
  import { logActionToMatrix } from './log-action-to-matrix.js';
@@ -6,7 +6,7 @@ import { logActionToMatrix } from './log-action-to-matrix.js';
6
6
  interface IParseAgActionParams {
7
7
  name: string;
8
8
  description: string;
9
- schema: Record<string, any>;
9
+ schema: Record<string, unknown>;
10
10
  }
11
11
 
12
12
  // Helper function to parse AG-UI action into LangChain tool
@@ -27,14 +27,14 @@ export function parserActionTool(action: IParseAgActionParams) {
27
27
  sessionId,
28
28
  toolCallId: `ag_${requestId}`,
29
29
  toolName: name,
30
- args: input,
30
+ args: input as Record<string, unknown>,
31
31
  timeout: 5000, // 5 seconds
32
32
  });
33
33
 
34
34
  if (configs?.matrix.roomId) {
35
- logActionToMatrix(
35
+ void logActionToMatrix(
36
36
  {
37
- name: name,
37
+ name,
38
38
  args: input as Record<string, unknown>,
39
39
  result,
40
40
  success: true,
@@ -50,9 +50,9 @@ export function parserActionTool(action: IParseAgActionParams) {
50
50
  return JSON.stringify(result);
51
51
  },
52
52
  {
53
- name: name,
54
- description: description,
55
- schema: schema,
53
+ name,
54
+ description,
55
+ schema,
56
56
  metadata: {
57
57
  actionTool: true,
58
58
  },
@@ -1,11 +1,11 @@
1
- import { IRunnableConfigWithRequiredFields } from '@ixo/matrix';
1
+ import { type IRunnableConfigWithRequiredFields } from '@ixo/matrix';
2
2
  import { tool } from '@langchain/core/tools';
3
3
  import { callBrowserTool } from './browser-tool-caller.js';
4
4
  import { logActionToMatrix } from './log-action-to-matrix.js';
5
5
 
6
6
  interface IParserBrowserToolParams {
7
7
  description: string;
8
- schema: Record<string, any>;
8
+ schema: Record<string, unknown>;
9
9
  toolName: string;
10
10
  }
11
11
 
@@ -23,12 +23,12 @@ export function parserBrowserTool(params: IParserBrowserToolParams) {
23
23
  const result = await callBrowserTool({
24
24
  sessionId,
25
25
  toolName,
26
- args: input,
26
+ args: input as Record<string, unknown>,
27
27
  toolCallId: `tc-${requestId}`,
28
28
  });
29
29
 
30
30
  if (configs?.matrix.roomId) {
31
- logActionToMatrix(
31
+ void logActionToMatrix(
32
32
  {
33
33
  name: toolName,
34
34
  args: input as Record<string, unknown>,
@@ -6,36 +6,36 @@ import { retrieverToolFactory } from './retriever-tool.js';
6
6
  const fakeModel = new FakeChatModel({});
7
7
 
8
8
  // Mock the logger to prevent console output during tests
9
- jest.mock('@ixo/logger', () => ({
9
+ vi.mock('@ixo/logger', () => ({
10
10
  Logger: {
11
- error: jest.fn(),
11
+ error: vi.fn(),
12
12
  },
13
13
  }));
14
14
 
15
15
  // Mock the OpenAI model
16
- jest.mock('../../models/openai', () => ({
16
+ vi.mock('../../models/openai', () => ({
17
17
  getChatOpenAiModel: () => fakeModel,
18
18
  }));
19
19
 
20
20
  // Mock the doc relevance checker
21
- jest.mock('../../utils/doc-relevance-checker', () => ({
22
- __esModule: true,
23
- default: jest.fn().mockResolvedValue(true),
21
+ vi.mock('../../utils/doc-relevance-checker', () => ({
22
+ default: vi.fn().mockResolvedValue(true),
24
23
  }));
25
- const fakeDocRelevanceChecker = jest.fn().mockResolvedValue(true);
24
+ const fakeDocRelevanceChecker = vi.fn().mockResolvedValue(true);
26
25
 
27
- jest
28
- .spyOn(require('../../utils/doc-relevance-checker'), 'default')
29
- .mockImplementation(fakeDocRelevanceChecker);
26
+ vi.spyOn(
27
+ await import('../../utils/doc-relevance-checker'),
28
+ 'default',
29
+ ).mockImplementation(fakeDocRelevanceChecker);
30
30
 
31
31
  describe('RetrieverTool', () => {
32
- let mockStore: jest.Mocked<VectorDBDataStore>;
33
- let mockModel: FakeChatModel = new FakeChatModel({});
32
+ let mockStore: { queryWithSimilarity: ReturnType<typeof vi.fn> };
33
+ const mockModel: FakeChatModel = new FakeChatModel({});
34
34
 
35
35
  beforeEach(() => {
36
36
  mockStore = {
37
- queryWithSimilarity: jest.fn(),
38
- } as unknown as jest.Mocked<VectorDBDataStore>;
37
+ queryWithSimilarity: vi.fn(),
38
+ };
39
39
  });
40
40
 
41
41
  it('should retrieve documents with default settings', async () => {
@@ -46,7 +46,9 @@ describe('RetrieverTool', () => {
46
46
 
47
47
  mockStore.queryWithSimilarity.mockResolvedValue(mockDocs);
48
48
 
49
- const tool = retrieverToolFactory({ store: mockStore });
49
+ const tool = retrieverToolFactory({
50
+ store: mockStore as unknown as VectorDBDataStore,
51
+ });
50
52
  const result = (await tool.invoke({ query: 'test query' })) as Document[];
51
53
 
52
54
  expect(mockStore.queryWithSimilarity).toHaveBeenCalledWith('test query', {
@@ -76,7 +78,7 @@ describe('RetrieverTool', () => {
76
78
  const requestId = 'test-request-id';
77
79
 
78
80
  const tool = retrieverToolFactory({
79
- store: mockStore,
81
+ store: mockStore as unknown as VectorDBDataStore,
80
82
  map: resultsMap,
81
83
  requestId,
82
84
  });
@@ -89,7 +91,9 @@ describe('RetrieverTool', () => {
89
91
  it('should return undefined when no documents found', async () => {
90
92
  mockStore.queryWithSimilarity.mockResolvedValue([]);
91
93
 
92
- const tool = retrieverToolFactory({ store: mockStore });
94
+ const tool = retrieverToolFactory({
95
+ store: mockStore as unknown as VectorDBDataStore,
96
+ });
93
97
  const result = await tool.invoke({ query: 'test query' });
94
98
 
95
99
  expect(result).toBeUndefined();
@@ -102,7 +106,7 @@ describe('RetrieverTool', () => {
102
106
  mockStore.queryWithSimilarity.mockResolvedValue(mockDocs);
103
107
 
104
108
  const tool = retrieverToolFactory({
105
- store: mockStore,
109
+ store: mockStore as unknown as VectorDBDataStore,
106
110
  similarThreshold: 0.5,
107
111
  model: mockModel,
108
112
  });
@@ -120,12 +124,15 @@ describe('RetrieverTool', () => {
120
124
  mockStore.queryWithSimilarity.mockResolvedValue(mockDocs);
121
125
 
122
126
  // Mock the relevance checker to throw an error
123
- jest
124
- .requireMock('../../utils/doc-relevance-checker')
125
- .default.mockRejectedValueOnce(new Error('Test error'));
127
+ const docRelevanceModule = await import(
128
+ '../../utils/doc-relevance-checker'
129
+ );
130
+ (
131
+ docRelevanceModule.default as ReturnType<typeof vi.fn>
132
+ ).mockRejectedValueOnce(new Error('Test error'));
126
133
 
127
134
  const tool = retrieverToolFactory({
128
- store: mockStore,
135
+ store: mockStore as unknown as VectorDBDataStore,
129
136
  similarThreshold: 0.5,
130
137
  model: mockModel,
131
138
  });
@@ -142,7 +149,7 @@ describe('RetrieverTool', () => {
142
149
  mockStore.queryWithSimilarity.mockResolvedValue(mockDocs);
143
150
  const filters = { category: 'test' };
144
151
  const tool = retrieverToolFactory({
145
- store: mockStore,
152
+ store: mockStore as unknown as VectorDBDataStore,
146
153
  filters,
147
154
  });
148
155
 
@@ -2,7 +2,7 @@ import { PlaywrightWebBaseLoader } from '@langchain/community/document_loaders/w
2
2
  import { HtmlToTextTransformer } from '@langchain/community/document_transformers/html_to_text';
3
3
  import { Document } from '@langchain/core/documents';
4
4
  import { PromptTemplate } from '@langchain/core/prompts';
5
- import { ChatOpenAI } from '@langchain/openai';
5
+ import { type ChatOpenAI } from '@langchain/openai';
6
6
  import { createAgent } from 'langchain';
7
7
 
8
8
  export const scrapeWebPage = async (url: string) => {
@@ -4,18 +4,20 @@ import { ChatPromptTemplate } from '@langchain/core/prompts';
4
4
  import { FakeChatModel } from '@langchain/core/utils/testing';
5
5
  import checkDocRelevance from '../doc-relevance-checker.js';
6
6
 
7
- jest.spyOn(ChatPromptTemplate, 'fromTemplate');
7
+ vi.spyOn(ChatPromptTemplate, 'fromTemplate');
8
8
 
9
9
  describe('checkDocRelevance', () => {
10
10
  // Create a mock model that simulates relevance checking
11
11
  const createMockModel = (returnValue: boolean): BaseChatModel => {
12
12
  const mockModel = new FakeChatModel({});
13
- mockModel.withStructuredOutput = jest.fn().mockReturnValue({
13
+ mockModel.withStructuredOutput = vi.fn().mockReturnValue({
14
14
  pipe: () => ({
15
15
  invoke: async () => ({ answer: returnValue }),
16
16
  }),
17
17
  });
18
- (ChatPromptTemplate.fromTemplate as jest.Mock).mockReturnValue({
18
+ (
19
+ ChatPromptTemplate.fromTemplate as ReturnType<typeof vi.fn>
20
+ ).mockReturnValue({
19
21
  pipe: () => ({
20
22
  invoke: async () => ({ answer: returnValue }),
21
23
  }),
@@ -30,7 +30,7 @@ describe('jsonToYaml', () => {
30
30
  const json = {
31
31
  fruits: ['apple', 'banana', 'orange'],
32
32
  };
33
- const expected = 'fruits:\n 0: apple\n 1: banana\n 2: orange';
33
+ const expected = 'fruits:\n - apple\n - banana\n - orange';
34
34
  expect(jsonToYaml(json)).toBe(expected);
35
35
  });
36
36
 
@@ -1,7 +1,7 @@
1
1
  import { type Document } from '@langchain/core/documents';
2
2
  import { RecursiveCharacterTextSplitter } from '@langchain/textsplitters';
3
3
 
4
- import z from 'zod';
4
+ import z from 'zod';
5
5
 
6
6
  const splitter = new RecursiveCharacterTextSplitter();
7
7