langchain 0.0.151 → 0.0.152

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 (63) hide show
  1. package/cache/cloudflare_kv.cjs +1 -0
  2. package/cache/cloudflare_kv.d.ts +1 -0
  3. package/cache/cloudflare_kv.js +1 -0
  4. package/dist/agents/chat/index.cjs +1 -1
  5. package/dist/agents/chat/index.js +1 -1
  6. package/dist/agents/chat_convo/index.cjs +1 -1
  7. package/dist/agents/chat_convo/index.js +1 -1
  8. package/dist/agents/openai/index.cjs +1 -1
  9. package/dist/agents/openai/index.js +1 -1
  10. package/dist/agents/structured_chat/index.cjs +1 -1
  11. package/dist/agents/structured_chat/index.js +1 -1
  12. package/dist/agents/xml/index.cjs +1 -1
  13. package/dist/agents/xml/index.js +1 -1
  14. package/dist/base_language/count_tokens.cjs +1 -0
  15. package/dist/base_language/count_tokens.js +1 -0
  16. package/dist/base_language/index.cjs +5 -3
  17. package/dist/base_language/index.d.ts +1 -1
  18. package/dist/base_language/index.js +4 -3
  19. package/dist/cache/cloudflare_kv.cjs +61 -0
  20. package/dist/cache/cloudflare_kv.d.ts +29 -0
  21. package/dist/cache/cloudflare_kv.js +57 -0
  22. package/dist/chains/openai_functions/openapi.cjs +1 -1
  23. package/dist/chains/openai_functions/openapi.js +1 -1
  24. package/dist/chains/question_answering/map_reduce_prompts.cjs +2 -3
  25. package/dist/chains/question_answering/map_reduce_prompts.js +2 -3
  26. package/dist/chains/question_answering/refine_prompts.cjs +2 -2
  27. package/dist/chains/question_answering/refine_prompts.js +2 -2
  28. package/dist/chains/question_answering/stuff_prompts.cjs +1 -2
  29. package/dist/chains/question_answering/stuff_prompts.js +1 -2
  30. package/dist/chat_models/ollama.cjs +3 -7
  31. package/dist/chat_models/ollama.d.ts +1 -1
  32. package/dist/chat_models/ollama.js +3 -7
  33. package/dist/document_loaders/web/pdf.cjs +87 -0
  34. package/dist/document_loaders/web/pdf.d.ts +17 -0
  35. package/dist/document_loaders/web/pdf.js +83 -0
  36. package/dist/evaluation/agents/prompt.cjs +2 -3
  37. package/dist/evaluation/agents/prompt.js +2 -3
  38. package/dist/experimental/plan_and_execute/prompt.cjs +1 -1
  39. package/dist/experimental/plan_and_execute/prompt.js +1 -1
  40. package/dist/llms/llama_cpp.cjs +10 -4
  41. package/dist/llms/llama_cpp.d.ts +2 -1
  42. package/dist/llms/llama_cpp.js +10 -4
  43. package/dist/llms/ollama.cjs +5 -6
  44. package/dist/llms/ollama.d.ts +2 -2
  45. package/dist/llms/ollama.js +5 -6
  46. package/dist/llms/openai.cjs +2 -3
  47. package/dist/llms/openai.js +2 -3
  48. package/dist/load/import_constants.cjs +3 -0
  49. package/dist/load/import_constants.js +3 -0
  50. package/dist/prompts/chat.cjs +12 -1
  51. package/dist/prompts/chat.d.ts +8 -0
  52. package/dist/prompts/chat.js +12 -1
  53. package/dist/stores/message/cloudflare_d1.cjs +134 -0
  54. package/dist/stores/message/cloudflare_d1.d.ts +49 -0
  55. package/dist/stores/message/cloudflare_d1.js +130 -0
  56. package/dist/types/openai-types.d.ts +2 -0
  57. package/document_loaders/web/pdf.cjs +1 -0
  58. package/document_loaders/web/pdf.d.ts +1 -0
  59. package/document_loaders/web/pdf.js +1 -0
  60. package/package.json +30 -1
  61. package/stores/message/cloudflare_d1.cjs +1 -0
  62. package/stores/message/cloudflare_d1.d.ts +1 -0
  63. package/stores/message/cloudflare_d1.js +1 -0
@@ -0,0 +1,130 @@
1
+ import { v4 } from "uuid";
2
+ import { BaseListChatMessageHistory, } from "../../schema/index.js";
3
+ import { mapChatMessagesToStoredMessages, mapStoredMessagesToChatMessages, } from "./utils.js";
4
+ /**
5
+ * Class for storing and retrieving chat message history from a
6
+ * Cloudflare D1 database. Extends the BaseListChatMessageHistory class.
7
+ */
8
+ export class CloudflareD1MessageHistory extends BaseListChatMessageHistory {
9
+ constructor(fields) {
10
+ super(fields);
11
+ Object.defineProperty(this, "lc_namespace", {
12
+ enumerable: true,
13
+ configurable: true,
14
+ writable: true,
15
+ value: ["langchain", "stores", "message", "cloudflare_d1"]
16
+ });
17
+ Object.defineProperty(this, "database", {
18
+ enumerable: true,
19
+ configurable: true,
20
+ writable: true,
21
+ value: void 0
22
+ });
23
+ Object.defineProperty(this, "tableName", {
24
+ enumerable: true,
25
+ configurable: true,
26
+ writable: true,
27
+ value: void 0
28
+ });
29
+ Object.defineProperty(this, "sessionId", {
30
+ enumerable: true,
31
+ configurable: true,
32
+ writable: true,
33
+ value: void 0
34
+ });
35
+ Object.defineProperty(this, "tableInitialized", {
36
+ enumerable: true,
37
+ configurable: true,
38
+ writable: true,
39
+ value: void 0
40
+ });
41
+ const { sessionId, database, tableName } = fields;
42
+ if (database) {
43
+ this.database = database;
44
+ }
45
+ else {
46
+ throw new Error("Either a client or config must be provided to CloudflareD1MessageHistory");
47
+ }
48
+ this.tableName = tableName || "langchain_chat_histories";
49
+ this.tableInitialized = false;
50
+ this.sessionId = sessionId;
51
+ }
52
+ /**
53
+ * Private method to ensure that the necessary table exists in the
54
+ * Cloudflare D1 database before performing any operations. If the table
55
+ * does not exist, it is created.
56
+ * @returns Promise that resolves to void.
57
+ */
58
+ async ensureTable() {
59
+ if (this.tableInitialized) {
60
+ return;
61
+ }
62
+ const query = `CREATE TABLE IF NOT EXISTS ${this.tableName} (id TEXT PRIMARY KEY, session_id TEXT, type TEXT, content TEXT, role TEXT, name TEXT, additional_kwargs TEXT);`;
63
+ await this.database.prepare(query).bind().all();
64
+ const idIndexQuery = `CREATE INDEX IF NOT EXISTS id_index ON ${this.tableName} (id);`;
65
+ await this.database.prepare(idIndexQuery).bind().all();
66
+ const sessionIdIndexQuery = `CREATE INDEX IF NOT EXISTS session_id_index ON ${this.tableName} (session_id);`;
67
+ await this.database.prepare(sessionIdIndexQuery).bind().all();
68
+ this.tableInitialized = true;
69
+ }
70
+ /**
71
+ * Method to retrieve all messages from the Cloudflare D1 database for the
72
+ * current session.
73
+ * @returns Promise that resolves to an array of BaseMessage objects.
74
+ */
75
+ async getMessages() {
76
+ await this.ensureTable();
77
+ const query = `SELECT * FROM ${this.tableName} WHERE session_id = ?`;
78
+ const rawStoredMessages = await this.database
79
+ .prepare(query)
80
+ .bind(this.sessionId)
81
+ .all();
82
+ const storedMessagesObject = rawStoredMessages.results;
83
+ const orderedMessages = storedMessagesObject.map((message) => {
84
+ const data = {
85
+ content: message.content,
86
+ additional_kwargs: JSON.parse(message.additional_kwargs),
87
+ };
88
+ if (message.role) {
89
+ data.role = message.role;
90
+ }
91
+ if (message.name) {
92
+ data.name = message.name;
93
+ }
94
+ return {
95
+ type: message.type,
96
+ data,
97
+ };
98
+ });
99
+ return mapStoredMessagesToChatMessages(orderedMessages);
100
+ }
101
+ /**
102
+ * Method to add a new message to the Cloudflare D1 database for the current
103
+ * session.
104
+ * @param message The BaseMessage object to be added to the database.
105
+ * @returns Promise that resolves to void.
106
+ */
107
+ async addMessage(message) {
108
+ await this.ensureTable();
109
+ const messageToAdd = mapChatMessagesToStoredMessages([message]);
110
+ const query = `INSERT INTO ${this.tableName} (id, session_id, type, content, role, name, additional_kwargs) VALUES(?, ?, ?, ?, ?, ?, ?)`;
111
+ const id = v4();
112
+ await this.database
113
+ .prepare(query)
114
+ .bind(id, this.sessionId, messageToAdd[0].type || null, messageToAdd[0].data.content || null, messageToAdd[0].data.role || null, messageToAdd[0].data.name || null, JSON.stringify(messageToAdd[0].data.additional_kwargs))
115
+ .all();
116
+ }
117
+ /**
118
+ * Method to delete all messages from the Cloudflare D1 database for the
119
+ * current session.
120
+ * @returns Promise that resolves to void.
121
+ */
122
+ async clear() {
123
+ await this.ensureTable();
124
+ const query = `DELETE FROM ? WHERE session_id = ? `;
125
+ await this.database
126
+ .prepare(query)
127
+ .bind(this.tableName, this.sessionId)
128
+ .all();
129
+ }
130
+ }
@@ -1,5 +1,7 @@
1
1
  import type { OpenAI as OpenAIClient } from "openai";
2
+ import { TiktokenModel } from "js-tiktoken/lite";
2
3
  import { BaseLanguageModelCallOptions } from "../base_language/index.js";
4
+ export type { TiktokenModel };
3
5
  export declare interface OpenAIBaseInput {
4
6
  /** Sampling temperature to use */
5
7
  temperature: number;
@@ -0,0 +1 @@
1
+ module.exports = require('../../dist/document_loaders/web/pdf.cjs');
@@ -0,0 +1 @@
1
+ export * from '../../dist/document_loaders/web/pdf.js'
@@ -0,0 +1 @@
1
+ export * from '../../dist/document_loaders/web/pdf.js'
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "langchain",
3
- "version": "0.0.151",
3
+ "version": "0.0.152",
4
4
  "description": "Typescript bindings for langchain",
5
5
  "type": "module",
6
6
  "engines": {
@@ -313,6 +313,9 @@
313
313
  "document_loaders/web/notionapi.cjs",
314
314
  "document_loaders/web/notionapi.js",
315
315
  "document_loaders/web/notionapi.d.ts",
316
+ "document_loaders/web/pdf.cjs",
317
+ "document_loaders/web/pdf.js",
318
+ "document_loaders/web/pdf.d.ts",
316
319
  "document_loaders/web/recursive_url.cjs",
317
320
  "document_loaders/web/recursive_url.js",
318
321
  "document_loaders/web/recursive_url.d.ts",
@@ -511,6 +514,9 @@
511
514
  "cache.cjs",
512
515
  "cache.js",
513
516
  "cache.d.ts",
517
+ "cache/cloudflare_kv.cjs",
518
+ "cache/cloudflare_kv.js",
519
+ "cache/cloudflare_kv.d.ts",
514
520
  "cache/momento.cjs",
515
521
  "cache/momento.js",
516
522
  "cache/momento.d.ts",
@@ -535,6 +541,9 @@
535
541
  "stores/file/node.cjs",
536
542
  "stores/file/node.js",
537
543
  "stores/file/node.d.ts",
544
+ "stores/message/cloudflare_d1.cjs",
545
+ "stores/message/cloudflare_d1.js",
546
+ "stores/message/cloudflare_d1.d.ts",
538
547
  "stores/message/in_memory.cjs",
539
548
  "stores/message/in_memory.js",
540
549
  "stores/message/in_memory.d.ts",
@@ -646,6 +655,7 @@
646
655
  "@aws-sdk/types": "^3.357.0",
647
656
  "@azure/storage-blob": "^12.15.0",
648
657
  "@clickhouse/client": "^0.0.14",
658
+ "@cloudflare/workers-types": "^4.20230904.0",
649
659
  "@elastic/elasticsearch": "^8.4.0",
650
660
  "@faker-js/faker": "^7.6.0",
651
661
  "@getmetal/metal-sdk": "^4.0.0",
@@ -765,6 +775,7 @@
765
775
  "@aws-sdk/signature-v4": "^3.374.0",
766
776
  "@azure/storage-blob": "^12.15.0",
767
777
  "@clickhouse/client": "^0.0.14",
778
+ "@cloudflare/workers-types": "^4.20230904.0",
768
779
  "@elastic/elasticsearch": "^8.4.0",
769
780
  "@getmetal/metal-sdk": "*",
770
781
  "@getzep/zep-js": "^0.7.0",
@@ -871,6 +882,9 @@
871
882
  "@clickhouse/client": {
872
883
  "optional": true
873
884
  },
885
+ "@cloudflare/workers-types": {
886
+ "optional": true
887
+ },
874
888
  "@elastic/elasticsearch": {
875
889
  "optional": true
876
890
  },
@@ -1623,6 +1637,11 @@
1623
1637
  "import": "./document_loaders/web/notionapi.js",
1624
1638
  "require": "./document_loaders/web/notionapi.cjs"
1625
1639
  },
1640
+ "./document_loaders/web/pdf": {
1641
+ "types": "./document_loaders/web/pdf.d.ts",
1642
+ "import": "./document_loaders/web/pdf.js",
1643
+ "require": "./document_loaders/web/pdf.cjs"
1644
+ },
1626
1645
  "./document_loaders/web/recursive_url": {
1627
1646
  "types": "./document_loaders/web/recursive_url.d.ts",
1628
1647
  "import": "./document_loaders/web/recursive_url.js",
@@ -1953,6 +1972,11 @@
1953
1972
  "import": "./cache.js",
1954
1973
  "require": "./cache.cjs"
1955
1974
  },
1975
+ "./cache/cloudflare_kv": {
1976
+ "types": "./cache/cloudflare_kv.d.ts",
1977
+ "import": "./cache/cloudflare_kv.js",
1978
+ "require": "./cache/cloudflare_kv.cjs"
1979
+ },
1956
1980
  "./cache/momento": {
1957
1981
  "types": "./cache/momento.d.ts",
1958
1982
  "import": "./cache/momento.js",
@@ -1993,6 +2017,11 @@
1993
2017
  "import": "./stores/file/node.js",
1994
2018
  "require": "./stores/file/node.cjs"
1995
2019
  },
2020
+ "./stores/message/cloudflare_d1": {
2021
+ "types": "./stores/message/cloudflare_d1.d.ts",
2022
+ "import": "./stores/message/cloudflare_d1.js",
2023
+ "require": "./stores/message/cloudflare_d1.cjs"
2024
+ },
1996
2025
  "./stores/message/in_memory": {
1997
2026
  "types": "./stores/message/in_memory.d.ts",
1998
2027
  "import": "./stores/message/in_memory.js",
@@ -0,0 +1 @@
1
+ module.exports = require('../../dist/stores/message/cloudflare_d1.cjs');
@@ -0,0 +1 @@
1
+ export * from '../../dist/stores/message/cloudflare_d1.js'
@@ -0,0 +1 @@
1
+ export * from '../../dist/stores/message/cloudflare_d1.js'