@useairfoil/producer-github 0.0.1 → 0.0.3

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 (60) hide show
  1. package/LICENSE.txt +201 -0
  2. package/README.md +116 -0
  3. package/dist/index.d.mts +1939 -0
  4. package/dist/index.mjs +3 -0
  5. package/dist/main.d.mts +1 -0
  6. package/dist/main.mjs +700 -0
  7. package/dist/main.mjs.map +1 -0
  8. package/dist/manifest.d.mts +56 -0
  9. package/dist/manifest.mjs +137 -0
  10. package/dist/manifest.mjs.map +1 -0
  11. package/dist/rolldown-runtime-D7D4PA-g.mjs +13 -0
  12. package/dist/src-DKDUc00e.mjs +1563 -0
  13. package/dist/src-DKDUc00e.mjs.map +1 -0
  14. package/package.json +46 -8
  15. package/src/client/auth.ts +113 -0
  16. package/src/client/client.ts +192 -0
  17. package/src/client/constants.ts +4 -0
  18. package/src/connector.ts +97 -0
  19. package/src/create-table.ts +10 -0
  20. package/src/demo/changes.ts +420 -0
  21. package/src/demo/index.ts +59 -0
  22. package/src/demo/setup.ts +34 -0
  23. package/src/demo/shared.ts +101 -0
  24. package/src/index.ts +13 -0
  25. package/src/main.ts +28 -0
  26. package/src/manifest.ts +45 -0
  27. package/src/resources/check-runs.ts +72 -0
  28. package/src/resources/commit-statuses.ts +84 -0
  29. package/src/resources/commits.ts +101 -0
  30. package/src/resources/issue-comments.ts +75 -0
  31. package/src/resources/issues.ts +78 -0
  32. package/src/resources/pull-request-commits.ts +91 -0
  33. package/src/resources/pull-request-review-comments.ts +78 -0
  34. package/src/resources/pull-request-reviews.ts +76 -0
  35. package/src/resources/pull-requests.ts +79 -0
  36. package/src/resources/releases.ts +74 -0
  37. package/src/resources/repositories.ts +101 -0
  38. package/src/resources/shared.ts +480 -0
  39. package/src/resources/workflow-jobs.ts +73 -0
  40. package/src/resources/workflow-runs.ts +70 -0
  41. package/src/sandbox.ts +35 -0
  42. package/src/schemas/check-runs.ts +72 -0
  43. package/src/schemas/commit-statuses.ts +51 -0
  44. package/src/schemas/commits.ts +80 -0
  45. package/src/schemas/events.ts +139 -0
  46. package/src/schemas/issue-comments.ts +48 -0
  47. package/src/schemas/issues.ts +76 -0
  48. package/src/schemas/pull-request-commits.ts +42 -0
  49. package/src/schemas/pull-request-review-comments.ts +85 -0
  50. package/src/schemas/pull-request-reviews.ts +53 -0
  51. package/src/schemas/pull-requests.ts +95 -0
  52. package/src/schemas/releases.ts +70 -0
  53. package/src/schemas/repositories.ts +73 -0
  54. package/src/schemas/shared.ts +76 -0
  55. package/src/schemas/workflow-jobs.ts +78 -0
  56. package/src/schemas/workflow-runs.ts +72 -0
  57. package/src/start.ts +47 -0
  58. package/src/tables.ts +31 -0
  59. package/src/webhook/route.ts +46 -0
  60. package/src/webhook/signature.ts +20 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"main.mjs","names":["ConnectorLayer","GitHubConnector.layerConfig","TelemetryLayer","GitHubConnector.GitHubConnector","GitHubConnector.layerConfig","GitHubConnector.GitHubConnector","packageJson.version"],"sources":["../package.json","../src/tables.ts","../src/create-table.ts","../src/demo/shared.ts","../src/demo/changes.ts","../src/demo/setup.ts","../src/demo/index.ts","../src/sandbox.ts","../src/start.ts","../src/main.ts"],"sourcesContent":["","import type { Schema } from \"effect\";\n\nimport { CheckRunSchema } from \"./schemas/check-runs\";\nimport { CommitStatusSchema } from \"./schemas/commit-statuses\";\nimport { CommitSchema } from \"./schemas/commits\";\nimport { IssueCommentSchema } from \"./schemas/issue-comments\";\nimport { IssueSchema } from \"./schemas/issues\";\nimport { PullRequestCommitSchema } from \"./schemas/pull-request-commits\";\nimport { PullRequestReviewCommentSchema } from \"./schemas/pull-request-review-comments\";\nimport { PullRequestReviewSchema } from \"./schemas/pull-request-reviews\";\nimport { PullRequestSchema } from \"./schemas/pull-requests\";\nimport { ReleaseSchema } from \"./schemas/releases\";\nimport { RepositorySchema } from \"./schemas/repositories\";\nimport { WorkflowJobSchema } from \"./schemas/workflow-jobs\";\nimport { WorkflowRunSchema } from \"./schemas/workflow-runs\";\n\nexport const tableSchemas: Readonly<Record<string, Schema.Top>> = {\n repositories: RepositorySchema,\n issues: IssueSchema,\n pull_requests: PullRequestSchema,\n issue_comments: IssueCommentSchema,\n pull_request_reviews: PullRequestReviewSchema,\n pull_request_review_comments: PullRequestReviewCommentSchema,\n pull_request_commits: PullRequestCommitSchema,\n commits: CommitSchema,\n check_runs: CheckRunSchema,\n commit_statuses: CommitStatusSchema,\n workflow_runs: WorkflowRunSchema,\n workflow_jobs: WorkflowJobSchema,\n releases: ReleaseSchema,\n};\n","import { ConnectorApp, RuntimeConfig } from \"@useairfoil/connector-kit\";\nimport { Command } from \"effect/cli\";\n\nimport { tableSchemas } from \"./tables\";\n\nexport const createTableCommand = ConnectorApp.makeCreateTableCommand(tableSchemas);\n\nexport const setupCommand = ConnectorApp.makeSetupCommand(tableSchemas).pipe(\n Command.provide(RuntimeConfig.layerHosted()),\n);\n","import type { Demo } from \"@useairfoil/connector-kit\";\n\nimport { Duration } from \"effect\";\n\nimport type { CheckRun } from \"../schemas/check-runs\";\nimport type { CommitStatus } from \"../schemas/commit-statuses\";\nimport type { Commit } from \"../schemas/commits\";\nimport type { IssueComment } from \"../schemas/issue-comments\";\nimport type { Issue } from \"../schemas/issues\";\nimport type { PullRequestCommit } from \"../schemas/pull-request-commits\";\nimport type { PullRequestReviewComment } from \"../schemas/pull-request-review-comments\";\nimport type { PullRequestReview } from \"../schemas/pull-request-reviews\";\nimport type { PullRequest } from \"../schemas/pull-requests\";\nimport type { Release } from \"../schemas/releases\";\nimport type { WorkflowJob } from \"../schemas/workflow-jobs\";\nimport type { WorkflowRun } from \"../schemas/workflow-runs\";\n\nexport const day = Duration.toMillis(Duration.days(1));\nexport const minute = Duration.toMillis(Duration.minutes(1));\nexport const org = \"acme-labs\";\n\nexport type Account = { readonly id: bigint; readonly login: string; readonly type: string };\n\nexport const owner: Account = { id: 91_000_000n, login: org, type: \"Organization\" };\n\nexport const people: ReadonlyArray<Account> = [\n \"mara-ellis\",\n \"dkowalski\",\n \"jin-park\",\n \"sofia-rojas\",\n \"tbrennan\",\n \"amir-haddad\",\n \"lucy-chen\",\n \"oscar-mendez\",\n \"priya-nair\",\n \"felix-weber\",\n \"nadia-kova\",\n \"ben-ortiz\",\n].map((login, k) => ({ id: BigInt(50_000_000 + k), login, type: \"User\" }));\n\nexport const actionsBot: Account = { id: 41_898_282n, login: \"github-actions[bot]\", type: \"Bot\" };\n\nexport const repositories = [\n { name: \"api\", language: \"Go\", topics: [\"api\", \"backend\"], description: \"Public REST API\" },\n { name: \"web\", language: \"TypeScript\", topics: [\"frontend\", \"react\"], description: \"Web app\" },\n { name: \"mobile\", language: \"Kotlin\", topics: [\"android\"], description: \"Android app\" },\n { name: \"infra\", language: \"HCL\", topics: [\"terraform\"], description: \"Cloud infrastructure\" },\n { name: \"docs\", language: \"MDX\", topics: [\"documentation\"], description: \"Product docs\" },\n { name: \"sdk-js\", language: \"TypeScript\", topics: [\"sdk\"], description: \"JavaScript SDK\" },\n] as const;\n\ntype RepositoryItem = (typeof repositories)[number];\n\nexport const repositoryId = (r: number) => BigInt(700_000_000 + r);\n\nexport const labels = [\n { id: 6_100_000_001n, name: \"bug\" },\n { id: 6_100_000_002n, name: \"enhancement\" },\n { id: 6_100_000_003n, name: \"documentation\" },\n { id: 6_100_000_004n, name: \"good first issue\" },\n];\n\nexport const verbs = [\"Fix\", \"Add\", \"Improve\", \"Update\", \"Remove\", \"Refactor\", \"Support\"] as const;\n\nexport const paths = [\n \"src/server.ts\",\n \"src/client.ts\",\n \"src/routes/users.ts\",\n \"src/lib/cache.ts\",\n \"README.md\",\n];\n\n// GitHub node IDs are base64 data. A hex form is close enough for demo rows.\nexport const nodeId = (prefix: string, id: bigint) =>\n `${prefix}_kwDO${id.toString(16).toUpperCase()}`;\nexport const urlOf = (repo: RepositoryItem) => `https://github.com/${org}/${repo.name}`;\n\n/** Date helpers for one run. `at` keeps a time from going past now. */\nexport const clock = ({ faker, now }: Demo.DemoContext) => {\n const at = (time: number) => new Date(Math.min(time, now.getTime()));\n\n const later = (from: Date, min: number, max: number) =>\n at(from.getTime() + faker.number.int({ min, max }));\n\n return { at, later };\n};\n\nexport type Rows = {\n readonly issues: Array<Issue>;\n readonly pull_requests: Array<PullRequest>;\n readonly issue_comments: Array<IssueComment>;\n readonly pull_request_reviews: Array<PullRequestReview>;\n readonly pull_request_review_comments: Array<PullRequestReviewComment>;\n readonly pull_request_commits: Array<PullRequestCommit>;\n readonly commits: Array<Commit>;\n readonly check_runs: Array<CheckRun>;\n readonly commit_statuses: Array<CommitStatus>;\n readonly workflow_runs: Array<WorkflowRun>;\n readonly workflow_jobs: Array<WorkflowJob>;\n readonly releases: Array<Release>;\n};\n","import type { Demo } from \"@useairfoil/connector-kit\";\n\nimport type { IssueComment } from \"../schemas/issue-comments\";\n\nimport {\n type Account,\n actionsBot,\n clock,\n day,\n labels,\n minute,\n nodeId,\n org,\n paths,\n people,\n repositories,\n repositoryId,\n type Rows,\n urlOf,\n verbs,\n} from \"./shared\";\n\n/**\n * One group is one change in a repository: an issue, the pull request that\n * fixes it, and its CI.\n */\nexport const changeRows = (index: number, context: Demo.DemoContext): Rows => {\n const { faker, now } = context;\n const { at, later } = clock(context);\n\n const rows: Rows = {\n issues: [],\n pull_requests: [],\n issue_comments: [],\n pull_request_reviews: [],\n pull_request_review_comments: [],\n pull_request_commits: [],\n commits: [],\n check_runs: [],\n commit_statuses: [],\n workflow_runs: [],\n workflow_jobs: [],\n releases: [],\n };\n\n const r = index % repositories.length;\n const repo = repositories[r] ?? repositories[0];\n const repoId = repositoryId(r);\n const round = Math.floor(index / repositories.length);\n\n // Issues and pull requests share one number sequence per repository.\n const issueNumber = BigInt(round * 2 + 1);\n const prNumber = BigInt(round * 2 + 2);\n const id = BigInt(index);\n\n const author = faker.helpers.arrayElement(people);\n const reviewer = faker.helpers.arrayElement(people.filter((person) => person !== author));\n const association = (account: Account) => (account.type === \"Bot\" ? \"NONE\" : \"MEMBER\");\n const title = `${faker.helpers.arrayElement(verbs)} ${faker.hacker.adjective()} ${faker.hacker.noun()} handling`;\n const label = faker.helpers.arrayElement(labels);\n const opened = at(now.getTime() - faker.number.int({ min: day, max: 600 * day }));\n\n const comment = (issueNumber: bigint, n: number, created: Date): IssueComment => {\n const commentId = 1_800_000_000n + id * 10n + BigInt(n);\n const user = faker.helpers.arrayElement(people);\n\n return {\n id: commentId,\n version: created,\n node_id: nodeId(\"IC\", commentId),\n repository_id: repoId,\n issue_number: issueNumber,\n user,\n author_association: association(user),\n body: faker.helpers.arrayElement([\n \"I can reproduce this on the latest release.\",\n \"Thanks for the report. Looking into it.\",\n \"This should be fixed once the pull request lands.\",\n \"Can we add a test for this case?\",\n \"LGTM, thanks!\",\n ]),\n created_at: created,\n html_url: `${urlOf(repo)}/issues/${issueNumber}#issuecomment-${commentId}`,\n };\n };\n\n const fixed = faker.datatype.boolean({ probability: 0.75 });\n\n const issueComments = Array.from({ length: faker.number.int({ max: 3 }) }, (_, n) =>\n comment(issueNumber, n, later(opened, minute, 5 * day)),\n );\n\n rows.issue_comments.push(...issueComments);\n\n // The pull request, from a branch, with one to four commits.\n const branch = `${author.login.split(\"-\")[0]}/${title.toLowerCase().split(\" \").slice(1, 3).join(\"-\")}`;\n const prOpened = later(opened, 60 * minute, 7 * day);\n\n const prState = faker.helpers.weightedArrayElement([\n { weight: 70, value: \"merged\" },\n { weight: 10, value: \"closed\" },\n { weight: 20, value: \"open\" },\n ] as const);\n\n const baseSha = faker.git.commitSha();\n let committed = prOpened;\n\n const shas = Array.from({ length: faker.number.int({ min: 1, max: 4 }) }, (_, n) => {\n committed = later(committed, 10 * minute, day);\n\n return {\n sha: faker.git.commitSha(),\n message: n === 0 ? title : faker.git.commitMessage(),\n at: committed,\n };\n });\n\n const headSha = shas.at(-1)?.sha ?? baseSha;\n const reviewed = later(committed, 30 * minute, 2 * day);\n const closedAt = prState === \"open\" ? null : later(reviewed, 10 * minute, day);\n const mergedAt = prState === \"merged\" ? closedAt : null;\n\n const prComments = Array.from({ length: faker.number.int({ max: 2 }) }, (_, n) =>\n comment(prNumber, 5 + n, later(prOpened, minute, 2 * day)),\n );\n\n rows.issue_comments.push(...prComments);\n\n const prUpdated = new Date(\n Math.max(\n closedAt?.getTime() ?? 0,\n reviewed.getTime(),\n ...prComments.map((row) => row.created_at.getTime()),\n ),\n );\n\n const prId = 1_500_000_000n + id;\n\n rows.pull_requests.push({\n id: prId,\n version: prUpdated,\n node_id: nodeId(\"PR\", prId),\n repository_id: repoId,\n number: prNumber,\n title,\n body: `Fixes #${issueNumber}.\\n\\n${faker.hacker.phrase()}`,\n state: prState === \"open\" ? \"open\" : \"closed\",\n draft: prState === \"open\" && faker.datatype.boolean({ probability: 0.2 }),\n locked: false,\n user: author,\n author_association: \"MEMBER\",\n labels: [label],\n assignees: [author],\n requested_reviewers: prState === \"open\" ? [reviewer] : [],\n milestone: null,\n head: { ref: branch, sha: headSha, label: `${org}:${branch}` },\n base: { ref: \"main\", sha: baseSha, label: `${org}:main` },\n created_at: prOpened,\n closed_at: closedAt,\n merged_at: mergedAt,\n html_url: `${urlOf(repo)}/pull/${prNumber}`,\n });\n\n for (const commit of shas) {\n rows.pull_request_commits.push({\n key: `${repoId}:${prNumber}:${commit.sha}`,\n // Pull request commits take the pull request's version.\n version: prUpdated,\n repository_id: repoId,\n pull_request_number: prNumber,\n sha: commit.sha,\n message: commit.message,\n author: { name: author.login, date: commit.at },\n committer: { name: author.login, date: commit.at },\n author_user: author,\n committer_user: author,\n html_url: `${urlOf(repo)}/commit/${commit.sha}`,\n });\n }\n\n // Reviews have no update time, so their version is the read time.\n const reviewState = faker.helpers.weightedArrayElement([\n { weight: 70, value: \"APPROVED\" },\n { weight: 20, value: \"CHANGES_REQUESTED\" },\n { weight: 10, value: \"COMMENTED\" },\n ] as const);\n\n if (prState !== \"open\" || faker.datatype.boolean({ probability: 0.5 })) {\n const reviewId = 2_400_000_000n + id;\n\n rows.pull_request_reviews.push({\n id: reviewId,\n version: now,\n node_id: nodeId(\"PRR\", reviewId),\n repository_id: repoId,\n pull_request_number: prNumber,\n user: reviewer,\n author_association: \"MEMBER\",\n state: reviewState,\n body: reviewState === \"APPROVED\" ? \"\" : \"A few small things before this lands.\",\n commit_id: headSha,\n submitted_at: reviewed,\n html_url: `${urlOf(repo)}/pull/${prNumber}#pullrequestreview-${reviewId}`,\n });\n\n if (reviewState !== \"APPROVED\") {\n const line = BigInt(faker.number.int({ min: 5, max: 200 }));\n const reviewCommentId = 2_900_000_000n + id;\n\n rows.pull_request_review_comments.push({\n id: reviewCommentId,\n version: reviewed,\n node_id: nodeId(\"PRRC\", reviewCommentId),\n repository_id: repoId,\n pull_request_number: prNumber,\n pull_request_review_id: reviewId,\n user: reviewer,\n author_association: \"MEMBER\",\n body: faker.helpers.arrayElement([\n \"Could this return early instead?\",\n \"Nit: this name is a bit unclear.\",\n \"We should handle the error here.\",\n ]),\n path: faker.helpers.arrayElement(paths),\n commit_id: headSha,\n original_commit_id: headSha,\n diff_hunk: `@@ -${line},6 +${line},8 @@`,\n line,\n original_line: line,\n start_line: null,\n side: \"RIGHT\",\n subject_type: \"line\",\n created_at: reviewed,\n html_url: `${urlOf(repo)}/pull/${prNumber}#discussion_r${reviewCommentId}`,\n });\n }\n }\n\n // CI runs on the head commit: one workflow run with two jobs, and their check runs.\n const ciPassed = faker.datatype.boolean({ probability: 0.85 });\n const runId = 9_000_000_000n + id;\n const runStarted = later(committed, 10_000, minute);\n const workflowId = 60_000_000n + BigInt(r);\n\n rows.workflow_runs.push({\n id: runId,\n version: later(runStarted, 2 * minute, 15 * minute),\n node_id: nodeId(\"WFR\", runId),\n repository_id: repoId,\n workflow_id: workflowId,\n name: \"CI\",\n display_title: title,\n path: \".github/workflows/ci.yml\",\n event: \"pull_request\",\n status: \"completed\",\n conclusion: ciPassed ? \"success\" : \"failure\",\n head_branch: branch,\n head_sha: headSha,\n run_number: BigInt(round + 1),\n run_attempt: 1n,\n check_suite_id: 30_000_000_000n + id,\n actor: author,\n triggering_actor: author,\n pull_requests: [{ id: prId, number: prNumber }],\n created_at: runStarted,\n run_started_at: runStarted,\n html_url: `${urlOf(repo)}/actions/runs/${runId}`,\n });\n\n [\"build\", \"test\"].forEach((name, j) => {\n const jobId = 25_000_000_000n + id * 2n + BigInt(j);\n const started = later(runStarted, 5_000, minute);\n const completed = later(started, minute, 10 * minute);\n const conclusion = ciPassed || name === \"build\" ? \"success\" : \"failure\";\n\n rows.workflow_jobs.push({\n id: jobId,\n version: now,\n node_id: nodeId(\"CR\", jobId),\n repository_id: repoId,\n run_id: runId,\n run_attempt: 1n,\n workflow_name: \"CI\",\n name,\n head_sha: headSha,\n head_branch: branch,\n status: \"completed\",\n conclusion,\n created_at: runStarted,\n started_at: started,\n completed_at: completed,\n runner_name: `GitHub Actions ${faker.number.int({ min: 1, max: 99 })}`,\n labels: [\"ubuntu-latest\"],\n steps: [\"Set up job\", \"Checkout\", `Run ${name}`, \"Complete job\"].map((step, s) => ({\n number: BigInt(s + 1),\n name: step,\n status: \"completed\",\n conclusion: s === 2 ? conclusion : \"success\",\n started_at: started,\n completed_at: completed,\n })),\n html_url: `${urlOf(repo)}/actions/runs/${runId}/job/${jobId}`,\n });\n\n rows.check_runs.push({\n id: jobId,\n version: now,\n node_id: nodeId(\"CR\", jobId),\n repository_id: repoId,\n head_sha: headSha,\n name,\n status: \"completed\",\n conclusion,\n started_at: started,\n completed_at: completed,\n app: { id: 15_368n, name: \"GitHub Actions\" },\n check_suite: { id: 30_000_000_000n + id },\n output: { title: null, summary: null },\n external_id: null,\n details_url: `${urlOf(repo)}/actions/runs/${runId}/job/${jobId}`,\n html_url: `${urlOf(repo)}/actions/runs/${runId}/job/${jobId}`,\n });\n });\n\n // A merged pull request lands as one squashed commit on main, with a deploy status.\n if (mergedAt) {\n const sha = faker.git.commitSha();\n\n rows.commits.push({\n key: `${repoId}:${sha}`,\n // Commits never change, so the version is the commit time.\n version: mergedAt,\n repository_id: repoId,\n sha,\n node_id: nodeId(\"C\", 3_000_000_000n + id),\n message: `${title} (#${prNumber})`,\n author: { name: author.login, date: mergedAt },\n committer: { name: \"GitHub\", date: mergedAt },\n author_user: author,\n committer_user: { id: 19_864_447n, login: \"web-flow\", type: \"User\" },\n parents: [baseSha],\n verified: true,\n html_url: `${urlOf(repo)}/commit/${sha}`,\n });\n\n const statusId = 3_500_000_000n + id;\n const deployed = faker.datatype.boolean({ probability: 0.95 });\n\n rows.commit_statuses.push({\n id: statusId,\n version: later(mergedAt, minute, 10 * minute),\n node_id: nodeId(\"SC\", statusId),\n repository_id: repoId,\n sha,\n state: deployed ? \"success\" : \"failure\",\n context: \"deploy/production\",\n description: deployed ? \"Deployed to production\" : \"Deploy failed\",\n target_url: `https://deploy.example.com/${repo.name}/${sha.slice(0, 7)}`,\n creator: actionsBot,\n created_at: later(mergedAt, minute, 10 * minute),\n });\n }\n\n const issueClosed = fixed && mergedAt ? mergedAt : null;\n const issueId = 1_200_000_000n + id;\n\n rows.issues.push({\n id: issueId,\n version: new Date(\n Math.max(\n opened.getTime(),\n issueClosed?.getTime() ?? 0,\n ...issueComments.map((row) => row.created_at.getTime()),\n ),\n ),\n node_id: nodeId(\"I\", issueId),\n repository_id: repoId,\n number: issueNumber,\n title,\n body: `${faker.hacker.phrase()}\\n\\nSteps to reproduce are in the thread.`,\n state: issueClosed ? \"closed\" : \"open\",\n state_reason: issueClosed ? \"completed\" : null,\n locked: false,\n user: faker.helpers.arrayElement(people),\n author_association: \"MEMBER\",\n labels: [label],\n assignees: [author],\n milestone: null,\n comments: BigInt(issueComments.length),\n created_at: opened,\n closed_at: issueClosed,\n html_url: `${urlOf(repo)}/issues/${issueNumber}`,\n });\n\n // Every fifth round a repository ships a release.\n if (round % 5 === 4 && mergedAt) {\n const releaseId = 4_000_000_000n + id;\n const tag = `v1.${Math.floor(round / 5)}.0`;\n\n rows.releases.push({\n id: releaseId,\n version: mergedAt,\n node_id: nodeId(\"RE\", releaseId),\n repository_id: repoId,\n tag_name: tag,\n target_commitish: \"main\",\n name: tag,\n body: `## What's changed\\n\\n- ${title} (#${prNumber})`,\n draft: false,\n prerelease: false,\n author,\n assets: [],\n created_at: mergedAt,\n published_at: mergedAt,\n html_url: `${urlOf(repo)}/releases/tag/${tag}`,\n });\n }\n\n return rows;\n};\n","import type { Demo } from \"@useairfoil/connector-kit\";\n\nimport type { Repository } from \"../schemas/repositories\";\n\nimport { day, nodeId, org, owner, repositories, repositoryId, urlOf } from \"./shared\";\n\n/** The repositories, written once before any change. */\nexport const setupRows = ({ now }: Demo.DemoContext) => {\n const created = new Date(now.getTime() - 900 * day);\n\n const rows: Array<Repository> = repositories.map((repo, r) => ({\n id: repositoryId(r),\n version: now,\n node_id: nodeId(\"R\", repositoryId(r)),\n name: repo.name,\n full_name: `${org}/${repo.name}`,\n owner,\n private: repo.name !== \"sdk-js\" && repo.name !== \"docs\",\n visibility: repo.name === \"sdk-js\" || repo.name === \"docs\" ? \"public\" : \"private\",\n description: repo.description,\n fork: false,\n archived: false,\n disabled: false,\n default_branch: \"main\",\n language: repo.language,\n topics: [...repo.topics],\n html_url: urlOf(repo),\n created_at: new Date(created.getTime() + r * 30 * day),\n // Deleted repositories can be restored, so live rows say they aren't deleted.\n _deleted: false,\n }));\n\n return { repositories: rows };\n};\n","import { ConnectorApp, Demo, RuntimeConfig } from \"@useairfoil/connector-kit\";\nimport { Command } from \"effect/cli\";\n\nimport { CheckRunSchema } from \"../schemas/check-runs\";\nimport { CommitStatusSchema } from \"../schemas/commit-statuses\";\nimport { CommitSchema } from \"../schemas/commits\";\nimport { IssueCommentSchema } from \"../schemas/issue-comments\";\nimport { IssueSchema } from \"../schemas/issues\";\nimport { PullRequestCommitSchema } from \"../schemas/pull-request-commits\";\nimport { PullRequestReviewCommentSchema } from \"../schemas/pull-request-review-comments\";\nimport { PullRequestReviewSchema } from \"../schemas/pull-request-reviews\";\nimport { PullRequestSchema } from \"../schemas/pull-requests\";\nimport { ReleaseSchema } from \"../schemas/releases\";\nimport { RepositorySchema } from \"../schemas/repositories\";\nimport { WorkflowJobSchema } from \"../schemas/workflow-jobs\";\nimport { WorkflowRunSchema } from \"../schemas/workflow-runs\";\nimport { changeRows } from \"./changes\";\nimport { setupRows } from \"./setup\";\n\nexport const demo = Demo.define({\n name: \"producer-github\",\n setup: {\n tables: [Demo.table({ name: \"repositories\", rowSchema: RepositorySchema, version: \"version\" })],\n rows: setupRows,\n },\n group: {\n tables: [\n Demo.table({ name: \"issues\", rowSchema: IssueSchema, version: \"version\" }),\n Demo.table({ name: \"pull_requests\", rowSchema: PullRequestSchema, version: \"version\" }),\n Demo.table({ name: \"issue_comments\", rowSchema: IssueCommentSchema, version: \"version\" }),\n Demo.table({\n name: \"pull_request_reviews\",\n rowSchema: PullRequestReviewSchema,\n version: \"version\",\n }),\n Demo.table({\n name: \"pull_request_review_comments\",\n rowSchema: PullRequestReviewCommentSchema,\n version: \"version\",\n }),\n Demo.table({\n name: \"pull_request_commits\",\n rowSchema: PullRequestCommitSchema,\n version: \"version\",\n }),\n Demo.table({ name: \"commits\", rowSchema: CommitSchema, version: \"version\" }),\n Demo.table({ name: \"check_runs\", rowSchema: CheckRunSchema, version: \"version\" }),\n Demo.table({ name: \"commit_statuses\", rowSchema: CommitStatusSchema, version: \"version\" }),\n Demo.table({ name: \"workflow_runs\", rowSchema: WorkflowRunSchema, version: \"version\" }),\n Demo.table({ name: \"workflow_jobs\", rowSchema: WorkflowJobSchema, version: \"version\" }),\n Demo.table({ name: \"releases\", rowSchema: ReleaseSchema, version: \"version\" }),\n ],\n rows: changeRows,\n },\n});\n\nexport const demoCommand = ConnectorApp.makeDemoCommand(demo).pipe(\n Command.provide(RuntimeConfig.layerHosted()),\n);\n","import {\n ConnectorApp,\n Ingestor,\n RuntimeConfig,\n StateStore,\n Telemetry,\n} from \"@useairfoil/connector-kit\";\nimport { Effect, Layer, Logger } from \"effect\";\nimport { Command } from \"effect/cli\";\n\nimport { GitHubConnector } from \"./index\";\n\nconst ConnectorLayer = GitHubConnector.layerConfig(GitHubConnector.GitHubConfigDef.config);\n\nconst TelemetryLayer = Layer.mergeAll(Telemetry.layerOtlp(), Telemetry.layerMetricsConsoleDump());\n\nexport const sandboxCommand = Command.make(\"sandbox\", {}, () =>\n Effect.gen(function* () {\n const port = yield* RuntimeConfig.httpPort;\n const entrypoint = yield* GitHubConnector.GitHubConnector;\n\n return yield* ConnectorApp.start(entrypoint, { port });\n }).pipe(\n Effect.annotateLogs({ component: \"github\" }),\n Effect.provide(\n Layer.mergeAll(\n StateStore.layerMemory,\n Ingestor.layerConsole,\n ConnectorLayer,\n Logger.layer([Logger.consolePretty()]),\n TelemetryLayer,\n ),\n ),\n ),\n).pipe(Command.withDescription(\"Run the connector locally and log ingested data\"));\n","import { PgClient } from \"@effect/sql-pg\";\nimport {\n ConnectorApp,\n Ingestor,\n RuntimeConfig,\n StateStore,\n Telemetry,\n} from \"@useairfoil/connector-kit\";\nimport { Config, Effect, Layer, Logger, Schema } from \"effect\";\nimport { Command } from \"effect/cli\";\n\nimport { GitHubConnector } from \"./index\";\n\nconst ConnectorLayer = GitHubConnector.layerConfig(GitHubConnector.GitHubConfigDef.config);\nconst TelemetryLayer = Telemetry.layerOtlp();\nconst PostgresLayer = PgClient.layerConfig({\n url: Config.schema(\n Schema.Redacted(Schema.NonEmptyString),\n RuntimeConfig.PlatformRuntimeKey.postgresConnectionString,\n ),\n maxConnections: Config.succeed(2),\n connectTimeout: Config.succeed(\"5 seconds\"),\n applicationName: Config.succeed(\"airfoil-producer-github\"),\n});\nconst StateStoreLayer = StateStore.layerSql().pipe(Layer.provide(PostgresLayer));\n\nexport const startCommand = Command.make(\"start\", {}, () =>\n Effect.gen(function* () {\n const port = yield* RuntimeConfig.httpPort;\n const entrypoint = yield* GitHubConnector.GitHubConnector;\n\n return yield* ConnectorApp.start(entrypoint, { port }).pipe(\n Effect.provide(Ingestor.layerArrowFlightConfig(entrypoint)),\n );\n }).pipe(\n Effect.annotateLogs({ component: \"github\" }),\n Effect.provide(\n Layer.mergeAll(\n StateStoreLayer,\n ConnectorLayer,\n Logger.layer([Logger.consolePretty()]),\n TelemetryLayer,\n ),\n ),\n Effect.provide(RuntimeConfig.layerHosted()),\n ),\n).pipe(Command.withDescription(\"Run the connector\"));\n","#!/usr/bin/env node\n\nimport { NodeRuntime, NodeServices } from \"@effect/platform-node\";\nimport { Effect, Layer } from \"effect\";\nimport { Command } from \"effect/cli\";\nimport { FetchHttpClient } from \"effect/http\";\n\nimport packageJson from \"../package.json\";\nimport { createTableCommand, setupCommand } from \"./create-table\";\nimport { demoCommand } from \"./demo\";\nimport { sandboxCommand } from \"./sandbox\";\nimport { startCommand } from \"./start\";\n\nconst BootstrapLayer = Layer.mergeAll(FetchHttpClient.layer, NodeServices.layer);\n\nconst program = Command.make(\"producer-github\", {}, () => Effect.void).pipe(\n Command.withSubcommands([\n setupCommand,\n startCommand,\n sandboxCommand,\n createTableCommand,\n demoCommand,\n ]),\n);\n\nconst cli = Command.run(program, { version: packageJson.version });\n\nNodeRuntime.runMain(cli.pipe(Effect.provide(BootstrapLayer), Effect.scoped));\n"],"mappings":"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"}
@@ -0,0 +1,56 @@
1
+ import * as Manifest from "@useairfoil/connector-kit/manifest";
2
+ //#region src/manifest.d.ts
3
+ export declare const GitHubConfigDef: Manifest.ConnectorConfigDef<{
4
+ readonly appClientId: Manifest.ConfigField<string>;
5
+ readonly appPrivateKey: Manifest.ConfigField<import("effect/Redacted").Redacted<string>>;
6
+ readonly installationId: Manifest.ConfigField<number>;
7
+ readonly webhookSecret: Manifest.ConfigField<import("effect/Redacted").Redacted<string>>;
8
+ }>;
9
+ export type GitHubConfig = Manifest.ConfigValuesOf<typeof GitHubConfigDef>;
10
+ export declare const manifest: {
11
+ readonly name: "producer-github";
12
+ readonly title: "GitHub";
13
+ readonly config: readonly Manifest.ConfigFieldSpec[];
14
+ readonly resources: readonly [{
15
+ readonly name: "repositories";
16
+ readonly capabilities: readonly ["backfill", "changes", "webhook"];
17
+ }, {
18
+ readonly name: "issues";
19
+ readonly capabilities: readonly ["backfill", "changes", "webhook"];
20
+ }, {
21
+ readonly name: "pull_requests";
22
+ readonly capabilities: readonly ["backfill", "changes", "webhook"];
23
+ }, {
24
+ readonly name: "issue_comments";
25
+ readonly capabilities: readonly ["backfill", "changes", "webhook"];
26
+ }, {
27
+ readonly name: "pull_request_reviews";
28
+ readonly capabilities: readonly ["backfill", "changes", "webhook"];
29
+ }, {
30
+ readonly name: "pull_request_review_comments";
31
+ readonly capabilities: readonly ["backfill", "changes", "webhook"];
32
+ }, {
33
+ readonly name: "pull_request_commits";
34
+ readonly capabilities: readonly ["backfill", "changes", "webhook"];
35
+ }, {
36
+ readonly name: "commits";
37
+ readonly capabilities: readonly ["backfill", "changes", "webhook"];
38
+ }, {
39
+ readonly name: "check_runs";
40
+ readonly capabilities: readonly ["backfill", "changes", "webhook"];
41
+ }, {
42
+ readonly name: "commit_statuses";
43
+ readonly capabilities: readonly ["backfill", "changes", "webhook"];
44
+ }, {
45
+ readonly name: "workflow_runs";
46
+ readonly capabilities: readonly ["backfill", "changes", "webhook"];
47
+ }, {
48
+ readonly name: "workflow_jobs";
49
+ readonly capabilities: readonly ["backfill", "changes", "webhook"];
50
+ }, {
51
+ readonly name: "releases";
52
+ readonly capabilities: readonly ["backfill", "changes", "webhook"];
53
+ }];
54
+ };
55
+ //#endregion
56
+ //# sourceMappingURL=manifest.d.mts.map
@@ -0,0 +1,137 @@
1
+ import * as Manifest from "@useairfoil/connector-kit/manifest";
2
+ //#region src/manifest.ts
3
+ const GitHubConfigDef = Manifest.defineConfig({
4
+ appClientId: Manifest.string({
5
+ runtimeKey: "GITHUB_APP_CLIENT_ID",
6
+ description: "Client ID of the GitHub App, for example Iv23li..."
7
+ }),
8
+ appPrivateKey: Manifest.secret({
9
+ runtimeKey: "GITHUB_APP_PRIVATE_KEY",
10
+ description: "PEM private key of the GitHub App. Newlines may be written as \\n."
11
+ }),
12
+ installationId: Manifest.number({
13
+ runtimeKey: "GITHUB_INSTALLATION_ID",
14
+ description: "ID of the GitHub App installation to sync.",
15
+ integer: true,
16
+ minimum: 1
17
+ }),
18
+ webhookSecret: Manifest.secret({
19
+ runtimeKey: "GITHUB_WEBHOOK_SECRET",
20
+ description: "Webhook secret of the GitHub App."
21
+ })
22
+ });
23
+ const manifest = Manifest.define({
24
+ name: "producer-github",
25
+ title: "GitHub",
26
+ config: GitHubConfigDef.spec,
27
+ resources: [
28
+ {
29
+ name: "repositories",
30
+ capabilities: [
31
+ "backfill",
32
+ "changes",
33
+ "webhook"
34
+ ]
35
+ },
36
+ {
37
+ name: "issues",
38
+ capabilities: [
39
+ "backfill",
40
+ "changes",
41
+ "webhook"
42
+ ]
43
+ },
44
+ {
45
+ name: "pull_requests",
46
+ capabilities: [
47
+ "backfill",
48
+ "changes",
49
+ "webhook"
50
+ ]
51
+ },
52
+ {
53
+ name: "issue_comments",
54
+ capabilities: [
55
+ "backfill",
56
+ "changes",
57
+ "webhook"
58
+ ]
59
+ },
60
+ {
61
+ name: "pull_request_reviews",
62
+ capabilities: [
63
+ "backfill",
64
+ "changes",
65
+ "webhook"
66
+ ]
67
+ },
68
+ {
69
+ name: "pull_request_review_comments",
70
+ capabilities: [
71
+ "backfill",
72
+ "changes",
73
+ "webhook"
74
+ ]
75
+ },
76
+ {
77
+ name: "pull_request_commits",
78
+ capabilities: [
79
+ "backfill",
80
+ "changes",
81
+ "webhook"
82
+ ]
83
+ },
84
+ {
85
+ name: "commits",
86
+ capabilities: [
87
+ "backfill",
88
+ "changes",
89
+ "webhook"
90
+ ]
91
+ },
92
+ {
93
+ name: "check_runs",
94
+ capabilities: [
95
+ "backfill",
96
+ "changes",
97
+ "webhook"
98
+ ]
99
+ },
100
+ {
101
+ name: "commit_statuses",
102
+ capabilities: [
103
+ "backfill",
104
+ "changes",
105
+ "webhook"
106
+ ]
107
+ },
108
+ {
109
+ name: "workflow_runs",
110
+ capabilities: [
111
+ "backfill",
112
+ "changes",
113
+ "webhook"
114
+ ]
115
+ },
116
+ {
117
+ name: "workflow_jobs",
118
+ capabilities: [
119
+ "backfill",
120
+ "changes",
121
+ "webhook"
122
+ ]
123
+ },
124
+ {
125
+ name: "releases",
126
+ capabilities: [
127
+ "backfill",
128
+ "changes",
129
+ "webhook"
130
+ ]
131
+ }
132
+ ]
133
+ });
134
+ //#endregion
135
+ export { GitHubConfigDef, manifest };
136
+
137
+ //# sourceMappingURL=manifest.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"manifest.mjs","names":[],"sources":["../src/manifest.ts"],"sourcesContent":["import * as Manifest from \"@useairfoil/connector-kit/manifest\";\n\nexport const GitHubConfigDef = Manifest.defineConfig({\n appClientId: Manifest.string({\n runtimeKey: \"GITHUB_APP_CLIENT_ID\",\n description: \"Client ID of the GitHub App, for example Iv23li...\",\n }),\n appPrivateKey: Manifest.secret({\n runtimeKey: \"GITHUB_APP_PRIVATE_KEY\",\n description: \"PEM private key of the GitHub App. Newlines may be written as \\\\n.\",\n }),\n installationId: Manifest.number({\n runtimeKey: \"GITHUB_INSTALLATION_ID\",\n description: \"ID of the GitHub App installation to sync.\",\n integer: true,\n minimum: 1,\n }),\n webhookSecret: Manifest.secret({\n runtimeKey: \"GITHUB_WEBHOOK_SECRET\",\n description: \"Webhook secret of the GitHub App.\",\n }),\n});\n\nexport type GitHubConfig = Manifest.ConfigValuesOf<typeof GitHubConfigDef>;\n\nexport const manifest = Manifest.define({\n name: \"producer-github\",\n title: \"GitHub\",\n config: GitHubConfigDef.spec,\n resources: [\n { name: \"repositories\", capabilities: [\"backfill\", \"changes\", \"webhook\"] },\n { name: \"issues\", capabilities: [\"backfill\", \"changes\", \"webhook\"] },\n { name: \"pull_requests\", capabilities: [\"backfill\", \"changes\", \"webhook\"] },\n { name: \"issue_comments\", capabilities: [\"backfill\", \"changes\", \"webhook\"] },\n { name: \"pull_request_reviews\", capabilities: [\"backfill\", \"changes\", \"webhook\"] },\n { name: \"pull_request_review_comments\", capabilities: [\"backfill\", \"changes\", \"webhook\"] },\n { name: \"pull_request_commits\", capabilities: [\"backfill\", \"changes\", \"webhook\"] },\n { name: \"commits\", capabilities: [\"backfill\", \"changes\", \"webhook\"] },\n { name: \"check_runs\", capabilities: [\"backfill\", \"changes\", \"webhook\"] },\n { name: \"commit_statuses\", capabilities: [\"backfill\", \"changes\", \"webhook\"] },\n { name: \"workflow_runs\", capabilities: [\"backfill\", \"changes\", \"webhook\"] },\n { name: \"workflow_jobs\", capabilities: [\"backfill\", \"changes\", \"webhook\"] },\n { name: \"releases\", capabilities: [\"backfill\", \"changes\", \"webhook\"] },\n ],\n});\n"],"mappings":";;AAEA,MAAa,kBAAkB,SAAS,aAAa;CACnD,aAAa,SAAS,OAAO;EAC3B,YAAY;EACZ,aAAa;CACf,CAAC;CACD,eAAe,SAAS,OAAO;EAC7B,YAAY;EACZ,aAAa;CACf,CAAC;CACD,gBAAgB,SAAS,OAAO;EAC9B,YAAY;EACZ,aAAa;EACb,SAAS;EACT,SAAS;CACX,CAAC;CACD,eAAe,SAAS,OAAO;EAC7B,YAAY;EACZ,aAAa;CACf,CAAC;AACH,CAAC;AAID,MAAa,WAAW,SAAS,OAAO;CACtC,MAAM;CACN,OAAO;CACP,QAAQ,gBAAgB;CACxB,WAAW;EACT;GAAE,MAAM;GAAgB,cAAc;IAAC;IAAY;IAAW;GAAS;EAAE;EACzE;GAAE,MAAM;GAAU,cAAc;IAAC;IAAY;IAAW;GAAS;EAAE;EACnE;GAAE,MAAM;GAAiB,cAAc;IAAC;IAAY;IAAW;GAAS;EAAE;EAC1E;GAAE,MAAM;GAAkB,cAAc;IAAC;IAAY;IAAW;GAAS;EAAE;EAC3E;GAAE,MAAM;GAAwB,cAAc;IAAC;IAAY;IAAW;GAAS;EAAE;EACjF;GAAE,MAAM;GAAgC,cAAc;IAAC;IAAY;IAAW;GAAS;EAAE;EACzF;GAAE,MAAM;GAAwB,cAAc;IAAC;IAAY;IAAW;GAAS;EAAE;EACjF;GAAE,MAAM;GAAW,cAAc;IAAC;IAAY;IAAW;GAAS;EAAE;EACpE;GAAE,MAAM;GAAc,cAAc;IAAC;IAAY;IAAW;GAAS;EAAE;EACvE;GAAE,MAAM;GAAmB,cAAc;IAAC;IAAY;IAAW;GAAS;EAAE;EAC5E;GAAE,MAAM;GAAiB,cAAc;IAAC;IAAY;IAAW;GAAS;EAAE;EAC1E;GAAE,MAAM;GAAiB,cAAc;IAAC;IAAY;IAAW;GAAS;EAAE;EAC1E;GAAE,MAAM;GAAY,cAAc;IAAC;IAAY;IAAW;GAAS;EAAE;CACvE;AACF,CAAC"}
@@ -0,0 +1,13 @@
1
+ //#region \0rolldown/runtime.js
2
+ var __defProp = Object.defineProperty;
3
+ var __exportAll = (all, no_symbols) => {
4
+ let target = {};
5
+ for (var name in all) __defProp(target, name, {
6
+ get: all[name],
7
+ enumerable: true
8
+ });
9
+ if (!no_symbols) __defProp(target, Symbol.toStringTag, { value: "Module" });
10
+ return target;
11
+ };
12
+ //#endregion
13
+ export { __exportAll as t };