@multiplayer-app/agent 0.1.18 → 0.1.20

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 (50) hide show
  1. package/dist/agent/definition.d.ts +13 -0
  2. package/dist/agent/definition.d.ts.map +1 -1
  3. package/dist/agent/profiles/research.d.ts.map +1 -1
  4. package/dist/agent/profiles/research.js +23 -1
  5. package/dist/agent/profiles/research.js.map +1 -1
  6. package/dist/agent/turn-history.d.ts +40 -0
  7. package/dist/agent/turn-history.d.ts.map +1 -0
  8. package/dist/agent/turn-history.js +161 -0
  9. package/dist/agent/turn-history.js.map +1 -0
  10. package/dist/agent/turn-runner.d.ts +14 -1
  11. package/dist/agent/turn-runner.d.ts.map +1 -1
  12. package/dist/agent/turn-runner.js +139 -81
  13. package/dist/agent/turn-runner.js.map +1 -1
  14. package/dist/context-pruning.d.ts +2 -0
  15. package/dist/context-pruning.d.ts.map +1 -1
  16. package/dist/context-pruning.js +3 -2
  17. package/dist/context-pruning.js.map +1 -1
  18. package/dist/models/usage.d.ts +6 -0
  19. package/dist/models/usage.d.ts.map +1 -1
  20. package/dist/models/usage.js +13 -0
  21. package/dist/models/usage.js.map +1 -1
  22. package/dist/research/extract-texts.d.ts.map +1 -1
  23. package/dist/research/extract-texts.js +28 -3
  24. package/dist/research/extract-texts.js.map +1 -1
  25. package/dist/research/filingramp/filing-search-tools.d.ts.map +1 -1
  26. package/dist/research/filingramp/filing-search-tools.js +162 -50
  27. package/dist/research/filingramp/filing-search-tools.js.map +1 -1
  28. package/dist/research/filingramp-contract.d.ts +9 -0
  29. package/dist/research/filingramp-contract.d.ts.map +1 -1
  30. package/dist/research/filingramp-contract.js +47 -1
  31. package/dist/research/filingramp-contract.js.map +1 -1
  32. package/dist/research/prompt.d.ts.map +1 -1
  33. package/dist/research/prompt.js +2 -1
  34. package/dist/research/prompt.js.map +1 -1
  35. package/dist/session/conversation.d.ts +7 -0
  36. package/dist/session/conversation.d.ts.map +1 -1
  37. package/dist/session/conversation.js +29 -5
  38. package/dist/session/conversation.js.map +1 -1
  39. package/dist/session/index.d.ts +1 -1
  40. package/dist/session/index.d.ts.map +1 -1
  41. package/dist/session/index.js +2 -1
  42. package/dist/session/index.js.map +1 -1
  43. package/dist/session/runtime.d.ts +4 -0
  44. package/dist/session/runtime.d.ts.map +1 -1
  45. package/dist/session/runtime.js +18 -4
  46. package/dist/session/runtime.js.map +1 -1
  47. package/dist/session/tools.d.ts.map +1 -1
  48. package/dist/session/tools.js +6 -3
  49. package/dist/session/tools.js.map +1 -1
  50. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"turn-runner.js","sourceRoot":"","sources":["../../src/agent/turn-runner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"turn-runner.js","sourceRoot":"","sources":["../../src/agent/turn-runner.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,8 @@ export interface PruneOptions {
8
8
  triggerChars: number;
9
9
  }
10
10
  export declare const DEFAULT_PRUNE_OPTIONS: PruneOptions;
11
+ /** Workspace paths a tool input or result mentions at its top level (or one level down, e.g. `saved.path`). */
12
+ export declare function mentionedPaths(output: unknown): string[];
11
13
  /** Returns `messages` unchanged until old bulky tool results pass `triggerChars`, then a copy with them stubbed. */
12
14
  export declare function pruneToolResults(messages: ModelMessage[], options?: PruneOptions): ModelMessage[];
13
15
  //# sourceMappingURL=context-pruning.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"context-pruning.d.ts","sourceRoot":"","sources":["../src/context-pruning.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,IAAI,CAAA;AAEtC,MAAM,WAAW,YAAY;IAC3B,yGAAyG;IACzG,UAAU,EAAE,MAAM,CAAA;IAClB,uFAAuF;IACvF,QAAQ,EAAE,MAAM,CAAA;IAChB,iFAAiF;IACjF,YAAY,EAAE,MAAM,CAAA;CACrB;AAED,eAAO,MAAM,qBAAqB,EAAE,YAAwE,CAAA;AA6B5G,oHAAoH;AACpH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,YAAY,EAAE,EAAE,OAAO,GAAE,YAAoC,GAAG,YAAY,EAAE,CAuBxH"}
1
+ {"version":3,"file":"context-pruning.d.ts","sourceRoot":"","sources":["../src/context-pruning.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,IAAI,CAAA;AAEtC,MAAM,WAAW,YAAY;IAC3B,yGAAyG;IACzG,UAAU,EAAE,MAAM,CAAA;IAClB,uFAAuF;IACvF,QAAQ,EAAE,MAAM,CAAA;IAChB,iFAAiF;IACjF,YAAY,EAAE,MAAM,CAAA;CACrB;AAED,eAAO,MAAM,qBAAqB,EAAE,YAAwE,CAAA;AAU5G,+GAA+G;AAC/G,wBAAgB,cAAc,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,EAAE,CAUxD;AAQD,oHAAoH;AACpH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,YAAY,EAAE,EAAE,OAAO,GAAE,YAAoC,GAAG,YAAY,EAAE,CAuBxH"}
@@ -1,13 +1,14 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.DEFAULT_PRUNE_OPTIONS = void 0;
4
+ exports.mentionedPaths = mentionedPaths;
4
5
  exports.pruneToolResults = pruneToolResults;
5
6
  exports.DEFAULT_PRUNE_OPTIONS = { keepRecent: 6, minChars: 2000, triggerChars: 120000 };
6
- const PATH_KEYS = ['path', 'textPath', 'saved', 'manifest', 'outputManifest', 'outputPath', 'saveHits'];
7
+ const PATH_KEYS = ['path', 'textPath', 'saved', 'manifest', 'outputManifest', 'outputPath', 'saveHits', 'saveAs'];
7
8
  function isToolResult(part) {
8
9
  return !!part && typeof part === 'object' && part.type === 'tool-result';
9
10
  }
10
- /** Workspace paths a tool result mentions at its top level (or one level down, e.g. `saved.path`). */
11
+ /** Workspace paths a tool input or result mentions at its top level (or one level down, e.g. `saved.path`). */
11
12
  function mentionedPaths(output) {
12
13
  const value = output && typeof output === 'object' && 'value' in output ? output.value : output;
13
14
  if (!value || typeof value !== 'object')
@@ -1 +1 @@
1
- {"version":3,"file":"context-pruning.js","sourceRoot":"","sources":["../src/context-pruning.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"context-pruning.js","sourceRoot":"","sources":["../src/context-pruning.ts"],"names":[],"mappings":"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"}
@@ -11,4 +11,10 @@ export interface TokenUsage {
11
11
  }
12
12
  /** Reads a step or generateText result: token counts from `usage`, the billed cost from OpenRouter's metadata. */
13
13
  export declare function usageOf(part: unknown): TokenUsage | undefined;
14
+ /**
15
+ * Tokens as the session budget counts them: cached reads at their price share, everything else in full.
16
+ * A long turn re-reads its whole prefix on every step; counting that at full price would exhaust the
17
+ * budget on work that costs a tenth of what the raw total suggests.
18
+ */
19
+ export declare function billableTokens(usage: TokenUsage): number;
14
20
  //# sourceMappingURL=usage.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"usage.d.ts","sourceRoot":"","sources":["../../src/models/usage.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,UAAU;IACzB,WAAW,EAAE,MAAM,CAAA;IACnB,YAAY,EAAE,MAAM,CAAA;IACpB,WAAW,EAAE,MAAM,CAAA;IACnB,mEAAmE;IACnE,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,uDAAuD;IACvD,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,+FAA+F;IAC/F,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAED,kHAAkH;AAClH,wBAAgB,OAAO,CAAC,IAAI,EAAE,OAAO,GAAG,UAAU,GAAG,SAAS,CAiB7D"}
1
+ {"version":3,"file":"usage.d.ts","sourceRoot":"","sources":["../../src/models/usage.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,UAAU;IACzB,WAAW,EAAE,MAAM,CAAA;IACnB,YAAY,EAAE,MAAM,CAAA;IACpB,WAAW,EAAE,MAAM,CAAA;IACnB,mEAAmE;IACnE,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,uDAAuD;IACvD,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,+FAA+F;IAC/F,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAED,kHAAkH;AAClH,wBAAgB,OAAO,CAAC,IAAI,EAAE,OAAO,GAAG,UAAU,GAAG,SAAS,CAiB7D;AAKD;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAGxD"}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.usageOf = usageOf;
4
+ exports.billableTokens = billableTokens;
4
5
  /** Reads a step or generateText result: token counts from `usage`, the billed cost from OpenRouter's metadata. */
5
6
  function usageOf(part) {
6
7
  var _a, _b, _c, _d, _e, _f, _g;
@@ -19,4 +20,16 @@ function usageOf(part) {
19
20
  ...(typeof cost === 'number' ? { cost } : {}),
20
21
  };
21
22
  }
23
+ /** Share of the full input price a cached read costs (Anthropic: 10%). */
24
+ const CACHE_READ_PRICE_SHARE = 0.1;
25
+ /**
26
+ * Tokens as the session budget counts them: cached reads at their price share, everything else in full.
27
+ * A long turn re-reads its whole prefix on every step; counting that at full price would exhaust the
28
+ * budget on work that costs a tenth of what the raw total suggests.
29
+ */
30
+ function billableTokens(usage) {
31
+ var _a;
32
+ const cached = Math.min((_a = usage.cacheReadTokens) !== null && _a !== void 0 ? _a : 0, usage.inputTokens);
33
+ return Math.round(usage.inputTokens - cached + cached * CACHE_READ_PRICE_SHARE) + usage.outputTokens;
34
+ }
22
35
  //# sourceMappingURL=usage.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"usage.js","sourceRoot":"","sources":["../../src/models/usage.ts"],"names":[],"mappings":";;AAaA,0BAiBC;AAlBD,kHAAkH;AAClH,SAAgB,OAAO,CAAC,IAAa;;IACnC,MAAM,EAAE,KAAK,EAAE,gBAAgB,EAAE,GAAG,IAGnC,CAAA;IACD,IAAI,CAAC,KAAK;QAAE,OAAO,SAAS,CAAA;IAC5B,MAAM,WAAW,GAAG,MAAA,KAAK,CAAC,WAAW,mCAAI,CAAC,CAAA;IAC1C,MAAM,YAAY,GAAG,MAAA,KAAK,CAAC,YAAY,mCAAI,CAAC,CAAA;IAC5C,MAAM,IAAI,GAAG,MAAA,MAAA,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,UAAU,0CAAE,KAAK,0CAAE,IAAI,CAAA;IACtD,OAAO;QACL,WAAW;QACX,YAAY;QACZ,WAAW,EAAE,MAAA,KAAK,CAAC,WAAW,mCAAI,WAAW,GAAG,YAAY;QAC5D,eAAe,EAAE,MAAA,KAAK,CAAC,iBAAiB,0CAAE,eAAe;QACzD,gBAAgB,EAAE,MAAA,KAAK,CAAC,iBAAiB,0CAAE,gBAAgB;QAC3D,GAAG,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC9C,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"usage.js","sourceRoot":"","sources":["../../src/models/usage.ts"],"names":[],"mappings":";;AAaA,0BAiBC;AAUD,wCAGC;AA/BD,kHAAkH;AAClH,SAAgB,OAAO,CAAC,IAAa;;IACnC,MAAM,EAAE,KAAK,EAAE,gBAAgB,EAAE,GAAG,IAGnC,CAAA;IACD,IAAI,CAAC,KAAK;QAAE,OAAO,SAAS,CAAA;IAC5B,MAAM,WAAW,GAAG,MAAA,KAAK,CAAC,WAAW,mCAAI,CAAC,CAAA;IAC1C,MAAM,YAAY,GAAG,MAAA,KAAK,CAAC,YAAY,mCAAI,CAAC,CAAA;IAC5C,MAAM,IAAI,GAAG,MAAA,MAAA,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,UAAU,0CAAE,KAAK,0CAAE,IAAI,CAAA;IACtD,OAAO;QACL,WAAW;QACX,YAAY;QACZ,WAAW,EAAE,MAAA,KAAK,CAAC,WAAW,mCAAI,WAAW,GAAG,YAAY;QAC5D,eAAe,EAAE,MAAA,KAAK,CAAC,iBAAiB,0CAAE,eAAe;QACzD,gBAAgB,EAAE,MAAA,KAAK,CAAC,iBAAiB,0CAAE,gBAAgB;QAC3D,GAAG,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC9C,CAAA;AACH,CAAC;AAED,0EAA0E;AAC1E,MAAM,sBAAsB,GAAG,GAAG,CAAA;AAElC;;;;GAIG;AACH,SAAgB,cAAc,CAAC,KAAiB;;IAC9C,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,MAAA,KAAK,CAAC,eAAe,mCAAI,CAAC,EAAE,KAAK,CAAC,WAAW,CAAC,CAAA;IACtE,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,GAAG,MAAM,GAAG,MAAM,GAAG,sBAAsB,CAAC,GAAG,KAAK,CAAC,YAAY,CAAA;AACtG,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"extract-texts.d.ts","sourceRoot":"","sources":["../../src/research/extract-texts.ts"],"names":[],"mappings":"AASA,OAAO,EAAgB,KAAK,aAAa,EAAE,MAAM,IAAI,CAAA;AAErD,OAAO,EAAW,KAAK,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAE1D,eAAO,MAAM,sBAAsB,QAAS,CAAA;AAa5C,MAAM,WAAW,iBAAiB;IAChC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,MAAM,EAAE,CAAA;IAChB,UAAU,EAAE,MAAM,CAAA;IAClB,OAAO,CAAC,EAAE;QAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;IACtE,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;IAClC,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB;AAED,MAAM,WAAW,cAAc;IAC7B,YAAY,EAAE,MAAM,CAAA;IACpB,KAAK,EAAE,aAAa,CAAA;IACpB,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,WAAW,CAAA;IACpB,WAAW,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAA;IACxC,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;CACnD;AAsBD,kGAAkG;AAClG,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,MAAM,SAAwB,EAAE,UAAU,SAAsB,GAAG;IAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAerK;AAQD,8GAA8G;AAC9G,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAQxI;AAmBD,wBAAsB,gBAAgB,CAAC,OAAO,EAAE,iBAAiB,EAAE,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAgHzH"}
1
+ {"version":3,"file":"extract-texts.d.ts","sourceRoot":"","sources":["../../src/research/extract-texts.ts"],"names":[],"mappings":"AASA,OAAO,EAAgB,KAAK,aAAa,EAAE,MAAM,IAAI,CAAA;AAErD,OAAO,EAAW,KAAK,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAE1D,eAAO,MAAM,sBAAsB,QAAS,CAAA;AAmB5C,MAAM,WAAW,iBAAiB;IAChC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,MAAM,EAAE,CAAA;IAChB,UAAU,EAAE,MAAM,CAAA;IAClB,OAAO,CAAC,EAAE;QAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;IACtE,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;IAClC,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB;AAED,MAAM,WAAW,cAAc;IAC7B,YAAY,EAAE,MAAM,CAAA;IACpB,KAAK,EAAE,aAAa,CAAA;IACpB,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,WAAW,CAAA;IACpB,WAAW,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAA;IACxC,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;CACnD;AAsBD,kGAAkG;AAClG,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,MAAM,SAAwB,EAAE,UAAU,SAAsB,GAAG;IAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAerK;AA+BD,8GAA8G;AAC9G,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAQxI;AAmBD,wBAAsB,gBAAgB,CAAC,OAAO,EAAE,iBAAiB,EAAE,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CA+GzH"}
@@ -26,6 +26,12 @@ const DEFAULT_CONCURRENCY = 4;
26
26
  /** Prompt overhead per call (system + question + fields), and a typical JSON answer, in tokens. */
27
27
  const CALL_OVERHEAD_TOKENS = 350;
28
28
  const ANSWER_TOKENS = 250;
29
+ /**
30
+ * One call that hangs (a stalled provider connection, a VM resumed mid-request) must not stall
31
+ * its worker for the rest of the turn: a deadline per call, and one more attempt after a failure.
32
+ */
33
+ const CALL_TIMEOUT_MS = 120000;
34
+ const CALL_ATTEMPTS = 2;
29
35
  const SYSTEM_ONE = 'You extract facts from one insurance filing document (or passages of it). Answer with a single JSON object only — no prose. Use null for a field the text does not state. Always include "quote": the exact supporting text (max 300 characters) or null, and "found": true|false.';
30
36
  const SYSTEM_MANY = 'You extract facts from one insurance filing document (or passages of it). The document may state the fact several times (for example one notice period per notice type). Answer with JSON only: {"rows": [ ... ]}, one object per distinct statement, each with the requested fields, "quote" (exact supporting text, max 300 characters) and "found": true. Use null for a field a statement does not give. No statement → {"rows": []}.';
31
37
  function inside(workspaceDir, relative) {
@@ -70,6 +76,26 @@ function windowsOf(text, patterns, radius = DEFAULT_WINDOW_RADIUS, maxWindows =
70
76
  const passages = spans.slice(0, maxWindows).map(([start, end]) => `[chars ${start}–${end}]\n${text.slice(start, end)}`);
71
77
  return { passages, matches };
72
78
  }
79
+ /** The call's own deadline next to the turn's abort: whichever comes first. */
80
+ function callSignal(turn) {
81
+ const timeout = AbortSignal.timeout(CALL_TIMEOUT_MS);
82
+ return turn ? AbortSignal.any([turn, timeout]) : timeout;
83
+ }
84
+ async function generateWithRetry(request, turn) {
85
+ let failure;
86
+ for (let attempt = 1; attempt <= CALL_ATTEMPTS; attempt += 1) {
87
+ try {
88
+ return await (0, ai_1.generateText)({ ...request, abortSignal: callSignal(turn) });
89
+ }
90
+ catch (error) {
91
+ failure = error;
92
+ // The turn itself ended: nothing left to retry for.
93
+ if (turn === null || turn === void 0 ? void 0 : turn.aborted)
94
+ throw error;
95
+ }
96
+ }
97
+ throw failure;
98
+ }
73
99
  function chunksOf(text) {
74
100
  const chunks = [];
75
101
  for (let start = 0; start < text.length; start += exports.EXTRACTION_CHUNK_CHARS)
@@ -180,12 +206,11 @@ async function extractFromTexts(request, deps) {
180
206
  for (const [index, part] of parts.entries()) {
181
207
  calls += 1;
182
208
  inputChars += part.length;
183
- const result = await (0, ai_1.generateText)({
209
+ const result = await generateWithRetry({
184
210
  model: deps.model,
185
- abortSignal: deps.signal,
186
211
  system: many ? SYSTEM_MANY : SYSTEM_ONE,
187
212
  prompt: `Question: ${request.question}\nFields: ${request.fields.join(', ')}${request.allowed ? `\nAllowed values: ${JSON.stringify(request.allowed)}` : ''}\n\nDocument (${source}${parts.length > 1 ? `, part ${index + 1} of ${parts.length}` : ''}${matches !== undefined ? `, ${matches} matching passages` : ''}):\n${part}`,
188
- });
213
+ }, deps.signal);
189
214
  const usage = (0, usage_1.usageOf)(result);
190
215
  if (usage)
191
216
  deps.recordUsage(usage);
@@ -1 +1 @@
1
- {"version":3,"file":"extract-texts.js","sourceRoot":"","sources":["../../src/research/extract-texts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"extract-texts.js","sourceRoot":"","sources":["../../src/research/extract-texts.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"filing-search-tools.d.ts","sourceRoot":"","sources":["../../../src/research/filingramp/filing-search-tools.ts"],"names":[],"mappings":"AACA,OAAO,EAAQ,KAAK,IAAI,EAAE,MAAM,IAAI,CAAA;AAIpC,OAAO,EAAiF,KAAK,sBAAsB,EAAE,MAAM,UAAU,CAAA;AAgCrI,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,sBAAsB,GAAG,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAoK7F"}
1
+ {"version":3,"file":"filing-search-tools.d.ts","sourceRoot":"","sources":["../../../src/research/filingramp/filing-search-tools.ts"],"names":[],"mappings":"AAEA,OAAO,EAAQ,KAAK,IAAI,EAAE,MAAM,IAAI,CAAA;AAIpC,OAAO,EAA0F,KAAK,sBAAsB,EAAE,MAAM,UAAU,CAAA;AAoE9I,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,sBAAsB,GAAG,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAiP7F"}
@@ -1,7 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.createFilingSearchTools = createFilingSearchTools;
4
- // Filing metadata searches: normalize the model's filters, then apply the session scope.
4
+ // Filing metadata searches: normalize the model's filters, apply the session scope, and batch a
5
+ // value list FilingRamp would reject so one call covers it.
5
6
  const ai_1 = require("ai");
6
7
  const zod_1 = require("zod");
7
8
  const filingramp_contract_1 = require("../filingramp-contract");
@@ -28,6 +29,11 @@ const FILING_FIELDS = [
28
29
  'stateSpecifics', 'hasPreviousVersion', 'associatedFilings', 'createdAt', 'updatedAt',
29
30
  ];
30
31
  const MAX_PAGE = 200;
32
+ /** Rows a batched search collects before it stops and says so; a batch of 100 exact ids stays far below it. */
33
+ const MAX_BATCHED_ROWS = 5000;
34
+ const BATCH_CONCURRENCY = 4;
35
+ /** Summary counts that add across batches; averages (days, ingestion lag) do not and are left out of merged rows. */
36
+ const SUMMARY_COUNT_FIELDS = ['filings', 'filingsWithObjections', 'filingsWithForms', 'objectionLetters', 'forms', 'rates'];
31
37
  /** Joi-style message: `"body.fields[7]" must be one of [a, b, c, …]` → the accepted values. */
32
38
  function allowedValuesFromError(error) {
33
39
  const message = error instanceof Error ? error.message : String(error);
@@ -36,11 +42,44 @@ function allowedValuesFromError(error) {
36
42
  return undefined;
37
43
  return new Set(match[1].split(',').map((item) => item.trim()).filter((item) => item && item !== '…'));
38
44
  }
45
+ function number(value) {
46
+ return typeof value === 'number' && Number.isFinite(value) ? value : 0;
47
+ }
48
+ function compareBy(key, direction) {
49
+ return (a, b) => {
50
+ const left = a[key];
51
+ const right = b[key];
52
+ if (left === right)
53
+ return 0;
54
+ if (left === undefined || left === null)
55
+ return 1;
56
+ if (right === undefined || right === null)
57
+ return -1;
58
+ return (left < right ? -1 : 1) * direction;
59
+ };
60
+ }
61
+ /** One row per group key with the counts of every batch added up. */
62
+ function mergeSummaryRows(rows) {
63
+ var _a, _b, _c, _d, _e;
64
+ const merged = new Map();
65
+ for (const row of rows) {
66
+ const id = JSON.stringify((_a = row.key) !== null && _a !== void 0 ? _a : null);
67
+ const target = (_b = merged.get(id)) !== null && _b !== void 0 ? _b : { key: row.key, statusIds: {} };
68
+ for (const field of SUMMARY_COUNT_FIELDS)
69
+ target[field] = number(target[field]) + number(row[field]);
70
+ const statusIds = target.statusIds;
71
+ for (const [status, counts] of Object.entries((_c = row.statusIds) !== null && _c !== void 0 ? _c : {})) {
72
+ statusIds[status] = { filings: ((_e = (_d = statusIds[status]) === null || _d === void 0 ? void 0 : _d.filings) !== null && _e !== void 0 ? _e : 0) + number(counts === null || counts === void 0 ? void 0 : counts.filings) };
73
+ }
74
+ merged.set(id, target);
75
+ }
76
+ return [...merged.values()];
77
+ }
39
78
  function createFilingSearchTools(options) {
40
79
  const { client, workspaceDir, scope } = options;
41
80
  const industryData = client.industryData;
42
81
  const searchFilings = (0, ai_1.tool)({
43
- description: 'List filings matching filters (account filings by default). Lean rows: pass `fields` for exactly what you need. Page with lastItemId (sortKey "_id") until a page is shorter than limit. For counts or breakdowns use count_filings / summarize_filings instead — never page to count.',
82
+ description: 'List filings matching filters (account filings by default). Lean rows: pass `fields` for exactly what you need. Page with lastItemId (sortKey "_id") until a page is shorter than limit; a list filter over 100 values is batched for you and returns every row at once. For counts or breakdowns use count_filings / summarize_filings instead — never page to count.',
44
83
  inputSchema: zod_1.z.object({
45
84
  text: zod_1.z.string().max(500).optional().describe('Free-text match over filing metadata'),
46
85
  filters: zod_1.z.array(shared_1.filingsFilterSchema).max(30).optional(),
@@ -61,85 +100,141 @@ function createFilingSearchTools(options) {
61
100
  var _a, _b, _c, _d;
62
101
  const searchType = (0, scope_1.resolveSearchType)(scope, industryData, input.searchType);
63
102
  const filters = (0, scope_1.scopeFilingsFilters)(scope, (0, filingramp_contract_1.normalizeFilingsFilters)(input.filters, 'search'));
64
- const fields = ((_a = input.fields) === null || _a === void 0 ? void 0 : _a.length) ? [...new Set(['_id', ...input.fields])] : DEFAULT_FILING_FIELDS;
65
- const limit = (_b = input.limit) !== null && _b !== void 0 ? _b : 100;
66
- let items;
67
- if (searchType === 'INDUSTRY') {
68
- // v2 has no industry search; v1 pages by offset. lastItemSortValue carries the offset here.
69
- const offset = typeof input.lastItemSortValue === 'number' ? input.lastItemSortValue : 0;
70
- const payload = await client.request('/v1/search/filings', {
71
- method: 'POST',
72
- body: { text: input.text, filters, limit, offset, searchType, sortKey: (_c = input.sortKey) !== null && _c !== void 0 ? _c : '_id', sortDirection: (_d = input.sortDirection) !== null && _d !== void 0 ? _d : 1 },
73
- });
74
- items = (0, shared_1.asRecordList)(payload);
75
- }
76
- else {
77
- const requestPage = (fieldList) => {
78
- var _a, _b;
79
- return client.request('/v2/search/filings', {
103
+ const batches = (0, filingramp_contract_1.splitFilingsFilters)(filters, 'search');
104
+ const sortKey = (_a = input.sortKey) !== null && _a !== void 0 ? _a : '_id';
105
+ const sortDirection = (_b = input.sortDirection) !== null && _b !== void 0 ? _b : 1;
106
+ let fields = ((_c = input.fields) === null || _c === void 0 ? void 0 : _c.length) ? [...new Set(['_id', ...input.fields])] : DEFAULT_FILING_FIELDS;
107
+ // Batches page by the sort key, so the rows must carry it.
108
+ if (batches.length > 1 && !fields.includes(sortKey))
109
+ fields = [...fields, sortKey];
110
+ const requestPage = async (batch, limit, cursor) => {
111
+ if (searchType === 'INDUSTRY') {
112
+ // v2 has no industry search; v1 pages by offset. lastItemSortValue carries the offset here.
113
+ const offset = typeof cursor.lastItemSortValue === 'number' ? cursor.lastItemSortValue : 0;
114
+ const payload = await client.request('/v1/search/filings', {
80
115
  method: 'POST',
81
- body: {
82
- text: input.text,
83
- filters,
84
- fields: fieldList,
85
- limit,
86
- lastItemId: input.lastItemId,
87
- lastItemSortValue: input.lastItemSortValue,
88
- sortKey: (_a = input.sortKey) !== null && _a !== void 0 ? _a : '_id',
89
- sortDirection: (_b = input.sortDirection) !== null && _b !== void 0 ? _b : 1,
90
- searchType,
91
- },
116
+ body: { text: input.text, filters: batch, limit, offset, searchType, sortKey, sortDirection },
92
117
  });
93
- };
94
- let payload;
118
+ return (0, shared_1.asRecordList)(payload);
119
+ }
120
+ const request = (fieldList) => client.request('/v2/search/filings', {
121
+ method: 'POST',
122
+ body: {
123
+ text: input.text,
124
+ filters: batch,
125
+ fields: fieldList,
126
+ limit,
127
+ lastItemId: cursor.lastItemId,
128
+ lastItemSortValue: cursor.lastItemSortValue,
129
+ sortKey,
130
+ sortDirection,
131
+ searchType,
132
+ },
133
+ });
95
134
  try {
96
- payload = await requestPage(fields);
135
+ return (0, shared_1.asRecordList)(await request(fields));
97
136
  }
98
137
  catch (error) {
99
- // `"body.fields[7]" must be one of [...]`: drop what the API rejected and retry once.
138
+ // `"body.fields[7]" must be one of [...]`: drop what the API rejected and retry once;
139
+ // every later page in this call keeps the narrowed list.
100
140
  const allowed = allowedValuesFromError(error);
101
141
  if (!allowed)
102
142
  throw error;
103
143
  const kept = fields.filter((field) => allowed.has(field));
104
144
  if (kept.length === fields.length)
105
145
  throw error;
106
- payload = await requestPage(kept.length ? kept : DEFAULT_FILING_FIELDS);
146
+ fields = kept.length ? kept : DEFAULT_FILING_FIELDS;
147
+ return (0, shared_1.asRecordList)(await request(fields));
107
148
  }
108
- items = (0, shared_1.asRecordList)(payload);
149
+ };
150
+ if (batches.length === 1) {
151
+ const limit = (_d = input.limit) !== null && _d !== void 0 ? _d : 100;
152
+ const items = await requestPage(filters, limit, { lastItemId: input.lastItemId, lastItemSortValue: input.lastItemSortValue });
153
+ const saved = input.saveAs ? await (0, shared_1.writeWorkspaceFile)(workspaceDir, input.saveAs, JSON.stringify(items, null, 2)) : undefined;
154
+ const rows = items.map((item) => (0, shared_1.pick)(item, fields));
155
+ const last = items[items.length - 1];
156
+ return {
157
+ count: rows.length,
158
+ items: rows,
159
+ nextLastItemId: rows.length === limit ? last === null || last === void 0 ? void 0 : last._id : undefined,
160
+ nextOffset: searchType === 'INDUSTRY' && rows.length === limit ? ((typeof input.lastItemSortValue === 'number' ? input.lastItemSortValue : 0) + limit) : undefined,
161
+ appliedFilters: filters,
162
+ saved,
163
+ };
109
164
  }
165
+ // Every batch is read to its end and the rows merged; the model's paging cursor does not
166
+ // apply across batches, so the result is the whole list (up to MAX_BATCHED_ROWS).
167
+ let collected = 0;
168
+ const readBatch = async (batch) => {
169
+ const rows = [];
170
+ let cursor = searchType === 'INDUSTRY' ? { lastItemSortValue: 0 } : {};
171
+ for (;;) {
172
+ const page = await requestPage(batch, MAX_PAGE, cursor);
173
+ rows.push(...page);
174
+ collected += page.length;
175
+ const last = page[page.length - 1];
176
+ if (!last || page.length < MAX_PAGE || collected >= MAX_BATCHED_ROWS)
177
+ return rows;
178
+ cursor = searchType === 'INDUSTRY'
179
+ ? { lastItemSortValue: cursor.lastItemSortValue + MAX_PAGE }
180
+ : { lastItemId: last._id, lastItemSortValue: sortKey === '_id' ? undefined : last[sortKey] };
181
+ }
182
+ };
183
+ const seen = new Set();
184
+ const items = (await (0, shared_1.mapPool)(batches, BATCH_CONCURRENCY, readBatch))
185
+ .flat()
186
+ .filter((item) => {
187
+ const id = typeof item._id === 'string' ? item._id : undefined;
188
+ if (!id)
189
+ return true;
190
+ if (seen.has(id))
191
+ return false;
192
+ seen.add(id);
193
+ return true;
194
+ })
195
+ .sort(compareBy(sortKey, sortDirection));
196
+ const truncated = collected >= MAX_BATCHED_ROWS;
110
197
  const saved = input.saveAs ? await (0, shared_1.writeWorkspaceFile)(workspaceDir, input.saveAs, JSON.stringify(items, null, 2)) : undefined;
111
198
  const rows = items.map((item) => (0, shared_1.pick)(item, fields));
112
- const last = items[items.length - 1];
113
199
  return {
114
200
  count: rows.length,
115
201
  items: rows,
116
- nextLastItemId: rows.length === limit ? last === null || last === void 0 ? void 0 : last._id : undefined,
117
- nextOffset: searchType === 'INDUSTRY' && rows.length === limit ? ((typeof input.lastItemSortValue === 'number' ? input.lastItemSortValue : 0) + limit) : undefined,
202
+ batches: batches.length,
203
+ truncated,
204
+ note: truncated ? `Stopped at ${MAX_BATCHED_ROWS} rows; narrow the filters or split the list.` : undefined,
118
205
  appliedFilters: filters,
119
206
  saved,
120
207
  };
121
208
  },
122
209
  });
123
210
  const countFilings = (0, ai_1.tool)({
124
- description: 'One total count of filings matching filters. For counts per state, line or status use summarize_filings.',
211
+ description: 'One total count of filings matching filters (a list filter over 100 exact values is batched for you). For counts per state, line or status use summarize_filings.',
125
212
  inputSchema: zod_1.z.object({
126
213
  text: zod_1.z.string().max(500).optional(),
127
214
  filters: zod_1.z.array(shared_1.filingsFilterSchema).max(30).optional(),
128
215
  searchType: shared_1.searchTypeSchema,
129
216
  }),
130
217
  execute: async (input) => {
131
- var _a;
132
218
  const searchType = (0, scope_1.resolveSearchType)(scope, industryData, input.searchType);
133
219
  const filters = (0, scope_1.scopeFilingsFilters)(scope, (0, filingramp_contract_1.normalizeFilingsFilters)(input.filters, 'count'));
134
- const payload = await client.request('/v2/search/filings/count', {
135
- method: 'POST',
136
- body: { text: input.text, filters, searchType },
220
+ const batches = (0, filingramp_contract_1.splitFilingsFilters)(filters, 'count');
221
+ const counts = await (0, shared_1.mapPool)(batches, BATCH_CONCURRENCY, async (batch) => {
222
+ var _a;
223
+ const payload = await client.request('/v2/search/filings/count', {
224
+ method: 'POST',
225
+ body: { text: input.text, filters: batch, searchType },
226
+ });
227
+ return (_a = payload === null || payload === void 0 ? void 0 : payload.count) !== null && _a !== void 0 ? _a : 0;
137
228
  });
138
- return { count: (_a = payload === null || payload === void 0 ? void 0 : payload.count) !== null && _a !== void 0 ? _a : 0, appliedFilters: filters };
229
+ return {
230
+ count: counts.reduce((sum, count) => sum + count, 0),
231
+ batches: batches.length > 1 ? batches.length : undefined,
232
+ appliedFilters: filters,
233
+ };
139
234
  },
140
235
  });
141
236
  const summarizeFilings = (0, ai_1.tool)({
142
- description: 'Counts and totals per group (state, filingType, statusId, typeOfInsurance, subTypeOfInsurance, company, submittedMonth, dispositionMonth, source, businessType). Use this to size a population before reading documents, and for rankings or trends. Never page search_filings to count.',
237
+ description: 'Counts and totals per group (state, filingType, statusId, typeOfInsurance, subTypeOfInsurance, company, submittedMonth, dispositionMonth, source, businessType). Use this to size a population before reading documents, and for rankings or trends. A list filter over 100 exact values is batched for you. Never page search_filings to count.',
143
238
  inputSchema: zod_1.z.object({
144
239
  text: zod_1.z.string().max(500).optional(),
145
240
  filters: zod_1.z.array(shared_1.filingsFilterSchema).max(30).optional(),
@@ -154,11 +249,19 @@ function createFilingSearchTools(options) {
154
249
  const searchType = (0, scope_1.resolveSearchType)(scope, industryData, input.searchType);
155
250
  const filters = (0, scope_1.scopeFilingsFilters)(scope, (0, filingramp_contract_1.normalizeFilingsFilters)(input.filters, 'summary'));
156
251
  const groupBy = (0, filingramp_contract_1.normalizeSummaryGroupBy)(input.groupBy);
157
- const payload = await client.request('/v2/search/filings/summary', {
252
+ const batches = (0, filingramp_contract_1.splitFilingsFilters)(filters, 'summary');
253
+ const payloads = await (0, shared_1.mapPool)(batches, BATCH_CONCURRENCY, (batch) => client.request('/v2/search/filings/summary', {
158
254
  method: 'POST',
159
- body: { text: input.text, filters, groupBy, limit: input.limit, sortBy: input.sortBy, searchType },
160
- });
161
- const items = (_a = payload === null || payload === void 0 ? void 0 : payload.items) !== null && _a !== void 0 ? _a : [];
255
+ body: { text: input.text, filters: batch, groupBy, limit: input.limit, sortBy: input.sortBy, searchType },
256
+ }));
257
+ let items = payloads.length === 1 ? ((_b = (_a = payloads[0]) === null || _a === void 0 ? void 0 : _a.items) !== null && _b !== void 0 ? _b : []) : mergeSummaryRows(payloads.flatMap((payload) => { var _a; return (_a = payload === null || payload === void 0 ? void 0 : payload.items) !== null && _a !== void 0 ? _a : []; }));
258
+ if (payloads.length > 1) {
259
+ // Each batch applied the sort and limit to its own rows; apply them once more to the merged ones.
260
+ if (input.sortBy === 'filings')
261
+ items.sort((a, b) => number(b.filings) - number(a.filings));
262
+ if (input.limit)
263
+ items = items.slice(0, input.limit);
264
+ }
162
265
  const saved = input.saveAs ? await (0, shared_1.writeWorkspaceFile)(workspaceDir, input.saveAs, JSON.stringify(items, null, 2)) : undefined;
163
266
  // Rows carry per-status day sums the model rarely needs; keep the counts.
164
267
  const rows = items.slice(0, 200).map((row) => ({
@@ -173,7 +276,14 @@ function createFilingSearchTools(options) {
173
276
  ? Object.fromEntries(Object.entries(row.statusIds).map(([k, v]) => { var _a; return [k, (_a = v === null || v === void 0 ? void 0 : v.filings) !== null && _a !== void 0 ? _a : 0]; }))
174
277
  : undefined,
175
278
  }));
176
- return { rows, totalRows: items.length, truncated: (_b = payload === null || payload === void 0 ? void 0 : payload.truncated) !== null && _b !== void 0 ? _b : false, appliedFilters: filters, saved };
279
+ return {
280
+ rows,
281
+ totalRows: items.length,
282
+ truncated: payloads.some((payload) => payload === null || payload === void 0 ? void 0 : payload.truncated),
283
+ batches: batches.length > 1 ? batches.length : undefined,
284
+ appliedFilters: filters,
285
+ saved,
286
+ };
177
287
  },
178
288
  });
179
289
  const searchObjections = (0, ai_1.tool)({
@@ -189,6 +299,8 @@ function createFilingSearchTools(options) {
189
299
  execute: async (input) => {
190
300
  var _a, _b, _c, _d, _e;
191
301
  const filters = (0, scope_1.scopeFilingsFilters)(scope, (0, filingramp_contract_1.normalizeFilingsFilters)(input.filters, 'objections'));
302
+ // Offset paging cannot span batches: an oversized list fails here with the way around it.
303
+ (0, filingramp_contract_1.splitFilingsFilters)(filters, 'objections');
192
304
  const payload = await client.request('/v2/search/filings/objections', {
193
305
  method: 'POST',
194
306
  query: { type: input.type },