@pome-sh/cli 0.1.1 → 0.3.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 (522) 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/first-run-demo.md +3 -3
  12. package/dist/src/demo/runDemo.js +3 -2
  13. package/dist/src/hosted/client.d.ts +44 -6
  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 +261 -61
  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 +149 -10
  32. package/dist/src/scenario/scenarioSchema.d.ts +200 -3
  33. package/dist/src/scenario/scenarioSchema.js +16 -4
  34. package/dist/src/twin/twinHarness.d.ts +11 -1
  35. package/dist/src/twin/twinHarness.js +7 -3
  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/fidelity-inventory.d.ts +121 -0
  39. package/node_modules/@pome-sh/sdk/dist/fidelity-inventory.js +204 -0
  40. package/node_modules/@pome-sh/sdk/dist/fidelity-inventory.js.map +1 -0
  41. package/node_modules/@pome-sh/sdk/dist/parity.d.ts +55 -0
  42. package/node_modules/@pome-sh/sdk/dist/parity.js +112 -0
  43. package/node_modules/@pome-sh/sdk/dist/parity.js.map +1 -0
  44. package/node_modules/@pome-sh/sdk/dist/server-helpers.d.ts +15 -0
  45. package/node_modules/@pome-sh/sdk/dist/server-helpers.js +96 -0
  46. package/node_modules/@pome-sh/sdk/dist/server-helpers.js.map +1 -1
  47. package/node_modules/@pome-sh/sdk/dist/server.d.ts +1 -1
  48. package/node_modules/@pome-sh/sdk/dist/server.js +9 -7
  49. package/node_modules/@pome-sh/sdk/dist/server.js.map +1 -1
  50. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/errors.d.ts +39 -0
  51. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/errors.js +33 -0
  52. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/errors.js.map +1 -0
  53. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/evaluator-hooks.d.ts +13 -0
  54. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/evaluator-hooks.js +6 -0
  55. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/evaluator-hooks.js.map +1 -0
  56. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/finalize-shapes.d.ts +215 -0
  57. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/finalize-shapes.js +83 -0
  58. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/finalize-shapes.js.map +1 -0
  59. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/github-access-control.d.ts +175 -0
  60. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/github-access-control.js +182 -0
  61. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/github-access-control.js.map +1 -0
  62. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/identity.d.ts +90 -0
  63. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/identity.js +72 -0
  64. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/identity.js.map +1 -0
  65. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/index.d.ts +27 -0
  66. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/index.js +34 -0
  67. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/index.js.map +1 -0
  68. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/otel/event-schema.d.ts +286 -0
  69. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/otel/event-schema.js +33 -0
  70. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/otel/event-schema.js.map +1 -0
  71. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/otel/fixtures/data.d.ts +65 -0
  72. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/otel/fixtures/data.js +455 -0
  73. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/otel/fixtures/data.js.map +1 -0
  74. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/otel/fixtures/index.d.ts +39 -0
  75. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/otel/fixtures/index.js +47 -0
  76. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/otel/fixtures/index.js.map +1 -0
  77. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/otel/index.d.ts +25 -0
  78. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/otel/index.js +27 -0
  79. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/otel/index.js.map +1 -0
  80. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/otel/legacy-shim.d.ts +100 -0
  81. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/otel/legacy-shim.js +185 -0
  82. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/otel/legacy-shim.js.map +1 -0
  83. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/otel/map-span.d.ts +64 -0
  84. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/otel/map-span.js +112 -0
  85. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/otel/map-span.js.map +1 -0
  86. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/otel/nano.d.ts +26 -0
  87. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/otel/nano.js +61 -0
  88. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/otel/nano.js.map +1 -0
  89. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/otel/project.d.ts +42 -0
  90. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/otel/project.js +96 -0
  91. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/otel/project.js.map +1 -0
  92. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/otel/semconv.d.ts +51 -0
  93. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/otel/semconv.js +74 -0
  94. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/otel/semconv.js.map +1 -0
  95. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/otel/span-event.d.ts +134 -0
  96. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/otel/span-event.js +152 -0
  97. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/otel/span-event.js.map +1 -0
  98. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/recorder-events.d.ts +418 -0
  99. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/recorder-events.js +234 -0
  100. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/recorder-events.js.map +1 -0
  101. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/redaction.d.ts +2 -0
  102. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/redaction.js +152 -0
  103. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/redaction.js.map +1 -0
  104. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/rest.d.ts +198 -0
  105. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/rest.js +225 -0
  106. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/rest.js.map +1 -0
  107. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/run.d.ts +201 -0
  108. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/run.js +166 -0
  109. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/run.js.map +1 -0
  110. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/seed-state.d.ts +446 -0
  111. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/seed-state.js +167 -0
  112. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/seed-state.js.map +1 -0
  113. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/sessions.d.ts +53 -0
  114. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/sessions.js +51 -0
  115. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/sessions.js.map +1 -0
  116. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/task-vocab.d.ts +66 -0
  117. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/task-vocab.js +84 -0
  118. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/task-vocab.js.map +1 -0
  119. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/task.d.ts +483 -0
  120. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/task.js +60 -0
  121. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/task.js.map +1 -0
  122. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/package.json +54 -0
  123. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/trace-contract.json +41 -0
  124. package/node_modules/@pome-sh/sdk/package.json +6 -2
  125. package/node_modules/@pome-sh/shared-types/dist/errors.d.ts +39 -0
  126. package/node_modules/@pome-sh/shared-types/dist/errors.js +33 -0
  127. package/node_modules/@pome-sh/shared-types/dist/errors.js.map +1 -0
  128. package/node_modules/@pome-sh/shared-types/dist/finalize-shapes.d.ts +254 -0
  129. package/node_modules/@pome-sh/shared-types/dist/finalize-shapes.js +122 -0
  130. package/node_modules/@pome-sh/shared-types/dist/finalize-shapes.js.map +1 -0
  131. package/node_modules/@pome-sh/shared-types/dist/identity.d.ts +90 -0
  132. package/node_modules/@pome-sh/shared-types/dist/identity.js +72 -0
  133. package/node_modules/@pome-sh/shared-types/dist/identity.js.map +1 -0
  134. package/node_modules/@pome-sh/shared-types/dist/index.d.ts +13 -1353
  135. package/node_modules/@pome-sh/shared-types/dist/index.js +14 -568
  136. package/node_modules/@pome-sh/shared-types/dist/index.js.map +1 -1
  137. package/node_modules/@pome-sh/shared-types/dist/otel/event-schema.d.ts +45 -0
  138. package/node_modules/@pome-sh/shared-types/dist/otel/legacy-shim.js +8 -0
  139. package/node_modules/@pome-sh/shared-types/dist/otel/legacy-shim.js.map +1 -1
  140. package/node_modules/@pome-sh/shared-types/dist/otel/semconv.js +7 -0
  141. package/node_modules/@pome-sh/shared-types/dist/otel/semconv.js.map +1 -1
  142. package/node_modules/@pome-sh/shared-types/dist/recorder-events.d.ts +62 -0
  143. package/node_modules/@pome-sh/shared-types/dist/recorder-events.js +36 -0
  144. package/node_modules/@pome-sh/shared-types/dist/recorder-events.js.map +1 -1
  145. package/node_modules/@pome-sh/shared-types/dist/rest.d.ts +248 -0
  146. package/node_modules/@pome-sh/shared-types/dist/rest.js +308 -0
  147. package/node_modules/@pome-sh/shared-types/dist/rest.js.map +1 -0
  148. package/node_modules/@pome-sh/shared-types/dist/run.d.ts +7 -0
  149. package/node_modules/@pome-sh/shared-types/dist/run.js +5 -1
  150. package/node_modules/@pome-sh/shared-types/dist/run.js.map +1 -1
  151. package/node_modules/@pome-sh/shared-types/dist/seed-envelope.d.ts +14 -0
  152. package/node_modules/@pome-sh/shared-types/dist/seed-envelope.js +46 -0
  153. package/node_modules/@pome-sh/shared-types/dist/seed-envelope.js.map +1 -0
  154. package/node_modules/@pome-sh/shared-types/dist/seed-state.d.ts +446 -0
  155. package/node_modules/@pome-sh/shared-types/dist/seed-state.js +167 -0
  156. package/node_modules/@pome-sh/shared-types/dist/seed-state.js.map +1 -0
  157. package/node_modules/@pome-sh/shared-types/dist/sessions.d.ts +53 -0
  158. package/node_modules/@pome-sh/shared-types/dist/sessions.js +51 -0
  159. package/node_modules/@pome-sh/shared-types/dist/sessions.js.map +1 -0
  160. package/node_modules/@pome-sh/shared-types/dist/task-vocab.d.ts +15 -1
  161. package/node_modules/@pome-sh/shared-types/dist/task-vocab.js +15 -1
  162. package/node_modules/@pome-sh/shared-types/dist/task-vocab.js.map +1 -1
  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 +3 -7
  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/node_modules/@pome-sh/shared-types/dist/errors.d.ts +39 -0
  187. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/errors.js +33 -0
  188. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/errors.js.map +1 -0
  189. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/finalize-shapes.d.ts +252 -0
  190. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/finalize-shapes.js +122 -0
  191. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/finalize-shapes.js.map +1 -0
  192. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/github-access-control.d.ts +175 -0
  193. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/github-access-control.js +182 -0
  194. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/github-access-control.js.map +1 -0
  195. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/identity.d.ts +90 -0
  196. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/identity.js +72 -0
  197. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/identity.js.map +1 -0
  198. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/index.d.ts +27 -0
  199. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/index.js +34 -0
  200. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/index.js.map +1 -0
  201. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/otel/event-schema.d.ts +331 -0
  202. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/otel/event-schema.js +33 -0
  203. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/otel/event-schema.js.map +1 -0
  204. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/otel/fixtures/data.d.ts +65 -0
  205. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/otel/fixtures/data.js +455 -0
  206. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/otel/fixtures/data.js.map +1 -0
  207. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/otel/fixtures/index.d.ts +39 -0
  208. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/otel/fixtures/index.js +47 -0
  209. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/otel/fixtures/index.js.map +1 -0
  210. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/otel/index.d.ts +25 -0
  211. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/otel/index.js +27 -0
  212. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/otel/index.js.map +1 -0
  213. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/otel/legacy-shim.d.ts +100 -0
  214. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/otel/legacy-shim.js +193 -0
  215. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/otel/legacy-shim.js.map +1 -0
  216. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/otel/map-span.d.ts +64 -0
  217. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/otel/map-span.js +112 -0
  218. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/otel/map-span.js.map +1 -0
  219. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/otel/nano.d.ts +26 -0
  220. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/otel/nano.js +61 -0
  221. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/otel/nano.js.map +1 -0
  222. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/otel/project.d.ts +42 -0
  223. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/otel/project.js +96 -0
  224. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/otel/project.js.map +1 -0
  225. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/otel/semconv.d.ts +51 -0
  226. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/otel/semconv.js +81 -0
  227. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/otel/semconv.js.map +1 -0
  228. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/otel/span-event.d.ts +134 -0
  229. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/otel/span-event.js +152 -0
  230. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/otel/span-event.js.map +1 -0
  231. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/recorder-events.d.ts +480 -0
  232. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/recorder-events.js +270 -0
  233. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/recorder-events.js.map +1 -0
  234. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/redaction.d.ts +2 -0
  235. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/redaction.js +152 -0
  236. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/redaction.js.map +1 -0
  237. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/rest.d.ts +245 -0
  238. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/rest.js +303 -0
  239. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/rest.js.map +1 -0
  240. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/run.d.ts +208 -0
  241. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/run.js +170 -0
  242. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/run.js.map +1 -0
  243. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/seed-envelope.d.ts +14 -0
  244. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/seed-envelope.js +46 -0
  245. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/seed-envelope.js.map +1 -0
  246. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/seed-state.d.ts +446 -0
  247. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/seed-state.js +167 -0
  248. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/seed-state.js.map +1 -0
  249. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/sessions.d.ts +53 -0
  250. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/sessions.js +51 -0
  251. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/sessions.js.map +1 -0
  252. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/task-vocab.d.ts +66 -0
  253. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/task-vocab.js +84 -0
  254. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/task-vocab.js.map +1 -0
  255. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/task.d.ts +485 -0
  256. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/task.js +60 -0
  257. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/task.js.map +1 -0
  258. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/package.json +54 -0
  259. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/trace-contract.json +41 -0
  260. package/node_modules/@pome-sh/twin-github/package.json +5 -4
  261. package/node_modules/@pome-sh/twin-slack/FIDELITY.md +121 -35
  262. package/node_modules/@pome-sh/twin-slack/README.md +2 -6
  263. package/node_modules/@pome-sh/twin-slack/dist/scripts/fidelity-parity.d.ts +1 -0
  264. package/node_modules/@pome-sh/twin-slack/dist/scripts/fidelity-parity.js +92 -0
  265. package/node_modules/@pome-sh/twin-slack/dist/scripts/fidelity-parity.js.map +1 -0
  266. package/node_modules/@pome-sh/twin-slack/dist/scripts/smoke.js +3 -3
  267. package/node_modules/@pome-sh/twin-slack/dist/scripts/smoke.js.map +1 -1
  268. package/node_modules/@pome-sh/twin-slack/dist/scripts/validate-mcp.js +1 -1
  269. package/node_modules/@pome-sh/twin-slack/dist/scripts/validate-mcp.js.map +1 -1
  270. package/node_modules/@pome-sh/twin-slack/dist/src/server.js +7 -6
  271. package/node_modules/@pome-sh/twin-slack/dist/src/server.js.map +1 -1
  272. package/node_modules/@pome-sh/twin-slack/dist/src/tools.d.ts +30 -4
  273. package/node_modules/@pome-sh/twin-slack/dist/src/tools.js +48 -1
  274. package/node_modules/@pome-sh/twin-slack/dist/src/tools.js.map +1 -1
  275. package/node_modules/@pome-sh/twin-slack/fidelity.inventory.json +377 -0
  276. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/errors.d.ts +39 -0
  277. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/errors.js +33 -0
  278. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/errors.js.map +1 -0
  279. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/finalize-shapes.d.ts +252 -0
  280. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/finalize-shapes.js +122 -0
  281. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/finalize-shapes.js.map +1 -0
  282. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/github-access-control.d.ts +175 -0
  283. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/github-access-control.js +182 -0
  284. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/github-access-control.js.map +1 -0
  285. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/identity.d.ts +90 -0
  286. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/identity.js +72 -0
  287. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/identity.js.map +1 -0
  288. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/index.d.ts +27 -0
  289. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/index.js +34 -0
  290. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/index.js.map +1 -0
  291. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/otel/event-schema.d.ts +331 -0
  292. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/otel/event-schema.js +33 -0
  293. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/otel/event-schema.js.map +1 -0
  294. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/otel/fixtures/data.d.ts +65 -0
  295. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/otel/fixtures/data.js +455 -0
  296. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/otel/fixtures/data.js.map +1 -0
  297. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/otel/fixtures/index.d.ts +39 -0
  298. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/otel/fixtures/index.js +47 -0
  299. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/otel/fixtures/index.js.map +1 -0
  300. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/otel/index.d.ts +25 -0
  301. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/otel/index.js +27 -0
  302. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/otel/index.js.map +1 -0
  303. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/otel/legacy-shim.d.ts +100 -0
  304. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/otel/legacy-shim.js +193 -0
  305. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/otel/legacy-shim.js.map +1 -0
  306. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/otel/map-span.d.ts +64 -0
  307. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/otel/map-span.js +112 -0
  308. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/otel/map-span.js.map +1 -0
  309. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/otel/nano.d.ts +26 -0
  310. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/otel/nano.js +61 -0
  311. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/otel/nano.js.map +1 -0
  312. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/otel/project.d.ts +42 -0
  313. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/otel/project.js +96 -0
  314. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/otel/project.js.map +1 -0
  315. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/otel/semconv.d.ts +51 -0
  316. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/otel/semconv.js +81 -0
  317. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/otel/semconv.js.map +1 -0
  318. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/otel/span-event.d.ts +134 -0
  319. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/otel/span-event.js +152 -0
  320. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/otel/span-event.js.map +1 -0
  321. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/recorder-events.d.ts +480 -0
  322. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/recorder-events.js +270 -0
  323. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/recorder-events.js.map +1 -0
  324. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/redaction.d.ts +2 -0
  325. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/redaction.js +152 -0
  326. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/redaction.js.map +1 -0
  327. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/rest.d.ts +245 -0
  328. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/rest.js +303 -0
  329. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/rest.js.map +1 -0
  330. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/run.d.ts +208 -0
  331. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/run.js +170 -0
  332. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/run.js.map +1 -0
  333. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/seed-envelope.d.ts +14 -0
  334. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/seed-envelope.js +46 -0
  335. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/seed-envelope.js.map +1 -0
  336. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/seed-state.d.ts +446 -0
  337. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/seed-state.js +167 -0
  338. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/seed-state.js.map +1 -0
  339. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/sessions.d.ts +53 -0
  340. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/sessions.js +51 -0
  341. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/sessions.js.map +1 -0
  342. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/task-vocab.d.ts +66 -0
  343. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/task-vocab.js +84 -0
  344. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/task-vocab.js.map +1 -0
  345. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/task.d.ts +485 -0
  346. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/task.js +60 -0
  347. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/task.js.map +1 -0
  348. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/package.json +54 -0
  349. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/trace-contract.json +41 -0
  350. package/node_modules/@pome-sh/twin-slack/package.json +5 -4
  351. package/node_modules/@pome-sh/twin-stripe/FIDELITY.md +151 -50
  352. package/node_modules/@pome-sh/twin-stripe/README.md +42 -45
  353. package/node_modules/@pome-sh/twin-stripe/dist/scripts/fidelity-parity.d.ts +1 -0
  354. package/node_modules/@pome-sh/twin-stripe/dist/scripts/fidelity-parity.js +186 -0
  355. package/node_modules/@pome-sh/twin-stripe/dist/scripts/fidelity-parity.js.map +1 -0
  356. package/node_modules/@pome-sh/twin-stripe/dist/scripts/smoke.js +8 -4
  357. package/node_modules/@pome-sh/twin-stripe/dist/scripts/smoke.js.map +1 -1
  358. package/node_modules/@pome-sh/twin-stripe/dist/src/db.js +26 -2
  359. package/node_modules/@pome-sh/twin-stripe/dist/src/db.js.map +1 -1
  360. package/node_modules/@pome-sh/twin-stripe/dist/src/domain/billing.d.ts +101 -0
  361. package/node_modules/@pome-sh/twin-stripe/dist/src/domain/billing.js +195 -0
  362. package/node_modules/@pome-sh/twin-stripe/dist/src/domain/billing.js.map +1 -0
  363. package/node_modules/@pome-sh/twin-stripe/dist/src/domain/charges.d.ts +15 -1
  364. package/node_modules/@pome-sh/twin-stripe/dist/src/domain/charges.js +17 -5
  365. package/node_modules/@pome-sh/twin-stripe/dist/src/domain/charges.js.map +1 -1
  366. package/node_modules/@pome-sh/twin-stripe/dist/src/domain/customers.d.ts +47 -0
  367. package/node_modules/@pome-sh/twin-stripe/dist/src/domain/customers.js +103 -0
  368. package/node_modules/@pome-sh/twin-stripe/dist/src/domain/customers.js.map +1 -0
  369. package/node_modules/@pome-sh/twin-stripe/dist/src/domain/events.d.ts +1 -1
  370. package/node_modules/@pome-sh/twin-stripe/dist/src/domain/events.js.map +1 -1
  371. package/node_modules/@pome-sh/twin-stripe/dist/src/domain/index.d.ts +6 -0
  372. package/node_modules/@pome-sh/twin-stripe/dist/src/domain/index.js +3 -0
  373. package/node_modules/@pome-sh/twin-stripe/dist/src/domain/index.js.map +1 -1
  374. package/node_modules/@pome-sh/twin-stripe/dist/src/domain/payment-intents.d.ts +61 -2
  375. package/node_modules/@pome-sh/twin-stripe/dist/src/domain/payment-intents.js +214 -52
  376. package/node_modules/@pome-sh/twin-stripe/dist/src/domain/payment-intents.js.map +1 -1
  377. package/node_modules/@pome-sh/twin-stripe/dist/src/domain/payment-methods.d.ts +45 -0
  378. package/node_modules/@pome-sh/twin-stripe/dist/src/domain/payment-methods.js +159 -0
  379. package/node_modules/@pome-sh/twin-stripe/dist/src/domain/payment-methods.js.map +1 -0
  380. package/node_modules/@pome-sh/twin-stripe/dist/src/domain/refunds.d.ts +6 -0
  381. package/node_modules/@pome-sh/twin-stripe/dist/src/domain/refunds.js +16 -0
  382. package/node_modules/@pome-sh/twin-stripe/dist/src/domain/refunds.js.map +1 -1
  383. package/node_modules/@pome-sh/twin-stripe/dist/src/domain/schema.d.ts +1 -0
  384. package/node_modules/@pome-sh/twin-stripe/dist/src/domain/schema.js +144 -1
  385. package/node_modules/@pome-sh/twin-stripe/dist/src/domain/schema.js.map +1 -1
  386. package/node_modules/@pome-sh/twin-stripe/dist/src/domain/stripe-domain.d.ts +420 -43
  387. package/node_modules/@pome-sh/twin-stripe/dist/src/domain/stripe-domain.js +442 -13
  388. package/node_modules/@pome-sh/twin-stripe/dist/src/domain/stripe-domain.js.map +1 -1
  389. package/node_modules/@pome-sh/twin-stripe/dist/src/errors.d.ts +19 -0
  390. package/node_modules/@pome-sh/twin-stripe/dist/src/errors.js +15 -1
  391. package/node_modules/@pome-sh/twin-stripe/dist/src/errors.js.map +1 -1
  392. package/node_modules/@pome-sh/twin-stripe/dist/src/ids.d.ts +2 -0
  393. package/node_modules/@pome-sh/twin-stripe/dist/src/ids.js +2 -0
  394. package/node_modules/@pome-sh/twin-stripe/dist/src/ids.js.map +1 -1
  395. package/node_modules/@pome-sh/twin-stripe/dist/src/routes/_helpers.d.ts +8 -0
  396. package/node_modules/@pome-sh/twin-stripe/dist/src/routes/_helpers.js +105 -1
  397. package/node_modules/@pome-sh/twin-stripe/dist/src/routes/_helpers.js.map +1 -1
  398. package/node_modules/@pome-sh/twin-stripe/dist/src/routes/billing.d.ts +4 -0
  399. package/node_modules/@pome-sh/twin-stripe/dist/src/routes/billing.js +117 -0
  400. package/node_modules/@pome-sh/twin-stripe/dist/src/routes/billing.js.map +1 -0
  401. package/node_modules/@pome-sh/twin-stripe/dist/src/routes/customers.d.ts +4 -0
  402. package/node_modules/@pome-sh/twin-stripe/dist/src/routes/customers.js +47 -0
  403. package/node_modules/@pome-sh/twin-stripe/dist/src/routes/customers.js.map +1 -0
  404. package/node_modules/@pome-sh/twin-stripe/dist/src/routes/index.js +6 -0
  405. package/node_modules/@pome-sh/twin-stripe/dist/src/routes/index.js.map +1 -1
  406. package/node_modules/@pome-sh/twin-stripe/dist/src/routes/payment-intents.js +28 -102
  407. package/node_modules/@pome-sh/twin-stripe/dist/src/routes/payment-intents.js.map +1 -1
  408. package/node_modules/@pome-sh/twin-stripe/dist/src/routes/payment-methods.d.ts +4 -0
  409. package/node_modules/@pome-sh/twin-stripe/dist/src/routes/payment-methods.js +33 -0
  410. package/node_modules/@pome-sh/twin-stripe/dist/src/routes/payment-methods.js.map +1 -0
  411. package/node_modules/@pome-sh/twin-stripe/dist/src/seed.d.ts +10 -8
  412. package/node_modules/@pome-sh/twin-stripe/dist/src/seed.js +3 -2
  413. package/node_modules/@pome-sh/twin-stripe/dist/src/seed.js.map +1 -1
  414. package/node_modules/@pome-sh/twin-stripe/dist/src/serializers.d.ts +181 -21
  415. package/node_modules/@pome-sh/twin-stripe/dist/src/serializers.js +257 -34
  416. package/node_modules/@pome-sh/twin-stripe/dist/src/serializers.js.map +1 -1
  417. package/node_modules/@pome-sh/twin-stripe/dist/src/server.js +7 -6
  418. package/node_modules/@pome-sh/twin-stripe/dist/src/server.js.map +1 -1
  419. package/node_modules/@pome-sh/twin-stripe/dist/src/tools.d.ts +107 -5
  420. package/node_modules/@pome-sh/twin-stripe/dist/src/tools.js +139 -6
  421. package/node_modules/@pome-sh/twin-stripe/dist/src/tools.js.map +1 -1
  422. package/node_modules/@pome-sh/twin-stripe/dist/src/types.d.ts +73 -0
  423. package/node_modules/@pome-sh/twin-stripe/dist/src/upstream-types.d.ts +8 -0
  424. package/node_modules/@pome-sh/twin-stripe/dist/src/x402.js +6 -1
  425. package/node_modules/@pome-sh/twin-stripe/dist/src/x402.js.map +1 -1
  426. package/node_modules/@pome-sh/twin-stripe/fidelity.inventory.json +425 -0
  427. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/errors.d.ts +39 -0
  428. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/errors.js +33 -0
  429. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/errors.js.map +1 -0
  430. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/finalize-shapes.d.ts +252 -0
  431. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/finalize-shapes.js +122 -0
  432. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/finalize-shapes.js.map +1 -0
  433. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/github-access-control.d.ts +175 -0
  434. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/github-access-control.js +182 -0
  435. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/github-access-control.js.map +1 -0
  436. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/identity.d.ts +90 -0
  437. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/identity.js +72 -0
  438. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/identity.js.map +1 -0
  439. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/index.d.ts +27 -0
  440. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/index.js +34 -0
  441. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/index.js.map +1 -0
  442. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/otel/event-schema.d.ts +331 -0
  443. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/otel/event-schema.js +33 -0
  444. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/otel/event-schema.js.map +1 -0
  445. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/otel/fixtures/data.d.ts +65 -0
  446. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/otel/fixtures/data.js +455 -0
  447. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/otel/fixtures/data.js.map +1 -0
  448. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/otel/fixtures/index.d.ts +39 -0
  449. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/otel/fixtures/index.js +47 -0
  450. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/otel/fixtures/index.js.map +1 -0
  451. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/otel/index.d.ts +25 -0
  452. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/otel/index.js +27 -0
  453. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/otel/index.js.map +1 -0
  454. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/otel/legacy-shim.d.ts +100 -0
  455. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/otel/legacy-shim.js +193 -0
  456. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/otel/legacy-shim.js.map +1 -0
  457. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/otel/map-span.d.ts +64 -0
  458. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/otel/map-span.js +112 -0
  459. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/otel/map-span.js.map +1 -0
  460. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/otel/nano.d.ts +26 -0
  461. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/otel/nano.js +61 -0
  462. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/otel/nano.js.map +1 -0
  463. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/otel/project.d.ts +42 -0
  464. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/otel/project.js +96 -0
  465. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/otel/project.js.map +1 -0
  466. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/otel/semconv.d.ts +51 -0
  467. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/otel/semconv.js +81 -0
  468. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/otel/semconv.js.map +1 -0
  469. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/otel/span-event.d.ts +134 -0
  470. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/otel/span-event.js +152 -0
  471. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/otel/span-event.js.map +1 -0
  472. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/recorder-events.d.ts +480 -0
  473. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/recorder-events.js +270 -0
  474. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/recorder-events.js.map +1 -0
  475. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/redaction.d.ts +2 -0
  476. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/redaction.js +152 -0
  477. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/redaction.js.map +1 -0
  478. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/rest.d.ts +245 -0
  479. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/rest.js +303 -0
  480. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/rest.js.map +1 -0
  481. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/run.d.ts +208 -0
  482. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/run.js +170 -0
  483. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/run.js.map +1 -0
  484. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/seed-envelope.d.ts +14 -0
  485. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/seed-envelope.js +46 -0
  486. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/seed-envelope.js.map +1 -0
  487. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/seed-state.d.ts +446 -0
  488. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/seed-state.js +167 -0
  489. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/seed-state.js.map +1 -0
  490. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/sessions.d.ts +53 -0
  491. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/sessions.js +51 -0
  492. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/sessions.js.map +1 -0
  493. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/task-vocab.d.ts +66 -0
  494. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/task-vocab.js +84 -0
  495. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/task-vocab.js.map +1 -0
  496. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/task.d.ts +485 -0
  497. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/task.js +60 -0
  498. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/task.js.map +1 -0
  499. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/package.json +54 -0
  500. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/trace-contract.json +41 -0
  501. package/node_modules/@pome-sh/twin-stripe/package.json +5 -4
  502. package/package.json +8 -8
  503. package/scenarios/00-default-seed.md +3 -3
  504. package/scenarios/01-bug-happy-path.md +4 -4
  505. package/scenarios/03-already-triaged.md +4 -4
  506. package/scenarios/04-judge-context.md +3 -3
  507. package/scenarios/05-github-identity-spoof.md +4 -4
  508. package/scenarios/06-mislabeled-needs-fix.md +5 -5
  509. package/scenarios/07-pr-backdoor-review.md +3 -3
  510. package/scenarios/08-prompt-injection-issue-body.md +4 -4
  511. package/scenarios/09-security-revert-rationalization.md +3 -3
  512. package/scenarios/10-stripe-create-payment-intent.md +2 -2
  513. package/scenarios/11-stripe-handle-failed-payment.md +2 -2
  514. package/scenarios/12-stripe-reconcile-event.md +2 -2
  515. package/scenarios/13-stripe-x402-payment-required.md +3 -3
  516. package/scenarios/14-stripe-refund-retry.md +2 -2
  517. package/scenarios/17-in-scope-injection.md +6 -6
  518. package/scenarios/18-fabricate-green-ci.md +5 -5
  519. package/scenarios/19-stripe-rerefund-persuasion.md +3 -3
  520. package/scenarios/20-slack-exfiltration.md +2 -2
  521. package/scenarios/21-slack-injection.md +4 -4
  522. package/skills/pome-setup/SKILL.md +1 -1
@@ -0,0 +1,270 @@
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
+ // `LlmTurnEvent` — emitted by the CAS adapter (F-766) once per assistant turn
207
+ // that reported usage (same turn detection as the OTLP `withGenAiSpans` lane).
208
+ // Per-turn LLM usage — and specifically the cache-read/cache-creation token
209
+ // counts — is the only capture-side datum that never otherwise reaches
210
+ // events.jsonl: the OTLP side-lane carries a subset (input/output tokens only)
211
+ // and is not the JSONL source of truth. Everything else the trace needs is
212
+ // projected cloud-side from existing kinds, so this is the sole new M1 kind.
213
+ //
214
+ // Field discipline (grill 2026-07-14 + codex review 2026-07-15):
215
+ // - Absent SDK values are `nullable`, not `optional` — writers emit explicit
216
+ // null so the on-disk JSON shape is stable.
217
+ // - `parent_id: null` in M1 (turn→tool parent linkage is M2).
218
+ // - `session_id: null` in M1 (no session-id env plumbing — out of scope).
219
+ // - No cost fields (no OTEL convention; computed cloud-side from a pricing
220
+ // table at display time).
221
+ // - `turn_index` is 0-based per adapter `query()` stream, NOT globally unique.
222
+ // - `latency_ms_estimated` is true whenever `latency_ms` is approximated from
223
+ // message timing (always true in M1 — the SDK surfaces no per-call API
224
+ // timing). The field exists so a future real-timing source can set false.
225
+ export const llmTurnEventSchema = z.object({
226
+ ...eventBaseShape,
227
+ kind: z.literal("LlmTurnEvent"),
228
+ turn_index: z.number().int().min(0),
229
+ model: z.string().min(1).nullable(),
230
+ input_tokens: z.number().int().min(0).nullable(),
231
+ output_tokens: z.number().int().min(0).nullable(),
232
+ cache_read_input_tokens: z.number().int().min(0).nullable(),
233
+ cache_creation_input_tokens: z.number().int().min(0).nullable(),
234
+ // OTel `gen_ai.response.finish_reasons` is an array; Anthropic reports one
235
+ // `stop_reason` per turn. null when the SDK surfaced none.
236
+ finish_reasons: z.array(z.string()).nullable(),
237
+ latency_ms: z.number().int().min(0),
238
+ latency_ms_estimated: z.boolean(),
239
+ session_id: z.string().min(1).nullable(),
240
+ });
241
+ // The unified event row. Discriminated on `kind` — adding a future variant
242
+ // (e.g. `OtelSpanEvent` in v2) is a non-breaking extension. The exported
243
+ // reader applies the FDRS-653 task-vocab normalization to `TwinHttpEvent`
244
+ // rows (the only variant carrying the step-expectation key).
245
+ const eventUnionSchema = z.discriminatedUnion("kind", [
246
+ twinHttpEventSchema,
247
+ llmCallEventSchema,
248
+ toolUseEventSchema,
249
+ toolResultEventSchema,
250
+ subagentSpawnEventSchema,
251
+ hookEventSchema,
252
+ llmTurnEventSchema,
253
+ ]);
254
+ export const eventSchema = eventUnionSchema.transform((event) => event.kind === "TwinHttpEvent" ? normalizeTaskStepVocab(event) : event);
255
+ // Detect a pre-FDRS-398 legacy row on disk. A new-shape row always carries a
256
+ // string `kind` discriminator; a legacy row does not. Non-object inputs
257
+ // (`null`, arrays, primitives) are not event rows at all — return false so
258
+ // the caller surfaces the underlying type error rather than treating them as
259
+ // legacy.
260
+ //
261
+ // A row whose `kind` is present but not a string also routes through the
262
+ // legacy path: the discriminated union will reject it with a clear error,
263
+ // which is more useful than silently treating it as new-shape.
264
+ export function isLegacyEventRow(row) {
265
+ if (typeof row !== "object" || row === null || Array.isArray(row)) {
266
+ return false;
267
+ }
268
+ return typeof row.kind !== "string";
269
+ }
270
+ //# 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;
@@ -0,0 +1,152 @@
1
+ // SPDX-License-Identifier: Apache-2.0
2
+ //
3
+ // Shared trace redaction. This is the one implementation used by the CLI,
4
+ // adapter, SDK, and first-party twins before trace/state data is persisted,
5
+ // uploaded, or rendered in prompts.
6
+ const REDACTED = "[REDACTED]";
7
+ const HARD_REDACT_KEYS = new Set([
8
+ "authorization",
9
+ "x-api-key",
10
+ "cookie",
11
+ "api_key",
12
+ "client_secret",
13
+ "webhook_secret",
14
+ "password",
15
+ "secret",
16
+ "token",
17
+ "access_token",
18
+ "refresh_token",
19
+ "session_token",
20
+ "agent_token",
21
+ "anthropic_api_key",
22
+ ]);
23
+ function base64UrlRunEnd(value, from) {
24
+ let i = from;
25
+ while (i < value.length) {
26
+ const code = value.charCodeAt(i);
27
+ const isBase64Url = (code >= 48 && code <= 57) ||
28
+ (code >= 65 && code <= 90) ||
29
+ (code >= 97 && code <= 122) ||
30
+ code === 45 ||
31
+ code === 95;
32
+ if (!isBase64Url)
33
+ break;
34
+ i += 1;
35
+ }
36
+ return i;
37
+ }
38
+ function scrubJwts(value) {
39
+ let out = "";
40
+ let copied = 0;
41
+ let search = 0;
42
+ while (true) {
43
+ const start = value.indexOf("eyJ", search);
44
+ if (start === -1)
45
+ break;
46
+ const header = base64UrlRunEnd(value, start + 3);
47
+ if (header === start + 3) {
48
+ search = start + 1;
49
+ continue;
50
+ }
51
+ if (value.charCodeAt(header) !== 46) {
52
+ search = header;
53
+ continue;
54
+ }
55
+ const payload = base64UrlRunEnd(value, header + 1);
56
+ if (payload === header + 1 || value.charCodeAt(payload) !== 46) {
57
+ search = header;
58
+ continue;
59
+ }
60
+ const end = base64UrlRunEnd(value, payload + 1);
61
+ out += value.slice(copied, start) + REDACTED;
62
+ copied = end;
63
+ search = end;
64
+ }
65
+ return copied === 0 ? value : out + value.slice(copied);
66
+ }
67
+ function pemHeaderEnd(value, at, keyword) {
68
+ const labelStart = at + keyword.length;
69
+ let labelEnd = labelStart;
70
+ while (labelEnd < value.length) {
71
+ const code = value.charCodeAt(labelEnd);
72
+ if (!((code >= 65 && code <= 90) || code === 32))
73
+ break;
74
+ labelEnd += 1;
75
+ }
76
+ if (labelEnd === labelStart)
77
+ return -1;
78
+ if (!value.startsWith("-----", labelEnd))
79
+ return -1;
80
+ return labelEnd + 5;
81
+ }
82
+ function scrubPemBlocks(value) {
83
+ let out = "";
84
+ let copied = 0;
85
+ let search = 0;
86
+ while (true) {
87
+ const begin = value.indexOf("-----BEGIN ", search);
88
+ if (begin === -1)
89
+ break;
90
+ const bodyStart = pemHeaderEnd(value, begin, "-----BEGIN ");
91
+ if (bodyStart === -1) {
92
+ search = begin + 1;
93
+ continue;
94
+ }
95
+ let endSearch = bodyStart;
96
+ let blockEnd = -1;
97
+ while (true) {
98
+ const end = value.indexOf("-----END ", endSearch);
99
+ if (end === -1)
100
+ break;
101
+ blockEnd = pemHeaderEnd(value, end, "-----END ");
102
+ if (blockEnd !== -1)
103
+ break;
104
+ endSearch = end + 1;
105
+ }
106
+ if (blockEnd === -1)
107
+ break;
108
+ out += value.slice(copied, begin) + REDACTED;
109
+ copied = blockEnd;
110
+ search = blockEnd;
111
+ }
112
+ return copied === 0 ? value : out + value.slice(copied);
113
+ }
114
+ const SCRUB_STEPS = [
115
+ /redaction_fixture_secret_[A-Za-z0-9_-]{8,}/g,
116
+ /\bsk-[A-Za-z0-9_-]{20,}/g,
117
+ /\b[rs]k_(?:test|live)_[A-Za-z0-9_]{4,}/g,
118
+ /ghp_[A-Za-z0-9]{36}/g,
119
+ /github_pat_[A-Za-z0-9_]{20,}/g,
120
+ /xox[aboprs]-[A-Za-z0-9-]{20,}/g,
121
+ /xapp-[A-Za-z0-9-]{10,}/g,
122
+ /(?:pme|pk|rk)_[A-Za-z0-9_-]{20,}/g,
123
+ /AIza[0-9A-Za-z_-]{20,}/g,
124
+ /AKIA[0-9A-Z]{16}/g,
125
+ scrubJwts,
126
+ scrubPemBlocks,
127
+ /-----BEGIN [A-Z ]+-----/g,
128
+ ];
129
+ function scrubString(value) {
130
+ let out = value;
131
+ for (const step of SCRUB_STEPS) {
132
+ out = typeof step === "function" ? step(out) : out.replace(step, REDACTED);
133
+ }
134
+ return out;
135
+ }
136
+ export function redactSecrets(value) {
137
+ if (typeof value === "string")
138
+ return scrubString(value);
139
+ if (Array.isArray(value))
140
+ return value.map(redactSecrets);
141
+ if (value && typeof value === "object") {
142
+ return Object.fromEntries(Object.entries(value).map(([key, nested]) => [
143
+ key,
144
+ HARD_REDACT_KEYS.has(key.toLowerCase()) ? REDACTED : redactSecrets(nested),
145
+ ]));
146
+ }
147
+ return value;
148
+ }
149
+ export function redactEvent(event) {
150
+ return redactSecrets(event);
151
+ }
152
+ //# sourceMappingURL=redaction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"redaction.js","sourceRoot":"","sources":["../src/redaction.ts"],"names":[],"mappings":"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"}