@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.
Files changed (215) hide show
  1. package/README.md +88 -36
  2. package/client/github-mirror.css +277 -319
  3. package/client/github-mirror.d.ts +418 -0
  4. package/client/github-mirror.js +485 -0
  5. package/client/github-mirror.tsx +153 -357
  6. package/client/pulls-rest.ts +159 -0
  7. package/client/pulls-workspace.tsx +841 -0
  8. package/dist/client/github-mirror.bundle.js +239 -0
  9. package/dist/client/github-mirror.css +916 -0
  10. package/dist/client/github-mirror.d.ts +418 -0
  11. package/dist/client/github-mirror.js +485 -0
  12. package/dist/client/github-mirror.tsx +1315 -0
  13. package/dist/client/pulls-rest.d.ts +42 -0
  14. package/dist/client/pulls-rest.js +140 -0
  15. package/dist/client/pulls-rest.ts +159 -0
  16. package/dist/client/pulls-workspace.bundle.js +22 -0
  17. package/dist/client/pulls-workspace.d.ts +114 -0
  18. package/dist/client/pulls-workspace.js +418 -0
  19. package/dist/client/pulls-workspace.tsx +841 -0
  20. package/dist/src/cli.d.ts +2 -0
  21. package/dist/src/cli.js +40 -0
  22. package/dist/src/generated/graphql-sdl.gen.json +1 -0
  23. package/dist/src/generated/graphql.gen.json +1 -0
  24. package/dist/src/generated/surface.gen.json +1 -0
  25. package/dist/src/generated/ui.gen.json +1 -0
  26. package/dist/src/github-budget.d.ts +69 -0
  27. package/dist/src/github-budget.js +172 -0
  28. package/dist/src/github-capabilities.d.ts +5 -0
  29. package/dist/src/github-capabilities.js +4468 -0
  30. package/dist/src/github-conformance.d.ts +43 -0
  31. package/dist/src/github-conformance.js +76 -0
  32. package/dist/src/github-connector.d.ts +307 -0
  33. package/dist/src/github-connector.js +1398 -0
  34. package/dist/src/github-events.d.ts +41 -0
  35. package/dist/src/github-events.js +230 -0
  36. package/dist/src/github-git-http.d.ts +49 -0
  37. package/dist/src/github-git-http.js +185 -0
  38. package/dist/src/github-git-plane.d.ts +114 -0
  39. package/dist/src/github-git-plane.js +407 -0
  40. package/dist/src/github-mirror-state.d.ts +2 -0
  41. package/dist/src/github-mirror-state.js +335 -0
  42. package/dist/src/github-mirror-ui.d.ts +20 -0
  43. package/dist/src/github-mirror-ui.js +101 -0
  44. package/dist/src/github-server.d.ts +14 -0
  45. package/dist/src/github-server.js +240 -0
  46. package/dist/src/github-shared.d.ts +12 -0
  47. package/dist/src/github-shared.js +21 -0
  48. package/dist/src/github-twin.d.ts +1411 -0
  49. package/dist/src/github-twin.js +4084 -0
  50. package/dist/src/github-ui-conformance.d.ts +4 -0
  51. package/dist/src/github-ui-conformance.js +105 -0
  52. package/dist/src/github-ui-structure.d.ts +18 -0
  53. package/dist/src/github-ui-structure.js +251 -0
  54. package/dist/src/graphql-wire.d.ts +22 -0
  55. package/dist/src/graphql-wire.js +89 -0
  56. package/dist/src/index.d.ts +17 -0
  57. package/dist/src/index.js +101 -0
  58. package/dist/src/manifest.d.ts +8 -0
  59. package/dist/src/manifest.js +597 -0
  60. package/dist/src/npm-registry.d.ts +7 -0
  61. package/dist/src/npm-registry.js +47 -0
  62. package/dist/src/screens/app-installation.d.ts +3 -0
  63. package/dist/src/screens/app-installation.js +166 -0
  64. package/dist/src/screens/app-manifest.d.ts +3 -0
  65. package/dist/src/screens/app-manifest.js +81 -0
  66. package/dist/src/screens/oauth.d.ts +15 -0
  67. package/dist/src/screens/oauth.js +257 -0
  68. package/dist/src/screens/session.d.ts +8 -0
  69. package/dist/src/screens/session.js +159 -0
  70. package/dist/src/semantics/actions.d.ts +2 -0
  71. package/dist/src/semantics/actions.js +413 -0
  72. package/dist/src/semantics/activity.d.ts +4 -0
  73. package/dist/src/semantics/activity.js +161 -0
  74. package/dist/src/semantics/apps.d.ts +2 -0
  75. package/dist/src/semantics/apps.js +144 -0
  76. package/dist/src/semantics/branches.d.ts +2 -0
  77. package/dist/src/semantics/branches.js +136 -0
  78. package/dist/src/semantics/checks.d.ts +2 -0
  79. package/dist/src/semantics/checks.js +176 -0
  80. package/dist/src/semantics/code-scanning-upload.d.ts +2 -0
  81. package/dist/src/semantics/code-scanning-upload.js +97 -0
  82. package/dist/src/semantics/codespaces.d.ts +2 -0
  83. package/dist/src/semantics/codespaces.js +58 -0
  84. package/dist/src/semantics/commits.d.ts +2 -0
  85. package/dist/src/semantics/commits.js +109 -0
  86. package/dist/src/semantics/contents.d.ts +2 -0
  87. package/dist/src/semantics/contents.js +131 -0
  88. package/dist/src/semantics/deployments.d.ts +2 -0
  89. package/dist/src/semantics/deployments.js +127 -0
  90. package/dist/src/semantics/gists.d.ts +2 -0
  91. package/dist/src/semantics/gists.js +86 -0
  92. package/dist/src/semantics/git.d.ts +2 -0
  93. package/dist/src/semantics/git.js +235 -0
  94. package/dist/src/semantics/graphql.d.ts +7 -0
  95. package/dist/src/semantics/graphql.js +512 -0
  96. package/dist/src/semantics/index.d.ts +5 -0
  97. package/dist/src/semantics/index.js +62 -0
  98. package/dist/src/semantics/issues.d.ts +2 -0
  99. package/dist/src/semantics/issues.js +456 -0
  100. package/dist/src/semantics/keys.d.ts +2 -0
  101. package/dist/src/semantics/keys.js +66 -0
  102. package/dist/src/semantics/labels.d.ts +2 -0
  103. package/dist/src/semantics/labels.js +100 -0
  104. package/dist/src/semantics/meta.d.ts +12 -0
  105. package/dist/src/semantics/meta.js +144 -0
  106. package/dist/src/semantics/notifications.d.ts +4 -0
  107. package/dist/src/semantics/notifications.js +62 -0
  108. package/dist/src/semantics/orgs.d.ts +2 -0
  109. package/dist/src/semantics/orgs.js +420 -0
  110. package/dist/src/semantics/packages.d.ts +2 -0
  111. package/dist/src/semantics/packages.js +55 -0
  112. package/dist/src/semantics/pages.d.ts +2 -0
  113. package/dist/src/semantics/pages.js +176 -0
  114. package/dist/src/semantics/projects.d.ts +2 -0
  115. package/dist/src/semantics/projects.js +239 -0
  116. package/dist/src/semantics/pulls.d.ts +2 -0
  117. package/dist/src/semantics/pulls.js +462 -0
  118. package/dist/src/semantics/push-reactions.d.ts +101 -0
  119. package/dist/src/semantics/push-reactions.js +513 -0
  120. package/dist/src/semantics/releases.d.ts +19 -0
  121. package/dist/src/semantics/releases.js +231 -0
  122. package/dist/src/semantics/repo-invitations.d.ts +2 -0
  123. package/dist/src/semantics/repo-invitations.js +98 -0
  124. package/dist/src/semantics/repos.d.ts +17 -0
  125. package/dist/src/semantics/repos.js +390 -0
  126. package/dist/src/semantics/rulesets.d.ts +2 -0
  127. package/dist/src/semantics/rulesets.js +111 -0
  128. package/dist/src/semantics/search.d.ts +2 -0
  129. package/dist/src/semantics/search.js +84 -0
  130. package/dist/src/semantics/security.d.ts +2 -0
  131. package/dist/src/semantics/security.js +177 -0
  132. package/dist/src/semantics/shared.d.ts +61 -0
  133. package/dist/src/semantics/shared.js +151 -0
  134. package/dist/src/semantics/users.d.ts +2 -0
  135. package/dist/src/semantics/users.js +255 -0
  136. package/dist/src/semantics/webhooks.d.ts +2 -0
  137. package/dist/src/semantics/webhooks.js +107 -0
  138. package/dist/test-fixtures/github-a11y-reference.pr-list.SOURCE.md +56 -0
  139. package/dist/test-fixtures/github-a11y-reference.pr-list.json +1447 -0
  140. package/dist/test-fixtures/github-comment-schema.SOURCE.md +11 -0
  141. package/dist/test-fixtures/github-comment-schema.json +702 -0
  142. package/dist/test-fixtures/github-known-deviations.json +94 -0
  143. package/dist/test-fixtures/github-openapi-operations.SOURCE.md +76 -0
  144. package/dist/test-fixtures/github-openapi-operations.json +362 -0
  145. package/dist/test-fixtures/github-pull-schema.SOURCE.md +37 -0
  146. package/dist/test-fixtures/github-pull-schema.json +3601 -0
  147. package/dist/test-fixtures/github-review-schema.SOURCE.md +12 -0
  148. package/dist/test-fixtures/github-review-schema.json +236 -0
  149. package/package.json +20 -11
  150. package/src/cli.ts +7 -6
  151. package/src/generated/graphql-sdl.gen.json +1 -0
  152. package/src/generated/graphql.gen.json +1 -0
  153. package/src/generated/surface.gen.json +1 -0
  154. package/src/generated/ui.gen.json +1 -0
  155. package/src/github-a11y-snapshot.uitest.ts +5 -5
  156. package/src/github-budget.ts +4 -4
  157. package/src/github-capabilities.ts +1993 -556
  158. package/src/github-conformance.ts +12 -7
  159. package/src/github-connector.ts +108 -96
  160. package/src/github-events.ts +223 -95
  161. package/src/github-git-http.ts +47 -83
  162. package/src/github-git-plane.ts +247 -385
  163. package/src/github-journey.uitest.ts +28 -44
  164. package/src/github-mirror-state.ts +23 -61
  165. package/src/github-mirror-ui.ts +16 -10
  166. package/src/github-server.ts +158 -60
  167. package/src/github-shared.ts +1 -1
  168. package/src/github-twin.ts +1525 -4494
  169. package/src/github-ui-conformance.ts +7 -8
  170. package/src/github-ui-structure.ts +19 -18
  171. package/src/graphql-wire.ts +115 -0
  172. package/src/index.ts +47 -7
  173. package/src/manifest.ts +605 -0
  174. package/src/npm-registry.ts +43 -0
  175. package/src/screens/app-installation.tsx +217 -0
  176. package/src/screens/app-manifest.tsx +97 -0
  177. package/src/screens/oauth.tsx +258 -0
  178. package/src/screens/session.tsx +186 -0
  179. package/src/semantics/actions.ts +395 -0
  180. package/src/semantics/activity.ts +171 -0
  181. package/src/semantics/apps.ts +133 -0
  182. package/src/semantics/branches.ts +133 -0
  183. package/src/semantics/checks.ts +163 -0
  184. package/src/semantics/code-scanning-upload.ts +92 -0
  185. package/src/semantics/codespaces.ts +58 -0
  186. package/src/semantics/commits.ts +109 -0
  187. package/src/semantics/contents.ts +112 -0
  188. package/src/semantics/deployments.ts +116 -0
  189. package/src/semantics/gists.ts +85 -0
  190. package/src/semantics/git.ts +226 -0
  191. package/src/semantics/graphql.ts +505 -0
  192. package/src/semantics/index.ts +68 -0
  193. package/src/semantics/issues.ts +434 -0
  194. package/src/semantics/keys.ts +66 -0
  195. package/src/semantics/labels.ts +91 -0
  196. package/src/semantics/meta.ts +139 -0
  197. package/src/semantics/notifications.ts +58 -0
  198. package/src/semantics/orgs.ts +383 -0
  199. package/src/semantics/packages.ts +59 -0
  200. package/src/semantics/pages.ts +154 -0
  201. package/src/semantics/projects.ts +246 -0
  202. package/src/semantics/pulls.ts +421 -0
  203. package/src/semantics/push-reactions.ts +471 -0
  204. package/src/semantics/releases.ts +213 -0
  205. package/src/semantics/repo-invitations.ts +112 -0
  206. package/src/semantics/repos.ts +373 -0
  207. package/src/semantics/rulesets.ts +107 -0
  208. package/src/semantics/search.ts +83 -0
  209. package/src/semantics/security.ts +153 -0
  210. package/src/semantics/shared.ts +181 -0
  211. package/src/semantics/users.ts +252 -0
  212. package/src/semantics/webhooks.ts +101 -0
  213. package/test-fixtures/github-known-deviations.json +7 -8
  214. package/test-fixtures/github-openapi-operations.json +46 -227
  215. 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.1.1",
4
- "description": "Local GitHub twin \u2014 PR-evidence REST; your real `@octokit/rest` talks to it unmodified. Mirror, simulate, and fork. Built on @volter/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
- ".": "./src/index.ts"
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.ts"
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/twin": "0.1.1"
66
+ "@volter/world-core": "2.0.0"
58
67
  },
59
68
  "devDependencies": {
60
- "@volter/twin": "0.1.0",
61
- "@volter/twin-tooling": "0.1.0",
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
- "bun": ">=1.2.0"
80
+ "node": ">=22.3"
72
81
  }
73
82
  }
package/src/cli.ts CHANGED
@@ -1,7 +1,8 @@
1
- #!/usr/bin/env bun
2
- import { keepProcessAlive } from '@volter/twin/lifecycle';
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/twin/args';
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/twin-tooling
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,