@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.
- package/LICENSE +177 -0
- package/README.md +134 -0
- package/dist/esm/ci.js +76 -0
- package/dist/esm/ci.js.map +1 -0
- package/dist/esm/cli/agent.js +86 -0
- package/dist/esm/cli/agent.js.map +1 -0
- package/dist/esm/cli/commands/ci.js +278 -0
- package/dist/esm/cli/commands/ci.js.map +1 -0
- package/dist/esm/cli/commands/clone.js +77 -0
- package/dist/esm/cli/commands/clone.js.map +1 -0
- package/dist/esm/cli/commands/daemon.js +132 -0
- package/dist/esm/cli/commands/daemon.js.map +1 -0
- package/dist/esm/cli/commands/github-api.js +36 -0
- package/dist/esm/cli/commands/github-api.js.map +1 -0
- package/dist/esm/cli/commands/init.js +69 -0
- package/dist/esm/cli/commands/init.js.map +1 -0
- package/dist/esm/cli/commands/issue.js +293 -0
- package/dist/esm/cli/commands/issue.js.map +1 -0
- package/dist/esm/cli/commands/log.js +90 -0
- package/dist/esm/cli/commands/log.js.map +1 -0
- package/dist/esm/cli/commands/migrate.js +444 -0
- package/dist/esm/cli/commands/migrate.js.map +1 -0
- package/dist/esm/cli/commands/notification.js +141 -0
- package/dist/esm/cli/commands/notification.js.map +1 -0
- package/dist/esm/cli/commands/org.js +353 -0
- package/dist/esm/cli/commands/org.js.map +1 -0
- package/dist/esm/cli/commands/patch.js +375 -0
- package/dist/esm/cli/commands/patch.js.map +1 -0
- package/dist/esm/cli/commands/registry.js +501 -0
- package/dist/esm/cli/commands/registry.js.map +1 -0
- package/dist/esm/cli/commands/release.js +197 -0
- package/dist/esm/cli/commands/release.js.map +1 -0
- package/dist/esm/cli/commands/repo.js +148 -0
- package/dist/esm/cli/commands/repo.js.map +1 -0
- package/dist/esm/cli/commands/serve.js +148 -0
- package/dist/esm/cli/commands/serve.js.map +1 -0
- package/dist/esm/cli/commands/setup.js +92 -0
- package/dist/esm/cli/commands/setup.js.map +1 -0
- package/dist/esm/cli/commands/shim.js +75 -0
- package/dist/esm/cli/commands/shim.js.map +1 -0
- package/dist/esm/cli/commands/social.js +206 -0
- package/dist/esm/cli/commands/social.js.map +1 -0
- package/dist/esm/cli/commands/web.js +36 -0
- package/dist/esm/cli/commands/web.js.map +1 -0
- package/dist/esm/cli/commands/wiki.js +185 -0
- package/dist/esm/cli/commands/wiki.js.map +1 -0
- package/dist/esm/cli/flags.js +29 -0
- package/dist/esm/cli/flags.js.map +1 -0
- package/dist/esm/cli/main.js +331 -0
- package/dist/esm/cli/main.js.map +1 -0
- package/dist/esm/cli/repo-context.js +53 -0
- package/dist/esm/cli/repo-context.js.map +1 -0
- package/dist/esm/daemon/adapter.js +18 -0
- package/dist/esm/daemon/adapter.js.map +1 -0
- package/dist/esm/daemon/adapters/github.js +112 -0
- package/dist/esm/daemon/adapters/github.js.map +1 -0
- package/dist/esm/daemon/adapters/go.js +51 -0
- package/dist/esm/daemon/adapters/go.js.map +1 -0
- package/dist/esm/daemon/adapters/index.js +32 -0
- package/dist/esm/daemon/adapters/index.js.map +1 -0
- package/dist/esm/daemon/adapters/npm.js +51 -0
- package/dist/esm/daemon/adapters/npm.js.map +1 -0
- package/dist/esm/daemon/adapters/oci.js +62 -0
- package/dist/esm/daemon/adapters/oci.js.map +1 -0
- package/dist/esm/daemon/index.js +12 -0
- package/dist/esm/daemon/index.js.map +1 -0
- package/dist/esm/daemon/server.js +167 -0
- package/dist/esm/daemon/server.js.map +1 -0
- package/dist/esm/git-remote/credential-helper.js +106 -0
- package/dist/esm/git-remote/credential-helper.js.map +1 -0
- package/dist/esm/git-remote/credential-main.js +109 -0
- package/dist/esm/git-remote/credential-main.js.map +1 -0
- package/dist/esm/git-remote/index.js +10 -0
- package/dist/esm/git-remote/index.js.map +1 -0
- package/dist/esm/git-remote/main.js +78 -0
- package/dist/esm/git-remote/main.js.map +1 -0
- package/dist/esm/git-remote/parse-url.js +60 -0
- package/dist/esm/git-remote/parse-url.js.map +1 -0
- package/dist/esm/git-remote/resolve.js +175 -0
- package/dist/esm/git-remote/resolve.js.map +1 -0
- package/dist/esm/git-remote/service.js +82 -0
- package/dist/esm/git-remote/service.js.map +1 -0
- package/dist/esm/git-server/auth.js +211 -0
- package/dist/esm/git-server/auth.js.map +1 -0
- package/dist/esm/git-server/bundle-restore.js +180 -0
- package/dist/esm/git-server/bundle-restore.js.map +1 -0
- package/dist/esm/git-server/bundle-sync.js +233 -0
- package/dist/esm/git-server/bundle-sync.js.map +1 -0
- package/dist/esm/git-server/did-service.js +73 -0
- package/dist/esm/git-server/did-service.js.map +1 -0
- package/dist/esm/git-server/git-backend.js +186 -0
- package/dist/esm/git-server/git-backend.js.map +1 -0
- package/dist/esm/git-server/http-handler.js +295 -0
- package/dist/esm/git-server/http-handler.js.map +1 -0
- package/dist/esm/git-server/index.js +16 -0
- package/dist/esm/git-server/index.js.map +1 -0
- package/dist/esm/git-server/push-authorizer.js +62 -0
- package/dist/esm/git-server/push-authorizer.js.map +1 -0
- package/dist/esm/git-server/ref-sync.js +132 -0
- package/dist/esm/git-server/ref-sync.js.map +1 -0
- package/dist/esm/git-server/server.js +185 -0
- package/dist/esm/git-server/server.js.map +1 -0
- package/dist/esm/git-server/verify.js +109 -0
- package/dist/esm/git-server/verify.js.map +1 -0
- package/dist/esm/github-shim/helpers.js +273 -0
- package/dist/esm/github-shim/helpers.js.map +1 -0
- package/dist/esm/github-shim/index.js +13 -0
- package/dist/esm/github-shim/index.js.map +1 -0
- package/dist/esm/github-shim/issues.js +318 -0
- package/dist/esm/github-shim/issues.js.map +1 -0
- package/dist/esm/github-shim/pulls.js +423 -0
- package/dist/esm/github-shim/pulls.js.map +1 -0
- package/dist/esm/github-shim/releases.js +154 -0
- package/dist/esm/github-shim/releases.js.map +1 -0
- package/dist/esm/github-shim/repos.js +86 -0
- package/dist/esm/github-shim/repos.js.map +1 -0
- package/dist/esm/github-shim/server.js +351 -0
- package/dist/esm/github-shim/server.js.map +1 -0
- package/dist/esm/github-shim/users.js +61 -0
- package/dist/esm/github-shim/users.js.map +1 -0
- package/dist/esm/index.js +26 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/indexer/api.js +132 -0
- package/dist/esm/indexer/api.js.map +1 -0
- package/dist/esm/indexer/crawler.js +256 -0
- package/dist/esm/indexer/crawler.js.map +1 -0
- package/dist/esm/indexer/index.js +9 -0
- package/dist/esm/indexer/index.js.map +1 -0
- package/dist/esm/indexer/main.js +76 -0
- package/dist/esm/indexer/main.js.map +1 -0
- package/dist/esm/indexer/store.js +334 -0
- package/dist/esm/indexer/store.js.map +1 -0
- package/dist/esm/issues.js +133 -0
- package/dist/esm/issues.js.map +1 -0
- package/dist/esm/notifications.js +47 -0
- package/dist/esm/notifications.js.map +1 -0
- package/dist/esm/org.js +90 -0
- package/dist/esm/org.js.map +1 -0
- package/dist/esm/patches.js +136 -0
- package/dist/esm/patches.js.map +1 -0
- package/dist/esm/refs.js +54 -0
- package/dist/esm/refs.js.map +1 -0
- package/dist/esm/registry.js +81 -0
- package/dist/esm/registry.js.map +1 -0
- package/dist/esm/releases.js +78 -0
- package/dist/esm/releases.js.map +1 -0
- package/dist/esm/repo.js +150 -0
- package/dist/esm/repo.js.map +1 -0
- package/dist/esm/resolver/index.js +10 -0
- package/dist/esm/resolver/index.js.map +1 -0
- package/dist/esm/resolver/resolve.js +189 -0
- package/dist/esm/resolver/resolve.js.map +1 -0
- package/dist/esm/resolver/trust-chain.js +155 -0
- package/dist/esm/resolver/trust-chain.js.map +1 -0
- package/dist/esm/resolver/verify.js +186 -0
- package/dist/esm/resolver/verify.js.map +1 -0
- package/dist/esm/shims/go/index.js +9 -0
- package/dist/esm/shims/go/index.js.map +1 -0
- package/dist/esm/shims/go/proxy.js +275 -0
- package/dist/esm/shims/go/proxy.js.map +1 -0
- package/dist/esm/shims/go/server.js +70 -0
- package/dist/esm/shims/go/server.js.map +1 -0
- package/dist/esm/shims/index.js +15 -0
- package/dist/esm/shims/index.js.map +1 -0
- package/dist/esm/shims/npm/index.js +9 -0
- package/dist/esm/shims/npm/index.js.map +1 -0
- package/dist/esm/shims/npm/registry.js +234 -0
- package/dist/esm/shims/npm/registry.js.map +1 -0
- package/dist/esm/shims/npm/server.js +72 -0
- package/dist/esm/shims/npm/server.js.map +1 -0
- package/dist/esm/shims/oci/index.js +9 -0
- package/dist/esm/shims/oci/index.js.map +1 -0
- package/dist/esm/shims/oci/registry.js +276 -0
- package/dist/esm/shims/oci/registry.js.map +1 -0
- package/dist/esm/shims/oci/server.js +82 -0
- package/dist/esm/shims/oci/server.js.map +1 -0
- package/dist/esm/social.js +70 -0
- package/dist/esm/social.js.map +1 -0
- package/dist/esm/web/html.js +123 -0
- package/dist/esm/web/html.js.map +1 -0
- package/dist/esm/web/index.js +7 -0
- package/dist/esm/web/index.js.map +1 -0
- package/dist/esm/web/routes.js +420 -0
- package/dist/esm/web/routes.js.map +1 -0
- package/dist/esm/web/server.js +225 -0
- package/dist/esm/web/server.js.map +1 -0
- package/dist/esm/wiki.js +63 -0
- package/dist/esm/wiki.js.map +1 -0
- package/dist/types/ci.d.ts +203 -0
- package/dist/types/ci.d.ts.map +1 -0
- package/dist/types/cli/agent.d.ts +59 -0
- package/dist/types/cli/agent.d.ts.map +1 -0
- package/dist/types/cli/commands/ci.d.ts +16 -0
- package/dist/types/cli/commands/ci.d.ts.map +1 -0
- package/dist/types/cli/commands/clone.d.ts +13 -0
- package/dist/types/cli/commands/clone.d.ts.map +1 -0
- package/dist/types/cli/commands/daemon.d.ts +29 -0
- package/dist/types/cli/commands/daemon.d.ts.map +1 -0
- package/dist/types/cli/commands/github-api.d.ts +14 -0
- package/dist/types/cli/commands/github-api.d.ts.map +1 -0
- package/dist/types/cli/commands/init.d.ts +11 -0
- package/dist/types/cli/commands/init.d.ts.map +1 -0
- package/dist/types/cli/commands/issue.d.ts +16 -0
- package/dist/types/cli/commands/issue.d.ts.map +1 -0
- package/dist/types/cli/commands/log.d.ts +13 -0
- package/dist/types/cli/commands/log.d.ts.map +1 -0
- package/dist/types/cli/commands/migrate.d.ts +19 -0
- package/dist/types/cli/commands/migrate.d.ts.map +1 -0
- package/dist/types/cli/commands/notification.d.ts +16 -0
- package/dist/types/cli/commands/notification.d.ts.map +1 -0
- package/dist/types/cli/commands/org.d.ts +19 -0
- package/dist/types/cli/commands/org.d.ts.map +1 -0
- package/dist/types/cli/commands/patch.d.ts +17 -0
- package/dist/types/cli/commands/patch.d.ts.map +1 -0
- package/dist/types/cli/commands/registry.d.ts +25 -0
- package/dist/types/cli/commands/registry.d.ts.map +1 -0
- package/dist/types/cli/commands/release.d.ts +13 -0
- package/dist/types/cli/commands/release.d.ts.map +1 -0
- package/dist/types/cli/commands/repo.d.ts +15 -0
- package/dist/types/cli/commands/repo.d.ts.map +1 -0
- package/dist/types/cli/commands/serve.d.ts +22 -0
- package/dist/types/cli/commands/serve.d.ts.map +1 -0
- package/dist/types/cli/commands/setup.d.ts +16 -0
- package/dist/types/cli/commands/setup.d.ts.map +1 -0
- package/dist/types/cli/commands/shim.d.ts +16 -0
- package/dist/types/cli/commands/shim.d.ts.map +1 -0
- package/dist/types/cli/commands/social.d.ts +19 -0
- package/dist/types/cli/commands/social.d.ts.map +1 -0
- package/dist/types/cli/commands/web.d.ts +14 -0
- package/dist/types/cli/commands/web.d.ts.map +1 -0
- package/dist/types/cli/commands/wiki.d.ts +14 -0
- package/dist/types/cli/commands/wiki.d.ts.map +1 -0
- package/dist/types/cli/flags.d.ts +16 -0
- package/dist/types/cli/flags.d.ts.map +1 -0
- package/dist/types/cli/main.d.ts +69 -0
- package/dist/types/cli/main.d.ts.map +1 -0
- package/dist/types/cli/repo-context.d.ts +30 -0
- package/dist/types/cli/repo-context.d.ts.map +1 -0
- package/dist/types/daemon/adapter.d.ts +74 -0
- package/dist/types/daemon/adapter.d.ts.map +1 -0
- package/dist/types/daemon/adapters/github.d.ts +10 -0
- package/dist/types/daemon/adapters/github.d.ts.map +1 -0
- package/dist/types/daemon/adapters/go.d.ts +10 -0
- package/dist/types/daemon/adapters/go.d.ts.map +1 -0
- package/dist/types/daemon/adapters/index.d.ts +22 -0
- package/dist/types/daemon/adapters/index.d.ts.map +1 -0
- package/dist/types/daemon/adapters/npm.d.ts +10 -0
- package/dist/types/daemon/adapters/npm.d.ts.map +1 -0
- package/dist/types/daemon/adapters/oci.d.ts +10 -0
- package/dist/types/daemon/adapters/oci.d.ts.map +1 -0
- package/dist/types/daemon/index.d.ts +14 -0
- package/dist/types/daemon/index.d.ts.map +1 -0
- package/dist/types/daemon/server.d.ts +55 -0
- package/dist/types/daemon/server.d.ts.map +1 -0
- package/dist/types/git-remote/credential-helper.d.ts +49 -0
- package/dist/types/git-remote/credential-helper.d.ts.map +1 -0
- package/dist/types/git-remote/credential-main.d.ts +24 -0
- package/dist/types/git-remote/credential-main.d.ts.map +1 -0
- package/dist/types/git-remote/index.d.ts +10 -0
- package/dist/types/git-remote/index.d.ts.map +1 -0
- package/dist/types/git-remote/main.d.ts +23 -0
- package/dist/types/git-remote/main.d.ts.map +1 -0
- package/dist/types/git-remote/parse-url.d.ts +32 -0
- package/dist/types/git-remote/parse-url.d.ts.map +1 -0
- package/dist/types/git-remote/resolve.d.ts +30 -0
- package/dist/types/git-remote/resolve.d.ts.map +1 -0
- package/dist/types/git-remote/service.d.ts +75 -0
- package/dist/types/git-remote/service.d.ts.map +1 -0
- package/dist/types/git-server/auth.d.ts +129 -0
- package/dist/types/git-server/auth.d.ts.map +1 -0
- package/dist/types/git-server/bundle-restore.d.ts +48 -0
- package/dist/types/git-server/bundle-restore.d.ts.map +1 -0
- package/dist/types/git-server/bundle-sync.d.ts +90 -0
- package/dist/types/git-server/bundle-sync.d.ts.map +1 -0
- package/dist/types/git-server/did-service.d.ts +26 -0
- package/dist/types/git-server/did-service.d.ts.map +1 -0
- package/dist/types/git-server/git-backend.d.ts +84 -0
- package/dist/types/git-server/git-backend.d.ts.map +1 -0
- package/dist/types/git-server/http-handler.d.ts +73 -0
- package/dist/types/git-server/http-handler.d.ts.map +1 -0
- package/dist/types/git-server/index.d.ts +16 -0
- package/dist/types/git-server/index.d.ts.map +1 -0
- package/dist/types/git-server/push-authorizer.d.ts +38 -0
- package/dist/types/git-server/push-authorizer.d.ts.map +1 -0
- package/dist/types/git-server/ref-sync.d.ts +52 -0
- package/dist/types/git-server/ref-sync.d.ts.map +1 -0
- package/dist/types/git-server/server.d.ts +70 -0
- package/dist/types/git-server/server.d.ts.map +1 -0
- package/dist/types/git-server/verify.d.ts +12 -0
- package/dist/types/git-server/verify.d.ts.map +1 -0
- package/dist/types/github-shim/helpers.d.ts +108 -0
- package/dist/types/github-shim/helpers.d.ts.map +1 -0
- package/dist/types/github-shim/index.d.ts +15 -0
- package/dist/types/github-shim/index.d.ts.map +1 -0
- package/dist/types/github-shim/issues.d.ts +24 -0
- package/dist/types/github-shim/issues.d.ts.map +1 -0
- package/dist/types/github-shim/pulls.d.ts +31 -0
- package/dist/types/github-shim/pulls.d.ts.map +1 -0
- package/dist/types/github-shim/releases.d.ts +18 -0
- package/dist/types/github-shim/releases.d.ts.map +1 -0
- package/dist/types/github-shim/repos.d.ts +21 -0
- package/dist/types/github-shim/repos.d.ts.map +1 -0
- package/dist/types/github-shim/server.d.ts +53 -0
- package/dist/types/github-shim/server.d.ts.map +1 -0
- package/dist/types/github-shim/users.d.ts +17 -0
- package/dist/types/github-shim/users.d.ts.map +1 -0
- package/dist/types/index.d.ts +26 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/indexer/api.d.ts +32 -0
- package/dist/types/indexer/api.d.ts.map +1 -0
- package/dist/types/indexer/crawler.d.ts +72 -0
- package/dist/types/indexer/crawler.d.ts.map +1 -0
- package/dist/types/indexer/index.d.ts +12 -0
- package/dist/types/indexer/index.d.ts.map +1 -0
- package/dist/types/indexer/main.d.ts +21 -0
- package/dist/types/indexer/main.d.ts.map +1 -0
- package/dist/types/indexer/store.d.ts +168 -0
- package/dist/types/indexer/store.d.ts.map +1 -0
- package/dist/types/issues.d.ts +395 -0
- package/dist/types/issues.d.ts.map +1 -0
- package/dist/types/notifications.d.ts +93 -0
- package/dist/types/notifications.d.ts.map +1 -0
- package/dist/types/org.d.ts +232 -0
- package/dist/types/org.d.ts.map +1 -0
- package/dist/types/patches.d.ts +410 -0
- package/dist/types/patches.d.ts.map +1 -0
- package/dist/types/refs.d.ts +114 -0
- package/dist/types/refs.d.ts.map +1 -0
- package/dist/types/registry.d.ts +212 -0
- package/dist/types/registry.d.ts.map +1 -0
- package/dist/types/releases.d.ts +204 -0
- package/dist/types/releases.d.ts.map +1 -0
- package/dist/types/repo.d.ts +450 -0
- package/dist/types/repo.d.ts.map +1 -0
- package/dist/types/resolver/index.d.ts +13 -0
- package/dist/types/resolver/index.d.ts.map +1 -0
- package/dist/types/resolver/resolve.d.ts +80 -0
- package/dist/types/resolver/resolve.d.ts.map +1 -0
- package/dist/types/resolver/trust-chain.d.ts +54 -0
- package/dist/types/resolver/trust-chain.d.ts.map +1 -0
- package/dist/types/resolver/verify.d.ts +62 -0
- package/dist/types/resolver/verify.d.ts.map +1 -0
- package/dist/types/shims/go/index.d.ts +11 -0
- package/dist/types/shims/go/index.d.ts.map +1 -0
- package/dist/types/shims/go/proxy.d.ts +51 -0
- package/dist/types/shims/go/proxy.d.ts.map +1 -0
- package/dist/types/shims/go/server.d.ts +23 -0
- package/dist/types/shims/go/server.d.ts.map +1 -0
- package/dist/types/shims/index.d.ts +18 -0
- package/dist/types/shims/index.d.ts.map +1 -0
- package/dist/types/shims/npm/index.d.ts +11 -0
- package/dist/types/shims/npm/index.d.ts.map +1 -0
- package/dist/types/shims/npm/registry.d.ts +46 -0
- package/dist/types/shims/npm/registry.d.ts.map +1 -0
- package/dist/types/shims/npm/server.d.ts +23 -0
- package/dist/types/shims/npm/server.d.ts.map +1 -0
- package/dist/types/shims/oci/index.d.ts +11 -0
- package/dist/types/shims/oci/index.d.ts.map +1 -0
- package/dist/types/shims/oci/registry.d.ts +56 -0
- package/dist/types/shims/oci/registry.d.ts.map +1 -0
- package/dist/types/shims/oci/server.d.ts +23 -0
- package/dist/types/shims/oci/server.d.ts.map +1 -0
- package/dist/types/social.d.ts +162 -0
- package/dist/types/social.d.ts.map +1 -0
- package/dist/types/web/html.d.ts +23 -0
- package/dist/types/web/html.d.ts.map +1 -0
- package/dist/types/web/index.d.ts +8 -0
- package/dist/types/web/index.d.ts.map +1 -0
- package/dist/types/web/routes.d.ts +21 -0
- package/dist/types/web/routes.d.ts.map +1 -0
- package/dist/types/web/server.d.ts +38 -0
- package/dist/types/web/server.d.ts.map +1 -0
- package/dist/types/wiki.d.ts +143 -0
- package/dist/types/wiki.d.ts.map +1 -0
- package/package.json +108 -0
- package/schemas/ci/check-run.json +23 -0
- package/schemas/ci/check-suite.json +23 -0
- package/schemas/issues/assignment.json +17 -0
- package/schemas/issues/comment.json +14 -0
- package/schemas/issues/issue.json +20 -0
- package/schemas/issues/label.json +17 -0
- package/schemas/issues/reaction.json +14 -0
- package/schemas/issues/status-change.json +14 -0
- package/schemas/notifications/notification.json +20 -0
- package/schemas/org/org-member.json +17 -0
- package/schemas/org/org.json +26 -0
- package/schemas/org/team-member.json +17 -0
- package/schemas/org/team.json +17 -0
- package/schemas/patches/merge-result.json +14 -0
- package/schemas/patches/patch-status-change.json +14 -0
- package/schemas/patches/patch.json +20 -0
- package/schemas/patches/review-comment.json +17 -0
- package/schemas/patches/review.json +14 -0
- package/schemas/patches/revision.json +30 -0
- package/schemas/refs/git-ref.json +32 -0
- package/schemas/registry/attestation.json +23 -0
- package/schemas/registry/package-version.json +23 -0
- package/schemas/registry/package.json +32 -0
- package/schemas/releases/release.json +17 -0
- package/schemas/repo/collaborator.json +17 -0
- package/schemas/repo/repo.json +35 -0
- package/schemas/repo/settings.json +39 -0
- package/schemas/repo/topic.json +14 -0
- package/schemas/repo/webhook.json +26 -0
- package/schemas/social/activity.json +23 -0
- package/schemas/social/follow.json +17 -0
- package/schemas/social/star.json +20 -0
- package/schemas/wiki/wiki-history.json +20 -0
- package/schemas/wiki/wiki-page.json +17 -0
- package/src/ci.ts +118 -0
- package/src/cli/agent.ts +117 -0
- package/src/cli/commands/ci.ts +300 -0
- package/src/cli/commands/clone.ts +78 -0
- package/src/cli/commands/daemon.ts +129 -0
- package/src/cli/commands/github-api.ts +30 -0
- package/src/cli/commands/init.ts +69 -0
- package/src/cli/commands/issue.ts +321 -0
- package/src/cli/commands/log.ts +106 -0
- package/src/cli/commands/migrate.ts +525 -0
- package/src/cli/commands/notification.ts +148 -0
- package/src/cli/commands/org.ts +381 -0
- package/src/cli/commands/patch.ts +413 -0
- package/src/cli/commands/registry.ts +542 -0
- package/src/cli/commands/release.ts +189 -0
- package/src/cli/commands/repo.ts +160 -0
- package/src/cli/commands/serve.ts +153 -0
- package/src/cli/commands/setup.ts +97 -0
- package/src/cli/commands/shim.ts +79 -0
- package/src/cli/commands/social.ts +221 -0
- package/src/cli/commands/web.ts +30 -0
- package/src/cli/commands/wiki.ts +199 -0
- package/src/cli/flags.ts +28 -0
- package/src/cli/main.ts +350 -0
- package/src/cli/repo-context.ts +55 -0
- package/src/daemon/adapter.ts +95 -0
- package/src/daemon/adapters/github.ts +86 -0
- package/src/daemon/adapters/go.ts +47 -0
- package/src/daemon/adapters/index.ts +36 -0
- package/src/daemon/adapters/npm.ts +47 -0
- package/src/daemon/adapters/oci.ts +59 -0
- package/src/daemon/index.ts +16 -0
- package/src/daemon/server.ts +204 -0
- package/src/git-remote/credential-helper.ts +114 -0
- package/src/git-remote/credential-main.ts +118 -0
- package/src/git-remote/index.ts +10 -0
- package/src/git-remote/main.ts +74 -0
- package/src/git-remote/parse-url.ts +81 -0
- package/src/git-remote/resolve.ts +207 -0
- package/src/git-remote/service.ts +126 -0
- package/src/git-server/auth.ts +308 -0
- package/src/git-server/bundle-restore.ts +217 -0
- package/src/git-server/bundle-sync.ts +300 -0
- package/src/git-server/did-service.ts +77 -0
- package/src/git-server/git-backend.ts +222 -0
- package/src/git-server/http-handler.ts +386 -0
- package/src/git-server/index.ts +16 -0
- package/src/git-server/push-authorizer.ts +77 -0
- package/src/git-server/ref-sync.ts +166 -0
- package/src/git-server/server.ts +236 -0
- package/src/git-server/verify.ts +116 -0
- package/src/github-shim/helpers.ts +311 -0
- package/src/github-shim/index.ts +35 -0
- package/src/github-shim/issues.ts +389 -0
- package/src/github-shim/pulls.ts +500 -0
- package/src/github-shim/releases.ts +185 -0
- package/src/github-shim/repos.ts +95 -0
- package/src/github-shim/server.ts +334 -0
- package/src/github-shim/users.ts +63 -0
- package/src/index.ts +26 -0
- package/src/indexer/api.ts +162 -0
- package/src/indexer/crawler.ts +290 -0
- package/src/indexer/index.ts +22 -0
- package/src/indexer/main.ts +83 -0
- package/src/indexer/store.ts +408 -0
- package/src/issues.ts +200 -0
- package/src/notifications.ts +80 -0
- package/src/org.ts +147 -0
- package/src/patches.ts +203 -0
- package/src/refs.ts +94 -0
- package/src/registry.ts +132 -0
- package/src/releases.ts +124 -0
- package/src/repo.ts +234 -0
- package/src/resolver/index.ts +42 -0
- package/src/resolver/resolve.ts +244 -0
- package/src/resolver/trust-chain.ts +217 -0
- package/src/resolver/verify.ts +237 -0
- package/src/shims/go/index.ts +14 -0
- package/src/shims/go/proxy.ts +336 -0
- package/src/shims/go/server.ts +82 -0
- package/src/shims/index.ts +20 -0
- package/src/shims/npm/index.ts +14 -0
- package/src/shims/npm/registry.ts +288 -0
- package/src/shims/npm/server.ts +84 -0
- package/src/shims/oci/index.ts +14 -0
- package/src/shims/oci/registry.ts +334 -0
- package/src/shims/oci/server.ts +94 -0
- package/src/social.ts +116 -0
- package/src/web/html.ts +120 -0
- package/src/web/index.ts +8 -0
- package/src/web/routes.ts +449 -0
- package/src/web/server.ts +256 -0
- 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":"AAAA;;;;;;;;;;;;;GAaG;AAMH,6BAA6B;AAC7B,MAAM,MAAM,WAAW,GAAG;IACxB,GAAG,EAAG,MAAM,CAAC;IACb,QAAQ,EAAG,MAAM,CAAC;IAClB,SAAS,EAAG,MAAM,CAAC;IACnB,IAAI,EAAG,MAAM,CAAC;IACd,WAAW,EAAG,MAAM,CAAC;IACrB,aAAa,EAAG,MAAM,CAAC;IACvB,UAAU,EAAG,MAAM,CAAC;IACpB,QAAQ,EAAG,MAAM,CAAC;IAClB,MAAM,EAAG,MAAM,EAAE,CAAC;IAClB,UAAU,EAAG,MAAM,CAAC;IACpB,WAAW,EAAG,MAAM,CAAC;IACrB,YAAY,EAAG,MAAM,CAAC;IACtB,WAAW,EAAG,MAAM,CAAC;IACrB,SAAS,EAAG,MAAM,CAAC;CACpB,CAAC;AAEF,2BAA2B;AAC3B,MAAM,MAAM,WAAW,GAAG;IACxB,UAAU,EAAG,MAAM,CAAC;IACpB,OAAO,EAAG,MAAM,CAAC;IACjB,YAAY,EAAG,MAAM,CAAC;IACtB,WAAW,EAAG,MAAM,CAAC;CACtB,CAAC;AAEF,6BAA6B;AAC7B,MAAM,MAAM,aAAa,GAAG;IAC1B,WAAW,EAAG,MAAM,CAAC;IACrB,SAAS,EAAG,MAAM,CAAC;IACnB,WAAW,EAAG,MAAM,CAAC;CACtB,CAAC;AAEF,uEAAuE;AACvE,MAAM,MAAM,WAAW,GAAG;IACxB,GAAG,EAAG,MAAM,CAAC;IACb,WAAW,EAAG,MAAM,CAAC;CACtB,CAAC;AAEF,4CAA4C;AAC5C,MAAM,MAAM,aAAa,GAAG,WAAW,GAAG;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC;AAEhE,0CAA0C;AAC1C,MAAM,MAAM,YAAY,GAAG,aAAa,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAE7D,4BAA4B;AAC5B,MAAM,MAAM,WAAW,GAAG;IACxB,GAAG,EAAG,MAAM,CAAC;IACb,SAAS,EAAG,MAAM,CAAC;IACnB,SAAS,EAAG,MAAM,CAAC;IACnB,aAAa,EAAG,MAAM,CAAC;IACvB,cAAc,EAAG,MAAM,CAAC;CACzB,CAAC;AAMF,wDAAwD;AACxD,MAAM,MAAM,kBAAkB,GAAG;IAC/B,uDAAuD;IACvD,OAAO,CAAC,EAAG,MAAM,CAAC;IAClB,wDAAwD;IACxD,QAAQ,CAAC,EAAG,MAAM,CAAC;IACnB,wDAAwD;IACxD,QAAQ,CAAC,EAAG,MAAM,CAAC;IACnB,0DAA0D;IAC1D,UAAU,CAAC,EAAG,MAAM,CAAC;CACtB,CAAC;AAaF,6DAA6D;AAC7D,qBAAa,YAAY;IACvB,qCAAqC;IACrC,OAAO,CAAC,MAAM,CAAkC;IAEhD,wDAAwD;IACxD,OAAO,CAAC,MAAM,CAAkC;IAEhD,gDAAgD;IAChD,OAAO,CAAC,QAAQ,CAAoC;IAEpD,2BAA2B;IAC3B,OAAO,CAAC,KAAK,CAAqB;IAElC,6BAA6B;IAC7B,OAAO,CAAC,QAAQ,CAAkC;IAElD,0CAA0C;IAC1C,OAAO,CAAC,OAAO,CAA+B;gBAE3B,MAAM,CAAC,EAAE,kBAAkB;IAQ9C,uEAAuE;IAChE,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAShC,wCAAwC;IACjC,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAInC,+BAA+B;IACxB,OAAO,IAAI,MAAM,EAAE;IAI1B,sCAAsC;IAC/B,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS;IAItD,yCAAyC;IAClC,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI;IAQxD,kEAAkE;IAC3D,OAAO,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI;IAUvC,wDAAwD;IACjD,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS;IAOpD,6BAA6B;IACtB,WAAW,IAAI,WAAW,EAAE;IAQnC,kEAAkE;IAC3D,OAAO,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI;IAUvC,qBAAqB;IACd,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,IAAI;IAIlF,iCAAiC;IAC1B,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM;IAQlE,gCAAgC;IACzB,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,WAAW,EAAE;IAQ5E,uCAAuC;IAChC,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW,EAAE;IAYnD,oEAAoE;IAC7D,SAAS,CAAC,MAAM,EAAE,aAAa,GAAG,IAAI;IAW7C,uBAAuB;IAChB,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;IAIjE,qCAAqC;IAC9B,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAQ5C,sCAAsC;IAC/B,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAY7C,mEAAmE;IAC5D,iBAAiB,IAAI,aAAa,EAAE;IAM3C;;;;;OAKG;IACI,WAAW,CAAC,KAAK,GAAE,MAAW,EAAE,QAAQ,GAAE,MAAgC,GAAG,aAAa,EAAE;IAwBnG;;;;;;;;;;;OAWG;IACI,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,GAAE,MAAW,GAAG,YAAY,EAAE;IA8BhE,gCAAgC;IACzB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW;IAe/C;;OAEG;IACI,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,aAAa,EAAE;IAM5D;;OAEG;IACI,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,aAAa,EAAE;IAMtD,4BAA4B;IACrB,QAAQ,IAAI;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE;IASlF,sBAAsB;IACf,KAAK,IAAI,IAAI;CAOrB"}
|