@enbox/gitd 0.0.1

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 (502) hide show
  1. package/LICENSE +177 -0
  2. package/README.md +134 -0
  3. package/dist/esm/ci.js +76 -0
  4. package/dist/esm/ci.js.map +1 -0
  5. package/dist/esm/cli/agent.js +86 -0
  6. package/dist/esm/cli/agent.js.map +1 -0
  7. package/dist/esm/cli/commands/ci.js +278 -0
  8. package/dist/esm/cli/commands/ci.js.map +1 -0
  9. package/dist/esm/cli/commands/clone.js +77 -0
  10. package/dist/esm/cli/commands/clone.js.map +1 -0
  11. package/dist/esm/cli/commands/daemon.js +132 -0
  12. package/dist/esm/cli/commands/daemon.js.map +1 -0
  13. package/dist/esm/cli/commands/github-api.js +36 -0
  14. package/dist/esm/cli/commands/github-api.js.map +1 -0
  15. package/dist/esm/cli/commands/init.js +69 -0
  16. package/dist/esm/cli/commands/init.js.map +1 -0
  17. package/dist/esm/cli/commands/issue.js +293 -0
  18. package/dist/esm/cli/commands/issue.js.map +1 -0
  19. package/dist/esm/cli/commands/log.js +90 -0
  20. package/dist/esm/cli/commands/log.js.map +1 -0
  21. package/dist/esm/cli/commands/migrate.js +444 -0
  22. package/dist/esm/cli/commands/migrate.js.map +1 -0
  23. package/dist/esm/cli/commands/notification.js +141 -0
  24. package/dist/esm/cli/commands/notification.js.map +1 -0
  25. package/dist/esm/cli/commands/org.js +353 -0
  26. package/dist/esm/cli/commands/org.js.map +1 -0
  27. package/dist/esm/cli/commands/patch.js +375 -0
  28. package/dist/esm/cli/commands/patch.js.map +1 -0
  29. package/dist/esm/cli/commands/registry.js +501 -0
  30. package/dist/esm/cli/commands/registry.js.map +1 -0
  31. package/dist/esm/cli/commands/release.js +197 -0
  32. package/dist/esm/cli/commands/release.js.map +1 -0
  33. package/dist/esm/cli/commands/repo.js +148 -0
  34. package/dist/esm/cli/commands/repo.js.map +1 -0
  35. package/dist/esm/cli/commands/serve.js +148 -0
  36. package/dist/esm/cli/commands/serve.js.map +1 -0
  37. package/dist/esm/cli/commands/setup.js +92 -0
  38. package/dist/esm/cli/commands/setup.js.map +1 -0
  39. package/dist/esm/cli/commands/shim.js +75 -0
  40. package/dist/esm/cli/commands/shim.js.map +1 -0
  41. package/dist/esm/cli/commands/social.js +206 -0
  42. package/dist/esm/cli/commands/social.js.map +1 -0
  43. package/dist/esm/cli/commands/web.js +36 -0
  44. package/dist/esm/cli/commands/web.js.map +1 -0
  45. package/dist/esm/cli/commands/wiki.js +185 -0
  46. package/dist/esm/cli/commands/wiki.js.map +1 -0
  47. package/dist/esm/cli/flags.js +29 -0
  48. package/dist/esm/cli/flags.js.map +1 -0
  49. package/dist/esm/cli/main.js +331 -0
  50. package/dist/esm/cli/main.js.map +1 -0
  51. package/dist/esm/cli/repo-context.js +53 -0
  52. package/dist/esm/cli/repo-context.js.map +1 -0
  53. package/dist/esm/daemon/adapter.js +18 -0
  54. package/dist/esm/daemon/adapter.js.map +1 -0
  55. package/dist/esm/daemon/adapters/github.js +112 -0
  56. package/dist/esm/daemon/adapters/github.js.map +1 -0
  57. package/dist/esm/daemon/adapters/go.js +51 -0
  58. package/dist/esm/daemon/adapters/go.js.map +1 -0
  59. package/dist/esm/daemon/adapters/index.js +32 -0
  60. package/dist/esm/daemon/adapters/index.js.map +1 -0
  61. package/dist/esm/daemon/adapters/npm.js +51 -0
  62. package/dist/esm/daemon/adapters/npm.js.map +1 -0
  63. package/dist/esm/daemon/adapters/oci.js +62 -0
  64. package/dist/esm/daemon/adapters/oci.js.map +1 -0
  65. package/dist/esm/daemon/index.js +12 -0
  66. package/dist/esm/daemon/index.js.map +1 -0
  67. package/dist/esm/daemon/server.js +167 -0
  68. package/dist/esm/daemon/server.js.map +1 -0
  69. package/dist/esm/git-remote/credential-helper.js +106 -0
  70. package/dist/esm/git-remote/credential-helper.js.map +1 -0
  71. package/dist/esm/git-remote/credential-main.js +109 -0
  72. package/dist/esm/git-remote/credential-main.js.map +1 -0
  73. package/dist/esm/git-remote/index.js +10 -0
  74. package/dist/esm/git-remote/index.js.map +1 -0
  75. package/dist/esm/git-remote/main.js +78 -0
  76. package/dist/esm/git-remote/main.js.map +1 -0
  77. package/dist/esm/git-remote/parse-url.js +60 -0
  78. package/dist/esm/git-remote/parse-url.js.map +1 -0
  79. package/dist/esm/git-remote/resolve.js +175 -0
  80. package/dist/esm/git-remote/resolve.js.map +1 -0
  81. package/dist/esm/git-remote/service.js +82 -0
  82. package/dist/esm/git-remote/service.js.map +1 -0
  83. package/dist/esm/git-server/auth.js +211 -0
  84. package/dist/esm/git-server/auth.js.map +1 -0
  85. package/dist/esm/git-server/bundle-restore.js +180 -0
  86. package/dist/esm/git-server/bundle-restore.js.map +1 -0
  87. package/dist/esm/git-server/bundle-sync.js +233 -0
  88. package/dist/esm/git-server/bundle-sync.js.map +1 -0
  89. package/dist/esm/git-server/did-service.js +73 -0
  90. package/dist/esm/git-server/did-service.js.map +1 -0
  91. package/dist/esm/git-server/git-backend.js +186 -0
  92. package/dist/esm/git-server/git-backend.js.map +1 -0
  93. package/dist/esm/git-server/http-handler.js +295 -0
  94. package/dist/esm/git-server/http-handler.js.map +1 -0
  95. package/dist/esm/git-server/index.js +16 -0
  96. package/dist/esm/git-server/index.js.map +1 -0
  97. package/dist/esm/git-server/push-authorizer.js +62 -0
  98. package/dist/esm/git-server/push-authorizer.js.map +1 -0
  99. package/dist/esm/git-server/ref-sync.js +132 -0
  100. package/dist/esm/git-server/ref-sync.js.map +1 -0
  101. package/dist/esm/git-server/server.js +185 -0
  102. package/dist/esm/git-server/server.js.map +1 -0
  103. package/dist/esm/git-server/verify.js +109 -0
  104. package/dist/esm/git-server/verify.js.map +1 -0
  105. package/dist/esm/github-shim/helpers.js +273 -0
  106. package/dist/esm/github-shim/helpers.js.map +1 -0
  107. package/dist/esm/github-shim/index.js +13 -0
  108. package/dist/esm/github-shim/index.js.map +1 -0
  109. package/dist/esm/github-shim/issues.js +318 -0
  110. package/dist/esm/github-shim/issues.js.map +1 -0
  111. package/dist/esm/github-shim/pulls.js +423 -0
  112. package/dist/esm/github-shim/pulls.js.map +1 -0
  113. package/dist/esm/github-shim/releases.js +154 -0
  114. package/dist/esm/github-shim/releases.js.map +1 -0
  115. package/dist/esm/github-shim/repos.js +86 -0
  116. package/dist/esm/github-shim/repos.js.map +1 -0
  117. package/dist/esm/github-shim/server.js +351 -0
  118. package/dist/esm/github-shim/server.js.map +1 -0
  119. package/dist/esm/github-shim/users.js +61 -0
  120. package/dist/esm/github-shim/users.js.map +1 -0
  121. package/dist/esm/index.js +26 -0
  122. package/dist/esm/index.js.map +1 -0
  123. package/dist/esm/indexer/api.js +132 -0
  124. package/dist/esm/indexer/api.js.map +1 -0
  125. package/dist/esm/indexer/crawler.js +256 -0
  126. package/dist/esm/indexer/crawler.js.map +1 -0
  127. package/dist/esm/indexer/index.js +9 -0
  128. package/dist/esm/indexer/index.js.map +1 -0
  129. package/dist/esm/indexer/main.js +76 -0
  130. package/dist/esm/indexer/main.js.map +1 -0
  131. package/dist/esm/indexer/store.js +334 -0
  132. package/dist/esm/indexer/store.js.map +1 -0
  133. package/dist/esm/issues.js +133 -0
  134. package/dist/esm/issues.js.map +1 -0
  135. package/dist/esm/notifications.js +47 -0
  136. package/dist/esm/notifications.js.map +1 -0
  137. package/dist/esm/org.js +90 -0
  138. package/dist/esm/org.js.map +1 -0
  139. package/dist/esm/patches.js +136 -0
  140. package/dist/esm/patches.js.map +1 -0
  141. package/dist/esm/refs.js +54 -0
  142. package/dist/esm/refs.js.map +1 -0
  143. package/dist/esm/registry.js +81 -0
  144. package/dist/esm/registry.js.map +1 -0
  145. package/dist/esm/releases.js +78 -0
  146. package/dist/esm/releases.js.map +1 -0
  147. package/dist/esm/repo.js +150 -0
  148. package/dist/esm/repo.js.map +1 -0
  149. package/dist/esm/resolver/index.js +10 -0
  150. package/dist/esm/resolver/index.js.map +1 -0
  151. package/dist/esm/resolver/resolve.js +189 -0
  152. package/dist/esm/resolver/resolve.js.map +1 -0
  153. package/dist/esm/resolver/trust-chain.js +155 -0
  154. package/dist/esm/resolver/trust-chain.js.map +1 -0
  155. package/dist/esm/resolver/verify.js +186 -0
  156. package/dist/esm/resolver/verify.js.map +1 -0
  157. package/dist/esm/shims/go/index.js +9 -0
  158. package/dist/esm/shims/go/index.js.map +1 -0
  159. package/dist/esm/shims/go/proxy.js +275 -0
  160. package/dist/esm/shims/go/proxy.js.map +1 -0
  161. package/dist/esm/shims/go/server.js +70 -0
  162. package/dist/esm/shims/go/server.js.map +1 -0
  163. package/dist/esm/shims/index.js +15 -0
  164. package/dist/esm/shims/index.js.map +1 -0
  165. package/dist/esm/shims/npm/index.js +9 -0
  166. package/dist/esm/shims/npm/index.js.map +1 -0
  167. package/dist/esm/shims/npm/registry.js +234 -0
  168. package/dist/esm/shims/npm/registry.js.map +1 -0
  169. package/dist/esm/shims/npm/server.js +72 -0
  170. package/dist/esm/shims/npm/server.js.map +1 -0
  171. package/dist/esm/shims/oci/index.js +9 -0
  172. package/dist/esm/shims/oci/index.js.map +1 -0
  173. package/dist/esm/shims/oci/registry.js +276 -0
  174. package/dist/esm/shims/oci/registry.js.map +1 -0
  175. package/dist/esm/shims/oci/server.js +82 -0
  176. package/dist/esm/shims/oci/server.js.map +1 -0
  177. package/dist/esm/social.js +70 -0
  178. package/dist/esm/social.js.map +1 -0
  179. package/dist/esm/web/html.js +123 -0
  180. package/dist/esm/web/html.js.map +1 -0
  181. package/dist/esm/web/index.js +7 -0
  182. package/dist/esm/web/index.js.map +1 -0
  183. package/dist/esm/web/routes.js +420 -0
  184. package/dist/esm/web/routes.js.map +1 -0
  185. package/dist/esm/web/server.js +225 -0
  186. package/dist/esm/web/server.js.map +1 -0
  187. package/dist/esm/wiki.js +63 -0
  188. package/dist/esm/wiki.js.map +1 -0
  189. package/dist/types/ci.d.ts +203 -0
  190. package/dist/types/ci.d.ts.map +1 -0
  191. package/dist/types/cli/agent.d.ts +59 -0
  192. package/dist/types/cli/agent.d.ts.map +1 -0
  193. package/dist/types/cli/commands/ci.d.ts +16 -0
  194. package/dist/types/cli/commands/ci.d.ts.map +1 -0
  195. package/dist/types/cli/commands/clone.d.ts +13 -0
  196. package/dist/types/cli/commands/clone.d.ts.map +1 -0
  197. package/dist/types/cli/commands/daemon.d.ts +29 -0
  198. package/dist/types/cli/commands/daemon.d.ts.map +1 -0
  199. package/dist/types/cli/commands/github-api.d.ts +14 -0
  200. package/dist/types/cli/commands/github-api.d.ts.map +1 -0
  201. package/dist/types/cli/commands/init.d.ts +11 -0
  202. package/dist/types/cli/commands/init.d.ts.map +1 -0
  203. package/dist/types/cli/commands/issue.d.ts +16 -0
  204. package/dist/types/cli/commands/issue.d.ts.map +1 -0
  205. package/dist/types/cli/commands/log.d.ts +13 -0
  206. package/dist/types/cli/commands/log.d.ts.map +1 -0
  207. package/dist/types/cli/commands/migrate.d.ts +19 -0
  208. package/dist/types/cli/commands/migrate.d.ts.map +1 -0
  209. package/dist/types/cli/commands/notification.d.ts +16 -0
  210. package/dist/types/cli/commands/notification.d.ts.map +1 -0
  211. package/dist/types/cli/commands/org.d.ts +19 -0
  212. package/dist/types/cli/commands/org.d.ts.map +1 -0
  213. package/dist/types/cli/commands/patch.d.ts +17 -0
  214. package/dist/types/cli/commands/patch.d.ts.map +1 -0
  215. package/dist/types/cli/commands/registry.d.ts +25 -0
  216. package/dist/types/cli/commands/registry.d.ts.map +1 -0
  217. package/dist/types/cli/commands/release.d.ts +13 -0
  218. package/dist/types/cli/commands/release.d.ts.map +1 -0
  219. package/dist/types/cli/commands/repo.d.ts +15 -0
  220. package/dist/types/cli/commands/repo.d.ts.map +1 -0
  221. package/dist/types/cli/commands/serve.d.ts +22 -0
  222. package/dist/types/cli/commands/serve.d.ts.map +1 -0
  223. package/dist/types/cli/commands/setup.d.ts +16 -0
  224. package/dist/types/cli/commands/setup.d.ts.map +1 -0
  225. package/dist/types/cli/commands/shim.d.ts +16 -0
  226. package/dist/types/cli/commands/shim.d.ts.map +1 -0
  227. package/dist/types/cli/commands/social.d.ts +19 -0
  228. package/dist/types/cli/commands/social.d.ts.map +1 -0
  229. package/dist/types/cli/commands/web.d.ts +14 -0
  230. package/dist/types/cli/commands/web.d.ts.map +1 -0
  231. package/dist/types/cli/commands/wiki.d.ts +14 -0
  232. package/dist/types/cli/commands/wiki.d.ts.map +1 -0
  233. package/dist/types/cli/flags.d.ts +16 -0
  234. package/dist/types/cli/flags.d.ts.map +1 -0
  235. package/dist/types/cli/main.d.ts +69 -0
  236. package/dist/types/cli/main.d.ts.map +1 -0
  237. package/dist/types/cli/repo-context.d.ts +30 -0
  238. package/dist/types/cli/repo-context.d.ts.map +1 -0
  239. package/dist/types/daemon/adapter.d.ts +74 -0
  240. package/dist/types/daemon/adapter.d.ts.map +1 -0
  241. package/dist/types/daemon/adapters/github.d.ts +10 -0
  242. package/dist/types/daemon/adapters/github.d.ts.map +1 -0
  243. package/dist/types/daemon/adapters/go.d.ts +10 -0
  244. package/dist/types/daemon/adapters/go.d.ts.map +1 -0
  245. package/dist/types/daemon/adapters/index.d.ts +22 -0
  246. package/dist/types/daemon/adapters/index.d.ts.map +1 -0
  247. package/dist/types/daemon/adapters/npm.d.ts +10 -0
  248. package/dist/types/daemon/adapters/npm.d.ts.map +1 -0
  249. package/dist/types/daemon/adapters/oci.d.ts +10 -0
  250. package/dist/types/daemon/adapters/oci.d.ts.map +1 -0
  251. package/dist/types/daemon/index.d.ts +14 -0
  252. package/dist/types/daemon/index.d.ts.map +1 -0
  253. package/dist/types/daemon/server.d.ts +55 -0
  254. package/dist/types/daemon/server.d.ts.map +1 -0
  255. package/dist/types/git-remote/credential-helper.d.ts +49 -0
  256. package/dist/types/git-remote/credential-helper.d.ts.map +1 -0
  257. package/dist/types/git-remote/credential-main.d.ts +24 -0
  258. package/dist/types/git-remote/credential-main.d.ts.map +1 -0
  259. package/dist/types/git-remote/index.d.ts +10 -0
  260. package/dist/types/git-remote/index.d.ts.map +1 -0
  261. package/dist/types/git-remote/main.d.ts +23 -0
  262. package/dist/types/git-remote/main.d.ts.map +1 -0
  263. package/dist/types/git-remote/parse-url.d.ts +32 -0
  264. package/dist/types/git-remote/parse-url.d.ts.map +1 -0
  265. package/dist/types/git-remote/resolve.d.ts +30 -0
  266. package/dist/types/git-remote/resolve.d.ts.map +1 -0
  267. package/dist/types/git-remote/service.d.ts +75 -0
  268. package/dist/types/git-remote/service.d.ts.map +1 -0
  269. package/dist/types/git-server/auth.d.ts +129 -0
  270. package/dist/types/git-server/auth.d.ts.map +1 -0
  271. package/dist/types/git-server/bundle-restore.d.ts +48 -0
  272. package/dist/types/git-server/bundle-restore.d.ts.map +1 -0
  273. package/dist/types/git-server/bundle-sync.d.ts +90 -0
  274. package/dist/types/git-server/bundle-sync.d.ts.map +1 -0
  275. package/dist/types/git-server/did-service.d.ts +26 -0
  276. package/dist/types/git-server/did-service.d.ts.map +1 -0
  277. package/dist/types/git-server/git-backend.d.ts +84 -0
  278. package/dist/types/git-server/git-backend.d.ts.map +1 -0
  279. package/dist/types/git-server/http-handler.d.ts +73 -0
  280. package/dist/types/git-server/http-handler.d.ts.map +1 -0
  281. package/dist/types/git-server/index.d.ts +16 -0
  282. package/dist/types/git-server/index.d.ts.map +1 -0
  283. package/dist/types/git-server/push-authorizer.d.ts +38 -0
  284. package/dist/types/git-server/push-authorizer.d.ts.map +1 -0
  285. package/dist/types/git-server/ref-sync.d.ts +52 -0
  286. package/dist/types/git-server/ref-sync.d.ts.map +1 -0
  287. package/dist/types/git-server/server.d.ts +70 -0
  288. package/dist/types/git-server/server.d.ts.map +1 -0
  289. package/dist/types/git-server/verify.d.ts +12 -0
  290. package/dist/types/git-server/verify.d.ts.map +1 -0
  291. package/dist/types/github-shim/helpers.d.ts +108 -0
  292. package/dist/types/github-shim/helpers.d.ts.map +1 -0
  293. package/dist/types/github-shim/index.d.ts +15 -0
  294. package/dist/types/github-shim/index.d.ts.map +1 -0
  295. package/dist/types/github-shim/issues.d.ts +24 -0
  296. package/dist/types/github-shim/issues.d.ts.map +1 -0
  297. package/dist/types/github-shim/pulls.d.ts +31 -0
  298. package/dist/types/github-shim/pulls.d.ts.map +1 -0
  299. package/dist/types/github-shim/releases.d.ts +18 -0
  300. package/dist/types/github-shim/releases.d.ts.map +1 -0
  301. package/dist/types/github-shim/repos.d.ts +21 -0
  302. package/dist/types/github-shim/repos.d.ts.map +1 -0
  303. package/dist/types/github-shim/server.d.ts +53 -0
  304. package/dist/types/github-shim/server.d.ts.map +1 -0
  305. package/dist/types/github-shim/users.d.ts +17 -0
  306. package/dist/types/github-shim/users.d.ts.map +1 -0
  307. package/dist/types/index.d.ts +26 -0
  308. package/dist/types/index.d.ts.map +1 -0
  309. package/dist/types/indexer/api.d.ts +32 -0
  310. package/dist/types/indexer/api.d.ts.map +1 -0
  311. package/dist/types/indexer/crawler.d.ts +72 -0
  312. package/dist/types/indexer/crawler.d.ts.map +1 -0
  313. package/dist/types/indexer/index.d.ts +12 -0
  314. package/dist/types/indexer/index.d.ts.map +1 -0
  315. package/dist/types/indexer/main.d.ts +21 -0
  316. package/dist/types/indexer/main.d.ts.map +1 -0
  317. package/dist/types/indexer/store.d.ts +168 -0
  318. package/dist/types/indexer/store.d.ts.map +1 -0
  319. package/dist/types/issues.d.ts +395 -0
  320. package/dist/types/issues.d.ts.map +1 -0
  321. package/dist/types/notifications.d.ts +93 -0
  322. package/dist/types/notifications.d.ts.map +1 -0
  323. package/dist/types/org.d.ts +232 -0
  324. package/dist/types/org.d.ts.map +1 -0
  325. package/dist/types/patches.d.ts +410 -0
  326. package/dist/types/patches.d.ts.map +1 -0
  327. package/dist/types/refs.d.ts +114 -0
  328. package/dist/types/refs.d.ts.map +1 -0
  329. package/dist/types/registry.d.ts +212 -0
  330. package/dist/types/registry.d.ts.map +1 -0
  331. package/dist/types/releases.d.ts +204 -0
  332. package/dist/types/releases.d.ts.map +1 -0
  333. package/dist/types/repo.d.ts +450 -0
  334. package/dist/types/repo.d.ts.map +1 -0
  335. package/dist/types/resolver/index.d.ts +13 -0
  336. package/dist/types/resolver/index.d.ts.map +1 -0
  337. package/dist/types/resolver/resolve.d.ts +80 -0
  338. package/dist/types/resolver/resolve.d.ts.map +1 -0
  339. package/dist/types/resolver/trust-chain.d.ts +54 -0
  340. package/dist/types/resolver/trust-chain.d.ts.map +1 -0
  341. package/dist/types/resolver/verify.d.ts +62 -0
  342. package/dist/types/resolver/verify.d.ts.map +1 -0
  343. package/dist/types/shims/go/index.d.ts +11 -0
  344. package/dist/types/shims/go/index.d.ts.map +1 -0
  345. package/dist/types/shims/go/proxy.d.ts +51 -0
  346. package/dist/types/shims/go/proxy.d.ts.map +1 -0
  347. package/dist/types/shims/go/server.d.ts +23 -0
  348. package/dist/types/shims/go/server.d.ts.map +1 -0
  349. package/dist/types/shims/index.d.ts +18 -0
  350. package/dist/types/shims/index.d.ts.map +1 -0
  351. package/dist/types/shims/npm/index.d.ts +11 -0
  352. package/dist/types/shims/npm/index.d.ts.map +1 -0
  353. package/dist/types/shims/npm/registry.d.ts +46 -0
  354. package/dist/types/shims/npm/registry.d.ts.map +1 -0
  355. package/dist/types/shims/npm/server.d.ts +23 -0
  356. package/dist/types/shims/npm/server.d.ts.map +1 -0
  357. package/dist/types/shims/oci/index.d.ts +11 -0
  358. package/dist/types/shims/oci/index.d.ts.map +1 -0
  359. package/dist/types/shims/oci/registry.d.ts +56 -0
  360. package/dist/types/shims/oci/registry.d.ts.map +1 -0
  361. package/dist/types/shims/oci/server.d.ts +23 -0
  362. package/dist/types/shims/oci/server.d.ts.map +1 -0
  363. package/dist/types/social.d.ts +162 -0
  364. package/dist/types/social.d.ts.map +1 -0
  365. package/dist/types/web/html.d.ts +23 -0
  366. package/dist/types/web/html.d.ts.map +1 -0
  367. package/dist/types/web/index.d.ts +8 -0
  368. package/dist/types/web/index.d.ts.map +1 -0
  369. package/dist/types/web/routes.d.ts +21 -0
  370. package/dist/types/web/routes.d.ts.map +1 -0
  371. package/dist/types/web/server.d.ts +38 -0
  372. package/dist/types/web/server.d.ts.map +1 -0
  373. package/dist/types/wiki.d.ts +143 -0
  374. package/dist/types/wiki.d.ts.map +1 -0
  375. package/package.json +108 -0
  376. package/schemas/ci/check-run.json +23 -0
  377. package/schemas/ci/check-suite.json +23 -0
  378. package/schemas/issues/assignment.json +17 -0
  379. package/schemas/issues/comment.json +14 -0
  380. package/schemas/issues/issue.json +20 -0
  381. package/schemas/issues/label.json +17 -0
  382. package/schemas/issues/reaction.json +14 -0
  383. package/schemas/issues/status-change.json +14 -0
  384. package/schemas/notifications/notification.json +20 -0
  385. package/schemas/org/org-member.json +17 -0
  386. package/schemas/org/org.json +26 -0
  387. package/schemas/org/team-member.json +17 -0
  388. package/schemas/org/team.json +17 -0
  389. package/schemas/patches/merge-result.json +14 -0
  390. package/schemas/patches/patch-status-change.json +14 -0
  391. package/schemas/patches/patch.json +20 -0
  392. package/schemas/patches/review-comment.json +17 -0
  393. package/schemas/patches/review.json +14 -0
  394. package/schemas/patches/revision.json +30 -0
  395. package/schemas/refs/git-ref.json +32 -0
  396. package/schemas/registry/attestation.json +23 -0
  397. package/schemas/registry/package-version.json +23 -0
  398. package/schemas/registry/package.json +32 -0
  399. package/schemas/releases/release.json +17 -0
  400. package/schemas/repo/collaborator.json +17 -0
  401. package/schemas/repo/repo.json +35 -0
  402. package/schemas/repo/settings.json +39 -0
  403. package/schemas/repo/topic.json +14 -0
  404. package/schemas/repo/webhook.json +26 -0
  405. package/schemas/social/activity.json +23 -0
  406. package/schemas/social/follow.json +17 -0
  407. package/schemas/social/star.json +20 -0
  408. package/schemas/wiki/wiki-history.json +20 -0
  409. package/schemas/wiki/wiki-page.json +17 -0
  410. package/src/ci.ts +118 -0
  411. package/src/cli/agent.ts +117 -0
  412. package/src/cli/commands/ci.ts +300 -0
  413. package/src/cli/commands/clone.ts +78 -0
  414. package/src/cli/commands/daemon.ts +129 -0
  415. package/src/cli/commands/github-api.ts +30 -0
  416. package/src/cli/commands/init.ts +69 -0
  417. package/src/cli/commands/issue.ts +321 -0
  418. package/src/cli/commands/log.ts +106 -0
  419. package/src/cli/commands/migrate.ts +525 -0
  420. package/src/cli/commands/notification.ts +148 -0
  421. package/src/cli/commands/org.ts +381 -0
  422. package/src/cli/commands/patch.ts +413 -0
  423. package/src/cli/commands/registry.ts +542 -0
  424. package/src/cli/commands/release.ts +189 -0
  425. package/src/cli/commands/repo.ts +160 -0
  426. package/src/cli/commands/serve.ts +153 -0
  427. package/src/cli/commands/setup.ts +97 -0
  428. package/src/cli/commands/shim.ts +79 -0
  429. package/src/cli/commands/social.ts +221 -0
  430. package/src/cli/commands/web.ts +30 -0
  431. package/src/cli/commands/wiki.ts +199 -0
  432. package/src/cli/flags.ts +28 -0
  433. package/src/cli/main.ts +350 -0
  434. package/src/cli/repo-context.ts +55 -0
  435. package/src/daemon/adapter.ts +95 -0
  436. package/src/daemon/adapters/github.ts +86 -0
  437. package/src/daemon/adapters/go.ts +47 -0
  438. package/src/daemon/adapters/index.ts +36 -0
  439. package/src/daemon/adapters/npm.ts +47 -0
  440. package/src/daemon/adapters/oci.ts +59 -0
  441. package/src/daemon/index.ts +16 -0
  442. package/src/daemon/server.ts +204 -0
  443. package/src/git-remote/credential-helper.ts +114 -0
  444. package/src/git-remote/credential-main.ts +118 -0
  445. package/src/git-remote/index.ts +10 -0
  446. package/src/git-remote/main.ts +74 -0
  447. package/src/git-remote/parse-url.ts +81 -0
  448. package/src/git-remote/resolve.ts +207 -0
  449. package/src/git-remote/service.ts +126 -0
  450. package/src/git-server/auth.ts +308 -0
  451. package/src/git-server/bundle-restore.ts +217 -0
  452. package/src/git-server/bundle-sync.ts +300 -0
  453. package/src/git-server/did-service.ts +77 -0
  454. package/src/git-server/git-backend.ts +222 -0
  455. package/src/git-server/http-handler.ts +386 -0
  456. package/src/git-server/index.ts +16 -0
  457. package/src/git-server/push-authorizer.ts +77 -0
  458. package/src/git-server/ref-sync.ts +166 -0
  459. package/src/git-server/server.ts +236 -0
  460. package/src/git-server/verify.ts +116 -0
  461. package/src/github-shim/helpers.ts +311 -0
  462. package/src/github-shim/index.ts +35 -0
  463. package/src/github-shim/issues.ts +389 -0
  464. package/src/github-shim/pulls.ts +500 -0
  465. package/src/github-shim/releases.ts +185 -0
  466. package/src/github-shim/repos.ts +95 -0
  467. package/src/github-shim/server.ts +334 -0
  468. package/src/github-shim/users.ts +63 -0
  469. package/src/index.ts +26 -0
  470. package/src/indexer/api.ts +162 -0
  471. package/src/indexer/crawler.ts +290 -0
  472. package/src/indexer/index.ts +22 -0
  473. package/src/indexer/main.ts +83 -0
  474. package/src/indexer/store.ts +408 -0
  475. package/src/issues.ts +200 -0
  476. package/src/notifications.ts +80 -0
  477. package/src/org.ts +147 -0
  478. package/src/patches.ts +203 -0
  479. package/src/refs.ts +94 -0
  480. package/src/registry.ts +132 -0
  481. package/src/releases.ts +124 -0
  482. package/src/repo.ts +234 -0
  483. package/src/resolver/index.ts +42 -0
  484. package/src/resolver/resolve.ts +244 -0
  485. package/src/resolver/trust-chain.ts +217 -0
  486. package/src/resolver/verify.ts +237 -0
  487. package/src/shims/go/index.ts +14 -0
  488. package/src/shims/go/proxy.ts +336 -0
  489. package/src/shims/go/server.ts +82 -0
  490. package/src/shims/index.ts +20 -0
  491. package/src/shims/npm/index.ts +14 -0
  492. package/src/shims/npm/registry.ts +288 -0
  493. package/src/shims/npm/server.ts +84 -0
  494. package/src/shims/oci/index.ts +14 -0
  495. package/src/shims/oci/registry.ts +334 -0
  496. package/src/shims/oci/server.ts +94 -0
  497. package/src/social.ts +116 -0
  498. package/src/web/html.ts +120 -0
  499. package/src/web/index.ts +8 -0
  500. package/src/web/routes.ts +449 -0
  501. package/src/web/server.ts +256 -0
  502. package/src/wiki.ts +102 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/daemon/adapters/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAOjD;;;;;;GAMG;AACH,eAAO,MAAM,eAAe,EAAE,SAAS,WAAW,EAKjD,CAAC;AAEF,wEAAwE;AACxE,wBAAgB,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS,CAE/D"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * npm registry shim adapter for the unified daemon.
3
+ *
4
+ * Wraps `handleNpmRequest()` behind the `ShimAdapter` interface.
5
+ *
6
+ * @module
7
+ */
8
+ import type { ShimAdapter } from '../adapter.js';
9
+ export declare const npmAdapter: ShimAdapter;
10
+ //# sourceMappingURL=npm.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"npm.d.ts","sourceRoot":"","sources":["../../../../src/daemon/adapters/npm.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAQjD,eAAO,MAAM,UAAU,EAAE,WA2BxB,CAAC"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * OCI/Docker registry shim adapter for the unified daemon.
3
+ *
4
+ * Wraps `handleOciRequest()` behind the `ShimAdapter` interface.
5
+ *
6
+ * @module
7
+ */
8
+ import type { ShimAdapter } from '../adapter.js';
9
+ export declare const ociAdapter: ShimAdapter;
10
+ //# sourceMappingURL=oci.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"oci.d.ts","sourceRoot":"","sources":["../../../../src/daemon/adapters/oci.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAQjD,eAAO,MAAM,UAAU,EAAE,WAuCxB,CAAC"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Unified daemon — barrel exports.
3
+ *
4
+ * @module
5
+ */
6
+ export type { DaemonConfig, ResolvedShimConfig, ShimAdapter, ShimConfig } from './adapter.js';
7
+ export type { DaemonInstance, DaemonOptions } from './server.js';
8
+ export { createAdapterServer, resolveConfig, startDaemon } from './server.js';
9
+ export { builtinAdapters, findAdapter } from './adapters/index.js';
10
+ export { githubAdapter } from './adapters/github.js';
11
+ export { goAdapter } from './adapters/go.js';
12
+ export { npmAdapter } from './adapters/npm.js';
13
+ export { ociAdapter } from './adapters/oci.js';
14
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/daemon/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,YAAY,EAAE,YAAY,EAAE,kBAAkB,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC9F,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEjE,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC9E,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEnE,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC"}
@@ -0,0 +1,55 @@
1
+ /**
2
+ * Unified daemon server — starts one HTTP server per enabled shim adapter.
3
+ *
4
+ * The daemon manages the lifecycle of all shim servers from a single
5
+ * process. It resolves configuration (JSON file, env vars, defaults),
6
+ * starts each enabled adapter on its assigned port, logs a status
7
+ * summary, and handles graceful shutdown on SIGINT/SIGTERM.
8
+ *
9
+ * Each adapter's server includes:
10
+ * - CORS preflight handling (OPTIONS)
11
+ * - A `/health` endpoint returning `{ status: 'ok', shim: '<id>' }`
12
+ * - Delegation to the adapter's `handle()` method for all other requests
13
+ * - Top-level error catching with 500 responses
14
+ *
15
+ * @module
16
+ */
17
+ import type { Server } from 'node:http';
18
+ import type { AgentContext } from '../cli/agent.js';
19
+ import type { DaemonConfig, ResolvedShimConfig, ShimAdapter } from './adapter.js';
20
+ export type DaemonOptions = {
21
+ ctx: AgentContext;
22
+ config: DaemonConfig;
23
+ };
24
+ export type DaemonInstance = {
25
+ /** All running HTTP servers keyed by adapter id. */
26
+ servers: Map<string, Server>;
27
+ /** The resolved config for each adapter. */
28
+ resolved: ResolvedShimConfig[];
29
+ /** Gracefully shut down all servers. */
30
+ stop(): Promise<void>;
31
+ };
32
+ /**
33
+ * Resolve the effective configuration for every known adapter.
34
+ *
35
+ * Priority for port: config file > env var > adapter default.
36
+ * Priority for enabled: config file > `true` (all enabled by default).
37
+ */
38
+ export declare function resolveConfig(config: DaemonConfig, adapters?: readonly ShimAdapter[]): ResolvedShimConfig[];
39
+ /**
40
+ * Create an HTTP server for a single adapter.
41
+ *
42
+ * The server handles CORS preflight, `/health`, and delegates
43
+ * everything else to the adapter. It does NOT call `server.listen()`
44
+ * — the caller is responsible for that.
45
+ */
46
+ export declare function createAdapterServer(ctx: AgentContext, adapter: ShimAdapter): Server;
47
+ /**
48
+ * Start the unified daemon.
49
+ *
50
+ * Resolves configuration, starts one HTTP server per enabled adapter,
51
+ * registers SIGINT/SIGTERM handlers, and returns the `DaemonInstance`
52
+ * for programmatic control and testing.
53
+ */
54
+ export declare function startDaemon(options: DaemonOptions): Promise<DaemonInstance>;
55
+ //# sourceMappingURL=server.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../../src/daemon/server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAIxC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,KAAK,EAAE,YAAY,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAQlF,MAAM,MAAM,aAAa,GAAG;IAC1B,GAAG,EAAG,YAAY,CAAC;IACnB,MAAM,EAAG,YAAY,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,oDAAoD;IACpD,OAAO,EAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAE9B,4CAA4C;IAC5C,QAAQ,EAAG,kBAAkB,EAAE,CAAC;IAEhC,wCAAwC;IACxC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACvB,CAAC;AAMF;;;;;GAKG;AACH,wBAAgB,aAAa,CAC3B,MAAM,EAAE,YAAY,EACpB,QAAQ,GAAE,SAAS,WAAW,EAAoB,GACjD,kBAAkB,EAAE,CActB;AAMD;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,YAAY,EAAE,OAAO,EAAE,WAAW,GAAG,MAAM,CAqCnF;AAMD;;;;;;GAMG;AACH,wBAAsB,WAAW,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,cAAc,CAAC,CAmEjF"}
@@ -0,0 +1,49 @@
1
+ #!/usr/bin/env bun
2
+ /**
3
+ * Git credential helper for DID-based push authentication.
4
+ *
5
+ * Git invokes credential helpers with a single argument: `get`, `store`, or
6
+ * `erase`. For `get`, the helper reads the request from stdin and writes
7
+ * credentials to stdout.
8
+ *
9
+ * This helper creates a DID-signed push token using the local Web5 agent's
10
+ * identity, formatted as HTTP Basic auth credentials:
11
+ * username: did-auth
12
+ * password: <base64url-signature>.<base64url-token>
13
+ *
14
+ * Usage in .gitconfig:
15
+ * [credential "https://git.example.com"]
16
+ * helper = /path/to/gitd-credential-helper
17
+ *
18
+ * Environment:
19
+ * GITD_PASSWORD — vault password for the local agent
20
+ *
21
+ * @module
22
+ */
23
+ /** Parsed credential request from git. */
24
+ type CredentialRequest = {
25
+ protocol?: string;
26
+ host?: string;
27
+ path?: string;
28
+ };
29
+ /**
30
+ * Generate push credentials for a git request.
31
+ *
32
+ * @param request - The parsed credential request from git
33
+ * @param agentDid - The local agent's DID
34
+ * @param privateKeyJwk - The agent's Ed25519 private key (JWK)
35
+ * @returns The credential response to write to stdout, or undefined if not applicable
36
+ */
37
+ export declare function generatePushCredentials(request: CredentialRequest, agentDid: string, privateKeyJwk: Record<string, unknown>): Promise<{
38
+ username: string;
39
+ password: string;
40
+ } | undefined>;
41
+ /** Parse a git credential helper request from stdin lines. */
42
+ export declare function parseCredentialRequest(input: string): CredentialRequest;
43
+ /** Format a credential response for git. */
44
+ export declare function formatCredentialResponse(creds: {
45
+ username: string;
46
+ password: string;
47
+ }): string;
48
+ export {};
49
+ //# sourceMappingURL=credential-helper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"credential-helper.d.ts","sourceRoot":"","sources":["../../../src/git-remote/credential-helper.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;;;;;;;;;GAoBG;AAeH,0CAA0C;AAC1C,KAAK,iBAAiB,GAAG;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAMF;;;;;;;GAOG;AACH,wBAAsB,uBAAuB,CAC3C,OAAO,EAAE,iBAAiB,EAC1B,QAAQ,EAAE,MAAM,EAChB,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACrC,OAAO,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAAC,CA8B7D;AAMD,8DAA8D;AAC9D,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,iBAAiB,CAYvE;AAED,4CAA4C;AAC5C,wBAAgB,wBAAwB,CAAC,KAAK,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAE9F"}
@@ -0,0 +1,24 @@
1
+ #!/usr/bin/env bun
2
+ /**
3
+ * Git credential helper entry point for DID-based push authentication.
4
+ *
5
+ * Git invokes this binary with a single argument: `get`, `store`, or `erase`.
6
+ * For `get`, the helper reads the request from stdin (key=value lines) and
7
+ * writes credentials to stdout.
8
+ *
9
+ * This helper creates a DID-signed push token using the local Web5 agent's
10
+ * identity, formatted as HTTP Basic auth credentials:
11
+ * username: did-auth
12
+ * password: <base64url-signature>.<base64url-token>
13
+ *
14
+ * Install in .gitconfig:
15
+ * [credential]
16
+ * helper = /path/to/git-remote-did-credential
17
+ *
18
+ * Environment:
19
+ * GITD_PASSWORD — vault password for the local agent
20
+ *
21
+ * @module
22
+ */
23
+ export {};
24
+ //# sourceMappingURL=credential-main.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"credential-main.d.ts","sourceRoot":"","sources":["../../../src/git-remote/credential-main.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;;;;;;;;;GAoBG"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Git remote helper — DID-based remote transport for git.
3
+ *
4
+ * @module git-remote
5
+ */
6
+ export * from './credential-helper.js';
7
+ export * from './parse-url.js';
8
+ export * from './resolve.js';
9
+ export * from './service.js';
10
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/git-remote/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,wBAAwB,CAAC;AACvC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC"}
@@ -0,0 +1,23 @@
1
+ #!/usr/bin/env bun
2
+ /**
3
+ * git-remote-did — Git remote helper for DID-addressed repositories.
4
+ *
5
+ * This helper is invoked by Git when it encounters a `did::` or `did://`
6
+ * remote URL. It resolves the DID to an HTTPS endpoint and delegates all
7
+ * git transport to `git-remote-https`.
8
+ *
9
+ * Usage (invoked by Git, not directly):
10
+ * git clone did::dht:abc123/my-repo
11
+ * git remote add origin did::dht:abc123/my-repo
12
+ * git push origin main
13
+ *
14
+ * The helper:
15
+ * 1. Parses the DID from the URL
16
+ * 2. Resolves the DID document
17
+ * 3. Extracts the GitTransport or DWN service endpoint
18
+ * 4. Execs `git-remote-https` with the resolved HTTPS URL
19
+ *
20
+ * @module
21
+ */
22
+ export {};
23
+ //# sourceMappingURL=main.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../../src/git-remote/main.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;;;;;;;;GAmBG"}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * Parse DID URLs used with `git-remote-did`.
3
+ *
4
+ * Supported URL forms (all invoke `git-remote-did <remote> <url>`):
5
+ *
6
+ * did::dht:abc123 → DID = did:dht:abc123, repo = undefined
7
+ * did::dht:abc123/my-repo → DID = did:dht:abc123, repo = my-repo
8
+ * did://dht:abc123/my-repo → DID = did:dht:abc123, repo = my-repo
9
+ *
10
+ * The double-colon form (`did::<address>`) is recommended because it avoids
11
+ * URL-parsing ambiguity. Git strips the `did::` prefix and passes
12
+ * `<address>` as the URL argument.
13
+ *
14
+ * @module
15
+ */
16
+ /** Parsed components of a DID remote URL. */
17
+ export type ParsedDidUrl = {
18
+ /** Full DID URI, e.g. `did:dht:abc123xyz`. */
19
+ did: string;
20
+ /** Optional repository name from the path component. */
21
+ repo?: string;
22
+ };
23
+ /**
24
+ * Parse a DID remote URL into its components.
25
+ *
26
+ * @param url - The URL argument passed by Git to the remote helper.
27
+ * After stripping the transport prefix:
28
+ * `did::dht:abc123/repo` → Git passes `dht:abc123/repo`
29
+ * `did://dht:abc123/repo` → Git passes `did://dht:abc123/repo`
30
+ */
31
+ export declare function parseDidUrl(url: string): ParsedDidUrl;
32
+ //# sourceMappingURL=parse-url.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parse-url.d.ts","sourceRoot":"","sources":["../../../src/git-remote/parse-url.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAMH,6CAA6C;AAC7C,MAAM,MAAM,YAAY,GAAG;IACzB,8CAA8C;IAC9C,GAAG,EAAE,MAAM,CAAC;IAEZ,wDAAwD;IACxD,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAMF;;;;;;;GAOG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,CAuCrD"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * DID resolution and git transport endpoint discovery.
3
+ *
4
+ * Resolves a DID document and extracts the git transport endpoint URL.
5
+ * The resolution order is:
6
+ * 1. Service of type `GitTransport` (preferred)
7
+ * 2. Service of type `DecentralizedWebNode` with `/git` suffix appended
8
+ * 3. Failure — no git endpoint found
9
+ *
10
+ * @module
11
+ */
12
+ /** Result of resolving a DID to a git transport endpoint. */
13
+ export type GitEndpoint = {
14
+ /** The resolved HTTPS URL for git smart HTTP transport. */
15
+ url: string;
16
+ /** The DID that was resolved. */
17
+ did: string;
18
+ /** How the endpoint was discovered. */
19
+ source: 'GitTransport' | 'DecentralizedWebNode';
20
+ };
21
+ /**
22
+ * Resolve a DID to a git transport HTTPS endpoint.
23
+ *
24
+ * @param did - Full DID URI (e.g. `did:dht:abc123xyz`)
25
+ * @param repo - Optional repo name to append to the endpoint path
26
+ * @returns The resolved git transport endpoint
27
+ * @throws If resolution fails, times out, or no git-compatible service is found
28
+ */
29
+ export declare function resolveGitEndpoint(did: string, repo?: string): Promise<GitEndpoint>;
30
+ //# sourceMappingURL=resolve.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolve.d.ts","sourceRoot":"","sources":["../../../src/git-remote/resolve.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAUH,6DAA6D;AAC7D,MAAM,MAAM,WAAW,GAAG;IACxB,2DAA2D;IAC3D,GAAG,EAAE,MAAM,CAAC;IAEZ,iCAAiC;IACjC,GAAG,EAAE,MAAM,CAAC;IAEZ,uCAAuC;IACvC,MAAM,EAAE,cAAc,GAAG,sBAAsB,CAAC;CACjD,CAAC;AAsBF;;;;;;;GAOG;AACH,wBAAsB,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CA6CzF"}
@@ -0,0 +1,75 @@
1
+ /**
2
+ * GitTransport DID service type utilities.
3
+ *
4
+ * Provides helpers for creating and identifying `GitTransport` service entries
5
+ * in DID documents. The `GitTransport` service type advertises a smart HTTP
6
+ * git endpoint that can be used by `git-remote-did` to locate repositories.
7
+ *
8
+ * When a DID document contains a GitTransport service, the git remote helper
9
+ * uses it directly (highest priority). Otherwise it falls back to
10
+ * `DecentralizedWebNode` + `/git` suffix.
11
+ *
12
+ * @example
13
+ * ```ts
14
+ * import { createGitTransportService } from '@enbox/gitd/git-remote/service';
15
+ *
16
+ * const service = createGitTransportService({
17
+ * id : '#git',
18
+ * serviceEndpoint : 'https://git.example.com',
19
+ * });
20
+ * // → { id: '#git', type: 'GitTransport', serviceEndpoint: 'https://git.example.com' }
21
+ * ```
22
+ *
23
+ * @module
24
+ */
25
+ import type { DidDocument, DidService } from '@enbox/dids';
26
+ /** The DID service type string for git smart HTTP transport endpoints. */
27
+ export declare const GIT_TRANSPORT_SERVICE_TYPE: "GitTransport";
28
+ /**
29
+ * A DID service entry with `type` fixed to `GitTransport`.
30
+ *
31
+ * The `serviceEndpoint` should be an HTTPS URL (or array of URLs) pointing to
32
+ * a smart HTTP git server. Repositories are addressed by appending the repo
33
+ * name as a path segment: `<serviceEndpoint>/<repo-name>`.
34
+ */
35
+ export interface GitTransportService extends DidService {
36
+ type: typeof GIT_TRANSPORT_SERVICE_TYPE;
37
+ }
38
+ /** Options for creating a GitTransport service entry. */
39
+ export type CreateGitTransportServiceOptions = {
40
+ /**
41
+ * The service entry `id`, typically a fragment like `#git`.
42
+ * If no `#` prefix is provided, it will be added automatically.
43
+ */
44
+ id: string;
45
+ /**
46
+ * The HTTPS URL (or URLs) of the git smart HTTP endpoint.
47
+ *
48
+ * @example 'https://git.example.com'
49
+ * @example ['https://git1.example.com', 'https://git2.example.com']
50
+ */
51
+ serviceEndpoint: string | string[];
52
+ };
53
+ /**
54
+ * Create a `GitTransport` DID service entry.
55
+ *
56
+ * @param options - Service configuration
57
+ * @returns A well-formed GitTransport service entry ready for inclusion in a
58
+ * DID document's `service` array.
59
+ */
60
+ export declare function createGitTransportService(options: CreateGitTransportServiceOptions): GitTransportService;
61
+ /**
62
+ * Check whether a DID service entry is a GitTransport service.
63
+ *
64
+ * @param service - A service entry from a DID document
65
+ * @returns `true` if the service type is `GitTransport`
66
+ */
67
+ export declare function isGitTransportService(service: DidService): service is GitTransportService;
68
+ /**
69
+ * Extract all GitTransport service entries from a DID document.
70
+ *
71
+ * @param didDocument - A resolved DID document
72
+ * @returns An array of GitTransport services (may be empty)
73
+ */
74
+ export declare function getGitTransportServices(didDocument: DidDocument): GitTransportService[];
75
+ //# sourceMappingURL=service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../src/git-remote/service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAM3D,0EAA0E;AAC1E,eAAO,MAAM,0BAA0B,gBAA0B,CAAC;AAMlE;;;;;;GAMG;AACH,MAAM,WAAW,mBAAoB,SAAQ,UAAU;IACrD,IAAI,EAAE,OAAO,0BAA0B,CAAC;CACzC;AAED,yDAAyD;AACzD,MAAM,MAAM,gCAAgC,GAAG;IAC7C;;;OAGG;IACH,EAAE,EAAE,MAAM,CAAC;IAEX;;;;;OAKG;IACH,eAAe,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;CACpC,CAAC;AAMF;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,gCAAgC,GACxC,mBAAmB,CAsBrB;AAMD;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,IAAI,mBAAmB,CAEzF;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,WAAW,EAAE,WAAW,GAAG,mBAAmB,EAAE,CAEvF"}
@@ -0,0 +1,129 @@
1
+ /**
2
+ * Push authentication for the git transport sidecar.
3
+ *
4
+ * Implements a DID-based authentication scheme for git push operations.
5
+ * The scheme uses signed tokens that prove DID ownership:
6
+ *
7
+ * 1. The client generates a token: `base64url(JSON({ did, repo, exp, nonce }))`
8
+ * 2. The client signs the token with their DID's Ed25519 key
9
+ * 3. The client sends the token + signature as HTTP Basic auth credentials:
10
+ * - username: `did-auth` (fixed; DIDs contain colons so can't be usernames)
11
+ * - password: `<base64url-signature>.<base64url-token>`
12
+ * 4. The server verifies the signature using the DID document's
13
+ * authentication verification method
14
+ *
15
+ * This approach works with git's native credential helper system — no custom
16
+ * transport modifications required.
17
+ *
18
+ * @module
19
+ */
20
+ /**
21
+ * Fixed username for HTTP Basic auth.
22
+ * DIDs contain colons which conflict with HTTP Basic auth's username:password
23
+ * separator, so we use a fixed username and embed the DID in the token payload.
24
+ */
25
+ export declare const DID_AUTH_USERNAME = "did-auth";
26
+ /** The payload inside a signed push token. */
27
+ export type PushTokenPayload = {
28
+ /** The DID of the pusher. */
29
+ did: string;
30
+ /** The repository owner's DID. */
31
+ owner: string;
32
+ /** The repository name. */
33
+ repo: string;
34
+ /** Token expiration timestamp (seconds since epoch). */
35
+ exp: number;
36
+ /** Random nonce to prevent replay. */
37
+ nonce: string;
38
+ };
39
+ /** A signed push token (token + signature). */
40
+ export type SignedPushToken = {
41
+ /** The base64url-encoded token payload. */
42
+ token: string;
43
+ /** The base64url-encoded Ed25519 signature over the token. */
44
+ signature: string;
45
+ };
46
+ /**
47
+ * Verification callback that resolves a DID, extracts the Ed25519 public key,
48
+ * and verifies the signature.
49
+ *
50
+ * @param did - The DID that claims to have signed the token
51
+ * @param payload - The raw token bytes that were signed
52
+ * @param signature - The signature bytes to verify
53
+ * @returns `true` if the signature is valid for the DID's authentication key
54
+ */
55
+ export type SignatureVerifier = (did: string, payload: Uint8Array, signature: Uint8Array) => Promise<boolean>;
56
+ /**
57
+ * Authorization callback that checks whether a DID has push access to a repo.
58
+ * This typically queries the DWN for a `repo/maintainer` role record.
59
+ *
60
+ * @param did - The authenticated pusher's DID
61
+ * @param owner - The repository owner's DID
62
+ * @param repo - The repository name
63
+ * @returns `true` if the DID is authorized to push
64
+ */
65
+ export type PushAuthorizer = (did: string, owner: string, repo: string) => Promise<boolean>;
66
+ /** Options for creating a push authenticator. */
67
+ export type PushAuthenticatorOptions = {
68
+ /** Callback to verify Ed25519 signatures against a DID document. */
69
+ verifySignature: SignatureVerifier;
70
+ /**
71
+ * Optional callback to check push authorization (role-based access).
72
+ * If not provided, any authenticated DID is allowed to push.
73
+ */
74
+ authorizePush?: PushAuthorizer;
75
+ /** Maximum token age in seconds. @default 300 (5 minutes) */
76
+ maxTokenAge?: number;
77
+ };
78
+ /**
79
+ * Create a push token payload.
80
+ *
81
+ * @param did - The pusher's DID
82
+ * @param owner - The repository owner's DID
83
+ * @param repo - The repository name
84
+ * @param ttlSeconds - Token lifetime in seconds (default: 300)
85
+ * @returns The token payload
86
+ */
87
+ export declare function createPushTokenPayload(did: string, owner: string, repo: string, ttlSeconds?: number): PushTokenPayload;
88
+ /**
89
+ * Encode a push token payload as a base64url string.
90
+ *
91
+ * @param payload - The token payload
92
+ * @returns base64url-encoded JSON
93
+ */
94
+ export declare function encodePushToken(payload: PushTokenPayload): string;
95
+ /**
96
+ * Decode a base64url push token string back to a payload.
97
+ *
98
+ * @param token - The base64url-encoded token
99
+ * @returns The decoded payload
100
+ * @throws If the token is malformed
101
+ */
102
+ export declare function decodePushToken(token: string): PushTokenPayload;
103
+ /**
104
+ * Format a signed push token for use as an HTTP Basic auth password.
105
+ * The format is `<base64url-signature>.<base64url-token>`.
106
+ *
107
+ * @param signed - The signed token
108
+ * @returns The formatted password string
109
+ */
110
+ export declare function formatAuthPassword(signed: SignedPushToken): string;
111
+ /**
112
+ * Parse an HTTP Basic auth password back into a signed push token.
113
+ *
114
+ * @param password - The password from HTTP Basic auth
115
+ * @returns The parsed signed token
116
+ * @throws If the format is invalid
117
+ */
118
+ export declare function parseAuthPassword(password: string): SignedPushToken;
119
+ /**
120
+ * Create an `authenticatePush` callback for use with `createGitHttpHandler`.
121
+ *
122
+ * Extracts HTTP Basic credentials from the request, verifies the signed token,
123
+ * and optionally checks role-based authorization.
124
+ *
125
+ * @param options - Authenticator configuration
126
+ * @returns An authenticatePush callback
127
+ */
128
+ export declare function createPushAuthenticator(options: PushAuthenticatorOptions): (request: Request, did: string, repo: string) => Promise<boolean>;
129
+ //# sourceMappingURL=auth.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../src/git-server/auth.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAQH;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,aAAa,CAAC;AAM5C,8CAA8C;AAC9C,MAAM,MAAM,gBAAgB,GAAG;IAC7B,6BAA6B;IAC7B,GAAG,EAAE,MAAM,CAAC;IAEZ,kCAAkC;IAClC,KAAK,EAAE,MAAM,CAAC;IAEd,2BAA2B;IAC3B,IAAI,EAAE,MAAM,CAAC;IAEb,wDAAwD;IACxD,GAAG,EAAE,MAAM,CAAC;IAEZ,sCAAsC;IACtC,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,+CAA+C;AAC/C,MAAM,MAAM,eAAe,GAAG;IAC5B,2CAA2C;IAC3C,KAAK,EAAE,MAAM,CAAC;IAEd,8DAA8D;IAC9D,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF;;;;;;;;GAQG;AACH,MAAM,MAAM,iBAAiB,GAAG,CAC9B,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,UAAU,EACnB,SAAS,EAAE,UAAU,KAClB,OAAO,CAAC,OAAO,CAAC,CAAC;AAEtB;;;;;;;;GAQG;AACH,MAAM,MAAM,cAAc,GAAG,CAC3B,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,KACT,OAAO,CAAC,OAAO,CAAC,CAAC;AAEtB,iDAAiD;AACjD,MAAM,MAAM,wBAAwB,GAAG;IACrC,oEAAoE;IACpE,eAAe,EAAE,iBAAiB,CAAC;IAEnC;;;OAGG;IACH,aAAa,CAAC,EAAE,cAAc,CAAC;IAE/B,6DAA6D;IAC7D,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAMF;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CACpC,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,UAAU,GAAE,MAAY,GACvB,gBAAgB,CAQlB;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,gBAAgB,GAAG,MAAM,CAGjE;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,gBAAgB,CAa/D;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,eAAe,GAAG,MAAM,CAElE;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,eAAe,CASnE;AAMD;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,wBAAwB,GAChC,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CA6FnE"}
@@ -0,0 +1,48 @@
1
+ /**
2
+ * Bundle restore — reconstructs a bare git repo from DWN bundle records.
3
+ *
4
+ * When a commodity git host receives a clone request for a repo it doesn't
5
+ * have on disk, it resolves the owner's DID, reads bundle records from
6
+ * the owner's DWN, and reconstructs the bare repo locally.
7
+ *
8
+ * Restore flow:
9
+ * 1. Query the owner's DWN for bundle records (via the repo's contextId)
10
+ * 2. Find the most recent full bundle (isFull: true)
11
+ * 3. Clone from the full bundle to create a bare repo
12
+ * 4. Apply any incremental bundles (in chronological order) that are newer
13
+ * 5. The restored repo is now ready to serve clones and accept pushes
14
+ *
15
+ * @module
16
+ */
17
+ import type { ForgeRepoProtocol } from '../repo.js';
18
+ import type { ForgeRepoSchemaMap } from '../repo.js';
19
+ import type { TypedWeb5 } from '@enbox/api';
20
+ /** Options for restoring a repository from DWN bundles. */
21
+ export type BundleRestoreOptions = {
22
+ /** The typed ForgeRepoProtocol Web5 handle for the owner's DWN. */
23
+ repo: TypedWeb5<typeof ForgeRepoProtocol.definition, ForgeRepoSchemaMap>;
24
+ /** Path where the bare repository should be created. */
25
+ repoPath: string;
26
+ };
27
+ /** Result of a bundle restore operation. */
28
+ export type BundleRestoreResult = {
29
+ /** Whether the restore succeeded. */
30
+ success: boolean;
31
+ /** Number of bundles applied (1 full + N incrementals). */
32
+ bundlesApplied: number;
33
+ /** The tip commit SHA after restore. */
34
+ tipCommit?: string;
35
+ /** Error message if restore failed. */
36
+ error?: string;
37
+ };
38
+ /**
39
+ * Restore a bare git repository from DWN bundle records.
40
+ *
41
+ * Queries the owner's DWN for bundle records, downloads the most recent
42
+ * full bundle, clones from it, then applies any incremental bundles.
43
+ *
44
+ * @param options - Restore configuration
45
+ * @returns Result of the restore operation
46
+ */
47
+ export declare function restoreFromBundles(options: BundleRestoreOptions): Promise<BundleRestoreResult>;
48
+ //# sourceMappingURL=bundle-restore.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bundle-restore.d.ts","sourceRoot":"","sources":["../../../src/git-server/bundle-restore.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAa5C,2DAA2D;AAC3D,MAAM,MAAM,oBAAoB,GAAG;IACjC,mEAAmE;IACnE,IAAI,EAAE,SAAS,CAAC,OAAO,iBAAiB,CAAC,UAAU,EAAE,kBAAkB,CAAC,CAAC;IAEzE,wDAAwD;IACxD,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,4CAA4C;AAC5C,MAAM,MAAM,mBAAmB,GAAG;IAChC,qCAAqC;IACrC,OAAO,EAAE,OAAO,CAAC;IAEjB,2DAA2D;IAC3D,cAAc,EAAE,MAAM,CAAC;IAEvB,wCAAwC;IACxC,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,uCAAuC;IACvC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAMF;;;;;;;;GAQG;AACH,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,mBAAmB,CAAC,CAqE9B"}