geminimock 0.2.0 → 0.2.2

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.
package/README.md CHANGED
@@ -314,6 +314,19 @@ data: {"id":"...","object":"chat.completion.chunk","choices":[{"finish_reason":"
314
314
  data: [DONE]
315
315
  ```
316
316
 
317
+ Render stream text progressively in terminal:
318
+
319
+ ```bash
320
+ curl -N -sS -X POST http://127.0.0.1:43173/v1/chat/completions \
321
+ -H 'content-type: application/json' \
322
+ -d '{"model":"gemini-2.5-flash","stream":true,"messages":[{"role":"user","content":"Explain OAuth in three sentences."}]}' \
323
+ | jq -r 'select(startswith("data: ")) | sub("^data: "; "") | fromjson | .choices[0].delta.content // empty' \
324
+ | tr -d '\n'
325
+ echo
326
+ ```
327
+
328
+ > `jq` prints each chunk payload as soon as it arrives, and each printed `content` fragment is appended to the terminal output.
329
+
317
330
  ### 4) How answers are generated
318
331
 
319
332
  - API is stateless per request
@@ -7,6 +7,7 @@ export declare class CodeAssistClient {
7
7
  private readonly hooks;
8
8
  private projectCache?;
9
9
  private projectCacheAccountKey?;
10
+ private readonly retryAfterAttemptLimit;
10
11
  constructor(env: AppEnv, getAccessToken: () => Promise<string>, hooks?: {
11
12
  onApiError?: (error: CodeAssistApiError) => Promise<boolean>;
12
13
  onApiSuccess?: () => Promise<void>;
@@ -1,4 +1,4 @@
1
- import { CodeAssistApiError, parseRetryAfterMs } from "./errors.js";
1
+ import { CodeAssistApiError, parseRetryAfterMs, parseRetryAfterMsFromBody } from "./errors.js";
2
2
  function platformToCode() {
3
3
  const p = process.platform;
4
4
  const a = process.arch;
@@ -24,6 +24,31 @@ async function* parseSseStream(stream) {
24
24
  const reader = stream.getReader();
25
25
  const decoder = new TextDecoder();
26
26
  let buffer = "";
27
+ function findBlockSeparator(input) {
28
+ const lf = input.indexOf("\n\n");
29
+ const crlf = input.indexOf("\r\n\r\n");
30
+ if (lf < 0 && crlf < 0) {
31
+ return null;
32
+ }
33
+ if (lf < 0) {
34
+ return { index: crlf, length: 4 };
35
+ }
36
+ if (crlf < 0) {
37
+ return { index: lf, length: 2 };
38
+ }
39
+ return lf < crlf ? { index: lf, length: 2 } : { index: crlf, length: 4 };
40
+ }
41
+ function parseDataBlock(block) {
42
+ const dataLines = block
43
+ .split(/\r?\n/)
44
+ .filter((line) => line.startsWith("data:"))
45
+ .map((line) => line.slice(5).replace(/^ /, ""))
46
+ .filter((line) => line.length > 0);
47
+ if (dataLines.length === 0) {
48
+ return undefined;
49
+ }
50
+ return dataLines.join("\n");
51
+ }
27
52
  while (true) {
28
53
  const next = await reader.read();
29
54
  if (next.done) {
@@ -31,22 +56,22 @@ async function* parseSseStream(stream) {
31
56
  }
32
57
  buffer += decoder.decode(next.value, { stream: true });
33
58
  while (true) {
34
- const separatorIndex = buffer.indexOf("\n\n");
35
- if (separatorIndex < 0) {
59
+ const separator = findBlockSeparator(buffer);
60
+ if (!separator) {
36
61
  break;
37
62
  }
38
- const block = buffer.slice(0, separatorIndex);
39
- buffer = buffer.slice(separatorIndex + 2);
40
- const dataLines = block
41
- .split("\n")
42
- .filter((line) => line.startsWith("data: "))
43
- .map((line) => line.slice(6).trim())
44
- .filter((line) => line.length > 0);
45
- if (dataLines.length > 0) {
46
- yield dataLines.join("\n");
63
+ const block = buffer.slice(0, separator.index);
64
+ buffer = buffer.slice(separator.index + separator.length);
65
+ const data = parseDataBlock(block);
66
+ if (data !== undefined) {
67
+ yield data;
47
68
  }
48
69
  }
49
70
  }
71
+ const trailing = parseDataBlock(buffer);
72
+ if (trailing !== undefined) {
73
+ yield trailing;
74
+ }
50
75
  }
51
76
  export class CodeAssistClient {
52
77
  env;
@@ -54,6 +79,7 @@ export class CodeAssistClient {
54
79
  hooks;
55
80
  projectCache;
56
81
  projectCacheAccountKey;
82
+ retryAfterAttemptLimit = 10;
57
83
  constructor(env, getAccessToken, hooks = {}) {
58
84
  this.env = env;
59
85
  this.getAccessToken = getAccessToken;
@@ -82,7 +108,8 @@ export class CodeAssistClient {
82
108
  return Math.floor(candidate);
83
109
  }
84
110
  async withJsonRetry(method, execute, onRetry) {
85
- const attempts = await this.resolveAttempts();
111
+ const baseAttempts = await this.resolveAttempts();
112
+ let attempts = baseAttempts;
86
113
  for (let attempt = 1; attempt <= attempts; attempt += 1) {
87
114
  const token = await this.getAccessToken();
88
115
  const response = await execute(token);
@@ -92,18 +119,27 @@ export class CodeAssistClient {
92
119
  return payload;
93
120
  }
94
121
  const body = await response.text();
95
- const error = new CodeAssistApiError(method, response.status, body, parseRetryAfterMs(response.headers.get("retry-after")));
96
- const canRetry = attempt < attempts && await this.hooks.onApiError?.(error);
122
+ const error = new CodeAssistApiError(method, response.status, body, parseRetryAfterMs(response.headers.get("retry-after")) ?? parseRetryAfterMsFromBody(body));
123
+ const rotated = await this.hooks.onApiError?.(error);
124
+ const canRetryWithDelay = typeof error.retryAfterMs === "number" && error.retryAfterMs > 0;
125
+ if (canRetryWithDelay) {
126
+ attempts = Math.max(attempts, this.retryAfterAttemptLimit);
127
+ }
128
+ const canRetry = attempt < attempts && (Boolean(rotated) || canRetryWithDelay);
97
129
  if (!canRetry) {
98
130
  throw error;
99
131
  }
100
132
  await this.invalidateProjectCache();
101
133
  await onRetry?.();
134
+ if (canRetryWithDelay) {
135
+ await new Promise((resolve) => setTimeout(resolve, error.retryAfterMs));
136
+ }
102
137
  }
103
138
  throw new Error(`Code Assist ${method} failed`);
104
139
  }
105
140
  async withStreamRetry(method, execute, onRetry) {
106
- const attempts = await this.resolveAttempts();
141
+ const baseAttempts = await this.resolveAttempts();
142
+ let attempts = baseAttempts;
107
143
  for (let attempt = 1; attempt <= attempts; attempt += 1) {
108
144
  const token = await this.getAccessToken();
109
145
  const response = await execute(token);
@@ -112,13 +148,21 @@ export class CodeAssistClient {
112
148
  return response;
113
149
  }
114
150
  const body = await response.text();
115
- const error = new CodeAssistApiError(method, response.status, body, parseRetryAfterMs(response.headers.get("retry-after")));
116
- const canRetry = attempt < attempts && await this.hooks.onApiError?.(error);
151
+ const error = new CodeAssistApiError(method, response.status, body, parseRetryAfterMs(response.headers.get("retry-after")) ?? parseRetryAfterMsFromBody(body));
152
+ const rotated = await this.hooks.onApiError?.(error);
153
+ const canRetryWithDelay = typeof error.retryAfterMs === "number" && error.retryAfterMs > 0;
154
+ if (canRetryWithDelay) {
155
+ attempts = Math.max(attempts, this.retryAfterAttemptLimit);
156
+ }
157
+ const canRetry = attempt < attempts && (Boolean(rotated) || canRetryWithDelay);
117
158
  if (!canRetry) {
118
159
  throw error;
119
160
  }
120
161
  await this.invalidateProjectCache();
121
162
  await onRetry?.();
163
+ if (canRetryWithDelay) {
164
+ await new Promise((resolve) => setTimeout(resolve, error.retryAfterMs));
165
+ }
122
166
  }
123
167
  throw new Error(`Code Assist ${method} failed`);
124
168
  }
@@ -1 +1 @@
1
- {"version":3,"file":"code-assist-client.js","sourceRoot":"","sources":["../../src/gemini/code-assist-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"code-assist-client.js","sourceRoot":"","sources":["../../src/gemini/code-assist-client.ts"],"names":[],"mappings":"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"}
@@ -6,3 +6,4 @@ export declare class CodeAssistApiError extends Error {
6
6
  constructor(method: string, status: number, body: string, retryAfterMs?: number | undefined);
7
7
  }
8
8
  export declare function parseRetryAfterMs(retryAfter: string | null): number | undefined;
9
+ export declare function parseRetryAfterMsFromBody(body: string): number | undefined;
@@ -26,4 +26,21 @@ export function parseRetryAfterMs(retryAfter) {
26
26
  const delta = asDate - Date.now();
27
27
  return delta > 0 ? delta : undefined;
28
28
  }
29
+ export function parseRetryAfterMsFromBody(body) {
30
+ const secondsMatch = body.match(/reset after\s+(\d+)s/i);
31
+ if (secondsMatch?.[1]) {
32
+ const seconds = Number.parseInt(secondsMatch[1], 10);
33
+ if (Number.isFinite(seconds) && seconds >= 0) {
34
+ return seconds * 1000;
35
+ }
36
+ }
37
+ const minuteMatch = body.match(/reset after\s+(\d+)m/i);
38
+ if (minuteMatch?.[1]) {
39
+ const minutes = Number.parseInt(minuteMatch[1], 10);
40
+ if (Number.isFinite(minutes) && minutes >= 0) {
41
+ return minutes * 60_000;
42
+ }
43
+ }
44
+ return undefined;
45
+ }
29
46
  //# sourceMappingURL=errors.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/gemini/errors.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,kBAAmB,SAAQ,KAAK;IAEzB;IACA;IACA;IACA;IAJlB,YACkB,MAAc,EACd,MAAc,EACd,IAAY,EACZ,YAAqB;QAErC,KAAK,CAAC,eAAe,MAAM,YAAY,MAAM,MAAM,IAAI,EAAE,CAAC,CAAC;QAL3C,WAAM,GAAN,MAAM,CAAQ;QACd,WAAM,GAAN,MAAM,CAAQ;QACd,SAAI,GAAJ,IAAI,CAAQ;QACZ,iBAAY,GAAZ,YAAY,CAAS;IAGvC,CAAC;CACF;AAED,MAAM,UAAU,iBAAiB,CAAC,UAAyB;IACzD,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;IAClD,IAAI,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,SAAS,IAAI,CAAC,EAAE,CAAC;QACjD,OAAO,SAAS,GAAG,IAAI,CAAC;IAC1B,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IACtC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QAC7B,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,KAAK,GAAG,MAAM,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAClC,OAAO,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AACvC,CAAC"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/gemini/errors.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,kBAAmB,SAAQ,KAAK;IAEzB;IACA;IACA;IACA;IAJlB,YACkB,MAAc,EACd,MAAc,EACd,IAAY,EACZ,YAAqB;QAErC,KAAK,CAAC,eAAe,MAAM,YAAY,MAAM,MAAM,IAAI,EAAE,CAAC,CAAC;QAL3C,WAAM,GAAN,MAAM,CAAQ;QACd,WAAM,GAAN,MAAM,CAAQ;QACd,SAAI,GAAJ,IAAI,CAAQ;QACZ,iBAAY,GAAZ,YAAY,CAAS;IAGvC,CAAC;CACF;AAED,MAAM,UAAU,iBAAiB,CAAC,UAAyB;IACzD,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;IAClD,IAAI,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,SAAS,IAAI,CAAC,EAAE,CAAC;QACjD,OAAO,SAAS,GAAG,IAAI,CAAC;IAC1B,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IACtC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QAC7B,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,KAAK,GAAG,MAAM,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAClC,OAAO,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AACvC,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,IAAY;IACpD,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;IACzD,IAAI,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACtB,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACrD,IAAI,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,OAAO,IAAI,CAAC,EAAE,CAAC;YAC7C,OAAO,OAAO,GAAG,IAAI,CAAC;QACxB,CAAC;IACH,CAAC;IAED,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;IACxD,IAAI,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACrB,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACpD,IAAI,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,OAAO,IAAI,CAAC,EAAE,CAAC;YAC7C,OAAO,OAAO,GAAG,MAAM,CAAC;QAC1B,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC"}
@@ -19,8 +19,14 @@ export function resolveRequestedModel(requestedModel, availableModels) {
19
19
  return requested;
20
20
  }
21
21
  const directAlias = ALIAS_MAP[requested];
22
- if (directAlias && normalized.has(directAlias)) {
23
- return directAlias;
22
+ if (directAlias) {
23
+ if (normalized.has(directAlias)) {
24
+ return directAlias;
25
+ }
26
+ const aliasPreview = `${directAlias}-preview`;
27
+ if (normalized.has(aliasPreview)) {
28
+ return aliasPreview;
29
+ }
24
30
  }
25
31
  const previewCandidate = `${requested}-preview`;
26
32
  if (normalized.has(previewCandidate)) {
@@ -1 +1 @@
1
- {"version":3,"file":"model-resolver.js","sourceRoot":"","sources":["../../src/openai/model-resolver.ts"],"names":[],"mappings":"AAAA,MAAM,SAAS,GAA2B;IACxC,gBAAgB,EAAE,wBAAwB;IAC1C,cAAc,EAAE,sBAAsB;IACtC,gBAAgB,EAAE,wBAAwB;CAC3C,CAAC;AAEF,SAAS,aAAa,CAAC,MAAgB;IACrC,OAAO,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;AAC1F,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAa;IACtC,OAAO,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;AAChE,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,cAAsB,EAAE,eAAyB;IACrF,MAAM,SAAS,GAAG,cAAc,CAAC,IAAI,EAAE,CAAC;IACxC,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,cAAc,CAAC;IACxB,CAAC;IAED,MAAM,UAAU,GAAG,aAAa,CAAC,eAAe,CAAC,CAAC;IAClD,IAAI,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;QAC9B,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,WAAW,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC;IACzC,IAAI,WAAW,IAAI,UAAU,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;QAC/C,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,MAAM,gBAAgB,GAAG,GAAG,SAAS,UAAU,CAAC;IAChD,IAAI,UAAU,CAAC,GAAG,CAAC,gBAAgB,CAAC,EAAE,CAAC;QACrC,OAAO,gBAAgB,CAAC;IAC1B,CAAC;IAED,MAAM,uBAAuB,GAAG,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC;QAC5D,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACxB,CAAC,CAAC,SAAS,CAAC;IACd,IAAI,UAAU,CAAC,GAAG,CAAC,uBAAuB,CAAC,EAAE,CAAC;QAC5C,OAAO,uBAAuB,CAAC;IACjC,CAAC;IAED,MAAM,iBAAiB,GAAG,iBAAiB,CAAC,SAAS,CAAC,CAAC;IACvD,IAAI,UAAU,CAAC,GAAG,CAAC,iBAAiB,CAAC,EAAE,CAAC;QACtC,OAAO,iBAAiB,CAAC;IAC3B,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,SAAmB;IACpD,MAAM,MAAM,GAAG,IAAI,GAAG,EAAU,CAAC;IACjC,KAAK,MAAM,KAAK,IAAI,SAAS,EAAE,CAAC;QAC9B,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;QAC7B,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,SAAS;QACX,CAAC;QACD,MAAM,CAAC,GAAG,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC;IACzC,CAAC;IACD,OAAO,CAAC,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;AACxD,CAAC"}
1
+ {"version":3,"file":"model-resolver.js","sourceRoot":"","sources":["../../src/openai/model-resolver.ts"],"names":[],"mappings":"AAAA,MAAM,SAAS,GAA2B;IACxC,gBAAgB,EAAE,wBAAwB;IAC1C,cAAc,EAAE,sBAAsB;IACtC,gBAAgB,EAAE,wBAAwB;CAC3C,CAAC;AAEF,SAAS,aAAa,CAAC,MAAgB;IACrC,OAAO,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;AAC1F,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAa;IACtC,OAAO,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;AAChE,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,cAAsB,EAAE,eAAyB;IACrF,MAAM,SAAS,GAAG,cAAc,CAAC,IAAI,EAAE,CAAC;IACxC,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,cAAc,CAAC;IACxB,CAAC;IAED,MAAM,UAAU,GAAG,aAAa,CAAC,eAAe,CAAC,CAAC;IAClD,IAAI,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;QAC9B,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,WAAW,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC;IACzC,IAAI,WAAW,EAAE,CAAC;QAChB,IAAI,UAAU,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;YAChC,OAAO,WAAW,CAAC;QACrB,CAAC;QACD,MAAM,YAAY,GAAG,GAAG,WAAW,UAAU,CAAC;QAC9C,IAAI,UAAU,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;YACjC,OAAO,YAAY,CAAC;QACtB,CAAC;IACH,CAAC;IAED,MAAM,gBAAgB,GAAG,GAAG,SAAS,UAAU,CAAC;IAChD,IAAI,UAAU,CAAC,GAAG,CAAC,gBAAgB,CAAC,EAAE,CAAC;QACrC,OAAO,gBAAgB,CAAC;IAC1B,CAAC;IAED,MAAM,uBAAuB,GAAG,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC;QAC5D,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACxB,CAAC,CAAC,SAAS,CAAC;IACd,IAAI,UAAU,CAAC,GAAG,CAAC,uBAAuB,CAAC,EAAE,CAAC;QAC5C,OAAO,uBAAuB,CAAC;IACjC,CAAC;IAED,MAAM,iBAAiB,GAAG,iBAAiB,CAAC,SAAS,CAAC,CAAC;IACvD,IAAI,UAAU,CAAC,GAAG,CAAC,iBAAiB,CAAC,EAAE,CAAC;QACtC,OAAO,iBAAiB,CAAC;IAC3B,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,SAAmB;IACpD,MAAM,MAAM,GAAG,IAAI,GAAG,EAAU,CAAC;IACjC,KAAK,MAAM,KAAK,IAAI,SAAS,EAAE,CAAC;QAC9B,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;QAC7B,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,SAAS;QACX,CAAC;QACD,MAAM,CAAC,GAAG,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC;IACzC,CAAC;IACD,OAAO,CAAC,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;AACxD,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "geminimock",
3
- "version": "0.2.0",
3
+ "version": "0.2.2",
4
4
  "type": "module",
5
5
  "bin": {
6
6
  "geminimock": "dist/cli.js"