@pome-sh/cli 0.1.0 → 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (471) hide show
  1. package/dist/build-info.json +3 -3
  2. package/dist/src/doctor/checks.js +2 -2
  3. package/node_modules/@pome-sh/sdk/dist/db.d.ts +4 -4
  4. package/node_modules/@pome-sh/sdk/dist/db.js +93 -25
  5. package/node_modules/@pome-sh/sdk/dist/db.js.map +1 -1
  6. package/node_modules/@pome-sh/sdk/package.json +2 -6
  7. package/node_modules/@pome-sh/twin-github/README.md +2 -1
  8. package/node_modules/@pome-sh/twin-github/package.json +2 -3
  9. package/node_modules/@pome-sh/twin-slack/package.json +2 -3
  10. package/node_modules/@pome-sh/twin-stripe/README.md +2 -2
  11. package/node_modules/@pome-sh/twin-stripe/package.json +2 -3
  12. package/package.json +6 -7
  13. package/dist/src/recorder/verdictArtifact.d.ts +0 -71
  14. package/dist/src/recorder/verdictArtifact.js +0 -207
  15. package/dist/src/score/view.d.ts +0 -38
  16. package/dist/src/score/view.js +0 -59
  17. package/dist/src/twin/github/app.d.ts +0 -10
  18. package/dist/src/twin/github/app.js +0 -316
  19. package/dist/src/twin/github/db/migrations.d.ts +0 -2
  20. package/dist/src/twin/github/db/migrations.js +0 -64
  21. package/dist/src/twin/github/db/openDatabase.d.ts +0 -2
  22. package/dist/src/twin/github/db/openDatabase.js +0 -13
  23. package/dist/src/twin/github/db/queries.d.ts +0 -77
  24. package/dist/src/twin/github/db/queries.js +0 -93
  25. package/dist/src/twin/github/domain/seed.d.ts +0 -74
  26. package/dist/src/twin/github/domain/seed.js +0 -104
  27. package/dist/src/twin/github/domain/serializers.d.ts +0 -113
  28. package/dist/src/twin/github/domain/serializers.js +0 -76
  29. package/dist/src/twin/github/types.d.ts +0 -66
  30. package/dist/src/twin/github/types.js +0 -1
  31. package/dist/src/twin-github/app.d.ts +0 -9
  32. package/dist/src/twin-github/app.js +0 -327
  33. package/dist/src/twin-github/auth.d.ts +0 -16
  34. package/dist/src/twin-github/auth.js +0 -142
  35. package/dist/src/twin-github/build-info.d.ts +0 -7
  36. package/dist/src/twin-github/build-info.js +0 -52
  37. package/dist/src/twin-github/db.d.ts +0 -4
  38. package/dist/src/twin-github/db.js +0 -362
  39. package/dist/src/twin-github/domain.d.ts +0 -1649
  40. package/dist/src/twin-github/domain.js +0 -957
  41. package/dist/src/twin-github/errors.d.ts +0 -14
  42. package/dist/src/twin-github/errors.js +0 -34
  43. package/dist/src/twin-github/index.d.ts +0 -9
  44. package/dist/src/twin-github/index.js +0 -7
  45. package/dist/src/twin-github/mcp.d.ts +0 -17
  46. package/dist/src/twin-github/mcp.js +0 -281
  47. package/dist/src/twin-github/recorder.d.ts +0 -2
  48. package/dist/src/twin-github/recorder.js +0 -29
  49. package/dist/src/twin-github/seed.d.ts +0 -74
  50. package/dist/src/twin-github/seed.js +0 -107
  51. package/dist/src/twin-github/serializers.d.ts +0 -449
  52. package/dist/src/twin-github/serializers.js +0 -429
  53. package/dist/src/twin-github/server.d.ts +0 -1
  54. package/dist/src/twin-github/server.js +0 -34
  55. package/dist/src/twin-github/tools.d.ts +0 -1545
  56. package/dist/src/twin-github/tools.js +0 -347
  57. package/dist/src/twin-github/types.d.ts +0 -198
  58. package/dist/src/twin-github/types.js +0 -1
  59. package/dist/src/twin-github/unsupported-envelope.d.ts +0 -10
  60. package/dist/src/twin-github/unsupported-envelope.js +0 -29
  61. package/dist/src/twin-github/util.d.ts +0 -13
  62. package/dist/src/twin-github/util.js +0 -61
  63. package/dist/src/twin-slack/app.d.ts +0 -17
  64. package/dist/src/twin-slack/app.js +0 -683
  65. package/dist/src/twin-slack/auth.d.ts +0 -38
  66. package/dist/src/twin-slack/auth.js +0 -219
  67. package/dist/src/twin-slack/build-info.d.ts +0 -7
  68. package/dist/src/twin-slack/build-info.js +0 -9
  69. package/dist/src/twin-slack/db.d.ts +0 -4
  70. package/dist/src/twin-slack/db.js +0 -213
  71. package/dist/src/twin-slack/domain.d.ts +0 -236
  72. package/dist/src/twin-slack/domain.js +0 -1293
  73. package/dist/src/twin-slack/errors.d.ts +0 -16
  74. package/dist/src/twin-slack/errors.js +0 -60
  75. package/dist/src/twin-slack/index.d.ts +0 -8
  76. package/dist/src/twin-slack/index.js +0 -8
  77. package/dist/src/twin-slack/mcp.d.ts +0 -17
  78. package/dist/src/twin-slack/mcp.js +0 -226
  79. package/dist/src/twin-slack/recorder.d.ts +0 -2
  80. package/dist/src/twin-slack/recorder.js +0 -15
  81. package/dist/src/twin-slack/seed.d.ts +0 -49
  82. package/dist/src/twin-slack/seed.js +0 -139
  83. package/dist/src/twin-slack/serializers.d.ts +0 -141
  84. package/dist/src/twin-slack/serializers.js +0 -377
  85. package/dist/src/twin-slack/tools.d.ts +0 -97
  86. package/dist/src/twin-slack/tools.js +0 -171
  87. package/dist/src/twin-slack/types.d.ts +0 -164
  88. package/dist/src/twin-slack/types.js +0 -1
  89. package/dist/src/twin-slack/unsupported-envelope.d.ts +0 -12
  90. package/dist/src/twin-slack/unsupported-envelope.js +0 -61
  91. package/dist/src/twin-slack/upstream-types.d.ts +0 -19
  92. package/dist/src/twin-slack/upstream-types.js +0 -1
  93. package/dist/src/twin-slack/util.d.ts +0 -31
  94. package/dist/src/twin-slack/util.js +0 -136
  95. package/node_modules/base64-js/LICENSE +0 -21
  96. package/node_modules/base64-js/README.md +0 -34
  97. package/node_modules/base64-js/base64js.min.js +0 -1
  98. package/node_modules/base64-js/index.d.ts +0 -3
  99. package/node_modules/base64-js/index.js +0 -150
  100. package/node_modules/base64-js/package.json +0 -47
  101. package/node_modules/better-sqlite3/LICENSE +0 -21
  102. package/node_modules/better-sqlite3/README.md +0 -99
  103. package/node_modules/better-sqlite3/binding.gyp +0 -38
  104. package/node_modules/better-sqlite3/build/Release/better_sqlite3.node +0 -0
  105. package/node_modules/better-sqlite3/deps/common.gypi +0 -68
  106. package/node_modules/better-sqlite3/deps/copy.js +0 -31
  107. package/node_modules/better-sqlite3/deps/defines.gypi +0 -42
  108. package/node_modules/better-sqlite3/deps/download.sh +0 -123
  109. package/node_modules/better-sqlite3/deps/patches/1208.patch +0 -15
  110. package/node_modules/better-sqlite3/deps/sqlite3/sqlite3.c +0 -269395
  111. package/node_modules/better-sqlite3/deps/sqlite3/sqlite3.h +0 -14347
  112. package/node_modules/better-sqlite3/deps/sqlite3/sqlite3ext.h +0 -739
  113. package/node_modules/better-sqlite3/deps/sqlite3.gyp +0 -80
  114. package/node_modules/better-sqlite3/deps/test_extension.c +0 -21
  115. package/node_modules/better-sqlite3/lib/database.js +0 -90
  116. package/node_modules/better-sqlite3/lib/index.js +0 -3
  117. package/node_modules/better-sqlite3/lib/methods/aggregate.js +0 -43
  118. package/node_modules/better-sqlite3/lib/methods/backup.js +0 -67
  119. package/node_modules/better-sqlite3/lib/methods/function.js +0 -31
  120. package/node_modules/better-sqlite3/lib/methods/inspect.js +0 -7
  121. package/node_modules/better-sqlite3/lib/methods/pragma.js +0 -12
  122. package/node_modules/better-sqlite3/lib/methods/serialize.js +0 -16
  123. package/node_modules/better-sqlite3/lib/methods/table.js +0 -189
  124. package/node_modules/better-sqlite3/lib/methods/transaction.js +0 -78
  125. package/node_modules/better-sqlite3/lib/methods/wrappers.js +0 -54
  126. package/node_modules/better-sqlite3/lib/sqlite-error.js +0 -20
  127. package/node_modules/better-sqlite3/lib/util.js +0 -12
  128. package/node_modules/better-sqlite3/package.json +0 -59
  129. package/node_modules/better-sqlite3/src/addon.cpp +0 -47
  130. package/node_modules/better-sqlite3/src/better_sqlite3.cpp +0 -74
  131. package/node_modules/better-sqlite3/src/objects/backup.cpp +0 -120
  132. package/node_modules/better-sqlite3/src/objects/backup.hpp +0 -36
  133. package/node_modules/better-sqlite3/src/objects/database.cpp +0 -417
  134. package/node_modules/better-sqlite3/src/objects/database.hpp +0 -103
  135. package/node_modules/better-sqlite3/src/objects/statement-iterator.cpp +0 -113
  136. package/node_modules/better-sqlite3/src/objects/statement-iterator.hpp +0 -50
  137. package/node_modules/better-sqlite3/src/objects/statement.cpp +0 -383
  138. package/node_modules/better-sqlite3/src/objects/statement.hpp +0 -58
  139. package/node_modules/better-sqlite3/src/util/bind-map.cpp +0 -73
  140. package/node_modules/better-sqlite3/src/util/binder.cpp +0 -193
  141. package/node_modules/better-sqlite3/src/util/constants.cpp +0 -172
  142. package/node_modules/better-sqlite3/src/util/custom-aggregate.cpp +0 -121
  143. package/node_modules/better-sqlite3/src/util/custom-function.cpp +0 -59
  144. package/node_modules/better-sqlite3/src/util/custom-table.cpp +0 -409
  145. package/node_modules/better-sqlite3/src/util/data-converter.cpp +0 -17
  146. package/node_modules/better-sqlite3/src/util/data.cpp +0 -194
  147. package/node_modules/better-sqlite3/src/util/helpers.cpp +0 -109
  148. package/node_modules/better-sqlite3/src/util/macros.cpp +0 -90
  149. package/node_modules/better-sqlite3/src/util/query-macros.cpp +0 -71
  150. package/node_modules/better-sqlite3/src/util/row-builder.cpp +0 -49
  151. package/node_modules/bindings/LICENSE.md +0 -22
  152. package/node_modules/bindings/README.md +0 -98
  153. package/node_modules/bindings/bindings.js +0 -221
  154. package/node_modules/bindings/package.json +0 -28
  155. package/node_modules/bl/.travis.yml +0 -17
  156. package/node_modules/bl/BufferList.js +0 -396
  157. package/node_modules/bl/LICENSE.md +0 -13
  158. package/node_modules/bl/README.md +0 -247
  159. package/node_modules/bl/bl.js +0 -84
  160. package/node_modules/bl/package.json +0 -37
  161. package/node_modules/bl/test/convert.js +0 -21
  162. package/node_modules/bl/test/indexOf.js +0 -492
  163. package/node_modules/bl/test/isBufferList.js +0 -32
  164. package/node_modules/bl/test/test.js +0 -869
  165. package/node_modules/buffer/AUTHORS.md +0 -70
  166. package/node_modules/buffer/LICENSE +0 -21
  167. package/node_modules/buffer/README.md +0 -410
  168. package/node_modules/buffer/index.d.ts +0 -186
  169. package/node_modules/buffer/index.js +0 -1817
  170. package/node_modules/buffer/package.json +0 -96
  171. package/node_modules/chownr/LICENSE +0 -15
  172. package/node_modules/chownr/README.md +0 -3
  173. package/node_modules/chownr/chownr.js +0 -167
  174. package/node_modules/chownr/package.json +0 -29
  175. package/node_modules/decompress-response/index.d.ts +0 -22
  176. package/node_modules/decompress-response/index.js +0 -58
  177. package/node_modules/decompress-response/license +0 -9
  178. package/node_modules/decompress-response/package.json +0 -56
  179. package/node_modules/decompress-response/readme.md +0 -48
  180. package/node_modules/deep-extend/CHANGELOG.md +0 -46
  181. package/node_modules/deep-extend/LICENSE +0 -20
  182. package/node_modules/deep-extend/README.md +0 -91
  183. package/node_modules/deep-extend/index.js +0 -1
  184. package/node_modules/deep-extend/lib/deep-extend.js +0 -150
  185. package/node_modules/deep-extend/package.json +0 -62
  186. package/node_modules/detect-libc/LICENSE +0 -201
  187. package/node_modules/detect-libc/README.md +0 -163
  188. package/node_modules/detect-libc/index.d.ts +0 -14
  189. package/node_modules/detect-libc/lib/detect-libc.js +0 -313
  190. package/node_modules/detect-libc/lib/elf.js +0 -39
  191. package/node_modules/detect-libc/lib/filesystem.js +0 -51
  192. package/node_modules/detect-libc/lib/process.js +0 -24
  193. package/node_modules/detect-libc/package.json +0 -44
  194. package/node_modules/end-of-stream/LICENSE +0 -21
  195. package/node_modules/end-of-stream/README.md +0 -54
  196. package/node_modules/end-of-stream/index.js +0 -96
  197. package/node_modules/end-of-stream/package.json +0 -37
  198. package/node_modules/expand-template/.travis.yml +0 -6
  199. package/node_modules/expand-template/LICENSE +0 -21
  200. package/node_modules/expand-template/README.md +0 -43
  201. package/node_modules/expand-template/index.js +0 -26
  202. package/node_modules/expand-template/package.json +0 -29
  203. package/node_modules/expand-template/test.js +0 -67
  204. package/node_modules/file-uri-to-path/.npmignore +0 -1
  205. package/node_modules/file-uri-to-path/.travis.yml +0 -30
  206. package/node_modules/file-uri-to-path/History.md +0 -21
  207. package/node_modules/file-uri-to-path/LICENSE +0 -20
  208. package/node_modules/file-uri-to-path/README.md +0 -74
  209. package/node_modules/file-uri-to-path/index.d.ts +0 -2
  210. package/node_modules/file-uri-to-path/index.js +0 -66
  211. package/node_modules/file-uri-to-path/package.json +0 -32
  212. package/node_modules/file-uri-to-path/test/test.js +0 -24
  213. package/node_modules/file-uri-to-path/test/tests.json +0 -13
  214. package/node_modules/fs-constants/LICENSE +0 -21
  215. package/node_modules/fs-constants/README.md +0 -26
  216. package/node_modules/fs-constants/browser.js +0 -1
  217. package/node_modules/fs-constants/index.js +0 -1
  218. package/node_modules/fs-constants/package.json +0 -19
  219. package/node_modules/github-from-package/.travis.yml +0 -4
  220. package/node_modules/github-from-package/LICENSE +0 -18
  221. package/node_modules/github-from-package/example/package.json +0 -8
  222. package/node_modules/github-from-package/example/url.js +0 -3
  223. package/node_modules/github-from-package/index.js +0 -17
  224. package/node_modules/github-from-package/package.json +0 -30
  225. package/node_modules/github-from-package/readme.markdown +0 -53
  226. package/node_modules/github-from-package/test/a.json +0 -8
  227. package/node_modules/github-from-package/test/b.json +0 -5
  228. package/node_modules/github-from-package/test/c.json +0 -5
  229. package/node_modules/github-from-package/test/d.json +0 -7
  230. package/node_modules/github-from-package/test/e.json +0 -5
  231. package/node_modules/github-from-package/test/url.js +0 -19
  232. package/node_modules/ieee754/LICENSE +0 -11
  233. package/node_modules/ieee754/README.md +0 -51
  234. package/node_modules/ieee754/index.d.ts +0 -10
  235. package/node_modules/ieee754/index.js +0 -85
  236. package/node_modules/ieee754/package.json +0 -52
  237. package/node_modules/inherits/LICENSE +0 -16
  238. package/node_modules/inherits/README.md +0 -42
  239. package/node_modules/inherits/inherits.js +0 -9
  240. package/node_modules/inherits/inherits_browser.js +0 -27
  241. package/node_modules/inherits/package.json +0 -29
  242. package/node_modules/ini/LICENSE +0 -15
  243. package/node_modules/ini/README.md +0 -102
  244. package/node_modules/ini/ini.js +0 -206
  245. package/node_modules/ini/package.json +0 -33
  246. package/node_modules/mimic-response/index.d.ts +0 -17
  247. package/node_modules/mimic-response/index.js +0 -77
  248. package/node_modules/mimic-response/license +0 -9
  249. package/node_modules/mimic-response/package.json +0 -42
  250. package/node_modules/mimic-response/readme.md +0 -78
  251. package/node_modules/minimist/.eslintrc +0 -29
  252. package/node_modules/minimist/.github/FUNDING.yml +0 -12
  253. package/node_modules/minimist/.nycrc +0 -14
  254. package/node_modules/minimist/CHANGELOG.md +0 -298
  255. package/node_modules/minimist/LICENSE +0 -18
  256. package/node_modules/minimist/README.md +0 -121
  257. package/node_modules/minimist/example/parse.js +0 -4
  258. package/node_modules/minimist/index.js +0 -263
  259. package/node_modules/minimist/package.json +0 -75
  260. package/node_modules/minimist/test/all_bool.js +0 -34
  261. package/node_modules/minimist/test/bool.js +0 -177
  262. package/node_modules/minimist/test/dash.js +0 -43
  263. package/node_modules/minimist/test/default_bool.js +0 -37
  264. package/node_modules/minimist/test/dotted.js +0 -24
  265. package/node_modules/minimist/test/kv_short.js +0 -32
  266. package/node_modules/minimist/test/long.js +0 -33
  267. package/node_modules/minimist/test/num.js +0 -38
  268. package/node_modules/minimist/test/parse.js +0 -209
  269. package/node_modules/minimist/test/parse_modified.js +0 -11
  270. package/node_modules/minimist/test/proto.js +0 -64
  271. package/node_modules/minimist/test/short.js +0 -69
  272. package/node_modules/minimist/test/stop_early.js +0 -17
  273. package/node_modules/minimist/test/unknown.js +0 -104
  274. package/node_modules/minimist/test/whitespace.js +0 -10
  275. package/node_modules/mkdirp-classic/LICENSE +0 -21
  276. package/node_modules/mkdirp-classic/README.md +0 -18
  277. package/node_modules/mkdirp-classic/index.js +0 -98
  278. package/node_modules/mkdirp-classic/package.json +0 -18
  279. package/node_modules/napi-build-utils/.github/workflows/run-npm-tests.yml +0 -31
  280. package/node_modules/napi-build-utils/LICENSE +0 -21
  281. package/node_modules/napi-build-utils/README.md +0 -52
  282. package/node_modules/napi-build-utils/index.js +0 -214
  283. package/node_modules/napi-build-utils/index.md +0 -0
  284. package/node_modules/napi-build-utils/package.json +0 -42
  285. package/node_modules/node-abi/LICENSE +0 -21
  286. package/node_modules/node-abi/README.md +0 -54
  287. package/node_modules/node-abi/abi_registry.json +0 -453
  288. package/node_modules/node-abi/index.js +0 -179
  289. package/node_modules/node-abi/package.json +0 -45
  290. package/node_modules/once/LICENSE +0 -15
  291. package/node_modules/once/README.md +0 -79
  292. package/node_modules/once/once.js +0 -42
  293. package/node_modules/once/package.json +0 -33
  294. package/node_modules/prebuild-install/CHANGELOG.md +0 -131
  295. package/node_modules/prebuild-install/CONTRIBUTING.md +0 -6
  296. package/node_modules/prebuild-install/LICENSE +0 -21
  297. package/node_modules/prebuild-install/README.md +0 -163
  298. package/node_modules/prebuild-install/asset.js +0 -44
  299. package/node_modules/prebuild-install/bin.js +0 -78
  300. package/node_modules/prebuild-install/download.js +0 -142
  301. package/node_modules/prebuild-install/error.js +0 -14
  302. package/node_modules/prebuild-install/help.txt +0 -16
  303. package/node_modules/prebuild-install/index.js +0 -1
  304. package/node_modules/prebuild-install/log.js +0 -33
  305. package/node_modules/prebuild-install/package.json +0 -67
  306. package/node_modules/prebuild-install/proxy.js +0 -35
  307. package/node_modules/prebuild-install/rc.js +0 -64
  308. package/node_modules/prebuild-install/util.js +0 -143
  309. package/node_modules/pump/.github/FUNDING.yml +0 -2
  310. package/node_modules/pump/.travis.yml +0 -5
  311. package/node_modules/pump/LICENSE +0 -21
  312. package/node_modules/pump/README.md +0 -74
  313. package/node_modules/pump/SECURITY.md +0 -5
  314. package/node_modules/pump/empty.js +0 -1
  315. package/node_modules/pump/index.js +0 -86
  316. package/node_modules/pump/package.json +0 -30
  317. package/node_modules/pump/test-browser.js +0 -66
  318. package/node_modules/pump/test-node.js +0 -53
  319. package/node_modules/rc/LICENSE.APACHE2 +0 -15
  320. package/node_modules/rc/LICENSE.BSD +0 -26
  321. package/node_modules/rc/LICENSE.MIT +0 -24
  322. package/node_modules/rc/README.md +0 -227
  323. package/node_modules/rc/browser.js +0 -7
  324. package/node_modules/rc/cli.js +0 -4
  325. package/node_modules/rc/index.js +0 -53
  326. package/node_modules/rc/lib/utils.js +0 -104
  327. package/node_modules/rc/package.json +0 -29
  328. package/node_modules/rc/test/ini.js +0 -16
  329. package/node_modules/rc/test/nested-env-vars.js +0 -50
  330. package/node_modules/rc/test/test.js +0 -59
  331. package/node_modules/readable-stream/CONTRIBUTING.md +0 -38
  332. package/node_modules/readable-stream/GOVERNANCE.md +0 -136
  333. package/node_modules/readable-stream/LICENSE +0 -47
  334. package/node_modules/readable-stream/README.md +0 -106
  335. package/node_modules/readable-stream/errors-browser.js +0 -127
  336. package/node_modules/readable-stream/errors.js +0 -116
  337. package/node_modules/readable-stream/experimentalWarning.js +0 -17
  338. package/node_modules/readable-stream/lib/_stream_duplex.js +0 -126
  339. package/node_modules/readable-stream/lib/_stream_passthrough.js +0 -37
  340. package/node_modules/readable-stream/lib/_stream_readable.js +0 -1027
  341. package/node_modules/readable-stream/lib/_stream_transform.js +0 -190
  342. package/node_modules/readable-stream/lib/_stream_writable.js +0 -641
  343. package/node_modules/readable-stream/lib/internal/streams/async_iterator.js +0 -180
  344. package/node_modules/readable-stream/lib/internal/streams/buffer_list.js +0 -183
  345. package/node_modules/readable-stream/lib/internal/streams/destroy.js +0 -96
  346. package/node_modules/readable-stream/lib/internal/streams/end-of-stream.js +0 -86
  347. package/node_modules/readable-stream/lib/internal/streams/from-browser.js +0 -3
  348. package/node_modules/readable-stream/lib/internal/streams/from.js +0 -52
  349. package/node_modules/readable-stream/lib/internal/streams/pipeline.js +0 -86
  350. package/node_modules/readable-stream/lib/internal/streams/state.js +0 -22
  351. package/node_modules/readable-stream/lib/internal/streams/stream-browser.js +0 -1
  352. package/node_modules/readable-stream/lib/internal/streams/stream.js +0 -1
  353. package/node_modules/readable-stream/package.json +0 -68
  354. package/node_modules/readable-stream/readable-browser.js +0 -9
  355. package/node_modules/readable-stream/readable.js +0 -16
  356. package/node_modules/safe-buffer/LICENSE +0 -21
  357. package/node_modules/safe-buffer/README.md +0 -584
  358. package/node_modules/safe-buffer/index.d.ts +0 -187
  359. package/node_modules/safe-buffer/index.js +0 -65
  360. package/node_modules/safe-buffer/package.json +0 -51
  361. package/node_modules/semver/LICENSE +0 -15
  362. package/node_modules/semver/README.md +0 -680
  363. package/node_modules/semver/bin/semver.js +0 -195
  364. package/node_modules/semver/classes/comparator.js +0 -143
  365. package/node_modules/semver/classes/index.js +0 -7
  366. package/node_modules/semver/classes/range.js +0 -577
  367. package/node_modules/semver/classes/semver.js +0 -350
  368. package/node_modules/semver/functions/clean.js +0 -8
  369. package/node_modules/semver/functions/cmp.js +0 -54
  370. package/node_modules/semver/functions/coerce.js +0 -62
  371. package/node_modules/semver/functions/compare-build.js +0 -9
  372. package/node_modules/semver/functions/compare-loose.js +0 -5
  373. package/node_modules/semver/functions/compare.js +0 -7
  374. package/node_modules/semver/functions/diff.js +0 -60
  375. package/node_modules/semver/functions/eq.js +0 -5
  376. package/node_modules/semver/functions/gt.js +0 -5
  377. package/node_modules/semver/functions/gte.js +0 -5
  378. package/node_modules/semver/functions/inc.js +0 -21
  379. package/node_modules/semver/functions/lt.js +0 -5
  380. package/node_modules/semver/functions/lte.js +0 -5
  381. package/node_modules/semver/functions/major.js +0 -5
  382. package/node_modules/semver/functions/minor.js +0 -5
  383. package/node_modules/semver/functions/neq.js +0 -5
  384. package/node_modules/semver/functions/parse.js +0 -18
  385. package/node_modules/semver/functions/patch.js +0 -5
  386. package/node_modules/semver/functions/prerelease.js +0 -8
  387. package/node_modules/semver/functions/rcompare.js +0 -5
  388. package/node_modules/semver/functions/rsort.js +0 -5
  389. package/node_modules/semver/functions/satisfies.js +0 -12
  390. package/node_modules/semver/functions/sort.js +0 -5
  391. package/node_modules/semver/functions/truncate.js +0 -48
  392. package/node_modules/semver/functions/valid.js +0 -8
  393. package/node_modules/semver/index.js +0 -93
  394. package/node_modules/semver/internal/constants.js +0 -37
  395. package/node_modules/semver/internal/debug.js +0 -11
  396. package/node_modules/semver/internal/identifiers.js +0 -29
  397. package/node_modules/semver/internal/lrucache.js +0 -42
  398. package/node_modules/semver/internal/parse-options.js +0 -17
  399. package/node_modules/semver/internal/re.js +0 -223
  400. package/node_modules/semver/package.json +0 -78
  401. package/node_modules/semver/preload.js +0 -4
  402. package/node_modules/semver/range.bnf +0 -17
  403. package/node_modules/semver/ranges/gtr.js +0 -6
  404. package/node_modules/semver/ranges/intersects.js +0 -9
  405. package/node_modules/semver/ranges/ltr.js +0 -6
  406. package/node_modules/semver/ranges/max-satisfying.js +0 -27
  407. package/node_modules/semver/ranges/min-satisfying.js +0 -26
  408. package/node_modules/semver/ranges/min-version.js +0 -63
  409. package/node_modules/semver/ranges/outside.js +0 -82
  410. package/node_modules/semver/ranges/simplify.js +0 -49
  411. package/node_modules/semver/ranges/subset.js +0 -249
  412. package/node_modules/semver/ranges/to-comparators.js +0 -10
  413. package/node_modules/semver/ranges/valid.js +0 -13
  414. package/node_modules/simple-concat/.travis.yml +0 -3
  415. package/node_modules/simple-concat/LICENSE +0 -20
  416. package/node_modules/simple-concat/README.md +0 -44
  417. package/node_modules/simple-concat/index.js +0 -15
  418. package/node_modules/simple-concat/package.json +0 -47
  419. package/node_modules/simple-concat/test/basic.js +0 -41
  420. package/node_modules/simple-get/.github/dependabot.yml +0 -15
  421. package/node_modules/simple-get/.github/workflows/ci.yml +0 -23
  422. package/node_modules/simple-get/LICENSE +0 -20
  423. package/node_modules/simple-get/README.md +0 -333
  424. package/node_modules/simple-get/index.js +0 -108
  425. package/node_modules/simple-get/package.json +0 -67
  426. package/node_modules/string_decoder/LICENSE +0 -48
  427. package/node_modules/string_decoder/README.md +0 -47
  428. package/node_modules/string_decoder/lib/string_decoder.js +0 -296
  429. package/node_modules/string_decoder/package.json +0 -34
  430. package/node_modules/strip-json-comments/index.js +0 -70
  431. package/node_modules/strip-json-comments/license +0 -21
  432. package/node_modules/strip-json-comments/package.json +0 -42
  433. package/node_modules/strip-json-comments/readme.md +0 -64
  434. package/node_modules/tar-fs/.travis.yml +0 -6
  435. package/node_modules/tar-fs/LICENSE +0 -21
  436. package/node_modules/tar-fs/README.md +0 -165
  437. package/node_modules/tar-fs/index.js +0 -392
  438. package/node_modules/tar-fs/package.json +0 -46
  439. package/node_modules/tar-fs/test/fixtures/a/hello.txt +0 -1
  440. package/node_modules/tar-fs/test/fixtures/b/a/test.txt +0 -1
  441. package/node_modules/tar-fs/test/fixtures/d/file1 +0 -0
  442. package/node_modules/tar-fs/test/fixtures/d/file2 +0 -0
  443. package/node_modules/tar-fs/test/fixtures/d/sub-dir/file5 +0 -0
  444. package/node_modules/tar-fs/test/fixtures/d/sub-files/file3 +0 -0
  445. package/node_modules/tar-fs/test/fixtures/d/sub-files/file4 +0 -0
  446. package/node_modules/tar-fs/test/fixtures/e/directory/.ignore +0 -0
  447. package/node_modules/tar-fs/test/fixtures/e/file +0 -0
  448. package/node_modules/tar-fs/test/fixtures/invalid.tar +0 -0
  449. package/node_modules/tar-fs/test/index.js +0 -457
  450. package/node_modules/tar-stream/LICENSE +0 -21
  451. package/node_modules/tar-stream/README.md +0 -168
  452. package/node_modules/tar-stream/extract.js +0 -257
  453. package/node_modules/tar-stream/headers.js +0 -295
  454. package/node_modules/tar-stream/index.js +0 -2
  455. package/node_modules/tar-stream/pack.js +0 -255
  456. package/node_modules/tar-stream/package.json +0 -58
  457. package/node_modules/tar-stream/sandbox.js +0 -11
  458. package/node_modules/tunnel-agent/LICENSE +0 -55
  459. package/node_modules/tunnel-agent/README.md +0 -4
  460. package/node_modules/tunnel-agent/index.js +0 -244
  461. package/node_modules/tunnel-agent/package.json +0 -22
  462. package/node_modules/util-deprecate/History.md +0 -16
  463. package/node_modules/util-deprecate/LICENSE +0 -24
  464. package/node_modules/util-deprecate/README.md +0 -53
  465. package/node_modules/util-deprecate/browser.js +0 -67
  466. package/node_modules/util-deprecate/node.js +0 -6
  467. package/node_modules/util-deprecate/package.json +0 -27
  468. package/node_modules/wrappy/LICENSE +0 -15
  469. package/node_modules/wrappy/README.md +0 -36
  470. package/node_modules/wrappy/package.json +0 -29
  471. package/node_modules/wrappy/wrappy.js +0 -33
@@ -1,347 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- import { z } from "zod";
3
- import { validationFailed } from "./errors.js";
4
- const pageShape = {
5
- page: z.coerce.number().int().positive().optional(),
6
- per_page: z.coerce.number().int().positive().optional(),
7
- perPage: z.coerce.number().int().positive().optional()
8
- };
9
- const ownerRepo = {
10
- owner: z.string().min(1),
11
- repo: z.string().min(1)
12
- };
13
- const prNumber = {
14
- pull_number: z.coerce.number().int().positive(),
15
- pullNumber: z.coerce.number().int().positive().optional()
16
- };
17
- const issueNumber = {
18
- issue_number: z.coerce.number().int().positive(),
19
- issueNumber: z.coerce.number().int().positive().optional()
20
- };
21
- function normalizeIssueNumber(input) {
22
- return { ...input, issue_number: input.issue_number ?? input.issueNumber };
23
- }
24
- function normalizePullNumber(input) {
25
- return { ...input, pull_number: input.pull_number ?? input.pullNumber };
26
- }
27
- function normalizeHeadSha(input) {
28
- return { ...input, head_sha: input.head_sha ?? input.headSha };
29
- }
30
- export const toolDefinitions = [
31
- {
32
- name: "search_repositories",
33
- description: "Search local repositories by name or description.",
34
- schema: z.object({ query: z.string().optional(), q: z.string().optional(), ...pageShape })
35
- },
36
- {
37
- name: "create_repository",
38
- description: "Create a repository with an initial README and main branch.",
39
- schema: z.object({ name: z.string().min(1), owner: z.string().min(1).optional(), description: z.string().optional(), private: z.boolean().optional() })
40
- },
41
- {
42
- name: "fork_repository",
43
- description: "Fork a repository into the current user or an organization.",
44
- schema: z.object({ ...ownerRepo, organization: z.string().min(1).optional() })
45
- },
46
- {
47
- name: "get_repository",
48
- description: "Get one repository.",
49
- schema: z.object({ ...ownerRepo })
50
- },
51
- {
52
- name: "search_code",
53
- description: "Search files in the local GitHub twin.",
54
- schema: z.object({ query: z.string().optional(), q: z.string().optional(), owner: z.string().optional(), repo: z.string().optional(), ...pageShape })
55
- },
56
- {
57
- name: "search_users",
58
- description: "Search seeded users and organizations.",
59
- schema: z.object({ query: z.string().optional(), q: z.string().optional(), ...pageShape })
60
- },
61
- {
62
- name: "get_file_contents",
63
- description: "Read a file or directory from a repository branch.",
64
- schema: z.object({ ...ownerRepo, path: z.string().optional(), ref: z.string().optional() })
65
- },
66
- {
67
- name: "list_commits",
68
- description: "List commits for a repository.",
69
- schema: z.object({ ...ownerRepo, sha: z.string().optional(), ...pageShape })
70
- },
71
- {
72
- name: "create_or_update_file",
73
- description: "Create or update one file and advance the branch head atomically.",
74
- schema: z.object({ ...ownerRepo, path: z.string().min(1), message: z.string().min(1), content: z.string(), branch: z.string().optional(), sha: z.string().optional(), encoding: z.enum(["utf-8", "base64"]).optional() })
75
- },
76
- {
77
- name: "create_branch",
78
- description: "Create a branch from an existing branch or SHA.",
79
- schema: z.object({ ...ownerRepo, branch: z.string().min(1), from_branch: z.string().optional(), sha: z.string().optional() })
80
- },
81
- {
82
- name: "push_files",
83
- description: "Push multiple files in a single commit.",
84
- schema: z.object({ ...ownerRepo, branch: z.string().optional(), message: z.string().min(1), files: z.array(z.object({ path: z.string().min(1), content: z.string(), encoding: z.enum(["utf-8", "base64"]).optional() })).min(1) })
85
- },
86
- {
87
- name: "get_issue",
88
- description: "Get one issue.",
89
- schema: z.object({ ...ownerRepo, issue_number: z.coerce.number().int().positive().optional(), issueNumber: z.coerce.number().int().positive().optional() }).refine((value) => value.issue_number ?? value.issueNumber, "issue_number is required")
90
- },
91
- {
92
- name: "update_issue",
93
- description: "Update an issue title, body, state, labels, or assignees.",
94
- schema: z.object({ ...ownerRepo, issue_number: z.coerce.number().int().positive().optional(), issueNumber: z.coerce.number().int().positive().optional(), title: z.string().optional(), body: z.string().optional(), state: z.enum(["open", "closed"]).optional(), labels: z.array(z.string()).optional(), assignees: z.array(z.string()).optional() }).refine((value) => value.issue_number ?? value.issueNumber, "issue_number is required")
95
- },
96
- {
97
- name: "search_issues",
98
- description: "Search all local issues.",
99
- schema: z.object({ query: z.string().optional(), q: z.string().optional(), state: z.enum(["open", "closed", "all"]).optional(), ...pageShape })
100
- },
101
- {
102
- name: "list_issues",
103
- description: "List repository issues with common filters.",
104
- schema: z.object({ ...ownerRepo, state: z.enum(["open", "closed", "all"]).optional(), labels: z.string().optional(), assignee: z.string().optional(), ...pageShape })
105
- },
106
- {
107
- name: "add_issue_comment",
108
- description: "Add an issue comment.",
109
- schema: z.object({ ...ownerRepo, issue_number: z.coerce.number().int().positive().optional(), issueNumber: z.coerce.number().int().positive().optional(), body: z.string().min(1) }).refine((value) => value.issue_number ?? value.issueNumber, "issue_number is required")
110
- },
111
- {
112
- name: "list_issue_comments",
113
- description: "List comments on an issue.",
114
- schema: z.object({ ...ownerRepo, issue_number: z.coerce.number().int().positive().optional(), issueNumber: z.coerce.number().int().positive().optional(), ...pageShape }).refine((value) => value.issue_number ?? value.issueNumber, "issue_number is required")
115
- },
116
- {
117
- name: "create_issue",
118
- description: "Create an issue.",
119
- schema: z.object({ ...ownerRepo, title: z.string().min(1), body: z.string().optional(), labels: z.array(z.string()).optional(), assignees: z.array(z.string()).optional() })
120
- },
121
- {
122
- name: "list_repository_labels",
123
- description: "List labels defined on a repository.",
124
- schema: z.object({ ...ownerRepo })
125
- },
126
- {
127
- name: "create_label",
128
- description: "Create a repository label.",
129
- schema: z.object({ ...ownerRepo, name: z.string().min(1), color: z.string().default("ededed"), description: z.string().default("") })
130
- },
131
- {
132
- name: "list_issue_labels",
133
- description: "List labels applied to an issue.",
134
- schema: z.object({ ...ownerRepo, issue_number: z.coerce.number().int().positive().optional(), issueNumber: z.coerce.number().int().positive().optional() }).refine((value) => value.issue_number ?? value.issueNumber, "issue_number is required")
135
- },
136
- {
137
- name: "add_issue_labels",
138
- description: "Apply one or more labels to an issue.",
139
- schema: z.object({ ...ownerRepo, issue_number: z.coerce.number().int().positive().optional(), issueNumber: z.coerce.number().int().positive().optional(), labels: z.array(z.string().min(1)).min(1) }).refine((value) => value.issue_number ?? value.issueNumber, "issue_number is required")
140
- },
141
- {
142
- name: "remove_issue_label",
143
- description: "Remove one label from an issue.",
144
- schema: z.object({ ...ownerRepo, issue_number: z.coerce.number().int().positive().optional(), issueNumber: z.coerce.number().int().positive().optional(), label: z.string().min(1) }).refine((value) => value.issue_number ?? value.issueNumber, "issue_number is required")
145
- },
146
- {
147
- name: "list_collaborators",
148
- description: "List repository collaborators.",
149
- schema: z.object({ ...ownerRepo })
150
- },
151
- {
152
- name: "add_assignees",
153
- description: "Add assignees to an issue.",
154
- schema: z.object({ ...ownerRepo, issue_number: z.coerce.number().int().positive().optional(), issueNumber: z.coerce.number().int().positive().optional(), assignees: z.array(z.string().min(1)).min(1) }).refine((value) => value.issue_number ?? value.issueNumber, "issue_number is required")
155
- },
156
- {
157
- name: "get_pull_request",
158
- description: "Get one pull request.",
159
- schema: z.object({ ...ownerRepo, pull_number: z.coerce.number().int().positive().optional(), pullNumber: z.coerce.number().int().positive().optional() }).refine((value) => value.pull_number ?? value.pullNumber, "pull_number is required")
160
- },
161
- {
162
- name: "get_pull_request_reviews",
163
- description: "List pull request reviews.",
164
- schema: z.object({ ...ownerRepo, pull_number: z.coerce.number().int().positive().optional(), pullNumber: z.coerce.number().int().positive().optional(), ...pageShape }).refine((value) => value.pull_number ?? value.pullNumber, "pull_number is required")
165
- },
166
- {
167
- name: "create_pull_request_review",
168
- description: "Create a pull request review.",
169
- schema: z.object({ ...ownerRepo, pull_number: z.coerce.number().int().positive().optional(), pullNumber: z.coerce.number().int().positive().optional(), event: z.enum(["APPROVE", "REQUEST_CHANGES", "COMMENT"]), body: z.string().optional() }).refine((value) => value.pull_number ?? value.pullNumber, "pull_number is required")
170
- },
171
- {
172
- name: "get_pull_request_comments",
173
- description: "List review comments on a pull request.",
174
- schema: z.object({ ...ownerRepo, pull_number: z.coerce.number().int().positive().optional(), pullNumber: z.coerce.number().int().positive().optional(), ...pageShape }).refine((value) => value.pull_number ?? value.pullNumber, "pull_number is required")
175
- },
176
- {
177
- name: "get_pull_request_files",
178
- description: "List files changed by a pull request.",
179
- schema: z.object({ ...ownerRepo, pull_number: z.coerce.number().int().positive().optional(), pullNumber: z.coerce.number().int().positive().optional(), ...pageShape }).refine((value) => value.pull_number ?? value.pullNumber, "pull_number is required")
180
- },
181
- {
182
- name: "get_pull_request_status",
183
- description: "Get combined status for a pull request head commit.",
184
- schema: z.object({ ...ownerRepo, pull_number: z.coerce.number().int().positive().optional(), pullNumber: z.coerce.number().int().positive().optional() }).refine((value) => value.pull_number ?? value.pullNumber, "pull_number is required")
185
- },
186
- {
187
- name: "list_pull_requests",
188
- description: "List repository pull requests.",
189
- schema: z.object({ ...ownerRepo, state: z.enum(["open", "closed", "all"]).optional(), ...pageShape })
190
- },
191
- {
192
- name: "merge_pull_request",
193
- description: "Merge a pull request using simplified local merge semantics.",
194
- schema: z.object({ ...ownerRepo, pull_number: z.coerce.number().int().positive().optional(), pullNumber: z.coerce.number().int().positive().optional(), commit_title: z.string().optional(), commit_message: z.string().optional() }).refine((value) => value.pull_number ?? value.pullNumber, "pull_number is required")
195
- },
196
- {
197
- name: "update_pull_request_branch",
198
- description: "Update a PR branch from its base branch.",
199
- schema: z.object({ ...ownerRepo, pull_number: z.coerce.number().int().positive().optional(), pullNumber: z.coerce.number().int().positive().optional(), expected_head_sha: z.string().optional() }).refine((value) => value.pull_number ?? value.pullNumber, "pull_number is required")
200
- },
201
- {
202
- name: "create_pull_request",
203
- description: "Create a pull request from a head branch to a base branch.",
204
- schema: z.object({ ...ownerRepo, title: z.string().min(1), body: z.string().optional(), head: z.string().min(1), base: z.string().optional() })
205
- },
206
- {
207
- name: "create_commit_status",
208
- description: "Create a commit status (pending/success/failure/error) on a commit SHA.",
209
- schema: z.object({ ...ownerRepo, sha: z.string().min(1), state: z.enum(["error", "failure", "pending", "success"]), context: z.string().optional(), description: z.string().optional(), target_url: z.string().optional(), targetUrl: z.string().optional() })
210
- },
211
- {
212
- name: "create_check_run",
213
- description: "Create a check run on a commit SHA.",
214
- schema: z.object({ ...ownerRepo, name: z.string().min(1), head_sha: z.string().min(1).optional(), headSha: z.string().min(1).optional(), status: z.enum(["queued", "in_progress", "completed"]).optional(), conclusion: z.enum(["success", "failure", "neutral", "cancelled", "timed_out", "action_required", "skipped", "stale"]).optional(), details_url: z.string().optional(), detailsUrl: z.string().optional(), external_id: z.string().optional(), externalId: z.string().optional(), output: z.object({ title: z.string().optional(), summary: z.string().optional() }).optional(), started_at: z.string().optional(), startedAt: z.string().optional(), completed_at: z.string().optional(), completedAt: z.string().optional() }).refine((value) => value.head_sha ?? value.headSha, "head_sha is required")
215
- }
216
- ];
217
- export function listTools() {
218
- return toolDefinitions.map((tool) => ({
219
- name: tool.name,
220
- description: tool.description,
221
- input_schema: z.toJSONSchema(tool.schema)
222
- }));
223
- }
224
- // MCP wire format (Streamable HTTP, real JSON-RPC) uses camelCase
225
- // `inputSchema`. Legacy custom routes (`/mcp/tools`) keep the snake_case
226
- // `input_schema` they shipped with — do not change `listTools()`.
227
- export function listToolsForMcp() {
228
- return toolDefinitions.map((tool) => ({
229
- name: tool.name,
230
- description: tool.description,
231
- inputSchema: z.toJSONSchema(tool.schema)
232
- }));
233
- }
234
- const MUTATING_TOOL_NAMES = new Set([
235
- "create_repository",
236
- "fork_repository",
237
- "create_or_update_file",
238
- "create_branch",
239
- "push_files",
240
- "update_issue",
241
- "add_issue_comment",
242
- "create_label",
243
- "add_issue_labels",
244
- "remove_issue_label",
245
- "add_assignees",
246
- "create_issue",
247
- "create_pull_request_review",
248
- "merge_pull_request",
249
- "update_pull_request_branch",
250
- "create_pull_request",
251
- "create_commit_status",
252
- "create_check_run"
253
- ]);
254
- export function isMutatingTool(name) {
255
- return MUTATING_TOOL_NAMES.has(name);
256
- }
257
- export function executeTool(domain, name, input, onDelta) {
258
- const definition = toolDefinitions.find((tool) => tool.name === name);
259
- if (!definition) {
260
- validationFailed("tool", "invalid", name);
261
- }
262
- const parsed = definition.schema.parse(input);
263
- switch (name) {
264
- case "search_repositories":
265
- return domain.searchRepositories(parsed);
266
- case "create_repository":
267
- return domain.createRepository(parsed, onDelta);
268
- case "fork_repository":
269
- return domain.forkRepository(parsed, onDelta);
270
- case "get_repository":
271
- return domain.getRepository(parsed);
272
- case "search_code":
273
- return domain.searchCode(parsed);
274
- case "search_users":
275
- return domain.searchUsers(parsed);
276
- case "get_file_contents":
277
- return domain.getFileContents(parsed);
278
- case "list_commits":
279
- return domain.listCommits(parsed);
280
- case "create_or_update_file":
281
- return domain.createOrUpdateFile(parsed, {}, onDelta);
282
- case "create_branch":
283
- return domain.createBranch(parsed, onDelta);
284
- case "push_files":
285
- return domain.pushFiles(parsed, {}, onDelta);
286
- case "get_issue":
287
- return domain.getIssue(normalizeIssueNumber(parsed));
288
- case "update_issue":
289
- return domain.updateIssue(normalizeIssueNumber(parsed), onDelta);
290
- case "search_issues":
291
- return domain.searchIssues(parsed);
292
- case "list_issues":
293
- return domain.listIssues(parsed);
294
- case "add_issue_comment":
295
- return domain.addIssueComment(normalizeIssueNumber(parsed), onDelta);
296
- case "list_issue_comments":
297
- return domain.listIssueComments(normalizeIssueNumber(parsed));
298
- case "create_issue":
299
- return domain.createIssue(parsed, onDelta);
300
- case "list_repository_labels":
301
- return domain.listRepositoryLabels(parsed);
302
- case "create_label":
303
- return domain.createRepositoryLabel(parsed, onDelta);
304
- case "list_issue_labels":
305
- return domain.listIssueLabelsForIssue(normalizeIssueNumber(parsed));
306
- case "add_issue_labels":
307
- return domain.addIssueLabels(normalizeIssueNumber(parsed), onDelta);
308
- case "remove_issue_label":
309
- return domain.deleteIssueLabel(normalizeIssueNumber(parsed), onDelta);
310
- case "list_collaborators":
311
- return domain.listCollaborators(parsed);
312
- case "add_assignees":
313
- return domain.addAssignees(normalizeIssueNumber(parsed), onDelta);
314
- case "get_pull_request":
315
- return domain.getPullRequest(normalizePullNumber(parsed));
316
- case "get_pull_request_reviews":
317
- return domain.getPullRequestReviews(normalizePullNumber(parsed));
318
- case "create_pull_request_review":
319
- return domain.createPullRequestReview(normalizePullNumber(parsed), onDelta);
320
- case "get_pull_request_comments":
321
- return domain.getPullRequestComments(normalizePullNumber(parsed));
322
- case "get_pull_request_files":
323
- return domain.getPullRequestFiles(normalizePullNumber(parsed));
324
- case "get_pull_request_status":
325
- return domain.getPullRequestStatus(normalizePullNumber(parsed));
326
- case "list_pull_requests":
327
- return domain.listPullRequests(parsed);
328
- case "merge_pull_request":
329
- return domain.mergePullRequest(normalizePullNumber(parsed), onDelta);
330
- case "update_pull_request_branch":
331
- return domain.updatePullRequestBranch(normalizePullNumber(parsed), onDelta);
332
- case "create_pull_request":
333
- return domain.createPullRequest(parsed, onDelta);
334
- case "create_commit_status":
335
- return domain.createCommitStatus({ ...parsed, target_url: parsed.target_url ?? parsed.targetUrl }, onDelta);
336
- case "create_check_run": {
337
- const merged = normalizeHeadSha(parsed);
338
- return domain.createCheckRun({
339
- ...merged,
340
- details_url: merged.details_url ?? merged.detailsUrl,
341
- external_id: merged.external_id ?? merged.externalId,
342
- started_at: merged.started_at ?? merged.startedAt,
343
- completed_at: merged.completed_at ?? merged.completedAt
344
- }, onDelta);
345
- }
346
- }
347
- }
@@ -1,198 +0,0 @@
1
- import type Database from "better-sqlite3";
2
- import type { RecorderEvent } from "../types/shared.js";
3
- export type { RecorderEvent } from "../types/shared.js";
4
- export type GitHubCloneDatabase = Database.Database;
5
- export type GitHubStateSeed = {
6
- users?: SeedUser[];
7
- repositories: SeedRepository[];
8
- };
9
- export type SeedUser = {
10
- login: string;
11
- type?: "User" | "Organization";
12
- name?: string;
13
- };
14
- export type SeedRepository = {
15
- owner: string;
16
- name: string;
17
- description?: string;
18
- private?: boolean;
19
- default_branch?: string;
20
- collaborators?: string[];
21
- labels?: Array<{
22
- name: string;
23
- color?: string;
24
- description?: string;
25
- }>;
26
- files?: Array<{
27
- path: string;
28
- content: string;
29
- branch?: string;
30
- }>;
31
- issues?: Array<{
32
- number?: number;
33
- title: string;
34
- body?: string;
35
- state?: "open" | "closed";
36
- labels?: string[];
37
- assignees?: string[];
38
- }>;
39
- pull_requests?: Array<{
40
- number?: number;
41
- title: string;
42
- body?: string;
43
- head: string;
44
- base?: string;
45
- state?: "open" | "closed";
46
- author?: string;
47
- reviews?: Array<{
48
- author: string;
49
- state?: "APPROVED" | "CHANGES_REQUESTED" | "COMMENTED";
50
- body?: string;
51
- }>;
52
- statuses?: Array<{
53
- context?: string;
54
- state?: "error" | "failure" | "pending" | "success";
55
- description?: string;
56
- }>;
57
- }>;
58
- };
59
- export type RepoRow = {
60
- id: number;
61
- owner: string;
62
- name: string;
63
- full_name: string;
64
- description: string;
65
- private: 0 | 1;
66
- default_branch: string;
67
- fork: 0 | 1;
68
- parent_full_name: string | null;
69
- entity_counter: number;
70
- created_at: string;
71
- updated_at: string;
72
- };
73
- export type BranchRow = {
74
- id: number;
75
- repo_id: number;
76
- name: string;
77
- head_sha: string | null;
78
- created_at: string;
79
- updated_at: string;
80
- };
81
- export type CommitRow = {
82
- sha: string;
83
- repo_id: number;
84
- message: string;
85
- author_login: string;
86
- committer_login: string;
87
- parent_sha: string | null;
88
- tree_sha: string;
89
- created_at: string;
90
- };
91
- export type FileRow = {
92
- repo_id: number;
93
- branch: string;
94
- path: string;
95
- content: string;
96
- sha: string;
97
- size: number;
98
- updated_at: string;
99
- };
100
- export type LabelRow = {
101
- repo_id: number;
102
- name: string;
103
- color: string;
104
- description: string;
105
- };
106
- export type IssueRow = {
107
- repo_id: number;
108
- number: number;
109
- title: string;
110
- body: string;
111
- state: "open" | "closed";
112
- user_login: string;
113
- assignee_login: string | null;
114
- created_at: string;
115
- updated_at: string;
116
- closed_at: string | null;
117
- };
118
- export type IssueCommentRow = {
119
- id: number;
120
- repo_id: number;
121
- issue_number: number;
122
- body: string;
123
- user_login: string;
124
- created_at: string;
125
- updated_at: string;
126
- };
127
- export type PullRequestRow = {
128
- repo_id: number;
129
- number: number;
130
- title: string;
131
- body: string;
132
- state: "open" | "closed";
133
- user_login: string;
134
- head_repo_id: number;
135
- head_ref: string;
136
- head_sha: string | null;
137
- base_repo_id: number;
138
- base_ref: string;
139
- base_sha: string | null;
140
- merged: 0 | 1;
141
- merge_commit_sha: string | null;
142
- created_at: string;
143
- updated_at: string;
144
- closed_at: string | null;
145
- merged_at: string | null;
146
- };
147
- export type PullRequestReviewRow = {
148
- id: number;
149
- repo_id: number;
150
- pull_number: number;
151
- user_login: string;
152
- state: "APPROVED" | "CHANGES_REQUESTED" | "COMMENTED";
153
- body: string;
154
- commit_sha: string | null;
155
- submitted_at: string;
156
- };
157
- export type PullRequestFileRow = {
158
- repo_id: number;
159
- pull_number: number;
160
- filename: string;
161
- status: "added" | "modified" | "removed" | "renamed";
162
- additions: number;
163
- deletions: number;
164
- changes: number;
165
- blob_url: string;
166
- raw_url: string;
167
- contents_url: string;
168
- patch: string;
169
- };
170
- export type CommitStatusRow = {
171
- id: number;
172
- repo_id: number;
173
- sha: string;
174
- state: "error" | "failure" | "pending" | "success";
175
- context: string;
176
- description: string;
177
- target_url: string;
178
- created_at: string;
179
- updated_at: string;
180
- };
181
- export type CheckRunRow = {
182
- id: number;
183
- repo_id: number;
184
- head_sha: string;
185
- name: string;
186
- status: "queued" | "in_progress" | "completed";
187
- conclusion: "success" | "failure" | "neutral" | "cancelled" | "timed_out" | "action_required" | "skipped" | "stale" | null;
188
- details_url: string;
189
- external_id: string;
190
- output_title: string | null;
191
- output_summary: string | null;
192
- started_at: string;
193
- completed_at: string | null;
194
- };
195
- export type Recorder = {
196
- record(event: RecorderEvent): void;
197
- events(): RecorderEvent[];
198
- };
@@ -1 +0,0 @@
1
- export {};
@@ -1,10 +0,0 @@
1
- export declare const unsupportedEnvelope: {
2
- readonly status: 501;
3
- readonly body: {
4
- readonly message: "This endpoint is not supported by this GitHub twin clone.";
5
- readonly _twin: {
6
- readonly fidelity: "unsupported";
7
- readonly supported_surfaces: readonly ["GitHub-shaped REST", "POST /s/:sid/mcp", "GET /s/:sid/mcp/tools", "POST /s/:sid/mcp/tools/:name", "POST /s/:sid/mcp/call"];
8
- };
9
- };
10
- };
@@ -1,29 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- //
3
- // Canonical loud-501 "unsupported route" envelope for the GitHub twin — CLI
4
- // vendor copy.
5
- //
6
- // Mirrors packages/twin-github/src/unsupported-envelope.ts after FDRS-431:
7
- // twin-only metadata (`fidelity`, `supported_surfaces`) lives under the `_twin`
8
- // namespace so the twin-only fields never collide with real upstream fields.
9
- // Kept in this dependency-light module — no sqlite, no http, no hono — so the
10
- // cross-twin namespace lint (tools/fidelity/lint-twin-namespace.ts) can import
11
- // the real wire shape this CLI ships without booting the app. `app.ts` builds
12
- // its catch-all 501 body from here, so the public 501 contract can never drift
13
- // between the packaged twin and the shipped CLI.
14
- export const unsupportedEnvelope = {
15
- status: 501,
16
- body: {
17
- message: "This endpoint is not supported by this GitHub twin clone.",
18
- _twin: {
19
- fidelity: "unsupported",
20
- supported_surfaces: [
21
- "GitHub-shaped REST",
22
- "POST /s/:sid/mcp",
23
- "GET /s/:sid/mcp/tools",
24
- "POST /s/:sid/mcp/tools/:name",
25
- "POST /s/:sid/mcp/call",
26
- ],
27
- },
28
- },
29
- };
@@ -1,13 +0,0 @@
1
- export declare function nowIso(): string;
2
- export declare function stableNumericId(input: string): number;
3
- export declare function makeSha(...parts: unknown[]): string;
4
- export declare function fileSha(content: string): string;
5
- export declare function treeSha(paths: string[]): string;
6
- export declare function encodeContent(content: string): string;
7
- export declare function decodeMaybeBase64(content: string, encoding?: string): string;
8
- export declare function paginate<T>(items: T[], page?: number, perPage?: number): T[];
9
- export declare function requestId(): string;
10
- export declare function linesChanged(before: string | undefined, after: string): {
11
- additions: number;
12
- deletions: number;
13
- };
@@ -1,61 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- import { createHash, randomUUID } from "node:crypto";
3
- export function nowIso() {
4
- return new Date().toISOString();
5
- }
6
- export function stableNumericId(input) {
7
- let hash = 0;
8
- for (const char of input) {
9
- hash = (hash * 31 + char.charCodeAt(0)) >>> 0;
10
- }
11
- return hash;
12
- }
13
- export function makeSha(...parts) {
14
- return createHash("sha1")
15
- .update(JSON.stringify(parts))
16
- .update(randomUUID())
17
- .digest("hex");
18
- }
19
- export function fileSha(content) {
20
- return createHash("sha1").update(`blob ${Buffer.byteLength(content)}\0${content}`).digest("hex");
21
- }
22
- export function treeSha(paths) {
23
- return createHash("sha1").update(paths.sort().join("\n")).digest("hex");
24
- }
25
- export function encodeContent(content) {
26
- return Buffer.from(content, "utf8").toString("base64");
27
- }
28
- export function decodeMaybeBase64(content, encoding) {
29
- if (encoding === "base64") {
30
- return Buffer.from(content, "base64").toString("utf8");
31
- }
32
- return content;
33
- }
34
- export function paginate(items, page = 1, perPage = 30) {
35
- const safePage = Math.max(1, page);
36
- const safePerPage = Math.min(100, Math.max(1, perPage));
37
- const start = (safePage - 1) * safePerPage;
38
- return items.slice(start, start + safePerPage);
39
- }
40
- export function requestId() {
41
- return `req_${randomUUID()}`;
42
- }
43
- export function linesChanged(before, after) {
44
- if (before === undefined) {
45
- return { additions: after.split("\n").filter(Boolean).length || 1, deletions: 0 };
46
- }
47
- const oldLines = before.split("\n");
48
- const newLines = after.split("\n");
49
- let additions = 0;
50
- let deletions = 0;
51
- const max = Math.max(oldLines.length, newLines.length);
52
- for (let index = 0; index < max; index += 1) {
53
- if (oldLines[index] === newLines[index])
54
- continue;
55
- if (newLines[index] !== undefined)
56
- additions += 1;
57
- if (oldLines[index] !== undefined)
58
- deletions += 1;
59
- }
60
- return { additions, deletions };
61
- }
@@ -1,17 +0,0 @@
1
- import { Hono } from "hono";
2
- import type { Session } from "./auth.js";
3
- import { SlackDomain } from "./domain.js";
4
- import type { Recorder, SlackTwinDatabase } from "./types.js";
5
- export type CreateSlackTwinAppOptions = {
6
- db?: SlackTwinDatabase;
7
- domain?: SlackDomain;
8
- recorder?: Recorder;
9
- runId?: string;
10
- };
11
- type AppEnv = {
12
- Variables: {
13
- session: Session;
14
- };
15
- };
16
- export declare function createSlackTwinApp(opts?: CreateSlackTwinAppOptions): Hono<AppEnv, import("hono/types").BlankSchema, "/">;
17
- export {};