gitverse-api-sdk 1.1.1 → 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 (63) hide show
  1. package/README.md +318 -125
  2. package/dist/api/actions.d.ts +506 -0
  3. package/dist/api/actions.js +4 -0
  4. package/dist/api/actions.js.map +10 -0
  5. package/dist/api/branches.d.ts +154 -0
  6. package/dist/api/branches.js +4 -0
  7. package/dist/api/branches.js.map +10 -0
  8. package/dist/api/collaborators.d.ts +224 -0
  9. package/dist/api/collaborators.js +4 -0
  10. package/dist/api/collaborators.js.map +10 -0
  11. package/dist/api/commits.d.ts +302 -0
  12. package/dist/api/commits.js +4 -0
  13. package/dist/api/commits.js.map +10 -0
  14. package/dist/api/contents.d.ts +121 -80
  15. package/dist/api/contents.js +3 -3
  16. package/dist/api/contents.js.map +3 -3
  17. package/dist/api/emails.d.ts +80 -39
  18. package/dist/api/emails.js +2 -2
  19. package/dist/api/emails.js.map +1 -1
  20. package/dist/api/forks.d.ts +121 -87
  21. package/dist/api/forks.js +3 -3
  22. package/dist/api/forks.js.map +3 -3
  23. package/dist/api/git.d.ts +228 -0
  24. package/dist/api/git.js +4 -0
  25. package/dist/api/git.js.map +10 -0
  26. package/dist/api/issues.d.ts +223 -82
  27. package/dist/api/issues.js +3 -3
  28. package/dist/api/issues.js.map +3 -3
  29. package/dist/api/organizations.d.ts +140 -0
  30. package/dist/api/organizations.js +4 -0
  31. package/dist/api/organizations.js.map +10 -0
  32. package/dist/api/pulls.d.ts +241 -80
  33. package/dist/api/pulls.js +3 -3
  34. package/dist/api/pulls.js.map +3 -3
  35. package/dist/api/releases.d.ts +400 -0
  36. package/dist/api/releases.js +4 -0
  37. package/dist/api/releases.js.map +10 -0
  38. package/dist/api/repositories.d.ts +266 -80
  39. package/dist/api/repositories.js +3 -3
  40. package/dist/api/repositories.js.map +3 -3
  41. package/dist/api/stars.d.ts +220 -1
  42. package/dist/api/stars.js +3 -3
  43. package/dist/api/stars.js.map +3 -3
  44. package/dist/api/teams.d.ts +287 -0
  45. package/dist/api/teams.js +4 -0
  46. package/dist/api/teams.js.map +10 -0
  47. package/dist/api/users.d.ts +121 -80
  48. package/dist/api/users.js +2 -2
  49. package/dist/api/users.js.map +1 -1
  50. package/dist/client.d.ts +42 -1
  51. package/dist/client.js +3 -3
  52. package/dist/client.js.map +3 -3
  53. package/dist/enums.js +2 -1
  54. package/dist/enums.js.map +1 -1
  55. package/dist/errors.d.ts +78 -0
  56. package/dist/errors.js +4 -0
  57. package/dist/errors.js.map +10 -0
  58. package/dist/index.d.ts +1535 -221
  59. package/dist/index.js +2 -2
  60. package/dist/index.js.map +3 -3
  61. package/dist/types.d.ts +588 -1
  62. package/dist/utils.js.map +1 -1
  63. package/package.json +51 -7
@@ -1,83 +1,3 @@
1
- declare const HTTPMethods: {
2
- readonly DELETE: "DELETE"
3
- readonly GET: "GET"
4
- readonly POST: "POST"
5
- readonly PUT: "PUT"
6
- };
7
- type HTTPMethods = (typeof HTTPMethods)[keyof typeof HTTPMethods];
8
- /**
9
- * Параметры для конфигурации GitVerse клиента
10
- */
11
- interface GitVerseClientConfig {
12
- /**
13
- * Базовый URL API GitVerse
14
- * @default 'https://api.gitverse.ru'
15
- */
16
- baseUrl?: string;
17
- /**
18
- * Токен доступа для авторизации в API
19
- */
20
- token?: string;
21
- /**
22
- * Версия API
23
- * @default '1'
24
- */
25
- apiVersion?: string;
26
- }
27
- /**
28
- * Основной класс для работы с GitVerse API
29
- */
30
- declare class GitVerseClient {
31
- private baseUrl;
32
- private token?;
33
- private apiVersion;
34
- /**
35
- * Создает новый экземпляр GitVerse клиента
36
- * @param config Конфигурация клиента
37
- */
38
- constructor(config?: GitVerseClientConfig);
39
- /**
40
- * Устанавливает токен авторизации
41
- * @param token Токен доступа
42
- */
43
- setToken(token: string): void;
44
- /**
45
- * Выполняет API-запрос с учетом авторизации и версии API
46
- * @param path Путь к API-ресурсу
47
- * @param method HTTP-метод
48
- * @param body Тело запроса (опционально)
49
- * @returns Ответ от API
50
- * @throws {Error} Если запрос завершится с ошибкой
51
- */
52
- request<T>(path: string, method: HTTPMethods, body?: unknown): Promise<T>;
53
- /**
54
- * Выполняет GET-запрос
55
- * @param path Путь к API-ресурсу
56
- * @returns Ответ от API
57
- */
58
- get<T>(path: string): Promise<T>;
59
- /**
60
- * Выполняет POST-запрос
61
- * @param path Путь к API-ресурсу
62
- * @param body Тело запроса
63
- * @returns Ответ от API
64
- */
65
- post<T>(path: string, body?: unknown): Promise<T>;
66
- /**
67
- * Выполняет PUT-запрос
68
- * @param path Путь к API-ресурсу
69
- * @param body Тело запроса
70
- * @returns Ответ от API
71
- */
72
- put<T>(path: string, body?: unknown): Promise<T>;
73
- /**
74
- * Выполняет DELETE-запрос
75
- * @param path Путь к API-ресурсу
76
- * @param body Тело запроса (опционально)
77
- * @returns Ответ от API
78
- */
79
- delete<T>(path: string, body?: unknown): Promise<T>;
80
- }
81
1
  /**
82
2
  * Типы пользователей в системе
83
3
  */
@@ -319,6 +239,214 @@ interface Milestone {
319
239
  due_on?: string;
320
240
  }
321
241
  /**
242
+ * Интерфейс коммита
243
+ */
244
+ interface Commit {
245
+ /** SHA-хеш коммита */
246
+ sha: string;
247
+ /** Node ID коммита */
248
+ node_id?: string;
249
+ /** Информация о коммите */
250
+ commit: {
251
+ /** Автор коммита */
252
+ author: {
253
+ name: string
254
+ email: string
255
+ date: string
256
+ }
257
+ /** Коммиттер */
258
+ committer: {
259
+ name: string
260
+ email: string
261
+ date: string
262
+ }
263
+ /** Сообщение коммита */
264
+ message: string
265
+ /** Дерево коммита */
266
+ tree: {
267
+ sha: string
268
+ url: string
269
+ }
270
+ };
271
+ /** Автор (пользователь GitVerse) */
272
+ author?: User2 | null;
273
+ /** Коммиттер (пользователь GitVerse) */
274
+ committer?: User2 | null;
275
+ /** Родительские коммиты */
276
+ parents: Array<{
277
+ sha: string
278
+ url: string
279
+ html_url: string
280
+ }>;
281
+ /** API-ссылка на коммит */
282
+ url: string;
283
+ /** Веб-ссылка на коммит */
284
+ html_url: string;
285
+ }
286
+ /**
287
+ * Параметры для обновления pull request
288
+ */
289
+ interface UpdatePullRequestParams {
290
+ /** Новый заголовок */
291
+ title?: string;
292
+ /** Новое описание */
293
+ body?: string;
294
+ /** Новое состояние */
295
+ state?: PullRequestState;
296
+ /** Базовая ветка */
297
+ base?: string;
298
+ /** Можно ли мейнтейнерам модифицировать */
299
+ maintainer_can_modify?: boolean;
300
+ }
301
+ /**
302
+ * Интерфейс файла в pull request
303
+ */
304
+ interface PullRequestFile {
305
+ /** SHA-хеш файла */
306
+ sha: string;
307
+ /** Имя файла */
308
+ filename: string;
309
+ /** Статус изменения */
310
+ status: "added" | "removed" | "modified" | "renamed" | "copied" | "changed" | "unchanged";
311
+ /** Количество добавленных строк */
312
+ additions: number;
313
+ /** Количество удалённых строк */
314
+ deletions: number;
315
+ /** Общее количество изменений */
316
+ changes: number;
317
+ /** URL для получения содержимого */
318
+ blob_url: string;
319
+ /** Raw URL */
320
+ raw_url: string;
321
+ /** API URL */
322
+ contents_url: string;
323
+ /** Patch для файла */
324
+ patch?: string;
325
+ /** Предыдущее имя файла (для переименованных) */
326
+ previous_filename?: string;
327
+ }
328
+ /**
329
+ * Предупреждение об устаревшей версии API
330
+ */
331
+ declare class ApiVersionWarning {
332
+ /** Текущая используемая версия */
333
+ readonly currentVersion: string;
334
+ /** Последняя доступная версия */
335
+ readonly latestVersion: string;
336
+ /** Дата вывода из эксплуатации */
337
+ readonly decommissioning?: string;
338
+ constructor(currentVersion: string, latestVersion: string, decommissioning?: string);
339
+ /**
340
+ * Возвращает сообщение о предупреждении
341
+ */
342
+ getMessage(): string;
343
+ }
344
+ declare const HTTPMethods: {
345
+ readonly DELETE: "DELETE"
346
+ readonly GET: "GET"
347
+ readonly PATCH: "PATCH"
348
+ readonly POST: "POST"
349
+ readonly PUT: "PUT"
350
+ };
351
+ type HTTPMethods = (typeof HTTPMethods)[keyof typeof HTTPMethods];
352
+ /**
353
+ * Параметры для конфигурации GitVerse клиента
354
+ */
355
+ interface GitVerseClientConfig {
356
+ /**
357
+ * Базовый URL API GitVerse
358
+ * @default 'https://api.gitverse.ru'
359
+ */
360
+ baseUrl?: string;
361
+ /**
362
+ * Токен доступа для авторизации в API
363
+ */
364
+ token?: string;
365
+ /**
366
+ * Версия API
367
+ * @default '1'
368
+ */
369
+ apiVersion?: string;
370
+ }
371
+ /**
372
+ * Основной класс для работы с GitVerse API
373
+ */
374
+ declare class GitVerseClient {
375
+ private baseUrl;
376
+ private token?;
377
+ private apiVersion;
378
+ /**
379
+ * Callback для обработки предупреждений об устаревшей версии API
380
+ */
381
+ onApiVersionWarning?: (warning: ApiVersionWarning) => void;
382
+ /**
383
+ * Создает новый экземпляр GitVerse клиента
384
+ * @param config Конфигурация клиента
385
+ */
386
+ constructor(config?: GitVerseClientConfig);
387
+ /**
388
+ * Устанавливает токен авторизации
389
+ * @param token Токен доступа
390
+ */
391
+ setToken(token: string): void;
392
+ /**
393
+ * Извлекает информацию о Rate Limit из заголовков ответа
394
+ */
395
+ private extractRateLimitInfo;
396
+ /**
397
+ * Извлекает информацию о версии API из заголовков ответа
398
+ */
399
+ private extractApiVersionInfo;
400
+ /**
401
+ * Извлекает метаданные из заголовков ответа
402
+ */
403
+ private extractMetadata;
404
+ /**
405
+ * Выполняет API-запрос с учетом авторизации и версии API
406
+ * @param path Путь к API-ресурсу
407
+ * @param method HTTP-метод
408
+ * @param body Тело запроса (опционально)
409
+ * @returns Ответ от API
410
+ * @throws {RateLimitError} При превышении лимита запросов (429)
411
+ * @throws {GitVerseApiError} При других ошибках API
412
+ */
413
+ request<T>(path: string, method: HTTPMethods, body?: unknown): Promise<T>;
414
+ /**
415
+ * Выполняет GET-запрос
416
+ * @param path Путь к API-ресурсу
417
+ * @returns Ответ от API
418
+ */
419
+ get<T>(path: string): Promise<T>;
420
+ /**
421
+ * Выполняет POST-запрос
422
+ * @param path Путь к API-ресурсу
423
+ * @param body Тело запроса
424
+ * @returns Ответ от API
425
+ */
426
+ post<T>(path: string, body?: unknown): Promise<T>;
427
+ /**
428
+ * Выполняет PUT-запрос
429
+ * @param path Путь к API-ресурсу
430
+ * @param body Тело запроса
431
+ * @returns Ответ от API
432
+ */
433
+ put<T>(path: string, body?: unknown): Promise<T>;
434
+ /**
435
+ * Выполняет DELETE-запрос
436
+ * @param path Путь к API-ресурсу
437
+ * @param body Тело запроса (опционально)
438
+ * @returns Ответ от API
439
+ */
440
+ delete<T>(path: string, body?: unknown): Promise<T>;
441
+ /**
442
+ * Выполняет PATCH-запрос
443
+ * @param path Путь к API-ресурсу
444
+ * @param body Тело запроса
445
+ * @returns Ответ от API
446
+ */
447
+ patch<T>(path: string, body?: unknown): Promise<T>;
448
+ }
449
+ /**
322
450
  * API для работы с запросами на слияние (пулл-реквестами)
323
451
  */
324
452
  declare class PullsApi {
@@ -352,5 +480,38 @@ declare class PullsApi {
352
480
  * @returns Список запросов на слияние
353
481
  */
354
482
  list(owner: string, repo: string, state?: PullRequestState): Promise<PullRequest[]>;
483
+ /**
484
+ * Обновляет pull request
485
+ * @param owner Владелец репозитория
486
+ * @param repo Название репозитория
487
+ * @param number Номер pull request
488
+ * @param params Параметры для обновления
489
+ * @returns Обновлённый pull request
490
+ */
491
+ update(owner: string, repo: string, number: number, params: UpdatePullRequestParams): Promise<PullRequest>;
492
+ /**
493
+ * Получает список файлов в pull request
494
+ * @param owner Владелец репозитория
495
+ * @param repo Название репозитория
496
+ * @param number Номер pull request
497
+ * @returns Список изменённых файлов
498
+ */
499
+ getFiles(owner: string, repo: string, number: number): Promise<PullRequestFile[]>;
500
+ /**
501
+ * Обновляет ветку pull request с базовой веткой
502
+ * @param owner Владелец репозитория
503
+ * @param repo Название репозитория
504
+ * @param number Номер pull request
505
+ * @returns Результат операции
506
+ */
507
+ updateBranch(owner: string, repo: string, number: number): Promise<void>;
508
+ /**
509
+ * Получает список коммитов в pull request
510
+ * @param owner Владелец репозитория
511
+ * @param repo Название репозитория
512
+ * @param number Номер pull request
513
+ * @returns Список коммитов
514
+ */
515
+ getCommits(owner: string, repo: string, number: number): Promise<Commit[]>;
355
516
  }
356
517
  export { PullsApi };
package/dist/api/pulls.js CHANGED
@@ -1,4 +1,4 @@
1
- class k{client;constructor(d){this.client=d}create(d,g,f){return this.client.post(`/repos/${d}/${g}/pulls`,f)}get(d,g,f){return this.client.get(`/repos/${d}/${g}/pulls/${f}`)}list(d,g,f){let j=new URL(`/repos/${d}/${g}/pulls`,"http://localhost");if(f)j.searchParams.set("state",f);return this.client.get(j.href.replace("http://localhost",""))}}export{k as PullsApi};
2
- export{k as b};
1
+ class v{client;constructor(d){this.client=d}create(d,g,f){return this.client.post(`/repos/${d}/${g}/pulls`,f)}get(d,g,f){return this.client.get(`/repos/${d}/${g}/pulls/${f}`)}list(d,g,f){let k=new URL(`/repos/${d}/${g}/pulls`,"http://localhost");if(f)k.searchParams.set("state",f);return this.client.get(k.href.replace("http://localhost",""))}update(d,g,f,j){return this.client.patch(`/repos/${d}/${g}/pulls/${f}`,j)}getFiles(d,g,f){return this.client.get(`/repos/${d}/${g}/pulls/${f}/files`)}updateBranch(d,g,f){return this.client.put(`/repos/${d}/${g}/pulls/${f}/update-branch`,{})}getCommits(d,g,f){return this.client.get(`/repos/${d}/${g}/pulls/${f}/commits`)}}export{v as PullsApi};
2
+ export{v as m};
3
3
 
4
- //# debugId=963F71559DEBC71164756E2164756E21
4
+ //# debugId=35A0A924DAC8BD1664756E2164756E21
@@ -2,9 +2,9 @@
2
2
  "version": 3,
3
3
  "sources": ["../src/api/pulls.ts"],
4
4
  "sourcesContent": [
5
- "import type { GitVerseClient } from \"../client\";\nimport type { PullRequestState } from \"../enums\";\nimport type { CreatePullRequestParams, PullRequest } from \"../types\";\n\n/**\n * API для работы с запросами на слияние (пулл-реквестами)\n */\nexport class PullsApi {\n private client: GitVerseClient;\n\n /**\n * Создает новый экземпляр API для работы с пулл-реквестами\n * @param client GitVerse клиент\n */\n constructor(client: GitVerseClient) {\n this.client = client;\n }\n\n /**\n * Создает новый запрос на слияние в репозитории\n * @param owner Владелец репозитория\n * @param repo Название репозитория\n * @param params Параметры создания запроса на слияние\n * @returns Информация о созданном запросе на слияние\n */\n create(owner: string, repo: string, params: CreatePullRequestParams): Promise<PullRequest> {\n return this.client.post<PullRequest>(`/repos/${owner}/${repo}/pulls`, params);\n }\n\n /**\n * Получает запрос на слияние по его номеру\n * @param owner Владелец репозитория\n * @param repo Название репозитория\n * @param number Номер запроса на слияние\n * @returns Информация о запросе на слияние\n */\n get(owner: string, repo: string, number: number): Promise<PullRequest> {\n return this.client.get<PullRequest>(`/repos/${owner}/${repo}/pulls/${number}`);\n }\n\n /**\n * Получает список запросов на слияние в репозитории\n * @param owner Владелец репозитория\n * @param repo Название репозитория\n * @param state Состояние запросов на слияние (открытые/закрытые/все)\n * @returns Список запросов на слияние\n */\n list(owner: string, repo: string, state?: PullRequestState): Promise<PullRequest[]> {\n const TEMP = \"http://localhost\";\n\n const path = new URL(`/repos/${owner}/${repo}/pulls`, TEMP);\n if (state) {\n path.searchParams.set(\"state\", state);\n }\n return this.client.get<PullRequest[]>(path.href.replace(TEMP, \"\"));\n }\n}\n"
5
+ "import type { GitVerseClient } from \"../client\";\nimport type { PullRequestState } from \"../enums\";\nimport type { Commit, CreatePullRequestParams, PullRequest, PullRequestFile, UpdatePullRequestParams } from \"../types\";\n\n/**\n * API для работы с запросами на слияние (пулл-реквестами)\n */\nexport class PullsApi {\n private client: GitVerseClient;\n\n /**\n * Создает новый экземпляр API для работы с пулл-реквестами\n * @param client GitVerse клиент\n */\n constructor(client: GitVerseClient) {\n this.client = client;\n }\n\n /**\n * Создает новый запрос на слияние в репозитории\n * @param owner Владелец репозитория\n * @param repo Название репозитория\n * @param params Параметры создания запроса на слияние\n * @returns Информация о созданном запросе на слияние\n */\n create(owner: string, repo: string, params: CreatePullRequestParams): Promise<PullRequest> {\n return this.client.post<PullRequest>(`/repos/${owner}/${repo}/pulls`, params);\n }\n\n /**\n * Получает запрос на слияние по его номеру\n * @param owner Владелец репозитория\n * @param repo Название репозитория\n * @param number Номер запроса на слияние\n * @returns Информация о запросе на слияние\n */\n get(owner: string, repo: string, number: number): Promise<PullRequest> {\n return this.client.get<PullRequest>(`/repos/${owner}/${repo}/pulls/${number}`);\n }\n\n /**\n * Получает список запросов на слияние в репозитории\n * @param owner Владелец репозитория\n * @param repo Название репозитория\n * @param state Состояние запросов на слияние (открытые/закрытые/все)\n * @returns Список запросов на слияние\n */\n list(owner: string, repo: string, state?: PullRequestState): Promise<PullRequest[]> {\n const TEMP = \"http://localhost\";\n\n const path = new URL(`/repos/${owner}/${repo}/pulls`, TEMP);\n if (state) {\n path.searchParams.set(\"state\", state);\n }\n return this.client.get<PullRequest[]>(path.href.replace(TEMP, \"\"));\n }\n\n /**\n * Обновляет pull request\n * @param owner Владелец репозитория\n * @param repo Название репозитория\n * @param number Номер pull request\n * @param params Параметры для обновления\n * @returns Обновлённый pull request\n */\n update(owner: string, repo: string, number: number, params: UpdatePullRequestParams): Promise<PullRequest> {\n return this.client.patch<PullRequest>(`/repos/${owner}/${repo}/pulls/${number}`, params);\n }\n\n /**\n * Получает список файлов в pull request\n * @param owner Владелец репозитория\n * @param repo Название репозитория\n * @param number Номер pull request\n * @returns Список изменённых файлов\n */\n getFiles(owner: string, repo: string, number: number): Promise<PullRequestFile[]> {\n return this.client.get<PullRequestFile[]>(`/repos/${owner}/${repo}/pulls/${number}/files`);\n }\n\n /**\n * Обновляет ветку pull request с базовой веткой\n * @param owner Владелец репозитория\n * @param repo Название репозитория\n * @param number Номер pull request\n * @returns Результат операции\n */\n updateBranch(owner: string, repo: string, number: number): Promise<void> {\n return this.client.put<void>(`/repos/${owner}/${repo}/pulls/${number}/update-branch`, {});\n }\n\n /**\n * Получает список коммитов в pull request\n * @param owner Владелец репозитория\n * @param repo Название репозитория\n * @param number Номер pull request\n * @returns Список коммитов\n */\n getCommits(owner: string, repo: string, number: number): Promise<Commit[]> {\n return this.client.get<Commit[]>(`/repos/${owner}/${repo}/pulls/${number}/commits`);\n }\n}\n"
6
6
  ],
7
- "mappings": "AAOO,MAAM,CAAS,CACZ,OAMR,WAAW,CAAC,EAAwB,CAClC,KAAK,OAAS,EAUhB,MAAM,CAAC,EAAe,EAAc,EAAuD,CACzF,OAAO,KAAK,OAAO,KAAkB,UAAU,KAAS,UAAc,CAAM,EAU9E,GAAG,CAAC,EAAe,EAAc,EAAsC,CACrE,OAAO,KAAK,OAAO,IAAiB,UAAU,KAAS,WAAc,GAAQ,EAU/E,IAAI,CAAC,EAAe,EAAc,EAAkD,CAGlF,IAAM,EAAO,IAAI,IAAI,UAAU,KAAS,UAF3B,kBAE6C,EAC1D,GAAI,EACF,EAAK,aAAa,IAAI,QAAS,CAAK,EAEtC,OAAO,KAAK,OAAO,IAAmB,EAAK,KAAK,QANnC,mBAMiD,EAAE,CAAC,EAErE",
8
- "debugId": "963F71559DEBC71164756E2164756E21",
7
+ "mappings": "AAOO,MAAM,CAAS,CACZ,OAMR,WAAW,CAAC,EAAwB,CAClC,KAAK,OAAS,EAUhB,MAAM,CAAC,EAAe,EAAc,EAAuD,CACzF,OAAO,KAAK,OAAO,KAAkB,UAAU,KAAS,UAAc,CAAM,EAU9E,GAAG,CAAC,EAAe,EAAc,EAAsC,CACrE,OAAO,KAAK,OAAO,IAAiB,UAAU,KAAS,WAAc,GAAQ,EAU/E,IAAI,CAAC,EAAe,EAAc,EAAkD,CAGlF,IAAM,EAAO,IAAI,IAAI,UAAU,KAAS,UAF3B,kBAE6C,EAC1D,GAAI,EACF,EAAK,aAAa,IAAI,QAAS,CAAK,EAEtC,OAAO,KAAK,OAAO,IAAmB,EAAK,KAAK,QANnC,mBAMiD,EAAE,CAAC,EAWnE,MAAM,CAAC,EAAe,EAAc,EAAgB,EAAuD,CACzG,OAAO,KAAK,OAAO,MAAmB,UAAU,KAAS,WAAc,IAAU,CAAM,EAUzF,QAAQ,CAAC,EAAe,EAAc,EAA4C,CAChF,OAAO,KAAK,OAAO,IAAuB,UAAU,KAAS,WAAc,SAAc,EAU3F,YAAY,CAAC,EAAe,EAAc,EAA+B,CACvE,OAAO,KAAK,OAAO,IAAU,UAAU,KAAS,WAAc,kBAAwB,CAAC,CAAC,EAU1F,UAAU,CAAC,EAAe,EAAc,EAAmC,CACzE,OAAO,KAAK,OAAO,IAAc,UAAU,KAAS,WAAc,WAAgB,EAEtF",
8
+ "debugId": "35A0A924DAC8BD1664756E2164756E21",
9
9
  "names": []
10
10
  }