langchain 0.0.129 → 0.0.131

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 (315) hide show
  1. package/dist/agents/chat/index.cjs +3 -0
  2. package/dist/agents/chat/index.d.ts +1 -0
  3. package/dist/agents/chat/index.js +3 -0
  4. package/dist/agents/chat_convo/index.cjs +3 -0
  5. package/dist/agents/chat_convo/index.d.ts +1 -0
  6. package/dist/agents/chat_convo/index.js +3 -0
  7. package/dist/agents/executor.cjs +3 -0
  8. package/dist/agents/executor.d.ts +1 -0
  9. package/dist/agents/executor.js +3 -0
  10. package/dist/agents/mrkl/index.cjs +3 -0
  11. package/dist/agents/mrkl/index.d.ts +1 -0
  12. package/dist/agents/mrkl/index.js +3 -0
  13. package/dist/agents/openai/index.cjs +3 -0
  14. package/dist/agents/openai/index.d.ts +1 -0
  15. package/dist/agents/openai/index.js +3 -0
  16. package/dist/agents/structured_chat/index.cjs +3 -0
  17. package/dist/agents/structured_chat/index.d.ts +1 -0
  18. package/dist/agents/structured_chat/index.js +3 -0
  19. package/dist/callbacks/base.cjs +18 -0
  20. package/dist/callbacks/base.d.ts +15 -0
  21. package/dist/callbacks/base.js +19 -1
  22. package/dist/callbacks/manager.cjs +1 -1
  23. package/dist/callbacks/manager.js +1 -1
  24. package/dist/chains/analyze_documents_chain.cjs +3 -0
  25. package/dist/chains/analyze_documents_chain.d.ts +1 -0
  26. package/dist/chains/analyze_documents_chain.js +3 -0
  27. package/dist/chains/combine_docs_chain.cjs +9 -0
  28. package/dist/chains/combine_docs_chain.d.ts +3 -0
  29. package/dist/chains/combine_docs_chain.js +9 -0
  30. package/dist/chains/constitutional_ai/constitutional_chain.cjs +3 -0
  31. package/dist/chains/constitutional_ai/constitutional_chain.d.ts +1 -0
  32. package/dist/chains/constitutional_ai/constitutional_chain.js +3 -0
  33. package/dist/chains/conversation.cjs +3 -0
  34. package/dist/chains/conversation.d.ts +1 -0
  35. package/dist/chains/conversation.js +3 -0
  36. package/dist/chains/conversational_retrieval_chain.cjs +3 -0
  37. package/dist/chains/conversational_retrieval_chain.d.ts +1 -0
  38. package/dist/chains/conversational_retrieval_chain.js +3 -0
  39. package/dist/chains/llm_chain.cjs +3 -0
  40. package/dist/chains/llm_chain.d.ts +1 -0
  41. package/dist/chains/llm_chain.js +3 -0
  42. package/dist/chains/openai_functions/openapi.cjs +3 -0
  43. package/dist/chains/openai_functions/openapi.js +3 -0
  44. package/dist/chains/openai_moderation.cjs +3 -0
  45. package/dist/chains/openai_moderation.d.ts +1 -0
  46. package/dist/chains/openai_moderation.js +3 -0
  47. package/dist/chains/retrieval_qa.cjs +3 -0
  48. package/dist/chains/retrieval_qa.d.ts +1 -0
  49. package/dist/chains/retrieval_qa.js +3 -0
  50. package/dist/chains/router/multi_route.cjs +3 -0
  51. package/dist/chains/router/multi_route.d.ts +1 -0
  52. package/dist/chains/router/multi_route.js +3 -0
  53. package/dist/chains/sequential_chain.cjs +6 -0
  54. package/dist/chains/sequential_chain.d.ts +2 -0
  55. package/dist/chains/sequential_chain.js +6 -0
  56. package/dist/chains/sql_db/sql_db_chain.cjs +3 -0
  57. package/dist/chains/sql_db/sql_db_chain.d.ts +1 -0
  58. package/dist/chains/sql_db/sql_db_chain.js +3 -0
  59. package/dist/chains/transform.cjs +3 -0
  60. package/dist/chains/transform.d.ts +1 -0
  61. package/dist/chains/transform.js +3 -0
  62. package/dist/chains/vector_db_qa.cjs +3 -0
  63. package/dist/chains/vector_db_qa.d.ts +1 -0
  64. package/dist/chains/vector_db_qa.js +3 -0
  65. package/dist/chat_models/anthropic.cjs +3 -0
  66. package/dist/chat_models/anthropic.d.ts +1 -0
  67. package/dist/chat_models/anthropic.js +3 -0
  68. package/dist/chat_models/baiduwenxin.cjs +3 -13
  69. package/dist/chat_models/baiduwenxin.d.ts +1 -3
  70. package/dist/chat_models/baiduwenxin.js +3 -13
  71. package/dist/chat_models/googlepalm.cjs +9 -0
  72. package/dist/chat_models/googlepalm.d.ts +2 -0
  73. package/dist/chat_models/googlepalm.js +9 -0
  74. package/dist/chat_models/googlevertexai.cjs +9 -0
  75. package/dist/chat_models/googlevertexai.d.ts +2 -0
  76. package/dist/chat_models/googlevertexai.js +9 -0
  77. package/dist/chat_models/ollama.cjs +3 -0
  78. package/dist/chat_models/ollama.d.ts +1 -0
  79. package/dist/chat_models/ollama.js +3 -0
  80. package/dist/chat_models/openai.cjs +19 -5
  81. package/dist/chat_models/openai.d.ts +7 -5
  82. package/dist/chat_models/openai.js +19 -5
  83. package/dist/document_loaders/web/youtube.cjs +77 -0
  84. package/dist/document_loaders/web/youtube.d.ts +17 -0
  85. package/dist/document_loaders/web/youtube.js +73 -0
  86. package/dist/document_transformers/html_to_text.cjs +3 -0
  87. package/dist/document_transformers/html_to_text.d.ts +1 -0
  88. package/dist/document_transformers/html_to_text.js +3 -0
  89. package/dist/document_transformers/mozilla_readability.cjs +3 -0
  90. package/dist/document_transformers/mozilla_readability.d.ts +1 -0
  91. package/dist/document_transformers/mozilla_readability.js +3 -0
  92. package/dist/document_transformers/openai_functions.cjs +3 -0
  93. package/dist/document_transformers/openai_functions.d.ts +1 -0
  94. package/dist/document_transformers/openai_functions.js +3 -0
  95. package/dist/embeddings/cohere.cjs +16 -13
  96. package/dist/embeddings/cohere.js +16 -13
  97. package/dist/embeddings/googlevertexai.cjs +1 -1
  98. package/dist/embeddings/googlevertexai.js +1 -1
  99. package/dist/embeddings/openai.cjs +27 -21
  100. package/dist/embeddings/openai.js +27 -21
  101. package/dist/evaluation/qa/eval_chain.cjs +3 -0
  102. package/dist/evaluation/qa/eval_chain.d.ts +1 -0
  103. package/dist/evaluation/qa/eval_chain.js +3 -0
  104. package/dist/experimental/babyagi/agent.cjs +3 -0
  105. package/dist/experimental/babyagi/agent.d.ts +1 -0
  106. package/dist/experimental/babyagi/agent.js +3 -0
  107. package/dist/experimental/babyagi/task_creation.cjs +3 -0
  108. package/dist/experimental/babyagi/task_creation.d.ts +1 -0
  109. package/dist/experimental/babyagi/task_creation.js +3 -0
  110. package/dist/experimental/babyagi/task_execution.cjs +3 -0
  111. package/dist/experimental/babyagi/task_execution.d.ts +1 -0
  112. package/dist/experimental/babyagi/task_execution.js +3 -0
  113. package/dist/experimental/babyagi/task_prioritization.cjs +3 -0
  114. package/dist/experimental/babyagi/task_prioritization.d.ts +1 -0
  115. package/dist/experimental/babyagi/task_prioritization.js +3 -0
  116. package/dist/experimental/generative_agents/generative_agent.cjs +3 -0
  117. package/dist/experimental/generative_agents/generative_agent.d.ts +1 -0
  118. package/dist/experimental/generative_agents/generative_agent.js +3 -0
  119. package/dist/experimental/generative_agents/generative_agent_memory.cjs +3 -0
  120. package/dist/experimental/generative_agents/generative_agent_memory.d.ts +1 -0
  121. package/dist/experimental/generative_agents/generative_agent_memory.js +3 -0
  122. package/dist/experimental/plan_and_execute/agent_executor.cjs +3 -0
  123. package/dist/experimental/plan_and_execute/agent_executor.d.ts +1 -0
  124. package/dist/experimental/plan_and_execute/agent_executor.js +3 -0
  125. package/dist/llms/cohere.cjs +3 -0
  126. package/dist/llms/cohere.d.ts +1 -0
  127. package/dist/llms/cohere.js +3 -0
  128. package/dist/llms/ollama.cjs +3 -0
  129. package/dist/llms/ollama.d.ts +1 -0
  130. package/dist/llms/ollama.js +3 -0
  131. package/dist/llms/openai-chat.cjs +18 -4
  132. package/dist/llms/openai-chat.d.ts +6 -4
  133. package/dist/llms/openai-chat.js +18 -4
  134. package/dist/llms/openai.cjs +20 -6
  135. package/dist/llms/openai.d.ts +5 -3
  136. package/dist/llms/openai.js +20 -6
  137. package/dist/llms/replicate.cjs +3 -0
  138. package/dist/llms/replicate.d.ts +1 -0
  139. package/dist/llms/replicate.js +3 -0
  140. package/dist/load/import_constants.cjs +1 -0
  141. package/dist/load/import_constants.js +1 -0
  142. package/dist/load/index.cjs +7 -1
  143. package/dist/load/index.js +7 -1
  144. package/dist/load/serializable.cjs +42 -3
  145. package/dist/load/serializable.d.ts +16 -0
  146. package/dist/load/serializable.js +40 -2
  147. package/dist/output_parsers/combining.cjs +3 -0
  148. package/dist/output_parsers/combining.d.ts +1 -0
  149. package/dist/output_parsers/combining.js +3 -0
  150. package/dist/output_parsers/fix.cjs +3 -0
  151. package/dist/output_parsers/fix.d.ts +1 -0
  152. package/dist/output_parsers/fix.js +3 -0
  153. package/dist/output_parsers/list.cjs +3 -0
  154. package/dist/output_parsers/list.d.ts +1 -0
  155. package/dist/output_parsers/list.js +3 -0
  156. package/dist/output_parsers/noop.cjs +3 -0
  157. package/dist/output_parsers/noop.d.ts +1 -0
  158. package/dist/output_parsers/noop.js +3 -0
  159. package/dist/output_parsers/openai_functions.cjs +9 -0
  160. package/dist/output_parsers/openai_functions.d.ts +3 -0
  161. package/dist/output_parsers/openai_functions.js +9 -0
  162. package/dist/output_parsers/regex.cjs +3 -0
  163. package/dist/output_parsers/regex.d.ts +1 -0
  164. package/dist/output_parsers/regex.js +3 -0
  165. package/dist/output_parsers/structured.cjs +6 -0
  166. package/dist/output_parsers/structured.d.ts +2 -0
  167. package/dist/output_parsers/structured.js +6 -0
  168. package/dist/prompts/chat.cjs +21 -0
  169. package/dist/prompts/chat.d.ts +7 -0
  170. package/dist/prompts/chat.js +21 -0
  171. package/dist/prompts/pipeline.cjs +3 -0
  172. package/dist/prompts/pipeline.d.ts +1 -0
  173. package/dist/prompts/pipeline.js +3 -0
  174. package/dist/prompts/prompt.cjs +3 -0
  175. package/dist/prompts/prompt.d.ts +1 -0
  176. package/dist/prompts/prompt.js +3 -0
  177. package/dist/retrievers/amazon_kendra.cjs +3 -0
  178. package/dist/retrievers/amazon_kendra.d.ts +1 -0
  179. package/dist/retrievers/amazon_kendra.js +3 -0
  180. package/dist/retrievers/contextual_compression.cjs +3 -0
  181. package/dist/retrievers/contextual_compression.d.ts +1 -0
  182. package/dist/retrievers/contextual_compression.js +3 -0
  183. package/dist/retrievers/databerry.cjs +3 -0
  184. package/dist/retrievers/databerry.d.ts +1 -0
  185. package/dist/retrievers/databerry.js +3 -0
  186. package/dist/retrievers/hyde.cjs +3 -0
  187. package/dist/retrievers/hyde.d.ts +1 -0
  188. package/dist/retrievers/hyde.js +3 -0
  189. package/dist/retrievers/metal.cjs +3 -0
  190. package/dist/retrievers/metal.d.ts +1 -0
  191. package/dist/retrievers/metal.js +3 -0
  192. package/dist/retrievers/parent_document.cjs +3 -0
  193. package/dist/retrievers/parent_document.d.ts +1 -0
  194. package/dist/retrievers/parent_document.js +3 -0
  195. package/dist/retrievers/self_query/index.cjs +3 -0
  196. package/dist/retrievers/self_query/index.d.ts +1 -0
  197. package/dist/retrievers/self_query/index.js +3 -0
  198. package/dist/retrievers/self_query/supabase.cjs +28 -7
  199. package/dist/retrievers/self_query/supabase.d.ts +2 -2
  200. package/dist/retrievers/self_query/supabase.js +29 -8
  201. package/dist/retrievers/self_query/supabase_utils.cjs +177 -0
  202. package/dist/retrievers/self_query/supabase_utils.d.ts +24 -0
  203. package/dist/retrievers/self_query/supabase_utils.js +172 -0
  204. package/dist/retrievers/self_query/utils.cjs +19 -3
  205. package/dist/retrievers/self_query/utils.d.ts +3 -0
  206. package/dist/retrievers/self_query/utils.js +15 -2
  207. package/dist/retrievers/self_query/weaviate.cjs +3 -14
  208. package/dist/retrievers/self_query/weaviate.js +1 -12
  209. package/dist/retrievers/supabase.cjs +3 -0
  210. package/dist/retrievers/supabase.d.ts +1 -0
  211. package/dist/retrievers/supabase.js +3 -0
  212. package/dist/retrievers/time_weighted.cjs +3 -0
  213. package/dist/retrievers/time_weighted.d.ts +1 -0
  214. package/dist/retrievers/time_weighted.js +3 -0
  215. package/dist/retrievers/vespa.cjs +3 -0
  216. package/dist/retrievers/vespa.d.ts +1 -0
  217. package/dist/retrievers/vespa.js +3 -0
  218. package/dist/retrievers/zep.cjs +3 -0
  219. package/dist/retrievers/zep.d.ts +1 -0
  220. package/dist/retrievers/zep.js +3 -0
  221. package/dist/schema/index.cjs +32 -2
  222. package/dist/schema/index.d.ts +14 -0
  223. package/dist/schema/index.js +32 -2
  224. package/dist/schema/output_parser.cjs +6 -0
  225. package/dist/schema/output_parser.d.ts +2 -0
  226. package/dist/schema/output_parser.js +6 -0
  227. package/dist/schema/runnable.cjs +25 -7
  228. package/dist/schema/runnable.d.ts +6 -0
  229. package/dist/schema/runnable.js +25 -7
  230. package/dist/stores/message/utils.cjs +5 -0
  231. package/dist/stores/message/utils.js +6 -1
  232. package/dist/text_splitter.cjs +9 -0
  233. package/dist/text_splitter.d.ts +3 -0
  234. package/dist/text_splitter.js +9 -0
  235. package/dist/tools/IFTTTWebhook.cjs +3 -0
  236. package/dist/tools/IFTTTWebhook.d.ts +1 -0
  237. package/dist/tools/IFTTTWebhook.js +3 -0
  238. package/dist/tools/aiplugin.cjs +3 -0
  239. package/dist/tools/aiplugin.d.ts +1 -0
  240. package/dist/tools/aiplugin.js +3 -0
  241. package/dist/tools/aws_sfn.cjs +9 -0
  242. package/dist/tools/aws_sfn.d.ts +3 -0
  243. package/dist/tools/aws_sfn.js +9 -0
  244. package/dist/tools/bingserpapi.cjs +3 -0
  245. package/dist/tools/bingserpapi.d.ts +1 -0
  246. package/dist/tools/bingserpapi.js +3 -0
  247. package/dist/tools/brave_search.cjs +3 -0
  248. package/dist/tools/brave_search.d.ts +1 -0
  249. package/dist/tools/brave_search.js +3 -0
  250. package/dist/tools/calculator.cjs +3 -0
  251. package/dist/tools/calculator.d.ts +1 -0
  252. package/dist/tools/calculator.js +3 -0
  253. package/dist/tools/chain.cjs +3 -0
  254. package/dist/tools/chain.d.ts +1 -0
  255. package/dist/tools/chain.js +3 -0
  256. package/dist/tools/dadjokeapi.cjs +3 -0
  257. package/dist/tools/dadjokeapi.d.ts +1 -0
  258. package/dist/tools/dadjokeapi.js +3 -0
  259. package/dist/tools/dataforseo_api_search.cjs +3 -0
  260. package/dist/tools/dataforseo_api_search.d.ts +1 -0
  261. package/dist/tools/dataforseo_api_search.js +3 -0
  262. package/dist/tools/dynamic.cjs +6 -0
  263. package/dist/tools/dynamic.d.ts +2 -0
  264. package/dist/tools/dynamic.js +6 -0
  265. package/dist/tools/fs.cjs +6 -0
  266. package/dist/tools/fs.d.ts +2 -0
  267. package/dist/tools/fs.js +6 -0
  268. package/dist/tools/google_custom_search.cjs +3 -0
  269. package/dist/tools/google_custom_search.d.ts +1 -0
  270. package/dist/tools/google_custom_search.js +3 -0
  271. package/dist/tools/json.cjs +7 -1
  272. package/dist/tools/json.d.ts +2 -0
  273. package/dist/tools/json.js +7 -1
  274. package/dist/tools/requests.cjs +8 -2
  275. package/dist/tools/requests.d.ts +2 -0
  276. package/dist/tools/requests.js +8 -2
  277. package/dist/tools/searxng_search.cjs +3 -0
  278. package/dist/tools/searxng_search.d.ts +1 -0
  279. package/dist/tools/searxng_search.js +3 -0
  280. package/dist/tools/serpapi.cjs +3 -0
  281. package/dist/tools/serpapi.d.ts +1 -0
  282. package/dist/tools/serpapi.js +3 -0
  283. package/dist/tools/serper.cjs +3 -0
  284. package/dist/tools/serper.d.ts +1 -0
  285. package/dist/tools/serper.js +3 -0
  286. package/dist/tools/sql.cjs +12 -0
  287. package/dist/tools/sql.d.ts +4 -0
  288. package/dist/tools/sql.js +12 -0
  289. package/dist/tools/vectorstore.cjs +3 -0
  290. package/dist/tools/vectorstore.d.ts +1 -0
  291. package/dist/tools/vectorstore.js +3 -0
  292. package/dist/tools/webbrowser.cjs +3 -0
  293. package/dist/tools/webbrowser.d.ts +1 -0
  294. package/dist/tools/webbrowser.js +3 -0
  295. package/dist/tools/wikipedia_query_run.cjs +3 -0
  296. package/dist/tools/wikipedia_query_run.d.ts +1 -0
  297. package/dist/tools/wikipedia_query_run.js +3 -0
  298. package/dist/tools/zapier.cjs +3 -0
  299. package/dist/tools/zapier.d.ts +1 -0
  300. package/dist/tools/zapier.js +3 -0
  301. package/dist/vectorstores/base.cjs +3 -0
  302. package/dist/vectorstores/base.d.ts +1 -0
  303. package/dist/vectorstores/base.js +3 -0
  304. package/dist/vectorstores/elasticsearch.cjs +1 -0
  305. package/dist/vectorstores/elasticsearch.js +1 -0
  306. package/dist/vectorstores/hnswlib.cjs +19 -0
  307. package/dist/vectorstores/hnswlib.d.ts +3 -0
  308. package/dist/vectorstores/hnswlib.js +19 -0
  309. package/dist/vectorstores/myscale.cjs +1 -1
  310. package/dist/vectorstores/myscale.js +1 -1
  311. package/dist/vectorstores/supabase.d.ts +1 -2
  312. package/document_loaders/web/youtube.cjs +1 -0
  313. package/document_loaders/web/youtube.d.ts +1 -0
  314. package/document_loaders/web/youtube.js +1 -0
  315. package/package.json +27 -3
@@ -10,6 +10,7 @@ export type PipelinePromptTemplateInput<PromptTemplateType extends BasePromptTem
10
10
  finalPrompt: PromptTemplateType;
11
11
  };
12
12
  export declare class PipelinePromptTemplate<PromptTemplateType extends BasePromptTemplate> extends BasePromptTemplate {
13
+ static lc_name(): string;
13
14
  pipelinePrompts: PipelinePromptParams<PromptTemplateType>[];
14
15
  finalPrompt: PromptTemplateType;
15
16
  constructor(input: PipelinePromptTemplateInput<PromptTemplateType>);
@@ -1,6 +1,9 @@
1
1
  import { BasePromptTemplate } from "./base.js";
2
2
  import { ChatPromptTemplate } from "./chat.js";
3
3
  export class PipelinePromptTemplate extends BasePromptTemplate {
4
+ static lc_name() {
5
+ return "PipelinePromptTemplate";
6
+ }
4
7
  constructor(input) {
5
8
  super({ ...input, inputVariables: [] });
6
9
  Object.defineProperty(this, "pipelinePrompts", {
@@ -21,6 +21,9 @@ const template_js_1 = require("./template.cjs");
21
21
  * ```
22
22
  */
23
23
  class PromptTemplate extends base_js_1.BaseStringPromptTemplate {
24
+ static lc_name() {
25
+ return "PromptTemplate";
26
+ }
24
27
  constructor(input) {
25
28
  super(input);
26
29
  Object.defineProperty(this, "template", {
@@ -40,6 +40,7 @@ export interface PromptTemplateInput<RunInput extends InputValues = any, Partial
40
40
  * ```
41
41
  */
42
42
  export declare class PromptTemplate<RunInput extends InputValues = any, PartialVariableName extends string = any> extends BaseStringPromptTemplate<RunInput, PartialVariableName> implements PromptTemplateInput<RunInput, PartialVariableName> {
43
+ static lc_name(): string;
43
44
  template: string;
44
45
  templateFormat: TemplateFormat;
45
46
  validateTemplate: boolean;
@@ -18,6 +18,9 @@ import { checkValidTemplate, parseTemplate, renderTemplate, } from "./template.j
18
18
  * ```
19
19
  */
20
20
  export class PromptTemplate extends BaseStringPromptTemplate {
21
+ static lc_name() {
22
+ return "PromptTemplate";
23
+ }
21
24
  constructor(input) {
22
25
  super(input);
23
26
  Object.defineProperty(this, "template", {
@@ -5,6 +5,9 @@ const client_kendra_1 = require("@aws-sdk/client-kendra");
5
5
  const retriever_js_1 = require("../schema/retriever.cjs");
6
6
  const document_js_1 = require("../document.cjs");
7
7
  class AmazonKendraRetriever extends retriever_js_1.BaseRetriever {
8
+ static lc_name() {
9
+ return "AmazonKendraRetriever";
10
+ }
8
11
  constructor({ indexId, topK = 10, clientOptions, attributeFilter, region, }) {
9
12
  super();
10
13
  Object.defineProperty(this, "lc_namespace", {
@@ -9,6 +9,7 @@ export interface AmazonKendraRetrieverArgs {
9
9
  clientOptions?: KendraClientConfig;
10
10
  }
11
11
  export declare class AmazonKendraRetriever extends BaseRetriever {
12
+ static lc_name(): string;
12
13
  lc_namespace: string[];
13
14
  indexId: string;
14
15
  topK: number;
@@ -2,6 +2,9 @@ import { KendraClient, QueryCommand, RetrieveCommand, } from "@aws-sdk/client-ke
2
2
  import { BaseRetriever } from "../schema/retriever.js";
3
3
  import { Document } from "../document.js";
4
4
  export class AmazonKendraRetriever extends BaseRetriever {
5
+ static lc_name() {
6
+ return "AmazonKendraRetriever";
7
+ }
5
8
  constructor({ indexId, topK = 10, clientOptions, attributeFilter, region, }) {
6
9
  super();
7
10
  Object.defineProperty(this, "lc_namespace", {
@@ -3,6 +3,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ContextualCompressionRetriever = void 0;
4
4
  const retriever_js_1 = require("../schema/retriever.cjs");
5
5
  class ContextualCompressionRetriever extends retriever_js_1.BaseRetriever {
6
+ static lc_name() {
7
+ return "ContextualCompressionRetriever";
8
+ }
6
9
  constructor(fields) {
7
10
  super(fields);
8
11
  Object.defineProperty(this, "lc_namespace", {
@@ -7,6 +7,7 @@ export interface ContextualCompressionRetrieverArgs extends BaseRetrieverInput {
7
7
  baseRetriever: BaseRetriever;
8
8
  }
9
9
  export declare class ContextualCompressionRetriever extends BaseRetriever {
10
+ static lc_name(): string;
10
11
  lc_namespace: string[];
11
12
  baseCompressor: BaseDocumentCompressor;
12
13
  baseRetriever: BaseRetriever;
@@ -1,5 +1,8 @@
1
1
  import { BaseRetriever } from "../schema/retriever.js";
2
2
  export class ContextualCompressionRetriever extends BaseRetriever {
3
+ static lc_name() {
4
+ return "ContextualCompressionRetriever";
5
+ }
3
6
  constructor(fields) {
4
7
  super(fields);
5
8
  Object.defineProperty(this, "lc_namespace", {
@@ -5,6 +5,9 @@ const retriever_js_1 = require("../schema/retriever.cjs");
5
5
  const document_js_1 = require("../document.cjs");
6
6
  const async_caller_js_1 = require("../util/async_caller.cjs");
7
7
  class DataberryRetriever extends retriever_js_1.BaseRetriever {
8
+ static lc_name() {
9
+ return "DataberryRetriever";
10
+ }
8
11
  get lc_secrets() {
9
12
  return { apiKey: "DATABERRY_API_KEY" };
10
13
  }
@@ -7,6 +7,7 @@ export interface DataberryRetrieverArgs extends AsyncCallerParams, BaseRetriever
7
7
  apiKey?: string;
8
8
  }
9
9
  export declare class DataberryRetriever extends BaseRetriever {
10
+ static lc_name(): string;
10
11
  lc_namespace: string[];
11
12
  get lc_secrets(): {
12
13
  apiKey: string;
@@ -2,6 +2,9 @@ import { BaseRetriever } from "../schema/retriever.js";
2
2
  import { Document } from "../document.js";
3
3
  import { AsyncCaller } from "../util/async_caller.js";
4
4
  export class DataberryRetriever extends BaseRetriever {
5
+ static lc_name() {
6
+ return "DataberryRetriever";
7
+ }
5
8
  get lc_secrets() {
6
9
  return { apiKey: "DATABERRY_API_KEY" };
7
10
  }
@@ -5,6 +5,9 @@ const base_js_1 = require("../prompts/base.cjs");
5
5
  const prompt_js_1 = require("../prompts/prompt.cjs");
6
6
  const base_js_2 = require("../vectorstores/base.cjs");
7
7
  class HydeRetriever extends base_js_2.VectorStoreRetriever {
8
+ static lc_name() {
9
+ return "HydeRetriever";
10
+ }
8
11
  get lc_namespace() {
9
12
  return ["langchain", "retrievers", "hyde"];
10
13
  }
@@ -9,6 +9,7 @@ export type HydeRetrieverOptions<V extends VectorStore> = VectorStoreRetrieverIn
9
9
  promptTemplate?: BasePromptTemplate | PromptKey;
10
10
  };
11
11
  export declare class HydeRetriever<V extends VectorStore = VectorStore> extends VectorStoreRetriever<V> {
12
+ static lc_name(): string;
12
13
  get lc_namespace(): string[];
13
14
  llm: BaseLanguageModel;
14
15
  promptTemplate?: BasePromptTemplate;
@@ -2,6 +2,9 @@ import { StringPromptValue } from "../prompts/base.js";
2
2
  import { PromptTemplate } from "../prompts/prompt.js";
3
3
  import { VectorStoreRetriever, } from "../vectorstores/base.js";
4
4
  export class HydeRetriever extends VectorStoreRetriever {
5
+ static lc_name() {
6
+ return "HydeRetriever";
7
+ }
5
8
  get lc_namespace() {
6
9
  return ["langchain", "retrievers", "hyde"];
7
10
  }
@@ -4,6 +4,9 @@ exports.MetalRetriever = void 0;
4
4
  const retriever_js_1 = require("../schema/retriever.cjs");
5
5
  const document_js_1 = require("../document.cjs");
6
6
  class MetalRetriever extends retriever_js_1.BaseRetriever {
7
+ static lc_name() {
8
+ return "MetalRetriever";
9
+ }
7
10
  constructor(fields) {
8
11
  super(fields);
9
12
  Object.defineProperty(this, "lc_namespace", {
@@ -5,6 +5,7 @@ export interface MetalRetrieverFields extends BaseRetrieverInput {
5
5
  client: Metal;
6
6
  }
7
7
  export declare class MetalRetriever extends BaseRetriever {
8
+ static lc_name(): string;
8
9
  lc_namespace: string[];
9
10
  private client;
10
11
  constructor(fields: MetalRetrieverFields);
@@ -1,6 +1,9 @@
1
1
  import { BaseRetriever } from "../schema/retriever.js";
2
2
  import { Document } from "../document.js";
3
3
  export class MetalRetriever extends BaseRetriever {
4
+ static lc_name() {
5
+ return "MetalRetriever";
6
+ }
4
7
  constructor(fields) {
5
8
  super(fields);
6
9
  Object.defineProperty(this, "lc_namespace", {
@@ -28,6 +28,9 @@ const uuid = __importStar(require("uuid"));
28
28
  const retriever_js_1 = require("../schema/retriever.cjs");
29
29
  const document_js_1 = require("../document.cjs");
30
30
  class ParentDocumentRetriever extends retriever_js_1.BaseRetriever {
31
+ static lc_name() {
32
+ return "ParentDocumentRetriever";
33
+ }
31
34
  constructor(fields) {
32
35
  super(fields);
33
36
  Object.defineProperty(this, "lc_namespace", {
@@ -11,6 +11,7 @@ export interface ParentDocumentRetrieverFields extends BaseRetrieverInput {
11
11
  idKey?: string;
12
12
  }
13
13
  export declare class ParentDocumentRetriever extends BaseRetriever {
14
+ static lc_name(): string;
14
15
  lc_namespace: string[];
15
16
  protected vectorstore: VectorStore;
16
17
  protected docstore: Docstore;
@@ -2,6 +2,9 @@ import * as uuid from "uuid";
2
2
  import { BaseRetriever } from "../schema/retriever.js";
3
3
  import { Document } from "../document.js";
4
4
  export class ParentDocumentRetriever extends BaseRetriever {
5
+ static lc_name() {
6
+ return "ParentDocumentRetriever";
7
+ }
5
8
  constructor(fields) {
6
9
  super(fields);
7
10
  Object.defineProperty(this, "lc_namespace", {
@@ -9,6 +9,9 @@ const base_js_1 = require("./base.cjs");
9
9
  Object.defineProperty(exports, "BaseTranslator", { enumerable: true, get: function () { return base_js_1.BaseTranslator; } });
10
10
  Object.defineProperty(exports, "BasicTranslator", { enumerable: true, get: function () { return base_js_1.BasicTranslator; } });
11
11
  class SelfQueryRetriever extends retriever_js_1.BaseRetriever {
12
+ static lc_name() {
13
+ return "SelfQueryRetriever";
14
+ }
12
15
  get lc_namespace() {
13
16
  return ["langchain", "retrievers", "self_query"];
14
17
  }
@@ -20,6 +20,7 @@ export interface SelfQueryRetrieverArgs<T extends VectorStore> extends BaseRetri
20
20
  };
21
21
  }
22
22
  export declare class SelfQueryRetriever<T extends VectorStore> extends BaseRetriever implements SelfQueryRetrieverArgs<T> {
23
+ static lc_name(): string;
23
24
  get lc_namespace(): string[];
24
25
  vectorStore: T;
25
26
  llmChain: LLMChain;
@@ -4,6 +4,9 @@ import { FunctionalTranslator } from "./functional.js";
4
4
  import { BaseTranslator, BasicTranslator } from "./base.js";
5
5
  export { BaseTranslator, BasicTranslator, FunctionalTranslator };
6
6
  export class SelfQueryRetriever extends BaseRetriever {
7
+ static lc_name() {
8
+ return "SelfQueryRetriever";
9
+ }
7
10
  get lc_namespace() {
8
11
  return ["langchain", "retrievers", "self_query"];
9
12
  }
@@ -4,6 +4,7 @@ exports.SupabaseTranslator = void 0;
4
4
  const ir_js_1 = require("../../chains/query_constructor/ir.cjs");
5
5
  const base_js_1 = require("./base.cjs");
6
6
  const utils_js_1 = require("./utils.cjs");
7
+ const supabase_utils_js_1 = require("./supabase_utils.cjs");
7
8
  class SupabaseTranslator extends base_js_1.BaseTranslator {
8
9
  constructor() {
9
10
  super(...arguments);
@@ -57,12 +58,15 @@ class SupabaseTranslator extends base_js_1.BaseTranslator {
57
58
  }
58
59
  buildColumnName(attr, value, includeType = true) {
59
60
  let column = "";
60
- if (typeof value === "string") {
61
+ if ((0, utils_js_1.isString)(value)) {
61
62
  column = `metadata->>${attr}`;
62
63
  }
63
- else if (typeof value === "number") {
64
+ else if ((0, utils_js_1.isInt)(value)) {
64
65
  column = `metadata->${attr}${includeType ? "::int" : ""}`;
65
66
  }
67
+ else if ((0, utils_js_1.isFloat)(value)) {
68
+ column = `metadata->${attr}${includeType ? "::float" : ""}`;
69
+ }
66
70
  else {
67
71
  throw new Error("Data type not supported");
68
72
  }
@@ -146,9 +150,6 @@ class SupabaseTranslator extends base_js_1.BaseTranslator {
146
150
  return { filter: filterFunction ?? {} };
147
151
  }
148
152
  mergeFilters(defaultFilter, generatedFilter, mergeType = "and") {
149
- if (mergeType === "or") {
150
- throw new Error("Supabase self-query filter does not support merging two filters with the OR operator");
151
- }
152
153
  if ((0, utils_js_1.isFilterEmpty)(defaultFilter) && (0, utils_js_1.isFilterEmpty)(generatedFilter)) {
153
154
  return undefined;
154
155
  }
@@ -164,8 +165,28 @@ class SupabaseTranslator extends base_js_1.BaseTranslator {
164
165
  }
165
166
  return defaultFilter;
166
167
  }
167
- if (mergeType === "and") {
168
- return (rpc) => generatedFilter(defaultFilter(rpc));
168
+ let myDefaultFilter = defaultFilter;
169
+ if ((0, utils_js_1.isObject)(defaultFilter)) {
170
+ const { filter } = this.visitStructuredQuery((0, supabase_utils_js_1.convertObjectFilterToStructuredQuery)(defaultFilter));
171
+ // just in case the built filter is empty somehow
172
+ if ((0, utils_js_1.isFilterEmpty)(filter)) {
173
+ if ((0, utils_js_1.isFilterEmpty)(generatedFilter)) {
174
+ return undefined;
175
+ }
176
+ return generatedFilter;
177
+ }
178
+ myDefaultFilter = filter;
179
+ }
180
+ // After this point, myDefaultFilter will always be SupabaseFilterRPCCall
181
+ if (mergeType === "or") {
182
+ return (rpc) => {
183
+ const defaultFlattenedParams = supabase_utils_js_1.ProxyParamsDuplicator.getFlattenedParams(rpc, myDefaultFilter);
184
+ const generatedFlattenedParams = supabase_utils_js_1.ProxyParamsDuplicator.getFlattenedParams(rpc, generatedFilter);
185
+ return rpc.or(`${defaultFlattenedParams},${generatedFlattenedParams}`);
186
+ };
187
+ }
188
+ else if (mergeType === "and") {
189
+ return (rpc) => generatedFilter(myDefaultFilter(rpc));
169
190
  }
170
191
  else {
171
192
  throw new Error("Unknown merge type");
@@ -1,5 +1,5 @@
1
1
  import { Comparator, Comparison, Operation, Operator, StructuredQuery } from "../../chains/query_constructor/ir.js";
2
- import { SupabaseFilterRPCCall, SupabaseVectorStore } from "../../vectorstores/supabase.js";
2
+ import type { SupabaseFilterRPCCall, SupabaseMetadata, SupabaseVectorStore } from "../../vectorstores/supabase.js";
3
3
  import { BaseTranslator } from "./base.js";
4
4
  type ValueType = {
5
5
  eq: string | number;
@@ -22,6 +22,6 @@ export declare class SupabaseTranslator<T extends SupabaseVectorStore> extends B
22
22
  visitComparisonAsString(comparison: Comparison): string;
23
23
  visitComparison(comparison: Comparison): this["VisitComparisonOutput"];
24
24
  visitStructuredQuery(query: StructuredQuery): this["VisitStructuredQueryOutput"];
25
- mergeFilters(defaultFilter: SupabaseFilterRPCCall | undefined, generatedFilter: SupabaseFilterRPCCall | undefined, mergeType?: string): SupabaseFilterRPCCall | undefined;
25
+ mergeFilters(defaultFilter: SupabaseFilterRPCCall | SupabaseMetadata | undefined, generatedFilter: SupabaseFilterRPCCall | undefined, mergeType?: string): SupabaseFilterRPCCall | SupabaseMetadata | undefined;
26
26
  }
27
27
  export {};
@@ -1,6 +1,7 @@
1
1
  import { Comparators, Operators, } from "../../chains/query_constructor/ir.js";
2
2
  import { BaseTranslator } from "./base.js";
3
- import { isFilterEmpty } from "./utils.js";
3
+ import { isFilterEmpty, isFloat, isInt, isObject, isString } from "./utils.js";
4
+ import { ProxyParamsDuplicator, convertObjectFilterToStructuredQuery, } from "./supabase_utils.js";
4
5
  export class SupabaseTranslator extends BaseTranslator {
5
6
  constructor() {
6
7
  super(...arguments);
@@ -54,12 +55,15 @@ export class SupabaseTranslator extends BaseTranslator {
54
55
  }
55
56
  buildColumnName(attr, value, includeType = true) {
56
57
  let column = "";
57
- if (typeof value === "string") {
58
+ if (isString(value)) {
58
59
  column = `metadata->>${attr}`;
59
60
  }
60
- else if (typeof value === "number") {
61
+ else if (isInt(value)) {
61
62
  column = `metadata->${attr}${includeType ? "::int" : ""}`;
62
63
  }
64
+ else if (isFloat(value)) {
65
+ column = `metadata->${attr}${includeType ? "::float" : ""}`;
66
+ }
63
67
  else {
64
68
  throw new Error("Data type not supported");
65
69
  }
@@ -143,9 +147,6 @@ export class SupabaseTranslator extends BaseTranslator {
143
147
  return { filter: filterFunction ?? {} };
144
148
  }
145
149
  mergeFilters(defaultFilter, generatedFilter, mergeType = "and") {
146
- if (mergeType === "or") {
147
- throw new Error("Supabase self-query filter does not support merging two filters with the OR operator");
148
- }
149
150
  if (isFilterEmpty(defaultFilter) && isFilterEmpty(generatedFilter)) {
150
151
  return undefined;
151
152
  }
@@ -161,8 +162,28 @@ export class SupabaseTranslator extends BaseTranslator {
161
162
  }
162
163
  return defaultFilter;
163
164
  }
164
- if (mergeType === "and") {
165
- return (rpc) => generatedFilter(defaultFilter(rpc));
165
+ let myDefaultFilter = defaultFilter;
166
+ if (isObject(defaultFilter)) {
167
+ const { filter } = this.visitStructuredQuery(convertObjectFilterToStructuredQuery(defaultFilter));
168
+ // just in case the built filter is empty somehow
169
+ if (isFilterEmpty(filter)) {
170
+ if (isFilterEmpty(generatedFilter)) {
171
+ return undefined;
172
+ }
173
+ return generatedFilter;
174
+ }
175
+ myDefaultFilter = filter;
176
+ }
177
+ // After this point, myDefaultFilter will always be SupabaseFilterRPCCall
178
+ if (mergeType === "or") {
179
+ return (rpc) => {
180
+ const defaultFlattenedParams = ProxyParamsDuplicator.getFlattenedParams(rpc, myDefaultFilter);
181
+ const generatedFlattenedParams = ProxyParamsDuplicator.getFlattenedParams(rpc, generatedFilter);
182
+ return rpc.or(`${defaultFlattenedParams},${generatedFlattenedParams}`);
183
+ };
184
+ }
185
+ else if (mergeType === "and") {
186
+ return (rpc) => generatedFilter(myDefaultFilter(rpc));
166
187
  }
167
188
  else {
168
189
  throw new Error("Unknown merge type");
@@ -0,0 +1,177 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.convertObjectFilterToStructuredQuery = exports.ProxyParamsDuplicator = void 0;
4
+ const ir_js_1 = require("../../chains/query_constructor/ir.cjs");
5
+ class ProxyParamsDuplicator {
6
+ constructor() {
7
+ Object.defineProperty(this, "duplicationAllowedOps", {
8
+ enumerable: true,
9
+ configurable: true,
10
+ writable: true,
11
+ value: [
12
+ "eq",
13
+ "neq",
14
+ "lt",
15
+ "lte",
16
+ "gt",
17
+ "gte",
18
+ "like",
19
+ "ilike",
20
+ "or",
21
+ "in",
22
+ "contains",
23
+ "match",
24
+ "not",
25
+ "textSearch",
26
+ "filter",
27
+ ]
28
+ });
29
+ Object.defineProperty(this, "values", {
30
+ enumerable: true,
31
+ configurable: true,
32
+ writable: true,
33
+ value: []
34
+ });
35
+ }
36
+ buildProxyHandler() {
37
+ const proxyHandler = {
38
+ get: (target, prop, receiver) => {
39
+ if (typeof target[prop] === "function") {
40
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
41
+ return (...args) => {
42
+ if (this.duplicationAllowedOps.includes(String(prop))) {
43
+ switch (String(prop)) {
44
+ case "or":
45
+ // args[0]: filters, args[1]: { foreignTable }
46
+ this.addOrClause(args[0], args[1]);
47
+ break;
48
+ case "filter":
49
+ // args[0]: column, args[1]: operator, args[2]: value
50
+ this.addFilterClause(args[0], args[1], args[2]);
51
+ break;
52
+ case "in":
53
+ // args[0]: column, args[1]: values
54
+ this.addInClause(args[0], args[1]);
55
+ break;
56
+ case "contains":
57
+ // args[0]: column, args[1]: value
58
+ this.addContainsClause(args[0], args[1]);
59
+ break;
60
+ case "textSearch":
61
+ // args[0]: column, args[1]: query, args[2]: { config, type }
62
+ this.addTextSearchClause(args[0], args[1], args[2]);
63
+ break;
64
+ case "match":
65
+ // args[0]: query
66
+ this.addMatchClause(args[0]);
67
+ break;
68
+ case "not":
69
+ // args[0]: column, args[1]: operator, args[2]: value
70
+ this.addNotClause(args[0], args[1], args[2]);
71
+ break;
72
+ default:
73
+ // args[0]: column, args[1]: value
74
+ this.addDefaultOpClause(prop, args[0], args[1]);
75
+ }
76
+ return new Proxy(target, proxyHandler);
77
+ }
78
+ else {
79
+ throw new Error("Filter operation not supported for 'or' mergeFiltersOperator");
80
+ }
81
+ };
82
+ }
83
+ else {
84
+ return Reflect.get(target, prop, receiver);
85
+ }
86
+ },
87
+ };
88
+ return proxyHandler;
89
+ }
90
+ removeType(value) {
91
+ let cleanedValue = value;
92
+ if (cleanedValue.includes("::float")) {
93
+ cleanedValue = cleanedValue.replace("::float", "");
94
+ }
95
+ if (cleanedValue.includes("::int")) {
96
+ cleanedValue = cleanedValue.replace("::int", "");
97
+ }
98
+ return cleanedValue;
99
+ }
100
+ addDefaultOpClause(prop, column, value) {
101
+ this.values.push([this.removeType(column), `${String(prop)}.${value}`]);
102
+ }
103
+ addOrClause(filters, { foreignTable } = {}) {
104
+ const key = foreignTable ? `${foreignTable}.or` : "or";
105
+ this.values.push([this.removeType(key), `(${filters})`]);
106
+ }
107
+ addFilterClause(column, operator, value) {
108
+ this.values.push([this.removeType(column), `${operator}.${value}`]);
109
+ }
110
+ addInClause(column, values) {
111
+ const cleanedValues = values
112
+ .map((s) => {
113
+ if (typeof s === "string" && /[,()]/.test(s))
114
+ return `"${s}"`;
115
+ else
116
+ return `${s}`;
117
+ })
118
+ .join(",");
119
+ this.values.push([this.removeType(column), `in.(${cleanedValues})`]);
120
+ }
121
+ addContainsClause(column, value) {
122
+ if (typeof value === "string") {
123
+ this.values.push([this.removeType(column), `cs.${value}`]);
124
+ }
125
+ else if (Array.isArray(value)) {
126
+ this.values.push([this.removeType(column), `cs.{${value.join(",")}}`]);
127
+ }
128
+ else {
129
+ this.values.push([
130
+ this.removeType(column),
131
+ `cs.${JSON.stringify(value)}`,
132
+ ]);
133
+ }
134
+ }
135
+ addTextSearchClause(column, query, { config, type, } = {}) {
136
+ let typePart = "";
137
+ if (type === "plain") {
138
+ typePart = "pl";
139
+ }
140
+ else if (type === "phrase") {
141
+ typePart = "ph";
142
+ }
143
+ else if (type === "websearch") {
144
+ typePart = "w";
145
+ }
146
+ const configPart = config === undefined ? "" : `(${config})`;
147
+ this.values.push([
148
+ this.removeType(column),
149
+ `${typePart}fts${configPart}.${query}`,
150
+ ]);
151
+ }
152
+ addNotClause(column, operator, value) {
153
+ this.values.push([column, `not.${operator}.${value}`]);
154
+ }
155
+ addMatchClause(query) {
156
+ Object.entries(query).forEach(([column, value]) => {
157
+ this.values.push([column, `eq.${value}`]);
158
+ });
159
+ }
160
+ flattenedParams() {
161
+ const mapped = this.values.map(([k, v]) => `${k}.${v}`);
162
+ if (mapped.length === 1)
163
+ return mapped[0];
164
+ return `and(${mapped.join(",")})`;
165
+ }
166
+ static getFlattenedParams(rpc, filter) {
167
+ const proxiedDuplicator = new ProxyParamsDuplicator();
168
+ const proxiedRpc = new Proxy(rpc, proxiedDuplicator.buildProxyHandler());
169
+ void filter(proxiedRpc);
170
+ return proxiedDuplicator.flattenedParams();
171
+ }
172
+ }
173
+ exports.ProxyParamsDuplicator = ProxyParamsDuplicator;
174
+ function convertObjectFilterToStructuredQuery(objFilter) {
175
+ return new ir_js_1.StructuredQuery("", new ir_js_1.Operation(ir_js_1.Operators.and, Object.entries(objFilter).map(([column, value]) => new ir_js_1.Comparison(ir_js_1.Comparators.eq, column, value))));
176
+ }
177
+ exports.convertObjectFilterToStructuredQuery = convertObjectFilterToStructuredQuery;
@@ -0,0 +1,24 @@
1
+ import { StructuredQuery } from "../../chains/query_constructor/ir.js";
2
+ import type { SupabaseFilter, SupabaseFilterRPCCall, SupabaseMetadata } from "../../vectorstores/supabase.js";
3
+ export declare class ProxyParamsDuplicator {
4
+ duplicationAllowedOps: string[];
5
+ values: [string, string][];
6
+ buildProxyHandler(): ProxyHandler<SupabaseFilter>;
7
+ removeType(value: string): string;
8
+ addDefaultOpClause(prop: string, column: string, value: unknown): void;
9
+ addOrClause(filters: string, { foreignTable }?: {
10
+ foreignTable?: string;
11
+ }): void;
12
+ addFilterClause(column: string, operator: string, value: unknown): void;
13
+ addInClause(column: string, values: unknown[]): void;
14
+ addContainsClause(column: string, value: unknown): void;
15
+ addTextSearchClause(column: string, query: string[], { config, type, }?: {
16
+ config?: string;
17
+ type?: "plain" | "phrase" | "websearch";
18
+ }): void;
19
+ addNotClause(column: string, operator: string, value: unknown): void;
20
+ addMatchClause(query: Record<string, unknown>): void;
21
+ flattenedParams(): string;
22
+ static getFlattenedParams(rpc: SupabaseFilter, filter: SupabaseFilterRPCCall): string;
23
+ }
24
+ export declare function convertObjectFilterToStructuredQuery(objFilter: SupabaseMetadata): StructuredQuery;