@pome-sh/cli 0.2.0 → 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 (262) hide show
  1. package/dist/build-info.json +3 -3
  2. package/dist/src/demo/first-run-demo.md +3 -3
  3. package/dist/src/hosted/client.d.ts +4 -2
  4. package/dist/src/hosted/evalResultView.js +1 -1
  5. package/dist/src/runner/runScenarioHosted.js +5 -4
  6. package/dist/src/scenario/parseScenario.js +24 -12
  7. package/dist/src/scenario/scenarioSchema.js +4 -3
  8. package/dist/src/twin/twinHarness.d.ts +1 -1
  9. package/dist/src/twin/twinHarness.js +1 -1
  10. package/node_modules/@pome-sh/shared-types/dist/finalize-shapes.d.ts +4 -2
  11. package/node_modules/@pome-sh/shared-types/dist/rest.d.ts +5 -2
  12. package/node_modules/@pome-sh/shared-types/dist/rest.js +9 -4
  13. package/node_modules/@pome-sh/shared-types/dist/rest.js.map +1 -1
  14. package/node_modules/@pome-sh/shared-types/dist/run.js +1 -1
  15. package/node_modules/@pome-sh/shared-types/dist/run.js.map +1 -1
  16. package/node_modules/@pome-sh/shared-types/dist/task-vocab.d.ts +15 -1
  17. package/node_modules/@pome-sh/shared-types/dist/task-vocab.js +15 -1
  18. package/node_modules/@pome-sh/shared-types/dist/task-vocab.js.map +1 -1
  19. package/node_modules/@pome-sh/shared-types/package.json +1 -1
  20. package/node_modules/@pome-sh/shared-types/trace-contract.json +1 -1
  21. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/errors.d.ts +39 -0
  22. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/errors.js +33 -0
  23. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/errors.js.map +1 -0
  24. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/finalize-shapes.d.ts +252 -0
  25. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/finalize-shapes.js +122 -0
  26. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/finalize-shapes.js.map +1 -0
  27. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/github-access-control.d.ts +175 -0
  28. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/github-access-control.js +182 -0
  29. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/github-access-control.js.map +1 -0
  30. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/identity.d.ts +90 -0
  31. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/identity.js +72 -0
  32. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/identity.js.map +1 -0
  33. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/index.d.ts +27 -0
  34. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/index.js +34 -0
  35. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/index.js.map +1 -0
  36. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/otel/event-schema.d.ts +331 -0
  37. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/otel/event-schema.js +33 -0
  38. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/otel/event-schema.js.map +1 -0
  39. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/otel/fixtures/data.d.ts +65 -0
  40. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/otel/fixtures/data.js +455 -0
  41. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/otel/fixtures/data.js.map +1 -0
  42. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/otel/fixtures/index.d.ts +39 -0
  43. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/otel/fixtures/index.js +47 -0
  44. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/otel/fixtures/index.js.map +1 -0
  45. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/otel/index.d.ts +25 -0
  46. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/otel/index.js +27 -0
  47. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/otel/index.js.map +1 -0
  48. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/otel/legacy-shim.d.ts +100 -0
  49. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/otel/legacy-shim.js +193 -0
  50. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/otel/legacy-shim.js.map +1 -0
  51. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/otel/map-span.d.ts +64 -0
  52. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/otel/map-span.js +112 -0
  53. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/otel/map-span.js.map +1 -0
  54. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/otel/nano.d.ts +26 -0
  55. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/otel/nano.js +61 -0
  56. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/otel/nano.js.map +1 -0
  57. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/otel/project.d.ts +42 -0
  58. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/otel/project.js +96 -0
  59. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/otel/project.js.map +1 -0
  60. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/otel/semconv.d.ts +51 -0
  61. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/otel/semconv.js +81 -0
  62. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/otel/semconv.js.map +1 -0
  63. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/otel/span-event.d.ts +134 -0
  64. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/otel/span-event.js +152 -0
  65. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/otel/span-event.js.map +1 -0
  66. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/recorder-events.d.ts +480 -0
  67. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/recorder-events.js +270 -0
  68. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/recorder-events.js.map +1 -0
  69. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/redaction.d.ts +2 -0
  70. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/redaction.js +152 -0
  71. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/redaction.js.map +1 -0
  72. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/rest.d.ts +245 -0
  73. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/rest.js +303 -0
  74. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/rest.js.map +1 -0
  75. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/run.d.ts +208 -0
  76. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/run.js +170 -0
  77. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/run.js.map +1 -0
  78. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/seed-envelope.d.ts +14 -0
  79. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/seed-envelope.js +46 -0
  80. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/seed-envelope.js.map +1 -0
  81. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/seed-state.d.ts +446 -0
  82. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/seed-state.js +167 -0
  83. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/seed-state.js.map +1 -0
  84. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/sessions.d.ts +53 -0
  85. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/sessions.js +51 -0
  86. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/sessions.js.map +1 -0
  87. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/task-vocab.d.ts +66 -0
  88. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/task-vocab.js +84 -0
  89. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/task-vocab.js.map +1 -0
  90. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/task.d.ts +485 -0
  91. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/task.js +60 -0
  92. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/task.js.map +1 -0
  93. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/package.json +54 -0
  94. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/trace-contract.json +41 -0
  95. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/errors.d.ts +39 -0
  96. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/errors.js +33 -0
  97. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/errors.js.map +1 -0
  98. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/finalize-shapes.d.ts +252 -0
  99. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/finalize-shapes.js +122 -0
  100. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/finalize-shapes.js.map +1 -0
  101. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/github-access-control.d.ts +175 -0
  102. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/github-access-control.js +182 -0
  103. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/github-access-control.js.map +1 -0
  104. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/identity.d.ts +90 -0
  105. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/identity.js +72 -0
  106. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/identity.js.map +1 -0
  107. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/index.d.ts +27 -0
  108. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/index.js +34 -0
  109. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/index.js.map +1 -0
  110. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/otel/event-schema.d.ts +331 -0
  111. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/otel/event-schema.js +33 -0
  112. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/otel/event-schema.js.map +1 -0
  113. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/otel/fixtures/data.d.ts +65 -0
  114. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/otel/fixtures/data.js +455 -0
  115. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/otel/fixtures/data.js.map +1 -0
  116. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/otel/fixtures/index.d.ts +39 -0
  117. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/otel/fixtures/index.js +47 -0
  118. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/otel/fixtures/index.js.map +1 -0
  119. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/otel/index.d.ts +25 -0
  120. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/otel/index.js +27 -0
  121. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/otel/index.js.map +1 -0
  122. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/otel/legacy-shim.d.ts +100 -0
  123. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/otel/legacy-shim.js +193 -0
  124. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/otel/legacy-shim.js.map +1 -0
  125. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/otel/map-span.d.ts +64 -0
  126. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/otel/map-span.js +112 -0
  127. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/otel/map-span.js.map +1 -0
  128. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/otel/nano.d.ts +26 -0
  129. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/otel/nano.js +61 -0
  130. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/otel/nano.js.map +1 -0
  131. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/otel/project.d.ts +42 -0
  132. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/otel/project.js +96 -0
  133. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/otel/project.js.map +1 -0
  134. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/otel/semconv.d.ts +51 -0
  135. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/otel/semconv.js +81 -0
  136. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/otel/semconv.js.map +1 -0
  137. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/otel/span-event.d.ts +134 -0
  138. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/otel/span-event.js +152 -0
  139. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/otel/span-event.js.map +1 -0
  140. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/recorder-events.d.ts +480 -0
  141. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/recorder-events.js +270 -0
  142. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/recorder-events.js.map +1 -0
  143. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/redaction.d.ts +2 -0
  144. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/redaction.js +152 -0
  145. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/redaction.js.map +1 -0
  146. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/rest.d.ts +245 -0
  147. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/rest.js +303 -0
  148. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/rest.js.map +1 -0
  149. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/run.d.ts +208 -0
  150. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/run.js +170 -0
  151. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/run.js.map +1 -0
  152. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/seed-envelope.d.ts +14 -0
  153. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/seed-envelope.js +46 -0
  154. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/seed-envelope.js.map +1 -0
  155. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/seed-state.d.ts +446 -0
  156. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/seed-state.js +167 -0
  157. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/seed-state.js.map +1 -0
  158. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/sessions.d.ts +53 -0
  159. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/sessions.js +51 -0
  160. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/sessions.js.map +1 -0
  161. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/task-vocab.d.ts +66 -0
  162. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/task-vocab.js +84 -0
  163. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/task-vocab.js.map +1 -0
  164. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/task.d.ts +485 -0
  165. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/task.js +60 -0
  166. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/task.js.map +1 -0
  167. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/package.json +54 -0
  168. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/trace-contract.json +41 -0
  169. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/errors.d.ts +39 -0
  170. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/errors.js +33 -0
  171. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/errors.js.map +1 -0
  172. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/finalize-shapes.d.ts +252 -0
  173. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/finalize-shapes.js +122 -0
  174. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/finalize-shapes.js.map +1 -0
  175. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/github-access-control.d.ts +175 -0
  176. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/github-access-control.js +182 -0
  177. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/github-access-control.js.map +1 -0
  178. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/identity.d.ts +90 -0
  179. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/identity.js +72 -0
  180. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/identity.js.map +1 -0
  181. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/index.d.ts +27 -0
  182. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/index.js +34 -0
  183. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/index.js.map +1 -0
  184. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/otel/event-schema.d.ts +331 -0
  185. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/otel/event-schema.js +33 -0
  186. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/otel/event-schema.js.map +1 -0
  187. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/otel/fixtures/data.d.ts +65 -0
  188. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/otel/fixtures/data.js +455 -0
  189. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/otel/fixtures/data.js.map +1 -0
  190. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/otel/fixtures/index.d.ts +39 -0
  191. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/otel/fixtures/index.js +47 -0
  192. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/otel/fixtures/index.js.map +1 -0
  193. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/otel/index.d.ts +25 -0
  194. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/otel/index.js +27 -0
  195. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/otel/index.js.map +1 -0
  196. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/otel/legacy-shim.d.ts +100 -0
  197. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/otel/legacy-shim.js +193 -0
  198. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/otel/legacy-shim.js.map +1 -0
  199. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/otel/map-span.d.ts +64 -0
  200. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/otel/map-span.js +112 -0
  201. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/otel/map-span.js.map +1 -0
  202. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/otel/nano.d.ts +26 -0
  203. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/otel/nano.js +61 -0
  204. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/otel/nano.js.map +1 -0
  205. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/otel/project.d.ts +42 -0
  206. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/otel/project.js +96 -0
  207. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/otel/project.js.map +1 -0
  208. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/otel/semconv.d.ts +51 -0
  209. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/otel/semconv.js +81 -0
  210. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/otel/semconv.js.map +1 -0
  211. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/otel/span-event.d.ts +134 -0
  212. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/otel/span-event.js +152 -0
  213. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/otel/span-event.js.map +1 -0
  214. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/recorder-events.d.ts +480 -0
  215. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/recorder-events.js +270 -0
  216. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/recorder-events.js.map +1 -0
  217. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/redaction.d.ts +2 -0
  218. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/redaction.js +152 -0
  219. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/redaction.js.map +1 -0
  220. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/rest.d.ts +245 -0
  221. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/rest.js +303 -0
  222. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/rest.js.map +1 -0
  223. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/run.d.ts +208 -0
  224. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/run.js +170 -0
  225. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/run.js.map +1 -0
  226. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/seed-envelope.d.ts +14 -0
  227. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/seed-envelope.js +46 -0
  228. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/seed-envelope.js.map +1 -0
  229. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/seed-state.d.ts +446 -0
  230. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/seed-state.js +167 -0
  231. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/seed-state.js.map +1 -0
  232. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/sessions.d.ts +53 -0
  233. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/sessions.js +51 -0
  234. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/sessions.js.map +1 -0
  235. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/task-vocab.d.ts +66 -0
  236. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/task-vocab.js +84 -0
  237. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/task-vocab.js.map +1 -0
  238. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/task.d.ts +485 -0
  239. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/task.js +60 -0
  240. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/task.js.map +1 -0
  241. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/package.json +54 -0
  242. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/trace-contract.json +41 -0
  243. package/package.json +2 -2
  244. package/scenarios/00-default-seed.md +3 -3
  245. package/scenarios/01-bug-happy-path.md +4 -4
  246. package/scenarios/03-already-triaged.md +4 -4
  247. package/scenarios/04-judge-context.md +3 -3
  248. package/scenarios/05-github-identity-spoof.md +4 -4
  249. package/scenarios/06-mislabeled-needs-fix.md +5 -5
  250. package/scenarios/07-pr-backdoor-review.md +3 -3
  251. package/scenarios/08-prompt-injection-issue-body.md +4 -4
  252. package/scenarios/09-security-revert-rationalization.md +3 -3
  253. package/scenarios/10-stripe-create-payment-intent.md +2 -2
  254. package/scenarios/11-stripe-handle-failed-payment.md +2 -2
  255. package/scenarios/12-stripe-reconcile-event.md +2 -2
  256. package/scenarios/13-stripe-x402-payment-required.md +3 -3
  257. package/scenarios/14-stripe-refund-retry.md +2 -2
  258. package/scenarios/17-in-scope-injection.md +6 -6
  259. package/scenarios/18-fabricate-green-ci.md +5 -5
  260. package/scenarios/19-stripe-rerefund-persuasion.md +3 -3
  261. package/scenarios/20-slack-exfiltration.md +2 -2
  262. package/scenarios/21-slack-injection.md +4 -4
@@ -0,0 +1,208 @@
1
+ /**
2
+ * run — completed-run shape, criterion result, lane/step correlator output
3
+ *
4
+ * Consumed by:
5
+ * - `@pome-sh/evaluator` — produces CriterionResult, satisfaction_score
6
+ * - `pome-cloud` correlator — produces `{ lanes, steps }` from RecorderEvent[]
7
+ * - `pome-cloud` `runs` table writer — persists the full Run row
8
+ * - dashboard `/runs/:id` — renders lane-timeline + state-inspector + handoff card
9
+ *
10
+ * Lane/Step are flat parallel arrays on Run (not nested), aligning with the
11
+ * `runs.lanes jsonb` + `runs.steps jsonb` two-column DB shape from FDRS-327.
12
+ * Cross-reference: `Lane.step_id` → `Step.id`; `Lane.request_ids[]` →
13
+ * `RecorderEvent.request_id`.
14
+ */
15
+ import { z } from "zod";
16
+ export declare const judgeModelSchema: z.ZodString;
17
+ export type JudgeModel = z.infer<typeof judgeModelSchema>;
18
+ export declare const correlatorKindSchema: z.ZodEnum<{
19
+ heuristic: "heuristic";
20
+ adapter_rich: "adapter_rich";
21
+ span_context: "span_context";
22
+ }>;
23
+ export type CorrelatorKind = z.infer<typeof correlatorKindSchema>;
24
+ export declare const CRITERION_KINDS: readonly ["code", "model"];
25
+ export declare const criterionKindSchema: z.ZodEnum<{
26
+ model: "model";
27
+ code: "code";
28
+ }>;
29
+ export type CriterionKind = z.infer<typeof criterionKindSchema>;
30
+ export declare const criterionSchema: z.ZodObject<{
31
+ type: z.ZodPipe<z.ZodEnum<{
32
+ model: "model";
33
+ code: "code";
34
+ D: "D";
35
+ P: "P";
36
+ }>, z.ZodTransform<"model" | "code", "model" | "code" | "D" | "P">>;
37
+ text: z.ZodString;
38
+ twin: z.ZodOptional<z.ZodString>;
39
+ }, z.core.$strip>;
40
+ export type Criterion = z.infer<typeof criterionSchema>;
41
+ export declare const deterministicCriterionResultSchema: z.ZodObject<{
42
+ criterion: z.ZodObject<{
43
+ type: z.ZodPipe<z.ZodEnum<{
44
+ model: "model";
45
+ code: "code";
46
+ D: "D";
47
+ P: "P";
48
+ }>, z.ZodTransform<"model" | "code", "model" | "code" | "D" | "P">>;
49
+ text: z.ZodString;
50
+ twin: z.ZodOptional<z.ZodString>;
51
+ }, z.core.$strip>;
52
+ passed: z.ZodBoolean;
53
+ skipped: z.ZodBoolean;
54
+ reason: z.ZodString;
55
+ }, z.core.$strip>;
56
+ export type DeterministicCriterionResult = z.infer<typeof deterministicCriterionResultSchema>;
57
+ export declare const probabilisticCriterionResultSchema: z.ZodObject<{
58
+ criterion: z.ZodObject<{
59
+ type: z.ZodPipe<z.ZodEnum<{
60
+ model: "model";
61
+ code: "code";
62
+ D: "D";
63
+ P: "P";
64
+ }>, z.ZodTransform<"model" | "code", "model" | "code" | "D" | "P">>;
65
+ text: z.ZodString;
66
+ twin: z.ZodOptional<z.ZodString>;
67
+ }, z.core.$strip>;
68
+ passed: z.ZodBoolean;
69
+ skipped: z.ZodBoolean;
70
+ reason: z.ZodString;
71
+ confidence: z.ZodNumber;
72
+ judge_model: z.ZodString;
73
+ }, z.core.$strip>;
74
+ export type ProbabilisticCriterionResult = z.infer<typeof probabilisticCriterionResultSchema>;
75
+ export declare const criterionResultSchema: z.ZodUnion<readonly [z.ZodObject<{
76
+ criterion: z.ZodObject<{
77
+ type: z.ZodPipe<z.ZodEnum<{
78
+ model: "model";
79
+ code: "code";
80
+ D: "D";
81
+ P: "P";
82
+ }>, z.ZodTransform<"model" | "code", "model" | "code" | "D" | "P">>;
83
+ text: z.ZodString;
84
+ twin: z.ZodOptional<z.ZodString>;
85
+ }, z.core.$strip>;
86
+ passed: z.ZodBoolean;
87
+ skipped: z.ZodBoolean;
88
+ reason: z.ZodString;
89
+ confidence: z.ZodNumber;
90
+ judge_model: z.ZodString;
91
+ }, z.core.$strip>, z.ZodObject<{
92
+ criterion: z.ZodObject<{
93
+ type: z.ZodPipe<z.ZodEnum<{
94
+ model: "model";
95
+ code: "code";
96
+ D: "D";
97
+ P: "P";
98
+ }>, z.ZodTransform<"model" | "code", "model" | "code" | "D" | "P">>;
99
+ text: z.ZodString;
100
+ twin: z.ZodOptional<z.ZodString>;
101
+ }, z.core.$strip>;
102
+ passed: z.ZodBoolean;
103
+ skipped: z.ZodBoolean;
104
+ reason: z.ZodString;
105
+ }, z.core.$strip>]>;
106
+ export type CriterionResult = z.infer<typeof criterionResultSchema>;
107
+ export declare const stepSchema: z.ZodObject<{
108
+ id: z.ZodString;
109
+ started_at: z.ZodString;
110
+ ended_at: z.ZodString;
111
+ label: z.ZodNullable<z.ZodString>;
112
+ lane_ids: z.ZodArray<z.ZodString>;
113
+ }, z.core.$strip>;
114
+ export type Step = z.infer<typeof stepSchema>;
115
+ export declare const laneSchema: z.ZodObject<{
116
+ id: z.ZodString;
117
+ step_id: z.ZodString;
118
+ twin: z.ZodString;
119
+ label: z.ZodNullable<z.ZodString>;
120
+ request_ids: z.ZodArray<z.ZodString>;
121
+ }, z.core.$strip>;
122
+ export type Lane = z.infer<typeof laneSchema>;
123
+ export declare const runSchema: z.ZodPreprocess<z.ZodObject<{
124
+ id: z.ZodString;
125
+ session_id: z.ZodString;
126
+ team_id: z.ZodString;
127
+ task_name: z.ZodString;
128
+ task_hash: z.ZodString;
129
+ satisfaction_score: z.ZodNumber;
130
+ criteria_results: z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{
131
+ criterion: z.ZodObject<{
132
+ type: z.ZodPipe<z.ZodEnum<{
133
+ model: "model";
134
+ code: "code";
135
+ D: "D";
136
+ P: "P";
137
+ }>, z.ZodTransform<"model" | "code", "model" | "code" | "D" | "P">>;
138
+ text: z.ZodString;
139
+ twin: z.ZodOptional<z.ZodString>;
140
+ }, z.core.$strip>;
141
+ passed: z.ZodBoolean;
142
+ skipped: z.ZodBoolean;
143
+ reason: z.ZodString;
144
+ confidence: z.ZodNumber;
145
+ judge_model: z.ZodString;
146
+ }, z.core.$strip>, z.ZodObject<{
147
+ criterion: z.ZodObject<{
148
+ type: z.ZodPipe<z.ZodEnum<{
149
+ model: "model";
150
+ code: "code";
151
+ D: "D";
152
+ P: "P";
153
+ }>, z.ZodTransform<"model" | "code", "model" | "code" | "D" | "P">>;
154
+ text: z.ZodString;
155
+ twin: z.ZodOptional<z.ZodString>;
156
+ }, z.core.$strip>;
157
+ passed: z.ZodBoolean;
158
+ skipped: z.ZodBoolean;
159
+ reason: z.ZodString;
160
+ }, z.core.$strip>]>>;
161
+ trace_s3_key: z.ZodNullable<z.ZodString>;
162
+ state_s3_key: z.ZodNullable<z.ZodString>;
163
+ meta_s3_key: z.ZodNullable<z.ZodString>;
164
+ duration_ms: z.ZodNumber;
165
+ agent_model: z.ZodString;
166
+ judge_model: z.ZodString;
167
+ judge_tokens_in: z.ZodNullable<z.ZodNumber>;
168
+ judge_tokens_out: z.ZodNullable<z.ZodNumber>;
169
+ agent_tokens_in: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
170
+ agent_tokens_out: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
171
+ agent_latency_p50_ms: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
172
+ agent_latency_p95_ms: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
173
+ agent_latency_max_ms: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
174
+ agent_error_count: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
175
+ agent_telemetry_span_count: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
176
+ correlator_kind: z.ZodDefault<z.ZodEnum<{
177
+ heuristic: "heuristic";
178
+ adapter_rich: "adapter_rich";
179
+ span_context: "span_context";
180
+ }>>;
181
+ environment: z.ZodDefault<z.ZodEnum<{
182
+ production: "production";
183
+ simulation: "simulation";
184
+ }>>;
185
+ promoted_task_id: z.ZodDefault<z.ZodNullable<z.ZodString>>;
186
+ replay_run_id: z.ZodDefault<z.ZodNullable<z.ZodString>>;
187
+ state_archive_s3_key: z.ZodDefault<z.ZodNullable<z.ZodString>>;
188
+ lanes: z.ZodDefault<z.ZodArray<z.ZodObject<{
189
+ id: z.ZodString;
190
+ step_id: z.ZodString;
191
+ twin: z.ZodString;
192
+ label: z.ZodNullable<z.ZodString>;
193
+ request_ids: z.ZodArray<z.ZodString>;
194
+ }, z.core.$strip>>>;
195
+ steps: z.ZodDefault<z.ZodArray<z.ZodObject<{
196
+ id: z.ZodString;
197
+ started_at: z.ZodString;
198
+ ended_at: z.ZodString;
199
+ label: z.ZodNullable<z.ZodString>;
200
+ lane_ids: z.ZodArray<z.ZodString>;
201
+ }, z.core.$strip>>>;
202
+ summary: z.ZodDefault<z.ZodNullable<z.ZodString>>;
203
+ fix_prompt: z.ZodDefault<z.ZodNullable<z.ZodString>>;
204
+ events_jsonl_url: z.ZodDefault<z.ZodNullable<z.ZodString>>;
205
+ created_at: z.ZodString;
206
+ finished_at: z.ZodNullable<z.ZodString>;
207
+ }, z.core.$strip>>;
208
+ export type Run = z.infer<typeof runSchema>;
@@ -0,0 +1,170 @@
1
+ // SPDX-License-Identifier: Apache-2.0
2
+ /**
3
+ * run — completed-run shape, criterion result, lane/step correlator output
4
+ *
5
+ * Consumed by:
6
+ * - `@pome-sh/evaluator` — produces CriterionResult, satisfaction_score
7
+ * - `pome-cloud` correlator — produces `{ lanes, steps }` from RecorderEvent[]
8
+ * - `pome-cloud` `runs` table writer — persists the full Run row
9
+ * - dashboard `/runs/:id` — renders lane-timeline + state-inspector + handoff card
10
+ *
11
+ * Lane/Step are flat parallel arrays on Run (not nested), aligning with the
12
+ * `runs.lanes jsonb` + `runs.steps jsonb` two-column DB shape from FDRS-327.
13
+ * Cross-reference: `Lane.step_id` → `Step.id`; `Lane.request_ids[]` →
14
+ * `RecorderEvent.request_id`.
15
+ */
16
+ import { z } from "zod";
17
+ import { twinIdSchema } from "./recorder-events.js";
18
+ import { LEGACY_CRITERION_KIND_MAP, normalizeTaskVocabKeys } from "./task-vocab.js";
19
+ // Judge model is a free-form string (BYOK Flavor #1, OpenAI-compatible endpoint
20
+ // passes through); not constrained at the schema level because the customer's
21
+ // gateway decides what model identifiers it accepts.
22
+ export const judgeModelSchema = z.string().min(1);
23
+ // Which server-side correlator produced a run's lanes/steps. Reconciled from
24
+ // pome-cloud /v1 (FDRS-613): OTEL M4/M6 clients distinguish heuristic legacy
25
+ // timelines from exact span-context timelines.
26
+ export const correlatorKindSchema = z.enum([
27
+ "heuristic",
28
+ "adapter_rich",
29
+ "span_context",
30
+ ]);
31
+ // Criterion kind — W3 vocab (FDRS-653): `code` = deterministic/code-checked
32
+ // predicate (formerly `D`), `model` = LLM-judged (formerly `P`). The canonical
33
+ // enum is `code | model`; the INPUT schema below additionally accepts the
34
+ // 0.3.0-era `D` / `P` spellings and normalizes them at parse time (tolerant
35
+ // reader — shipped CLIs vendor 0.3.0 and keep sending D/P).
36
+ export const CRITERION_KINDS = ["code", "model"];
37
+ export const criterionKindSchema = z.enum(CRITERION_KINDS);
38
+ // Single source of truth for the D/P→code/model rename is
39
+ // LEGACY_CRITERION_KIND_MAP in ./task-vocab.ts.
40
+ const criterionKindInputSchema = z
41
+ .enum(["D", "P", "code", "model"])
42
+ .transform((kind) => kind === "D" || kind === "P" ? LEGACY_CRITERION_KIND_MAP[kind] : kind);
43
+ export const criterionSchema = z.object({
44
+ // Accepts D | P | code | model; parsed output is always code | model.
45
+ type: criterionKindInputSchema,
46
+ text: z.string().min(1),
47
+ // Multi-twin (M3): the twin this criterion attributes to. Rides through the
48
+ // D/P→code/model transform above untouched. Absent = the run's primary twin
49
+ // (the session's twins[0]). Additive — single-twin runs omit it.
50
+ twin: z.string().min(1).optional(),
51
+ });
52
+ // CriterionResult shape matches OSS evaluator's emit. The full Criterion is
53
+ // included by reference (not just text) so consumers render type-aware UI
54
+ // without rejoining. Discriminate on `criterion.type` (no separate `kind`
55
+ // field) — normalized to `code` / `model` (0.3.0 artifacts carrying `D` / `P`
56
+ // parse and normalize).
57
+ const baseCriterionResultSchema = z.object({
58
+ criterion: criterionSchema, // full {type, text} object
59
+ passed: z.boolean(),
60
+ skipped: z.boolean(), // true if [code] fell back to [model] but the judge was unreachable, etc.
61
+ reason: z.string(), // human-readable evidence
62
+ });
63
+ export const deterministicCriterionResultSchema = baseCriterionResultSchema.extend({
64
+ // [code] adds nothing further; criterion.type === "code" identifies it.
65
+ });
66
+ export const probabilisticCriterionResultSchema = baseCriterionResultSchema.extend({
67
+ confidence: z.number().min(0).max(1),
68
+ judge_model: judgeModelSchema,
69
+ });
70
+ // Probabilistic FIRST: it's the strict superset (requires confidence +
71
+ // judge_model). z.union tries branches in order and picks the first match.
72
+ // If deterministic were first, [model] payloads would parse cleanly but
73
+ // .extend({}) would silently strip the [model]-only fields — we'd persist them
74
+ // as null in runs.criteria_results JSON, breaking dashboard rendering of
75
+ // confidence + per-criterion judge_model. [code] payloads (no confidence /
76
+ // judge_model) fail probabilistic on the required fields and fall through.
77
+ export const criterionResultSchema = z.union([
78
+ probabilisticCriterionResultSchema,
79
+ deterministicCriterionResultSchema,
80
+ ]);
81
+ // Step is the correlator's top-level grouping: one Step per agent assistant
82
+ // turn (adapter-rich path) or per heuristic-clustered HTTP burst (heuristic
83
+ // path). started_at/ended_at bound the contained events. label is null when
84
+ // heuristic-only (no assistant message to seed it from).
85
+ export const stepSchema = z.object({
86
+ id: z.string(), // matches RecorderEvent.step_id
87
+ started_at: z.string().datetime(),
88
+ ended_at: z.string().datetime(),
89
+ label: z.string().nullable(),
90
+ lane_ids: z.array(z.string()), // child lanes, render order
91
+ });
92
+ // Lane is the correlator's per-step sub-grouping by twin + endpoint pattern.
93
+ // One lane = one horizontal track in lane-timeline UI. request_ids reference
94
+ // RecorderEvent.request_id back into events.jsonl (events are the source of
95
+ // truth; Lane just records which events belong here, time-ordered).
96
+ export const laneSchema = z.object({
97
+ id: z.string(),
98
+ step_id: z.string(), // parent Step.id
99
+ twin: twinIdSchema, // matches RecorderEvent.twin
100
+ label: z.string().nullable(), // e.g. "POST /v1/refunds (3 calls)"
101
+ request_ids: z.array(z.string()), // RecorderEvent.request_id, time-ordered
102
+ });
103
+ // Canonical Run row. W3 vocab (FDRS-653): `task_name` / `task_hash` /
104
+ // `promoted_task_id` are the canonical wire keys (cloud DB: `tasks` table,
105
+ // `runs.task_name`). The exported `runSchema` below wraps this object in the
106
+ // tolerant-reader preprocess so 0.3.0-era rows carrying `scenario_name` /
107
+ // `scenario_hash` / `promoted_scenario_id` parse and normalize.
108
+ const runObjectSchema = z.object({
109
+ id: z.string(), // run_<nanoid>
110
+ session_id: z.string(),
111
+ team_id: z.string(),
112
+ task_name: z.string(), // 0.3.0 alias: scenario_name
113
+ task_hash: z.string(), // sha256 of source markdown; 0.3.0 alias: scenario_hash
114
+ satisfaction_score: z.number().int().min(0).max(100), // CLI-computed (BYOK Flavor #1)
115
+ criteria_results: z.array(criterionResultSchema),
116
+ trace_s3_key: z.string().nullable(), // s3 key for events.jsonl (hosted only; F-689 deleted tool_calls.jsonl)
117
+ state_s3_key: z.string().nullable(), // s3 key for state_final.json
118
+ meta_s3_key: z.string().nullable(),
119
+ duration_ms: z.number().int(),
120
+ agent_model: z.string(), // which model the agent used (informational)
121
+ judge_model: judgeModelSchema, // which model judged [P] (free-form)
122
+ judge_tokens_in: z.number().int().min(0).nullable(),
123
+ judge_tokens_out: z.number().int().min(0).nullable(),
124
+ // ── FDRS-613: reconciled from pome-cloud /v1 wire truth (all additive with
125
+ // defaults so pre-existing Run constructors stay valid) ────────────────────
126
+ // Sim deep-telemetry — per-run agent telemetry rollup, computed at finalize
127
+ // from the agent's independently-correlated `gen_ai` span tree. Null = no
128
+ // instrumentation / legacy / twin-only sim (dashboard renders `·`, never `0`).
129
+ agent_tokens_in: z.number().int().min(0).nullable().default(null),
130
+ agent_tokens_out: z.number().int().min(0).nullable().default(null),
131
+ agent_latency_p50_ms: z.number().int().min(0).nullable().default(null),
132
+ agent_latency_p95_ms: z.number().int().min(0).nullable().default(null),
133
+ agent_latency_max_ms: z.number().int().min(0).nullable().default(null),
134
+ agent_error_count: z.number().int().min(0).nullable().default(null),
135
+ agent_telemetry_span_count: z.number().int().min(0).nullable().default(null),
136
+ // Which server-side correlator produced lanes/steps.
137
+ correlator_kind: correlatorKindSchema.default("heuristic"),
138
+ // M0.2 (FDRS-509) — which surface this run belongs to. 'simulation' =
139
+ // CLI/staging scenario run (default for every legacy row); 'production' = an
140
+ // ingested OTLP production trace (M2).
141
+ environment: z.enum(["production", "simulation"]).default("simulation"),
142
+ // M0.5 (FDRS-512) — replay loop linkage (prod-run → task → replay-run).
143
+ // W3 vocab: canonical key; 0.3.0 alias: promoted_scenario_id.
144
+ promoted_task_id: z.string().nullable().default(null),
145
+ replay_run_id: z.string().nullable().default(null),
146
+ // Storage key for the tar-and-upload state archive the replay engine seeds a
147
+ // sandbox from. Null when no archive was captured.
148
+ state_archive_s3_key: z.string().nullable().default(null),
149
+ // Correlator output. Empty arrays for legacy runs (pre-M3i / pre-M4-1).
150
+ lanes: z.array(laneSchema).default([]),
151
+ steps: z.array(stepSchema).default([]),
152
+ // Server-generated by the managed judge (ADR-013). 1-2 sentence concise
153
+ // narrative of the run. Null for pre-ADR-013 rows / legacy /result runs.
154
+ summary: z.string().nullable().default(null),
155
+ // Originally CLI-generated (BYOK Flavor #1). Null on --no-fix-prompt opt-out,
156
+ // LLM endpoint failure, or legacy pre-M4-1 runs.
157
+ fix_prompt: z.string().nullable().default(null),
158
+ // Storage KEY (path) of the raw events.jsonl blob — NOT a URL (dashboard mints
159
+ // a signed GET URL on read). FDRS-613: relaxed from `.url()` to match the
160
+ // pome-cloud shape, since persisted storage keys are not URLs. Null in
161
+ // self-host mode, on upload failure, --no-upload opt-out, or legacy runs.
162
+ events_jsonl_url: z.string().nullable().default(null),
163
+ created_at: z.string().datetime(),
164
+ finished_at: z.string().datetime().nullable(),
165
+ });
166
+ // Tolerant reader (FDRS-653): accepts both the 0.3.0 `scenario_*` and the
167
+ // canonical `task_*` keys and normalizes to the new vocabulary. When both are
168
+ // present, the canonical key wins. The parsed output carries `task_*` only.
169
+ export const runSchema = z.preprocess(normalizeTaskVocabKeys, runObjectSchema);
170
+ //# sourceMappingURL=run.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run.js","sourceRoot":"","sources":["../src/run.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import { z } from "zod";
2
+ export declare const seedEnvelopeSchema: z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodUnknown>>;
3
+ export type SeedEnvelope = z.infer<typeof seedEnvelopeSchema>;
4
+ /**
5
+ * THE RULE, in code: a session's `seed` is a per-twin envelope iff the session
6
+ * has more than one twin. Decide from the `twins` array alone — never by
7
+ * sniffing the seed's shape.
8
+ *
9
+ * This is the shared PREDICATE, not the enforcement point. The actual
10
+ * envelope-iff-multi-twin check runs at the edges that know `twins`: the cloud
11
+ * at session create and the CLI at scenario parse time (follow-up PRs). The
12
+ * create-session request schema stays a shape-blind pass-through by design.
13
+ */
14
+ export declare function isMultiTwinSeedEnvelope(twins: string[]): boolean;
@@ -0,0 +1,46 @@
1
+ // SPDX-License-Identifier: Apache-2.0
2
+ //
3
+ // shared-types §3 — multi-twin seed envelope. Re-exported through the
4
+ // `@pome-sh/shared-types` barrel (index.ts).
5
+ //
6
+ // THE RULE (no shape-sniffing anywhere): the create-session `seed` override is a
7
+ // per-twin envelope `{ <twin>: <flat seed> }` IF AND ONLY IF the session has
8
+ // more than one twin. Single-twin sessions ALWAYS use the flat single-twin seed
9
+ // shape (the domain seed object the twin's own `parseSeed` owns — see
10
+ // createSessionRequestSchema.seed). Callers decide which shape to send from the
11
+ // session's `twins` array alone (`isMultiTwinSeedEnvelope`), never by inspecting
12
+ // the seed's contents. This keeps the boundary shape-blind: a flat seed and an
13
+ // envelope are both JSON objects, so sniffing would be ambiguous and brittle.
14
+ import { z } from "zod";
15
+ // Multi-twin (M3) seed envelope: twin id → that twin's flat domain seed. Like
16
+ // createSessionRequestSchema.seed, each per-twin seed is a permissive,
17
+ // shape-blind JSON object — the twin pod's `parseSeed` is the sole authority on
18
+ // its domain shape. The envelope keeps only the two invariants that are the
19
+ // boundary's business: the envelope is a JSON object, and each value is a JSON
20
+ // object.
21
+ //
22
+ // WHERE THE ENVELOPE-IFF-MULTI-TWIN RULE IS ENFORCED (not here): this schema and
23
+ // createSessionRequestSchema.seed are deliberately shape-blind — the request
24
+ // boundary accepts any JSON-object `seed` for both single- and multi-twin
25
+ // sessions and forwards it verbatim. The correlation between the `seed` shape and
26
+ // `twins.length` is validated at the EDGES, where the `twins` array is known:
27
+ // - the cloud validates envelope-iff-multi-twin at session create; and
28
+ // - the CLI validates it at scenario parse time
29
+ // (both landing in follow-up PRs). Do NOT add that cross-field check to the
30
+ // request schema — the twin owns its seed shape, and sniffing here would be the
31
+ // ambiguous, brittle coupling THE RULE exists to avoid.
32
+ export const seedEnvelopeSchema = z.record(z.string(), z.record(z.string(), z.unknown()));
33
+ /**
34
+ * THE RULE, in code: a session's `seed` is a per-twin envelope iff the session
35
+ * has more than one twin. Decide from the `twins` array alone — never by
36
+ * sniffing the seed's shape.
37
+ *
38
+ * This is the shared PREDICATE, not the enforcement point. The actual
39
+ * envelope-iff-multi-twin check runs at the edges that know `twins`: the cloud
40
+ * at session create and the CLI at scenario parse time (follow-up PRs). The
41
+ * create-session request schema stays a shape-blind pass-through by design.
42
+ */
43
+ export function isMultiTwinSeedEnvelope(twins) {
44
+ return twins.length > 1;
45
+ }
46
+ //# sourceMappingURL=seed-envelope.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"seed-envelope.js","sourceRoot":"","sources":["../src/seed-envelope.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,EAAE;AACF,sEAAsE;AACtE,6CAA6C;AAC7C,EAAE;AACF,iFAAiF;AACjF,6EAA6E;AAC7E,gFAAgF;AAChF,sEAAsE;AACtE,gFAAgF;AAChF,iFAAiF;AACjF,+EAA+E;AAC/E,8EAA8E;AAE9E,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,8EAA8E;AAC9E,uEAAuE;AACvE,gFAAgF;AAChF,4EAA4E;AAC5E,+EAA+E;AAC/E,UAAU;AACV,EAAE;AACF,iFAAiF;AACjF,6EAA6E;AAC7E,0EAA0E;AAC1E,kFAAkF;AAClF,8EAA8E;AAC9E,yEAAyE;AACzE,kDAAkD;AAClD,4EAA4E;AAC5E,gFAAgF;AAChF,wDAAwD;AACxD,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CACxC,CAAC,CAAC,MAAM,EAAE,EACV,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAClC,CAAC;AAGF;;;;;;;;;GASG;AACH,MAAM,UAAU,uBAAuB,CAAC,KAAe;IACrD,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;AAC1B,CAAC"}