@calliopelabs/cli 3.7.0 → 3.8.1

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 (259) hide show
  1. package/README.md +31 -0
  2. package/dist/acp.d.ts.map +1 -1
  3. package/dist/acp.js +2 -0
  4. package/dist/acp.js.map +1 -1
  5. package/dist/approvals/request.d.ts.map +1 -1
  6. package/dist/approvals/request.js +10 -0
  7. package/dist/approvals/request.js.map +1 -1
  8. package/dist/auth/chatgpt/fallback.d.ts +31 -0
  9. package/dist/auth/chatgpt/fallback.d.ts.map +1 -0
  10. package/dist/auth/chatgpt/fallback.js +111 -0
  11. package/dist/auth/chatgpt/fallback.js.map +1 -0
  12. package/dist/auth/chatgpt/index.d.ts +6 -0
  13. package/dist/auth/chatgpt/index.d.ts.map +1 -0
  14. package/dist/auth/chatgpt/index.js +6 -0
  15. package/dist/auth/chatgpt/index.js.map +1 -0
  16. package/dist/auth/chatgpt/login.d.ts +4 -0
  17. package/dist/auth/chatgpt/login.d.ts.map +1 -0
  18. package/dist/auth/chatgpt/login.js +82 -0
  19. package/dist/auth/chatgpt/login.js.map +1 -0
  20. package/dist/auth/chatgpt/protocol.d.ts +24 -0
  21. package/dist/auth/chatgpt/protocol.d.ts.map +1 -0
  22. package/dist/auth/chatgpt/protocol.js +71 -0
  23. package/dist/auth/chatgpt/protocol.js.map +1 -0
  24. package/dist/auth/chatgpt/session.d.ts +24 -0
  25. package/dist/auth/chatgpt/session.d.ts.map +1 -0
  26. package/dist/auth/chatgpt/session.js +101 -0
  27. package/dist/auth/chatgpt/session.js.map +1 -0
  28. package/dist/auth/chatgpt/store.d.ts +28 -0
  29. package/dist/auth/chatgpt/store.d.ts.map +1 -0
  30. package/dist/auth/chatgpt/store.js +75 -0
  31. package/dist/auth/chatgpt/store.js.map +1 -0
  32. package/dist/auth/cli.d.ts +2 -0
  33. package/dist/auth/cli.d.ts.map +1 -0
  34. package/dist/auth/cli.js +38 -0
  35. package/dist/auth/cli.js.map +1 -0
  36. package/dist/auth/index.d.ts +2 -0
  37. package/dist/auth/index.d.ts.map +1 -0
  38. package/dist/auth/index.js +2 -0
  39. package/dist/auth/index.js.map +1 -0
  40. package/dist/bin.d.ts.map +1 -1
  41. package/dist/bin.js +50 -3
  42. package/dist/bin.js.map +1 -1
  43. package/dist/brain/exchange.d.ts.map +1 -1
  44. package/dist/brain/exchange.js +3 -1
  45. package/dist/brain/exchange.js.map +1 -1
  46. package/dist/brain/kg-export.d.ts +1 -1
  47. package/dist/brain/kg.d.ts +1 -1
  48. package/dist/brain/kg.d.ts.map +1 -1
  49. package/dist/brain/kg.js +3 -1
  50. package/dist/brain/kg.js.map +1 -1
  51. package/dist/build-metadata.json +1 -1
  52. package/dist/config.d.ts +13 -0
  53. package/dist/config.d.ts.map +1 -1
  54. package/dist/config.js +10 -2
  55. package/dist/config.js.map +1 -1
  56. package/dist/delegation/claude.d.ts +28 -0
  57. package/dist/delegation/claude.d.ts.map +1 -0
  58. package/dist/delegation/claude.js +107 -0
  59. package/dist/delegation/claude.js.map +1 -0
  60. package/dist/delegation/index.d.ts +2 -0
  61. package/dist/delegation/index.d.ts.map +1 -0
  62. package/dist/delegation/index.js +2 -0
  63. package/dist/delegation/index.js.map +1 -0
  64. package/dist/execution/attribution.d.ts +3 -0
  65. package/dist/execution/attribution.d.ts.map +1 -1
  66. package/dist/execution/attribution.js.map +1 -1
  67. package/dist/execution/authority.d.ts +18 -4
  68. package/dist/execution/authority.d.ts.map +1 -1
  69. package/dist/execution/authority.js +66 -12
  70. package/dist/execution/authority.js.map +1 -1
  71. package/dist/execution/child-grants.js +4 -1
  72. package/dist/execution/child-grants.js.map +1 -1
  73. package/dist/execution/delegated.d.ts.map +1 -1
  74. package/dist/execution/delegated.js +5 -2
  75. package/dist/execution/delegated.js.map +1 -1
  76. package/dist/execution/guard.d.ts.map +1 -1
  77. package/dist/execution/guard.js +7 -3
  78. package/dist/execution/guard.js.map +1 -1
  79. package/dist/execution/ledger-cli.d.ts.map +1 -1
  80. package/dist/execution/ledger-cli.js +9 -7
  81. package/dist/execution/ledger-cli.js.map +1 -1
  82. package/dist/execution/ledger-protocol.d.ts +1 -1
  83. package/dist/execution/ledger-protocol.d.ts.map +1 -1
  84. package/dist/execution/ledger-protocol.js +1 -1
  85. package/dist/execution/ledger-protocol.js.map +1 -1
  86. package/dist/execution/ledger-server.d.ts +11 -1
  87. package/dist/execution/ledger-server.d.ts.map +1 -1
  88. package/dist/execution/ledger-server.js +65 -4
  89. package/dist/execution/ledger-server.js.map +1 -1
  90. package/dist/execution/ledger.d.ts +2 -0
  91. package/dist/execution/ledger.d.ts.map +1 -1
  92. package/dist/execution/ledger.js +46 -12
  93. package/dist/execution/ledger.js.map +1 -1
  94. package/dist/execution/parent-budget.d.ts +25 -3
  95. package/dist/execution/parent-budget.d.ts.map +1 -1
  96. package/dist/execution/parent-budget.js +126 -4
  97. package/dist/execution/parent-budget.js.map +1 -1
  98. package/dist/execution/parent-uncertainty.d.ts +3 -0
  99. package/dist/execution/parent-uncertainty.d.ts.map +1 -0
  100. package/dist/execution/parent-uncertainty.js +6 -0
  101. package/dist/execution/parent-uncertainty.js.map +1 -0
  102. package/dist/execution/portable-identity.d.ts +15 -0
  103. package/dist/execution/portable-identity.d.ts.map +1 -0
  104. package/dist/execution/portable-identity.js +80 -0
  105. package/dist/execution/portable-identity.js.map +1 -0
  106. package/dist/execution/quote.d.ts +1 -1
  107. package/dist/execution/quote.d.ts.map +1 -1
  108. package/dist/execution/quote.js +4 -2
  109. package/dist/execution/quote.js.map +1 -1
  110. package/dist/execution/remote-checkpoint.d.ts.map +1 -1
  111. package/dist/execution/remote-checkpoint.js +23 -16
  112. package/dist/execution/remote-checkpoint.js.map +1 -1
  113. package/dist/execution/remote-ledger.d.ts +20 -0
  114. package/dist/execution/remote-ledger.d.ts.map +1 -1
  115. package/dist/execution/remote-ledger.js +93 -14
  116. package/dist/execution/remote-ledger.js.map +1 -1
  117. package/dist/execution/types.d.ts +30 -2
  118. package/dist/execution/types.d.ts.map +1 -1
  119. package/dist/execution/types.js.map +1 -1
  120. package/dist/headless.d.ts +27 -1
  121. package/dist/headless.d.ts.map +1 -1
  122. package/dist/headless.js +107 -7
  123. package/dist/headless.js.map +1 -1
  124. package/dist/health/target.d.ts +11 -0
  125. package/dist/health/target.d.ts.map +1 -1
  126. package/dist/health/target.js +48 -21
  127. package/dist/health/target.js.map +1 -1
  128. package/dist/improvement/cli.d.ts +1 -1
  129. package/dist/improvement/cli.d.ts.map +1 -1
  130. package/dist/improvement/cli.js +4 -4
  131. package/dist/improvement/cli.js.map +1 -1
  132. package/dist/improvement/host-capabilities.d.ts +134 -1
  133. package/dist/improvement/host-capabilities.d.ts.map +1 -1
  134. package/dist/improvement/host-capabilities.js +8 -1
  135. package/dist/improvement/host-capabilities.js.map +1 -1
  136. package/dist/improvement/index.d.ts +2 -0
  137. package/dist/improvement/index.d.ts.map +1 -1
  138. package/dist/improvement/index.js +2 -0
  139. package/dist/improvement/index.js.map +1 -1
  140. package/dist/improvement/task-feedback-contract.d.ts +41 -0
  141. package/dist/improvement/task-feedback-contract.d.ts.map +1 -0
  142. package/dist/improvement/task-feedback-contract.js +83 -0
  143. package/dist/improvement/task-feedback-contract.js.map +1 -0
  144. package/dist/improvement/task-feedback.d.ts +149 -0
  145. package/dist/improvement/task-feedback.d.ts.map +1 -0
  146. package/dist/improvement/task-feedback.js +117 -0
  147. package/dist/improvement/task-feedback.js.map +1 -0
  148. package/dist/improvement/task-outcomes.d.ts +2 -2
  149. package/dist/improvement/task-outcomes.d.ts.map +1 -1
  150. package/dist/improvement/task-outcomes.js +2 -3
  151. package/dist/improvement/task-outcomes.js.map +1 -1
  152. package/dist/model-detection.d.ts +0 -5
  153. package/dist/model-detection.d.ts.map +1 -1
  154. package/dist/model-detection.js +5 -5
  155. package/dist/model-detection.js.map +1 -1
  156. package/dist/orchestration/coordinator-types.d.ts +15 -2
  157. package/dist/orchestration/coordinator-types.d.ts.map +1 -1
  158. package/dist/orchestration/coordinator.d.ts.map +1 -1
  159. package/dist/orchestration/coordinator.js +18 -3
  160. package/dist/orchestration/coordinator.js.map +1 -1
  161. package/dist/orchestration/execution-journal.d.ts.map +1 -1
  162. package/dist/orchestration/execution-journal.js +51 -6
  163. package/dist/orchestration/execution-journal.js.map +1 -1
  164. package/dist/orchestration/execution-store.js +1 -1
  165. package/dist/orchestration/execution-store.js.map +1 -1
  166. package/dist/orchestration/execution.d.ts +3 -1
  167. package/dist/orchestration/execution.d.ts.map +1 -1
  168. package/dist/orchestration/execution.js +1 -1
  169. package/dist/orchestration/execution.js.map +1 -1
  170. package/dist/orchestration/index.d.ts +1 -0
  171. package/dist/orchestration/index.d.ts.map +1 -1
  172. package/dist/orchestration/index.js +1 -0
  173. package/dist/orchestration/index.js.map +1 -1
  174. package/dist/orchestration/remote-task-capacity.d.ts +31 -0
  175. package/dist/orchestration/remote-task-capacity.d.ts.map +1 -0
  176. package/dist/orchestration/remote-task-capacity.js +83 -0
  177. package/dist/orchestration/remote-task-capacity.js.map +1 -0
  178. package/dist/orchestration/reviewed-ledger.d.ts +58 -0
  179. package/dist/orchestration/reviewed-ledger.d.ts.map +1 -1
  180. package/dist/orchestration/reviewed-ledger.js +66 -10
  181. package/dist/orchestration/reviewed-ledger.js.map +1 -1
  182. package/dist/orchestration/routing.d.ts +2 -0
  183. package/dist/orchestration/routing.d.ts.map +1 -1
  184. package/dist/orchestration/routing.js +10 -1
  185. package/dist/orchestration/routing.js.map +1 -1
  186. package/dist/orchestration/task-configuration.d.ts +8 -0
  187. package/dist/orchestration/task-configuration.d.ts.map +1 -0
  188. package/dist/orchestration/task-configuration.js +23 -0
  189. package/dist/orchestration/task-configuration.js.map +1 -0
  190. package/dist/providers/anthropic.d.ts.map +1 -1
  191. package/dist/providers/anthropic.js +17 -1
  192. package/dist/providers/anthropic.js.map +1 -1
  193. package/dist/providers/bedrock.d.ts.map +1 -1
  194. package/dist/providers/bedrock.js +16 -1
  195. package/dist/providers/bedrock.js.map +1 -1
  196. package/dist/providers/chatgpt.d.ts +11 -0
  197. package/dist/providers/chatgpt.d.ts.map +1 -0
  198. package/dist/providers/chatgpt.js +156 -0
  199. package/dist/providers/chatgpt.js.map +1 -0
  200. package/dist/providers/compat.d.ts.map +1 -1
  201. package/dist/providers/compat.js +33 -16
  202. package/dist/providers/compat.js.map +1 -1
  203. package/dist/providers/index.d.ts +0 -5
  204. package/dist/providers/index.d.ts.map +1 -1
  205. package/dist/providers/index.js +10 -2
  206. package/dist/providers/index.js.map +1 -1
  207. package/dist/providers/openai.d.ts +1 -1
  208. package/dist/providers/openai.d.ts.map +1 -1
  209. package/dist/providers/openai.js +24 -11
  210. package/dist/providers/openai.js.map +1 -1
  211. package/dist/providers/types.d.ts +5 -0
  212. package/dist/providers/types.d.ts.map +1 -1
  213. package/dist/providers/types.js.map +1 -1
  214. package/dist/routing/select.d.ts.map +1 -1
  215. package/dist/routing/select.js +20 -1
  216. package/dist/routing/select.js.map +1 -1
  217. package/dist/runlog.d.ts +3 -1
  218. package/dist/runlog.d.ts.map +1 -1
  219. package/dist/runlog.js.map +1 -1
  220. package/dist/runtime/permissions.d.ts.map +1 -1
  221. package/dist/runtime/permissions.js +1 -0
  222. package/dist/runtime/permissions.js.map +1 -1
  223. package/dist/runtime/turn.d.ts +12 -1
  224. package/dist/runtime/turn.d.ts.map +1 -1
  225. package/dist/runtime/turn.js +109 -19
  226. package/dist/runtime/turn.js.map +1 -1
  227. package/dist/sessions/execution-binding.d.ts +8 -3
  228. package/dist/sessions/execution-binding.d.ts.map +1 -1
  229. package/dist/sessions/execution-binding.js +13 -3
  230. package/dist/sessions/execution-binding.js.map +1 -1
  231. package/dist/supervision/runtime.d.ts.map +1 -1
  232. package/dist/supervision/runtime.js +10 -3
  233. package/dist/supervision/runtime.js.map +1 -1
  234. package/dist/types.d.ts +3 -0
  235. package/dist/types.d.ts.map +1 -1
  236. package/dist/types.js.map +1 -1
  237. package/dist/ui/agent.d.ts.map +1 -1
  238. package/dist/ui/agent.js +4 -0
  239. package/dist/ui/agent.js.map +1 -1
  240. package/dist/ui/components.d.ts.map +1 -1
  241. package/dist/ui/components.js +3 -5
  242. package/dist/ui/components.js.map +1 -1
  243. package/dist/ui/frame.js +3 -3
  244. package/dist/ui/frame.js.map +1 -1
  245. package/dist/ui/modals/tool-output.d.ts.map +1 -1
  246. package/dist/ui/modals/tool-output.js +5 -6
  247. package/dist/ui/modals/tool-output.js.map +1 -1
  248. package/dist/ui/state/use-terminal-width.d.ts.map +1 -1
  249. package/dist/ui/state/use-terminal-width.js +2 -13
  250. package/dist/ui/state/use-terminal-width.js.map +1 -1
  251. package/docs/chatgpt-plan.md +109 -0
  252. package/docs/claude-plan.md +58 -0
  253. package/docs/delegation-ledger.md +180 -5
  254. package/docs/improvement-cycles.md +5 -0
  255. package/docs/releases/3.8.0.md +65 -0
  256. package/docs/releases/3.8.1.md +40 -0
  257. package/docs/reviewed-provider-metadata.md +84 -0
  258. package/docs/task-feedback.md +77 -0
  259. package/package.json +20 -11
@@ -1 +1 @@
1
- {"version":3,"file":"permissions.js","sourceRoot":"","sources":["../../src/runtime/permissions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"permissions.js","sourceRoot":"","sources":["../../src/runtime/permissions.ts"],"names":[],"mappings":"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"}
@@ -18,7 +18,9 @@ export interface RuntimeRequest {
18
18
  tools: Tool[];
19
19
  route?: RouteCandidate;
20
20
  }
21
- export type TurnReason = 'completed' | 'cancelled' | 'budget' | 'iteration_limit' | 'length' | 'waiting_for_user' | 'stopped';
21
+ export type TurnReason = 'completed' | 'cancelled' | 'budget' | 'iteration_limit' | 'length' | 'empty_response' | 'waiting_for_user' | 'stopped';
22
+ /** Consecutive truncated or empty replies a `continueOnLength` turn recovers from before giving up. */
23
+ export declare const MAX_CONSECUTIVE_CONTINUATIONS = 3;
22
24
  export interface TurnTotals {
23
25
  inputTokens: number;
24
26
  outputTokens: number;
@@ -54,6 +56,8 @@ export interface TurnOptions {
54
56
  maxRetries?: number;
55
57
  parallel?: boolean;
56
58
  continueOnLength?: boolean;
59
+ /** Per-invocation run cost cap (USD); tightens, never loosens, configured `budget.maxCostPerRun`. */
60
+ maxCostPerRun?: number;
57
61
  /** Bound provider transport retries independently from tool/turn retries. */
58
62
  maxProviderRetries?: number;
59
63
  inheritScope?: boolean;
@@ -71,6 +75,13 @@ export interface TurnOptions {
71
75
  onStreamReset?: () => void;
72
76
  onStreamEvent?: ChatOptions['onStreamEvent'];
73
77
  onUsage?: (response: LLMResponse, request: RuntimeRequest, cost: number) => void;
78
+ /** Called each time a `continueOnLength` turn asks the model to continue after a truncated or empty reply. */
79
+ onContinue?: (event: {
80
+ reason: 'length' | 'empty';
81
+ attempt: number;
82
+ max: number;
83
+ iteration: number;
84
+ }) => void;
74
85
  onResponse?: (response: LLMResponse, iteration: number) => void | 'stop' | Promise<void | 'stop'>;
75
86
  onRepair?: (event: RepairEvent) => void;
76
87
  onToolStart?: (call: ToolCall, iteration: number) => void | Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"turn.d.ts","sourceRoot":"","sources":["../../src/runtime/turn.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"turn.d.ts","sourceRoot":"","sources":["../../src/runtime/turn.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,5 @@
1
+ import { chatGPTSelected } from '../providers/chatgpt.js';
2
+ import { ChatGPTStore, ChatGPTAuthError, ChatGPTQuotaError, fallbackPolicy, fallbackHistory, publicFallbackHistory, quotaCircuit, withAPIKeyAccess } from '../auth/chatgpt/index.js';
1
3
  /** One model/tool turn engine. Clients adapt context, presentation and approval. */
2
4
  import { chat } from '../providers/index.js';
3
5
  import { executeTool, getTools } from '../tools.js';
@@ -13,6 +15,7 @@ import { resolveIterationLimit } from '../iteration-limit.js';
13
15
  import { getBudgetCaps, evaluateBudget, hasBudgetCaps, loadProjectSpend, formatBudgetHalt } from '../budget.js';
14
16
  import { RunLog } from '../runlog.js';
15
17
  import * as config from '../config.js';
18
+ import { isDeclaredPrivate } from '../health/target.js';
16
19
  import { executeHooks } from '../hooks.js';
17
20
  import { resolvePermission } from './permissions.js';
18
21
  import { repairToolCalls } from './repair.js';
@@ -24,6 +27,8 @@ import { StreamInterruptedError, StreamProtocolError, ProviderRefusalError } fro
24
27
  import { ExecutionGuard, ExecutionLimitError, agentFiles, projectAttemptBudget } from '../execution/index.js';
25
28
  import { randomUUID } from 'node:crypto';
26
29
  import { assertExecutionBinding } from '../execution/delegated.js';
30
+ /** Consecutive truncated or empty replies a `continueOnLength` turn recovers from before giving up. */
31
+ export const MAX_CONSECUTIVE_CONTINUATIONS = 3;
27
32
  function contextResult(call, result, limit, answeredQuestion = false) {
28
33
  if (!result.isError && call.name === 'ask_question' && !answeredQuestion)
29
34
  return '[Waiting for user response. The user will reply with their answer.]';
@@ -76,7 +81,9 @@ async function executeTurn(options, guard) {
76
81
  const started = Date.now();
77
82
  const totals = { inputTokens: 0, outputTokens: 0, cost: 0, toolCalls: 0, durationMs: 0 };
78
83
  const runlog = options.runlog ?? RunLog.open(options.sessionId);
79
- const caps = getBudgetCaps();
84
+ const configuredCaps = getBudgetCaps();
85
+ const caps = options.maxCostPerRun === undefined ? configuredCaps
86
+ : { ...configuredCaps, maxCostPerRun: Math.min(configuredCaps.maxCostPerRun ?? Infinity, options.maxCostPerRun) };
80
87
  const trackProject = typeof caps.maxCostPerProject === 'number';
81
88
  const projectRunId = guard?.manifest.runId ?? randomUUID();
82
89
  const seenWarnings = new Set();
@@ -102,15 +109,38 @@ async function executeTurn(options, guard) {
102
109
  };
103
110
  let currentRequest = { provider: options.provider, model: options.model || DEFAULT_MODELS[options.provider], messages: messages.current, tools: [] };
104
111
  const origin = { provider: options.provider, model: options.model };
112
+ let paidFallback;
113
+ const activateFallback = async () => {
114
+ throwIfCancelled(signal);
115
+ if (config.get('routing')?.dataPolicy === 'private' && !withAPIKeyAccess(() => isDeclaredPrivate('openai'))) {
116
+ const reason = 'outside-private-policy: the OpenAI API-key target is not declared in routing.privateTargets; paid fallback refused.';
117
+ runlog.policyEvent({ tool: 'provider', source: 'chatgpt-fallback', decision: 'deny', reason, durationMs: 0 });
118
+ throw new ExecutionLimitError('authority', reason);
119
+ }
120
+ const policy = fallbackPolicy(), account = new ChatGPTStore().active();
121
+ if (!policy || !chatGPTSelected() || !account?.accessToken || !config.getApiKey('openai'))
122
+ throw new ChatGPTAuthError('ChatGPT quota reached; paid fallback requires an enabled policy, the same signed-in account and an OpenAI API key.');
123
+ if (guard || options.smart)
124
+ throw new ExecutionLimitError('authority', 'Reviewed execution cannot change billing targets automatically. Review an API-key run explicitly.');
125
+ const converted = publicFallbackHistory(messages.current, account.clientId, policy.model);
126
+ paidFallback = { policy, clientId: account.clientId };
127
+ messages.current = converted;
128
+ currentRequest = { ...currentRequest, provider: 'openai', model: policy.model, messages: converted, route: undefined };
129
+ await checkpoint('active');
130
+ const notice = `ChatGPT fallback: this session uses paid OpenAI API-key access (${policy.model}); shared project cap $${policy.maxProjectCostUsd}.`;
131
+ runlog.policyEvent({ tool: 'provider', source: 'chatgpt-fallback', decision: 'allow', reason: notice, durationMs: 0 });
132
+ options.onWarning?.(notice);
133
+ };
134
+ const access = (action) => paidFallback ? withAPIKeyAccess(action) : action();
105
135
  const resolveRoute = async (input, initial = false, extra = {}, stream = true) => {
106
136
  throwIfCancelled(signal);
107
- const decision = await selectRoute({ provider: initial ? options.provider : input.provider, model: initial ? options.model : input.model,
108
- ...(initial ? {} : { origin }), messages: input.messages, preferences: options.routing, smart: options.smart, signal,
137
+ const decision = await access(() => selectRoute({ provider: paidFallback ? 'openai' : initial ? options.provider : input.provider, model: paidFallback ? paidFallback.policy.model : initial ? options.model : input.model,
138
+ ...(initial || paidFallback ? {} : { origin }), messages: input.messages, preferences: options.routing, smart: options.smart, signal,
109
139
  requirements: { reasoningEffort: options.reasoningEffort, tools: input.tools.length > 0, streaming: stream && !!options.onToken,
110
140
  vision: input.messages.some(message => Array.isArray(message.content) && message.content.some(part => part.type === 'image')),
111
141
  json: extra.format !== undefined,
112
142
  inputTokens: Math.ceil(JSON.stringify(input.messages).length / 3), outputTokens: 250 },
113
- });
143
+ }));
114
144
  if (options.preferenceSources)
115
145
  decision.preferenceSources = options.preferenceSources;
116
146
  runlog.routingDecision(decision);
@@ -120,8 +150,13 @@ async function executeTurn(options, guard) {
120
150
  options.onWarning?.(formatRoutingDecision(decision));
121
151
  if (decision.status === 'cancelled')
122
152
  throw cancellationError();
123
- if (!decision.selected)
153
+ if (!decision.selected) {
154
+ if (!paidFallback && (input.provider === 'openai' || initial && options.provider === 'openai') && chatGPTSelected() && quotaCircuit() && fallbackPolicy()) {
155
+ await activateFallback();
156
+ return resolveRoute({ ...input, provider: 'openai', model: paidFallback.policy.model, messages: publicFallbackHistory(input.messages, paidFallback.clientId, paidFallback.policy.model), route: undefined }, initial, extra, stream);
157
+ }
124
158
  throw new RoutingUnavailableError(decision);
159
+ }
125
160
  return { ...input, provider: decision.selected.provider, model: decision.selected.model, route: decision.selected,
126
161
  messages: adaptRoutingPrompt(input.messages, decision.selected.provider) };
127
162
  };
@@ -137,29 +172,51 @@ async function executeTurn(options, guard) {
137
172
  throw error;
138
173
  }
139
174
  };
140
- const request = async (input, extra = {}, stream = true) => {
175
+ const requestCore = async (input, extra = {}, stream = true) => {
141
176
  throwIfCancelled(signal);
142
177
  await guard?.refreshAuthority(signal);
143
178
  checkBudget();
144
179
  if (guard)
145
180
  input = { ...input, tools: guard.tools(input.tools) };
181
+ const alreadyPaid = !!paidFallback;
146
182
  input = await resolveRoute(input, false, extra, stream);
183
+ if (paidFallback && !alreadyPaid)
184
+ return withAPIKeyAccess(() => requestCore(input, extra, stream));
147
185
  throwIfCancelled(signal);
148
186
  if (guard)
149
187
  input = { ...input, tools: guard.tools(input.tools) };
150
- const maxOutputTokens = guard?.maxOutputTokens ?? (trackProject ? input.route?.maxOutputTokens ?? 0 : undefined);
151
- const requestController = !guard && trackProject ? new AbortController() : undefined;
188
+ const policy = paidFallback ? fallbackPolicy() : undefined;
189
+ const requestTracksProject = trackProject || !!paidFallback;
190
+ const maxOutputTokens = guard?.maxOutputTokens ?? (policy ? Math.min(policy.maxOutputTokens, input.route?.maxOutputTokens ?? policy.maxOutputTokens) : trackProject ? input.route?.maxOutputTokens ?? 0 : undefined);
191
+ const assertPaidAdmission = () => {
192
+ if (!paidFallback)
193
+ return;
194
+ const current = fallbackPolicy(), account = new ChatGPTStore().active();
195
+ if (!policy || !current || current.model !== paidFallback.policy.model || !account?.accessToken || account.clientId !== paidFallback.clientId || !config.getApiKey('openai') || current.maxProjectCostUsd < policy.maxProjectCostUsd || current.maxOutputTokens < maxOutputTokens)
196
+ throw new ExecutionLimitError('authority', 'API-key fallback was disabled or its account/model/limits changed. Retry with the current policy or start a new session.');
197
+ };
198
+ assertPaidAdmission();
199
+ const requestController = !guard && requestTracksProject ? new AbortController() : undefined;
152
200
  const abortRequest = () => requestController?.abort(signal?.reason);
153
201
  const requestSignal = requestController?.signal ?? signal;
154
202
  let attemptBudget;
155
203
  try {
156
204
  attemptBudget = guard?.budget(input.route, input.messages, input.tools, stream && !!options.onToken, signal, event => runlog.policyEvent({ tool: 'provider', source: 'execution-budget', decision: event.stage === 'exceeded' ? 'deny' : 'allow', reason: JSON.stringify(event), durationMs: 0 }))
157
- ?? (trackProject ? projectAttemptBudget(options.cwd, projectRunId, input.route, input.messages, input.tools, stream && !!options.onToken, maxOutputTokens, requestSignal, (requestId, stage, quoteEvidence) => runlog.policyEvent({ tool: 'provider', source: 'project-budget', decision: stage === 'exceeded' ? 'deny' : 'allow', reason: JSON.stringify({ requestId, stage, quoteEvidence }), durationMs: 0 }), options.measuredInputReservation ?? false) : undefined);
205
+ ?? (requestTracksProject ? projectAttemptBudget(options.cwd, projectRunId, input.route, input.messages, input.tools, stream && !!options.onToken, maxOutputTokens, requestSignal, (requestId, stage, quoteEvidence) => runlog.policyEvent({ tool: 'provider', source: 'project-budget', decision: stage === 'exceeded' ? 'deny' : 'allow', reason: JSON.stringify({ requestId, stage, quoteEvidence }), durationMs: 0 }), options.measuredInputReservation ?? false, policy?.maxProjectCostUsd) : undefined);
158
206
  }
159
207
  catch (error) {
160
208
  runlog.policyEvent({ tool: 'provider', source: 'execution-budget', decision: 'deny', reason: error instanceof Error ? error.message : 'Budget admission failed', durationMs: 0 });
161
209
  throw error;
162
210
  }
211
+ if (paidFallback && attemptBudget) {
212
+ const nativeBudget = attemptBudget;
213
+ attemptBudget = { ...nativeBudget, reserve: async (actual) => {
214
+ assertPaidAdmission();
215
+ const ticket = await nativeBudget.reserve(actual);
216
+ assertPaidAdmission();
217
+ return ticket;
218
+ } };
219
+ }
163
220
  signal?.addEventListener('abort', abortRequest, { once: true });
164
221
  if (signal?.aborted)
165
222
  abortRequest();
@@ -169,7 +226,7 @@ async function executeTurn(options, guard) {
169
226
  response = await chat(input.provider, input.messages, input.tools, input.model, stream ? options.onToken : undefined, options.onRetry, { ...extra, signal: requestSignal,
170
227
  ...(attemptBudget ? { maxOutputTokens, attemptBudget } : {}),
171
228
  reasoningEffort: options.reasoningEffort,
172
- ...(options.maxProviderRetries !== undefined ? { maxProviderRetries: options.maxProviderRetries } : {}),
229
+ ...(paidFallback ? { maxProviderRetries: 0 } : options.maxProviderRetries !== undefined ? { maxProviderRetries: options.maxProviderRetries } : {}),
173
230
  selectionMode: origin.provider === 'auto' ? 'auto' : 'explicit',
174
231
  onStreamReset: stream ? options.onStreamReset : undefined,
175
232
  onStreamEvent: event => { runlog.streamAttempt(event, { iteration: iterations, provider: input.provider, model: input.model }); options.onStreamEvent?.(event); },
@@ -189,16 +246,18 @@ async function executeTurn(options, guard) {
189
246
  signal?.removeEventListener('abort', abortRequest);
190
247
  }
191
248
  throwIfCancelled(signal);
192
- const prices = input.route?.price;
193
- const costSource = prices?.input !== undefined && prices.output !== undefined ? 'discovery' : 'fallback';
194
- const cost = response.usage ? costSource === 'discovery'
249
+ if (paidFallback)
250
+ response = { ...response, providerMetadata: { ...response.providerMetadata, openai: { chatgptFallback: { clientId: paidFallback.clientId, model: paidFallback.policy.model } } } };
251
+ const prices = paidFallback ? attemptBudget?.billingRates : input.route?.price;
252
+ const costSource = response.billing === 'subscription' ? 'subscription' : paidFallback ? 'fallback' : prices?.input !== undefined && prices.output !== undefined ? 'discovery' : 'fallback';
253
+ const cost = response.billing === 'subscription' ? 0 : response.usage ? prices?.input !== undefined && prices.output !== undefined
195
254
  ? response.usage.inputTokens / 1000000 * prices.input + response.usage.outputTokens / 1000000 * prices.output
196
255
  : calculateCost(input.model, response.usage.inputTokens, response.usage.outputTokens) : 0;
197
256
  totals.inputTokens += response.usage?.inputTokens ?? 0;
198
257
  totals.outputTokens += response.usage?.outputTokens ?? 0;
199
258
  totals.cost += cost;
200
259
  // Project accounting is committed by the attempt receipt, including retries and unknown outcomes.
201
- runlog.assistantMessage({ content: response.content, tokens: { input: response.usage?.inputTokens ?? 0, output: response.usage?.outputTokens ?? 0 }, cost, costSource });
260
+ runlog.assistantMessage({ content: response.content, tokens: { input: response.usage?.inputTokens ?? 0, output: response.usage?.outputTokens ?? 0 }, usageReported: !!response.usage, cost, costSource });
202
261
  options.onUsage?.(response, input, cost);
203
262
  for (const warning of response.warnings ?? [])
204
263
  if (!seenWarnings.has(warning)) {
@@ -207,6 +266,22 @@ async function executeTurn(options, guard) {
207
266
  }
208
267
  return response;
209
268
  };
269
+ const request = async (input, extra = {}, stream = true) => {
270
+ const paidInput = () => paidFallback ? { ...input, provider: 'openai', model: paidFallback.policy.model,
271
+ messages: publicFallbackHistory(input.messages, paidFallback.clientId, paidFallback.policy.model), route: undefined } : input;
272
+ try {
273
+ return await access(() => requestCore(paidInput(), extra, stream));
274
+ }
275
+ catch (error) {
276
+ throwIfCancelled(signal);
277
+ if (paidFallback && error instanceof Error && (('status' in error && error.status === 429) || ('code' in error && ['insufficient_quota', 'rate_limit_exceeded'].includes(String(error.code)))))
278
+ throw new StreamProtocolError('API-key fallback quota or rate limit reached. Paid inference stopped; check the API account before retrying.');
279
+ if (paidFallback || !(error instanceof ChatGPTQuotaError) || error.partial || input.provider !== 'openai' || !fallbackPolicy())
280
+ throw error;
281
+ await activateFallback();
282
+ return request(paidInput(), extra, stream);
283
+ }
284
+ };
210
285
  const report = async (call, result, durationMs, answeredQuestion = false) => {
211
286
  let output;
212
287
  if (options.captureToolOutput) {
@@ -339,9 +414,12 @@ async function executeTurn(options, guard) {
339
414
  throwIfCancelled(signal);
340
415
  await checkpoint('active');
341
416
  checkBudget();
417
+ if ((options.provider === 'openai' || options.provider === 'auto') && chatGPTSelected() && (fallbackHistory(messages.current) || (options.provider === 'openai' && quotaCircuit() && fallbackPolicy())))
418
+ await activateFallback();
342
419
  currentRequest = await resolveRoute({ ...currentRequest, tools: availableTools() }, true);
343
420
  messages.current = currentRequest.messages;
344
421
  const limit = resolveIterationLimit(options.maxIterations ?? config.get('maxIterations'));
422
+ let continuations = 0;
345
423
  for (iterations = 1; iterations <= limit; iterations++) {
346
424
  try {
347
425
  throwIfCancelled(signal);
@@ -364,6 +442,9 @@ async function executeTurn(options, guard) {
364
442
  currentRequest = await options.prepare(currentRequest, iterations);
365
443
  throwIfCancelled(signal);
366
444
  let response = await request(currentRequest);
445
+ // A reply cut off by the output limit may carry a partial tool call: never run, store or repair it.
446
+ if (options.continueOnLength && response.finishReason === 'length' && response.toolCalls?.length)
447
+ response = { ...response, toolCalls: undefined };
367
448
  if (response.finishReason === 'error')
368
449
  throw response.errorCode === 'refusal' ? new ProviderRefusalError() : new Error('Provider returned an unsuccessful completion');
369
450
  try {
@@ -388,13 +469,22 @@ async function executeTurn(options, guard) {
388
469
  reason = 'stopped';
389
470
  break;
390
471
  }
391
- if (!pendingCalls?.length) {
392
- if (response.finishReason === 'length' && options.continueOnLength) {
393
- messages.current.push({ role: 'user', content: 'Please continue where you left off.' });
472
+ const truncated = response.finishReason === 'length';
473
+ const empty = !pendingCalls?.length && !truncated && !response.content?.trim();
474
+ if (options.continueOnLength && (truncated || empty)) {
475
+ if (++continuations > MAX_CONSECUTIVE_CONTINUATIONS) {
476
+ reason = truncated ? 'length' : 'empty_response';
394
477
  options.onIterationEnd?.(iterations);
395
- continue;
478
+ break;
396
479
  }
397
- reason = response.finishReason === 'length' ? 'length' : 'completed';
480
+ options.onContinue?.({ reason: truncated ? 'length' : 'empty', attempt: continuations, max: MAX_CONSECUTIVE_CONTINUATIONS, iteration: iterations });
481
+ messages.current.push({ role: 'user', content: 'Please continue where you left off.' });
482
+ options.onIterationEnd?.(iterations);
483
+ continue;
484
+ }
485
+ continuations = 0;
486
+ if (!pendingCalls?.length) {
487
+ reason = truncated ? 'length' : 'completed';
398
488
  options.onIterationEnd?.(iterations);
399
489
  break;
400
490
  }
@@ -1 +1 @@
1
- {"version":3,"file":"turn.js","sourceRoot":"","sources":["../../src/runtime/turn.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"turn.js","sourceRoot":"","sources":["../../src/runtime/turn.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,13 @@
1
+ import type { TaskRequestAttribution } from '../execution/attribution.js';
1
2
  /** A retained session restriction; it never grants execution authority. */
2
- export interface SessionExecutionBinding {
3
- version: 1;
3
+ export type SessionExecutionBinding = {
4
4
  manifestHash: string;
5
5
  agentId: string;
6
- }
6
+ } & ({
7
+ version: 1;
8
+ } | {
9
+ version: 2;
10
+ attribution: TaskRequestAttribution;
11
+ });
7
12
  export declare function validSessionExecutionBinding(value: unknown): value is SessionExecutionBinding;
8
13
  //# sourceMappingURL=execution-binding.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"execution-binding.d.ts","sourceRoot":"","sources":["../../src/sessions/execution-binding.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAC3E,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,CAAC,CAAC;IACX,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,uBAAuB,CAM7F"}
1
+ {"version":3,"file":"execution-binding.d.ts","sourceRoot":"","sources":["../../src/sessions/execution-binding.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,sBAAsB,EAAC,MAAM,6BAA6B,CAAC;AACxE,2EAA2E;AAC3E,MAAM,MAAM,uBAAuB,GAAG;IACpC,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;CACjB,GAAG,CAAC;IAAC,OAAO,EAAC,CAAC,CAAA;CAAC,GAAC;IAAC,OAAO,EAAC,CAAC,CAAC;IAAA,WAAW,EAAC,sBAAsB,CAAA;CAAC,CAAC,CAAC;AAEjE,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,uBAAuB,CAa7F"}
@@ -2,8 +2,18 @@ export function validSessionExecutionBinding(value) {
2
2
  if (!value || typeof value !== 'object' || Array.isArray(value))
3
3
  return false;
4
4
  const v = value;
5
- return Object.keys(v).sort().join() === 'agentId,manifestHash,version' && v.version === 1
6
- && typeof v.manifestHash === 'string' && /^[a-f0-9]{64}$/.test(v.manifestHash)
7
- && typeof v.agentId === 'string' && /^[a-zA-Z0-9][a-zA-Z0-9_-]{0,63}$/.test(v.agentId);
5
+ if (typeof v.manifestHash !== 'string' || !/^[a-f0-9]{64}$/.test(v.manifestHash) || typeof v.agentId !== 'string' || !/^[a-zA-Z0-9][a-zA-Z0-9_-]{0,63}$/.test(v.agentId))
6
+ return false;
7
+ if (v.version === 1)
8
+ return Object.keys(v).sort().join() === 'agentId,manifestHash,version';
9
+ if (v.version !== 2 || Object.keys(v).sort().join() !== 'agentId,attribution,manifestHash,version' || !v.attribution || typeof v.attribution !== 'object' || Array.isArray(v.attribution))
10
+ return false;
11
+ const a = v.attribution;
12
+ return Object.keys(a).sort().join() === 'attempt,eventHash,eventId,kind,sessionId,taskId,version' && a.version === 1 && a.kind === 'task'
13
+ && typeof a.eventId === 'string' && /^[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89ab][a-f0-9]{3}-[a-f0-9]{12}$/.test(a.eventId)
14
+ && typeof a.eventHash === 'string' && /^[a-f0-9]{64}$/.test(a.eventHash)
15
+ && typeof a.sessionId === 'string' && /^[a-zA-Z0-9_-]{1,128}$/.test(a.sessionId)
16
+ && typeof a.taskId === 'string' && /^[a-zA-Z0-9][a-zA-Z0-9_-]{0,63}$/.test(a.taskId)
17
+ && Number.isSafeInteger(a.attempt) && Number(a.attempt) >= 1 && Number(a.attempt) <= 4;
8
18
  }
9
19
  //# sourceMappingURL=execution-binding.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"execution-binding.js","sourceRoot":"","sources":["../../src/sessions/execution-binding.ts"],"names":[],"mappings":"AAOA,MAAM,UAAU,4BAA4B,CAAC,KAAc;IACzD,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAC9E,MAAM,CAAC,GAAG,KAAgC,CAAC;IAC3C,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,KAAK,8BAA8B,IAAI,CAAC,CAAC,OAAO,KAAK,CAAC;WACpF,OAAO,CAAC,CAAC,YAAY,KAAK,QAAQ,IAAI,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC;WAC3E,OAAO,CAAC,CAAC,OAAO,KAAK,QAAQ,IAAI,kCAAkC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;AAC3F,CAAC"}
1
+ {"version":3,"file":"execution-binding.js","sourceRoot":"","sources":["../../src/sessions/execution-binding.ts"],"names":[],"mappings":"AAOA,MAAM,UAAU,4BAA4B,CAAC,KAAc;IACzD,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAC9E,MAAM,CAAC,GAAG,KAAgC,CAAC;IAC3C,IAAG,OAAO,CAAC,CAAC,YAAY,KAAG,QAAQ,IAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,IAAE,OAAO,CAAC,CAAC,OAAO,KAAG,QAAQ,IAAE,CAAC,kCAAkC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC;QAAC,OAAO,KAAK,CAAC;IAC3K,IAAG,CAAC,CAAC,OAAO,KAAG,CAAC;QAAC,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,KAAG,8BAA8B,CAAC;IACtF,IAAG,CAAC,CAAC,OAAO,KAAG,CAAC,IAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,KAAG,0CAA0C,IAAE,CAAC,CAAC,CAAC,WAAW,IAAE,OAAO,CAAC,CAAC,WAAW,KAAG,QAAQ,IAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC;QAAC,OAAO,KAAK,CAAC;IACxL,MAAM,CAAC,GAAC,CAAC,CAAC,WAAqC,CAAC;IAChD,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,KAAG,yDAAyD,IAAE,CAAC,CAAC,OAAO,KAAG,CAAC,IAAE,CAAC,CAAC,IAAI,KAAG,MAAM;WAC3H,OAAO,CAAC,CAAC,OAAO,KAAG,QAAQ,IAAE,uEAAuE,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC;WACpH,OAAO,CAAC,CAAC,SAAS,KAAG,QAAQ,IAAE,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;WACjE,OAAO,CAAC,CAAC,SAAS,KAAG,QAAQ,IAAE,wBAAwB,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;WACzE,OAAO,CAAC,CAAC,MAAM,KAAG,QAAQ,IAAE,kCAAkC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC;WAC7E,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,IAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,IAAE,CAAC,IAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,IAAE,CAAC,CAAC;AAClF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../src/supervision/runtime.ts"],"names":[],"mappings":"AAQA,OAAO,EAAwD,KAAK,cAAc,EAAC,MAAM,uBAAuB,CAAC;AAYjH,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,qCAAqC,CAAC;AACxE,OAAO,KAAK,EAAC,kBAAkB,EAAC,MAAM,iCAAiC,CAAC;AAYxE,OAAO,KAAK,EAAiB,qBAAqB,EAAC,MAAM,YAAY,CAAC;AAEtE,wBAAgB,gBAAgB,CAAC,KAAK,EAAC,cAAc,GAAE,OAAO,CAI7D;AAoFD,sFAAsF;AACtF,wBAAsB,SAAS,CAAC,KAAK,EAAC,cAAc,EAAC,SAAS,EAAC,cAAc,EAAC,OAAO,EAAC,kBAAkB,EAAC,SAAS,EAAC,MAAI,IAAI,GAAE,OAAO,CAAC,qBAAqB,CAAC,CAqB1J"}
1
+ {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../src/supervision/runtime.ts"],"names":[],"mappings":"AASA,OAAO,EAAwD,KAAK,cAAc,EAAC,MAAM,uBAAuB,CAAC;AAYjH,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,qCAAqC,CAAC;AACxE,OAAO,KAAK,EAAC,kBAAkB,EAAC,MAAM,iCAAiC,CAAC;AAYxE,OAAO,KAAK,EAAiB,qBAAqB,EAAC,MAAM,YAAY,CAAC;AAEtE,wBAAgB,gBAAgB,CAAC,KAAK,EAAC,cAAc,GAAE,OAAO,CAI7D;AAqFD,sFAAsF;AACtF,wBAAsB,SAAS,CAAC,KAAK,EAAC,cAAc,EAAC,SAAS,EAAC,cAAc,EAAC,OAAO,EAAC,kBAAkB,EAAC,SAAS,EAAC,MAAI,IAAI,GAAE,OAAO,CAAC,qBAAqB,CAAC,CAqB1J"}