langchain 0.1.1 → 0.1.3

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 (74) hide show
  1. package/dist/agents/agent.cjs +1 -1
  2. package/dist/agents/agent.d.ts +1 -1
  3. package/dist/agents/agent.js +1 -1
  4. package/dist/agents/openai_functions/index.cjs +3 -3
  5. package/dist/agents/openai_functions/index.js +3 -3
  6. package/dist/agents/openai_functions/output_parser.cjs +1 -1
  7. package/dist/agents/openai_functions/output_parser.d.ts +1 -1
  8. package/dist/agents/openai_functions/output_parser.js +1 -1
  9. package/dist/agents/openai_tools/index.cjs +2 -2
  10. package/dist/agents/openai_tools/index.js +2 -2
  11. package/dist/agents/openai_tools/output_parser.cjs +1 -1
  12. package/dist/agents/openai_tools/output_parser.d.ts +1 -1
  13. package/dist/agents/openai_tools/output_parser.js +1 -1
  14. package/dist/cache/cloudflare_kv.cjs +2 -1
  15. package/dist/cache/cloudflare_kv.js +2 -1
  16. package/dist/chains/history_aware_retriever.cjs +1 -1
  17. package/dist/chains/history_aware_retriever.d.ts +1 -1
  18. package/dist/chains/history_aware_retriever.js +1 -1
  19. package/dist/chains/openai_functions/index.d.ts +1 -1
  20. package/dist/chains/sql_db/sql_db_prompt.cjs +20 -1
  21. package/dist/chains/sql_db/sql_db_prompt.d.ts +6 -0
  22. package/dist/chains/sql_db/sql_db_prompt.js +19 -0
  23. package/dist/chat_models/cloudflare_workersai.cjs +2 -0
  24. package/dist/chat_models/cloudflare_workersai.js +2 -0
  25. package/dist/embeddings/cloudflare_workersai.cjs +2 -0
  26. package/dist/embeddings/cloudflare_workersai.js +2 -0
  27. package/dist/evaluation/agents/trajectory.d.ts +2 -2
  28. package/dist/evaluation/base.d.ts +7 -6
  29. package/dist/evaluation/comparison/pairwise.d.ts +2 -2
  30. package/dist/evaluation/criteria/criteria.d.ts +2 -2
  31. package/dist/experimental/chat_models/anthropic_functions.cjs +2 -2
  32. package/dist/experimental/chat_models/anthropic_functions.js +2 -2
  33. package/dist/experimental/chat_models/ollama_functions.d.ts +1 -0
  34. package/dist/experimental/prompts/custom_format.cjs +68 -0
  35. package/dist/experimental/prompts/custom_format.d.ts +24 -0
  36. package/dist/experimental/prompts/custom_format.js +64 -0
  37. package/dist/experimental/prompts/handlebars.cjs +71 -0
  38. package/dist/experimental/prompts/handlebars.d.ts +13 -0
  39. package/dist/experimental/prompts/handlebars.js +62 -0
  40. package/dist/llms/cloudflare_workersai.cjs +2 -0
  41. package/dist/llms/cloudflare_workersai.js +2 -0
  42. package/dist/load/import_constants.cjs +1 -0
  43. package/dist/load/import_constants.js +1 -0
  44. package/dist/load/import_map.cjs +2 -1
  45. package/dist/load/import_map.d.ts +1 -0
  46. package/dist/load/import_map.js +1 -0
  47. package/dist/output_parsers/datetime.cjs +63 -0
  48. package/dist/output_parsers/datetime.d.ts +27 -0
  49. package/dist/output_parsers/datetime.js +59 -0
  50. package/dist/output_parsers/index.cjs +3 -1
  51. package/dist/output_parsers/index.d.ts +1 -0
  52. package/dist/output_parsers/index.js +1 -0
  53. package/dist/output_parsers/openai_functions.cjs +8 -3
  54. package/dist/output_parsers/openai_functions.d.ts +3 -0
  55. package/dist/output_parsers/openai_functions.js +8 -3
  56. package/dist/output_parsers/openai_tools.cjs +18 -5
  57. package/dist/output_parsers/openai_tools.d.ts +4 -0
  58. package/dist/output_parsers/openai_tools.js +18 -5
  59. package/dist/stores/message/cloudflare_d1.cjs +2 -0
  60. package/dist/stores/message/cloudflare_d1.js +2 -0
  61. package/dist/tools/convert_to_openai.cjs +3 -26
  62. package/dist/tools/convert_to_openai.d.ts +2 -8
  63. package/dist/tools/convert_to_openai.js +2 -24
  64. package/dist/util/sql_utils.cjs +23 -0
  65. package/dist/util/sql_utils.js +24 -1
  66. package/dist/vectorstores/cloudflare_vectorize.cjs +2 -0
  67. package/dist/vectorstores/cloudflare_vectorize.js +2 -0
  68. package/experimental/prompts/custom_format.cjs +1 -0
  69. package/experimental/prompts/custom_format.d.ts +1 -0
  70. package/experimental/prompts/custom_format.js +1 -0
  71. package/experimental/prompts/handlebars.cjs +1 -0
  72. package/experimental/prompts/handlebars.d.ts +1 -0
  73. package/experimental/prompts/handlebars.js +1 -0
  74. package/package.json +26 -4
@@ -17,5 +17,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
17
17
  const entrypoint_deprecation_js_1 = require("../../util/entrypoint_deprecation.cjs");
18
18
  /* #__PURE__ */ (0, entrypoint_deprecation_js_1.logVersion010MigrationWarning)({
19
19
  oldEntrypointName: "stores/message/cloudflare_d1",
20
+ newEntrypointName: "",
21
+ newPackageName: "@langchain/cloudflare",
20
22
  });
21
23
  __exportStar(require("@langchain/community/stores/message/cloudflare_d1"), exports);
@@ -1,5 +1,7 @@
1
1
  import { logVersion010MigrationWarning } from "../../util/entrypoint_deprecation.js";
2
2
  /* #__PURE__ */ logVersion010MigrationWarning({
3
3
  oldEntrypointName: "stores/message/cloudflare_d1",
4
+ newEntrypointName: "",
5
+ newPackageName: "@langchain/cloudflare",
4
6
  });
5
7
  export * from "@langchain/community/stores/message/cloudflare_d1";
@@ -2,32 +2,9 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.formatToOpenAIAssistantTool = exports.formatToOpenAITool = exports.formatToOpenAIFunction = void 0;
4
4
  const zod_to_json_schema_1 = require("zod-to-json-schema");
5
- /**
6
- * Formats a `StructuredTool` instance into a format that is compatible
7
- * with OpenAI's ChatCompletionFunctions. It uses the `zodToJsonSchema`
8
- * function to convert the schema of the `StructuredTool` into a JSON
9
- * schema, which is then used as the parameters for the OpenAI function.
10
- */
11
- function formatToOpenAIFunction(tool) {
12
- return {
13
- name: tool.name,
14
- description: tool.description,
15
- parameters: (0, zod_to_json_schema_1.zodToJsonSchema)(tool.schema),
16
- };
17
- }
18
- exports.formatToOpenAIFunction = formatToOpenAIFunction;
19
- function formatToOpenAITool(tool) {
20
- const schema = (0, zod_to_json_schema_1.zodToJsonSchema)(tool.schema);
21
- return {
22
- type: "function",
23
- function: {
24
- name: tool.name,
25
- description: tool.description,
26
- parameters: schema,
27
- },
28
- };
29
- }
30
- exports.formatToOpenAITool = formatToOpenAITool;
5
+ const function_calling_1 = require("@langchain/core/utils/function_calling");
6
+ Object.defineProperty(exports, "formatToOpenAIFunction", { enumerable: true, get: function () { return function_calling_1.convertToOpenAIFunction; } });
7
+ Object.defineProperty(exports, "formatToOpenAITool", { enumerable: true, get: function () { return function_calling_1.convertToOpenAITool; } });
31
8
  function formatToOpenAIAssistantTool(tool) {
32
9
  return {
33
10
  type: "function",
@@ -1,11 +1,5 @@
1
1
  import type { OpenAIClient } from "@langchain/openai";
2
2
  import type { StructuredToolInterface } from "@langchain/core/tools";
3
- /**
4
- * Formats a `StructuredTool` instance into a format that is compatible
5
- * with OpenAI's ChatCompletionFunctions. It uses the `zodToJsonSchema`
6
- * function to convert the schema of the `StructuredTool` into a JSON
7
- * schema, which is then used as the parameters for the OpenAI function.
8
- */
9
- export declare function formatToOpenAIFunction(tool: StructuredToolInterface): OpenAIClient.Chat.ChatCompletionCreateParams.Function;
10
- export declare function formatToOpenAITool(tool: StructuredToolInterface): OpenAIClient.Chat.ChatCompletionTool;
3
+ import { convertToOpenAIFunction, convertToOpenAITool } from "@langchain/core/utils/function_calling";
4
+ export { convertToOpenAIFunction as formatToOpenAIFunction, convertToOpenAITool as formatToOpenAITool, };
11
5
  export declare function formatToOpenAIAssistantTool(tool: StructuredToolInterface): OpenAIClient.Beta.AssistantCreateParams.AssistantToolsFunction;
@@ -1,28 +1,6 @@
1
1
  import { zodToJsonSchema } from "zod-to-json-schema";
2
- /**
3
- * Formats a `StructuredTool` instance into a format that is compatible
4
- * with OpenAI's ChatCompletionFunctions. It uses the `zodToJsonSchema`
5
- * function to convert the schema of the `StructuredTool` into a JSON
6
- * schema, which is then used as the parameters for the OpenAI function.
7
- */
8
- export function formatToOpenAIFunction(tool) {
9
- return {
10
- name: tool.name,
11
- description: tool.description,
12
- parameters: zodToJsonSchema(tool.schema),
13
- };
14
- }
15
- export function formatToOpenAITool(tool) {
16
- const schema = zodToJsonSchema(tool.schema);
17
- return {
18
- type: "function",
19
- function: {
20
- name: tool.name,
21
- description: tool.description,
22
- parameters: schema,
23
- },
24
- };
25
- }
2
+ import { convertToOpenAIFunction, convertToOpenAITool, } from "@langchain/core/utils/function_calling";
3
+ export { convertToOpenAIFunction as formatToOpenAIFunction, convertToOpenAITool as formatToOpenAITool, };
26
4
  export function formatToOpenAIAssistantTool(tool) {
27
5
  return {
28
6
  type: "function",
@@ -126,6 +126,20 @@ const getTableAndColumnsName = async (appDataSource) => {
126
126
  }));
127
127
  return formatToSqlTable(repLowerCase);
128
128
  }
129
+ if (appDataSource.options.type === "oracle") {
130
+ const schemaName = appDataSource.options.schema;
131
+ const sql = `
132
+ SELECT
133
+ TABLE_NAME AS "table_name",
134
+ COLUMN_NAME AS "column_name",
135
+ DATA_TYPE AS "data_type",
136
+ NULLABLE AS "is_nullable"
137
+ FROM ALL_TAB_COLS
138
+ WHERE
139
+ OWNER = UPPER('${schemaName}')`;
140
+ const rep = await appDataSource.query(sql);
141
+ return formatToSqlTable(rep);
142
+ }
129
143
  throw new Error("Database type not implemented yet");
130
144
  };
131
145
  exports.getTableAndColumnsName = getTableAndColumnsName;
@@ -161,6 +175,9 @@ const generateTableInfoFromTables = async (tables, appDataSource, nbSampleRow, c
161
175
  appDataSource.options?.username ??
162
176
  "public";
163
177
  }
178
+ else if (appDataSource.options.type === "oracle") {
179
+ schema = appDataSource.options.schema;
180
+ }
164
181
  let sqlCreateTableQuery = schema
165
182
  ? `CREATE TABLE "${schema}"."${currentTable.tableName}" (\n`
166
183
  : `CREATE TABLE ${currentTable.tableName} (\n`;
@@ -189,6 +206,9 @@ const generateTableInfoFromTables = async (tables, appDataSource, nbSampleRow, c
189
206
  "public";
190
207
  sqlSelectInfoQuery = `SELECT * FROM "${schema}"."${currentTable.tableName}" LIMIT ${nbSampleRow};\n`;
191
208
  }
209
+ else if (appDataSource.options.type === "oracle") {
210
+ sqlSelectInfoQuery = `SELECT * FROM "${schema}"."${currentTable.tableName}" WHERE ROWNUM <= '${nbSampleRow}'`;
211
+ }
192
212
  else {
193
213
  sqlSelectInfoQuery = `SELECT * FROM "${currentTable.tableName}" LIMIT ${nbSampleRow};\n`;
194
214
  }
@@ -229,6 +249,9 @@ const getPromptTemplateFromDataSource = (appDataSource) => {
229
249
  if (appDataSource.options.type === "sap") {
230
250
  return sql_db_prompt_js_1.SQL_SAP_HANA_PROMPT;
231
251
  }
252
+ if (appDataSource.options.type === "oracle") {
253
+ return sql_db_prompt_js_1.SQL_ORACLE_PROMPT;
254
+ }
232
255
  return sql_db_prompt_js_1.DEFAULT_SQL_DATABASE_PROMPT;
233
256
  };
234
257
  exports.getPromptTemplateFromDataSource = getPromptTemplateFromDataSource;
@@ -1,4 +1,4 @@
1
- import { DEFAULT_SQL_DATABASE_PROMPT, SQL_SAP_HANA_PROMPT, SQL_MSSQL_PROMPT, SQL_MYSQL_PROMPT, SQL_POSTGRES_PROMPT, SQL_SQLITE_PROMPT, } from "../chains/sql_db/sql_db_prompt.js";
1
+ import { DEFAULT_SQL_DATABASE_PROMPT, SQL_SAP_HANA_PROMPT, SQL_MSSQL_PROMPT, SQL_MYSQL_PROMPT, SQL_POSTGRES_PROMPT, SQL_SQLITE_PROMPT, SQL_ORACLE_PROMPT, } from "../chains/sql_db/sql_db_prompt.js";
2
2
  export const verifyListTablesExistInDatabase = (tablesFromDatabase, listTables, errorPrefixMsg) => {
3
3
  const onlyTableNames = tablesFromDatabase.map((table) => table.tableName);
4
4
  if (listTables.length > 0) {
@@ -120,6 +120,20 @@ export const getTableAndColumnsName = async (appDataSource) => {
120
120
  }));
121
121
  return formatToSqlTable(repLowerCase);
122
122
  }
123
+ if (appDataSource.options.type === "oracle") {
124
+ const schemaName = appDataSource.options.schema;
125
+ const sql = `
126
+ SELECT
127
+ TABLE_NAME AS "table_name",
128
+ COLUMN_NAME AS "column_name",
129
+ DATA_TYPE AS "data_type",
130
+ NULLABLE AS "is_nullable"
131
+ FROM ALL_TAB_COLS
132
+ WHERE
133
+ OWNER = UPPER('${schemaName}')`;
134
+ const rep = await appDataSource.query(sql);
135
+ return formatToSqlTable(rep);
136
+ }
123
137
  throw new Error("Database type not implemented yet");
124
138
  };
125
139
  const formatSqlResponseToSimpleTableString = (rawResult) => {
@@ -154,6 +168,9 @@ export const generateTableInfoFromTables = async (tables, appDataSource, nbSampl
154
168
  appDataSource.options?.username ??
155
169
  "public";
156
170
  }
171
+ else if (appDataSource.options.type === "oracle") {
172
+ schema = appDataSource.options.schema;
173
+ }
157
174
  let sqlCreateTableQuery = schema
158
175
  ? `CREATE TABLE "${schema}"."${currentTable.tableName}" (\n`
159
176
  : `CREATE TABLE ${currentTable.tableName} (\n`;
@@ -182,6 +199,9 @@ export const generateTableInfoFromTables = async (tables, appDataSource, nbSampl
182
199
  "public";
183
200
  sqlSelectInfoQuery = `SELECT * FROM "${schema}"."${currentTable.tableName}" LIMIT ${nbSampleRow};\n`;
184
201
  }
202
+ else if (appDataSource.options.type === "oracle") {
203
+ sqlSelectInfoQuery = `SELECT * FROM "${schema}"."${currentTable.tableName}" WHERE ROWNUM <= '${nbSampleRow}'`;
204
+ }
185
205
  else {
186
206
  sqlSelectInfoQuery = `SELECT * FROM "${currentTable.tableName}" LIMIT ${nbSampleRow};\n`;
187
207
  }
@@ -221,5 +241,8 @@ export const getPromptTemplateFromDataSource = (appDataSource) => {
221
241
  if (appDataSource.options.type === "sap") {
222
242
  return SQL_SAP_HANA_PROMPT;
223
243
  }
244
+ if (appDataSource.options.type === "oracle") {
245
+ return SQL_ORACLE_PROMPT;
246
+ }
224
247
  return DEFAULT_SQL_DATABASE_PROMPT;
225
248
  };
@@ -17,5 +17,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
17
17
  const entrypoint_deprecation_js_1 = require("../util/entrypoint_deprecation.cjs");
18
18
  /* #__PURE__ */ (0, entrypoint_deprecation_js_1.logVersion010MigrationWarning)({
19
19
  oldEntrypointName: "vectorstores/cloudflare_vectorize",
20
+ newEntrypointName: "",
21
+ newPackageName: "@langchain/cloudflare",
20
22
  });
21
23
  __exportStar(require("@langchain/community/vectorstores/cloudflare_vectorize"), exports);
@@ -1,5 +1,7 @@
1
1
  import { logVersion010MigrationWarning } from "../util/entrypoint_deprecation.js";
2
2
  /* #__PURE__ */ logVersion010MigrationWarning({
3
3
  oldEntrypointName: "vectorstores/cloudflare_vectorize",
4
+ newEntrypointName: "",
5
+ newPackageName: "@langchain/cloudflare",
4
6
  });
5
7
  export * from "@langchain/community/vectorstores/cloudflare_vectorize";
@@ -0,0 +1 @@
1
+ module.exports = require('../../dist/experimental/prompts/custom_format.cjs');
@@ -0,0 +1 @@
1
+ export * from '../../dist/experimental/prompts/custom_format.js'
@@ -0,0 +1 @@
1
+ export * from '../../dist/experimental/prompts/custom_format.js'
@@ -0,0 +1 @@
1
+ module.exports = require('../../dist/experimental/prompts/handlebars.cjs');
@@ -0,0 +1 @@
1
+ export * from '../../dist/experimental/prompts/handlebars.js'
@@ -0,0 +1 @@
1
+ export * from '../../dist/experimental/prompts/handlebars.js'
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "langchain",
3
- "version": "0.1.1",
3
+ "version": "0.1.3",
4
4
  "description": "Typescript bindings for langchain",
5
5
  "type": "module",
6
6
  "engines": {
@@ -853,6 +853,12 @@
853
853
  "experimental/masking.cjs",
854
854
  "experimental/masking.js",
855
855
  "experimental/masking.d.ts",
856
+ "experimental/prompts/custom_format.cjs",
857
+ "experimental/prompts/custom_format.js",
858
+ "experimental/prompts/custom_format.d.ts",
859
+ "experimental/prompts/handlebars.cjs",
860
+ "experimental/prompts/handlebars.js",
861
+ "experimental/prompts/handlebars.d.ts",
856
862
  "experimental/tools/pyinterpreter.cjs",
857
863
  "experimental/tools/pyinterpreter.js",
858
864
  "experimental/tools/pyinterpreter.d.ts",
@@ -919,6 +925,7 @@
919
925
  "@tsconfig/recommended": "^1.0.2",
920
926
  "@types/d3-dsv": "^2",
921
927
  "@types/decamelize": "^1.2.0",
928
+ "@types/handlebars": "^4.1.0",
922
929
  "@types/html-to-text": "^9",
923
930
  "@types/js-yaml": "^4",
924
931
  "@types/jsdom": "^21.1.1",
@@ -949,6 +956,7 @@
949
956
  "fast-xml-parser": "^4.2.7",
950
957
  "google-auth-library": "^8.9.0",
951
958
  "googleapis": "^126.0.1",
959
+ "handlebars": "^4.7.8",
952
960
  "html-to-text": "^9.0.5",
953
961
  "ignore": "^5.2.0",
954
962
  "ioredis": "^5.3.2",
@@ -1008,6 +1016,7 @@
1008
1016
  "fast-xml-parser": "^4.2.7",
1009
1017
  "google-auth-library": "^8.9.0",
1010
1018
  "googleapis": "^126.0.1",
1019
+ "handlebars": "^4.7.8",
1011
1020
  "html-to-text": "^9.0.5",
1012
1021
  "ignore": "^5.2.0",
1013
1022
  "ioredis": "^5.3.2",
@@ -1115,6 +1124,9 @@
1115
1124
  "googleapis": {
1116
1125
  "optional": true
1117
1126
  },
1127
+ "handlebars": {
1128
+ "optional": true
1129
+ },
1118
1130
  "html-to-text": {
1119
1131
  "optional": true
1120
1132
  },
@@ -1190,9 +1202,9 @@
1190
1202
  },
1191
1203
  "dependencies": {
1192
1204
  "@anthropic-ai/sdk": "^0.9.1",
1193
- "@langchain/community": "~0.0.15",
1194
- "@langchain/core": "~0.1.9",
1195
- "@langchain/openai": "~0.0.10",
1205
+ "@langchain/community": "~0.0.17",
1206
+ "@langchain/core": "~0.1.13",
1207
+ "@langchain/openai": "~0.0.12",
1196
1208
  "binary-extensions": "^2.2.0",
1197
1209
  "expr-eval": "^2.0.2",
1198
1210
  "js-tiktoken": "^1.0.7",
@@ -2631,6 +2643,16 @@
2631
2643
  "import": "./experimental/masking.js",
2632
2644
  "require": "./experimental/masking.cjs"
2633
2645
  },
2646
+ "./experimental/prompts/custom_format": {
2647
+ "types": "./experimental/prompts/custom_format.d.ts",
2648
+ "import": "./experimental/prompts/custom_format.js",
2649
+ "require": "./experimental/prompts/custom_format.cjs"
2650
+ },
2651
+ "./experimental/prompts/handlebars": {
2652
+ "types": "./experimental/prompts/handlebars.d.ts",
2653
+ "import": "./experimental/prompts/handlebars.js",
2654
+ "require": "./experimental/prompts/handlebars.cjs"
2655
+ },
2634
2656
  "./experimental/tools/pyinterpreter": {
2635
2657
  "types": "./experimental/tools/pyinterpreter.d.ts",
2636
2658
  "import": "./experimental/tools/pyinterpreter.js",