@alexnetrebskii/hive-agent 2.36.0 → 2.37.0

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.
package/README.md CHANGED
@@ -79,7 +79,7 @@ Tuplet gives you exactly that. A powerful, multi-agent framework you plug into y
79
79
  - **Skills** — Lazy-loaded prompts for specialized workflows. Only metadata is in the system prompt; full instructions load on demand when the model activates a skill
80
80
  - **Custom sub-agents** — Spawn specialized agents with their own tools, prompts, and even different LLM providers
81
81
  - **Pluggable storage** — Bring your own chat history provider (Firestore, Redis, Postgres, anything)
82
- - **Pluggable logging & tracing** — Integrate with Datadog, custom dashboards, or any observability platform
82
+ - **Pluggable logging & tracing** — Built-in [Langfuse](https://langfuse.com) provider, console tracer, or wire your own (Datadog, custom dashboards, any observability platform). See [Tracing](./docs/tracing.md).
83
83
  - **Pluggable workspaces** — Virtual file systems, database-backed storage, or real file system
84
84
 
85
85
  ## Tuplet vs LangChain.js
@@ -1 +1 @@
1
- {"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../src/executor.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,OAAO,EACP,IAAI,EAIJ,WAAW,EAIX,WAAW,EACX,UAAU,EACV,WAAW,EACX,WAAW,EAGZ,MAAM,YAAY,CAAA;AACnB,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAc9C,MAAM,WAAW,cAAc;IAC7B,YAAY,EAAE,MAAM,CAAA;IACpB,KAAK,EAAE,IAAI,EAAE,CAAA;IACb,GAAG,EAAE,WAAW,CAAA;IAChB,MAAM,CAAC,EAAE,WAAW,CAAA;IACpB,aAAa,EAAE,MAAM,CAAA;IACrB,cAAc,EAAE,cAAc,CAAA;IAC9B,WAAW,EAAE,WAAW,CAAA;IACxB,UAAU,CAAC,EAAE,UAAU,CAAA;IAEvB,oFAAoF;IACpF,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAE5B,+DAA+D;IAC/D,aAAa,CAAC,EAAE,IAAI,EAAE,CAAA;IAEtB,mCAAmC;IACnC,MAAM,CAAC,EAAE,WAAW,CAAA;IAEpB,iDAAiD;IACjD,cAAc,CAAC,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAA;IAEvC,0CAA0C;IAC1C,YAAY,CAAC,EAAE,OAAO,YAAY,EAAE,YAAY,CAAA;IAEhD,oEAAoE;IACpE,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAmQD;;GAEG;AACH,wBAAsB,WAAW,CAC/B,MAAM,EAAE,cAAc,EACtB,eAAe,EAAE,OAAO,EAAE,EAC1B,WAAW,EAAE,WAAW,GACvB,OAAO,CAAC,WAAW,CAAC,CAgctB"}
1
+ {"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../src/executor.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,OAAO,EACP,IAAI,EAIJ,WAAW,EAIX,WAAW,EACX,UAAU,EACV,WAAW,EACX,WAAW,EAGZ,MAAM,YAAY,CAAA;AACnB,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAc9C,MAAM,WAAW,cAAc;IAC7B,YAAY,EAAE,MAAM,CAAA;IACpB,KAAK,EAAE,IAAI,EAAE,CAAA;IACb,GAAG,EAAE,WAAW,CAAA;IAChB,MAAM,CAAC,EAAE,WAAW,CAAA;IACpB,aAAa,EAAE,MAAM,CAAA;IACrB,cAAc,EAAE,cAAc,CAAA;IAC9B,WAAW,EAAE,WAAW,CAAA;IACxB,UAAU,CAAC,EAAE,UAAU,CAAA;IAEvB,oFAAoF;IACpF,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAE5B,+DAA+D;IAC/D,aAAa,CAAC,EAAE,IAAI,EAAE,CAAA;IAEtB,mCAAmC;IACnC,MAAM,CAAC,EAAE,WAAW,CAAA;IAEpB,iDAAiD;IACjD,cAAc,CAAC,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAA;IAEvC,0CAA0C;IAC1C,YAAY,CAAC,EAAE,OAAO,YAAY,EAAE,YAAY,CAAA;IAEhD,oEAAoE;IACpE,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAmQD;;GAEG;AACH,wBAAsB,WAAW,CAC/B,MAAM,EAAE,cAAc,EACtB,eAAe,EAAE,OAAO,EAAE,EAC1B,WAAW,EAAE,WAAW,GACvB,OAAO,CAAC,WAAW,CAAC,CAqctB"}
package/dist/executor.js CHANGED
@@ -335,9 +335,13 @@ export async function executeLoop(config, initialMessages, toolContext) {
335
335
  };
336
336
  }
337
337
  const llmDurationMs = Date.now() - llmStartTime;
338
+ // Use the model id reported on the response when present (e.g. a
339
+ // FallbackProvider that fell through to a backup vendor) so cost
340
+ // accounting follows the provider that actually served the call.
341
+ const callModelId = response.modelId ?? modelId;
338
342
  // Record usage in trace
339
343
  if (response.usage) {
340
- traceBuilder?.recordLLMCall(modelId, response.usage.inputTokens, response.usage.outputTokens, llmDurationMs, {
344
+ traceBuilder?.recordLLMCall(callModelId, response.usage.inputTokens, response.usage.outputTokens, llmDurationMs, {
341
345
  cacheCreationTokens: response.cacheUsage?.cacheCreationInputTokens,
342
346
  cacheReadTokens: response.cacheUsage?.cacheReadInputTokens,
343
347
  systemPrompt,
@@ -351,7 +355,7 @@ export async function executeLoop(config, initialMessages, toolContext) {
351
355
  if (response.usage) {
352
356
  cumulativeInputTokens += response.usage.inputTokens;
353
357
  cumulativeOutputTokens += response.usage.outputTokens;
354
- const callCost = calculateCost(modelId, response.usage.inputTokens, response.usage.outputTokens, response.cacheUsage?.cacheCreationInputTokens, response.cacheUsage?.cacheReadInputTokens);
358
+ const callCost = calculateCost(callModelId, response.usage.inputTokens, response.usage.outputTokens, response.cacheUsage?.cacheCreationInputTokens, response.cacheUsage?.cacheReadInputTokens);
355
359
  const cumulativeCost = traceBuilder?.getCumulativeCost() ?? callCost;
356
360
  emitProgress(logger, {
357
361
  type: 'usage',
@@ -364,7 +368,7 @@ export async function executeLoop(config, initialMessages, toolContext) {
364
368
  elapsed: Date.now() - executorStartTime,
365
369
  callCost,
366
370
  cumulativeCost,
367
- modelId
371
+ modelId: callModelId
368
372
  }
369
373
  }
370
374
  });
@@ -1 +1 @@
1
- {"version":3,"file":"executor.js","sourceRoot":"","sources":["../src/executor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"executor.js","sourceRoot":"","sources":["../src/executor.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -9,6 +9,7 @@ export { describeActivity, extractShellActivity, extractPipelineActivity, classi
9
9
  export { ClaudeProvider, type ClaudeProviderConfig } from './providers/llm/claude.js';
10
10
  export { OpenAIProvider, type OpenAIProviderConfig } from './providers/llm/openai.js';
11
11
  export { OpenRouterProvider, type OpenRouterProviderConfig } from './providers/llm/openrouter.js';
12
+ export { FallbackProvider, isTransientError, type FallbackProviderConfig } from './providers/llm/fallback.js';
12
13
  export { ConsoleLogger, type ConsoleLoggerConfig, type LogLevel } from './providers/logger/console.js';
13
14
  export { MemoryRepository } from './providers/repository/memory.js';
14
15
  export { MemoryEnvironmentProvider } from './providers/env/memory.js';
@@ -16,7 +17,7 @@ export { estimateTokens, estimateMessageTokens, estimateTotalTokens, truncateOld
16
17
  export { summarizeMessages, microCompact, parseSummary } from './summarizer.js';
17
18
  export { buildSystemPrompt, buildEnvironmentSection, buildRemindersSection, getCurrentEnvironment, DEFAULT_SYSTEM_PROMPT, SubAgentBuilder, roleSection, subAgentsTable, questionHandlingSection, directToolsSection, workspaceStorageSection, rulesSection, taskExamplesSection, subAgentRoleSection, taskSection, workflowSection, guidelinesSection, outputSection, type SubAgentDef, type ToolDef, type WorkspacePathDef, type WorkspaceStorageOptions, type TaskExample, type WorkflowStep, type OutputFormat, type SubAgentPromptConfig } from './prompt.js';
18
19
  export { TaskManager, formatTaskList, createTaskTools, createTaskCreateTool, createTaskUpdateTool, createTaskGetTool, createTaskListTool, type TaskToolOptions, TodoManager, formatTodoList, createTodoTool, type TodoToolOptions } from './tools/tasks.js';
19
- export { TraceBuilder, ConsoleTraceProvider, generateTraceId, generateSpanId, calculateCost, DEFAULT_MODEL_PRICING, OPENROUTER_MODEL_PRICING, type TraceProvider, type TraceId, type SpanId, type Trace, type AgentSpan, type TraceEvent, type LLMCallEvent, type ToolCallEvent, type TraceContext, type ModelPricing, type CostUpdate, type ConsoleTraceConfig } from './trace.js';
20
+ export { TraceBuilder, ConsoleTraceProvider, LangfuseTraceProvider, generateTraceId, generateSpanId, calculateCost, DEFAULT_MODEL_PRICING, OPENROUTER_MODEL_PRICING, type TraceProvider, type TraceId, type SpanId, type Trace, type AgentSpan, type TraceEvent, type LLMCallEvent, type ToolCallEvent, type TraceContext, type ModelPricing, type CostUpdate, type ConsoleTraceConfig, type LangfuseTraceConfig } from './trace.js';
20
21
  export { Workspace, type WorkspaceEntry, type WorkspaceListItem, type WorkspaceConfig, type WorkspaceConfigExt, type PathConfig, type ValidatorFn, type ZodLike, type ValidationError, type WriteResult } from './workspace.js';
21
22
  export { type WorkspaceProvider, type WorkspaceChange, type WorkspaceChangeListener, MemoryWorkspaceProvider, FileWorkspaceProvider } from './providers/workspace/index.js';
22
23
  export { Shell, type ShellConfig, type ShellResult, type CommandHandler, type CommandHelp, type CommandFlag, type CommandExample } from './shell/index.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -11,6 +11,7 @@ export { describeActivity, extractShellActivity, extractPipelineActivity, classi
11
11
  export { ClaudeProvider } from './providers/llm/claude.js';
12
12
  export { OpenAIProvider } from './providers/llm/openai.js';
13
13
  export { OpenRouterProvider } from './providers/llm/openrouter.js';
14
+ export { FallbackProvider, isTransientError } from './providers/llm/fallback.js';
14
15
  export { ConsoleLogger } from './providers/logger/console.js';
15
16
  export { MemoryRepository } from './providers/repository/memory.js';
16
17
  // Environment Providers
@@ -28,7 +29,7 @@ export { TaskManager, formatTaskList, createTaskTools, createTaskCreateTool, cre
28
29
  // Backward compatibility (deprecated)
29
30
  TodoManager, formatTodoList, createTodoTool } from './tools/tasks.js';
30
31
  // Tracing
31
- export { TraceBuilder, ConsoleTraceProvider, generateTraceId, generateSpanId, calculateCost, DEFAULT_MODEL_PRICING, OPENROUTER_MODEL_PRICING } from './trace.js';
32
+ export { TraceBuilder, ConsoleTraceProvider, LangfuseTraceProvider, generateTraceId, generateSpanId, calculateCost, DEFAULT_MODEL_PRICING, OPENROUTER_MODEL_PRICING } from './trace.js';
32
33
  // Workspace
33
34
  export { Workspace } from './workspace.js';
34
35
  // Workspace Providers
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,mBAAmB;AACnB,OAAO,EAAE,MAAM,EAAE,MAAM,IAAI,IAAI,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AA2E9D,8CAA8C;AAC9C,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EACpB,uBAAuB,EACvB,YAAY,EACZ,oBAAoB,EAyBrB,MAAM,eAAe,CAAA;AAEtB,YAAY;AACZ,OAAO,EACL,cAAc,EAEf,MAAM,2BAA2B,CAAA;AAElC,OAAO,EACL,cAAc,EAEf,MAAM,2BAA2B,CAAA;AAElC,OAAO,EACL,kBAAkB,EAEnB,MAAM,+BAA+B,CAAA;AAEtC,OAAO,EACL,aAAa,EAGd,MAAM,+BAA+B,CAAA;AAEtC,OAAO,EACL,gBAAgB,EACjB,MAAM,kCAAkC,CAAA;AAEzC,wBAAwB;AACxB,OAAO,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAA;AAErE,YAAY;AACZ,OAAO,EACL,cAAc,EACd,qBAAqB,EACrB,mBAAmB,EACnB,mBAAmB,EACnB,eAAe,EACf,cAAc,EACf,MAAM,sBAAsB,CAAA;AAE7B,OAAO,EACL,iBAAiB,EACjB,YAAY,EACZ,YAAY,EACb,MAAM,iBAAiB,CAAA;AAExB,OAAO,EACL,iBAAiB,EACjB,uBAAuB,EACvB,qBAAqB,EACrB,qBAAqB,EACrB,qBAAqB;AACrB,kBAAkB;AAClB,eAAe;AACf,kDAAkD;AAClD,WAAW,EACX,cAAc,EACd,uBAAuB,EACvB,kBAAkB,EAClB,uBAAuB,EACvB,YAAY,EACZ,mBAAmB,EACnB,mBAAmB,EACnB,WAAW,EACX,eAAe,EACf,iBAAiB,EACjB,aAAa,EAUd,MAAM,aAAa,CAAA;AAEpB,kDAAkD;AAClD,OAAO,EACL,WAAW,EACX,cAAc,EACd,eAAe,EACf,oBAAoB,EACpB,oBAAoB,EACpB,iBAAiB,EACjB,kBAAkB;AAElB,sCAAsC;AACtC,WAAW,EACX,cAAc,EACd,cAAc,EAEf,MAAM,kBAAkB,CAAA;AAEzB,UAAU;AACV,OAAO,EACL,YAAY,EACZ,oBAAoB,EACpB,eAAe,EACf,cAAc,EACd,aAAa,EACb,qBAAqB,EACrB,wBAAwB,EAazB,MAAM,YAAY,CAAA;AAEnB,YAAY;AACZ,OAAO,EACL,SAAS,EAUV,MAAM,gBAAgB,CAAA;AAEvB,sBAAsB;AACtB,OAAO,EAIL,uBAAuB,EACvB,qBAAqB,EACtB,MAAM,gCAAgC,CAAA;AAEvC,QAAQ;AACR,OAAO,EACL,KAAK,EAON,MAAM,kBAAkB,CAAA;AAEzB,kBAAkB;AAClB,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAA;AAEtF,4CAA4C;AAC5C,OAAO,EACL,WAAW,EACX,WAAW,EACX,SAAS,EAUV,MAAM,8BAA8B,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,mBAAmB;AACnB,OAAO,EAAE,MAAM,EAAE,MAAM,IAAI,IAAI,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AA2E9D,8CAA8C;AAC9C,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EACpB,uBAAuB,EACvB,YAAY,EACZ,oBAAoB,EAyBrB,MAAM,eAAe,CAAA;AAEtB,YAAY;AACZ,OAAO,EACL,cAAc,EAEf,MAAM,2BAA2B,CAAA;AAElC,OAAO,EACL,cAAc,EAEf,MAAM,2BAA2B,CAAA;AAElC,OAAO,EACL,kBAAkB,EAEnB,MAAM,+BAA+B,CAAA;AAEtC,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAEjB,MAAM,6BAA6B,CAAA;AAEpC,OAAO,EACL,aAAa,EAGd,MAAM,+BAA+B,CAAA;AAEtC,OAAO,EACL,gBAAgB,EACjB,MAAM,kCAAkC,CAAA;AAEzC,wBAAwB;AACxB,OAAO,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAA;AAErE,YAAY;AACZ,OAAO,EACL,cAAc,EACd,qBAAqB,EACrB,mBAAmB,EACnB,mBAAmB,EACnB,eAAe,EACf,cAAc,EACf,MAAM,sBAAsB,CAAA;AAE7B,OAAO,EACL,iBAAiB,EACjB,YAAY,EACZ,YAAY,EACb,MAAM,iBAAiB,CAAA;AAExB,OAAO,EACL,iBAAiB,EACjB,uBAAuB,EACvB,qBAAqB,EACrB,qBAAqB,EACrB,qBAAqB;AACrB,kBAAkB;AAClB,eAAe;AACf,kDAAkD;AAClD,WAAW,EACX,cAAc,EACd,uBAAuB,EACvB,kBAAkB,EAClB,uBAAuB,EACvB,YAAY,EACZ,mBAAmB,EACnB,mBAAmB,EACnB,WAAW,EACX,eAAe,EACf,iBAAiB,EACjB,aAAa,EAUd,MAAM,aAAa,CAAA;AAEpB,kDAAkD;AAClD,OAAO,EACL,WAAW,EACX,cAAc,EACd,eAAe,EACf,oBAAoB,EACpB,oBAAoB,EACpB,iBAAiB,EACjB,kBAAkB;AAElB,sCAAsC;AACtC,WAAW,EACX,cAAc,EACd,cAAc,EAEf,MAAM,kBAAkB,CAAA;AAEzB,UAAU;AACV,OAAO,EACL,YAAY,EACZ,oBAAoB,EACpB,qBAAqB,EACrB,eAAe,EACf,cAAc,EACd,aAAa,EACb,qBAAqB,EACrB,wBAAwB,EAczB,MAAM,YAAY,CAAA;AAEnB,YAAY;AACZ,OAAO,EACL,SAAS,EAUV,MAAM,gBAAgB,CAAA;AAEvB,sBAAsB;AACtB,OAAO,EAIL,uBAAuB,EACvB,qBAAqB,EACtB,MAAM,gCAAgC,CAAA;AAEvC,QAAQ;AACR,OAAO,EACL,KAAK,EAON,MAAM,kBAAkB,CAAA;AAEzB,kBAAkB;AAClB,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAA;AAEtF,4CAA4C;AAC5C,OAAO,EACL,WAAW,EACX,WAAW,EACX,SAAS,EAUV,MAAM,8BAA8B,CAAA"}
@@ -0,0 +1,55 @@
1
+ /**
2
+ * Fallback LLM Provider
3
+ *
4
+ * Wraps an ordered list of LLMProviders. On chat(), tries each provider in
5
+ * order and falls back to the next one if the current one throws. Useful for
6
+ * surviving transient upstream outages or rate limits by routing the same
7
+ * request to a different vendor.
8
+ */
9
+ import type { LLMProvider, LLMResponse, LLMOptions, Message, ToolSchema } from '../../types.js';
10
+ /**
11
+ * Strict policy that recognizes only network/upstream issues — HTTP 5xx,
12
+ * 408, 429, native socket errors, OpenRouter relays of upstream failures —
13
+ * and rejects HTTP 4xx (auth/validation) plus AbortError.
14
+ *
15
+ * NOT used by default. The default {@link FallbackProvider} policy is more
16
+ * permissive (fall back on anything except AbortError) because chain members
17
+ * usually have *different* model ids, so an HTTP 400 like "invalid model ID"
18
+ * on the primary is exactly the kind of error a backup can recover from.
19
+ *
20
+ * Pass this as `shouldFallback` if you'd rather only retry on classic
21
+ * transient outages and surface caller bugs immediately:
22
+ *
23
+ * new FallbackProvider({ providers, shouldFallback: isTransientError })
24
+ */
25
+ export declare function isTransientError(error: unknown): boolean;
26
+ export interface FallbackProviderConfig {
27
+ /**
28
+ * Ordered list of providers. The first is the primary; each subsequent
29
+ * one is tried only if the previous attempt throws an error matched by
30
+ * the fallback policy.
31
+ */
32
+ providers: LLMProvider[];
33
+ /**
34
+ * Override the default policy ({@link defaultShouldFallback} — fall back
35
+ * on everything except AbortError). Return false to re-throw immediately.
36
+ * Pass {@link isTransientError} for the stricter network-only policy.
37
+ */
38
+ shouldFallback?: (error: unknown, providerIndex: number) => boolean;
39
+ /**
40
+ * Optional hook fired right before falling back from one provider to the
41
+ * next. Receives the triggering error plus the indices of the failing and
42
+ * next provider in the list. Useful for logging.
43
+ */
44
+ onFallback?: (error: unknown, fromIndex: number, toIndex: number) => void;
45
+ }
46
+ export declare class FallbackProvider implements LLMProvider {
47
+ private providers;
48
+ private shouldFallback;
49
+ private onFallback?;
50
+ constructor(config: FallbackProviderConfig);
51
+ get supportsNativeTools(): boolean;
52
+ chat(systemPrompt: string, messages: Message[], tools: ToolSchema[], options?: LLMOptions): Promise<LLMResponse>;
53
+ getModelId(): string;
54
+ }
55
+ //# sourceMappingURL=fallback.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fallback.d.ts","sourceRoot":"","sources":["../../../src/providers/llm/fallback.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EACV,WAAW,EACX,WAAW,EACX,UAAU,EACV,OAAO,EACP,UAAU,EACX,MAAM,gBAAgB,CAAA;AAEvB;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CA8BxD;AAmBD,MAAM,WAAW,sBAAsB;IACrC;;;;OAIG;IACH,SAAS,EAAE,WAAW,EAAE,CAAA;IACxB;;;;OAIG;IACH,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,OAAO,CAAA;IACnE;;;;OAIG;IACH,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;CAC1E;AAED,qBAAa,gBAAiB,YAAW,WAAW;IAClD,OAAO,CAAC,SAAS,CAAe;IAChC,OAAO,CAAC,cAAc,CAAoD;IAC1E,OAAO,CAAC,UAAU,CAAC,CAA8D;gBAErE,MAAM,EAAE,sBAAsB;IAY1C,IAAI,mBAAmB,IAAI,OAAO,CAEjC;IAEK,IAAI,CACR,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,OAAO,EAAE,EACnB,KAAK,EAAE,UAAU,EAAE,EACnB,OAAO,CAAC,EAAE,UAAU,GACnB,OAAO,CAAC,WAAW,CAAC;IA4BvB,UAAU,IAAI,MAAM;CAGrB"}
@@ -0,0 +1,123 @@
1
+ /**
2
+ * Fallback LLM Provider
3
+ *
4
+ * Wraps an ordered list of LLMProviders. On chat(), tries each provider in
5
+ * order and falls back to the next one if the current one throws. Useful for
6
+ * surviving transient upstream outages or rate limits by routing the same
7
+ * request to a different vendor.
8
+ */
9
+ /**
10
+ * Strict policy that recognizes only network/upstream issues — HTTP 5xx,
11
+ * 408, 429, native socket errors, OpenRouter relays of upstream failures —
12
+ * and rejects HTTP 4xx (auth/validation) plus AbortError.
13
+ *
14
+ * NOT used by default. The default {@link FallbackProvider} policy is more
15
+ * permissive (fall back on anything except AbortError) because chain members
16
+ * usually have *different* model ids, so an HTTP 400 like "invalid model ID"
17
+ * on the primary is exactly the kind of error a backup can recover from.
18
+ *
19
+ * Pass this as `shouldFallback` if you'd rather only retry on classic
20
+ * transient outages and surface caller bugs immediately:
21
+ *
22
+ * new FallbackProvider({ providers, shouldFallback: isTransientError })
23
+ */
24
+ export function isTransientError(error) {
25
+ if (!error)
26
+ return false;
27
+ if (error instanceof Error && error.name === 'AbortError')
28
+ return false;
29
+ const message = error instanceof Error ? error.message : String(error);
30
+ // HTTP status extracted from the thrown message. Providers shaped like
31
+ // OpenRouter put it as `HTTP 503` in the error string.
32
+ const httpMatch = message.match(/HTTP\s+(\d{3})/i);
33
+ if (httpMatch) {
34
+ const status = parseInt(httpMatch[1], 10);
35
+ if (status >= 500 && status < 600)
36
+ return true;
37
+ if (status === 408 || status === 429)
38
+ return true;
39
+ if (status >= 400 && status < 500)
40
+ return false;
41
+ }
42
+ // Native undici/fetch errors carry the syscall code on `.cause`.
43
+ const cause = error?.cause;
44
+ if (cause?.code) {
45
+ const transient = new Set([
46
+ 'ECONNRESET', 'ETIMEDOUT', 'ECONNREFUSED', 'EAI_AGAIN',
47
+ 'EHOSTUNREACH', 'ENETUNREACH', 'EPIPE', 'ENOTFOUND',
48
+ 'UND_ERR_SOCKET', 'UND_ERR_CONNECT_TIMEOUT', 'UND_ERR_HEADERS_TIMEOUT'
49
+ ]);
50
+ if (transient.has(cause.code))
51
+ return true;
52
+ }
53
+ // Default: anything not classified as a clear caller bug is transient.
54
+ return true;
55
+ }
56
+ /**
57
+ * Default policy: fall back on every thrown error EXCEPT a user-triggered
58
+ * cancellation (AbortError). The intent of a fallback chain is "if my
59
+ * primary can't serve this, try the next one", and most 4xx errors are
60
+ * per-provider in practice — `invalid model ID`, `model not found`, an
61
+ * upstream backend that rejects a tool schema another backend accepts, etc.
62
+ *
63
+ * Cost-of-caller-bug: a genuinely broken request (e.g. malformed schema
64
+ * shared by every chain member) costs N calls instead of 1. That's the
65
+ * deliberate tradeoff for resilience. Callers who'd rather fail closed on
66
+ * 4xx errors should pass {@link isTransientError} as `shouldFallback`.
67
+ */
68
+ function defaultShouldFallback(error) {
69
+ if (error instanceof Error && error.name === 'AbortError')
70
+ return false;
71
+ return true;
72
+ }
73
+ export class FallbackProvider {
74
+ providers;
75
+ shouldFallback;
76
+ onFallback;
77
+ constructor(config) {
78
+ if (!config.providers || config.providers.length === 0) {
79
+ throw new Error('FallbackProvider requires at least one provider');
80
+ }
81
+ this.providers = config.providers;
82
+ this.shouldFallback = config.shouldFallback ?? defaultShouldFallback;
83
+ this.onFallback = config.onFallback;
84
+ }
85
+ // Inherit native-tool support from the primary. The system prompt is built
86
+ // once per turn against this flag, so the chain only works if every member
87
+ // agrees on whether tools live in the prompt or in the API tools parameter.
88
+ get supportsNativeTools() {
89
+ return this.providers[0].supportsNativeTools === true;
90
+ }
91
+ async chat(systemPrompt, messages, tools, options) {
92
+ let lastError;
93
+ for (let i = 0; i < this.providers.length; i++) {
94
+ const provider = this.providers[i];
95
+ try {
96
+ const response = await provider.chat(systemPrompt, messages, tools, options);
97
+ // Stamp the actual serving model on the response so the executor
98
+ // attributes tokens and cost to the provider that handled this call,
99
+ // not the chain's primary.
100
+ return {
101
+ ...response,
102
+ modelId: response.modelId ?? provider.getModelId?.() ?? this.getModelId()
103
+ };
104
+ }
105
+ catch (error) {
106
+ lastError = error;
107
+ const isLast = i === this.providers.length - 1;
108
+ if (isLast || !this.shouldFallback(error, i)) {
109
+ throw error;
110
+ }
111
+ this.onFallback?.(error, i, i + 1);
112
+ }
113
+ }
114
+ throw lastError;
115
+ }
116
+ // Default model id used when no call has happened yet (e.g. for an
117
+ // executor-level "expected model" snapshot). Per-call cost accounting comes
118
+ // from `LLMResponse.modelId`, populated above.
119
+ getModelId() {
120
+ return this.providers[0].getModelId?.() ?? 'fallback';
121
+ }
122
+ }
123
+ //# sourceMappingURL=fallback.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fallback.js","sourceRoot":"","sources":["../../../src/providers/llm/fallback.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=fallback.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fallback.test.d.ts","sourceRoot":"","sources":["../../../src/providers/llm/fallback.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,175 @@
1
+ import { describe, it, expect, vi } from 'vitest';
2
+ import { FallbackProvider, isTransientError } from './fallback.js';
3
+ function stubProvider(opts) {
4
+ return {
5
+ chat: opts.chat,
6
+ getModelId: () => opts.modelId ?? 'stub:stub',
7
+ supportsNativeTools: opts.supportsNativeTools
8
+ };
9
+ }
10
+ const okResponse = {
11
+ content: [{ type: 'text', text: 'ok' }],
12
+ stopReason: 'end_turn',
13
+ usage: { inputTokens: 1, outputTokens: 1 }
14
+ };
15
+ describe('FallbackProvider', () => {
16
+ it('returns the primary response when it succeeds', async () => {
17
+ const primary = stubProvider({ chat: vi.fn().mockResolvedValue(okResponse) });
18
+ const backup = stubProvider({ chat: vi.fn() });
19
+ const provider = new FallbackProvider({ providers: [primary, backup] });
20
+ const result = await provider.chat('sys', [], []);
21
+ expect(result.content).toEqual(okResponse.content);
22
+ expect(result.stopReason).toBe(okResponse.stopReason);
23
+ expect(primary.chat).toHaveBeenCalledTimes(1);
24
+ expect(backup.chat).not.toHaveBeenCalled();
25
+ });
26
+ it('falls through to the next provider on a transient error', async () => {
27
+ const error = new Error('OpenRouter API error (HTTP 503): upstream timeout');
28
+ const primary = stubProvider({
29
+ modelId: 'claude:sonnet',
30
+ chat: vi.fn().mockRejectedValue(error)
31
+ });
32
+ const backup = stubProvider({
33
+ modelId: 'openrouter:anthropic/claude-sonnet-4',
34
+ chat: vi.fn().mockResolvedValue(okResponse)
35
+ });
36
+ const onFallback = vi.fn();
37
+ const provider = new FallbackProvider({
38
+ providers: [primary, backup],
39
+ onFallback
40
+ });
41
+ const result = await provider.chat('sys', [], []);
42
+ // Cost attribution must follow the provider that actually served the
43
+ // call — the executor reads `response.modelId` per call.
44
+ expect(result.modelId).toBe('openrouter:anthropic/claude-sonnet-4');
45
+ expect(result.content).toEqual(okResponse.content);
46
+ expect(primary.chat).toHaveBeenCalledTimes(1);
47
+ expect(backup.chat).toHaveBeenCalledTimes(1);
48
+ expect(onFallback).toHaveBeenCalledWith(error, 0, 1);
49
+ });
50
+ it('stamps the primary model id on the response when the primary succeeds', async () => {
51
+ const primary = stubProvider({
52
+ modelId: 'claude:sonnet',
53
+ chat: vi.fn().mockResolvedValue(okResponse)
54
+ });
55
+ const backup = stubProvider({ chat: vi.fn() });
56
+ const provider = new FallbackProvider({ providers: [primary, backup] });
57
+ const result = await provider.chat('sys', [], []);
58
+ expect(result.modelId).toBe('claude:sonnet');
59
+ });
60
+ it('preserves a model id already set by the inner provider', async () => {
61
+ const inner = { ...okResponse, modelId: 'router:auto-picked-model' };
62
+ const primary = stubProvider({
63
+ modelId: 'router:default',
64
+ chat: vi.fn().mockResolvedValue(inner)
65
+ });
66
+ const provider = new FallbackProvider({ providers: [primary] });
67
+ const result = await provider.chat('sys', [], []);
68
+ expect(result.modelId).toBe('router:auto-picked-model');
69
+ });
70
+ it('throws the last error when every provider fails', async () => {
71
+ const first = new Error('OpenRouter API error (HTTP 503): first down');
72
+ const second = new Error('OpenRouter API error (HTTP 503): second down');
73
+ const primary = stubProvider({ chat: vi.fn().mockRejectedValue(first) });
74
+ const backup = stubProvider({ chat: vi.fn().mockRejectedValue(second) });
75
+ const provider = new FallbackProvider({ providers: [primary, backup] });
76
+ await expect(provider.chat('sys', [], [])).rejects.toBe(second);
77
+ });
78
+ it('honors shouldFallback to short-circuit on non-retryable errors', async () => {
79
+ const error = new Error('400 bad request');
80
+ const primary = stubProvider({ chat: vi.fn().mockRejectedValue(error) });
81
+ const backup = stubProvider({ chat: vi.fn() });
82
+ const provider = new FallbackProvider({
83
+ providers: [primary, backup],
84
+ shouldFallback: () => false
85
+ });
86
+ await expect(provider.chat('sys', [], [])).rejects.toBe(error);
87
+ expect(backup.chat).not.toHaveBeenCalled();
88
+ });
89
+ it('rejects an empty providers list', () => {
90
+ expect(() => new FallbackProvider({ providers: [] })).toThrow(/at least one/);
91
+ });
92
+ it('falls back on a 4xx error by default (per-provider errors like invalid model ID)', async () => {
93
+ const error = new Error('OpenRouter API error (HTTP 400): google/gemma-4-26b-a4b-it1 is not a valid model ID');
94
+ const primary = stubProvider({ chat: vi.fn().mockRejectedValue(error) });
95
+ const backup = stubProvider({ chat: vi.fn().mockResolvedValue(okResponse) });
96
+ const provider = new FallbackProvider({ providers: [primary, backup] });
97
+ const result = await provider.chat('sys', [], []);
98
+ expect(result.content).toEqual(okResponse.content);
99
+ expect(backup.chat).toHaveBeenCalledTimes(1);
100
+ });
101
+ it('honors isTransientError as opt-in strict policy (4xx no longer falls back)', async () => {
102
+ const error = new Error('OpenRouter API error (HTTP 401): Invalid API key');
103
+ const primary = stubProvider({ chat: vi.fn().mockRejectedValue(error) });
104
+ const backup = stubProvider({ chat: vi.fn() });
105
+ const provider = new FallbackProvider({
106
+ providers: [primary, backup],
107
+ shouldFallback: isTransientError
108
+ });
109
+ await expect(provider.chat('sys', [], [])).rejects.toBe(error);
110
+ expect(backup.chat).not.toHaveBeenCalled();
111
+ });
112
+ it('falls back on a native fetch ECONNRESET by default', async () => {
113
+ const error = new TypeError('fetch failed');
114
+ error.cause = { code: 'ECONNRESET' };
115
+ const primary = stubProvider({ chat: vi.fn().mockRejectedValue(error) });
116
+ const backup = stubProvider({ chat: vi.fn().mockResolvedValue(okResponse) });
117
+ const provider = new FallbackProvider({ providers: [primary, backup] });
118
+ const result = await provider.chat('sys', [], []);
119
+ expect(result.content).toEqual(okResponse.content);
120
+ expect(backup.chat).toHaveBeenCalledTimes(1);
121
+ });
122
+ it('does NOT fall back on AbortError (user cancelled the run)', async () => {
123
+ const error = Object.assign(new Error('aborted'), { name: 'AbortError' });
124
+ const primary = stubProvider({ chat: vi.fn().mockRejectedValue(error) });
125
+ const backup = stubProvider({ chat: vi.fn() });
126
+ const provider = new FallbackProvider({ providers: [primary, backup] });
127
+ await expect(provider.chat('sys', [], [])).rejects.toBe(error);
128
+ expect(backup.chat).not.toHaveBeenCalled();
129
+ });
130
+ it('reports the primary model id and native-tool support', () => {
131
+ const primary = stubProvider({
132
+ chat: vi.fn(),
133
+ modelId: 'openrouter:anthropic/claude-sonnet-4',
134
+ supportsNativeTools: true
135
+ });
136
+ const backup = stubProvider({
137
+ chat: vi.fn(),
138
+ modelId: 'openrouter:google/gemini-2.5',
139
+ supportsNativeTools: false
140
+ });
141
+ const provider = new FallbackProvider({ providers: [primary, backup] });
142
+ expect(provider.getModelId()).toBe('openrouter:anthropic/claude-sonnet-4');
143
+ expect(provider.supportsNativeTools).toBe(true);
144
+ });
145
+ });
146
+ describe('isTransientError', () => {
147
+ it.each([
148
+ ['HTTP 500 server error', 'OpenRouter API error (HTTP 500): boom'],
149
+ ['HTTP 503 upstream', 'OpenRouter API error (HTTP 503): upstream'],
150
+ ['HTTP 408 timeout', 'API error (HTTP 408): timeout'],
151
+ ['HTTP 429 rate limit', 'API error (HTTP 429): rate limit'],
152
+ ['fuzzy exhaustion', 'OpenRouter: model returned a broken response after 3 attempt(s)'],
153
+ ['provider relay', 'OpenRouter API error: provider returned an error']
154
+ ])('returns true for %s', (_, message) => {
155
+ expect(isTransientError(new Error(message))).toBe(true);
156
+ });
157
+ it.each([
158
+ ['HTTP 400', 'API error (HTTP 400): bad request'],
159
+ ['HTTP 401', 'API error (HTTP 401): invalid key'],
160
+ ['HTTP 403', 'API error (HTTP 403): forbidden'],
161
+ ['HTTP 404', 'API error (HTTP 404): unknown model']
162
+ ])('returns false for %s', (_, message) => {
163
+ expect(isTransientError(new Error(message))).toBe(false);
164
+ });
165
+ it('returns false for AbortError', () => {
166
+ const err = Object.assign(new Error('aborted'), { name: 'AbortError' });
167
+ expect(isTransientError(err)).toBe(false);
168
+ });
169
+ it('recognizes native fetch ECONNRESET via .cause.code', () => {
170
+ const err = new TypeError('fetch failed');
171
+ err.cause = { code: 'ECONNRESET' };
172
+ expect(isTransientError(err)).toBe(true);
173
+ });
174
+ });
175
+ //# sourceMappingURL=fallback.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fallback.test.js","sourceRoot":"","sources":["../../../src/providers/llm/fallback.test.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ask-user.d.ts","sourceRoot":"","sources":["../../src/tools/ask-user.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAExC;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,IAAI,CA0BxC"}
1
+ {"version":3,"file":"ask-user.d.ts","sourceRoot":"","sources":["../../src/tools/ask-user.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAExC;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,IAAI,CA6CxC"}