@nitrostack/core 1.0.17 → 1.1.0-beta.0

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 (199) hide show
  1. package/dist/core/app-decorator.d.ts +5 -0
  2. package/dist/core/app-decorator.d.ts.map +1 -1
  3. package/dist/core/app-decorator.js +2 -1
  4. package/dist/core/app-decorator.js.map +1 -1
  5. package/dist/core/builders.d.ts.map +1 -1
  6. package/dist/core/builders.js +2 -0
  7. package/dist/core/builders.js.map +1 -1
  8. package/dist/core/decorators.d.ts +11 -0
  9. package/dist/core/decorators.d.ts.map +1 -1
  10. package/dist/core/decorators.js.map +1 -1
  11. package/dist/core/health/health-checks.resource.d.ts +4 -3
  12. package/dist/core/health/health-checks.resource.d.ts.map +1 -1
  13. package/dist/core/health/health-checks.resource.js +35 -8
  14. package/dist/core/health/health-checks.resource.js.map +1 -1
  15. package/dist/core/health/health.interface.d.ts +40 -0
  16. package/dist/core/health/health.interface.d.ts.map +1 -0
  17. package/dist/core/health/health.interface.js +2 -0
  18. package/dist/core/health/health.interface.js.map +1 -0
  19. package/dist/core/index.d.ts +11 -2
  20. package/dist/core/index.d.ts.map +1 -1
  21. package/dist/core/index.js +9 -1
  22. package/dist/core/index.js.map +1 -1
  23. package/dist/core/interceptors/data-spillover.interceptor.d.ts +30 -0
  24. package/dist/core/interceptors/data-spillover.interceptor.d.ts.map +1 -0
  25. package/dist/core/interceptors/data-spillover.interceptor.js +174 -0
  26. package/dist/core/interceptors/data-spillover.interceptor.js.map +1 -0
  27. package/dist/core/interceptors/interceptor.decorator.d.ts +17 -8
  28. package/dist/core/interceptors/interceptor.decorator.d.ts.map +1 -1
  29. package/dist/core/interceptors/interceptor.decorator.js +36 -11
  30. package/dist/core/interceptors/interceptor.decorator.js.map +1 -1
  31. package/dist/core/interceptors/interceptor.interface.d.ts +4 -0
  32. package/dist/core/interceptors/interceptor.interface.d.ts.map +1 -1
  33. package/dist/core/interceptors/spillover/fs-spillover.store.d.ts +54 -0
  34. package/dist/core/interceptors/spillover/fs-spillover.store.d.ts.map +1 -0
  35. package/dist/core/interceptors/spillover/fs-spillover.store.js +302 -0
  36. package/dist/core/interceptors/spillover/fs-spillover.store.js.map +1 -0
  37. package/dist/core/interceptors/spillover/index.d.ts +6 -0
  38. package/dist/core/interceptors/spillover/index.d.ts.map +1 -0
  39. package/dist/core/interceptors/spillover/index.js +6 -0
  40. package/dist/core/interceptors/spillover/index.js.map +1 -0
  41. package/dist/core/interceptors/spillover/memory-spillover.store.d.ts +25 -0
  42. package/dist/core/interceptors/spillover/memory-spillover.store.d.ts.map +1 -0
  43. package/dist/core/interceptors/spillover/memory-spillover.store.js +115 -0
  44. package/dist/core/interceptors/spillover/memory-spillover.store.js.map +1 -0
  45. package/dist/core/interceptors/spillover/preview-generator.d.ts +7 -0
  46. package/dist/core/interceptors/spillover/preview-generator.d.ts.map +1 -0
  47. package/dist/core/interceptors/spillover/preview-generator.js +79 -0
  48. package/dist/core/interceptors/spillover/preview-generator.js.map +1 -0
  49. package/dist/core/interceptors/spillover/spillover-store.interface.d.ts +20 -0
  50. package/dist/core/interceptors/spillover/spillover-store.interface.d.ts.map +1 -0
  51. package/dist/core/interceptors/spillover/spillover-store.interface.js +2 -0
  52. package/dist/core/interceptors/spillover/spillover-store.interface.js.map +1 -0
  53. package/dist/core/interceptors/spillover/types.d.ts +71 -0
  54. package/dist/core/interceptors/spillover/types.d.ts.map +1 -0
  55. package/dist/core/interceptors/spillover/types.js +12 -0
  56. package/dist/core/interceptors/spillover/types.js.map +1 -0
  57. package/dist/core/protocol/adapter.d.ts +7 -1
  58. package/dist/core/protocol/adapter.d.ts.map +1 -1
  59. package/dist/core/protocol/modern-v2.adapter.d.ts +95 -2
  60. package/dist/core/protocol/modern-v2.adapter.d.ts.map +1 -1
  61. package/dist/core/protocol/modern-v2.adapter.js +688 -157
  62. package/dist/core/protocol/modern-v2.adapter.js.map +1 -1
  63. package/dist/core/server.d.ts +104 -4
  64. package/dist/core/server.d.ts.map +1 -1
  65. package/dist/core/server.js +450 -44
  66. package/dist/core/server.js.map +1 -1
  67. package/dist/core/task.d.ts.map +1 -1
  68. package/dist/core/task.js +8 -7
  69. package/dist/core/task.js.map +1 -1
  70. package/dist/core/tool.d.ts +12 -3
  71. package/dist/core/tool.d.ts.map +1 -1
  72. package/dist/core/tool.js +21 -3
  73. package/dist/core/tool.js.map +1 -1
  74. package/dist/core/transforms/catalog.transform.d.ts +40 -0
  75. package/dist/core/transforms/catalog.transform.d.ts.map +1 -0
  76. package/dist/core/transforms/catalog.transform.js +52 -0
  77. package/dist/core/transforms/catalog.transform.js.map +1 -0
  78. package/dist/core/transforms/code-mode/code-mode.transform.d.ts +75 -0
  79. package/dist/core/transforms/code-mode/code-mode.transform.d.ts.map +1 -0
  80. package/dist/core/transforms/code-mode/code-mode.transform.js +226 -0
  81. package/dist/core/transforms/code-mode/code-mode.transform.js.map +1 -0
  82. package/dist/core/transforms/code-mode/destructive-guard.d.ts +7 -0
  83. package/dist/core/transforms/code-mode/destructive-guard.d.ts.map +1 -0
  84. package/dist/core/transforms/code-mode/destructive-guard.js +18 -0
  85. package/dist/core/transforms/code-mode/destructive-guard.js.map +1 -0
  86. package/dist/core/transforms/code-mode/guest-evaluator.d.ts +17 -0
  87. package/dist/core/transforms/code-mode/guest-evaluator.d.ts.map +1 -0
  88. package/dist/core/transforms/code-mode/guest-evaluator.js +277 -0
  89. package/dist/core/transforms/code-mode/guest-evaluator.js.map +1 -0
  90. package/dist/core/transforms/code-mode/index.d.ts +11 -0
  91. package/dist/core/transforms/code-mode/index.d.ts.map +1 -0
  92. package/dist/core/transforms/code-mode/index.js +11 -0
  93. package/dist/core/transforms/code-mode/index.js.map +1 -0
  94. package/dist/core/transforms/code-mode/ipc-messages.d.ts +31 -0
  95. package/dist/core/transforms/code-mode/ipc-messages.d.ts.map +1 -0
  96. package/dist/core/transforms/code-mode/ipc-messages.js +2 -0
  97. package/dist/core/transforms/code-mode/ipc-messages.js.map +1 -0
  98. package/dist/core/transforms/code-mode/legible-error.d.ts +8 -0
  99. package/dist/core/transforms/code-mode/legible-error.d.ts.map +1 -0
  100. package/dist/core/transforms/code-mode/legible-error.js +17 -0
  101. package/dist/core/transforms/code-mode/legible-error.js.map +1 -0
  102. package/dist/core/transforms/code-mode/quickjs-wasm.provider.d.ts +25 -0
  103. package/dist/core/transforms/code-mode/quickjs-wasm.provider.d.ts.map +1 -0
  104. package/dist/core/transforms/code-mode/quickjs-wasm.provider.js +31 -0
  105. package/dist/core/transforms/code-mode/quickjs-wasm.provider.js.map +1 -0
  106. package/dist/core/transforms/code-mode/sandbox.interface.d.ts +10 -0
  107. package/dist/core/transforms/code-mode/sandbox.interface.d.ts.map +1 -0
  108. package/dist/core/transforms/code-mode/sandbox.interface.js +2 -0
  109. package/dist/core/transforms/code-mode/sandbox.interface.js.map +1 -0
  110. package/dist/core/transforms/code-mode/sandbox.worker.d.ts +2 -0
  111. package/dist/core/transforms/code-mode/sandbox.worker.d.ts.map +1 -0
  112. package/dist/core/transforms/code-mode/sandbox.worker.js +69 -0
  113. package/dist/core/transforms/code-mode/sandbox.worker.js.map +1 -0
  114. package/dist/core/transforms/code-mode/synthetic-tools.d.ts +23 -0
  115. package/dist/core/transforms/code-mode/synthetic-tools.d.ts.map +1 -0
  116. package/dist/core/transforms/code-mode/synthetic-tools.js +112 -0
  117. package/dist/core/transforms/code-mode/synthetic-tools.js.map +1 -0
  118. package/dist/core/transforms/code-mode/types.d.ts +32 -0
  119. package/dist/core/transforms/code-mode/types.d.ts.map +1 -0
  120. package/dist/core/transforms/code-mode/types.js +2 -0
  121. package/dist/core/transforms/code-mode/types.js.map +1 -0
  122. package/dist/core/transforms/code-mode/worker-pool.d.ts +71 -0
  123. package/dist/core/transforms/code-mode/worker-pool.d.ts.map +1 -0
  124. package/dist/core/transforms/code-mode/worker-pool.js +435 -0
  125. package/dist/core/transforms/code-mode/worker-pool.js.map +1 -0
  126. package/dist/core/transforms/index.d.ts +6 -0
  127. package/dist/core/transforms/index.d.ts.map +1 -0
  128. package/dist/core/transforms/index.js +6 -0
  129. package/dist/core/transforms/index.js.map +1 -0
  130. package/dist/core/transforms/search/base-search.transform.d.ts +59 -0
  131. package/dist/core/transforms/search/base-search.transform.d.ts.map +1 -0
  132. package/dist/core/transforms/search/base-search.transform.js +166 -0
  133. package/dist/core/transforms/search/base-search.transform.js.map +1 -0
  134. package/dist/core/transforms/search/bm25-search.transform.d.ts +27 -0
  135. package/dist/core/transforms/search/bm25-search.transform.d.ts.map +1 -0
  136. package/dist/core/transforms/search/bm25-search.transform.js +37 -0
  137. package/dist/core/transforms/search/bm25-search.transform.js.map +1 -0
  138. package/dist/core/transforms/search/bm25.engine.d.ts +46 -0
  139. package/dist/core/transforms/search/bm25.engine.d.ts.map +1 -0
  140. package/dist/core/transforms/search/bm25.engine.js +160 -0
  141. package/dist/core/transforms/search/bm25.engine.js.map +1 -0
  142. package/dist/core/transforms/search/index.d.ts +9 -0
  143. package/dist/core/transforms/search/index.d.ts.map +1 -0
  144. package/dist/core/transforms/search/index.js +9 -0
  145. package/dist/core/transforms/search/index.js.map +1 -0
  146. package/dist/core/transforms/search/regex-match.worker.d.ts +2 -0
  147. package/dist/core/transforms/search/regex-match.worker.d.ts.map +1 -0
  148. package/dist/core/transforms/search/regex-match.worker.js +19 -0
  149. package/dist/core/transforms/search/regex-match.worker.js.map +1 -0
  150. package/dist/core/transforms/search/regex-search.transform.d.ts +41 -0
  151. package/dist/core/transforms/search/regex-search.transform.d.ts.map +1 -0
  152. package/dist/core/transforms/search/regex-search.transform.js +237 -0
  153. package/dist/core/transforms/search/regex-search.transform.js.map +1 -0
  154. package/dist/core/transforms/search/synthetic-tools.d.ts +11 -0
  155. package/dist/core/transforms/search/synthetic-tools.d.ts.map +1 -0
  156. package/dist/core/transforms/search/synthetic-tools.js +76 -0
  157. package/dist/core/transforms/search/synthetic-tools.js.map +1 -0
  158. package/dist/core/transforms/search/tokenizer.d.ts +11 -0
  159. package/dist/core/transforms/search/tokenizer.d.ts.map +1 -0
  160. package/dist/core/transforms/search/tokenizer.js +38 -0
  161. package/dist/core/transforms/search/tokenizer.js.map +1 -0
  162. package/dist/core/transforms/search/tool-serializer.d.ts +6 -0
  163. package/dist/core/transforms/search/tool-serializer.d.ts.map +1 -0
  164. package/dist/core/transforms/search/tool-serializer.js +41 -0
  165. package/dist/core/transforms/search/tool-serializer.js.map +1 -0
  166. package/dist/core/transforms/search/types.d.ts +36 -0
  167. package/dist/core/transforms/search/types.d.ts.map +1 -0
  168. package/dist/core/transforms/search/types.js +2 -0
  169. package/dist/core/transforms/search/types.js.map +1 -0
  170. package/dist/core/transforms/tool-cache-key.d.ts +15 -0
  171. package/dist/core/transforms/tool-cache-key.d.ts.map +1 -0
  172. package/dist/core/transforms/tool-cache-key.js +61 -0
  173. package/dist/core/transforms/tool-cache-key.js.map +1 -0
  174. package/dist/core/transforms/transform.interface.d.ts +34 -0
  175. package/dist/core/transforms/transform.interface.d.ts.map +1 -0
  176. package/dist/core/transforms/transform.interface.js +2 -0
  177. package/dist/core/transforms/transform.interface.js.map +1 -0
  178. package/dist/core/transforms/validate-tool-arguments.d.ts +10 -0
  179. package/dist/core/transforms/validate-tool-arguments.d.ts.map +1 -0
  180. package/dist/core/transforms/validate-tool-arguments.js +62 -0
  181. package/dist/core/transforms/validate-tool-arguments.js.map +1 -0
  182. package/dist/core/transforms/visibility/index.d.ts +3 -0
  183. package/dist/core/transforms/visibility/index.d.ts.map +1 -0
  184. package/dist/core/transforms/visibility/index.js +3 -0
  185. package/dist/core/transforms/visibility/index.js.map +1 -0
  186. package/dist/core/transforms/visibility/session-store.d.ts +132 -0
  187. package/dist/core/transforms/visibility/session-store.d.ts.map +1 -0
  188. package/dist/core/transforms/visibility/session-store.js +330 -0
  189. package/dist/core/transforms/visibility/session-store.js.map +1 -0
  190. package/dist/core/transforms/visibility/visibility.transform.d.ts +42 -0
  191. package/dist/core/transforms/visibility/visibility.transform.d.ts.map +1 -0
  192. package/dist/core/transforms/visibility/visibility.transform.js +109 -0
  193. package/dist/core/transforms/visibility/visibility.transform.js.map +1 -0
  194. package/dist/core/types.d.ts +60 -0
  195. package/dist/core/types.d.ts.map +1 -1
  196. package/dist/testing/index.d.ts.map +1 -1
  197. package/dist/testing/index.js +3 -0
  198. package/dist/testing/index.js.map +1 -1
  199. package/package.json +8 -2
@@ -0,0 +1 @@
1
+ {"version":3,"file":"worker-pool.js","sourceRoot":"","sources":["../../../../src/core/transforms/code-mode/worker-pool.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ export * from './transform.interface.js';
2
+ export * from './catalog.transform.js';
3
+ export * from './search/index.js';
4
+ export * from './code-mode/index.js';
5
+ export * from './visibility/index.js';
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/transforms/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC"}
@@ -0,0 +1,6 @@
1
+ export * from './transform.interface.js';
2
+ export * from './catalog.transform.js';
3
+ export * from './search/index.js';
4
+ export * from './code-mode/index.js';
5
+ export * from './visibility/index.js';
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/transforms/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC"}
@@ -0,0 +1,59 @@
1
+ import { CatalogTransform } from '../catalog.transform.js';
2
+ import { NextToolHandler, TransformRegistry } from '../transform.interface.js';
3
+ import { Tool } from '../../tool.js';
4
+ import { ExecutionContext } from '../../types.js';
5
+ import { SearchTransformOptions } from './types.js';
6
+ export declare abstract class BaseSearchTransform extends CatalogTransform {
7
+ protected readonly options: Required<SearchTransformOptions>;
8
+ protected rawTools: Map<string, Tool>;
9
+ private cachedTransformedList;
10
+ private lastCatalogHash;
11
+ private registry;
12
+ private readonly rebuilds;
13
+ constructor(options?: SearchTransformOptions);
14
+ onRegister(registry: TransformRegistry): void;
15
+ /**
16
+ * Resolves a tool for the `call_tool` proxy and for filtering search results.
17
+ *
18
+ * Goes through the server's resolution chain so downstream authorization transforms
19
+ * still apply. When no server is attached (standalone use), there is no chain to
20
+ * consult and the locally indexed catalog is the complete picture.
21
+ */
22
+ private readonly resolveThroughChain;
23
+ /**
24
+ * Reshapes the catalog: replaces raw tools with search_tools, call_tool,
25
+ * and any tools explicitly designated as always visible.
26
+ */
27
+ protected applyTransform(tools: Tool[], context?: ExecutionContext): Promise<Tool[]>;
28
+ private rebuildCatalog;
29
+ /**
30
+ * Resolves this transform's own synthetic meta-tools.
31
+ *
32
+ * Everything else defers to the rest of the chain. There is deliberately no
33
+ * fallback to `rawTools`: re-resolving a tool the chain declined would let a
34
+ * caller reach tools that a downstream authorization transform filtered out.
35
+ */
36
+ resolveTool(name: string, next: NextToolHandler, context?: ExecutionContext): Promise<Tool | undefined>;
37
+ private computeCatalogHash;
38
+ /**
39
+ * Creates the synthetic search tool.
40
+ * Can be overridden by subclasses.
41
+ */
42
+ protected createSearchTool(): Tool;
43
+ /**
44
+ * Creates the synthetic call tool.
45
+ * Can be overridden by subclasses.
46
+ */
47
+ protected createCallTool(): Tool;
48
+ /**
49
+ * Diagnostic access to the raw indexed tools.
50
+ */
51
+ getRawTools(): Map<string, Tool>;
52
+ /**
53
+ * Diagnostic access to transform options.
54
+ */
55
+ getOptions(): Readonly<Required<SearchTransformOptions>>;
56
+ protected abstract updateIndex(tools: Tool[], hash: string): Promise<void> | void;
57
+ protected abstract search(query: string, limit: number): Promise<Tool[]>;
58
+ }
59
+ //# sourceMappingURL=base-search.transform.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-search.transform.d.ts","sourceRoot":"","sources":["../../../../src/core/transforms/search/base-search.transform.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAgB,MAAM,yBAAyB,CAAC;AACzE,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC/E,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACrC,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAqB,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAIvE,8BAAsB,mBAAoB,SAAQ,gBAAgB;IAChE,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,sBAAsB,CAAC,CAAC;IAC7D,SAAS,CAAC,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAa;IAClD,OAAO,CAAC,qBAAqB,CAAuB;IACpD,OAAO,CAAC,eAAe,CAAc;IACrC,OAAO,CAAC,QAAQ,CAAkC;IAClD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAsB;gBAEnC,OAAO,GAAE,sBAA2B;IAYhD,UAAU,CAAC,QAAQ,EAAE,iBAAiB,GAAG,IAAI;IAI7C;;;;;;OAMG;IACH,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAQlC;IAEF;;;OAGG;cACa,cAAc,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;YAI5E,cAAc;IA4C5B;;;;;;OAMG;IACG,WAAW,CACf,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,eAAe,EACrB,OAAO,CAAC,EAAE,gBAAgB,GACzB,OAAO,CAAC,IAAI,GAAG,SAAS,CAAC;IAiB5B,OAAO,CAAC,kBAAkB;IAmB1B;;;OAGG;IACH,SAAS,CAAC,gBAAgB,IAAI,IAAI;IAyBlC;;;OAGG;IACH,SAAS,CAAC,cAAc,IAAI,IAAI;IAQhC;;OAEG;IACH,WAAW,IAAI,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC;IAIhC;;OAEG;IACH,UAAU,IAAI,QAAQ,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC;IAIxD,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;IACjF,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;CACzE"}
@@ -0,0 +1,166 @@
1
+ import { createHash } from 'node:crypto';
2
+ import { CatalogTransform, RebuildQueue } from '../catalog.transform.js';
3
+ import { buildCallTool, buildSearchTool } from './synthetic-tools.js';
4
+ import { toolCacheFields } from '../tool-cache-key.js';
5
+ export class BaseSearchTransform extends CatalogTransform {
6
+ options;
7
+ rawTools = new Map();
8
+ cachedTransformedList = null;
9
+ lastCatalogHash = '';
10
+ registry = null;
11
+ rebuilds = new RebuildQueue();
12
+ constructor(options = {}) {
13
+ super();
14
+ this.options = {
15
+ searchToolName: options.searchToolName ?? 'search_tools',
16
+ callToolName: options.callToolName ?? 'call_tool',
17
+ defaultLimit: options.defaultLimit ?? 5,
18
+ defaultDetail: options.defaultDetail ?? 'detailed',
19
+ alwaysVisible: options.alwaysVisible ?? [],
20
+ allowRegex: options.allowRegex ?? false,
21
+ };
22
+ }
23
+ onRegister(registry) {
24
+ this.registry = registry;
25
+ }
26
+ /**
27
+ * Resolves a tool for the `call_tool` proxy and for filtering search results.
28
+ *
29
+ * Goes through the server's resolution chain so downstream authorization transforms
30
+ * still apply. When no server is attached (standalone use), there is no chain to
31
+ * consult and the locally indexed catalog is the complete picture.
32
+ */
33
+ resolveThroughChain = async (name, context) => {
34
+ if (this.registry) {
35
+ return this.registry.resolveTool(name, context);
36
+ }
37
+ return this.rawTools.get(name);
38
+ };
39
+ /**
40
+ * Reshapes the catalog: replaces raw tools with search_tools, call_tool,
41
+ * and any tools explicitly designated as always visible.
42
+ */
43
+ async applyTransform(tools, context) {
44
+ return this.rebuilds.enqueue(() => this.rebuildCatalog(tools, context));
45
+ }
46
+ async rebuildCatalog(tools, _context) {
47
+ // Index the server's full catalog rather than this session's filtered view, so the
48
+ // index does not depend on whichever session most recently listed tools. Access
49
+ // control happens at query time via resolveThroughChain, not by omitting from the index.
50
+ const indexable = this.registry ? [...this.registry.getTools().values()] : tools;
51
+ // 1. Resolve alwaysVisible tools from this session's view of the catalog:
52
+ // Matches by explicit name in options, by tool.visibility === 'visible',
53
+ // or by annotations.alwaysVisible === true
54
+ const alwaysVisibleSet = new Set(this.options.alwaysVisible);
55
+ const visibleTools = tools.filter((t) => alwaysVisibleSet.has(t.name) ||
56
+ t.visibility === 'visible' ||
57
+ t.annotations?.alwaysVisible === true);
58
+ // 2. Cache key spans both the indexed catalog and this session's passthrough set,
59
+ // so a list computed for one session is never replayed to another.
60
+ const currentHash = this.computeCatalogHash(indexable, visibleTools);
61
+ if (this.cachedTransformedList && this.lastCatalogHash === currentHash) {
62
+ return this.cachedTransformedList;
63
+ }
64
+ // 3. Index raw tools in memory. Swap the map in one assignment so a search
65
+ // that started against the previous catalog does not observe a clear().
66
+ const nextRaw = new Map();
67
+ for (const t of indexable) {
68
+ nextRaw.set(t.name, t);
69
+ }
70
+ this.rawTools = nextRaw;
71
+ // 4. Update the search index in subclass
72
+ await this.updateIndex(indexable, currentHash);
73
+ // 5. Build synthetic tools
74
+ const searchTool = this.createSearchTool();
75
+ const callTool = this.createCallTool();
76
+ this.lastCatalogHash = currentHash;
77
+ this.cachedTransformedList = [searchTool, callTool, ...visibleTools];
78
+ return this.cachedTransformedList;
79
+ }
80
+ /**
81
+ * Resolves this transform's own synthetic meta-tools.
82
+ *
83
+ * Everything else defers to the rest of the chain. There is deliberately no
84
+ * fallback to `rawTools`: re-resolving a tool the chain declined would let a
85
+ * caller reach tools that a downstream authorization transform filtered out.
86
+ */
87
+ async resolveTool(name, next, context) {
88
+ // Meta-tool names belong to this transform. A business tool registered
89
+ // under the same name must not shadow search_tools or call_tool.
90
+ if (name === this.options.searchToolName || name === this.options.callToolName) {
91
+ const cached = this.cachedTransformedList?.find((t) => t.name === name);
92
+ if (cached)
93
+ return cached;
94
+ return name === this.options.searchToolName
95
+ ? this.createSearchTool()
96
+ : this.createCallTool();
97
+ }
98
+ // Downstream transforms get first refusal, so their guards always run.
99
+ // There is no fallback to rawTools: re-resolving a tool the chain declined
100
+ // would let a caller reach tools an authorization transform filtered out.
101
+ return next(name, context);
102
+ }
103
+ computeCatalogHash(tools, visible) {
104
+ const hash = createHash('sha256');
105
+ // Length-prefix each field: without a delimiter, ('ab','c') and ('a','bc')
106
+ // would hash identically and serve a stale catalog.
107
+ const feed = (value) => hash.update(`${value.length}:${value}`);
108
+ for (const t of tools) {
109
+ feed(t.name);
110
+ feed(t.description || '');
111
+ const identity = toolCacheFields(t);
112
+ feed(identity.schema);
113
+ feed(identity.visibility);
114
+ }
115
+ hash.update('|visible|');
116
+ for (const t of visible) {
117
+ feed(t.name);
118
+ }
119
+ return hash.digest('hex');
120
+ }
121
+ /**
122
+ * Creates the synthetic search tool.
123
+ * Can be overridden by subclasses.
124
+ */
125
+ createSearchTool() {
126
+ return buildSearchTool(this.options.searchToolName, async (query, limit, context) => {
127
+ // Rank the full index, then drop what this session may not see, so a page
128
+ // of hidden tools cannot shrink the requested limit.
129
+ const ranked = await this.search(query, Number.MAX_SAFE_INTEGER);
130
+ const authorized = [];
131
+ for (const tool of ranked) {
132
+ if (authorized.length >= limit)
133
+ break;
134
+ try {
135
+ if (await this.resolveThroughChain(tool.name, context)) {
136
+ authorized.push(tool);
137
+ }
138
+ }
139
+ catch {
140
+ // Denied for this session; omit from results.
141
+ }
142
+ }
143
+ return authorized;
144
+ }, this.options.defaultLimit, this.options.defaultDetail);
145
+ }
146
+ /**
147
+ * Creates the synthetic call tool.
148
+ * Can be overridden by subclasses.
149
+ */
150
+ createCallTool() {
151
+ return buildCallTool(this.options.callToolName, this.resolveThroughChain, this.options.searchToolName);
152
+ }
153
+ /**
154
+ * Diagnostic access to the raw indexed tools.
155
+ */
156
+ getRawTools() {
157
+ return new Map(this.rawTools);
158
+ }
159
+ /**
160
+ * Diagnostic access to transform options.
161
+ */
162
+ getOptions() {
163
+ return this.options;
164
+ }
165
+ }
166
+ //# sourceMappingURL=base-search.transform.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-search.transform.js","sourceRoot":"","sources":["../../../../src/core/transforms/search/base-search.transform.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ import { Tool } from '../../tool.js';
2
+ import { BaseSearchTransform } from './base-search.transform.js';
3
+ import { BM25Engine, BM25EngineOptions } from './bm25.engine.js';
4
+ import { SearchTransformOptions } from './types.js';
5
+ export interface BM25SearchTransformOptions extends SearchTransformOptions, BM25EngineOptions {
6
+ }
7
+ export declare class BM25SearchTransform extends BaseSearchTransform {
8
+ readonly name = "BM25SearchTransform";
9
+ private readonly engine;
10
+ constructor(options?: BM25SearchTransformOptions);
11
+ protected updateIndex(tools: Tool[], hash: string): void;
12
+ protected search(query: string, limit: number): Promise<Tool[]>;
13
+ /**
14
+ * Diagnostic statistics for debugging, telemetry, and test verification.
15
+ */
16
+ getEngineStats(): {
17
+ docCount: number;
18
+ avgDocLength: number;
19
+ vocabSize: number;
20
+ contentHash: string;
21
+ };
22
+ /**
23
+ * Diagnostic access to underlying BM25 engine.
24
+ */
25
+ getEngine(): BM25Engine<Tool>;
26
+ }
27
+ //# sourceMappingURL=bm25-search.transform.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bm25-search.transform.d.ts","sourceRoot":"","sources":["../../../../src/core/transforms/search/bm25-search.transform.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACrC,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACjE,OAAO,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAEpD,MAAM,WAAW,0BAA2B,SAAQ,sBAAsB,EAAE,iBAAiB;CAAG;AAEhG,qBAAa,mBAAoB,SAAQ,mBAAmB;IAC1D,QAAQ,CAAC,IAAI,yBAAyB;IACtC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAmB;gBAE9B,OAAO,GAAE,0BAA+B;IAYpD,SAAS,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI;cAIxC,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAKrE;;OAEG;IACH,cAAc;;;;;;IAId;;OAEG;IACH,SAAS,IAAI,UAAU,CAAC,IAAI,CAAC;CAG9B"}
@@ -0,0 +1,37 @@
1
+ import { BaseSearchTransform } from './base-search.transform.js';
2
+ import { BM25Engine } from './bm25.engine.js';
3
+ export class BM25SearchTransform extends BaseSearchTransform {
4
+ name = 'BM25SearchTransform';
5
+ engine;
6
+ constructor(options = {}) {
7
+ super(options);
8
+ this.engine = new BM25Engine({
9
+ k1: options.k1,
10
+ b: options.b,
11
+ nameBoost: options.nameBoost,
12
+ titleBoost: options.titleBoost,
13
+ paramBoost: options.paramBoost,
14
+ descBoost: options.descBoost,
15
+ });
16
+ }
17
+ updateIndex(tools, hash) {
18
+ this.engine.indexTools(tools, hash);
19
+ }
20
+ async search(query, limit) {
21
+ const results = this.engine.search(query, limit);
22
+ return results.map((r) => r.item);
23
+ }
24
+ /**
25
+ * Diagnostic statistics for debugging, telemetry, and test verification.
26
+ */
27
+ getEngineStats() {
28
+ return this.engine.getStats();
29
+ }
30
+ /**
31
+ * Diagnostic access to underlying BM25 engine.
32
+ */
33
+ getEngine() {
34
+ return this.engine;
35
+ }
36
+ }
37
+ //# sourceMappingURL=bm25-search.transform.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bm25-search.transform.js","sourceRoot":"","sources":["../../../../src/core/transforms/search/bm25-search.transform.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,UAAU,EAAqB,MAAM,kBAAkB,CAAC;AAKjE,MAAM,OAAO,mBAAoB,SAAQ,mBAAmB;IACjD,IAAI,GAAG,qBAAqB,CAAC;IACrB,MAAM,CAAmB;IAE1C,YAAY,UAAsC,EAAE;QAClD,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,MAAM,GAAG,IAAI,UAAU,CAAO;YACjC,EAAE,EAAE,OAAO,CAAC,EAAE;YACd,CAAC,EAAE,OAAO,CAAC,CAAC;YACZ,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,SAAS,EAAE,OAAO,CAAC,SAAS;SAC7B,CAAC,CAAC;IACL,CAAC;IAES,WAAW,CAAC,KAAa,EAAE,IAAY;QAC/C,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IACtC,CAAC;IAES,KAAK,CAAC,MAAM,CAAC,KAAa,EAAE,KAAa;QACjD,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACjD,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC;IAED;;OAEG;IACH,cAAc;QACZ,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;IAChC,CAAC;IAED;;OAEG;IACH,SAAS;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;CACF"}
@@ -0,0 +1,46 @@
1
+ import { Tool } from '../../tool.js';
2
+ import { BM25SearchResult, IndexDocumentInput } from './types.js';
3
+ export interface BM25EngineOptions {
4
+ k1?: number;
5
+ b?: number;
6
+ nameBoost?: number;
7
+ titleBoost?: number;
8
+ paramBoost?: number;
9
+ descBoost?: number;
10
+ }
11
+ export declare class BM25Engine<T = Tool> {
12
+ private readonly k1;
13
+ private readonly b;
14
+ private readonly nameBoost;
15
+ private readonly titleBoost;
16
+ private readonly paramBoost;
17
+ private readonly descBoost;
18
+ private documents;
19
+ private df;
20
+ private avgDocLength;
21
+ private contentHash;
22
+ constructor(options?: BM25EngineOptions);
23
+ /**
24
+ * Builds the in-memory inverted index from generic document inputs.
25
+ * If a matching content hash is provided and index exists, indexing is skipped.
26
+ */
27
+ buildIndex(docs: IndexDocumentInput<T>[], hash?: string): void;
28
+ /**
29
+ * Helper to build index directly from Tool instances.
30
+ */
31
+ indexTools(tools: Tool[], hash?: string): void;
32
+ /**
33
+ * Searches the indexed documents using Lucene BM25 Okapi non-negative scoring.
34
+ */
35
+ search(query: string, limit?: number): BM25SearchResult<T>[];
36
+ /**
37
+ * Diagnostic statistics for debugging and NitroStudio telemetry.
38
+ */
39
+ getStats(): {
40
+ docCount: number;
41
+ avgDocLength: number;
42
+ vocabSize: number;
43
+ contentHash: string;
44
+ };
45
+ }
46
+ //# sourceMappingURL=bm25.engine.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bm25.engine.d.ts","sourceRoot":"","sources":["../../../../src/core/transforms/search/bm25.engine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAErC,OAAO,EAAgB,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAEhF,MAAM,WAAW,iBAAiB;IAChC,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,qBAAa,UAAU,CAAC,CAAC,GAAG,IAAI;IAC9B,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAS;IAC5B,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAS;IAC3B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IAEnC,OAAO,CAAC,SAAS,CAAyB;IAC1C,OAAO,CAAC,EAAE,CAAkC;IAC5C,OAAO,CAAC,YAAY,CAAa;IACjC,OAAO,CAAC,WAAW,CAAc;gBAErB,OAAO,GAAE,iBAAsB;IAS3C;;;OAGG;IACH,UAAU,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI;IA4D9D;;OAEG;IACH,UAAU,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI;IAyC9C;;OAEG;IACH,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,GAAE,MAAU,GAAG,gBAAgB,CAAC,CAAC,CAAC,EAAE;IA0C/D;;OAEG;IACH,QAAQ,IAAI;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE;CAQ/F"}
@@ -0,0 +1,160 @@
1
+ import { tokenize } from './tokenizer.js';
2
+ export class BM25Engine {
3
+ k1;
4
+ b;
5
+ nameBoost;
6
+ titleBoost;
7
+ paramBoost;
8
+ descBoost;
9
+ documents = [];
10
+ df = new Map(); // Document frequency per term
11
+ avgDocLength = 0;
12
+ contentHash = '';
13
+ constructor(options = {}) {
14
+ this.k1 = options.k1 ?? 1.5;
15
+ this.b = options.b ?? 0.75;
16
+ this.nameBoost = options.nameBoost ?? 3.0;
17
+ this.titleBoost = options.titleBoost ?? 2.0;
18
+ this.paramBoost = options.paramBoost ?? 1.5;
19
+ this.descBoost = options.descBoost ?? 1.0;
20
+ }
21
+ /**
22
+ * Builds the in-memory inverted index from generic document inputs.
23
+ * If a matching content hash is provided and index exists, indexing is skipped.
24
+ */
25
+ buildIndex(docs, hash) {
26
+ if (hash && this.contentHash === hash && this.documents.length > 0) {
27
+ return; // Cache hit: catalog has not mutated
28
+ }
29
+ const documents = [];
30
+ const df = new Map();
31
+ let totalLength = 0;
32
+ for (const doc of docs) {
33
+ const termFrequencies = new Map();
34
+ // 1. Extract tokens with field boosts
35
+ const nameTokens = tokenize(doc.name);
36
+ const titleTokens = tokenize(doc.title || '');
37
+ const descTokens = tokenize(doc.description || '');
38
+ const paramTokens = tokenize(doc.parametersText || '');
39
+ const addTokens = (tokens, boost) => {
40
+ for (const token of tokens) {
41
+ termFrequencies.set(token, (termFrequencies.get(token) || 0) + boost);
42
+ }
43
+ };
44
+ addTokens(nameTokens, this.nameBoost);
45
+ addTokens(titleTokens, this.titleBoost);
46
+ addTokens(descTokens, this.descBoost);
47
+ addTokens(paramTokens, this.paramBoost);
48
+ // Compute weighted document length
49
+ let docLength = 0;
50
+ for (const freq of termFrequencies.values()) {
51
+ docLength += freq;
52
+ }
53
+ totalLength += docLength;
54
+ // Update document frequencies (DF) for each unique token in doc
55
+ for (const token of termFrequencies.keys()) {
56
+ df.set(token, (df.get(token) || 0) + 1);
57
+ }
58
+ documents.push({
59
+ id: doc.id,
60
+ item: doc.item,
61
+ length: docLength,
62
+ termFrequencies,
63
+ });
64
+ }
65
+ // Publish in one assignment so a search in flight keeps the previous index
66
+ // until this one is complete. Clearing first would let that search see nothing.
67
+ this.documents = documents;
68
+ this.df = df;
69
+ // A catalog whose fields all tokenize away has total length 0. Dividing by
70
+ // that in search produces NaN scores; treat it as an empty document.
71
+ this.avgDocLength = documents.length > 0 && totalLength > 0 ? totalLength / documents.length : 1;
72
+ this.contentHash = hash ?? '';
73
+ }
74
+ /**
75
+ * Helper to build index directly from Tool instances.
76
+ */
77
+ indexTools(tools, hash) {
78
+ const docs = tools.map((tool) => {
79
+ let paramsText = '';
80
+ const schema = tool.inputSchema;
81
+ if (schema) {
82
+ if (schema.properties && typeof schema.properties === 'object') {
83
+ for (const [key, prop] of Object.entries(schema.properties)) {
84
+ paramsText += ` ${key}`;
85
+ if (prop && typeof prop === 'object' && prop.description) {
86
+ paramsText += ` ${prop.description}`;
87
+ }
88
+ }
89
+ }
90
+ else {
91
+ const shape = typeof schema._def?.shape === 'function'
92
+ ? schema._def.shape()
93
+ : schema.shape || schema._def?.shape;
94
+ if (shape && typeof shape === 'object') {
95
+ for (const [key, prop] of Object.entries(shape)) {
96
+ paramsText += ` ${key}`;
97
+ if (prop && typeof prop === 'object' && prop.description) {
98
+ paramsText += ` ${prop.description}`;
99
+ }
100
+ }
101
+ }
102
+ }
103
+ }
104
+ return {
105
+ id: tool.name,
106
+ name: tool.name,
107
+ title: tool.title,
108
+ description: tool.description,
109
+ parametersText: paramsText,
110
+ item: tool,
111
+ };
112
+ });
113
+ this.buildIndex(docs, hash);
114
+ }
115
+ /**
116
+ * Searches the indexed documents using Lucene BM25 Okapi non-negative scoring.
117
+ */
118
+ search(query, limit = 5) {
119
+ const queryTokens = tokenize(query);
120
+ if (queryTokens.length === 0 || this.documents.length === 0) {
121
+ return [];
122
+ }
123
+ const N = this.documents.length;
124
+ const results = [];
125
+ for (const doc of this.documents) {
126
+ let score = 0;
127
+ for (const q of queryTokens) {
128
+ const tf = doc.termFrequencies.get(q) || 0;
129
+ const n_q = this.df.get(q) || 0;
130
+ if (tf === 0 || n_q === 0) {
131
+ continue;
132
+ }
133
+ // Non-negative Lucene BM25 IDF: ln(1 + (N - n(q) + 0.5) / (n(q) + 0.5))
134
+ const idf = Math.log(1 + (N - n_q + 0.5) / (n_q + 0.5));
135
+ // Length-normalized TF: tf * (k1 + 1) / (tf + k1 * (1 - b + b * (|D| / avgdl)))
136
+ const tfNorm = (tf * (this.k1 + 1)) /
137
+ (tf + this.k1 * (1 - this.b + this.b * (doc.length / this.avgDocLength)));
138
+ score += idf * tfNorm;
139
+ }
140
+ if (score > 0) {
141
+ results.push({ item: doc.item, score });
142
+ }
143
+ }
144
+ // Sort descending by relevance score
145
+ results.sort((a, b) => b.score - a.score);
146
+ return results.slice(0, limit);
147
+ }
148
+ /**
149
+ * Diagnostic statistics for debugging and NitroStudio telemetry.
150
+ */
151
+ getStats() {
152
+ return {
153
+ docCount: this.documents.length,
154
+ avgDocLength: this.avgDocLength,
155
+ vocabSize: this.df.size,
156
+ contentHash: this.contentHash,
157
+ };
158
+ }
159
+ }
160
+ //# sourceMappingURL=bm25.engine.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bm25.engine.js","sourceRoot":"","sources":["../../../../src/core/transforms/search/bm25.engine.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ export * from './types.js';
2
+ export * from './tokenizer.js';
3
+ export * from './bm25.engine.js';
4
+ export * from './base-search.transform.js';
5
+ export * from './regex-search.transform.js';
6
+ export * from './bm25-search.transform.js';
7
+ export * from './tool-serializer.js';
8
+ export * from './synthetic-tools.js';
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/transforms/search/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC"}
@@ -0,0 +1,9 @@
1
+ export * from './types.js';
2
+ export * from './tokenizer.js';
3
+ export * from './bm25.engine.js';
4
+ export * from './base-search.transform.js';
5
+ export * from './regex-search.transform.js';
6
+ export * from './bm25-search.transform.js';
7
+ export * from './tool-serializer.js';
8
+ export * from './synthetic-tools.js';
9
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/transforms/search/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=regex-match.worker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"regex-match.worker.d.ts","sourceRoot":"","sources":["../../../../src/core/transforms/search/regex-match.worker.ts"],"names":[],"mappings":""}