@volter/twin-github 0.1.1 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +88 -36
- package/client/github-mirror.css +277 -319
- package/client/github-mirror.d.ts +418 -0
- package/client/github-mirror.js +485 -0
- package/client/github-mirror.tsx +153 -357
- package/client/pulls-rest.ts +159 -0
- package/client/pulls-workspace.tsx +841 -0
- package/dist/client/github-mirror.bundle.js +239 -0
- package/dist/client/github-mirror.css +916 -0
- package/dist/client/github-mirror.d.ts +418 -0
- package/dist/client/github-mirror.js +485 -0
- package/dist/client/github-mirror.tsx +1315 -0
- package/dist/client/pulls-rest.d.ts +42 -0
- package/dist/client/pulls-rest.js +140 -0
- package/dist/client/pulls-rest.ts +159 -0
- package/dist/client/pulls-workspace.bundle.js +22 -0
- package/dist/client/pulls-workspace.d.ts +114 -0
- package/dist/client/pulls-workspace.js +418 -0
- package/dist/client/pulls-workspace.tsx +841 -0
- package/dist/src/cli.d.ts +2 -0
- package/dist/src/cli.js +40 -0
- package/dist/src/generated/graphql-sdl.gen.json +1 -0
- package/dist/src/generated/graphql.gen.json +1 -0
- package/dist/src/generated/surface.gen.json +1 -0
- package/dist/src/generated/ui.gen.json +1 -0
- package/dist/src/github-budget.d.ts +69 -0
- package/dist/src/github-budget.js +172 -0
- package/dist/src/github-capabilities.d.ts +5 -0
- package/dist/src/github-capabilities.js +4468 -0
- package/dist/src/github-conformance.d.ts +43 -0
- package/dist/src/github-conformance.js +76 -0
- package/dist/src/github-connector.d.ts +307 -0
- package/dist/src/github-connector.js +1398 -0
- package/dist/src/github-events.d.ts +41 -0
- package/dist/src/github-events.js +230 -0
- package/dist/src/github-git-http.d.ts +49 -0
- package/dist/src/github-git-http.js +185 -0
- package/dist/src/github-git-plane.d.ts +114 -0
- package/dist/src/github-git-plane.js +407 -0
- package/dist/src/github-mirror-state.d.ts +2 -0
- package/dist/src/github-mirror-state.js +335 -0
- package/dist/src/github-mirror-ui.d.ts +20 -0
- package/dist/src/github-mirror-ui.js +101 -0
- package/dist/src/github-server.d.ts +14 -0
- package/dist/src/github-server.js +240 -0
- package/dist/src/github-shared.d.ts +12 -0
- package/dist/src/github-shared.js +21 -0
- package/dist/src/github-twin.d.ts +1411 -0
- package/dist/src/github-twin.js +4084 -0
- package/dist/src/github-ui-conformance.d.ts +4 -0
- package/dist/src/github-ui-conformance.js +105 -0
- package/dist/src/github-ui-structure.d.ts +18 -0
- package/dist/src/github-ui-structure.js +251 -0
- package/dist/src/graphql-wire.d.ts +22 -0
- package/dist/src/graphql-wire.js +89 -0
- package/dist/src/index.d.ts +17 -0
- package/dist/src/index.js +101 -0
- package/dist/src/manifest.d.ts +8 -0
- package/dist/src/manifest.js +597 -0
- package/dist/src/npm-registry.d.ts +7 -0
- package/dist/src/npm-registry.js +47 -0
- package/dist/src/screens/app-installation.d.ts +3 -0
- package/dist/src/screens/app-installation.js +166 -0
- package/dist/src/screens/app-manifest.d.ts +3 -0
- package/dist/src/screens/app-manifest.js +81 -0
- package/dist/src/screens/oauth.d.ts +15 -0
- package/dist/src/screens/oauth.js +257 -0
- package/dist/src/screens/session.d.ts +8 -0
- package/dist/src/screens/session.js +159 -0
- package/dist/src/semantics/actions.d.ts +2 -0
- package/dist/src/semantics/actions.js +413 -0
- package/dist/src/semantics/activity.d.ts +4 -0
- package/dist/src/semantics/activity.js +161 -0
- package/dist/src/semantics/apps.d.ts +2 -0
- package/dist/src/semantics/apps.js +144 -0
- package/dist/src/semantics/branches.d.ts +2 -0
- package/dist/src/semantics/branches.js +136 -0
- package/dist/src/semantics/checks.d.ts +2 -0
- package/dist/src/semantics/checks.js +176 -0
- package/dist/src/semantics/code-scanning-upload.d.ts +2 -0
- package/dist/src/semantics/code-scanning-upload.js +97 -0
- package/dist/src/semantics/codespaces.d.ts +2 -0
- package/dist/src/semantics/codespaces.js +58 -0
- package/dist/src/semantics/commits.d.ts +2 -0
- package/dist/src/semantics/commits.js +109 -0
- package/dist/src/semantics/contents.d.ts +2 -0
- package/dist/src/semantics/contents.js +131 -0
- package/dist/src/semantics/deployments.d.ts +2 -0
- package/dist/src/semantics/deployments.js +127 -0
- package/dist/src/semantics/gists.d.ts +2 -0
- package/dist/src/semantics/gists.js +86 -0
- package/dist/src/semantics/git.d.ts +2 -0
- package/dist/src/semantics/git.js +235 -0
- package/dist/src/semantics/graphql.d.ts +7 -0
- package/dist/src/semantics/graphql.js +512 -0
- package/dist/src/semantics/index.d.ts +5 -0
- package/dist/src/semantics/index.js +62 -0
- package/dist/src/semantics/issues.d.ts +2 -0
- package/dist/src/semantics/issues.js +456 -0
- package/dist/src/semantics/keys.d.ts +2 -0
- package/dist/src/semantics/keys.js +66 -0
- package/dist/src/semantics/labels.d.ts +2 -0
- package/dist/src/semantics/labels.js +100 -0
- package/dist/src/semantics/meta.d.ts +12 -0
- package/dist/src/semantics/meta.js +144 -0
- package/dist/src/semantics/notifications.d.ts +4 -0
- package/dist/src/semantics/notifications.js +62 -0
- package/dist/src/semantics/orgs.d.ts +2 -0
- package/dist/src/semantics/orgs.js +420 -0
- package/dist/src/semantics/packages.d.ts +2 -0
- package/dist/src/semantics/packages.js +55 -0
- package/dist/src/semantics/pages.d.ts +2 -0
- package/dist/src/semantics/pages.js +176 -0
- package/dist/src/semantics/projects.d.ts +2 -0
- package/dist/src/semantics/projects.js +239 -0
- package/dist/src/semantics/pulls.d.ts +2 -0
- package/dist/src/semantics/pulls.js +462 -0
- package/dist/src/semantics/push-reactions.d.ts +101 -0
- package/dist/src/semantics/push-reactions.js +513 -0
- package/dist/src/semantics/releases.d.ts +19 -0
- package/dist/src/semantics/releases.js +231 -0
- package/dist/src/semantics/repo-invitations.d.ts +2 -0
- package/dist/src/semantics/repo-invitations.js +98 -0
- package/dist/src/semantics/repos.d.ts +17 -0
- package/dist/src/semantics/repos.js +390 -0
- package/dist/src/semantics/rulesets.d.ts +2 -0
- package/dist/src/semantics/rulesets.js +111 -0
- package/dist/src/semantics/search.d.ts +2 -0
- package/dist/src/semantics/search.js +84 -0
- package/dist/src/semantics/security.d.ts +2 -0
- package/dist/src/semantics/security.js +177 -0
- package/dist/src/semantics/shared.d.ts +61 -0
- package/dist/src/semantics/shared.js +151 -0
- package/dist/src/semantics/users.d.ts +2 -0
- package/dist/src/semantics/users.js +255 -0
- package/dist/src/semantics/webhooks.d.ts +2 -0
- package/dist/src/semantics/webhooks.js +107 -0
- package/dist/test-fixtures/github-a11y-reference.pr-list.SOURCE.md +56 -0
- package/dist/test-fixtures/github-a11y-reference.pr-list.json +1447 -0
- package/dist/test-fixtures/github-comment-schema.SOURCE.md +11 -0
- package/dist/test-fixtures/github-comment-schema.json +702 -0
- package/dist/test-fixtures/github-known-deviations.json +94 -0
- package/dist/test-fixtures/github-openapi-operations.SOURCE.md +76 -0
- package/dist/test-fixtures/github-openapi-operations.json +362 -0
- package/dist/test-fixtures/github-pull-schema.SOURCE.md +37 -0
- package/dist/test-fixtures/github-pull-schema.json +3601 -0
- package/dist/test-fixtures/github-review-schema.SOURCE.md +12 -0
- package/dist/test-fixtures/github-review-schema.json +236 -0
- package/package.json +20 -11
- package/src/cli.ts +7 -6
- package/src/generated/graphql-sdl.gen.json +1 -0
- package/src/generated/graphql.gen.json +1 -0
- package/src/generated/surface.gen.json +1 -0
- package/src/generated/ui.gen.json +1 -0
- package/src/github-a11y-snapshot.uitest.ts +5 -5
- package/src/github-budget.ts +4 -4
- package/src/github-capabilities.ts +1993 -556
- package/src/github-conformance.ts +12 -7
- package/src/github-connector.ts +108 -96
- package/src/github-events.ts +223 -95
- package/src/github-git-http.ts +47 -83
- package/src/github-git-plane.ts +247 -385
- package/src/github-journey.uitest.ts +28 -44
- package/src/github-mirror-state.ts +23 -61
- package/src/github-mirror-ui.ts +16 -10
- package/src/github-server.ts +158 -60
- package/src/github-shared.ts +1 -1
- package/src/github-twin.ts +1525 -4494
- package/src/github-ui-conformance.ts +7 -8
- package/src/github-ui-structure.ts +19 -18
- package/src/graphql-wire.ts +115 -0
- package/src/index.ts +47 -7
- package/src/manifest.ts +605 -0
- package/src/npm-registry.ts +43 -0
- package/src/screens/app-installation.tsx +217 -0
- package/src/screens/app-manifest.tsx +97 -0
- package/src/screens/oauth.tsx +258 -0
- package/src/screens/session.tsx +186 -0
- package/src/semantics/actions.ts +395 -0
- package/src/semantics/activity.ts +171 -0
- package/src/semantics/apps.ts +133 -0
- package/src/semantics/branches.ts +133 -0
- package/src/semantics/checks.ts +163 -0
- package/src/semantics/code-scanning-upload.ts +92 -0
- package/src/semantics/codespaces.ts +58 -0
- package/src/semantics/commits.ts +109 -0
- package/src/semantics/contents.ts +112 -0
- package/src/semantics/deployments.ts +116 -0
- package/src/semantics/gists.ts +85 -0
- package/src/semantics/git.ts +226 -0
- package/src/semantics/graphql.ts +505 -0
- package/src/semantics/index.ts +68 -0
- package/src/semantics/issues.ts +434 -0
- package/src/semantics/keys.ts +66 -0
- package/src/semantics/labels.ts +91 -0
- package/src/semantics/meta.ts +139 -0
- package/src/semantics/notifications.ts +58 -0
- package/src/semantics/orgs.ts +383 -0
- package/src/semantics/packages.ts +59 -0
- package/src/semantics/pages.ts +154 -0
- package/src/semantics/projects.ts +246 -0
- package/src/semantics/pulls.ts +421 -0
- package/src/semantics/push-reactions.ts +471 -0
- package/src/semantics/releases.ts +213 -0
- package/src/semantics/repo-invitations.ts +112 -0
- package/src/semantics/repos.ts +373 -0
- package/src/semantics/rulesets.ts +107 -0
- package/src/semantics/search.ts +83 -0
- package/src/semantics/security.ts +153 -0
- package/src/semantics/shared.ts +181 -0
- package/src/semantics/users.ts +252 -0
- package/src/semantics/webhooks.ts +101 -0
- package/test-fixtures/github-known-deviations.json +7 -8
- package/test-fixtures/github-openapi-operations.json +46 -227
- package/src/github-graphql.ts +0 -398
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
# github-review-schema.json — provenance
|
|
2
|
+
|
|
3
|
+
GitHub's **pull-request-review** object schema (the `POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews`
|
|
4
|
+
200 response), used by the GitHub twin's spec-conformance gate for review-submission responses.
|
|
5
|
+
|
|
6
|
+
- **Source:** `github/rest-api-description` dereferenced OpenAPI (MIT) — fetched 2026-06-14
|
|
7
|
+
- **Path:** `paths["/repos/{owner}/{repo}/pulls/{pull_number}/reviews"].post.responses["200"].content["application/json"].schema`
|
|
8
|
+
|
|
9
|
+
The twin emits an INTEGER `id` (from its local sequence — real GitHub ids are integers; the
|
|
10
|
+
twin once returned the string `"review:N"`). `node_id`/`_links`/`author_association` are declared
|
|
11
|
+
evidence-twin scope in `github-known-deviations.json`. Refresh: re-extract and re-run
|
|
12
|
+
`bun test src/github-conformance.test.ts`.
|
|
@@ -0,0 +1,236 @@
|
|
|
1
|
+
{
|
|
2
|
+
"title": "Pull Request Review",
|
|
3
|
+
"description": "Pull Request Reviews are reviews on pull requests.",
|
|
4
|
+
"type": "object",
|
|
5
|
+
"properties": {
|
|
6
|
+
"id": {
|
|
7
|
+
"description": "Unique identifier of the review",
|
|
8
|
+
"example": 42,
|
|
9
|
+
"type": "integer",
|
|
10
|
+
"format": "int64"
|
|
11
|
+
},
|
|
12
|
+
"node_id": {
|
|
13
|
+
"type": "string",
|
|
14
|
+
"example": "MDE3OlB1bGxSZXF1ZXN0UmV2aWV3ODA="
|
|
15
|
+
},
|
|
16
|
+
"user": {
|
|
17
|
+
"title": "Simple User",
|
|
18
|
+
"description": "A GitHub user.",
|
|
19
|
+
"type": "object",
|
|
20
|
+
"properties": {
|
|
21
|
+
"name": {
|
|
22
|
+
"nullable": true,
|
|
23
|
+
"type": "string"
|
|
24
|
+
},
|
|
25
|
+
"email": {
|
|
26
|
+
"nullable": true,
|
|
27
|
+
"type": "string"
|
|
28
|
+
},
|
|
29
|
+
"login": {
|
|
30
|
+
"type": "string",
|
|
31
|
+
"example": "octocat"
|
|
32
|
+
},
|
|
33
|
+
"id": {
|
|
34
|
+
"type": "integer",
|
|
35
|
+
"format": "int64",
|
|
36
|
+
"example": 1
|
|
37
|
+
},
|
|
38
|
+
"node_id": {
|
|
39
|
+
"type": "string",
|
|
40
|
+
"example": "MDQ6VXNlcjE="
|
|
41
|
+
},
|
|
42
|
+
"avatar_url": {
|
|
43
|
+
"type": "string",
|
|
44
|
+
"format": "uri",
|
|
45
|
+
"example": "https://github.com/images/error/octocat_happy.gif"
|
|
46
|
+
},
|
|
47
|
+
"gravatar_id": {
|
|
48
|
+
"type": "string",
|
|
49
|
+
"example": "41d064eb2195891e12d0413f63227ea7",
|
|
50
|
+
"nullable": true
|
|
51
|
+
},
|
|
52
|
+
"url": {
|
|
53
|
+
"type": "string",
|
|
54
|
+
"format": "uri",
|
|
55
|
+
"example": "https://api.github.com/users/octocat"
|
|
56
|
+
},
|
|
57
|
+
"html_url": {
|
|
58
|
+
"type": "string",
|
|
59
|
+
"format": "uri",
|
|
60
|
+
"example": "https://github.com/octocat"
|
|
61
|
+
},
|
|
62
|
+
"followers_url": {
|
|
63
|
+
"type": "string",
|
|
64
|
+
"format": "uri",
|
|
65
|
+
"example": "https://api.github.com/users/octocat/followers"
|
|
66
|
+
},
|
|
67
|
+
"following_url": {
|
|
68
|
+
"type": "string",
|
|
69
|
+
"example": "https://api.github.com/users/octocat/following{/other_user}"
|
|
70
|
+
},
|
|
71
|
+
"gists_url": {
|
|
72
|
+
"type": "string",
|
|
73
|
+
"example": "https://api.github.com/users/octocat/gists{/gist_id}"
|
|
74
|
+
},
|
|
75
|
+
"starred_url": {
|
|
76
|
+
"type": "string",
|
|
77
|
+
"example": "https://api.github.com/users/octocat/starred{/owner}{/repo}"
|
|
78
|
+
},
|
|
79
|
+
"subscriptions_url": {
|
|
80
|
+
"type": "string",
|
|
81
|
+
"format": "uri",
|
|
82
|
+
"example": "https://api.github.com/users/octocat/subscriptions"
|
|
83
|
+
},
|
|
84
|
+
"organizations_url": {
|
|
85
|
+
"type": "string",
|
|
86
|
+
"format": "uri",
|
|
87
|
+
"example": "https://api.github.com/users/octocat/orgs"
|
|
88
|
+
},
|
|
89
|
+
"repos_url": {
|
|
90
|
+
"type": "string",
|
|
91
|
+
"format": "uri",
|
|
92
|
+
"example": "https://api.github.com/users/octocat/repos"
|
|
93
|
+
},
|
|
94
|
+
"events_url": {
|
|
95
|
+
"type": "string",
|
|
96
|
+
"example": "https://api.github.com/users/octocat/events{/privacy}"
|
|
97
|
+
},
|
|
98
|
+
"received_events_url": {
|
|
99
|
+
"type": "string",
|
|
100
|
+
"format": "uri",
|
|
101
|
+
"example": "https://api.github.com/users/octocat/received_events"
|
|
102
|
+
},
|
|
103
|
+
"type": {
|
|
104
|
+
"type": "string",
|
|
105
|
+
"example": "User"
|
|
106
|
+
},
|
|
107
|
+
"site_admin": {
|
|
108
|
+
"type": "boolean"
|
|
109
|
+
},
|
|
110
|
+
"starred_at": {
|
|
111
|
+
"type": "string",
|
|
112
|
+
"example": "\"2020-07-09T00:17:55Z\""
|
|
113
|
+
},
|
|
114
|
+
"user_view_type": {
|
|
115
|
+
"type": "string",
|
|
116
|
+
"example": "public"
|
|
117
|
+
}
|
|
118
|
+
},
|
|
119
|
+
"required": [
|
|
120
|
+
"avatar_url",
|
|
121
|
+
"events_url",
|
|
122
|
+
"followers_url",
|
|
123
|
+
"following_url",
|
|
124
|
+
"gists_url",
|
|
125
|
+
"gravatar_id",
|
|
126
|
+
"html_url",
|
|
127
|
+
"id",
|
|
128
|
+
"node_id",
|
|
129
|
+
"login",
|
|
130
|
+
"organizations_url",
|
|
131
|
+
"received_events_url",
|
|
132
|
+
"repos_url",
|
|
133
|
+
"site_admin",
|
|
134
|
+
"starred_url",
|
|
135
|
+
"subscriptions_url",
|
|
136
|
+
"type",
|
|
137
|
+
"url"
|
|
138
|
+
],
|
|
139
|
+
"nullable": true
|
|
140
|
+
},
|
|
141
|
+
"body": {
|
|
142
|
+
"description": "The text of the review.",
|
|
143
|
+
"example": "This looks great.",
|
|
144
|
+
"type": "string"
|
|
145
|
+
},
|
|
146
|
+
"state": {
|
|
147
|
+
"type": "string",
|
|
148
|
+
"example": "CHANGES_REQUESTED"
|
|
149
|
+
},
|
|
150
|
+
"html_url": {
|
|
151
|
+
"type": "string",
|
|
152
|
+
"format": "uri",
|
|
153
|
+
"example": "https://github.com/octocat/Hello-World/pull/12#pullrequestreview-80"
|
|
154
|
+
},
|
|
155
|
+
"pull_request_url": {
|
|
156
|
+
"type": "string",
|
|
157
|
+
"format": "uri",
|
|
158
|
+
"example": "https://api.github.com/repos/octocat/Hello-World/pulls/12"
|
|
159
|
+
},
|
|
160
|
+
"_links": {
|
|
161
|
+
"type": "object",
|
|
162
|
+
"properties": {
|
|
163
|
+
"html": {
|
|
164
|
+
"type": "object",
|
|
165
|
+
"properties": {
|
|
166
|
+
"href": {
|
|
167
|
+
"type": "string"
|
|
168
|
+
}
|
|
169
|
+
},
|
|
170
|
+
"required": [
|
|
171
|
+
"href"
|
|
172
|
+
]
|
|
173
|
+
},
|
|
174
|
+
"pull_request": {
|
|
175
|
+
"type": "object",
|
|
176
|
+
"properties": {
|
|
177
|
+
"href": {
|
|
178
|
+
"type": "string"
|
|
179
|
+
}
|
|
180
|
+
},
|
|
181
|
+
"required": [
|
|
182
|
+
"href"
|
|
183
|
+
]
|
|
184
|
+
}
|
|
185
|
+
},
|
|
186
|
+
"required": [
|
|
187
|
+
"html",
|
|
188
|
+
"pull_request"
|
|
189
|
+
]
|
|
190
|
+
},
|
|
191
|
+
"submitted_at": {
|
|
192
|
+
"type": "string",
|
|
193
|
+
"format": "date-time"
|
|
194
|
+
},
|
|
195
|
+
"commit_id": {
|
|
196
|
+
"description": "A commit SHA for the review. If the commit object was garbage collected or forcibly deleted, then it no longer exists in Git and this value will be `null`.",
|
|
197
|
+
"example": "54bb654c9e6025347f57900a4a5c2313a96b8035",
|
|
198
|
+
"type": "string",
|
|
199
|
+
"nullable": true
|
|
200
|
+
},
|
|
201
|
+
"body_html": {
|
|
202
|
+
"type": "string"
|
|
203
|
+
},
|
|
204
|
+
"body_text": {
|
|
205
|
+
"type": "string"
|
|
206
|
+
},
|
|
207
|
+
"author_association": {
|
|
208
|
+
"title": "author_association",
|
|
209
|
+
"type": "string",
|
|
210
|
+
"example": "OWNER",
|
|
211
|
+
"description": "How the author is associated with the repository.",
|
|
212
|
+
"enum": [
|
|
213
|
+
"COLLABORATOR",
|
|
214
|
+
"CONTRIBUTOR",
|
|
215
|
+
"FIRST_TIMER",
|
|
216
|
+
"FIRST_TIME_CONTRIBUTOR",
|
|
217
|
+
"MANNEQUIN",
|
|
218
|
+
"MEMBER",
|
|
219
|
+
"NONE",
|
|
220
|
+
"OWNER"
|
|
221
|
+
]
|
|
222
|
+
}
|
|
223
|
+
},
|
|
224
|
+
"required": [
|
|
225
|
+
"id",
|
|
226
|
+
"node_id",
|
|
227
|
+
"user",
|
|
228
|
+
"body",
|
|
229
|
+
"state",
|
|
230
|
+
"commit_id",
|
|
231
|
+
"html_url",
|
|
232
|
+
"pull_request_url",
|
|
233
|
+
"_links",
|
|
234
|
+
"author_association"
|
|
235
|
+
]
|
|
236
|
+
}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@volter/twin-github",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"description": "Local GitHub twin
|
|
3
|
+
"version": "2.0.0",
|
|
4
|
+
"description": "Local GitHub twin — PR-evidence REST; your real `@octokit/rest` talks to it unmodified. Mirror, simulate, and fork. Built on @volter/world-core.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"twin",
|
|
7
7
|
"local",
|
|
@@ -30,7 +30,8 @@
|
|
|
30
30
|
"LICENSE",
|
|
31
31
|
"!test-fixtures/*.SOURCE.md",
|
|
32
32
|
"!**/*.test.ts",
|
|
33
|
-
"!**/*.test.tsx"
|
|
33
|
+
"!**/*.test.tsx",
|
|
34
|
+
"dist"
|
|
34
35
|
],
|
|
35
36
|
"repository": {
|
|
36
37
|
"type": "git",
|
|
@@ -40,25 +41,33 @@
|
|
|
40
41
|
"homepage": "https://github.com/volter-ai/twin/tree/main/packages/twin/github#readme",
|
|
41
42
|
"type": "module",
|
|
42
43
|
"exports": {
|
|
43
|
-
".":
|
|
44
|
+
".": {
|
|
45
|
+
"types": "./dist/src/index.d.ts",
|
|
46
|
+
"default": "./dist/src/index.js"
|
|
47
|
+
}
|
|
44
48
|
},
|
|
45
49
|
"bin": {
|
|
46
|
-
"world-github": "src/cli.
|
|
50
|
+
"world-github": "dist/src/cli.js"
|
|
47
51
|
},
|
|
48
52
|
"scripts": {
|
|
49
53
|
"test": "bun test src/*.test.ts",
|
|
50
|
-
"typecheck": "tsc --noEmit"
|
|
54
|
+
"typecheck": "tsc --noEmit",
|
|
55
|
+
"build": "node ../../../scripts/publish/build.mjs",
|
|
56
|
+
"prepack": "node ../../../scripts/publish/prepare-publish.mjs prepack",
|
|
57
|
+
"postpack": "node ../../../scripts/publish/prepare-publish.mjs postpack"
|
|
51
58
|
},
|
|
52
59
|
"dependencies": {
|
|
60
|
+
"@volter/world-ui": "0.1.0",
|
|
53
61
|
"react": "^19.2.7",
|
|
54
|
-
"react-dom": "^19.2.7"
|
|
62
|
+
"react-dom": "^19.2.7",
|
|
63
|
+
"graphql": "16.14.2"
|
|
55
64
|
},
|
|
56
65
|
"peerDependencies": {
|
|
57
|
-
"@volter/
|
|
66
|
+
"@volter/world-core": "2.0.0"
|
|
58
67
|
},
|
|
59
68
|
"devDependencies": {
|
|
60
|
-
"@volter/
|
|
61
|
-
"@volter/
|
|
69
|
+
"@volter/world-core": "2.0.0",
|
|
70
|
+
"@volter/world-tooling": "0.1.0",
|
|
62
71
|
"@octokit/rest": "^22.0.1",
|
|
63
72
|
"playwright": "^1.61.0",
|
|
64
73
|
"@types/bun": "^1.2.20",
|
|
@@ -68,6 +77,6 @@
|
|
|
68
77
|
"typescript": "^5.9.0"
|
|
69
78
|
},
|
|
70
79
|
"engines": {
|
|
71
|
-
"
|
|
80
|
+
"node": ">=22.3"
|
|
72
81
|
}
|
|
73
82
|
}
|
package/src/cli.ts
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
#!/usr/bin/env
|
|
2
|
-
import { keepProcessAlive } from '@volter/
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import { keepProcessAlive } from '@volter/world-core/lifecycle';
|
|
3
3
|
// world-github — the GitHub PR-evidence twin CLI (R14): serve | mirror | conformance.
|
|
4
|
-
import { hasFlag, optionValue } from '@volter/
|
|
4
|
+
import { hasFlag, optionValue } from '@volter/world-core/args';
|
|
5
|
+
import './index.ts'; // the pack registers itself on load (protocol 2)
|
|
5
6
|
import { createGithubMirrorServer } from './github-mirror-ui.ts';
|
|
6
7
|
import { createGithubTwinServer } from './github-server.ts';
|
|
7
8
|
|
|
@@ -12,15 +13,15 @@ const root = optionValue(rest, '--root') || undefined;
|
|
|
12
13
|
const readOnly = hasFlag(rest, "--read-only");
|
|
13
14
|
|
|
14
15
|
if (cmd === 'serve') {
|
|
15
|
-
const s = createGithubTwinServer({ readOnly, ...(root ? { root } : {}), ...(port ? { port } : {}) });
|
|
16
|
+
const s = await createGithubTwinServer({ readOnly, ...(root ? { root } : {}), ...(port ? { port } : {}) });
|
|
16
17
|
process.stdout.write(`github twin (GitHub REST) at http://127.0.0.1:${s.port}\n`);
|
|
17
18
|
await keepProcessAlive();
|
|
18
19
|
} else if (cmd === 'mirror') {
|
|
19
|
-
const s = createGithubMirrorServer({ ...(root ? { root } : {}), ...(port ? { port } : {}) });
|
|
20
|
+
const s = await createGithubMirrorServer({ ...(root ? { root } : {}), ...(port ? { port } : {}) });
|
|
20
21
|
process.stdout.write(`github mirror UI (PR evidence) at http://127.0.0.1:${s.port}\n`);
|
|
21
22
|
await keepProcessAlive();
|
|
22
23
|
} else if (cmd === 'conformance') {
|
|
23
|
-
// dev-only; lazy so the bin runs without @volter/
|
|
24
|
+
// dev-only; lazy so the bin runs without @volter/world-tooling
|
|
24
25
|
const {
|
|
25
26
|
checkGithubConformance, githubCommentCoverage, githubCoverage, githubReviewCoverage,
|
|
26
27
|
loadGithubCommentSchema, loadGithubKnownDeviations, loadGithubPrSchema, loadGithubReviewSchema,
|