@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,24 @@
1
+ /**
2
+ * GitHub API shim — `/repos/:did/:repo/issues` endpoints.
3
+ *
4
+ * Maps DWN issue records to GitHub REST API v3 issue responses.
5
+ *
6
+ * Endpoints:
7
+ * GET /repos/:did/:repo/issues List issues
8
+ * GET /repos/:did/:repo/issues/:number Issue detail
9
+ * GET /repos/:did/:repo/issues/:number/comments Issue comments
10
+ * POST /repos/:did/:repo/issues Create issue
11
+ * PATCH /repos/:did/:repo/issues/:number Update issue
12
+ * POST /repos/:did/:repo/issues/:number/comments Create comment
13
+ *
14
+ * @module
15
+ */
16
+ import type { AgentContext } from '../cli/agent.js';
17
+ import type { JsonResponse } from './helpers.js';
18
+ export declare function handleListIssues(ctx: AgentContext, targetDid: string, repoName: string, url: URL): Promise<JsonResponse>;
19
+ export declare function handleGetIssue(ctx: AgentContext, targetDid: string, repoName: string, number: string, url: URL): Promise<JsonResponse>;
20
+ export declare function handleListIssueComments(ctx: AgentContext, targetDid: string, repoName: string, number: string, url: URL): Promise<JsonResponse>;
21
+ export declare function handleCreateIssue(ctx: AgentContext, targetDid: string, repoName: string, reqBody: Record<string, unknown>, url: URL): Promise<JsonResponse>;
22
+ export declare function handleUpdateIssue(ctx: AgentContext, targetDid: string, repoName: string, number: string, reqBody: Record<string, unknown>, url: URL): Promise<JsonResponse>;
23
+ export declare function handleCreateIssueComment(ctx: AgentContext, targetDid: string, repoName: string, number: string, reqBody: Record<string, unknown>, url: URL): Promise<JsonResponse>;
24
+ //# sourceMappingURL=issues.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"issues.d.ts","sourceRoot":"","sources":["../../../src/github-shim/issues.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AA8DjD,wBAAsB,gBAAgB,CACpC,GAAG,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,GAC/D,OAAO,CAAC,YAAY,CAAC,CAqDvB;AAMD,wBAAsB,cAAc,CAClC,GAAG,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,GAC/E,OAAO,CAAC,YAAY,CAAC,CAgCvB;AAMD,wBAAsB,uBAAuB,CAC3C,GAAG,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,GAC/E,OAAO,CAAC,YAAY,CAAC,CA0DvB;AAMD,wBAAsB,iBAAiB,CACrC,GAAG,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EACtD,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,EAAE,GAAG,GACzC,OAAO,CAAC,YAAY,CAAC,CA8BvB;AAMD,wBAAsB,iBAAiB,CACrC,GAAG,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EACtD,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,EAAE,GAAG,GACzD,OAAO,CAAC,YAAY,CAAC,CA2CvB;AAMD,wBAAsB,wBAAwB,CAC5C,GAAG,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EACtD,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,EAAE,GAAG,GACzD,OAAO,CAAC,YAAY,CAAC,CAgDvB"}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * GitHub API shim — `/repos/:did/:repo/pulls` endpoints.
3
+ *
4
+ * Maps DWN patch records to GitHub REST API v3 pull request responses.
5
+ *
6
+ * Endpoints:
7
+ * GET /repos/:did/:repo/pulls List pull requests
8
+ * GET /repos/:did/:repo/pulls/:number Pull request detail
9
+ * GET /repos/:did/:repo/pulls/:number/reviews Pull request reviews
10
+ * POST /repos/:did/:repo/pulls Create pull request
11
+ * PATCH /repos/:did/:repo/pulls/:number Update pull request
12
+ * PUT /repos/:did/:repo/pulls/:number/merge Merge pull request
13
+ * POST /repos/:did/:repo/pulls/:number/reviews Create review
14
+ *
15
+ * Status mapping:
16
+ * - `open` -> state: "open"
17
+ * - `closed` -> state: "closed", merged: false
18
+ * - `merged` -> state: "closed", merged: true
19
+ *
20
+ * @module
21
+ */
22
+ import type { AgentContext } from '../cli/agent.js';
23
+ import type { JsonResponse } from './helpers.js';
24
+ export declare function handleListPulls(ctx: AgentContext, targetDid: string, repoName: string, url: URL): Promise<JsonResponse>;
25
+ export declare function handleGetPull(ctx: AgentContext, targetDid: string, repoName: string, number: string, url: URL): Promise<JsonResponse>;
26
+ export declare function handleListPullReviews(ctx: AgentContext, targetDid: string, repoName: string, number: string, url: URL): Promise<JsonResponse>;
27
+ export declare function handleCreatePull(ctx: AgentContext, targetDid: string, repoName: string, reqBody: Record<string, unknown>, url: URL): Promise<JsonResponse>;
28
+ export declare function handleUpdatePull(ctx: AgentContext, targetDid: string, repoName: string, number: string, reqBody: Record<string, unknown>, url: URL): Promise<JsonResponse>;
29
+ export declare function handleMergePull(ctx: AgentContext, targetDid: string, repoName: string, number: string, reqBody: Record<string, unknown>, _url: URL): Promise<JsonResponse>;
30
+ export declare function handleCreatePullReview(ctx: AgentContext, targetDid: string, repoName: string, number: string, reqBody: Record<string, unknown>, url: URL): Promise<JsonResponse>;
31
+ //# sourceMappingURL=pulls.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pulls.d.ts","sourceRoot":"","sources":["../../../src/github-shim/pulls.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAoGjD,wBAAsB,eAAe,CACnC,GAAG,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,GAC/D,OAAO,CAAC,YAAY,CAAC,CAoDvB;AAMD,wBAAsB,aAAa,CACjC,GAAG,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,GAC/E,OAAO,CAAC,YAAY,CAAC,CAuBvB;AAMD,wBAAsB,qBAAqB,CACzC,GAAG,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,GAC/E,OAAO,CAAC,YAAY,CAAC,CA4DvB;AAMD,wBAAsB,gBAAgB,CACpC,GAAG,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EACtD,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,EAAE,GAAG,GACzC,OAAO,CAAC,YAAY,CAAC,CAuCvB;AAMD,wBAAsB,gBAAgB,CACpC,GAAG,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EACtD,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,EAAE,GAAG,GACzD,OAAO,CAAC,YAAY,CAAC,CA8CvB;AAMD,wBAAsB,eAAe,CACnC,GAAG,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EACtD,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,GAAG,GAC1D,OAAO,CAAC,YAAY,CAAC,CAmDvB;AAMD,wBAAsB,sBAAsB,CAC1C,GAAG,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EACtD,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,EAAE,GAAG,GACzD,OAAO,CAAC,YAAY,CAAC,CAmDvB"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * GitHub API shim — `/repos/:did/:repo/releases` endpoints.
3
+ *
4
+ * Maps DWN release records to GitHub REST API v3 release responses.
5
+ *
6
+ * Endpoints:
7
+ * GET /repos/:did/:repo/releases List releases
8
+ * GET /repos/:did/:repo/releases/tags/:tag Release by tag name
9
+ * POST /repos/:did/:repo/releases Create release
10
+ *
11
+ * @module
12
+ */
13
+ import type { AgentContext } from '../cli/agent.js';
14
+ import type { JsonResponse } from './helpers.js';
15
+ export declare function handleListReleases(ctx: AgentContext, targetDid: string, repoName: string, url: URL): Promise<JsonResponse>;
16
+ export declare function handleGetReleaseByTag(ctx: AgentContext, targetDid: string, repoName: string, tag: string, url: URL): Promise<JsonResponse>;
17
+ export declare function handleCreateRelease(ctx: AgentContext, targetDid: string, repoName: string, reqBody: Record<string, unknown>, url: URL): Promise<JsonResponse>;
18
+ //# sourceMappingURL=releases.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"releases.d.ts","sourceRoot":"","sources":["../../../src/github-shim/releases.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AA4DjD,wBAAsB,kBAAkB,CACtC,GAAG,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,GAC/D,OAAO,CAAC,YAAY,CAAC,CAiCvB;AAMD,wBAAsB,qBAAqB,CACzC,GAAG,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,GAC5E,OAAO,CAAC,YAAY,CAAC,CAuBvB;AAMD,wBAAsB,mBAAmB,CACvC,GAAG,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EACtD,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,EAAE,GAAG,GACzC,OAAO,CAAC,YAAY,CAAC,CAmCvB"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * GitHub API shim — `/repos/:did/:repo` endpoint.
3
+ *
4
+ * Maps the DWN singleton repo record to a GitHub REST API v3
5
+ * repository response. The `:repo` segment is validated against the
6
+ * stored repo name but is otherwise informational — repos are singletons
7
+ * per DID in gitd.
8
+ *
9
+ * @module
10
+ */
11
+ import type { AgentContext } from '../cli/agent.js';
12
+ import type { JsonResponse, RepoInfo } from './helpers.js';
13
+ /** Build a GitHub-style repository object from DWN data. */
14
+ export declare function buildRepoResponse(repo: RepoInfo, targetDid: string, repoName: string, baseUrl: string): Record<string, unknown>;
15
+ /**
16
+ * Handle `GET /repos/:did/:repo`.
17
+ *
18
+ * Returns a GitHub-style repository JSON response.
19
+ */
20
+ export declare function handleGetRepo(ctx: AgentContext, targetDid: string, repoName: string, url: URL): Promise<JsonResponse>;
21
+ //# sourceMappingURL=repos.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"repos.d.ts","sourceRoot":"","sources":["../../../src/github-shim/repos.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAgB3D,4DAA4D;AAC5D,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GACnE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CA8CzB;AAED;;;;GAIG;AACH,wBAAsB,aAAa,CACjC,GAAG,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,GAC/D,OAAO,CAAC,YAAY,CAAC,CAQvB"}
@@ -0,0 +1,53 @@
1
+ /**
2
+ * GitHub API compatibility shim — HTTP server and router.
3
+ *
4
+ * Translates GitHub REST API v3 requests into DWN queries / writes and
5
+ * returns GitHub-compatible JSON responses. This allows existing tools
6
+ * that speak the GitHub API (VS Code extensions, `gh` CLI, CI/CD
7
+ * systems) to interact with any DWN-enabled git forge.
8
+ *
9
+ * Read endpoints (GET):
10
+ * GET /repos/:did/:repo Repository info
11
+ * GET /repos/:did/:repo/issues List issues
12
+ * GET /repos/:did/:repo/issues/:number Issue detail
13
+ * GET /repos/:did/:repo/issues/:number/comments Issue comments
14
+ * GET /repos/:did/:repo/pulls List pull requests
15
+ * GET /repos/:did/:repo/pulls/:number Pull request detail
16
+ * GET /repos/:did/:repo/pulls/:number/reviews Pull request reviews
17
+ * GET /repos/:did/:repo/releases List releases
18
+ * GET /repos/:did/:repo/releases/tags/:tag Release by tag
19
+ * GET /users/:did User profile
20
+ *
21
+ * Write endpoints (POST/PATCH/PUT):
22
+ * POST /repos/:did/:repo/issues Create issue
23
+ * PATCH /repos/:did/:repo/issues/:number Update issue
24
+ * POST /repos/:did/:repo/issues/:number/comments Create issue comment
25
+ * POST /repos/:did/:repo/pulls Create pull request
26
+ * PATCH /repos/:did/:repo/pulls/:number Update pull request
27
+ * PUT /repos/:did/:repo/pulls/:number/merge Merge pull request
28
+ * POST /repos/:did/:repo/pulls/:number/reviews Create pull review
29
+ * POST /repos/:did/:repo/releases Create release
30
+ *
31
+ * @module
32
+ */
33
+ import type { AgentContext } from '../cli/agent.js';
34
+ import type { JsonResponse } from './helpers.js';
35
+ import type { Server } from 'node:http';
36
+ export type ShimServerOptions = {
37
+ ctx: AgentContext;
38
+ port: number;
39
+ };
40
+ /**
41
+ * Route an incoming request to the appropriate handler.
42
+ *
43
+ * This function is exported for testing — tests can call it directly
44
+ * with a constructed URL without starting an HTTP server.
45
+ *
46
+ * @param method HTTP method (defaults to `'GET'` for backward compat).
47
+ * @param reqBody Parsed JSON body for POST/PATCH/PUT requests.
48
+ * @param authHeader The Authorization header value (for write endpoint auth).
49
+ */
50
+ export declare function handleShimRequest(ctx: AgentContext, url: URL, method?: string, reqBody?: Record<string, unknown>, authHeader?: string | null): Promise<JsonResponse>;
51
+ /** Start the GitHub API shim server. Returns the server instance. */
52
+ export declare function startShimServer(options: ShimServerOptions): Server;
53
+ //# sourceMappingURL=server.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../../src/github-shim/server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAEjD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAgBxC,MAAM,MAAM,iBAAiB,GAAG;IAC9B,GAAG,EAAG,YAAY,CAAC;IACnB,IAAI,EAAG,MAAM,CAAC;CACf,CAAC;AA0BF;;;;;;;;;GASG;AACH,wBAAsB,iBAAiB,CACrC,GAAG,EAAE,YAAY,EACjB,GAAG,EAAE,GAAG,EACR,MAAM,GAAE,MAAc,EACtB,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,EACrC,UAAU,GAAE,MAAM,GAAG,IAAW,GAC/B,OAAO,CAAC,YAAY,CAAC,CA2CvB;AA0FD,qEAAqE;AACrE,wBAAgB,eAAe,CAAC,OAAO,EAAE,iBAAiB,GAAG,MAAM,CAsGlE"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * GitHub API shim — `/users/:did` endpoint.
3
+ *
4
+ * Synthesizes a GitHub-style user object from a DID. Since DIDs are
5
+ * self-sovereign identifiers, we don't have profile data beyond the
6
+ * DID itself — fields like `name`, `bio`, etc. are left empty.
7
+ *
8
+ * @module
9
+ */
10
+ import type { JsonResponse } from './helpers.js';
11
+ /**
12
+ * Handle `GET /users/:did`.
13
+ *
14
+ * Returns a GitHub-style user profile JSON response.
15
+ */
16
+ export declare function handleGetUser(targetDid: string, url: URL): Promise<JsonResponse>;
17
+ //# sourceMappingURL=users.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"users.d.ts","sourceRoot":"","sources":["../../../src/github-shim/users.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAajD;;;;GAIG;AACH,wBAAsB,aAAa,CACjC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,GAC1B,OAAO,CAAC,YAAY,CAAC,CAgCvB"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * @enbox/gitd — Decentralized forge protocols for DWN.
3
+ *
4
+ * Protocol definitions for a decentralized GitHub alternative.
5
+ * See PLAN.md for full architecture documentation.
6
+ *
7
+ * Each protocol exports:
8
+ * - Data shape types for each record type (e.g. `IssueData`, `RepoData`)
9
+ * - A `SchemaMap` type mapping type names to data shapes
10
+ * - A raw `ProtocolDefinition` (e.g. `ForgeRepoDefinition`)
11
+ * - A typed protocol created via `defineProtocol()` (e.g. `ForgeRepoProtocol`)
12
+ *
13
+ * @packageDocumentation
14
+ */
15
+ export * from './repo.js';
16
+ export * from './refs.js';
17
+ export * from './issues.js';
18
+ export * from './patches.js';
19
+ export * from './ci.js';
20
+ export * from './releases.js';
21
+ export * from './registry.js';
22
+ export * from './social.js';
23
+ export * from './notifications.js';
24
+ export * from './wiki.js';
25
+ export * from './org.js';
26
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC;AACxB,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC"}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * Indexer REST API — serves JSON responses from the materialized views
3
+ * in the IndexerStore.
4
+ *
5
+ * Endpoints:
6
+ *
7
+ * GET /api/repos List all repos (sorted by stars)
8
+ * GET /api/repos/search?q=<query> Search repos by name/topic/language
9
+ * GET /api/repos/trending Trending repos (recent star activity)
10
+ * GET /api/repos/:did Repo detail for a specific DID
11
+ * GET /api/repos/:did/stars Stars for a specific repo
12
+ * GET /api/users/:did User profile summary
13
+ * GET /api/stats Indexer statistics
14
+ *
15
+ * All responses are JSON with `Content-Type: application/json`.
16
+ *
17
+ * @module
18
+ */
19
+ import type { Server } from 'node:http';
20
+ import type { IndexerStore } from './store.js';
21
+ export type ApiServerOptions = {
22
+ store: IndexerStore;
23
+ port: number;
24
+ };
25
+ /** Route an incoming request to the appropriate API handler. */
26
+ export declare function handleApiRequest(store: IndexerStore, url: URL): {
27
+ status: number;
28
+ body: string;
29
+ };
30
+ /** Start the indexer API server. */
31
+ export declare function startApiServer(options: ApiServerOptions): Server;
32
+ //# sourceMappingURL=api.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../src/indexer/api.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAIxC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAM/C,MAAM,MAAM,gBAAgB,GAAG;IAC7B,KAAK,EAAG,YAAY,CAAC;IACrB,IAAI,EAAG,MAAM,CAAC;CACf,CAAC;AAMF,gEAAgE;AAChE,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,YAAY,EACnB,GAAG,EAAE,GAAG,GACP;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAsElC;AAMD,oCAAoC;AACpC,wBAAgB,cAAc,CAAC,OAAO,EAAE,gBAAgB,GAAG,MAAM,CAkChE"}
@@ -0,0 +1,72 @@
1
+ /**
2
+ * DWN record crawler — queries remote DWNs to build the indexer's
3
+ * materialized views.
4
+ *
5
+ * Uses the `from` parameter on TypedWeb5 queries so the SDK routes
6
+ * each request to the target DID's DWN endpoint (resolved from their
7
+ * DID document). All queried records are `published: true` and have
8
+ * `{ who: 'anyone', can: ['read'] }`, so no permission grants are
9
+ * needed.
10
+ *
11
+ * The crawler operates incrementally — it tracks the last crawl
12
+ * timestamp per DID and only processes records created after that
13
+ * point.
14
+ *
15
+ * @module
16
+ */
17
+ import type { AgentContext } from '../cli/agent.js';
18
+ import type { IndexerStore } from './store.js';
19
+ /** Options for a crawl run. */
20
+ export type CrawlOptions = {
21
+ /** Maximum DIDs to crawl per run. */
22
+ maxDids?: number;
23
+ /** Crawl only these DIDs (overrides store DID list). */
24
+ dids?: string[];
25
+ };
26
+ /** Result of a crawl run. */
27
+ export type CrawlResult = {
28
+ crawledDids: number;
29
+ newRepos: number;
30
+ newStars: number;
31
+ newFollows: number;
32
+ errors: {
33
+ did: string;
34
+ error: string;
35
+ }[];
36
+ };
37
+ /** Crawls DWN records from registered DIDs and populates the store. */
38
+ export declare class IndexerCrawler {
39
+ private readonly _ctx;
40
+ private readonly _store;
41
+ constructor(ctx: AgentContext, store: IndexerStore);
42
+ /**
43
+ * Run a single crawl pass over all registered DIDs.
44
+ *
45
+ * For each DID, queries repos, stars, and follows. Errors on
46
+ * individual DIDs are captured and returned, not thrown.
47
+ */
48
+ crawl(options?: CrawlOptions): Promise<CrawlResult>;
49
+ /**
50
+ * Crawl a single DID — queries repos, stars, follows, and repo
51
+ * metadata (issues, patches, releases counts).
52
+ */
53
+ crawlDid(did: string): Promise<{
54
+ repos: number;
55
+ stars: number;
56
+ follows: number;
57
+ }>;
58
+ /**
59
+ * Discover DIDs by following the social graph from a seed DID.
60
+ *
61
+ * Queries stars and follows for the seed DID, adds discovered DIDs
62
+ * to the store, and optionally recurses to a given depth.
63
+ */
64
+ discover(seedDid: string, depth?: number): Promise<string[]>;
65
+ /**
66
+ * Start a periodic crawl loop. Crawls all DIDs, then waits
67
+ * `intervalMs` before the next pass. Returns a cleanup function
68
+ * to stop the loop.
69
+ */
70
+ startLoop(intervalMs?: number): () => void;
71
+ }
72
+ //# sourceMappingURL=crawler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"crawler.d.ts","sourceRoot":"","sources":["../../../src/indexer/crawler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,KAAK,EAAe,YAAY,EAAE,MAAM,YAAY,CAAC;AAM5D,+BAA+B;AAC/B,MAAM,MAAM,YAAY,GAAG;IACzB,qCAAqC;IACrC,OAAO,CAAC,EAAG,MAAM,CAAC;IAClB,wDAAwD;IACxD,IAAI,CAAC,EAAG,MAAM,EAAE,CAAC;CAClB,CAAC;AAEF,6BAA6B;AAC7B,MAAM,MAAM,WAAW,GAAG;IACxB,WAAW,EAAG,MAAM,CAAC;IACrB,QAAQ,EAAG,MAAM,CAAC;IAClB,QAAQ,EAAG,MAAM,CAAC;IAClB,UAAU,EAAG,MAAM,CAAC;IACpB,MAAM,EAAG;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CAC3C,CAAC;AAMF,uEAAuE;AACvE,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAgB;IACrC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgB;gBAEpB,GAAG,EAAE,YAAY,EAAE,KAAK,EAAE,YAAY;IAKzD;;;;;OAKG;IACU,KAAK,CAAC,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC;IA0BhE;;;OAGG;IACU,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IA8G9F;;;;;OAKG;IACU,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,GAAE,MAAU,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IA6C5E;;;;OAIG;IACI,SAAS,CAAC,UAAU,GAAE,MAAe,GAAG,MAAM,IAAI;CAgC1D"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Indexer module — crawls DWN records and serves aggregated views.
3
+ *
4
+ * @module
5
+ */
6
+ export { handleApiRequest, startApiServer } from './api.js';
7
+ export type { ApiServerOptions } from './api.js';
8
+ export { IndexerCrawler } from './crawler.js';
9
+ export type { CrawlOptions, CrawlResult } from './crawler.js';
10
+ export { IndexerStore } from './store.js';
11
+ export type { CrawlCursor, IndexedFollow, IndexedRepo, IndexedStar, RepoWithStars, SearchResult, UserProfile, } from './store.js';
12
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/indexer/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC5D,YAAY,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAEjD,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE9D,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,YAAY,EACV,WAAW,EACX,aAAa,EACb,WAAW,EACX,WAAW,EACX,aAAa,EACb,YAAY,EACZ,WAAW,GACZ,MAAM,YAAY,CAAC"}
@@ -0,0 +1,21 @@
1
+ #!/usr/bin/env bun
2
+ /**
3
+ * Indexer entry point — starts the crawler loop and REST API server.
4
+ *
5
+ * Usage:
6
+ * gitd indexer [--port <api-port>] [--interval <seconds>] [--seed <did>]
7
+ *
8
+ * Environment:
9
+ * GITD_PASSWORD Vault password (prompted if not set)
10
+ * GITD_INDEXER_PORT API port (default: 8090)
11
+ * GITD_INDEXER_INTERVAL Crawl interval in seconds (default: 60)
12
+ *
13
+ * The indexer requires a local Web5 agent for signing DWN query
14
+ * messages. On first run it initializes the agent vault. Subsequent
15
+ * runs unlock the existing vault.
16
+ *
17
+ * @module
18
+ */
19
+ import type { AgentContext } from '../cli/agent.js';
20
+ export declare function indexerCommand(ctx: AgentContext, args: string[]): Promise<void>;
21
+ //# sourceMappingURL=main.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../../src/indexer/main.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAWpD,wBAAsB,cAAc,CAAC,GAAG,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAoDrF"}
@@ -0,0 +1,168 @@
1
+ /**
2
+ * In-memory indexer store — maintains materialized views of data
3
+ * crawled from distributed DWN records.
4
+ *
5
+ * Each entity is keyed by a unique composite identifier (DID + recordId
6
+ * or similar) and stored in a Map. Aggregation methods compute star
7
+ * counts, trending scores, search results, etc. on the fly.
8
+ *
9
+ * A production deployment would back this with PostgreSQL or similar,
10
+ * but the in-memory implementation keeps the MVP dependency-free and
11
+ * testable.
12
+ *
13
+ * @module
14
+ */
15
+ /** Indexed repo metadata. */
16
+ export type IndexedRepo = {
17
+ did: string;
18
+ recordId: string;
19
+ contextId: string;
20
+ name: string;
21
+ description: string;
22
+ defaultBranch: string;
23
+ visibility: string;
24
+ language: string;
25
+ topics: string[];
26
+ openIssues: number;
27
+ openPatches: number;
28
+ releaseCount: number;
29
+ lastUpdated: string;
30
+ indexedAt: string;
31
+ };
32
+ /** Indexed star record. */
33
+ export type IndexedStar = {
34
+ starrerDid: string;
35
+ repoDid: string;
36
+ repoRecordId: string;
37
+ dateCreated: string;
38
+ };
39
+ /** Indexed follow record. */
40
+ export type IndexedFollow = {
41
+ followerDid: string;
42
+ targetDid: string;
43
+ dateCreated: string;
44
+ };
45
+ /** Crawl cursor — tracks progress per DID for incremental crawling. */
46
+ export type CrawlCursor = {
47
+ did: string;
48
+ lastCrawled: string;
49
+ };
50
+ /** Aggregated repo view with star count. */
51
+ export type RepoWithStars = IndexedRepo & {
52
+ starCount: number;
53
+ };
54
+ /** Search result with relevance score. */
55
+ export type SearchResult = RepoWithStars & {
56
+ score: number;
57
+ };
58
+ /** User profile summary. */
59
+ export type UserProfile = {
60
+ did: string;
61
+ repoCount: number;
62
+ starCount: number;
63
+ followerCount: number;
64
+ followingCount: number;
65
+ };
66
+ /** Configurable size limits for the in-memory store. */
67
+ export type IndexerStoreLimits = {
68
+ /** Maximum number of tracked DIDs. @default 100_000 */
69
+ maxDids?: number;
70
+ /** Maximum number of indexed repos. @default 100_000 */
71
+ maxRepos?: number;
72
+ /** Maximum number of indexed stars. @default 500_000 */
73
+ maxStars?: number;
74
+ /** Maximum number of indexed follows. @default 500_000 */
75
+ maxFollows?: number;
76
+ };
77
+ /** In-memory indexer store with configurable size limits. */
78
+ export declare class IndexerStore {
79
+ /** Repos keyed by `did:recordId`. */
80
+ private _repos;
81
+ /** Stars keyed by `starrerDid:repoDid:repoRecordId`. */
82
+ private _stars;
83
+ /** Follows keyed by `followerDid:targetDid`. */
84
+ private _follows;
85
+ /** Known DIDs to crawl. */
86
+ private _dids;
87
+ /** Per-DID crawl cursors. */
88
+ private _cursors;
89
+ /** Size limits for LRU-style eviction. */
90
+ private _limits;
91
+ constructor(limits?: IndexerStoreLimits);
92
+ /** Register a DID for crawling. Evicts oldest entry if at capacity. */
93
+ addDid(did: string): void;
94
+ /** Remove a DID from the crawl list. */
95
+ removeDid(did: string): void;
96
+ /** Get all registered DIDs. */
97
+ getDids(): string[];
98
+ /** Get the crawl cursor for a DID. */
99
+ getCursor(did: string): CrawlCursor | undefined;
100
+ /** Update the crawl cursor for a DID. */
101
+ setCursor(did: string, lastCrawled: string): void;
102
+ /** Upsert an indexed repo. Evicts oldest entry if at capacity. */
103
+ putRepo(repo: IndexedRepo): void;
104
+ /** Get an indexed repo by DID (returns first match). */
105
+ getRepo(did: string): IndexedRepo | undefined;
106
+ /** Get all indexed repos. */
107
+ getAllRepos(): IndexedRepo[];
108
+ /** Upsert an indexed star. Evicts oldest entry if at capacity. */
109
+ putStar(star: IndexedStar): void;
110
+ /** Remove a star. */
111
+ removeStar(starrerDid: string, repoDid: string, repoRecordId: string): void;
112
+ /** Get star count for a repo. */
113
+ getStarCount(repoDid: string, repoRecordId: string): number;
114
+ /** Get all stars for a repo. */
115
+ getStarsForRepo(repoDid: string, repoRecordId: string): IndexedStar[];
116
+ /** Get all repos starred by a user. */
117
+ getStarredByUser(did: string): IndexedStar[];
118
+ /** Upsert an indexed follow. Evicts oldest entry if at capacity. */
119
+ putFollow(follow: IndexedFollow): void;
120
+ /** Remove a follow. */
121
+ removeFollow(followerDid: string, targetDid: string): void;
122
+ /** Get follower count for a user. */
123
+ getFollowerCount(did: string): number;
124
+ /** Get following count for a user. */
125
+ getFollowingCount(did: string): number;
126
+ /** Get repos with star counts, sorted by star count descending. */
127
+ getReposWithStars(): RepoWithStars[];
128
+ /**
129
+ * Trending repos — sorted by recent star activity.
130
+ *
131
+ * Trending is computed as the number of stars received within
132
+ * `windowMs` (default: 7 days), weighted by recency.
133
+ */
134
+ getTrending(limit?: number, windowMs?: number): RepoWithStars[];
135
+ /**
136
+ * Search repos by name, description, topics, or language.
137
+ *
138
+ * Returns results sorted by relevance score. Scoring:
139
+ * - Name exact match: 10
140
+ * - Name prefix match: 5
141
+ * - Name substring match: 3
142
+ * - Topic match: 4
143
+ * - Language match: 2
144
+ * - Description substring match: 1
145
+ * - Star count bonus: 0.1 per star (capped at 5)
146
+ */
147
+ search(query: string, limit?: number): SearchResult[];
148
+ /** Get user profile summary. */
149
+ getUserProfile(did: string): UserProfile;
150
+ /**
151
+ * List repos by language, sorted by star count.
152
+ */
153
+ getReposByLanguage(language: string): RepoWithStars[];
154
+ /**
155
+ * List repos by topic, sorted by star count.
156
+ */
157
+ getReposByTopic(topic: string): RepoWithStars[];
158
+ /** Get store statistics. */
159
+ getStats(): {
160
+ dids: number;
161
+ repos: number;
162
+ stars: number;
163
+ follows: number;
164
+ };
165
+ /** Clear all data. */
166
+ clear(): void;
167
+ }
168
+ //# sourceMappingURL=store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../../src/indexer/store.ts"],"names":[],"mappings":"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"}