@pentoshi/clai 4.11.11 → 4.11.13

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 (314) hide show
  1. package/README.md +31 -3
  2. package/dist/agent/compaction/summary-execution.d.ts +1 -0
  3. package/dist/agent/compaction/summary-execution.js +101 -27
  4. package/dist/agent/compaction/summary-execution.js.map +1 -1
  5. package/dist/agent/compaction-executor.js +3 -3
  6. package/dist/agent/compaction-executor.js.map +1 -1
  7. package/dist/agent/compaction-summary.d.ts +2 -0
  8. package/dist/agent/compaction-summary.js +8 -0
  9. package/dist/agent/compaction-summary.js.map +1 -1
  10. package/dist/agent/context/compact-with-summary.d.ts +1 -0
  11. package/dist/agent/context/compact-with-summary.js +60 -30
  12. package/dist/agent/context/compact-with-summary.js.map +1 -1
  13. package/dist/agent/events.d.ts +1 -0
  14. package/dist/agent/evidence/task-classification.js +0 -1
  15. package/dist/agent/evidence/task-classification.js.map +1 -1
  16. package/dist/agent/evidence/tool-budgets.js +0 -9
  17. package/dist/agent/evidence/tool-budgets.js.map +1 -1
  18. package/dist/agent/loop-guard.js +0 -4
  19. package/dist/agent/loop-guard.js.map +1 -1
  20. package/dist/agent/outcomes.js +1 -1
  21. package/dist/agent/outcomes.js.map +1 -1
  22. package/dist/agent/parser/arg-formatting.js +0 -8
  23. package/dist/agent/parser/arg-formatting.js.map +1 -1
  24. package/dist/agent/parser/bare-recognition.js +0 -4
  25. package/dist/agent/parser/bare-recognition.js.map +1 -1
  26. package/dist/agent/progress.js +0 -26
  27. package/dist/agent/progress.js.map +1 -1
  28. package/dist/agent/request-accounting.d.ts +1 -0
  29. package/dist/agent/request-accounting.js +24 -8
  30. package/dist/agent/request-accounting.js.map +1 -1
  31. package/dist/agent/request-budget.d.ts +3 -0
  32. package/dist/agent/request-budget.js +22 -8
  33. package/dist/agent/request-budget.js.map +1 -1
  34. package/dist/agent/runner.js +1 -2
  35. package/dist/agent/runner.js.map +1 -1
  36. package/dist/agent/session-policy.js +0 -5
  37. package/dist/agent/session-policy.js.map +1 -1
  38. package/dist/agent/stream-recovery.d.ts +4 -0
  39. package/dist/agent/stream-recovery.js +14 -15
  40. package/dist/agent/stream-recovery.js.map +1 -1
  41. package/dist/agent/task-evidence.js +3 -12
  42. package/dist/agent/task-evidence.js.map +1 -1
  43. package/dist/agent/tool-call-parser.js +2 -2
  44. package/dist/agent/tool-call-parser.js.map +1 -1
  45. package/dist/agent/turn/automatic-compaction-execution.d.ts +1 -0
  46. package/dist/agent/turn/automatic-compaction-execution.js +4 -2
  47. package/dist/agent/turn/automatic-compaction-execution.js.map +1 -1
  48. package/dist/agent/turn/compaction-admission.d.ts +5 -1
  49. package/dist/agent/turn/compaction-admission.js +7 -5
  50. package/dist/agent/turn/compaction-admission.js.map +1 -1
  51. package/dist/agent/turn/compaction-coordinator.d.ts +2 -1
  52. package/dist/agent/turn/compaction-coordinator.js +24 -7
  53. package/dist/agent/turn/compaction-coordinator.js.map +1 -1
  54. package/dist/agent/turn/compaction-final-fit.d.ts +1 -1
  55. package/dist/agent/turn/compaction-final-fit.js +5 -4
  56. package/dist/agent/turn/compaction-final-fit.js.map +1 -1
  57. package/dist/agent/turn/compaction-summarizer.js +1 -1
  58. package/dist/agent/turn/compaction-summarizer.js.map +1 -1
  59. package/dist/agent/turn/event-emitter.js +3 -0
  60. package/dist/agent/turn/event-emitter.js.map +1 -1
  61. package/dist/agent/turn/loop/completion-interpretation.js +4 -4
  62. package/dist/agent/turn/loop/completion-interpretation.js.map +1 -1
  63. package/dist/agent/turn/loop/deps.d.ts +2 -1
  64. package/dist/agent/turn/loop/round-request.d.ts +2 -0
  65. package/dist/agent/turn/loop/round-request.js +17 -3
  66. package/dist/agent/turn/loop/round-request.js.map +1 -1
  67. package/dist/agent/turn/loop/run-rounds.js +1 -3
  68. package/dist/agent/turn/loop/run-rounds.js.map +1 -1
  69. package/dist/agent/turn/loop/stream-failure.js +4 -1
  70. package/dist/agent/turn/loop/stream-failure.js.map +1 -1
  71. package/dist/agent/turn/tool-evidence-signals.js +0 -2
  72. package/dist/agent/turn/tool-evidence-signals.js.map +1 -1
  73. package/dist/agent/turn/tool-execution/engagement-checkpoint.js +2 -1
  74. package/dist/agent/turn/tool-execution/engagement-checkpoint.js.map +1 -1
  75. package/dist/agent/turn/tool-execution/guards.js +8 -3
  76. package/dist/agent/turn/tool-execution/guards.js.map +1 -1
  77. package/dist/agent/turn/tool-routing.d.ts +0 -1
  78. package/dist/agent/turn/tool-routing.js +0 -2
  79. package/dist/agent/turn/tool-routing.js.map +1 -1
  80. package/dist/app/adapters/agent-event-adapter.js +3 -0
  81. package/dist/app/adapters/agent-event-adapter.js.map +1 -1
  82. package/dist/app/commands/catalog.js +15 -1
  83. package/dist/app/commands/catalog.js.map +1 -1
  84. package/dist/app/controllers/session-compact-helper.js +59 -45
  85. package/dist/app/controllers/session-compact-helper.js.map +1 -1
  86. package/dist/app/controllers/session-context-usage.js +16 -5
  87. package/dist/app/controllers/session-context-usage.js.map +1 -1
  88. package/dist/app/events/app-event.d.ts +1 -0
  89. package/dist/app/events/app-event.js.map +1 -1
  90. package/dist/commands/providers.js +2 -0
  91. package/dist/commands/providers.js.map +1 -1
  92. package/dist/commands/update/installers.js +17 -2
  93. package/dist/commands/update/installers.js.map +1 -1
  94. package/dist/llm/adapters/anthropic-tools.d.ts +1 -0
  95. package/dist/llm/adapters/anthropic-tools.js +8 -4
  96. package/dist/llm/adapters/anthropic-tools.js.map +1 -1
  97. package/dist/llm/anthropic.d.ts +1 -1
  98. package/dist/llm/anthropic.js +8 -3
  99. package/dist/llm/anthropic.js.map +1 -1
  100. package/dist/llm/capability/state.d.ts +1 -1
  101. package/dist/llm/capability/tool-dialect.js +1 -0
  102. package/dist/llm/capability/tool-dialect.js.map +1 -1
  103. package/dist/llm/capability/vision-patterns.js +12 -0
  104. package/dist/llm/capability/vision-patterns.js.map +1 -1
  105. package/dist/llm/explabs.d.ts +12 -0
  106. package/dist/llm/explabs.js +348 -0
  107. package/dist/llm/explabs.js.map +1 -0
  108. package/dist/llm/key-rotation.d.ts +4 -0
  109. package/dist/llm/key-rotation.js +30 -0
  110. package/dist/llm/key-rotation.js.map +1 -1
  111. package/dist/llm/model-layers/model-rules.js +6 -0
  112. package/dist/llm/model-layers/model-rules.js.map +1 -1
  113. package/dist/llm/provider-identity.js +7 -0
  114. package/dist/llm/provider-identity.js.map +1 -1
  115. package/dist/llm/provider-info-text.js +65 -0
  116. package/dist/llm/provider-info-text.js.map +1 -1
  117. package/dist/llm/provider-profile-layers.js +40 -2
  118. package/dist/llm/provider-profile-layers.js.map +1 -1
  119. package/dist/llm/reasoning-capability.js +19 -1
  120. package/dist/llm/reasoning-capability.js.map +1 -1
  121. package/dist/llm/reasoning-controls.d.ts +1 -0
  122. package/dist/llm/reasoning-controls.js +4 -0
  123. package/dist/llm/reasoning-controls.js.map +1 -1
  124. package/dist/llm/reasoning-errors.js +2 -2
  125. package/dist/llm/reasoning-errors.js.map +1 -1
  126. package/dist/llm/responses/item-events.js +1 -1
  127. package/dist/llm/responses/item-events.js.map +1 -1
  128. package/dist/llm/responses-complete.js +2 -1
  129. package/dist/llm/responses-complete.js.map +1 -1
  130. package/dist/llm/responses-config.d.ts +1 -0
  131. package/dist/llm/responses-config.js.map +1 -1
  132. package/dist/llm/responses-empty-output.d.ts +2 -0
  133. package/dist/llm/responses-empty-output.js +22 -0
  134. package/dist/llm/responses-empty-output.js.map +1 -0
  135. package/dist/llm/responses-parse.js +8 -2
  136. package/dist/llm/responses-parse.js.map +1 -1
  137. package/dist/llm/responses-request.d.ts +1 -0
  138. package/dist/llm/responses-request.js +19 -6
  139. package/dist/llm/responses-request.js.map +1 -1
  140. package/dist/llm/responses-stream-accumulator.js +7 -1
  141. package/dist/llm/responses-stream-accumulator.js.map +1 -1
  142. package/dist/llm/routing/attempt-complete.js +3 -1
  143. package/dist/llm/routing/attempt-complete.js.map +1 -1
  144. package/dist/llm/routing/attempt-stream.js +3 -1
  145. package/dist/llm/routing/attempt-stream.js.map +1 -1
  146. package/dist/llm/routing/error-classification.d.ts +4 -0
  147. package/dist/llm/routing/error-classification.js +34 -0
  148. package/dist/llm/routing/error-classification.js.map +1 -1
  149. package/dist/llm/routing/failure-report.js +4 -2
  150. package/dist/llm/routing/failure-report.js.map +1 -1
  151. package/dist/llm/routing/key-rotation.js +13 -2
  152. package/dist/llm/routing/key-rotation.js.map +1 -1
  153. package/dist/llm/routing/provider-selection.js +3 -0
  154. package/dist/llm/routing/provider-selection.js.map +1 -1
  155. package/dist/llm/token-estimate-calibration.js +20 -3
  156. package/dist/llm/token-estimate-calibration.js.map +1 -1
  157. package/dist/llm/token-usage.d.ts +1 -0
  158. package/dist/llm/token-usage.js +10 -3
  159. package/dist/llm/token-usage.js.map +1 -1
  160. package/dist/llm/tokenrouter.d.ts +11 -0
  161. package/dist/llm/tokenrouter.js +27 -1
  162. package/dist/llm/tokenrouter.js.map +1 -1
  163. package/dist/llm/wire/chat-body.js +10 -1
  164. package/dist/llm/wire/chat-body.js.map +1 -1
  165. package/dist/llm/wire/responses-failure.js +1 -1
  166. package/dist/llm/wire/responses-failure.js.map +1 -1
  167. package/dist/llm/wire/responses-first.js +16 -28
  168. package/dist/llm/wire/responses-first.js.map +1 -1
  169. package/dist/mcp/auth/provider.js +0 -1
  170. package/dist/mcp/auth/provider.js.map +1 -1
  171. package/dist/mcp/format.js +2 -0
  172. package/dist/mcp/format.js.map +1 -1
  173. package/dist/mcp/manager.d.ts +4 -0
  174. package/dist/mcp/manager.js +37 -19
  175. package/dist/mcp/manager.js.map +1 -1
  176. package/dist/mcp/runtime.d.ts +3 -0
  177. package/dist/mcp/runtime.js +50 -25
  178. package/dist/mcp/runtime.js.map +1 -1
  179. package/dist/mcp/schema-compact.d.ts +5 -0
  180. package/dist/mcp/schema-compact.js +157 -0
  181. package/dist/mcp/schema-compact.js.map +1 -0
  182. package/dist/mcp/types.d.ts +1 -1
  183. package/dist/noninteractive/blocks/tool-blocks.js +10 -5
  184. package/dist/noninteractive/blocks/tool-blocks.js.map +1 -1
  185. package/dist/prompts/embedded.js +1 -1
  186. package/dist/prompts/embedded.js.map +1 -1
  187. package/dist/prompts/system.agent.md +4 -6
  188. package/dist/safety/classifier.js +0 -8
  189. package/dist/safety/classifier.js.map +1 -1
  190. package/dist/safety/engagement-policy.js +0 -23
  191. package/dist/safety/engagement-policy.js.map +1 -1
  192. package/dist/safety/tool-classification.js +0 -15
  193. package/dist/safety/tool-classification.js.map +1 -1
  194. package/dist/session-runtime/binding.d.ts +1 -0
  195. package/dist/session-runtime/binding.js +7 -0
  196. package/dist/session-runtime/binding.js.map +1 -1
  197. package/dist/session-runtime/child-bridge.d.ts +1 -0
  198. package/dist/session-runtime/child-bridge.js +3 -0
  199. package/dist/session-runtime/child-bridge.js.map +1 -1
  200. package/dist/session-runtime/discovery.js +1 -0
  201. package/dist/session-runtime/discovery.js.map +1 -1
  202. package/dist/session-runtime/host.d.ts +1 -0
  203. package/dist/session-runtime/host.js +9 -3
  204. package/dist/session-runtime/host.js.map +1 -1
  205. package/dist/session-runtime/reaper.d.ts +1 -0
  206. package/dist/session-runtime/reaper.js +7 -2
  207. package/dist/session-runtime/reaper.js.map +1 -1
  208. package/dist/session-runtime/store.js +1 -0
  209. package/dist/session-runtime/store.js.map +1 -1
  210. package/dist/session-runtime/types.d.ts +3 -0
  211. package/dist/store/config.js +1 -0
  212. package/dist/store/config.js.map +1 -1
  213. package/dist/tools/capabilities.js +4 -16
  214. package/dist/tools/capabilities.js.map +1 -1
  215. package/dist/tools/definitions/aggregate.js +2 -6
  216. package/dist/tools/definitions/aggregate.js.map +1 -1
  217. package/dist/tools/definitions/define.js +0 -8
  218. package/dist/tools/definitions/define.js.map +1 -1
  219. package/dist/tools/definitions/files.js +6 -1
  220. package/dist/tools/definitions/files.js.map +1 -1
  221. package/dist/tools/definitions/network.d.ts +2 -0
  222. package/dist/tools/definitions/network.js +17 -0
  223. package/dist/tools/definitions/network.js.map +1 -0
  224. package/dist/tools/definitions/orchestration.js +1 -1
  225. package/dist/tools/definitions/selection.js +1 -4
  226. package/dist/tools/definitions/selection.js.map +1 -1
  227. package/dist/tools/fs/search.d.ts +21 -2
  228. package/dist/tools/fs/search.js +394 -93
  229. package/dist/tools/fs/search.js.map +1 -1
  230. package/dist/tools/handlers/files-1.js.map +1 -1
  231. package/dist/tools/handlers/network-3.js +0 -4
  232. package/dist/tools/handlers/network-3.js.map +1 -1
  233. package/dist/tools/handlers/shell-2.js +0 -18
  234. package/dist/tools/handlers/shell-2.js.map +1 -1
  235. package/dist/tools/net-ping-sweep.js +1 -1
  236. package/dist/tools/net-ping-sweep.js.map +1 -1
  237. package/dist/tools/policies/output-policy.js +0 -3
  238. package/dist/tools/policies/output-policy.js.map +1 -1
  239. package/dist/tools/registry.d.ts +0 -9
  240. package/dist/tools/registry.js +0 -24
  241. package/dist/tools/registry.js.map +1 -1
  242. package/dist/tools/shell/exec-attempt.js +15 -2
  243. package/dist/tools/shell/exec-attempt.js.map +1 -1
  244. package/dist/tui-v2/components/transcript/file-diff-card.d.ts +1 -0
  245. package/dist/tui-v2/components/transcript/file-diff-card.js +30 -10
  246. package/dist/tui-v2/components/transcript/file-diff-card.js.map +1 -1
  247. package/dist/tui-v2/components/transcript/tool-card.d.ts +1 -0
  248. package/dist/tui-v2/components/transcript/tool-card.js +4 -2
  249. package/dist/tui-v2/components/transcript/tool-card.js.map +1 -1
  250. package/dist/tui-v2/components/transcript/transcript-row.js +1 -1
  251. package/dist/tui-v2/components/transcript/transcript-row.js.map +1 -1
  252. package/dist/types.d.ts +2 -1
  253. package/dist/types.js +1 -0
  254. package/dist/types.js.map +1 -1
  255. package/dist/ui-core/bootstrap/composition-root.js +1 -1
  256. package/dist/ui-core/bootstrap/composition-root.js.map +1 -1
  257. package/dist/ui-core/commands/mcp-commands.js +41 -11
  258. package/dist/ui-core/commands/mcp-commands.js.map +1 -1
  259. package/dist/ui-core/plan/plan-lifecycle.js +1 -1
  260. package/dist/ui-core/plan/plan-lifecycle.js.map +1 -1
  261. package/dist/ui-core/rendering/file-diff-view.d.ts +9 -0
  262. package/dist/ui-core/rendering/file-diff-view.js +20 -1
  263. package/dist/ui-core/rendering/file-diff-view.js.map +1 -1
  264. package/dist/ui-core/rendering/syntax/clike.d.ts +1 -0
  265. package/dist/ui-core/rendering/syntax/clike.js.map +1 -1
  266. package/dist/ui-core/rendering/syntax/language-highlighters.d.ts +1 -0
  267. package/dist/ui-core/rendering/syntax/language-highlighters.js +256 -0
  268. package/dist/ui-core/rendering/syntax/language-highlighters.js.map +1 -1
  269. package/dist/ui-core/rendering/syntax-highlight.js +2 -2
  270. package/dist/ui-core/rendering/syntax-highlight.js.map +1 -1
  271. package/dist/ui-core/state/transcript/apply-app-event.js +3 -1
  272. package/dist/ui-core/state/transcript/apply-app-event.js.map +1 -1
  273. package/dist/version.generated.d.ts +2 -2
  274. package/dist/version.generated.js +2 -2
  275. package/package.json +1 -1
  276. package/dist/tools/definitions/network-1.d.ts +0 -2
  277. package/dist/tools/definitions/network-1.js +0 -72
  278. package/dist/tools/definitions/network-1.js.map +0 -1
  279. package/dist/tools/definitions/network-2.d.ts +0 -2
  280. package/dist/tools/definitions/network-2.js +0 -22
  281. package/dist/tools/definitions/network-2.js.map +0 -1
  282. package/dist/tools/definitions/pentest.d.ts +0 -2
  283. package/dist/tools/definitions/pentest.js +0 -91
  284. package/dist/tools/definitions/pentest.js.map +0 -1
  285. package/dist/tools/dns-native.d.ts +0 -3
  286. package/dist/tools/dns-native.js +0 -165
  287. package/dist/tools/dns-native.js.map +0 -1
  288. package/dist/tools/handlers/network-1.d.ts +0 -2
  289. package/dist/tools/handlers/network-1.js +0 -52
  290. package/dist/tools/handlers/network-1.js.map +0 -1
  291. package/dist/tools/handlers/network-2.d.ts +0 -2
  292. package/dist/tools/handlers/network-2.js +0 -32
  293. package/dist/tools/handlers/network-2.js.map +0 -1
  294. package/dist/tools/handlers/nmap-preparation.d.ts +0 -13
  295. package/dist/tools/handlers/nmap-preparation.js +0 -66
  296. package/dist/tools/handlers/nmap-preparation.js.map +0 -1
  297. package/dist/tools/handlers/pentest.d.ts +0 -2
  298. package/dist/tools/handlers/pentest.js +0 -208
  299. package/dist/tools/handlers/pentest.js.map +0 -1
  300. package/dist/tools/network-context.d.ts +0 -22
  301. package/dist/tools/network-context.js +0 -130
  302. package/dist/tools/network-context.js.map +0 -1
  303. package/dist/tools/nmap-runner.d.ts +0 -10
  304. package/dist/tools/nmap-runner.js +0 -240
  305. package/dist/tools/nmap-runner.js.map +0 -1
  306. package/dist/tools/pentest-workflows.d.ts +0 -8
  307. package/dist/tools/pentest-workflows.js +0 -175
  308. package/dist/tools/pentest-workflows.js.map +0 -1
  309. package/dist/tools/validate.d.ts +0 -26
  310. package/dist/tools/validate.js +0 -373
  311. package/dist/tools/validate.js.map +0 -1
  312. package/dist/tools/whois-native.d.ts +0 -2
  313. package/dist/tools/whois-native.js +0 -78
  314. package/dist/tools/whois-native.js.map +0 -1
@@ -56,19 +56,23 @@ export function anthropicMaxTokens(requested, thinking) {
56
56
  return Math.max(requested ?? 8_192, budget + 1_024);
57
57
  }
58
58
  const CACHE_BREAKPOINT_MIN_CHARS = 4_000;
59
- export function anthropicSystemBlocks(system, requestContexts = []) {
59
+ export function anthropicSystemBlocks(system, requestContexts = [], cacheTtl) {
60
60
  if (!system && requestContexts.length === 0)
61
61
  return undefined;
62
62
  if (system && system.length < CACHE_BREAKPOINT_MIN_CHARS && requestContexts.length === 0) {
63
63
  return system;
64
64
  }
65
+ const cacheControl = {
66
+ type: "ephemeral",
67
+ ...(cacheTtl ? { ttl: cacheTtl } : {}),
68
+ };
65
69
  const blocks = [];
66
70
  if (system) {
67
71
  blocks.push({
68
72
  type: "text",
69
73
  text: system,
70
74
  ...(system.length >= CACHE_BREAKPOINT_MIN_CHARS
71
- ? { cache_control: { type: "ephemeral" } }
75
+ ? { cache_control: cacheControl }
72
76
  : {}),
73
77
  });
74
78
  }
@@ -93,11 +97,12 @@ export function buildAnthropicBody(request, stream, endpoint = baseUrl) {
93
97
  maxTokens: request.maxTokens,
94
98
  });
95
99
  const requestContexts = requestContextSystemPrompts(request.messages);
96
- const system = anthropicSystemBlocks(firstSystemPrompt(request.messages), requestContexts);
100
+ const system = anthropicSystemBlocks(firstSystemPrompt(request.messages), requestContexts, "1h");
97
101
  const reasoningArtifactReplay = {
98
102
  target: plan.replay.target,
99
103
  observe: request.onReasoningArtifactReplayDecision,
100
104
  cacheConversation: true,
105
+ cacheTtl: "1h",
101
106
  };
102
107
  const messages = toAnthropicToolMessages(withoutRequestContextSystemMessages(imageCapableMessages(provider, model, [...plan.timeline.messages])), reasoningArtifactReplay);
103
108
  const thinking = anthropicThinkingField(plan.controls.reasoning, model);
@@ -1 +1 @@
1
- {"version":3,"file":"anthropic.js","sourceRoot":"","sources":["../../src/llm/anthropic.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"anthropic.js","sourceRoot":"","sources":["../../src/llm/anthropic.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,aAAa,GAGd,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,aAAa,EACb,uBAAuB,EACvB,oBAAoB,EACpB,QAAQ,EACR,eAAe,EACf,iBAAiB,GAClB,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,uBAAuB,EACvB,8BAA8B,EAC9B,2BAA2B,EAC3B,0BAA0B,EAC1B,2BAA2B,EAC3B,uBAAuB,GACxB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,yBAAyB,EACzB,mBAAmB,EACnB,wBAAwB,GACzB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EACL,iBAAiB,EACjB,2BAA2B,EAC3B,mCAAmC,GACpC,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EACL,4BAA4B,EAC5B,wBAAwB,GACzB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,yBAAyB,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAEvF,OAAO,EACL,iCAAiC,EACjC,6BAA6B,GAC9B,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAGvD,MAAM,OAAO,GAAG,8BAA8B,CAAC;AAC/C,MAAM,gBAAgB,GAAG,YAAY,CAAC;AAEtC,SAAS,2BAA2B,CAClC,QAAwD,EACxD,KAAa,EACb,MAAyC,EACzC,QAAgB;IAEhB,MAAM,SAAS,GAAG,6BAA6B,CAAC;QAC9C,MAAM;QACN,UAAU,EAAE,iCAAiC,CAAC;YAC5C,QAAQ;YACR,KAAK;YACL,OAAO,EAAE,oBAAoB;YAC7B,QAAQ;SACT,CAAC;KACH,CAAC,CAAC;IACH,OAAO,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;AAClD,CAAC;AAED,SAAS,uBAAuB,CAC9B,SAA0C;IAE1C,IAAI,CAAC,SAAS,EAAE,OAAO;QAAE,OAAO,SAAS,CAAC;IAC1C,QAAQ,SAAS,CAAC,MAAM,EAAE,CAAC;QACzB,KAAK,KAAK;YACR,OAAO,KAAK,CAAC;QACf,KAAK,MAAM,CAAC;QACZ,KAAK,OAAO,CAAC;QACb,KAAK,KAAK;YACR,OAAO,KAAK,CAAC;QACf;YACE,OAAO,KAAK,CAAC;IACjB,CAAC;AACH,CAAC;AAED,SAAS,wBAAwB,CAAC,KAAa;IAC7C,OAAO,2DAA2D,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACjF,CAAC;AAED,SAAS,sBAAsB,CAC7B,SAA0C,EAC1C,KAAa;IAEb,IAAI,CAAC,SAAS,EAAE,OAAO;QAAE,OAAO,SAAS,CAAC;IAC1C,IAAI,wBAAwB,CAAC,KAAK,CAAC,EAAE,CAAC;QACpC,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,CAAC,MAAM,IAAI,QAAQ,EAAE,CAAC;IACpE,CAAC;IACD,MAAM,MAAM,GAAG,uBAAuB,CAAC,SAAS,CAAC,CAAC;IAClD,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC3C,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,EAAE,CAAC;AACpD,CAAC;AAED,MAAM,UAAU,kBAAkB,CAChC,SAA6B,EAC7B,QAA6C;IAE7C,MAAM,MAAM,GACV,OAAO,QAAQ,EAAE,aAAa,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3E,OAAO,IAAI,CAAC,GAAG,CAAC,SAAS,IAAI,KAAK,EAAE,MAAM,GAAG,KAAK,CAAC,CAAC;AACtD,CAAC;AAED,MAAM,0BAA0B,GAAG,KAAK,CAAC;AAEzC,MAAM,UAAU,qBAAqB,CACnC,MAA0B,EAC1B,kBAAqC,EAAE,EACvC,QAA2B;IAE3B,IAAI,CAAC,MAAM,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAC9D,IAAI,MAAM,IAAI,MAAM,CAAC,MAAM,GAAG,0BAA0B,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzF,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,MAAM,YAAY,GAAG;QACnB,IAAI,EAAE,WAAW;QACjB,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC9B,CAAC;IACX,MAAM,MAAM,GAAmC,EAAE,CAAC;IAClD,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,MAAM;YACZ,GAAG,CAAC,MAAM,CAAC,MAAM,IAAI,0BAA0B;gBAC7C,CAAC,CAAC,EAAE,aAAa,EAAE,YAAY,EAAE;gBACjC,CAAC,CAAC,EAAE,CAAC;SACR,CAAC,CAAC;IACL,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,eAAe,EAAE,CAAC;QACnC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IACtC,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,kBAAkB,CAChC,OAA0B,EAC1B,MAAe,EACf,QAAQ,GAAG,OAAO;IAElB,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,aAAa,CAAC,SAAS,CAAC;IACvD,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,WAAW,CAAC;IACjD,MAAM,IAAI,GAAG,kBAAkB,CAAC;QAC9B,QAAQ;QACR,KAAK;QACL,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,MAAM;QACN,QAAQ;QACR,SAAS,EAAE,OAAO,CAAC,QAAQ;QAC3B,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,SAAS,EAAE,OAAO,CAAC,SAAS;KAC7B,CAAC,CAAC;IACH,MAAM,eAAe,GAAG,2BAA2B,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACtE,MAAM,MAAM,GAAG,qBAAqB,CAClC,iBAAiB,CAAC,OAAO,CAAC,QAAQ,CAAC,EACnC,eAAe,EACf,IAAI,CACL,CAAC;IACF,MAAM,uBAAuB,GAAG;QAC9B,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM;QAC1B,OAAO,EAAE,OAAO,CAAC,iCAAiC;QAClD,iBAAiB,EAAE,IAAI;QACvB,QAAQ,EAAE,IAAa;KACxB,CAAC;IACF,MAAM,QAAQ,GAAG,uBAAuB,CACtC,mCAAmC,CACjC,oBAAoB,CAAC,QAAQ,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CACnE,EACD,uBAAuB,CACxB,CAAC;IACF,MAAM,QAAQ,GAAG,sBAAsB,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IACxE,OAAO,IAAI,CAAC,SAAS,CAAC;QACpB,KAAK;QACL,MAAM;QACN,QAAQ;QACR,UAAU,EAAE,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,kBAAkB,EAAE,QAAQ,CAAC;QAC1E,GAAG,CAAC,QAAQ;YACV,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC;gBACE,WAAW,EAAE,eAAe,CAAC;oBAC3B,QAAQ,EAAE,WAAW;oBACrB,KAAK;oBACL,gBAAgB,EAAE,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;oBAC3D,oBAAoB,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW;iBAChD,CAAC,CAAC,WAAW;aACf,CAAC;QACN,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjC,GAAG,uBAAuB,CAAC;YACzB,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM;gBAClC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC;gBAC7B,CAAC,CAAC,SAAS;YACb,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM;SAC9B,CAAC;KACH,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,MAAM,iBAAiB,GAAgB;IAC5C,EAAE,EAAE,WAAW;IACf,WAAW,EAAE,WAAW;IACxB,YAAY,EAAE,aAAa,CAAC,SAAS;IACrC,MAAM,EAAE,mBAAmB;IAC3B,WAAW,EAAE,CAAC,GAAW,EAAE,EAAE,CAAC,6BAA6B,CAAC,IAAI,CAAC,GAAG,CAAC;IACrE,KAAK,CAAC,IAAI,CAAC,IAAkB;QAC3B,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;QACnE,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,SAAS,EAAE;YAChD,OAAO,EAAE;gBACP,WAAW,EAAE,IAAI,CAAC,MAAM;gBACxB,mBAAmB,EAAE,gBAAgB;aACtC;SACF,CAAC,CAAC;QACH,MAAM,QAAQ,CAAU,QAAQ,CAAC,CAAC;IACpC,CAAC;IACD,KAAK,CAAC,QAAQ,CACZ,OAA0B,EAC1B,IAAkB;QAElB,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;QACnE,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,aAAa,CAAC,SAAS,CAAC;QACvD,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC;QACzC,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,WAAW,CAAC;QACjD,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,GAAG,QAAQ,WAAW,EAAE;YAC7D,MAAM,EAAE,MAAM;YACd,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,IAAI;YAC9B,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;gBAClC,WAAW,EAAE,IAAI,CAAC,MAAM;gBACxB,mBAAmB,EAAE,gBAAgB;aACtC;YACD,IAAI,EAAE,kBAAkB,CAAC,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC;SACnD,CAAC,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,QAAQ,CAWxB,QAAQ,CAAC,CAAC;QACb,MAAM,MAAM,GAAG,2BAA2B,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACzD,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAClD,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;QAC3D,CAAC;QACD,MAAM,cAAc,GAClB,MAAM,CAAC,iBAAiB,IAAI,MAAM,CAAC,YAAY;YAC7C,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,YAAY,EAAE,SAAS,EAAE,MAAM,CAAC,iBAAiB,EAAE;YACpE,CAAC,CAAC,SAAS,CAAC;QAChB,MAAM,kBAAkB,GAAG,2BAA2B,CACpD,QAAQ,EACR,KAAK,EACL,MAAM,CAAC,cAAc,EACrB,QAAQ,CACT,CAAC;QACF,MAAM,KAAK,GAAG,wBAAwB,CACpC,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,EAC/B,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,CACpC,CAAC;QACF,OAAO;YACL,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,QAAQ;YACR,KAAK;YACL,GAAG,EAAE,oBAAoB;YACzB,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACnE,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7C,GAAG,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,kBAAkB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACrD,GAAG,CAAC,IAAI,CAAC,WAAW;gBAClB,CAAC,CAAC;oBACE,YAAY,EACV,IAAI,CAAC,WAAW,KAAK,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW;iBACpE;gBACH,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM;oBACvB,CAAC,CAAC,EAAE,YAAY,EAAE,YAAY,EAAE;oBAChC,CAAC,CAAC,EAAE,CAAC;YACT,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC5B,CAAC;IACJ,CAAC;IACD,KAAK,CAAC,MAAM,CACV,OAA0B,EAC1B,IAAkB,EAClB,OAAgC;QAEhC,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;QACnE,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,aAAa,CAAC,SAAS,CAAC;QACvD,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC;QACzC,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,WAAW,CAAC;QACjD,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,GAAG,QAAQ,WAAW,EAAE;YAC7D,MAAM,EAAE,MAAM;YACd,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,IAAI;YAC9B,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;gBAClC,WAAW,EAAE,IAAI,CAAC,MAAM;gBACxB,mBAAmB,EAAE,gBAAgB;aACtC;YACD,IAAI,EAAE,kBAAkB,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC;SAClD,CAAC,CAAC;QACH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,QAAQ,CAAU,QAAQ,CAAC,CAAC;QACpC,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;QACvD,CAAC;QACD,IAAI,IAAI,GAAG,EAAE,CAAC;QACd,MAAM,WAAW,GAAG,8BAA8B,EAAE,CAAC;QACrD,IAAI,UAA8B,CAAC;QACnC,IAAI,cAAc,GAAG,KAAK,CAAC;QAC3B,IAAI,WAAmC,CAAC;QAExC,MAAM,SAAS,GAAG,uBAAuB,EAAE,CAAC;QAC5C,IAAI,cAAc,GAAG,CAAC,CAAC;QACvB,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAkB,CAAC;QACpD,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,eAAe,CAAC,QAAQ,EAAE;YACjD,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,GAAG,iBAAiB,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YACxD,cAAc,EAAE,GAAG,EAAE,CAAC,cAAc;SACrC,CAAC,EAAE,CAAC;YACH,MAAM,OAAO,GAAG,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACzC,IAAI,OAAO,KAAK,SAAS;gBAAE,SAAS;YACpC,IAAI,OAAO,KAAK,QAAQ;gBAAE,MAAM;YAChC,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAsBhC,CAAC;gBACF,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;oBAC5B,MAAM,IAAI,aAAa,CACrB,2BAA2B,MAAM,CAAC,KAAK,EAAE,OAAO,IAAI,MAAM,CAAC,KAAK,EAAE,IAAI,IAAI,SAAS,EAAE,EACrF,SAAS,EACT,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CACtB,CAAC;gBACJ,CAAC;gBACD,IAAI,MAAM,CAAC,IAAI,KAAK,cAAc;oBAAE,cAAc,GAAG,IAAI,CAAC;gBAC1D,IAAI,MAAM,CAAC,IAAI,KAAK,eAAe,IAAI,MAAM,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC;oBAC7D,WAAW,GAAG,mBAAmB,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,WAAW,CAAC;gBACzE,CAAC;gBACD,IAAI,MAAM,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;oBACpC,IAAI,MAAM,CAAC,KAAK,EAAE,WAAW,EAAE,CAAC;wBAC9B,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC;oBACxC,CAAC;oBACD,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;wBACjB,MAAM,GAAG,GAAG,mBAAmB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;wBAC9C,IAAI,GAAG,EAAE,CAAC;4BACR,WAAW,GAAG,yBAAyB,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;wBAC5D,CAAC;oBACH,CAAC;gBACH,CAAC;gBACD,IACE,MAAM,CAAC,IAAI,KAAK,qBAAqB;oBACrC,MAAM,CAAC,IAAI,KAAK,qBAAqB,EACrC,CAAC;oBACD,MAAM,MAAM,GAAG,0BAA0B,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;oBAC/D,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;wBACzB,cAAc,IAAI,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC;wBAC9C,wBAAwB,CAAC,OAAO,CAAC,aAAa,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC;oBACxE,CAAC;oBACD,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;wBACrB,IAAI,IAAI,MAAM,CAAC,SAAS,CAAC;wBACzB,cAAc,IAAI,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC;wBAC1C,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;oBAC5B,CAAC;oBACD,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;wBACzB,MAAM,EAAE,KAAK,EAAE,cAAc,EAAE,GAAG,MAAM,CAAC,aAAa,CAAC;wBACvD,MAAM,IAAI,GAAG,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;wBAC/C,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,cAAc,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC;wBACxD,IAAI,IAAI,GAAG,IAAI,EAAE,CAAC;4BAChB,iBAAiB,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;4BACnC,cAAc,IAAI,IAAI,GAAG,IAAI,CAAC;wBAChC,CAAC;oBACH,CAAC;oBACD,IAAI,MAAM,CAAC,aAAa,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;wBACpD,MAAM,CAAC,GAAG,MAAM,CAAC,aAAa,CAAC;wBAC/B,OAAO,CAAC,eAAe,CAAC;4BACtB,KAAK,EAAE,CAAC,CAAC,KAAK;4BACd,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;4BAC3C,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;4BACjD,GAAG,CAAC,CAAC,CAAC,cAAc,KAAK,SAAS;gCAChC,CAAC,CAAC,EAAE,cAAc,EAAE,CAAC,CAAC,cAAc,EAAE;gCACtC,CAAC,CAAC,EAAE,CAAC;yBACR,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,OAAO,UAAU,EAAE,CAAC;gBACpB,IAAI,CAAC,CAAC,UAAU,YAAY,WAAW,CAAC;oBAAE,MAAM,UAAU,CAAC;YAC7D,CAAC;QACH,CAAC;QACD,MAAM,SAAS,GAAG,2BAA2B,CAAC,WAAW,CAAC,CAAC;QAC3D,IAAI,0BAA0B,GAAG,CAAC,CAAC;QACnC,KAAK,MAAM,KAAK,IAAI,iBAAiB,CAAC,MAAM,EAAE,EAAE,CAAC;YAC/C,0BAA0B,IAAI,KAAK,CAAC;QACtC,CAAC;QACD,oBAAoB,CAAC;YACnB,QAAQ,EAAE,WAAW;YACrB,MAAM,EAAE,yBAAyB;YACjC,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS;YACnD,WAAW,EAAE,IAAI,CAAC,MAAM;YACxB,cAAc,EAAE,SAAS,CAAC,YAAY,CAAC,MAAM;YAC7C,iBAAiB,EAAE,0BAA0B;SAC9C,CAAC,CAAC;QACH,MAAM,kBAAkB,GAAG,2BAA2B,CACpD,QAAQ,EACR,KAAK,EACL,SAAS,CAAC,cAAc,EACxB,QAAQ,CACT,CAAC;QACF,4BAA4B,CAAC,OAAO,CAAC,aAAa,EAAE,kBAAkB,CAAC,CAAC;QACxE,IACE,CAAC,IAAI,CAAC,IAAI,EAAE;YACZ,CAAC,SAAS,CAAC,YAAY;YACvB,SAAS,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAChC,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;QAC3D,CAAC;QACD,MAAM,KAAK,GAAG,wBAAwB,CACpC,WAAW,EACX,OAAO,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,CACvC,CAAC;QACF,OAAO;YACL,IAAI,EAAE,IAAI;YACV,QAAQ;YACR,KAAK;YACL,GAAG,EAAE,oBAAoB;YACzB,GAAG,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM;gBAC5B,CAAC,CAAC,EAAE,SAAS,EAAE,SAAS,CAAC,SAAS,EAAE;gBACpC,CAAC,CAAC,EAAE,CAAC;YACP,GAAG,CAAC,SAAS,CAAC,iBAAiB,IAAI,SAAS,CAAC,YAAY;gBACvD,CAAC,CAAC;oBACE,cAAc,EAAE;wBACd,IAAI,EAAE,SAAS,CAAC,YAAY;wBAC5B,SAAS,EAAE,SAAS,CAAC,iBAAiB;qBACvC;iBACF;gBACH,CAAC,CAAC,EAAE,CAAC;YACP,GAAG,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,kBAAkB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACrD,GAAG,CAAC,UAAU;gBACZ,CAAC,CAAC;oBACE,YAAY,EACV,UAAU,KAAK,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,UAAU;iBACxD;gBACH,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM;oBAC1B,CAAC,CAAC,EAAE,YAAY,EAAE,YAAY,EAAE;oBAChC,CAAC,CAAC,EAAE,CAAC;YACT,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC5B,CAAC;IACJ,CAAC;CACF,CAAC"}
@@ -13,7 +13,7 @@ export declare const visionCapabilityCache: Map<string, {
13
13
  observedAt: string;
14
14
  }>;
15
15
  export declare const capabilityKey: (provider: ProviderId, model: string) => string;
16
- export declare const providerModelCatalog: Map<"free" | "gemini" | "openrouter" | "openai" | "anthropic" | "nvidia" | "agentrouter" | "aws-mantle" | "ollama" | "bynara" | "qwen-cloud" | "modal" | "lightning" | "tokenrouter" | "meta" | "fireworks" | "hetzner" | "orcarouter" | "merge-gateway", Set<string>>;
16
+ export declare const providerModelCatalog: Map<"free" | "gemini" | "openrouter" | "openai" | "anthropic" | "nvidia" | "agentrouter" | "aws-mantle" | "ollama" | "bynara" | "qwen-cloud" | "modal" | "lightning" | "tokenrouter" | "meta" | "fireworks" | "hetzner" | "orcarouter" | "merge-gateway" | "explabs", Set<string>>;
17
17
  export declare const visionSubstitutions: Map<string, string>;
18
18
  export declare const catalogReasoningEfforts: Map<string, readonly string[]>;
19
19
  export declare const catalogFactsByRoute: Map<string, CatalogFacts>;
@@ -16,6 +16,7 @@ const providerToolDialect = {
16
16
  hetzner: "openai",
17
17
  orcarouter: "openai",
18
18
  "merge-gateway": "openai",
19
+ explabs: "openai",
19
20
  anthropic: "anthropic",
20
21
  "aws-mantle": "openai",
21
22
  gemini: "gemini",
@@ -1 +1 @@
1
- {"version":3,"file":"tool-dialect.js","sourceRoot":"","sources":["../../../src/llm/capability/tool-dialect.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tool-dialect.js","sourceRoot":"","sources":["../../../src/llm/capability/tool-dialect.ts"],"names":[],"mappings":"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"}
@@ -165,6 +165,17 @@ export const visionPatterns = {
165
165
  /vision/i,
166
166
  /vl$/i,
167
167
  ],
168
+ explabs: [
169
+ /claude-(?:fable|opus|sonnet|haiku)/i,
170
+ /gpt-5/i,
171
+ /gpt-6/i,
172
+ /gemini-/i,
173
+ /kimi/i,
174
+ /glm-.*flash/i,
175
+ /qwen/i,
176
+ /vision/i,
177
+ /vl$/i,
178
+ ],
168
179
  };
169
180
  export const preferredVisionModels = {
170
181
  gemini: "gemini-3.5-flash",
@@ -184,5 +195,6 @@ export const preferredVisionModels = {
184
195
  hetzner: "Qwen/Qwen3.6-35B-A3B-FP8",
185
196
  orcarouter: "openai/gpt-4o-mini",
186
197
  "merge-gateway": "openai/gpt-5.2",
198
+ explabs: "claude-fable-5.1",
187
199
  };
188
200
  //# sourceMappingURL=vision-patterns.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"vision-patterns.js","sourceRoot":"","sources":["../../../src/llm/capability/vision-patterns.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vision-patterns.js","sourceRoot":"","sources":["../../../src/llm/capability/vision-patterns.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,uBAAuB,GAAa;IAC/C,gCAAgC;IAChC,4BAA4B;IAC5B,aAAa;IACb,kBAAkB;IAClB,QAAQ;IACR,WAAW;IACX,YAAY;IACZ,aAAa;IACb,WAAW;IACX,UAAU;IACV,YAAY;IACZ,aAAa;IACb,QAAQ;IACR,SAAS;IACT,OAAO;IACP,UAAU;IACV,aAAa;IACb,kBAAkB;IAClB,UAAU;IACV,WAAW;IACX,0BAA0B;IAC1B,yBAAyB;IACzB,WAAW;IACX,wBAAwB;IACxB,SAAS;IACT,WAAW;IACX,cAAc;IACd,QAAQ;IACR,UAAU;IACV,qBAAqB;IACrB,gDAAgD;IAChD,wBAAwB;IACxB,mCAAmC;IACnC,6BAA6B;IAC7B,yBAAyB;IACzB,4BAA4B;IAC5B,aAAa;IACb,yBAAyB;IACzB,eAAe;IACf,cAAc;IACd,cAAc;CACf,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAiC;IAC1D,IAAI,EAAE,EAAE;IACR,MAAM,EAAE;QACN,UAAU;KACX;IACD,UAAU,EAAE;QACV,SAAS;QACT,WAAW;QACX,QAAQ;QACR,kDAAkD;QAClD,qBAAqB;QACrB,UAAU;QACV,UAAU;QACV,gCAAgC;QAChC,iBAAiB;QACjB,UAAU;QACV,qBAAqB;QACrB,SAAS;QACT,UAAU;KACX;IACD,MAAM,EAAE,CAAC,SAAS,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,cAAc,CAAC;IACpE,SAAS,EAAE;QACT,oDAAoD;QACpD,qBAAqB;KACtB;IACD,MAAM,EAAE;QACN,UAAU;QACV,gCAAgC;QAChC,OAAO;QACP,OAAO;QACP,iBAAiB;QACjB,UAAU;QACV,UAAU;QACV,aAAa;KACd;IACD,MAAM,EAAE;QACN,QAAQ;QACR,mBAAmB;QACnB,WAAW;QACX,WAAW;QACX,YAAY;QACZ,aAAa;QACb,iBAAiB;QACjB,SAAS;KACV;IACD,WAAW,EAAE;QACX,SAAS;QACT,WAAW;QACX,QAAQ;QACR,kDAAkD;QAClD,qBAAqB;QACrB,UAAU;QACV,UAAU;QACV,iBAAiB;QACjB,eAAe;QACf,SAAS;KACV;IACD,YAAY,EAAE;QACZ,oDAAoD;QACpD,qBAAqB;QACrB,SAAS;QACT,WAAW;QACX,QAAQ;QACR,UAAU;QACV,UAAU;QACV,iBAAiB;QACjB,UAAU;QACV,eAAe;QACf,SAAS;QACT,SAAS;KACV;IACD,MAAM,EAAE,CAAC,aAAa,EAAE,qBAAqB,EAAE,WAAW,CAAC;IAC3D,YAAY,EAAE;QACZ,wBAAwB;QACxB,0BAA0B;QAC1B,UAAU;KACX;IACD,KAAK,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC1B,WAAW,EAAE,CAAC,OAAO,EAAE,WAAW,EAAE,aAAa,CAAC;IAClD,SAAS,EAAE;QACT,SAAS;QACT,WAAW;QACX,QAAQ;QACR,UAAU;QACV,oDAAoD;QACpD,eAAe;QACf,UAAU;QACV,UAAU;KACX;IACD,IAAI,EAAE,CAAC,aAAa,CAAC;IACrB,SAAS,EAAE;QACT,UAAU;QACV,YAAY;QACZ,WAAW;QACX,SAAS;QACT,MAAM;QACN,UAAU;QACV,UAAU;QACV,WAAW;KACZ;IACD,OAAO,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,KAAK,CAAC;IACpC,UAAU,EAAE;QACV,SAAS;QACT,WAAW;QACX,QAAQ;QACR,+BAA+B;QAC/B,UAAU;QACV,QAAQ;QACR,WAAW;QACX,OAAO;QACP,SAAS;QACT,MAAM;KACP;IACD,eAAe,EAAE;QACf,SAAS;QACT,WAAW;QACX,QAAQ;QACR,+BAA+B;QAC/B,UAAU;QACV,UAAU;QACV,UAAU;QACV,SAAS;QACT,MAAM;KACP;IACD,OAAO,EAAE;QACP,qCAAqC;QACrC,QAAQ;QACR,QAAQ;QACR,UAAU;QACV,OAAO;QACP,cAAc;QACd,OAAO;QACP,SAAS;QACT,MAAM;KACP;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAwC;IACxE,MAAM,EAAE,kBAAkB;IAC1B,UAAU,EAAE,yBAAyB;IACrC,MAAM,EAAE,aAAa;IACrB,SAAS,EAAE,yBAAyB;IACpC,MAAM,EAAE,yCAAyC;IACjD,WAAW,EAAE,iBAAiB;IAC9B,YAAY,EAAE,4BAA4B;IAC1C,MAAM,EAAE,iBAAiB;IACzB,MAAM,EAAE,gBAAgB;IACxB,YAAY,EAAE,cAAc;IAC5B,SAAS,EAAE,yBAAyB;IACpC,WAAW,EAAE,2BAA2B;IACxC,IAAI,EAAE,gBAAgB;IACtB,SAAS,EAAE,qCAAqC;IAChD,OAAO,EAAE,0BAA0B;IACnC,UAAU,EAAE,oBAAoB;IAChC,eAAe,EAAE,gBAAgB;IACjC,OAAO,EAAE,kBAAkB;CAC5B,CAAC"}
@@ -0,0 +1,12 @@
1
+ import { type LlmProvider } from "./provider.js";
2
+ export declare const explabsBaseUrl = "https://api.experientiallabs.ai/v1";
3
+ export declare const explabsCatalogUrl = "https://api.experientiallabs.ai/api/models";
4
+ export declare const explabsFallbackModels: string[];
5
+ export interface ExplabsCatalogIndex {
6
+ readonly entries: Map<string, Record<string, unknown>>;
7
+ readonly excluded: Set<string>;
8
+ }
9
+ export declare function explabsCatalogIndex(rows: readonly unknown[]): ExplabsCatalogIndex;
10
+ export declare function resetExplabsCatalogCache(): void;
11
+ export declare function explabsAuthHeaders(apiKey: string): Record<string, string>;
12
+ export declare const explabsProvider: LlmProvider;
@@ -0,0 +1,348 @@
1
+ import { defaultModels, } from "./provider.js";
2
+ import { bareModelId } from "./model-families.js";
3
+ import { singleLeadingSystemMessages } from "./system-messages.js";
4
+ import { ingestOpenAiModelCatalog, openAiCompatibleComplete, openAiCompatiblePing, openAiCompatibleStream, ProviderError, readJson, toCompletionResult, } from "./http.js";
5
+ import { sleep } from "./routing/error-classification.js";
6
+ import { streamAlreadyEmitted } from "./stream-progress.js";
7
+ const API_ROOT = "https://api.experientiallabs.ai";
8
+ export const explabsBaseUrl = `${API_ROOT}/v1`;
9
+ export const explabsCatalogUrl = `${API_ROOT}/api/models`;
10
+ const RESPONSES_NATIVE_MODEL = /(?:^|[-./])(?:gpt-5|gpt-6|o[1-4])(?![a-z])/;
11
+ function responsesFirstForModel(model) {
12
+ return RESPONSES_NATIVE_MODEL.test(bareModelId(model));
13
+ }
14
+ export const explabsFallbackModels = [
15
+ "claude-fable-5.1",
16
+ "claude-fable-5",
17
+ "claude-opus-5",
18
+ "claude-sonnet-5",
19
+ "gpt-5.6-sol",
20
+ "gpt-5.6-luna",
21
+ "gemini-3.7-flash",
22
+ "kimi-k3",
23
+ "glm-5.3",
24
+ "glm-5.3-flash",
25
+ "deepseek-v4-flash",
26
+ "qwen3.8-27b",
27
+ ];
28
+ const NON_CHAT_MODEL = /embed|image|imagen|dall-e|tts|whisper|video|moderation|rerank|transcribe|-batch$/i;
29
+ const CATALOG_PAGE_LIMIT = 500;
30
+ const CATALOG_MAX_PAGES = 10;
31
+ const EFFORT_ORDER = [
32
+ "none",
33
+ "minimal",
34
+ "low",
35
+ "medium",
36
+ "high",
37
+ "xhigh",
38
+ "max",
39
+ ];
40
+ function asRecord(value) {
41
+ return value && typeof value === "object" && !Array.isArray(value)
42
+ ? value
43
+ : undefined;
44
+ }
45
+ function stringList(value) {
46
+ return Array.isArray(value)
47
+ ? value.filter((item) => typeof item === "string")
48
+ : [];
49
+ }
50
+ function positiveInteger(value) {
51
+ return typeof value === "number" && Number.isFinite(value) && value > 0
52
+ ? Math.floor(value)
53
+ : undefined;
54
+ }
55
+ function providerCapabilities(row) {
56
+ const providers = Array.isArray(row.providers) ? row.providers : [];
57
+ return providers
58
+ .map((provider) => asRecord(asRecord(provider)?.capabilities))
59
+ .filter((caps) => caps !== undefined);
60
+ }
61
+ function orderedEfforts(caps) {
62
+ const seen = new Set();
63
+ for (const capsEntry of caps) {
64
+ for (const effort of stringList(capsEntry.supported_reasoning_efforts)) {
65
+ seen.add(effort.trim().toLowerCase());
66
+ }
67
+ }
68
+ const ordered = EFFORT_ORDER.filter((effort) => seen.has(effort));
69
+ const extra = [...seen].filter((effort) => !EFFORT_ORDER.includes(effort));
70
+ return [...ordered, ...extra];
71
+ }
72
+ function reasoningFacts(model, caps) {
73
+ const reasoningCaps = caps.filter((capsEntry) => capsEntry.supports_reasoning === true);
74
+ const declared = reasoningCaps.length > 0 || asRecord(model.supported_params)?.reasoning === true;
75
+ if (!declared)
76
+ return false;
77
+ const efforts = orderedEfforts(reasoningCaps);
78
+ const defaultEffort = reasoningCaps
79
+ .map((capsEntry) => capsEntry.reasoning_default_effort)
80
+ .find((effort) => typeof effort === "string" && effort.trim().length > 0);
81
+ return {
82
+ supported_efforts: efforts.length > 0 ? efforts : null,
83
+ mandatory: reasoningCaps.length > 0 &&
84
+ reasoningCaps.every((capsEntry) => capsEntry.reasoning_effort_required === true),
85
+ ...(defaultEffort !== undefined
86
+ ? {
87
+ default_effort: defaultEffort,
88
+ default_enabled: defaultEffort !== "none",
89
+ }
90
+ : {}),
91
+ };
92
+ }
93
+ function samplingFacts(model, caps) {
94
+ const params = asRecord(model.supported_params);
95
+ const pinnedTemperature = caps.some((capsEntry) => typeof capsEntry.minimum_temperature === "number" &&
96
+ typeof capsEntry.maximum_temperature === "number" &&
97
+ capsEntry.minimum_temperature === capsEntry.maximum_temperature);
98
+ const omit = {};
99
+ if (params?.temperature === false ||
100
+ pinnedTemperature ||
101
+ caps.some((capsEntry) => capsEntry.supports_temperature === false)) {
102
+ omit.temperature = null;
103
+ }
104
+ if (params?.top_p === false ||
105
+ caps.some((capsEntry) => capsEntry.supports_top_p === false)) {
106
+ omit.top_p = null;
107
+ }
108
+ return Object.keys(omit).length > 0 ? omit : undefined;
109
+ }
110
+ function catalogFactsEntry(row) {
111
+ const model = asRecord(row.model);
112
+ if (!model)
113
+ return undefined;
114
+ const slug = typeof model.slug === "string" ? model.slug.trim() : "";
115
+ if (!slug || NON_CHAT_MODEL.test(slug))
116
+ return undefined;
117
+ const outputModalities = stringList(model.output_modalities);
118
+ if (outputModalities.length > 0 &&
119
+ !outputModalities.some((modality) => modality.toLowerCase() === "text")) {
120
+ return undefined;
121
+ }
122
+ const caps = providerCapabilities(row);
123
+ const reasoning = reasoningFacts(model, caps);
124
+ const sampling = samplingFacts(model, caps);
125
+ const contextWindow = positiveInteger(model.context_window);
126
+ const maxOutput = positiveInteger(model.max_output_tokens);
127
+ const inputModalities = stringList(model.input_modalities);
128
+ const entry = {
129
+ id: slug,
130
+ reasoning,
131
+ ...(reasoning !== false
132
+ ? { supported_parameters: ["reasoning_effort", "reasoning"] }
133
+ : {}),
134
+ ...(contextWindow !== undefined ? { context_window: contextWindow } : {}),
135
+ ...(maxOutput !== undefined ? { max_completion_tokens: maxOutput } : {}),
136
+ ...(inputModalities.length > 0
137
+ ? { input_modalities: inputModalities }
138
+ : {}),
139
+ ...(sampling !== undefined ? { default_parameters: sampling } : {}),
140
+ };
141
+ return { id: slug, entry };
142
+ }
143
+ export function explabsCatalogIndex(rows) {
144
+ const entries = new Map();
145
+ const excluded = new Set();
146
+ for (const raw of rows) {
147
+ const row = asRecord(raw) ?? {};
148
+ const slug = typeof asRecord(row.model)?.slug === "string"
149
+ ? asRecord(row.model).slug.trim()
150
+ : "";
151
+ const parsed = catalogFactsEntry(row);
152
+ if (parsed)
153
+ entries.set(parsed.id, parsed.entry);
154
+ else if (slug)
155
+ excluded.add(slug);
156
+ }
157
+ return { entries, excluded };
158
+ }
159
+ let cachedModels = null;
160
+ let lastFetchTime = 0;
161
+ const CACHE_TTL_MS = 60 * 60 * 1000;
162
+ export function resetExplabsCatalogCache() {
163
+ cachedModels = null;
164
+ lastFetchTime = 0;
165
+ }
166
+ export function explabsAuthHeaders(apiKey) {
167
+ return { authorization: `Bearer ${apiKey}` };
168
+ }
169
+ function requireKey(auth) {
170
+ if (!auth.apiKey)
171
+ throw new Error("Experiential Labs API key is required");
172
+ return auth.apiKey;
173
+ }
174
+ async function getJson(url, apiKey, signal) {
175
+ const response = await fetch(url, {
176
+ headers: apiKey ? explabsAuthHeaders(apiKey) : {},
177
+ ...(signal ? { signal } : {}),
178
+ });
179
+ if (!response.ok)
180
+ throw new Error(`HTTP ${response.status}`);
181
+ return readJson(response);
182
+ }
183
+ async function fetchCatalogFacts(apiKey, signal) {
184
+ const rows = [];
185
+ for (let page = 0; page < CATALOG_MAX_PAGES; page += 1) {
186
+ const query = `?limit=${CATALOG_PAGE_LIMIT}&offset=${rows.length}`;
187
+ const data = await getJson(`${explabsCatalogUrl}${query}`, apiKey, signal);
188
+ const batch = Array.isArray(data.models) ? data.models : [];
189
+ rows.push(...batch);
190
+ const total = positiveInteger(data.total);
191
+ if (batch.length === 0 || (total !== undefined && rows.length >= total)) {
192
+ break;
193
+ }
194
+ if (batch.length < CATALOG_PAGE_LIMIT && total === undefined)
195
+ break;
196
+ }
197
+ return explabsCatalogIndex(rows);
198
+ }
199
+ async function fetchCallableIds(apiKey, signal) {
200
+ const data = await getJson(`${explabsBaseUrl}/models`, apiKey, signal);
201
+ const entries = Array.isArray(data.data) ? data.data : [];
202
+ return entries
203
+ .map((entry) => {
204
+ if (typeof entry === "string")
205
+ return entry.trim();
206
+ const id = asRecord(entry)?.id;
207
+ return typeof id === "string" ? id.trim() : "";
208
+ })
209
+ .filter((id) => id.length > 0 && !NON_CHAT_MODEL.test(id));
210
+ }
211
+ async function fetchModels(apiKey, signal) {
212
+ if (!apiKey) {
213
+ const catalog = await fetchCatalogFacts(undefined, signal);
214
+ return ingestOpenAiModelCatalog("explabs", [...catalog.entries.values()]);
215
+ }
216
+ const callable = await fetchCallableIds(apiKey, signal);
217
+ let catalog;
218
+ try {
219
+ catalog = await fetchCatalogFacts(apiKey, signal);
220
+ }
221
+ catch {
222
+ catalog = { entries: new Map(), excluded: new Set() };
223
+ }
224
+ const entries = [];
225
+ const seen = new Set();
226
+ for (const id of callable) {
227
+ if (seen.has(id) || catalog.excluded.has(id))
228
+ continue;
229
+ seen.add(id);
230
+ entries.push(catalog.entries.get(id) ?? { id });
231
+ }
232
+ return ingestOpenAiModelCatalog("explabs", entries);
233
+ }
234
+ const THROTTLE_MAX_RETRIES = 2;
235
+ const THROTTLE_MAX_WAIT_MS = 20_000;
236
+ const THROTTLE_DEFAULT_WAIT_MS = [5_000, 10_000];
237
+ const THROTTLE_SIGNATURE = /unavailable_route|provider throttled/i;
238
+ function isGatewayThrottle(error) {
239
+ if (!(error instanceof ProviderError) || error.status !== 429)
240
+ return false;
241
+ if (streamAlreadyEmitted(error))
242
+ return false;
243
+ return (error.retryAfterSeconds !== undefined ||
244
+ THROTTLE_SIGNATURE.test(`${error.message}\n${error.body ?? ""}`));
245
+ }
246
+ function throttleRetryWaitMs(error, attempt) {
247
+ const seconds = error.retryAfterSeconds;
248
+ const advertised = seconds !== undefined && Number.isFinite(seconds) && seconds >= 0
249
+ ? Math.ceil(seconds * 1000)
250
+ : undefined;
251
+ if (advertised === undefined) {
252
+ return THROTTLE_DEFAULT_WAIT_MS[Math.min(attempt, THROTTLE_DEFAULT_WAIT_MS.length - 1)];
253
+ }
254
+ return Math.min(advertised, THROTTLE_MAX_WAIT_MS);
255
+ }
256
+ async function dispatchWithThrottleRetry(dispatch, signal) {
257
+ for (let attempt = 0;; attempt += 1) {
258
+ try {
259
+ return await dispatch();
260
+ }
261
+ catch (error) {
262
+ if (attempt >= THROTTLE_MAX_RETRIES || !isGatewayThrottle(error)) {
263
+ throw error;
264
+ }
265
+ await sleep(throttleRetryWaitMs(error, attempt), signal);
266
+ }
267
+ }
268
+ }
269
+ export const explabsProvider = {
270
+ id: "explabs",
271
+ reasoningStyle: "openai",
272
+ displayName: "Experiential Labs",
273
+ defaultModel: defaultModels.explabs,
274
+ envVar: "EXPLABS_API_KEY",
275
+ validateKey: (key) => /^xpl_[0-9a-f]{40,}$/i.test(key),
276
+ async listModels(auth) {
277
+ const now = Date.now();
278
+ if (cachedModels && now - lastFetchTime < CACHE_TTL_MS)
279
+ return cachedModels;
280
+ try {
281
+ const models = await fetchModels(auth.apiKey);
282
+ if (models.length > 0) {
283
+ cachedModels = models;
284
+ lastFetchTime = now;
285
+ return models;
286
+ }
287
+ return cachedModels ?? explabsFallbackModels;
288
+ }
289
+ catch {
290
+ return cachedModels ?? explabsFallbackModels;
291
+ }
292
+ },
293
+ async ping(auth) {
294
+ await openAiCompatiblePing(explabsBaseUrl, requireKey(auth));
295
+ },
296
+ async complete(request, auth) {
297
+ const apiKey = requireKey(auth);
298
+ const model = request.model ?? defaultModels.explabs;
299
+ const payload = await dispatchWithThrottleRetry(() => openAiCompatibleComplete({
300
+ responsesFirst: responsesFirstForModel(model),
301
+ provider: "Experiential Labs",
302
+ providerId: "explabs",
303
+ baseUrl: explabsBaseUrl,
304
+ apiKey,
305
+ model,
306
+ messages: singleLeadingSystemMessages(request.messages),
307
+ maxTokens: request.maxTokens,
308
+ temperature: request.temperature,
309
+ signal: request.signal,
310
+ reasoning: request.thinking,
311
+ reasoningStyle: "openai",
312
+ tools: request.tools,
313
+ toolChoice: request.toolChoice,
314
+ parallelToolCalls: request.parallelToolCalls,
315
+ reasoningArtifactReplayObserver: request.onReasoningArtifactReplayDecision,
316
+ ...(request.forceReasoningReplay ? { forceReasoningReplay: true } : {}),
317
+ }), request.signal);
318
+ return toCompletionResult("explabs", model, payload);
319
+ },
320
+ async stream(request, auth, onToken) {
321
+ const apiKey = requireKey(auth);
322
+ const model = request.model ?? defaultModels.explabs;
323
+ const payload = await dispatchWithThrottleRetry(() => openAiCompatibleStream({
324
+ responsesFirst: responsesFirstForModel(model),
325
+ provider: "Experiential Labs",
326
+ providerId: "explabs",
327
+ baseUrl: explabsBaseUrl,
328
+ apiKey,
329
+ model,
330
+ messages: singleLeadingSystemMessages(request.messages),
331
+ maxTokens: request.maxTokens,
332
+ temperature: request.temperature,
333
+ signal: request.signal,
334
+ onToken,
335
+ onToolCallDelta: request.onToolCallDelta,
336
+ onStreamEvent: request.onStreamEvent,
337
+ reasoning: request.thinking,
338
+ reasoningStyle: "openai",
339
+ tools: request.tools,
340
+ toolChoice: request.toolChoice,
341
+ parallelToolCalls: request.parallelToolCalls,
342
+ reasoningArtifactReplayObserver: request.onReasoningArtifactReplayDecision,
343
+ ...(request.forceReasoningReplay ? { forceReasoningReplay: true } : {}),
344
+ }), request.signal);
345
+ return toCompletionResult("explabs", model, payload);
346
+ },
347
+ };
348
+ //# sourceMappingURL=explabs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"explabs.js","sourceRoot":"","sources":["../../src/llm/explabs.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,9 @@
1
1
  export declare const MAX_PROVIDER_KEYS = 10;
2
2
  export declare const MULTI_KEY_ATTEMPTS = 2;
3
+ export declare const RATE_LIMIT_RETRY_WAIT_MS: readonly number[];
4
+ export declare function rateLimitRetryWaitMs(attempt: number, maxMs?: number): number;
5
+ export declare function providerRetryAfterMs(error: unknown): number | undefined;
6
+ export declare function rateLimitWaitMsFor(error: unknown, attempt: number, maxMs?: number): number;
3
7
  export declare function buildKeyAttemptPlan(n: number, startIndex: number): number[];
4
8
  export declare function attemptsPerKey(keyCount: number, singleKeyMaxAttempts: number): number;
5
9
  export declare function isAuthKeyError(error: unknown): boolean;
@@ -1,6 +1,36 @@
1
1
  import { mentionsQuotaExhaustion } from "./quota-signals.js";
2
2
  export const MAX_PROVIDER_KEYS = 10;
3
3
  export const MULTI_KEY_ATTEMPTS = 2;
4
+ export const RATE_LIMIT_RETRY_WAIT_MS = [
5
+ 10_000, 20_000, 30_000, 40_000, 60_000,
6
+ ];
7
+ export function rateLimitRetryWaitMs(attempt, maxMs = Number.POSITIVE_INFINITY) {
8
+ const index = Math.min(Math.max(0, attempt), RATE_LIMIT_RETRY_WAIT_MS.length - 1);
9
+ return Math.min(RATE_LIMIT_RETRY_WAIT_MS[index], maxMs);
10
+ }
11
+ export function providerRetryAfterMs(error) {
12
+ if (error && typeof error === "object" && "retryAfterSeconds" in error) {
13
+ const seconds = error
14
+ .retryAfterSeconds;
15
+ if (typeof seconds === "number" &&
16
+ Number.isFinite(seconds) &&
17
+ seconds >= 0) {
18
+ return Math.ceil(seconds * 1000);
19
+ }
20
+ }
21
+ const match = errorMessage(error).match(/retry after ([0-9.]+)\s*s/i);
22
+ if (!match)
23
+ return undefined;
24
+ const seconds = Number.parseFloat(match[1]);
25
+ return Number.isFinite(seconds) && seconds >= 0
26
+ ? Math.ceil(seconds * 1000)
27
+ : undefined;
28
+ }
29
+ export function rateLimitWaitMsFor(error, attempt, maxMs = Number.POSITIVE_INFINITY) {
30
+ const scheduled = rateLimitRetryWaitMs(attempt, maxMs);
31
+ const hint = providerRetryAfterMs(error);
32
+ return hint === undefined ? scheduled : Math.min(scheduled, hint);
33
+ }
4
34
  export function buildKeyAttemptPlan(n, startIndex) {
5
35
  if (n <= 0)
6
36
  return [];
@@ -1 +1 @@
1
- {"version":3,"file":"key-rotation.js","sourceRoot":"","sources":["../../src/llm/key-rotation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"key-rotation.js","sourceRoot":"","sources":["../../src/llm/key-rotation.ts"],"names":[],"mappings":"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"}