@pome-sh/cli 0.1.1 → 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 (277) 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/hosted/client.d.ts +41 -5
  13. package/dist/src/hosted/client.js +333 -19
  14. package/dist/src/hosted/errors.d.ts +11 -1
  15. package/dist/src/hosted/errors.js +8 -1
  16. package/dist/src/hosted/evalResultView.d.ts +2 -0
  17. package/dist/src/hosted/evalResultView.js +22 -0
  18. package/dist/src/hosted/uploadAndFinalize.d.ts +18 -1
  19. package/dist/src/hosted/uploadAndFinalize.js +51 -3
  20. package/dist/src/recorder/inspect.js +20 -2
  21. package/dist/src/runner/mergeAdapterSignals.js +2 -2
  22. package/dist/src/runner/ports.js +3 -0
  23. package/dist/src/runner/runScenario.d.ts +79 -2
  24. package/dist/src/runner/runScenario.js +94 -36
  25. package/dist/src/runner/runScenarioHosted.d.ts +37 -0
  26. package/dist/src/runner/runScenarioHosted.js +257 -58
  27. package/dist/src/runner/runTrialGroup.d.ts +1 -3
  28. package/dist/src/runner/runTrialGroup.js +1 -3
  29. package/dist/src/scenario/parseScenario.d.ts +5 -0
  30. package/dist/src/scenario/parseScenario.js +135 -8
  31. package/dist/src/scenario/scenarioSchema.d.ts +200 -3
  32. package/dist/src/scenario/scenarioSchema.js +12 -1
  33. package/dist/src/twin/twinHarness.d.ts +10 -0
  34. package/dist/src/twin/twinHarness.js +6 -2
  35. package/dist/src/twin/twinStart.d.ts +19 -0
  36. package/dist/src/twin/twinStart.js +156 -0
  37. package/node_modules/@pome-sh/sdk/dist/fidelity-inventory.d.ts +121 -0
  38. package/node_modules/@pome-sh/sdk/dist/fidelity-inventory.js +204 -0
  39. package/node_modules/@pome-sh/sdk/dist/fidelity-inventory.js.map +1 -0
  40. package/node_modules/@pome-sh/sdk/dist/parity.d.ts +55 -0
  41. package/node_modules/@pome-sh/sdk/dist/parity.js +112 -0
  42. package/node_modules/@pome-sh/sdk/dist/parity.js.map +1 -0
  43. package/node_modules/@pome-sh/sdk/dist/server-helpers.d.ts +15 -0
  44. package/node_modules/@pome-sh/sdk/dist/server-helpers.js +96 -0
  45. package/node_modules/@pome-sh/sdk/dist/server-helpers.js.map +1 -1
  46. package/node_modules/@pome-sh/sdk/dist/server.d.ts +1 -1
  47. package/node_modules/@pome-sh/sdk/dist/server.js +9 -7
  48. package/node_modules/@pome-sh/sdk/dist/server.js.map +1 -1
  49. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/errors.d.ts +39 -0
  50. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/errors.js +33 -0
  51. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/errors.js.map +1 -0
  52. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/evaluator-hooks.d.ts +13 -0
  53. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/evaluator-hooks.js +6 -0
  54. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/evaluator-hooks.js.map +1 -0
  55. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/finalize-shapes.d.ts +215 -0
  56. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/finalize-shapes.js +83 -0
  57. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/finalize-shapes.js.map +1 -0
  58. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/github-access-control.d.ts +175 -0
  59. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/github-access-control.js +182 -0
  60. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/github-access-control.js.map +1 -0
  61. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/identity.d.ts +90 -0
  62. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/identity.js +72 -0
  63. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/identity.js.map +1 -0
  64. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/index.d.ts +27 -0
  65. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/index.js +34 -0
  66. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/index.js.map +1 -0
  67. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/otel/event-schema.d.ts +286 -0
  68. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/otel/event-schema.js +33 -0
  69. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/otel/event-schema.js.map +1 -0
  70. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/otel/fixtures/data.d.ts +65 -0
  71. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/otel/fixtures/data.js +455 -0
  72. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/otel/fixtures/data.js.map +1 -0
  73. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/otel/fixtures/index.d.ts +39 -0
  74. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/otel/fixtures/index.js +47 -0
  75. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/otel/fixtures/index.js.map +1 -0
  76. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/otel/index.d.ts +25 -0
  77. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/otel/index.js +27 -0
  78. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/otel/index.js.map +1 -0
  79. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/otel/legacy-shim.d.ts +100 -0
  80. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/otel/legacy-shim.js +185 -0
  81. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/otel/legacy-shim.js.map +1 -0
  82. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/otel/map-span.d.ts +64 -0
  83. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/otel/map-span.js +112 -0
  84. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/otel/map-span.js.map +1 -0
  85. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/otel/nano.d.ts +26 -0
  86. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/otel/nano.js +61 -0
  87. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/otel/nano.js.map +1 -0
  88. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/otel/project.d.ts +42 -0
  89. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/otel/project.js +96 -0
  90. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/otel/project.js.map +1 -0
  91. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/otel/semconv.d.ts +51 -0
  92. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/otel/semconv.js +74 -0
  93. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/otel/semconv.js.map +1 -0
  94. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/otel/span-event.d.ts +134 -0
  95. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/otel/span-event.js +152 -0
  96. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/otel/span-event.js.map +1 -0
  97. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/recorder-events.d.ts +418 -0
  98. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/recorder-events.js +234 -0
  99. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/recorder-events.js.map +1 -0
  100. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/redaction.d.ts +2 -0
  101. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/redaction.js +152 -0
  102. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/redaction.js.map +1 -0
  103. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/rest.d.ts +198 -0
  104. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/rest.js +225 -0
  105. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/rest.js.map +1 -0
  106. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/run.d.ts +201 -0
  107. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/run.js +166 -0
  108. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/run.js.map +1 -0
  109. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/seed-state.d.ts +446 -0
  110. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/seed-state.js +167 -0
  111. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/seed-state.js.map +1 -0
  112. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/sessions.d.ts +53 -0
  113. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/sessions.js +51 -0
  114. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/sessions.js.map +1 -0
  115. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/task-vocab.d.ts +66 -0
  116. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/task-vocab.js +84 -0
  117. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/task-vocab.js.map +1 -0
  118. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/task.d.ts +483 -0
  119. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/task.js +60 -0
  120. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/task.js.map +1 -0
  121. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/package.json +54 -0
  122. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/trace-contract.json +41 -0
  123. package/node_modules/@pome-sh/sdk/package.json +6 -2
  124. package/node_modules/@pome-sh/shared-types/dist/errors.d.ts +39 -0
  125. package/node_modules/@pome-sh/shared-types/dist/errors.js +33 -0
  126. package/node_modules/@pome-sh/shared-types/dist/errors.js.map +1 -0
  127. package/node_modules/@pome-sh/shared-types/dist/finalize-shapes.d.ts +252 -0
  128. package/node_modules/@pome-sh/shared-types/dist/finalize-shapes.js +122 -0
  129. package/node_modules/@pome-sh/shared-types/dist/finalize-shapes.js.map +1 -0
  130. package/node_modules/@pome-sh/shared-types/dist/identity.d.ts +90 -0
  131. package/node_modules/@pome-sh/shared-types/dist/identity.js +72 -0
  132. package/node_modules/@pome-sh/shared-types/dist/identity.js.map +1 -0
  133. package/node_modules/@pome-sh/shared-types/dist/index.d.ts +13 -1353
  134. package/node_modules/@pome-sh/shared-types/dist/index.js +14 -568
  135. package/node_modules/@pome-sh/shared-types/dist/index.js.map +1 -1
  136. package/node_modules/@pome-sh/shared-types/dist/otel/event-schema.d.ts +45 -0
  137. package/node_modules/@pome-sh/shared-types/dist/otel/legacy-shim.js +8 -0
  138. package/node_modules/@pome-sh/shared-types/dist/otel/legacy-shim.js.map +1 -1
  139. package/node_modules/@pome-sh/shared-types/dist/otel/semconv.js +7 -0
  140. package/node_modules/@pome-sh/shared-types/dist/otel/semconv.js.map +1 -1
  141. package/node_modules/@pome-sh/shared-types/dist/recorder-events.d.ts +62 -0
  142. package/node_modules/@pome-sh/shared-types/dist/recorder-events.js +36 -0
  143. package/node_modules/@pome-sh/shared-types/dist/recorder-events.js.map +1 -1
  144. package/node_modules/@pome-sh/shared-types/dist/rest.d.ts +245 -0
  145. package/node_modules/@pome-sh/shared-types/dist/rest.js +303 -0
  146. package/node_modules/@pome-sh/shared-types/dist/rest.js.map +1 -0
  147. package/node_modules/@pome-sh/shared-types/dist/run.d.ts +7 -0
  148. package/node_modules/@pome-sh/shared-types/dist/run.js +4 -0
  149. package/node_modules/@pome-sh/shared-types/dist/run.js.map +1 -1
  150. package/node_modules/@pome-sh/shared-types/dist/seed-envelope.d.ts +14 -0
  151. package/node_modules/@pome-sh/shared-types/dist/seed-envelope.js +46 -0
  152. package/node_modules/@pome-sh/shared-types/dist/seed-envelope.js.map +1 -0
  153. package/node_modules/@pome-sh/shared-types/dist/seed-state.d.ts +446 -0
  154. package/node_modules/@pome-sh/shared-types/dist/seed-state.js +167 -0
  155. package/node_modules/@pome-sh/shared-types/dist/seed-state.js.map +1 -0
  156. package/node_modules/@pome-sh/shared-types/dist/sessions.d.ts +53 -0
  157. package/node_modules/@pome-sh/shared-types/dist/sessions.js +51 -0
  158. package/node_modules/@pome-sh/shared-types/dist/sessions.js.map +1 -0
  159. package/node_modules/@pome-sh/shared-types/dist/task.d.ts +485 -0
  160. package/node_modules/@pome-sh/shared-types/dist/task.js +60 -0
  161. package/node_modules/@pome-sh/shared-types/dist/task.js.map +1 -0
  162. package/node_modules/@pome-sh/shared-types/package.json +2 -1
  163. package/node_modules/@pome-sh/shared-types/trace-contract.json +1 -1
  164. package/node_modules/@pome-sh/twin-github/FIDELITY.md +127 -67
  165. package/node_modules/@pome-sh/twin-github/README.md +3 -7
  166. package/node_modules/@pome-sh/twin-github/dist/examples/claude-github-agent.js +4 -20
  167. package/node_modules/@pome-sh/twin-github/dist/examples/claude-github-agent.js.map +1 -1
  168. package/node_modules/@pome-sh/twin-github/dist/src/access-control.d.ts +3 -3
  169. package/node_modules/@pome-sh/twin-github/dist/src/domain.d.ts +141 -3
  170. package/node_modules/@pome-sh/twin-github/dist/src/domain.js +0 -0
  171. package/node_modules/@pome-sh/twin-github/dist/src/domain.js.map +1 -1
  172. package/node_modules/@pome-sh/twin-github/dist/src/routes.js +2 -0
  173. package/node_modules/@pome-sh/twin-github/dist/src/routes.js.map +1 -1
  174. package/node_modules/@pome-sh/twin-github/dist/src/seed.d.ts +1 -1
  175. package/node_modules/@pome-sh/twin-github/dist/src/serializers.d.ts +2 -2
  176. package/node_modules/@pome-sh/twin-github/dist/src/server.js +7 -6
  177. package/node_modules/@pome-sh/twin-github/dist/src/server.js.map +1 -1
  178. package/node_modules/@pome-sh/twin-github/dist/src/tools.d.ts +168 -18
  179. package/node_modules/@pome-sh/twin-github/dist/src/tools.js +23 -0
  180. package/node_modules/@pome-sh/twin-github/dist/src/tools.js.map +1 -1
  181. package/node_modules/@pome-sh/twin-github/fidelity.inventory.json +773 -0
  182. package/node_modules/@pome-sh/twin-github/package.json +5 -4
  183. package/node_modules/@pome-sh/twin-slack/FIDELITY.md +121 -35
  184. package/node_modules/@pome-sh/twin-slack/README.md +2 -6
  185. package/node_modules/@pome-sh/twin-slack/dist/scripts/fidelity-parity.d.ts +1 -0
  186. package/node_modules/@pome-sh/twin-slack/dist/scripts/fidelity-parity.js +92 -0
  187. package/node_modules/@pome-sh/twin-slack/dist/scripts/fidelity-parity.js.map +1 -0
  188. package/node_modules/@pome-sh/twin-slack/dist/scripts/smoke.js +3 -3
  189. package/node_modules/@pome-sh/twin-slack/dist/scripts/smoke.js.map +1 -1
  190. package/node_modules/@pome-sh/twin-slack/dist/scripts/validate-mcp.js +1 -1
  191. package/node_modules/@pome-sh/twin-slack/dist/scripts/validate-mcp.js.map +1 -1
  192. package/node_modules/@pome-sh/twin-slack/dist/src/server.js +7 -6
  193. package/node_modules/@pome-sh/twin-slack/dist/src/server.js.map +1 -1
  194. package/node_modules/@pome-sh/twin-slack/dist/src/tools.d.ts +30 -4
  195. package/node_modules/@pome-sh/twin-slack/dist/src/tools.js +48 -1
  196. package/node_modules/@pome-sh/twin-slack/dist/src/tools.js.map +1 -1
  197. package/node_modules/@pome-sh/twin-slack/fidelity.inventory.json +377 -0
  198. package/node_modules/@pome-sh/twin-slack/package.json +5 -4
  199. package/node_modules/@pome-sh/twin-stripe/FIDELITY.md +151 -50
  200. package/node_modules/@pome-sh/twin-stripe/README.md +42 -45
  201. package/node_modules/@pome-sh/twin-stripe/dist/scripts/fidelity-parity.d.ts +1 -0
  202. package/node_modules/@pome-sh/twin-stripe/dist/scripts/fidelity-parity.js +186 -0
  203. package/node_modules/@pome-sh/twin-stripe/dist/scripts/fidelity-parity.js.map +1 -0
  204. package/node_modules/@pome-sh/twin-stripe/dist/scripts/smoke.js +8 -4
  205. package/node_modules/@pome-sh/twin-stripe/dist/scripts/smoke.js.map +1 -1
  206. package/node_modules/@pome-sh/twin-stripe/dist/src/db.js +26 -2
  207. package/node_modules/@pome-sh/twin-stripe/dist/src/db.js.map +1 -1
  208. package/node_modules/@pome-sh/twin-stripe/dist/src/domain/billing.d.ts +101 -0
  209. package/node_modules/@pome-sh/twin-stripe/dist/src/domain/billing.js +195 -0
  210. package/node_modules/@pome-sh/twin-stripe/dist/src/domain/billing.js.map +1 -0
  211. package/node_modules/@pome-sh/twin-stripe/dist/src/domain/charges.d.ts +15 -1
  212. package/node_modules/@pome-sh/twin-stripe/dist/src/domain/charges.js +17 -5
  213. package/node_modules/@pome-sh/twin-stripe/dist/src/domain/charges.js.map +1 -1
  214. package/node_modules/@pome-sh/twin-stripe/dist/src/domain/customers.d.ts +47 -0
  215. package/node_modules/@pome-sh/twin-stripe/dist/src/domain/customers.js +103 -0
  216. package/node_modules/@pome-sh/twin-stripe/dist/src/domain/customers.js.map +1 -0
  217. package/node_modules/@pome-sh/twin-stripe/dist/src/domain/events.d.ts +1 -1
  218. package/node_modules/@pome-sh/twin-stripe/dist/src/domain/events.js.map +1 -1
  219. package/node_modules/@pome-sh/twin-stripe/dist/src/domain/index.d.ts +6 -0
  220. package/node_modules/@pome-sh/twin-stripe/dist/src/domain/index.js +3 -0
  221. package/node_modules/@pome-sh/twin-stripe/dist/src/domain/index.js.map +1 -1
  222. package/node_modules/@pome-sh/twin-stripe/dist/src/domain/payment-intents.d.ts +61 -2
  223. package/node_modules/@pome-sh/twin-stripe/dist/src/domain/payment-intents.js +214 -52
  224. package/node_modules/@pome-sh/twin-stripe/dist/src/domain/payment-intents.js.map +1 -1
  225. package/node_modules/@pome-sh/twin-stripe/dist/src/domain/payment-methods.d.ts +45 -0
  226. package/node_modules/@pome-sh/twin-stripe/dist/src/domain/payment-methods.js +159 -0
  227. package/node_modules/@pome-sh/twin-stripe/dist/src/domain/payment-methods.js.map +1 -0
  228. package/node_modules/@pome-sh/twin-stripe/dist/src/domain/refunds.d.ts +6 -0
  229. package/node_modules/@pome-sh/twin-stripe/dist/src/domain/refunds.js +16 -0
  230. package/node_modules/@pome-sh/twin-stripe/dist/src/domain/refunds.js.map +1 -1
  231. package/node_modules/@pome-sh/twin-stripe/dist/src/domain/schema.d.ts +1 -0
  232. package/node_modules/@pome-sh/twin-stripe/dist/src/domain/schema.js +144 -1
  233. package/node_modules/@pome-sh/twin-stripe/dist/src/domain/schema.js.map +1 -1
  234. package/node_modules/@pome-sh/twin-stripe/dist/src/domain/stripe-domain.d.ts +420 -43
  235. package/node_modules/@pome-sh/twin-stripe/dist/src/domain/stripe-domain.js +442 -13
  236. package/node_modules/@pome-sh/twin-stripe/dist/src/domain/stripe-domain.js.map +1 -1
  237. package/node_modules/@pome-sh/twin-stripe/dist/src/errors.d.ts +19 -0
  238. package/node_modules/@pome-sh/twin-stripe/dist/src/errors.js +15 -1
  239. package/node_modules/@pome-sh/twin-stripe/dist/src/errors.js.map +1 -1
  240. package/node_modules/@pome-sh/twin-stripe/dist/src/ids.d.ts +2 -0
  241. package/node_modules/@pome-sh/twin-stripe/dist/src/ids.js +2 -0
  242. package/node_modules/@pome-sh/twin-stripe/dist/src/ids.js.map +1 -1
  243. package/node_modules/@pome-sh/twin-stripe/dist/src/routes/_helpers.d.ts +8 -0
  244. package/node_modules/@pome-sh/twin-stripe/dist/src/routes/_helpers.js +105 -1
  245. package/node_modules/@pome-sh/twin-stripe/dist/src/routes/_helpers.js.map +1 -1
  246. package/node_modules/@pome-sh/twin-stripe/dist/src/routes/billing.d.ts +4 -0
  247. package/node_modules/@pome-sh/twin-stripe/dist/src/routes/billing.js +117 -0
  248. package/node_modules/@pome-sh/twin-stripe/dist/src/routes/billing.js.map +1 -0
  249. package/node_modules/@pome-sh/twin-stripe/dist/src/routes/customers.d.ts +4 -0
  250. package/node_modules/@pome-sh/twin-stripe/dist/src/routes/customers.js +47 -0
  251. package/node_modules/@pome-sh/twin-stripe/dist/src/routes/customers.js.map +1 -0
  252. package/node_modules/@pome-sh/twin-stripe/dist/src/routes/index.js +6 -0
  253. package/node_modules/@pome-sh/twin-stripe/dist/src/routes/index.js.map +1 -1
  254. package/node_modules/@pome-sh/twin-stripe/dist/src/routes/payment-intents.js +28 -102
  255. package/node_modules/@pome-sh/twin-stripe/dist/src/routes/payment-intents.js.map +1 -1
  256. package/node_modules/@pome-sh/twin-stripe/dist/src/routes/payment-methods.d.ts +4 -0
  257. package/node_modules/@pome-sh/twin-stripe/dist/src/routes/payment-methods.js +33 -0
  258. package/node_modules/@pome-sh/twin-stripe/dist/src/routes/payment-methods.js.map +1 -0
  259. package/node_modules/@pome-sh/twin-stripe/dist/src/seed.d.ts +10 -8
  260. package/node_modules/@pome-sh/twin-stripe/dist/src/seed.js +3 -2
  261. package/node_modules/@pome-sh/twin-stripe/dist/src/seed.js.map +1 -1
  262. package/node_modules/@pome-sh/twin-stripe/dist/src/serializers.d.ts +181 -21
  263. package/node_modules/@pome-sh/twin-stripe/dist/src/serializers.js +257 -34
  264. package/node_modules/@pome-sh/twin-stripe/dist/src/serializers.js.map +1 -1
  265. package/node_modules/@pome-sh/twin-stripe/dist/src/server.js +7 -6
  266. package/node_modules/@pome-sh/twin-stripe/dist/src/server.js.map +1 -1
  267. package/node_modules/@pome-sh/twin-stripe/dist/src/tools.d.ts +107 -5
  268. package/node_modules/@pome-sh/twin-stripe/dist/src/tools.js +139 -6
  269. package/node_modules/@pome-sh/twin-stripe/dist/src/tools.js.map +1 -1
  270. package/node_modules/@pome-sh/twin-stripe/dist/src/types.d.ts +73 -0
  271. package/node_modules/@pome-sh/twin-stripe/dist/src/upstream-types.d.ts +8 -0
  272. package/node_modules/@pome-sh/twin-stripe/dist/src/x402.js +6 -1
  273. package/node_modules/@pome-sh/twin-stripe/dist/src/x402.js.map +1 -1
  274. package/node_modules/@pome-sh/twin-stripe/fidelity.inventory.json +425 -0
  275. package/node_modules/@pome-sh/twin-stripe/package.json +5 -4
  276. package/package.json +8 -8
  277. package/skills/pome-setup/SKILL.md +1 -1
@@ -0,0 +1,418 @@
1
+ /**
2
+ * recorder-events — twin runtime trace format
3
+ *
4
+ * Single source of truth for the per-request event a twin runtime emits into
5
+ * its recorder ring buffer. Consumed by:
6
+ * - twin runtimes (`@pome-sh/twin-github`, `@pome-sh/twin-stripe`) — emit shape
7
+ * - `@pome-sh/sdk` — read shape for post-run analysis
8
+ * - `pome-cloud` correlator — input to trace correlation on ingest
9
+ * - `pome-cloud` recorder writers — persisted shape for events.jsonl S3 blob
10
+ *
11
+ * v1.0 freeze of the twin runtime trace format. Breaking changes go through a
12
+ * documented deprecation policy.
13
+ */
14
+ import { z } from "zod";
15
+ export declare const KNOWN_TWIN_IDS: readonly ["github", "stripe", "slack"];
16
+ export type KnownTwinId = (typeof KNOWN_TWIN_IDS)[number];
17
+ export declare const twinIdSchema: z.ZodString;
18
+ export type TwinId = z.infer<typeof twinIdSchema>;
19
+ export declare const recorderFidelitySchema: z.ZodEnum<{
20
+ semantic: "semantic";
21
+ unsupported: "unsupported";
22
+ }>;
23
+ export type RecorderFidelity = z.infer<typeof recorderFidelitySchema>;
24
+ export declare const stateDeltaSchema: z.ZodNullable<z.ZodObject<{
25
+ before: z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
26
+ after: z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
27
+ }, z.core.$strip>>;
28
+ export type StateDelta = z.infer<typeof stateDeltaSchema>;
29
+ export declare const recorderEventSchema: z.ZodPipe<z.ZodObject<{
30
+ ts: z.ZodString;
31
+ run_id: z.ZodString;
32
+ twin: z.ZodString;
33
+ request_id: z.ZodString;
34
+ correlation_id: z.ZodOptional<z.ZodString>;
35
+ task_step_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
36
+ scenario_step_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
37
+ step_id: z.ZodNullable<z.ZodString>;
38
+ tool_call_id: z.ZodNullable<z.ZodString>;
39
+ method: z.ZodString;
40
+ path: z.ZodString;
41
+ request_body: z.ZodUnknown;
42
+ status: z.ZodNumber;
43
+ response_body: z.ZodUnknown;
44
+ latency_ms: z.ZodNumber;
45
+ fidelity: z.ZodEnum<{
46
+ semantic: "semantic";
47
+ unsupported: "unsupported";
48
+ }>;
49
+ state_mutation: z.ZodBoolean;
50
+ state_delta: z.ZodNullable<z.ZodObject<{
51
+ before: z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
52
+ after: z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
53
+ }, z.core.$strip>>;
54
+ idempotency_dedupe: z.ZodOptional<z.ZodBoolean>;
55
+ error: z.ZodNullable<z.ZodString>;
56
+ }, z.core.$strip>, z.ZodTransform<{
57
+ ts: string;
58
+ run_id: string;
59
+ twin: string;
60
+ request_id: string;
61
+ step_id: string | null;
62
+ tool_call_id: string | null;
63
+ method: string;
64
+ path: string;
65
+ request_body: unknown;
66
+ status: number;
67
+ response_body: unknown;
68
+ latency_ms: number;
69
+ fidelity: "semantic" | "unsupported";
70
+ state_mutation: boolean;
71
+ state_delta: {
72
+ before: Record<string, unknown> | null;
73
+ after: Record<string, unknown> | null;
74
+ } | null;
75
+ error: string | null;
76
+ correlation_id?: string | undefined;
77
+ task_step_id?: string | null | undefined;
78
+ scenario_step_id?: string | null | undefined;
79
+ idempotency_dedupe?: boolean | undefined;
80
+ }, {
81
+ ts: string;
82
+ run_id: string;
83
+ twin: string;
84
+ request_id: string;
85
+ step_id: string | null;
86
+ tool_call_id: string | null;
87
+ method: string;
88
+ path: string;
89
+ request_body: unknown;
90
+ status: number;
91
+ response_body: unknown;
92
+ latency_ms: number;
93
+ fidelity: "semantic" | "unsupported";
94
+ state_mutation: boolean;
95
+ state_delta: {
96
+ before: Record<string, unknown> | null;
97
+ after: Record<string, unknown> | null;
98
+ } | null;
99
+ error: string | null;
100
+ correlation_id?: string | undefined;
101
+ task_step_id?: string | null | undefined;
102
+ scenario_step_id?: string | null | undefined;
103
+ idempotency_dedupe?: boolean | undefined;
104
+ }>>;
105
+ export type RecorderEvent = z.infer<typeof recorderEventSchema>;
106
+ export declare const twinHttpEventSchema: z.ZodObject<{
107
+ ts: z.ZodString;
108
+ run_id: z.ZodString;
109
+ twin: z.ZodString;
110
+ request_id: z.ZodString;
111
+ correlation_id: z.ZodOptional<z.ZodString>;
112
+ task_step_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
113
+ scenario_step_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
114
+ step_id: z.ZodNullable<z.ZodString>;
115
+ tool_call_id: z.ZodNullable<z.ZodString>;
116
+ method: z.ZodString;
117
+ path: z.ZodString;
118
+ request_body: z.ZodUnknown;
119
+ status: z.ZodNumber;
120
+ response_body: z.ZodUnknown;
121
+ latency_ms: z.ZodNumber;
122
+ fidelity: z.ZodEnum<{
123
+ semantic: "semantic";
124
+ unsupported: "unsupported";
125
+ }>;
126
+ state_mutation: z.ZodBoolean;
127
+ state_delta: z.ZodNullable<z.ZodObject<{
128
+ before: z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
129
+ after: z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
130
+ }, z.core.$strip>>;
131
+ idempotency_dedupe: z.ZodOptional<z.ZodBoolean>;
132
+ error: z.ZodNullable<z.ZodString>;
133
+ kind: z.ZodLiteral<"TwinHttpEvent">;
134
+ event_id: z.ZodString;
135
+ parent_id: z.ZodNullable<z.ZodString>;
136
+ }, z.core.$strip>;
137
+ export type TwinHttpEvent = z.infer<typeof twinHttpEventSchema>;
138
+ export declare const llmCallEventSchema: z.ZodObject<{
139
+ kind: z.ZodLiteral<"LlmCallEvent">;
140
+ host: z.ZodString;
141
+ port: z.ZodNumber;
142
+ latency_ms: z.ZodNumber;
143
+ bytes_in: z.ZodNumber;
144
+ bytes_out: z.ZodNumber;
145
+ url: z.ZodNullable<z.ZodString>;
146
+ method: z.ZodNullable<z.ZodString>;
147
+ status: z.ZodNullable<z.ZodNumber>;
148
+ model: z.ZodNullable<z.ZodString>;
149
+ prompt_tokens: z.ZodNullable<z.ZodNumber>;
150
+ completion_tokens: z.ZodNullable<z.ZodNumber>;
151
+ cost_usd: z.ZodNullable<z.ZodNumber>;
152
+ ts: z.ZodString;
153
+ event_id: z.ZodString;
154
+ parent_id: z.ZodNullable<z.ZodString>;
155
+ }, z.core.$strip>;
156
+ export type LlmCallEvent = z.infer<typeof llmCallEventSchema>;
157
+ export declare const toolUseEventSchema: z.ZodObject<{
158
+ kind: z.ZodLiteral<"ToolUseEvent">;
159
+ tool_use_id: z.ZodString;
160
+ tool_name: z.ZodString;
161
+ input: z.ZodUnknown;
162
+ ts: z.ZodString;
163
+ event_id: z.ZodString;
164
+ parent_id: z.ZodNullable<z.ZodString>;
165
+ }, z.core.$strip>;
166
+ export type ToolUseEvent = z.infer<typeof toolUseEventSchema>;
167
+ export declare const toolResultEventSchema: z.ZodObject<{
168
+ kind: z.ZodLiteral<"ToolResultEvent">;
169
+ tool_use_id: z.ZodString;
170
+ output: z.ZodUnknown;
171
+ is_error: z.ZodBoolean;
172
+ ts: z.ZodString;
173
+ event_id: z.ZodString;
174
+ parent_id: z.ZodNullable<z.ZodString>;
175
+ }, z.core.$strip>;
176
+ export type ToolResultEvent = z.infer<typeof toolResultEventSchema>;
177
+ export declare const subagentSpawnEventSchema: z.ZodObject<{
178
+ kind: z.ZodLiteral<"SubagentSpawnEvent">;
179
+ parent_tool_use_id: z.ZodString;
180
+ ts: z.ZodString;
181
+ event_id: z.ZodString;
182
+ parent_id: z.ZodNullable<z.ZodString>;
183
+ }, z.core.$strip>;
184
+ export type SubagentSpawnEvent = z.infer<typeof subagentSpawnEventSchema>;
185
+ export declare const hookEventSchema: z.ZodObject<{
186
+ kind: z.ZodLiteral<"HookEvent">;
187
+ hook_name: z.ZodString;
188
+ tool_name: z.ZodNullable<z.ZodString>;
189
+ ts: z.ZodString;
190
+ event_id: z.ZodString;
191
+ parent_id: z.ZodNullable<z.ZodString>;
192
+ }, z.core.$strip>;
193
+ export type HookEvent = z.infer<typeof hookEventSchema>;
194
+ export declare const eventSchema: z.ZodPipe<z.ZodDiscriminatedUnion<[z.ZodObject<{
195
+ ts: z.ZodString;
196
+ run_id: z.ZodString;
197
+ twin: z.ZodString;
198
+ request_id: z.ZodString;
199
+ correlation_id: z.ZodOptional<z.ZodString>;
200
+ task_step_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
201
+ scenario_step_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
202
+ step_id: z.ZodNullable<z.ZodString>;
203
+ tool_call_id: z.ZodNullable<z.ZodString>;
204
+ method: z.ZodString;
205
+ path: z.ZodString;
206
+ request_body: z.ZodUnknown;
207
+ status: z.ZodNumber;
208
+ response_body: z.ZodUnknown;
209
+ latency_ms: z.ZodNumber;
210
+ fidelity: z.ZodEnum<{
211
+ semantic: "semantic";
212
+ unsupported: "unsupported";
213
+ }>;
214
+ state_mutation: z.ZodBoolean;
215
+ state_delta: z.ZodNullable<z.ZodObject<{
216
+ before: z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
217
+ after: z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
218
+ }, z.core.$strip>>;
219
+ idempotency_dedupe: z.ZodOptional<z.ZodBoolean>;
220
+ error: z.ZodNullable<z.ZodString>;
221
+ kind: z.ZodLiteral<"TwinHttpEvent">;
222
+ event_id: z.ZodString;
223
+ parent_id: z.ZodNullable<z.ZodString>;
224
+ }, z.core.$strip>, z.ZodObject<{
225
+ kind: z.ZodLiteral<"LlmCallEvent">;
226
+ host: z.ZodString;
227
+ port: z.ZodNumber;
228
+ latency_ms: z.ZodNumber;
229
+ bytes_in: z.ZodNumber;
230
+ bytes_out: z.ZodNumber;
231
+ url: z.ZodNullable<z.ZodString>;
232
+ method: z.ZodNullable<z.ZodString>;
233
+ status: z.ZodNullable<z.ZodNumber>;
234
+ model: z.ZodNullable<z.ZodString>;
235
+ prompt_tokens: z.ZodNullable<z.ZodNumber>;
236
+ completion_tokens: z.ZodNullable<z.ZodNumber>;
237
+ cost_usd: z.ZodNullable<z.ZodNumber>;
238
+ ts: z.ZodString;
239
+ event_id: z.ZodString;
240
+ parent_id: z.ZodNullable<z.ZodString>;
241
+ }, z.core.$strip>, z.ZodObject<{
242
+ kind: z.ZodLiteral<"ToolUseEvent">;
243
+ tool_use_id: z.ZodString;
244
+ tool_name: z.ZodString;
245
+ input: z.ZodUnknown;
246
+ ts: z.ZodString;
247
+ event_id: z.ZodString;
248
+ parent_id: z.ZodNullable<z.ZodString>;
249
+ }, z.core.$strip>, z.ZodObject<{
250
+ kind: z.ZodLiteral<"ToolResultEvent">;
251
+ tool_use_id: z.ZodString;
252
+ output: z.ZodUnknown;
253
+ is_error: z.ZodBoolean;
254
+ ts: z.ZodString;
255
+ event_id: z.ZodString;
256
+ parent_id: z.ZodNullable<z.ZodString>;
257
+ }, z.core.$strip>, z.ZodObject<{
258
+ kind: z.ZodLiteral<"SubagentSpawnEvent">;
259
+ parent_tool_use_id: z.ZodString;
260
+ ts: z.ZodString;
261
+ event_id: z.ZodString;
262
+ parent_id: z.ZodNullable<z.ZodString>;
263
+ }, z.core.$strip>, z.ZodObject<{
264
+ kind: z.ZodLiteral<"HookEvent">;
265
+ hook_name: z.ZodString;
266
+ tool_name: z.ZodNullable<z.ZodString>;
267
+ ts: z.ZodString;
268
+ event_id: z.ZodString;
269
+ parent_id: z.ZodNullable<z.ZodString>;
270
+ }, z.core.$strip>], "kind">, z.ZodTransform<{
271
+ ts: string;
272
+ run_id: string;
273
+ twin: string;
274
+ request_id: string;
275
+ step_id: string | null;
276
+ tool_call_id: string | null;
277
+ method: string;
278
+ path: string;
279
+ request_body: unknown;
280
+ status: number;
281
+ response_body: unknown;
282
+ latency_ms: number;
283
+ fidelity: "semantic" | "unsupported";
284
+ state_mutation: boolean;
285
+ state_delta: {
286
+ before: Record<string, unknown> | null;
287
+ after: Record<string, unknown> | null;
288
+ } | null;
289
+ error: string | null;
290
+ kind: "TwinHttpEvent";
291
+ event_id: string;
292
+ parent_id: string | null;
293
+ correlation_id?: string | undefined;
294
+ task_step_id?: string | null | undefined;
295
+ scenario_step_id?: string | null | undefined;
296
+ idempotency_dedupe?: boolean | undefined;
297
+ } | {
298
+ kind: "LlmCallEvent";
299
+ host: string;
300
+ port: number;
301
+ latency_ms: number;
302
+ bytes_in: number;
303
+ bytes_out: number;
304
+ url: string | null;
305
+ method: string | null;
306
+ status: number | null;
307
+ model: string | null;
308
+ prompt_tokens: number | null;
309
+ completion_tokens: number | null;
310
+ cost_usd: number | null;
311
+ ts: string;
312
+ event_id: string;
313
+ parent_id: string | null;
314
+ } | {
315
+ kind: "ToolUseEvent";
316
+ tool_use_id: string;
317
+ tool_name: string;
318
+ input: unknown;
319
+ ts: string;
320
+ event_id: string;
321
+ parent_id: string | null;
322
+ } | {
323
+ kind: "ToolResultEvent";
324
+ tool_use_id: string;
325
+ output: unknown;
326
+ is_error: boolean;
327
+ ts: string;
328
+ event_id: string;
329
+ parent_id: string | null;
330
+ } | {
331
+ kind: "SubagentSpawnEvent";
332
+ parent_tool_use_id: string;
333
+ ts: string;
334
+ event_id: string;
335
+ parent_id: string | null;
336
+ } | {
337
+ kind: "HookEvent";
338
+ hook_name: string;
339
+ tool_name: string | null;
340
+ ts: string;
341
+ event_id: string;
342
+ parent_id: string | null;
343
+ }, {
344
+ ts: string;
345
+ run_id: string;
346
+ twin: string;
347
+ request_id: string;
348
+ step_id: string | null;
349
+ tool_call_id: string | null;
350
+ method: string;
351
+ path: string;
352
+ request_body: unknown;
353
+ status: number;
354
+ response_body: unknown;
355
+ latency_ms: number;
356
+ fidelity: "semantic" | "unsupported";
357
+ state_mutation: boolean;
358
+ state_delta: {
359
+ before: Record<string, unknown> | null;
360
+ after: Record<string, unknown> | null;
361
+ } | null;
362
+ error: string | null;
363
+ kind: "TwinHttpEvent";
364
+ event_id: string;
365
+ parent_id: string | null;
366
+ correlation_id?: string | undefined;
367
+ task_step_id?: string | null | undefined;
368
+ scenario_step_id?: string | null | undefined;
369
+ idempotency_dedupe?: boolean | undefined;
370
+ } | {
371
+ kind: "LlmCallEvent";
372
+ host: string;
373
+ port: number;
374
+ latency_ms: number;
375
+ bytes_in: number;
376
+ bytes_out: number;
377
+ url: string | null;
378
+ method: string | null;
379
+ status: number | null;
380
+ model: string | null;
381
+ prompt_tokens: number | null;
382
+ completion_tokens: number | null;
383
+ cost_usd: number | null;
384
+ ts: string;
385
+ event_id: string;
386
+ parent_id: string | null;
387
+ } | {
388
+ kind: "ToolUseEvent";
389
+ tool_use_id: string;
390
+ tool_name: string;
391
+ input: unknown;
392
+ ts: string;
393
+ event_id: string;
394
+ parent_id: string | null;
395
+ } | {
396
+ kind: "ToolResultEvent";
397
+ tool_use_id: string;
398
+ output: unknown;
399
+ is_error: boolean;
400
+ ts: string;
401
+ event_id: string;
402
+ parent_id: string | null;
403
+ } | {
404
+ kind: "SubagentSpawnEvent";
405
+ parent_tool_use_id: string;
406
+ ts: string;
407
+ event_id: string;
408
+ parent_id: string | null;
409
+ } | {
410
+ kind: "HookEvent";
411
+ hook_name: string;
412
+ tool_name: string | null;
413
+ ts: string;
414
+ event_id: string;
415
+ parent_id: string | null;
416
+ }>>;
417
+ export type Event = z.infer<typeof eventSchema>;
418
+ export declare function isLegacyEventRow(row: unknown): boolean;
@@ -0,0 +1,234 @@
1
+ // SPDX-License-Identifier: Apache-2.0
2
+ /**
3
+ * recorder-events — twin runtime trace format
4
+ *
5
+ * Single source of truth for the per-request event a twin runtime emits into
6
+ * its recorder ring buffer. Consumed by:
7
+ * - twin runtimes (`@pome-sh/twin-github`, `@pome-sh/twin-stripe`) — emit shape
8
+ * - `@pome-sh/sdk` — read shape for post-run analysis
9
+ * - `pome-cloud` correlator — input to trace correlation on ingest
10
+ * - `pome-cloud` recorder writers — persisted shape for events.jsonl S3 blob
11
+ *
12
+ * v1.0 freeze of the twin runtime trace format. Breaking changes go through a
13
+ * documented deprecation policy.
14
+ */
15
+ import { z } from "zod";
16
+ // `twin` is an open string at the schema level so SDK-based community twins
17
+ // can set their own id without forcing a shared-types schema bump. Dashboard
18
+ // rendering pattern-matches against `KNOWN_TWIN_IDS` and falls back to
19
+ // generic rendering for unknown values — losing a recording to parse failure
20
+ // would be worse than rendering it generically. First-party twins SHOULD use
21
+ // the canonical values for type-aware UI.
22
+ export const KNOWN_TWIN_IDS = ["github", "stripe", "slack"];
23
+ export const twinIdSchema = z.string().min(1);
24
+ export const recorderFidelitySchema = z.enum(["semantic", "unsupported"]);
25
+ // stateDelta captures the row-level before/after for a mutation. State-inspector
26
+ // renders these as a key/value diff. `before: null` = row was inserted (no prior
27
+ // state); `after: null` = row was deleted. Parent `null` = no mutation (read-only
28
+ // call — should also have `state_mutation: false`). Per-twin types are NOT
29
+ // enforced — each twin owns its row shape, and forcing a strong type here would
30
+ // couple shared-types to twin schemas.
31
+ export const stateDeltaSchema = z
32
+ .object({
33
+ before: z.record(z.string(), z.unknown()).nullable(),
34
+ after: z.record(z.string(), z.unknown()).nullable(),
35
+ })
36
+ .nullable();
37
+ // ─────────────────────────────────────────────────────────────────────────────
38
+ // Legacy single-shape recorder event (pre-FDRS-398).
39
+ //
40
+ // Kept exported as-is for the 58 callers across twin runtimes, SDK, correlator,
41
+ // CLI, and cloud control plane that still emit/consume this shape on disk.
42
+ // Their migration to the unified discriminated-union `eventSchema` below is
43
+ // owned by downstream M0 tickets (FDRS-402 / 403 / 412 / 415 / 417).
44
+ // `isLegacyEventRow` lets readers detect this shape during the rollout.
45
+ // ─────────────────────────────────────────────────────────────────────────────
46
+ // Internal plain-object shape. Kept as a `ZodObject` so `twinHttpEventSchema`
47
+ // can `.extend` it and stay a discriminated-union member; the exported
48
+ // `recorderEventSchema` wraps it with the FDRS-653 task-vocab normalization.
49
+ const recorderEventObjectSchema = z.object({
50
+ ts: z.string().datetime(),
51
+ run_id: z.string().min(1),
52
+ twin: twinIdSchema,
53
+ request_id: z.string().min(1),
54
+ correlation_id: z.string().min(1).optional(),
55
+ // task_step_id is set by the task author in .yaml (static expectation:
56
+ // "this HTTP call is expected at step 2"). step_id below is set post-hoc by
57
+ // the correlator (dynamic grouping: "this event landed in Step stp_xyz").
58
+ // 90% of events use only one; both can coexist.
59
+ //
60
+ // W3 vocab (FDRS-653): `task_step_id` is canonical; `scenario_step_id` is
61
+ // the 0.3.0-era spelling. BOTH stay in the schema for the tolerant-reader
62
+ // window — this row shape is the frozen v1 trace format and its emitters
63
+ // (twin runtimes, shipped CLIs on vendored 0.3.0) still write the old key.
64
+ // The exported reader schemas normalize: when only `scenario_step_id` is
65
+ // present, `task_step_id` is populated from it at parse time. New emitters
66
+ // write `task_step_id`.
67
+ task_step_id: z.string().min(1).nullable().optional(),
68
+ scenario_step_id: z.string().min(1).nullable().optional(),
69
+ step_id: z.string().nullable(),
70
+ // tool_call_id is set by the `@pome-sh/adapter-claude-sdk` adapter when active.
71
+ // Null for the heuristic-correlator path (no adapter signal available).
72
+ tool_call_id: z.string().nullable(),
73
+ method: z.string().min(1),
74
+ path: z.string(),
75
+ request_body: z.unknown(),
76
+ status: z.number().int(),
77
+ response_body: z.unknown(),
78
+ latency_ms: z.number().int().min(0),
79
+ fidelity: recorderFidelitySchema,
80
+ state_mutation: z.boolean(),
81
+ state_delta: stateDeltaSchema,
82
+ // True iff the twin's idempotency layer replayed a cached response without
83
+ // re-invoking the handler. Optional + additive so existing recordings parse
84
+ // unchanged; dashboards/SDKs can render dedupe hits distinctly without
85
+ // inferring from request_body. Absent on the original mutation, present and
86
+ // true on the replayed event.
87
+ idempotency_dedupe: z.boolean().optional(),
88
+ error: z.string().nullable(),
89
+ });
90
+ // FDRS-653 tolerant reader: populate the canonical `task_step_id` from the
91
+ // 0.3.0-era `scenario_step_id` when only the old key was written. The old key
92
+ // is preserved as-sent (additive normalization — a re-serialized row still
93
+ // parses under a 0.3.0 reader, which treats both keys as optional).
94
+ function normalizeTaskStepVocab(event) {
95
+ if (event.task_step_id == null && event.scenario_step_id != null) {
96
+ return { ...event, task_step_id: event.scenario_step_id };
97
+ }
98
+ return event;
99
+ }
100
+ export const recorderEventSchema = recorderEventObjectSchema.transform(normalizeTaskStepVocab);
101
+ // ─────────────────────────────────────────────────────────────────────────────
102
+ // FDRS-398 — unified events.jsonl discriminated-union schema (v1).
103
+ //
104
+ // Hard-cut from the legacy single-shape `RecorderEvent`. The on-disk row is
105
+ // now a tagged union over `kind`. Every variant carries:
106
+ // - `event_id` — unique row id (uuid/nanoid, set by emitter)
107
+ // - `parent_id` — points at the spawning row's `event_id`, or null at the
108
+ // root of a parent chain (e.g. top-level twin HTTP calls,
109
+ // the first LLM call in a turn).
110
+ // - `kind` — the discriminator literal (see each schema below)
111
+ //
112
+ // Provenance:
113
+ // - PR/FAQ: linear.app/pome-sh/project/agent-trace-v1-af8924d607f0
114
+ // - Milestone M0 "Universal Floor"
115
+ // - /plan-eng-review 2026-05-26 amendments:
116
+ // • Dropped OtelSpanEvent from this frozen v1 union (FDRS-400 cancelled).
117
+ // It later shipped additively (FDRS-480): the schema + mapper live in
118
+ // `./otel/` and are composed into `otelEventSchema` (= eventSchema ∪
119
+ // OtelSpanEvent). This v1 union is intentionally left unchanged.
120
+ // • LlmCallEvent per-call token/model/cost reclassified
121
+ // "TLS-terminate-only" — they are `nullable()` across both baseline
122
+ // CONNECT-tunnel mode AND CAS adapter mode in v1. CAS surfaces those
123
+ // at the per-turn aggregate level on the run summary, NOT here.
124
+ // ─────────────────────────────────────────────────────────────────────────────
125
+ // Common fields on every event variant. Spread (not extend) so the resulting
126
+ // Zod object types stay readable.
127
+ const eventBaseShape = {
128
+ ts: z.string().datetime(),
129
+ event_id: z.string().min(1),
130
+ parent_id: z.string().min(1).nullable(),
131
+ };
132
+ // `TwinHttpEvent` is the legacy RecorderEvent shape extended with the union
133
+ // discriminator + parent-chain fields. `extend` keeps it in lockstep with
134
+ // the RecorderEvent object shape so updates to the underlying HTTP-call shape
135
+ // flow through automatically. NOTE: as a discriminated-union member this stays
136
+ // a plain `ZodObject` — the FDRS-653 task-vocab normalization is applied by
137
+ // the exported `recorderEventSchema` / `eventSchema` readers, not here.
138
+ export const twinHttpEventSchema = recorderEventObjectSchema.extend({
139
+ kind: z.literal("TwinHttpEvent"),
140
+ event_id: z.string().min(1),
141
+ parent_id: z.string().min(1).nullable(),
142
+ });
143
+ // `LlmCallEvent` baseline fields are populated by the HTTP_PROXY CONNECT
144
+ // tunnel `pome capture-server` (M0). TLS-terminate-only fields stay null in
145
+ // baseline mode and in CAS adapter mode; they get populated only by the v2
146
+ // opt-in TLS-terminate proxy. Per-turn aggregate cost/model from CAS lives
147
+ // on the run summary, not on individual LlmCallEvent rows.
148
+ export const llmCallEventSchema = z.object({
149
+ ...eventBaseShape,
150
+ kind: z.literal("LlmCallEvent"),
151
+ // Baseline (always populated)
152
+ host: z.string().min(1),
153
+ port: z.number().int().min(1).max(65535),
154
+ latency_ms: z.number().int().min(0),
155
+ bytes_in: z.number().int().min(0),
156
+ bytes_out: z.number().int().min(0),
157
+ // TLS-terminate-only — nullable, not optional. Writers must emit explicit
158
+ // null in baseline/CAS mode so the on-disk JSON shape is stable.
159
+ url: z.string().nullable(),
160
+ method: z.string().nullable(),
161
+ status: z.number().int().nullable(),
162
+ model: z.string().nullable(),
163
+ prompt_tokens: z.number().int().min(0).nullable(),
164
+ completion_tokens: z.number().int().min(0).nullable(),
165
+ cost_usd: z.number().nullable(),
166
+ });
167
+ // `ToolUseEvent` — emitted by the CAS adapter (FDRS-408) for each tool_use
168
+ // content block in an `SDKAssistantMessage`. `input` is opaque (already
169
+ // redactor-scrubbed by the writer) so we type it as `unknown`.
170
+ export const toolUseEventSchema = z.object({
171
+ ...eventBaseShape,
172
+ kind: z.literal("ToolUseEvent"),
173
+ tool_use_id: z.string().min(1),
174
+ tool_name: z.string().min(1),
175
+ input: z.unknown(),
176
+ });
177
+ // `ToolResultEvent` — emitted by the CAS adapter (FDRS-408) for each
178
+ // tool_result content block in a user message. `tool_use_id` matches the
179
+ // originating `ToolUseEvent.tool_use_id`; `parent_id` typically points at
180
+ // that ToolUseEvent's `event_id`.
181
+ export const toolResultEventSchema = z.object({
182
+ ...eventBaseShape,
183
+ kind: z.literal("ToolResultEvent"),
184
+ tool_use_id: z.string().min(1),
185
+ output: z.unknown(),
186
+ is_error: z.boolean(),
187
+ });
188
+ // `SubagentSpawnEvent` — emitted once per sub-agent (FDRS-409), the first
189
+ // time the adapter sees a non-null `parent_tool_use_id` on an
190
+ // `SDKAssistantMessage`.
191
+ export const subagentSpawnEventSchema = z.object({
192
+ ...eventBaseShape,
193
+ kind: z.literal("SubagentSpawnEvent"),
194
+ parent_tool_use_id: z.string().min(1),
195
+ });
196
+ // `HookEvent` — thin audit-trail row written by the adapter for each of the
197
+ // SDK's 25 hook invocations (FDRS-407). `tool_name` is null when the hook
198
+ // isn't tool-scoped (e.g. SessionStarted, PreCompact, PermissionGranted on a
199
+ // non-tool resource).
200
+ export const hookEventSchema = z.object({
201
+ ...eventBaseShape,
202
+ kind: z.literal("HookEvent"),
203
+ hook_name: z.string().min(1),
204
+ tool_name: z.string().min(1).nullable(),
205
+ });
206
+ // The unified event row. Discriminated on `kind` — adding a future variant
207
+ // (e.g. `OtelSpanEvent` in v2) is a non-breaking extension. The exported
208
+ // reader applies the FDRS-653 task-vocab normalization to `TwinHttpEvent`
209
+ // rows (the only variant carrying the step-expectation key).
210
+ const eventUnionSchema = z.discriminatedUnion("kind", [
211
+ twinHttpEventSchema,
212
+ llmCallEventSchema,
213
+ toolUseEventSchema,
214
+ toolResultEventSchema,
215
+ subagentSpawnEventSchema,
216
+ hookEventSchema,
217
+ ]);
218
+ export const eventSchema = eventUnionSchema.transform((event) => event.kind === "TwinHttpEvent" ? normalizeTaskStepVocab(event) : event);
219
+ // Detect a pre-FDRS-398 legacy row on disk. A new-shape row always carries a
220
+ // string `kind` discriminator; a legacy row does not. Non-object inputs
221
+ // (`null`, arrays, primitives) are not event rows at all — return false so
222
+ // the caller surfaces the underlying type error rather than treating them as
223
+ // legacy.
224
+ //
225
+ // A row whose `kind` is present but not a string also routes through the
226
+ // legacy path: the discriminated union will reject it with a clear error,
227
+ // which is more useful than silently treating it as new-shape.
228
+ export function isLegacyEventRow(row) {
229
+ if (typeof row !== "object" || row === null || Array.isArray(row)) {
230
+ return false;
231
+ }
232
+ return typeof row.kind !== "string";
233
+ }
234
+ //# sourceMappingURL=recorder-events.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"recorder-events.js","sourceRoot":"","sources":["../src/recorder-events.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function redactSecrets(value: unknown): unknown;
2
+ export declare function redactEvent<T>(event: T): T;