@trebired/git-host 2.0.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 (794) hide show
  1. package/CHANGELOG.md +8 -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/{internal/api → api}/forge/actions.d.ts +2 -2
  9. package/dist/api/forge/actions.d.ts.map +1 -0
  10. package/dist/{internal/api → api}/forge/actions.js +11 -56
  11. package/dist/{internal/api → api}/forge/actions.js.map +1 -1
  12. package/dist/{internal/api → api}/forge/archives.d.ts +1 -1
  13. package/dist/api/forge/archives.d.ts.map +1 -0
  14. package/dist/{internal/api → api}/forge/archives.js +3 -3
  15. package/dist/api/forge/archives.js.map +1 -0
  16. package/dist/{internal/api → api}/forge/handler.d.ts +1 -1
  17. package/dist/api/forge/handler.d.ts.map +1 -0
  18. package/dist/{internal/api → api}/forge/handler.js +1 -1
  19. package/dist/api/forge/handler.js.map +1 -0
  20. package/dist/{internal/api → api}/forge/route.d.ts +1 -1
  21. package/dist/api/forge/route.d.ts.map +1 -0
  22. package/dist/{internal/api → api}/forge/route.js +2 -2
  23. package/dist/api/forge/route.js.map +1 -0
  24. package/dist/{internal/api → api}/forge/runtime.d.ts +1 -1
  25. package/dist/api/forge/runtime.d.ts.map +1 -0
  26. package/dist/{internal/api → api}/forge/runtime.js +5 -5
  27. package/dist/api/forge/runtime.js.map +1 -0
  28. package/dist/{internal/api → api}/forge/socket.d.ts +1 -1
  29. package/dist/api/forge/socket.d.ts.map +1 -0
  30. package/dist/{internal/api → api}/forge/socket.js +3 -3
  31. package/dist/api/forge/socket.js.map +1 -0
  32. package/dist/api/handler/action.d.ts +5 -0
  33. package/dist/api/handler/action.d.ts.map +1 -0
  34. package/dist/{internal/api → api}/handler/action.js +2 -2
  35. package/dist/api/handler/action.js.map +1 -0
  36. package/dist/{internal/api → api}/handler/archive.d.ts +1 -1
  37. package/dist/api/handler/archive.d.ts.map +1 -0
  38. package/dist/api/handler/archive.js.map +1 -0
  39. package/dist/api/handler/response.d.ts.map +1 -0
  40. package/dist/{internal/api → api}/handler/response.js +2 -2
  41. package/dist/api/handler/response.js.map +1 -0
  42. package/dist/api/handler/route.d.ts.map +1 -0
  43. package/dist/{internal/api → api}/handler/route.js +1 -1
  44. package/dist/api/handler/route.js.map +1 -0
  45. package/dist/{internal/api → api}/handler/runtime.d.ts +1 -1
  46. package/dist/api/handler/runtime.d.ts.map +1 -0
  47. package/dist/{internal/api → api}/handler/runtime.js +2 -2
  48. package/dist/api/handler/runtime.js.map +1 -0
  49. package/dist/{internal/api → api}/handler.d.ts +1 -1
  50. package/dist/api/handler.d.ts.map +1 -0
  51. package/dist/api/handler.js.map +1 -0
  52. package/dist/api/routing.d.ts.map +1 -0
  53. package/dist/{internal/api → api}/routing.js +1 -1
  54. package/dist/api/routing.js.map +1 -0
  55. package/dist/api/socket/events.d.ts.map +1 -0
  56. package/dist/api/socket/events.js.map +1 -0
  57. package/dist/{internal/api → api}/socket/server.d.ts +1 -1
  58. package/dist/api/socket/server.d.ts.map +1 -0
  59. package/dist/{internal/api → api}/socket/server.js +3 -3
  60. package/dist/api/socket/server.js.map +1 -0
  61. package/dist/backend/utils/normalize.d.ts.map +1 -0
  62. package/dist/backend/utils/normalize.js.map +1 -0
  63. package/dist/backend/utils/object.d.ts.map +1 -0
  64. package/dist/backend/utils/object.js.map +1 -0
  65. package/dist/backend/utils/time.d.ts.map +1 -0
  66. package/dist/backend/utils/time.js.map +1 -0
  67. package/dist/constants.d.ts.map +1 -0
  68. package/dist/constants.js.map +1 -0
  69. package/dist/core/actions_runner.d.ts +58 -0
  70. package/dist/core/actions_runner.d.ts.map +1 -0
  71. package/dist/core/actions_runner.js +414 -0
  72. package/dist/core/actions_runner.js.map +1 -0
  73. package/dist/core/actions_workflows.d.ts +22 -0
  74. package/dist/core/actions_workflows.d.ts.map +1 -0
  75. package/dist/core/actions_workflows.js +218 -0
  76. package/dist/core/actions_workflows.js.map +1 -0
  77. package/dist/{internal/core → core}/activity.d.ts +1 -1
  78. package/dist/core/activity.d.ts.map +1 -0
  79. package/dist/{internal/core → core}/activity.js +1 -1
  80. package/dist/core/activity.js.map +1 -0
  81. package/dist/{internal/core → core}/archive.d.ts +1 -1
  82. package/dist/core/archive.d.ts.map +1 -0
  83. package/dist/{internal/core → core}/archive.js +2 -2
  84. package/dist/core/archive.js.map +1 -0
  85. package/dist/{internal/core → core}/archive_cache_filesystem.d.ts +1 -1
  86. package/dist/core/archive_cache_filesystem.d.ts.map +1 -0
  87. package/dist/core/archive_cache_filesystem.js.map +1 -0
  88. package/dist/core/create/git/forge.d.ts +4 -0
  89. package/dist/core/create/git/forge.d.ts.map +1 -0
  90. package/dist/{internal/core → core}/create/git/forge.js +5 -29
  91. package/dist/core/create/git/forge.js.map +1 -0
  92. package/dist/core/create/git/host.d.ts +4 -0
  93. package/dist/core/create/git/host.d.ts.map +1 -0
  94. package/dist/{internal/core → core}/create/git/host.js +15 -15
  95. package/dist/core/create/git/host.js.map +1 -0
  96. package/dist/{internal/core → core}/create_git_host/branch_methods.d.ts +1 -1
  97. package/dist/core/create_git_host/branch_methods.d.ts.map +1 -0
  98. package/dist/{internal/core → core}/create_git_host/branch_methods.js +5 -5
  99. package/dist/core/create_git_host/branch_methods.js.map +1 -0
  100. package/dist/{internal/core → core}/create_git_host/content_methods.d.ts +1 -1
  101. package/dist/core/create_git_host/content_methods.d.ts.map +1 -0
  102. package/dist/{internal/core → core}/create_git_host/content_methods.js +2 -2
  103. package/dist/core/create_git_host/content_methods.js.map +1 -0
  104. package/dist/{internal/core → core}/create_git_host/remote_methods.d.ts +1 -1
  105. package/dist/core/create_git_host/remote_methods.d.ts.map +1 -0
  106. package/dist/{internal/core → core}/create_git_host/remote_methods.js +2 -2
  107. package/dist/core/create_git_host/remote_methods.js.map +1 -0
  108. package/dist/{internal/core → core}/create_git_host/shared.d.ts +4 -4
  109. package/dist/core/create_git_host/shared.d.ts.map +1 -0
  110. package/dist/{internal/core → core}/create_git_host/shared.js +3 -3
  111. package/dist/core/create_git_host/shared.js.map +1 -0
  112. package/dist/{internal/core → core}/create_git_host/working_tree_methods.d.ts +1 -1
  113. package/dist/core/create_git_host/working_tree_methods.d.ts.map +1 -0
  114. package/dist/{internal/core → core}/create_git_host/working_tree_methods.js +2 -2
  115. package/dist/core/create_git_host/working_tree_methods.js.map +1 -0
  116. package/dist/{internal/core → core}/forge_actions.d.ts +1 -12
  117. package/dist/core/forge_actions.d.ts.map +1 -0
  118. package/dist/{internal/core → core}/forge_actions.js +215 -320
  119. package/dist/core/forge_actions.js.map +1 -0
  120. package/dist/{internal/core → core}/git_forge/storage_memory.d.ts +1 -1
  121. package/dist/core/git_forge/storage_memory.d.ts.map +1 -0
  122. package/dist/{internal/core → core}/git_forge/storage_memory.js +1 -47
  123. package/dist/core/git_forge/storage_memory.js.map +1 -0
  124. package/dist/{internal/core → core}/inspect/helpers.d.ts +1 -1
  125. package/dist/core/inspect/helpers.d.ts.map +1 -0
  126. package/dist/{internal/core → core}/inspect/helpers.js +3 -3
  127. package/dist/core/inspect/helpers.js.map +1 -0
  128. package/dist/{internal/core → core}/inspect/icon_theme.d.ts +1 -1
  129. package/dist/core/inspect/icon_theme.d.ts.map +1 -0
  130. package/dist/{internal/core → core}/inspect/icon_theme.js +1 -1
  131. package/dist/core/inspect/icon_theme.js.map +1 -0
  132. package/dist/{internal/core → core}/inspect/linguist_progress.d.ts +1 -1
  133. package/dist/core/inspect/linguist_progress.d.ts.map +1 -0
  134. package/dist/{internal/core → core}/inspect/linguist_progress.js +1 -1
  135. package/dist/core/inspect/linguist_progress.js.map +1 -0
  136. package/dist/{internal/core → core}/inspect.d.ts +1 -1
  137. package/dist/core/inspect.d.ts.map +1 -0
  138. package/dist/{internal/core → core}/inspect.js +3 -3
  139. package/dist/core/inspect.js.map +1 -0
  140. package/dist/{internal/core → core}/inspection.d.ts +1 -1
  141. package/dist/core/inspection.d.ts.map +1 -0
  142. package/dist/{internal/core → core}/inspection.js +3 -3
  143. package/dist/core/inspection.js.map +1 -0
  144. package/dist/core/locks.d.ts.map +1 -0
  145. package/dist/core/locks.js.map +1 -0
  146. package/dist/{internal/core → core}/operation_state.d.ts +1 -1
  147. package/dist/core/operation_state.d.ts.map +1 -0
  148. package/dist/core/operation_state.js.map +1 -0
  149. package/dist/{internal/core → core}/remote.d.ts +1 -1
  150. package/dist/core/remote.d.ts.map +1 -0
  151. package/dist/{internal/core → core}/remote.js +2 -2
  152. package/dist/core/remote.js.map +1 -0
  153. package/dist/{internal/core → core}/repository/parsers.d.ts +1 -1
  154. package/dist/core/repository/parsers.d.ts.map +1 -0
  155. package/dist/{internal/core → core}/repository/parsers.js +1 -1
  156. package/dist/core/repository/parsers.js.map +1 -0
  157. package/dist/{internal/core → core}/repository.d.ts +1 -1
  158. package/dist/core/repository.d.ts.map +1 -0
  159. package/dist/{internal/core → core}/repository.js +3 -3
  160. package/dist/core/repository.js.map +1 -0
  161. package/dist/{internal/core → core}/run_git/env.d.ts +1 -1
  162. package/dist/core/run_git/env.d.ts.map +1 -0
  163. package/dist/{internal/core → core}/run_git/env.js +2 -2
  164. package/dist/core/run_git/env.js.map +1 -0
  165. package/dist/{internal/core → core}/run_git/process.d.ts +1 -1
  166. package/dist/core/run_git/process.d.ts.map +1 -0
  167. package/dist/{internal/core → core}/run_git/process.js +1 -1
  168. package/dist/core/run_git/process.js.map +1 -0
  169. package/dist/{internal/core → core}/run_git/repository_setup.d.ts +1 -1
  170. package/dist/core/run_git/repository_setup.d.ts.map +1 -0
  171. package/dist/{internal/core → core}/run_git/repository_setup.js +2 -2
  172. package/dist/core/run_git/repository_setup.js.map +1 -0
  173. package/dist/{internal/core → core}/run_git.d.ts +1 -1
  174. package/dist/core/run_git.d.ts.map +1 -0
  175. package/dist/{internal/core → core}/run_git.js +1 -1
  176. package/dist/core/run_git.js.map +1 -0
  177. package/dist/{internal/core → core}/working_tree/mutate.d.ts +1 -1
  178. package/dist/core/working_tree/mutate.d.ts.map +1 -0
  179. package/dist/{internal/core → core}/working_tree/mutate.js +5 -5
  180. package/dist/core/working_tree/mutate.js.map +1 -0
  181. package/dist/{internal/core → core}/working_tree/read.d.ts +1 -1
  182. package/dist/core/working_tree/read.d.ts.map +1 -0
  183. package/dist/{internal/core → core}/working_tree/read.js +4 -4
  184. package/dist/core/working_tree/read.js.map +1 -0
  185. package/dist/{internal/core → core}/working_tree/shared.d.ts +1 -1
  186. package/dist/core/working_tree/shared.d.ts.map +1 -0
  187. package/dist/{internal/core → core}/working_tree/shared.js +4 -4
  188. package/dist/core/working_tree/shared.js.map +1 -0
  189. package/dist/core/working_tree.d.ts.map +1 -0
  190. package/dist/core/working_tree.js.map +1 -0
  191. package/dist/errors.d.ts.map +1 -0
  192. package/dist/errors.js.map +1 -0
  193. package/dist/frontend/js/utils/text.d.ts.map +1 -0
  194. package/dist/frontend/js/utils/text.js.map +1 -0
  195. package/dist/{internal/http → http}/handler/helpers.d.ts +1 -1
  196. package/dist/http/handler/helpers.d.ts.map +1 -0
  197. package/dist/{internal/http → http}/handler/helpers.js +2 -2
  198. package/dist/http/handler/helpers.js.map +1 -0
  199. package/dist/{internal/http → http}/handler.d.ts +1 -1
  200. package/dist/http/handler.d.ts.map +1 -0
  201. package/dist/{internal/http → http}/handler.js +2 -2
  202. package/dist/http/handler.js.map +1 -0
  203. package/dist/index.d.ts.map +1 -0
  204. package/dist/index.js.map +1 -0
  205. package/dist/logging.d.ts.map +1 -0
  206. package/dist/logging.js.map +1 -0
  207. package/dist/ssh/keys.d.ts.map +1 -0
  208. package/dist/{internal/ssh → ssh}/keys.js +2 -2
  209. package/dist/ssh/keys.js.map +1 -0
  210. package/dist/{internal/ssh → ssh}/server/audit.d.ts +2 -2
  211. package/dist/ssh/server/audit.d.ts.map +1 -0
  212. package/dist/ssh/server/audit.js.map +1 -0
  213. package/dist/{internal/ssh → ssh}/server/shared.d.ts +2 -2
  214. package/dist/ssh/server/shared.d.ts.map +1 -0
  215. package/dist/{internal/ssh → ssh}/server/shared.js +2 -2
  216. package/dist/ssh/server/shared.js.map +1 -0
  217. package/dist/{internal/ssh → ssh}/server.d.ts +1 -1
  218. package/dist/ssh/server.d.ts.map +1 -0
  219. package/dist/{internal/ssh → ssh}/server.js +2 -2
  220. package/dist/ssh/server.js.map +1 -0
  221. package/dist/types/common.d.ts.map +1 -0
  222. package/dist/{internal/types → types}/common.js.map +1 -1
  223. package/dist/{internal/types → types}/forge.d.ts +5 -10
  224. package/dist/types/forge.d.ts.map +1 -0
  225. package/dist/{internal/types → types}/forge.js.map +1 -1
  226. package/dist/types/host/archive.d.ts.map +1 -0
  227. package/dist/types/host/archive.js.map +1 -0
  228. package/dist/types/host/options.d.ts.map +1 -0
  229. package/dist/types/host/options.js.map +1 -0
  230. package/dist/types/host/service.d.ts.map +1 -0
  231. package/dist/types/host/service.js.map +1 -0
  232. package/dist/types/host.d.ts.map +1 -0
  233. package/dist/{internal/types → types}/host.js.map +1 -1
  234. package/dist/types/index.d.ts.map +1 -0
  235. package/dist/{internal/types → types}/index.js.map +1 -1
  236. package/dist/types/repository/archive.d.ts.map +1 -0
  237. package/dist/types/repository/archive.js.map +1 -0
  238. package/dist/types/repository/core.d.ts.map +1 -0
  239. package/dist/types/repository/core.js.map +1 -0
  240. package/dist/types/repository/inspection.d.ts.map +1 -0
  241. package/dist/types/repository/inspection.js.map +1 -0
  242. package/dist/types/repository.d.ts.map +1 -0
  243. package/dist/types/repository.js.map +1 -0
  244. package/dist/types/transports.d.ts.map +1 -0
  245. package/dist/types/transports.js.map +1 -0
  246. package/dist/{src/types.d.ts.map → types.d.ts.map} +1 -1
  247. package/dist/types.js.map +1 -0
  248. package/dist/utils/paths.d.ts.map +1 -0
  249. package/dist/{internal/utils → utils}/paths.js +1 -1
  250. package/dist/utils/paths.js.map +1 -0
  251. package/dist/utils/text.d.ts.map +1 -0
  252. package/dist/utils/text.js.map +1 -0
  253. package/package.json +136 -186
  254. package/dist/browser/styles.css +0 -317
  255. package/dist/internal/api/forge/actions.d.ts.map +0 -1
  256. package/dist/internal/api/forge/archives.d.ts.map +0 -1
  257. package/dist/internal/api/forge/archives.js.map +0 -1
  258. package/dist/internal/api/forge/handler.d.ts.map +0 -1
  259. package/dist/internal/api/forge/handler.js.map +0 -1
  260. package/dist/internal/api/forge/route.d.ts.map +0 -1
  261. package/dist/internal/api/forge/route.js.map +0 -1
  262. package/dist/internal/api/forge/runtime.d.ts.map +0 -1
  263. package/dist/internal/api/forge/runtime.js.map +0 -1
  264. package/dist/internal/api/forge/socket.d.ts.map +0 -1
  265. package/dist/internal/api/forge/socket.js.map +0 -1
  266. package/dist/internal/api/handler/action.d.ts +0 -5
  267. package/dist/internal/api/handler/action.d.ts.map +0 -1
  268. package/dist/internal/api/handler/action.js.map +0 -1
  269. package/dist/internal/api/handler/archive.d.ts.map +0 -1
  270. package/dist/internal/api/handler/archive.js.map +0 -1
  271. package/dist/internal/api/handler/response.d.ts.map +0 -1
  272. package/dist/internal/api/handler/response.js.map +0 -1
  273. package/dist/internal/api/handler/route.d.ts.map +0 -1
  274. package/dist/internal/api/handler/route.js.map +0 -1
  275. package/dist/internal/api/handler/runtime.d.ts.map +0 -1
  276. package/dist/internal/api/handler/runtime.js.map +0 -1
  277. package/dist/internal/api/handler.d.ts.map +0 -1
  278. package/dist/internal/api/handler.js.map +0 -1
  279. package/dist/internal/api/routing.d.ts.map +0 -1
  280. package/dist/internal/api/routing.js.map +0 -1
  281. package/dist/internal/api/socket/events.d.ts.map +0 -1
  282. package/dist/internal/api/socket/events.js.map +0 -1
  283. package/dist/internal/api/socket/server.d.ts.map +0 -1
  284. package/dist/internal/api/socket/server.js.map +0 -1
  285. package/dist/internal/backend/utils/normalize.d.ts.map +0 -1
  286. package/dist/internal/backend/utils/normalize.js.map +0 -1
  287. package/dist/internal/backend/utils/object.d.ts.map +0 -1
  288. package/dist/internal/backend/utils/object.js.map +0 -1
  289. package/dist/internal/backend/utils/time.d.ts.map +0 -1
  290. package/dist/internal/backend/utils/time.js.map +0 -1
  291. package/dist/internal/browser/index.d.ts +0 -78
  292. package/dist/internal/browser/index.d.ts.map +0 -1
  293. package/dist/internal/browser/index.js +0 -1365
  294. package/dist/internal/browser/index.js.map +0 -1
  295. package/dist/internal/constants.d.ts.map +0 -1
  296. package/dist/internal/constants.js.map +0 -1
  297. package/dist/internal/core/activity.d.ts.map +0 -1
  298. package/dist/internal/core/activity.js.map +0 -1
  299. package/dist/internal/core/archive.d.ts.map +0 -1
  300. package/dist/internal/core/archive.js.map +0 -1
  301. package/dist/internal/core/archive_cache_filesystem.d.ts.map +0 -1
  302. package/dist/internal/core/archive_cache_filesystem.js.map +0 -1
  303. package/dist/internal/core/create/git/forge.d.ts +0 -4
  304. package/dist/internal/core/create/git/forge.d.ts.map +0 -1
  305. package/dist/internal/core/create/git/forge.js.map +0 -1
  306. package/dist/internal/core/create/git/host.d.ts +0 -4
  307. package/dist/internal/core/create/git/host.d.ts.map +0 -1
  308. package/dist/internal/core/create/git/host.js.map +0 -1
  309. package/dist/internal/core/create_git_host/branch_methods.d.ts.map +0 -1
  310. package/dist/internal/core/create_git_host/branch_methods.js.map +0 -1
  311. package/dist/internal/core/create_git_host/content_methods.d.ts.map +0 -1
  312. package/dist/internal/core/create_git_host/content_methods.js.map +0 -1
  313. package/dist/internal/core/create_git_host/remote_methods.d.ts.map +0 -1
  314. package/dist/internal/core/create_git_host/remote_methods.js.map +0 -1
  315. package/dist/internal/core/create_git_host/shared.d.ts.map +0 -1
  316. package/dist/internal/core/create_git_host/shared.js.map +0 -1
  317. package/dist/internal/core/create_git_host/working_tree_methods.d.ts.map +0 -1
  318. package/dist/internal/core/create_git_host/working_tree_methods.js.map +0 -1
  319. package/dist/internal/core/forge_actions.d.ts.map +0 -1
  320. package/dist/internal/core/forge_actions.js.map +0 -1
  321. package/dist/internal/core/git_forge/storage_memory.d.ts.map +0 -1
  322. package/dist/internal/core/git_forge/storage_memory.js.map +0 -1
  323. package/dist/internal/core/inspect/helpers.d.ts.map +0 -1
  324. package/dist/internal/core/inspect/helpers.js.map +0 -1
  325. package/dist/internal/core/inspect/icon_theme.d.ts.map +0 -1
  326. package/dist/internal/core/inspect/icon_theme.js.map +0 -1
  327. package/dist/internal/core/inspect/linguist_progress.d.ts.map +0 -1
  328. package/dist/internal/core/inspect/linguist_progress.js.map +0 -1
  329. package/dist/internal/core/inspect.d.ts.map +0 -1
  330. package/dist/internal/core/inspect.js.map +0 -1
  331. package/dist/internal/core/inspection.d.ts.map +0 -1
  332. package/dist/internal/core/inspection.js.map +0 -1
  333. package/dist/internal/core/locks.d.ts.map +0 -1
  334. package/dist/internal/core/locks.js.map +0 -1
  335. package/dist/internal/core/operation_state.d.ts.map +0 -1
  336. package/dist/internal/core/operation_state.js.map +0 -1
  337. package/dist/internal/core/remote.d.ts.map +0 -1
  338. package/dist/internal/core/remote.js.map +0 -1
  339. package/dist/internal/core/repository/parsers.d.ts.map +0 -1
  340. package/dist/internal/core/repository/parsers.js.map +0 -1
  341. package/dist/internal/core/repository.d.ts.map +0 -1
  342. package/dist/internal/core/repository.js.map +0 -1
  343. package/dist/internal/core/run_git/env.d.ts.map +0 -1
  344. package/dist/internal/core/run_git/env.js.map +0 -1
  345. package/dist/internal/core/run_git/process.d.ts.map +0 -1
  346. package/dist/internal/core/run_git/process.js.map +0 -1
  347. package/dist/internal/core/run_git/repository_setup.d.ts.map +0 -1
  348. package/dist/internal/core/run_git/repository_setup.js.map +0 -1
  349. package/dist/internal/core/run_git.d.ts.map +0 -1
  350. package/dist/internal/core/run_git.js.map +0 -1
  351. package/dist/internal/core/working_tree/mutate.d.ts.map +0 -1
  352. package/dist/internal/core/working_tree/mutate.js.map +0 -1
  353. package/dist/internal/core/working_tree/read.d.ts.map +0 -1
  354. package/dist/internal/core/working_tree/read.js.map +0 -1
  355. package/dist/internal/core/working_tree/shared.d.ts.map +0 -1
  356. package/dist/internal/core/working_tree/shared.js.map +0 -1
  357. package/dist/internal/core/working_tree.d.ts.map +0 -1
  358. package/dist/internal/core/working_tree.js.map +0 -1
  359. package/dist/internal/errors.d.ts.map +0 -1
  360. package/dist/internal/errors.js.map +0 -1
  361. package/dist/internal/frontend/js/utils/text.d.ts.map +0 -1
  362. package/dist/internal/frontend/js/utils/text.js.map +0 -1
  363. package/dist/internal/http/handler/helpers.d.ts.map +0 -1
  364. package/dist/internal/http/handler/helpers.js.map +0 -1
  365. package/dist/internal/http/handler.d.ts.map +0 -1
  366. package/dist/internal/http/handler.js.map +0 -1
  367. package/dist/internal/index.d.ts.map +0 -1
  368. package/dist/internal/index.js.map +0 -1
  369. package/dist/internal/logging.d.ts.map +0 -1
  370. package/dist/internal/logging.js.map +0 -1
  371. package/dist/internal/react/client/error.d.ts +0 -14
  372. package/dist/internal/react/client/error.d.ts.map +0 -1
  373. package/dist/internal/react/client/error.js +0 -32
  374. package/dist/internal/react/client/error.js.map +0 -1
  375. package/dist/internal/react/client/helpers.d.ts +0 -12
  376. package/dist/internal/react/client/helpers.d.ts.map +0 -1
  377. package/dist/internal/react/client/helpers.js +0 -45
  378. package/dist/internal/react/client/helpers.js.map +0 -1
  379. package/dist/internal/react/client/types.d.ts +0 -275
  380. package/dist/internal/react/client/types.d.ts.map +0 -1
  381. package/dist/internal/react/client/types.js.map +0 -1
  382. package/dist/internal/react/client.d.ts +0 -6
  383. package/dist/internal/react/client.d.ts.map +0 -1
  384. package/dist/internal/react/client.js +0 -744
  385. package/dist/internal/react/client.js.map +0 -1
  386. package/dist/internal/react/components.d.ts +0 -44412
  387. package/dist/internal/react/components.d.ts.map +0 -1
  388. package/dist/internal/react/components.js +0 -759
  389. package/dist/internal/react/components.js.map +0 -1
  390. package/dist/internal/react/hooks/query.d.ts +0 -14
  391. package/dist/internal/react/hooks/query.d.ts.map +0 -1
  392. package/dist/internal/react/hooks/query.js +0 -139
  393. package/dist/internal/react/hooks/query.js.map +0 -1
  394. package/dist/internal/react/hooks/resources.d.ts +0 -116
  395. package/dist/internal/react/hooks/resources.d.ts.map +0 -1
  396. package/dist/internal/react/hooks/resources.js +0 -600
  397. package/dist/internal/react/hooks/resources.js.map +0 -1
  398. package/dist/internal/react/hooks/types.d.ts +0 -86
  399. package/dist/internal/react/hooks/types.d.ts.map +0 -1
  400. package/dist/internal/react/hooks/types.js +0 -2
  401. package/dist/internal/react/hooks/types.js.map +0 -1
  402. package/dist/internal/react/hooks.d.ts +0 -4
  403. package/dist/internal/react/hooks.d.ts.map +0 -1
  404. package/dist/internal/react/hooks.js +0 -3
  405. package/dist/internal/react/hooks.js.map +0 -1
  406. package/dist/internal/react/index.d.ts +0 -8
  407. package/dist/internal/react/index.d.ts.map +0 -1
  408. package/dist/internal/react/index.js +0 -5
  409. package/dist/internal/react/index.js.map +0 -1
  410. package/dist/internal/react/ui/context.d.ts +0 -1918
  411. package/dist/internal/react/ui/context.d.ts.map +0 -1
  412. package/dist/internal/react/ui/context.js +0 -192
  413. package/dist/internal/react/ui/context.js.map +0 -1
  414. package/dist/internal/ssh/keys.d.ts.map +0 -1
  415. package/dist/internal/ssh/keys.js.map +0 -1
  416. package/dist/internal/ssh/server/audit.d.ts.map +0 -1
  417. package/dist/internal/ssh/server/audit.js.map +0 -1
  418. package/dist/internal/ssh/server/shared.d.ts.map +0 -1
  419. package/dist/internal/ssh/server/shared.js.map +0 -1
  420. package/dist/internal/ssh/server.d.ts.map +0 -1
  421. package/dist/internal/ssh/server.js.map +0 -1
  422. package/dist/internal/types/common.d.ts.map +0 -1
  423. package/dist/internal/types/forge.d.ts.map +0 -1
  424. package/dist/internal/types/host/archive.d.ts.map +0 -1
  425. package/dist/internal/types/host/archive.js.map +0 -1
  426. package/dist/internal/types/host/options.d.ts.map +0 -1
  427. package/dist/internal/types/host/options.js.map +0 -1
  428. package/dist/internal/types/host/service.d.ts.map +0 -1
  429. package/dist/internal/types/host/service.js.map +0 -1
  430. package/dist/internal/types/host.d.ts.map +0 -1
  431. package/dist/internal/types/index.d.ts.map +0 -1
  432. package/dist/internal/types/repository/archive.d.ts.map +0 -1
  433. package/dist/internal/types/repository/archive.js.map +0 -1
  434. package/dist/internal/types/repository/core.d.ts.map +0 -1
  435. package/dist/internal/types/repository/core.js.map +0 -1
  436. package/dist/internal/types/repository/inspection.d.ts.map +0 -1
  437. package/dist/internal/types/repository/inspection.js.map +0 -1
  438. package/dist/internal/types/repository.d.ts.map +0 -1
  439. package/dist/internal/types/repository.js.map +0 -1
  440. package/dist/internal/types/transports.d.ts.map +0 -1
  441. package/dist/internal/types/transports.js.map +0 -1
  442. package/dist/internal/types.d.ts.map +0 -1
  443. package/dist/internal/types.js +0 -2
  444. package/dist/internal/types.js.map +0 -1
  445. package/dist/internal/utils/paths.d.ts.map +0 -1
  446. package/dist/internal/utils/paths.js.map +0 -1
  447. package/dist/internal/utils/text.d.ts.map +0 -1
  448. package/dist/internal/utils/text.js.map +0 -1
  449. package/dist/src/api/forge/handler.d.ts +0 -2
  450. package/dist/src/api/forge/handler.d.ts.map +0 -1
  451. package/dist/src/api/forge/handler.js +0 -2
  452. package/dist/src/api/forge/handler.js.map +0 -1
  453. package/dist/src/api/forge/route.d.ts +0 -2
  454. package/dist/src/api/forge/route.d.ts.map +0 -1
  455. package/dist/src/api/forge/route.js +0 -2
  456. package/dist/src/api/forge/route.js.map +0 -1
  457. package/dist/src/api/handler/action.d.ts +0 -2
  458. package/dist/src/api/handler/action.d.ts.map +0 -1
  459. package/dist/src/api/handler/action.js +0 -2
  460. package/dist/src/api/handler/action.js.map +0 -1
  461. package/dist/src/api/handler/archive.d.ts +0 -2
  462. package/dist/src/api/handler/archive.d.ts.map +0 -1
  463. package/dist/src/api/handler/archive.js +0 -2
  464. package/dist/src/api/handler/archive.js.map +0 -1
  465. package/dist/src/api/handler/response.d.ts +0 -2
  466. package/dist/src/api/handler/response.d.ts.map +0 -1
  467. package/dist/src/api/handler/response.js +0 -2
  468. package/dist/src/api/handler/response.js.map +0 -1
  469. package/dist/src/api/handler/route.d.ts +0 -2
  470. package/dist/src/api/handler/route.d.ts.map +0 -1
  471. package/dist/src/api/handler/route.js +0 -2
  472. package/dist/src/api/handler/route.js.map +0 -1
  473. package/dist/src/api/handler.d.ts +0 -2
  474. package/dist/src/api/handler.d.ts.map +0 -1
  475. package/dist/src/api/handler.js +0 -2
  476. package/dist/src/api/handler.js.map +0 -1
  477. package/dist/src/api/socket/events.d.ts +0 -2
  478. package/dist/src/api/socket/events.d.ts.map +0 -1
  479. package/dist/src/api/socket/events.js +0 -2
  480. package/dist/src/api/socket/events.js.map +0 -1
  481. package/dist/src/api/socket/server.d.ts +0 -2
  482. package/dist/src/api/socket/server.d.ts.map +0 -1
  483. package/dist/src/api/socket/server.js +0 -2
  484. package/dist/src/api/socket/server.js.map +0 -1
  485. package/dist/src/backend/utils/normalize.d.ts +0 -2
  486. package/dist/src/backend/utils/normalize.d.ts.map +0 -1
  487. package/dist/src/backend/utils/normalize.js +0 -4
  488. package/dist/src/backend/utils/normalize.js.map +0 -1
  489. package/dist/src/backend/utils/object.d.ts +0 -3
  490. package/dist/src/backend/utils/object.d.ts.map +0 -1
  491. package/dist/src/backend/utils/object.js +0 -12
  492. package/dist/src/backend/utils/object.js.map +0 -1
  493. package/dist/src/backend/utils/time.d.ts +0 -3
  494. package/dist/src/backend/utils/time.d.ts.map +0 -1
  495. package/dist/src/backend/utils/time.js +0 -7
  496. package/dist/src/backend/utils/time.js.map +0 -1
  497. package/dist/src/browser/index.d.ts +0 -2
  498. package/dist/src/browser/index.d.ts.map +0 -1
  499. package/dist/src/browser/index.js +0 -2
  500. package/dist/src/browser/index.js.map +0 -1
  501. package/dist/src/constants.d.ts +0 -2
  502. package/dist/src/constants.d.ts.map +0 -1
  503. package/dist/src/constants.js +0 -2
  504. package/dist/src/constants.js.map +0 -1
  505. package/dist/src/core/archive.d.ts +0 -2
  506. package/dist/src/core/archive.d.ts.map +0 -1
  507. package/dist/src/core/archive.js +0 -2
  508. package/dist/src/core/archive.js.map +0 -1
  509. package/dist/src/core/archive_cache_filesystem.d.ts +0 -2
  510. package/dist/src/core/archive_cache_filesystem.d.ts.map +0 -1
  511. package/dist/src/core/archive_cache_filesystem.js +0 -2
  512. package/dist/src/core/archive_cache_filesystem.js.map +0 -1
  513. package/dist/src/core/create/git/forge.d.ts +0 -2
  514. package/dist/src/core/create/git/forge.d.ts.map +0 -1
  515. package/dist/src/core/create/git/forge.js +0 -2
  516. package/dist/src/core/create/git/forge.js.map +0 -1
  517. package/dist/src/core/create/git/host.d.ts +0 -2
  518. package/dist/src/core/create/git/host.d.ts.map +0 -1
  519. package/dist/src/core/create/git/host.js +0 -2
  520. package/dist/src/core/create/git/host.js.map +0 -1
  521. package/dist/src/core/create_git_host/branch_methods.d.ts +0 -2
  522. package/dist/src/core/create_git_host/branch_methods.d.ts.map +0 -1
  523. package/dist/src/core/create_git_host/branch_methods.js +0 -2
  524. package/dist/src/core/create_git_host/branch_methods.js.map +0 -1
  525. package/dist/src/core/create_git_host/content_methods.d.ts +0 -2
  526. package/dist/src/core/create_git_host/content_methods.d.ts.map +0 -1
  527. package/dist/src/core/create_git_host/content_methods.js +0 -2
  528. package/dist/src/core/create_git_host/content_methods.js.map +0 -1
  529. package/dist/src/core/create_git_host/remote_methods.d.ts +0 -2
  530. package/dist/src/core/create_git_host/remote_methods.d.ts.map +0 -1
  531. package/dist/src/core/create_git_host/remote_methods.js +0 -2
  532. package/dist/src/core/create_git_host/remote_methods.js.map +0 -1
  533. package/dist/src/core/create_git_host/shared.d.ts +0 -2
  534. package/dist/src/core/create_git_host/shared.d.ts.map +0 -1
  535. package/dist/src/core/create_git_host/shared.js +0 -2
  536. package/dist/src/core/create_git_host/shared.js.map +0 -1
  537. package/dist/src/core/create_git_host/working_tree_methods.d.ts +0 -2
  538. package/dist/src/core/create_git_host/working_tree_methods.d.ts.map +0 -1
  539. package/dist/src/core/create_git_host/working_tree_methods.js +0 -2
  540. package/dist/src/core/create_git_host/working_tree_methods.js.map +0 -1
  541. package/dist/src/core/git_forge/storage_memory.d.ts +0 -2
  542. package/dist/src/core/git_forge/storage_memory.d.ts.map +0 -1
  543. package/dist/src/core/git_forge/storage_memory.js +0 -2
  544. package/dist/src/core/git_forge/storage_memory.js.map +0 -1
  545. package/dist/src/core/inspect/helpers.d.ts +0 -2
  546. package/dist/src/core/inspect/helpers.d.ts.map +0 -1
  547. package/dist/src/core/inspect/helpers.js +0 -2
  548. package/dist/src/core/inspect/helpers.js.map +0 -1
  549. package/dist/src/core/inspect/icon_theme.d.ts +0 -2
  550. package/dist/src/core/inspect/icon_theme.d.ts.map +0 -1
  551. package/dist/src/core/inspect/icon_theme.js +0 -2
  552. package/dist/src/core/inspect/icon_theme.js.map +0 -1
  553. package/dist/src/core/inspect/linguist_progress.d.ts +0 -2
  554. package/dist/src/core/inspect/linguist_progress.d.ts.map +0 -1
  555. package/dist/src/core/inspect/linguist_progress.js +0 -2
  556. package/dist/src/core/inspect/linguist_progress.js.map +0 -1
  557. package/dist/src/core/inspect.d.ts +0 -2
  558. package/dist/src/core/inspect.d.ts.map +0 -1
  559. package/dist/src/core/inspect.js +0 -2
  560. package/dist/src/core/inspect.js.map +0 -1
  561. package/dist/src/core/inspection.d.ts +0 -2
  562. package/dist/src/core/inspection.d.ts.map +0 -1
  563. package/dist/src/core/inspection.js +0 -2
  564. package/dist/src/core/inspection.js.map +0 -1
  565. package/dist/src/core/locks.d.ts +0 -2
  566. package/dist/src/core/locks.d.ts.map +0 -1
  567. package/dist/src/core/locks.js +0 -2
  568. package/dist/src/core/locks.js.map +0 -1
  569. package/dist/src/core/operation_state.d.ts +0 -2
  570. package/dist/src/core/operation_state.d.ts.map +0 -1
  571. package/dist/src/core/operation_state.js +0 -2
  572. package/dist/src/core/operation_state.js.map +0 -1
  573. package/dist/src/core/remote.d.ts +0 -2
  574. package/dist/src/core/remote.d.ts.map +0 -1
  575. package/dist/src/core/remote.js +0 -2
  576. package/dist/src/core/remote.js.map +0 -1
  577. package/dist/src/core/repository/parsers.d.ts +0 -2
  578. package/dist/src/core/repository/parsers.d.ts.map +0 -1
  579. package/dist/src/core/repository/parsers.js +0 -2
  580. package/dist/src/core/repository/parsers.js.map +0 -1
  581. package/dist/src/core/repository.d.ts +0 -2
  582. package/dist/src/core/repository.d.ts.map +0 -1
  583. package/dist/src/core/repository.js +0 -2
  584. package/dist/src/core/repository.js.map +0 -1
  585. package/dist/src/core/run_git/env.d.ts +0 -2
  586. package/dist/src/core/run_git/env.d.ts.map +0 -1
  587. package/dist/src/core/run_git/env.js +0 -2
  588. package/dist/src/core/run_git/env.js.map +0 -1
  589. package/dist/src/core/run_git/process.d.ts +0 -2
  590. package/dist/src/core/run_git/process.d.ts.map +0 -1
  591. package/dist/src/core/run_git/process.js +0 -2
  592. package/dist/src/core/run_git/process.js.map +0 -1
  593. package/dist/src/core/run_git/repository_setup.d.ts +0 -2
  594. package/dist/src/core/run_git/repository_setup.d.ts.map +0 -1
  595. package/dist/src/core/run_git/repository_setup.js +0 -2
  596. package/dist/src/core/run_git/repository_setup.js.map +0 -1
  597. package/dist/src/core/run_git.d.ts +0 -2
  598. package/dist/src/core/run_git.d.ts.map +0 -1
  599. package/dist/src/core/run_git.js +0 -2
  600. package/dist/src/core/run_git.js.map +0 -1
  601. package/dist/src/core/working_tree/mutate.d.ts +0 -2
  602. package/dist/src/core/working_tree/mutate.d.ts.map +0 -1
  603. package/dist/src/core/working_tree/mutate.js +0 -2
  604. package/dist/src/core/working_tree/mutate.js.map +0 -1
  605. package/dist/src/core/working_tree/read.d.ts +0 -2
  606. package/dist/src/core/working_tree/read.d.ts.map +0 -1
  607. package/dist/src/core/working_tree/read.js +0 -2
  608. package/dist/src/core/working_tree/read.js.map +0 -1
  609. package/dist/src/core/working_tree/shared.d.ts +0 -2
  610. package/dist/src/core/working_tree/shared.d.ts.map +0 -1
  611. package/dist/src/core/working_tree/shared.js +0 -2
  612. package/dist/src/core/working_tree/shared.js.map +0 -1
  613. package/dist/src/core/working_tree.d.ts +0 -2
  614. package/dist/src/core/working_tree.d.ts.map +0 -1
  615. package/dist/src/core/working_tree.js +0 -2
  616. package/dist/src/core/working_tree.js.map +0 -1
  617. package/dist/src/errors.d.ts +0 -2
  618. package/dist/src/errors.d.ts.map +0 -1
  619. package/dist/src/errors.js +0 -2
  620. package/dist/src/errors.js.map +0 -1
  621. package/dist/src/frontend/js/utils/text.d.ts +0 -2
  622. package/dist/src/frontend/js/utils/text.d.ts.map +0 -1
  623. package/dist/src/frontend/js/utils/text.js +0 -4
  624. package/dist/src/frontend/js/utils/text.js.map +0 -1
  625. package/dist/src/http/handler/helpers.d.ts +0 -2
  626. package/dist/src/http/handler/helpers.d.ts.map +0 -1
  627. package/dist/src/http/handler/helpers.js +0 -2
  628. package/dist/src/http/handler/helpers.js.map +0 -1
  629. package/dist/src/http/handler.d.ts +0 -2
  630. package/dist/src/http/handler.d.ts.map +0 -1
  631. package/dist/src/http/handler.js +0 -2
  632. package/dist/src/http/handler.js.map +0 -1
  633. package/dist/src/index.d.ts +0 -2
  634. package/dist/src/index.d.ts.map +0 -1
  635. package/dist/src/index.js +0 -2
  636. package/dist/src/index.js.map +0 -1
  637. package/dist/src/logging.d.ts +0 -2
  638. package/dist/src/logging.d.ts.map +0 -1
  639. package/dist/src/logging.js +0 -2
  640. package/dist/src/logging.js.map +0 -1
  641. package/dist/src/react/client/error.d.ts +0 -2
  642. package/dist/src/react/client/error.d.ts.map +0 -1
  643. package/dist/src/react/client/error.js +0 -2
  644. package/dist/src/react/client/error.js.map +0 -1
  645. package/dist/src/react/client/helpers.d.ts +0 -2
  646. package/dist/src/react/client/helpers.d.ts.map +0 -1
  647. package/dist/src/react/client/helpers.js +0 -2
  648. package/dist/src/react/client/helpers.js.map +0 -1
  649. package/dist/src/react/client/types.d.ts +0 -2
  650. package/dist/src/react/client/types.d.ts.map +0 -1
  651. package/dist/src/react/client/types.js +0 -2
  652. package/dist/src/react/client/types.js.map +0 -1
  653. package/dist/src/react/client.d.ts +0 -2
  654. package/dist/src/react/client.d.ts.map +0 -1
  655. package/dist/src/react/client.js +0 -2
  656. package/dist/src/react/client.js.map +0 -1
  657. package/dist/src/react/components.d.ts +0 -2
  658. package/dist/src/react/components.d.ts.map +0 -1
  659. package/dist/src/react/components.js +0 -2
  660. package/dist/src/react/components.js.map +0 -1
  661. package/dist/src/react/hooks/query.d.ts +0 -2
  662. package/dist/src/react/hooks/query.d.ts.map +0 -1
  663. package/dist/src/react/hooks/query.js +0 -2
  664. package/dist/src/react/hooks/query.js.map +0 -1
  665. package/dist/src/react/hooks/resources.d.ts +0 -2
  666. package/dist/src/react/hooks/resources.d.ts.map +0 -1
  667. package/dist/src/react/hooks/resources.js +0 -2
  668. package/dist/src/react/hooks/resources.js.map +0 -1
  669. package/dist/src/react/hooks/types.d.ts +0 -2
  670. package/dist/src/react/hooks/types.d.ts.map +0 -1
  671. package/dist/src/react/hooks/types.js +0 -2
  672. package/dist/src/react/hooks/types.js.map +0 -1
  673. package/dist/src/react/hooks.d.ts +0 -2
  674. package/dist/src/react/hooks.d.ts.map +0 -1
  675. package/dist/src/react/hooks.js +0 -2
  676. package/dist/src/react/hooks.js.map +0 -1
  677. package/dist/src/react/index.d.ts +0 -2
  678. package/dist/src/react/index.d.ts.map +0 -1
  679. package/dist/src/react/index.js +0 -2
  680. package/dist/src/react/index.js.map +0 -1
  681. package/dist/src/react/ui/context.d.ts +0 -2
  682. package/dist/src/react/ui/context.d.ts.map +0 -1
  683. package/dist/src/react/ui/context.js +0 -2
  684. package/dist/src/react/ui/context.js.map +0 -1
  685. package/dist/src/ssh/keys.d.ts +0 -2
  686. package/dist/src/ssh/keys.d.ts.map +0 -1
  687. package/dist/src/ssh/keys.js +0 -2
  688. package/dist/src/ssh/keys.js.map +0 -1
  689. package/dist/src/ssh/server/audit.d.ts +0 -2
  690. package/dist/src/ssh/server/audit.d.ts.map +0 -1
  691. package/dist/src/ssh/server/audit.js +0 -2
  692. package/dist/src/ssh/server/audit.js.map +0 -1
  693. package/dist/src/ssh/server/shared.d.ts +0 -2
  694. package/dist/src/ssh/server/shared.d.ts.map +0 -1
  695. package/dist/src/ssh/server/shared.js +0 -2
  696. package/dist/src/ssh/server/shared.js.map +0 -1
  697. package/dist/src/ssh/server.d.ts +0 -2
  698. package/dist/src/ssh/server.d.ts.map +0 -1
  699. package/dist/src/ssh/server.js +0 -2
  700. package/dist/src/ssh/server.js.map +0 -1
  701. package/dist/src/types/common.d.ts +0 -2
  702. package/dist/src/types/common.d.ts.map +0 -1
  703. package/dist/src/types/common.js +0 -2
  704. package/dist/src/types/common.js.map +0 -1
  705. package/dist/src/types/forge.d.ts +0 -2
  706. package/dist/src/types/forge.d.ts.map +0 -1
  707. package/dist/src/types/forge.js +0 -2
  708. package/dist/src/types/forge.js.map +0 -1
  709. package/dist/src/types/host.d.ts +0 -2
  710. package/dist/src/types/host.d.ts.map +0 -1
  711. package/dist/src/types/host.js +0 -2
  712. package/dist/src/types/host.js.map +0 -1
  713. package/dist/src/types/index.d.ts +0 -2
  714. package/dist/src/types/index.d.ts.map +0 -1
  715. package/dist/src/types/index.js +0 -2
  716. package/dist/src/types/index.js.map +0 -1
  717. package/dist/src/types/repository.d.ts +0 -2
  718. package/dist/src/types/repository.d.ts.map +0 -1
  719. package/dist/src/types/repository.js +0 -2
  720. package/dist/src/types/repository.js.map +0 -1
  721. package/dist/src/types/transports.d.ts +0 -2
  722. package/dist/src/types/transports.d.ts.map +0 -1
  723. package/dist/src/types/transports.js +0 -2
  724. package/dist/src/types/transports.js.map +0 -1
  725. package/dist/src/types.d.ts +0 -2
  726. package/dist/src/types.js +0 -2
  727. package/dist/src/types.js.map +0 -1
  728. package/dist/src/utils/paths.d.ts +0 -2
  729. package/dist/src/utils/paths.d.ts.map +0 -1
  730. package/dist/src/utils/paths.js +0 -2
  731. package/dist/src/utils/paths.js.map +0 -1
  732. package/dist/src/utils/text.d.ts +0 -2
  733. package/dist/src/utils/text.d.ts.map +0 -1
  734. package/dist/src/utils/text.js +0 -2
  735. package/dist/src/utils/text.js.map +0 -1
  736. /package/dist/{internal/api → api}/handler/archive.js +0 -0
  737. /package/dist/{internal/api → api}/handler/response.d.ts +0 -0
  738. /package/dist/{internal/api → api}/handler/route.d.ts +0 -0
  739. /package/dist/{internal/api → api}/handler.js +0 -0
  740. /package/dist/{internal/api → api}/routing.d.ts +0 -0
  741. /package/dist/{internal/api → api}/socket/events.d.ts +0 -0
  742. /package/dist/{internal/api → api}/socket/events.js +0 -0
  743. /package/dist/{internal/backend → backend}/utils/normalize.d.ts +0 -0
  744. /package/dist/{internal/backend → backend}/utils/normalize.js +0 -0
  745. /package/dist/{internal/backend → backend}/utils/object.d.ts +0 -0
  746. /package/dist/{internal/backend → backend}/utils/object.js +0 -0
  747. /package/dist/{internal/backend → backend}/utils/time.d.ts +0 -0
  748. /package/dist/{internal/backend → backend}/utils/time.js +0 -0
  749. /package/dist/{internal/constants.d.ts → constants.d.ts} +0 -0
  750. /package/dist/{internal/constants.js → constants.js} +0 -0
  751. /package/dist/{internal/core → core}/archive_cache_filesystem.js +0 -0
  752. /package/dist/{internal/core → core}/locks.d.ts +0 -0
  753. /package/dist/{internal/core → core}/locks.js +0 -0
  754. /package/dist/{internal/core → core}/operation_state.js +0 -0
  755. /package/dist/{internal/core → core}/working_tree.d.ts +0 -0
  756. /package/dist/{internal/core → core}/working_tree.js +0 -0
  757. /package/dist/{internal/errors.d.ts → errors.d.ts} +0 -0
  758. /package/dist/{internal/errors.js → errors.js} +0 -0
  759. /package/dist/{internal/frontend → frontend}/js/utils/text.d.ts +0 -0
  760. /package/dist/{internal/frontend → frontend}/js/utils/text.js +0 -0
  761. /package/dist/{internal/index.d.ts → index.d.ts} +0 -0
  762. /package/dist/{internal/index.js → index.js} +0 -0
  763. /package/dist/{internal/logging.d.ts → logging.d.ts} +0 -0
  764. /package/dist/{internal/logging.js → logging.js} +0 -0
  765. /package/dist/{internal/ssh → ssh}/keys.d.ts +0 -0
  766. /package/dist/{internal/ssh → ssh}/server/audit.js +0 -0
  767. /package/dist/{internal/types → types}/common.d.ts +0 -0
  768. /package/dist/{internal/types → types}/common.js +0 -0
  769. /package/dist/{internal/types → types}/forge.js +0 -0
  770. /package/dist/{internal/types → types}/host/archive.d.ts +0 -0
  771. /package/dist/{internal/types → types}/host/archive.js +0 -0
  772. /package/dist/{internal/types → types}/host/options.d.ts +0 -0
  773. /package/dist/{internal/types → types}/host/options.js +0 -0
  774. /package/dist/{internal/types → types}/host/service.d.ts +0 -0
  775. /package/dist/{internal/types → types}/host/service.js +0 -0
  776. /package/dist/{internal/types → types}/host.d.ts +0 -0
  777. /package/dist/{internal/types → types}/host.js +0 -0
  778. /package/dist/{internal/types → types}/index.d.ts +0 -0
  779. /package/dist/{internal/types → types}/index.js +0 -0
  780. /package/dist/{internal/types → types}/repository/archive.d.ts +0 -0
  781. /package/dist/{internal/types → types}/repository/archive.js +0 -0
  782. /package/dist/{internal/types → types}/repository/core.d.ts +0 -0
  783. /package/dist/{internal/types → types}/repository/core.js +0 -0
  784. /package/dist/{internal/types → types}/repository/inspection.d.ts +0 -0
  785. /package/dist/{internal/types → types}/repository/inspection.js +0 -0
  786. /package/dist/{internal/types → types}/repository.d.ts +0 -0
  787. /package/dist/{internal/types → types}/repository.js +0 -0
  788. /package/dist/{internal/types → types}/transports.d.ts +0 -0
  789. /package/dist/{internal/types → types}/transports.js +0 -0
  790. /package/dist/{internal/types.d.ts → types.d.ts} +0 -0
  791. /package/dist/{internal/react/client/types.js → types.js} +0 -0
  792. /package/dist/{internal/utils → utils}/paths.d.ts +0 -0
  793. /package/dist/{internal/utils → utils}/text.d.ts +0 -0
  794. /package/dist/{internal/utils → utils}/text.js +0 -0
@@ -1,48 +1,16 @@
1
1
  import { randomUUID } from "node:crypto";
2
- import { spawn } from "node:child_process";
3
- import fs from "node:fs";
4
- import os from "node:os";
5
- import path from "node:path";
6
- import { GitHostError } from "#8974ac53d713";
7
- import { text } from "#sy81xkgkmoa0";
2
+ import { GitHostError } from "../errors.js";
3
+ import { text } from "../utils/text.js";
4
+ import { executeActionsRunner, resolveActionsWorkspaceRoot } from "./actions_runner.js";
5
+ import { listRepositoryWorkflows, readRepositoryWorkflow, resolveRepositoryWorkflowRoot } from "./actions_workflows.js";
8
6
  import { runGit } from "./run_git.js";
9
7
  const ACTIVITY_LISTENER_SYMBOL = Symbol.for("@trebired/git-host/actions-activity-listeners");
10
8
  const ACTIVITY_WRAPPED_SYMBOL = Symbol.for("@trebired/git-host/actions-activity-wrapped");
11
- const OUTPUT_PREVIEW_LIMIT = 4000;
12
9
  const DEFAULT_HEARTBEAT_INTERVAL_MS = 1000;
13
10
  const TERMINAL_RUN_STATUSES = new Set(["cancelled", "failed", "skipped", "success"]);
14
11
  function nowIso() {
15
12
  return new Date().toISOString();
16
13
  }
17
- function slugify(value) {
18
- const next = text(value)
19
- .toLowerCase()
20
- .replace(/[^a-z0-9]+/g, "-")
21
- .replace(/^-+|-+$/g, "");
22
- return next || "workflow";
23
- }
24
- function normalizeEnv(value) {
25
- if (!value || typeof value !== "object")
26
- return undefined;
27
- const next = Object.fromEntries(Object.entries(value)
28
- .map(([key, entry]) => [text(key), text(entry)])
29
- .filter(([key, entry]) => key && entry));
30
- return Object.keys(next).length ? next : undefined;
31
- }
32
- function normalizeSteps(steps) {
33
- return (Array.isArray(steps) ? steps : []).map((step) => ({
34
- env: normalizeEnv(step.env),
35
- id: text(step.id, randomUUID()),
36
- kind: "shell",
37
- name: text(step.name, "Step"),
38
- run: text(step.run),
39
- shell: text(step.shell),
40
- })).filter((step) => step.run);
41
- }
42
- function appendOutputPreview(current, chunk) {
43
- const next = `${current}${chunk}`;
44
- return next.length <= OUTPUT_PREVIEW_LIMIT ? next : next.slice(-OUTPUT_PREVIEW_LIMIT);
45
- }
46
14
  function toDateSortValue(value) {
47
15
  return text(value);
48
16
  }
@@ -71,10 +39,10 @@ function ensureActionsStorage(storage) {
71
39
  function normalizeRunner(options) {
72
40
  const runner = options?.runner || {};
73
41
  return {
74
- capabilities: Array.isArray(runner.capabilities) ? runner.capabilities.map((entry) => text(entry)).filter(Boolean) : ["shell", "snapshot", "streaming-logs"],
75
- host: text(runner.host, os.hostname()),
76
- id: text(runner.id, `local-${os.hostname()}`),
77
- kind: text(runner.kind, "local-host"),
42
+ capabilities: Array.isArray(runner.capabilities) ? runner.capabilities.map((entry) => text(entry)).filter(Boolean) : ["go-runner", "shell", "snapshot", "streaming-logs"],
43
+ host: text(runner.host, "local-host"),
44
+ id: text(runner.id, "go-runner"),
45
+ kind: text(runner.kind, "go-runner"),
78
46
  platform_version: text(runner.platform_version, "@trebired/git-host"),
79
47
  };
80
48
  }
@@ -145,39 +113,6 @@ function createGitForgeActionsRuntime(options) {
145
113
  repositoryPath,
146
114
  };
147
115
  }
148
- async function materializeRunWorkspace(run) {
149
- const repositoryPath = await readRepositoryPath(run.repository_id);
150
- const root = path.join(text(options.actions?.workspaceRoot, path.join(os.tmpdir(), "@trebired-git-host-actions")), text(run.repository_id), run.id);
151
- const workspacePath = path.join(root, "workspace");
152
- fs.rmSync(root, { force: true, recursive: true });
153
- fs.mkdirSync(root, { recursive: true });
154
- const cloneRes = await runGit(["clone", "--no-checkout", repositoryPath, workspacePath], { cwd: root });
155
- if (!cloneRes.ok) {
156
- throw new GitHostError("git_command_failed", text(cloneRes.stderr, "Failed to materialize workflow workspace."), {
157
- repositoryId: run.repository_id,
158
- runId: run.id,
159
- });
160
- }
161
- const checkoutRes = await runGit(["checkout", "--detach", run.commit_hash], { cwd: workspacePath });
162
- if (!checkoutRes.ok) {
163
- throw new GitHostError("git_command_failed", text(checkoutRes.stderr, "Failed to check out workflow commit."), {
164
- commitHash: run.commit_hash,
165
- repositoryId: run.repository_id,
166
- runId: run.id,
167
- });
168
- }
169
- return workspacePath;
170
- }
171
- async function readRequiredWorkflow(repositoryId, workflowId) {
172
- const workflow = await storage.readWorkflow(repositoryId, workflowId);
173
- if (!workflow) {
174
- throw new GitHostError("forge_resource_not_found", `Workflow "${workflowId}" was not found.`, {
175
- repositoryId,
176
- workflowId,
177
- });
178
- }
179
- return workflow;
180
- }
181
116
  async function readRequiredRun(repositoryId, runId) {
182
117
  const run = await storage.readWorkflowRun(repositoryId, runId);
183
118
  if (!run) {
@@ -240,125 +175,165 @@ function createGitForgeActionsRuntime(options) {
240
175
  });
241
176
  return finished;
242
177
  }
243
- async function runShellStep(run, workflow, step, workspacePath) {
244
- const active = activeRuns.get(run.id);
245
- if (!active) {
246
- throw new GitHostError("git_command_failed", "Workflow run is not active.", {
247
- runId: run.id,
248
- });
249
- }
250
- const startedStep = await updateRunStep(run.id, step.id, {
251
- started_at: nowIso(),
252
- status: "running",
178
+ async function readWorkflowAtRef(repositoryId, repositoryPath, ref, workflowId) {
179
+ const workflowRoot = await resolveRepositoryWorkflowRoot(options.actions, repositoryId);
180
+ return await readRepositoryWorkflow({
181
+ ref,
182
+ repositoryId,
183
+ repositoryPath,
184
+ workflowId,
185
+ workflowRoot,
253
186
  });
254
- const updatedRun = await updateRun(run.repository_id, run.id, {
255
- current_step: startedStep.name,
256
- current_step_index: startedStep.index,
257
- status: "running",
258
- summary: `Running ${startedStep.name}.`,
187
+ }
188
+ async function queueWorkflowRun(repositoryId, workflow, input) {
189
+ const target = await resolveRunTarget(repositoryId, input);
190
+ const createdAt = nowIso();
191
+ const createdBy = text(input.actor.id, text(input.actor.name, "system"));
192
+ const run = await storage.createWorkflowRun({
193
+ branch: target.branch,
194
+ commit_hash: target.commitHash,
195
+ created_at: createdAt,
196
+ created_by: createdBy,
197
+ current_step: null,
198
+ current_step_index: null,
199
+ finished_at: null,
200
+ id: randomUUID(),
201
+ ref: target.ref,
202
+ release_id: input.releaseId == null ? null : text(input.releaseId),
203
+ repository_id: repositoryId,
204
+ runner: null,
205
+ started_at: null,
206
+ status: "queued",
207
+ summary: "Workflow run queued.",
208
+ trigger_context: {
209
+ ...(input.triggerContext || {}),
210
+ workflow_definition_path: workflow.definition_path,
211
+ },
212
+ trigger_kind: input.triggerKind,
213
+ workflow_id: workflow.id,
259
214
  });
260
- await emitRunEvent(updatedRun, {
261
- command: startedStep.command,
262
- status: "running",
263
- step_id: startedStep.id,
264
- step_index: startedStep.index,
265
- step_name: startedStep.name,
266
- type: "step.started",
215
+ await Promise.all(workflow.steps.map(async (step, index) => {
216
+ await storage.createWorkflowRunStep({
217
+ command: step.run,
218
+ exit_code: null,
219
+ finished_at: null,
220
+ id: randomUUID(),
221
+ index,
222
+ kind: "shell",
223
+ metadata: step.env ? { env: step.env, shell: text(step.shell) } : (text(step.shell) ? { shell: text(step.shell) } : undefined),
224
+ name: text(step.name, `Step ${index + 1}`),
225
+ output_preview: "",
226
+ run_id: run.id,
227
+ started_at: null,
228
+ status: "queued",
229
+ });
230
+ }));
231
+ await emitRunEvent(run, {
232
+ metadata: {
233
+ branch: run.branch,
234
+ definition_path: workflow.definition_path,
235
+ ref: run.ref,
236
+ },
237
+ status: "queued",
238
+ summary: run.summary,
239
+ type: "run.accepted",
267
240
  });
268
- let outputPreview = startedStep.output_preview;
269
- const shell = text(workflow.steps[startedStep.index]?.shell, text(options.actions?.shell, "bash"));
270
- const env = {
271
- ...process.env,
272
- ...(options.actions?.env || {}),
273
- ...(workflow.env || {}),
274
- ...(workflow.source?.env || {}),
275
- ...(workflow.steps[startedStep.index]?.env || {}),
276
- GIT_HOST_ACTIONS_REPOSITORY_ID: run.repository_id,
277
- GIT_HOST_ACTIONS_RUN_ID: run.id,
278
- GIT_HOST_ACTIONS_TRIGGER: text(run.trigger_kind),
279
- GIT_HOST_ACTIONS_WORKFLOW_ID: workflow.id,
280
- GIT_HOST_ACTIONS_COMMIT: run.commit_hash,
281
- GIT_HOST_ACTIONS_REF: run.ref,
282
- GIT_HOST_ACTIONS_BRANCH: text(run.branch),
283
- GIT_HOST_ACTIONS_RELEASE_ID: text(run.release_id),
284
- };
285
- const child = spawn(shell, ["-lc", startedStep.command], {
286
- cwd: workspacePath,
287
- env,
288
- stdio: ["ignore", "pipe", "pipe"],
241
+ queuedRuns.push({
242
+ repositoryId,
243
+ runId: run.id,
289
244
  });
290
- active.child = child;
291
- active.heartbeat = setInterval(() => {
292
- void emitRunEvent(updatedRun, {
245
+ scheduleQueueProcessing();
246
+ return run;
247
+ }
248
+ async function handleRunnerEvent(run, stepsById, event) {
249
+ if (event.type === "run.status") {
250
+ const updatedRun = await updateRun(run.repository_id, run.id, {
251
+ status: event.status,
252
+ summary: text(event.summary, run.summary),
253
+ });
254
+ await emitRunEvent(updatedRun, {
255
+ status: updatedRun.status,
256
+ summary: updatedRun.summary,
257
+ type: "run.status",
258
+ });
259
+ return updatedRun;
260
+ }
261
+ const step = event.step_id ? stepsById.get(event.step_id) : undefined;
262
+ if (!step)
263
+ return run;
264
+ if (event.type === "step.started") {
265
+ const startedStep = await updateRunStep(run.id, step.id, {
266
+ started_at: nowIso(),
267
+ status: "running",
268
+ });
269
+ stepsById.set(step.id, startedStep);
270
+ const updatedRun = await updateRun(run.repository_id, run.id, {
271
+ current_step: startedStep.name,
272
+ current_step_index: startedStep.index,
273
+ status: "running",
274
+ summary: `Running ${startedStep.name}.`,
275
+ });
276
+ await emitRunEvent(updatedRun, {
277
+ command: text(event.command, startedStep.command),
293
278
  status: "running",
294
279
  step_id: startedStep.id,
295
280
  step_index: startedStep.index,
296
281
  step_name: startedStep.name,
297
- type: "step.heartbeat",
282
+ type: "step.started",
298
283
  });
299
- }, Math.max(250, Number(options.actions?.heartbeatIntervalMs) || DEFAULT_HEARTBEAT_INTERVAL_MS));
300
- async function handleChunk(stream, chunk) {
301
- let textChunk = typeof chunk === "string" ? chunk : chunk.toString("utf8");
302
- if (options.actions?.redactOutput) {
303
- textChunk = await options.actions.redactOutput({
304
- chunk: textChunk,
305
- run: updatedRun,
306
- step: startedStep,
307
- stream,
284
+ return updatedRun;
285
+ }
286
+ if (event.type === "step.output") {
287
+ let chunk = text(event.chunk);
288
+ if (chunk && options.actions?.redactOutput) {
289
+ chunk = await options.actions.redactOutput({
290
+ chunk,
291
+ run,
292
+ step,
293
+ stream: event.stream || "stdout",
308
294
  });
309
295
  }
310
- outputPreview = appendOutputPreview(outputPreview, textChunk);
311
- await emitRunEvent(updatedRun, {
312
- chunk: textChunk,
296
+ await emitRunEvent(run, {
297
+ chunk,
313
298
  status: "running",
314
- step_id: startedStep.id,
315
- step_index: startedStep.index,
316
- step_name: startedStep.name,
317
- stream,
299
+ step_id: step.id,
300
+ step_index: step.index,
301
+ step_name: step.name,
302
+ stream: event.stream || "stdout",
318
303
  type: "step.output",
319
304
  });
305
+ return run;
320
306
  }
321
- const exitCode = await new Promise((resolve, reject) => {
322
- child.stdout.on("data", (chunk) => {
323
- void handleChunk("stdout", chunk);
324
- });
325
- child.stderr.on("data", (chunk) => {
326
- void handleChunk("stderr", chunk);
307
+ if (event.type === "step.heartbeat") {
308
+ await emitRunEvent(run, {
309
+ status: "running",
310
+ step_id: step.id,
311
+ step_index: step.index,
312
+ step_name: step.name,
313
+ type: "step.heartbeat",
327
314
  });
328
- child.on("error", reject);
329
- child.on("close", (code) => resolve(Number(code) || 0));
330
- });
331
- if (active.heartbeat)
332
- clearInterval(active.heartbeat);
333
- active.child = undefined;
334
- active.heartbeat = undefined;
335
- const cancelled = active.cancelRequested === true;
336
- const finalStatus = cancelled
337
- ? "cancelled"
338
- : (exitCode === 0 ? "success" : "failed");
339
- const finishedStep = await updateRunStep(run.id, startedStep.id, {
340
- exit_code: exitCode,
315
+ return run;
316
+ }
317
+ const finishedStep = await updateRunStep(run.id, step.id, {
318
+ exit_code: typeof event.exit_code === "number" ? event.exit_code : step.exit_code,
341
319
  finished_at: nowIso(),
342
- output_preview: outputPreview,
343
- status: finalStatus,
320
+ output_preview: text(event.output_preview, step.output_preview),
321
+ status: event.status || step.status,
344
322
  });
345
- await emitRunEvent(updatedRun, {
323
+ stepsById.set(step.id, finishedStep);
324
+ await emitRunEvent(run, {
346
325
  command: finishedStep.command,
347
326
  metadata: {
348
- exit_code: exitCode,
327
+ exit_code: finishedStep.exit_code,
349
328
  },
350
- status: finalStatus,
329
+ status: finishedStep.status,
351
330
  step_id: finishedStep.id,
352
331
  step_index: finishedStep.index,
353
332
  step_name: finishedStep.name,
354
- summary: finalStatus === "success" ? `${finishedStep.name} completed.` : `${finishedStep.name} ${cancelled ? "cancelled" : "failed"}.`,
333
+ summary: text(event.summary),
355
334
  type: "step.finished",
356
335
  });
357
- return {
358
- cancelled,
359
- exitCode,
360
- status: finalStatus,
361
- };
336
+ return run;
362
337
  }
363
338
  async function executeRun(repositoryId, runId) {
364
339
  let run = await readRequiredRun(repositoryId, runId);
@@ -378,59 +353,64 @@ function createGitForgeActionsRuntime(options) {
378
353
  summary: run.summary,
379
354
  type: "run.status",
380
355
  });
381
- const workflow = await readRequiredWorkflow(repositoryId, run.workflow_id);
356
+ const repositoryPath = await readRepositoryPath(repositoryId);
382
357
  const steps = await storage.listWorkflowRunSteps(run.id);
358
+ const stepsById = new Map(steps.map((step) => [step.id, step]));
383
359
  const activeState = {
384
360
  cancelRequested: false,
385
361
  };
386
362
  activeRuns.set(run.id, activeState);
387
363
  try {
388
- activeState.workspacePath = await materializeRunWorkspace(run);
389
- run = await updateRun(repositoryId, run.id, {
390
- status: "running",
391
- summary: "Workflow run started.",
392
- });
393
- await emitRunEvent(run, {
394
- status: "running",
395
- summary: run.summary,
396
- type: "run.status",
364
+ const execution = executeActionsRunner({
365
+ actions: options.actions,
366
+ heartbeatIntervalMs: Math.max(250, Number(options.actions?.heartbeatIntervalMs) || DEFAULT_HEARTBEAT_INTERVAL_MS),
367
+ onEvent: async (event) => {
368
+ run = await handleRunnerEvent(run, stepsById, event);
369
+ },
370
+ repositoryPath,
371
+ run,
372
+ steps,
373
+ workspaceRoot: resolveActionsWorkspaceRoot(options.actions, run.repository_id, run.id),
397
374
  });
398
- for (const step of steps.sort((left, right) => left.index - right.index)) {
399
- if (activeState.cancelRequested) {
400
- await markQueuedSteps(run.id, step.index - 1, "cancelled");
401
- return await finalizeRun(run, {
402
- eventType: "run.cancelled",
403
- status: "cancelled",
404
- summary: "Workflow run cancelled.",
405
- });
406
- }
407
- const result = await runShellStep(run, workflow, step, activeState.workspacePath);
408
- if (result.cancelled) {
409
- await markQueuedSteps(run.id, step.index, "cancelled");
410
- return await finalizeRun(run, {
411
- eventType: "run.cancelled",
412
- status: "cancelled",
413
- summary: "Workflow run cancelled.",
414
- });
415
- }
416
- if (result.exitCode !== 0) {
417
- await markQueuedSteps(run.id, step.index, "skipped");
418
- return await finalizeRun(run, {
419
- eventType: "run.failed",
420
- status: "failed",
421
- summary: `Workflow run failed in step ${step.name}.`,
422
- });
423
- }
375
+ activeState.child = execution.child;
376
+ const result = await execution.completed;
377
+ const persistedSteps = await storage.listWorkflowRunSteps(run.id);
378
+ const failedStep = persistedSteps.find((step) => step.status === "failed");
379
+ if (activeState.cancelRequested || result.cancelled) {
380
+ await markQueuedSteps(run.id, result.lastStepIndex, "cancelled");
381
+ return await finalizeRun(run, {
382
+ currentStep: null,
383
+ currentStepIndex: null,
384
+ eventType: "run.cancelled",
385
+ status: "cancelled",
386
+ summary: "Workflow run cancelled.",
387
+ });
388
+ }
389
+ if (failedStep || result.exitCode !== 0) {
390
+ await markQueuedSteps(run.id, failedStep ? failedStep.index : result.lastStepIndex, "skipped");
391
+ return await finalizeRun(run, {
392
+ currentStep: null,
393
+ currentStepIndex: null,
394
+ eventType: "run.failed",
395
+ status: "failed",
396
+ summary: failedStep
397
+ ? `Workflow run failed in step ${failedStep.name}.`
398
+ : `Workflow run failed in step ${text(result.lastStepName, "unknown")}.`,
399
+ });
424
400
  }
425
401
  return await finalizeRun(run, {
402
+ currentStep: null,
403
+ currentStepIndex: null,
426
404
  eventType: "run.finished",
427
405
  status: "success",
428
406
  summary: "Workflow run completed successfully.",
429
407
  });
430
408
  }
431
409
  catch (error) {
432
- await markQueuedSteps(run.id, -1, "skipped");
410
+ await markQueuedSteps(run.id, -1, activeState.cancelRequested ? "cancelled" : "skipped");
433
411
  return await finalizeRun(run, {
412
+ currentStep: null,
413
+ currentStepIndex: null,
434
414
  eventType: activeState.cancelRequested ? "run.cancelled" : "run.failed",
435
415
  status: activeState.cancelRequested ? "cancelled" : "failed",
436
416
  summary: activeState.cancelRequested
@@ -439,8 +419,6 @@ function createGitForgeActionsRuntime(options) {
439
419
  });
440
420
  }
441
421
  finally {
442
- if (activeState.heartbeat)
443
- clearInterval(activeState.heartbeat);
444
422
  if (activeState.child && !activeState.child.killed) {
445
423
  try {
446
424
  activeState.child.kill("SIGKILL");
@@ -469,66 +447,22 @@ function createGitForgeActionsRuntime(options) {
469
447
  processing = false;
470
448
  }
471
449
  }
472
- async function queueWorkflowRun(repositoryId, workflow, input) {
473
- const target = await resolveRunTarget(repositoryId, input);
474
- const createdAt = nowIso();
475
- const createdBy = text(input.actor.id, text(input.actor.name, "system"));
476
- const run = await storage.createWorkflowRun({
477
- branch: target.branch,
478
- commit_hash: target.commitHash,
479
- created_at: createdAt,
480
- created_by: createdBy,
481
- current_step: null,
482
- current_step_index: null,
483
- finished_at: null,
484
- id: randomUUID(),
485
- ref: target.ref,
486
- release_id: input.releaseId == null ? null : text(input.releaseId),
487
- repository_id: repositoryId,
488
- runner: null,
489
- started_at: null,
490
- status: "queued",
491
- summary: "Workflow run queued.",
492
- trigger_context: input.triggerContext,
493
- trigger_kind: input.triggerKind,
494
- workflow_id: workflow.id,
450
+ async function enqueueWorkflowsForTrigger(repositoryId, triggerKind, actor, context) {
451
+ const target = await resolveRunTarget(repositoryId, {
452
+ branch: text(context.branch),
453
+ commitHash: text(context.commit_hash, text(context.head_commit)),
454
+ ref: text(context.ref, text(context.tag_name, text(context.branch, "HEAD"))),
495
455
  });
496
- await Promise.all(workflow.steps.map(async (step, index) => {
497
- await storage.createWorkflowRunStep({
498
- command: step.run,
499
- exit_code: null,
500
- finished_at: null,
501
- id: randomUUID(),
502
- index,
503
- kind: "shell",
504
- metadata: step.env ? { env: step.env, shell: text(step.shell) } : (text(step.shell) ? { shell: text(step.shell) } : undefined),
505
- name: text(step.name, `Step ${index + 1}`),
506
- output_preview: "",
507
- run_id: run.id,
508
- started_at: null,
509
- status: "queued",
510
- });
511
- }));
512
- await emitRunEvent(run, {
513
- metadata: {
514
- branch: run.branch,
515
- ref: run.ref,
456
+ const workflowRoot = await resolveRepositoryWorkflowRoot(options.actions, repositoryId);
457
+ const workflows = await listRepositoryWorkflows({
458
+ filters: {
459
+ enabled: true,
460
+ trigger: triggerKind,
516
461
  },
517
- status: "queued",
518
- summary: run.summary,
519
- type: "run.accepted",
520
- });
521
- queuedRuns.push({
462
+ ref: target.ref,
522
463
  repositoryId,
523
- runId: run.id,
524
- });
525
- scheduleQueueProcessing();
526
- return run;
527
- }
528
- async function enqueueWorkflowsForTrigger(repositoryId, triggerKind, actor, context) {
529
- const workflows = await storage.listWorkflows(repositoryId, {
530
- enabled: true,
531
- trigger: triggerKind,
464
+ repositoryPath: target.repositoryPath,
465
+ workflowRoot,
532
466
  });
533
467
  const createdRuns = [];
534
468
  for (const workflow of workflows) {
@@ -536,9 +470,9 @@ function createGitForgeActionsRuntime(options) {
536
470
  continue;
537
471
  createdRuns.push(await queueWorkflowRun(repositoryId, workflow, {
538
472
  actor,
539
- branch: text(context.branch),
540
- commitHash: text(context.commit_hash, text(context.head_commit)),
541
- ref: text(context.ref, text(context.tag_name, text(context.branch, "HEAD"))),
473
+ branch: target.branch || undefined,
474
+ commitHash: target.commitHash,
475
+ ref: target.ref,
542
476
  releaseId: text(context.release_id) || null,
543
477
  triggerContext: context,
544
478
  triggerKind,
@@ -600,66 +534,28 @@ function createGitForgeActionsRuntime(options) {
600
534
  }
601
535
  return {
602
536
  bindActivityStorage,
603
- async createWorkflow(repositoryId, input) {
604
- const workflow = await storage.createWorkflow({
605
- created_at: nowIso(),
606
- created_by: text(input.actor.id),
607
- enabled: input.enabled !== false,
608
- env: normalizeEnv(input.env),
609
- id: randomUUID(),
610
- name: text(input.name),
611
- repository_id: repositoryId,
612
- slug: text(input.slug, slugify(input.name)),
613
- source: input.source ? {
614
- branches: Array.isArray(input.source.branches) ? input.source.branches.map((entry) => text(entry)).filter(Boolean) : undefined,
615
- env: normalizeEnv(input.source.env),
616
- tags: Array.isArray(input.source.tags) ? input.source.tags.map((entry) => text(entry)).filter(Boolean) : undefined,
617
- } : undefined,
618
- steps: normalizeSteps(input.steps),
619
- trigger: text(input.trigger),
620
- updated_at: nowIso(),
621
- updated_by: text(input.actor.id),
622
- });
623
- return workflow;
624
- },
625
- async updateWorkflow(repositoryId, workflowId, input) {
626
- const current = await readRequiredWorkflow(repositoryId, workflowId);
627
- const updated = await storage.updateWorkflow(repositoryId, workflowId, {
628
- ...(input.enabled != null ? { enabled: input.enabled === true } : {}),
629
- ...(input.env !== undefined ? { env: normalizeEnv(input.env) } : {}),
630
- ...(input.name !== undefined ? { name: text(input.name) } : {}),
631
- ...(input.slug !== undefined ? { slug: text(input.slug, current.slug) } : {}),
632
- ...(input.source !== undefined ? {
633
- source: {
634
- branches: Array.isArray(input.source?.branches) ? input.source?.branches.map((entry) => text(entry)).filter(Boolean) : undefined,
635
- env: normalizeEnv(input.source?.env),
636
- tags: Array.isArray(input.source?.tags) ? input.source?.tags.map((entry) => text(entry)).filter(Boolean) : undefined,
637
- },
638
- } : {}),
639
- ...(input.steps !== undefined ? { steps: normalizeSteps(input.steps) } : {}),
640
- ...(input.trigger !== undefined ? { trigger: text(input.trigger) } : {}),
641
- updated_at: nowIso(),
642
- updated_by: text(input.actor.id),
643
- });
644
- if (!updated) {
645
- throw new GitHostError("forge_resource_not_found", `Workflow "${workflowId}" was not found.`, {
646
- repositoryId,
647
- workflowId,
648
- });
649
- }
650
- return updated;
651
- },
652
537
  async listWorkflows(repositoryId, filters) {
653
- const entries = await storage.listWorkflows(repositoryId, filters);
654
- return Array.from(entries).sort((left, right) => text(left.name).localeCompare(text(right.name)) || text(left.slug).localeCompare(text(right.slug)));
538
+ const repositoryPath = await readRepositoryPath(repositoryId);
539
+ const workflowRoot = await resolveRepositoryWorkflowRoot(options.actions, repositoryId);
540
+ return await listRepositoryWorkflows({
541
+ filters,
542
+ repositoryId,
543
+ repositoryPath,
544
+ workflowRoot,
545
+ });
655
546
  },
656
547
  async readWorkflow(repositoryId, workflowId) {
657
- return await readRequiredWorkflow(repositoryId, workflowId);
548
+ const repositoryPath = await readRepositoryPath(repositoryId);
549
+ return await readWorkflowAtRef(repositoryId, repositoryPath, undefined, workflowId);
658
550
  },
659
551
  async runWorkflow(repositoryId, workflowId, input) {
660
- const workflow = await readRequiredWorkflow(repositoryId, workflowId);
552
+ const target = await resolveRunTarget(repositoryId, input);
553
+ const workflow = await readWorkflowAtRef(repositoryId, target.repositoryPath, target.ref, workflowId);
661
554
  return await queueWorkflowRun(repositoryId, workflow, {
662
555
  ...input,
556
+ branch: target.branch || undefined,
557
+ commitHash: target.commitHash,
558
+ ref: target.ref,
663
559
  triggerKind: "manual",
664
560
  });
665
561
  },
@@ -707,8 +603,7 @@ function createGitForgeActionsRuntime(options) {
707
603
  return await storage.listWorkflowRunEvents(runId, filters);
708
604
  },
709
605
  subscribeWorkflowRun(repositoryId, runId, listener) {
710
- const key = `${repositoryId}:${runId}`;
711
- void key;
606
+ void repositoryId;
712
607
  let listeners = runListeners.get(runId);
713
608
  if (!listeners) {
714
609
  listeners = new Set();