moderado 0.3.4 → 0.3.7

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 (68) hide show
  1. package/dist/budget.d.ts +6 -0
  2. package/dist/budget.d.ts.map +1 -0
  3. package/dist/budget.js +25 -0
  4. package/dist/budget.js.map +1 -0
  5. package/dist/commands/chat.d.ts +5 -1
  6. package/dist/commands/chat.d.ts.map +1 -1
  7. package/dist/commands/chat.js +170 -41
  8. package/dist/commands/chat.js.map +1 -1
  9. package/dist/commands/models.d.ts.map +1 -1
  10. package/dist/commands/models.js +61 -14
  11. package/dist/commands/models.js.map +1 -1
  12. package/dist/config.d.ts +73 -0
  13. package/dist/config.d.ts.map +1 -1
  14. package/dist/config.js +116 -0
  15. package/dist/config.js.map +1 -1
  16. package/dist/model_pricing.d.ts +14 -1
  17. package/dist/model_pricing.d.ts.map +1 -1
  18. package/dist/model_pricing.js +52 -0
  19. package/dist/model_pricing.js.map +1 -1
  20. package/dist/repo_map.d.ts +3 -0
  21. package/dist/repo_map.d.ts.map +1 -0
  22. package/dist/repo_map.js +29 -0
  23. package/dist/repo_map.js.map +1 -0
  24. package/dist/sessions.d.ts +22 -15
  25. package/dist/sessions.d.ts.map +1 -1
  26. package/dist/sessions.js +16 -1
  27. package/dist/sessions.js.map +1 -1
  28. package/dist/skills.d.ts +2 -2
  29. package/dist/ui/model_selector.d.ts +2 -2
  30. package/dist/ui/model_selector.d.ts.map +1 -1
  31. package/dist/ui/model_selector.js +25 -16
  32. package/dist/ui/model_selector.js.map +1 -1
  33. package/dist/ui/provider_connect.d.ts +6 -3
  34. package/dist/ui/provider_connect.d.ts.map +1 -1
  35. package/dist/ui/provider_connect.js +41 -14
  36. package/dist/ui/provider_connect.js.map +1 -1
  37. package/dist/ui/renderer.d.ts +4 -0
  38. package/dist/ui/renderer.d.ts.map +1 -1
  39. package/dist/ui/renderer.js +36 -0
  40. package/dist/ui/renderer.js.map +1 -1
  41. package/dist/ui/welcome.d.ts +11 -0
  42. package/dist/ui/welcome.d.ts.map +1 -1
  43. package/dist/ui/welcome.js +38 -20
  44. package/dist/ui/welcome.js.map +1 -1
  45. package/dist/vendor/contracts/events.d.ts +159 -0
  46. package/dist/vendor/contracts/events.d.ts.map +1 -1
  47. package/dist/vendor/contracts/events.js +12 -0
  48. package/dist/vendor/contracts/events.js.map +1 -1
  49. package/dist/vendor/contracts/provider.d.ts +1 -0
  50. package/dist/vendor/contracts/provider.d.ts.map +1 -1
  51. package/dist/vendor/contracts/provider.js +6 -0
  52. package/dist/vendor/contracts/provider.js.map +1 -1
  53. package/dist/vendor/core/agent.d.ts +2 -1
  54. package/dist/vendor/core/agent.d.ts.map +1 -1
  55. package/dist/vendor/core/agent.js +123 -9
  56. package/dist/vendor/core/agent.js.map +1 -1
  57. package/dist/vendor/providers/model_discovery.d.ts +2 -2
  58. package/dist/vendor/providers/model_discovery.d.ts.map +1 -1
  59. package/dist/vendor/providers/model_discovery.js +4 -2
  60. package/dist/vendor/providers/model_discovery.js.map +1 -1
  61. package/dist/vendor/providers/nvidia/nvidia_adapter.d.ts.map +1 -1
  62. package/dist/vendor/providers/nvidia/nvidia_adapter.js +1 -0
  63. package/dist/vendor/providers/nvidia/nvidia_adapter.js.map +1 -1
  64. package/dist/vendor/providers/nvidia/sse_parser.d.ts +2 -1
  65. package/dist/vendor/providers/nvidia/sse_parser.d.ts.map +1 -1
  66. package/dist/vendor/providers/nvidia/sse_parser.js +30 -16
  67. package/dist/vendor/providers/nvidia/sse_parser.js.map +1 -1
  68. package/package.json +1 -1
@@ -2,6 +2,17 @@ import { z } from 'zod';
2
2
  import { AccessTierSchema } from './models.js';
3
3
  import { DiagnosticSchema, ToolResultSchema } from './tools.js';
4
4
  import { ApprovalRequestSchema, ApprovalStatusSchema } from './approvals.js';
5
+ import { ChatUsageSchema } from './provider.js';
6
+ /** Cumulative task usage; estimates are never provider-reported billing counts. */
7
+ export const UsageEventSchema = z.object({
8
+ type: z.literal('usage'),
9
+ usage: ChatUsageSchema,
10
+ estimated: z.boolean(),
11
+ outputTokensPerSecond: z.number().finite().nonnegative(),
12
+ generationMs: z.number().finite().nonnegative(),
13
+ final: z.boolean(),
14
+ timestamp: z.number().int().nonnegative(),
15
+ });
5
16
  export const ProgressEventSchema = z.object({
6
17
  type: z.literal('progress'),
7
18
  step: z.number().int().nonnegative(),
@@ -75,6 +86,7 @@ export const CancellationEventSchema = z.object({
75
86
  timestamp: z.number().int().nonnegative(),
76
87
  });
77
88
  export const AgentEventSchema = z.discriminatedUnion('type', [
89
+ UsageEventSchema,
78
90
  ProgressEventSchema,
79
91
  ModelChangeEventSchema,
80
92
  AssistantDeltaEventSchema,
@@ -1 +1 @@
1
- {"version":3,"file":"events.js","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"events.js","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":"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"}
@@ -25,6 +25,7 @@ export declare class MalformedResponseError extends ProviderError {
25
25
  export declare class ProviderTimeoutError extends ProviderError {
26
26
  constructor(message?: string);
27
27
  }
28
+ export declare function isRetryableProviderError(error: unknown): boolean;
28
29
  export declare const ChatUsageSchema: z.ZodObject<{
29
30
  promptTokens: z.ZodNumber;
30
31
  completionTokens: z.ZodNumber;
@@ -1 +1 @@
1
- {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../src/provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,WAAW,EAAiB,MAAM,eAAe,CAAC;AAChE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAIvD,qBAAa,aAAc,SAAQ,KAAK;aACO,IAAI,EAAE,MAAM;aAAkB,UAAU,CAAC,EAAE,MAAM;gBAAlF,OAAO,EAAE,MAAM,EAAkB,IAAI,EAAE,MAAM,EAAkB,UAAU,CAAC,EAAE,MAAM,YAAA;CAI/F;AAED,qBAAa,mBAAoB,SAAQ,aAAa;gBACxC,OAAO,SAA+D,EAAE,UAAU,SAAM;CAIrG;AAED,qBAAa,cAAe,SAAQ,aAAa;aAG7B,iBAAiB,CAAC,EAAE,MAAM;gBAD1C,OAAO,SAAwB,EACf,iBAAiB,CAAC,EAAE,MAAM,YAAA,EAC1C,UAAU,SAAM;CAKnB;AAED,qBAAa,qBAAsB,SAAQ,aAAa;gBAC1C,OAAO,SAA6C,EAAE,UAAU,SAAM;CAInF;AAED,qBAAa,kBAAmB,SAAQ,aAAa;gBACvC,OAAO,SAAyD;CAI7E;AAED,qBAAa,sBAAuB,SAAQ,aAAa;gBAC3C,OAAO,SAAwD;CAI5E;AAED,qBAAa,oBAAqB,SAAQ,aAAa;gBACzC,OAAO,SAA+B;CAInD;AAID,eAAO,MAAM,eAAe;;;;;;;;;;;;EAI1B,CAAC;AACH,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAExD,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAMpC,CAAC;AACH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAE5E,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,KAAK,CAAC,EAAE,uBAAuB,EAAE,CAAC;IAClC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACrC;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,YAAY,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAAC;IAC7F,UAAU,CAAC,OAAO,EAAE,mBAAmB,GAAG,aAAa,CAAC,mBAAmB,CAAC,CAAC;CAC9E"}
1
+ {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../src/provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,WAAW,EAAiB,MAAM,eAAe,CAAC;AAChE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAIvD,qBAAa,aAAc,SAAQ,KAAK;aACO,IAAI,EAAE,MAAM;aAAkB,UAAU,CAAC,EAAE,MAAM;gBAAlF,OAAO,EAAE,MAAM,EAAkB,IAAI,EAAE,MAAM,EAAkB,UAAU,CAAC,EAAE,MAAM,YAAA;CAI/F;AAED,qBAAa,mBAAoB,SAAQ,aAAa;gBACxC,OAAO,SAA+D,EAAE,UAAU,SAAM;CAIrG;AAED,qBAAa,cAAe,SAAQ,aAAa;aAG7B,iBAAiB,CAAC,EAAE,MAAM;gBAD1C,OAAO,SAAwB,EACf,iBAAiB,CAAC,EAAE,MAAM,YAAA,EAC1C,UAAU,SAAM;CAKnB;AAED,qBAAa,qBAAsB,SAAQ,aAAa;gBAC1C,OAAO,SAA6C,EAAE,UAAU,SAAM;CAInF;AAED,qBAAa,kBAAmB,SAAQ,aAAa;gBACvC,OAAO,SAAyD;CAI7E;AAED,qBAAa,sBAAuB,SAAQ,aAAa;gBAC3C,OAAO,SAAwD;CAI5E;AAED,qBAAa,oBAAqB,SAAQ,aAAa;gBACzC,OAAO,SAA+B;CAInD;AAID,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAIhE;AAED,eAAO,MAAM,eAAe;;;;;;;;;;;;EAI1B,CAAC;AACH,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAExD,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAMpC,CAAC;AACH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAE5E,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,KAAK,CAAC,EAAE,uBAAuB,EAAE,CAAC;IAClC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACrC;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,YAAY,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAAC;IAC7F,UAAU,CAAC,OAAO,EAAE,mBAAmB,GAAG,aAAa,CAAC,mBAAmB,CAAC,CAAC;CAC9E"}
@@ -49,6 +49,12 @@ export class ProviderTimeoutError extends ProviderError {
49
49
  }
50
50
  }
51
51
  // --- Streaming Contracts ---
52
+ export function isRetryableProviderError(error) {
53
+ if (error instanceof AuthenticationError || error instanceof MalformedResponseError || error instanceof EmptyResponseError)
54
+ return false;
55
+ return error instanceof RateLimitError || error instanceof ModelUnavailableError || error instanceof ProviderTimeoutError ||
56
+ (error instanceof ProviderError && (error.statusCode ?? 0) >= 500);
57
+ }
52
58
  export const ChatUsageSchema = z.object({
53
59
  promptTokens: z.number().int().nonnegative(),
54
60
  completionTokens: z.number().int().nonnegative(),
@@ -1 +1 @@
1
- {"version":3,"file":"provider.js","sourceRoot":"","sources":["../src/provider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"provider.js","sourceRoot":"","sources":["../src/provider.ts"],"names":[],"mappings":"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"}
@@ -23,6 +23,7 @@ export interface AgentRunOptions {
23
23
  maxOutputTokens?: number;
24
24
  /** Optional untrusted user skill context appended to the system prompt. */
25
25
  skillContext?: string;
26
+ retryDelaysMs?: number[];
26
27
  }
27
28
  export interface AgentRunResult {
28
29
  status: 'completed' | 'step_limit_reached' | 'cancelled' | 'failed';
@@ -32,7 +33,7 @@ export interface AgentRunResult {
32
33
  messages: ChatMessage[];
33
34
  usage?: ChatUsage;
34
35
  }
35
- export declare const DEFAULT_SYSTEM_PROMPT = "CRITICAL DIRECTIVE \u2014 EXTREME BREVITY (DEFAULT MODE):\n- Extreme brevity is mandatory. Answer in 1 to 2 short sentences or under 35 words.\n- Zero conversational filler: Never output greetings, pleasantries, preambles (\"Sure\", \"Here is\", \"Certainly\", \"I'd be happy to\"), or sign-offs (\"Hope this helps\", \"Let me know\").\n- Never restate, rephrase, or echo the user's question before answering. Start immediately with the direct answer.\n- Zero markdown headers (no ## or ###), no bullet lists unless specifically requested, no conclusion sections.\n- For code, commands, or file edits: Output ONLY the raw code or command block. Do NOT explain what it does or how it works.\n- State only direct, factual answers. Do NOT provide unsolicited background, tips, or commentary.\n\nYou are Moderado, a lightweight, pragmatic, bloat-free AI coding agent.\nYou follow the Ponytail Decision Ladder: YAGNI, standard library first, zero unnecessary dependencies, and minimal code.\nUse the provided workspace tools to inspect, read, search, modify, and test files within the workspace.\n\nCORE OPERATIONAL RULES:\n- If the user prompt is a greeting, question, explanation request, or conversational query, output regular markdown text directly without calling any tools.\n- ONLY invoke tools when explicitly needed to inspect or modify the workspace as requested by the user.\n- NEVER create, write, or overwrite any files (including documentation, project summaries, or boilerplate) unless the user explicitly commanded you to create or modify that file in their prompt.\n- Do NOT create unsolicited files on your own initiative.\n- Always inspect existing code (with list_files, read_file, search_files) before editing. Keep edits focused, clean, and test-driven.\n- Do NOT invent tool names.\n- For anything that changes over time (weather, news, scores, prices, schedules, releases), call the web_search tool immediately with a clear query. Never fetch this with run_command, and never ask the user to look it up themselves. Answer with the facts and values only, in the fewest readable lines, without listing sources or URLs.";
36
+ export declare const DEFAULT_SYSTEM_PROMPT = "CRITICAL DIRECTIVE \u2014 EXTREME BREVITY (DEFAULT MODE):\n- Answer in 1 to 2 short sentences or under 35 words by default; provide more detail when the user asks for it.\n- Keep thinking concise by default; do not elaborate unless the user asks for more detail.\n- Zero conversational filler: Never output greetings, pleasantries, preambles (\"Sure\", \"Here is\", \"Certainly\", \"I'd be happy to\"), or sign-offs (\"Hope this helps\", \"Let me know\").\n- Never restate, rephrase, or echo the user's question before answering. Start immediately with the direct answer.\n- Zero markdown headers (no ## or ###), no bullet lists unless specifically requested, no conclusion sections.\n- For code, commands, or file edits: Output ONLY the raw code or command block. Do NOT explain what it does or how it works.\n- State only direct, factual answers. Do NOT provide unsolicited background, tips, or commentary.\n\nYou are Moderado, a lightweight, pragmatic, bloat-free AI coding agent.\nYou follow the Ponytail Decision Ladder: YAGNI, standard library first, zero unnecessary dependencies, and minimal code.\nUse the provided workspace tools to inspect, read, search, modify, and test files within the workspace.\n\nCORE OPERATIONAL RULES:\n- If the user prompt is a greeting, question, explanation request, or conversational query, output regular markdown text directly without calling any tools.\n- ONLY invoke tools when explicitly needed to inspect or modify the workspace as requested by the user.\n- NEVER create, write, or overwrite any files (including documentation, project summaries, or boilerplate) unless the user explicitly commanded you to create or modify that file in their prompt.\n- Do NOT create unsolicited files on your own initiative.\n- Always inspect existing code (with list_files, read_file, search_files) before editing. Keep edits focused, clean, and test-driven.\n- Do NOT invent tool names.\n- For anything that changes over time (weather, news, scores, prices, schedules, releases), call the web_search tool immediately with a clear query. Never fetch this with run_command, and never ask the user to look it up themselves. Answer with the facts and values only, in the fewest readable lines, without listing sources or URLs.";
36
37
  export declare function buildSystemPrompt(modelId: string, workspaceRoot: string, skillContext?: string): string;
37
38
  export declare function cleanConversationalFiller(text: string): string;
38
39
  export declare class AgentLoop {
@@ -1 +1 @@
1
- {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EAIjB,SAAS,EACT,WAAW,EACX,eAAe,EAEf,gBAAgB,EAChB,gBAAgB,EAChB,aAAa,EACb,mBAAmB,EAKnB,UAAU,EACX,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,MAAM,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAK5C,eAAO,MAAM,yBAAyB,OAAO,CAAC;AAE9C,MAAM,WAAW,eAAe;IAC9B,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,KAAK,EAAE,aAAa,CAAC;IACrB,eAAe,EAAE,gBAAgB,CAAC;IAClC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,YAAY,CAAC,EAAE,qBAAqB,CAAC;IACrC,aAAa,CAAC,EAAE,kBAAkB,CAAC;IACnC,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IACtC,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,mBAAmB,CAAC,EAAE,WAAW,EAAE,CAAC;IACpC,cAAc,CAAC,EAAE,mBAAmB,EAAE,CAAC;IACvC,kBAAkB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IACrF,mBAAmB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAC1G,wEAAwE;IACxE,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,wHAAwH;IACxH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,2EAA2E;IAC3E,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,WAAW,GAAG,oBAAoB,GAAG,WAAW,GAAG,QAAQ,CAAC;IACpE,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,aAAa,EAAE,eAAe,CAAC;IAC/B,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB;AAED,eAAO,MAAM,qBAAqB,4lEAmB6S,CAAC;AAEhV,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,CAMvG;AAED,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAmB9D;AA8BD,qBAAa,SAAS;IACd,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC;CAoqB3E"}
1
+ {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EAIjB,SAAS,EACT,WAAW,EACX,eAAe,EAEf,gBAAgB,EAChB,gBAAgB,EAChB,aAAa,EACb,mBAAmB,EAKnB,UAAU,EAEX,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,MAAM,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAK5C,eAAO,MAAM,yBAAyB,OAAO,CAAC;AAE9C,MAAM,WAAW,eAAe;IAC9B,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,KAAK,EAAE,aAAa,CAAC;IACrB,eAAe,EAAE,gBAAgB,CAAC;IAClC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,YAAY,CAAC,EAAE,qBAAqB,CAAC;IACrC,aAAa,CAAC,EAAE,kBAAkB,CAAC;IACnC,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IACtC,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,mBAAmB,CAAC,EAAE,WAAW,EAAE,CAAC;IACpC,cAAc,CAAC,EAAE,mBAAmB,EAAE,CAAC;IACvC,kBAAkB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IACrF,mBAAmB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAC1G,wEAAwE;IACxE,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,wHAAwH;IACxH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,2EAA2E;IAC3E,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,WAAW,GAAG,oBAAoB,GAAG,WAAW,GAAG,QAAQ,CAAC;IACpE,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,aAAa,EAAE,eAAe,CAAC;IAC/B,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB;AAED,eAAO,MAAM,qBAAqB,otEAoB6S,CAAC;AAEhV,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,CAMvG;AAED,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAmB9D;AA8BD,qBAAa,SAAS;IACd,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC;CAkwB3E"}
@@ -1,6 +1,7 @@
1
1
  import crypto from 'node:crypto';
2
+ import { setTimeout as sleep } from 'node:timers/promises';
2
3
  import { z } from 'zod';
3
- import { EmptyResponseError, ModelUnavailableError, RateLimitError, } from '../contracts/index.js';
4
+ import { EmptyResponseError, isRetryableProviderError, RateLimitError, } from '../contracts/index.js';
4
5
  import { Router } from './router.js';
5
6
  import { PolicyManager } from './policy.js';
6
7
  import { HostEventStream } from './host_event_stream.js';
@@ -8,7 +9,8 @@ import { SubagentDelegator } from './subagent.js';
8
9
  import { ThinkTagStreamFilter } from './think_filter.js';
9
10
  export const DEFAULT_MAX_OUTPUT_TOKENS = 4096;
10
11
  export const DEFAULT_SYSTEM_PROMPT = `CRITICAL DIRECTIVE — EXTREME BREVITY (DEFAULT MODE):
11
- - Extreme brevity is mandatory. Answer in 1 to 2 short sentences or under 35 words.
12
+ - Answer in 1 to 2 short sentences or under 35 words by default; provide more detail when the user asks for it.
13
+ - Keep thinking concise by default; do not elaborate unless the user asks for more detail.
12
14
  - Zero conversational filler: Never output greetings, pleasantries, preambles ("Sure", "Here is", "Certainly", "I'd be happy to"), or sign-offs ("Hope this helps", "Let me know").
13
15
  - Never restate, rephrase, or echo the user's question before answering. Start immediately with the direct answer.
14
16
  - Zero markdown headers (no ## or ###), no bullet lists unless specifically requested, no conclusion sections.
@@ -87,9 +89,27 @@ export class AgentLoop {
87
89
  const policy = options.policy ?? new PolicyManager();
88
90
  const router = options.router ?? new Router();
89
91
  const signal = options.signal;
90
- const delegator = new SubagentDelegator(options.workspaceRoot, options.tools, options.approvalHandler, (event) => emit(event), policy, options.onMutationApproved, options.onMutationCompleted);
92
+ let childUsage;
93
+ const delegator = new SubagentDelegator(options.workspaceRoot, options.tools, options.approvalHandler, (event) => {
94
+ if (event.type !== 'usage') {
95
+ emit(event);
96
+ return;
97
+ }
98
+ childUsage = event;
99
+ const usage = {
100
+ promptTokens: taskUsage.promptTokens + event.usage.promptTokens,
101
+ completionTokens: taskUsage.completionTokens + event.usage.completionTokens,
102
+ totalTokens: taskUsage.totalTokens + event.usage.totalTokens,
103
+ };
104
+ const generationMs = taskGenerationMs + event.generationMs;
105
+ emit({ ...event, usage, estimated: hasEstimatedUsage || event.estimated, generationMs,
106
+ outputTokensPerSecond: generationMs > 0 ? usage.completionTokens / (generationMs / 1000) : 0 });
107
+ }, policy, options.onMutationApproved, options.onMutationCompleted);
91
108
  let latestUsage;
92
- if (signal?.aborted) {
109
+ const taskUsage = { promptTokens: 0, completionTokens: 0, totalTokens: 0 };
110
+ let hasEstimatedUsage = false;
111
+ let taskGenerationMs = 0;
112
+ const cancelBeforeRouting = () => {
93
113
  emit({ type: 'cancellation', reason: 'Aborted by user', timestamp: Date.now() });
94
114
  return {
95
115
  status: 'cancelled',
@@ -108,7 +128,9 @@ export class AgentLoop {
108
128
  messages: options.conversationHistory ? [...options.conversationHistory] : [],
109
129
  usage: latestUsage,
110
130
  };
111
- }
131
+ };
132
+ if (signal?.aborted)
133
+ return cancelBeforeRouting();
112
134
  // 1. Model Discovery & Routing
113
135
  let inventory = options.modelInventory;
114
136
  if (!inventory || inventory.length === 0) {
@@ -117,6 +139,8 @@ export class AgentLoop {
117
139
  inventory = await options.provider.discoverModels(signal);
118
140
  }
119
141
  catch {
142
+ if (signal?.aborted)
143
+ return cancelBeforeRouting();
120
144
  // A pinned model can still be usable when its provider does not
121
145
  // expose a model catalogue. Continue without dynamic metadata.
122
146
  inventory = [{ id: options.routeOptions.pinnedModelId, object: 'model', owned_by: options.provider.id }];
@@ -130,9 +154,18 @@ export class AgentLoop {
130
154
  status: 'Discovering and selecting models...',
131
155
  timestamp: Date.now(),
132
156
  });
133
- inventory = await options.provider.discoverModels(signal);
157
+ try {
158
+ inventory = await options.provider.discoverModels(signal);
159
+ }
160
+ catch (error) {
161
+ if (signal?.aborted)
162
+ return cancelBeforeRouting();
163
+ throw error;
164
+ }
134
165
  }
135
166
  }
167
+ if (signal?.aborted)
168
+ return cancelBeforeRouting();
136
169
  const { selectedModel: initialModel, rankedCandidates } = router.selectModel(inventory, options.routeOptions);
137
170
  let currentModel = initialModel;
138
171
  emit({
@@ -170,6 +203,12 @@ export class AgentLoop {
170
203
  ];
171
204
  let step = 0;
172
205
  let finalAssistantText = null;
206
+ let attempt = 0;
207
+ const retryDelays = z.array(z.number().int().nonnegative().max(10000)).max(3).parse(options.retryDelaysMs ?? [250, 750]);
208
+ const cancelled = () => {
209
+ emit({ type: 'cancellation', reason: 'Aborted by user', timestamp: Date.now() });
210
+ return { status: 'cancelled', totalSteps: step, finalMessage: finalAssistantText, selectedModel: currentModel, messages, usage: latestUsage };
211
+ };
173
212
  while (policy.isStepWithinLimit(step)) {
174
213
  if (signal?.aborted) {
175
214
  emit({ type: 'cancellation', reason: 'Aborted by user', timestamp: Date.now() });
@@ -193,6 +232,33 @@ export class AgentLoop {
193
232
  // 3. Inference with Streaming
194
233
  let assistantText = '';
195
234
  const toolCallDeltas = new Map();
235
+ const estimatedInput = Math.ceil(JSON.stringify(messages).length / 4);
236
+ let outputCharacters = 0;
237
+ let requestUsage;
238
+ let generationStart;
239
+ let generationLastAt;
240
+ const publishUsage = (final) => {
241
+ const now = Date.now();
242
+ const generationEnd = final ? generationLastAt : now;
243
+ const generationMs = taskGenerationMs + (generationStart === undefined || generationEnd === undefined ? 0 : Math.max(0, generationEnd - generationStart));
244
+ const completionTokens = Math.ceil(outputCharacters / 4);
245
+ const current = requestUsage ?? { promptTokens: estimatedInput, completionTokens, totalTokens: estimatedInput + completionTokens };
246
+ const usage = {
247
+ promptTokens: taskUsage.promptTokens + current.promptTokens,
248
+ completionTokens: taskUsage.completionTokens + current.completionTokens,
249
+ totalTokens: taskUsage.totalTokens + current.totalTokens,
250
+ };
251
+ const estimated = hasEstimatedUsage || requestUsage === undefined;
252
+ emit({ type: 'usage', usage, estimated, generationMs,
253
+ outputTokensPerSecond: generationMs > 0 ? usage.completionTokens / (generationMs / 1000) : 0,
254
+ final, timestamp: now });
255
+ if (final) {
256
+ Object.assign(taskUsage, usage);
257
+ taskGenerationMs = generationMs;
258
+ hasEstimatedUsage = estimated;
259
+ latestUsage = estimated ? undefined : { ...usage };
260
+ }
261
+ };
196
262
  try {
197
263
  const stream = options.provider.streamChat({
198
264
  modelId: currentModel.id,
@@ -209,6 +275,7 @@ export class AgentLoop {
209
275
  const thinkFilter = new ThinkTagStreamFilter();
210
276
  for await (const chunk of stream) {
211
277
  if (signal?.aborted) {
278
+ publishUsage(true);
212
279
  emit({ type: 'cancellation', reason: 'Aborted by user', timestamp: Date.now() });
213
280
  return {
214
281
  status: 'cancelled',
@@ -219,6 +286,13 @@ export class AgentLoop {
219
286
  usage: latestUsage,
220
287
  };
221
288
  }
289
+ const toolCharacters = (chunk.toolCallChunks ?? []).reduce((count, delta) => count + (delta.argumentsDelta?.length ?? 0) + (delta.name?.length ?? 0), 0);
290
+ const generatedCharacters = (chunk.contentDelta?.length ?? 0) + (chunk.reasoningDelta?.length ?? 0) + toolCharacters;
291
+ if (generatedCharacters > 0) {
292
+ generationLastAt = Date.now();
293
+ generationStart ??= generationLastAt;
294
+ outputCharacters += generatedCharacters;
295
+ }
222
296
  if (chunk.reasoningDelta) {
223
297
  emit({
224
298
  type: 'reasoning_delta',
@@ -247,7 +321,7 @@ export class AgentLoop {
247
321
  }
248
322
  }
249
323
  if (chunk.usage) {
250
- latestUsage = chunk.usage;
324
+ requestUsage = chunk.usage;
251
325
  }
252
326
  if (chunk.toolCallChunks) {
253
327
  for (const delta of chunk.toolCallChunks) {
@@ -261,6 +335,12 @@ export class AgentLoop {
261
335
  toolCallDeltas.set(delta.index, current);
262
336
  }
263
337
  }
338
+ if (generatedCharacters > 0 || chunk.usage)
339
+ publishUsage(false);
340
+ }
341
+ if (signal?.aborted) {
342
+ publishUsage(true);
343
+ return cancelled();
264
344
  }
265
345
  for (const item of thinkFilter.flush()) {
266
346
  if (item.type === 'reasoning') {
@@ -281,9 +361,29 @@ export class AgentLoop {
281
361
  }
282
362
  }
283
363
  catch (err) {
364
+ publishUsage(true);
365
+ if (signal?.aborted)
366
+ return cancelled();
284
367
  // Handle transient errors & failover cascades in AUTO mode
285
- const isTransient = err instanceof RateLimitError || err instanceof ModelUnavailableError;
368
+ // Do not replay text that the user has already seen.
369
+ const isTransient = isRetryableProviderError(err) && assistantText.length === 0;
286
370
  const isAutoMode = !options.routeOptions?.pinnedModelId;
371
+ if (isTransient && attempt < retryDelays.length) {
372
+ const delay = retryDelays[attempt++];
373
+ emit({ type: 'progress', step, maxSteps: policy.maxSteps, status: `Retrying ${currentModel.id} in ${delay}ms...`, timestamp: Date.now() });
374
+ try {
375
+ if (delay > 0)
376
+ await sleep(delay, undefined, { signal });
377
+ }
378
+ catch (error) {
379
+ if (!signal?.aborted)
380
+ throw error;
381
+ }
382
+ if (signal?.aborted)
383
+ return cancelled();
384
+ step--;
385
+ continue;
386
+ }
287
387
  if (isTransient && isAutoMode) {
288
388
  const fallback = router.getNextFallback(rankedCandidates, currentModel.id);
289
389
  if (fallback) {
@@ -296,6 +396,7 @@ export class AgentLoop {
296
396
  timestamp: Date.now(),
297
397
  });
298
398
  currentModel = fallback;
399
+ attempt = 0;
299
400
  step--; // Retry current step without consuming step limit
300
401
  continue;
301
402
  }
@@ -310,12 +411,14 @@ export class AgentLoop {
310
411
  return {
311
412
  status: 'failed',
312
413
  totalSteps: step,
313
- finalMessage: null,
414
+ finalMessage: cleanConversationalFiller(assistantText) || finalAssistantText,
314
415
  selectedModel: currentModel,
315
416
  messages,
316
417
  usage: latestUsage,
317
418
  };
318
419
  }
420
+ publishUsage(true);
421
+ attempt = 0;
319
422
  finalAssistantText = cleanConversationalFiller(assistantText) || null;
320
423
  // 4. Assemble Completed Tool Calls
321
424
  const completedToolCalls = [];
@@ -454,7 +557,18 @@ export class AgentLoop {
454
557
  if (isSubagentCall && subagentTask) {
455
558
  const task = subagentTask;
456
559
  emit({ type: 'progress', step: -1, status: `Delegating sub-task: ${task.slice(0, 80)}...`, timestamp: Date.now() });
560
+ childUsage = undefined;
457
561
  const subagentResult = await delegator.delegate(task, options.provider, { maxSteps: 5, signal });
562
+ if (childUsage) {
563
+ // Child snapshots are cumulative: add only the last snapshot once.
564
+ const snapshot = childUsage;
565
+ taskUsage.promptTokens += snapshot.usage.promptTokens;
566
+ taskUsage.completionTokens += snapshot.usage.completionTokens;
567
+ taskUsage.totalTokens += snapshot.usage.totalTokens;
568
+ taskGenerationMs += snapshot.generationMs;
569
+ hasEstimatedUsage ||= snapshot.estimated;
570
+ latestUsage = hasEstimatedUsage ? undefined : { ...taskUsage };
571
+ }
458
572
  const subResultText = subagentResult.finalMessage ?? subagentResult.status;
459
573
  emit({
460
574
  type: 'assistant_delta',
@@ -1 +1 @@
1
- {"version":3,"file":"agent.js","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent.js","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"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"}
@@ -9,8 +9,8 @@ export declare function fetchProviderModels(baseUrl: string, apiKey: string | un
9
9
  signal?: AbortSignal;
10
10
  fetchImpl?: typeof fetch;
11
11
  }): Promise<ModelInventoryEntry[]>;
12
- /** True when the provider advertises zero prompt cost (decimal-string pricing). */
13
- export declare function isFreeModelEntry(entry: ModelInventoryEntry): boolean;
12
+ /** Require explicit zero input and output prices, with no other metered fees. */
13
+ export declare function isFreeModelEntry(entry: Pick<ModelInventoryEntry, 'pricing'>): boolean;
14
14
  export declare function fetchProviderFreeModels(baseUrl: string, apiKey: string | undefined, optionsOrSignal?: AbortSignal | {
15
15
  signal?: AbortSignal;
16
16
  fetchImpl?: typeof fetch;
@@ -1 +1 @@
1
- {"version":3,"file":"model_discovery.d.ts","sourceRoot":"","sources":["../src/model_discovery.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,EAGpB,MAAM,qBAAqB,CAAC;AAE7B,eAAO,MAAM,wBAAwB,IAAc,CAAC;AAEpD;;;;GAIG;AACH,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,eAAe,CAAC,EAAE,WAAW,GAAG;IAAE,MAAM,CAAC,EAAE,WAAW,CAAC;IAAC,SAAS,CAAC,EAAE,OAAO,KAAK,CAAA;CAAE,GACjF,OAAO,CAAC,mBAAmB,EAAE,CAAC,CA+ChC;AAED,mFAAmF;AACnF,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAEpE;AAED,wBAAsB,uBAAuB,CAC3C,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,eAAe,CAAC,EAAE,WAAW,GAAG;IAAE,MAAM,CAAC,EAAE,WAAW,CAAC;IAAC,SAAS,CAAC,EAAE,OAAO,KAAK,CAAA;CAAE,GACjF,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAGhC;AAKD;;;;GAIG;AACH,wBAAsB,yBAAyB,CAC7C,OAAO,GAAE;IAAE,MAAM,CAAC,EAAE,WAAW,CAAC;IAAC,SAAS,CAAC,EAAE,OAAO,KAAK,CAAA;CAAO,GAC/D,OAAO,CAAC,mBAAmB,EAAE,CAAC,CA0ChC;AAED,iEAAiE;AACjE,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,mBAAmB,EAAE,GAAG;IACnE,IAAI,EAAE,mBAAmB,EAAE,CAAC;IAC5B,IAAI,EAAE,mBAAmB,EAAE,CAAC;CAC7B,CAOA"}
1
+ {"version":3,"file":"model_discovery.d.ts","sourceRoot":"","sources":["../src/model_discovery.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,EAGpB,MAAM,qBAAqB,CAAC;AAE7B,eAAO,MAAM,wBAAwB,IAAc,CAAC;AAEpD;;;;GAIG;AACH,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,eAAe,CAAC,EAAE,WAAW,GAAG;IAAE,MAAM,CAAC,EAAE,WAAW,CAAC;IAAC,SAAS,CAAC,EAAE,OAAO,KAAK,CAAA;CAAE,GACjF,OAAO,CAAC,mBAAmB,EAAE,CAAC,CA+ChC;AAED,iFAAiF;AACjF,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,IAAI,CAAC,mBAAmB,EAAE,SAAS,CAAC,GAAG,OAAO,CAIrF;AAED,wBAAsB,uBAAuB,CAC3C,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,eAAe,CAAC,EAAE,WAAW,GAAG;IAAE,MAAM,CAAC,EAAE,WAAW,CAAC;IAAC,SAAS,CAAC,EAAE,OAAO,KAAK,CAAA;CAAE,GACjF,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAGhC;AAKD;;;;GAIG;AACH,wBAAsB,yBAAyB,CAC7C,OAAO,GAAE;IAAE,MAAM,CAAC,EAAE,WAAW,CAAC;IAAC,SAAS,CAAC,EAAE,OAAO,KAAK,CAAA;CAAO,GAC/D,OAAO,CAAC,mBAAmB,EAAE,CAAC,CA0ChC;AAED,iEAAiE;AACjE,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,mBAAmB,EAAE,GAAG;IACnE,IAAI,EAAE,mBAAmB,EAAE,CAAC;IAC5B,IAAI,EAAE,mBAAmB,EAAE,CAAC;CAC7B,CAOA"}
@@ -47,9 +47,11 @@ export async function fetchProviderModels(baseUrl, apiKey, optionsOrSignal) {
47
47
  }
48
48
  return results;
49
49
  }
50
- /** True when the provider advertises zero prompt cost (decimal-string pricing). */
50
+ /** Require explicit zero input and output prices, with no other metered fees. */
51
51
  export function isFreeModelEntry(entry) {
52
- return entry.pricing?.['prompt'] === '0';
52
+ const pricing = entry.pricing;
53
+ return pricing?.prompt !== undefined && pricing.completion !== undefined
54
+ && Object.values(pricing).every((price) => price.trim() !== '' && Number.isFinite(Number(price)) && Number(price) === 0);
53
55
  }
54
56
  export async function fetchProviderFreeModels(baseUrl, apiKey, optionsOrSignal) {
55
57
  const models = await fetchProviderModels(baseUrl, apiKey, optionsOrSignal);
@@ -1 +1 @@
1
- {"version":3,"file":"model_discovery.js","sourceRoot":"","sources":["../src/model_discovery.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,yBAAyB,EACzB,aAAa,GACd,MAAM,qBAAqB,CAAC;AAE7B,MAAM,CAAC,MAAM,wBAAwB,GAAG,EAAW,CAAC;AAEpD;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,OAAe,EACf,MAA0B,EAC1B,eAAkF;IAElF,MAAM,MAAM,GAAG,eAAe,YAAY,WAAW,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,eAAe,EAAE,MAAM,CAAC;IAClG,MAAM,OAAO,GAAG,CAAC,CAAC,CAAC,eAAe,YAAY,WAAW,CAAC,IAAI,eAAe,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC;IAC9H,MAAM,GAAG,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,SAAS,CAAC;IACpD,IAAI,QAAkB,CAAC;IACvB,IAAI,CAAC;QACH,QAAQ,GAAG,MAAM,OAAO,CAAC,GAAG,EAAE;YAC5B,MAAM,EAAE,KAAK;YACb,OAAO,EAAE;gBACP,MAAM,EAAE,kBAAkB;gBAC1B,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,UAAU,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACzD;YACD,MAAM;SACP,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,MAAM,EAAE,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;QACtE,MAAM,IAAI,aAAa,CACrB,kCAAkC,GAAG,KAAK,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAC5F,mBAAmB,CACpB,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,IAAI,aAAa,CACrB,sCAAsC,QAAQ,CAAC,MAAM,OAAO,GAAG,EAAE,EACjE,gBAAgB,EAChB,QAAQ,CAAC,MAAM,CAChB,CAAC;IACJ,CAAC;IACD,IAAI,IAAa,CAAC;IAClB,IAAI,CAAC;QACH,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IAC/B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,aAAa,CACrB,oCAAoC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EACtF,wBAAwB,CACzB,CAAC;IACJ,CAAC;IACD,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAE,IAA6B,EAAE,IAAI,CAAC;IACpF,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;QAC9B,MAAM,IAAI,aAAa,CAAC,kDAAkD,EAAE,wBAAwB,CAAC,CAAC;IACxG,CAAC;IACD,MAAM,OAAO,GAA0B,EAAE,CAAC;IAC1C,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;QAC7B,MAAM,MAAM,GAAG,yBAAyB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACzD,IAAI,MAAM,CAAC,OAAO;YAAE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAChD,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,mFAAmF;AACnF,MAAM,UAAU,gBAAgB,CAAC,KAA0B;IACzD,OAAO,KAAK,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,KAAK,GAAG,CAAC;AAC3C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,OAAe,EACf,MAA0B,EAC1B,eAAkF;IAElF,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,eAAe,CAAC,CAAC;IAC3E,OAAO,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;AACzC,CAAC;AAGD,MAAM,qBAAqB,GAAG,qCAAqC,CAAC;AAEpE;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAC7C,UAA8D,EAAE;IAEhE,MAAM,OAAO,GAAG,OAAO,CAAC,SAAS,IAAI,KAAK,CAAC;IAC3C,IAAI,QAAkB,CAAC;IACvB,IAAI,CAAC;QACH,QAAQ,GAAG,MAAM,OAAO,CAAC,qBAAqB,EAAE;YAC9C,MAAM,EAAE,KAAK;YACb,OAAO,EAAE,EAAE,MAAM,EAAE,kBAAkB,EAAE;YACvC,MAAM,EAAE,OAAO,CAAC,MAAM;SACvB,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,OAAO,CAAC,MAAM,EAAE,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;QAC9E,MAAM,IAAI,aAAa,CACrB,kCAAkC,qBAAqB,KAAK,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAC9G,mBAAmB,CACpB,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,IAAI,aAAa,CACrB,iDAAiD,QAAQ,CAAC,MAAM,EAAE,EAClE,gBAAgB,EAChB,QAAQ,CAAC,MAAM,CAChB,CAAC;IACJ,CAAC;IACD,IAAI,IAAa,CAAC;IAClB,IAAI,CAAC;QACH,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IAC/B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,aAAa,CACrB,+CAA+C,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EACjG,wBAAwB,CACzB,CAAC;IACJ,CAAC;IACD,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAE,IAA6B,EAAE,IAAI,CAAC;IACpF,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;QAC9B,MAAM,IAAI,aAAa,CAAC,6DAA6D,EAAE,wBAAwB,CAAC,CAAC;IACnH,CAAC;IACD,MAAM,IAAI,GAA0B,EAAE,CAAC;IACvC,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;QAC7B,MAAM,MAAM,GAAG,yBAAyB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACzD,IAAI,MAAM,CAAC,OAAO,IAAI,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC;YAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC9E,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,iEAAiE;AACjE,MAAM,UAAU,mBAAmB,CAAC,OAA8B;IAIhE,MAAM,IAAI,GAA0B,EAAE,CAAC;IACvC,MAAM,IAAI,GAA0B,EAAE,CAAC;IACvC,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACtD,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;AACxB,CAAC"}
1
+ {"version":3,"file":"model_discovery.js","sourceRoot":"","sources":["../src/model_discovery.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"nvidia_adapter.d.ts","sourceRoot":"","sources":["../../src/nvidia/nvidia_adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,mBAAmB,EACnB,gBAAgB,EAChB,mBAAmB,EAGnB,mBAAmB,EAGpB,MAAM,qBAAqB,CAAC;AAG7B,MAAM,WAAW,mBAAmB;IAClC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,6EAA6E;IAC7E,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,qBAAa,aAAc,YAAW,gBAAgB;IACpD,SAAgB,EAAE,EAAE,MAAM,CAAC;IAC3B,SAAgB,IAAI,EAAE,MAAM,CAAC;IAE7B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,eAAe,CAAsC;IAC7D,OAAO,CAAC,cAAc,CAAK;IAC3B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAkB;gBAEjC,MAAM,GAAE,mBAAwB;IAO5C,OAAO,CAAC,UAAU;IAYZ,cAAc,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,YAAY,UAAQ,GAAG,OAAO,CAAC,mBAAmB,EAAE,CAAC;IAkDzF,UAAU,CAAC,OAAO,EAAE,mBAAmB,GAAG,aAAa,CAAC,mBAAmB,CAAC;YA4FrE,eAAe;CA0D9B"}
1
+ {"version":3,"file":"nvidia_adapter.d.ts","sourceRoot":"","sources":["../../src/nvidia/nvidia_adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,mBAAmB,EACnB,gBAAgB,EAChB,mBAAmB,EAGnB,mBAAmB,EAGpB,MAAM,qBAAqB,CAAC;AAG7B,MAAM,WAAW,mBAAmB;IAClC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,6EAA6E;IAC7E,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,qBAAa,aAAc,YAAW,gBAAgB;IACpD,SAAgB,EAAE,EAAE,MAAM,CAAC;IAC3B,SAAgB,IAAI,EAAE,MAAM,CAAC;IAE7B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,eAAe,CAAsC;IAC7D,OAAO,CAAC,cAAc,CAAK;IAC3B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAkB;gBAEjC,MAAM,GAAE,mBAAwB;IAO5C,OAAO,CAAC,UAAU;IAYZ,cAAc,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,YAAY,UAAQ,GAAG,OAAO,CAAC,mBAAmB,EAAE,CAAC;IAkDzF,UAAU,CAAC,OAAO,EAAE,mBAAmB,GAAG,aAAa,CAAC,mBAAmB,CAAC;YA6FrE,eAAe;CA0D9B"}
@@ -107,6 +107,7 @@ export class NvidiaAdapter {
107
107
  model: options.modelId,
108
108
  messages: wireMessages,
109
109
  stream: true,
110
+ stream_options: { include_usage: true },
110
111
  };
111
112
  if (options.tools && options.tools.length > 0) {
112
113
  payload.tools = options.tools.map((t) => ({