@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,14 +0,0 @@
1
- export declare class TwinError extends Error {
2
- readonly status: number;
3
- readonly errors?: unknown[] | undefined;
4
- constructor(message: string, status: number, errors?: unknown[] | undefined);
5
- }
6
- export declare function githubError(message: string, status: number, errors?: unknown[]): {
7
- errors?: unknown[] | undefined;
8
- message: string;
9
- documentation_url: string;
10
- status: number;
11
- };
12
- export declare function notFound(message?: string): never;
13
- export declare function conflict(message: string): never;
14
- export declare function validationFailed(field: string, code: string, value?: unknown): never;
@@ -1,34 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- export class TwinError extends Error {
3
- status;
4
- errors;
5
- constructor(message, status, errors) {
6
- super(message);
7
- this.status = status;
8
- this.errors = errors;
9
- }
10
- }
11
- export function githubError(message, status, errors) {
12
- return {
13
- message,
14
- documentation_url: "https://docs.github.com/rest",
15
- status,
16
- ...(errors ? { errors } : {})
17
- };
18
- }
19
- export function notFound(message = "Not Found") {
20
- throw new TwinError(message, 404);
21
- }
22
- export function conflict(message) {
23
- throw new TwinError(message, 409);
24
- }
25
- export function validationFailed(field, code, value) {
26
- throw new TwinError("Validation Failed", 422, [
27
- {
28
- resource: "Request",
29
- field,
30
- code,
31
- ...(value === undefined ? {} : { value })
32
- }
33
- ]);
34
- }
@@ -1,9 +0,0 @@
1
- export { createGitHubCloneApp } from "./app.js";
2
- export { bearerAuth, localhostOnly, resolveAuthSecret } from "./auth.js";
3
- export type { SessionClaims } from "./auth.js";
4
- export { openGitHubCloneDatabase, resetDatabase } from "./db.js";
5
- export { GitHubDomain } from "./domain.js";
6
- export { defaultSeedState, parseSeed } from "./seed.js";
7
- export { executeTool, listTools, toolDefinitions } from "./tools.js";
8
- export type { GitHubCloneAppOptions } from "./app.js";
9
- export type { GitHubCloneDatabase, GitHubStateSeed, Recorder } from "./types.js";
@@ -1,7 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- export { createGitHubCloneApp } from "./app.js";
3
- export { bearerAuth, localhostOnly, resolveAuthSecret } from "./auth.js";
4
- export { openGitHubCloneDatabase, resetDatabase } from "./db.js";
5
- export { GitHubDomain } from "./domain.js";
6
- export { defaultSeedState, parseSeed } from "./seed.js";
7
- export { executeTool, listTools, toolDefinitions } from "./tools.js";
@@ -1,17 +0,0 @@
1
- import type { Context } from "hono";
2
- import type { GitHubDomain } from "./domain.js";
3
- import type { Recorder } from "./types.js";
4
- export type McpDeps = {
5
- domain: GitHubDomain;
6
- recorder?: Recorder;
7
- runId: string;
8
- };
9
- export declare function mcpMethodNotAllowed(c: Context): Response & import("hono").TypedResponse<{
10
- jsonrpc: string;
11
- id: null;
12
- error: {
13
- code: number;
14
- message: string;
15
- };
16
- }, 405, "json">;
17
- export declare function handleMcpRequest(c: Context, deps: McpDeps): Promise<Response>;
@@ -1,281 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- //
3
- // Real MCP JSON-RPC endpoint (Streamable HTTP, stateless tools-only).
4
- //
5
- // Wire contract: POST /s/:sid/mcp with JSON-RPC 2.0 body. We implement
6
- // the minimum subset required by `@modelcontextprotocol/sdk`'s
7
- // `Client` + `StreamableHTTPClientTransport`:
8
- // - initialize (request) → server info + capabilities
9
- // - notifications/* (notif) → HTTP 202, empty body
10
- // - ping (request) → result: {}
11
- // - tools/list (request) → { tools: [...] } with camelCase inputSchema
12
- // - tools/call (request) → { content: [{type:"text",text:JSON}], isError? }
13
- //
14
- // Recorder parity: every successful `tools/call` produces one RecorderEvent
15
- // whose request_body is `{ tool, arguments }` and whose response_body is the
16
- // raw domain return value — byte-identical to what the legacy
17
- // POST /s/:sid/mcp/call route records. Transport framing (JSON-RPC envelope)
18
- // is intentionally NOT recorded; downstream analytics/replay dispatch on
19
- // "tool X called with args Y" regardless of whether the request came in
20
- // over MCP, the legacy custom route, or a REST shim.
21
- //
22
- // Stateless: each POST is independent. No Mcp-Session-Id, no SSE, no
23
- // server→client notifications. GET/DELETE return 405.
24
- import { z } from "zod";
25
- import { TwinError } from "./errors.js";
26
- import { executeTool, isMutatingTool, listToolsForMcp, toolDefinitions } from "./tools.js";
27
- import { requestId } from "./util.js";
28
- import { twinBuildInfo } from "./build-info.js";
29
- // JSON-RPC 2.0 error codes (https://www.jsonrpc.org/specification)
30
- const PARSE_ERROR = -32700;
31
- const INVALID_REQUEST = -32600;
32
- const METHOD_NOT_FOUND = -32601;
33
- const INVALID_PARAMS = -32602;
34
- const INTERNAL_ERROR = -32603;
35
- // Latest MCP protocol version this server speaks. The MCP handshake says the
36
- // server MAY echo the client's requested version if it supports it, otherwise
37
- // reply with a version the server supports. We echo when the client requests
38
- // a known-shaped string; otherwise fall back to this.
39
- const DEFAULT_PROTOCOL_VERSION = "2025-06-18";
40
- const SUPPORTED_PROTOCOL_VERSIONS = new Set([
41
- "2024-11-05",
42
- "2025-03-26",
43
- "2025-06-18"
44
- ]);
45
- // Hono GET/DELETE handler — Streamable HTTP requires both to exist; in
46
- // stateless mode the only sensible answer is 405.
47
- export function mcpMethodNotAllowed(c) {
48
- return c.json({ jsonrpc: "2.0", id: null, error: { code: METHOD_NOT_FOUND, message: "Method not allowed in stateless mode" } }, 405, { Allow: "POST" });
49
- }
50
- export async function handleMcpRequest(c, deps) {
51
- // Body must be JSON. Failure → parse error per JSON-RPC.
52
- let body;
53
- try {
54
- body = await c.req.json();
55
- }
56
- catch {
57
- return jsonRpcErrorResponse(null, PARSE_ERROR, "Problems parsing JSON");
58
- }
59
- // Batch: process each, return array of responses (omitting notifications).
60
- if (Array.isArray(body)) {
61
- if (body.length === 0) {
62
- return jsonRpcErrorResponse(null, INVALID_REQUEST, "Invalid Request");
63
- }
64
- const out = [];
65
- for (const message of body) {
66
- const response = await dispatch(message, deps, c);
67
- if (response)
68
- out.push(response);
69
- }
70
- // If every message was a notification → 202 with empty body.
71
- if (out.length === 0)
72
- return new Response(null, { status: 202 });
73
- return Response.json(out, {
74
- status: 200,
75
- headers: { "content-type": "application/json" }
76
- });
77
- }
78
- // Single message.
79
- const response = await dispatch(body, deps, c);
80
- if (!response)
81
- return new Response(null, { status: 202 });
82
- // Pick HTTP status from the JSON-RPC payload kind: error → still 200 per spec
83
- // (errors travel inside the envelope), except for parse/invalid-request which
84
- // are signaled by the dispatch path itself.
85
- return Response.json(response, {
86
- status: 200,
87
- headers: { "content-type": "application/json" }
88
- });
89
- }
90
- // Returns null for notifications (no response). Returns a JSON-RPC response
91
- // envelope otherwise.
92
- async function dispatch(message, deps, c) {
93
- if (!isObject(message)) {
94
- return errorEnvelope(null, INVALID_REQUEST, "Invalid Request");
95
- }
96
- if (message.jsonrpc !== "2.0" || typeof message.method !== "string") {
97
- return errorEnvelope(idOf(message), INVALID_REQUEST, "Invalid Request");
98
- }
99
- const method = message.method;
100
- const params = isObject(message.params) ? message.params : {};
101
- // Notification: no `id` → MUST NOT respond. Caller turns this into HTTP 202.
102
- // Per MCP, `notifications/initialized` and `notifications/cancelled` are the
103
- // most common; the right behavior is to swallow silently. Any unknown
104
- // notification is also swallowed (notifications cannot return errors).
105
- const rawId = message.id;
106
- if (rawId === undefined || rawId === null) {
107
- return null;
108
- }
109
- if (typeof rawId !== "string" && typeof rawId !== "number") {
110
- return errorEnvelope(null, INVALID_REQUEST, "Invalid Request: id must be string or number");
111
- }
112
- const id = rawId;
113
- try {
114
- switch (method) {
115
- case "initialize":
116
- return { jsonrpc: "2.0", id, result: buildInitializeResult(params) };
117
- case "ping":
118
- return { jsonrpc: "2.0", id, result: {} };
119
- case "tools/list":
120
- return { jsonrpc: "2.0", id, result: { tools: listToolsForMcp() } };
121
- case "tools/call":
122
- return await handleToolsCall(id, params, deps, c);
123
- default:
124
- return errorEnvelope(id, METHOD_NOT_FOUND, `Method not found: ${method}`);
125
- }
126
- }
127
- catch (err) {
128
- return errorEnvelope(id, INTERNAL_ERROR, err instanceof Error ? err.message : "Internal error");
129
- }
130
- }
131
- function buildInitializeResult(params) {
132
- const requested = typeof params.protocolVersion === "string" ? params.protocolVersion : undefined;
133
- const protocolVersion = requested && SUPPORTED_PROTOCOL_VERSIONS.has(requested) ? requested : DEFAULT_PROTOCOL_VERSION;
134
- return {
135
- protocolVersion,
136
- capabilities: {
137
- tools: { listChanged: false }
138
- },
139
- serverInfo: {
140
- name: "twin-github",
141
- version: twinBuildInfo().version
142
- }
143
- };
144
- }
145
- async function handleToolsCall(id, params, deps, c) {
146
- const name = params.name;
147
- const args = params.arguments === undefined || params.arguments === null
148
- ? {}
149
- : isObject(params.arguments)
150
- ? params.arguments
151
- : undefined;
152
- if (typeof name !== "string" || name.length === 0 || args === undefined) {
153
- return errorEnvelope(id, INVALID_PARAMS, "Invalid params: expected { name: string, arguments?: object }");
154
- }
155
- if (!toolDefinitions.some((t) => t.name === name)) {
156
- // Per MCP convention, an unknown tool surfaces as a tool-call error
157
- // (isError: true) rather than a JSON-RPC error, so the client sees it
158
- // alongside other tool errors.
159
- return {
160
- jsonrpc: "2.0",
161
- id,
162
- result: makeToolErrorResult(`Unknown tool: ${name}`)
163
- };
164
- }
165
- const started = Date.now();
166
- const recordedRequestBody = { tool: name, arguments: args };
167
- let delta = null;
168
- let status = 200;
169
- let responseBody = null;
170
- let toolError = null;
171
- let mcpResult;
172
- try {
173
- const value = executeTool(deps.domain, name, args, (d) => {
174
- delta = d;
175
- });
176
- responseBody = value;
177
- mcpResult = { content: [{ type: "text", text: jsonText(value) }] };
178
- }
179
- catch (err) {
180
- if (err instanceof TwinError) {
181
- status = err.status;
182
- const ghError = {
183
- message: err.message,
184
- documentation_url: "https://docs.github.com/rest",
185
- status: err.status,
186
- ...(err.errors ? { errors: err.errors } : {})
187
- };
188
- responseBody = ghError;
189
- toolError = err.message;
190
- mcpResult = { content: [{ type: "text", text: jsonText(ghError) }], isError: true };
191
- }
192
- else if (err instanceof z.ZodError) {
193
- status = 422;
194
- const ghError = {
195
- message: "Validation Failed",
196
- documentation_url: "https://docs.github.com/rest",
197
- status: 422,
198
- errors: err.issues.map((issue) => ({
199
- resource: "Request",
200
- field: issue.path.join("."),
201
- code: issue.code
202
- }))
203
- };
204
- responseBody = ghError;
205
- toolError = "Validation Failed";
206
- mcpResult = { content: [{ type: "text", text: jsonText(ghError) }], isError: true };
207
- }
208
- else {
209
- status = 500;
210
- const message = err instanceof Error ? err.message : "Internal Server Error";
211
- const ghError = { message, documentation_url: "https://docs.github.com/rest", status: 500 };
212
- responseBody = ghError;
213
- toolError = message;
214
- mcpResult = { content: [{ type: "text", text: jsonText(ghError) }], isError: true };
215
- }
216
- }
217
- recordToolCall(c, deps, {
218
- started,
219
- status,
220
- requestBody: recordedRequestBody,
221
- responseBody,
222
- mutation: status < 400 && isMutatingTool(name),
223
- stateDelta: status < 400 ? delta : null,
224
- error: toolError
225
- });
226
- return { jsonrpc: "2.0", id, result: mcpResult };
227
- }
228
- function recordToolCall(c, deps, fields) {
229
- if (!deps.recorder)
230
- return;
231
- const reqId = requestId();
232
- const correlationHeader = c.req.header("x-pome-correlation-id") ?? null;
233
- deps.recorder.record({
234
- ts: new Date().toISOString(),
235
- run_id: deps.runId,
236
- twin: "github",
237
- request_id: reqId,
238
- // FDRS-402: see app.ts respond() for the rationale.
239
- correlation_id: correlationHeader ?? reqId,
240
- scenario_step_id: c.req.header("x-pome-scenario-step-id") ?? null,
241
- step_id: null,
242
- tool_call_id: correlationHeader,
243
- method: c.req.method,
244
- path: new URL(c.req.url).pathname,
245
- request_body: fields.requestBody,
246
- status: fields.status,
247
- response_body: fields.responseBody,
248
- latency_ms: Date.now() - fields.started,
249
- fidelity: "semantic",
250
- state_mutation: fields.mutation,
251
- state_delta: fields.stateDelta,
252
- error: fields.error
253
- });
254
- }
255
- function makeToolErrorResult(message) {
256
- return {
257
- content: [{ type: "text", text: jsonText({ message }) }],
258
- isError: true
259
- };
260
- }
261
- function errorEnvelope(id, code, message) {
262
- return { jsonrpc: "2.0", id, error: { code, message } };
263
- }
264
- function jsonRpcErrorResponse(id, code, message) {
265
- return Response.json(errorEnvelope(id, code, message), {
266
- status: 200,
267
- headers: { "content-type": "application/json" }
268
- });
269
- }
270
- function idOf(message) {
271
- const id = message.id;
272
- if (typeof id === "string" || typeof id === "number")
273
- return id;
274
- return null;
275
- }
276
- function isObject(value) {
277
- return typeof value === "object" && value !== null && !Array.isArray(value);
278
- }
279
- function jsonText(value) {
280
- return JSON.stringify(value);
281
- }
@@ -1,2 +0,0 @@
1
- import type { Recorder } from "./types.js";
2
- export declare function createRecorder(): Recorder;
@@ -1,29 +0,0 @@
1
- import { redactSecrets } from "../recorder/redaction.js";
2
- // In-memory, run-scoped recorder for the twin pod. Events live for the
3
- // lifetime of the machine — discarded when Fly destroys the pod (DELETE
4
- // /v1/sessions/:id or 30-min TTL). This is intentional: the trace is
5
- // fetched once via GET /_pome/events at end-of-run by the CLI; any
6
- // post-mortem inspection happens via the cloud-side trace blob the CLI
7
- // uploads after.
8
- //
9
- // Memory cap: bounded by session timeout × max-rps. A 30-min session at
10
- // 10 rps × ~500B per event ≈ 9 MB. Comfortably below the pod's 256 MB.
11
- //
12
- // Centralized secret redaction (FDRS-402): request_body / response_body run
13
- // through the CLI's shared `redactSecrets` here so every call site benefits
14
- // without each route remembering to do it.
15
- export function createRecorder() {
16
- const items = [];
17
- return {
18
- record(event) {
19
- items.push({
20
- ...event,
21
- request_body: redactSecrets(event.request_body),
22
- response_body: redactSecrets(event.response_body),
23
- });
24
- },
25
- events() {
26
- return [...items];
27
- },
28
- };
29
- }
@@ -1,74 +0,0 @@
1
- import { z } from "zod";
2
- import type { GitHubStateSeed } from "./types.js";
3
- export declare const seedSchema: z.ZodObject<{
4
- users: z.ZodDefault<z.ZodArray<z.ZodObject<{
5
- login: z.ZodString;
6
- type: z.ZodDefault<z.ZodEnum<{
7
- User: "User";
8
- Organization: "Organization";
9
- }>>;
10
- name: z.ZodDefault<z.ZodString>;
11
- }, z.core.$strip>>>;
12
- repositories: z.ZodArray<z.ZodObject<{
13
- owner: z.ZodString;
14
- name: z.ZodString;
15
- description: z.ZodDefault<z.ZodString>;
16
- private: z.ZodDefault<z.ZodBoolean>;
17
- default_branch: z.ZodDefault<z.ZodString>;
18
- collaborators: z.ZodDefault<z.ZodArray<z.ZodString>>;
19
- labels: z.ZodDefault<z.ZodArray<z.ZodObject<{
20
- name: z.ZodString;
21
- color: z.ZodDefault<z.ZodString>;
22
- description: z.ZodDefault<z.ZodString>;
23
- }, z.core.$strip>>>;
24
- files: z.ZodDefault<z.ZodArray<z.ZodObject<{
25
- path: z.ZodString;
26
- content: z.ZodString;
27
- branch: z.ZodOptional<z.ZodString>;
28
- }, z.core.$strip>>>;
29
- issues: z.ZodDefault<z.ZodArray<z.ZodObject<{
30
- number: z.ZodOptional<z.ZodNumber>;
31
- title: z.ZodString;
32
- body: z.ZodDefault<z.ZodString>;
33
- state: z.ZodDefault<z.ZodEnum<{
34
- open: "open";
35
- closed: "closed";
36
- }>>;
37
- labels: z.ZodDefault<z.ZodArray<z.ZodString>>;
38
- assignees: z.ZodDefault<z.ZodArray<z.ZodString>>;
39
- }, z.core.$strip>>>;
40
- pull_requests: z.ZodDefault<z.ZodArray<z.ZodObject<{
41
- number: z.ZodOptional<z.ZodNumber>;
42
- title: z.ZodString;
43
- body: z.ZodDefault<z.ZodString>;
44
- head: z.ZodString;
45
- base: z.ZodDefault<z.ZodString>;
46
- state: z.ZodDefault<z.ZodEnum<{
47
- open: "open";
48
- closed: "closed";
49
- }>>;
50
- author: z.ZodOptional<z.ZodString>;
51
- reviews: z.ZodDefault<z.ZodArray<z.ZodObject<{
52
- author: z.ZodString;
53
- state: z.ZodDefault<z.ZodEnum<{
54
- APPROVED: "APPROVED";
55
- CHANGES_REQUESTED: "CHANGES_REQUESTED";
56
- COMMENTED: "COMMENTED";
57
- }>>;
58
- body: z.ZodDefault<z.ZodString>;
59
- }, z.core.$strip>>>;
60
- statuses: z.ZodDefault<z.ZodArray<z.ZodObject<{
61
- context: z.ZodDefault<z.ZodString>;
62
- state: z.ZodDefault<z.ZodEnum<{
63
- error: "error";
64
- success: "success";
65
- failure: "failure";
66
- pending: "pending";
67
- }>>;
68
- description: z.ZodDefault<z.ZodString>;
69
- }, z.core.$strip>>>;
70
- }, z.core.$strip>>>;
71
- }, z.core.$strip>>;
72
- }, z.core.$strip>;
73
- export declare function parseSeed(input: unknown): GitHubStateSeed;
74
- export declare function defaultSeedState(): GitHubStateSeed;
@@ -1,107 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- import { z } from "zod";
3
- export const seedSchema = z.object({
4
- users: z
5
- .array(z.object({
6
- login: z.string().min(1),
7
- type: z.enum(["User", "Organization"]).default("User"),
8
- name: z.string().default("")
9
- }))
10
- .default([]),
11
- repositories: z.array(z.object({
12
- owner: z.string().min(1),
13
- name: z.string().min(1),
14
- description: z.string().default(""),
15
- private: z.boolean().default(false),
16
- default_branch: z.string().min(1).default("main"),
17
- collaborators: z.array(z.string().min(1)).default([]),
18
- labels: z
19
- .array(z.object({
20
- name: z.string().min(1),
21
- color: z.string().default("ededed"),
22
- description: z.string().default("")
23
- }))
24
- .default([]),
25
- files: z.array(z.object({ path: z.string().min(1), content: z.string(), branch: z.string().optional() })).default([]),
26
- issues: z
27
- .array(z.object({
28
- number: z.number().int().positive().optional(),
29
- title: z.string().min(1),
30
- body: z.string().default(""),
31
- state: z.enum(["open", "closed"]).default("open"),
32
- labels: z.array(z.string().min(1)).default([]),
33
- assignees: z.array(z.string().min(1)).default([])
34
- }))
35
- .default([]),
36
- pull_requests: z
37
- .array(z.object({
38
- number: z.number().int().positive().optional(),
39
- title: z.string().min(1),
40
- body: z.string().default(""),
41
- head: z.string().min(1),
42
- base: z.string().min(1).default("main"),
43
- state: z.enum(["open", "closed"]).default("open"),
44
- author: z.string().min(1).optional(),
45
- // Reviews seeded on this PR. `state` mirrors GitHub's review
46
- // state enum; `author` must exist in the user/collaborator set.
47
- reviews: z
48
- .array(z.object({
49
- author: z.string().min(1),
50
- state: z.enum(["APPROVED", "CHANGES_REQUESTED", "COMMENTED"]).default("APPROVED"),
51
- body: z.string().default("")
52
- }))
53
- .default([]),
54
- // Commit statuses applied to this PR's head SHA. Wired into the
55
- // commit_statuses table so get_pull_request_status and the merge
56
- // path see them without needing a separate setup call.
57
- statuses: z
58
- .array(z.object({
59
- context: z.string().min(1).default("ci/build"),
60
- state: z.enum(["error", "failure", "pending", "success"]).default("success"),
61
- description: z.string().default("")
62
- }))
63
- .default([])
64
- }))
65
- .default([])
66
- }))
67
- });
68
- export function parseSeed(input) {
69
- return seedSchema.parse(input);
70
- }
71
- export function defaultSeedState() {
72
- return {
73
- users: [
74
- { login: "acme", type: "Organization", name: "Acme" },
75
- { login: "alice", type: "User", name: "Alice" },
76
- { login: "bob", type: "User", name: "Bob" },
77
- { login: "pome-agent", type: "User", name: "Pome Agent" }
78
- ],
79
- repositories: [
80
- {
81
- owner: "acme",
82
- name: "api",
83
- description: "Example API service used by GitHub twin tests.",
84
- default_branch: "main",
85
- collaborators: ["alice", "bob", "pome-agent"],
86
- labels: [
87
- { name: "bug", color: "d73a4a", description: "Something is not working" },
88
- { name: "feature", color: "a2eeef", description: "New feature or request" },
89
- { name: "question", color: "d876e3", description: "More information needed" }
90
- ],
91
- files: [
92
- { path: "README.md", content: "# Acme API\n\nA seeded repository for local GitHub twin tests.\n" },
93
- { path: "src/index.ts", content: "export function handler() {\n return 'ok';\n}\n" }
94
- ],
95
- issues: [
96
- {
97
- number: 1,
98
- title: "500 error on POST /orders after deploy",
99
- body: "Started failing right after the 14:00 deploy. Stack trace points to OrderController#create.",
100
- labels: ["bug"],
101
- assignees: []
102
- }
103
- ]
104
- }
105
- ]
106
- };
107
- }