@deepagents/context 7.1.1 → 7.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 (43) hide show
  1. package/dist/browser.js +7 -4
  2. package/dist/browser.js.map +2 -2
  3. package/dist/index.d.ts +1 -0
  4. package/dist/index.d.ts.map +1 -1
  5. package/dist/index.js +695 -808
  6. package/dist/index.js.map +4 -4
  7. package/dist/lib/chain-summary.d.ts +2 -6
  8. package/dist/lib/chain-summary.d.ts.map +1 -1
  9. package/dist/lib/engine.d.ts +1 -1
  10. package/dist/lib/engine.d.ts.map +1 -1
  11. package/dist/lib/estimate.d.ts.map +1 -1
  12. package/dist/lib/fragments.d.ts +8 -6
  13. package/dist/lib/fragments.d.ts.map +1 -1
  14. package/dist/lib/resolvers/index.d.ts +0 -1
  15. package/dist/lib/resolvers/index.d.ts.map +1 -1
  16. package/dist/lib/save/save-pipeline.d.ts +2 -2
  17. package/dist/lib/save/save-pipeline.d.ts.map +1 -1
  18. package/dist/lib/store/ddl.sqlserver.d.ts.map +1 -1
  19. package/dist/lib/store/postgres-schema-lock.d.ts +12 -0
  20. package/dist/lib/store/postgres-schema-lock.d.ts.map +1 -0
  21. package/dist/lib/store/postgres.store.d.ts +3 -2
  22. package/dist/lib/store/postgres.store.d.ts.map +1 -1
  23. package/dist/lib/store/sqlite.store.d.ts +9 -0
  24. package/dist/lib/store/sqlite.store.d.ts.map +1 -1
  25. package/dist/lib/store/sqlserver-schema-lock.d.ts +14 -0
  26. package/dist/lib/store/sqlserver-schema-lock.d.ts.map +1 -0
  27. package/dist/lib/store/sqlserver.store.d.ts +3 -2
  28. package/dist/lib/store/sqlserver.store.d.ts.map +1 -1
  29. package/dist/lib/stream/postgres-notify-change-source.d.ts +3 -2
  30. package/dist/lib/stream/postgres-notify-change-source.d.ts.map +1 -1
  31. package/dist/lib/stream/postgres.stream-store.d.ts +3 -2
  32. package/dist/lib/stream/postgres.stream-store.d.ts.map +1 -1
  33. package/dist/lib/stream/sqlite.stream-store.d.ts.map +1 -1
  34. package/dist/lib/tracing/batch-processor.d.ts.map +1 -1
  35. package/dist/lib/tracing/index.js +49 -29
  36. package/dist/lib/tracing/index.js.map +2 -2
  37. package/package.json +17 -9
  38. package/dist/lib/resolvers/promise-resolver.d.ts +0 -7
  39. package/dist/lib/resolvers/promise-resolver.d.ts.map +0 -1
  40. package/dist/scripts/scripts/generate-models-type.d.ts +0 -2
  41. package/dist/scripts/scripts/generate-models-type.d.ts.map +0 -1
  42. package/dist/scripts/scripts/probe-tool-output-reminders.d.ts +0 -2
  43. package/dist/scripts/scripts/probe-tool-output-reminders.d.ts.map +0 -1
package/dist/browser.js CHANGED
@@ -18,7 +18,7 @@ function fitsFragmentData(value, visited) {
18
18
  if (Array.isArray(value)) {
19
19
  return value.every((item) => fitsFragmentData(item, visited));
20
20
  }
21
- if (value instanceof Promise) return true;
21
+ if (value instanceof Promise) return false;
22
22
  if (Symbol.asyncIterator in value || Symbol.iterator in value) return true;
23
23
  if (isFragment(value)) return fitsFragmentData(value.data, visited);
24
24
  return Object.values(value).every((item) => fitsFragmentData(item, visited));
@@ -859,6 +859,7 @@ function fromFragment(fragment2, options) {
859
859
 
860
860
  // packages/context/src/lib/estimate.ts
861
861
  import { encode } from "gpt-tokenizer";
862
+ import pMemoize from "p-memoize";
862
863
  import { z as z2 } from "zod";
863
864
  var defaultTokenizer = {
864
865
  encode(text) {
@@ -900,14 +901,17 @@ function inputPricePerMillion(model) {
900
901
  }
901
902
  var ModelsRegistry = class {
902
903
  #cache = /* @__PURE__ */ new Map();
903
- #loaded = false;
904
904
  #tokenizers = /* @__PURE__ */ new Map();
905
905
  #defaultTokenizer = defaultTokenizer;
906
+ /** Fetches once; concurrent calls share the fetch, and a failed one runs again. */
907
+ #load = pMemoize(() => this.#fetchModels());
906
908
  /**
907
909
  * Load models data from models.dev API
908
910
  */
909
911
  async load() {
910
- if (this.#loaded) return;
912
+ await this.#load();
913
+ }
914
+ async #fetchModels() {
911
915
  const response = await fetch("https://models.dev/api.json");
912
916
  if (!response.ok) {
913
917
  throw new Error(`Failed to fetch models: ${response.statusText}`);
@@ -926,7 +930,6 @@ var ModelsRegistry = class {
926
930
  this.#cache.set(`${providerId}:${modelId}`, info);
927
931
  }
928
932
  }
929
- this.#loaded = true;
930
933
  }
931
934
  /**
932
935
  * Get model info by ID