helixmind 0.6.4 → 0.7.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.
Files changed (154) hide show
  1. package/dist/cli/agent/loop.d.ts.map +1 -1
  2. package/dist/cli/agent/loop.js +18 -11
  3. package/dist/cli/agent/loop.js.map +1 -1
  4. package/dist/cli/agent/permissions.d.ts +16 -0
  5. package/dist/cli/agent/permissions.d.ts.map +1 -1
  6. package/dist/cli/agent/permissions.js +74 -5
  7. package/dist/cli/agent/permissions.js.map +1 -1
  8. package/dist/cli/agent/sandbox.d.ts.map +1 -1
  9. package/dist/cli/agent/sandbox.js +3 -0
  10. package/dist/cli/agent/sandbox.js.map +1 -1
  11. package/dist/cli/brain/archive.d.ts.map +1 -1
  12. package/dist/cli/brain/archive.js +48 -18
  13. package/dist/cli/brain/archive.js.map +1 -1
  14. package/dist/cli/brain/control-protocol.d.ts +17 -0
  15. package/dist/cli/brain/control-protocol.d.ts.map +1 -1
  16. package/dist/cli/brain/control-protocol.js +79 -0
  17. package/dist/cli/brain/control-protocol.js.map +1 -1
  18. package/dist/cli/brain/path-guard.d.ts +2 -0
  19. package/dist/cli/brain/path-guard.d.ts.map +1 -0
  20. package/dist/cli/brain/path-guard.js +94 -0
  21. package/dist/cli/brain/path-guard.js.map +1 -0
  22. package/dist/cli/brain/relay-client.d.ts +2 -0
  23. package/dist/cli/brain/relay-client.d.ts.map +1 -1
  24. package/dist/cli/brain/relay-client.js +58 -8
  25. package/dist/cli/brain/relay-client.js.map +1 -1
  26. package/dist/cli/brain/server.d.ts.map +1 -1
  27. package/dist/cli/brain/server.js +235 -23
  28. package/dist/cli/brain/server.js.map +1 -1
  29. package/dist/cli/brain/stdout-capture.d.ts +11 -0
  30. package/dist/cli/brain/stdout-capture.d.ts.map +1 -1
  31. package/dist/cli/brain/stdout-capture.js +42 -1
  32. package/dist/cli/brain/stdout-capture.js.map +1 -1
  33. package/dist/cli/brain/web-chat-handler.d.ts.map +1 -1
  34. package/dist/cli/brain/web-chat-handler.js +7 -0
  35. package/dist/cli/brain/web-chat-handler.js.map +1 -1
  36. package/dist/cli/checkpoints/revert.d.ts +5 -0
  37. package/dist/cli/checkpoints/revert.d.ts.map +1 -1
  38. package/dist/cli/checkpoints/revert.js +100 -11
  39. package/dist/cli/checkpoints/revert.js.map +1 -1
  40. package/dist/cli/checkpoints/store.d.ts +3 -0
  41. package/dist/cli/checkpoints/store.d.ts.map +1 -1
  42. package/dist/cli/checkpoints/store.js.map +1 -1
  43. package/dist/cli/commands/chat.d.ts.map +1 -1
  44. package/dist/cli/commands/chat.js +138 -73
  45. package/dist/cli/commands/chat.js.map +1 -1
  46. package/dist/cli/config/store.js +1 -1
  47. package/dist/cli/config/store.js.map +1 -1
  48. package/dist/cli/core/input.d.ts +0 -1
  49. package/dist/cli/core/input.d.ts.map +1 -1
  50. package/dist/cli/core/input.js +9 -17
  51. package/dist/cli/core/input.js.map +1 -1
  52. package/dist/cli/jarvis/autonomy.d.ts +13 -1
  53. package/dist/cli/jarvis/autonomy.d.ts.map +1 -1
  54. package/dist/cli/jarvis/autonomy.js +33 -1
  55. package/dist/cli/jarvis/autonomy.js.map +1 -1
  56. package/dist/cli/jarvis/core-ethics.d.ts +15 -0
  57. package/dist/cli/jarvis/core-ethics.d.ts.map +1 -1
  58. package/dist/cli/jarvis/core-ethics.js +110 -9
  59. package/dist/cli/jarvis/core-ethics.js.map +1 -1
  60. package/dist/cli/jarvis/daemon.d.ts.map +1 -1
  61. package/dist/cli/jarvis/daemon.js +8 -0
  62. package/dist/cli/jarvis/daemon.js.map +1 -1
  63. package/dist/cli/jarvis/instance-lock.d.ts.map +1 -1
  64. package/dist/cli/jarvis/instance-lock.js +132 -27
  65. package/dist/cli/jarvis/instance-lock.js.map +1 -1
  66. package/dist/cli/jarvis/learning.d.ts +6 -0
  67. package/dist/cli/jarvis/learning.d.ts.map +1 -1
  68. package/dist/cli/jarvis/learning.js +17 -3
  69. package/dist/cli/jarvis/learning.js.map +1 -1
  70. package/dist/cli/jarvis/notifications.d.ts.map +1 -1
  71. package/dist/cli/jarvis/notifications.js +75 -10
  72. package/dist/cli/jarvis/notifications.js.map +1 -1
  73. package/dist/cli/jarvis/onboarding.d.ts.map +1 -1
  74. package/dist/cli/jarvis/onboarding.js +32 -2
  75. package/dist/cli/jarvis/onboarding.js.map +1 -1
  76. package/dist/cli/jarvis/queue.d.ts +5 -0
  77. package/dist/cli/jarvis/queue.d.ts.map +1 -1
  78. package/dist/cli/jarvis/queue.js +23 -6
  79. package/dist/cli/jarvis/queue.js.map +1 -1
  80. package/dist/cli/jarvis/scheduler.d.ts +8 -0
  81. package/dist/cli/jarvis/scheduler.d.ts.map +1 -1
  82. package/dist/cli/jarvis/scheduler.js +32 -4
  83. package/dist/cli/jarvis/scheduler.js.map +1 -1
  84. package/dist/cli/jarvis/sentiment.d.ts +11 -0
  85. package/dist/cli/jarvis/sentiment.d.ts.map +1 -1
  86. package/dist/cli/jarvis/sentiment.js +40 -6
  87. package/dist/cli/jarvis/sentiment.js.map +1 -1
  88. package/dist/cli/jarvis/skills.d.ts +35 -0
  89. package/dist/cli/jarvis/skills.d.ts.map +1 -1
  90. package/dist/cli/jarvis/skills.js +144 -0
  91. package/dist/cli/jarvis/skills.js.map +1 -1
  92. package/dist/cli/jarvis/triggers.d.ts.map +1 -1
  93. package/dist/cli/jarvis/triggers.js +65 -9
  94. package/dist/cli/jarvis/triggers.js.map +1 -1
  95. package/dist/cli/jarvis/types.d.ts +10 -0
  96. package/dist/cli/jarvis/types.d.ts.map +1 -1
  97. package/dist/cli/jarvis/world-model.d.ts +4 -0
  98. package/dist/cli/jarvis/world-model.d.ts.map +1 -1
  99. package/dist/cli/jarvis/world-model.js +23 -1
  100. package/dist/cli/jarvis/world-model.js.map +1 -1
  101. package/dist/cli/providers/anthropic.d.ts +5 -1
  102. package/dist/cli/providers/anthropic.d.ts.map +1 -1
  103. package/dist/cli/providers/anthropic.js +133 -36
  104. package/dist/cli/providers/anthropic.js.map +1 -1
  105. package/dist/cli/providers/model-limits.d.ts +8 -0
  106. package/dist/cli/providers/model-limits.d.ts.map +1 -1
  107. package/dist/cli/providers/model-limits.js +42 -0
  108. package/dist/cli/providers/model-limits.js.map +1 -1
  109. package/dist/cli/providers/ollama.d.ts +2 -0
  110. package/dist/cli/providers/ollama.d.ts.map +1 -1
  111. package/dist/cli/providers/ollama.js +8 -0
  112. package/dist/cli/providers/ollama.js.map +1 -1
  113. package/dist/cli/providers/openai.d.ts +5 -1
  114. package/dist/cli/providers/openai.d.ts.map +1 -1
  115. package/dist/cli/providers/openai.js +66 -19
  116. package/dist/cli/providers/openai.js.map +1 -1
  117. package/dist/cli/providers/rate-limiter.d.ts +58 -20
  118. package/dist/cli/providers/rate-limiter.d.ts.map +1 -1
  119. package/dist/cli/providers/rate-limiter.js +212 -96
  120. package/dist/cli/providers/rate-limiter.js.map +1 -1
  121. package/dist/cli/providers/registry.d.ts.map +1 -1
  122. package/dist/cli/providers/registry.js +22 -13
  123. package/dist/cli/providers/registry.js.map +1 -1
  124. package/dist/cli/providers/types.d.ts +16 -5
  125. package/dist/cli/providers/types.d.ts.map +1 -1
  126. package/dist/spiral/cloud/content-extractor.d.ts.map +1 -1
  127. package/dist/spiral/cloud/content-extractor.js +6 -4
  128. package/dist/spiral/cloud/content-extractor.js.map +1 -1
  129. package/dist/spiral/cloud/search-provider.d.ts.map +1 -1
  130. package/dist/spiral/cloud/search-provider.js +7 -2
  131. package/dist/spiral/cloud/search-provider.js.map +1 -1
  132. package/dist/spiral/cloud/web-enricher.d.ts.map +1 -1
  133. package/dist/spiral/cloud/web-enricher.js +10 -2
  134. package/dist/spiral/cloud/web-enricher.js.map +1 -1
  135. package/dist/spiral/compression.d.ts +5 -2
  136. package/dist/spiral/compression.d.ts.map +1 -1
  137. package/dist/spiral/compression.js +23 -6
  138. package/dist/spiral/compression.js.map +1 -1
  139. package/dist/spiral/engine.d.ts +7 -1
  140. package/dist/spiral/engine.d.ts.map +1 -1
  141. package/dist/spiral/engine.js +83 -35
  142. package/dist/spiral/engine.js.map +1 -1
  143. package/dist/storage/database.d.ts.map +1 -1
  144. package/dist/storage/database.js +41 -0
  145. package/dist/storage/database.js.map +1 -1
  146. package/dist/storage/nodes.d.ts +6 -0
  147. package/dist/storage/nodes.d.ts.map +1 -1
  148. package/dist/storage/nodes.js +9 -0
  149. package/dist/storage/nodes.js.map +1 -1
  150. package/dist/storage/vectors.d.ts +1 -0
  151. package/dist/storage/vectors.d.ts.map +1 -1
  152. package/dist/storage/vectors.js +39 -7
  153. package/dist/storage/vectors.js.map +1 -1
  154. package/package.json +3 -3
@@ -1,12 +1,34 @@
1
1
  import OpenAI from 'openai';
2
- import { waitIfNeeded, reportSuccess, handleRateLimitError, isRateLimitError, detectCreditsExhausted, } from './rate-limiter.js';
3
- import { getModelContextLength } from './model-limits.js';
2
+ import { RateLimiter, isRateLimitError, detectCreditsExhausted, sleep, } from './rate-limiter.js';
3
+ import { getModelContextLength, getMaxOutputTokens } from './model-limits.js';
4
+ /**
5
+ * Normalize reasoning_content that may arrive as a string, an array of blocks,
6
+ * or an object with a `.text` field (OpenAI Responses API, DeepSeek variants).
7
+ * FIX: PROVIDERS-M6 — never stringify [object Object] into the history.
8
+ */
9
+ function normalizeReasoningContent(x) {
10
+ if (x === null || x === undefined)
11
+ return '';
12
+ if (typeof x === 'string')
13
+ return x;
14
+ if (Array.isArray(x)) {
15
+ return x
16
+ .map((b) => (typeof b === 'string' ? b : (b?.text ?? '')))
17
+ .join('');
18
+ }
19
+ if (typeof x === 'object') {
20
+ return x.text ?? JSON.stringify(x);
21
+ }
22
+ return String(x);
23
+ }
4
24
  export class OpenAIProvider {
5
25
  name;
6
26
  model;
7
27
  maxContextLength;
8
28
  client;
9
29
  systemRole;
30
+ // FIX: PROVIDERS-C2 — Each provider instance owns a RateLimiter.
31
+ _rateLimiter;
10
32
  constructor(apiKey, model = 'gpt-4o', baseURL, providerName) {
11
33
  this.model = model;
12
34
  this.name = providerName ?? 'openai';
@@ -18,36 +40,48 @@ export class OpenAIProvider {
18
40
  ...(baseURL ? { baseURL } : {}),
19
41
  timeout: 120_000, // 2 minute timeout — prevents infinite hang on slow/unresponsive APIs
20
42
  });
43
+ this._rateLimiter = new RateLimiter(this.name);
44
+ }
45
+ /** Access the provider's rate limiter. */
46
+ get rateLimiter() {
47
+ return this._rateLimiter;
21
48
  }
22
49
  /** Check if the current model is a reasoning model (DeepSeek-R1 etc.) */
23
50
  isReasonerModel() {
24
51
  const m = this.model.toLowerCase();
25
52
  return m.includes('reasoner') || m.includes('-r1');
26
53
  }
27
- async *stream(messages, systemPrompt) {
54
+ async *stream(messages, systemPrompt, signal) {
28
55
  let fullText = '';
29
56
  try {
57
+ // FIX: PROVIDERS-C1 — pass signal to request options.
30
58
  const stream = await this.client.chat.completions.create({
31
59
  model: this.model,
32
60
  stream: true,
33
61
  messages: [
34
62
  { role: this.systemRole, content: systemPrompt },
35
- ...messages.map(m => ({
63
+ ...messages.map((m) => ({
36
64
  role: m.role,
37
65
  content: m.content,
38
66
  })),
39
67
  ],
40
- });
68
+ }, signal ? { signal } : undefined);
41
69
  for await (const chunk of stream) {
70
+ if (signal?.aborted)
71
+ return;
42
72
  const content = chunk.choices?.[0]?.delta?.content;
43
73
  if (content) {
44
74
  fullText += content;
45
75
  yield { type: 'text', content };
76
+ if (signal?.aborted)
77
+ return;
46
78
  }
47
79
  }
48
80
  yield { type: 'done', content: fullText };
49
81
  }
50
82
  catch (err) {
83
+ if (signal?.aborted)
84
+ return;
51
85
  yield {
52
86
  type: 'error',
53
87
  content: err instanceof Error ? err.message : String(err),
@@ -110,7 +144,7 @@ export class OpenAIProvider {
110
144
  // Text-only content blocks
111
145
  const text = msg.content
112
146
  .filter((b) => b.type === 'text')
113
- .map(b => b.text)
147
+ .map((b) => b.text)
114
148
  .join('');
115
149
  if (text)
116
150
  openaiMessages.push({ role: 'user', content: text });
@@ -125,11 +159,11 @@ export class OpenAIProvider {
125
159
  else if (Array.isArray(msg.content)) {
126
160
  const textParts = msg.content
127
161
  .filter((b) => b.type === 'text')
128
- .map(b => b.text)
162
+ .map((b) => b.text)
129
163
  .join('');
130
164
  const toolCalls = msg.content
131
165
  .filter((b) => b.type === 'tool_use')
132
- .map(b => ({
166
+ .map((b) => ({
133
167
  id: b.id,
134
168
  type: 'function',
135
169
  function: {
@@ -140,7 +174,8 @@ export class OpenAIProvider {
140
174
  // Restore reasoning_content for DeepSeek-R1 models
141
175
  const reasoningBlocks = msg.content
142
176
  .filter((b) => b.type === 'reasoning');
143
- const reasoningParts = reasoningBlocks.map(b => b.text).join('');
177
+ // FIX: PROVIDERS-M6 normalize so array/object reasoning blocks don't stringify wrong on write-back.
178
+ const reasoningParts = reasoningBlocks.map((b) => normalizeReasoningContent(b.text)).join('');
144
179
  const assistantMsg = {
145
180
  role: 'assistant',
146
181
  content: textParts || null,
@@ -158,7 +193,7 @@ export class OpenAIProvider {
158
193
  }
159
194
  }
160
195
  }
161
- const openaiTools = tools.map(t => ({
196
+ const openaiTools = tools.map((t) => ({
162
197
  type: 'function',
163
198
  function: {
164
199
  name: t.name,
@@ -169,14 +204,16 @@ export class OpenAIProvider {
169
204
  let response;
170
205
  const maxRetries = 5;
171
206
  for (let attempt = 0; attempt <= maxRetries; attempt++) {
172
- await waitIfNeeded(signal);
207
+ await this._rateLimiter.waitIfNeeded(signal);
173
208
  try {
174
209
  response = await this.client.chat.completions.create({
175
210
  model: this.model,
176
211
  messages: openaiMessages,
177
212
  tools: openaiTools,
213
+ // FIX: PROVIDERS-M2 — per-model output cap in tool-call path.
214
+ max_tokens: getMaxOutputTokens(this.model),
178
215
  }, signal ? { signal } : undefined);
179
- reportSuccess();
216
+ this._rateLimiter.reportSuccess();
180
217
  break;
181
218
  }
182
219
  catch (err) {
@@ -191,13 +228,17 @@ export class OpenAIProvider {
191
228
  throw new Error(`\u274C ${creditsReason}.${freeHint}`);
192
229
  }
193
230
  if (isRateLimitError(err)) {
194
- const waitMs = handleRateLimitError(err);
231
+ const waitMs = this._rateLimiter.handleRateLimitError(err);
195
232
  if (attempt < maxRetries) {
196
233
  process.stdout.write(`\r\x1b[K \u23F3 Rate limited \u2014 waiting ${Math.ceil(waitMs / 1000)}s (attempt ${attempt + 1}/${maxRetries})...`);
197
- await new Promise((resolve, reject) => {
198
- const timer = setTimeout(resolve, waitMs);
199
- signal?.addEventListener('abort', () => { clearTimeout(timer); reject(new Error('Aborted')); }, { once: true });
200
- });
234
+ // FIX: PROVIDERS-C3 signal-aware sleep; propagates abort cleanly.
235
+ try {
236
+ await sleep(waitMs, signal);
237
+ }
238
+ catch {
239
+ process.stdout.write('\r\x1b[K');
240
+ throw err;
241
+ }
201
242
  process.stdout.write('\r\x1b[K');
202
243
  continue;
203
244
  }
@@ -213,7 +254,8 @@ export class OpenAIProvider {
213
254
  // Must capture even empty strings — DeepSeek requires this field on ALL assistant messages
214
255
  const rawMessage = choice.message;
215
256
  if (rawMessage.reasoning_content !== undefined && rawMessage.reasoning_content !== null) {
216
- content.push({ type: 'reasoning', text: String(rawMessage.reasoning_content) });
257
+ // FIX: PROVIDERS-M6 reasoning_content may be string | array | object.
258
+ content.push({ type: 'reasoning', text: normalizeReasoningContent(rawMessage.reasoning_content) });
217
259
  }
218
260
  else if (this.isReasonerModel()) {
219
261
  // Reasoner models MUST have this field — insert empty marker
@@ -226,8 +268,13 @@ export class OpenAIProvider {
226
268
  for (const tc of choice.message.tool_calls) {
227
269
  // v5 types include a union — narrow to function calls
228
270
  const fn = tc.function;
229
- if (!fn)
271
+ // FIX: PROVIDERS-M3 — preserve unsupported tool_call variants as text
272
+ // so conversation history stays consistent (previously we silently dropped them).
273
+ if (!fn) {
274
+ const variant = tc.type ?? 'unknown';
275
+ content.push({ type: 'text', text: `[unsupported tool_call type: ${variant}]` });
230
276
  continue;
277
+ }
231
278
  let input;
232
279
  try {
233
280
  input = JSON.parse(fn.arguments);
@@ -1 +1 @@
1
- {"version":3,"file":"openai.js","sourceRoot":"","sources":["../../../src/cli/providers/openai.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAW5B,OAAO,EACL,YAAY,EACZ,aAAa,EACb,oBAAoB,EACpB,gBAAgB,EAChB,sBAAsB,GACvB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAE1D,MAAM,OAAO,cAAc;IAChB,IAAI,CAAS;IACb,KAAK,CAAS;IACd,gBAAgB,CAAS;IAC1B,MAAM,CAAS;IACf,UAAU,CAAyB;IAE3C,YAAY,MAAc,EAAE,QAAgB,QAAQ,EAAE,OAAgB,EAAE,YAAqB;QAC3F,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,IAAI,GAAG,YAAY,IAAI,QAAQ,CAAC;QACrC,IAAI,CAAC,gBAAgB,GAAG,qBAAqB,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAChE,4EAA4E;QAC5E,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC;QAClE,IAAI,CAAC,MAAM,GAAG,IAAI,MAAM,CAAC;YACvB,MAAM;YACN,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/B,OAAO,EAAE,OAAO,EAAE,sEAAsE;SACzF,CAAC,CAAC;IACL,CAAC;IAED,yEAAyE;IACjE,eAAe;QACrB,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;QACnC,OAAO,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACrD,CAAC;IAED,KAAK,CAAC,CAAC,MAAM,CACX,QAAuB,EACvB,YAAoB;QAEpB,IAAI,QAAQ,GAAG,EAAE,CAAC;QAElB,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;gBACvD,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,MAAM,EAAE,IAAI;gBACZ,QAAQ,EAAE;oBACR,EAAE,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE,OAAO,EAAE,YAAY,EAAE;oBAChD,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;wBACpB,IAAI,EAAE,CAAC,CAAC,IAA4B;wBACpC,OAAO,EAAE,CAAC,CAAC,OAAO;qBACnB,CAAC,CAAC;iBACJ;aACF,CAAC,CAAC;YAEH,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;gBACjC,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC;gBACnD,IAAI,OAAO,EAAE,CAAC;oBACZ,QAAQ,IAAI,OAAO,CAAC;oBACpB,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;gBAClC,CAAC;YACH,CAAC;YAED,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;QAC5C,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM;gBACJ,IAAI,EAAE,OAAO;gBACb,OAAO,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;aAC1D,CAAC;QACJ,CAAC;IACH,CAAC;IAED,KAAK,CAAC,aAAa,CACjB,QAAuB,EACvB,YAAoB,EACpB,KAAuB,EACvB,MAAoB;QAEpB,2BAA2B;QAC3B,MAAM,cAAc,GAAwC;YAC1D,EAAE,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE,OAAO,EAAE,YAAY,EAAE;SACjD,CAAC;QAEF,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;YAC3B,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBACxB,IAAI,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;oBACpC,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;gBAC9D,CAAC;qBAAM,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;oBACtC,6BAA6B;oBAC7B,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;oBAC7B,IAAI,KAAK,IAAI,MAAM,IAAI,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;wBAC7D,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;4BAChC,IAAI,aAAa,IAAI,KAAK,EAAE,CAAC;gCAC3B,cAAc,CAAC,IAAI,CAAC;oCAClB,IAAI,EAAE,MAAM;oCACZ,YAAY,EAAE,KAAK,CAAC,WAAW;oCAC/B,OAAO,EAAE,KAAK,CAAC,OAAO;iCACvB,CAAC,CAAC;4BACL,CAAC;wBACH,CAAC;oBACH,CAAC;yBAAM,CAAC;wBACN,qDAAqD;wBACrD,MAAM,SAAS,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC;wBAC7F,IAAI,SAAS,EAAE,CAAC;4BACd,4CAA4C;4BAC5C,MAAM,KAAK,GAAU,EAAE,CAAC;4BACxB,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,OAAgB,EAAE,CAAC;gCACzC,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;oCAC1B,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;gCACjD,CAAC;qCAAM,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;oCAClC,iDAAiD;oCACjD,KAAK,CAAC,IAAI,CAAC;wCACT,IAAI,EAAE,WAAW;wCACjB,SAAS,EAAE;4CACT,GAAG,EAAE,QAAQ,KAAK,CAAC,MAAM,CAAC,UAAU,WAAW,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE;yCACnE;qCACF,CAAC,CAAC;gCACL,CAAC;qCAAM,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;oCACtC,2BAA2B;oCAC3B,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gCACpB,CAAC;4BACH,CAAC;4BACD,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gCACrB,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAS,CAAC,CAAC;4BAC/D,CAAC;wBACH,CAAC;6BAAM,CAAC;4BACN,2BAA2B;4BAC3B,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO;iCACrB,MAAM,CAAC,CAAC,CAAC,EAAuC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC;iCACrE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;iCAChB,IAAI,CAAC,EAAE,CAAC,CAAC;4BACZ,IAAI,IAAI;gCAAE,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;wBACjE,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;iBAAM,IAAI,GAAG,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;gBACpC,IAAI,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;oBACpC,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;gBACnE,CAAC;qBAAM,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;oBACtC,MAAM,SAAS,GAAG,GAAG,CAAC,OAAO;yBAC1B,MAAM,CAAC,CAAC,CAAC,EAAuC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC;yBACrE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;yBAChB,IAAI,CAAC,EAAE,CAAC,CAAC;oBAEZ,MAAM,SAAS,GAAG,GAAG,CAAC,OAAO;yBAC1B,MAAM,CAAC,CAAC,CAAC,EAAuF,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC;yBACzH,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;wBACT,EAAE,EAAE,CAAC,CAAC,EAAE;wBACR,IAAI,EAAE,UAAmB;wBACzB,QAAQ,EAAE;4BACR,IAAI,EAAE,CAAC,CAAC,IAAI;4BACZ,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC;yBACnC;qBACF,CAAC,CAAC,CAAC;oBAEN,mDAAmD;oBACnD,MAAM,eAAe,GAAG,GAAG,CAAC,OAAO;yBAChC,MAAM,CAAC,CAAC,CAAC,EAA4C,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC;oBACnF,MAAM,cAAc,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;oBAEjE,MAAM,YAAY,GAAQ;wBACxB,IAAI,EAAE,WAAW;wBACjB,OAAO,EAAE,SAAS,IAAI,IAAI;wBAC1B,UAAU,EAAE,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;qBACzD,CAAC;oBAEF,oEAAoE;oBACpE,uEAAuE;oBACvE,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBAC/B,YAAY,CAAC,iBAAiB,GAAG,cAAc,CAAC;oBAClD,CAAC;yBAAM,IAAI,IAAI,CAAC,eAAe,EAAE,EAAE,CAAC;wBAClC,YAAY,CAAC,iBAAiB,GAAG,EAAE,CAAC;oBACtC,CAAC;oBAED,cAAc,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gBACpC,CAAC;YACH,CAAC;QACH,CAAC;QAED,MAAM,WAAW,GAAgC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAC/D,IAAI,EAAE,UAAmB;YACzB,QAAQ,EAAE;gBACR,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,WAAW,EAAE,CAAC,CAAC,WAAW;gBAC1B,UAAU,EAAE,CAAC,CAAC,YAAY;aAC3B;SACF,CAAC,CAAC,CAAC;QAEJ,IAAI,QAAQ,CAAC;QACb,MAAM,UAAU,GAAG,CAAC,CAAC;QACrB,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,UAAU,EAAE,OAAO,EAAE,EAAE,CAAC;YACvD,MAAM,YAAY,CAAC,MAAM,CAAC,CAAC;YAC3B,IAAI,CAAC;gBACH,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAClD;oBACE,KAAK,EAAE,IAAI,CAAC,KAAK;oBACjB,QAAQ,EAAE,cAAc;oBACxB,KAAK,EAAE,WAAW;iBACnB,EACD,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,SAAS,CAChC,CAAC;gBACF,aAAa,EAAE,CAAC;gBAChB,MAAM;YACR,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,MAAM,EAAE,OAAO;oBAAE,MAAM,GAAG,CAAC;gBAE/B,wEAAwE;gBACxE,MAAM,aAAa,GAAG,sBAAsB,CAAC,GAAG,CAAC,CAAC;gBAClD,IAAI,aAAa,EAAE,CAAC;oBAClB,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,KAAK,KAAK;wBAClC,CAAC,CAAC,kEAAkE;wBACpE,CAAC,CAAC,EAAE,CAAC;oBACP,MAAM,IAAI,KAAK,CAAC,UAAU,aAAa,IAAI,QAAQ,EAAE,CAAC,CAAC;gBACzD,CAAC;gBAED,IAAI,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC;oBAC1B,MAAM,MAAM,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAC;oBACzC,IAAI,OAAO,GAAG,UAAU,EAAE,CAAC;wBACzB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,gDAAgD,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,cAAc,OAAO,GAAG,CAAC,IAAI,UAAU,MAAM,CAAC,CAAC;wBAC5I,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;4BAC1C,MAAM,KAAK,GAAG,UAAU,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;4BAC1C,MAAM,EAAE,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;wBAClH,CAAC,CAAC,CAAC;wBACH,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;wBACjC,SAAS;oBACX,CAAC;gBACH,CAAC;gBACD,MAAM,GAAG,CAAC;YACZ,CAAC;QACH,CAAC;QACD,IAAI,CAAC,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;QAEvD,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACnC,MAAM,OAAO,GAAmB,EAAE,CAAC;QAEnC,uEAAuE;QACvE,2FAA2F;QAC3F,MAAM,UAAU,GAAG,MAAM,CAAC,OAAc,CAAC;QACzC,IAAI,UAAU,CAAC,iBAAiB,KAAK,SAAS,IAAI,UAAU,CAAC,iBAAiB,KAAK,IAAI,EAAE,CAAC;YACxF,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,CAAC,UAAU,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;QAClF,CAAC;aAAM,IAAI,IAAI,CAAC,eAAe,EAAE,EAAE,CAAC;YAClC,6DAA6D;YAC7D,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;QAChD,CAAC;QAED,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YAC3B,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;QAC/D,CAAC;QAED,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;YAC9B,KAAK,MAAM,EAAE,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;gBAC3C,sDAAsD;gBACtD,MAAM,EAAE,GAAI,EAAU,CAAC,QAA2D,CAAC;gBACnF,IAAI,CAAC,EAAE;oBAAE,SAAS;gBAClB,IAAI,KAA8B,CAAC;gBACnC,IAAI,CAAC;oBACH,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC;gBACnC,CAAC;gBAAC,MAAM,CAAC;oBACP,sEAAsE;oBACtE,KAAK,GAAG,mBAAmB,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC;gBAC5C,CAAC;gBACD,OAAO,CAAC,IAAI,CAAC;oBACX,IAAI,EAAE,UAAU;oBAChB,EAAE,EAAE,EAAE,CAAC,EAAE;oBACT,IAAI,EAAE,EAAE,CAAC,IAAI;oBACb,KAAK;iBACN,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,8CAA8C;QAC9C,MAAM,UAAU,GAAG,MAAM,CAAC,aAAa,KAAK,YAAY;YACtD,CAAC,CAAC,UAAU;YACZ,CAAC,CAAC,MAAM,CAAC,aAAa,KAAK,QAAQ;gBACjC,CAAC,CAAC,YAAY;gBACd,CAAC,CAAC,UAAU,CAAC;QAEjB,OAAO;YACL,OAAO;YACP,WAAW,EAAE,UAAyC;YACtD,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;gBACtB,YAAY,EAAE,QAAQ,CAAC,KAAK,CAAC,aAAa,IAAI,CAAC;gBAC/C,aAAa,EAAE,QAAQ,CAAC,KAAK,CAAC,iBAAiB,IAAI,CAAC;aACrD,CAAC,CAAC,CAAC,SAAS;SACd,CAAC;IACJ,CAAC;CACF;AAED;;;;;GAKG;AACH,SAAS,mBAAmB,CAAC,GAAW;IACtC,wCAAwC;IACxC,IAAI,OAAO,GAAG,GAAG,CAAC;IAElB,uCAAuC;IACvC,IAAI,UAAU,GAAG,CAAC,CAAC;IACnB,IAAI,YAAY,GAAG,CAAC,CAAC;IACrB,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,IAAI,OAAO,GAAG,KAAK,CAAC;IAEpB,KAAK,MAAM,EAAE,IAAI,OAAO,EAAE,CAAC;QACzB,IAAI,OAAO,EAAE,CAAC;YAAC,OAAO,GAAG,KAAK,CAAC;YAAC,SAAS;QAAC,CAAC;QAC3C,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;YAAC,OAAO,GAAG,IAAI,CAAC;YAAC,SAAS;QAAC,CAAC;QAC9C,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;YAAC,QAAQ,GAAG,CAAC,QAAQ,CAAC;YAAC,SAAS;QAAC,CAAC;QACnD,IAAI,QAAQ;YAAE,SAAS;QACvB,IAAI,EAAE,KAAK,GAAG;YAAE,UAAU,EAAE,CAAC;QAC7B,IAAI,EAAE,KAAK,GAAG;YAAE,UAAU,EAAE,CAAC;QAC7B,IAAI,EAAE,KAAK,GAAG;YAAE,YAAY,EAAE,CAAC;QAC/B,IAAI,EAAE,KAAK,GAAG;YAAE,YAAY,EAAE,CAAC;IACjC,CAAC;IAED,qCAAqC;IACrC,IAAI,QAAQ;QAAE,OAAO,IAAI,GAAG,CAAC;IAE7B,mCAAmC;IACnC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IAEvC,iCAAiC;IACjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,EAAE,CAAC,EAAE;QAAE,OAAO,IAAI,GAAG,CAAC;IACtD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,EAAE,CAAC,EAAE;QAAE,OAAO,IAAI,GAAG,CAAC;IAEpD,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC7B,CAAC;IAAC,MAAM,CAAC;QACP,sEAAsE;QACtE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;IACvD,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"openai.js","sourceRoot":"","sources":["../../../src/cli/providers/openai.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,10 @@
2
2
  * Intelligent rate limiter with exponential backoff and proactive throttling.
3
3
  * Tracks API call timing, parses retry-after headers from errors,
4
4
  * and preemptively delays when approaching rate limits.
5
+ *
6
+ * FIX: PROVIDERS-C2 — Converted module-global state to a RateLimiter class.
7
+ * A default singleton is kept so module-level exports stay backward compatible,
8
+ * but each Provider should now own a private RateLimiter instance.
5
9
  */
6
10
  export interface RateLimitState {
7
11
  /** Timestamps of recent API calls (ms) */
@@ -14,26 +18,62 @@ export interface RateLimitState {
14
18
  totalRetries: number;
15
19
  }
16
20
  /** Listener for rate limit wait events */
17
- type WaitListener = (waitMs: number, reason: string) => void;
18
- /** Register a listener for rate limit wait events */
19
- export declare function onRateLimitWait(listener: WaitListener): void;
21
+ export type WaitListener = (waitMs: number, reason: string) => void;
20
22
  /**
21
- * Wait if needed before making an API call.
22
- * Call this BEFORE every LLM API request.
23
- * Returns the actual wait time in ms (0 if no wait needed).
23
+ * Per-provider rate limiter.
24
+ * Holds its own state so two providers on different keys/hosts don't share a cooldown.
24
25
  */
26
+ export declare class RateLimiter {
27
+ private state;
28
+ private onWait;
29
+ private providerName;
30
+ constructor(providerName?: string);
31
+ /** Register a listener invoked every time this limiter blocks for a wait. */
32
+ setOnWait(listener: WaitListener | null): void;
33
+ /** Label used in telemetry / listener reason strings. */
34
+ setProviderName(name: string): void;
35
+ getProviderName(): string;
36
+ /**
37
+ * Wait if needed before making an API call.
38
+ * Returns actual wait time in ms (0 if no wait needed).
39
+ */
40
+ waitIfNeeded(signal?: AbortSignal): Promise<number>;
41
+ /** Same as waitIfNeeded — alias kept for API symmetry. */
42
+ recordCall(): Promise<void>;
43
+ /** Report a successful API call. Resets backoff. */
44
+ reportSuccess(): void;
45
+ /**
46
+ * Handle a rate limit error. Parses retry-after and applies backoff.
47
+ * Returns the recommended wait time in ms (clamped to MAX_WAIT_MS).
48
+ * FIX: PROVIDERS-M4 — Headers take priority over regex.
49
+ */
50
+ handleRateLimitError(error: unknown): number;
51
+ /** Get current rate limiter stats */
52
+ getStats(): {
53
+ callsInWindow: number;
54
+ backoffLevel: number;
55
+ totalRetries: number;
56
+ };
57
+ /** Reset all state — useful in tests. */
58
+ reset(): void;
59
+ }
60
+ /** Register a listener for rate limit wait events on the default singleton. */
61
+ export declare function onRateLimitWait(listener: WaitListener): void;
62
+ /** Wait if needed — delegates to the default singleton. */
25
63
  export declare function waitIfNeeded(signal?: AbortSignal): Promise<number>;
26
- /**
27
- * Report a successful API call. Resets backoff.
28
- */
64
+ /** Report a successful API call on the default singleton. */
29
65
  export declare function reportSuccess(): void;
30
- /**
31
- * Handle a rate limit error. Parses retry-after and applies backoff.
32
- * Returns the recommended wait time in ms.
33
- */
66
+ /** Handle a rate-limit error on the default singleton. */
34
67
  export declare function handleRateLimitError(error: unknown): number;
68
+ /** Get stats for the default singleton. */
69
+ export declare function getRateLimitStats(): {
70
+ callsInWindow: number;
71
+ backoffLevel: number;
72
+ totalRetries: number;
73
+ };
35
74
  /**
36
75
  * Check if an error is a rate limit error (429).
76
+ * FIX: PROVIDERS-m3 — Prefer numeric status code over regex.
37
77
  */
38
78
  export declare function isRateLimitError(error: unknown): boolean;
39
79
  /**
@@ -41,11 +81,9 @@ export declare function isRateLimitError(error: unknown): boolean;
41
81
  * Returns a human-readable reason if detected, null otherwise.
42
82
  */
43
83
  export declare function detectCreditsExhausted(error: unknown): string | null;
44
- /** Get current rate limiter stats */
45
- export declare function getRateLimitStats(): {
46
- callsInWindow: number;
47
- backoffLevel: number;
48
- totalRetries: number;
49
- };
50
- export {};
84
+ /**
85
+ * Abort-signal aware sleep.
86
+ * FIX: PROVIDERS-C3 — Exported so providers + agent loop can use a cancellable sleep.
87
+ */
88
+ export declare function sleep(ms: number, signal?: AbortSignal): Promise<void>;
51
89
  //# sourceMappingURL=rate-limiter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"rate-limiter.d.ts","sourceRoot":"","sources":["../../../src/cli/providers/rate-limiter.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,WAAW,cAAc;IAC7B,0CAA0C;IAC1C,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,sDAAsD;IACtD,aAAa,EAAE,MAAM,CAAC;IACtB,gDAAgD;IAChD,YAAY,EAAE,MAAM,CAAC;IACrB,iCAAiC;IACjC,YAAY,EAAE,MAAM,CAAC;CACtB;AAqBD,0CAA0C;AAC1C,KAAK,YAAY,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;AAG7D,qDAAqD;AACrD,wBAAgB,eAAe,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI,CAE5D;AAED;;;;GAIG;AACH,wBAAsB,YAAY,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,CAgDxE;AAED;;GAEG;AACH,wBAAgB,aAAa,IAAI,IAAI,CAEpC;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAiC3D;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAOxD;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAkBpE;AAED,qCAAqC;AACrC,wBAAgB,iBAAiB,IAAI;IAAE,aAAa,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,CAQzG"}
1
+ {"version":3,"file":"rate-limiter.d.ts","sourceRoot":"","sources":["../../../src/cli/providers/rate-limiter.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,MAAM,WAAW,cAAc;IAC7B,0CAA0C;IAC1C,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,sDAAsD;IACtD,aAAa,EAAE,MAAM,CAAC;IACtB,gDAAgD;IAChD,YAAY,EAAE,MAAM,CAAC;IACrB,iCAAiC;IACjC,YAAY,EAAE,MAAM,CAAC;CACtB;AAqBD,0CAA0C;AAC1C,MAAM,MAAM,YAAY,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;AA6BpE;;;GAGG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,KAAK,CAKX;IAEF,OAAO,CAAC,MAAM,CAA6B;IAC3C,OAAO,CAAC,YAAY,CAAqB;gBAE7B,YAAY,CAAC,EAAE,MAAM;IAIjC,6EAA6E;IAC7E,SAAS,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI,GAAG,IAAI;IAI9C,yDAAyD;IACzD,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAInC,eAAe,IAAI,MAAM;IAIzB;;;OAGG;IACG,YAAY,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC;IAsDzD,0DAA0D;IACpD,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAIjC,oDAAoD;IACpD,aAAa,IAAI,IAAI;IAIrB;;;;OAIG;IACH,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM;IA0C5C,qCAAqC;IACrC,QAAQ,IAAI;QAAE,aAAa,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE;IAYjF,yCAAyC;IACzC,KAAK,IAAI,IAAI;CAQd;AASD,+EAA+E;AAC/E,wBAAgB,eAAe,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI,CAE5D;AAED,2DAA2D;AAC3D,wBAAsB,YAAY,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,CAExE;AAED,6DAA6D;AAC7D,wBAAgB,aAAa,IAAI,IAAI,CAEpC;AAED,0DAA0D;AAC1D,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAE3D;AAED,2CAA2C;AAC3C,wBAAgB,iBAAiB,IAAI;IACnC,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;CACtB,CAEA;AAMD;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAexD;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAoBpE;AAED;;;GAGG;AACH,wBAAgB,KAAK,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAgBrE"}