langchain 0.0.24 → 0.0.26

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 (146) hide show
  1. package/dist/agents/agent.d.ts +1 -1
  2. package/dist/agents/agent.js.map +1 -1
  3. package/dist/agents/agent_toolkits/sql/sql.d.ts +2 -1
  4. package/dist/agents/agent_toolkits/sql/sql.js.map +1 -1
  5. package/dist/agents/chat/index.d.ts +41 -0
  6. package/dist/agents/chat/index.js +99 -0
  7. package/dist/agents/chat/index.js.map +1 -0
  8. package/dist/agents/chat/prompt.d.ts +3 -0
  9. package/dist/agents/chat/prompt.js +26 -0
  10. package/dist/agents/chat/prompt.js.map +1 -0
  11. package/dist/agents/helpers.d.ts +2 -2
  12. package/dist/agents/helpers.js.map +1 -1
  13. package/dist/agents/index.d.ts +1 -0
  14. package/dist/agents/index.js +1 -0
  15. package/dist/agents/index.js.map +1 -1
  16. package/dist/agents/initialize.d.ts +2 -2
  17. package/dist/agents/initialize.js +7 -0
  18. package/dist/agents/initialize.js.map +1 -1
  19. package/dist/agents/mrkl/index.d.ts +3 -3
  20. package/dist/agents/mrkl/index.js.map +1 -1
  21. package/dist/agents/tests/sql.test.js +64 -40
  22. package/dist/agents/tests/sql.test.js.map +1 -1
  23. package/dist/agents/tools/calculator.js +1 -2
  24. package/dist/agents/tools/calculator.js.map +1 -1
  25. package/dist/agents/tools/index.d.ts +1 -1
  26. package/dist/agents/tools/index.js +1 -1
  27. package/dist/agents/tools/index.js.map +1 -1
  28. package/dist/agents/tools/json.d.ts +1 -3
  29. package/dist/agents/tools/json.js +3 -1
  30. package/dist/agents/tools/json.js.map +1 -1
  31. package/dist/agents/tools/sql.d.ts +1 -9
  32. package/dist/agents/tools/sql.js +4 -74
  33. package/dist/agents/tools/sql.js.map +1 -1
  34. package/dist/chains/base.d.ts +2 -1
  35. package/dist/chains/base.js.map +1 -1
  36. package/dist/chains/chat_vector_db_chain.js +2 -2
  37. package/dist/chains/chat_vector_db_chain.js.map +1 -1
  38. package/dist/chains/index.d.ts +2 -1
  39. package/dist/chains/index.js +2 -1
  40. package/dist/chains/index.js.map +1 -1
  41. package/dist/chains/prompt_selector.d.ts +21 -0
  42. package/dist/chains/prompt_selector.js +38 -0
  43. package/dist/chains/prompt_selector.js.map +1 -0
  44. package/dist/chains/question_answering/load.d.ts +9 -0
  45. package/dist/chains/question_answering/load.js +22 -2
  46. package/dist/chains/question_answering/load.js.map +1 -1
  47. package/dist/chains/question_answering/map_reduce_prompts.d.ts +3 -0
  48. package/dist/chains/question_answering/map_reduce_prompts.js +22 -1
  49. package/dist/chains/question_answering/map_reduce_prompts.js.map +1 -1
  50. package/dist/chains/question_answering/stuff_prompts.d.ts +2 -0
  51. package/dist/chains/question_answering/stuff_prompts.js +12 -1
  52. package/dist/chains/question_answering/stuff_prompts.js.map +1 -1
  53. package/dist/chains/question_answering/tests/load.int.test.js +5 -5
  54. package/dist/chains/question_answering/tests/load.int.test.js.map +1 -1
  55. package/dist/chains/sql_db/sql_db_chain.d.ts +32 -0
  56. package/dist/chains/sql_db/sql_db_chain.js +130 -0
  57. package/dist/chains/sql_db/sql_db_chain.js.map +1 -0
  58. package/dist/chains/sql_db/sql_db_prompt.d.ts +2 -0
  59. package/dist/chains/sql_db/sql_db_prompt.js +24 -0
  60. package/dist/chains/sql_db/sql_db_prompt.js.map +1 -0
  61. package/dist/chains/summarization/tests/load.int.test.js +1 -1
  62. package/dist/chains/summarization/tests/load.int.test.js.map +1 -1
  63. package/dist/chains/tests/combine_docs_chain.int.test.js +2 -2
  64. package/dist/chains/tests/combine_docs_chain.int.test.js.map +1 -1
  65. package/dist/chains/tests/combine_docs_chain.test.js +2 -2
  66. package/dist/chains/tests/combine_docs_chain.test.js.map +1 -1
  67. package/dist/chains/tests/sql_db_chain.int.test.js +36 -0
  68. package/dist/chains/tests/sql_db_chain.int.test.js.map +1 -0
  69. package/dist/chains/vector_db_qa.js +3 -4
  70. package/dist/chains/vector_db_qa.js.map +1 -1
  71. package/dist/chat_models/index.d.ts +1 -0
  72. package/dist/chat_models/index.js +1 -0
  73. package/dist/chat_models/index.js.map +1 -1
  74. package/dist/chat_models/openai.d.ts +2 -0
  75. package/dist/document_loaders/index.d.ts +2 -0
  76. package/dist/document_loaders/index.js +2 -0
  77. package/dist/document_loaders/index.js.map +1 -1
  78. package/dist/document_loaders/notion_markdown.d.ts +4 -0
  79. package/dist/document_loaders/notion_markdown.js +10 -0
  80. package/dist/document_loaders/notion_markdown.js.map +1 -0
  81. package/dist/document_loaders/puppeteer_web_base.d.ts +26 -0
  82. package/dist/document_loaders/puppeteer_web_base.js +60 -0
  83. package/dist/document_loaders/puppeteer_web_base.js.map +1 -0
  84. package/dist/document_loaders/tests/notion_markdown.test.d.ts +1 -0
  85. package/dist/document_loaders/tests/notion_markdown.test.js +12 -0
  86. package/dist/document_loaders/tests/notion_markdown.test.js.map +1 -0
  87. package/dist/document_loaders/tests/puppeteer_web.int.test.d.ts +1 -0
  88. package/dist/document_loaders/tests/puppeteer_web.int.test.js +29 -0
  89. package/dist/document_loaders/tests/puppeteer_web.int.test.js.map +1 -0
  90. package/dist/embeddings/index.d.ts +1 -0
  91. package/dist/embeddings/index.js +1 -0
  92. package/dist/embeddings/index.js.map +1 -1
  93. package/dist/llms/openai-chat.d.ts +2 -0
  94. package/dist/prompts/base.d.ts +8 -0
  95. package/dist/prompts/base.js +2 -0
  96. package/dist/prompts/base.js.map +1 -1
  97. package/dist/prompts/few_shot.d.ts +8 -11
  98. package/dist/prompts/few_shot.js +6 -6
  99. package/dist/prompts/few_shot.js.map +1 -1
  100. package/dist/prompts/index.d.ts +3 -1
  101. package/dist/prompts/index.js +3 -1
  102. package/dist/prompts/index.js.map +1 -1
  103. package/dist/prompts/selectors/LengthBasedExampleSelector.d.ts +20 -0
  104. package/dist/prompts/selectors/LengthBasedExampleSelector.js +77 -0
  105. package/dist/prompts/selectors/LengthBasedExampleSelector.js.map +1 -0
  106. package/dist/prompts/selectors/SemanticSimilarityExampleSelector.d.ts +22 -0
  107. package/dist/prompts/selectors/SemanticSimilarityExampleSelector.js +74 -0
  108. package/dist/prompts/selectors/SemanticSimilarityExampleSelector.js.map +1 -0
  109. package/dist/prompts/tests/few_shot.test.js +21 -0
  110. package/dist/prompts/tests/few_shot.test.js.map +1 -1
  111. package/dist/prompts/tests/selectors.test.d.ts +1 -0
  112. package/dist/prompts/tests/selectors.test.js +36 -0
  113. package/dist/prompts/tests/selectors.test.js.map +1 -0
  114. package/dist/sql_db.d.ts +31 -0
  115. package/dist/sql_db.js +112 -0
  116. package/dist/sql_db.js.map +1 -0
  117. package/dist/tests/sql_database.int.test.d.ts +1 -0
  118. package/dist/tests/sql_database.int.test.js +77 -0
  119. package/dist/tests/sql_database.int.test.js.map +1 -0
  120. package/dist/util/sql_utils.d.ts +29 -0
  121. package/dist/util/sql_utils.js +123 -0
  122. package/dist/util/sql_utils.js.map +1 -0
  123. package/dist/util/tests/sql_utils.test.d.ts +1 -0
  124. package/dist/util/tests/sql_utils.test.js +41 -0
  125. package/dist/util/tests/sql_utils.test.js.map +1 -0
  126. package/dist/vectorstores/base.d.ts +2 -0
  127. package/dist/vectorstores/base.js +5 -0
  128. package/dist/vectorstores/base.js.map +1 -1
  129. package/dist/vectorstores/chroma.d.ts +4 -1
  130. package/dist/vectorstores/chroma.js +2 -2
  131. package/dist/vectorstores/chroma.js.map +1 -1
  132. package/dist/vectorstores/hnswlib.d.ts +3 -1
  133. package/dist/vectorstores/hnswlib.js +2 -1
  134. package/dist/vectorstores/hnswlib.js.map +1 -1
  135. package/dist/vectorstores/pinecone.d.ts +5 -1
  136. package/dist/vectorstores/pinecone.js +3 -2
  137. package/dist/vectorstores/pinecone.js.map +1 -1
  138. package/dist/vectorstores/supabase.d.ts +3 -1
  139. package/dist/vectorstores/supabase.js +13 -3
  140. package/dist/vectorstores/supabase.js.map +1 -1
  141. package/package.json +14 -1
  142. package/sql_db.d.ts +1 -0
  143. package/sql_db.js +1 -0
  144. package/dist/embeddings/cohere.js +0 -2
  145. package/dist/embeddings/cohere.js.map +0 -1
  146. /package/dist/{embeddings/cohere.d.ts → chains/tests/sql_db_chain.int.test.d.ts} +0 -0
@@ -71,7 +71,7 @@ export declare abstract class Agent {
71
71
  /**
72
72
  * Construct a scratchpad to let the agent continue its thought process
73
73
  */
74
- private constructScratchPad;
74
+ constructScratchPad(steps: AgentStep[]): string;
75
75
  private _plan;
76
76
  /**
77
77
  * Decide what to do given some input.
@@ -1 +1 @@
1
- {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/agents/agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/agents/agent.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,9 @@
1
- import { Tool, SqlDatabase } from "../../tools/index.js";
1
+ import { Tool } from "../../tools/index.js";
2
2
  import { Toolkit } from "../base.js";
3
3
  import { BaseLLM } from "../../../llms/index.js";
4
4
  import { CreatePromptArgs } from "../../mrkl/index.js";
5
5
  import { AgentExecutor } from "../../executor.js";
6
+ import { SqlDatabase } from "../../../sql_db.js";
6
7
  type SqlCreatePromptArgs = {
7
8
  /** Number of results to return. */
8
9
  topK?: number;
@@ -1 +1 @@
1
- {"version":3,"file":"sql.js","sourceRoot":"","sources":["../../../../src/agents/agent_toolkits/sql/sql.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,WAAW,EACX,iBAAiB,EACjB,gBAAgB,EAChB,YAAY,GAEb,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAErC,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACpD,OAAO,EAAE,aAAa,EAAoB,MAAM,qBAAqB,CAAC;AACtE,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAOlD,MAAM,OAAO,UAAW,SAAQ,OAAO;IAOrC,YAAY,EAAe;QACzB,KAAK,EAAE,CAAC;QAPV;;;;;WAAc;QAEd;;;;;WAAgB;QAEhB;;;;mBAAU,QAAQ;WAAC;QAIjB,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,KAAK,GAAG;YACX,IAAI,YAAY,CAAC,EAAE,CAAC;YACpB,IAAI,WAAW,CAAC,EAAE,CAAC;YACnB,IAAI,iBAAiB,CAAC,EAAE,CAAC;YACzB,IAAI,gBAAgB,EAAE;SACvB,CAAC;IACJ,CAAC;CACF;AAED,MAAM,UAAU,cAAc,CAC5B,GAAY,EACZ,OAAmB,EACnB,IAA0B;IAE1B,MAAM,EACJ,MAAM,GAAG,UAAU,EACnB,MAAM,GAAG,UAAU,EACnB,cAAc,GAAG,CAAC,OAAO,EAAE,kBAAkB,CAAC,EAC9C,IAAI,GAAG,EAAE,GACV,GAAG,IAAI,IAAI,EAAE,CAAC;IACf,MAAM,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC;IAC1B,MAAM,eAAe,GAAG,kBAAkB,CAAC,MAAM,EAAE;QACjD,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,KAAK,EAAE,IAAI;KACZ,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,aAAa,CAAC,YAAY,CAAC,KAAK,EAAE;QAC/C,MAAM,EAAE,eAAe;QACvB,MAAM;QACN,cAAc;KACf,CAAC,CAAC;IACH,MAAM,KAAK,GAAG,IAAI,QAAQ,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;IAC5C,MAAM,KAAK,GAAG,IAAI,aAAa,CAAC;QAC9B,QAAQ,EAAE,KAAK;QACf,YAAY,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;KACvC,CAAC,CAAC;IACH,OAAO,aAAa,CAAC,iBAAiB,CAAC;QACrC,KAAK;QACL,KAAK;QACL,uBAAuB,EAAE,IAAI;KAC9B,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"sql.js","sourceRoot":"","sources":["../../../../src/agents/agent_toolkits/sql/sql.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,WAAW,EACX,iBAAiB,EACjB,gBAAgB,EAChB,YAAY,GACb,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAErC,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACpD,OAAO,EAAE,aAAa,EAAoB,MAAM,qBAAqB,CAAC;AACtE,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAQlD,MAAM,OAAO,UAAW,SAAQ,OAAO;IAOrC,YAAY,EAAe;QACzB,KAAK,EAAE,CAAC;QAPV;;;;;WAAc;QAEd;;;;;WAAgB;QAEhB;;;;mBAAU,QAAQ;WAAC;QAIjB,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,KAAK,GAAG;YACX,IAAI,YAAY,CAAC,EAAE,CAAC;YACpB,IAAI,WAAW,CAAC,EAAE,CAAC;YACnB,IAAI,iBAAiB,CAAC,EAAE,CAAC;YACzB,IAAI,gBAAgB,EAAE;SACvB,CAAC;IACJ,CAAC;CACF;AAED,MAAM,UAAU,cAAc,CAC5B,GAAY,EACZ,OAAmB,EACnB,IAA0B;IAE1B,MAAM,EACJ,MAAM,GAAG,UAAU,EACnB,MAAM,GAAG,UAAU,EACnB,cAAc,GAAG,CAAC,OAAO,EAAE,kBAAkB,CAAC,EAC9C,IAAI,GAAG,EAAE,GACV,GAAG,IAAI,IAAI,EAAE,CAAC;IACf,MAAM,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC;IAC1B,MAAM,eAAe,GAAG,kBAAkB,CAAC,MAAM,EAAE;QACjD,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,KAAK,EAAE,IAAI;KACZ,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,aAAa,CAAC,YAAY,CAAC,KAAK,EAAE;QAC/C,MAAM,EAAE,eAAe;QACvB,MAAM;QACN,cAAc;KACf,CAAC,CAAC;IACH,MAAM,KAAK,GAAG,IAAI,QAAQ,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;IAC5C,MAAM,KAAK,GAAG,IAAI,aAAa,CAAC;QAC9B,QAAQ,EAAE,KAAK;QACf,YAAY,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;KACvC,CAAC,CAAC;IACH,OAAO,aAAa,CAAC,iBAAiB,CAAC;QACrC,KAAK;QACL,KAAK;QACL,uBAAuB,EAAE,IAAI;KAC9B,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,41 @@
1
+ import { BaseLanguageModel } from "../../schema/index.js";
2
+ import { Agent, Tool, AgentInput, AgentStep } from "../index.js";
3
+ import { ChatPromptTemplate } from "../../prompts/index.js";
4
+ export type CreatePromptArgs = {
5
+ /** String to put after the list of tools. */
6
+ suffix?: string;
7
+ /** String to put before the list of tools. */
8
+ prefix?: string;
9
+ /** List of input variables the final prompt will expect. */
10
+ inputVariables?: string[];
11
+ };
12
+ type ZeroShotAgentInput = AgentInput;
13
+ /**
14
+ * Agent for the MRKL chain.
15
+ * @augments Agent
16
+ * @augments StaticAgent
17
+ */
18
+ export declare class ChatAgent extends Agent {
19
+ constructor(input: ZeroShotAgentInput);
20
+ _agentType(): "zero-shot-react-description";
21
+ observationPrefix(): string;
22
+ llmPrefix(): string;
23
+ _stop(): string[];
24
+ static validateTools(tools: Tool[]): void;
25
+ constructScratchPad(steps: AgentStep[]): string;
26
+ /**
27
+ * Create prompt in the style of the zero shot agent.
28
+ *
29
+ * @param tools - List of tools the agent will have access to, used to format the prompt.
30
+ * @param args - Arguments to create the prompt with.
31
+ * @param args.suffix - String to put after the list of tools.
32
+ * @param args.prefix - String to put before the list of tools.
33
+ */
34
+ static createPrompt(tools: Tool[], args?: CreatePromptArgs): ChatPromptTemplate;
35
+ static fromLLMAndTools(llm: BaseLanguageModel, tools: Tool[], args?: CreatePromptArgs): ChatAgent;
36
+ extractToolAndInput(text: string): {
37
+ tool: string;
38
+ input: string;
39
+ } | null;
40
+ }
41
+ export {};
@@ -0,0 +1,99 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var ChatAgent_1;
8
+ import { LLMChain } from "../../chains/index.js";
9
+ import { Agent, staticImplements, } from "../index.js";
10
+ import { SystemMessagePromptTemplate, HumanMessagePromptTemplate, ChatPromptTemplate, } from "../../prompts/index.js";
11
+ import { PREFIX, SUFFIX, FORMAT_INSTRUCTIONS } from "./prompt.js";
12
+ const FINAL_ANSWER_ACTION = "Final Answer:";
13
+ /**
14
+ * Agent for the MRKL chain.
15
+ * @augments Agent
16
+ * @augments StaticAgent
17
+ */
18
+ let ChatAgent = ChatAgent_1 = class ChatAgent extends Agent {
19
+ constructor(input) {
20
+ super(input);
21
+ }
22
+ _agentType() {
23
+ return "zero-shot-react-description";
24
+ }
25
+ observationPrefix() {
26
+ return "Observation: ";
27
+ }
28
+ llmPrefix() {
29
+ return "Thought:";
30
+ }
31
+ _stop() {
32
+ return ["Observation:"];
33
+ }
34
+ static validateTools(tools) {
35
+ const invalidTool = tools.find((tool) => !tool.description);
36
+ if (invalidTool) {
37
+ const msg = `Got a tool ${invalidTool.name} without a description.` +
38
+ ` This agent requires descriptions for all tools.`;
39
+ throw new Error(msg);
40
+ }
41
+ }
42
+ constructScratchPad(steps) {
43
+ const agentScratchpad = super.constructScratchPad(steps);
44
+ if (agentScratchpad) {
45
+ return `This was your previous work (but I haven't seen any of it! I only see what you return as final answer):\n${agentScratchpad}`;
46
+ }
47
+ return agentScratchpad;
48
+ }
49
+ /**
50
+ * Create prompt in the style of the zero shot agent.
51
+ *
52
+ * @param tools - List of tools the agent will have access to, used to format the prompt.
53
+ * @param args - Arguments to create the prompt with.
54
+ * @param args.suffix - String to put after the list of tools.
55
+ * @param args.prefix - String to put before the list of tools.
56
+ */
57
+ static createPrompt(tools, args) {
58
+ const { prefix = PREFIX, suffix = SUFFIX } = args ?? {};
59
+ const toolStrings = tools
60
+ .map((tool) => `${tool.name}: ${tool.description}`)
61
+ .join("\n");
62
+ const template = [prefix, toolStrings, FORMAT_INSTRUCTIONS, suffix].join("\n\n");
63
+ const messages = [
64
+ SystemMessagePromptTemplate.fromTemplate(template),
65
+ HumanMessagePromptTemplate.fromTemplate("{input}\n\n{agent_scratchpad}"),
66
+ ];
67
+ return ChatPromptTemplate.fromPromptMessages(messages);
68
+ }
69
+ static fromLLMAndTools(llm, tools, args) {
70
+ ChatAgent_1.validateTools(tools);
71
+ const prompt = ChatAgent_1.createPrompt(tools, args);
72
+ const chain = new LLMChain({ prompt, llm });
73
+ return new ChatAgent_1({
74
+ llmChain: chain,
75
+ allowedTools: tools.map((t) => t.name),
76
+ });
77
+ }
78
+ extractToolAndInput(text) {
79
+ if (text.includes(FINAL_ANSWER_ACTION)) {
80
+ const parts = text.split(FINAL_ANSWER_ACTION);
81
+ const input = parts[parts.length - 1].trim();
82
+ return { tool: "Final Answer", input };
83
+ }
84
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
85
+ const [_, action, __] = text.split("```");
86
+ try {
87
+ const response = JSON.parse(action.trim());
88
+ return { tool: response.action, input: response.action_input };
89
+ }
90
+ catch {
91
+ throw new Error(`Unable to parse JSON response from chat agent.\n\n${text}`);
92
+ }
93
+ }
94
+ };
95
+ ChatAgent = ChatAgent_1 = __decorate([
96
+ (staticImplements)
97
+ ], ChatAgent);
98
+ export { ChatAgent };
99
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/agents/chat/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export declare const PREFIX = "Answer the following questions as best you can. You have access to the following tools:";
2
+ export declare const FORMAT_INSTRUCTIONS = "The way you use the tools is by specifying a json blob, denoted below by $JSON_BLOB\nSpecifically, this $JSON_BLOB should have a \"action\" key (with the name of the tool to use) and a \"action_input\" key (with the input to the tool going here). \nThe $JSON_BLOB should only contain a SINGLE action, do NOT return a list of multiple actions. Here is an example of a valid $JSON_BLOB:\n\n```\n{{\n \"action\": \"calculator\",\n \"action_input\": \"1 + 2\"\n}}\n```\n\nALWAYS use the following format:\n\nQuestion: the input question you must answer\nThought: you should always think about what to do\nAction: \n```\n$JSON_BLOB\n```\nObservation: the result of the action\n... (this Thought/Action/Observation can repeat N times)\nThought: I now know the final answer\nFinal Answer: the final answer to the original input question";
3
+ export declare const SUFFIX = "Begin! Reminder to always use the exact characters `Final Answer` when responding.";
@@ -0,0 +1,26 @@
1
+ export const PREFIX = `Answer the following questions as best you can. You have access to the following tools:`;
2
+ export const FORMAT_INSTRUCTIONS = `The way you use the tools is by specifying a json blob, denoted below by $JSON_BLOB
3
+ Specifically, this $JSON_BLOB should have a "action" key (with the name of the tool to use) and a "action_input" key (with the input to the tool going here).
4
+ The $JSON_BLOB should only contain a SINGLE action, do NOT return a list of multiple actions. Here is an example of a valid $JSON_BLOB:
5
+
6
+ \`\`\`
7
+ {{
8
+ "action": "calculator",
9
+ "action_input": "1 + 2"
10
+ }}
11
+ \`\`\`
12
+
13
+ ALWAYS use the following format:
14
+
15
+ Question: the input question you must answer
16
+ Thought: you should always think about what to do
17
+ Action:
18
+ \`\`\`
19
+ $JSON_BLOB
20
+ \`\`\`
21
+ Observation: the result of the action
22
+ ... (this Thought/Action/Observation can repeat N times)
23
+ Thought: I now know the final answer
24
+ Final Answer: the final answer to the original input question`;
25
+ export const SUFFIX = `Begin! Reminder to always use the exact characters \`Final Answer\` when responding.`;
26
+ //# sourceMappingURL=prompt.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prompt.js","sourceRoot":"","sources":["../../../src/agents/chat/prompt.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,MAAM,GAAG,yFAAyF,CAAC;AAChH,MAAM,CAAC,MAAM,mBAAmB,GAAG;;;;;;;;;;;;;;;;;;;;;;8DAsB2B,CAAC;AAC/D,MAAM,CAAC,MAAM,MAAM,GAAG,sFAAsF,CAAC"}
@@ -1,4 +1,4 @@
1
1
  import type { SerializedAgentT, AgentInput } from "./index.js";
2
2
  import { Tool } from "./tools/index.js";
3
- import { BaseLLM } from "../llms/index.js";
4
- export declare const deserializeHelper: <T extends string, U, V extends AgentInput, Z>(llm: BaseLLM | undefined, tools: Tool[] | undefined, data: SerializedAgentT<T, U, V>, fromLLMAndTools: (llm: BaseLLM, tools: Tool[], args: U) => Z, fromConstructor: (args: V) => Z) => Promise<Z>;
3
+ import { BaseLanguageModel } from "../schema/index.js";
4
+ export declare const deserializeHelper: <T extends string, U, V extends AgentInput, Z>(llm: BaseLanguageModel | undefined, tools: Tool[] | undefined, data: SerializedAgentT<T, U, V>, fromLLMAndTools: (llm: BaseLanguageModel, tools: Tool[], args: U) => Z, fromConstructor: (args: V) => Z) => Promise<Z>;
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/agents/helpers.ts"],"names":[],"mappings":"AAGA,OAAO,EAAsB,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAClE,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAEzD,MAAM,CAAC,MAAM,iBAAiB,GAAG,KAAK,EAMpC,GAAwB,EACxB,KAAyB,EACzB,IAA+B,EAC/B,eAA4D,EAC5D,eAA+B,EACnB,EAAE;IACd,IAAI,IAAI,CAAC,uBAAuB,EAAE;QAChC,IAAI,CAAC,GAAG,EAAE;YACR,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;SACtE;QAED,IAAI,CAAC,KAAK,EAAE;YACV,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;SACxE;QAED,OAAO,eAAe,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;KAC1C;IAED,MAAM,kBAAkB,GAAG,MAAM,qBAAqB,CAGpD,WAAW,EAAE,IAAI,CAAC,CAAC;IACrB,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC;IAChE,OAAO,eAAe,CAAC,EAAE,GAAG,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;AAChD,CAAC,CAAC"}
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/agents/helpers.ts"],"names":[],"mappings":"AAGA,OAAO,EAAsB,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAClE,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAEzD,MAAM,CAAC,MAAM,iBAAiB,GAAG,KAAK,EAMpC,GAAkC,EAClC,KAAyB,EACzB,IAA+B,EAC/B,eAAsE,EACtE,eAA+B,EACnB,EAAE;IACd,IAAI,IAAI,CAAC,uBAAuB,EAAE;QAChC,IAAI,CAAC,GAAG,EAAE;YACR,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;SACtE;QAED,IAAI,CAAC,KAAK,EAAE;YACV,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;SACxE;QAED,OAAO,eAAe,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;KAC1C;IAED,MAAM,kBAAkB,GAAG,MAAM,qBAAqB,CAGpD,WAAW,EAAE,IAAI,CAAC,CAAC;IACrB,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC;IAChE,OAAO,eAAe,CAAC,EAAE,GAAG,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;AAChD,CAAC,CAAC"}
@@ -2,6 +2,7 @@ export { AgentAction, AgentFinish, AgentStep, StoppingMethod, SerializedAgentT,
2
2
  export { Agent, StaticAgent, staticImplements, AgentInput } from "./agent.js";
3
3
  export { AgentExecutor } from "./executor.js";
4
4
  export { ZeroShotAgent, SerializedZeroShotAgent } from "./mrkl/index.js";
5
+ export { ChatAgent } from "./chat/index.js";
5
6
  export { Tool } from "./tools/index.js";
6
7
  export { initializeAgentExecutor } from "./initialize.js";
7
8
  export { loadAgent } from "./load.js";
@@ -1,6 +1,7 @@
1
1
  export { Agent, staticImplements } from "./agent.js";
2
2
  export { AgentExecutor } from "./executor.js";
3
3
  export { ZeroShotAgent } from "./mrkl/index.js";
4
+ export { ChatAgent } from "./chat/index.js";
4
5
  export { Tool } from "./tools/index.js";
5
6
  export { initializeAgentExecutor } from "./initialize.js";
6
7
  export { loadAgent } from "./load.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/agents/index.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,KAAK,EAAe,gBAAgB,EAAc,MAAM,YAAY,CAAC;AAC9E,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,aAAa,EAA2B,MAAM,iBAAiB,CAAC;AACzE,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACxC,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAE1D,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,OAAO,EACL,UAAU,EACV,WAAW,EACX,eAAe,EACf,cAAc,EAEd,kBAAkB,EAClB,wBAAwB,EACxB,cAAc,EACd,eAAe,EACf,kBAAkB,EAClB,sBAAsB,GACvB,MAAM,2BAA2B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/agents/index.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,KAAK,EAAe,gBAAgB,EAAc,MAAM,YAAY,CAAC;AAC9E,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,aAAa,EAA2B,MAAM,iBAAiB,CAAC;AACzE,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACxC,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAE1D,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,OAAO,EACL,UAAU,EACV,WAAW,EACX,eAAe,EACf,cAAc,EAEd,kBAAkB,EAClB,wBAAwB,EACxB,cAAc,EACd,eAAe,EACf,kBAAkB,EAClB,sBAAsB,GACvB,MAAM,2BAA2B,CAAC"}
@@ -1,4 +1,4 @@
1
1
  import { Tool } from "./tools/index.js";
2
- import { BaseLLM } from "../llms/index.js";
2
+ import { BaseLanguageModel } from "../schema/index.js";
3
3
  import { AgentExecutor } from "./executor.js";
4
- export declare const initializeAgentExecutor: (tools: Tool[], llm: BaseLLM, agentType?: string) => Promise<AgentExecutor>;
4
+ export declare const initializeAgentExecutor: (tools: Tool[], llm: BaseLanguageModel, agentType?: string) => Promise<AgentExecutor>;
@@ -1,5 +1,6 @@
1
1
  import { AgentExecutor } from "./executor.js";
2
2
  import { ZeroShotAgent } from "./mrkl/index.js";
3
+ import { ChatAgent } from "./chat/index.js";
3
4
  export const initializeAgentExecutor = async (tools, llm, agentType = "zero-shot-react-description") => {
4
5
  switch (agentType) {
5
6
  case "zero-shot-react-description":
@@ -8,6 +9,12 @@ export const initializeAgentExecutor = async (tools, llm, agentType = "zero-shot
8
9
  tools,
9
10
  returnIntermediateSteps: true,
10
11
  });
12
+ case "chat-zero-shot-react-description":
13
+ return AgentExecutor.fromAgentAndTools({
14
+ agent: ChatAgent.fromLLMAndTools(llm, tools),
15
+ tools,
16
+ returnIntermediateSteps: true,
17
+ });
11
18
  default:
12
19
  throw new Error("Unknown agent type");
13
20
  }
@@ -1 +1 @@
1
- {"version":3,"file":"initialize.js","sourceRoot":"","sources":["../../src/agents/initialize.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,MAAM,CAAC,MAAM,uBAAuB,GAAG,KAAK,EAC1C,KAAa,EACb,GAAY,EACZ,SAAS,GAAG,6BAA6B,EACjB,EAAE;IAC1B,QAAQ,SAAS,EAAE;QACjB,KAAK,6BAA6B;YAChC,OAAO,aAAa,CAAC,iBAAiB,CAAC;gBACrC,KAAK,EAAE,aAAa,CAAC,eAAe,CAAC,GAAG,EAAE,KAAK,CAAC;gBAChD,KAAK;gBACL,uBAAuB,EAAE,IAAI;aAC9B,CAAC,CAAC;QACL;YACE,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;KACzC;AACH,CAAC,CAAC"}
1
+ {"version":3,"file":"initialize.js","sourceRoot":"","sources":["../../src/agents/initialize.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,MAAM,CAAC,MAAM,uBAAuB,GAAG,KAAK,EAC1C,KAAa,EACb,GAAsB,EACtB,SAAS,GAAG,6BAA6B,EACjB,EAAE;IAC1B,QAAQ,SAAS,EAAE;QACjB,KAAK,6BAA6B;YAChC,OAAO,aAAa,CAAC,iBAAiB,CAAC;gBACrC,KAAK,EAAE,aAAa,CAAC,eAAe,CAAC,GAAG,EAAE,KAAK,CAAC;gBAChD,KAAK;gBACL,uBAAuB,EAAE,IAAI;aAC9B,CAAC,CAAC;QACL,KAAK,kCAAkC;YACrC,OAAO,aAAa,CAAC,iBAAiB,CAAC;gBACrC,KAAK,EAAE,SAAS,CAAC,eAAe,CAAC,GAAG,EAAE,KAAK,CAAC;gBAC5C,KAAK;gBACL,uBAAuB,EAAE,IAAI;aAC9B,CAAC,CAAC;QACL;YACE,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;KACzC;AACH,CAAC,CAAC"}
@@ -1,4 +1,4 @@
1
- import { BaseLLM } from "../../llms/index.js";
1
+ import { BaseLanguageModel } from "../../schema/index.js";
2
2
  import { Agent, Tool, AgentInput, SerializedAgentT } from "../index.js";
3
3
  import { PromptTemplate } from "../../prompts/index.js";
4
4
  type SerializedFromLLMAndTools = {
@@ -37,13 +37,13 @@ export declare class ZeroShotAgent extends Agent {
37
37
  * @param args.inputVariables - List of input variables the final prompt will expect.
38
38
  */
39
39
  static createPrompt(tools: Tool[], args?: CreatePromptArgs): PromptTemplate;
40
- static fromLLMAndTools(llm: BaseLLM, tools: Tool[], args?: CreatePromptArgs): ZeroShotAgent;
40
+ static fromLLMAndTools(llm: BaseLanguageModel, tools: Tool[], args?: CreatePromptArgs): ZeroShotAgent;
41
41
  extractToolAndInput(text: string): {
42
42
  tool: string;
43
43
  input: string;
44
44
  } | null;
45
45
  static deserialize(data: SerializedZeroShotAgent & {
46
- llm?: BaseLLM;
46
+ llm?: BaseLanguageModel;
47
47
  tools?: Tool[];
48
48
  }): Promise<ZeroShotAgent>;
49
49
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/agents/mrkl/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/agents/mrkl/index.ts"],"names":[],"mappings":"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"}
@@ -1,64 +1,88 @@
1
1
  import { test, expect, beforeEach, afterEach } from "@jest/globals";
2
- import sqlite3 from "sqlite3";
3
- import { InfoSqlTool, QuerySqlTool, SqlDatabase, ListTablesSqlTool, QueryCheckerTool, } from "../tools/sql.js";
4
- let db;
2
+ import { DataSource } from "typeorm";
3
+ import { InfoSqlTool, QuerySqlTool, ListTablesSqlTool, QueryCheckerTool, } from "../tools/sql.js";
4
+ import { SqlDatabase } from "../../sql_db.js";
5
5
  const previousEnv = process.env;
6
- beforeEach(() => {
7
- db = new sqlite3.Database(":memory:");
8
- db.serialize(() => {
9
- db.run("CREATE TABLE users (id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT, age INTEGER)");
10
- db.run("INSERT INTO users (name, age) VALUES ('Alice', 20)");
11
- db.run("INSERT INTO users (name, age) VALUES ('Bob', 21)");
12
- db.run("INSERT INTO users (name, age) VALUES ('Charlie', 22)");
13
- db.run("CREATE TABLE products (id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT, price INTEGER)");
14
- db.run("INSERT INTO products (name, price) VALUES ('Apple', 100)");
15
- db.run("INSERT INTO products (name, price) VALUES ('Banana', 200)");
16
- db.run("INSERT INTO products (name, price) VALUES ('Orange', 300)");
6
+ let db;
7
+ beforeEach(async () => {
8
+ const datasource = new DataSource({
9
+ type: "sqlite",
10
+ database: ":memory:",
11
+ synchronize: true,
12
+ });
13
+ await datasource.initialize();
14
+ await datasource.query(`
15
+ CREATE TABLE products (id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT, price INTEGER);
16
+ `);
17
+ await datasource.query(`
18
+ INSERT INTO products (name, price) VALUES ('Apple', 100);
19
+ `);
20
+ await datasource.query(`
21
+ INSERT INTO products (name, price) VALUES ('Banana', 200);
22
+ `);
23
+ await datasource.query(`
24
+ INSERT INTO products (name, price) VALUES ('Orange', 300);
25
+ `);
26
+ await datasource.query(`
27
+ CREATE TABLE users (id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT, age INTEGER);
28
+ `);
29
+ await datasource.query(`
30
+ INSERT INTO users (name, age) VALUES ('Alice', 20);
31
+ `);
32
+ await datasource.query(`
33
+ INSERT INTO users (name, age) VALUES ('Bob', 21);
34
+ `);
35
+ await datasource.query(`
36
+ INSERT INTO users (name, age) VALUES ('Charlie', 22);
37
+ `);
38
+ db = await SqlDatabase.fromDataSourceParams({
39
+ appDataSource: datasource,
17
40
  });
18
41
  process.env = { ...previousEnv, OPENAI_API_KEY: "test" };
19
42
  });
20
- afterEach(() => {
21
- db.close();
43
+ afterEach(async () => {
22
44
  process.env = previousEnv;
45
+ await db.appDataSource.destroy();
23
46
  });
24
47
  test("QuerySqlTool", async () => {
25
- const querySqlTool = new QuerySqlTool(new SqlDatabase(db));
48
+ const querySqlTool = new QuerySqlTool(db);
26
49
  const result = await querySqlTool.call("SELECT * FROM users");
27
- expect(result).toBe(`
28
- {"id":1,"name":"Alice","age":20}
29
- {"id":2,"name":"Bob","age":21}
30
- {"id":3,"name":"Charlie","age":22}`.trim());
50
+ expect(result).toBe(`[{"id":1,"name":"Alice","age":20},{"id":2,"name":"Bob","age":21},{"id":3,"name":"Charlie","age":22}]`);
31
51
  });
32
52
  test("QuerySqlTool with error", async () => {
33
- const querySqlTool = new QuerySqlTool(new SqlDatabase(db));
53
+ const querySqlTool = new QuerySqlTool(db);
34
54
  const result = await querySqlTool.call("SELECT * FROM userss");
35
- expect(result).toBe(`Error: SQLITE_ERROR: no such table: userss`);
55
+ expect(result).toBe(`QueryFailedError: SQLITE_ERROR: no such table: userss`);
36
56
  });
37
57
  test("InfoSqlTool", async () => {
38
- const infoSqlTool = new InfoSqlTool(new SqlDatabase(db));
58
+ const infoSqlTool = new InfoSqlTool(db);
39
59
  const result = await infoSqlTool.call("users, products");
40
- expect(result).toBe(`
41
- CREATE TABLE users (id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT, age INTEGER)
42
- {"id":1,"name":"Alice","age":20}
43
- {"id":2,"name":"Bob","age":21}
44
- {"id":3,"name":"Charlie","age":22}
45
-
46
- CREATE TABLE products (id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT, price INTEGER)
47
- {"id":1,"name":"Apple","price":100}
48
- {"id":2,"name":"Banana","price":200}
49
- {"id":3,"name":"Orange","price":300}`.trim());
60
+ const expectStr = `
61
+ CREATE TABLE products (
62
+ id INTEGER , name TEXT , price INTEGER )
63
+ SELECT * FROM "products" LIMIT 3;
64
+ id name price
65
+ 1 Apple 100
66
+ 2 Banana 200
67
+ 3 Orange 300
68
+ CREATE TABLE users (
69
+ id INTEGER , name TEXT , age INTEGER )
70
+ SELECT * FROM "users" LIMIT 3;
71
+ id name age
72
+ 1 Alice 20
73
+ 2 Bob 21
74
+ 3 Charlie 22`;
75
+ expect(result.trim()).toBe(expectStr.trim());
50
76
  });
51
77
  test("InfoSqlTool with error", async () => {
52
- const infoSqlTool = new InfoSqlTool(new SqlDatabase(db));
78
+ const infoSqlTool = new InfoSqlTool(db);
53
79
  const result = await infoSqlTool.call("userss, products");
54
- expect(result).toBe(`Error: table userss does not exist`);
80
+ expect(result).toBe(`Error: Wrong target table name: the table userss was not found in the database`);
55
81
  });
56
82
  test("ListTablesSqlTool", async () => {
57
- const listSqlTool = new ListTablesSqlTool(new SqlDatabase(db));
83
+ const listSqlTool = new ListTablesSqlTool(db);
58
84
  const result = await listSqlTool.call("");
59
- expect(result).toBe(`
60
- products
61
- users`.trim());
85
+ expect(result).toBe(`products, users`);
62
86
  });
63
87
  test("QueryCheckerTool", async () => {
64
88
  const queryCheckerTool = new QueryCheckerTool();
@@ -1 +1 @@
1
- {"version":3,"file":"sql.test.js","sourceRoot":"","sources":["../../../src/agents/tests/sql.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sql.test.js","sourceRoot":"","sources":["../../../src/agents/tests/sql.test.ts"],"names":[],"mappings":"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"}
@@ -13,8 +13,7 @@ export class Calculator extends Tool {
13
13
  enumerable: true,
14
14
  configurable: true,
15
15
  writable: true,
16
- value: `Useful for getting the result of a math expression.
17
- The input to this tool should be a valid mathmatical expression that can be parsed and evaluated by javascript's expr-eval`
16
+ value: `Useful for getting the result of a math expression. The input to this tool should be a valid mathmatical expression that could be executed by a simple calculator.`
18
17
  });
19
18
  }
20
19
  async call(input) {
@@ -1 +1 @@
1
- {"version":3,"file":"calculator.js","sourceRoot":"","sources":["../../../src/agents/tools/calculator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAEnC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,MAAM,OAAO,UAAW,SAAQ,IAAI;IAApC;;QACE;;;;mBAAO,YAAY;WAAC;QAUpB;;;;mBAAc;6HAC6G;WAAC;IAC9H,CAAC;IAVC,KAAK,CAAC,IAAI,CAAC,KAAa;QACtB,IAAI;YACF,OAAO,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC;SAC1C;QAAC,OAAO,KAAK,EAAE;YACd,OAAO,8BAA8B,CAAC;SACvC;IACH,CAAC;CAIF"}
1
+ {"version":3,"file":"calculator.js","sourceRoot":"","sources":["../../../src/agents/tools/calculator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAEnC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,MAAM,OAAO,UAAW,SAAQ,IAAI;IAApC;;QACE;;;;mBAAO,YAAY;WAAC;QAUpB;;;;mBAAc,oKAAoK;WAAC;IACrL,CAAC;IATC,KAAK,CAAC,IAAI,CAAC,KAAa;QACtB,IAAI;YACF,OAAO,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC;SAC1C;QAAC,OAAO,KAAK,EAAE;YACd,OAAO,8BAA8B,CAAC;SACvC;IACH,CAAC;CAGF"}
@@ -6,7 +6,7 @@ export { Tool } from "./base.js";
6
6
  export { DynamicTool } from "./dynamic.js";
7
7
  export { IFTTTWebhook } from "./IFTTTWebhook.js";
8
8
  export { ChainTool } from "./chain.js";
9
- export { SqlDatabase, QuerySqlTool, InfoSqlTool, ListTablesSqlTool, QueryCheckerTool, } from "./sql.js";
9
+ export { QuerySqlTool, InfoSqlTool, ListTablesSqlTool, QueryCheckerTool, } from "./sql.js";
10
10
  export { JsonSpec, JsonListKeysTool, JsonGetValueTool, JsonObject, Json, } from "./json.js";
11
11
  export { RequestsGetTool, RequestsPostTool } from "./requests.js";
12
12
  export { VectorStoreQATool } from "./vectorstore.js";
@@ -6,7 +6,7 @@ export { Tool } from "./base.js";
6
6
  export { DynamicTool } from "./dynamic.js";
7
7
  export { IFTTTWebhook } from "./IFTTTWebhook.js";
8
8
  export { ChainTool } from "./chain.js";
9
- export { SqlDatabase, QuerySqlTool, InfoSqlTool, ListTablesSqlTool, QueryCheckerTool, } from "./sql.js";
9
+ export { QuerySqlTool, InfoSqlTool, ListTablesSqlTool, QueryCheckerTool, } from "./sql.js";
10
10
  export { JsonSpec, JsonListKeysTool, JsonGetValueTool, } from "./json.js";
11
11
  export { RequestsGetTool, RequestsPostTool } from "./requests.js";
12
12
  export { VectorStoreQATool } from "./vectorstore.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/agents/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EACL,WAAW,EACX,YAAY,EACZ,WAAW,EACX,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,UAAU,CAAC;AAClB,OAAO,EACL,QAAQ,EACR,gBAAgB,EAChB,gBAAgB,GAGjB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/agents/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EACL,YAAY,EACZ,WAAW,EACX,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,UAAU,CAAC;AAClB,OAAO,EACL,QAAQ,EACR,gBAAgB,EAChB,gBAAgB,GAGjB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC"}
@@ -24,7 +24,5 @@ export declare class JsonGetValueTool extends Tool {
24
24
  name: string;
25
25
  constructor(jsonSpec: JsonSpec);
26
26
  call(input: string): Promise<string>;
27
- description: `Can be used to see value in string format at a given path.
28
- Before calling this you should be SURE that the path to this exists.
29
- The input is a text representation of the path to the json as json pointer syntax (e.g. /key1/0/key2).`;
27
+ description: string;
30
28
  }
@@ -95,7 +95,9 @@ export class JsonGetValueTool extends Tool {
95
95
  enumerable: true,
96
96
  configurable: true,
97
97
  writable: true,
98
- value: void 0
98
+ value: `Can be used to see value in string format at a given path.
99
+ Before calling this you should be SURE that the path to this exists.
100
+ The input is a text representation of the path to the json as json pointer syntax (e.g. /key1/0/key2).`
99
101
  });
100
102
  }
101
103
  async call(input) {
@@ -1 +1 @@
1
- {"version":3,"file":"json.js","sourceRoot":"","sources":["../../../src/agents/tools/json.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,aAAa,CAAC;AACtC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAYjC,MAAM,OAAO,QAAQ;IAKnB,YAAY,GAAe,EAAE,gBAAgB,GAAG,IAAI;QAJpD;;;;;WAAgB;QAEhB;;;;mBAAiB,IAAI;WAAC;QAGpB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,cAAc,GAAG,gBAAgB,CAAC;IACzC,CAAC;IAEM,OAAO,CAAC,KAAa;QAC1B,MAAM,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC3C,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAS,CAAC;QAC1C,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,KAAK,IAAI,EAAE;YAClE,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACpC;QAED,MAAM,IAAI,KAAK,CACb,YAAY,KAAK,uDAAuD,CACzE,CAAC;IACJ,CAAC;IAEM,QAAQ,CAAC,KAAa;QAC3B,MAAM,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC3C,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAS,CAAC;QAE1C,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,SAAS,EAAE;YACrC,MAAM,IAAI,KAAK,CAAC,YAAY,KAAK,wBAAwB,CAAC,CAAC;SAC5D;QAED,MAAM,GAAG,GAAG,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;QAC3E,IACE,OAAO,GAAG,KAAK,QAAQ;YACvB,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;YACnB,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,cAAc,EAChC;YACA,OAAO,gEAAgE,CAAC;SACzE;QAED,IAAI,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,cAAc,EAAE;YACpC,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC;SAClD;QACD,OAAO,GAAG,CAAC;IACb,CAAC;CACF;AAED,MAAM,OAAO,gBAAiB,SAAQ,IAAI;IAGxC,YAAmB,QAAkB;QACnC,KAAK,EAAE,CAAC;;;;;mBADS;;QAFnB;;;;mBAAO,gBAAgB;WAAC;QAcxB;;;;mBAAc;;2GAE2F;WAAC;IAZ1G,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,KAAa;QACtB,IAAI;YACF,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;SACrC;QAAC,OAAO,KAAK,EAAE;YACd,OAAO,GAAG,KAAK,EAAE,CAAC;SACnB;IACH,CAAC;CAKF;AAED,MAAM,OAAO,gBAAiB,SAAQ,IAAI;IAGxC,YAAmB,QAAkB;QACnC,KAAK,EAAE,CAAC;;;;;mBADS;;QAFnB;;;;mBAAO,gBAAgB;WAAC;QAcxB;;;;;WAE0G;IAZ1G,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,KAAa;QACtB,IAAI;YACF,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;SACtC;QAAC,OAAO,KAAK,EAAE;YACd,OAAO,GAAG,KAAK,EAAE,CAAC;SACnB;IACH,CAAC;CAKF"}
1
+ {"version":3,"file":"json.js","sourceRoot":"","sources":["../../../src/agents/tools/json.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,aAAa,CAAC;AACtC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAYjC,MAAM,OAAO,QAAQ;IAKnB,YAAY,GAAe,EAAE,gBAAgB,GAAG,IAAI;QAJpD;;;;;WAAgB;QAEhB;;;;mBAAiB,IAAI;WAAC;QAGpB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,cAAc,GAAG,gBAAgB,CAAC;IACzC,CAAC;IAEM,OAAO,CAAC,KAAa;QAC1B,MAAM,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC3C,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAS,CAAC;QAC1C,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,KAAK,IAAI,EAAE;YAClE,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACpC;QAED,MAAM,IAAI,KAAK,CACb,YAAY,KAAK,uDAAuD,CACzE,CAAC;IACJ,CAAC;IAEM,QAAQ,CAAC,KAAa;QAC3B,MAAM,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC3C,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAS,CAAC;QAE1C,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,SAAS,EAAE;YACrC,MAAM,IAAI,KAAK,CAAC,YAAY,KAAK,wBAAwB,CAAC,CAAC;SAC5D;QAED,MAAM,GAAG,GAAG,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;QAC3E,IACE,OAAO,GAAG,KAAK,QAAQ;YACvB,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;YACnB,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,cAAc,EAChC;YACA,OAAO,gEAAgE,CAAC;SACzE;QAED,IAAI,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,cAAc,EAAE;YACpC,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC;SAClD;QACD,OAAO,GAAG,CAAC;IACb,CAAC;CACF;AAED,MAAM,OAAO,gBAAiB,SAAQ,IAAI;IAGxC,YAAmB,QAAkB;QACnC,KAAK,EAAE,CAAC;;;;;mBADS;;QAFnB;;;;mBAAO,gBAAgB;WAAC;QAcxB;;;;mBAAc;;2GAE2F;WAAC;IAZ1G,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,KAAa;QACtB,IAAI;YACF,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;SACrC;QAAC,OAAO,KAAK,EAAE;YACd,OAAO,GAAG,KAAK,EAAE,CAAC;SACnB;IACH,CAAC;CAKF;AAED,MAAM,OAAO,gBAAiB,SAAQ,IAAI;IAGxC,YAAmB,QAAkB;QACnC,KAAK,EAAE,CAAC;;;;;mBADS;;QAFnB;;;;mBAAO,gBAAgB;WAAC;QAcxB;;;;mBAAc;;2GAE2F;WAAC;IAZ1G,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,KAAa;QACtB,IAAI;YACF,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;SACtC;QAAC,OAAO,KAAK,EAAE;YACd,OAAO,GAAG,KAAK,EAAE,CAAC;SACnB;IACH,CAAC;CAKF"}
@@ -1,14 +1,6 @@
1
- import sqlite3 from "sqlite3";
2
1
  import { Tool } from "./base.js";
3
2
  import { LLMChain } from "../../chains/index.js";
4
- export declare class SqlDatabase {
5
- private db;
6
- constructor(db: sqlite3.Database);
7
- getTables(): Promise<string[]>;
8
- getCreateTableStatement(tableName: string): Promise<string>;
9
- getSampleData(tableName: string, limit?: number): Promise<string[]>;
10
- executeQuery(query: string): Promise<string[]>;
11
- }
3
+ import { SqlDatabase } from "../../sql_db.js";
12
4
  interface SqlTool {
13
5
  db: SqlDatabase;
14
6
  }