@trebired/git-host 2.0.0 → 2.2.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 (968) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/README.md +394 -988
  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 +20 -0
  9. package/dist/api/forge/actions.d.ts.map +1 -0
  10. package/dist/api/forge/actions.js +308 -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 +6 -0
  17. package/dist/api/forge/handler.d.ts.map +1 -0
  18. package/dist/api/forge/handler.js +23 -0
  19. package/dist/api/forge/handler.js.map +1 -0
  20. package/dist/api/forge/route.d.ts +83 -0
  21. package/dist/api/forge/route.d.ts.map +1 -0
  22. package/dist/api/forge/route.js +112 -0
  23. package/dist/api/forge/route.js.map +1 -0
  24. package/dist/api/forge/runtime.d.ts +5 -0
  25. package/dist/api/forge/runtime.d.ts.map +1 -0
  26. package/dist/api/forge/runtime.js +181 -0
  27. package/dist/api/forge/runtime.js.map +1 -0
  28. package/dist/api/forge/socket.d.ts +6 -0
  29. package/dist/api/forge/socket.d.ts.map +1 -0
  30. package/dist/api/forge/socket.js +49 -0
  31. package/dist/api/forge/socket.js.map +1 -0
  32. package/dist/api/forge/socket_subscription.d.ts +10 -0
  33. package/dist/api/forge/socket_subscription.d.ts.map +1 -0
  34. package/dist/api/forge/socket_subscription.js +202 -0
  35. package/dist/api/forge/socket_subscription.js.map +1 -0
  36. package/dist/api/handler/action.d.ts +5 -0
  37. package/dist/api/handler/action.d.ts.map +1 -0
  38. package/dist/api/handler/action.js +109 -0
  39. package/dist/api/handler/action.js.map +1 -0
  40. package/dist/api/handler/archive.d.ts +43 -0
  41. package/dist/api/handler/archive.d.ts.map +1 -0
  42. package/dist/api/handler/archive.js.map +1 -0
  43. package/dist/api/handler/response.d.ts.map +1 -0
  44. package/dist/api/handler/response.js +100 -0
  45. package/dist/api/handler/response.js.map +1 -0
  46. package/dist/api/handler/route.d.ts.map +1 -0
  47. package/dist/api/handler/route.js +54 -0
  48. package/dist/api/handler/route.js.map +1 -0
  49. package/dist/api/handler/runtime.d.ts +5 -0
  50. package/dist/api/handler/runtime.d.ts.map +1 -0
  51. package/dist/api/handler/runtime.js +187 -0
  52. package/dist/api/handler/runtime.js.map +1 -0
  53. package/dist/api/handler.d.ts +6 -0
  54. package/dist/api/handler.d.ts.map +1 -0
  55. package/dist/api/handler.js.map +1 -0
  56. package/dist/api/routing.d.ts.map +1 -0
  57. package/dist/api/routing.js +35 -0
  58. package/dist/api/routing.js.map +1 -0
  59. package/dist/api/socket/events.d.ts.map +1 -0
  60. package/dist/api/socket/events.js.map +1 -0
  61. package/dist/api/socket/linguist_connection.d.ts +9 -0
  62. package/dist/api/socket/linguist_connection.d.ts.map +1 -0
  63. package/dist/api/socket/linguist_connection.js +167 -0
  64. package/dist/api/socket/linguist_connection.js.map +1 -0
  65. package/dist/api/socket/server.d.ts +6 -0
  66. package/dist/api/socket/server.d.ts.map +1 -0
  67. package/dist/api/socket/server.js +49 -0
  68. package/dist/api/socket/server.js.map +1 -0
  69. package/dist/backend/utils/normalize.d.ts.map +1 -0
  70. package/dist/backend/utils/normalize.js.map +1 -0
  71. package/dist/backend/utils/object.d.ts.map +1 -0
  72. package/dist/backend/utils/object.js.map +1 -0
  73. package/dist/backend/utils/time.d.ts.map +1 -0
  74. package/dist/backend/utils/time.js.map +1 -0
  75. package/dist/constants.d.ts.map +1 -0
  76. package/dist/constants.js.map +1 -0
  77. package/dist/core/actions/artifacts.d.ts +21 -0
  78. package/dist/core/actions/artifacts.d.ts.map +1 -0
  79. package/dist/core/actions/artifacts.js +121 -0
  80. package/dist/core/actions/artifacts.js.map +1 -0
  81. package/dist/core/actions/expressions.d.ts +15 -0
  82. package/dist/core/actions/expressions.d.ts.map +1 -0
  83. package/dist/core/actions/expressions.js +279 -0
  84. package/dist/core/actions/expressions.js.map +1 -0
  85. package/dist/core/actions/go_runner.d.ts +6 -0
  86. package/dist/core/actions/go_runner.d.ts.map +1 -0
  87. package/dist/core/actions/go_runner.js +106 -0
  88. package/dist/core/actions/go_runner.js.map +1 -0
  89. package/dist/core/actions/local_runner.d.ts +28 -0
  90. package/dist/core/actions/local_runner.d.ts.map +1 -0
  91. package/dist/core/actions/local_runner.js +121 -0
  92. package/dist/core/actions/local_runner.js.map +1 -0
  93. package/dist/core/actions/node_runner.d.ts +4 -0
  94. package/dist/core/actions/node_runner.d.ts.map +1 -0
  95. package/dist/core/actions/node_runner.js +175 -0
  96. package/dist/core/actions/node_runner.js.map +1 -0
  97. package/dist/core/actions/normalize.d.ts +7 -0
  98. package/dist/core/actions/normalize.d.ts.map +1 -0
  99. package/dist/core/actions/normalize.js +401 -0
  100. package/dist/core/actions/normalize.js.map +1 -0
  101. package/dist/core/actions/planner.d.ts +13 -0
  102. package/dist/core/actions/planner.d.ts.map +1 -0
  103. package/dist/core/actions/planner.js +106 -0
  104. package/dist/core/actions/planner.js.map +1 -0
  105. package/dist/core/actions/redaction.d.ts +5 -0
  106. package/dist/core/actions/redaction.d.ts.map +1 -0
  107. package/dist/core/actions/redaction.js +28 -0
  108. package/dist/core/actions/redaction.js.map +1 -0
  109. package/dist/core/actions/release_assets.d.ts +31 -0
  110. package/dist/core/actions/release_assets.d.ts.map +1 -0
  111. package/dist/core/actions/release_assets.js +114 -0
  112. package/dist/core/actions/release_assets.js.map +1 -0
  113. package/dist/core/actions/runner/launch.d.ts +5 -0
  114. package/dist/core/actions/runner/launch.d.ts.map +1 -0
  115. package/dist/core/actions/runner/launch.js +100 -0
  116. package/dist/core/actions/runner/launch.js.map +1 -0
  117. package/dist/core/actions/runner/protocol.d.ts +7 -0
  118. package/dist/core/actions/runner/protocol.d.ts.map +1 -0
  119. package/dist/core/actions/runner/protocol.js +66 -0
  120. package/dist/core/actions/runner/protocol.js.map +1 -0
  121. package/dist/core/actions/runner.d.ts +6 -0
  122. package/dist/core/actions/runner.d.ts.map +1 -0
  123. package/dist/core/actions/runner.js +13 -0
  124. package/dist/core/actions/runner.js.map +1 -0
  125. package/dist/core/actions/types.d.ts +90 -0
  126. package/dist/core/actions/types.d.ts.map +1 -0
  127. package/dist/core/actions/types.js.map +1 -0
  128. package/dist/core/actions/workflows.d.ts +22 -0
  129. package/dist/core/actions/workflows.d.ts.map +1 -0
  130. package/dist/core/actions/workflows.js +158 -0
  131. package/dist/core/actions/workflows.js.map +1 -0
  132. package/dist/core/actions/workspace.d.ts +7 -0
  133. package/dist/core/actions/workspace.d.ts.map +1 -0
  134. package/dist/core/actions/workspace.js +47 -0
  135. package/dist/core/actions/workspace.js.map +1 -0
  136. package/dist/core/activity.d.ts +11 -0
  137. package/dist/core/activity.d.ts.map +1 -0
  138. package/dist/core/activity.js +224 -0
  139. package/dist/core/activity.js.map +1 -0
  140. package/dist/core/archive.d.ts +22 -0
  141. package/dist/core/archive.d.ts.map +1 -0
  142. package/dist/core/archive.js +563 -0
  143. package/dist/core/archive.js.map +1 -0
  144. package/dist/core/archive_cache_filesystem.d.ts +8 -0
  145. package/dist/core/archive_cache_filesystem.d.ts.map +1 -0
  146. package/dist/core/archive_cache_filesystem.js +164 -0
  147. package/dist/core/archive_cache_filesystem.js.map +1 -0
  148. package/dist/core/create/git/forge.d.ts +4 -0
  149. package/dist/core/create/git/forge.d.ts.map +1 -0
  150. package/dist/core/create/git/forge.js +600 -0
  151. package/dist/core/create/git/forge.js.map +1 -0
  152. package/dist/core/create/git/host.d.ts +4 -0
  153. package/dist/core/create/git/host.d.ts.map +1 -0
  154. package/dist/core/create/git/host.js +182 -0
  155. package/dist/core/create/git/host.js.map +1 -0
  156. package/dist/core/create_git_host/branch_methods.d.ts +5 -0
  157. package/dist/core/create_git_host/branch_methods.d.ts.map +1 -0
  158. package/dist/core/create_git_host/branch_methods.js +223 -0
  159. package/dist/core/create_git_host/branch_methods.js.map +1 -0
  160. package/dist/core/create_git_host/content_methods.d.ts +5 -0
  161. package/dist/core/create_git_host/content_methods.d.ts.map +1 -0
  162. package/dist/core/create_git_host/content_methods.js +72 -0
  163. package/dist/core/create_git_host/content_methods.js.map +1 -0
  164. package/dist/core/create_git_host/remote_methods.d.ts +5 -0
  165. package/dist/core/create_git_host/remote_methods.d.ts.map +1 -0
  166. package/dist/core/create_git_host/remote_methods.js +108 -0
  167. package/dist/core/create_git_host/remote_methods.js.map +1 -0
  168. package/dist/core/create_git_host/shared.d.ts +23 -0
  169. package/dist/core/create_git_host/shared.d.ts.map +1 -0
  170. package/dist/core/create_git_host/shared.js +17 -0
  171. package/dist/core/create_git_host/shared.js.map +1 -0
  172. package/dist/core/create_git_host/working_tree_methods.d.ts +5 -0
  173. package/dist/core/create_git_host/working_tree_methods.d.ts.map +1 -0
  174. package/dist/core/create_git_host/working_tree_methods.js +84 -0
  175. package/dist/core/create_git_host/working_tree_methods.js.map +1 -0
  176. package/dist/core/forge_actions.d.ts +33 -0
  177. package/dist/core/forge_actions.d.ts.map +1 -0
  178. package/dist/core/forge_actions.js +1470 -0
  179. package/dist/core/forge_actions.js.map +1 -0
  180. package/dist/core/git_forge/storage_memory.d.ts +4 -0
  181. package/dist/core/git_forge/storage_memory.d.ts.map +1 -0
  182. package/dist/core/git_forge/storage_memory.js +353 -0
  183. package/dist/core/git_forge/storage_memory.js.map +1 -0
  184. package/dist/core/inspect/helpers.d.ts +27 -0
  185. package/dist/core/inspect/helpers.d.ts.map +1 -0
  186. package/dist/core/inspect/helpers.js +86 -0
  187. package/dist/core/inspect/helpers.js.map +1 -0
  188. package/dist/core/inspect/icon_theme.d.ts +4 -0
  189. package/dist/core/inspect/icon_theme.d.ts.map +1 -0
  190. package/dist/core/inspect/icon_theme.js +72 -0
  191. package/dist/core/inspect/icon_theme.js.map +1 -0
  192. package/dist/core/inspect/linguist_progress.d.ts +14 -0
  193. package/dist/core/inspect/linguist_progress.d.ts.map +1 -0
  194. package/dist/core/inspect/linguist_progress.js +92 -0
  195. package/dist/core/inspect/linguist_progress.js.map +1 -0
  196. package/dist/core/inspect.d.ts +47 -0
  197. package/dist/core/inspect.d.ts.map +1 -0
  198. package/dist/core/inspect.js +547 -0
  199. package/dist/core/inspect.js.map +1 -0
  200. package/dist/core/inspection.d.ts +11 -0
  201. package/dist/core/inspection.d.ts.map +1 -0
  202. package/dist/core/inspection.js +593 -0
  203. package/dist/core/inspection.js.map +1 -0
  204. package/dist/core/locks.d.ts.map +1 -0
  205. package/dist/core/locks.js.map +1 -0
  206. package/dist/core/operation_state.d.ts +4 -0
  207. package/dist/core/operation_state.d.ts.map +1 -0
  208. package/dist/core/operation_state.js.map +1 -0
  209. package/dist/core/remote.d.ts +13 -0
  210. package/dist/core/remote.d.ts.map +1 -0
  211. package/dist/core/remote.js +187 -0
  212. package/dist/core/remote.js.map +1 -0
  213. package/dist/core/repository/parsers.d.ts +13 -0
  214. package/dist/core/repository/parsers.d.ts.map +1 -0
  215. package/dist/core/repository/parsers.js +217 -0
  216. package/dist/core/repository/parsers.js.map +1 -0
  217. package/dist/core/repository.d.ts +13 -0
  218. package/dist/core/repository.d.ts.map +1 -0
  219. package/dist/core/repository.js +136 -0
  220. package/dist/core/repository.js.map +1 -0
  221. package/dist/core/run_git/env.d.ts +7 -0
  222. package/dist/core/run_git/env.d.ts.map +1 -0
  223. package/dist/core/run_git/env.js +18 -0
  224. package/dist/core/run_git/env.js.map +1 -0
  225. package/dist/core/run_git/process.d.ts +13 -0
  226. package/dist/core/run_git/process.d.ts.map +1 -0
  227. package/dist/core/run_git/process.js +97 -0
  228. package/dist/core/run_git/process.js.map +1 -0
  229. package/dist/core/run_git/repository_setup.d.ts +20 -0
  230. package/dist/core/run_git/repository_setup.d.ts.map +1 -0
  231. package/dist/core/run_git/repository_setup.js +116 -0
  232. package/dist/core/run_git/repository_setup.js.map +1 -0
  233. package/dist/core/run_git.d.ts +6 -0
  234. package/dist/core/run_git.d.ts.map +1 -0
  235. package/dist/core/run_git.js +6 -0
  236. package/dist/core/run_git.js.map +1 -0
  237. package/dist/core/working_tree/mutate.d.ts +12 -0
  238. package/dist/core/working_tree/mutate.d.ts.map +1 -0
  239. package/dist/core/working_tree/mutate.js +266 -0
  240. package/dist/core/working_tree/mutate.js.map +1 -0
  241. package/dist/core/working_tree/read.d.ts +6 -0
  242. package/dist/core/working_tree/read.d.ts.map +1 -0
  243. package/dist/core/working_tree/read.js +102 -0
  244. package/dist/core/working_tree/read.js.map +1 -0
  245. package/dist/core/working_tree/shared.d.ts +20 -0
  246. package/dist/core/working_tree/shared.d.ts.map +1 -0
  247. package/dist/core/working_tree/shared.js +87 -0
  248. package/dist/core/working_tree/shared.js.map +1 -0
  249. package/dist/core/working_tree.d.ts.map +1 -0
  250. package/dist/core/working_tree.js.map +1 -0
  251. package/dist/errors.d.ts.map +1 -0
  252. package/dist/errors.js.map +1 -0
  253. package/dist/frontend/js/utils/text.d.ts.map +1 -0
  254. package/dist/frontend/js/utils/text.js.map +1 -0
  255. package/dist/http/handler/helpers.d.ts +35 -0
  256. package/dist/http/handler/helpers.d.ts.map +1 -0
  257. package/dist/http/handler/helpers.js +146 -0
  258. package/dist/http/handler/helpers.js.map +1 -0
  259. package/dist/http/handler.d.ts +6 -0
  260. package/dist/http/handler.d.ts.map +1 -0
  261. package/dist/http/handler.js +220 -0
  262. package/dist/http/handler.js.map +1 -0
  263. package/dist/index.d.ts +28 -0
  264. package/dist/index.d.ts.map +1 -0
  265. package/dist/index.js.map +1 -0
  266. package/dist/logging.d.ts.map +1 -0
  267. package/dist/logging.js.map +1 -0
  268. package/dist/ssh/keys.d.ts.map +1 -0
  269. package/dist/ssh/keys.js +41 -0
  270. package/dist/ssh/keys.js.map +1 -0
  271. package/dist/ssh/server/audit.d.ts +5 -0
  272. package/dist/ssh/server/audit.d.ts.map +1 -0
  273. package/dist/ssh/server/audit.js.map +1 -0
  274. package/dist/ssh/server/shared.d.ts +30 -0
  275. package/dist/ssh/server/shared.d.ts.map +1 -0
  276. package/dist/ssh/server/shared.js +93 -0
  277. package/dist/ssh/server/shared.js.map +1 -0
  278. package/dist/ssh/server.d.ts +5 -0
  279. package/dist/ssh/server.d.ts.map +1 -0
  280. package/dist/ssh/server.js +277 -0
  281. package/dist/ssh/server.js.map +1 -0
  282. package/dist/types/common.d.ts.map +1 -0
  283. package/dist/types/common.js.map +1 -0
  284. package/dist/types/forge/activity.d.ts +52 -0
  285. package/dist/types/forge/activity.d.ts.map +1 -0
  286. package/dist/types/forge/activity.js +2 -0
  287. package/dist/types/forge/activity.js.map +1 -0
  288. package/dist/types/forge/api.d.ts +116 -0
  289. package/dist/types/forge/api.d.ts.map +1 -0
  290. package/dist/types/forge/api.js +2 -0
  291. package/dist/types/forge/api.js.map +1 -0
  292. package/dist/types/forge/releases.d.ts +98 -0
  293. package/dist/types/forge/releases.d.ts.map +1 -0
  294. package/dist/types/forge/releases.js +2 -0
  295. package/dist/types/forge/releases.js.map +1 -0
  296. package/dist/types/forge/social_forks.d.ts +51 -0
  297. package/dist/types/forge/social_forks.d.ts.map +1 -0
  298. package/dist/types/forge/social_forks.js +2 -0
  299. package/dist/types/forge/social_forks.js.map +1 -0
  300. package/dist/types/forge/workflows.d.ts +332 -0
  301. package/dist/types/forge/workflows.d.ts.map +1 -0
  302. package/dist/types/forge/workflows.js +2 -0
  303. package/dist/types/forge/workflows.js.map +1 -0
  304. package/dist/types/forge.d.ts +6 -0
  305. package/dist/types/forge.d.ts.map +1 -0
  306. package/dist/types/forge.js.map +1 -0
  307. package/dist/types/host/archive.d.ts.map +1 -0
  308. package/dist/types/host/archive.js.map +1 -0
  309. package/dist/types/host/options.d.ts.map +1 -0
  310. package/dist/types/host/options.js.map +1 -0
  311. package/dist/types/host/service.d.ts.map +1 -0
  312. package/dist/types/host/service.js.map +1 -0
  313. package/dist/types/host.d.ts.map +1 -0
  314. package/dist/types/host.js.map +1 -0
  315. package/dist/types/index.d.ts +6 -0
  316. package/dist/types/index.d.ts.map +1 -0
  317. package/dist/types/index.js.map +1 -0
  318. package/dist/types/repository/archive.d.ts.map +1 -0
  319. package/dist/types/repository/archive.js.map +1 -0
  320. package/dist/types/repository/core.d.ts.map +1 -0
  321. package/dist/types/repository/core.js.map +1 -0
  322. package/dist/types/repository/inspection.d.ts.map +1 -0
  323. package/dist/types/repository/inspection.js.map +1 -0
  324. package/dist/types/repository.d.ts.map +1 -0
  325. package/dist/types/repository.js.map +1 -0
  326. package/dist/types/transports.d.ts.map +1 -0
  327. package/dist/types/transports.js.map +1 -0
  328. package/dist/types.d.ts.map +1 -0
  329. package/dist/types.js.map +1 -0
  330. package/dist/utils/paths.d.ts.map +1 -0
  331. package/dist/utils/paths.js +51 -0
  332. package/dist/utils/paths.js.map +1 -0
  333. package/dist/utils/text.d.ts.map +1 -0
  334. package/dist/utils/text.js.map +1 -0
  335. package/package.json +163 -184
  336. package/dist/browser/styles.css +0 -317
  337. package/dist/internal/api/forge/actions.d.ts +0 -17
  338. package/dist/internal/api/forge/actions.d.ts.map +0 -1
  339. package/dist/internal/api/forge/actions.js +0 -317
  340. package/dist/internal/api/forge/actions.js.map +0 -1
  341. package/dist/internal/api/forge/archives.d.ts +0 -5
  342. package/dist/internal/api/forge/archives.d.ts.map +0 -1
  343. package/dist/internal/api/forge/archives.js +0 -63
  344. package/dist/internal/api/forge/archives.js.map +0 -1
  345. package/dist/internal/api/forge/handler.d.ts +0 -6
  346. package/dist/internal/api/forge/handler.d.ts.map +0 -1
  347. package/dist/internal/api/forge/handler.js +0 -23
  348. package/dist/internal/api/forge/handler.js.map +0 -1
  349. package/dist/internal/api/forge/route.d.ts +0 -73
  350. package/dist/internal/api/forge/route.d.ts.map +0 -1
  351. package/dist/internal/api/forge/route.js +0 -106
  352. package/dist/internal/api/forge/route.js.map +0 -1
  353. package/dist/internal/api/forge/runtime.d.ts +0 -5
  354. package/dist/internal/api/forge/runtime.d.ts.map +0 -1
  355. package/dist/internal/api/forge/runtime.js +0 -181
  356. package/dist/internal/api/forge/runtime.js.map +0 -1
  357. package/dist/internal/api/forge/socket.d.ts +0 -6
  358. package/dist/internal/api/forge/socket.d.ts.map +0 -1
  359. package/dist/internal/api/forge/socket.js +0 -193
  360. package/dist/internal/api/forge/socket.js.map +0 -1
  361. package/dist/internal/api/handler/action.d.ts +0 -5
  362. package/dist/internal/api/handler/action.d.ts.map +0 -1
  363. package/dist/internal/api/handler/action.js +0 -103
  364. package/dist/internal/api/handler/action.js.map +0 -1
  365. package/dist/internal/api/handler/archive.d.ts +0 -43
  366. package/dist/internal/api/handler/archive.d.ts.map +0 -1
  367. package/dist/internal/api/handler/archive.js.map +0 -1
  368. package/dist/internal/api/handler/response.d.ts.map +0 -1
  369. package/dist/internal/api/handler/response.js +0 -100
  370. package/dist/internal/api/handler/response.js.map +0 -1
  371. package/dist/internal/api/handler/route.d.ts.map +0 -1
  372. package/dist/internal/api/handler/route.js +0 -54
  373. package/dist/internal/api/handler/route.js.map +0 -1
  374. package/dist/internal/api/handler/runtime.d.ts +0 -5
  375. package/dist/internal/api/handler/runtime.d.ts.map +0 -1
  376. package/dist/internal/api/handler/runtime.js +0 -187
  377. package/dist/internal/api/handler/runtime.js.map +0 -1
  378. package/dist/internal/api/handler.d.ts +0 -6
  379. package/dist/internal/api/handler.d.ts.map +0 -1
  380. package/dist/internal/api/handler.js.map +0 -1
  381. package/dist/internal/api/routing.d.ts.map +0 -1
  382. package/dist/internal/api/routing.js +0 -35
  383. package/dist/internal/api/routing.js.map +0 -1
  384. package/dist/internal/api/socket/events.d.ts.map +0 -1
  385. package/dist/internal/api/socket/events.js.map +0 -1
  386. package/dist/internal/api/socket/server.d.ts +0 -6
  387. package/dist/internal/api/socket/server.d.ts.map +0 -1
  388. package/dist/internal/api/socket/server.js +0 -164
  389. package/dist/internal/api/socket/server.js.map +0 -1
  390. package/dist/internal/backend/utils/normalize.d.ts.map +0 -1
  391. package/dist/internal/backend/utils/normalize.js.map +0 -1
  392. package/dist/internal/backend/utils/object.d.ts.map +0 -1
  393. package/dist/internal/backend/utils/object.js.map +0 -1
  394. package/dist/internal/backend/utils/time.d.ts.map +0 -1
  395. package/dist/internal/backend/utils/time.js.map +0 -1
  396. package/dist/internal/browser/index.d.ts +0 -78
  397. package/dist/internal/browser/index.d.ts.map +0 -1
  398. package/dist/internal/browser/index.js +0 -1365
  399. package/dist/internal/browser/index.js.map +0 -1
  400. package/dist/internal/constants.d.ts.map +0 -1
  401. package/dist/internal/constants.js.map +0 -1
  402. package/dist/internal/core/activity.d.ts +0 -11
  403. package/dist/internal/core/activity.d.ts.map +0 -1
  404. package/dist/internal/core/activity.js +0 -206
  405. package/dist/internal/core/activity.js.map +0 -1
  406. package/dist/internal/core/archive.d.ts +0 -22
  407. package/dist/internal/core/archive.d.ts.map +0 -1
  408. package/dist/internal/core/archive.js +0 -563
  409. package/dist/internal/core/archive.js.map +0 -1
  410. package/dist/internal/core/archive_cache_filesystem.d.ts +0 -8
  411. package/dist/internal/core/archive_cache_filesystem.d.ts.map +0 -1
  412. package/dist/internal/core/archive_cache_filesystem.js +0 -158
  413. package/dist/internal/core/archive_cache_filesystem.js.map +0 -1
  414. package/dist/internal/core/create/git/forge.d.ts +0 -4
  415. package/dist/internal/core/create/git/forge.d.ts.map +0 -1
  416. package/dist/internal/core/create/git/forge.js +0 -614
  417. package/dist/internal/core/create/git/forge.js.map +0 -1
  418. package/dist/internal/core/create/git/host.d.ts +0 -4
  419. package/dist/internal/core/create/git/host.d.ts.map +0 -1
  420. package/dist/internal/core/create/git/host.js +0 -182
  421. package/dist/internal/core/create/git/host.js.map +0 -1
  422. package/dist/internal/core/create_git_host/branch_methods.d.ts +0 -5
  423. package/dist/internal/core/create_git_host/branch_methods.d.ts.map +0 -1
  424. package/dist/internal/core/create_git_host/branch_methods.js +0 -223
  425. package/dist/internal/core/create_git_host/branch_methods.js.map +0 -1
  426. package/dist/internal/core/create_git_host/content_methods.d.ts +0 -5
  427. package/dist/internal/core/create_git_host/content_methods.d.ts.map +0 -1
  428. package/dist/internal/core/create_git_host/content_methods.js +0 -72
  429. package/dist/internal/core/create_git_host/content_methods.js.map +0 -1
  430. package/dist/internal/core/create_git_host/remote_methods.d.ts +0 -5
  431. package/dist/internal/core/create_git_host/remote_methods.d.ts.map +0 -1
  432. package/dist/internal/core/create_git_host/remote_methods.js +0 -108
  433. package/dist/internal/core/create_git_host/remote_methods.js.map +0 -1
  434. package/dist/internal/core/create_git_host/shared.d.ts +0 -23
  435. package/dist/internal/core/create_git_host/shared.d.ts.map +0 -1
  436. package/dist/internal/core/create_git_host/shared.js +0 -17
  437. package/dist/internal/core/create_git_host/shared.js.map +0 -1
  438. package/dist/internal/core/create_git_host/working_tree_methods.d.ts +0 -5
  439. package/dist/internal/core/create_git_host/working_tree_methods.d.ts.map +0 -1
  440. package/dist/internal/core/create_git_host/working_tree_methods.js +0 -84
  441. package/dist/internal/core/create_git_host/working_tree_methods.js.map +0 -1
  442. package/dist/internal/core/forge_actions.d.ts +0 -36
  443. package/dist/internal/core/forge_actions.d.ts.map +0 -1
  444. package/dist/internal/core/forge_actions.js +0 -730
  445. package/dist/internal/core/forge_actions.js.map +0 -1
  446. package/dist/internal/core/git_forge/storage_memory.d.ts +0 -4
  447. package/dist/internal/core/git_forge/storage_memory.d.ts.map +0 -1
  448. package/dist/internal/core/git_forge/storage_memory.js +0 -329
  449. package/dist/internal/core/git_forge/storage_memory.js.map +0 -1
  450. package/dist/internal/core/inspect/helpers.d.ts +0 -27
  451. package/dist/internal/core/inspect/helpers.d.ts.map +0 -1
  452. package/dist/internal/core/inspect/helpers.js +0 -86
  453. package/dist/internal/core/inspect/helpers.js.map +0 -1
  454. package/dist/internal/core/inspect/icon_theme.d.ts +0 -4
  455. package/dist/internal/core/inspect/icon_theme.d.ts.map +0 -1
  456. package/dist/internal/core/inspect/icon_theme.js +0 -72
  457. package/dist/internal/core/inspect/icon_theme.js.map +0 -1
  458. package/dist/internal/core/inspect/linguist_progress.d.ts +0 -14
  459. package/dist/internal/core/inspect/linguist_progress.d.ts.map +0 -1
  460. package/dist/internal/core/inspect/linguist_progress.js +0 -92
  461. package/dist/internal/core/inspect/linguist_progress.js.map +0 -1
  462. package/dist/internal/core/inspect.d.ts +0 -47
  463. package/dist/internal/core/inspect.d.ts.map +0 -1
  464. package/dist/internal/core/inspect.js +0 -547
  465. package/dist/internal/core/inspect.js.map +0 -1
  466. package/dist/internal/core/inspection.d.ts +0 -11
  467. package/dist/internal/core/inspection.d.ts.map +0 -1
  468. package/dist/internal/core/inspection.js +0 -593
  469. package/dist/internal/core/inspection.js.map +0 -1
  470. package/dist/internal/core/locks.d.ts.map +0 -1
  471. package/dist/internal/core/locks.js.map +0 -1
  472. package/dist/internal/core/operation_state.d.ts +0 -4
  473. package/dist/internal/core/operation_state.d.ts.map +0 -1
  474. package/dist/internal/core/operation_state.js.map +0 -1
  475. package/dist/internal/core/remote.d.ts +0 -13
  476. package/dist/internal/core/remote.d.ts.map +0 -1
  477. package/dist/internal/core/remote.js +0 -187
  478. package/dist/internal/core/remote.js.map +0 -1
  479. package/dist/internal/core/repository/parsers.d.ts +0 -13
  480. package/dist/internal/core/repository/parsers.d.ts.map +0 -1
  481. package/dist/internal/core/repository/parsers.js +0 -204
  482. package/dist/internal/core/repository/parsers.js.map +0 -1
  483. package/dist/internal/core/repository.d.ts +0 -13
  484. package/dist/internal/core/repository.d.ts.map +0 -1
  485. package/dist/internal/core/repository.js +0 -136
  486. package/dist/internal/core/repository.js.map +0 -1
  487. package/dist/internal/core/run_git/env.d.ts +0 -7
  488. package/dist/internal/core/run_git/env.d.ts.map +0 -1
  489. package/dist/internal/core/run_git/env.js +0 -18
  490. package/dist/internal/core/run_git/env.js.map +0 -1
  491. package/dist/internal/core/run_git/process.d.ts +0 -13
  492. package/dist/internal/core/run_git/process.d.ts.map +0 -1
  493. package/dist/internal/core/run_git/process.js +0 -96
  494. package/dist/internal/core/run_git/process.js.map +0 -1
  495. package/dist/internal/core/run_git/repository_setup.d.ts +0 -20
  496. package/dist/internal/core/run_git/repository_setup.d.ts.map +0 -1
  497. package/dist/internal/core/run_git/repository_setup.js +0 -116
  498. package/dist/internal/core/run_git/repository_setup.js.map +0 -1
  499. package/dist/internal/core/run_git.d.ts +0 -6
  500. package/dist/internal/core/run_git.d.ts.map +0 -1
  501. package/dist/internal/core/run_git.js +0 -6
  502. package/dist/internal/core/run_git.js.map +0 -1
  503. package/dist/internal/core/working_tree/mutate.d.ts +0 -12
  504. package/dist/internal/core/working_tree/mutate.d.ts.map +0 -1
  505. package/dist/internal/core/working_tree/mutate.js +0 -266
  506. package/dist/internal/core/working_tree/mutate.js.map +0 -1
  507. package/dist/internal/core/working_tree/read.d.ts +0 -6
  508. package/dist/internal/core/working_tree/read.d.ts.map +0 -1
  509. package/dist/internal/core/working_tree/read.js +0 -108
  510. package/dist/internal/core/working_tree/read.js.map +0 -1
  511. package/dist/internal/core/working_tree/shared.d.ts +0 -20
  512. package/dist/internal/core/working_tree/shared.d.ts.map +0 -1
  513. package/dist/internal/core/working_tree/shared.js +0 -87
  514. package/dist/internal/core/working_tree/shared.js.map +0 -1
  515. package/dist/internal/core/working_tree.d.ts.map +0 -1
  516. package/dist/internal/core/working_tree.js.map +0 -1
  517. package/dist/internal/errors.d.ts.map +0 -1
  518. package/dist/internal/errors.js.map +0 -1
  519. package/dist/internal/frontend/js/utils/text.d.ts.map +0 -1
  520. package/dist/internal/frontend/js/utils/text.js.map +0 -1
  521. package/dist/internal/http/handler/helpers.d.ts +0 -35
  522. package/dist/internal/http/handler/helpers.d.ts.map +0 -1
  523. package/dist/internal/http/handler/helpers.js +0 -146
  524. package/dist/internal/http/handler/helpers.js.map +0 -1
  525. package/dist/internal/http/handler.d.ts +0 -6
  526. package/dist/internal/http/handler.d.ts.map +0 -1
  527. package/dist/internal/http/handler.js +0 -220
  528. package/dist/internal/http/handler.js.map +0 -1
  529. package/dist/internal/index.d.ts +0 -28
  530. package/dist/internal/index.d.ts.map +0 -1
  531. package/dist/internal/index.js.map +0 -1
  532. package/dist/internal/logging.d.ts.map +0 -1
  533. package/dist/internal/logging.js.map +0 -1
  534. package/dist/internal/react/client/error.d.ts +0 -14
  535. package/dist/internal/react/client/error.d.ts.map +0 -1
  536. package/dist/internal/react/client/error.js +0 -32
  537. package/dist/internal/react/client/error.js.map +0 -1
  538. package/dist/internal/react/client/helpers.d.ts +0 -12
  539. package/dist/internal/react/client/helpers.d.ts.map +0 -1
  540. package/dist/internal/react/client/helpers.js +0 -45
  541. package/dist/internal/react/client/helpers.js.map +0 -1
  542. package/dist/internal/react/client/types.d.ts +0 -275
  543. package/dist/internal/react/client/types.d.ts.map +0 -1
  544. package/dist/internal/react/client/types.js.map +0 -1
  545. package/dist/internal/react/client.d.ts +0 -6
  546. package/dist/internal/react/client.d.ts.map +0 -1
  547. package/dist/internal/react/client.js +0 -744
  548. package/dist/internal/react/client.js.map +0 -1
  549. package/dist/internal/react/components.d.ts +0 -44412
  550. package/dist/internal/react/components.d.ts.map +0 -1
  551. package/dist/internal/react/components.js +0 -759
  552. package/dist/internal/react/components.js.map +0 -1
  553. package/dist/internal/react/hooks/query.d.ts +0 -14
  554. package/dist/internal/react/hooks/query.d.ts.map +0 -1
  555. package/dist/internal/react/hooks/query.js +0 -139
  556. package/dist/internal/react/hooks/query.js.map +0 -1
  557. package/dist/internal/react/hooks/resources.d.ts +0 -116
  558. package/dist/internal/react/hooks/resources.d.ts.map +0 -1
  559. package/dist/internal/react/hooks/resources.js +0 -600
  560. package/dist/internal/react/hooks/resources.js.map +0 -1
  561. package/dist/internal/react/hooks/types.d.ts +0 -86
  562. package/dist/internal/react/hooks/types.d.ts.map +0 -1
  563. package/dist/internal/react/hooks/types.js.map +0 -1
  564. package/dist/internal/react/hooks.d.ts +0 -4
  565. package/dist/internal/react/hooks.d.ts.map +0 -1
  566. package/dist/internal/react/hooks.js +0 -3
  567. package/dist/internal/react/hooks.js.map +0 -1
  568. package/dist/internal/react/index.d.ts +0 -8
  569. package/dist/internal/react/index.d.ts.map +0 -1
  570. package/dist/internal/react/index.js +0 -5
  571. package/dist/internal/react/index.js.map +0 -1
  572. package/dist/internal/react/ui/context.d.ts +0 -1918
  573. package/dist/internal/react/ui/context.d.ts.map +0 -1
  574. package/dist/internal/react/ui/context.js +0 -192
  575. package/dist/internal/react/ui/context.js.map +0 -1
  576. package/dist/internal/ssh/keys.d.ts.map +0 -1
  577. package/dist/internal/ssh/keys.js +0 -41
  578. package/dist/internal/ssh/keys.js.map +0 -1
  579. package/dist/internal/ssh/server/audit.d.ts +0 -5
  580. package/dist/internal/ssh/server/audit.d.ts.map +0 -1
  581. package/dist/internal/ssh/server/audit.js.map +0 -1
  582. package/dist/internal/ssh/server/shared.d.ts +0 -30
  583. package/dist/internal/ssh/server/shared.d.ts.map +0 -1
  584. package/dist/internal/ssh/server/shared.js +0 -93
  585. package/dist/internal/ssh/server/shared.js.map +0 -1
  586. package/dist/internal/ssh/server.d.ts +0 -5
  587. package/dist/internal/ssh/server.d.ts.map +0 -1
  588. package/dist/internal/ssh/server.js +0 -277
  589. package/dist/internal/ssh/server.js.map +0 -1
  590. package/dist/internal/types/common.d.ts.map +0 -1
  591. package/dist/internal/types/common.js.map +0 -1
  592. package/dist/internal/types/forge.d.ts +0 -481
  593. package/dist/internal/types/forge.d.ts.map +0 -1
  594. package/dist/internal/types/forge.js.map +0 -1
  595. package/dist/internal/types/host/archive.d.ts.map +0 -1
  596. package/dist/internal/types/host/archive.js.map +0 -1
  597. package/dist/internal/types/host/options.d.ts.map +0 -1
  598. package/dist/internal/types/host/options.js.map +0 -1
  599. package/dist/internal/types/host/service.d.ts.map +0 -1
  600. package/dist/internal/types/host/service.js.map +0 -1
  601. package/dist/internal/types/host.d.ts.map +0 -1
  602. package/dist/internal/types/host.js.map +0 -1
  603. package/dist/internal/types/index.d.ts +0 -6
  604. package/dist/internal/types/index.d.ts.map +0 -1
  605. package/dist/internal/types/index.js.map +0 -1
  606. package/dist/internal/types/repository/archive.d.ts.map +0 -1
  607. package/dist/internal/types/repository/archive.js.map +0 -1
  608. package/dist/internal/types/repository/core.d.ts.map +0 -1
  609. package/dist/internal/types/repository/core.js.map +0 -1
  610. package/dist/internal/types/repository/inspection.d.ts.map +0 -1
  611. package/dist/internal/types/repository/inspection.js.map +0 -1
  612. package/dist/internal/types/repository.d.ts.map +0 -1
  613. package/dist/internal/types/repository.js.map +0 -1
  614. package/dist/internal/types/transports.d.ts.map +0 -1
  615. package/dist/internal/types/transports.js.map +0 -1
  616. package/dist/internal/types.d.ts.map +0 -1
  617. package/dist/internal/types.js +0 -2
  618. package/dist/internal/types.js.map +0 -1
  619. package/dist/internal/utils/paths.d.ts.map +0 -1
  620. package/dist/internal/utils/paths.js +0 -51
  621. package/dist/internal/utils/paths.js.map +0 -1
  622. package/dist/internal/utils/text.d.ts.map +0 -1
  623. package/dist/internal/utils/text.js.map +0 -1
  624. package/dist/src/api/forge/handler.d.ts +0 -2
  625. package/dist/src/api/forge/handler.d.ts.map +0 -1
  626. package/dist/src/api/forge/handler.js +0 -2
  627. package/dist/src/api/forge/handler.js.map +0 -1
  628. package/dist/src/api/forge/route.d.ts +0 -2
  629. package/dist/src/api/forge/route.d.ts.map +0 -1
  630. package/dist/src/api/forge/route.js +0 -2
  631. package/dist/src/api/forge/route.js.map +0 -1
  632. package/dist/src/api/handler/action.d.ts +0 -2
  633. package/dist/src/api/handler/action.d.ts.map +0 -1
  634. package/dist/src/api/handler/action.js +0 -2
  635. package/dist/src/api/handler/action.js.map +0 -1
  636. package/dist/src/api/handler/archive.d.ts +0 -2
  637. package/dist/src/api/handler/archive.d.ts.map +0 -1
  638. package/dist/src/api/handler/archive.js +0 -2
  639. package/dist/src/api/handler/archive.js.map +0 -1
  640. package/dist/src/api/handler/response.d.ts +0 -2
  641. package/dist/src/api/handler/response.d.ts.map +0 -1
  642. package/dist/src/api/handler/response.js +0 -2
  643. package/dist/src/api/handler/response.js.map +0 -1
  644. package/dist/src/api/handler/route.d.ts +0 -2
  645. package/dist/src/api/handler/route.d.ts.map +0 -1
  646. package/dist/src/api/handler/route.js +0 -2
  647. package/dist/src/api/handler/route.js.map +0 -1
  648. package/dist/src/api/handler.d.ts +0 -2
  649. package/dist/src/api/handler.d.ts.map +0 -1
  650. package/dist/src/api/handler.js +0 -2
  651. package/dist/src/api/handler.js.map +0 -1
  652. package/dist/src/api/socket/events.d.ts +0 -2
  653. package/dist/src/api/socket/events.d.ts.map +0 -1
  654. package/dist/src/api/socket/events.js +0 -2
  655. package/dist/src/api/socket/events.js.map +0 -1
  656. package/dist/src/api/socket/server.d.ts +0 -2
  657. package/dist/src/api/socket/server.d.ts.map +0 -1
  658. package/dist/src/api/socket/server.js +0 -2
  659. package/dist/src/api/socket/server.js.map +0 -1
  660. package/dist/src/backend/utils/normalize.d.ts +0 -2
  661. package/dist/src/backend/utils/normalize.d.ts.map +0 -1
  662. package/dist/src/backend/utils/normalize.js +0 -4
  663. package/dist/src/backend/utils/normalize.js.map +0 -1
  664. package/dist/src/backend/utils/object.d.ts +0 -3
  665. package/dist/src/backend/utils/object.d.ts.map +0 -1
  666. package/dist/src/backend/utils/object.js +0 -12
  667. package/dist/src/backend/utils/object.js.map +0 -1
  668. package/dist/src/backend/utils/time.d.ts +0 -3
  669. package/dist/src/backend/utils/time.d.ts.map +0 -1
  670. package/dist/src/backend/utils/time.js +0 -7
  671. package/dist/src/backend/utils/time.js.map +0 -1
  672. package/dist/src/browser/index.d.ts +0 -2
  673. package/dist/src/browser/index.d.ts.map +0 -1
  674. package/dist/src/browser/index.js +0 -2
  675. package/dist/src/browser/index.js.map +0 -1
  676. package/dist/src/constants.d.ts +0 -2
  677. package/dist/src/constants.d.ts.map +0 -1
  678. package/dist/src/constants.js +0 -2
  679. package/dist/src/constants.js.map +0 -1
  680. package/dist/src/core/archive.d.ts +0 -2
  681. package/dist/src/core/archive.d.ts.map +0 -1
  682. package/dist/src/core/archive.js +0 -2
  683. package/dist/src/core/archive.js.map +0 -1
  684. package/dist/src/core/archive_cache_filesystem.d.ts +0 -2
  685. package/dist/src/core/archive_cache_filesystem.d.ts.map +0 -1
  686. package/dist/src/core/archive_cache_filesystem.js +0 -2
  687. package/dist/src/core/archive_cache_filesystem.js.map +0 -1
  688. package/dist/src/core/create/git/forge.d.ts +0 -2
  689. package/dist/src/core/create/git/forge.d.ts.map +0 -1
  690. package/dist/src/core/create/git/forge.js +0 -2
  691. package/dist/src/core/create/git/forge.js.map +0 -1
  692. package/dist/src/core/create/git/host.d.ts +0 -2
  693. package/dist/src/core/create/git/host.d.ts.map +0 -1
  694. package/dist/src/core/create/git/host.js +0 -2
  695. package/dist/src/core/create/git/host.js.map +0 -1
  696. package/dist/src/core/create_git_host/branch_methods.d.ts +0 -2
  697. package/dist/src/core/create_git_host/branch_methods.d.ts.map +0 -1
  698. package/dist/src/core/create_git_host/branch_methods.js +0 -2
  699. package/dist/src/core/create_git_host/branch_methods.js.map +0 -1
  700. package/dist/src/core/create_git_host/content_methods.d.ts +0 -2
  701. package/dist/src/core/create_git_host/content_methods.d.ts.map +0 -1
  702. package/dist/src/core/create_git_host/content_methods.js +0 -2
  703. package/dist/src/core/create_git_host/content_methods.js.map +0 -1
  704. package/dist/src/core/create_git_host/remote_methods.d.ts +0 -2
  705. package/dist/src/core/create_git_host/remote_methods.d.ts.map +0 -1
  706. package/dist/src/core/create_git_host/remote_methods.js +0 -2
  707. package/dist/src/core/create_git_host/remote_methods.js.map +0 -1
  708. package/dist/src/core/create_git_host/shared.d.ts +0 -2
  709. package/dist/src/core/create_git_host/shared.d.ts.map +0 -1
  710. package/dist/src/core/create_git_host/shared.js +0 -2
  711. package/dist/src/core/create_git_host/shared.js.map +0 -1
  712. package/dist/src/core/create_git_host/working_tree_methods.d.ts +0 -2
  713. package/dist/src/core/create_git_host/working_tree_methods.d.ts.map +0 -1
  714. package/dist/src/core/create_git_host/working_tree_methods.js +0 -2
  715. package/dist/src/core/create_git_host/working_tree_methods.js.map +0 -1
  716. package/dist/src/core/git_forge/storage_memory.d.ts +0 -2
  717. package/dist/src/core/git_forge/storage_memory.d.ts.map +0 -1
  718. package/dist/src/core/git_forge/storage_memory.js +0 -2
  719. package/dist/src/core/git_forge/storage_memory.js.map +0 -1
  720. package/dist/src/core/inspect/helpers.d.ts +0 -2
  721. package/dist/src/core/inspect/helpers.d.ts.map +0 -1
  722. package/dist/src/core/inspect/helpers.js +0 -2
  723. package/dist/src/core/inspect/helpers.js.map +0 -1
  724. package/dist/src/core/inspect/icon_theme.d.ts +0 -2
  725. package/dist/src/core/inspect/icon_theme.d.ts.map +0 -1
  726. package/dist/src/core/inspect/icon_theme.js +0 -2
  727. package/dist/src/core/inspect/icon_theme.js.map +0 -1
  728. package/dist/src/core/inspect/linguist_progress.d.ts +0 -2
  729. package/dist/src/core/inspect/linguist_progress.d.ts.map +0 -1
  730. package/dist/src/core/inspect/linguist_progress.js +0 -2
  731. package/dist/src/core/inspect/linguist_progress.js.map +0 -1
  732. package/dist/src/core/inspect.d.ts +0 -2
  733. package/dist/src/core/inspect.d.ts.map +0 -1
  734. package/dist/src/core/inspect.js +0 -2
  735. package/dist/src/core/inspect.js.map +0 -1
  736. package/dist/src/core/inspection.d.ts +0 -2
  737. package/dist/src/core/inspection.d.ts.map +0 -1
  738. package/dist/src/core/inspection.js +0 -2
  739. package/dist/src/core/inspection.js.map +0 -1
  740. package/dist/src/core/locks.d.ts +0 -2
  741. package/dist/src/core/locks.d.ts.map +0 -1
  742. package/dist/src/core/locks.js +0 -2
  743. package/dist/src/core/locks.js.map +0 -1
  744. package/dist/src/core/operation_state.d.ts +0 -2
  745. package/dist/src/core/operation_state.d.ts.map +0 -1
  746. package/dist/src/core/operation_state.js +0 -2
  747. package/dist/src/core/operation_state.js.map +0 -1
  748. package/dist/src/core/remote.d.ts +0 -2
  749. package/dist/src/core/remote.d.ts.map +0 -1
  750. package/dist/src/core/remote.js +0 -2
  751. package/dist/src/core/remote.js.map +0 -1
  752. package/dist/src/core/repository/parsers.d.ts +0 -2
  753. package/dist/src/core/repository/parsers.d.ts.map +0 -1
  754. package/dist/src/core/repository/parsers.js +0 -2
  755. package/dist/src/core/repository/parsers.js.map +0 -1
  756. package/dist/src/core/repository.d.ts +0 -2
  757. package/dist/src/core/repository.d.ts.map +0 -1
  758. package/dist/src/core/repository.js +0 -2
  759. package/dist/src/core/repository.js.map +0 -1
  760. package/dist/src/core/run_git/env.d.ts +0 -2
  761. package/dist/src/core/run_git/env.d.ts.map +0 -1
  762. package/dist/src/core/run_git/env.js +0 -2
  763. package/dist/src/core/run_git/env.js.map +0 -1
  764. package/dist/src/core/run_git/process.d.ts +0 -2
  765. package/dist/src/core/run_git/process.d.ts.map +0 -1
  766. package/dist/src/core/run_git/process.js +0 -2
  767. package/dist/src/core/run_git/process.js.map +0 -1
  768. package/dist/src/core/run_git/repository_setup.d.ts +0 -2
  769. package/dist/src/core/run_git/repository_setup.d.ts.map +0 -1
  770. package/dist/src/core/run_git/repository_setup.js +0 -2
  771. package/dist/src/core/run_git/repository_setup.js.map +0 -1
  772. package/dist/src/core/run_git.d.ts +0 -2
  773. package/dist/src/core/run_git.d.ts.map +0 -1
  774. package/dist/src/core/run_git.js +0 -2
  775. package/dist/src/core/run_git.js.map +0 -1
  776. package/dist/src/core/working_tree/mutate.d.ts +0 -2
  777. package/dist/src/core/working_tree/mutate.d.ts.map +0 -1
  778. package/dist/src/core/working_tree/mutate.js +0 -2
  779. package/dist/src/core/working_tree/mutate.js.map +0 -1
  780. package/dist/src/core/working_tree/read.d.ts +0 -2
  781. package/dist/src/core/working_tree/read.d.ts.map +0 -1
  782. package/dist/src/core/working_tree/read.js +0 -2
  783. package/dist/src/core/working_tree/read.js.map +0 -1
  784. package/dist/src/core/working_tree/shared.d.ts +0 -2
  785. package/dist/src/core/working_tree/shared.d.ts.map +0 -1
  786. package/dist/src/core/working_tree/shared.js +0 -2
  787. package/dist/src/core/working_tree/shared.js.map +0 -1
  788. package/dist/src/core/working_tree.d.ts +0 -2
  789. package/dist/src/core/working_tree.d.ts.map +0 -1
  790. package/dist/src/core/working_tree.js +0 -2
  791. package/dist/src/core/working_tree.js.map +0 -1
  792. package/dist/src/errors.d.ts +0 -2
  793. package/dist/src/errors.d.ts.map +0 -1
  794. package/dist/src/errors.js +0 -2
  795. package/dist/src/errors.js.map +0 -1
  796. package/dist/src/frontend/js/utils/text.d.ts +0 -2
  797. package/dist/src/frontend/js/utils/text.d.ts.map +0 -1
  798. package/dist/src/frontend/js/utils/text.js +0 -4
  799. package/dist/src/frontend/js/utils/text.js.map +0 -1
  800. package/dist/src/http/handler/helpers.d.ts +0 -2
  801. package/dist/src/http/handler/helpers.d.ts.map +0 -1
  802. package/dist/src/http/handler/helpers.js +0 -2
  803. package/dist/src/http/handler/helpers.js.map +0 -1
  804. package/dist/src/http/handler.d.ts +0 -2
  805. package/dist/src/http/handler.d.ts.map +0 -1
  806. package/dist/src/http/handler.js +0 -2
  807. package/dist/src/http/handler.js.map +0 -1
  808. package/dist/src/index.d.ts +0 -2
  809. package/dist/src/index.d.ts.map +0 -1
  810. package/dist/src/index.js +0 -2
  811. package/dist/src/index.js.map +0 -1
  812. package/dist/src/logging.d.ts +0 -2
  813. package/dist/src/logging.d.ts.map +0 -1
  814. package/dist/src/logging.js +0 -2
  815. package/dist/src/logging.js.map +0 -1
  816. package/dist/src/react/client/error.d.ts +0 -2
  817. package/dist/src/react/client/error.d.ts.map +0 -1
  818. package/dist/src/react/client/error.js +0 -2
  819. package/dist/src/react/client/error.js.map +0 -1
  820. package/dist/src/react/client/helpers.d.ts +0 -2
  821. package/dist/src/react/client/helpers.d.ts.map +0 -1
  822. package/dist/src/react/client/helpers.js +0 -2
  823. package/dist/src/react/client/helpers.js.map +0 -1
  824. package/dist/src/react/client/types.d.ts +0 -2
  825. package/dist/src/react/client/types.d.ts.map +0 -1
  826. package/dist/src/react/client/types.js +0 -2
  827. package/dist/src/react/client/types.js.map +0 -1
  828. package/dist/src/react/client.d.ts +0 -2
  829. package/dist/src/react/client.d.ts.map +0 -1
  830. package/dist/src/react/client.js +0 -2
  831. package/dist/src/react/client.js.map +0 -1
  832. package/dist/src/react/components.d.ts +0 -2
  833. package/dist/src/react/components.d.ts.map +0 -1
  834. package/dist/src/react/components.js +0 -2
  835. package/dist/src/react/components.js.map +0 -1
  836. package/dist/src/react/hooks/query.d.ts +0 -2
  837. package/dist/src/react/hooks/query.d.ts.map +0 -1
  838. package/dist/src/react/hooks/query.js +0 -2
  839. package/dist/src/react/hooks/query.js.map +0 -1
  840. package/dist/src/react/hooks/resources.d.ts +0 -2
  841. package/dist/src/react/hooks/resources.d.ts.map +0 -1
  842. package/dist/src/react/hooks/resources.js +0 -2
  843. package/dist/src/react/hooks/resources.js.map +0 -1
  844. package/dist/src/react/hooks/types.d.ts +0 -2
  845. package/dist/src/react/hooks/types.d.ts.map +0 -1
  846. package/dist/src/react/hooks/types.js +0 -2
  847. package/dist/src/react/hooks/types.js.map +0 -1
  848. package/dist/src/react/hooks.d.ts +0 -2
  849. package/dist/src/react/hooks.d.ts.map +0 -1
  850. package/dist/src/react/hooks.js +0 -2
  851. package/dist/src/react/hooks.js.map +0 -1
  852. package/dist/src/react/index.d.ts +0 -2
  853. package/dist/src/react/index.d.ts.map +0 -1
  854. package/dist/src/react/index.js +0 -2
  855. package/dist/src/react/index.js.map +0 -1
  856. package/dist/src/react/ui/context.d.ts +0 -2
  857. package/dist/src/react/ui/context.d.ts.map +0 -1
  858. package/dist/src/react/ui/context.js +0 -2
  859. package/dist/src/react/ui/context.js.map +0 -1
  860. package/dist/src/ssh/keys.d.ts +0 -2
  861. package/dist/src/ssh/keys.d.ts.map +0 -1
  862. package/dist/src/ssh/keys.js +0 -2
  863. package/dist/src/ssh/keys.js.map +0 -1
  864. package/dist/src/ssh/server/audit.d.ts +0 -2
  865. package/dist/src/ssh/server/audit.d.ts.map +0 -1
  866. package/dist/src/ssh/server/audit.js +0 -2
  867. package/dist/src/ssh/server/audit.js.map +0 -1
  868. package/dist/src/ssh/server/shared.d.ts +0 -2
  869. package/dist/src/ssh/server/shared.d.ts.map +0 -1
  870. package/dist/src/ssh/server/shared.js +0 -2
  871. package/dist/src/ssh/server/shared.js.map +0 -1
  872. package/dist/src/ssh/server.d.ts +0 -2
  873. package/dist/src/ssh/server.d.ts.map +0 -1
  874. package/dist/src/ssh/server.js +0 -2
  875. package/dist/src/ssh/server.js.map +0 -1
  876. package/dist/src/types/common.d.ts +0 -2
  877. package/dist/src/types/common.d.ts.map +0 -1
  878. package/dist/src/types/common.js +0 -2
  879. package/dist/src/types/common.js.map +0 -1
  880. package/dist/src/types/forge.d.ts +0 -2
  881. package/dist/src/types/forge.d.ts.map +0 -1
  882. package/dist/src/types/forge.js +0 -2
  883. package/dist/src/types/forge.js.map +0 -1
  884. package/dist/src/types/host.d.ts +0 -2
  885. package/dist/src/types/host.d.ts.map +0 -1
  886. package/dist/src/types/host.js +0 -2
  887. package/dist/src/types/host.js.map +0 -1
  888. package/dist/src/types/index.d.ts +0 -2
  889. package/dist/src/types/index.d.ts.map +0 -1
  890. package/dist/src/types/index.js +0 -2
  891. package/dist/src/types/index.js.map +0 -1
  892. package/dist/src/types/repository.d.ts +0 -2
  893. package/dist/src/types/repository.d.ts.map +0 -1
  894. package/dist/src/types/repository.js +0 -2
  895. package/dist/src/types/repository.js.map +0 -1
  896. package/dist/src/types/transports.d.ts +0 -2
  897. package/dist/src/types/transports.d.ts.map +0 -1
  898. package/dist/src/types/transports.js +0 -2
  899. package/dist/src/types/transports.js.map +0 -1
  900. package/dist/src/types.d.ts +0 -2
  901. package/dist/src/types.d.ts.map +0 -1
  902. package/dist/src/types.js +0 -2
  903. package/dist/src/types.js.map +0 -1
  904. package/dist/src/utils/paths.d.ts +0 -2
  905. package/dist/src/utils/paths.d.ts.map +0 -1
  906. package/dist/src/utils/paths.js +0 -2
  907. package/dist/src/utils/paths.js.map +0 -1
  908. package/dist/src/utils/text.d.ts +0 -2
  909. package/dist/src/utils/text.d.ts.map +0 -1
  910. package/dist/src/utils/text.js +0 -2
  911. package/dist/src/utils/text.js.map +0 -1
  912. /package/dist/{internal/api → api}/handler/archive.js +0 -0
  913. /package/dist/{internal/api → api}/handler/response.d.ts +0 -0
  914. /package/dist/{internal/api → api}/handler/route.d.ts +0 -0
  915. /package/dist/{internal/api → api}/handler.js +0 -0
  916. /package/dist/{internal/api → api}/routing.d.ts +0 -0
  917. /package/dist/{internal/api → api}/socket/events.d.ts +0 -0
  918. /package/dist/{internal/api → api}/socket/events.js +0 -0
  919. /package/dist/{internal/backend → backend}/utils/normalize.d.ts +0 -0
  920. /package/dist/{internal/backend → backend}/utils/normalize.js +0 -0
  921. /package/dist/{internal/backend → backend}/utils/object.d.ts +0 -0
  922. /package/dist/{internal/backend → backend}/utils/object.js +0 -0
  923. /package/dist/{internal/backend → backend}/utils/time.d.ts +0 -0
  924. /package/dist/{internal/backend → backend}/utils/time.js +0 -0
  925. /package/dist/{internal/constants.d.ts → constants.d.ts} +0 -0
  926. /package/dist/{internal/constants.js → constants.js} +0 -0
  927. /package/dist/{internal/react/client → core/actions}/types.js +0 -0
  928. /package/dist/{internal/core → core}/locks.d.ts +0 -0
  929. /package/dist/{internal/core → core}/locks.js +0 -0
  930. /package/dist/{internal/core → core}/operation_state.js +0 -0
  931. /package/dist/{internal/core → core}/working_tree.d.ts +0 -0
  932. /package/dist/{internal/core → core}/working_tree.js +0 -0
  933. /package/dist/{internal/errors.d.ts → errors.d.ts} +0 -0
  934. /package/dist/{internal/errors.js → errors.js} +0 -0
  935. /package/dist/{internal/frontend → frontend}/js/utils/text.d.ts +0 -0
  936. /package/dist/{internal/frontend → frontend}/js/utils/text.js +0 -0
  937. /package/dist/{internal/index.js → index.js} +0 -0
  938. /package/dist/{internal/logging.d.ts → logging.d.ts} +0 -0
  939. /package/dist/{internal/logging.js → logging.js} +0 -0
  940. /package/dist/{internal/ssh → ssh}/keys.d.ts +0 -0
  941. /package/dist/{internal/ssh → ssh}/server/audit.js +0 -0
  942. /package/dist/{internal/types → types}/common.d.ts +0 -0
  943. /package/dist/{internal/types → types}/common.js +0 -0
  944. /package/dist/{internal/types → types}/forge.js +0 -0
  945. /package/dist/{internal/types → types}/host/archive.d.ts +0 -0
  946. /package/dist/{internal/types → types}/host/archive.js +0 -0
  947. /package/dist/{internal/types → types}/host/options.d.ts +0 -0
  948. /package/dist/{internal/types → types}/host/options.js +0 -0
  949. /package/dist/{internal/types → types}/host/service.d.ts +0 -0
  950. /package/dist/{internal/types → types}/host/service.js +0 -0
  951. /package/dist/{internal/types → types}/host.d.ts +0 -0
  952. /package/dist/{internal/types → types}/host.js +0 -0
  953. /package/dist/{internal/types → types}/index.js +0 -0
  954. /package/dist/{internal/types → types}/repository/archive.d.ts +0 -0
  955. /package/dist/{internal/types → types}/repository/archive.js +0 -0
  956. /package/dist/{internal/types → types}/repository/core.d.ts +0 -0
  957. /package/dist/{internal/types → types}/repository/core.js +0 -0
  958. /package/dist/{internal/types → types}/repository/inspection.d.ts +0 -0
  959. /package/dist/{internal/types → types}/repository/inspection.js +0 -0
  960. /package/dist/{internal/types → types}/repository.d.ts +0 -0
  961. /package/dist/{internal/types → types}/repository.js +0 -0
  962. /package/dist/{internal/types → types}/transports.d.ts +0 -0
  963. /package/dist/{internal/types → types}/transports.js +0 -0
  964. /package/dist/{internal/types.d.ts → types.d.ts} +0 -0
  965. /package/dist/{internal/react/hooks/types.js → types.js} +0 -0
  966. /package/dist/{internal/utils → utils}/paths.d.ts +0 -0
  967. /package/dist/{internal/utils → utils}/text.d.ts +0 -0
  968. /package/dist/{internal/utils → utils}/text.js +0 -0
@@ -0,0 +1,112 @@
1
+ import { parseGitApiRoute } from "../handler.js";
2
+ import { text } from "../../utils/text.js";
3
+ import { decodeRouteSegment, parseRepositoryRoute } from "../routing.js";
4
+ function parseGitForgeApiRoute(pathnameInput, basePathInput) {
5
+ const legacy = parseGitApiRoute(pathnameInput, basePathInput);
6
+ if (legacy) {
7
+ return {
8
+ ...legacy,
9
+ resource: "repository",
10
+ };
11
+ }
12
+ const route = parseRepositoryRoute(pathnameInput, basePathInput);
13
+ if (!route)
14
+ return null;
15
+ const { repositoryKey, segments } = route;
16
+ const action = text(segments[2]);
17
+ if (isOverviewAction(action))
18
+ return buildOverviewRoute(action, repositoryKey, segments.length);
19
+ if (action === "actions")
20
+ return buildActionsRoute(repositoryKey, segments);
21
+ if (action === "releases")
22
+ return segments.length === 3 ? buildCollectionRoute(action, repositoryKey, segments.length) : buildReleaseRoute(repositoryKey, segments);
23
+ if (action === "forks")
24
+ return segments.length === 3 ? buildCollectionRoute(action, repositoryKey, segments.length) : buildForkRoute(repositoryKey, segments);
25
+ if (isCollectionAction(action))
26
+ return buildCollectionRoute(action, repositoryKey, segments.length);
27
+ return null;
28
+ }
29
+ function isOverviewAction(action) {
30
+ return action === "overview" || action === "social" || action === "activity";
31
+ }
32
+ function buildOverviewRoute(action, repositoryKey, length) {
33
+ if (length !== 3)
34
+ return null;
35
+ return {
36
+ action: action,
37
+ repositoryKey,
38
+ resource: action === "activity" ? "activity" : (action === "social" ? "social" : "repository"),
39
+ };
40
+ }
41
+ function isCollectionAction(action) {
42
+ return action === "stars" || action === "watch";
43
+ }
44
+ function buildCollectionRoute(action, repositoryKey, length) {
45
+ if (length !== 3)
46
+ return null;
47
+ if (action === "forks")
48
+ return { action: "forks", repositoryKey, resource: "fork" };
49
+ if (action === "releases")
50
+ return { action: "releases", repositoryKey, resource: "release" };
51
+ return { action: action, repositoryKey, resource: "social" };
52
+ }
53
+ function buildReleaseRoute(repositoryKey, segments) {
54
+ if (segments.length === 4) {
55
+ const releaseId = decodeRouteSegment(segments[3] || "");
56
+ return releaseId ? { action: "release", releaseId, repositoryKey, resource: "release" } : null;
57
+ }
58
+ if (segments.length === 6 && segments[4] === "assets") {
59
+ const releaseId = decodeRouteSegment(segments[3] || "");
60
+ const assetId = decodeRouteSegment(segments[5] || "");
61
+ return releaseId && assetId
62
+ ? { action: "asset", assetId, releaseId, repositoryKey, resource: "asset" }
63
+ : null;
64
+ }
65
+ return null;
66
+ }
67
+ function buildForkRoute(repositoryKey, segments) {
68
+ if (segments.length === 5 && segments[4] === "sync") {
69
+ const forkId = decodeRouteSegment(segments[3] || "");
70
+ return forkId ? { action: "fork_sync", forkId, repositoryKey, resource: "fork" } : null;
71
+ }
72
+ return null;
73
+ }
74
+ function buildActionsRoute(repositoryKey, segments) {
75
+ if (segments.length === 3) {
76
+ return { action: "actions", repositoryKey, resource: "actions" };
77
+ }
78
+ if (segments[3] === "runs") {
79
+ if (segments.length === 4) {
80
+ return { action: "action_runs", repositoryKey, resource: "actions" };
81
+ }
82
+ const runId = decodeRouteSegment(segments[4] || "");
83
+ if (!runId)
84
+ return null;
85
+ if (segments.length === 5) {
86
+ return { action: "action_run", repositoryKey, resource: "action_run", runId };
87
+ }
88
+ if (segments.length === 6 && segments[5] === "cancel") {
89
+ return { action: "action_run_cancel", repositoryKey, resource: "action_run", runId };
90
+ }
91
+ if (segments.length === 6 && segments[5] === "events") {
92
+ return { action: "action_run_events", repositoryKey, resource: "action_run", runId };
93
+ }
94
+ if (segments.length === 6 && segments[5] === "jobs") {
95
+ return { action: "action_run_jobs", repositoryKey, resource: "action_run", runId };
96
+ }
97
+ if (segments.length === 6 && segments[5] === "artifacts") {
98
+ return { action: "action_run_artifacts", repositoryKey, resource: "action_run", runId };
99
+ }
100
+ if (segments.length === 6 && segments[5] === "steps") {
101
+ return { action: "action_run_steps", repositoryKey, resource: "action_run", runId };
102
+ }
103
+ return null;
104
+ }
105
+ if (segments.length === 4) {
106
+ const workflowId = decodeRouteSegment(segments[3] || "");
107
+ return workflowId ? { action: "action", repositoryKey, resource: "action_workflow", workflowId } : null;
108
+ }
109
+ return null;
110
+ }
111
+ export { parseGitForgeApiRoute };
112
+ //# sourceMappingURL=route.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"route.js","sourceRoot":"","sources":["../../../src/api/forge/route.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import type { IncomingMessage, ServerResponse } from "node:http";
2
+ import type { CreateGitForgeApiHandlerOptions } from "../../types.js";
3
+ declare function handleGitForgeApiRequest(req: IncomingMessage, res: ServerResponse, options: CreateGitForgeApiHandlerOptions): Promise<void>;
4
+ export { handleGitForgeApiRequest };
5
+ //# sourceMappingURL=runtime.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../../src/api/forge/runtime.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAGjE,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,eAAe,CAAC;AAgBrE,iBAAe,wBAAwB,CACrC,GAAG,EAAE,eAAe,EACpB,GAAG,EAAE,cAAc,EACnB,OAAO,EAAE,+BAA+B,iBAiCzC;AAsMD,OAAO,EAAE,wBAAwB,EAAE,CAAC"}
@@ -0,0 +1,181 @@
1
+ import { resolveLogger } from "../../logging.js";
2
+ import { text } from "../../utils/text.js";
3
+ import { isArchiveDownloadAction, writeArchiveDownload, writeReleaseAssetDownload } from "../handler/archive.js";
4
+ import { runGitApiAction } from "../handler/action.js";
5
+ import { applyAuthorizationHeaders, authorizationAllowed, serializeError, statusForError, writeJson, } from "../handler/response.js";
6
+ import { allowedMethodsForRoute, readJsonBody, routeOperation, runForgeAction } from "./actions.js";
7
+ import { enrichForgeDataWithArchives } from "./archives.js";
8
+ import { parseGitForgeApiRoute } from "./route.js";
9
+ async function handleGitForgeApiRequest(req, res, options) {
10
+ const request = createForgeRequestContext(req, options);
11
+ const route = parseGitForgeApiRoute(request.url.pathname, options.basePath);
12
+ if (!route) {
13
+ writeJson(req, res, 404, {
14
+ ok: false,
15
+ error: { code: "route_not_found", message: "Git forge API route not found." },
16
+ });
17
+ return;
18
+ }
19
+ if (rejectUnsupportedForgeMethod(req, res, request.method, allowedMethodsForRoute(route)))
20
+ return;
21
+ const repositoryContext = await resolveForgeRepository(req, res, options, route.repositoryKey);
22
+ if (!repositoryContext)
23
+ return;
24
+ const actor = options.resolveActor ? await options.resolveActor(req) : null;
25
+ const auth = await authorizeForgeRequest(options, req, request, route, actor, repositoryContext);
26
+ applyAuthorizationHeaders(res, auth.headers);
27
+ if (!auth.allowed) {
28
+ writeForgeDenied(req, res, request, route.action, repositoryContext, auth);
29
+ return;
30
+ }
31
+ const body = await readForgeBody(req, request.method);
32
+ try {
33
+ if (await maybeWriteForgeDownload(req, res, options, request, route, repositoryContext))
34
+ return;
35
+ const rawData = await runForgeOrRepositoryAction(options, route, repositoryContext.repositoryId, actor, body, request.url.searchParams);
36
+ const data = await enrichForgeDataWithArchives(options, route, repositoryContext.repositoryId, rawData);
37
+ writeForgeSuccess(req, res, request, route.action, repositoryContext, data);
38
+ }
39
+ catch (error) {
40
+ writeForgeError(req, res, request, route.action, repositoryContext.repositoryId, error);
41
+ }
42
+ }
43
+ function createForgeRequestContext(req, options) {
44
+ return {
45
+ logGroup: "git-host.forge.api",
46
+ logger: resolveLogger(options.logger, options.loggerAdapter),
47
+ method: text(req.method).toUpperCase() || "GET",
48
+ url: new URL(String(req.url || "/"), "http://127.0.0.1"),
49
+ verbose: options.verbose === true,
50
+ };
51
+ }
52
+ function rejectUnsupportedForgeMethod(req, res, method, allowedMethods) {
53
+ if (allowedMethods.includes(method))
54
+ return false;
55
+ res.setHeader("allow", allowedMethods.join(", "));
56
+ writeJson(req, res, 405, {
57
+ ok: false,
58
+ error: {
59
+ code: "method_not_allowed",
60
+ message: `Supported methods: ${allowedMethods.join(", ")}.`,
61
+ },
62
+ });
63
+ return true;
64
+ }
65
+ async function resolveForgeRepository(req, res, options, repositoryKey) {
66
+ const repositoryId = text(options.resolveRepositoryId ? await options.resolveRepositoryId(repositoryKey, req) : repositoryKey);
67
+ if (repositoryId)
68
+ return { repositoryId, repositoryKey };
69
+ writeJson(req, res, 404, {
70
+ ok: false,
71
+ error: { code: "repository_not_found", message: "Repository not found." },
72
+ });
73
+ return null;
74
+ }
75
+ async function authorizeForgeRequest(options, req, request, route, actor, repositoryContext) {
76
+ const result = options.authorize
77
+ ? await options.authorize({
78
+ action: route.action,
79
+ actor,
80
+ assetId: "assetId" in route ? route.assetId : undefined,
81
+ method: request.method,
82
+ operation: routeOperation(route, request.method),
83
+ pathname: request.url.pathname,
84
+ runId: "runId" in route ? route.runId : undefined,
85
+ releaseId: "releaseId" in route ? route.releaseId : undefined,
86
+ remoteAddress: text(req.socket && req.socket.remoteAddress),
87
+ repositoryId: repositoryContext.repositoryId,
88
+ repositoryKey: repositoryContext.repositoryKey,
89
+ request: req,
90
+ resource: route.resource,
91
+ searchParams: request.url.searchParams,
92
+ })
93
+ : undefined;
94
+ return authorizationAllowed(result);
95
+ }
96
+ function writeForgeDenied(req, res, request, action, repositoryContext, auth) {
97
+ if (isArchiveDownloadAction(action)) {
98
+ request.logger.warn(request.logGroup, "archive download denied", {
99
+ action,
100
+ method: request.method,
101
+ pathname: request.url.pathname,
102
+ repositoryId: repositoryContext.repositoryId,
103
+ repositoryKey: repositoryContext.repositoryKey,
104
+ status: auth.status || 403,
105
+ });
106
+ }
107
+ writeJson(req, res, auth.status || 403, {
108
+ ok: false,
109
+ error: { code: "permission_denied", message: auth.message || "Permission denied." },
110
+ });
111
+ }
112
+ async function readForgeBody(req, method) {
113
+ if (method !== "POST" && method !== "PATCH" && method !== "DELETE")
114
+ return {};
115
+ const body = await readJsonBody(req);
116
+ body._method = method;
117
+ return body;
118
+ }
119
+ async function maybeWriteForgeDownload(req, res, options, request, route, repositoryContext) {
120
+ if (isArchiveDownloadAction(route.action)) {
121
+ request.logger.info(request.logGroup, "archive download authorized", {
122
+ action: route.action,
123
+ method: request.method,
124
+ pathname: request.url.pathname,
125
+ repositoryId: repositoryContext.repositoryId,
126
+ repositoryKey: repositoryContext.repositoryKey,
127
+ });
128
+ await writeArchiveDownload(req, res, options.gitHost, {
129
+ ref: "refName" in route ? route.refName : "HEAD",
130
+ repositoryId: repositoryContext.repositoryId,
131
+ repositoryKey: repositoryContext.repositoryKey,
132
+ routeAction: route.action,
133
+ });
134
+ return true;
135
+ }
136
+ if (route.action === "asset") {
137
+ await writeReleaseAssetDownload(req, res, options.forge, {
138
+ assetId: route.assetId,
139
+ releaseId: route.releaseId,
140
+ repositoryId: repositoryContext.repositoryId,
141
+ repositoryKey: repositoryContext.repositoryKey,
142
+ });
143
+ return true;
144
+ }
145
+ return false;
146
+ }
147
+ async function runForgeOrRepositoryAction(options, route, repositoryId, actor, body, searchParams) {
148
+ if (route.resource === "repository" && route.action !== "overview" && route.action !== "social" && route.action !== "activity") {
149
+ return await runGitApiAction({ gitHost: options.gitHost }, route, repositoryId, searchParams);
150
+ }
151
+ return await runForgeAction(options, route, repositoryId, actor, body, searchParams);
152
+ }
153
+ function writeForgeSuccess(req, res, request, action, repositoryContext, data) {
154
+ if (request.verbose) {
155
+ request.logger.info(request.logGroup, "forge api action completed", {
156
+ action,
157
+ method: request.method,
158
+ pathname: request.url.pathname,
159
+ repositoryId: repositoryContext.repositoryId,
160
+ });
161
+ }
162
+ writeJson(req, res, 200, {
163
+ action,
164
+ data,
165
+ ok: true,
166
+ repository_id: repositoryContext.repositoryId,
167
+ repository_key: repositoryContext.repositoryKey,
168
+ });
169
+ }
170
+ function writeForgeError(req, res, request, action, repositoryId, error) {
171
+ request.logger.error(request.logGroup, "forge api action failed", {
172
+ action,
173
+ error: error instanceof Error ? error.message : String(error),
174
+ method: request.method,
175
+ pathname: request.url.pathname,
176
+ repositoryId,
177
+ });
178
+ writeJson(req, res, statusForError(error), serializeError(error));
179
+ }
180
+ export { handleGitForgeApiRequest };
181
+ //# sourceMappingURL=runtime.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../../src/api/forge/runtime.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import { Server as SocketIoServer } from "socket.io";
2
+ import type { CreateGitForgeSocketServerOptions } from "../../types.js";
3
+ import { ACTIONS_RUN_DONE_EVENT, ACTIONS_RUN_ERROR_EVENT, ACTIONS_RUN_EVENT, ACTIONS_RUN_SUBSCRIBE_EVENT } from "../socket/events.js";
4
+ declare function createGitForgeSocketServer(options: CreateGitForgeSocketServerOptions): SocketIoServer<import("socket.io").DefaultEventsMap, import("socket.io").DefaultEventsMap, import("socket.io").DefaultEventsMap, any>;
5
+ export { ACTIONS_RUN_DONE_EVENT, ACTIONS_RUN_ERROR_EVENT, ACTIONS_RUN_EVENT, ACTIONS_RUN_SUBSCRIBE_EVENT, createGitForgeSocketServer, };
6
+ //# sourceMappingURL=socket.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"socket.d.ts","sourceRoot":"","sources":["../../../src/api/forge/socket.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,cAAc,EAAE,MAAM,WAAW,CAAC;AAIrD,OAAO,KAAK,EAAE,iCAAiC,EAAE,MAAM,eAAe,CAAC;AAEvE,OAAO,EACL,sBAAsB,EACtB,uBAAuB,EACvB,iBAAiB,EACjB,2BAA2B,EAC5B,MAAM,eAAe,CAAC;AAcvB,iBAAS,0BAA0B,CAAC,OAAO,EAAE,iCAAiC,yIAqC7E;AAED,OAAO,EACL,sBAAsB,EACtB,uBAAuB,EACvB,iBAAiB,EACjB,2BAA2B,EAC3B,0BAA0B,GAC3B,CAAC"}
@@ -0,0 +1,49 @@
1
+ import { Server as SocketIoServer } from "socket.io";
2
+ import { logPackageInitialized } from "@trebired/logger-adapter";
3
+ import { resolveLogger } from "../../logging.js";
4
+ import { text } from "../../utils/text.js";
5
+ import { ACTIONS_RUN_DONE_EVENT, ACTIONS_RUN_ERROR_EVENT, ACTIONS_RUN_EVENT, ACTIONS_RUN_SUBSCRIBE_EVENT, } from "../socket/events.js";
6
+ import { createRunSubscriptionHandler } from "./socket_subscription.js";
7
+ function normalizeSocketPath(basePathInput, socketPathInput) {
8
+ const socketPath = text(socketPathInput).replace(/\/+$/g, "");
9
+ if (socketPath) {
10
+ return socketPath.startsWith("/") ? socketPath : `/${socketPath}`;
11
+ }
12
+ const basePath = text(basePathInput).replace(/\/+$/g, "");
13
+ if (!basePath || basePath === "/")
14
+ return "/socket.io";
15
+ return `${basePath.startsWith("/") ? basePath : `/${basePath}`}/socket.io`;
16
+ }
17
+ function createGitForgeSocketServer(options) {
18
+ if (!options || typeof options.forge !== "object") {
19
+ throw new TypeError("createGitForgeSocketServer() requires a forge instance.");
20
+ }
21
+ if (!options.httpServer) {
22
+ throw new TypeError("createGitForgeSocketServer() requires an httpServer.");
23
+ }
24
+ const logger = resolveLogger(options.logger, options.loggerAdapter);
25
+ const logGroup = "git-host.forge.socket";
26
+ logPackageInitialized({
27
+ adapter: options.loggerAdapter,
28
+ fallback: "console",
29
+ group: logGroup,
30
+ logger: options.logger,
31
+ source: "@trebired/git-host",
32
+ });
33
+ const verbose = options.verbose === true;
34
+ const basePath = text(options.basePath, "/api/git");
35
+ const path = normalizeSocketPath(basePath, options.socketPath);
36
+ const io = new SocketIoServer(options.httpServer, {
37
+ ...(options.socketOptions || {}),
38
+ path,
39
+ });
40
+ const handleRunSubscription = createRunSubscriptionHandler(options, logger, logGroup, basePath, verbose);
41
+ io.on("connection", (socket) => {
42
+ socket.on(ACTIONS_RUN_SUBSCRIBE_EVENT, (payload) => {
43
+ void handleRunSubscription(socket, payload);
44
+ });
45
+ });
46
+ return io;
47
+ }
48
+ export { ACTIONS_RUN_DONE_EVENT, ACTIONS_RUN_ERROR_EVENT, ACTIONS_RUN_EVENT, ACTIONS_RUN_SUBSCRIBE_EVENT, createGitForgeSocketServer, };
49
+ //# sourceMappingURL=socket.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"socket.js","sourceRoot":"","sources":["../../../src/api/forge/socket.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import type { Socket } from "socket.io";
2
+ import type { CreateGitForgeSocketServerOptions } from "../../types.js";
3
+ import type { NormalizedGitHostLogger } from "../../types.js";
4
+ declare function createRunSubscriptionHandler(options: CreateGitForgeSocketServerOptions, logger: NormalizedGitHostLogger, logGroup: string, basePath: string, verbose: boolean): (socket: Socket, payload?: {
5
+ afterSequence?: number;
6
+ repositoryKey?: string;
7
+ runId?: string;
8
+ }) => Promise<void>;
9
+ export { createRunSubscriptionHandler };
10
+ //# sourceMappingURL=socket_subscription.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"socket_subscription.d.ts","sourceRoot":"","sources":["../../../src/api/forge/socket_subscription.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAExC,OAAO,KAAK,EAAE,iCAAiC,EAAE,MAAM,eAAe,CAAC;AAGvE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AA+R7D,iBAAS,4BAA4B,CACnC,OAAO,EAAE,iCAAiC,EAC1C,MAAM,EAAE,uBAAuB,EAC/B,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,OAAO,IAGd,QAAQ,MAAM,EACd,UAAU;IAAE,aAAa,CAAC,EAAE,MAAM,CAAC;IAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,mBAa/E;AAED,OAAO,EAAE,4BAA4B,EAAE,CAAC"}
@@ -0,0 +1,202 @@
1
+ import { text } from "../../utils/text.js";
2
+ import { authorizationAllowed, serializeError, statusForError } from "../handler/response.js";
3
+ import { ACTIONS_RUN_DONE_EVENT, ACTIONS_RUN_ERROR_EVENT, ACTIONS_RUN_EVENT, } from "../socket/events.js";
4
+ function isTerminalRunEventType(value) {
5
+ return value === "run.cancelled" || value === "run.failed" || value === "run.finished";
6
+ }
7
+ function emitMissingRunIdentity(socket) {
8
+ socket.emit(ACTIONS_RUN_ERROR_EVENT, {
9
+ error: {
10
+ code: "forge_resource_not_found",
11
+ message: "repositoryKey and runId are required.",
12
+ },
13
+ status: 404,
14
+ });
15
+ socket.emit(ACTIONS_RUN_DONE_EVENT, { ok: false });
16
+ socket.disconnect();
17
+ }
18
+ function emitMissingRepository(socket, repositoryKey) {
19
+ socket.emit(ACTIONS_RUN_ERROR_EVENT, {
20
+ error: {
21
+ code: "repository_not_found",
22
+ message: "Repository not found.",
23
+ },
24
+ status: 404,
25
+ });
26
+ socket.emit(ACTIONS_RUN_DONE_EVENT, { ok: false, repository_key: repositoryKey });
27
+ socket.disconnect();
28
+ }
29
+ async function authorizeRunSocket(options, socket, pathname, repositoryId, repositoryKey, runId, afterSequence) {
30
+ const actor = options.resolveActor ? await options.resolveActor(socket.request) : null;
31
+ const searchParams = new URLSearchParams();
32
+ if (afterSequence > 0)
33
+ searchParams.set("afterSequence", String(afterSequence));
34
+ return authorizationAllowed(options.authorize
35
+ ? await options.authorize({
36
+ action: "action_run",
37
+ actor,
38
+ method: "SOCKET",
39
+ operation: "subscribe",
40
+ pathname,
41
+ remoteAddress: text(socket.handshake.address),
42
+ repositoryId,
43
+ repositoryKey,
44
+ request: socket.request,
45
+ resource: "action_run",
46
+ runId,
47
+ searchParams,
48
+ })
49
+ : undefined);
50
+ }
51
+ function emitDeniedRunSocket(socket, repositoryId, repositoryKey, runId, status, message) {
52
+ socket.emit(ACTIONS_RUN_ERROR_EVENT, {
53
+ error: {
54
+ code: "permission_denied",
55
+ message,
56
+ },
57
+ status,
58
+ });
59
+ socket.emit(ACTIONS_RUN_DONE_EVENT, {
60
+ ok: false,
61
+ repository_id: repositoryId,
62
+ repository_key: repositoryKey,
63
+ run_id: runId,
64
+ });
65
+ socket.disconnect();
66
+ }
67
+ function emitCompletedRunSocket(socket, repositoryId, repositoryKey, runId) {
68
+ socket.emit(ACTIONS_RUN_DONE_EVENT, {
69
+ ok: true,
70
+ repository_id: repositoryId,
71
+ repository_key: repositoryKey,
72
+ run_id: runId,
73
+ });
74
+ }
75
+ function runIsTerminal(status) {
76
+ return status === "cancelled" || status === "failed" || status === "skipped" || status === "success";
77
+ }
78
+ function logDeniedRunSocket(logger, logGroup, pathname, repositoryId, repositoryKey, runId, status) {
79
+ logger.warn(logGroup, "forge socket permission denied", {
80
+ action: "action_run",
81
+ pathname,
82
+ repositoryId,
83
+ repositoryKey,
84
+ runId,
85
+ status,
86
+ });
87
+ }
88
+ function logSubscribedRunSocket(logger, logGroup, repositoryId, repositoryKey, runId, socketId) {
89
+ logger.info(logGroup, "forge action run socket subscribed", {
90
+ repositoryId,
91
+ repositoryKey,
92
+ runId,
93
+ socketId,
94
+ });
95
+ }
96
+ function logFailedRunSocket(logger, logGroup, repositoryId, repositoryKey, runId, socketId, error) {
97
+ logger.error(logGroup, "forge action run socket failed", {
98
+ error: error instanceof Error ? error.message : String(error),
99
+ repositoryId,
100
+ repositoryKey,
101
+ runId,
102
+ socketId,
103
+ });
104
+ }
105
+ function emitFailedRunSocket(socket, repositoryId, repositoryKey, runId, error) {
106
+ socket.emit(ACTIONS_RUN_ERROR_EVENT, {
107
+ ...serializeError(error),
108
+ ok: false,
109
+ repository_id: repositoryId,
110
+ repository_key: repositoryKey,
111
+ run_id: runId,
112
+ status: statusForError(error),
113
+ });
114
+ socket.emit(ACTIONS_RUN_DONE_EVENT, {
115
+ ok: false,
116
+ repository_id: repositoryId,
117
+ repository_key: repositoryKey,
118
+ run_id: runId,
119
+ });
120
+ socket.disconnect();
121
+ }
122
+ async function replayRunEvents(options, socket, repositoryId, runId, afterSequence) {
123
+ const events = await options.forge.listWorkflowRunEvents(repositoryId, runId, {
124
+ afterSequence,
125
+ });
126
+ for (const event of events) {
127
+ socket.emit(ACTIONS_RUN_EVENT, event);
128
+ }
129
+ }
130
+ async function subscribeToLiveRun(options, socket, repositoryId, repositoryKey, runId) {
131
+ let subscription = null;
132
+ subscription = options.forge.subscribeWorkflowRun(repositoryId, runId, async (event) => {
133
+ socket.emit(ACTIONS_RUN_EVENT, event);
134
+ if (isTerminalRunEventType(event.type)) {
135
+ emitCompletedRunSocket(socket, repositoryId, repositoryKey, runId);
136
+ subscription?.close();
137
+ socket.disconnect();
138
+ }
139
+ });
140
+ socket.on("disconnect", () => {
141
+ subscription?.close();
142
+ });
143
+ }
144
+ async function resolveRunSubscriptionContext(options, socket, basePath, payload) {
145
+ const repositoryKey = text(payload?.repositoryKey);
146
+ const runId = text(payload?.runId);
147
+ const afterSequence = Number(payload?.afterSequence) || 0;
148
+ if (!repositoryKey || !runId)
149
+ return null;
150
+ const repositoryId = text(options.resolveRepositoryId
151
+ ? await options.resolveRepositoryId(repositoryKey, socket.request)
152
+ : repositoryKey);
153
+ return {
154
+ afterSequence,
155
+ pathname: `${basePath.replace(/\/+$/g, "") || ""}/repositories/${encodeURIComponent(repositoryKey)}/actions/runs/${encodeURIComponent(runId)}/socket`,
156
+ repositoryId,
157
+ repositoryKey,
158
+ runId,
159
+ };
160
+ }
161
+ async function runAuthorizedSubscription(options, socket, context, verbose, logger, logGroup) {
162
+ const auth = await authorizeRunSocket(options, socket, context.pathname, context.repositoryId, context.repositoryKey, context.runId, context.afterSequence);
163
+ if (!auth.allowed) {
164
+ const status = auth.status || 403;
165
+ logDeniedRunSocket(logger, logGroup, context.pathname, context.repositoryId, context.repositoryKey, context.runId, status);
166
+ emitDeniedRunSocket(socket, context.repositoryId, context.repositoryKey, context.runId, status, auth.message || "Permission denied.");
167
+ return;
168
+ }
169
+ try {
170
+ await replayRunEvents(options, socket, context.repositoryId, context.runId, context.afterSequence);
171
+ const run = await options.forge.readWorkflowRun(context.repositoryId, context.runId);
172
+ if (runIsTerminal(run.status)) {
173
+ emitCompletedRunSocket(socket, context.repositoryId, context.repositoryKey, context.runId);
174
+ socket.disconnect();
175
+ return;
176
+ }
177
+ await subscribeToLiveRun(options, socket, context.repositoryId, context.repositoryKey, context.runId);
178
+ if (verbose) {
179
+ logSubscribedRunSocket(logger, logGroup, context.repositoryId, context.repositoryKey, context.runId, socket.id);
180
+ }
181
+ }
182
+ catch (error) {
183
+ logFailedRunSocket(logger, logGroup, context.repositoryId, context.repositoryKey, context.runId, socket.id, error);
184
+ emitFailedRunSocket(socket, context.repositoryId, context.repositoryKey, context.runId, error);
185
+ }
186
+ }
187
+ function createRunSubscriptionHandler(options, logger, logGroup, basePath, verbose) {
188
+ return async function handleRunSubscription(socket, payload) {
189
+ const context = await resolveRunSubscriptionContext(options, socket, basePath, payload);
190
+ if (!context) {
191
+ emitMissingRunIdentity(socket);
192
+ return;
193
+ }
194
+ if (!context.repositoryId) {
195
+ emitMissingRepository(socket, context.repositoryKey);
196
+ return;
197
+ }
198
+ await runAuthorizedSubscription(options, socket, context, verbose, logger, logGroup);
199
+ };
200
+ }
201
+ export { createRunSubscriptionHandler };
202
+ //# sourceMappingURL=socket_subscription.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"socket_subscription.js","sourceRoot":"","sources":["../../../src/api/forge/socket_subscription.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import type { CreateGitApiHandlerOptions } from "../../types.js";
2
+ import { parseGitApiRoute } from "./route.js";
3
+ declare function runGitApiAction(options: CreateGitApiHandlerOptions, route: ReturnType<typeof parseGitApiRoute>, repositoryId: string, searchParams: URLSearchParams): Promise<import("../../types.js").GitArchive | import("../../types.js").GitCommitDetail | import("../../types.js").GitCommitSummary[] | import("../../types.js").GitCompareSummary | import("../../types.js").GitTagDetail | import("../../types.js").GitBlame | import("../../types.js").GitSearchResult | import("../../types.js").GitBlob | import("../../types.js").GitBranchSummary[] | import("../../types.js").GitRepositorySummary | import("../../types.js").GitRepositoryLinguist | import("../../types.js").GitTreeEntry[] | import("../../types.js").GitTagSummary[]>;
4
+ export { runGitApiAction };
5
+ //# sourceMappingURL=action.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"action.d.ts","sourceRoot":"","sources":["../../../src/api/handler/action.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,eAAe,CAAC;AAGhE,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AA6B9C,iBAAe,eAAe,CAC5B,OAAO,EAAE,0BAA0B,EACnC,KAAK,EAAE,UAAU,CAAC,OAAO,gBAAgB,CAAC,EAC1C,YAAY,EAAE,MAAM,EACpB,YAAY,EAAE,eAAe,uiBAoC9B;AAkDD,OAAO,EAAE,eAAe,EAAE,CAAC"}