base.cjs 6.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183
  1. "use strict";
  2. var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
  3. if (k2 === undefined) k2 = k;
  4. var desc = Object.getOwnPropertyDescriptor(m, k);
  5. if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
  6. desc = { enumerable: true, get: function() { return m[k]; } };
  7. }
  8. Object.defineProperty(o, k2, desc);
  9. }) : (function(o, m, k, k2) {
  10. if (k2 === undefined) k2 = k;
  11. o[k2] = m[k];
  12. }));
  13. var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
  14. Object.defineProperty(o, "default", { enumerable: true, value: v });
  15. }) : function(o, v) {
  16. o["default"] = v;
  17. });
  18. var __importStar = (this && this.__importStar) || function (mod) {
  19. if (mod && mod.__esModule) return mod;
  20. var result = {};
  21. if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
  22. __setModuleDefault(result, mod);
  23. return result;
  24. };
  25. Object.defineProperty(exports, "__esModule", { value: true });
  26. exports.isBaseCallbackHandler = exports.BaseCallbackHandler = exports.callbackHandlerPrefersStreaming = void 0;
  27. const uuid = __importStar(require("uuid"));
  28. const serializable_js_1 = require("../load/serializable.cjs");
  29. const env_js_1 = require("../utils/env.cjs");
  30. /**
  31. * Abstract class that provides a set of optional methods that can be
  32. * overridden in derived classes to handle various events during the
  33. * execution of a LangChain application.
  34. */
  35. class BaseCallbackHandlerMethodsClass {
  36. }
  37. function callbackHandlerPrefersStreaming(x) {
  38. return "lc_prefer_streaming" in x && x.lc_prefer_streaming;
  39. }
  40. exports.callbackHandlerPrefersStreaming = callbackHandlerPrefersStreaming;
  41. /**
  42. * Abstract base class for creating callback handlers in the LangChain
  43. * framework. It provides a set of optional methods that can be overridden
  44. * in derived classes to handle various events during the execution of a
  45. * LangChain application.
  46. */
  47. class BaseCallbackHandler extends BaseCallbackHandlerMethodsClass {
  48. get lc_namespace() {
  49. return ["langchain_core", "callbacks", this.name];
  50. }
  51. get lc_secrets() {
  52. return undefined;
  53. }
  54. get lc_attributes() {
  55. return undefined;
  56. }
  57. get lc_aliases() {
  58. return undefined;
  59. }
  60. get lc_serializable_keys() {
  61. return undefined;
  62. }
  63. /**
  64. * The name of the serializable. Override to provide an alias or
  65. * to preserve the serialized module name in minified environments.
  66. *
  67. * Implemented as a static method to support loading logic.
  68. */
  69. static lc_name() {
  70. return this.name;
  71. }
  72. /**
  73. * The final serialized identifier for the module.
  74. */
  75. get lc_id() {
  76. return [
  77. ...this.lc_namespace,
  78. (0, serializable_js_1.get_lc_unique_name)(this.constructor),
  79. ];
  80. }
  81. constructor(input) {
  82. super();
  83. Object.defineProperty(this, "lc_serializable", {
  84. enumerable: true,
  85. configurable: true,
  86. writable: true,
  87. value: false
  88. });
  89. Object.defineProperty(this, "lc_kwargs", {
  90. enumerable: true,
  91. configurable: true,
  92. writable: true,
  93. value: void 0
  94. });
  95. Object.defineProperty(this, "ignoreLLM", {
  96. enumerable: true,
  97. configurable: true,
  98. writable: true,
  99. value: false
  100. });
  101. Object.defineProperty(this, "ignoreChain", {
  102. enumerable: true,
  103. configurable: true,
  104. writable: true,
  105. value: false
  106. });
  107. Object.defineProperty(this, "ignoreAgent", {
  108. enumerable: true,
  109. configurable: true,
  110. writable: true,
  111. value: false
  112. });
  113. Object.defineProperty(this, "ignoreRetriever", {
  114. enumerable: true,
  115. configurable: true,
  116. writable: true,
  117. value: false
  118. });
  119. Object.defineProperty(this, "ignoreCustomEvent", {
  120. enumerable: true,
  121. configurable: true,
  122. writable: true,
  123. value: false
  124. });
  125. Object.defineProperty(this, "raiseError", {
  126. enumerable: true,
  127. configurable: true,
  128. writable: true,
  129. value: false
  130. });
  131. Object.defineProperty(this, "awaitHandlers", {
  132. enumerable: true,
  133. configurable: true,
  134. writable: true,
  135. value: (0, env_js_1.getEnvironmentVariable)("LANGCHAIN_CALLBACKS_BACKGROUND") === "false"
  136. });
  137. this.lc_kwargs = input || {};
  138. if (input) {
  139. this.ignoreLLM = input.ignoreLLM ?? this.ignoreLLM;
  140. this.ignoreChain = input.ignoreChain ?? this.ignoreChain;
  141. this.ignoreAgent = input.ignoreAgent ?? this.ignoreAgent;
  142. this.ignoreRetriever = input.ignoreRetriever ?? this.ignoreRetriever;
  143. this.ignoreCustomEvent =
  144. input.ignoreCustomEvent ?? this.ignoreCustomEvent;
  145. this.raiseError = input.raiseError ?? this.raiseError;
  146. this.awaitHandlers =
  147. this.raiseError || (input._awaitHandler ?? this.awaitHandlers);
  148. }
  149. }
  150. copy() {
  151. return new this.constructor(this);
  152. }
  153. toJSON() {
  154. return serializable_js_1.Serializable.prototype.toJSON.call(this);
  155. }
  156. toJSONNotImplemented() {
  157. return serializable_js_1.Serializable.prototype.toJSONNotImplemented.call(this);
  158. }
  159. static fromMethods(methods) {
  160. class Handler extends BaseCallbackHandler {
  161. constructor() {
  162. super();
  163. Object.defineProperty(this, "name", {
  164. enumerable: true,
  165. configurable: true,
  166. writable: true,
  167. value: uuid.v4()
  168. });
  169. Object.assign(this, methods);
  170. }
  171. }
  172. return new Handler();
  173. }
  174. }
  175. exports.BaseCallbackHandler = BaseCallbackHandler;
  176. const isBaseCallbackHandler = (x) => {
  177. const callbackHandler = x;
  178. return (callbackHandler !== undefined &&
  179. typeof callbackHandler.copy === "function" &&
  180. typeof callbackHandler.name === "string" &&
  181. typeof callbackHandler.awaitHandlers === "boolean");
  182. };
  183. exports.isBaseCallbackHandler = isBaseCallbackHandler;