@pome-sh/cli 0.1.0 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (738) hide show
  1. package/README.md +5 -6
  2. package/dist/build-info.json +3 -3
  3. package/dist/src/cli/eval.js +26 -8
  4. package/dist/src/cli/init-sdk.d.ts +0 -3
  5. package/dist/src/cli/init-sdk.js +117 -24
  6. package/dist/src/cli/main.js +23 -69
  7. package/dist/src/cli/register.d.ts +9 -0
  8. package/dist/src/cli/register.js +51 -5
  9. package/dist/src/cli/session.d.ts +7 -1
  10. package/dist/src/cli/session.js +87 -27
  11. package/dist/src/demo/runDemo.js +3 -2
  12. package/dist/src/doctor/checks.js +2 -2
  13. package/dist/src/hosted/client.d.ts +41 -5
  14. package/dist/src/hosted/client.js +333 -19
  15. package/dist/src/hosted/errors.d.ts +11 -1
  16. package/dist/src/hosted/errors.js +8 -1
  17. package/dist/src/hosted/evalResultView.d.ts +2 -0
  18. package/dist/src/hosted/evalResultView.js +22 -0
  19. package/dist/src/hosted/uploadAndFinalize.d.ts +18 -1
  20. package/dist/src/hosted/uploadAndFinalize.js +51 -3
  21. package/dist/src/recorder/inspect.js +20 -2
  22. package/dist/src/runner/mergeAdapterSignals.js +2 -2
  23. package/dist/src/runner/ports.js +3 -0
  24. package/dist/src/runner/runScenario.d.ts +79 -2
  25. package/dist/src/runner/runScenario.js +94 -36
  26. package/dist/src/runner/runScenarioHosted.d.ts +37 -0
  27. package/dist/src/runner/runScenarioHosted.js +257 -58
  28. package/dist/src/runner/runTrialGroup.d.ts +1 -3
  29. package/dist/src/runner/runTrialGroup.js +1 -3
  30. package/dist/src/scenario/parseScenario.d.ts +5 -0
  31. package/dist/src/scenario/parseScenario.js +135 -8
  32. package/dist/src/scenario/scenarioSchema.d.ts +200 -3
  33. package/dist/src/scenario/scenarioSchema.js +12 -1
  34. package/dist/src/twin/twinHarness.d.ts +10 -0
  35. package/dist/src/twin/twinHarness.js +6 -2
  36. package/dist/src/twin/twinStart.d.ts +19 -0
  37. package/dist/src/twin/twinStart.js +156 -0
  38. package/node_modules/@pome-sh/sdk/dist/db.d.ts +4 -4
  39. package/node_modules/@pome-sh/sdk/dist/db.js +93 -25
  40. package/node_modules/@pome-sh/sdk/dist/db.js.map +1 -1
  41. package/node_modules/@pome-sh/sdk/dist/fidelity-inventory.d.ts +121 -0
  42. package/node_modules/@pome-sh/sdk/dist/fidelity-inventory.js +204 -0
  43. package/node_modules/@pome-sh/sdk/dist/fidelity-inventory.js.map +1 -0
  44. package/node_modules/@pome-sh/sdk/dist/parity.d.ts +55 -0
  45. package/node_modules/@pome-sh/sdk/dist/parity.js +112 -0
  46. package/node_modules/@pome-sh/sdk/dist/parity.js.map +1 -0
  47. package/node_modules/@pome-sh/sdk/dist/server-helpers.d.ts +15 -0
  48. package/node_modules/@pome-sh/sdk/dist/server-helpers.js +96 -0
  49. package/node_modules/@pome-sh/sdk/dist/server-helpers.js.map +1 -1
  50. package/node_modules/@pome-sh/sdk/dist/server.d.ts +1 -1
  51. package/node_modules/@pome-sh/sdk/dist/server.js +9 -7
  52. package/node_modules/@pome-sh/sdk/dist/server.js.map +1 -1
  53. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/errors.d.ts +39 -0
  54. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/errors.js +33 -0
  55. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/errors.js.map +1 -0
  56. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/evaluator-hooks.d.ts +13 -0
  57. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/evaluator-hooks.js +6 -0
  58. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/evaluator-hooks.js.map +1 -0
  59. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/finalize-shapes.d.ts +215 -0
  60. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/finalize-shapes.js +83 -0
  61. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/finalize-shapes.js.map +1 -0
  62. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/github-access-control.d.ts +175 -0
  63. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/github-access-control.js +182 -0
  64. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/github-access-control.js.map +1 -0
  65. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/identity.d.ts +90 -0
  66. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/identity.js +72 -0
  67. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/identity.js.map +1 -0
  68. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/index.d.ts +27 -0
  69. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/index.js +34 -0
  70. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/index.js.map +1 -0
  71. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/otel/event-schema.d.ts +286 -0
  72. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/otel/event-schema.js +33 -0
  73. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/otel/event-schema.js.map +1 -0
  74. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/otel/fixtures/data.d.ts +65 -0
  75. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/otel/fixtures/data.js +455 -0
  76. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/otel/fixtures/data.js.map +1 -0
  77. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/otel/fixtures/index.d.ts +39 -0
  78. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/otel/fixtures/index.js +47 -0
  79. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/otel/fixtures/index.js.map +1 -0
  80. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/otel/index.d.ts +25 -0
  81. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/otel/index.js +27 -0
  82. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/otel/index.js.map +1 -0
  83. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/otel/legacy-shim.d.ts +100 -0
  84. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/otel/legacy-shim.js +185 -0
  85. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/otel/legacy-shim.js.map +1 -0
  86. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/otel/map-span.d.ts +64 -0
  87. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/otel/map-span.js +112 -0
  88. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/otel/map-span.js.map +1 -0
  89. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/otel/nano.d.ts +26 -0
  90. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/otel/nano.js +61 -0
  91. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/otel/nano.js.map +1 -0
  92. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/otel/project.d.ts +42 -0
  93. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/otel/project.js +96 -0
  94. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/otel/project.js.map +1 -0
  95. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/otel/semconv.d.ts +51 -0
  96. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/otel/semconv.js +74 -0
  97. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/otel/semconv.js.map +1 -0
  98. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/otel/span-event.d.ts +134 -0
  99. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/otel/span-event.js +152 -0
  100. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/otel/span-event.js.map +1 -0
  101. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/recorder-events.d.ts +418 -0
  102. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/recorder-events.js +234 -0
  103. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/recorder-events.js.map +1 -0
  104. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/redaction.d.ts +2 -0
  105. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/redaction.js +152 -0
  106. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/redaction.js.map +1 -0
  107. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/rest.d.ts +198 -0
  108. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/rest.js +225 -0
  109. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/rest.js.map +1 -0
  110. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/run.d.ts +201 -0
  111. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/run.js +166 -0
  112. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/run.js.map +1 -0
  113. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/seed-state.d.ts +446 -0
  114. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/seed-state.js +167 -0
  115. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/seed-state.js.map +1 -0
  116. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/sessions.d.ts +53 -0
  117. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/sessions.js +51 -0
  118. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/sessions.js.map +1 -0
  119. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/task-vocab.d.ts +66 -0
  120. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/task-vocab.js +84 -0
  121. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/task-vocab.js.map +1 -0
  122. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/task.d.ts +483 -0
  123. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/task.js +60 -0
  124. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/task.js.map +1 -0
  125. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/package.json +54 -0
  126. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/trace-contract.json +41 -0
  127. package/node_modules/@pome-sh/sdk/package.json +7 -7
  128. package/node_modules/@pome-sh/shared-types/dist/errors.d.ts +39 -0
  129. package/node_modules/@pome-sh/shared-types/dist/errors.js +33 -0
  130. package/node_modules/@pome-sh/shared-types/dist/errors.js.map +1 -0
  131. package/node_modules/@pome-sh/shared-types/dist/finalize-shapes.d.ts +252 -0
  132. package/node_modules/@pome-sh/shared-types/dist/finalize-shapes.js +122 -0
  133. package/node_modules/@pome-sh/shared-types/dist/finalize-shapes.js.map +1 -0
  134. package/node_modules/@pome-sh/shared-types/dist/identity.d.ts +90 -0
  135. package/node_modules/@pome-sh/shared-types/dist/identity.js +72 -0
  136. package/node_modules/@pome-sh/shared-types/dist/identity.js.map +1 -0
  137. package/node_modules/@pome-sh/shared-types/dist/index.d.ts +13 -1353
  138. package/node_modules/@pome-sh/shared-types/dist/index.js +14 -568
  139. package/node_modules/@pome-sh/shared-types/dist/index.js.map +1 -1
  140. package/node_modules/@pome-sh/shared-types/dist/otel/event-schema.d.ts +45 -0
  141. package/node_modules/@pome-sh/shared-types/dist/otel/legacy-shim.js +8 -0
  142. package/node_modules/@pome-sh/shared-types/dist/otel/legacy-shim.js.map +1 -1
  143. package/node_modules/@pome-sh/shared-types/dist/otel/semconv.js +7 -0
  144. package/node_modules/@pome-sh/shared-types/dist/otel/semconv.js.map +1 -1
  145. package/node_modules/@pome-sh/shared-types/dist/recorder-events.d.ts +62 -0
  146. package/node_modules/@pome-sh/shared-types/dist/recorder-events.js +36 -0
  147. package/node_modules/@pome-sh/shared-types/dist/recorder-events.js.map +1 -1
  148. package/node_modules/@pome-sh/shared-types/dist/rest.d.ts +245 -0
  149. package/node_modules/@pome-sh/shared-types/dist/rest.js +303 -0
  150. package/node_modules/@pome-sh/shared-types/dist/rest.js.map +1 -0
  151. package/node_modules/@pome-sh/shared-types/dist/run.d.ts +7 -0
  152. package/node_modules/@pome-sh/shared-types/dist/run.js +4 -0
  153. package/node_modules/@pome-sh/shared-types/dist/run.js.map +1 -1
  154. package/node_modules/@pome-sh/shared-types/dist/seed-envelope.d.ts +14 -0
  155. package/node_modules/@pome-sh/shared-types/dist/seed-envelope.js +46 -0
  156. package/node_modules/@pome-sh/shared-types/dist/seed-envelope.js.map +1 -0
  157. package/node_modules/@pome-sh/shared-types/dist/seed-state.d.ts +446 -0
  158. package/node_modules/@pome-sh/shared-types/dist/seed-state.js +167 -0
  159. package/node_modules/@pome-sh/shared-types/dist/seed-state.js.map +1 -0
  160. package/node_modules/@pome-sh/shared-types/dist/sessions.d.ts +53 -0
  161. package/node_modules/@pome-sh/shared-types/dist/sessions.js +51 -0
  162. package/node_modules/@pome-sh/shared-types/dist/sessions.js.map +1 -0
  163. package/node_modules/@pome-sh/shared-types/dist/task.d.ts +485 -0
  164. package/node_modules/@pome-sh/shared-types/dist/task.js +60 -0
  165. package/node_modules/@pome-sh/shared-types/dist/task.js.map +1 -0
  166. package/node_modules/@pome-sh/shared-types/package.json +2 -1
  167. package/node_modules/@pome-sh/shared-types/trace-contract.json +1 -1
  168. package/node_modules/@pome-sh/twin-github/FIDELITY.md +127 -67
  169. package/node_modules/@pome-sh/twin-github/README.md +5 -8
  170. package/node_modules/@pome-sh/twin-github/dist/examples/claude-github-agent.js +4 -20
  171. package/node_modules/@pome-sh/twin-github/dist/examples/claude-github-agent.js.map +1 -1
  172. package/node_modules/@pome-sh/twin-github/dist/src/access-control.d.ts +3 -3
  173. package/node_modules/@pome-sh/twin-github/dist/src/domain.d.ts +141 -3
  174. package/node_modules/@pome-sh/twin-github/dist/src/domain.js +0 -0
  175. package/node_modules/@pome-sh/twin-github/dist/src/domain.js.map +1 -1
  176. package/node_modules/@pome-sh/twin-github/dist/src/routes.js +2 -0
  177. package/node_modules/@pome-sh/twin-github/dist/src/routes.js.map +1 -1
  178. package/node_modules/@pome-sh/twin-github/dist/src/seed.d.ts +1 -1
  179. package/node_modules/@pome-sh/twin-github/dist/src/serializers.d.ts +2 -2
  180. package/node_modules/@pome-sh/twin-github/dist/src/server.js +7 -6
  181. package/node_modules/@pome-sh/twin-github/dist/src/server.js.map +1 -1
  182. package/node_modules/@pome-sh/twin-github/dist/src/tools.d.ts +168 -18
  183. package/node_modules/@pome-sh/twin-github/dist/src/tools.js +23 -0
  184. package/node_modules/@pome-sh/twin-github/dist/src/tools.js.map +1 -1
  185. package/node_modules/@pome-sh/twin-github/fidelity.inventory.json +773 -0
  186. package/node_modules/@pome-sh/twin-github/package.json +5 -5
  187. package/node_modules/@pome-sh/twin-slack/FIDELITY.md +121 -35
  188. package/node_modules/@pome-sh/twin-slack/README.md +2 -6
  189. package/node_modules/@pome-sh/twin-slack/dist/scripts/fidelity-parity.js +92 -0
  190. package/node_modules/@pome-sh/twin-slack/dist/scripts/fidelity-parity.js.map +1 -0
  191. package/node_modules/@pome-sh/twin-slack/dist/scripts/smoke.js +3 -3
  192. package/node_modules/@pome-sh/twin-slack/dist/scripts/smoke.js.map +1 -1
  193. package/node_modules/@pome-sh/twin-slack/dist/scripts/validate-mcp.js +1 -1
  194. package/node_modules/@pome-sh/twin-slack/dist/scripts/validate-mcp.js.map +1 -1
  195. package/node_modules/@pome-sh/twin-slack/dist/src/server.js +7 -6
  196. package/node_modules/@pome-sh/twin-slack/dist/src/server.js.map +1 -1
  197. package/node_modules/@pome-sh/twin-slack/dist/src/tools.d.ts +30 -4
  198. package/node_modules/@pome-sh/twin-slack/dist/src/tools.js +48 -1
  199. package/node_modules/@pome-sh/twin-slack/dist/src/tools.js.map +1 -1
  200. package/node_modules/@pome-sh/twin-slack/fidelity.inventory.json +377 -0
  201. package/node_modules/@pome-sh/twin-slack/package.json +5 -5
  202. package/node_modules/@pome-sh/twin-stripe/FIDELITY.md +151 -50
  203. package/node_modules/@pome-sh/twin-stripe/README.md +44 -47
  204. package/node_modules/@pome-sh/twin-stripe/dist/scripts/fidelity-parity.js +186 -0
  205. package/node_modules/@pome-sh/twin-stripe/dist/scripts/fidelity-parity.js.map +1 -0
  206. package/node_modules/@pome-sh/twin-stripe/dist/scripts/smoke.js +8 -4
  207. package/node_modules/@pome-sh/twin-stripe/dist/scripts/smoke.js.map +1 -1
  208. package/node_modules/@pome-sh/twin-stripe/dist/src/db.js +26 -2
  209. package/node_modules/@pome-sh/twin-stripe/dist/src/db.js.map +1 -1
  210. package/node_modules/@pome-sh/twin-stripe/dist/src/domain/billing.d.ts +101 -0
  211. package/node_modules/@pome-sh/twin-stripe/dist/src/domain/billing.js +195 -0
  212. package/node_modules/@pome-sh/twin-stripe/dist/src/domain/billing.js.map +1 -0
  213. package/node_modules/@pome-sh/twin-stripe/dist/src/domain/charges.d.ts +15 -1
  214. package/node_modules/@pome-sh/twin-stripe/dist/src/domain/charges.js +17 -5
  215. package/node_modules/@pome-sh/twin-stripe/dist/src/domain/charges.js.map +1 -1
  216. package/node_modules/@pome-sh/twin-stripe/dist/src/domain/customers.d.ts +47 -0
  217. package/node_modules/@pome-sh/twin-stripe/dist/src/domain/customers.js +103 -0
  218. package/node_modules/@pome-sh/twin-stripe/dist/src/domain/customers.js.map +1 -0
  219. package/node_modules/@pome-sh/twin-stripe/dist/src/domain/events.d.ts +1 -1
  220. package/node_modules/@pome-sh/twin-stripe/dist/src/domain/events.js.map +1 -1
  221. package/node_modules/@pome-sh/twin-stripe/dist/src/domain/index.d.ts +6 -0
  222. package/node_modules/@pome-sh/twin-stripe/dist/src/domain/index.js +3 -0
  223. package/node_modules/@pome-sh/twin-stripe/dist/src/domain/index.js.map +1 -1
  224. package/node_modules/@pome-sh/twin-stripe/dist/src/domain/payment-intents.d.ts +61 -2
  225. package/node_modules/@pome-sh/twin-stripe/dist/src/domain/payment-intents.js +214 -52
  226. package/node_modules/@pome-sh/twin-stripe/dist/src/domain/payment-intents.js.map +1 -1
  227. package/node_modules/@pome-sh/twin-stripe/dist/src/domain/payment-methods.d.ts +45 -0
  228. package/node_modules/@pome-sh/twin-stripe/dist/src/domain/payment-methods.js +159 -0
  229. package/node_modules/@pome-sh/twin-stripe/dist/src/domain/payment-methods.js.map +1 -0
  230. package/node_modules/@pome-sh/twin-stripe/dist/src/domain/refunds.d.ts +6 -0
  231. package/node_modules/@pome-sh/twin-stripe/dist/src/domain/refunds.js +16 -0
  232. package/node_modules/@pome-sh/twin-stripe/dist/src/domain/refunds.js.map +1 -1
  233. package/node_modules/@pome-sh/twin-stripe/dist/src/domain/schema.d.ts +1 -0
  234. package/node_modules/@pome-sh/twin-stripe/dist/src/domain/schema.js +144 -1
  235. package/node_modules/@pome-sh/twin-stripe/dist/src/domain/schema.js.map +1 -1
  236. package/node_modules/@pome-sh/twin-stripe/dist/src/domain/stripe-domain.d.ts +420 -43
  237. package/node_modules/@pome-sh/twin-stripe/dist/src/domain/stripe-domain.js +442 -13
  238. package/node_modules/@pome-sh/twin-stripe/dist/src/domain/stripe-domain.js.map +1 -1
  239. package/node_modules/@pome-sh/twin-stripe/dist/src/errors.d.ts +19 -0
  240. package/node_modules/@pome-sh/twin-stripe/dist/src/errors.js +15 -1
  241. package/node_modules/@pome-sh/twin-stripe/dist/src/errors.js.map +1 -1
  242. package/node_modules/@pome-sh/twin-stripe/dist/src/ids.d.ts +2 -0
  243. package/node_modules/@pome-sh/twin-stripe/dist/src/ids.js +2 -0
  244. package/node_modules/@pome-sh/twin-stripe/dist/src/ids.js.map +1 -1
  245. package/node_modules/@pome-sh/twin-stripe/dist/src/routes/_helpers.d.ts +8 -0
  246. package/node_modules/@pome-sh/twin-stripe/dist/src/routes/_helpers.js +105 -1
  247. package/node_modules/@pome-sh/twin-stripe/dist/src/routes/_helpers.js.map +1 -1
  248. package/node_modules/@pome-sh/twin-stripe/dist/src/routes/billing.d.ts +4 -0
  249. package/node_modules/@pome-sh/twin-stripe/dist/src/routes/billing.js +117 -0
  250. package/node_modules/@pome-sh/twin-stripe/dist/src/routes/billing.js.map +1 -0
  251. package/node_modules/@pome-sh/twin-stripe/dist/src/routes/customers.d.ts +4 -0
  252. package/node_modules/@pome-sh/twin-stripe/dist/src/routes/customers.js +47 -0
  253. package/node_modules/@pome-sh/twin-stripe/dist/src/routes/customers.js.map +1 -0
  254. package/node_modules/@pome-sh/twin-stripe/dist/src/routes/index.js +6 -0
  255. package/node_modules/@pome-sh/twin-stripe/dist/src/routes/index.js.map +1 -1
  256. package/node_modules/@pome-sh/twin-stripe/dist/src/routes/payment-intents.js +28 -102
  257. package/node_modules/@pome-sh/twin-stripe/dist/src/routes/payment-intents.js.map +1 -1
  258. package/node_modules/@pome-sh/twin-stripe/dist/src/routes/payment-methods.d.ts +4 -0
  259. package/node_modules/@pome-sh/twin-stripe/dist/src/routes/payment-methods.js +33 -0
  260. package/node_modules/@pome-sh/twin-stripe/dist/src/routes/payment-methods.js.map +1 -0
  261. package/node_modules/@pome-sh/twin-stripe/dist/src/seed.d.ts +10 -8
  262. package/node_modules/@pome-sh/twin-stripe/dist/src/seed.js +3 -2
  263. package/node_modules/@pome-sh/twin-stripe/dist/src/seed.js.map +1 -1
  264. package/node_modules/@pome-sh/twin-stripe/dist/src/serializers.d.ts +181 -21
  265. package/node_modules/@pome-sh/twin-stripe/dist/src/serializers.js +257 -34
  266. package/node_modules/@pome-sh/twin-stripe/dist/src/serializers.js.map +1 -1
  267. package/node_modules/@pome-sh/twin-stripe/dist/src/server.js +7 -6
  268. package/node_modules/@pome-sh/twin-stripe/dist/src/server.js.map +1 -1
  269. package/node_modules/@pome-sh/twin-stripe/dist/src/tools.d.ts +107 -5
  270. package/node_modules/@pome-sh/twin-stripe/dist/src/tools.js +139 -6
  271. package/node_modules/@pome-sh/twin-stripe/dist/src/tools.js.map +1 -1
  272. package/node_modules/@pome-sh/twin-stripe/dist/src/types.d.ts +73 -0
  273. package/node_modules/@pome-sh/twin-stripe/dist/src/upstream-types.d.ts +8 -0
  274. package/node_modules/@pome-sh/twin-stripe/dist/src/x402.js +6 -1
  275. package/node_modules/@pome-sh/twin-stripe/dist/src/x402.js.map +1 -1
  276. package/node_modules/@pome-sh/twin-stripe/fidelity.inventory.json +425 -0
  277. package/node_modules/@pome-sh/twin-stripe/package.json +5 -5
  278. package/package.json +9 -10
  279. package/skills/pome-setup/SKILL.md +1 -1
  280. package/dist/src/recorder/verdictArtifact.d.ts +0 -71
  281. package/dist/src/recorder/verdictArtifact.js +0 -207
  282. package/dist/src/score/view.d.ts +0 -38
  283. package/dist/src/score/view.js +0 -59
  284. package/dist/src/twin/github/app.d.ts +0 -10
  285. package/dist/src/twin/github/app.js +0 -316
  286. package/dist/src/twin/github/db/migrations.d.ts +0 -2
  287. package/dist/src/twin/github/db/migrations.js +0 -64
  288. package/dist/src/twin/github/db/openDatabase.d.ts +0 -2
  289. package/dist/src/twin/github/db/openDatabase.js +0 -13
  290. package/dist/src/twin/github/db/queries.d.ts +0 -77
  291. package/dist/src/twin/github/db/queries.js +0 -93
  292. package/dist/src/twin/github/domain/seed.d.ts +0 -74
  293. package/dist/src/twin/github/domain/seed.js +0 -104
  294. package/dist/src/twin/github/domain/serializers.d.ts +0 -113
  295. package/dist/src/twin/github/domain/serializers.js +0 -76
  296. package/dist/src/twin/github/types.d.ts +0 -66
  297. package/dist/src/twin/github/types.js +0 -1
  298. package/dist/src/twin-github/app.d.ts +0 -9
  299. package/dist/src/twin-github/app.js +0 -327
  300. package/dist/src/twin-github/auth.d.ts +0 -16
  301. package/dist/src/twin-github/auth.js +0 -142
  302. package/dist/src/twin-github/build-info.d.ts +0 -7
  303. package/dist/src/twin-github/build-info.js +0 -52
  304. package/dist/src/twin-github/db.d.ts +0 -4
  305. package/dist/src/twin-github/db.js +0 -362
  306. package/dist/src/twin-github/domain.d.ts +0 -1649
  307. package/dist/src/twin-github/domain.js +0 -957
  308. package/dist/src/twin-github/errors.d.ts +0 -14
  309. package/dist/src/twin-github/errors.js +0 -34
  310. package/dist/src/twin-github/index.d.ts +0 -9
  311. package/dist/src/twin-github/index.js +0 -7
  312. package/dist/src/twin-github/mcp.d.ts +0 -17
  313. package/dist/src/twin-github/mcp.js +0 -281
  314. package/dist/src/twin-github/recorder.d.ts +0 -2
  315. package/dist/src/twin-github/recorder.js +0 -29
  316. package/dist/src/twin-github/seed.d.ts +0 -74
  317. package/dist/src/twin-github/seed.js +0 -107
  318. package/dist/src/twin-github/serializers.d.ts +0 -449
  319. package/dist/src/twin-github/serializers.js +0 -429
  320. package/dist/src/twin-github/server.js +0 -34
  321. package/dist/src/twin-github/tools.d.ts +0 -1545
  322. package/dist/src/twin-github/tools.js +0 -347
  323. package/dist/src/twin-github/types.d.ts +0 -198
  324. package/dist/src/twin-github/unsupported-envelope.d.ts +0 -10
  325. package/dist/src/twin-github/unsupported-envelope.js +0 -29
  326. package/dist/src/twin-github/util.d.ts +0 -13
  327. package/dist/src/twin-github/util.js +0 -61
  328. package/dist/src/twin-slack/app.d.ts +0 -17
  329. package/dist/src/twin-slack/app.js +0 -683
  330. package/dist/src/twin-slack/auth.d.ts +0 -38
  331. package/dist/src/twin-slack/auth.js +0 -219
  332. package/dist/src/twin-slack/build-info.d.ts +0 -7
  333. package/dist/src/twin-slack/build-info.js +0 -9
  334. package/dist/src/twin-slack/db.d.ts +0 -4
  335. package/dist/src/twin-slack/db.js +0 -213
  336. package/dist/src/twin-slack/domain.d.ts +0 -236
  337. package/dist/src/twin-slack/domain.js +0 -1293
  338. package/dist/src/twin-slack/errors.d.ts +0 -16
  339. package/dist/src/twin-slack/errors.js +0 -60
  340. package/dist/src/twin-slack/index.d.ts +0 -8
  341. package/dist/src/twin-slack/index.js +0 -8
  342. package/dist/src/twin-slack/mcp.d.ts +0 -17
  343. package/dist/src/twin-slack/mcp.js +0 -226
  344. package/dist/src/twin-slack/recorder.d.ts +0 -2
  345. package/dist/src/twin-slack/recorder.js +0 -15
  346. package/dist/src/twin-slack/seed.d.ts +0 -49
  347. package/dist/src/twin-slack/seed.js +0 -139
  348. package/dist/src/twin-slack/serializers.d.ts +0 -141
  349. package/dist/src/twin-slack/serializers.js +0 -377
  350. package/dist/src/twin-slack/tools.d.ts +0 -97
  351. package/dist/src/twin-slack/tools.js +0 -171
  352. package/dist/src/twin-slack/types.d.ts +0 -164
  353. package/dist/src/twin-slack/types.js +0 -1
  354. package/dist/src/twin-slack/unsupported-envelope.d.ts +0 -12
  355. package/dist/src/twin-slack/unsupported-envelope.js +0 -61
  356. package/dist/src/twin-slack/upstream-types.d.ts +0 -19
  357. package/dist/src/twin-slack/upstream-types.js +0 -1
  358. package/dist/src/twin-slack/util.d.ts +0 -31
  359. package/dist/src/twin-slack/util.js +0 -136
  360. package/node_modules/base64-js/LICENSE +0 -21
  361. package/node_modules/base64-js/README.md +0 -34
  362. package/node_modules/base64-js/base64js.min.js +0 -1
  363. package/node_modules/base64-js/index.d.ts +0 -3
  364. package/node_modules/base64-js/index.js +0 -150
  365. package/node_modules/base64-js/package.json +0 -47
  366. package/node_modules/better-sqlite3/LICENSE +0 -21
  367. package/node_modules/better-sqlite3/README.md +0 -99
  368. package/node_modules/better-sqlite3/binding.gyp +0 -38
  369. package/node_modules/better-sqlite3/build/Release/better_sqlite3.node +0 -0
  370. package/node_modules/better-sqlite3/deps/common.gypi +0 -68
  371. package/node_modules/better-sqlite3/deps/copy.js +0 -31
  372. package/node_modules/better-sqlite3/deps/defines.gypi +0 -42
  373. package/node_modules/better-sqlite3/deps/download.sh +0 -123
  374. package/node_modules/better-sqlite3/deps/patches/1208.patch +0 -15
  375. package/node_modules/better-sqlite3/deps/sqlite3/sqlite3.c +0 -269395
  376. package/node_modules/better-sqlite3/deps/sqlite3/sqlite3.h +0 -14347
  377. package/node_modules/better-sqlite3/deps/sqlite3/sqlite3ext.h +0 -739
  378. package/node_modules/better-sqlite3/deps/sqlite3.gyp +0 -80
  379. package/node_modules/better-sqlite3/deps/test_extension.c +0 -21
  380. package/node_modules/better-sqlite3/lib/database.js +0 -90
  381. package/node_modules/better-sqlite3/lib/index.js +0 -3
  382. package/node_modules/better-sqlite3/lib/methods/aggregate.js +0 -43
  383. package/node_modules/better-sqlite3/lib/methods/backup.js +0 -67
  384. package/node_modules/better-sqlite3/lib/methods/function.js +0 -31
  385. package/node_modules/better-sqlite3/lib/methods/inspect.js +0 -7
  386. package/node_modules/better-sqlite3/lib/methods/pragma.js +0 -12
  387. package/node_modules/better-sqlite3/lib/methods/serialize.js +0 -16
  388. package/node_modules/better-sqlite3/lib/methods/table.js +0 -189
  389. package/node_modules/better-sqlite3/lib/methods/transaction.js +0 -78
  390. package/node_modules/better-sqlite3/lib/methods/wrappers.js +0 -54
  391. package/node_modules/better-sqlite3/lib/sqlite-error.js +0 -20
  392. package/node_modules/better-sqlite3/lib/util.js +0 -12
  393. package/node_modules/better-sqlite3/package.json +0 -59
  394. package/node_modules/better-sqlite3/src/addon.cpp +0 -47
  395. package/node_modules/better-sqlite3/src/better_sqlite3.cpp +0 -74
  396. package/node_modules/better-sqlite3/src/objects/backup.cpp +0 -120
  397. package/node_modules/better-sqlite3/src/objects/backup.hpp +0 -36
  398. package/node_modules/better-sqlite3/src/objects/database.cpp +0 -417
  399. package/node_modules/better-sqlite3/src/objects/database.hpp +0 -103
  400. package/node_modules/better-sqlite3/src/objects/statement-iterator.cpp +0 -113
  401. package/node_modules/better-sqlite3/src/objects/statement-iterator.hpp +0 -50
  402. package/node_modules/better-sqlite3/src/objects/statement.cpp +0 -383
  403. package/node_modules/better-sqlite3/src/objects/statement.hpp +0 -58
  404. package/node_modules/better-sqlite3/src/util/bind-map.cpp +0 -73
  405. package/node_modules/better-sqlite3/src/util/binder.cpp +0 -193
  406. package/node_modules/better-sqlite3/src/util/constants.cpp +0 -172
  407. package/node_modules/better-sqlite3/src/util/custom-aggregate.cpp +0 -121
  408. package/node_modules/better-sqlite3/src/util/custom-function.cpp +0 -59
  409. package/node_modules/better-sqlite3/src/util/custom-table.cpp +0 -409
  410. package/node_modules/better-sqlite3/src/util/data-converter.cpp +0 -17
  411. package/node_modules/better-sqlite3/src/util/data.cpp +0 -194
  412. package/node_modules/better-sqlite3/src/util/helpers.cpp +0 -109
  413. package/node_modules/better-sqlite3/src/util/macros.cpp +0 -90
  414. package/node_modules/better-sqlite3/src/util/query-macros.cpp +0 -71
  415. package/node_modules/better-sqlite3/src/util/row-builder.cpp +0 -49
  416. package/node_modules/bindings/LICENSE.md +0 -22
  417. package/node_modules/bindings/README.md +0 -98
  418. package/node_modules/bindings/bindings.js +0 -221
  419. package/node_modules/bindings/package.json +0 -28
  420. package/node_modules/bl/.travis.yml +0 -17
  421. package/node_modules/bl/BufferList.js +0 -396
  422. package/node_modules/bl/LICENSE.md +0 -13
  423. package/node_modules/bl/README.md +0 -247
  424. package/node_modules/bl/bl.js +0 -84
  425. package/node_modules/bl/package.json +0 -37
  426. package/node_modules/bl/test/convert.js +0 -21
  427. package/node_modules/bl/test/indexOf.js +0 -492
  428. package/node_modules/bl/test/isBufferList.js +0 -32
  429. package/node_modules/bl/test/test.js +0 -869
  430. package/node_modules/buffer/AUTHORS.md +0 -70
  431. package/node_modules/buffer/LICENSE +0 -21
  432. package/node_modules/buffer/README.md +0 -410
  433. package/node_modules/buffer/index.d.ts +0 -186
  434. package/node_modules/buffer/index.js +0 -1817
  435. package/node_modules/buffer/package.json +0 -96
  436. package/node_modules/chownr/LICENSE +0 -15
  437. package/node_modules/chownr/README.md +0 -3
  438. package/node_modules/chownr/chownr.js +0 -167
  439. package/node_modules/chownr/package.json +0 -29
  440. package/node_modules/decompress-response/index.d.ts +0 -22
  441. package/node_modules/decompress-response/index.js +0 -58
  442. package/node_modules/decompress-response/license +0 -9
  443. package/node_modules/decompress-response/package.json +0 -56
  444. package/node_modules/decompress-response/readme.md +0 -48
  445. package/node_modules/deep-extend/CHANGELOG.md +0 -46
  446. package/node_modules/deep-extend/LICENSE +0 -20
  447. package/node_modules/deep-extend/README.md +0 -91
  448. package/node_modules/deep-extend/index.js +0 -1
  449. package/node_modules/deep-extend/lib/deep-extend.js +0 -150
  450. package/node_modules/deep-extend/package.json +0 -62
  451. package/node_modules/detect-libc/LICENSE +0 -201
  452. package/node_modules/detect-libc/README.md +0 -163
  453. package/node_modules/detect-libc/index.d.ts +0 -14
  454. package/node_modules/detect-libc/lib/detect-libc.js +0 -313
  455. package/node_modules/detect-libc/lib/elf.js +0 -39
  456. package/node_modules/detect-libc/lib/filesystem.js +0 -51
  457. package/node_modules/detect-libc/lib/process.js +0 -24
  458. package/node_modules/detect-libc/package.json +0 -44
  459. package/node_modules/end-of-stream/LICENSE +0 -21
  460. package/node_modules/end-of-stream/README.md +0 -54
  461. package/node_modules/end-of-stream/index.js +0 -96
  462. package/node_modules/end-of-stream/package.json +0 -37
  463. package/node_modules/expand-template/.travis.yml +0 -6
  464. package/node_modules/expand-template/LICENSE +0 -21
  465. package/node_modules/expand-template/README.md +0 -43
  466. package/node_modules/expand-template/index.js +0 -26
  467. package/node_modules/expand-template/package.json +0 -29
  468. package/node_modules/expand-template/test.js +0 -67
  469. package/node_modules/file-uri-to-path/.npmignore +0 -1
  470. package/node_modules/file-uri-to-path/.travis.yml +0 -30
  471. package/node_modules/file-uri-to-path/History.md +0 -21
  472. package/node_modules/file-uri-to-path/LICENSE +0 -20
  473. package/node_modules/file-uri-to-path/README.md +0 -74
  474. package/node_modules/file-uri-to-path/index.d.ts +0 -2
  475. package/node_modules/file-uri-to-path/index.js +0 -66
  476. package/node_modules/file-uri-to-path/package.json +0 -32
  477. package/node_modules/file-uri-to-path/test/test.js +0 -24
  478. package/node_modules/file-uri-to-path/test/tests.json +0 -13
  479. package/node_modules/fs-constants/LICENSE +0 -21
  480. package/node_modules/fs-constants/README.md +0 -26
  481. package/node_modules/fs-constants/browser.js +0 -1
  482. package/node_modules/fs-constants/index.js +0 -1
  483. package/node_modules/fs-constants/package.json +0 -19
  484. package/node_modules/github-from-package/.travis.yml +0 -4
  485. package/node_modules/github-from-package/LICENSE +0 -18
  486. package/node_modules/github-from-package/example/package.json +0 -8
  487. package/node_modules/github-from-package/example/url.js +0 -3
  488. package/node_modules/github-from-package/index.js +0 -17
  489. package/node_modules/github-from-package/package.json +0 -30
  490. package/node_modules/github-from-package/readme.markdown +0 -53
  491. package/node_modules/github-from-package/test/a.json +0 -8
  492. package/node_modules/github-from-package/test/b.json +0 -5
  493. package/node_modules/github-from-package/test/c.json +0 -5
  494. package/node_modules/github-from-package/test/d.json +0 -7
  495. package/node_modules/github-from-package/test/e.json +0 -5
  496. package/node_modules/github-from-package/test/url.js +0 -19
  497. package/node_modules/ieee754/LICENSE +0 -11
  498. package/node_modules/ieee754/README.md +0 -51
  499. package/node_modules/ieee754/index.d.ts +0 -10
  500. package/node_modules/ieee754/index.js +0 -85
  501. package/node_modules/ieee754/package.json +0 -52
  502. package/node_modules/inherits/LICENSE +0 -16
  503. package/node_modules/inherits/README.md +0 -42
  504. package/node_modules/inherits/inherits.js +0 -9
  505. package/node_modules/inherits/inherits_browser.js +0 -27
  506. package/node_modules/inherits/package.json +0 -29
  507. package/node_modules/ini/LICENSE +0 -15
  508. package/node_modules/ini/README.md +0 -102
  509. package/node_modules/ini/ini.js +0 -206
  510. package/node_modules/ini/package.json +0 -33
  511. package/node_modules/mimic-response/index.d.ts +0 -17
  512. package/node_modules/mimic-response/index.js +0 -77
  513. package/node_modules/mimic-response/license +0 -9
  514. package/node_modules/mimic-response/package.json +0 -42
  515. package/node_modules/mimic-response/readme.md +0 -78
  516. package/node_modules/minimist/.eslintrc +0 -29
  517. package/node_modules/minimist/.github/FUNDING.yml +0 -12
  518. package/node_modules/minimist/.nycrc +0 -14
  519. package/node_modules/minimist/CHANGELOG.md +0 -298
  520. package/node_modules/minimist/LICENSE +0 -18
  521. package/node_modules/minimist/README.md +0 -121
  522. package/node_modules/minimist/example/parse.js +0 -4
  523. package/node_modules/minimist/index.js +0 -263
  524. package/node_modules/minimist/package.json +0 -75
  525. package/node_modules/minimist/test/all_bool.js +0 -34
  526. package/node_modules/minimist/test/bool.js +0 -177
  527. package/node_modules/minimist/test/dash.js +0 -43
  528. package/node_modules/minimist/test/default_bool.js +0 -37
  529. package/node_modules/minimist/test/dotted.js +0 -24
  530. package/node_modules/minimist/test/kv_short.js +0 -32
  531. package/node_modules/minimist/test/long.js +0 -33
  532. package/node_modules/minimist/test/num.js +0 -38
  533. package/node_modules/minimist/test/parse.js +0 -209
  534. package/node_modules/minimist/test/parse_modified.js +0 -11
  535. package/node_modules/minimist/test/proto.js +0 -64
  536. package/node_modules/minimist/test/short.js +0 -69
  537. package/node_modules/minimist/test/stop_early.js +0 -17
  538. package/node_modules/minimist/test/unknown.js +0 -104
  539. package/node_modules/minimist/test/whitespace.js +0 -10
  540. package/node_modules/mkdirp-classic/LICENSE +0 -21
  541. package/node_modules/mkdirp-classic/README.md +0 -18
  542. package/node_modules/mkdirp-classic/index.js +0 -98
  543. package/node_modules/mkdirp-classic/package.json +0 -18
  544. package/node_modules/napi-build-utils/.github/workflows/run-npm-tests.yml +0 -31
  545. package/node_modules/napi-build-utils/LICENSE +0 -21
  546. package/node_modules/napi-build-utils/README.md +0 -52
  547. package/node_modules/napi-build-utils/index.js +0 -214
  548. package/node_modules/napi-build-utils/index.md +0 -0
  549. package/node_modules/napi-build-utils/package.json +0 -42
  550. package/node_modules/node-abi/LICENSE +0 -21
  551. package/node_modules/node-abi/README.md +0 -54
  552. package/node_modules/node-abi/abi_registry.json +0 -453
  553. package/node_modules/node-abi/index.js +0 -179
  554. package/node_modules/node-abi/package.json +0 -45
  555. package/node_modules/once/LICENSE +0 -15
  556. package/node_modules/once/README.md +0 -79
  557. package/node_modules/once/once.js +0 -42
  558. package/node_modules/once/package.json +0 -33
  559. package/node_modules/prebuild-install/CHANGELOG.md +0 -131
  560. package/node_modules/prebuild-install/CONTRIBUTING.md +0 -6
  561. package/node_modules/prebuild-install/LICENSE +0 -21
  562. package/node_modules/prebuild-install/README.md +0 -163
  563. package/node_modules/prebuild-install/asset.js +0 -44
  564. package/node_modules/prebuild-install/bin.js +0 -78
  565. package/node_modules/prebuild-install/download.js +0 -142
  566. package/node_modules/prebuild-install/error.js +0 -14
  567. package/node_modules/prebuild-install/help.txt +0 -16
  568. package/node_modules/prebuild-install/index.js +0 -1
  569. package/node_modules/prebuild-install/log.js +0 -33
  570. package/node_modules/prebuild-install/package.json +0 -67
  571. package/node_modules/prebuild-install/proxy.js +0 -35
  572. package/node_modules/prebuild-install/rc.js +0 -64
  573. package/node_modules/prebuild-install/util.js +0 -143
  574. package/node_modules/pump/.github/FUNDING.yml +0 -2
  575. package/node_modules/pump/.travis.yml +0 -5
  576. package/node_modules/pump/LICENSE +0 -21
  577. package/node_modules/pump/README.md +0 -74
  578. package/node_modules/pump/SECURITY.md +0 -5
  579. package/node_modules/pump/empty.js +0 -1
  580. package/node_modules/pump/index.js +0 -86
  581. package/node_modules/pump/package.json +0 -30
  582. package/node_modules/pump/test-browser.js +0 -66
  583. package/node_modules/pump/test-node.js +0 -53
  584. package/node_modules/rc/LICENSE.APACHE2 +0 -15
  585. package/node_modules/rc/LICENSE.BSD +0 -26
  586. package/node_modules/rc/LICENSE.MIT +0 -24
  587. package/node_modules/rc/README.md +0 -227
  588. package/node_modules/rc/browser.js +0 -7
  589. package/node_modules/rc/cli.js +0 -4
  590. package/node_modules/rc/index.js +0 -53
  591. package/node_modules/rc/lib/utils.js +0 -104
  592. package/node_modules/rc/package.json +0 -29
  593. package/node_modules/rc/test/ini.js +0 -16
  594. package/node_modules/rc/test/nested-env-vars.js +0 -50
  595. package/node_modules/rc/test/test.js +0 -59
  596. package/node_modules/readable-stream/CONTRIBUTING.md +0 -38
  597. package/node_modules/readable-stream/GOVERNANCE.md +0 -136
  598. package/node_modules/readable-stream/LICENSE +0 -47
  599. package/node_modules/readable-stream/README.md +0 -106
  600. package/node_modules/readable-stream/errors-browser.js +0 -127
  601. package/node_modules/readable-stream/errors.js +0 -116
  602. package/node_modules/readable-stream/experimentalWarning.js +0 -17
  603. package/node_modules/readable-stream/lib/_stream_duplex.js +0 -126
  604. package/node_modules/readable-stream/lib/_stream_passthrough.js +0 -37
  605. package/node_modules/readable-stream/lib/_stream_readable.js +0 -1027
  606. package/node_modules/readable-stream/lib/_stream_transform.js +0 -190
  607. package/node_modules/readable-stream/lib/_stream_writable.js +0 -641
  608. package/node_modules/readable-stream/lib/internal/streams/async_iterator.js +0 -180
  609. package/node_modules/readable-stream/lib/internal/streams/buffer_list.js +0 -183
  610. package/node_modules/readable-stream/lib/internal/streams/destroy.js +0 -96
  611. package/node_modules/readable-stream/lib/internal/streams/end-of-stream.js +0 -86
  612. package/node_modules/readable-stream/lib/internal/streams/from-browser.js +0 -3
  613. package/node_modules/readable-stream/lib/internal/streams/from.js +0 -52
  614. package/node_modules/readable-stream/lib/internal/streams/pipeline.js +0 -86
  615. package/node_modules/readable-stream/lib/internal/streams/state.js +0 -22
  616. package/node_modules/readable-stream/lib/internal/streams/stream-browser.js +0 -1
  617. package/node_modules/readable-stream/lib/internal/streams/stream.js +0 -1
  618. package/node_modules/readable-stream/package.json +0 -68
  619. package/node_modules/readable-stream/readable-browser.js +0 -9
  620. package/node_modules/readable-stream/readable.js +0 -16
  621. package/node_modules/safe-buffer/LICENSE +0 -21
  622. package/node_modules/safe-buffer/README.md +0 -584
  623. package/node_modules/safe-buffer/index.d.ts +0 -187
  624. package/node_modules/safe-buffer/index.js +0 -65
  625. package/node_modules/safe-buffer/package.json +0 -51
  626. package/node_modules/semver/LICENSE +0 -15
  627. package/node_modules/semver/README.md +0 -680
  628. package/node_modules/semver/bin/semver.js +0 -195
  629. package/node_modules/semver/classes/comparator.js +0 -143
  630. package/node_modules/semver/classes/index.js +0 -7
  631. package/node_modules/semver/classes/range.js +0 -577
  632. package/node_modules/semver/classes/semver.js +0 -350
  633. package/node_modules/semver/functions/clean.js +0 -8
  634. package/node_modules/semver/functions/cmp.js +0 -54
  635. package/node_modules/semver/functions/coerce.js +0 -62
  636. package/node_modules/semver/functions/compare-build.js +0 -9
  637. package/node_modules/semver/functions/compare-loose.js +0 -5
  638. package/node_modules/semver/functions/compare.js +0 -7
  639. package/node_modules/semver/functions/diff.js +0 -60
  640. package/node_modules/semver/functions/eq.js +0 -5
  641. package/node_modules/semver/functions/gt.js +0 -5
  642. package/node_modules/semver/functions/gte.js +0 -5
  643. package/node_modules/semver/functions/inc.js +0 -21
  644. package/node_modules/semver/functions/lt.js +0 -5
  645. package/node_modules/semver/functions/lte.js +0 -5
  646. package/node_modules/semver/functions/major.js +0 -5
  647. package/node_modules/semver/functions/minor.js +0 -5
  648. package/node_modules/semver/functions/neq.js +0 -5
  649. package/node_modules/semver/functions/parse.js +0 -18
  650. package/node_modules/semver/functions/patch.js +0 -5
  651. package/node_modules/semver/functions/prerelease.js +0 -8
  652. package/node_modules/semver/functions/rcompare.js +0 -5
  653. package/node_modules/semver/functions/rsort.js +0 -5
  654. package/node_modules/semver/functions/satisfies.js +0 -12
  655. package/node_modules/semver/functions/sort.js +0 -5
  656. package/node_modules/semver/functions/truncate.js +0 -48
  657. package/node_modules/semver/functions/valid.js +0 -8
  658. package/node_modules/semver/index.js +0 -93
  659. package/node_modules/semver/internal/constants.js +0 -37
  660. package/node_modules/semver/internal/debug.js +0 -11
  661. package/node_modules/semver/internal/identifiers.js +0 -29
  662. package/node_modules/semver/internal/lrucache.js +0 -42
  663. package/node_modules/semver/internal/parse-options.js +0 -17
  664. package/node_modules/semver/internal/re.js +0 -223
  665. package/node_modules/semver/package.json +0 -78
  666. package/node_modules/semver/preload.js +0 -4
  667. package/node_modules/semver/range.bnf +0 -17
  668. package/node_modules/semver/ranges/gtr.js +0 -6
  669. package/node_modules/semver/ranges/intersects.js +0 -9
  670. package/node_modules/semver/ranges/ltr.js +0 -6
  671. package/node_modules/semver/ranges/max-satisfying.js +0 -27
  672. package/node_modules/semver/ranges/min-satisfying.js +0 -26
  673. package/node_modules/semver/ranges/min-version.js +0 -63
  674. package/node_modules/semver/ranges/outside.js +0 -82
  675. package/node_modules/semver/ranges/simplify.js +0 -49
  676. package/node_modules/semver/ranges/subset.js +0 -249
  677. package/node_modules/semver/ranges/to-comparators.js +0 -10
  678. package/node_modules/semver/ranges/valid.js +0 -13
  679. package/node_modules/simple-concat/.travis.yml +0 -3
  680. package/node_modules/simple-concat/LICENSE +0 -20
  681. package/node_modules/simple-concat/README.md +0 -44
  682. package/node_modules/simple-concat/index.js +0 -15
  683. package/node_modules/simple-concat/package.json +0 -47
  684. package/node_modules/simple-concat/test/basic.js +0 -41
  685. package/node_modules/simple-get/.github/dependabot.yml +0 -15
  686. package/node_modules/simple-get/.github/workflows/ci.yml +0 -23
  687. package/node_modules/simple-get/LICENSE +0 -20
  688. package/node_modules/simple-get/README.md +0 -333
  689. package/node_modules/simple-get/index.js +0 -108
  690. package/node_modules/simple-get/package.json +0 -67
  691. package/node_modules/string_decoder/LICENSE +0 -48
  692. package/node_modules/string_decoder/README.md +0 -47
  693. package/node_modules/string_decoder/lib/string_decoder.js +0 -296
  694. package/node_modules/string_decoder/package.json +0 -34
  695. package/node_modules/strip-json-comments/index.js +0 -70
  696. package/node_modules/strip-json-comments/license +0 -21
  697. package/node_modules/strip-json-comments/package.json +0 -42
  698. package/node_modules/strip-json-comments/readme.md +0 -64
  699. package/node_modules/tar-fs/.travis.yml +0 -6
  700. package/node_modules/tar-fs/LICENSE +0 -21
  701. package/node_modules/tar-fs/README.md +0 -165
  702. package/node_modules/tar-fs/index.js +0 -392
  703. package/node_modules/tar-fs/package.json +0 -46
  704. package/node_modules/tar-fs/test/fixtures/a/hello.txt +0 -1
  705. package/node_modules/tar-fs/test/fixtures/b/a/test.txt +0 -1
  706. package/node_modules/tar-fs/test/fixtures/d/file1 +0 -0
  707. package/node_modules/tar-fs/test/fixtures/d/file2 +0 -0
  708. package/node_modules/tar-fs/test/fixtures/d/sub-dir/file5 +0 -0
  709. package/node_modules/tar-fs/test/fixtures/d/sub-files/file3 +0 -0
  710. package/node_modules/tar-fs/test/fixtures/d/sub-files/file4 +0 -0
  711. package/node_modules/tar-fs/test/fixtures/e/directory/.ignore +0 -0
  712. package/node_modules/tar-fs/test/fixtures/e/file +0 -0
  713. package/node_modules/tar-fs/test/fixtures/invalid.tar +0 -0
  714. package/node_modules/tar-fs/test/index.js +0 -457
  715. package/node_modules/tar-stream/LICENSE +0 -21
  716. package/node_modules/tar-stream/README.md +0 -168
  717. package/node_modules/tar-stream/extract.js +0 -257
  718. package/node_modules/tar-stream/headers.js +0 -295
  719. package/node_modules/tar-stream/index.js +0 -2
  720. package/node_modules/tar-stream/pack.js +0 -255
  721. package/node_modules/tar-stream/package.json +0 -58
  722. package/node_modules/tar-stream/sandbox.js +0 -11
  723. package/node_modules/tunnel-agent/LICENSE +0 -55
  724. package/node_modules/tunnel-agent/README.md +0 -4
  725. package/node_modules/tunnel-agent/index.js +0 -244
  726. package/node_modules/tunnel-agent/package.json +0 -22
  727. package/node_modules/util-deprecate/History.md +0 -16
  728. package/node_modules/util-deprecate/LICENSE +0 -24
  729. package/node_modules/util-deprecate/README.md +0 -53
  730. package/node_modules/util-deprecate/browser.js +0 -67
  731. package/node_modules/util-deprecate/node.js +0 -6
  732. package/node_modules/util-deprecate/package.json +0 -27
  733. package/node_modules/wrappy/LICENSE +0 -15
  734. package/node_modules/wrappy/README.md +0 -36
  735. package/node_modules/wrappy/package.json +0 -29
  736. package/node_modules/wrappy/wrappy.js +0 -33
  737. /package/{dist/src/twin-github/server.d.ts → node_modules/@pome-sh/twin-slack/dist/scripts/fidelity-parity.d.ts} +0 -0
  738. /package/{dist/src/twin-github/types.js → node_modules/@pome-sh/twin-stripe/dist/scripts/fidelity-parity.d.ts} +0 -0
@@ -1,3 +1,4 @@
1
+ // file-size: StripeDomain is deliberately the single coordinator — one method per business operation, orchestrating cross-cutting side effects (events, charges, ledger) the per-table modules must not own.
1
2
  // SPDX-License-Identifier: Apache-2.0
2
3
  //
3
4
  // StripeDomain — top-level coordinator for the Stripe twin's domain logic.
@@ -15,13 +16,18 @@
15
16
  // underlying domain modules and SQL stay scoped to the calling session's
16
17
  // account (F1). Two sessions sharing a DB file cannot read or write each
17
18
  // other's PIs, charges, balance txns, or events.
18
- import { PaymentIntentsDomain, } from "./payment-intents.js";
19
+ import { TwinError } from "../errors.js";
20
+ import { PaymentIntentsDomain, piTypes, piUnexpectedState, } from "./payment-intents.js";
21
+ import { declineForFingerprint } from "./payment-methods.js";
19
22
  import { ChargesDomain } from "./charges.js";
20
23
  import { BalanceDomain } from "./balance.js";
21
24
  import { EventsDomain } from "./events.js";
22
25
  import { RefundsDomain, } from "./refunds.js";
26
+ import { CustomersDomain, } from "./customers.js";
27
+ import { PaymentMethodsDomain, } from "./payment-methods.js";
28
+ import { BillingDomain, noSuch, } from "./billing.js";
23
29
  import { ensureStripeTables, resetStripeTables } from "./schema.js";
24
- import { paymentIntentJson, chargeJson, balanceTransactionJson, balanceJson, eventJson, refundJson, serializedList, } from "../serializers.js";
30
+ import { paymentIntentJson, cardJson, chargeJson, balanceTransactionJson, balanceJson, customerJson, deletedCustomerJson, eventJson, paymentMethodJson, priceJson, productJson, refundJson, serializedList, subscriptionJson, } from "../serializers.js";
25
31
  export class StripeDomain {
26
32
  db;
27
33
  paymentIntents;
@@ -29,6 +35,9 @@ export class StripeDomain {
29
35
  balance;
30
36
  events;
31
37
  refunds;
38
+ customers;
39
+ paymentMethods;
40
+ billing;
32
41
  constructor(db) {
33
42
  this.db = db;
34
43
  ensureStripeTables(db);
@@ -37,6 +46,9 @@ export class StripeDomain {
37
46
  this.balance = new BalanceDomain(db);
38
47
  this.events = new EventsDomain(db);
39
48
  this.refunds = new RefundsDomain(db);
49
+ this.customers = new CustomersDomain(db);
50
+ this.paymentMethods = new PaymentMethodsDomain(db);
51
+ this.billing = new BillingDomain(db);
40
52
  }
41
53
  /** Reset Stripe-domain state. Used by `/admin/reset`. */
42
54
  reset() {
@@ -44,12 +56,50 @@ export class StripeDomain {
44
56
  }
45
57
  // ---------- PI flows ----------
46
58
  createPaymentIntent(accountId, input) {
47
- const pi = this.paymentIntents.create(accountId, input);
59
+ const isCard = Array.isArray(input.payment_method_types) &&
60
+ input.payment_method_types.length === 1 &&
61
+ input.payment_method_types[0] === "card";
62
+ // Card rail: resolve + cross-validate customer and PM up front so a
63
+ // missing/deleted customer 404s before any PI row exists.
64
+ let resolved = {
65
+ paymentMethodId: null,
66
+ customerId: null,
67
+ };
68
+ if (isCard) {
69
+ const customerId = input.customer
70
+ ? this.customers.requireLive(accountId, input.customer).id
71
+ : null;
72
+ let paymentMethodId = null;
73
+ if (input.payment_method) {
74
+ const pm = this.paymentMethods.requireById(accountId, input.payment_method);
75
+ assertPMUsable(pm, customerId);
76
+ paymentMethodId = pm.id;
77
+ }
78
+ resolved = { paymentMethodId, customerId };
79
+ if (input.confirm && !resolved.paymentMethodId) {
80
+ // Fail before any PI row exists — otherwise every retry of this
81
+ // malformed one-shot would leave another orphaned PI behind.
82
+ throw missingPaymentMethod();
83
+ }
84
+ }
85
+ const pi = this.paymentIntents.create(accountId, input, resolved);
48
86
  this.events.create(accountId, { type: "payment_intent.created", object: paymentIntentJson(pi) });
49
- this.events.create(accountId, {
50
- type: "payment_intent.requires_action",
51
- object: paymentIntentJson(pi),
52
- });
87
+ // requires_action is the x402 deposit rail; card PIs never emit it.
88
+ if (pi.status === "requires_action") {
89
+ this.events.create(accountId, {
90
+ type: "payment_intent.requires_action",
91
+ object: paymentIntentJson(pi),
92
+ });
93
+ }
94
+ // create + confirm in one call (Stripe's one-shot server-side pattern).
95
+ // The PI row and created event persist even when the confirm declines.
96
+ if (isCard && input.confirm) {
97
+ const confirmed = this.confirmPaymentIntent(accountId, pi.id);
98
+ return {
99
+ body: confirmed.body,
100
+ delta: { before: null, after: confirmed.delta?.after ?? rowToRecord(pi) },
101
+ };
102
+ }
53
103
  return {
54
104
  body: paymentIntentJson(pi),
55
105
  delta: { before: null, after: rowToRecord(pi) },
@@ -62,9 +112,147 @@ export class StripeDomain {
62
112
  const { rows, hasMore, limit } = this.paymentIntents.list(accountId, input);
63
113
  return serializedList(rows.map(paymentIntentJson), hasMore, limit, "/v1/payment_intents");
64
114
  }
65
- confirmPaymentIntent(accountId, id) {
115
+ confirmPaymentIntent(accountId, id, opts = {}) {
116
+ const before = this.paymentIntents.requireById(accountId, id);
117
+ if (!piTypes(before).includes("card")) {
118
+ // Crypto rail: confirm stays the documented idempotent no-op.
119
+ const pi = this.paymentIntents.confirm(accountId, id);
120
+ return {
121
+ body: paymentIntentJson(pi),
122
+ delta: { before: rowToRecord(before), after: rowToRecord(pi) },
123
+ };
124
+ }
125
+ // Card rail (F-731): synchronous attempt with real success/decline
126
+ // semantics. Unlike crypto, re-confirming a settled card PI is refused.
127
+ // Whitelist the two confirmable card states so an off-diagram status
128
+ // (e.g. a seeded card PI in requires_action) can never mint a charge.
129
+ if (before.status !== "requires_confirmation" &&
130
+ before.status !== "requires_payment_method") {
131
+ throw piUnexpectedState(before.status);
132
+ }
133
+ // `payment_method=` (empty form value) means "use the attached PM".
134
+ const pmId = (opts.payment_method || undefined) ?? before.payment_method_id;
135
+ if (!pmId) {
136
+ throw missingPaymentMethod();
137
+ }
138
+ const pm = this.paymentMethods.requireById(accountId, pmId);
139
+ assertPMUsable(pm, before.customer_id);
140
+ const decline = declineForFingerprint(pm.card_fingerprint);
141
+ // F2: the whole attempt is one better-sqlite3 transaction. Leg 1 CAS
142
+ // (observed status → processing) picks exactly one winner among
143
+ // parallel confirms; the outcome (charge mint, ledger, events, final
144
+ // status) commits atomically with it.
145
+ const tx = this.db.transaction(() => {
146
+ const inFlight = this.paymentIntents.confirmCardLeg1(accountId, id, before.status, pm.id);
147
+ const detailsJson = JSON.stringify(cardChargeDetails(pm));
148
+ if (decline) {
149
+ const failedCharge = this.charges.createForPI(accountId, {
150
+ payment_intent_id: id,
151
+ amount: inFlight.amount,
152
+ currency: inFlight.currency,
153
+ payment_method_id: pm.id,
154
+ payment_method_details_json: detailsJson,
155
+ customer_id: inFlight.customer_id,
156
+ status: "failed",
157
+ failure_code: decline.code,
158
+ failure_decline_code: decline.decline_code,
159
+ failure_message: decline.message,
160
+ });
161
+ const lastPaymentError = {
162
+ type: "card_error",
163
+ code: decline.code,
164
+ decline_code: decline.decline_code,
165
+ message: decline.message,
166
+ payment_method: paymentMethodJson(pm),
167
+ };
168
+ const pi = this.paymentIntents.finalizeCardDecline(accountId, id, failedCharge.id, JSON.stringify(lastPaymentError));
169
+ this.events.create(accountId, {
170
+ type: "payment_intent.payment_failed",
171
+ object: paymentIntentJson(pi),
172
+ });
173
+ this.events.create(accountId, {
174
+ type: "charge.failed",
175
+ object: chargeJson(failedCharge),
176
+ });
177
+ return { declined: decline, pi };
178
+ }
179
+ const balanceTx = this.balance.create(accountId, {
180
+ type: "charge",
181
+ amount: inFlight.amount,
182
+ fee: 0,
183
+ currency: inFlight.currency,
184
+ source_id: id,
185
+ source_type: "payment_intent",
186
+ });
187
+ const charge = this.charges.createForPI(accountId, {
188
+ payment_intent_id: id,
189
+ amount: inFlight.amount,
190
+ currency: inFlight.currency,
191
+ balance_transaction_id: balanceTx.id,
192
+ payment_method_id: pm.id,
193
+ payment_method_details_json: detailsJson,
194
+ customer_id: inFlight.customer_id,
195
+ });
196
+ const pi = this.paymentIntents.finalizeCardSuccess(accountId, id, charge.id);
197
+ this.events.create(accountId, {
198
+ type: "payment_intent.succeeded",
199
+ object: paymentIntentJson(pi),
200
+ });
201
+ this.events.create(accountId, {
202
+ type: "charge.succeeded",
203
+ object: chargeJson(charge),
204
+ });
205
+ return { declined: null, pi };
206
+ });
207
+ const result = tx();
208
+ if (result.declined) {
209
+ // Real Stripe answers a declined confirm with a 402 card_error that
210
+ // embeds the post-attempt PaymentIntent. State above is committed,
211
+ // so the error also carries the recorder-truth delta.
212
+ throw new TwinError("card_error", result.declined.code, result.declined.message, {
213
+ statusCode: 402,
214
+ decline_code: result.declined.decline_code,
215
+ payment_intent: paymentIntentJson(result.pi),
216
+ state_mutation: true,
217
+ state_delta: { before: rowToRecord(before), after: rowToRecord(result.pi) },
218
+ });
219
+ }
220
+ return {
221
+ body: paymentIntentJson(result.pi),
222
+ delta: { before: rowToRecord(before), after: rowToRecord(result.pi) },
223
+ };
224
+ }
225
+ /**
226
+ * POST /v1/payment_intents/:id (F-731). The ruled retry-with-new-PM step:
227
+ * metadata merges per-key, and attaching a PM moves the card PI back to
228
+ * requires_confirmation. PM/customer resolution happens here so unknown
229
+ * ids 404 with Stripe's resource_missing before any state gate fires.
230
+ */
231
+ updatePaymentIntent(accountId, id, input) {
66
232
  const before = this.paymentIntents.requireById(accountId, id);
67
- const pi = this.paymentIntents.confirm(accountId, id);
233
+ const resolved = {};
234
+ if (input.customer !== undefined) {
235
+ resolved.customerId = input.customer
236
+ ? this.customers.requireLive(accountId, input.customer).id
237
+ : null;
238
+ }
239
+ const effectiveCustomerId = resolved.customerId !== undefined ? resolved.customerId : before.customer_id;
240
+ if (input.payment_method !== undefined) {
241
+ if (input.payment_method) {
242
+ const pm = this.paymentMethods.requireById(accountId, input.payment_method);
243
+ assertPMUsable(pm, effectiveCustomerId);
244
+ resolved.paymentMethodId = pm.id;
245
+ }
246
+ else {
247
+ resolved.paymentMethodId = null;
248
+ }
249
+ }
250
+ else if (input.customer !== undefined && before.payment_method_id) {
251
+ // Changing only the customer must re-validate the already-attached
252
+ // PM — real Stripe refuses a customer/PM pairing at update time.
253
+ assertPMUsable(this.paymentMethods.requireById(accountId, before.payment_method_id), effectiveCustomerId);
254
+ }
255
+ const pi = this.paymentIntents.update(accountId, id, input, resolved);
68
256
  return {
69
257
  body: paymentIntentJson(pi),
70
258
  delta: { before: rowToRecord(before), after: rowToRecord(pi) },
@@ -153,12 +341,33 @@ export class StripeDomain {
153
341
  // ---------- Refunds ----------
154
342
  /**
155
343
  * Create a refund. Returns the serialized API shape plus a canonical
156
- * `state_delta` so the route can hand both to `respond()`. The INSERT
157
- * + charges.amount_refunded UPDATE happen in one better-sqlite3
158
- * transaction inside `refunds.create()`.
344
+ * `state_delta` so the route can hand both to `respond()`.
345
+ *
346
+ * F-733: the whole flow — refund INSERT + charges.amount_refunded UPDATE
347
+ * (inside `refunds.create()`, nested as a savepoint), the negative
348
+ * refund-type balance transaction, the ledger link backfill, and the
349
+ * charge.refunded / refund.created events — commits in one better-sqlite3
350
+ * transaction, mirroring the settle flows.
159
351
  */
160
352
  createRefund(accountId, input) {
161
- const { row } = this.refunds.create(accountId, input);
353
+ const tx = this.db.transaction(() => {
354
+ const { row, charge } = this.refunds.create(accountId, input);
355
+ const balanceTx = this.balance.create(accountId, {
356
+ type: "refund",
357
+ amount: -row.amount,
358
+ fee: 0,
359
+ currency: row.currency,
360
+ source_id: row.id,
361
+ source_type: "refund",
362
+ });
363
+ const linked = this.refunds.linkBalanceTransaction(accountId, row.id, balanceTx.id);
364
+ // v1 has no webhook delivery; these are the poll-chain signals agents
365
+ // read after a refund (charge carries the post-refund amount_refunded).
366
+ this.events.create(accountId, { type: "charge.refunded", object: chargeJson(charge) });
367
+ this.events.create(accountId, { type: "refund.created", object: refundJson(linked) });
368
+ return linked;
369
+ });
370
+ const row = tx();
162
371
  return {
163
372
  body: refundJson(row),
164
373
  delta: { before: null, after: rowToRecord(row) },
@@ -171,6 +380,99 @@ export class StripeDomain {
171
380
  const { rows, hasMore, limit } = this.refunds.list(accountId, input);
172
381
  return serializedList(rows.map(refundJson), hasMore, limit, "/v1/refunds");
173
382
  }
383
+ // ---------- Customers ----------
384
+ createCustomer(accountId, input) {
385
+ const row = this.customers.create(accountId, input);
386
+ this.events.create(accountId, { type: "customer.created", object: customerJson(row) });
387
+ return {
388
+ body: customerJson(row),
389
+ delta: { before: null, after: rowToRecord(row) },
390
+ };
391
+ }
392
+ /** Deleted customers serve the `{deleted: true}` stub, like real Stripe. */
393
+ retrieveCustomer(accountId, id) {
394
+ const row = this.customers.requireById(accountId, id);
395
+ return row.deleted ? deletedCustomerJson(row) : customerJson(row);
396
+ }
397
+ updateCustomer(accountId, id, input) {
398
+ const before = this.customers.requireLive(accountId, id);
399
+ const row = this.customers.update(accountId, id, input);
400
+ this.events.create(accountId, { type: "customer.updated", object: customerJson(row) });
401
+ return {
402
+ body: customerJson(row),
403
+ delta: { before: rowToRecord(before), after: rowToRecord(row) },
404
+ };
405
+ }
406
+ deleteCustomer(accountId, id) {
407
+ const before = this.customers.requireById(accountId, id);
408
+ const attached = this.paymentMethods.allAttachedToCustomer(accountId, id);
409
+ const { row, alreadyDeleted } = this.customers.delete(accountId, id);
410
+ if (!alreadyDeleted) {
411
+ this.events.create(accountId, { type: "customer.deleted", object: deletedCustomerJson(row) });
412
+ // Deletion detached every attached PM (inside customers.delete's
413
+ // transaction); event-polling consumers see one detached event per PM,
414
+ // carrying the post-detach shape.
415
+ for (const pm of attached) {
416
+ this.events.create(accountId, {
417
+ type: "payment_method.detached",
418
+ object: paymentMethodJson(this.paymentMethods.requireById(accountId, pm.id)),
419
+ });
420
+ }
421
+ }
422
+ return {
423
+ body: deletedCustomerJson(row),
424
+ delta: { before: rowToRecord(before), after: rowToRecord(row) },
425
+ };
426
+ }
427
+ listCustomers(accountId, input) {
428
+ const { rows, hasMore, limit } = this.customers.list(accountId, input);
429
+ return serializedList(rows.map(customerJson), hasMore, limit, "/v1/customers");
430
+ }
431
+ listCustomerPaymentMethods(accountId, customerId, input) {
432
+ // 404 for unknown AND deleted customers — a deleted customer has no
433
+ // payment-method sub-resource anymore.
434
+ this.customers.requireLive(accountId, customerId);
435
+ const { rows, hasMore, limit } = this.paymentMethods.listForCustomer(accountId, customerId, input);
436
+ return serializedList(rows.map(paymentMethodJson), hasMore, limit, `/v1/customers/${customerId}/payment_methods`);
437
+ }
438
+ // ---------- Payment methods ----------
439
+ createPaymentMethod(accountId, input) {
440
+ const row = this.paymentMethods.create(accountId, input);
441
+ return {
442
+ body: paymentMethodJson(row),
443
+ delta: { before: null, after: rowToRecord(row) },
444
+ };
445
+ }
446
+ retrievePaymentMethod(accountId, id) {
447
+ return paymentMethodJson(this.paymentMethods.requireById(accountId, id));
448
+ }
449
+ attachPaymentMethod(accountId, id, customerId) {
450
+ // Resolve the customer first so a missing/deleted customer 404s before
451
+ // any PM lifecycle error fires.
452
+ this.customers.requireLive(accountId, customerId);
453
+ const before = this.paymentMethods.requireById(accountId, id);
454
+ const row = this.paymentMethods.attach(accountId, id, customerId);
455
+ this.events.create(accountId, {
456
+ type: "payment_method.attached",
457
+ object: paymentMethodJson(row),
458
+ });
459
+ return {
460
+ body: paymentMethodJson(row),
461
+ delta: { before: rowToRecord(before), after: rowToRecord(row) },
462
+ };
463
+ }
464
+ detachPaymentMethod(accountId, id) {
465
+ const before = this.paymentMethods.requireById(accountId, id);
466
+ const row = this.paymentMethods.detach(accountId, id);
467
+ this.events.create(accountId, {
468
+ type: "payment_method.detached",
469
+ object: paymentMethodJson(row),
470
+ });
471
+ return {
472
+ body: paymentMethodJson(row),
473
+ delta: { before: rowToRecord(before), after: rowToRecord(row) },
474
+ };
475
+ }
174
476
  // ---------- Charges ----------
175
477
  retrieveCharge(accountId, id) {
176
478
  return chargeJson(this.charges.requireById(accountId, id));
@@ -196,6 +498,91 @@ export class StripeDomain {
196
498
  const { rows, hasMore, limit } = this.events.list(accountId, input);
197
499
  return serializedList(rows.map(eventJson), hasMore, limit, "/v1/events");
198
500
  }
501
+ // ---------- Billing (F-734, shape tier) ----------
502
+ //
503
+ // Warm surfaces per the F-729 ruling: stored rows served in Stripe shape,
504
+ // deliberately WITHOUT the semantic billing machine — creating a product,
505
+ // price, or subscription emits no events and mints no invoices; the
506
+ // recorder deltas stay truthful to the single-row writes.
507
+ createProduct(accountId, input) {
508
+ const row = this.billing.createProduct(accountId, input);
509
+ return { body: productJson(row), delta: { before: null, after: rowToRecord(row) } };
510
+ }
511
+ retrieveProduct(accountId, id) {
512
+ return productJson(this.billing.requireProduct(accountId, id));
513
+ }
514
+ listProducts(accountId, input) {
515
+ const { rows, hasMore, limit } = this.billing.listProducts(accountId, input);
516
+ return serializedList(rows.map(productJson), hasMore, limit, "/v1/products");
517
+ }
518
+ createPrice(accountId, input) {
519
+ const row = this.billing.createPrice(accountId, input);
520
+ return { body: priceJson(row), delta: { before: null, after: rowToRecord(row) } };
521
+ }
522
+ retrievePrice(accountId, id) {
523
+ return priceJson(this.billing.requirePrice(accountId, id));
524
+ }
525
+ listPrices(accountId, input) {
526
+ const { rows, hasMore, limit } = this.billing.listPrices(accountId, input);
527
+ return serializedList(rows.map(priceJson), hasMore, limit, "/v1/prices");
528
+ }
529
+ createSubscription(accountId, input) {
530
+ // Referential check: subscription.customer must be a live customer
531
+ // (deleted customers 404 like real Stripe).
532
+ if (input.customer)
533
+ this.customers.requireLive(accountId, input.customer);
534
+ const row = this.billing.createSubscription(accountId, input);
535
+ return {
536
+ body: this.subscriptionBody(accountId, row),
537
+ delta: { before: null, after: rowToRecord(row) },
538
+ };
539
+ }
540
+ retrieveSubscription(accountId, id) {
541
+ return this.subscriptionBody(accountId, this.billing.requireSubscription(accountId, id));
542
+ }
543
+ updateSubscription(accountId, id, input) {
544
+ const before = this.billing.requireSubscription(accountId, id);
545
+ const row = this.billing.updateSubscription(accountId, id, input);
546
+ return {
547
+ body: this.subscriptionBody(accountId, row),
548
+ delta: { before: rowToRecord(before), after: rowToRecord(row) },
549
+ };
550
+ }
551
+ cancelSubscription(accountId, id) {
552
+ const before = this.billing.requireSubscription(accountId, id);
553
+ const row = this.billing.cancelSubscription(accountId, id);
554
+ return {
555
+ body: this.subscriptionBody(accountId, row),
556
+ delta: { before: rowToRecord(before), after: rowToRecord(row) },
557
+ };
558
+ }
559
+ listSubscriptions(accountId, input) {
560
+ const { rows, hasMore, limit } = this.billing.listSubscriptions(accountId, input);
561
+ return serializedList(rows.map((row) => this.subscriptionBody(accountId, row)), hasMore, limit, "/v1/subscriptions");
562
+ }
563
+ /** Resolve item price rows so the serializer can expand SubscriptionItem.price. */
564
+ subscriptionBody(accountId, row) {
565
+ const items = JSON.parse(row.items_json);
566
+ const prices = new Map();
567
+ for (const item of items) {
568
+ if (!prices.has(item.price)) {
569
+ prices.set(item.price, this.billing.requirePrice(accountId, item.price));
570
+ }
571
+ }
572
+ return subscriptionJson(row, prices);
573
+ }
574
+ // Invoices are reads-only (F-729 ruling point 2: create/finalize/pay stay
575
+ // unlisted-cold) and nothing in the twin mints one, so the list is always
576
+ // empty and retrieve always 404s — loud, Stripe-shaped, documented.
577
+ retrieveInvoice(accountId, id) {
578
+ void accountId;
579
+ throw noSuch("invoice", id);
580
+ }
581
+ listInvoices(accountId, input) {
582
+ void accountId;
583
+ const limit = Math.min(100, Math.max(1, Math.floor(input.limit ?? 10)));
584
+ return serializedList([], false, limit, "/v1/invoices");
585
+ }
199
586
  // ---------- State export (for _pome/state) ----------
200
587
  /**
201
588
  * Account-scoped state export. Used by `/_pome/state` to surface only
@@ -224,12 +611,32 @@ export class StripeDomain {
224
611
  const refunds = this.db
225
612
  .prepare("SELECT * FROM refunds WHERE account_id = ? ORDER BY created DESC, rowid DESC")
226
613
  .all(accountId);
614
+ const customers = this.db
615
+ .prepare("SELECT * FROM customers WHERE account_id = ? ORDER BY created DESC, rowid DESC")
616
+ .all(accountId);
617
+ const paymentMethods = this.db
618
+ .prepare("SELECT * FROM payment_methods WHERE account_id = ? ORDER BY created DESC, rowid DESC")
619
+ .all(accountId);
620
+ const products = this.db
621
+ .prepare("SELECT * FROM products WHERE account_id = ? ORDER BY created DESC, rowid DESC")
622
+ .all(accountId);
623
+ const prices = this.db
624
+ .prepare("SELECT * FROM prices WHERE account_id = ? ORDER BY created DESC, rowid DESC")
625
+ .all(accountId);
626
+ const subscriptions = this.db
627
+ .prepare("SELECT * FROM subscriptions WHERE account_id = ? ORDER BY created DESC, rowid DESC")
628
+ .all(accountId);
227
629
  return {
228
630
  payment_intents: pis.map(paymentIntentJson),
229
631
  charges: charges.map(chargeJson),
230
632
  balance_transactions: balanceTxs.map(balanceTransactionJson),
231
633
  events: events.map(eventJson),
232
634
  refunds: refunds.map(refundJson),
635
+ customers: customers.map((row) => (row.deleted ? deletedCustomerJson(row) : customerJson(row))),
636
+ payment_methods: paymentMethods.map(paymentMethodJson),
637
+ products: products.map(productJson),
638
+ prices: prices.map(priceJson),
639
+ subscriptions: subscriptions.map((row) => this.subscriptionBody(accountId, row)),
233
640
  };
234
641
  }
235
642
  }
@@ -238,4 +645,26 @@ function rowToRecord(row) {
238
645
  // z.record(z.string(), z.unknown()) accepts it.
239
646
  return { ...row };
240
647
  }
648
+ function missingPaymentMethod() {
649
+ return new TwinError("invalid_request_error", "payment_intent_unexpected_state", "You cannot confirm this PaymentIntent because it's missing a payment method. Update the PaymentIntent with a payment_method and then confirm it again.", { statusCode: 400 });
650
+ }
651
+ /**
652
+ * Stripe's PM lifecycle rules for using a PM on a PI: a previously
653
+ * detached PM may never be used again, and a PM attached to a customer may
654
+ * only be used on that customer's PaymentIntents.
655
+ */
656
+ function assertPMUsable(pm, customerId) {
657
+ if (pm.detached) {
658
+ throw new TwinError("invalid_request_error", "payment_method_previously_detached", "A payment method that has been previously detached from a customer may not be used again.", { param: "payment_method", statusCode: 400 });
659
+ }
660
+ if (pm.customer_id && pm.customer_id !== customerId) {
661
+ throw new TwinError("invalid_request_error", "payment_method_customer_mismatch", "The payment method you provided is attached to a customer. You may only use it with that customer via the `customer` parameter.", { param: "payment_method", statusCode: 400 });
662
+ }
663
+ }
664
+ /** Charge.payment_method_details payload for a card charge. */
665
+ function cardChargeDetails(pm) {
666
+ // Same card block paymentMethodJson serves, so Charge.payment_method_details.card
667
+ // can never drift from PaymentMethod.card for the same PM.
668
+ return { type: "card", card: cardJson(pm) };
669
+ }
241
670
  //# sourceMappingURL=stripe-domain.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"stripe-domain.js","sourceRoot":"","sources":["../../../src/domain/stripe-domain.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stripe-domain.js","sourceRoot":"","sources":["../../../src/domain/stripe-domain.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,24 @@
1
1
  export type StripeErrorType = "invalid_request_error" | "api_error" | "card_error" | "idempotency_error" | "rate_limit_error";
2
2
  export type StripeErrorFidelity = "semantic" | "unsupported";
3
+ import type { StateDelta } from "@pome-sh/shared-types";
3
4
  export type StripeErrorOpts = {
4
5
  param?: string;
5
6
  doc_url?: string;
6
7
  statusCode?: number;
7
8
  fidelity?: StripeErrorFidelity;
8
9
  supported_surfaces?: string[];
10
+ /** Card declines: Stripe's issuer decline reason (`generic_decline`, …). */
11
+ decline_code?: string;
12
+ /** Card declines: real Stripe embeds the post-attempt PaymentIntent. */
13
+ payment_intent?: unknown;
14
+ /**
15
+ * Card declines commit real state (failed charge, events, PI transition)
16
+ * before the 402 is thrown — the only error path in the twin that
17
+ * mutates. These recorder-only fields let handle() log the truth; they
18
+ * never serialize into the wire envelope.
19
+ */
20
+ state_mutation?: boolean;
21
+ state_delta?: StateDelta;
9
22
  };
10
23
  export type StripeErrorEnvelope = {
11
24
  error: {
@@ -16,6 +29,8 @@ export type StripeErrorEnvelope = {
16
29
  doc_url?: string;
17
30
  fidelity?: StripeErrorFidelity;
18
31
  supported_surfaces?: string[];
32
+ decline_code?: string;
33
+ payment_intent?: unknown;
19
34
  };
20
35
  };
21
36
  /**
@@ -31,6 +46,10 @@ export declare class TwinError extends Error {
31
46
  readonly doc_url?: string;
32
47
  readonly fidelity?: StripeErrorFidelity;
33
48
  readonly supported_surfaces?: string[];
49
+ readonly decline_code?: string;
50
+ readonly payment_intent?: unknown;
51
+ readonly state_mutation?: boolean;
52
+ readonly state_delta?: StateDelta;
34
53
  constructor(type: StripeErrorType, code: string, message: string, opts?: StripeErrorOpts);
35
54
  toEnvelope(): StripeErrorEnvelope;
36
55
  }