@trebired/git-host 1.8.0 → 2.1.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 (265) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/README.md +184 -1007
  3. package/bin/.gitkeep +1 -0
  4. package/bin/git-host-actions-runner-darwin-arm64 +0 -0
  5. package/bin/git-host-actions-runner-darwin-x64 +0 -0
  6. package/bin/git-host-actions-runner-linux-arm64-gnu +0 -0
  7. package/bin/git-host-actions-runner-linux-x64-gnu +0 -0
  8. package/dist/api/forge/actions.d.ts +17 -0
  9. package/dist/api/forge/actions.d.ts.map +1 -0
  10. package/dist/api/forge/actions.js +272 -0
  11. package/dist/api/forge/actions.js.map +1 -0
  12. package/dist/api/forge/archives.d.ts +5 -0
  13. package/dist/api/forge/archives.d.ts.map +1 -0
  14. package/dist/api/forge/archives.js +63 -0
  15. package/dist/api/forge/archives.js.map +1 -0
  16. package/dist/api/forge/handler.d.ts.map +1 -1
  17. package/dist/api/forge/handler.js +2 -350
  18. package/dist/api/forge/handler.js.map +1 -1
  19. package/dist/api/forge/route.d.ts +33 -0
  20. package/dist/api/forge/route.d.ts.map +1 -1
  21. package/dist/api/forge/route.js +81 -82
  22. package/dist/api/forge/route.js.map +1 -1
  23. package/dist/api/forge/runtime.d.ts +5 -0
  24. package/dist/api/forge/runtime.d.ts.map +1 -0
  25. package/dist/api/forge/runtime.js +181 -0
  26. package/dist/api/forge/runtime.js.map +1 -0
  27. package/dist/api/forge/socket.d.ts +6 -0
  28. package/dist/api/forge/socket.d.ts.map +1 -0
  29. package/dist/api/forge/socket.js +193 -0
  30. package/dist/api/forge/socket.js.map +1 -0
  31. package/dist/api/handler/action.d.ts +1 -1
  32. package/dist/api/handler/action.d.ts.map +1 -1
  33. package/dist/api/handler/action.js +52 -40
  34. package/dist/api/handler/action.js.map +1 -1
  35. package/dist/api/handler/archive.d.ts.map +1 -1
  36. package/dist/api/handler/response.js.map +1 -1
  37. package/dist/api/handler/route.d.ts +3 -16
  38. package/dist/api/handler/route.d.ts.map +1 -1
  39. package/dist/api/handler/route.js +40 -65
  40. package/dist/api/handler/route.js.map +1 -1
  41. package/dist/api/handler/runtime.d.ts +5 -0
  42. package/dist/api/handler/runtime.d.ts.map +1 -0
  43. package/dist/api/handler/runtime.js +187 -0
  44. package/dist/api/handler/runtime.js.map +1 -0
  45. package/dist/api/handler.d.ts.map +1 -1
  46. package/dist/api/handler.js +2 -136
  47. package/dist/api/handler.js.map +1 -1
  48. package/dist/api/routing.d.ts +9 -0
  49. package/dist/api/routing.d.ts.map +1 -0
  50. package/dist/api/routing.js +35 -0
  51. package/dist/api/routing.js.map +1 -0
  52. package/dist/api/socket/events.d.ts +11 -0
  53. package/dist/api/socket/events.d.ts.map +1 -0
  54. package/dist/api/socket/events.js +11 -0
  55. package/dist/api/socket/events.js.map +1 -0
  56. package/dist/api/{socket_server.d.ts → socket/server.d.ts} +3 -3
  57. package/dist/api/socket/server.d.ts.map +1 -0
  58. package/dist/api/{socket_server.js → socket/server.js} +5 -5
  59. package/dist/api/socket/server.js.map +1 -0
  60. package/dist/backend/utils/normalize.d.ts +2 -0
  61. package/dist/backend/utils/normalize.d.ts.map +1 -0
  62. package/dist/backend/utils/normalize.js +4 -0
  63. package/dist/backend/utils/normalize.js.map +1 -0
  64. package/dist/backend/utils/object.d.ts +3 -0
  65. package/dist/backend/utils/object.d.ts.map +1 -0
  66. package/dist/backend/utils/object.js +12 -0
  67. package/dist/backend/utils/object.js.map +1 -0
  68. package/dist/backend/utils/time.d.ts +3 -0
  69. package/dist/backend/utils/time.d.ts.map +1 -0
  70. package/dist/backend/utils/time.js +7 -0
  71. package/dist/backend/utils/time.js.map +1 -0
  72. package/dist/core/actions_runner.d.ts +58 -0
  73. package/dist/core/actions_runner.d.ts.map +1 -0
  74. package/dist/core/actions_runner.js +414 -0
  75. package/dist/core/actions_runner.js.map +1 -0
  76. package/dist/core/actions_workflows.d.ts +22 -0
  77. package/dist/core/actions_workflows.d.ts.map +1 -0
  78. package/dist/core/actions_workflows.js +218 -0
  79. package/dist/core/actions_workflows.js.map +1 -0
  80. package/dist/core/activity.d.ts +11 -0
  81. package/dist/core/activity.d.ts.map +1 -0
  82. package/dist/core/activity.js +206 -0
  83. package/dist/core/activity.js.map +1 -0
  84. package/dist/core/archive.d.ts.map +1 -1
  85. package/dist/core/archive.js.map +1 -1
  86. package/dist/core/archive_cache_filesystem.d.ts.map +1 -1
  87. package/dist/core/create/git/forge.d.ts +4 -0
  88. package/dist/core/create/git/forge.d.ts.map +1 -0
  89. package/dist/core/{create_git_forge.js → create/git/forge.js} +84 -39
  90. package/dist/core/create/git/forge.js.map +1 -0
  91. package/dist/core/create/git/host.d.ts +4 -0
  92. package/dist/core/create/git/host.d.ts.map +1 -0
  93. package/dist/core/{create_git_host.js → create/git/host.js} +16 -16
  94. package/dist/core/create/git/host.js.map +1 -0
  95. package/dist/core/create_git_host/branch_methods.d.ts.map +1 -1
  96. package/dist/core/create_git_host/branch_methods.js.map +1 -1
  97. package/dist/core/create_git_host/content_methods.d.ts.map +1 -1
  98. package/dist/core/create_git_host/content_methods.js.map +1 -1
  99. package/dist/core/create_git_host/remote_methods.d.ts.map +1 -1
  100. package/dist/core/create_git_host/remote_methods.js +60 -0
  101. package/dist/core/create_git_host/remote_methods.js.map +1 -1
  102. package/dist/core/create_git_host/shared.d.ts.map +1 -1
  103. package/dist/core/create_git_host/shared.js.map +1 -1
  104. package/dist/core/create_git_host/working_tree_methods.d.ts.map +1 -1
  105. package/dist/core/create_git_host/working_tree_methods.js.map +1 -1
  106. package/dist/core/forge_actions.d.ts +25 -0
  107. package/dist/core/forge_actions.d.ts.map +1 -0
  108. package/dist/core/forge_actions.js +625 -0
  109. package/dist/core/forge_actions.js.map +1 -0
  110. package/dist/core/git_forge/storage_memory.d.ts.map +1 -1
  111. package/dist/core/git_forge/storage_memory.js +145 -2
  112. package/dist/core/git_forge/storage_memory.js.map +1 -1
  113. package/dist/core/inspect/helpers.d.ts.map +1 -1
  114. package/dist/core/inspect/helpers.js.map +1 -1
  115. package/dist/core/inspect/icon_theme.d.ts.map +1 -1
  116. package/dist/core/inspect/icon_theme.js.map +1 -1
  117. package/dist/core/inspect/linguist_progress.d.ts.map +1 -1
  118. package/dist/core/inspect/linguist_progress.js.map +1 -1
  119. package/dist/core/inspect.d.ts.map +1 -1
  120. package/dist/core/inspect.js.map +1 -1
  121. package/dist/core/inspection.d.ts.map +1 -1
  122. package/dist/core/inspection.js.map +1 -1
  123. package/dist/core/operation_state.d.ts.map +1 -1
  124. package/dist/core/remote.d.ts.map +1 -1
  125. package/dist/core/remote.js.map +1 -1
  126. package/dist/core/repository/parsers.d.ts.map +1 -1
  127. package/dist/core/repository/parsers.js.map +1 -1
  128. package/dist/core/repository.d.ts.map +1 -1
  129. package/dist/core/repository.js.map +1 -1
  130. package/dist/core/run_git/env.d.ts.map +1 -1
  131. package/dist/core/run_git/env.js.map +1 -1
  132. package/dist/core/run_git/process.d.ts.map +1 -1
  133. package/dist/core/run_git/process.js.map +1 -1
  134. package/dist/core/run_git/repository_setup.d.ts.map +1 -1
  135. package/dist/core/run_git/repository_setup.js.map +1 -1
  136. package/dist/core/run_git.d.ts.map +1 -1
  137. package/dist/core/run_git.js.map +1 -1
  138. package/dist/core/working_tree/mutate.d.ts.map +1 -1
  139. package/dist/core/working_tree/mutate.js.map +1 -1
  140. package/dist/core/working_tree/read.d.ts.map +1 -1
  141. package/dist/core/working_tree/read.js.map +1 -1
  142. package/dist/core/working_tree/shared.d.ts.map +1 -1
  143. package/dist/core/working_tree/shared.js.map +1 -1
  144. package/dist/frontend/js/utils/text.d.ts +2 -0
  145. package/dist/frontend/js/utils/text.d.ts.map +1 -0
  146. package/dist/frontend/js/utils/text.js +4 -0
  147. package/dist/frontend/js/utils/text.js.map +1 -0
  148. package/dist/http/handler/helpers.d.ts.map +1 -1
  149. package/dist/http/handler/helpers.js.map +1 -1
  150. package/dist/http/handler.d.ts.map +1 -1
  151. package/dist/http/handler.js +5 -1
  152. package/dist/http/handler.js.map +1 -1
  153. package/dist/index.d.ts +7 -4
  154. package/dist/index.d.ts.map +1 -1
  155. package/dist/index.js +6 -3
  156. package/dist/index.js.map +1 -1
  157. package/dist/ssh/keys.js.map +1 -1
  158. package/dist/ssh/server/audit.d.ts.map +1 -1
  159. package/dist/ssh/server/shared.d.ts +1 -1
  160. package/dist/ssh/server/shared.d.ts.map +1 -1
  161. package/dist/ssh/server/shared.js.map +1 -1
  162. package/dist/ssh/server.d.ts.map +1 -1
  163. package/dist/ssh/server.js +6 -2
  164. package/dist/ssh/server.js.map +1 -1
  165. package/dist/types/forge.d.ts +224 -7
  166. package/dist/types/forge.d.ts.map +1 -1
  167. package/dist/types/host/archive.d.ts +98 -0
  168. package/dist/types/host/archive.d.ts.map +1 -0
  169. package/dist/types/host/archive.js +2 -0
  170. package/dist/types/host/archive.js.map +1 -0
  171. package/dist/types/host/options.d.ts +203 -0
  172. package/dist/types/host/options.d.ts.map +1 -0
  173. package/dist/types/host/options.js +2 -0
  174. package/dist/types/host/options.js.map +1 -0
  175. package/dist/types/host/service.d.ts +54 -0
  176. package/dist/types/host/service.d.ts.map +1 -0
  177. package/dist/types/host/service.js +2 -0
  178. package/dist/types/host/service.js.map +1 -0
  179. package/dist/types/host.d.ts +3 -343
  180. package/dist/types/host.d.ts.map +1 -1
  181. package/dist/types/index.d.ts +1 -1
  182. package/dist/types/index.d.ts.map +1 -1
  183. package/dist/types/repository/archive.d.ts +37 -0
  184. package/dist/types/repository/archive.d.ts.map +1 -0
  185. package/dist/types/repository/archive.js +2 -0
  186. package/dist/types/repository/archive.js.map +1 -0
  187. package/dist/types/repository/core.d.ts +255 -0
  188. package/dist/types/repository/core.d.ts.map +1 -0
  189. package/dist/types/repository/core.js +2 -0
  190. package/dist/types/repository/core.js.map +1 -0
  191. package/dist/types/repository/inspection.d.ts +118 -0
  192. package/dist/types/repository/inspection.d.ts.map +1 -0
  193. package/dist/types/repository/inspection.js +2 -0
  194. package/dist/types/repository/inspection.js.map +1 -0
  195. package/dist/types/repository.d.ts +3 -403
  196. package/dist/types/repository.d.ts.map +1 -1
  197. package/dist/types/transports.d.ts +4 -1
  198. package/dist/types/transports.d.ts.map +1 -1
  199. package/dist/utils/paths.js.map +1 -1
  200. package/dist/utils/text.d.ts +2 -3
  201. package/dist/utils/text.d.ts.map +1 -1
  202. package/dist/utils/text.js +2 -3
  203. package/dist/utils/text.js.map +1 -1
  204. package/package.json +183 -69
  205. package/dist/api/socket_events.d.ts +0 -7
  206. package/dist/api/socket_events.d.ts.map +0 -1
  207. package/dist/api/socket_events.js +0 -7
  208. package/dist/api/socket_events.js.map +0 -1
  209. package/dist/api/socket_server.d.ts.map +0 -1
  210. package/dist/api/socket_server.js.map +0 -1
  211. package/dist/browser/index.d.ts +0 -65
  212. package/dist/browser/index.d.ts.map +0 -1
  213. package/dist/browser/index.js +0 -799
  214. package/dist/browser/index.js.map +0 -1
  215. package/dist/browser/styles.css +0 -317
  216. package/dist/core/create_git_forge.d.ts +0 -4
  217. package/dist/core/create_git_forge.d.ts.map +0 -1
  218. package/dist/core/create_git_forge.js.map +0 -1
  219. package/dist/core/create_git_host.d.ts +0 -4
  220. package/dist/core/create_git_host.d.ts.map +0 -1
  221. package/dist/core/create_git_host.js.map +0 -1
  222. package/dist/react/client/error.d.ts +0 -14
  223. package/dist/react/client/error.d.ts.map +0 -1
  224. package/dist/react/client/error.js +0 -32
  225. package/dist/react/client/error.js.map +0 -1
  226. package/dist/react/client/helpers.d.ts +0 -12
  227. package/dist/react/client/helpers.d.ts.map +0 -1
  228. package/dist/react/client/helpers.js +0 -45
  229. package/dist/react/client/helpers.js.map +0 -1
  230. package/dist/react/client/types.d.ts +0 -195
  231. package/dist/react/client/types.d.ts.map +0 -1
  232. package/dist/react/client/types.js +0 -2
  233. package/dist/react/client/types.js.map +0 -1
  234. package/dist/react/client.d.ts +0 -6
  235. package/dist/react/client.d.ts.map +0 -1
  236. package/dist/react/client.js +0 -506
  237. package/dist/react/client.js.map +0 -1
  238. package/dist/react/components.d.ts +0 -44412
  239. package/dist/react/components.d.ts.map +0 -1
  240. package/dist/react/components.js +0 -758
  241. package/dist/react/components.js.map +0 -1
  242. package/dist/react/hooks/query.d.ts +0 -14
  243. package/dist/react/hooks/query.d.ts.map +0 -1
  244. package/dist/react/hooks/query.js +0 -139
  245. package/dist/react/hooks/query.js.map +0 -1
  246. package/dist/react/hooks/resources.d.ts +0 -64
  247. package/dist/react/hooks/resources.d.ts.map +0 -1
  248. package/dist/react/hooks/resources.js +0 -438
  249. package/dist/react/hooks/resources.js.map +0 -1
  250. package/dist/react/hooks/types.d.ts +0 -80
  251. package/dist/react/hooks/types.d.ts.map +0 -1
  252. package/dist/react/hooks/types.js +0 -2
  253. package/dist/react/hooks/types.js.map +0 -1
  254. package/dist/react/hooks.d.ts +0 -4
  255. package/dist/react/hooks.d.ts.map +0 -1
  256. package/dist/react/hooks.js +0 -3
  257. package/dist/react/hooks.js.map +0 -1
  258. package/dist/react/index.d.ts +0 -8
  259. package/dist/react/index.d.ts.map +0 -1
  260. package/dist/react/index.js +0 -5
  261. package/dist/react/index.js.map +0 -1
  262. package/dist/react/ui/context.d.ts +0 -1907
  263. package/dist/react/ui/context.d.ts.map +0 -1
  264. package/dist/react/ui/context.js +0 -186
  265. package/dist/react/ui/context.js.map +0 -1
@@ -1,506 +0,0 @@
1
- import { io as connectSocket } from "socket.io-client";
2
- import { LINGUIST_DONE_EVENT, LINGUIST_ERROR_EVENT, LINGUIST_PROGRESS_EVENT, LINGUIST_RESULT_EVENT, LINGUIST_START_EVENT, } from "../api/socket_events.js";
3
- import { GitApiClientError, parseJsonResponse } from "./client/error.js";
4
- import { appendQuery, buildQuery, encodePathSegment, mergeHeaders, normalizeBaseUrl, resolveHeaders } from "./client/helpers.js";
5
- function resolveSocketEndpoint(baseUrl, pathOverride) {
6
- const trimmed = normalizeBaseUrl(baseUrl);
7
- let absolute = null;
8
- try {
9
- absolute = new URL(trimmed);
10
- }
11
- catch {
12
- absolute = null;
13
- }
14
- const basePath = absolute
15
- ? absolute.pathname.replace(/\/+$/g, "")
16
- : trimmed.replace(/\/+$/g, "");
17
- const path = (() => {
18
- const next = String(pathOverride || "").trim().replace(/\/+$/g, "");
19
- if (next)
20
- return next.startsWith("/") ? next : `/${next}`;
21
- const derived = `${basePath || ""}/socket.io`.replace(/\/{2,}/g, "/");
22
- return derived.startsWith("/") ? derived : `/${derived}`;
23
- })();
24
- return absolute
25
- ? { path, url: `${absolute.protocol}//${absolute.host}` }
26
- : { path };
27
- }
28
- function createGitApiClient(options) {
29
- const baseUrl = normalizeBaseUrl(options.baseUrl);
30
- const fetchImpl = options.fetch || globalThis.fetch;
31
- if (typeof fetchImpl !== "function") {
32
- throw new TypeError("createGitApiClient() requires fetch support.");
33
- }
34
- async function request(repositoryKey, actionPath, input) {
35
- const repositoryBasePath = `/repositories/${encodePathSegment(repositoryKey)}`;
36
- const requestPath = `${repositoryBasePath}/${String(actionPath || "").replace(/^\/+/, "")}`;
37
- const url = appendQuery(`${baseUrl}${requestPath}`, input?.query);
38
- const resolvedHeaders = mergeHeaders(await resolveHeaders(options.headers, {
39
- path: requestPath,
40
- repositoryKey,
41
- }), input?.headers);
42
- const method = input?.method || "GET";
43
- const body = input?.body == null || method === "GET"
44
- ? undefined
45
- : JSON.stringify(input.body);
46
- const finalHeaders = body
47
- ? mergeHeaders({ "content-type": "application/json; charset=utf-8" }, resolvedHeaders)
48
- : resolvedHeaders;
49
- const response = await fetchImpl(url, {
50
- body,
51
- headers: finalHeaders,
52
- method,
53
- signal: input?.signal,
54
- });
55
- const payload = await parseJsonResponse(response);
56
- if (!payload && response.ok) {
57
- throw new GitApiClientError({
58
- code: "empty_response",
59
- message: "Git API returned an empty response.",
60
- status: response.status || 500,
61
- });
62
- }
63
- if (payload && payload.ok === false) {
64
- throw new GitApiClientError({
65
- code: payload.error.code,
66
- details: payload.error.details,
67
- message: payload.error.message,
68
- status: response.status || 500,
69
- });
70
- }
71
- if (!response.ok) {
72
- throw new GitApiClientError({
73
- code: "http_error",
74
- message: `Git API request failed with status ${response.status}.`,
75
- status: response.status || 500,
76
- });
77
- }
78
- return payload;
79
- }
80
- return {
81
- baseUrl,
82
- getArchiveLinks(repositoryKey, input = {}) {
83
- const ref = input.ref || "HEAD";
84
- const repositoryBasePath = `${baseUrl}/repositories/${encodePathSegment(repositoryKey)}`;
85
- const zipDefaultHref = `${repositoryBasePath}/zipball/${encodePathSegment(ref)}`;
86
- const tarDefaultHref = `${repositoryBasePath}/tarball/${encodePathSegment(ref)}`;
87
- return {
88
- tar_gz: {
89
- file_name: input.fileName,
90
- format: "tar.gz",
91
- href: String(options.buildArchiveUrl?.({
92
- baseUrl,
93
- defaultHref: tarDefaultHref,
94
- format: "tar.gz",
95
- ref,
96
- repositoryKey,
97
- }) || tarDefaultHref),
98
- ref,
99
- root_directory: input.rootDirectory,
100
- },
101
- zip: {
102
- file_name: input.fileName,
103
- format: "zip",
104
- href: String(options.buildArchiveUrl?.({
105
- baseUrl,
106
- defaultHref: zipDefaultHref,
107
- format: "zip",
108
- ref,
109
- repositoryKey,
110
- }) || zipDefaultHref),
111
- ref,
112
- root_directory: input.rootDirectory,
113
- },
114
- };
115
- },
116
- getReleaseAssetLink(repositoryKey, releaseId, asset) {
117
- const defaultHref = String(asset.download_url || `${baseUrl}/repositories/${encodePathSegment(repositoryKey)}/releases/${encodePathSegment(releaseId)}/assets/${encodePathSegment(asset.id)}`);
118
- return {
119
- asset_id: asset.id,
120
- content_type: asset.content_type,
121
- file_name: asset.name,
122
- href: String(options.buildReleaseAssetUrl?.({
123
- assetId: asset.id,
124
- baseUrl,
125
- defaultHref,
126
- releaseId,
127
- repositoryKey,
128
- }) || defaultHref),
129
- size: asset.size == null ? null : Number(asset.size) || 0,
130
- };
131
- },
132
- async diff(repositoryKey, input) {
133
- const response = await request(repositoryKey, "diff", {
134
- headers: input.headers,
135
- query: buildQuery({
136
- baseRef: input.baseRef,
137
- headRef: input.headRef,
138
- path: input.path,
139
- }),
140
- signal: input.signal,
141
- });
142
- return response.data;
143
- },
144
- async listBranches(repositoryKey, input) {
145
- const response = await request(repositoryKey, "branches", input);
146
- return response.data;
147
- },
148
- async listActivity(repositoryKey, input) {
149
- const response = await request(repositoryKey, "activity", input);
150
- return response.data;
151
- },
152
- async listCommits(repositoryKey, input) {
153
- const response = await request(repositoryKey, "commits", {
154
- headers: input?.headers,
155
- query: buildQuery({
156
- limit: input?.limit,
157
- path: input?.path,
158
- ref: input?.ref,
159
- }),
160
- signal: input?.signal,
161
- });
162
- return response.data;
163
- },
164
- async listTags(repositoryKey, input) {
165
- const response = await request(repositoryKey, "tags", input);
166
- return response.data;
167
- },
168
- async listForks(repositoryKey, input) {
169
- const response = await request(repositoryKey, "forks", input);
170
- return response.data;
171
- },
172
- async listReleases(repositoryKey, input) {
173
- const response = await request(repositoryKey, "releases", input);
174
- return response.data;
175
- },
176
- async listTree(repositoryKey, input) {
177
- const response = await request(repositoryKey, "tree", {
178
- headers: input?.headers,
179
- query: buildQuery({
180
- icons: input?.icons,
181
- linguist: input?.linguist,
182
- path: input?.path,
183
- recursive: input?.recursive,
184
- ref: input?.ref,
185
- }),
186
- signal: input?.signal,
187
- });
188
- return response.data;
189
- },
190
- async readBlob(repositoryKey, input) {
191
- const response = await request(repositoryKey, "blob", {
192
- headers: input.headers,
193
- query: buildQuery({
194
- path: input.path,
195
- ref: input.ref,
196
- }),
197
- signal: input.signal,
198
- });
199
- return response.data;
200
- },
201
- async readArchive(repositoryKey, input) {
202
- const response = await request(repositoryKey, "archive", {
203
- headers: input?.headers,
204
- query: buildQuery({
205
- format: input?.format,
206
- prefix: input?.prefix,
207
- ref: input?.ref,
208
- }),
209
- signal: input?.signal,
210
- });
211
- return response.data;
212
- },
213
- async readBlame(repositoryKey, input) {
214
- const response = await request(repositoryKey, "blame", {
215
- headers: input.headers,
216
- query: buildQuery({
217
- path: input.path,
218
- ref: input.ref,
219
- }),
220
- signal: input.signal,
221
- });
222
- return response.data;
223
- },
224
- async readCommit(repositoryKey, commitRef, input) {
225
- const response = await request(repositoryKey, `commits/${encodePathSegment(commitRef)}`, input);
226
- return response.data;
227
- },
228
- async readLinguist(repositoryKey, input) {
229
- const response = await request(repositoryKey, "linguist", {
230
- headers: input?.headers,
231
- query: buildQuery({
232
- ref: input?.ref,
233
- }),
234
- signal: input?.signal,
235
- });
236
- return response.data;
237
- },
238
- openLinguistSocket(repositoryKey, input) {
239
- const { path, url } = resolveSocketEndpoint(baseUrl, options.socketOptions && options.socketOptions.path);
240
- let socket = null;
241
- let settled = false;
242
- let rejectCompleted = null;
243
- let resolveCompleted = null;
244
- const cleanup = () => {
245
- socket?.off(LINGUIST_PROGRESS_EVENT);
246
- socket?.off(LINGUIST_RESULT_EVENT);
247
- socket?.off(LINGUIST_DONE_EVENT);
248
- socket?.off(LINGUIST_ERROR_EVENT);
249
- socket?.off("connect");
250
- socket?.off("connect_error");
251
- input?.signal?.removeEventListener("abort", onAbort);
252
- };
253
- const finish = (kind, value) => {
254
- if (settled)
255
- return;
256
- settled = true;
257
- cleanup();
258
- if (kind === "resolve")
259
- resolveCompleted && resolveCompleted();
260
- else
261
- rejectCompleted && rejectCompleted(value);
262
- socket?.disconnect();
263
- };
264
- const onAbort = () => {
265
- const abortError = new Error("Git linguist socket request was aborted.");
266
- abortError.name = "AbortError";
267
- finish("reject", abortError);
268
- };
269
- input?.signal?.addEventListener("abort", onAbort, { once: true });
270
- const completed = new Promise((resolve, reject) => {
271
- resolveCompleted = resolve;
272
- rejectCompleted = reject;
273
- });
274
- void (async () => {
275
- const repositoryBasePath = `/repositories/${encodePathSegment(repositoryKey)}`;
276
- const requestPath = `${repositoryBasePath}/linguist/socket`;
277
- const resolvedHeaders = mergeHeaders(await resolveHeaders(options.headers, {
278
- path: requestPath,
279
- repositoryKey,
280
- }), input?.headers);
281
- socket = connectSocket(url, {
282
- ...(options.socketOptions || {}),
283
- autoConnect: false,
284
- extraHeaders: {
285
- ...((options.socketOptions && options.socketOptions.extraHeaders) || {}),
286
- ...(resolvedHeaders || {}),
287
- },
288
- path,
289
- transports: (options.socketOptions && options.socketOptions.transports) || ["websocket"],
290
- });
291
- if (settled) {
292
- socket.disconnect();
293
- return;
294
- }
295
- socket.on("connect", () => {
296
- socket && socket.emit(LINGUIST_START_EVENT, {
297
- ref: input?.ref,
298
- repositoryKey,
299
- });
300
- });
301
- socket.on("connect_error", (error) => {
302
- finish("reject", error);
303
- });
304
- socket.on(LINGUIST_PROGRESS_EVENT, async (payload) => {
305
- const nextEvent = {
306
- progress: payload,
307
- type: "progress",
308
- };
309
- await input?.onProgress?.(nextEvent.progress);
310
- await input?.onEvent?.(nextEvent);
311
- });
312
- socket.on(LINGUIST_RESULT_EVENT, async (payload) => {
313
- const nextEvent = {
314
- ...payload,
315
- type: "result",
316
- };
317
- await input?.onResult?.(nextEvent);
318
- await input?.onEvent?.(nextEvent);
319
- });
320
- socket.on(LINGUIST_DONE_EVENT, async (payload) => {
321
- const nextEvent = {
322
- ...payload,
323
- type: "done",
324
- };
325
- await input?.onDone?.(nextEvent);
326
- await input?.onEvent?.(nextEvent);
327
- finish(nextEvent.ok === false ? "reject" : "resolve", nextEvent.ok === false
328
- ? new GitApiClientError({
329
- code: "git_api_error",
330
- message: "Git linguist socket ended without a successful result.",
331
- status: 500,
332
- })
333
- : undefined);
334
- });
335
- socket.on(LINGUIST_ERROR_EVENT, async (payload) => {
336
- const nextEvent = {
337
- ...payload,
338
- type: "error",
339
- };
340
- await input?.onError?.(nextEvent);
341
- await input?.onEvent?.(nextEvent);
342
- finish("reject", new GitApiClientError({
343
- code: nextEvent.error.code,
344
- details: nextEvent.error.details,
345
- message: nextEvent.error.message,
346
- status: nextEvent.status || 500,
347
- }));
348
- });
349
- socket.connect();
350
- })().catch((error) => {
351
- finish("reject", error);
352
- });
353
- return {
354
- close() {
355
- onAbort();
356
- },
357
- completed,
358
- };
359
- },
360
- async readTag(repositoryKey, tagName, input) {
361
- const response = await request(repositoryKey, `tags/${encodePathSegment(tagName)}`, input);
362
- return response.data;
363
- },
364
- async readOverview(repositoryKey, input) {
365
- const response = await request(repositoryKey, "overview", input);
366
- return response.data;
367
- },
368
- async readRelease(repositoryKey, releaseId, input) {
369
- const response = await request(repositoryKey, `releases/${encodePathSegment(releaseId)}`, input);
370
- return response.data;
371
- },
372
- async readSocialState(repositoryKey, input) {
373
- const response = await request(repositoryKey, "social", input);
374
- return response.data;
375
- },
376
- async readSummary(repositoryKey, input) {
377
- const response = await request(repositoryKey, "summary", {
378
- headers: input?.headers,
379
- query: buildQuery({
380
- commitLimit: input?.commitLimit,
381
- }),
382
- signal: input?.signal,
383
- });
384
- return response.data;
385
- },
386
- async createFork(repositoryKey, input) {
387
- const response = await request(repositoryKey, "forks", {
388
- body: {},
389
- headers: input?.headers,
390
- method: "POST",
391
- signal: input?.signal,
392
- });
393
- return response.data;
394
- },
395
- async createRelease(repositoryKey, input) {
396
- const response = await request(repositoryKey, "releases", {
397
- body: {
398
- assets: input.assets,
399
- createTag: input.createTag,
400
- draft: input.draft,
401
- existingTagName: input.existingTagName,
402
- notes: input.notes,
403
- prerelease: input.prerelease,
404
- publishedAt: input.publishedAt,
405
- title: input.title,
406
- },
407
- headers: input.headers,
408
- method: "POST",
409
- signal: input.signal,
410
- });
411
- return response.data;
412
- },
413
- async updateRelease(repositoryKey, releaseId, input) {
414
- const response = await request(repositoryKey, `releases/${encodePathSegment(releaseId)}`, {
415
- body: {
416
- assets: input.assets,
417
- draft: input.draft,
418
- notes: input.notes,
419
- prerelease: input.prerelease,
420
- publishedAt: input.publishedAt,
421
- title: input.title,
422
- },
423
- headers: input.headers,
424
- method: "PATCH",
425
- signal: input.signal,
426
- });
427
- return response.data;
428
- },
429
- async deleteRelease(repositoryKey, releaseId, input) {
430
- const response = await request(repositoryKey, `releases/${encodePathSegment(releaseId)}`, {
431
- body: {
432
- deleteTag: input?.deleteTag === true,
433
- },
434
- headers: input?.headers,
435
- method: "DELETE",
436
- signal: input?.signal,
437
- });
438
- return response.data;
439
- },
440
- async starRepository(repositoryKey, input) {
441
- const response = await request(repositoryKey, "stars", {
442
- body: {},
443
- headers: input?.headers,
444
- method: "POST",
445
- signal: input?.signal,
446
- });
447
- return response.data;
448
- },
449
- async unstarRepository(repositoryKey, input) {
450
- const response = await request(repositoryKey, "stars", {
451
- body: {},
452
- headers: input?.headers,
453
- method: "DELETE",
454
- signal: input?.signal,
455
- });
456
- return response.data;
457
- },
458
- async watchRepository(repositoryKey, input) {
459
- const response = await request(repositoryKey, "watch", {
460
- body: {},
461
- headers: input?.headers,
462
- method: "POST",
463
- signal: input?.signal,
464
- });
465
- return response.data;
466
- },
467
- async unwatchRepository(repositoryKey, input) {
468
- const response = await request(repositoryKey, "watch", {
469
- body: {},
470
- headers: input?.headers,
471
- method: "DELETE",
472
- signal: input?.signal,
473
- });
474
- return response.data;
475
- },
476
- async syncFork(repositoryKey, forkId, input) {
477
- const response = await request(repositoryKey, `forks/${encodePathSegment(forkId)}/sync`, {
478
- body: {
479
- strategy: input?.strategy,
480
- },
481
- headers: input?.headers,
482
- method: "POST",
483
- signal: input?.signal,
484
- });
485
- return response.data;
486
- },
487
- async search(repositoryKey, input) {
488
- const response = await request(repositoryKey, "search", {
489
- headers: input.headers,
490
- query: buildQuery({
491
- caseSensitive: input.caseSensitive,
492
- limit: input.limit,
493
- path: input.path,
494
- query: input.query,
495
- ref: input.ref,
496
- regexp: input.regexp,
497
- }),
498
- signal: input.signal,
499
- });
500
- return response.data;
501
- },
502
- request,
503
- };
504
- }
505
- export { GitApiClientError, createGitApiClient };
506
- //# sourceMappingURL=client.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/react/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,IAAI,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEvD,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EACpB,uBAAuB,EACvB,qBAAqB,EACrB,oBAAoB,GACrB,MAAM,yBAAyB,CAAC;AAcjC,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACzE,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,iBAAiB,EAAE,YAAY,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAEjI,SAAS,qBAAqB,CAC5B,OAAe,EACf,YAAgC;IAKhC,MAAM,OAAO,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAC1C,IAAI,QAAQ,GAAe,IAAI,CAAC;IAChC,IAAI,CAAC;QACH,QAAQ,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;IAC9B,CAAC;IAAC,MAAM,CAAC;QACP,QAAQ,GAAG,IAAI,CAAC;IAClB,CAAC;IAED,MAAM,QAAQ,GAAG,QAAQ;QACvB,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;QACxC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IACjC,MAAM,IAAI,GAAG,CAAC,GAAG,EAAE;QACjB,MAAM,IAAI,GAAG,MAAM,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QACpE,IAAI,IAAI;YAAE,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC;QAC1D,MAAM,OAAO,GAAG,GAAG,QAAQ,IAAI,EAAE,YAAY,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;QACtE,OAAO,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,OAAO,EAAE,CAAC;IAC3D,CAAC,CAAC,EAAE,CAAC;IAEL,OAAO,QAAQ;QACb,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,QAAQ,CAAC,QAAQ,KAAK,QAAQ,CAAC,IAAI,EAAE,EAAE;QACzD,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;AACf,CAAC;AAED,SAAS,kBAAkB,CAAC,OAAkC;IAC5D,MAAM,OAAO,GAAG,gBAAgB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAClD,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,IAAI,UAAU,CAAC,KAAK,CAAC;IAEpD,IAAI,OAAO,SAAS,KAAK,UAAU,EAAE,CAAC;QACpC,MAAM,IAAI,SAAS,CAAC,8CAA8C,CAAC,CAAC;IACtE,CAAC;IAED,KAAK,UAAU,OAAO,CACpB,aAAqB,EACrB,UAAkB,EAClB,KAEC;QAED,MAAM,kBAAkB,GAAG,iBAAiB,iBAAiB,CAAC,aAAa,CAAC,EAAE,CAAC;QAC/E,MAAM,WAAW,GAAG,GAAG,kBAAkB,IAAI,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC;QAC5F,MAAM,GAAG,GAAG,WAAW,CAAC,GAAG,OAAO,GAAG,WAAW,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;QAClE,MAAM,eAAe,GAAG,YAAY,CAClC,MAAM,cAAc,CAAC,OAAO,CAAC,OAAO,EAAE;YACpC,IAAI,EAAE,WAAW;YACjB,aAAa;SACd,CAAC,EACF,KAAK,EAAE,OAAO,CACf,CAAC;QACF,MAAM,MAAM,GAAG,KAAK,EAAE,MAAM,IAAI,KAAK,CAAC;QACtC,MAAM,IAAI,GAAG,KAAK,EAAE,IAAI,IAAI,IAAI,IAAI,MAAM,KAAK,KAAK;YAClD,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC/B,MAAM,YAAY,GAAG,IAAI;YACvB,CAAC,CAAC,YAAY,CAAC,EAAE,cAAc,EAAE,iCAAiC,EAAE,EAAE,eAAe,CAAC;YACtF,CAAC,CAAC,eAAe,CAAC;QAEpB,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,GAAG,EAAE;YACpC,IAAI;YACJ,OAAO,EAAE,YAAY;YACrB,MAAM;YACN,MAAM,EAAE,KAAK,EAAE,MAAM;SACtB,CAAC,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,iBAAiB,CAAC,QAAQ,CAA0C,CAAC;QAE3F,IAAI,CAAC,OAAO,IAAI,QAAQ,CAAC,EAAE,EAAE,CAAC;YAC5B,MAAM,IAAI,iBAAiB,CAAC;gBAC1B,IAAI,EAAE,gBAAgB;gBACtB,OAAO,EAAE,qCAAqC;gBAC9C,MAAM,EAAE,QAAQ,CAAC,MAAM,IAAI,GAAG;aAC/B,CAAC,CAAC;QACL,CAAC;QAED,IAAI,OAAO,IAAI,OAAO,CAAC,EAAE,KAAK,KAAK,EAAE,CAAC;YACpC,MAAM,IAAI,iBAAiB,CAAC;gBAC1B,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,IAAI;gBACxB,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,OAAO;gBAC9B,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,OAAO;gBAC9B,MAAM,EAAE,QAAQ,CAAC,MAAM,IAAI,GAAG;aAC/B,CAAC,CAAC;QACL,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,iBAAiB,CAAC;gBAC1B,IAAI,EAAE,YAAY;gBAClB,OAAO,EAAE,sCAAsC,QAAQ,CAAC,MAAM,GAAG;gBACjE,MAAM,EAAE,QAAQ,CAAC,MAAM,IAAI,GAAG;aAC/B,CAAC,CAAC;QACL,CAAC;QAED,OAAO,OAAgD,CAAC;IAC1D,CAAC;IAED,OAAO;QACL,OAAO;QACP,eAAe,CAAC,aAAa,EAAE,KAAK,GAAG,EAAE;YACvC,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,IAAI,MAAM,CAAC;YAChC,MAAM,kBAAkB,GAAG,GAAG,OAAO,iBAAiB,iBAAiB,CAAC,aAAa,CAAC,EAAE,CAAC;YACzF,MAAM,cAAc,GAAG,GAAG,kBAAkB,YAAY,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC;YACjF,MAAM,cAAc,GAAG,GAAG,kBAAkB,YAAY,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC;YACjF,OAAO;gBACL,MAAM,EAAE;oBACN,SAAS,EAAE,KAAK,CAAC,QAAQ;oBACzB,MAAM,EAAE,QAAQ;oBAChB,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC;wBACrC,OAAO;wBACP,WAAW,EAAE,cAAc;wBAC3B,MAAM,EAAE,QAAQ;wBAChB,GAAG;wBACH,aAAa;qBACd,CAAC,IAAI,cAAc,CAAC;oBACrB,GAAG;oBACH,cAAc,EAAE,KAAK,CAAC,aAAa;iBACpC;gBACD,GAAG,EAAE;oBACH,SAAS,EAAE,KAAK,CAAC,QAAQ;oBACzB,MAAM,EAAE,KAAK;oBACb,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC;wBACrC,OAAO;wBACP,WAAW,EAAE,cAAc;wBAC3B,MAAM,EAAE,KAAK;wBACb,GAAG;wBACH,aAAa;qBACd,CAAC,IAAI,cAAc,CAAC;oBACrB,GAAG;oBACH,cAAc,EAAE,KAAK,CAAC,aAAa;iBACpC;aACF,CAAC;QACJ,CAAC;QACD,mBAAmB,CAAC,aAAa,EAAE,SAAS,EAAE,KAAK;YACjD,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,YAAY,IAAI,GAAG,OAAO,iBAAiB,iBAAiB,CAAC,aAAa,CAAC,aAAa,iBAAiB,CAAC,SAAS,CAAC,WAAW,iBAAiB,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YAC/L,OAAO;gBACL,QAAQ,EAAE,KAAK,CAAC,EAAE;gBAClB,YAAY,EAAE,KAAK,CAAC,YAAY;gBAChC,SAAS,EAAE,KAAK,CAAC,IAAI;gBACrB,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,oBAAoB,EAAE,CAAC;oBAC1C,OAAO,EAAE,KAAK,CAAC,EAAE;oBACjB,OAAO;oBACP,WAAW;oBACX,SAAS;oBACT,aAAa;iBACd,CAAC,IAAI,WAAW,CAAC;gBAClB,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;aAC1D,CAAC;QACJ,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,aAAa,EAAE,KAAK;YAC7B,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAwF,aAAa,EAAE,MAAM,EAAE;gBAC3I,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,KAAK,EAAE,UAAU,CAAC;oBAChB,OAAO,EAAE,KAAK,CAAC,OAAO;oBACtB,OAAO,EAAE,KAAK,CAAC,OAAO;oBACtB,IAAI,EAAE,KAAK,CAAC,IAAI;iBACjB,CAAC;gBACF,MAAM,EAAE,KAAK,CAAC,MAAM;aACrB,CAAC,CAAC;YACH,OAAO,QAAQ,CAAC,IAAI,CAAC;QACvB,CAAC;QACD,KAAK,CAAC,YAAY,CAAC,aAAa,EAAE,KAAK;YACrC,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAoG,aAAa,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;YACpK,OAAO,QAAQ,CAAC,IAAI,CAAC;QACvB,CAAC;QACD,KAAK,CAAC,YAAY,CAAC,aAAa,EAAE,KAAK;YACrC,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAoG,aAAa,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;YACpK,OAAO,QAAQ,CAAC,IAAI,CAAC;QACvB,CAAC;QACD,KAAK,CAAC,WAAW,CAAC,aAAa,EAAE,KAAK;YACpC,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAkG,aAAa,EAAE,SAAS,EAAE;gBACxJ,OAAO,EAAE,KAAK,EAAE,OAAO;gBACvB,KAAK,EAAE,UAAU,CAAC;oBAChB,KAAK,EAAE,KAAK,EAAE,KAAK;oBACnB,IAAI,EAAE,KAAK,EAAE,IAAI;oBACjB,GAAG,EAAE,KAAK,EAAE,GAAG;iBAChB,CAAC;gBACF,MAAM,EAAE,KAAK,EAAE,MAAM;aACtB,CAAC,CAAC;YACH,OAAO,QAAQ,CAAC,IAAI,CAAC;QACvB,CAAC;QACD,KAAK,CAAC,QAAQ,CAAC,aAAa,EAAE,KAAK;YACjC,MAAM,QAAQ,GAAG,MAAM,OAAO,CAA4F,aAAa,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;YACxJ,OAAO,QAAQ,CAAC,IAAI,CAAC;QACvB,CAAC;QACD,KAAK,CAAC,SAAS,CAAC,aAAa,EAAE,KAAK;YAClC,MAAM,QAAQ,GAAG,MAAM,OAAO,CAA8F,aAAa,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;YAC3J,OAAO,QAAQ,CAAC,IAAI,CAAC;QACvB,CAAC;QACD,KAAK,CAAC,YAAY,CAAC,aAAa,EAAE,KAAK;YACrC,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAoG,aAAa,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;YACpK,OAAO,QAAQ,CAAC,IAAI,CAAC;QACvB,CAAC;QACD,KAAK,CAAC,QAAQ,CAAC,aAAa,EAAE,KAAK;YACjC,MAAM,QAAQ,GAAG,MAAM,OAAO,CAA4F,aAAa,EAAE,MAAM,EAAE;gBAC/I,OAAO,EAAE,KAAK,EAAE,OAAO;gBACvB,KAAK,EAAE,UAAU,CAAC;oBAChB,KAAK,EAAE,KAAK,EAAE,KAAK;oBACnB,QAAQ,EAAE,KAAK,EAAE,QAAQ;oBACzB,IAAI,EAAE,KAAK,EAAE,IAAI;oBACjB,SAAS,EAAE,KAAK,EAAE,SAAS;oBAC3B,GAAG,EAAE,KAAK,EAAE,GAAG;iBAChB,CAAC;gBACF,MAAM,EAAE,KAAK,EAAE,MAAM;aACtB,CAAC,CAAC;YACH,OAAO,QAAQ,CAAC,IAAI,CAAC;QACvB,CAAC;QACD,KAAK,CAAC,QAAQ,CAAC,aAAa,EAAE,KAAK;YACjC,MAAM,QAAQ,GAAG,MAAM,OAAO,CAA4F,aAAa,EAAE,MAAM,EAAE;gBAC/I,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,KAAK,EAAE,UAAU,CAAC;oBAChB,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,GAAG,EAAE,KAAK,CAAC,GAAG;iBACf,CAAC;gBACF,MAAM,EAAE,KAAK,CAAC,MAAM;aACrB,CAAC,CAAC;YACH,OAAO,QAAQ,CAAC,IAAI,CAAC;QACvB,CAAC;QACD,KAAK,CAAC,WAAW,CAAC,aAAa,EAAE,KAAK;YACpC,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAkG,aAAa,EAAE,SAAS,EAAE;gBACxJ,OAAO,EAAE,KAAK,EAAE,OAAO;gBACvB,KAAK,EAAE,UAAU,CAAC;oBAChB,MAAM,EAAE,KAAK,EAAE,MAAM;oBACrB,MAAM,EAAE,KAAK,EAAE,MAAM;oBACrB,GAAG,EAAE,KAAK,EAAE,GAAG;iBAChB,CAAC;gBACF,MAAM,EAAE,KAAK,EAAE,MAAM;aACtB,CAAC,CAAC;YACH,OAAO,QAAQ,CAAC,IAAI,CAAC;QACvB,CAAC;QACD,KAAK,CAAC,SAAS,CAAC,aAAa,EAAE,KAAK;YAClC,MAAM,QAAQ,GAAG,MAAM,OAAO,CAA8F,aAAa,EAAE,OAAO,EAAE;gBAClJ,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,KAAK,EAAE,UAAU,CAAC;oBAChB,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,GAAG,EAAE,KAAK,CAAC,GAAG;iBACf,CAAC;gBACF,MAAM,EAAE,KAAK,CAAC,MAAM;aACrB,CAAC,CAAC;YACH,OAAO,QAAQ,CAAC,IAAI,CAAC;QACvB,CAAC;QACD,KAAK,CAAC,UAAU,CAAC,aAAa,EAAE,SAAS,EAAE,KAAK;YAC9C,MAAM,QAAQ,GAAG,MAAM,OAAO,CAC5B,aAAa,EACb,WAAW,iBAAiB,CAAC,SAAS,CAAC,EAAE,EACzC,KAAK,CACN,CAAC;YACF,OAAO,QAAQ,CAAC,IAAI,CAAC;QACvB,CAAC;QACD,KAAK,CAAC,YAAY,CAAC,aAAa,EAAE,KAAK;YACrC,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAoG,aAAa,EAAE,UAAU,EAAE;gBAC3J,OAAO,EAAE,KAAK,EAAE,OAAO;gBACvB,KAAK,EAAE,UAAU,CAAC;oBAChB,GAAG,EAAE,KAAK,EAAE,GAAG;iBAChB,CAAC;gBACF,MAAM,EAAE,KAAK,EAAE,MAAM;aACtB,CAAC,CAAC;YACH,OAAO,QAAQ,CAAC,IAAI,CAAC;QACvB,CAAC;QACD,kBAAkB,CAAC,aAAa,EAAE,KAAK;YACrC,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,qBAAqB,CAAC,OAAO,EAAE,OAAO,CAAC,aAAa,IAAI,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;YAC1G,IAAI,MAAM,GAA4C,IAAI,CAAC;YAC3D,IAAI,OAAO,GAAG,KAAK,CAAC;YACpB,IAAI,eAAe,GAAwC,IAAI,CAAC;YAChE,IAAI,gBAAgB,GAAwB,IAAI,CAAC;YACjD,MAAM,OAAO,GAAG,GAAG,EAAE;gBACnB,MAAM,EAAE,GAAG,CAAC,uBAAuB,CAAC,CAAC;gBACrC,MAAM,EAAE,GAAG,CAAC,qBAAqB,CAAC,CAAC;gBACnC,MAAM,EAAE,GAAG,CAAC,mBAAmB,CAAC,CAAC;gBACjC,MAAM,EAAE,GAAG,CAAC,oBAAoB,CAAC,CAAC;gBAClC,MAAM,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC;gBACvB,MAAM,EAAE,GAAG,CAAC,eAAe,CAAC,CAAC;gBAC7B,KAAK,EAAE,MAAM,EAAE,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YACvD,CAAC,CAAC;YACF,MAAM,MAAM,GAAG,CAAC,IAA0B,EAAE,KAAe,EAAE,EAAE;gBAC7D,IAAI,OAAO;oBAAE,OAAO;gBACpB,OAAO,GAAG,IAAI,CAAC;gBACf,OAAO,EAAE,CAAC;gBACV,IAAI,IAAI,KAAK,SAAS;oBAAE,gBAAgB,IAAI,gBAAgB,EAAE,CAAC;;oBAC1D,eAAe,IAAI,eAAe,CAAC,KAAK,CAAC,CAAC;gBAC/C,MAAM,EAAE,UAAU,EAAE,CAAC;YACvB,CAAC,CAAC;YACF,MAAM,OAAO,GAAG,GAAG,EAAE;gBACnB,MAAM,UAAU,GAAG,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;gBACzE,UAAU,CAAC,IAAI,GAAG,YAAY,CAAC;gBAC/B,MAAM,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;YAC/B,CAAC,CAAC;YACF,KAAK,EAAE,MAAM,EAAE,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;YAElE,MAAM,SAAS,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBACtD,gBAAgB,GAAG,OAAO,CAAC;gBAC3B,eAAe,GAAG,MAAM,CAAC;YAC3B,CAAC,CAAC,CAAC;YAEH,KAAK,CAAC,KAAK,IAAI,EAAE;gBACf,MAAM,kBAAkB,GAAG,iBAAiB,iBAAiB,CAAC,aAAa,CAAC,EAAE,CAAC;gBAC/E,MAAM,WAAW,GAAG,GAAG,kBAAkB,kBAAkB,CAAC;gBAC5D,MAAM,eAAe,GAAG,YAAY,CAClC,MAAM,cAAc,CAAC,OAAO,CAAC,OAAO,EAAE;oBACpC,IAAI,EAAE,WAAW;oBACjB,aAAa;iBACd,CAAC,EACF,KAAK,EAAE,OAAO,CACf,CAAC;gBAEF,MAAM,GAAG,aAAa,CAAC,GAAG,EAAE;oBAC1B,GAAG,CAAC,OAAO,CAAC,aAAa,IAAI,EAAE,CAAC;oBAChC,WAAW,EAAE,KAAK;oBAClB,YAAY,EAAE;wBACZ,GAAG,CAAC,CAAC,OAAO,CAAC,aAAa,IAAI,OAAO,CAAC,aAAa,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;wBACxE,GAAG,CAAC,eAAe,IAAI,EAAE,CAAC;qBAC3B;oBACD,IAAI;oBACJ,UAAU,EAAE,CAAC,OAAO,CAAC,aAAa,IAAI,OAAO,CAAC,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC;iBACzF,CAAC,CAAC;gBACH,IAAI,OAAO,EAAE,CAAC;oBACZ,MAAM,CAAC,UAAU,EAAE,CAAC;oBACpB,OAAO;gBACT,CAAC;gBACD,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE;oBACxB,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,oBAAoB,EAAE;wBAC1C,GAAG,EAAE,KAAK,EAAE,GAAG;wBACf,aAAa;qBACd,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;gBACH,MAAM,CAAC,EAAE,CAAC,eAAe,EAAE,CAAC,KAAY,EAAE,EAAE;oBAC1C,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;gBAC1B,CAAC,CAAC,CAAC;gBACH,MAAM,CAAC,EAAE,CAAC,uBAAuB,EAAE,KAAK,EAAE,OAAgB,EAAE,EAAE;oBAC5D,MAAM,SAAS,GAAG;wBAChB,QAAQ,EAAE,OAAO;wBACjB,IAAI,EAAE,UAAU;qBACiB,CAAC;oBACpC,MAAM,KAAK,EAAE,UAAU,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;oBAC9C,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,SAAS,CAAC,CAAC;gBACpC,CAAC,CAAC,CAAC;gBACH,MAAM,CAAC,EAAE,CAAC,qBAAqB,EAAE,KAAK,EAAE,OAAgB,EAAE,EAAE;oBAC1D,MAAM,SAAS,GAAG;wBAChB,GAAI,OAAsD;wBAC1D,IAAI,EAAE,QAAQ;qBACiB,CAAC;oBAClC,MAAM,KAAK,EAAE,QAAQ,EAAE,CAAC,SAAS,CAAC,CAAC;oBACnC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,SAAS,CAAC,CAAC;gBACpC,CAAC,CAAC,CAAC;gBACH,MAAM,CAAC,EAAE,CAAC,mBAAmB,EAAE,KAAK,EAAE,OAAgB,EAAE,EAAE;oBACxD,MAAM,SAAS,GAAG;wBAChB,GAAI,OAAoD;wBACxD,IAAI,EAAE,MAAM;qBACiB,CAAC;oBAChC,MAAM,KAAK,EAAE,MAAM,EAAE,CAAC,SAAS,CAAC,CAAC;oBACjC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,SAAS,CAAC,CAAC;oBAClC,MAAM,CAAC,SAAS,CAAC,EAAE,KAAK,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,KAAK,KAAK;wBAC1E,CAAC,CAAC,IAAI,iBAAiB,CAAC;4BACtB,IAAI,EAAE,eAAe;4BACrB,OAAO,EAAE,wDAAwD;4BACjE,MAAM,EAAE,GAAG;yBACZ,CAAC;wBACF,CAAC,CAAC,SAAS,CAAC,CAAC;gBACjB,CAAC,CAAC,CAAC;gBACH,MAAM,CAAC,EAAE,CAAC,oBAAoB,EAAE,KAAK,EAAE,OAAgB,EAAE,EAAE;oBACzD,MAAM,SAAS,GAAG;wBAChB,GAAI,OAAqD;wBACzD,IAAI,EAAE,OAAO;qBACiB,CAAC;oBACjC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,SAAS,CAAC,CAAC;oBAClC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,SAAS,CAAC,CAAC;oBAClC,MAAM,CAAC,QAAQ,EAAE,IAAI,iBAAiB,CAAC;wBACrC,IAAI,EAAE,SAAS,CAAC,KAAK,CAAC,IAAI;wBAC1B,OAAO,EAAE,SAAS,CAAC,KAAK,CAAC,OAAO;wBAChC,OAAO,EAAE,SAAS,CAAC,KAAK,CAAC,OAAO;wBAChC,MAAM,EAAE,SAAS,CAAC,MAAM,IAAI,GAAG;qBAChC,CAAC,CAAC,CAAC;gBACN,CAAC,CAAC,CAAC;gBACH,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;gBACnB,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;YAC1B,CAAC,CAAC,CAAC;YAEH,OAAO;gBACL,KAAK;oBACH,OAAO,EAAE,CAAC;gBACZ,CAAC;gBACD,SAAS;aACV,CAAC;QACJ,CAAC;QACD,KAAK,CAAC,OAAO,CAAC,aAAa,EAAE,OAAO,EAAE,KAAK;YACzC,MAAM,QAAQ,GAAG,MAAM,OAAO,CAC5B,aAAa,EACb,QAAQ,iBAAiB,CAAC,OAAO,CAAC,EAAE,EACpC,KAAK,CACN,CAAC;YACF,OAAO,QAAQ,CAAC,IAAI,CAAC;QACvB,CAAC;QACD,KAAK,CAAC,YAAY,CAAC,aAAa,EAAE,KAAK;YACrC,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAoG,aAAa,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;YACpK,OAAO,QAAQ,CAAC,IAAI,CAAC;QACvB,CAAC;QACD,KAAK,CAAC,WAAW,CAAC,aAAa,EAAE,SAAS,EAAE,KAAK;YAC/C,MAAM,QAAQ,GAAG,MAAM,OAAO,CAC5B,aAAa,EACb,YAAY,iBAAiB,CAAC,SAAS,CAAC,EAAE,EAC1C,KAAK,CACN,CAAC;YACF,OAAO,QAAQ,CAAC,IAAI,CAAC;QACvB,CAAC;QACD,KAAK,CAAC,eAAe,CAAC,aAAa,EAAE,KAAK;YACxC,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAqG,aAAa,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;YACnK,OAAO,QAAQ,CAAC,IAAI,CAAC;QACvB,CAAC;QACD,KAAK,CAAC,WAAW,CAAC,aAAa,EAAE,KAAK;YACpC,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAkG,aAAa,EAAE,SAAS,EAAE;gBACxJ,OAAO,EAAE,KAAK,EAAE,OAAO;gBACvB,KAAK,EAAE,UAAU,CAAC;oBAChB,WAAW,EAAE,KAAK,EAAE,WAAW;iBAChC,CAAC;gBACF,MAAM,EAAE,KAAK,EAAE,MAAM;aACtB,CAAC,CAAC;YACH,OAAO,QAAQ,CAAC,IAAI,CAAC;QACvB,CAAC;QACD,KAAK,CAAC,UAAU,CAAC,aAAa,EAAE,KAAK;YACnC,MAAM,QAAQ,GAAG,MAAM,OAAO,CAA+F,aAAa,EAAE,OAAO,EAAE;gBACnJ,IAAI,EAAE,EAAE;gBACR,OAAO,EAAE,KAAK,EAAE,OAAO;gBACvB,MAAM,EAAE,MAAM;gBACd,MAAM,EAAE,KAAK,EAAE,MAAM;aACtB,CAAC,CAAC;YACH,OAAO,QAAQ,CAAC,IAAI,CAAC;QACvB,CAAC;QACD,KAAK,CAAC,aAAa,CAAC,aAAa,EAAE,KAAK;YACtC,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAqG,aAAa,EAAE,UAAU,EAAE;gBAC5J,IAAI,EAAE;oBACJ,MAAM,EAAE,KAAK,CAAC,MAAM;oBACpB,SAAS,EAAE,KAAK,CAAC,SAAS;oBAC1B,KAAK,EAAE,KAAK,CAAC,KAAK;oBAClB,eAAe,EAAE,KAAK,CAAC,eAAe;oBACtC,KAAK,EAAE,KAAK,CAAC,KAAK;oBAClB,UAAU,EAAE,KAAK,CAAC,UAAU;oBAC5B,WAAW,EAAE,KAAK,CAAC,WAAW;oBAC9B,KAAK,EAAE,KAAK,CAAC,KAAK;iBACnB;gBACD,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,MAAM,EAAE,MAAM;gBACd,MAAM,EAAE,KAAK,CAAC,MAAM;aACrB,CAAC,CAAC;YACH,OAAO,QAAQ,CAAC,IAAI,CAAC;QACvB,CAAC;QACD,KAAK,CAAC,aAAa,CAAC,aAAa,EAAE,SAAS,EAAE,KAAK;YACjD,MAAM,QAAQ,GAAG,MAAM,OAAO,CAC5B,aAAa,EACb,YAAY,iBAAiB,CAAC,SAAS,CAAC,EAAE,EAC1C;gBACE,IAAI,EAAE;oBACJ,MAAM,EAAE,KAAK,CAAC,MAAM;oBACpB,KAAK,EAAE,KAAK,CAAC,KAAK;oBAClB,KAAK,EAAE,KAAK,CAAC,KAAK;oBAClB,UAAU,EAAE,KAAK,CAAC,UAAU;oBAC5B,WAAW,EAAE,KAAK,CAAC,WAAW;oBAC9B,KAAK,EAAE,KAAK,CAAC,KAAK;iBACnB;gBACD,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,MAAM,EAAE,OAAO;gBACf,MAAM,EAAE,KAAK,CAAC,MAAM;aACrB,CACF,CAAC;YACF,OAAO,QAAQ,CAAC,IAAI,CAAC;QACvB,CAAC;QACD,KAAK,CAAC,aAAa,CAAC,aAAa,EAAE,SAAS,EAAE,KAAK;YACjD,MAAM,QAAQ,GAAG,MAAM,OAAO,CAC5B,aAAa,EACb,YAAY,iBAAiB,CAAC,SAAS,CAAC,EAAE,EAC1C;gBACE,IAAI,EAAE;oBACJ,SAAS,EAAE,KAAK,EAAE,SAAS,KAAK,IAAI;iBACrC;gBACD,OAAO,EAAE,KAAK,EAAE,OAAO;gBACvB,MAAM,EAAE,QAAQ;gBAChB,MAAM,EAAE,KAAK,EAAE,MAAM;aACtB,CACF,CAAC;YACF,OAAO,QAAQ,CAAC,IAAI,CAAC;QACvB,CAAC;QACD,KAAK,CAAC,cAAc,CAAC,aAAa,EAAE,KAAK;YACvC,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAmG,aAAa,EAAE,OAAO,EAAE;gBACvJ,IAAI,EAAE,EAAE;gBACR,OAAO,EAAE,KAAK,EAAE,OAAO;gBACvB,MAAM,EAAE,MAAM;gBACd,MAAM,EAAE,KAAK,EAAE,MAAM;aACtB,CAAC,CAAC;YACH,OAAO,QAAQ,CAAC,IAAI,CAAC;QACvB,CAAC;QACD,KAAK,CAAC,gBAAgB,CAAC,aAAa,EAAE,KAAK;YACzC,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAqG,aAAa,EAAE,OAAO,EAAE;gBACzJ,IAAI,EAAE,EAAE;gBACR,OAAO,EAAE,KAAK,EAAE,OAAO;gBACvB,MAAM,EAAE,QAAQ;gBAChB,MAAM,EAAE,KAAK,EAAE,MAAM;aACtB,CAAC,CAAC;YACH,OAAO,QAAQ,CAAC,IAAI,CAAC;QACvB,CAAC;QACD,KAAK,CAAC,eAAe,CAAC,aAAa,EAAE,KAAK;YACxC,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAoG,aAAa,EAAE,OAAO,EAAE;gBACxJ,IAAI,EAAE,EAAE;gBACR,OAAO,EAAE,KAAK,EAAE,OAAO;gBACvB,MAAM,EAAE,MAAM;gBACd,MAAM,EAAE,KAAK,EAAE,MAAM;aACtB,CAAC,CAAC;YACH,OAAO,QAAQ,CAAC,IAAI,CAAC;QACvB,CAAC;QACD,KAAK,CAAC,iBAAiB,CAAC,aAAa,EAAE,KAAK;YAC1C,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAsG,aAAa,EAAE,OAAO,EAAE;gBAC1J,IAAI,EAAE,EAAE;gBACR,OAAO,EAAE,KAAK,EAAE,OAAO;gBACvB,MAAM,EAAE,QAAQ;gBAChB,MAAM,EAAE,KAAK,EAAE,MAAM;aACtB,CAAC,CAAC;YACH,OAAO,QAAQ,CAAC,IAAI,CAAC;QACvB,CAAC;QACD,KAAK,CAAC,QAAQ,CAAC,aAAa,EAAE,MAAM,EAAE,KAAK;YACzC,MAAM,QAAQ,GAAG,MAAM,OAAO,CAC5B,aAAa,EACb,SAAS,iBAAiB,CAAC,MAAM,CAAC,OAAO,EACzC;gBACE,IAAI,EAAE;oBACJ,QAAQ,EAAE,KAAK,EAAE,QAAQ;iBAC1B;gBACD,OAAO,EAAE,KAAK,EAAE,OAAO;gBACvB,MAAM,EAAE,MAAM;gBACd,MAAM,EAAE,KAAK,EAAE,MAAM;aACtB,CACF,CAAC;YACF,OAAO,QAAQ,CAAC,IAAI,CAAC;QACvB,CAAC;QACD,KAAK,CAAC,MAAM,CAAC,aAAa,EAAE,KAAK;YAC/B,MAAM,QAAQ,GAAG,MAAM,OAAO,CAA4F,aAAa,EAAE,QAAQ,EAAE;gBACjJ,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,KAAK,EAAE,UAAU,CAAC;oBAChB,aAAa,EAAE,KAAK,CAAC,aAAa;oBAClC,KAAK,EAAE,KAAK,CAAC,KAAK;oBAClB,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,KAAK,EAAE,KAAK,CAAC,KAAK;oBAClB,GAAG,EAAE,KAAK,CAAC,GAAG;oBACd,MAAM,EAAE,KAAK,CAAC,MAAM;iBACrB,CAAC;gBACF,MAAM,EAAE,KAAK,CAAC,MAAM;aACrB,CAAC,CAAC;YACH,OAAO,QAAQ,CAAC,IAAI,CAAC;QACvB,CAAC;QACD,OAAO;KACR,CAAC;AACJ,CAAC;AAED,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,CAAC"}