@zimtsui/brainswitch 0.0.4 → 0.0.6

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 (66) hide show
  1. package/build/adaptor.d.ts +1 -1
  2. package/build/adaptor.js +15 -16
  3. package/build/adaptor.js.map +1 -1
  4. package/build/agentloop.d.ts +2 -2
  5. package/build/agentloop.js +3 -3
  6. package/build/agentloop.js.map +1 -1
  7. package/build/api-types/aliyun-stream.d.ts +16 -0
  8. package/build/api-types/aliyun-stream.js +22 -0
  9. package/build/api-types/aliyun-stream.js.map +1 -0
  10. package/build/api-types/base.d.ts +7 -2
  11. package/build/api-types/base.js +15 -2
  12. package/build/api-types/base.js.map +1 -1
  13. package/build/api-types/google-base.d.ts +3 -3
  14. package/build/api-types/google-base.js +3 -3
  15. package/build/api-types/google-base.js.map +1 -1
  16. package/build/api-types/google-rest.d.ts +14 -14
  17. package/build/api-types/google-rest.js +29 -47
  18. package/build/api-types/google-rest.js.map +1 -1
  19. package/build/api-types/openai-chatcompletions-base.d.ts +3 -4
  20. package/build/api-types/openai-chatcompletions-base.js +3 -7
  21. package/build/api-types/openai-chatcompletions-base.js.map +1 -1
  22. package/build/api-types/openai-chatcompletions-monolith-base.d.ts +3 -3
  23. package/build/api-types/openai-chatcompletions-monolith-base.js +10 -11
  24. package/build/api-types/openai-chatcompletions-monolith-base.js.map +1 -1
  25. package/build/api-types/openai-chatcompletions-stream-base.d.ts +3 -3
  26. package/build/api-types/openai-chatcompletions-stream-base.js +8 -9
  27. package/build/api-types/openai-chatcompletions-stream-base.js.map +1 -1
  28. package/build/api-types/openai-chatcompletions.d.ts +9 -6
  29. package/build/api-types/openai-chatcompletions.js +16 -12
  30. package/build/api-types/openai-chatcompletions.js.map +1 -1
  31. package/build/api-types/openai-responses.d.ts +6 -6
  32. package/build/api-types/openai-responses.js +21 -23
  33. package/build/api-types/openai-responses.js.map +1 -1
  34. package/build/api-types/openrouter-monolith.d.ts +8 -6
  35. package/build/api-types/openrouter-monolith.js +14 -11
  36. package/build/api-types/openrouter-monolith.js.map +1 -1
  37. package/build/api-types/openrouter-stream.d.ts +8 -6
  38. package/build/api-types/openrouter-stream.js +14 -11
  39. package/build/api-types/openrouter-stream.js.map +1 -1
  40. package/build/config.d.ts +1 -2
  41. package/build/endpoint-spec.d.ts +1 -2
  42. package/build/endpoint-spec.js +1 -3
  43. package/build/endpoint-spec.js.map +1 -1
  44. package/build/engine.d.ts +7 -6
  45. package/build/engine.js +0 -12
  46. package/build/engine.js.map +1 -1
  47. package/build/throttle.d.ts +3 -7
  48. package/build/throttle.js +17 -31
  49. package/build/throttle.js.map +1 -1
  50. package/build/tsconfig.tsbuildinfo +1 -1
  51. package/package.json +1 -2
  52. package/build/api-types/huggingface-cerebras-qwen3-thinking.d.ts +0 -15
  53. package/build/api-types/huggingface-cerebras-qwen3-thinking.js +0 -57
  54. package/build/api-types/huggingface-cerebras-qwen3-thinking.js.map +0 -1
  55. package/build/api-types/qwen.d.ts +0 -13
  56. package/build/api-types/qwen.js +0 -18
  57. package/build/api-types/qwen.js.map +0 -1
  58. package/build/assets.d.ts +0 -7
  59. package/build/assets.js +0 -8
  60. package/build/assets.js.map +0 -1
  61. package/build/safe-engine.d.ts +0 -6
  62. package/build/safe-engine.js +0 -16
  63. package/build/safe-engine.js.map +0 -1
  64. package/build/validate.d.ts +0 -34
  65. package/build/validate.js +0 -56
  66. package/build/validate.js.map +0 -1
@@ -7,13 +7,12 @@ export declare namespace EndpointSpec {
7
7
  apiKey: import("@sinclair/typebox").TString;
8
8
  model: import("@sinclair/typebox").TString;
9
9
  name: import("@sinclair/typebox").TString;
10
- apiType: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"openai-chatcompletions">, import("@sinclair/typebox").TLiteral<"openai-responses">, import("@sinclair/typebox").TLiteral<"google">, import("@sinclair/typebox").TLiteral<"qwen">, import("@sinclair/typebox").TLiteral<"openrouter-monolith">, import("@sinclair/typebox").TLiteral<"openrouter-stream">, import("@sinclair/typebox").TLiteral<"huggingface-cerebras-qwen3-thinking">]>;
10
+ apiType: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"openai-chatcompletions">, import("@sinclair/typebox").TLiteral<"openai-responses">, import("@sinclair/typebox").TLiteral<"google">, import("@sinclair/typebox").TLiteral<"aliyun-stream">, import("@sinclair/typebox").TLiteral<"openrouter-monolith">, import("@sinclair/typebox").TLiteral<"openrouter-stream">]>;
11
11
  inputPrice: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
12
12
  outputPrice: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
13
13
  cachedPrice: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
14
14
  customOptions: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TAny>>;
15
15
  rpm: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
16
- tpm: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
17
16
  timeout: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
18
17
  tokenLimit: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
19
18
  }>;
@@ -11,17 +11,15 @@ export var EndpointSpec;
11
11
  Type.Literal('openai-chatcompletions'),
12
12
  Type.Literal('openai-responses'),
13
13
  Type.Literal('google'),
14
- Type.Literal('qwen'),
14
+ Type.Literal('aliyun-stream'),
15
15
  Type.Literal('openrouter-monolith'),
16
16
  Type.Literal('openrouter-stream'),
17
- Type.Literal('huggingface-cerebras-qwen3-thinking'),
18
17
  ]),
19
18
  inputPrice: Type.Optional(Type.Number()),
20
19
  outputPrice: Type.Optional(Type.Number()),
21
20
  cachedPrice: Type.Optional(Type.Number()),
22
21
  customOptions: Type.Optional(Type.Record(Type.String(), Type.Any())),
23
22
  rpm: Type.Optional(Type.Number()),
24
- tpm: Type.Optional(Type.Number()),
25
23
  timeout: Type.Optional(Type.Number()),
26
24
  tokenLimit: Type.Optional(Type.Number()),
27
25
  });
@@ -1 +1 @@
1
- {"version":3,"file":"endpoint-spec.js","sourceRoot":"","sources":["../src/endpoint-spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAe,MAAM,mBAAmB,CAAC;AAItD,MAAM,KAAW,YAAY,CAyB5B;AAzBD,WAAiB,YAAY;IACZ,mBAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC9B,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE;QACtB,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QACnC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE;QACrB,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE;QACpB,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE;QACnB,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC;YAChB,IAAI,CAAC,OAAO,CAAC,wBAAwB,CAAC;YACtC,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC;YAChC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;YACtB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;YACpB,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC;YACnC,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC;YACjC,IAAI,CAAC,OAAO,CAAC,qCAAqC,CAAC;SACtD,CAAC;QACF,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QACxC,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QACzC,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QACzC,aAAa,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;QACpE,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QACjC,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QACjC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QACrC,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;KAC3C,CAAC,CAAC;AACP,CAAC,EAzBgB,YAAY,KAAZ,YAAY,QAyB5B"}
1
+ {"version":3,"file":"endpoint-spec.js","sourceRoot":"","sources":["../src/endpoint-spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAe,MAAM,mBAAmB,CAAC;AAItD,MAAM,KAAW,YAAY,CAuB5B;AAvBD,WAAiB,YAAY;IACZ,mBAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC9B,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE;QACtB,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QACnC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE;QACrB,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE;QACpB,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE;QACnB,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC;YAChB,IAAI,CAAC,OAAO,CAAC,wBAAwB,CAAC;YACtC,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC;YAChC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;YACtB,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC;YAC7B,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC;YACnC,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC;SACpC,CAAC;QACF,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QACxC,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QACzC,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QACzC,aAAa,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;QACpE,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QACjC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QACrC,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;KAC3C,CAAC,CAAC;AACP,CAAC,EAvBgB,YAAY,KAAZ,YAAY,QAuB5B"}
package/build/engine.d.ts CHANGED
@@ -3,8 +3,13 @@ import { Function } from './function.ts';
3
3
  import { EndpointSpec } from './endpoint-spec.ts';
4
4
  import { type InferenceContext } from './inference-context.ts';
5
5
  import { Throttle } from './throttle.ts';
6
- export interface Engine<in out fdu extends Function.Declaration = never> {
7
- (ctx: InferenceContext, session: Session<fdu>): Promise<RoleMessage.AI<fdu>>;
6
+ export interface Engine<in out fdu extends Function.Declaration = never, session extends unknown = Session<fdu>> {
7
+ stateless(ctx: InferenceContext, session: session): Promise<RoleMessage.AI<fdu>>;
8
+ /**
9
+ * @param session mutable
10
+ */
11
+ stateful(ctx: InferenceContext, session: session): Promise<RoleMessage.AI<fdu>>;
12
+ appendUserMessage(session: session, message: RoleMessage.User<fdu>): session;
8
13
  }
9
14
  export declare namespace Engine {
10
15
  namespace Options {
@@ -16,8 +21,4 @@ export declare namespace Engine {
16
21
  interface Options<in out fdm extends Function.Declaration.Map = {}> extends EndpointSpec, Options.Functions<fdm> {
17
22
  throttle: Throttle;
18
23
  }
19
- /**
20
- * @param session mutable
21
- */
22
- function apply<fdm extends Function.Declaration.Map = {}>(ctx: InferenceContext, session: Session<Function.Declaration.From<fdm>>, engine: Engine<Function.Declaration.From<fdm>>): Promise<RoleMessage.AI<Function.Declaration.From<fdm>>>;
23
24
  }
package/build/engine.js CHANGED
@@ -3,16 +3,4 @@ import { Function } from "./function.js";
3
3
  import { EndpointSpec } from "./endpoint-spec.js";
4
4
  import {} from "./inference-context.js";
5
5
  import { Throttle } from "./throttle.js";
6
- export var Engine;
7
- (function (Engine) {
8
- /**
9
- * @param session mutable
10
- */
11
- async function apply(ctx, session, engine) {
12
- const response = await engine(ctx, session);
13
- session.chatMessages.push(response);
14
- return response;
15
- }
16
- Engine.apply = apply;
17
- })(Engine || (Engine = {}));
18
6
  //# sourceMappingURL=engine.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"engine.js","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAgB,MAAM,cAAc,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAyB,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAOzC,MAAM,KAAW,MAAM,CAwBtB;AAxBD,WAAiB,MAAM;IAYnB;;OAEG;IACI,KAAK,UAAU,KAAK,CACvB,GAAqB,EACrB,OAAgD,EAChD,MAA8C;QAE9C,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAC5C,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACpC,OAAO,QAAQ,CAAC;IACpB,CAAC;IARqB,YAAK,QAQ1B,CAAA;AACL,CAAC,EAxBgB,MAAM,KAAN,MAAM,QAwBtB"}
1
+ {"version":3,"file":"engine.js","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAgB,MAAM,cAAc,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAyB,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC"}
@@ -1,14 +1,10 @@
1
1
  import type { InferenceContext } from './inference-context.ts';
2
2
  export declare class Throttle {
3
3
  private rpm;
4
- private tpm;
5
- private redundancy;
6
- private fifo;
7
- private tokenCount;
8
4
  private valve;
5
+ private timer?;
9
6
  private interval;
10
- constructor(rpm: number, tpm: number, redundancy?: number);
7
+ constructor(rpm: number);
11
8
  requests(ctx: InferenceContext): Promise<void>;
12
- inputTokens(deltaTokenCount: number, ctx: InferenceContext): Promise<void>;
13
- outputTokens(deltaTokenCount: number): void;
9
+ throw(e: Error): void;
14
10
  }
package/build/throttle.js CHANGED
@@ -1,50 +1,36 @@
1
- import { FifoStack } from '@zimtsui/deque';
2
- import assert from 'node:assert';
3
1
  import { Mutex } from '@zimtsui/coroutine-locks';
4
2
  export class Throttle {
5
3
  rpm;
6
- tpm;
7
- redundancy;
8
- fifo = new FifoStack();
9
- tokenCount = 0;
10
4
  valve = new Mutex();
5
+ timer;
11
6
  interval;
12
- constructor(rpm, tpm, redundancy = .5) {
7
+ constructor(rpm) {
13
8
  this.rpm = rpm;
14
- this.tpm = tpm;
15
- this.redundancy = redundancy;
16
9
  this.interval = Math.ceil(60 * 1000 / this.rpm);
17
10
  }
18
11
  async requests(ctx) {
19
12
  await ctx.busy?.acquireRead();
20
- await this.valve.acquire();
21
- setTimeout(() => void this.valve.release(), this.interval);
22
- ctx.busy?.releaseRead();
23
- }
24
- async inputTokens(deltaTokenCount, ctx) {
25
- await ctx.busy?.acquireRead();
13
+ const pwr = Promise.withResolvers();
14
+ const callback = () => pwr.reject(ctx.signal?.reason);
15
+ ctx.signal?.addEventListener('abort', callback);
16
+ const waiting = this.valve.acquire();
26
17
  try {
27
- while (this.tokenCount > this.tpm * (1 - this.redundancy)) {
28
- assert(this.fifo.length, new Error('Overflow'));
29
- const { promise, resolve, reject } = Promise.withResolvers();
30
- const timeout = setTimeout(resolve, Math.max(this.fifo[0].time + 60 * 1000 - Date.now(), 0));
31
- ctx.signal?.addEventListener('abort', reject);
32
- await promise.finally(() => {
33
- ctx.signal?.removeEventListener('abort', reject);
34
- clearTimeout(timeout);
35
- });
36
- this.tokenCount -= this.fifo.popFront().token;
37
- }
38
- this.fifo.pushBack({ token: deltaTokenCount, time: Date.now() });
39
- this.tokenCount += deltaTokenCount;
18
+ await Promise.race([waiting, pwr.promise]);
19
+ this.timer = setTimeout(() => void this.valve.release(), this.interval);
20
+ }
21
+ catch (e) {
22
+ waiting.then(() => this.valve.release()).catch(() => { });
23
+ throw e;
40
24
  }
41
25
  finally {
26
+ ctx.signal?.removeEventListener('abort', callback);
42
27
  ctx.busy?.releaseRead();
43
28
  }
44
29
  }
45
- outputTokens(deltaTokenCount) {
46
- this.fifo.pushBack({ token: deltaTokenCount, time: Date.now() });
47
- this.tokenCount += deltaTokenCount;
30
+ throw(e) {
31
+ if (this.timer)
32
+ clearTimeout(this.timer);
33
+ this.valve.throw(e);
48
34
  }
49
35
  }
50
36
  //# sourceMappingURL=throttle.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"throttle.js","sourceRoot":"","sources":["../src/throttle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,MAAM,MAAM,aAAa,CAAC;AAEjC,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AAOjD,MAAM,OAAO,QAAQ;IAML;IACA;IACA;IAPJ,IAAI,GAAG,IAAI,SAAS,EAAW,CAAC;IAChC,UAAU,GAAG,CAAC,CAAC;IACf,KAAK,GAAG,IAAI,KAAK,EAAE,CAAC;IACpB,QAAQ,CAAS;IACzB,YACY,GAAW,EACX,GAAW,EACX,aAAa,EAAE;QAFf,QAAG,GAAH,GAAG,CAAQ;QACX,QAAG,GAAH,GAAG,CAAQ;QACX,eAAU,GAAV,UAAU,CAAK;QAEvB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,GAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;IAClD,CAAC;IAEM,KAAK,CAAC,QAAQ,CAAC,GAAqB;QACvC,MAAM,GAAG,CAAC,IAAI,EAAE,WAAW,EAAE,CAAC;QAC9B,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;QAC3B,UAAU,CAAC,GAAG,EAAE,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC3D,GAAG,CAAC,IAAI,EAAE,WAAW,EAAE,CAAC;IAC5B,CAAC;IAEM,KAAK,CAAC,WAAW,CAAC,eAAuB,EAAE,GAAqB;QACnE,MAAM,GAAG,CAAC,IAAI,EAAE,WAAW,EAAE,CAAC;QAC9B,IAAI,CAAC;YACD,OAAO,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,GAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;gBACtD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;gBAChD,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;gBAC7D,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC,IAAI,GAAC,EAAE,GAAC,IAAI,GAAC,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;gBACxF,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;gBAC9C,MAAM,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE;oBACvB,GAAG,CAAC,MAAM,EAAE,mBAAmB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;oBACjD,YAAY,CAAC,OAAO,CAAC,CAAC;gBAC1B,CAAC,CAAC,CAAC;gBACH,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC;YAClD,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YACjE,IAAI,CAAC,UAAU,IAAI,eAAe,CAAC;QACvC,CAAC;gBAAS,CAAC;YACP,GAAG,CAAC,IAAI,EAAE,WAAW,EAAE,CAAC;QAC5B,CAAC;IACL,CAAC;IAEM,YAAY,CAAC,eAAuB;QACvC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QACjE,IAAI,CAAC,UAAU,IAAI,eAAe,CAAC;IACvC,CAAC;CACJ"}
1
+ {"version":3,"file":"throttle.js","sourceRoot":"","sources":["../src/throttle.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AAGjD,MAAM,OAAO,QAAQ;IAIU;IAHnB,KAAK,GAAG,IAAI,KAAK,EAAE,CAAC;IACpB,KAAK,CAAkB;IACvB,QAAQ,CAAS;IACzB,YAA2B,GAAW;QAAX,QAAG,GAAH,GAAG,CAAQ;QAClC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,GAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;IAClD,CAAC;IAEM,KAAK,CAAC,QAAQ,CAAC,GAAqB;QACvC,MAAM,GAAG,CAAC,IAAI,EAAE,WAAW,EAAE,CAAC;QAC9B,MAAM,GAAG,GAAG,OAAO,CAAC,aAAa,EAAQ,CAAC;QAC1C,MAAM,QAAQ,GAAG,GAAG,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACtD,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QAChD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;QACrC,IAAI,CAAC;YACD,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;YAC3C,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC5E,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YACzD,MAAM,CAAC,CAAC;QACZ,CAAC;gBAAS,CAAC;YACP,GAAG,CAAC,MAAM,EAAE,mBAAmB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;YACnD,GAAG,CAAC,IAAI,EAAE,WAAW,EAAE,CAAC;QAC5B,CAAC;IACL,CAAC;IAEM,KAAK,CAAC,CAAQ;QACjB,IAAI,IAAI,CAAC,KAAK;YAAE,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACzC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACxB,CAAC;CACJ"}