@openlimiter/core 1.3.5 → 2.0.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 (73) hide show
  1. package/dist/acquire/cadence.d.ts +5 -3
  2. package/dist/acquire/cadence.d.ts.map +1 -1
  3. package/dist/acquire/cadence.js +14 -9
  4. package/dist/acquire/cadence.js.map +1 -1
  5. package/dist/acquire/coordination.d.ts.map +1 -1
  6. package/dist/acquire/coordination.js +3 -4
  7. package/dist/acquire/coordination.js.map +1 -1
  8. package/dist/acquire/credentials.d.ts +1 -1
  9. package/dist/acquire/credentials.d.ts.map +1 -1
  10. package/dist/acquire/credentials.js +8 -0
  11. package/dist/acquire/credentials.js.map +1 -1
  12. package/dist/acquire/cursor.d.ts +8 -0
  13. package/dist/acquire/cursor.d.ts.map +1 -0
  14. package/dist/acquire/cursor.js +60 -0
  15. package/dist/acquire/cursor.js.map +1 -0
  16. package/dist/acquire/identity.d.ts +1 -1
  17. package/dist/acquire/identity.js +1 -1
  18. package/dist/acquire/index.d.ts +1 -0
  19. package/dist/acquire/index.d.ts.map +1 -1
  20. package/dist/acquire/index.js +1 -0
  21. package/dist/acquire/index.js.map +1 -1
  22. package/dist/acquire/providers.d.ts +1 -0
  23. package/dist/acquire/providers.d.ts.map +1 -1
  24. package/dist/acquire/providers.js +10 -1
  25. package/dist/acquire/providers.js.map +1 -1
  26. package/dist/acquire/runner.d.ts +7 -14
  27. package/dist/acquire/runner.d.ts.map +1 -1
  28. package/dist/acquire/runner.js +144 -6
  29. package/dist/acquire/runner.js.map +1 -1
  30. package/dist/acquire/transport.d.ts +7 -1
  31. package/dist/acquire/transport.d.ts.map +1 -1
  32. package/dist/acquire/transport.js +30 -4
  33. package/dist/acquire/transport.js.map +1 -1
  34. package/dist/activity/contract.d.ts +108 -0
  35. package/dist/activity/contract.d.ts.map +1 -0
  36. package/dist/activity/contract.js +281 -0
  37. package/dist/activity/contract.js.map +1 -0
  38. package/dist/activity/spool.d.ts +20 -0
  39. package/dist/activity/spool.d.ts.map +1 -0
  40. package/dist/activity/spool.js +305 -0
  41. package/dist/activity/spool.js.map +1 -0
  42. package/dist/cache.d.ts +46 -1
  43. package/dist/cache.d.ts.map +1 -1
  44. package/dist/cache.js +117 -1
  45. package/dist/cache.js.map +1 -1
  46. package/dist/connection-state.d.ts +15 -0
  47. package/dist/connection-state.d.ts.map +1 -1
  48. package/dist/connection-state.js +18 -0
  49. package/dist/connection-state.js.map +1 -1
  50. package/dist/contracts/notify.d.ts +47 -0
  51. package/dist/contracts/notify.d.ts.map +1 -0
  52. package/dist/contracts/notify.js +83 -0
  53. package/dist/contracts/notify.js.map +1 -0
  54. package/dist/contracts/surfaces.d.ts +61 -0
  55. package/dist/contracts/surfaces.d.ts.map +1 -0
  56. package/dist/contracts/surfaces.js +73 -0
  57. package/dist/contracts/surfaces.js.map +1 -0
  58. package/dist/contracts/wire.d.ts +108 -0
  59. package/dist/contracts/wire.d.ts.map +1 -0
  60. package/dist/contracts/wire.js +202 -0
  61. package/dist/contracts/wire.js.map +1 -0
  62. package/dist/index.d.ts +4 -0
  63. package/dist/index.d.ts.map +1 -1
  64. package/dist/index.js +4 -0
  65. package/dist/index.js.map +1 -1
  66. package/dist/normalizer.d.ts.map +1 -1
  67. package/dist/normalizer.js +42 -7
  68. package/dist/normalizer.js.map +1 -1
  69. package/dist/types.d.ts +44 -10
  70. package/dist/types.d.ts.map +1 -1
  71. package/dist/types.js +7 -0
  72. package/dist/types.js.map +1 -1
  73. package/package.json +16 -1
@@ -1,6 +1,23 @@
1
+ /**
2
+ * One round of acquisition: read what is on this machine, ask each provider
3
+ * once, and say plainly what happened to every one of them.
4
+ *
5
+ * The parsers are injected rather than imported. This package sits underneath
6
+ * the connector package that owns them, and inverting that dependency to save
7
+ * one argument would put a provider response shape in the same module as the
8
+ * cache. So a caller wires its parsers in, and this file stays about cadence,
9
+ * ordering and honesty.
10
+ *
11
+ * Nothing here throws. A round that fails every provider still returns a row
12
+ * per provider saying why, because the surfaces above are a status line and a
13
+ * doctor command, and both of them owe a person an answer rather than a stack.
14
+ */
15
+ import { createHash } from "node:crypto";
16
+ import { lstat } from "node:fs/promises";
1
17
  import { normalizeMeters } from "../normalizer.js";
18
+ import { acquireMachineLease, recordAcquisitionAvailability, withPolicyFreshness } from "../cache.js";
2
19
  import { ACQUISITION_OUTCOME_SENTENCE, isProviderDue, nextAttemptInstant } from "./cadence.js";
3
- import { CREDENTIAL_FAILURE_SENTENCE, readAcquisitionCredential } from "./credentials.js";
20
+ import { CREDENTIAL_FAILURE_SENTENCE, credentialCandidatePaths, readAcquisitionCredential } from "./credentials.js";
4
21
  import { outcomeForStatus } from "./transport.js";
5
22
  import { AGY_NOT_RUNNING_SENTENCE } from "./antigravity-probe.js";
6
23
  import { isSharedCodeAssist } from "./providers.js";
@@ -24,10 +41,32 @@ export function collectionReasonFor(outcome) {
24
41
  return "network";
25
42
  return "remote_error";
26
43
  }
44
+ export function credentialExpired(credential, now) {
45
+ if (credential.expiresAtMilliseconds !== null && credential.expiresAtMilliseconds <= now)
46
+ return true;
47
+ try {
48
+ const part = credential.secret.split(".")[1];
49
+ if (!part)
50
+ return false;
51
+ const payload = JSON.parse(Buffer.from(part, "base64url").toString("utf8"));
52
+ return typeof payload.exp === "number" && Number.isFinite(payload.exp) && payload.exp * 1000 <= now;
53
+ }
54
+ catch {
55
+ return false;
56
+ }
57
+ }
27
58
  async function attempt(spec, credential, options) {
28
59
  const previous = [];
60
+ const started = Date.now();
29
61
  let retryAfter = null;
30
62
  for (const step of spec.steps) {
63
+ const at = options.clock?.() ?? Date.parse(options.now) + Date.now() - started;
64
+ if (credentialExpired(credential, at)) {
65
+ return { outcome: "unauthorized", meters: [], retryAfterSeconds: null, expiredCredentials: true };
66
+ }
67
+ if (options.lease && !(await options.lease.stillOwned(at))) {
68
+ return { outcome: "transport", meters: [], retryAfterSeconds: null };
69
+ }
31
70
  const decided = step({ credential, previous });
32
71
  if (decided === null) {
33
72
  return { outcome: "drift", meters: [], retryAfterSeconds: null };
@@ -97,11 +136,35 @@ export async function runAcquisition(specs, options) {
97
136
  ...options.schedule
98
137
  };
99
138
  const stamp = options.stamp ?? ((meters) => meters);
100
- const readCredential = options.readCredential ??
139
+ const credentialReader = options.readCredential ??
101
140
  ((provider) => readAcquisitionCredential(provider, {
102
141
  ...options.lookup,
103
142
  now: options.now
104
143
  }));
144
+ const observedCredentials = new Map();
145
+ const readCredential = async (provider) => {
146
+ const result = await credentialReader(provider);
147
+ if (result.ok)
148
+ observedCredentials.set(provider, result.credential);
149
+ return result;
150
+ };
151
+ const revisionFor = async (spec) => {
152
+ const credential = await readCredential(spec.credentialProvider);
153
+ const files = options.readCredential && !options.lookup ? [] : credentialCandidatePaths(spec.credentialProvider, options.lookup);
154
+ const mtimes = await Promise.all(files.map(async (file) => {
155
+ try {
156
+ return [file, (await lstat(file)).mtimeMs];
157
+ }
158
+ catch {
159
+ return [file, null];
160
+ }
161
+ }));
162
+ return createHash("sha256").update(JSON.stringify([credential, mtimes])).digest("hex");
163
+ };
164
+ const refused = (outcome) => outcome === "unauthorized" || outcome === "blocked" || outcome === "identity_refused";
165
+ const refusalAvailability = (outcome) => outcome === "unauthorized"
166
+ ? { availability: "expired_credentials" }
167
+ : outcome === "blocked" || outcome === "identity_refused" ? { availability: "access_denied" } : {};
105
168
  /**
106
169
  * One provider, start to finish.
107
170
  *
@@ -122,11 +185,13 @@ export async function runAcquisition(specs, options) {
122
185
  });
123
186
  return;
124
187
  }
125
- if (!isProviderDue(existing, options.now)) {
188
+ const changedRefusal = existing?.refusalRevision !== undefined && refused(existing.outcome) && existing.refusalRevision !== await revisionFor(spec);
189
+ if (!isProviderDue(existing, options.now) && !changedRefusal) {
126
190
  rows.push({
127
191
  provider: spec.provider,
128
192
  detected: true,
129
193
  status: "waiting",
194
+ ...(existing ? refusalAvailability(existing.outcome) : {}),
130
195
  reason: existing === undefined
131
196
  ? null
132
197
  : ACQUISITION_OUTCOME_SENTENCE[existing.outcome],
@@ -184,6 +249,16 @@ export async function runAcquisition(specs, options) {
184
249
  const credential = await readCredential(spec.credentialProvider);
185
250
  if (credential.ok && isSharedCodeAssist(credential.credential)) {
186
251
  const fallbackResult = await attempt(spec, credential.credential, options);
252
+ if (fallbackResult.outcome !== "ok") {
253
+ const expired = fallbackResult.expiredCredentials === true;
254
+ const nextAttemptAt = expired ? null : nextAttemptInstant(fallbackResult.outcome, options.now, fallbackResult.retryAfterSeconds, existing?.attempts ?? options.lease?.attempts ?? 0);
255
+ if (nextAttemptAt)
256
+ schedule[spec.provider] = { lastAttemptAt: options.now, nextAttemptAt, outcome: fallbackResult.outcome, attempts: (existing?.attempts ?? options.lease?.attempts ?? 0) + 1,
257
+ ...(refused(fallbackResult.outcome) ? { refusalRevision: await revisionFor(spec) } : {}) };
258
+ rows.push({ provider: spec.provider, detected: true, status: "stale", reason: expired ? CREDENTIAL_FAILURE_SENTENCE.expired : ACQUISITION_OUTCOME_SENTENCE[fallbackResult.outcome], nextAttemptAt, disclosure: spec.disclosure,
259
+ ...(expired ? { availability: "expired_credentials" } : fallbackResult.outcome === "rate_limited" && nextAttemptAt ? { availability: "rate_limited", retryAt: nextAttemptAt } : refusalAvailability(fallbackResult.outcome)) });
260
+ return;
261
+ }
187
262
  if (fallbackResult.outcome === "ok" && fallbackResult.meters.length > 0) {
188
263
  const accountId = spec.accountIdFor?.(credential.credential) ?? null;
189
264
  const accountLabel = spec.accountLabelFor?.(credential.credential) ?? null;
@@ -241,6 +316,7 @@ export async function runAcquisition(specs, options) {
241
316
  if (!credential.ok) {
242
317
  const absent = credential.reason === "absent";
243
318
  rows.push({
319
+ ...(credential.reason === "expired" ? { availability: "expired_credentials" } : {}),
244
320
  provider: spec.provider,
245
321
  detected: !absent,
246
322
  status: absent ? "not_detected" : "stale",
@@ -253,13 +329,22 @@ export async function runAcquisition(specs, options) {
253
329
  return;
254
330
  }
255
331
  const held = credential.credential;
332
+ if (credentialExpired(held, Date.parse(options.now))) {
333
+ rows.push({ provider: spec.provider, detected: true, status: "stale", availability: "expired_credentials", reason: CREDENTIAL_FAILURE_SENTENCE.expired, nextAttemptAt: null, disclosure: spec.disclosure });
334
+ return;
335
+ }
256
336
  const accountId = spec.accountIdFor?.(held) ?? null;
257
337
  const accountLabel = spec.accountLabelFor?.(held) ?? null;
258
338
  const disclosure = spec.disclosureFor?.(held) ?? spec.disclosure;
259
339
  const sentence = (outcome) => spec.outcomeSentence?.[outcome] ?? ACQUISITION_OUTCOME_SENTENCE[outcome];
260
340
  const result = await attempt(spec, held, options);
261
- const nextAttemptAt = nextAttemptInstant(result.outcome, options.now, result.retryAfterSeconds);
341
+ if (result.expiredCredentials) {
342
+ rows.push({ provider: spec.provider, detected: true, status: "stale", availability: "expired_credentials", reason: CREDENTIAL_FAILURE_SENTENCE.expired, nextAttemptAt: null, disclosure });
343
+ return;
344
+ }
345
+ const nextAttemptAt = nextAttemptInstant(result.outcome, options.clock ? new Date(options.clock()).toISOString() : options.now, result.retryAfterSeconds, existing?.attempts ?? options.lease?.attempts ?? 0);
262
346
  schedule[spec.provider] = {
347
+ attempts: result.outcome === "ok" ? 0 : (existing?.attempts ?? options.lease?.attempts ?? 0) + 1,
263
348
  lastAttemptAt: options.now,
264
349
  nextAttemptAt: nextAttemptAt ?? options.now,
265
350
  outcome: result.outcome
@@ -301,6 +386,8 @@ export async function runAcquisition(specs, options) {
301
386
  ? "drift"
302
387
  : result.outcome;
303
388
  schedule[spec.provider] = {
389
+ attempts: (existing?.attempts ?? options.lease?.attempts ?? 0) + 1,
390
+ ...(refused(outcome) ? { refusalRevision: await revisionFor(spec) } : {}),
304
391
  lastAttemptAt: options.now,
305
392
  nextAttemptAt: nextAttemptAt ?? options.now,
306
393
  outcome
@@ -310,14 +397,62 @@ export async function runAcquisition(specs, options) {
310
397
  ...(accountId === null ? {} : { accountId }),
311
398
  detected: true,
312
399
  status: "stale",
400
+ ...(outcome === "rate_limited" && nextAttemptAt ? { availability: "rate_limited", retryAt: nextAttemptAt } : refusalAvailability(outcome)),
313
401
  reason: sentence(outcome),
314
402
  nextAttemptAt,
315
403
  disclosure
316
404
  });
317
405
  };
318
406
  for (const spec of specs) {
407
+ let lease = null;
319
408
  try {
320
- await readOne(spec);
409
+ if (options.stateDirectory !== undefined && spec.enabled !== false) {
410
+ lease = await acquireMachineLease(spec.provider, options.stateDirectory, options.clock?.() ?? Date.parse(options.now), await revisionFor(spec));
411
+ if (lease === null) {
412
+ // A borrowed Gemini login describes the same quota. Reuse the observation
413
+ // from this round, retaining its age, instead of polling Code Assist twice.
414
+ if (spec.provider === "ANTIGRAVITY") {
415
+ const originalCredential = observedCredentials.get("GEMINI_CLI");
416
+ const credential = await readCredential(spec.credentialProvider);
417
+ const source = reports.find((report) => report.ok && report.provider === "GEMINI_CLI");
418
+ if (credential.ok && originalCredential?.secret === credential.credential.secret && isSharedCodeAssist(credential.credential) && !credentialExpired(credential.credential, Date.parse(options.now)) && source?.ok) {
419
+ const accountId = spec.accountIdFor?.(credential.credential) ?? null;
420
+ const accountLabel = spec.accountLabelFor?.(credential.credential) ?? null;
421
+ const snapshots = source.snapshots.map((snapshot) => ({ ...snapshot, provider: spec.provider,
422
+ ...(accountId ? { accountId } : {}), ...(accountLabel ? { accountLabel } : {}) }));
423
+ reports.push({ ...source, provider: spec.provider, ...(accountId ? { accountId } : {}), snapshots });
424
+ const previous = schedule["GEMINI_CLI"];
425
+ if (previous)
426
+ schedule[spec.provider] = previous;
427
+ rows.push({ provider: spec.provider, ...(accountId ? { accountId } : {}), detected: true, status: "read", reason: null,
428
+ nextAttemptAt: previous?.nextAttemptAt ?? null, disclosure: spec.disclosureFor?.(credential.credential) ?? spec.disclosure });
429
+ continue;
430
+ }
431
+ }
432
+ rows.push({ provider: spec.provider, detected: true, status: "waiting", reason: "another acquisition owns this provider or its retry deadline is pending", nextAttemptAt: null, disclosure: spec.disclosure });
433
+ continue;
434
+ }
435
+ // Read and persist each provider while its shared machine lease is held.
436
+ const { stateDirectory: _directory, ...localOptions } = options;
437
+ const previous = schedule[spec.provider];
438
+ const localSchedule = previous ? { ...schedule, [spec.provider]: { ...previous, attempts: Math.max(previous.attempts ?? 0, lease.attempts) } } : schedule;
439
+ const single = await runAcquisition([spec], { ...localOptions, readCredential, now: options.clock ? new Date(options.clock()).toISOString() : options.now, schedule: localSchedule, lease });
440
+ rows.push(...single.rows);
441
+ reports.push(...single.reports);
442
+ const updated = single.schedule[spec.provider];
443
+ if (updated)
444
+ schedule[spec.provider] = updated;
445
+ const entry = schedule[spec.provider];
446
+ if (entry)
447
+ await lease.complete(Date.parse(entry.nextAttemptAt), entry.attempts ?? 0, entry.refusalRevision);
448
+ for (const row of single.rows) {
449
+ if (row.availability)
450
+ await recordAcquisitionAvailability(spec.provider, row.availability, options.now, row.retryAt, options.stateDirectory);
451
+ }
452
+ }
453
+ else {
454
+ await readOne(spec);
455
+ }
321
456
  }
322
457
  catch {
323
458
  /*
@@ -339,7 +474,10 @@ export async function runAcquisition(specs, options) {
339
474
  disclosure: spec.disclosure
340
475
  });
341
476
  }
477
+ finally {
478
+ await lease?.release();
479
+ }
342
480
  }
343
- return { rows, reports, schedule };
481
+ return { rows, reports: reports.map((report) => report.ok ? { ...report, snapshots: report.snapshots.map(withPolicyFreshness) } : report), schedule };
344
482
  }
345
483
  //# sourceMappingURL=runner.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"runner.js","sourceRoot":"","sources":["../../src/acquire/runner.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAEnD,OAAO,EACL,4BAA4B,EAC5B,aAAa,EACb,kBAAkB,EAGnB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,2BAA2B,EAC3B,yBAAyB,EAK1B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,gBAAgB,EAIjB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,wBAAwB,EAGzB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAgIpD;;;;;;;;;;GAUG;AACH,MAAM,UAAU,mBAAmB,CACjC,OAA2B;IAE3B,IAAI,OAAO,KAAK,cAAc;QAAE,OAAO,gBAAgB,CAAC;IACxD,IAAI,OAAO,KAAK,cAAc;QAAE,OAAO,cAAc,CAAC;IACtD,IAAI,OAAO,KAAK,WAAW;QAAE,OAAO,SAAS,CAAC;IAC9C,OAAO,cAAc,CAAC;AACxB,CAAC;AAQD,KAAK,UAAU,OAAO,CACpB,IAAqB,EACrB,UAA8B,EAC9B,OAA8B;IAE9B,MAAM,QAAQ,GAAc,EAAE,CAAC;IAC/B,IAAI,UAAU,GAAkB,IAAI,CAAC;IACrC,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QAC9B,MAAM,OAAO,GAAG,IAAI,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC/C,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;YACrB,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC;QACnE,CAAC;QACD,IAAI,MAAM,IAAI,OAAO,EAAE,CAAC;YACtB,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,iBAAiB,EAAE,UAAU,EAAE,CAAC;QAC9E,CAAC;QACD,MAAM,OAAO,GAAG,OAAO,CAAC;QACxB,IAAI,KAAK,CAAC;QACV,IAAI,CAAC;YACH,KAAK,GAAG,MAAM,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAC3C,CAAC;QAAC,MAAM,CAAC;YACP;;qDAEyC;YACzC,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC;QACvE,CAAC;QACD,UAAU,GAAG,KAAK,CAAC,iBAAiB,CAAC;QACrC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE,iBAAiB,EAAE,UAAU,EAAE,CAAC;QAC7E,CAAC;QACD,MAAM,OAAO,GAAG,gBAAgB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC/C,IAAI,OAAO,KAAK,IAAI;YAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,iBAAiB,EAAE,UAAU,EAAE,CAAC;QACpF,IAAI,IAAa,CAAC;QAClB,IAAI,CAAC;YACH,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAY,CAAC;QAC3C,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,iBAAiB,EAAE,UAAU,EAAE,CAAC;QACzE,CAAC;QACD,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACtB,CAAC;IACD,MAAM,OAAO,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC9C;;;;;;OAMG;IACH,IAAI,MAAkC,CAAC;IACvC,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;IAC5C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,iBAAiB,EAAE,UAAU,EAAE,CAAC;IACzE,CAAC;IACD,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3C,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,iBAAiB,EAAE,UAAU,EAAE,CAAC;IACzE,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,iBAAiB,EAAE,UAAU,EAAE,CAAC;AAClE,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,KAAiC,EACjC,OAA8B;IAE9B,MAAM,IAAI,GAAqB,EAAE,CAAC;IAClC,MAAM,OAAO,GAAuB,EAAE,CAAC;IACvC,MAAM,QAAQ,GAAgD;QAC5D,GAAG,OAAO,CAAC,QAAQ;KACpB,CAAC;IACF,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,CAAC,CAAC,MAA2B,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC;IACzE,MAAM,cAAc,GAAG,OAAO,CAAC,cAAc;QAC3C,CAAC,CAAC,QAA6B,EAAE,EAAE,CACjC,yBAAyB,CAAC,QAAQ,EAAE;YAClC,GAAG,OAAO,CAAC,MAAM;YACjB,GAAG,EAAE,OAAO,CAAC,GAAG;SACjB,CAAC,CAAC,CAAC;IACR;;;;;;OAMG;IACH,MAAM,OAAO,GAAG,KAAK,EAAE,IAAqB,EAAiB,EAAE;QAC7D,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACzC,IAAI,IAAI,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;YAC3B,IAAI,CAAC,IAAI,CAAC;gBACR,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,QAAQ,EAAE,KAAK;gBACf,MAAM,EAAE,KAAK;gBACb,MAAM,EAAE,IAAI,CAAC,cAAc,IAAI,6BAA6B;gBAC5D,aAAa,EAAE,IAAI;gBACnB,UAAU,EAAE,IAAI,CAAC,UAAU;aAC5B,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QACD,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YAC1C,IAAI,CAAC,IAAI,CAAC;gBACR,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,QAAQ,EAAE,IAAI;gBACd,MAAM,EAAE,SAAS;gBACjB,MAAM,EAAE,QAAQ,KAAK,SAAS;oBAC5B,CAAC,CAAC,IAAI;oBACN,CAAC,CAAC,4BAA4B,CAAC,QAAQ,CAAC,OAAO,CAAC;gBAClD,aAAa,EAAE,QAAQ,EAAE,aAAa,IAAI,IAAI;gBAC9C,UAAU,EAAE,IAAI,CAAC,UAAU;aAC5B,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QACD,IAAI,IAAI,CAAC,QAAQ,KAAK,aAAa,IAAI,OAAO,CAAC,gBAAgB,KAAK,SAAS,EAAE,CAAC;YAC9E,IAAI,WAAmC,CAAC;YACxC,IAAI,CAAC;gBACH,WAAW,GAAG,MAAM,OAAO,CAAC,gBAAgB,CAAC;oBAC3C,GAAG,EAAE,OAAO,CAAC,GAAG;oBAChB,GAAG,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACnE,GAAG,CAAC,OAAO,CAAC,qBAAqB,KAAK,SAAS;wBAC7C,CAAC,CAAC,EAAE,qBAAqB,EAAE,OAAO,CAAC,qBAAqB,EAAE;wBAC1D,CAAC,CAAC,EAAE,CAAC;iBACR,CAAC,CAAC;YACL,CAAC;YAAC,MAAM,CAAC;gBACP,WAAW,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC;YACrD,CAAC;YACD,IAAI,WAAW,CAAC,EAAE,IAAI,WAAW,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACpD,MAAM,aAAa,GAAG,kBAAkB,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;gBAC5D,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG;oBACxB,aAAa,EAAE,OAAO,CAAC,GAAG;oBAC1B,aAAa,EAAE,aAAa,IAAI,OAAO,CAAC,GAAG;oBAC3C,OAAO,EAAE,IAAI;iBACd,CAAC;gBACF,MAAM,SAAS,GAAG,eAAe,CAC/B,KAAK,CAAC,WAAW,CAAC,MAAM,EAAE;oBACxB,MAAM,EAAE,EAAE;oBACV,SAAS,EAAE,IAAI;oBACf,qBAAqB,EAAE,IAAI;oBAC3B,MAAM,EAAE,cAAc;iBACvB,CAAC,CACH,CAAC;gBACF,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACzB,IAAI,CAAC,IAAI,CAAC;wBACR,QAAQ,EAAE,IAAI,CAAC,QAAQ;wBACvB,QAAQ,EAAE,IAAI;wBACd,MAAM,EAAE,MAAM;wBACd,MAAM,EAAE,IAAI;wBACZ,aAAa;wBACb,UAAU,EAAE,IAAI,CAAC,UAAU;qBAC5B,CAAC,CAAC;oBACH,OAAO,CAAC,IAAI,CAAC;wBACX,EAAE,EAAE,IAAI;wBACR,QAAQ,EAAE,IAAI,CAAC,QAAQ;wBACvB,UAAU,EAAE,OAAO,CAAC,GAAG;wBACvB,SAAS;qBACV,CAAC,CAAC;oBACH,OAAO;gBACT,CAAC;YACH,CAAC;YACD,IAAI,CAAC,WAAW,CAAC,EAAE,IAAI,WAAW,CAAC,MAAM,KAAK,aAAa,EAAE,CAAC;gBAC5D,MAAM,UAAU,GAAG,MAAM,cAAc,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;gBACjE,IAAI,UAAU,CAAC,EAAE,IAAI,kBAAkB,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;oBAC/D,MAAM,cAAc,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE,UAAU,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;oBAC3E,IAAI,cAAc,CAAC,OAAO,KAAK,IAAI,IAAI,cAAc,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACxE,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC;wBACrE,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC;wBAC3E,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC;wBAClF,MAAM,aAAa,GAAG,kBAAkB,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;wBAC5D,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG;4BACxB,aAAa,EAAE,OAAO,CAAC,GAAG;4BAC1B,aAAa,EAAE,aAAa,IAAI,OAAO,CAAC,GAAG;4BAC3C,OAAO,EAAE,IAAI;yBACd,CAAC;wBACF,MAAM,SAAS,GAAG,eAAe,CAC/B,KAAK,CAAC,cAAc,CAAC,MAAM,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;4BAClE,GAAG,KAAK;4BACR,GAAG,CAAC,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC;4BAC5C,GAAG,CAAC,YAAY,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC;yBACnD,CAAC,CAAC,CACJ,CAAC;wBACF,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;4BACzB,IAAI,CAAC,IAAI,CAAC;gCACR,QAAQ,EAAE,IAAI,CAAC,QAAQ;gCACvB,GAAG,CAAC,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC;gCAC5C,QAAQ,EAAE,IAAI;gCACd,MAAM,EAAE,MAAM;gCACd,MAAM,EAAE,IAAI;gCACZ,aAAa;gCACb,UAAU;6BACX,CAAC,CAAC;4BACH,OAAO,CAAC,IAAI,CAAC;gCACX,EAAE,EAAE,IAAI;gCACR,QAAQ,EAAE,IAAI,CAAC,QAAQ;gCACvB,GAAG,CAAC,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC;gCAC5C,UAAU,EAAE,OAAO,CAAC,GAAG;gCACvB,SAAS;6BACV,CAAC,CAAC;4BACH,OAAO;wBACT,CAAC;oBACH,CAAC;gBACH,CAAC;gBACD,MAAM,aAAa,GAAG,kBAAkB,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;gBAC5D,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG;oBACxB,aAAa,EAAE,OAAO,CAAC,GAAG;oBAC1B,aAAa,EAAE,aAAa,IAAI,OAAO,CAAC,GAAG;oBAC3C,OAAO,EAAE,OAAO;iBACjB,CAAC;gBACF,IAAI,CAAC,IAAI,CAAC;oBACR,QAAQ,EAAE,IAAI,CAAC,QAAQ;oBACvB,QAAQ,EAAE,IAAI;oBACd,MAAM,EAAE,OAAO;oBACf,MAAM,EAAE,wBAAwB;oBAChC,aAAa;oBACb,UAAU,EAAE,IAAI,CAAC,UAAU;iBAC5B,CAAC,CAAC;gBACH,OAAO;YACT,CAAC;QACH,CAAC;QACD,MAAM,UAAU,GAAG,MAAM,cAAc,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QACjE,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC;YACnB,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,KAAK,QAAQ,CAAC;YAC9C,IAAI,CAAC,IAAI,CAAC;gBACR,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,QAAQ,EAAE,CAAC,MAAM;gBACjB,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,OAAO;gBACzC,MAAM,EAAE,2BAA2B,CAAC,UAAU,CAAC,MAAM,CAAC;gBACtD,aAAa,EAAE,IAAI;gBACnB,UAAU,EAAE,IAAI,CAAC,UAAU;aAC5B,CAAC,CAAC;YACH;wEAC4D;YAC5D,OAAO;QACT,CAAC;QACD,MAAM,IAAI,GAAG,UAAU,CAAC,UAAU,CAAC;QACnC,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC;QACpD,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC;QAC1D,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC;QACjE,MAAM,QAAQ,GAAG,CAAC,OAA2B,EAAU,EAAE,CACvD,IAAI,CAAC,eAAe,EAAE,CAAC,OAAO,CAAC,IAAI,4BAA4B,CAAC,OAAO,CAAC,CAAC;QAC3E,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;QAClD,MAAM,aAAa,GAAG,kBAAkB,CACtC,MAAM,CAAC,OAAO,EACd,OAAO,CAAC,GAAG,EACX,MAAM,CAAC,iBAAiB,CACzB,CAAC;QACF,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG;YACxB,aAAa,EAAE,OAAO,CAAC,GAAG;YAC1B,aAAa,EAAE,aAAa,IAAI,OAAO,CAAC,GAAG;YAC3C,OAAO,EAAE,MAAM,CAAC,OAAO;SACxB,CAAC;QACF,MAAM,SAAS,GAAwB,MAAM,CAAC,OAAO,KAAK,IAAI;YAC5D,CAAC,CAAC,eAAe,CACb,SAAS,KAAK,IAAI;gBAChB,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC;gBAC5B,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;oBACzC,GAAG,KAAK;oBACR,SAAS;oBACT;6DACyC;oBACzC,GAAG,CAAC,YAAY,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC;iBACnD,CAAC,CAAC,CACR;YACH,CAAC,CAAC,EAAE,CAAC;QACP;kFAC0E;QAC1E,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,KAAK,IAAI,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;QACjE,IAAI,QAAQ,EAAE,CAAC;YACb,IAAI,CAAC,IAAI,CAAC;gBACR,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,GAAG,CAAC,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC;gBAC5C,QAAQ,EAAE,IAAI;gBACd,MAAM,EAAE,MAAM;gBACd,MAAM,EAAE,IAAI;gBACZ,aAAa;gBACb,UAAU;aACX,CAAC,CAAC;YACH,OAAO,CAAC,IAAI,CAAC;gBACX,EAAE,EAAE,IAAI;gBACR,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,GAAG,CAAC,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC;gBAC5C,UAAU,EAAE,OAAO,CAAC,GAAG;gBACvB,SAAS;aACV,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QACD,MAAM,OAAO,GAAuB,MAAM,CAAC,OAAO,KAAK,IAAI;YACzD,CAAC,CAAC,OAAO;YACT,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;QACnB,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG;YACxB,aAAa,EAAE,OAAO,CAAC,GAAG;YAC1B,aAAa,EAAE,aAAa,IAAI,OAAO,CAAC,GAAG;YAC3C,OAAO;SACR,CAAC;QACF,IAAI,CAAC,IAAI,CAAC;YACR,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,GAAG,CAAC,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC;YAC5C,QAAQ,EAAE,IAAI;YACd,MAAM,EAAE,OAAO;YACf,MAAM,EAAE,QAAQ,CAAC,OAAO,CAAC;YACzB,aAAa;YACb,UAAU;SACX,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC;YACH,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;QACtB,CAAC;QAAC,MAAM,CAAC;YACP;;;;eAIG;YACH,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG;gBACxB,aAAa,EAAE,OAAO,CAAC,GAAG;gBAC1B,aAAa,EAAE,kBAAkB,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,GAAG;gBACtE,OAAO,EAAE,OAAO;aACjB,CAAC;YACF,IAAI,CAAC,IAAI,CAAC;gBACR,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,QAAQ,EAAE,IAAI;gBACd,MAAM,EAAE,OAAO;gBACf,MAAM,EAAE,4BAA4B,CAAC,KAAK;gBAC1C,aAAa,EAAE,IAAI;gBACnB,UAAU,EAAE,IAAI,CAAC,UAAU;aAC5B,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;AACrC,CAAC"}
1
+ {"version":3,"file":"runner.js","sourceRoot":"","sources":["../../src/acquire/runner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAKzC,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,6BAA6B,EAAE,mBAAmB,EAAqB,MAAM,aAAa,CAAC;AAEzH,OAAO,EACL,4BAA4B,EAC5B,aAAa,EACb,kBAAkB,EAGnB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,2BAA2B,EAC3B,wBAAwB,EACxB,yBAAyB,EAK1B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,gBAAgB,EAIjB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,wBAAwB,EAGzB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAqIpD;;;;;;;;;;GAUG;AACH,MAAM,UAAU,mBAAmB,CACjC,OAA2B;IAE3B,IAAI,OAAO,KAAK,cAAc;QAAE,OAAO,gBAAgB,CAAC;IACxD,IAAI,OAAO,KAAK,cAAc;QAAE,OAAO,cAAc,CAAC;IACtD,IAAI,OAAO,KAAK,WAAW;QAAE,OAAO,SAAS,CAAC;IAC9C,OAAO,cAAc,CAAC;AACxB,CAAC;AASD,MAAM,UAAU,iBAAiB,CAAC,UAA8B,EAAE,GAAW;IAC3E,IAAI,UAAU,CAAC,qBAAqB,KAAK,IAAI,IAAI,UAAU,CAAC,qBAAqB,IAAI,GAAG;QAAE,OAAO,IAAI,CAAC;IACtG,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7C,IAAI,CAAC,IAAI;YAAE,OAAO,KAAK,CAAC;QACxB,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAsB,CAAC;QACjG,OAAO,OAAO,OAAO,CAAC,GAAG,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,GAAG,GAAG,IAAI,IAAI,GAAG,CAAC;IACtG,CAAC;IAAC,MAAM,CAAC;QAAC,OAAO,KAAK,CAAC;IAAC,CAAC;AAC3B,CAAC;AAED,KAAK,UAAU,OAAO,CACpB,IAAqB,EACrB,UAA8B,EAC9B,OAA8B;IAE9B,MAAM,QAAQ,GAAc,EAAE,CAAC;IAC/B,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC3B,IAAI,UAAU,GAAkB,IAAI,CAAC;IACrC,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QAC9B,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,EAAE,EAAE,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC;QAC/E,IAAI,iBAAiB,CAAC,UAAU,EAAE,EAAE,CAAC,EAAE,CAAC;YACtC,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,EAAE,EAAE,iBAAiB,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,CAAC;QACpG,CAAC;QACD,IAAI,OAAO,CAAC,KAAK,IAAI,CAAC,CAAC,MAAM,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;YAC3D,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC;QACvE,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC/C,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;YACrB,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC;QACnE,CAAC;QACD,IAAI,MAAM,IAAI,OAAO,EAAE,CAAC;YACtB,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,iBAAiB,EAAE,UAAU,EAAE,CAAC;QAC9E,CAAC;QACD,MAAM,OAAO,GAAG,OAAO,CAAC;QACxB,IAAI,KAAK,CAAC;QACV,IAAI,CAAC;YACH,KAAK,GAAG,MAAM,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAC3C,CAAC;QAAC,MAAM,CAAC;YACP;;qDAEyC;YACzC,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC;QACvE,CAAC;QACD,UAAU,GAAG,KAAK,CAAC,iBAAiB,CAAC;QACrC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE,iBAAiB,EAAE,UAAU,EAAE,CAAC;QAC7E,CAAC;QACD,MAAM,OAAO,GAAG,gBAAgB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC/C,IAAI,OAAO,KAAK,IAAI;YAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,iBAAiB,EAAE,UAAU,EAAE,CAAC;QACpF,IAAI,IAAa,CAAC;QAClB,IAAI,CAAC;YACH,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAY,CAAC;QAC3C,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,iBAAiB,EAAE,UAAU,EAAE,CAAC;QACzE,CAAC;QACD,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACtB,CAAC;IACD,MAAM,OAAO,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC9C;;;;;;OAMG;IACH,IAAI,MAAkC,CAAC;IACvC,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;IAC5C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,iBAAiB,EAAE,UAAU,EAAE,CAAC;IACzE,CAAC;IACD,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3C,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,iBAAiB,EAAE,UAAU,EAAE,CAAC;IACzE,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,iBAAiB,EAAE,UAAU,EAAE,CAAC;AAClE,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,KAAiC,EACjC,OAA8B;IAE9B,MAAM,IAAI,GAAqB,EAAE,CAAC;IAClC,MAAM,OAAO,GAAuB,EAAE,CAAC;IACvC,MAAM,QAAQ,GAAgD;QAC5D,GAAG,OAAO,CAAC,QAAQ;KACpB,CAAC;IACF,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,CAAC,CAAC,MAA2B,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC;IACzE,MAAM,gBAAgB,GAAG,OAAO,CAAC,cAAc;QAC7C,CAAC,CAAC,QAA6B,EAAE,EAAE,CACjC,yBAAyB,CAAC,QAAQ,EAAE;YAClC,GAAG,OAAO,CAAC,MAAM;YACjB,GAAG,EAAE,OAAO,CAAC,GAAG;SACjB,CAAC,CAAC,CAAC;IACR,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAA2C,CAAC;IAC/E,MAAM,cAAc,GAAG,KAAK,EAAE,QAA6B,EAA6B,EAAE;QACxF,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QAChD,IAAI,MAAM,CAAC,EAAE;YAAE,mBAAmB,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;QACpE,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;IACF,MAAM,WAAW,GAAG,KAAK,EAAE,IAAqB,EAAmB,EAAE;QACnE,MAAM,UAAU,GAAG,MAAM,cAAc,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QACjE,MAAM,KAAK,GAAG,OAAO,CAAC,cAAc,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,wBAAwB,CAAC,IAAI,CAAC,kBAAkB,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;QACjI,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;YACxD,IAAI,CAAC;gBAAC,OAAO,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC;gBAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAAC,CAAC;QACpF,CAAC,CAAC,CAAC,CAAC;QACJ,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACzF,CAAC,CAAC;IACF,MAAM,OAAO,GAAG,CAAC,OAA2B,EAAE,EAAE,CAAC,OAAO,KAAK,cAAc,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,kBAAkB,CAAC;IACvI,MAAM,mBAAmB,GAAG,CAAC,OAA2B,EAAE,EAAE,CAAC,OAAO,KAAK,cAAc;QACrF,CAAC,CAAC,EAAE,YAAY,EAAE,qBAA8B,EAAE;QAClD,CAAC,CAAC,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,kBAAkB,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,eAAwB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC9G;;;;;;OAMG;IACH,MAAM,OAAO,GAAG,KAAK,EAAE,IAAqB,EAAiB,EAAE;QAC7D,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACzC,IAAI,IAAI,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;YAC3B,IAAI,CAAC,IAAI,CAAC;gBACR,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,QAAQ,EAAE,KAAK;gBACf,MAAM,EAAE,KAAK;gBACb,MAAM,EAAE,IAAI,CAAC,cAAc,IAAI,6BAA6B;gBAC5D,aAAa,EAAE,IAAI;gBACnB,UAAU,EAAE,IAAI,CAAC,UAAU;aAC5B,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QACD,MAAM,cAAc,GAAG,QAAQ,EAAE,eAAe,KAAK,SAAS,IAAI,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,QAAQ,CAAC,eAAe,KAAK,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC;QACpJ,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YAC7D,IAAI,CAAC,IAAI,CAAC;gBACR,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,QAAQ,EAAE,IAAI;gBACd,MAAM,EAAE,SAAS;gBACjB,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,mBAAmB,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC1D,MAAM,EAAE,QAAQ,KAAK,SAAS;oBAC5B,CAAC,CAAC,IAAI;oBACN,CAAC,CAAC,4BAA4B,CAAC,QAAQ,CAAC,OAAO,CAAC;gBAClD,aAAa,EAAE,QAAQ,EAAE,aAAa,IAAI,IAAI;gBAC9C,UAAU,EAAE,IAAI,CAAC,UAAU;aAC5B,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QACD,IAAI,IAAI,CAAC,QAAQ,KAAK,aAAa,IAAI,OAAO,CAAC,gBAAgB,KAAK,SAAS,EAAE,CAAC;YAC9E,IAAI,WAAmC,CAAC;YACxC,IAAI,CAAC;gBACH,WAAW,GAAG,MAAM,OAAO,CAAC,gBAAgB,CAAC;oBAC3C,GAAG,EAAE,OAAO,CAAC,GAAG;oBAChB,GAAG,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACnE,GAAG,CAAC,OAAO,CAAC,qBAAqB,KAAK,SAAS;wBAC7C,CAAC,CAAC,EAAE,qBAAqB,EAAE,OAAO,CAAC,qBAAqB,EAAE;wBAC1D,CAAC,CAAC,EAAE,CAAC;iBACR,CAAC,CAAC;YACL,CAAC;YAAC,MAAM,CAAC;gBACP,WAAW,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC;YACrD,CAAC;YACD,IAAI,WAAW,CAAC,EAAE,IAAI,WAAW,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACpD,MAAM,aAAa,GAAG,kBAAkB,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;gBAC5D,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG;oBACxB,aAAa,EAAE,OAAO,CAAC,GAAG;oBAC1B,aAAa,EAAE,aAAa,IAAI,OAAO,CAAC,GAAG;oBAC3C,OAAO,EAAE,IAAI;iBACd,CAAC;gBACF,MAAM,SAAS,GAAG,eAAe,CAC/B,KAAK,CAAC,WAAW,CAAC,MAAM,EAAE;oBACxB,MAAM,EAAE,EAAE;oBACV,SAAS,EAAE,IAAI;oBACf,qBAAqB,EAAE,IAAI;oBAC3B,MAAM,EAAE,cAAc;iBACvB,CAAC,CACH,CAAC;gBACF,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACzB,IAAI,CAAC,IAAI,CAAC;wBACR,QAAQ,EAAE,IAAI,CAAC,QAAQ;wBACvB,QAAQ,EAAE,IAAI;wBACd,MAAM,EAAE,MAAM;wBACd,MAAM,EAAE,IAAI;wBACZ,aAAa;wBACb,UAAU,EAAE,IAAI,CAAC,UAAU;qBAC5B,CAAC,CAAC;oBACH,OAAO,CAAC,IAAI,CAAC;wBACX,EAAE,EAAE,IAAI;wBACR,QAAQ,EAAE,IAAI,CAAC,QAAQ;wBACvB,UAAU,EAAE,OAAO,CAAC,GAAG;wBACvB,SAAS;qBACV,CAAC,CAAC;oBACH,OAAO;gBACT,CAAC;YACH,CAAC;YACD,IAAI,CAAC,WAAW,CAAC,EAAE,IAAI,WAAW,CAAC,MAAM,KAAK,aAAa,EAAE,CAAC;gBAC5D,MAAM,UAAU,GAAG,MAAM,cAAc,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;gBACjE,IAAI,UAAU,CAAC,EAAE,IAAI,kBAAkB,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;oBAC/D,MAAM,cAAc,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE,UAAU,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;oBAC3E,IAAI,cAAc,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;wBACpC,MAAM,OAAO,GAAG,cAAc,CAAC,kBAAkB,KAAK,IAAI,CAAC;wBAC3D,MAAM,aAAa,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,kBAAkB,CAAC,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,EAAE,cAAc,CAAC,iBAAiB,EAAE,QAAQ,EAAE,QAAQ,IAAI,OAAO,CAAC,KAAK,EAAE,QAAQ,IAAI,CAAC,CAAC,CAAC;wBACrL,IAAI,aAAa;4BAAE,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,aAAa,EAAE,OAAO,CAAC,GAAG,EAAE,aAAa,EAAE,OAAO,EAAE,cAAc,CAAC,OAAO,EAAE,QAAQ,EAAE,CAAC,QAAQ,EAAE,QAAQ,IAAI,OAAO,CAAC,KAAK,EAAE,QAAQ,IAAI,CAAC,CAAC,GAAG,CAAC;gCAC3L,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;wBAC7F,IAAI,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,2BAA2B,CAAC,OAAO,CAAC,CAAC,CAAC,4BAA4B,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,aAAa,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU;4BAC5N,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,qBAA8B,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,OAAO,KAAK,cAAc,IAAI,aAAa,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,cAAuB,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,mBAAmB,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;wBACpP,OAAO;oBACT,CAAC;oBACD,IAAI,cAAc,CAAC,OAAO,KAAK,IAAI,IAAI,cAAc,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACxE,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC;wBACrE,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC;wBAC3E,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC;wBAClF,MAAM,aAAa,GAAG,kBAAkB,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;wBAC5D,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG;4BACxB,aAAa,EAAE,OAAO,CAAC,GAAG;4BAC1B,aAAa,EAAE,aAAa,IAAI,OAAO,CAAC,GAAG;4BAC3C,OAAO,EAAE,IAAI;yBACd,CAAC;wBACF,MAAM,SAAS,GAAG,eAAe,CAC/B,KAAK,CAAC,cAAc,CAAC,MAAM,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;4BAClE,GAAG,KAAK;4BACR,GAAG,CAAC,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC;4BAC5C,GAAG,CAAC,YAAY,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC;yBACnD,CAAC,CAAC,CACJ,CAAC;wBACF,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;4BACzB,IAAI,CAAC,IAAI,CAAC;gCACR,QAAQ,EAAE,IAAI,CAAC,QAAQ;gCACvB,GAAG,CAAC,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC;gCAC5C,QAAQ,EAAE,IAAI;gCACd,MAAM,EAAE,MAAM;gCACd,MAAM,EAAE,IAAI;gCACZ,aAAa;gCACb,UAAU;6BACX,CAAC,CAAC;4BACH,OAAO,CAAC,IAAI,CAAC;gCACX,EAAE,EAAE,IAAI;gCACR,QAAQ,EAAE,IAAI,CAAC,QAAQ;gCACvB,GAAG,CAAC,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC;gCAC5C,UAAU,EAAE,OAAO,CAAC,GAAG;gCACvB,SAAS;6BACV,CAAC,CAAC;4BACH,OAAO;wBACT,CAAC;oBACH,CAAC;gBACH,CAAC;gBACD,MAAM,aAAa,GAAG,kBAAkB,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;gBAC5D,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG;oBACxB,aAAa,EAAE,OAAO,CAAC,GAAG;oBAC1B,aAAa,EAAE,aAAa,IAAI,OAAO,CAAC,GAAG;oBAC3C,OAAO,EAAE,OAAO;iBACjB,CAAC;gBACF,IAAI,CAAC,IAAI,CAAC;oBACR,QAAQ,EAAE,IAAI,CAAC,QAAQ;oBACvB,QAAQ,EAAE,IAAI;oBACd,MAAM,EAAE,OAAO;oBACf,MAAM,EAAE,wBAAwB;oBAChC,aAAa;oBACb,UAAU,EAAE,IAAI,CAAC,UAAU;iBAC5B,CAAC,CAAC;gBACH,OAAO;YACT,CAAC;QACH,CAAC;QACD,MAAM,UAAU,GAAG,MAAM,cAAc,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QACjE,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC;YACnB,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,KAAK,QAAQ,CAAC;YAC9C,IAAI,CAAC,IAAI,CAAC;gBACR,GAAG,CAAC,UAAU,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,qBAA8B,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC5F,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,QAAQ,EAAE,CAAC,MAAM;gBACjB,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,OAAO;gBACzC,MAAM,EAAE,2BAA2B,CAAC,UAAU,CAAC,MAAM,CAAC;gBACtD,aAAa,EAAE,IAAI;gBACnB,UAAU,EAAE,IAAI,CAAC,UAAU;aAC5B,CAAC,CAAC;YACH;wEAC4D;YAC5D,OAAO;QACT,CAAC;QACD,MAAM,IAAI,GAAG,UAAU,CAAC,UAAU,CAAC;QACnC,IAAI,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YACrD,IAAI,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,qBAAqB,EAAE,MAAM,EAAE,2BAA2B,CAAC,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;YAC5M,OAAO;QACT,CAAC;QACD,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC;QACpD,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC;QAC1D,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC;QACjE,MAAM,QAAQ,GAAG,CAAC,OAA2B,EAAU,EAAE,CACvD,IAAI,CAAC,eAAe,EAAE,CAAC,OAAO,CAAC,IAAI,4BAA4B,CAAC,OAAO,CAAC,CAAC;QAC3E,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;QAClD,IAAI,MAAM,CAAC,kBAAkB,EAAE,CAAC;YAC9B,IAAI,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,qBAAqB,EAAE,MAAM,EAAE,2BAA2B,CAAC,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;YAC3L,OAAO;QACT,CAAC;QACD,MAAM,aAAa,GAAG,kBAAkB,CACtC,MAAM,CAAC,OAAO,EACd,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EACrE,MAAM,CAAC,iBAAiB,EACxB,QAAQ,EAAE,QAAQ,IAAI,OAAO,CAAC,KAAK,EAAE,QAAQ,IAAI,CAAC,CACnD,CAAC;QACF,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG;YACxB,QAAQ,EAAE,MAAM,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,QAAQ,IAAI,OAAO,CAAC,KAAK,EAAE,QAAQ,IAAI,CAAC,CAAC,GAAG,CAAC;YAChG,aAAa,EAAE,OAAO,CAAC,GAAG;YAC1B,aAAa,EAAE,aAAa,IAAI,OAAO,CAAC,GAAG;YAC3C,OAAO,EAAE,MAAM,CAAC,OAAO;SACxB,CAAC;QACF,MAAM,SAAS,GAAwB,MAAM,CAAC,OAAO,KAAK,IAAI;YAC5D,CAAC,CAAC,eAAe,CACb,SAAS,KAAK,IAAI;gBAChB,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC;gBAC5B,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;oBACzC,GAAG,KAAK;oBACR,SAAS;oBACT;6DACyC;oBACzC,GAAG,CAAC,YAAY,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC;iBACnD,CAAC,CAAC,CACR;YACH,CAAC,CAAC,EAAE,CAAC;QACP;kFAC0E;QAC1E,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,KAAK,IAAI,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;QACjE,IAAI,QAAQ,EAAE,CAAC;YACb,IAAI,CAAC,IAAI,CAAC;gBACR,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,GAAG,CAAC,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC;gBAC5C,QAAQ,EAAE,IAAI;gBACd,MAAM,EAAE,MAAM;gBACd,MAAM,EAAE,IAAI;gBACZ,aAAa;gBACb,UAAU;aACX,CAAC,CAAC;YACH,OAAO,CAAC,IAAI,CAAC;gBACX,EAAE,EAAE,IAAI;gBACR,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,GAAG,CAAC,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC;gBAC5C,UAAU,EAAE,OAAO,CAAC,GAAG;gBACvB,SAAS;aACV,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QACD,MAAM,OAAO,GAAuB,MAAM,CAAC,OAAO,KAAK,IAAI;YACzD,CAAC,CAAC,OAAO;YACT,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;QACnB,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG;YACxB,QAAQ,EAAE,CAAC,QAAQ,EAAE,QAAQ,IAAI,OAAO,CAAC,KAAK,EAAE,QAAQ,IAAI,CAAC,CAAC,GAAG,CAAC;YAClE,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACzE,aAAa,EAAE,OAAO,CAAC,GAAG;YAC1B,aAAa,EAAE,aAAa,IAAI,OAAO,CAAC,GAAG;YAC3C,OAAO;SACR,CAAC;QACF,IAAI,CAAC,IAAI,CAAC;YACR,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,GAAG,CAAC,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC;YAC5C,QAAQ,EAAE,IAAI;YACd,MAAM,EAAE,OAAO;YACf,GAAG,CAAC,OAAO,KAAK,cAAc,IAAI,aAAa,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,cAAuB,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;YACnJ,MAAM,EAAE,QAAQ,CAAC,OAAO,CAAC;YACzB,aAAa;YACb,UAAU;SACX,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,KAAK,GAAwB,IAAI,CAAC;QACtC,IAAI,CAAC;YACH,IAAI,OAAO,CAAC,cAAc,KAAK,SAAS,IAAI,IAAI,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;gBACnE,KAAK,GAAG,MAAM,mBAAmB,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,cAAc,EAAE,OAAO,CAAC,KAAK,EAAE,EAAE,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;gBAChJ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;oBACnB,0EAA0E;oBAC1E,4EAA4E;oBAC5E,IAAI,IAAI,CAAC,QAAQ,KAAK,aAAa,EAAE,CAAC;wBACpC,MAAM,kBAAkB,GAAG,mBAAmB,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;wBACjE,MAAM,UAAU,GAAG,MAAM,cAAc,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;wBACjE,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,IAAI,MAAM,CAAC,QAAQ,KAAK,YAAY,CAAC,CAAC;wBACvF,IAAI,UAAU,CAAC,EAAE,IAAI,kBAAkB,EAAE,MAAM,KAAK,UAAU,CAAC,UAAU,CAAC,MAAM,IAAI,kBAAkB,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,MAAM,EAAE,EAAE,EAAE,CAAC;4BAClN,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC;4BACrE,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC;4BAC3E,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ;gCAC1F,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;4BACrF,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC;4BACrG,MAAM,QAAQ,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAC;4BACxC,IAAI,QAAQ;gCAAE,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAC;4BACjD,IAAI,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI;gCACpH,aAAa,EAAE,QAAQ,EAAE,aAAa,IAAI,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;4BAChI,SAAS;wBACX,CAAC;oBACH,CAAC;oBACD,IAAI,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,yEAAyE,EAAE,aAAa,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;oBAC/M,SAAS;gBACX,CAAC;gBACD,yEAAyE;gBACzE,MAAM,EAAE,cAAc,EAAE,UAAU,EAAE,GAAG,YAAY,EAAE,GAAG,OAAO,CAAC;gBAChE,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACzC,MAAM,aAAa,GAAG,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAG,QAAQ,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,GAAG,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,IAAI,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;gBAC1J,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,GAAG,YAAY,EAAE,cAAc,EAAE,GAAG,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,CAAC;gBAC7L,IAAI,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;gBAC1B,OAAO,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;gBAChC,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAC/C,IAAI,OAAO;oBAAE,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC;gBAC/C,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACtC,IAAI,KAAK;oBAAE,MAAM,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE,KAAK,CAAC,QAAQ,IAAI,CAAC,EAAE,KAAK,CAAC,eAAe,CAAC,CAAC;gBAC7G,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;oBAC9B,IAAI,GAAG,CAAC,YAAY;wBAAE,MAAM,6BAA6B,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,YAAY,EAAE,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;gBAC/I,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;YACtB,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP;;;;eAIG;YACH,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG;gBACxB,aAAa,EAAE,OAAO,CAAC,GAAG;gBAC1B,aAAa,EAAE,kBAAkB,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,GAAG;gBACtE,OAAO,EAAE,OAAO;aACjB,CAAC;YACF,IAAI,CAAC,IAAI,CAAC;gBACR,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,QAAQ,EAAE,IAAI;gBACd,MAAM,EAAE,OAAO;gBACf,MAAM,EAAE,4BAA4B,CAAC,KAAK;gBAC1C,aAAa,EAAE,IAAI;gBACnB,UAAU,EAAE,IAAI,CAAC,UAAU;aAC5B,CAAC,CAAC;QACL,CAAC;gBAAS,CAAC;YACT,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC;QACzB,CAAC;IACH,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,CAAC;AACxJ,CAAC"}
@@ -14,6 +14,7 @@ export declare const GEMINI_CLI_QUOTA_URL = "https://cloudcode-pa.googleapis.com
14
14
  export declare const GROK_USAGE_URL = "https://cli-chat-proxy.grok.com/v1/billing?format=credits";
15
15
  /** The Kimi Code usage report the official Kimi CLI reads. */
16
16
  export declare const KIMI_USAGE_URL = "https://api.kimi.com/coding/v1/usages";
17
+ export declare const CURSOR_USAGE_URL = "https://cursor.com/api/usage-summary";
17
18
  /** The OpenRouter inference key report: limit, remaining and usage. */
18
19
  export declare const OPENROUTER_KEY_URL = "https://openrouter.ai/api/v1/key";
19
20
  /**
@@ -49,6 +50,10 @@ export declare const ACQUISITION_ENDPOINTS: {
49
50
  readonly url: "https://api.kimi.com/coding/v1/usages";
50
51
  readonly method: "GET";
51
52
  };
53
+ readonly cursor_usage: {
54
+ readonly url: "https://cursor.com/api/usage-summary";
55
+ readonly method: "GET";
56
+ };
52
57
  readonly openrouter_key: {
53
58
  readonly url: "https://openrouter.ai/api/v1/key";
54
59
  readonly method: "GET";
@@ -126,6 +131,7 @@ export declare function codeAssistQuotaRequest(secret: string, project: string):
126
131
  export declare function grokBillingRequest(secret: string, accountId: string | null): AcquisitionRequest | null;
127
132
  /** The Kimi Code usage request. */
128
133
  export declare function kimiUsageRequest(secret: string): AcquisitionRequest | null;
134
+ export declare function cursorUsageRequest(secret: string, authId: string): AcquisitionRequest | null;
129
135
  /** The OpenRouter key report, the one documented interface in this table. */
130
136
  export declare function openrouterKeyRequest(secret: string): AcquisitionRequest | null;
131
137
  /**
@@ -163,7 +169,7 @@ export type AcquisitionTransport = (request: AcquisitionRequest) => Promise<Acqu
163
169
  */
164
170
  export declare function outcomeForStatus(status: number): AcquisitionOutcome;
165
171
  /** Retry-After in seconds, when the header is a count of seconds we believe. */
166
- export declare function retryAfterSeconds(value: string | null): number | null;
172
+ export declare function retryAfterSeconds(value: string | null, now?: number): number | null;
167
173
  /**
168
174
  * The header names an acquisition request may carry.
169
175
  *
@@ -1 +1 @@
1
- {"version":3,"file":"transport.d.ts","sourceRoot":"","sources":["../../src/acquire/transport.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transport.d.ts","sourceRoot":"","sources":["../../src/acquire/transport.ts"],"names":[],"mappings":"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"}
@@ -31,6 +31,7 @@ export const GEMINI_CLI_QUOTA_URL = "https://cloudcode-pa.googleapis.com/v1inter
31
31
  export const GROK_USAGE_URL = "https://cli-chat-proxy.grok.com/v1/billing?format=credits";
32
32
  /** The Kimi Code usage report the official Kimi CLI reads. */
33
33
  export const KIMI_USAGE_URL = "https://api.kimi.com/coding/v1/usages";
34
+ export const CURSOR_USAGE_URL = "https://cursor.com/api/usage-summary";
34
35
  /** The OpenRouter inference key report: limit, remaining and usage. */
35
36
  export const OPENROUTER_KEY_URL = "https://openrouter.ai/api/v1/key";
36
37
  /**
@@ -48,6 +49,7 @@ export const ACQUISITION_ENDPOINTS = {
48
49
  code_assist_quota: { url: GEMINI_CLI_QUOTA_URL, method: "POST" },
49
50
  grok_billing: { url: GROK_USAGE_URL, method: "GET" },
50
51
  kimi_usage: { url: KIMI_USAGE_URL, method: "GET" },
52
+ cursor_usage: { url: CURSOR_USAGE_URL, method: "GET" },
51
53
  openrouter_key: { url: OPENROUTER_KEY_URL, method: "GET" }
52
54
  };
53
55
  /* ---------------------------------------------------------------- headers */
@@ -202,6 +204,17 @@ export function kimiUsageRequest(secret) {
202
204
  body: null
203
205
  };
204
206
  }
207
+ export function cursorUsageRequest(secret, authId) {
208
+ if (!/^[A-Za-z0-9._-]{1,16384}$/u.test(secret) || !/^[A-Za-z0-9._-]{1,16384}$/u.test(authId))
209
+ return null;
210
+ return {
211
+ endpoint: "cursor_usage", url: CURSOR_USAGE_URL, method: "GET", body: null,
212
+ headers: {
213
+ "user-agent": OPENLIMITER_USER_AGENT, accept: "application/json",
214
+ cookie: `WorkosCursorSessionToken=${authId}::${secret}`
215
+ }
216
+ };
217
+ }
205
218
  /** The OpenRouter key report, the one documented interface in this table. */
206
219
  export function openrouterKeyRequest(secret) {
207
220
  if (!usableHeaderSecret(secret))
@@ -262,14 +275,18 @@ export function outcomeForStatus(status) {
262
275
  return "remote_error";
263
276
  }
264
277
  /** Retry-After in seconds, when the header is a count of seconds we believe. */
265
- export function retryAfterSeconds(value) {
278
+ export function retryAfterSeconds(value, now = Date.now()) {
266
279
  if (value === null)
267
280
  return null;
268
281
  const trimmed = value.trim();
269
- if (!/^\d{1,7}$/u.test(trimmed))
282
+ if (/^\d+$/u.test(trimmed)) {
283
+ const seconds = Number(trimmed);
284
+ return Number.isSafeInteger(seconds) ? seconds : null;
285
+ }
286
+ if (!/^[A-Za-z]{3}, /u.test(trimmed))
270
287
  return null;
271
- const seconds = Number.parseInt(trimmed, 10);
272
- return Number.isFinite(seconds) && seconds > 0 ? seconds : null;
288
+ const deadline = Date.parse(trimmed);
289
+ return Number.isFinite(deadline) ? Math.max(0, Math.ceil((deadline - now) / 1_000)) : null;
273
290
  }
274
291
  /**
275
292
  * The header names an acquisition request may carry.
@@ -281,6 +298,7 @@ export function retryAfterSeconds(value) {
281
298
  */
282
299
  export const ALLOWED_REQUEST_HEADERS = [
283
300
  "authorization",
301
+ "cookie",
284
302
  "accept",
285
303
  "user-agent",
286
304
  "content-type",
@@ -304,6 +322,8 @@ function validHeaderValue(name, value, method) {
304
322
  return value === OPENLIMITER_USER_AGENT;
305
323
  if (name === "accept")
306
324
  return value === "application/json";
325
+ if (name === "cookie")
326
+ return /^WorkosCursorSessionToken=[A-Za-z0-9._-]{1,16384}::[A-Za-z0-9._-]{1,16384}$/u.test(value);
307
327
  if (name === "content-type") {
308
328
  return value === "application/json" && method === "POST";
309
329
  }
@@ -371,6 +391,12 @@ export function validAcquisitionRequest(request) {
371
391
  return false;
372
392
  if (request.headers["user-agent"] !== OPENLIMITER_USER_AGENT)
373
393
  return false;
394
+ if (request.endpoint === "cursor_usage") {
395
+ if (Object.keys(request.headers).sort().join(",") !== "accept,cookie,user-agent")
396
+ return false;
397
+ }
398
+ else if (request.headers["cookie"] !== undefined)
399
+ return false;
374
400
  for (const name of Object.keys(request.headers)) {
375
401
  if (!ALLOWED_REQUEST_HEADERS.includes(name))
376
402
  return false;
@@ -1 +1 @@
1
- {"version":3,"file":"transport.js","sourceRoot":"","sources":["../../src/acquire/transport.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transport.js","sourceRoot":"","sources":["../../src/acquire/transport.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,108 @@
1
+ /** Local activity protocol. No collector, clock, storage or notification delivery. */
2
+ export declare const ACTIVITY_EVENT_VERSION = 1;
3
+ export declare const MAX_ACTIVITY_EVENT_BYTES: number;
4
+ export declare const MAX_ACTIVITY_SPOOL_BYTES: number;
5
+ export declare const MAX_ACTIVITY_EVENT_AGE_MS: number;
6
+ /** Proposed live cap, frozen for consumers of version 1. */
7
+ export declare const MAX_LIVE_ACTIVITY_SESSIONS = 64;
8
+ export declare const ACTIVITY_SESSION_RETIREMENT_MS: number;
9
+ export declare const ACTIVITY_AGENTS: readonly ["claude_code", "codex", "muse", "gemini_cli", "cursor", "kimi", "grok", "antigravity"];
10
+ export declare const ACTIVITY_STATES: readonly ["busy", "waiting", "done", "idle", "unknown"];
11
+ export declare const ACTIVITY_SOURCES: readonly ["hook", "registry", "transcript", "rollout", "editor_state"];
12
+ export declare const ACTIVITY_SIGNALS: readonly ["observation", "user_question", "claude_stop", "process_vanished", "session_ended"];
13
+ export type ActivityAgent = (typeof ACTIVITY_AGENTS)[number];
14
+ export type ActivityState = (typeof ACTIVITY_STATES)[number];
15
+ export type ActivityConfidence = "explicit" | "inferred";
16
+ export type ActivityOutcome = "cancelled" | "failed";
17
+ /** LOCAL ONLY. The hook reports ppid; the desktop resolves pid and startedAt together. */
18
+ export interface ActivityProcess {
19
+ ppid?: number;
20
+ pid?: number;
21
+ startedAt?: string;
22
+ }
23
+ export interface ActivityEvent {
24
+ version: typeof ACTIVITY_EVENT_VERSION;
25
+ eventId: string;
26
+ /** Exact opaque id from the agent payload, never a path or a fabricated parent id. */
27
+ sessionId: string;
28
+ sequence: number;
29
+ agent: ActivityAgent;
30
+ accountAlias?: string;
31
+ observedAt: string;
32
+ state: ActivityState;
33
+ outcome?: ActivityOutcome;
34
+ source: (typeof ACTIVITY_SOURCES)[number];
35
+ confidence: ActivityConfidence;
36
+ process?: ActivityProcess;
37
+ /** Structural metadata only. Adapters must never attach the question itself. */
38
+ signal?: (typeof ACTIVITY_SIGNALS)[number];
39
+ parentSessionId?: string;
40
+ isSidechain?: boolean;
41
+ }
42
+ export type HookActivityEvent = Omit<ActivityEvent, "source" | "process"> & {
43
+ source: "hook";
44
+ process?: {
45
+ ppid: number;
46
+ pid?: never;
47
+ startedAt?: never;
48
+ };
49
+ };
50
+ /** Shared boundary primitives, deliberately independent of Node and browser state. */
51
+ export declare function isContractObject(value: unknown): value is Record<string, unknown>;
52
+ export declare function isContractInstant(value: unknown): value is string;
53
+ export declare function hasOnlyContractKeys(value: Record<string, unknown>, keys: readonly string[]): boolean;
54
+ /** Strict spool boundary. now is epoch milliseconds supplied by the consumer. */
55
+ export declare function isActivityEvent(value: unknown, now: number, origin?: "hook" | "desktop"): value is ActivityEvent;
56
+ /** Validate original byte size before parsing; reserialization alone misses whitespace padding. */
57
+ export declare function readActivityEvent(serialized: string, now: number, origin?: "hook" | "desktop"): ActivityEvent;
58
+ export interface ActivitySession {
59
+ sessionId: string;
60
+ agent: ActivityAgent;
61
+ accountAlias?: string;
62
+ state: ActivityState;
63
+ confidence: ActivityConfidence;
64
+ outcome?: ActivityOutcome;
65
+ firstObservedAt: string;
66
+ observedAt: string;
67
+ stateChangedAt: string;
68
+ endedAt?: string;
69
+ sequence: number;
70
+ seenEventIds: readonly string[];
71
+ process?: ActivityProcess;
72
+ awaitingInput: boolean;
73
+ /** Set only by a separate user preference, never copied from events. */
74
+ userProjectLabel?: string;
75
+ }
76
+ export interface ActivityTransition {
77
+ session: ActivitySession;
78
+ notification: "agent_waiting" | "agent_done" | null;
79
+ reason: "baseline" | "applied" | "duplicate" | "out_of_order" | "other_session" | "child" | "lower_confidence";
80
+ }
81
+ /** Batch dedupe across sessions before applying per session sequence precedence. */
82
+ export declare function dedupeActivityEvents(events: readonly ActivityEvent[]): ActivityEvent[];
83
+ /**
84
+ * Call only with validated events. Sequence is monotonic for a session across sources.
85
+ * Suppressed observations still advance dedupe, but never weaken the winning evidence.
86
+ */
87
+ export declare function nextSessionState(previous: ActivitySession | null, event: ActivityEvent): ActivityTransition;
88
+ /** Retirement uses the state/ending time, so repeated idle polls cannot keep it alive. */
89
+ export declare function shouldRetireActivitySession(session: ActivitySession, now: number): boolean;
90
+ export interface ActivityUploadRecord {
91
+ sessionId: string;
92
+ agent: ActivityAgent;
93
+ state: ActivityState;
94
+ confidence: ActivityConfidence;
95
+ firstObservedAt: string;
96
+ observedAt: string;
97
+ stateChangedAt: string;
98
+ userProjectLabel?: string;
99
+ }
100
+ export interface ActivityDisplayRecord extends ActivityUploadRecord {
101
+ outcome?: ActivityOutcome;
102
+ }
103
+ export declare function isActivityUploadRecord(value: unknown): value is ActivityUploadRecord;
104
+ export declare function isActivityDisplayRecord(value: unknown): value is ActivityDisplayRecord;
105
+ /** An explicit allowlist. Never spread a session, event, alias or process into either record. */
106
+ export declare function toUploadRecord(session: ActivitySession): ActivityUploadRecord;
107
+ export declare function toDisplayRecord(session: ActivitySession): ActivityDisplayRecord;
108
+ //# sourceMappingURL=contract.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../../src/activity/contract.ts"],"names":[],"mappings":"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"}