@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,245 @@
1
+ import { z } from "zod";
2
+ export declare const meResponseSchema: z.ZodObject<{
3
+ user: z.ZodObject<{
4
+ id: z.ZodString;
5
+ email: z.ZodString;
6
+ }, z.core.$strip>;
7
+ team: z.ZodObject<{
8
+ id: z.ZodString;
9
+ plan_tier: z.ZodEnum<{
10
+ free: "free";
11
+ hobby: "hobby";
12
+ pro: "pro";
13
+ team: "team";
14
+ self_host_annual: "self_host_annual";
15
+ enterprise: "enterprise";
16
+ }>;
17
+ slug: z.ZodString;
18
+ }, z.core.$strip>;
19
+ api_key: z.ZodObject<{
20
+ id: z.ZodString;
21
+ name: z.ZodString;
22
+ }, z.core.$strip>;
23
+ }, z.core.$strip>;
24
+ export type MeResponse = z.infer<typeof meResponseSchema>;
25
+ export declare const createSessionRequestSchema: z.ZodPreprocess<z.ZodObject<{
26
+ twins: z.ZodDefault<z.ZodArray<z.ZodString>>;
27
+ task_source: z.ZodOptional<z.ZodString>;
28
+ task_id: z.ZodOptional<z.ZodString>;
29
+ seed: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
30
+ idempotency_key: z.ZodOptional<z.ZodString>;
31
+ group_id: z.ZodOptional<z.ZodString>;
32
+ }, z.core.$strip>>;
33
+ export type CreateSessionRequest = z.infer<typeof createSessionRequestSchema>;
34
+ export declare const createSessionResponseSchema: z.ZodPreprocess<z.ZodObject<{
35
+ session_id: z.ZodString;
36
+ session_token: z.ZodString;
37
+ twin_url: z.ZodString;
38
+ expires_at: z.ZodString;
39
+ agent_token: z.ZodString;
40
+ provider_credentials: z.ZodDefault<z.ZodObject<{
41
+ github: z.ZodOptional<z.ZodObject<{
42
+ token: z.ZodString;
43
+ header: z.ZodLiteral<"Authorization">;
44
+ scheme: z.ZodLiteral<"Bearer">;
45
+ }, z.core.$strip>>;
46
+ stripe: z.ZodOptional<z.ZodObject<{
47
+ api_key: z.ZodString;
48
+ header: z.ZodLiteral<"Authorization">;
49
+ scheme: z.ZodLiteral<"Bearer">;
50
+ }, z.core.$strip>>;
51
+ slack: z.ZodOptional<z.ZodObject<{
52
+ token: z.ZodString;
53
+ header: z.ZodLiteral<"Authorization">;
54
+ scheme: z.ZodLiteral<"Bearer">;
55
+ }, z.core.$strip>>;
56
+ }, z.core.$strip>>;
57
+ openapi_url: z.ZodString;
58
+ per_twin: z.ZodRecord<z.ZodString, z.ZodObject<{
59
+ api_url: z.ZodString;
60
+ mcp_url: z.ZodString;
61
+ openapi_url: z.ZodString;
62
+ }, z.core.$strip>>;
63
+ }, z.core.$strip>>;
64
+ export type CreateSessionResponse = z.infer<typeof createSessionResponseSchema>;
65
+ export declare const perTwinStateKeysSchema: z.ZodRecord<z.ZodString, z.ZodObject<{
66
+ state_initial_key: z.ZodOptional<z.ZodString>;
67
+ state_final_key: z.ZodOptional<z.ZodString>;
68
+ }, z.core.$strip>>;
69
+ export type PerTwinStateKeys = z.infer<typeof perTwinStateKeysSchema>;
70
+ export declare const submitResultRequestSchema: z.ZodPreprocess<z.ZodObject<{
71
+ task_name: z.ZodString;
72
+ task_hash: z.ZodString;
73
+ duration_ms: z.ZodNumber;
74
+ agent_model: z.ZodString;
75
+ satisfaction_score: z.ZodNumber;
76
+ criteria_results: z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{
77
+ criterion: z.ZodObject<{
78
+ type: z.ZodPipe<z.ZodEnum<{
79
+ model: "model";
80
+ code: "code";
81
+ D: "D";
82
+ P: "P";
83
+ }>, z.ZodTransform<"model" | "code", "model" | "code" | "D" | "P">>;
84
+ text: z.ZodString;
85
+ twin: z.ZodOptional<z.ZodString>;
86
+ }, z.core.$strip>;
87
+ passed: z.ZodBoolean;
88
+ skipped: z.ZodBoolean;
89
+ reason: z.ZodString;
90
+ confidence: z.ZodNumber;
91
+ judge_model: z.ZodString;
92
+ }, z.core.$strip>, z.ZodObject<{
93
+ criterion: z.ZodObject<{
94
+ type: z.ZodPipe<z.ZodEnum<{
95
+ model: "model";
96
+ code: "code";
97
+ D: "D";
98
+ P: "P";
99
+ }>, z.ZodTransform<"model" | "code", "model" | "code" | "D" | "P">>;
100
+ text: z.ZodString;
101
+ twin: z.ZodOptional<z.ZodString>;
102
+ }, z.core.$strip>;
103
+ passed: z.ZodBoolean;
104
+ skipped: z.ZodBoolean;
105
+ reason: z.ZodString;
106
+ }, z.core.$strip>]>>;
107
+ judge_model: z.ZodString;
108
+ judge_tokens_in: z.ZodNullable<z.ZodNumber>;
109
+ judge_tokens_out: z.ZodNullable<z.ZodNumber>;
110
+ lanes: z.ZodDefault<z.ZodArray<z.ZodObject<{
111
+ id: z.ZodString;
112
+ step_id: z.ZodString;
113
+ twin: z.ZodString;
114
+ label: z.ZodNullable<z.ZodString>;
115
+ request_ids: z.ZodArray<z.ZodString>;
116
+ }, z.core.$strip>>>;
117
+ steps: z.ZodDefault<z.ZodArray<z.ZodObject<{
118
+ id: z.ZodString;
119
+ started_at: z.ZodString;
120
+ ended_at: z.ZodString;
121
+ label: z.ZodNullable<z.ZodString>;
122
+ lane_ids: z.ZodArray<z.ZodString>;
123
+ }, z.core.$strip>>>;
124
+ fix_prompt: z.ZodDefault<z.ZodNullable<z.ZodString>>;
125
+ events_jsonl_url: z.ZodDefault<z.ZodNullable<z.ZodString>>;
126
+ trace_jsonl_b64: z.ZodString;
127
+ state_initial_json_b64: z.ZodString;
128
+ state_final_json_b64: z.ZodString;
129
+ }, z.core.$strip>>;
130
+ export type SubmitResultRequest = z.infer<typeof submitResultRequestSchema>;
131
+ export declare const submitResultResponseSchema: z.ZodObject<{
132
+ run_id: z.ZodString;
133
+ dashboard_url: z.ZodString;
134
+ }, z.core.$strip>;
135
+ export type SubmitResultResponse = z.infer<typeof submitResultResponseSchema>;
136
+ export declare const createEvalSessionResponseSchema: z.ZodObject<{
137
+ session_id: z.ZodString;
138
+ expires_at: z.ZodString;
139
+ }, z.core.$strip>;
140
+ export type CreateEvalSessionResponse = z.infer<typeof createEvalSessionResponseSchema>;
141
+ export declare const criterionDefSchema: z.ZodObject<{
142
+ id: z.ZodString;
143
+ text: z.ZodString;
144
+ kind: z.ZodEnum<{
145
+ D: "D";
146
+ P: "P";
147
+ }>;
148
+ twin: z.ZodOptional<z.ZodString>;
149
+ }, z.core.$strip>;
150
+ export type CriterionDef = z.infer<typeof criterionDefSchema>;
151
+ export declare const createAgentRequestSchema: z.ZodObject<{
152
+ name: z.ZodString;
153
+ twins: z.ZodOptional<z.ZodArray<z.ZodString>>;
154
+ }, z.core.$strip>;
155
+ export type CreateAgentRequest = z.infer<typeof createAgentRequestSchema>;
156
+ export declare const agentResponseSchema: z.ZodObject<{
157
+ id: z.ZodString;
158
+ slug: z.ZodString;
159
+ display_name: z.ZodString;
160
+ judge_model: z.ZodString;
161
+ enabled_services: z.ZodOptional<z.ZodArray<z.ZodString>>;
162
+ }, z.core.$strip>;
163
+ export type AgentResponse = z.infer<typeof agentResponseSchema>;
164
+ export declare const stateUploadUrlEntrySchema: z.ZodObject<{
165
+ url: z.ZodString;
166
+ key: z.ZodString;
167
+ }, z.core.$strip>;
168
+ export type StateUploadUrlEntry = z.infer<typeof stateUploadUrlEntrySchema>;
169
+ export declare const stateUploadUrlResponseSchema: z.ZodObject<{
170
+ state_initial: z.ZodObject<{
171
+ url: z.ZodString;
172
+ key: z.ZodString;
173
+ }, z.core.$strip>;
174
+ state_final: z.ZodObject<{
175
+ url: z.ZodString;
176
+ key: z.ZodString;
177
+ }, z.core.$strip>;
178
+ per_twin: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
179
+ state_initial: z.ZodObject<{
180
+ url: z.ZodString;
181
+ key: z.ZodString;
182
+ }, z.core.$strip>;
183
+ state_final: z.ZodObject<{
184
+ url: z.ZodString;
185
+ key: z.ZodString;
186
+ }, z.core.$strip>;
187
+ }, z.core.$strip>>>;
188
+ }, z.core.$strip>;
189
+ export type StateUploadUrlResponse = z.infer<typeof stateUploadUrlResponseSchema>;
190
+ export declare const usageResponseSchema: z.ZodObject<{
191
+ period_start: z.ZodString;
192
+ period_end: z.ZodString;
193
+ sessions_used: z.ZodNumber;
194
+ sessions_quota: z.ZodNumber;
195
+ sessions_remaining: z.ZodNumber;
196
+ plan_tier: z.ZodEnum<{
197
+ free: "free";
198
+ hobby: "hobby";
199
+ pro: "pro";
200
+ team: "team";
201
+ self_host_annual: "self_host_annual";
202
+ enterprise: "enterprise";
203
+ }>;
204
+ }, z.core.$strip>;
205
+ export type UsageResponse = z.infer<typeof usageResponseSchema>;
206
+ export declare const createInviteRequestSchema: z.ZodObject<{
207
+ email: z.ZodString;
208
+ role: z.ZodDefault<z.ZodEnum<{
209
+ owner: "owner";
210
+ admin: "admin";
211
+ member: "member";
212
+ }>>;
213
+ }, z.core.$strip>;
214
+ export type CreateInviteRequest = z.infer<typeof createInviteRequestSchema>;
215
+ export declare const createInviteResponseSchema: z.ZodObject<{
216
+ invite: z.ZodObject<{
217
+ id: z.ZodString;
218
+ team_id: z.ZodString;
219
+ email: z.ZodString;
220
+ role: z.ZodEnum<{
221
+ owner: "owner";
222
+ admin: "admin";
223
+ member: "member";
224
+ }>;
225
+ invited_by: z.ZodString;
226
+ expires_at: z.ZodString;
227
+ accepted_at: z.ZodNullable<z.ZodString>;
228
+ created_at: z.ZodString;
229
+ }, z.core.$strip>;
230
+ invite_url: z.ZodString;
231
+ }, z.core.$strip>;
232
+ export type CreateInviteResponse = z.infer<typeof createInviteResponseSchema>;
233
+ export declare const acceptInviteRequestSchema: z.ZodObject<{
234
+ token: z.ZodString;
235
+ }, z.core.$strip>;
236
+ export type AcceptInviteRequest = z.infer<typeof acceptInviteRequestSchema>;
237
+ export declare const acceptInviteResponseSchema: z.ZodObject<{
238
+ team_id: z.ZodString;
239
+ role: z.ZodEnum<{
240
+ owner: "owner";
241
+ admin: "admin";
242
+ member: "member";
243
+ }>;
244
+ }, z.core.$strip>;
245
+ export type AcceptInviteResponse = z.infer<typeof acceptInviteResponseSchema>;
@@ -0,0 +1,303 @@
1
+ // SPDX-License-Identifier: Apache-2.0
2
+ //
3
+ // shared-types §4 — PUBLIC REST API (api.pome.sh/v1) request/response shapes,
4
+ // excluding the /finalize response family (see `./finalize-shapes.ts`). The two
5
+ // module-private helpers (`normalizeCreateSessionResponse` and the
6
+ // `*ObjectSchema` consts wrapped by z.preprocess) stay co-located with their
7
+ // exported consumers here. Re-exported through the `@pome-sh/shared-types` barrel.
8
+ import { z } from "zod";
9
+ import { apiKeySchema, planTierSchema, teamInviteSchema, teamRoleSchema, teamSchema, userSchema, } from "./identity.js";
10
+ import { criterionResultSchema, judgeModelSchema, laneSchema, stepSchema } from "./run.js";
11
+ import { normalizeTaskVocabKeys } from "./task-vocab.js";
12
+ // ─────────────────────────────────────────────────────────────────────────────
13
+ // 4. PUBLIC REST API (api.pome.sh/v1) request/response shapes
14
+ // ─────────────────────────────────────────────────────────────────────────────
15
+ // GET /v1/me
16
+ export const meResponseSchema = z.object({
17
+ user: userSchema.pick({ id: true, email: true }),
18
+ team: teamSchema.pick({ id: true, slug: true, plan_tier: true }),
19
+ api_key: apiKeySchema.pick({ id: true, name: true }),
20
+ });
21
+ // POST /v1/sessions
22
+ //
23
+ // W3 vocab (FDRS-653): `task_source` / `task_id` are canonical; the exported
24
+ // schema wraps this object in the tolerant-reader preprocess so 0.3.0 CLIs
25
+ // sending `scenario_source` / `scenario_id` keep working unchanged.
26
+ const createSessionRequestObjectSchema = z
27
+ .object({
28
+ // Multi-twin (M3): multi-twin arrays are now honored — the cloud provisions
29
+ // one isolated sandbox per twin. Max 3 twins per session; the cap is
30
+ // enforced cloud-side, so we deliberately do NOT add a `.max()` here (the
31
+ // boundary stays permissive and the cloud owns the quota rule). `twins[0]`
32
+ // is the session's primary twin — the default attribution for criteria and
33
+ // state that omit an explicit twin.
34
+ //
35
+ // Back-compat (the whole M3 contract): a single-twin `twins` array plus none
36
+ // of the new optional fields below is byte-identical to pre-M3 behavior, so
37
+ // (old CLI × new cloud) is unchanged. (new CLI × old cloud) with >1 twin is
38
+ // rejected by the cloud with 422 `multi_twin_unsupported`; a single-twin
39
+ // request degrades gracefully because every new field is optional and
40
+ // non-strict readers strip unknown keys rather than erroring.
41
+ twins: z.array(z.string()).min(1).default(["github"]),
42
+ task_source: z.string().optional(), // base64-encoded UTF-8 markdown; 0.3.0 alias: scenario_source
43
+ task_id: z.string().optional(), // alternative: stored task; 0.3.0 alias: scenario_id
44
+ // FDRS-580 / ADR-015 (adopted from pome-cloud, FDRS-613): the seed override
45
+ // is a PERMISSIVE, shape-blind boundary. The twin pod's own `parseSeed` is
46
+ // the sole authority on the seed's domain shape; the cloud forwards it
47
+ // verbatim. `z.record` keeps the one invariant that is the boundary's
48
+ // business — "the seed is a JSON object" — while forwarding every domain
49
+ // field, known or not, untouched. Do NOT re-narrow to `seedStateSchema`
50
+ // here: a narrow `.object()` strips unknown keys, which is how PR-based
51
+ // scenarios lost their `users` / `pull_requests` / `files`.
52
+ seed: z.record(z.string(), z.unknown()).optional(), // optional override
53
+ // M3: client-supplied UUID v4 used for 30s server-side dedupe of
54
+ // POST /v1/sessions. The dashboard generates one per Start-button click;
55
+ // legacy clients work without it.
56
+ idempotency_key: z.string().uuid().optional(),
57
+ // M3 / FDRS-636: client-minted trial-group identity — `pome run -n k`
58
+ // (and `pome demo`) stamp one id per invocation, shared by all k trial
59
+ // sessions. The cloud copies it onto sessions.group_id at mint and onto
60
+ // runs.group_id at finalize; the demo/eval mints already accept the same
61
+ // field. Format mirrors the cloud's GROUP_ID_RE. Legacy clients omit it.
62
+ group_id: z.string().regex(/^[A-Za-z0-9_-]{6,64}$/).optional(),
63
+ })
64
+ .refine((v) => Boolean(v.task_source) !== Boolean(v.task_id), { message: "Provide exactly one of task_source or task_id (scenario_source / scenario_id are accepted 0.3.0 aliases)" });
65
+ // Tolerant reader (FDRS-653): accepts both vocabularies, normalizes to task_*.
66
+ export const createSessionRequestSchema = z.preprocess(normalizeTaskVocabKeys, createSessionRequestObjectSchema);
67
+ function normalizeCreateSessionResponse(value) {
68
+ if (value === null || typeof value !== "object" || Array.isArray(value)) {
69
+ return value;
70
+ }
71
+ const record = value;
72
+ if (typeof record.session_id !== "string" ||
73
+ typeof record.twin_url !== "string" ||
74
+ typeof record.openapi_url !== "string") {
75
+ return value;
76
+ }
77
+ let twin = "github";
78
+ try {
79
+ const [, parsedTwin] = new URL(record.twin_url).pathname.split("/");
80
+ if (parsedTwin !== undefined && parsedTwin.length > 0)
81
+ twin = parsedTwin;
82
+ }
83
+ catch {
84
+ // Schema validation below will report the invalid URL.
85
+ }
86
+ const apiUrl = record.twin_url;
87
+ const mcpUrl = typeof apiUrl === "string" && apiUrl.startsWith("https://api.pome.sh/")
88
+ ? apiUrl.replace("https://api.pome.sh/", "https://mcp.pome.sh/")
89
+ : apiUrl;
90
+ return {
91
+ ...record,
92
+ session_token: record.session_token ?? record.session_id,
93
+ per_twin: record.per_twin ??
94
+ {
95
+ [twin]: {
96
+ api_url: apiUrl,
97
+ mcp_url: mcpUrl,
98
+ openapi_url: record.openapi_url,
99
+ },
100
+ },
101
+ };
102
+ }
103
+ // M3 response shape: one session, N twins, one set of URLs per twin under
104
+ // `per_twin{}`. Legacy single-twin fields `twin_url` + `openapi_url` continue
105
+ // to be populated as `per_twin[twins[0]].api_url` / `.openapi_url` for ≥1 OSS
106
+ // CLI release. `session_token` is the public token used in URLs — same value as
107
+ // `session_id` in V1, but named separately so URL-shaped consumers stop reading
108
+ // internal-id-shaped fields. Both `session_token` and `per_twin` reconciled
109
+ // from pome-cloud /v1 wire truth (FDRS-613).
110
+ export const createSessionResponseSchema = z.preprocess(normalizeCreateSessionResponse, z.object({
111
+ session_id: z.string(),
112
+ session_token: z.string(), // = session_id in V1; public URL token
113
+ twin_url: z.string().url(), // legacy: = per_twin[twins[0]].api_url
114
+ expires_at: z.string().datetime(),
115
+ agent_token: z.string(), // edt_<jwt>; SENSITIVE — never log; CLI memory only; bearer scoped to session TTL
116
+ provider_credentials: z
117
+ .object({
118
+ github: z
119
+ .object({
120
+ token: z.string(),
121
+ header: z.literal("Authorization"),
122
+ scheme: z.literal("Bearer"),
123
+ })
124
+ .optional(),
125
+ stripe: z
126
+ .object({
127
+ api_key: z.string(),
128
+ header: z.literal("Authorization"),
129
+ scheme: z.literal("Bearer"),
130
+ })
131
+ .optional(),
132
+ slack: z
133
+ .object({
134
+ token: z.string(),
135
+ header: z.literal("Authorization"),
136
+ scheme: z.literal("Bearer"),
137
+ })
138
+ .optional(),
139
+ })
140
+ .default({}),
141
+ openapi_url: z.string().url(), // legacy: = per_twin[twins[0]].openapi_url
142
+ per_twin: z.record(z.string(), z.object({
143
+ api_url: z.string().url(), // api.pome.sh/<twin>/<session_token>
144
+ mcp_url: z.string().url(), // mcp.pome.sh/<twin>/<session_token> (501 stub in V1)
145
+ openapi_url: z.string().url(),
146
+ })),
147
+ }));
148
+ // POST /v1/sessions/{id}/result — SYNCHRONOUS. CLI scores locally (BYOK Flavor #1) then POSTs.
149
+ //
150
+ // Cloud never sees the customer's LLM key, never invokes any LLM provider,
151
+ // never holds `agent_stdout` (which would contain the agent's prompts and
152
+ // completions). Trace blobs (twin's HTTP request/response captures) ARE
153
+ // uploaded — those are the agent's tool calls against the twin, not LLM data.
154
+ //
155
+ // (Cloud-side note: cloud V1 treats /result as a legacy shim — new CLIs upload
156
+ // blobs via presigned URLs and call /finalize with ADR-013's managed judge.
157
+ // The shape below stays the wire contract either way.)
158
+ //
159
+ // Multi-twin (M3): per-twin state storage keys, keyed by twin id. Each entry
160
+ // carries the storage KEYS (not URLs) the CLI uploaded that twin's initial /
161
+ // final state blobs to. One entry per twin the session provisioned. Single-twin
162
+ // sessions omit this and keep using the flat top-level state fields. Additive:
163
+ // an older cloud that does not read this field strips it and scores the primary
164
+ // twin unchanged. Consumed by `finalizeRequestSchema` (finalize-shapes.ts) — the
165
+ // LIVE scoring wire — as the optional `per_twin_state_keys` field; defined here
166
+ // alongside the other §4 state-storage-key shapes.
167
+ export const perTwinStateKeysSchema = z.record(z.string(), z
168
+ .object({
169
+ state_initial_key: z.string().min(1).optional(),
170
+ state_final_key: z.string().min(1).optional(),
171
+ })
172
+ // A twin entry must carry AT LEAST ONE storage key — an empty `{}` conveys
173
+ // nothing and is almost always a serialization bug. Both keys stay
174
+ // individually optional: final-only is legal (initial state is optional in
175
+ // the single-twin contract too — `state_initial_json_b64` can be an empty
176
+ // snapshot), and initial-only is legal symmetrically.
177
+ .refine((v) => v.state_initial_key !== undefined || v.state_final_key !== undefined, { message: "Each twin entry must carry at least one of state_initial_key or state_final_key" }));
178
+ // W3 vocab (FDRS-653): `task_name` / `task_hash` canonical; the exported
179
+ // schema accepts 0.3.0 CLIs' `scenario_name` / `scenario_hash` and criterion
180
+ // kinds D/P inside `criteria_results`, normalizing both.
181
+ const submitResultRequestObjectSchema = z.object({
182
+ task_name: z.string(), // 0.3.0 alias: scenario_name
183
+ task_hash: z.string(), // 0.3.0 alias: scenario_hash
184
+ duration_ms: z.number().int(),
185
+ agent_model: z.string(),
186
+ // CLI-computed scoring fields (server-trusted; under BYOK there's nothing
187
+ // billing-sensitive to spoof — we don't bill on judge cost):
188
+ satisfaction_score: z.number().int().min(0).max(100),
189
+ criteria_results: z.array(criterionResultSchema),
190
+ judge_model: judgeModelSchema,
191
+ judge_tokens_in: z.number().int().min(0).nullable(),
192
+ judge_tokens_out: z.number().int().min(0).nullable(),
193
+ // Correlator output + fix-prompt from CLI (post-M3i). Defaults supplied for
194
+ // backward compat during the M3i rollout — older CLIs that omit these still
195
+ // submit successfully and the run lands as a "legacy" row (empty lanes/steps,
196
+ // null fix_prompt). When all CLIs are M3i+, tighten by removing defaults.
197
+ lanes: z.array(laneSchema).default([]),
198
+ steps: z.array(stepSchema).default([]),
199
+ fix_prompt: z.string().nullable().default(null),
200
+ // FDRS-357 (adopted from pome-cloud, FDRS-613): storage key (NOT URL) returned
201
+ // by POST /v1/sessions/:id/result-upload-url. Null on upload failure
202
+ // (best-effort), --no-upload opt-out, or pre-FDRS-357 CLI.
203
+ events_jsonl_url: z.string().nullable().default(null),
204
+ // Trace blobs — safe to upload (HTTP between agent and twin, not LLM prompts):
205
+ trace_jsonl_b64: z.string(),
206
+ state_initial_json_b64: z.string(),
207
+ state_final_json_b64: z.string(),
208
+ // NOTE: agent_stdout is intentionally NOT in this request. Cloud never
209
+ // receives the agent's prompts or completions. The CLI uses agent_stdout
210
+ // locally for the [model] judge then discards it.
211
+ });
212
+ // Tolerant reader (FDRS-653): accepts both vocabularies, normalizes to task_*.
213
+ export const submitResultRequestSchema = z.preprocess(normalizeTaskVocabKeys, submitResultRequestObjectSchema);
214
+ export const submitResultResponseSchema = z.object({
215
+ run_id: z.string(),
216
+ dashboard_url: z.string().url(),
217
+ });
218
+ // POST /v1/eval-sessions — mints a twin-less session for `pome eval <run-dir>`.
219
+ export const createEvalSessionResponseSchema = z.object({
220
+ session_id: z.string(),
221
+ expires_at: z.string(),
222
+ });
223
+ export const criterionDefSchema = z.object({
224
+ id: z.string().min(1),
225
+ text: z.string().min(1),
226
+ kind: z.enum(["D", "P"]),
227
+ // Multi-twin (M3): the twin a [D:<twin>]/[P:<twin>] scenario criterion
228
+ // attributes to. Absent = the session's primary twin (twins[0]). Additive —
229
+ // single-twin scenarios omit it and score against the sole twin as before.
230
+ twin: z.string().min(1).optional(),
231
+ });
232
+ // POST /v1/agents — register an agent (vercel-link shape). The server is
233
+ // canonical for the slug; the CLI persists whatever id/slug it returns.
234
+ export const createAgentRequestSchema = z.object({
235
+ name: z.string().min(1),
236
+ // Multi-twin (M3): the twins this agent is allowed to exercise. Absent = the
237
+ // server's default enablement. The cloud intersects a session's requested
238
+ // twins with the agent's enabled services. Additive; older clients omit it.
239
+ twins: z.array(z.string()).min(1).optional(),
240
+ });
241
+ // POST /v1/agents response. Not `.strict()`: the cloud may emit additive fields
242
+ // that older/newer CLIs strip rather than reject (tolerant reader).
243
+ export const agentResponseSchema = z.object({
244
+ id: z.string(), // agt_<nanoid>
245
+ slug: z.string(),
246
+ display_name: z.string(),
247
+ judge_model: z.string(),
248
+ // Multi-twin (M3): the services (twins) this agent may exercise. Absent on an
249
+ // older cloud; new CLIs treat absence as "unconstrained / server default".
250
+ enabled_services: z.array(z.string()).optional(),
251
+ });
252
+ // POST /v1/sessions/:id/state-upload-url response — a presigned PUT URL + the
253
+ // storage KEY (not a URL) for each of the initial and final state blobs. Mirrors
254
+ // the sibling *-upload-url routes' `{ url, key }` entry, but returns the
255
+ // initial/final pair in a single call.
256
+ export const stateUploadUrlEntrySchema = z.object({
257
+ url: z.string().url(),
258
+ key: z.string().min(1),
259
+ });
260
+ export const stateUploadUrlResponseSchema = z.object({
261
+ state_initial: stateUploadUrlEntrySchema,
262
+ state_final: stateUploadUrlEntrySchema,
263
+ // Multi-twin (M3): one initial/final URL+key pair per twin, keyed by twin id,
264
+ // so each twin's state blobs land under its own storage prefix. Absent on
265
+ // single-twin sessions and on an older cloud, where the top-level pair is
266
+ // authoritative (new CLI × old cloud degrades gracefully).
267
+ per_twin: z
268
+ .record(z.string(), z.object({
269
+ state_initial: stateUploadUrlEntrySchema,
270
+ state_final: stateUploadUrlEntrySchema,
271
+ }))
272
+ .optional(),
273
+ });
274
+ // GET /v1/usage — live concurrent-session quota snapshot.
275
+ // FDRS-613: `sessions_remaining` tightened to `.int().min(0)` to match the
276
+ // pome-cloud /v1 wire truth (cloud clamps remaining at 0 rather than exposing
277
+ // negative overage on this live snapshot).
278
+ export const usageResponseSchema = z.object({
279
+ period_start: z.string().datetime(),
280
+ period_end: z.string().datetime(),
281
+ sessions_used: z.number().int().min(0),
282
+ sessions_quota: z.number().int().min(0),
283
+ sessions_remaining: z.number().int().min(0),
284
+ plan_tier: planTierSchema,
285
+ });
286
+ // POST /v1/teams/{id}/invites
287
+ export const createInviteRequestSchema = z.object({
288
+ email: z.string().email(),
289
+ role: teamRoleSchema.default("member"),
290
+ });
291
+ export const createInviteResponseSchema = z.object({
292
+ invite: teamInviteSchema,
293
+ invite_url: z.string().url(), // "https://pome.sh/invites/<token>"
294
+ });
295
+ // POST /v1/invites/{token}/accept (cloud surface: dashboard tRPC invites.accept)
296
+ export const acceptInviteRequestSchema = z.object({
297
+ token: z.string().min(16),
298
+ });
299
+ export const acceptInviteResponseSchema = z.object({
300
+ team_id: z.string(),
301
+ role: teamRoleSchema,
302
+ });
303
+ //# sourceMappingURL=rest.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rest.js","sourceRoot":"","sources":["../src/rest.ts"],"names":[],"mappings":"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"}