langchain 0.0.9 → 0.0.11

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 (104) hide show
  1. package/dist/agents/agent.d.ts +1 -0
  2. package/dist/agents/agent.js +3 -0
  3. package/dist/agents/agent.js.map +1 -1
  4. package/dist/agents/executor.d.ts +1 -0
  5. package/dist/agents/executor.js +3 -0
  6. package/dist/agents/executor.js.map +1 -1
  7. package/dist/agents/mrkl/index.js +2 -1
  8. package/dist/agents/mrkl/index.js.map +1 -1
  9. package/dist/agents/tools/IFTTTWebhook.d.ts +8 -0
  10. package/dist/agents/tools/IFTTTWebhook.js +84 -0
  11. package/dist/agents/tools/IFTTTWebhook.js.map +1 -0
  12. package/dist/agents/tools/bingserpapi.d.ts +10 -0
  13. package/dist/agents/tools/bingserpapi.js +59 -0
  14. package/dist/agents/tools/bingserpapi.js.map +1 -0
  15. package/dist/agents/tools/dadjokeapi.d.ts +8 -0
  16. package/dist/agents/tools/dadjokeapi.js +46 -0
  17. package/dist/agents/tools/dadjokeapi.js.map +1 -0
  18. package/dist/agents/tools/dynamic.d.ts +12 -0
  19. package/dist/agents/tools/dynamic.js +35 -0
  20. package/dist/agents/tools/dynamic.js.map +1 -0
  21. package/dist/agents/tools/index.d.ts +4 -0
  22. package/dist/agents/tools/index.js +9 -1
  23. package/dist/agents/tools/index.js.map +1 -1
  24. package/dist/chains/analyze_documents_chain.d.ts +34 -0
  25. package/dist/chains/analyze_documents_chain.js +82 -0
  26. package/dist/chains/analyze_documents_chain.js.map +1 -0
  27. package/dist/chains/base.d.ts +5 -3
  28. package/dist/chains/base.js +13 -2
  29. package/dist/chains/base.js.map +1 -1
  30. package/dist/chains/chat_vector_db_chain.d.ts +6 -5
  31. package/dist/chains/chat_vector_db_chain.js +5 -2
  32. package/dist/chains/chat_vector_db_chain.js.map +1 -1
  33. package/dist/chains/combine_docs_chain.d.ts +42 -1
  34. package/dist/chains/combine_docs_chain.js +114 -1
  35. package/dist/chains/combine_docs_chain.js.map +1 -1
  36. package/dist/chains/index.d.ts +4 -2
  37. package/dist/chains/index.js +6 -1
  38. package/dist/chains/index.js.map +1 -1
  39. package/dist/chains/llm_chain.d.ts +1 -0
  40. package/dist/chains/llm_chain.js +3 -0
  41. package/dist/chains/llm_chain.js.map +1 -1
  42. package/dist/chains/question_answering/load.d.ts +10 -2
  43. package/dist/chains/question_answering/load.js +22 -4
  44. package/dist/chains/question_answering/load.js.map +1 -1
  45. package/dist/chains/question_answering/map_reduce_prompts.d.ts +3 -0
  46. package/dist/chains/question_answering/map_reduce_prompts.js +43 -0
  47. package/dist/chains/question_answering/map_reduce_prompts.js.map +1 -0
  48. package/dist/chains/question_answering/tests/load.int.test.js +11 -0
  49. package/dist/chains/question_answering/tests/load.int.test.js.map +1 -1
  50. package/dist/chains/summarization/load.d.ts +11 -0
  51. package/dist/chains/summarization/load.js +34 -0
  52. package/dist/chains/summarization/load.js.map +1 -0
  53. package/dist/chains/summarization/stuff_prompts.d.ts +2 -0
  54. package/dist/chains/summarization/stuff_prompts.js +17 -0
  55. package/dist/chains/summarization/stuff_prompts.js.map +1 -0
  56. package/dist/chains/summarization/tests/load.int.test.d.ts +1 -0
  57. package/dist/chains/summarization/tests/load.int.test.js +29 -0
  58. package/dist/chains/summarization/tests/load.int.test.js.map +1 -0
  59. package/dist/chains/tests/combine_docs_chain.int.test.js +14 -0
  60. package/dist/chains/tests/combine_docs_chain.int.test.js.map +1 -1
  61. package/dist/chains/tests/combine_docs_chain.test.d.ts +1 -0
  62. package/dist/chains/tests/combine_docs_chain.test.js +53 -0
  63. package/dist/chains/tests/combine_docs_chain.test.js.map +1 -0
  64. package/dist/chains/tests/llm_chain.int.test.js +20 -0
  65. package/dist/chains/tests/llm_chain.int.test.js.map +1 -1
  66. package/dist/chains/vector_db_qa.d.ts +6 -5
  67. package/dist/chains/vector_db_qa.js +4 -1
  68. package/dist/chains/vector_db_qa.js.map +1 -1
  69. package/dist/document_loaders/cheerio_web_base.d.ts +1 -0
  70. package/dist/document_loaders/cheerio_web_base.js +5 -2
  71. package/dist/document_loaders/cheerio_web_base.js.map +1 -1
  72. package/dist/document_loaders/gitbook.d.ts +14 -0
  73. package/dist/document_loaders/gitbook.js +64 -0
  74. package/dist/document_loaders/gitbook.js.map +1 -0
  75. package/dist/document_loaders/index.d.ts +1 -0
  76. package/dist/document_loaders/index.js +3 -1
  77. package/dist/document_loaders/index.js.map +1 -1
  78. package/dist/embeddings/cohere.d.ts +0 -0
  79. package/dist/embeddings/cohere.js +2 -0
  80. package/dist/embeddings/cohere.js.map +1 -0
  81. package/dist/llms/base.d.ts +9 -1
  82. package/dist/llms/base.js +37 -3
  83. package/dist/llms/base.js.map +1 -1
  84. package/dist/llms/cohere.d.ts +2 -0
  85. package/dist/llms/cohere.js +1 -1
  86. package/dist/llms/cohere.js.map +1 -1
  87. package/dist/llms/hf.d.ts +17 -0
  88. package/dist/llms/hf.js +52 -0
  89. package/dist/llms/hf.js.map +1 -0
  90. package/dist/llms/openai.d.ts +2 -0
  91. package/dist/llms/openai.js +1 -1
  92. package/dist/llms/openai.js.map +1 -1
  93. package/dist/llms/tests/huggingface_hub.int.test.d.ts +1 -0
  94. package/dist/llms/tests/huggingface_hub.int.test.js +10 -0
  95. package/dist/llms/tests/huggingface_hub.int.test.js.map +1 -0
  96. package/dist/vectorstores/chroma.d.ts +21 -0
  97. package/dist/vectorstores/chroma.js +133 -0
  98. package/dist/vectorstores/chroma.js.map +1 -0
  99. package/dist/vectorstores/hnswlib.js +9 -0
  100. package/dist/vectorstores/hnswlib.js.map +1 -1
  101. package/dist/vectorstores/index.d.ts +1 -0
  102. package/dist/vectorstores/index.js +3 -1
  103. package/dist/vectorstores/index.js.map +1 -1
  104. package/package.json +9 -1
@@ -34,6 +34,7 @@ export declare abstract class Agent {
34
34
  llmChain: LLMChain;
35
35
  allowedTools?: string[];
36
36
  returnValues: string[];
37
+ get inputKeys(): string[];
37
38
  constructor(input: AgentInput);
38
39
  /**
39
40
  * Extract tool and tool input from LLM output.
@@ -24,6 +24,9 @@ exports.staticImplements = staticImplements;
24
24
  * intermediary work.
25
25
  */
26
26
  class Agent {
27
+ get inputKeys() {
28
+ return this.llmChain.inputKeys.filter((k) => k !== "agent_scratchpad");
29
+ }
27
30
  constructor(input) {
28
31
  Object.defineProperty(this, "llmChain", {
29
32
  enumerable: true,
@@ -1 +1 @@
1
- {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../agents/agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../agents/agent.ts"],"names":[],"mappings":"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"}
@@ -18,6 +18,7 @@ export declare class AgentExecutor extends BaseChain {
18
18
  returnIntermediateSteps: boolean;
19
19
  maxIterations?: number;
20
20
  earlyStoppingMethod: StoppingMethod;
21
+ get inputKeys(): string[];
21
22
  constructor(input: AgentExecutorInput);
22
23
  /** Create from agent and a list of tools. */
23
24
  static fromAgentAndTools(fields: {
@@ -7,6 +7,9 @@ const chains_1 = require("../chains");
7
7
  * @augments BaseChain
8
8
  */
9
9
  class AgentExecutor extends chains_1.BaseChain {
10
+ get inputKeys() {
11
+ return this.agent.inputKeys;
12
+ }
10
13
  constructor(input) {
11
14
  var _a, _b, _c;
12
15
  super();
@@ -1 +1 @@
1
- {"version":3,"file":"executor.js","sourceRoot":"","sources":["../../agents/executor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"executor.js","sourceRoot":"","sources":["../../agents/executor.ts"],"names":[],"mappings":"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"}
@@ -54,7 +54,8 @@ let ZeroShotAgent = ZeroShotAgent_1 = class ZeroShotAgent extends index_1.Agent
54
54
  const toolStrings = tools
55
55
  .map((tool) => `${tool.name}: ${tool.description}`)
56
56
  .join("\n");
57
- const instructions = (0, prompt_1.formatInstructions)(toolStrings);
57
+ const toolNames = tools.map((tool) => tool.name).join("\n");
58
+ const instructions = (0, prompt_1.formatInstructions)(toolNames);
58
59
  const template = [prefix, toolStrings, instructions, suffix].join("\n\n");
59
60
  return new prompts_1.PromptTemplate({
60
61
  template,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../agents/mrkl/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../agents/mrkl/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import { Tool } from "./base";
2
+ export declare class IFTTTWebhook extends Tool {
3
+ private url;
4
+ name: string;
5
+ description: string;
6
+ constructor(url: string, name: string, description: string);
7
+ call(input: string): Promise<string>;
8
+ }
@@ -0,0 +1,84 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.IFTTTWebhook = void 0;
7
+ /** From https://github.com/SidU/teams-langchain-js/wiki/Connecting-IFTTT-Services.
8
+
9
+ # Creating a webhook
10
+ - Go to https://ifttt.com/create
11
+
12
+ # Configuring the "If This"
13
+ - Click on the "If This" button in the IFTTT interface.
14
+ - Search for "Webhooks" in the search bar.
15
+ - Choose the first option for "Receive a web request with a JSON payload."
16
+ - Choose an Event Name that is specific to the service you plan to connect to.
17
+ This will make it easier for you to manage the webhook URL.
18
+ For example, if you're connecting to Spotify, you could use "Spotify" as your
19
+ Event Name.
20
+ - Click the "Create Trigger" button to save your settings and create your webhook.
21
+
22
+ # Configuring the "Then That"
23
+ - Tap on the "Then That" button in the IFTTT interface.
24
+ - Search for the service you want to connect, such as Spotify.
25
+ - Choose an action from the service, such as "Add track to a playlist".
26
+ - Configure the action by specifying the necessary details, such as the playlist name,
27
+ e.g., "Songs from AI".
28
+ - Reference the JSON Payload received by the Webhook in your action. For the Spotify
29
+ scenario, choose "{{JsonPayload}}" as your search query.
30
+ - Tap the "Create Action" button to save your action settings.
31
+ - Once you have finished configuring your action, click the "Finish" button to
32
+ complete the setup.
33
+ - Congratulations! You have successfully connected the Webhook to the desired
34
+ service, and you're ready to start receiving data and triggering actions 🎉
35
+
36
+ # Finishing up
37
+ - To get your webhook URL go to https://ifttt.com/maker_webhooks/settings
38
+ - Copy the IFTTT key value from there. The URL is of the form
39
+ https://maker.ifttt.com/use/YOUR_IFTTT_KEY. Grab the YOUR_IFTTT_KEY value.
40
+ */
41
+ const node_fetch_1 = __importDefault(require("node-fetch"));
42
+ const base_1 = require("./base");
43
+ class IFTTTWebhook extends base_1.Tool {
44
+ constructor(url, name, description) {
45
+ super();
46
+ Object.defineProperty(this, "url", {
47
+ enumerable: true,
48
+ configurable: true,
49
+ writable: true,
50
+ value: void 0
51
+ });
52
+ Object.defineProperty(this, "name", {
53
+ enumerable: true,
54
+ configurable: true,
55
+ writable: true,
56
+ value: void 0
57
+ });
58
+ Object.defineProperty(this, "description", {
59
+ enumerable: true,
60
+ configurable: true,
61
+ writable: true,
62
+ value: void 0
63
+ });
64
+ this.url = url;
65
+ this.name = name;
66
+ this.description = description;
67
+ }
68
+ async call(input) {
69
+ const headers = { "Content-Type": "application/json" };
70
+ const body = JSON.stringify({ this: input });
71
+ const response = await (0, node_fetch_1.default)(this.url, {
72
+ method: "POST",
73
+ headers,
74
+ body,
75
+ });
76
+ if (!response.ok) {
77
+ throw new Error(`HTTP error ${response.status}`);
78
+ }
79
+ const result = await response.text();
80
+ return result;
81
+ }
82
+ }
83
+ exports.IFTTTWebhook = IFTTTWebhook;
84
+ //# sourceMappingURL=IFTTTWebhook.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IFTTTWebhook.js","sourceRoot":"","sources":["../../../agents/tools/IFTTTWebhook.ts"],"names":[],"mappings":";;;;;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,4DAA+B;AAC/B,iCAA8B;AAE9B,MAAa,YAAa,SAAQ,WAAI;IAOpC,YAAY,GAAW,EAAE,IAAY,EAAE,WAAmB;QACxD,KAAK,EAAE,CAAC;QAPV;;;;;WAAoB;QAEpB;;;;;WAAa;QAEb;;;;;WAAoB;QAIlB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IACjC,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,KAAa;QACtB,MAAM,OAAO,GAAG,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC;QACvD,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QAE7C,MAAM,QAAQ,GAAG,MAAM,IAAA,oBAAK,EAAC,IAAI,CAAC,GAAG,EAAE;YACrC,MAAM,EAAE,MAAM;YACd,OAAO;YACP,IAAI;SACL,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE;YAChB,MAAM,IAAI,KAAK,CAAC,cAAc,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;SAClD;QAED,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QACrC,OAAO,MAAM,CAAC;IAChB,CAAC;CACF;AA/BD,oCA+BC"}
@@ -0,0 +1,10 @@
1
+ import { Tool } from "./base";
2
+ declare class BingSerpAPI extends Tool {
3
+ name: string;
4
+ description: string;
5
+ key: string;
6
+ params: Record<string, string>;
7
+ constructor(apiKey?: string | undefined, params?: Record<string, string>);
8
+ call(input: string): Promise<string>;
9
+ }
10
+ export { BingSerpAPI };
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.BingSerpAPI = void 0;
7
+ const node_fetch_1 = __importDefault(require("node-fetch"));
8
+ const base_1 = require("./base");
9
+ class BingSerpAPI extends base_1.Tool {
10
+ constructor(apiKey = process.env.BingApiKey, params = {}) {
11
+ super();
12
+ Object.defineProperty(this, "name", {
13
+ enumerable: true,
14
+ configurable: true,
15
+ writable: true,
16
+ value: "bing-search"
17
+ });
18
+ Object.defineProperty(this, "description", {
19
+ enumerable: true,
20
+ configurable: true,
21
+ writable: true,
22
+ value: "a search engine. useful for when you need to answer questions about current events. input should be a search query."
23
+ });
24
+ Object.defineProperty(this, "key", {
25
+ enumerable: true,
26
+ configurable: true,
27
+ writable: true,
28
+ value: void 0
29
+ });
30
+ Object.defineProperty(this, "params", {
31
+ enumerable: true,
32
+ configurable: true,
33
+ writable: true,
34
+ value: void 0
35
+ });
36
+ if (!apiKey) {
37
+ throw new Error("BingSerpAPI API key not set. You can set it as BingApiKey in your .env file.");
38
+ }
39
+ this.key = apiKey;
40
+ this.params = params;
41
+ }
42
+ async call(input) {
43
+ const headers = { "Ocp-Apim-Subscription-Key": this.key };
44
+ const params = { q: input, textDecorations: "true", textFormat: "HTML" };
45
+ const searchUrl = new URL("https://api.bing.microsoft.com/v7.0/search");
46
+ Object.entries(params).forEach(([key, value]) => {
47
+ searchUrl.searchParams.append(key, value);
48
+ });
49
+ const response = await (0, node_fetch_1.default)(searchUrl, { headers });
50
+ if (!response.ok) {
51
+ throw new Error(`HTTP error ${response.status}`);
52
+ }
53
+ const res = await response.json();
54
+ const myresponse = res.webPages.value[0].snippet;
55
+ return myresponse;
56
+ }
57
+ }
58
+ exports.BingSerpAPI = BingSerpAPI;
59
+ //# sourceMappingURL=bingserpapi.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bingserpapi.js","sourceRoot":"","sources":["../../../agents/tools/bingserpapi.ts"],"names":[],"mappings":";;;;;;AAAA,4DAA+B;AAC/B,iCAA8B;AAE9B,MAAM,WAAY,SAAQ,WAAI;IAU5B,YACE,SAA6B,OAAO,CAAC,GAAG,CAAC,UAAU,EACnD,SAAiC,EAAE;QAEnC,KAAK,EAAE,CAAC;QAbV;;;;mBAAO,aAAa;WAAC;QAErB;;;;mBACE,qHAAqH;WAAC;QAExH;;;;;WAAY;QAEZ;;;;;WAA+B;QAQ7B,IAAI,CAAC,MAAM,EAAE;YACX,MAAM,IAAI,KAAK,CACb,8EAA8E,CAC/E,CAAC;SACH;QAED,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC;QAClB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,KAAa;QACtB,MAAM,OAAO,GAAG,EAAE,2BAA2B,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;QAC1D,MAAM,MAAM,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,eAAe,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC;QACzE,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,4CAA4C,CAAC,CAAC;QAExE,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;YAC9C,SAAS,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;QAEH,MAAM,QAAQ,GAAG,MAAM,IAAA,oBAAK,EAAC,SAAS,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;QAErD,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE;YAChB,MAAM,IAAI,KAAK,CAAC,cAAc,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;SAClD;QAED,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QAElC,MAAM,UAAU,GAAG,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;QAEjD,OAAO,UAAU,CAAC;IACpB,CAAC;CACF;AAEQ,kCAAW"}
@@ -0,0 +1,8 @@
1
+ import { Tool } from "./base";
2
+ declare class DadJokeAPI extends Tool {
3
+ name: string;
4
+ description: string;
5
+ constructor();
6
+ call(input: string): Promise<string>;
7
+ }
8
+ export { DadJokeAPI };
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.DadJokeAPI = void 0;
7
+ const node_fetch_1 = __importDefault(require("node-fetch"));
8
+ const base_1 = require("./base");
9
+ class DadJokeAPI extends base_1.Tool {
10
+ constructor() {
11
+ super();
12
+ Object.defineProperty(this, "name", {
13
+ enumerable: true,
14
+ configurable: true,
15
+ writable: true,
16
+ value: void 0
17
+ });
18
+ Object.defineProperty(this, "description", {
19
+ enumerable: true,
20
+ configurable: true,
21
+ writable: true,
22
+ value: void 0
23
+ });
24
+ this.name = "dadjoke";
25
+ this.description =
26
+ "a dad joke generator. get a dad joke about a specific topic. input should be a search term.";
27
+ }
28
+ async call(input) {
29
+ const headers = { Accept: "application/json" };
30
+ const searchUrl = `https://icanhazdadjoke.com/search?term=${input}`;
31
+ const response = await (0, node_fetch_1.default)(searchUrl, { headers });
32
+ if (!response.ok) {
33
+ throw new Error(`HTTP error ${response.status}`);
34
+ }
35
+ const data = await response.json();
36
+ const jokes = data.results;
37
+ if (jokes.length === 0) {
38
+ return `No dad jokes found about ${input}`;
39
+ }
40
+ const randomIndex = Math.floor(Math.random() * jokes.length);
41
+ const randomJoke = jokes[randomIndex].joke;
42
+ return randomJoke;
43
+ }
44
+ }
45
+ exports.DadJokeAPI = DadJokeAPI;
46
+ //# sourceMappingURL=dadjokeapi.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dadjokeapi.js","sourceRoot":"","sources":["../../../agents/tools/dadjokeapi.ts"],"names":[],"mappings":";;;;;;AAAA,4DAA+B;AAC/B,iCAA8B;AAE9B,MAAM,UAAW,SAAQ,WAAI;IAK3B;QACE,KAAK,EAAE,CAAC;QALV;;;;;WAAa;QAEb;;;;;WAAoB;QAIlB,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC;QACtB,IAAI,CAAC,WAAW;YACd,6FAA6F,CAAC;IAClG,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,KAAa;QACtB,MAAM,OAAO,GAAG,EAAE,MAAM,EAAE,kBAAkB,EAAE,CAAC;QAC/C,MAAM,SAAS,GAAG,0CAA0C,KAAK,EAAE,CAAC;QAEpE,MAAM,QAAQ,GAAG,MAAM,IAAA,oBAAK,EAAC,SAAS,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;QAErD,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE;YAChB,MAAM,IAAI,KAAK,CAAC,cAAc,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;SAClD;QAED,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QACnC,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC;QAE3B,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;YACtB,OAAO,4BAA4B,KAAK,EAAE,CAAC;SAC5C;QAED,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;QAC7D,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC;QAE3C,OAAO,UAAU,CAAC;IACpB,CAAC;CACF;AAEQ,gCAAU"}
@@ -0,0 +1,12 @@
1
+ import { Tool } from "./base";
2
+ export declare class DynamicTool extends Tool {
3
+ name: string;
4
+ description: string;
5
+ func: (arg1: string) => string;
6
+ constructor(fields: {
7
+ name: string;
8
+ description: string;
9
+ func: (arg1: string) => string;
10
+ });
11
+ call(input: string): Promise<string>;
12
+ }
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DynamicTool = void 0;
4
+ const base_1 = require("./base");
5
+ class DynamicTool extends base_1.Tool {
6
+ constructor(fields) {
7
+ super();
8
+ Object.defineProperty(this, "name", {
9
+ enumerable: true,
10
+ configurable: true,
11
+ writable: true,
12
+ value: void 0
13
+ });
14
+ Object.defineProperty(this, "description", {
15
+ enumerable: true,
16
+ configurable: true,
17
+ writable: true,
18
+ value: void 0
19
+ });
20
+ Object.defineProperty(this, "func", {
21
+ enumerable: true,
22
+ configurable: true,
23
+ writable: true,
24
+ value: void 0
25
+ });
26
+ this.name = fields.name;
27
+ this.description = fields.description;
28
+ this.func = fields.func;
29
+ }
30
+ async call(input) {
31
+ return this.func(input);
32
+ }
33
+ }
34
+ exports.DynamicTool = DynamicTool;
35
+ //# sourceMappingURL=dynamic.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dynamic.js","sourceRoot":"","sources":["../../../agents/tools/dynamic.ts"],"names":[],"mappings":";;;AAAA,iCAA8B;AAE9B,MAAa,WAAY,SAAQ,WAAI;IAOnC,YAAY,MAIX;QACC,KAAK,EAAE,CAAC;QAXV;;;;;WAAa;QAEb;;;;;WAAoB;QAEpB;;;;;WAA+B;QAQ7B,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QACxB,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;QACtC,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,KAAa;QACtB,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC1B,CAAC;CACF;AArBD,kCAqBC"}
@@ -1,3 +1,7 @@
1
1
  export { SerpAPI } from "./serpapi";
2
2
  export { Calculator } from "./calculator";
3
+ export { DadJokeAPI } from "./dadjokeapi";
4
+ export { BingSerpAPI } from "./bingserpapi";
3
5
  export { Tool } from "./base";
6
+ export { DynamicTool } from "./dynamic";
7
+ export { IFTTTWebhook } from "./IFTTTWebhook";
@@ -1,10 +1,18 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Tool = exports.Calculator = exports.SerpAPI = void 0;
3
+ exports.IFTTTWebhook = exports.DynamicTool = exports.Tool = exports.BingSerpAPI = exports.DadJokeAPI = exports.Calculator = exports.SerpAPI = void 0;
4
4
  var serpapi_1 = require("./serpapi");
5
5
  Object.defineProperty(exports, "SerpAPI", { enumerable: true, get: function () { return serpapi_1.SerpAPI; } });
6
6
  var calculator_1 = require("./calculator");
7
7
  Object.defineProperty(exports, "Calculator", { enumerable: true, get: function () { return calculator_1.Calculator; } });
8
+ var dadjokeapi_1 = require("./dadjokeapi");
9
+ Object.defineProperty(exports, "DadJokeAPI", { enumerable: true, get: function () { return dadjokeapi_1.DadJokeAPI; } });
10
+ var bingserpapi_1 = require("./bingserpapi");
11
+ Object.defineProperty(exports, "BingSerpAPI", { enumerable: true, get: function () { return bingserpapi_1.BingSerpAPI; } });
8
12
  var base_1 = require("./base");
9
13
  Object.defineProperty(exports, "Tool", { enumerable: true, get: function () { return base_1.Tool; } });
14
+ var dynamic_1 = require("./dynamic");
15
+ Object.defineProperty(exports, "DynamicTool", { enumerable: true, get: function () { return dynamic_1.DynamicTool; } });
16
+ var IFTTTWebhook_1 = require("./IFTTTWebhook");
17
+ Object.defineProperty(exports, "IFTTTWebhook", { enumerable: true, get: function () { return IFTTTWebhook_1.IFTTTWebhook; } });
10
18
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../agents/tools/index.ts"],"names":[],"mappings":";;;AAAA,qCAAoC;AAA3B,kGAAA,OAAO,OAAA;AAChB,2CAA0C;AAAjC,wGAAA,UAAU,OAAA;AACnB,+BAA8B;AAArB,4FAAA,IAAI,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../agents/tools/index.ts"],"names":[],"mappings":";;;AAAA,qCAAoC;AAA3B,kGAAA,OAAO,OAAA;AAChB,2CAA0C;AAAjC,wGAAA,UAAU,OAAA;AACnB,2CAA0C;AAAjC,wGAAA,UAAU,OAAA;AACnB,6CAA4C;AAAnC,0GAAA,WAAW,OAAA;AACpB,+BAA8B;AAArB,4FAAA,IAAI,OAAA;AACb,qCAAwC;AAA/B,sGAAA,WAAW,OAAA;AACpB,+CAA8C;AAArC,4GAAA,YAAY,OAAA"}
@@ -0,0 +1,34 @@
1
+ import { BaseChain, ChainValues, SerializedBaseChain } from "./index";
2
+ import { TextSplitter } from "../text_splitter";
3
+ export type LoadValues = Record<string, any>;
4
+ export type SerializedAnalyzeDocumentChain = {
5
+ _type: "analyze_document_chain";
6
+ combine_document_chain?: SerializedBaseChain;
7
+ combine_document_chain_path?: string;
8
+ };
9
+ export interface AnalyzeDocumentChainInput {
10
+ textSplitter: TextSplitter;
11
+ combineDocumentsChain: BaseChain;
12
+ }
13
+ /**
14
+ * Chain that combines documents by stuffing into context.
15
+ * @augments BaseChain
16
+ * @augments StuffDocumentsChainInput
17
+ */
18
+ export declare class AnalyzeDocumentChain extends BaseChain implements AnalyzeDocumentChainInput {
19
+ inputKey: string;
20
+ outputKey: string;
21
+ combineDocumentsChain: BaseChain;
22
+ textSplitter: TextSplitter;
23
+ constructor(fields: {
24
+ combineDocumentsChain: BaseChain;
25
+ inputKey?: string;
26
+ outputKey?: string;
27
+ textSplitter?: TextSplitter;
28
+ });
29
+ get inputKeys(): string[];
30
+ _call(values: ChainValues): Promise<ChainValues>;
31
+ _chainType(): "analyze_document_chain";
32
+ static deserialize(data: SerializedAnalyzeDocumentChain, values: LoadValues): Promise<AnalyzeDocumentChain>;
33
+ serialize(): SerializedAnalyzeDocumentChain;
34
+ }
@@ -0,0 +1,82 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AnalyzeDocumentChain = void 0;
4
+ const index_1 = require("./index");
5
+ const text_splitter_1 = require("../text_splitter");
6
+ const util_1 = require("../util");
7
+ /**
8
+ * Chain that combines documents by stuffing into context.
9
+ * @augments BaseChain
10
+ * @augments StuffDocumentsChainInput
11
+ */
12
+ class AnalyzeDocumentChain extends index_1.BaseChain {
13
+ constructor(fields) {
14
+ var _a, _b, _c;
15
+ super();
16
+ Object.defineProperty(this, "inputKey", {
17
+ enumerable: true,
18
+ configurable: true,
19
+ writable: true,
20
+ value: "input_document"
21
+ });
22
+ Object.defineProperty(this, "outputKey", {
23
+ enumerable: true,
24
+ configurable: true,
25
+ writable: true,
26
+ value: "output_text"
27
+ });
28
+ Object.defineProperty(this, "combineDocumentsChain", {
29
+ enumerable: true,
30
+ configurable: true,
31
+ writable: true,
32
+ value: void 0
33
+ });
34
+ Object.defineProperty(this, "textSplitter", {
35
+ enumerable: true,
36
+ configurable: true,
37
+ writable: true,
38
+ value: void 0
39
+ });
40
+ this.combineDocumentsChain = fields.combineDocumentsChain;
41
+ this.inputKey = (_a = fields.inputKey) !== null && _a !== void 0 ? _a : this.inputKey;
42
+ this.outputKey = (_b = fields.outputKey) !== null && _b !== void 0 ? _b : this.outputKey;
43
+ this.textSplitter =
44
+ (_c = fields.textSplitter) !== null && _c !== void 0 ? _c : new text_splitter_1.RecursiveCharacterTextSplitter();
45
+ }
46
+ get inputKeys() {
47
+ return [this.inputKey];
48
+ }
49
+ async _call(values) {
50
+ if (!(this.inputKey in values)) {
51
+ throw new Error(`Document key ${this.inputKey} not found.`);
52
+ }
53
+ const { [this.inputKey]: doc, ...rest } = values;
54
+ const currentDoc = doc;
55
+ const currentDocs = this.textSplitter.createDocuments([currentDoc]);
56
+ const newInputs = { input_documents: currentDocs, ...rest };
57
+ const result = await this.combineDocumentsChain.call(newInputs);
58
+ return result;
59
+ }
60
+ _chainType() {
61
+ return "analyze_document_chain";
62
+ }
63
+ static async deserialize(data, values) {
64
+ if (!("text_splitter" in values)) {
65
+ throw new Error(`Need to pass in a text_splitter to deserialize AnalyzeDocumentChain.`);
66
+ }
67
+ const { text_splitter } = values;
68
+ const SerializedCombineDocumentChain = (0, util_1.resolveConfigFromFile)("combine_document_chain", data);
69
+ return new AnalyzeDocumentChain({
70
+ combineDocumentsChain: await index_1.BaseChain.deserialize(SerializedCombineDocumentChain),
71
+ textSplitter: text_splitter,
72
+ });
73
+ }
74
+ serialize() {
75
+ return {
76
+ _type: this._chainType(),
77
+ combine_document_chain: this.combineDocumentsChain.serialize(),
78
+ };
79
+ }
80
+ }
81
+ exports.AnalyzeDocumentChain = AnalyzeDocumentChain;
82
+ //# sourceMappingURL=analyze_documents_chain.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analyze_documents_chain.js","sourceRoot":"","sources":["../../chains/analyze_documents_chain.ts"],"names":[],"mappings":";;;AAAA,mCAAsE;AAEtE,oDAAgF;AAEhF,kCAAgD;AAgBhD;;;;GAIG;AACH,MAAa,oBACX,SAAQ,iBAAS;IAWjB,YAAY,MAKX;;QACC,KAAK,EAAE,CAAC;QAdV;;;;mBAAW,gBAAgB;WAAC;QAE5B;;;;mBAAY,aAAa;WAAC;QAE1B;;;;;WAAiC;QAEjC;;;;;WAA2B;QASzB,IAAI,CAAC,qBAAqB,GAAG,MAAM,CAAC,qBAAqB,CAAC;QAC1D,IAAI,CAAC,QAAQ,GAAG,MAAA,MAAM,CAAC,QAAQ,mCAAI,IAAI,CAAC,QAAQ,CAAC;QACjD,IAAI,CAAC,SAAS,GAAG,MAAA,MAAM,CAAC,SAAS,mCAAI,IAAI,CAAC,SAAS,CAAC;QACpD,IAAI,CAAC,YAAY;YACf,MAAA,MAAM,CAAC,YAAY,mCAAI,IAAI,8CAA8B,EAAE,CAAC;IAChE,CAAC;IAED,IAAI,SAAS;QACX,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,MAAmB;QAC7B,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,IAAI,MAAM,CAAC,EAAE;YAC9B,MAAM,IAAI,KAAK,CAAC,gBAAgB,IAAI,CAAC,QAAQ,aAAa,CAAC,CAAC;SAC7D;QACD,MAAM,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,CAAC;QAEjD,MAAM,UAAU,GAAG,GAAa,CAAC;QACjC,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;QAEpE,MAAM,SAAS,GAAG,EAAE,eAAe,EAAE,WAAW,EAAE,GAAG,IAAI,EAAE,CAAC;QAC5D,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChE,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,UAAU;QACR,OAAO,wBAAiC,CAAC;IAC3C,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,WAAW,CACtB,IAAoC,EACpC,MAAkB;QAElB,IAAI,CAAC,CAAC,eAAe,IAAI,MAAM,CAAC,EAAE;YAChC,MAAM,IAAI,KAAK,CACb,sEAAsE,CACvE,CAAC;SACH;QACD,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,CAAC;QAEjC,MAAM,8BAA8B,GAAG,IAAA,4BAAqB,EAG1D,wBAAwB,EAAE,IAAI,CAAC,CAAC;QAElC,OAAO,IAAI,oBAAoB,CAAC;YAC9B,qBAAqB,EAAE,MAAM,iBAAS,CAAC,WAAW,CAChD,8BAA8B,CAC/B;YACD,YAAY,EAAE,aAAa;SAC5B,CAAC,CAAC;IACL,CAAC;IAED,SAAS;QACP,OAAO;YACL,KAAK,EAAE,IAAI,CAAC,UAAU,EAAE;YACxB,sBAAsB,EAAE,IAAI,CAAC,qBAAqB,CAAC,SAAS,EAAE;SAC/D,CAAC;IACJ,CAAC;CACF;AA9ED,oDA8EC"}
@@ -1,8 +1,8 @@
1
- import { LLMChain, StuffDocumentsChain, VectorDBQAChain, ChatVectorDBQAChain } from "./index";
1
+ import { LLMChain, StuffDocumentsChain, VectorDBQAChain, ChatVectorDBQAChain, MapReduceDocumentsChain, AnalyzeDocumentChain } from "./index";
2
2
  import { BaseMemory } from "../memory";
3
3
  export type ChainValues = Record<string, any>;
4
4
  export type LoadValues = Record<string, any>;
5
- declare const chainClasses: (typeof LLMChain | typeof StuffDocumentsChain | typeof VectorDBQAChain | typeof ChatVectorDBQAChain)[];
5
+ declare const chainClasses: (typeof LLMChain | typeof StuffDocumentsChain | typeof VectorDBQAChain | typeof ChatVectorDBQAChain | typeof MapReduceDocumentsChain | typeof AnalyzeDocumentChain)[];
6
6
  export type SerializedBaseChain = ReturnType<InstanceType<(typeof chainClasses)[number]>["serialize"]>;
7
7
  export interface ChainInputs {
8
8
  memory?: BaseMemory;
@@ -25,6 +25,8 @@ export declare abstract class BaseChain implements ChainInputs {
25
25
  * Return a json-like object representing this chain.
26
26
  */
27
27
  abstract serialize(): SerializedBaseChain;
28
+ abstract get inputKeys(): string[];
29
+ run(input: any): Promise<ChainValues>;
28
30
  /**
29
31
  * Run the core logic of this chain and add to output if desired.
30
32
  *
@@ -34,7 +36,7 @@ export declare abstract class BaseChain implements ChainInputs {
34
36
  /**
35
37
  * Call the chain on all inputs in the list
36
38
  */
37
- apply(inputs: ChainValues[]): ChainValues[];
39
+ apply(inputs: ChainValues[]): Promise<ChainValues>;
38
40
  /**
39
41
  * Load a chain from a json-like object describing it.
40
42
  */
@@ -8,6 +8,8 @@ const chainClasses = [
8
8
  index_1.StuffDocumentsChain,
9
9
  index_1.VectorDBQAChain,
10
10
  index_1.ChatVectorDBQAChain,
11
+ index_1.MapReduceDocumentsChain,
12
+ index_1.AnalyzeDocumentChain,
11
13
  ];
12
14
  /**
13
15
  * Base interface that all chains must implement.
@@ -22,6 +24,15 @@ class BaseChain {
22
24
  });
23
25
  this.memory = memory;
24
26
  }
27
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
28
+ async run(input) {
29
+ const isKeylessInput = this.inputKeys.length === 1;
30
+ if (!isKeylessInput) {
31
+ throw new Error(`Chain ${this._chainType()} expects multiple inputs, cannot use 'run' `);
32
+ }
33
+ const values = { [this.inputKeys[0]]: input };
34
+ return this.call(values);
35
+ }
25
36
  /**
26
37
  * Run the core logic of this chain and add to output if desired.
27
38
  *
@@ -45,8 +56,8 @@ class BaseChain {
45
56
  /**
46
57
  * Call the chain on all inputs in the list
47
58
  */
48
- apply(inputs) {
49
- return inputs.map(this.call);
59
+ async apply(inputs) {
60
+ return Promise.all(inputs.map(async (i) => this.call(i)));
50
61
  }
51
62
  /**
52
63
  * Load a chain from a json-like object describing it.
@@ -1 +1 @@
1
- {"version":3,"file":"base.js","sourceRoot":"","sources":["../../chains/base.ts"],"names":[],"mappings":";;;AAAA,qCAAsC;AACtC,mCAKiB;AAQjB,MAAM,YAAY,GAAG;IACnB,gBAAQ;IACR,2BAAmB;IACnB,uBAAe;IACf,2BAAmB;CACpB,CAAC;AAUF;;GAEG;AACH,MAAsB,SAAS;IAG7B,YAAY,MAAmB;QAF/B;;;;;WAAoB;QAGlB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAiBD;;;;OAIG;IACH,KAAK,CAAC,IAAI,CAAC,MAAmB;QAC5B,MAAM,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;QACpC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,EAAE;YAC1B,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;YAChE,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;gBACpD,UAAU,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;aACzB;SACF;QACD,kCAAkC;QAClC,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAC5C,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,EAAE;YAC1B,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;SACrD;QACD,OAAO,YAAY,CAAC;IACtB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAqB;QACzB,OAAO,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,WAAW,CAChB,IAAyB,EACzB,SAAqB,EAAE;QAEvB,QAAQ,IAAI,CAAC,KAAK,EAAE;YAClB,KAAK,WAAW;gBACd,OAAO,gBAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YACpC,KAAK,uBAAuB;gBAC1B,OAAO,2BAAmB,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YAC/C,KAAK,cAAc;gBACjB,OAAO,uBAAe,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YACnD;gBACE,MAAM,IAAI,KAAK,CACb,kCACG,IAA4B,CAAC,KAChC,EAAE,CACH,CAAC;SACL;IACH,CAAC;CACF;AAxED,8BAwEC"}
1
+ {"version":3,"file":"base.js","sourceRoot":"","sources":["../../chains/base.ts"],"names":[],"mappings":";;;AAAA,qCAAsC;AACtC,mCAOiB;AAQjB,MAAM,YAAY,GAAG;IACnB,gBAAQ;IACR,2BAAmB;IACnB,uBAAe;IACf,2BAAmB;IACnB,+BAAuB;IACvB,4BAAoB;CACrB,CAAC;AAUF;;GAEG;AACH,MAAsB,SAAS;IAG7B,YAAY,MAAmB;QAF/B;;;;;WAAoB;QAGlB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAmBD,8DAA8D;IAC9D,KAAK,CAAC,GAAG,CAAC,KAAU;QAClB,MAAM,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,CAAC;QACnD,IAAI,CAAC,cAAc,EAAE;YACnB,MAAM,IAAI,KAAK,CACb,SAAS,IAAI,CAAC,UAAU,EAAE,6CAA6C,CACxE,CAAC;SACH;QACD,MAAM,MAAM,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC;QAC9C,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC3B,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,IAAI,CAAC,MAAmB;QAC5B,MAAM,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;QAEpC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,EAAE;YAC1B,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;YAChE,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;gBACpD,UAAU,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;aACzB;SACF;QACD,kCAAkC;QAClC,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAC5C,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,EAAE;YAC1B,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;SACrD;QACD,OAAO,YAAY,CAAC;IACtB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,KAAK,CAAC,MAAqB;QAC/B,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5D,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,WAAW,CAChB,IAAyB,EACzB,SAAqB,EAAE;QAEvB,QAAQ,IAAI,CAAC,KAAK,EAAE;YAClB,KAAK,WAAW;gBACd,OAAO,gBAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YACpC,KAAK,uBAAuB;gBAC1B,OAAO,2BAAmB,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YAC/C,KAAK,cAAc;gBACjB,OAAO,uBAAe,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YACnD;gBACE,MAAM,IAAI,KAAK,CACb,kCACG,IAA4B,CAAC,KAChC,EAAE,CACH,CAAC;SACL;IACH,CAAC;CACF;AAvFD,8BAuFC"}