@pome-sh/cli 0.12.0 → 0.14.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 (696) hide show
  1. package/dist/build-info.json +3 -3
  2. package/dist/src/cli/checks-add.js +16 -0
  3. package/dist/src/cli/checks-lint.d.ts +1 -0
  4. package/dist/src/cli/checks-lint.js +59 -0
  5. package/dist/src/cli/checks.js +13 -3
  6. package/dist/src/cli/criterion-binding.d.ts +41 -0
  7. package/dist/src/cli/criterion-binding.js +111 -0
  8. package/dist/src/cli/main.js +12 -0
  9. package/dist/src/runner/runTask.d.ts +2 -2
  10. package/dist/src/task/insertCriterion.js +6 -1
  11. package/dist/src/task/parseTask.d.ts +21 -0
  12. package/dist/src/task/parseTask.js +48 -1
  13. package/dist/src/task/taskSchema.d.ts +20 -20
  14. package/node_modules/@pome-sh/sdk/dist/check-discrimination.d.ts +7 -0
  15. package/node_modules/@pome-sh/sdk/dist/check-discrimination.js +81 -0
  16. package/node_modules/@pome-sh/sdk/dist/check-discrimination.js.map +1 -0
  17. package/node_modules/@pome-sh/sdk/dist/checks.d.ts +18 -1
  18. package/node_modules/@pome-sh/sdk/dist/checks.js +11 -1
  19. package/node_modules/@pome-sh/sdk/dist/checks.js.map +1 -1
  20. package/node_modules/@pome-sh/sdk/dist/failure-injection.js +7 -0
  21. package/node_modules/@pome-sh/sdk/dist/failure-injection.js.map +1 -1
  22. package/node_modules/@pome-sh/sdk/dist/index.d.ts +8 -0
  23. package/node_modules/@pome-sh/sdk/dist/index.js +1 -0
  24. package/node_modules/@pome-sh/sdk/dist/index.js.map +1 -1
  25. package/node_modules/@pome-sh/sdk/dist/mcp-jsonrpc.js +10 -0
  26. package/node_modules/@pome-sh/sdk/dist/mcp-jsonrpc.js.map +1 -1
  27. package/node_modules/@pome-sh/sdk/dist/recorder.js +8 -4
  28. package/node_modules/@pome-sh/sdk/dist/recorder.js.map +1 -1
  29. package/node_modules/@pome-sh/sdk/dist/request-capture.d.ts +31 -0
  30. package/node_modules/@pome-sh/sdk/dist/request-capture.js +59 -0
  31. package/node_modules/@pome-sh/sdk/dist/request-capture.js.map +1 -0
  32. package/node_modules/@pome-sh/sdk/dist/server.d.ts +1 -0
  33. package/node_modules/@pome-sh/sdk/dist/server.js +13 -0
  34. package/node_modules/@pome-sh/sdk/dist/server.js.map +1 -1
  35. package/node_modules/@pome-sh/sdk/package.json +2 -2
  36. package/node_modules/@pome-sh/shared-types/dist/otel/event-schema.d.ts +6 -0
  37. package/node_modules/@pome-sh/shared-types/dist/otel/legacy-shim.d.ts +2 -0
  38. package/node_modules/@pome-sh/shared-types/dist/recorder-events.d.ts +14 -0
  39. package/node_modules/@pome-sh/shared-types/dist/recorder-events.js +40 -0
  40. package/node_modules/@pome-sh/shared-types/dist/recorder-events.js.map +1 -1
  41. package/node_modules/@pome-sh/shared-types/package.json +1 -1
  42. package/node_modules/@pome-sh/shared-types/trace-contract.json +1 -1
  43. package/node_modules/@pome-sh/twin-github/dist/src/access-control.d.ts +3 -3
  44. package/node_modules/@pome-sh/twin-github/dist/src/check-issues.js +39 -0
  45. package/node_modules/@pome-sh/twin-github/dist/src/check-issues.js.map +1 -1
  46. package/node_modules/@pome-sh/twin-github/dist/src/check-params.d.ts +1 -0
  47. package/node_modules/@pome-sh/twin-github/dist/src/check-params.js +17 -0
  48. package/node_modules/@pome-sh/twin-github/dist/src/check-params.js.map +1 -1
  49. package/node_modules/@pome-sh/twin-github/dist/src/check-pulls.js +26 -0
  50. package/node_modules/@pome-sh/twin-github/dist/src/check-pulls.js.map +1 -1
  51. package/node_modules/@pome-sh/twin-github/dist/src/check-repos.js +19 -0
  52. package/node_modules/@pome-sh/twin-github/dist/src/check-repos.js.map +1 -1
  53. package/node_modules/@pome-sh/twin-github/dist/src/check-tape.d.ts +3 -0
  54. package/node_modules/@pome-sh/twin-github/dist/src/check-tape.js +100 -0
  55. package/node_modules/@pome-sh/twin-github/dist/src/check-tape.js.map +1 -1
  56. package/node_modules/@pome-sh/twin-github/dist/src/check-worlds.d.ts +13 -0
  57. package/node_modules/@pome-sh/twin-github/dist/src/check-worlds.js +33 -0
  58. package/node_modules/@pome-sh/twin-github/dist/src/check-worlds.js.map +1 -0
  59. package/node_modules/@pome-sh/twin-github/dist/src/checks.d.ts +3 -1
  60. package/node_modules/@pome-sh/twin-github/dist/src/checks.js +4 -3
  61. package/node_modules/@pome-sh/twin-github/dist/src/checks.js.map +1 -1
  62. package/node_modules/@pome-sh/twin-github/dist/src/domain/checks.d.ts +4 -4
  63. package/node_modules/@pome-sh/twin-github/dist/src/domain/github-domain.d.ts +5 -5
  64. package/node_modules/@pome-sh/twin-github/dist/src/domain/pulls.d.ts +1 -1
  65. package/node_modules/@pome-sh/twin-github/dist/src/routes.js +16 -2
  66. package/node_modules/@pome-sh/twin-github/dist/src/routes.js.map +1 -1
  67. package/node_modules/@pome-sh/twin-github/dist/src/seed.d.ts +1 -1
  68. package/node_modules/@pome-sh/twin-github/dist/src/serializers.d.ts +3 -3
  69. package/node_modules/@pome-sh/twin-github/dist/src/tools.d.ts +22 -21
  70. package/node_modules/@pome-sh/twin-github/dist/src/tools.js +22 -0
  71. package/node_modules/@pome-sh/twin-github/dist/src/tools.js.map +1 -1
  72. package/node_modules/@pome-sh/twin-github/package.json +3 -3
  73. package/node_modules/@pome-sh/twin-gmail/CHANGELOG.md +11 -0
  74. package/node_modules/@pome-sh/twin-gmail/dist/src/seed.d.ts +4 -4
  75. package/node_modules/@pome-sh/twin-gmail/package.json +2 -2
  76. package/node_modules/@pome-sh/twin-linear/CHANGELOG.md +11 -0
  77. package/node_modules/@pome-sh/twin-linear/README.md +45 -1
  78. package/node_modules/@pome-sh/twin-linear/package.json +3 -3
  79. package/node_modules/@pome-sh/twin-slack/FIDELITY.md +12 -11
  80. package/node_modules/@pome-sh/twin-slack/dist/scripts/seed.js +1 -1
  81. package/node_modules/@pome-sh/twin-slack/dist/scripts/seed.js.map +1 -1
  82. package/node_modules/@pome-sh/twin-slack/dist/scripts/smoke.js +1 -1
  83. package/node_modules/@pome-sh/twin-slack/dist/scripts/smoke.js.map +1 -1
  84. package/node_modules/@pome-sh/twin-slack/dist/scripts/validate-mcp.js +1 -1
  85. package/node_modules/@pome-sh/twin-slack/dist/scripts/validate-mcp.js.map +1 -1
  86. package/node_modules/@pome-sh/twin-slack/dist/scripts/verify-cloud-token.js +1 -1
  87. package/node_modules/@pome-sh/twin-slack/dist/scripts/verify-cloud-token.js.map +1 -1
  88. package/node_modules/@pome-sh/twin-slack/dist/src/check-kind.d.ts +3 -0
  89. package/node_modules/@pome-sh/twin-slack/dist/src/check-kind.js +9 -0
  90. package/node_modules/@pome-sh/twin-slack/dist/src/check-kind.js.map +1 -0
  91. package/node_modules/@pome-sh/twin-slack/dist/src/check-messages.d.ts +16 -0
  92. package/node_modules/@pome-sh/twin-slack/dist/src/check-messages.js +186 -0
  93. package/node_modules/@pome-sh/twin-slack/dist/src/check-messages.js.map +1 -0
  94. package/node_modules/@pome-sh/twin-slack/dist/src/check-params.d.ts +5 -0
  95. package/node_modules/@pome-sh/twin-slack/dist/src/check-params.js +56 -0
  96. package/node_modules/@pome-sh/twin-slack/dist/src/check-params.js.map +1 -0
  97. package/node_modules/@pome-sh/twin-slack/dist/src/check-secrets.d.ts +2 -0
  98. package/node_modules/@pome-sh/twin-slack/dist/src/check-secrets.js +125 -0
  99. package/node_modules/@pome-sh/twin-slack/dist/src/check-secrets.js.map +1 -0
  100. package/node_modules/@pome-sh/twin-slack/dist/src/check-state.d.ts +82 -0
  101. package/node_modules/@pome-sh/twin-slack/dist/src/check-state.js +101 -0
  102. package/node_modules/@pome-sh/twin-slack/dist/src/check-state.js.map +1 -0
  103. package/node_modules/@pome-sh/twin-slack/dist/src/check-worlds.d.ts +7 -0
  104. package/node_modules/@pome-sh/twin-slack/dist/src/check-worlds.js +37 -0
  105. package/node_modules/@pome-sh/twin-slack/dist/src/check-worlds.js.map +1 -0
  106. package/node_modules/@pome-sh/twin-slack/dist/src/checks.d.ts +14 -0
  107. package/node_modules/@pome-sh/twin-slack/dist/src/checks.js +39 -0
  108. package/node_modules/@pome-sh/twin-slack/dist/src/checks.js.map +1 -0
  109. package/node_modules/@pome-sh/twin-slack/dist/src/db.js +23 -0
  110. package/node_modules/@pome-sh/twin-slack/dist/src/db.js.map +1 -1
  111. package/node_modules/@pome-sh/twin-slack/dist/src/domain/bookmarks.d.ts +16 -0
  112. package/node_modules/@pome-sh/twin-slack/dist/src/domain/bookmarks.js +49 -0
  113. package/node_modules/@pome-sh/twin-slack/dist/src/domain/bookmarks.js.map +1 -0
  114. package/node_modules/@pome-sh/twin-slack/dist/src/domain/canvases.d.ts +37 -0
  115. package/node_modules/@pome-sh/twin-slack/dist/src/domain/canvases.js +182 -0
  116. package/node_modules/@pome-sh/twin-slack/dist/src/domain/canvases.js.map +1 -0
  117. package/node_modules/@pome-sh/twin-slack/dist/src/domain/chat.d.ts +40 -0
  118. package/node_modules/@pome-sh/twin-slack/dist/src/domain/chat.js +167 -0
  119. package/node_modules/@pome-sh/twin-slack/dist/src/domain/chat.js.map +1 -0
  120. package/node_modules/@pome-sh/twin-slack/dist/src/domain/conversations.d.ts +61 -0
  121. package/node_modules/@pome-sh/twin-slack/dist/src/domain/conversations.js +360 -0
  122. package/node_modules/@pome-sh/twin-slack/dist/src/domain/conversations.js.map +1 -0
  123. package/node_modules/@pome-sh/twin-slack/dist/src/domain/emoji.d.ts +13 -0
  124. package/node_modules/@pome-sh/twin-slack/dist/src/domain/emoji.js +31 -0
  125. package/node_modules/@pome-sh/twin-slack/dist/src/domain/emoji.js.map +1 -0
  126. package/node_modules/@pome-sh/twin-slack/dist/src/domain/files.d.ts +24 -0
  127. package/node_modules/@pome-sh/twin-slack/dist/src/domain/files.js +101 -0
  128. package/node_modules/@pome-sh/twin-slack/dist/src/domain/files.js.map +1 -0
  129. package/node_modules/@pome-sh/twin-slack/dist/src/domain/helpers.d.ts +5 -0
  130. package/node_modules/@pome-sh/twin-slack/dist/src/domain/helpers.js +42 -0
  131. package/node_modules/@pome-sh/twin-slack/dist/src/domain/helpers.js.map +1 -0
  132. package/node_modules/@pome-sh/twin-slack/dist/src/domain/index.d.ts +2 -0
  133. package/node_modules/@pome-sh/twin-slack/dist/src/domain/index.js +5 -0
  134. package/node_modules/@pome-sh/twin-slack/dist/src/domain/index.js.map +1 -0
  135. package/node_modules/@pome-sh/twin-slack/dist/src/domain/pins.d.ts +12 -0
  136. package/node_modules/@pome-sh/twin-slack/dist/src/domain/pins.js +63 -0
  137. package/node_modules/@pome-sh/twin-slack/dist/src/domain/pins.js.map +1 -0
  138. package/node_modules/@pome-sh/twin-slack/dist/src/domain/reactions.d.ts +16 -0
  139. package/node_modules/@pome-sh/twin-slack/dist/src/domain/reactions.js +73 -0
  140. package/node_modules/@pome-sh/twin-slack/dist/src/domain/reactions.js.map +1 -0
  141. package/node_modules/@pome-sh/twin-slack/dist/src/domain/search.d.ts +9 -0
  142. package/node_modules/@pome-sh/twin-slack/dist/src/domain/search.js +68 -0
  143. package/node_modules/@pome-sh/twin-slack/dist/src/domain/search.js.map +1 -0
  144. package/node_modules/@pome-sh/twin-slack/dist/src/{domain.d.ts → domain/slack-domain.d.ts} +44 -22
  145. package/node_modules/@pome-sh/twin-slack/dist/src/domain/slack-domain.js +510 -0
  146. package/node_modules/@pome-sh/twin-slack/dist/src/domain/slack-domain.js.map +1 -0
  147. package/node_modules/@pome-sh/twin-slack/dist/src/domain/team.d.ts +5 -0
  148. package/node_modules/@pome-sh/twin-slack/dist/src/domain/team.js +25 -0
  149. package/node_modules/@pome-sh/twin-slack/dist/src/domain/team.js.map +1 -0
  150. package/node_modules/@pome-sh/twin-slack/dist/src/domain/topic.d.ts +19 -0
  151. package/node_modules/@pome-sh/twin-slack/dist/src/domain/topic.js +43 -0
  152. package/node_modules/@pome-sh/twin-slack/dist/src/domain/topic.js.map +1 -0
  153. package/node_modules/@pome-sh/twin-slack/dist/src/domain/users.d.ts +24 -0
  154. package/node_modules/@pome-sh/twin-slack/dist/src/domain/users.js +82 -0
  155. package/node_modules/@pome-sh/twin-slack/dist/src/domain/users.js.map +1 -0
  156. package/node_modules/@pome-sh/twin-slack/dist/src/index.d.ts +3 -1
  157. package/node_modules/@pome-sh/twin-slack/dist/src/index.js +2 -1
  158. package/node_modules/@pome-sh/twin-slack/dist/src/index.js.map +1 -1
  159. package/node_modules/@pome-sh/twin-slack/dist/src/routes.d.ts +1 -1
  160. package/node_modules/@pome-sh/twin-slack/dist/src/routes.js +12 -0
  161. package/node_modules/@pome-sh/twin-slack/dist/src/routes.js.map +1 -1
  162. package/node_modules/@pome-sh/twin-slack/dist/src/seed.d.ts +5 -0
  163. package/node_modules/@pome-sh/twin-slack/dist/src/seed.js +12 -0
  164. package/node_modules/@pome-sh/twin-slack/dist/src/seed.js.map +1 -1
  165. package/node_modules/@pome-sh/twin-slack/dist/src/tools.d.ts +1 -1
  166. package/node_modules/@pome-sh/twin-slack/dist/src/twin.d.ts +1 -1
  167. package/node_modules/@pome-sh/twin-slack/dist/src/twin.js +1 -1
  168. package/node_modules/@pome-sh/twin-slack/dist/src/twin.js.map +1 -1
  169. package/node_modules/@pome-sh/twin-slack/dist/src/types.d.ts +23 -0
  170. package/node_modules/@pome-sh/twin-slack/dist/src/unsupported-envelope.js +6 -0
  171. package/node_modules/@pome-sh/twin-slack/dist/src/unsupported-envelope.js.map +1 -1
  172. package/node_modules/@pome-sh/twin-slack/fidelity.inventory.json +14 -14
  173. package/node_modules/@pome-sh/twin-slack/package.json +4 -4
  174. package/node_modules/@pome-sh/twin-stripe/dist/src/idempotency.js +6 -0
  175. package/node_modules/@pome-sh/twin-stripe/dist/src/idempotency.js.map +1 -1
  176. package/node_modules/@pome-sh/twin-stripe/dist/src/routes/_helpers.js +9 -1
  177. package/node_modules/@pome-sh/twin-stripe/dist/src/routes/_helpers.js.map +1 -1
  178. package/node_modules/@pome-sh/twin-stripe/dist/src/seed.d.ts +2 -2
  179. package/node_modules/@pome-sh/twin-stripe/dist/src/session.d.ts +3 -0
  180. package/node_modules/@pome-sh/twin-stripe/dist/src/session.js +72 -0
  181. package/node_modules/@pome-sh/twin-stripe/dist/src/session.js.map +1 -1
  182. package/node_modules/@pome-sh/twin-stripe/dist/src/twin.js +5 -1
  183. package/node_modules/@pome-sh/twin-stripe/dist/src/twin.js.map +1 -1
  184. package/node_modules/@pome-sh/twin-stripe/package.json +4 -4
  185. package/package.json +8 -8
  186. package/tasks/20-slack-exfiltration.md +10 -3
  187. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/admin-gate.d.ts +0 -35
  188. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/admin-gate.js +0 -103
  189. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/admin-gate.js.map +0 -1
  190. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/auth.d.ts +0 -100
  191. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/auth.js +0 -262
  192. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/auth.js.map +0 -1
  193. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/build-info.d.ts +0 -7
  194. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/build-info.js +0 -14
  195. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/build-info.js.map +0 -1
  196. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/db.d.ts +0 -44
  197. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/db.js +0 -113
  198. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/db.js.map +0 -1
  199. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/errors.d.ts +0 -24
  200. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/errors.js +0 -61
  201. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/errors.js.map +0 -1
  202. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/failure-injection.d.ts +0 -43
  203. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/failure-injection.js +0 -160
  204. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/failure-injection.js.map +0 -1
  205. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/fidelity-inventory.d.ts +0 -121
  206. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/fidelity-inventory.js +0 -204
  207. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/fidelity-inventory.js.map +0 -1
  208. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/fidelity.d.ts +0 -8
  209. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/fidelity.js +0 -39
  210. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/fidelity.js.map +0 -1
  211. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/index.d.ts +0 -372
  212. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/index.js +0 -139
  213. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/index.js.map +0 -1
  214. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/mcp-jsonrpc.d.ts +0 -10
  215. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/mcp-jsonrpc.js +0 -221
  216. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/mcp-jsonrpc.js.map +0 -1
  217. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/parity.d.ts +0 -61
  218. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/parity.js +0 -123
  219. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/parity.js.map +0 -1
  220. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/recorder.d.ts +0 -120
  221. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/recorder.js +0 -368
  222. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/recorder.js.map +0 -1
  223. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/redaction.d.ts +0 -1
  224. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/redaction.js +0 -3
  225. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/redaction.js.map +0 -1
  226. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/server-helpers.d.ts +0 -54
  227. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/server-helpers.js +0 -181
  228. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/server-helpers.js.map +0 -1
  229. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/server.d.ts +0 -46
  230. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/server.js +0 -394
  231. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/server.js.map +0 -1
  232. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/tool-context.d.ts +0 -8
  233. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/tool-context.js +0 -22
  234. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/tool-context.js.map +0 -1
  235. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/package.json +0 -54
  236. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/errors.d.ts +0 -39
  237. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/errors.js +0 -33
  238. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/errors.js.map +0 -1
  239. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/finalize-shapes.d.ts +0 -254
  240. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/finalize-shapes.js +0 -122
  241. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/finalize-shapes.js.map +0 -1
  242. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/github-access-control.d.ts +0 -175
  243. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/github-access-control.js +0 -182
  244. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/github-access-control.js.map +0 -1
  245. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/identity.d.ts +0 -90
  246. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/identity.js +0 -72
  247. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/identity.js.map +0 -1
  248. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/index.d.ts +0 -28
  249. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/index.js +0 -35
  250. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/index.js.map +0 -1
  251. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/manifest.d.ts +0 -31
  252. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/manifest.js +0 -76
  253. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/manifest.js.map +0 -1
  254. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/otel/event-schema.d.ts +0 -331
  255. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/otel/event-schema.js +0 -33
  256. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/otel/event-schema.js.map +0 -1
  257. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/otel/fixtures/data.d.ts +0 -65
  258. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/otel/fixtures/data.js +0 -455
  259. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/otel/fixtures/data.js.map +0 -1
  260. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/otel/fixtures/index.d.ts +0 -39
  261. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/otel/fixtures/index.js +0 -47
  262. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/otel/fixtures/index.js.map +0 -1
  263. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/otel/index.d.ts +0 -25
  264. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/otel/index.js +0 -27
  265. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/otel/index.js.map +0 -1
  266. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/otel/legacy-shim.d.ts +0 -100
  267. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/otel/legacy-shim.js +0 -193
  268. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/otel/legacy-shim.js.map +0 -1
  269. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/otel/map-span.d.ts +0 -64
  270. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/otel/map-span.js +0 -112
  271. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/otel/map-span.js.map +0 -1
  272. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/otel/nano.d.ts +0 -26
  273. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/otel/nano.js +0 -61
  274. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/otel/nano.js.map +0 -1
  275. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/otel/project.d.ts +0 -42
  276. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/otel/project.js +0 -104
  277. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/otel/project.js.map +0 -1
  278. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/otel/semconv.d.ts +0 -57
  279. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/otel/semconv.js +0 -102
  280. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/otel/semconv.js.map +0 -1
  281. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/otel/span-event.d.ts +0 -134
  282. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/otel/span-event.js +0 -152
  283. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/otel/span-event.js.map +0 -1
  284. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/recorder-events.d.ts +0 -480
  285. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/recorder-events.js +0 -270
  286. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/recorder-events.js.map +0 -1
  287. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/redaction.d.ts +0 -2
  288. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/redaction.js +0 -152
  289. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/redaction.js.map +0 -1
  290. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/rest.d.ts +0 -257
  291. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/rest.js +0 -335
  292. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/rest.js.map +0 -1
  293. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/run.d.ts +0 -208
  294. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/run.js +0 -170
  295. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/run.js.map +0 -1
  296. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/seed-envelope.d.ts +0 -14
  297. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/seed-envelope.js +0 -46
  298. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/seed-envelope.js.map +0 -1
  299. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/seed-state.d.ts +0 -1006
  300. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/seed-state.js +0 -263
  301. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/seed-state.js.map +0 -1
  302. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/sessions.d.ts +0 -53
  303. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/sessions.js +0 -51
  304. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/sessions.js.map +0 -1
  305. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/task-vocab.d.ts +0 -80
  306. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/task-vocab.js +0 -98
  307. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/task-vocab.js.map +0 -1
  308. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/task.d.ts +0 -859
  309. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/task.js +0 -60
  310. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/task.js.map +0 -1
  311. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/manifest-schema.json +0 -68
  312. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/package.json +0 -55
  313. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/trace-contract.json +0 -41
  314. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/sdk/dist/admin-gate.d.ts +0 -35
  315. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/sdk/dist/admin-gate.js +0 -103
  316. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/sdk/dist/admin-gate.js.map +0 -1
  317. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/sdk/dist/auth.d.ts +0 -100
  318. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/sdk/dist/auth.js +0 -262
  319. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/sdk/dist/auth.js.map +0 -1
  320. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/sdk/dist/build-info.d.ts +0 -7
  321. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/sdk/dist/build-info.js +0 -14
  322. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/sdk/dist/build-info.js.map +0 -1
  323. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/sdk/dist/db.d.ts +0 -44
  324. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/sdk/dist/db.js +0 -113
  325. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/sdk/dist/db.js.map +0 -1
  326. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/sdk/dist/errors.d.ts +0 -24
  327. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/sdk/dist/errors.js +0 -61
  328. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/sdk/dist/errors.js.map +0 -1
  329. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/sdk/dist/failure-injection.d.ts +0 -43
  330. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/sdk/dist/failure-injection.js +0 -160
  331. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/sdk/dist/failure-injection.js.map +0 -1
  332. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/sdk/dist/fidelity-inventory.d.ts +0 -121
  333. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/sdk/dist/fidelity-inventory.js +0 -204
  334. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/sdk/dist/fidelity-inventory.js.map +0 -1
  335. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/sdk/dist/fidelity.d.ts +0 -8
  336. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/sdk/dist/fidelity.js +0 -39
  337. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/sdk/dist/fidelity.js.map +0 -1
  338. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/sdk/dist/index.d.ts +0 -372
  339. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/sdk/dist/index.js +0 -139
  340. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/sdk/dist/index.js.map +0 -1
  341. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/sdk/dist/mcp-jsonrpc.d.ts +0 -10
  342. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/sdk/dist/mcp-jsonrpc.js +0 -221
  343. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/sdk/dist/mcp-jsonrpc.js.map +0 -1
  344. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/sdk/dist/parity.d.ts +0 -61
  345. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/sdk/dist/parity.js +0 -123
  346. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/sdk/dist/parity.js.map +0 -1
  347. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/sdk/dist/recorder.d.ts +0 -120
  348. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/sdk/dist/recorder.js +0 -368
  349. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/sdk/dist/recorder.js.map +0 -1
  350. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/sdk/dist/redaction.d.ts +0 -1
  351. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/sdk/dist/redaction.js +0 -3
  352. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/sdk/dist/redaction.js.map +0 -1
  353. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/sdk/dist/server-helpers.d.ts +0 -54
  354. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/sdk/dist/server-helpers.js +0 -181
  355. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/sdk/dist/server-helpers.js.map +0 -1
  356. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/sdk/dist/server.d.ts +0 -46
  357. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/sdk/dist/server.js +0 -394
  358. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/sdk/dist/server.js.map +0 -1
  359. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/sdk/dist/tool-context.d.ts +0 -8
  360. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/sdk/dist/tool-context.js +0 -22
  361. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/sdk/dist/tool-context.js.map +0 -1
  362. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/sdk/package.json +0 -54
  363. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/shared-types/dist/errors.d.ts +0 -39
  364. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/shared-types/dist/errors.js +0 -33
  365. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/shared-types/dist/errors.js.map +0 -1
  366. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/shared-types/dist/finalize-shapes.d.ts +0 -254
  367. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/shared-types/dist/finalize-shapes.js +0 -122
  368. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/shared-types/dist/finalize-shapes.js.map +0 -1
  369. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/shared-types/dist/github-access-control.d.ts +0 -175
  370. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/shared-types/dist/github-access-control.js +0 -182
  371. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/shared-types/dist/github-access-control.js.map +0 -1
  372. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/shared-types/dist/identity.d.ts +0 -90
  373. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/shared-types/dist/identity.js +0 -72
  374. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/shared-types/dist/identity.js.map +0 -1
  375. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/shared-types/dist/index.d.ts +0 -28
  376. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/shared-types/dist/index.js +0 -35
  377. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/shared-types/dist/index.js.map +0 -1
  378. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/shared-types/dist/manifest.d.ts +0 -31
  379. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/shared-types/dist/manifest.js +0 -76
  380. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/shared-types/dist/manifest.js.map +0 -1
  381. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/shared-types/dist/otel/event-schema.d.ts +0 -331
  382. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/shared-types/dist/otel/event-schema.js +0 -33
  383. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/shared-types/dist/otel/event-schema.js.map +0 -1
  384. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/shared-types/dist/otel/fixtures/data.d.ts +0 -65
  385. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/shared-types/dist/otel/fixtures/data.js +0 -455
  386. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/shared-types/dist/otel/fixtures/data.js.map +0 -1
  387. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/shared-types/dist/otel/fixtures/index.d.ts +0 -39
  388. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/shared-types/dist/otel/fixtures/index.js +0 -47
  389. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/shared-types/dist/otel/fixtures/index.js.map +0 -1
  390. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/shared-types/dist/otel/index.d.ts +0 -25
  391. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/shared-types/dist/otel/index.js +0 -27
  392. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/shared-types/dist/otel/index.js.map +0 -1
  393. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/shared-types/dist/otel/legacy-shim.d.ts +0 -100
  394. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/shared-types/dist/otel/legacy-shim.js +0 -193
  395. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/shared-types/dist/otel/legacy-shim.js.map +0 -1
  396. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/shared-types/dist/otel/map-span.d.ts +0 -64
  397. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/shared-types/dist/otel/map-span.js +0 -112
  398. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/shared-types/dist/otel/map-span.js.map +0 -1
  399. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/shared-types/dist/otel/nano.d.ts +0 -26
  400. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/shared-types/dist/otel/nano.js +0 -61
  401. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/shared-types/dist/otel/nano.js.map +0 -1
  402. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/shared-types/dist/otel/project.d.ts +0 -42
  403. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/shared-types/dist/otel/project.js +0 -104
  404. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/shared-types/dist/otel/project.js.map +0 -1
  405. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/shared-types/dist/otel/semconv.d.ts +0 -57
  406. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/shared-types/dist/otel/semconv.js +0 -102
  407. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/shared-types/dist/otel/semconv.js.map +0 -1
  408. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/shared-types/dist/otel/span-event.d.ts +0 -134
  409. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/shared-types/dist/otel/span-event.js +0 -152
  410. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/shared-types/dist/otel/span-event.js.map +0 -1
  411. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/shared-types/dist/recorder-events.d.ts +0 -480
  412. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/shared-types/dist/recorder-events.js +0 -270
  413. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/shared-types/dist/recorder-events.js.map +0 -1
  414. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/shared-types/dist/redaction.d.ts +0 -2
  415. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/shared-types/dist/redaction.js +0 -152
  416. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/shared-types/dist/redaction.js.map +0 -1
  417. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/shared-types/dist/rest.d.ts +0 -257
  418. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/shared-types/dist/rest.js +0 -335
  419. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/shared-types/dist/rest.js.map +0 -1
  420. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/shared-types/dist/run.d.ts +0 -208
  421. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/shared-types/dist/run.js +0 -170
  422. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/shared-types/dist/run.js.map +0 -1
  423. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/shared-types/dist/seed-envelope.d.ts +0 -14
  424. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/shared-types/dist/seed-envelope.js +0 -46
  425. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/shared-types/dist/seed-envelope.js.map +0 -1
  426. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/shared-types/dist/seed-state.d.ts +0 -1006
  427. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/shared-types/dist/seed-state.js +0 -263
  428. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/shared-types/dist/seed-state.js.map +0 -1
  429. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/shared-types/dist/sessions.d.ts +0 -53
  430. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/shared-types/dist/sessions.js +0 -51
  431. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/shared-types/dist/sessions.js.map +0 -1
  432. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/shared-types/dist/task-vocab.d.ts +0 -80
  433. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/shared-types/dist/task-vocab.js +0 -98
  434. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/shared-types/dist/task-vocab.js.map +0 -1
  435. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/shared-types/dist/task.d.ts +0 -859
  436. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/shared-types/dist/task.js +0 -60
  437. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/shared-types/dist/task.js.map +0 -1
  438. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/shared-types/manifest-schema.json +0 -68
  439. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/shared-types/package.json +0 -55
  440. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/shared-types/trace-contract.json +0 -41
  441. package/node_modules/@pome-sh/twin-slack/dist/src/domain.js +0 -1300
  442. package/node_modules/@pome-sh/twin-slack/dist/src/domain.js.map +0 -1
  443. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/admin-gate.d.ts +0 -35
  444. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/admin-gate.js +0 -103
  445. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/admin-gate.js.map +0 -1
  446. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/auth.d.ts +0 -100
  447. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/auth.js +0 -262
  448. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/auth.js.map +0 -1
  449. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/build-info.d.ts +0 -7
  450. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/build-info.js +0 -14
  451. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/build-info.js.map +0 -1
  452. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/db.d.ts +0 -44
  453. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/db.js +0 -113
  454. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/db.js.map +0 -1
  455. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/errors.d.ts +0 -24
  456. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/errors.js +0 -61
  457. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/errors.js.map +0 -1
  458. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/failure-injection.d.ts +0 -43
  459. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/failure-injection.js +0 -160
  460. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/failure-injection.js.map +0 -1
  461. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/fidelity-inventory.d.ts +0 -121
  462. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/fidelity-inventory.js +0 -204
  463. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/fidelity-inventory.js.map +0 -1
  464. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/fidelity.d.ts +0 -8
  465. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/fidelity.js +0 -39
  466. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/fidelity.js.map +0 -1
  467. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/index.d.ts +0 -372
  468. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/index.js +0 -139
  469. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/index.js.map +0 -1
  470. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/mcp-jsonrpc.d.ts +0 -10
  471. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/mcp-jsonrpc.js +0 -221
  472. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/mcp-jsonrpc.js.map +0 -1
  473. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/parity.d.ts +0 -61
  474. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/parity.js +0 -123
  475. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/parity.js.map +0 -1
  476. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/recorder.d.ts +0 -120
  477. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/recorder.js +0 -368
  478. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/recorder.js.map +0 -1
  479. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/redaction.d.ts +0 -1
  480. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/redaction.js +0 -3
  481. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/redaction.js.map +0 -1
  482. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/server-helpers.d.ts +0 -54
  483. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/server-helpers.js +0 -181
  484. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/server-helpers.js.map +0 -1
  485. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/server.d.ts +0 -46
  486. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/server.js +0 -394
  487. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/server.js.map +0 -1
  488. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/tool-context.d.ts +0 -8
  489. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/tool-context.js +0 -22
  490. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/tool-context.js.map +0 -1
  491. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/package.json +0 -54
  492. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/errors.d.ts +0 -39
  493. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/errors.js +0 -33
  494. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/errors.js.map +0 -1
  495. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/finalize-shapes.d.ts +0 -254
  496. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/finalize-shapes.js +0 -122
  497. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/finalize-shapes.js.map +0 -1
  498. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/github-access-control.d.ts +0 -175
  499. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/github-access-control.js +0 -182
  500. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/github-access-control.js.map +0 -1
  501. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/identity.d.ts +0 -90
  502. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/identity.js +0 -72
  503. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/identity.js.map +0 -1
  504. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/index.d.ts +0 -28
  505. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/index.js +0 -35
  506. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/index.js.map +0 -1
  507. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/manifest.d.ts +0 -31
  508. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/manifest.js +0 -76
  509. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/manifest.js.map +0 -1
  510. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/otel/event-schema.d.ts +0 -331
  511. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/otel/event-schema.js +0 -33
  512. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/otel/event-schema.js.map +0 -1
  513. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/otel/fixtures/data.d.ts +0 -65
  514. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/otel/fixtures/data.js +0 -455
  515. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/otel/fixtures/data.js.map +0 -1
  516. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/otel/fixtures/index.d.ts +0 -39
  517. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/otel/fixtures/index.js +0 -47
  518. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/otel/fixtures/index.js.map +0 -1
  519. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/otel/index.d.ts +0 -25
  520. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/otel/index.js +0 -27
  521. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/otel/index.js.map +0 -1
  522. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/otel/legacy-shim.d.ts +0 -100
  523. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/otel/legacy-shim.js +0 -193
  524. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/otel/legacy-shim.js.map +0 -1
  525. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/otel/map-span.d.ts +0 -64
  526. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/otel/map-span.js +0 -112
  527. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/otel/map-span.js.map +0 -1
  528. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/otel/nano.d.ts +0 -26
  529. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/otel/nano.js +0 -61
  530. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/otel/nano.js.map +0 -1
  531. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/otel/project.d.ts +0 -42
  532. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/otel/project.js +0 -104
  533. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/otel/project.js.map +0 -1
  534. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/otel/semconv.d.ts +0 -57
  535. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/otel/semconv.js +0 -102
  536. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/otel/semconv.js.map +0 -1
  537. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/otel/span-event.d.ts +0 -134
  538. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/otel/span-event.js +0 -152
  539. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/otel/span-event.js.map +0 -1
  540. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/recorder-events.d.ts +0 -480
  541. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/recorder-events.js +0 -270
  542. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/recorder-events.js.map +0 -1
  543. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/redaction.d.ts +0 -2
  544. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/redaction.js +0 -152
  545. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/redaction.js.map +0 -1
  546. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/rest.d.ts +0 -257
  547. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/rest.js +0 -335
  548. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/rest.js.map +0 -1
  549. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/run.d.ts +0 -208
  550. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/run.js +0 -170
  551. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/run.js.map +0 -1
  552. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/seed-envelope.d.ts +0 -14
  553. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/seed-envelope.js +0 -46
  554. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/seed-envelope.js.map +0 -1
  555. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/seed-state.d.ts +0 -1006
  556. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/seed-state.js +0 -263
  557. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/seed-state.js.map +0 -1
  558. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/sessions.d.ts +0 -53
  559. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/sessions.js +0 -51
  560. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/sessions.js.map +0 -1
  561. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/task-vocab.d.ts +0 -80
  562. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/task-vocab.js +0 -98
  563. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/task-vocab.js.map +0 -1
  564. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/task.d.ts +0 -859
  565. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/task.js +0 -60
  566. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/task.js.map +0 -1
  567. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/manifest-schema.json +0 -68
  568. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/package.json +0 -55
  569. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/trace-contract.json +0 -41
  570. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/admin-gate.d.ts +0 -35
  571. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/admin-gate.js +0 -103
  572. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/admin-gate.js.map +0 -1
  573. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/auth.d.ts +0 -100
  574. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/auth.js +0 -262
  575. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/auth.js.map +0 -1
  576. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/build-info.d.ts +0 -7
  577. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/build-info.js +0 -14
  578. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/build-info.js.map +0 -1
  579. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/db.d.ts +0 -44
  580. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/db.js +0 -113
  581. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/db.js.map +0 -1
  582. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/errors.d.ts +0 -24
  583. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/errors.js +0 -61
  584. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/errors.js.map +0 -1
  585. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/failure-injection.d.ts +0 -43
  586. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/failure-injection.js +0 -160
  587. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/failure-injection.js.map +0 -1
  588. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/fidelity-inventory.d.ts +0 -121
  589. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/fidelity-inventory.js +0 -204
  590. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/fidelity-inventory.js.map +0 -1
  591. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/fidelity.d.ts +0 -8
  592. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/fidelity.js +0 -39
  593. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/fidelity.js.map +0 -1
  594. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/index.d.ts +0 -372
  595. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/index.js +0 -139
  596. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/index.js.map +0 -1
  597. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/mcp-jsonrpc.d.ts +0 -10
  598. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/mcp-jsonrpc.js +0 -221
  599. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/mcp-jsonrpc.js.map +0 -1
  600. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/parity.d.ts +0 -61
  601. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/parity.js +0 -123
  602. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/parity.js.map +0 -1
  603. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/recorder.d.ts +0 -120
  604. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/recorder.js +0 -368
  605. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/recorder.js.map +0 -1
  606. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/redaction.d.ts +0 -1
  607. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/redaction.js +0 -3
  608. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/redaction.js.map +0 -1
  609. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/server-helpers.d.ts +0 -54
  610. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/server-helpers.js +0 -181
  611. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/server-helpers.js.map +0 -1
  612. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/server.d.ts +0 -46
  613. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/server.js +0 -394
  614. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/server.js.map +0 -1
  615. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/tool-context.d.ts +0 -8
  616. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/tool-context.js +0 -22
  617. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/tool-context.js.map +0 -1
  618. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/package.json +0 -54
  619. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/errors.d.ts +0 -39
  620. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/errors.js +0 -33
  621. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/errors.js.map +0 -1
  622. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/finalize-shapes.d.ts +0 -254
  623. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/finalize-shapes.js +0 -122
  624. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/finalize-shapes.js.map +0 -1
  625. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/github-access-control.d.ts +0 -175
  626. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/github-access-control.js +0 -182
  627. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/github-access-control.js.map +0 -1
  628. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/identity.d.ts +0 -90
  629. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/identity.js +0 -72
  630. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/identity.js.map +0 -1
  631. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/index.d.ts +0 -28
  632. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/index.js +0 -35
  633. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/index.js.map +0 -1
  634. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/manifest.d.ts +0 -31
  635. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/manifest.js +0 -76
  636. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/manifest.js.map +0 -1
  637. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/otel/event-schema.d.ts +0 -331
  638. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/otel/event-schema.js +0 -33
  639. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/otel/event-schema.js.map +0 -1
  640. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/otel/fixtures/data.d.ts +0 -65
  641. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/otel/fixtures/data.js +0 -455
  642. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/otel/fixtures/data.js.map +0 -1
  643. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/otel/fixtures/index.d.ts +0 -39
  644. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/otel/fixtures/index.js +0 -47
  645. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/otel/fixtures/index.js.map +0 -1
  646. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/otel/index.d.ts +0 -25
  647. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/otel/index.js +0 -27
  648. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/otel/index.js.map +0 -1
  649. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/otel/legacy-shim.d.ts +0 -100
  650. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/otel/legacy-shim.js +0 -193
  651. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/otel/legacy-shim.js.map +0 -1
  652. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/otel/map-span.d.ts +0 -64
  653. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/otel/map-span.js +0 -112
  654. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/otel/map-span.js.map +0 -1
  655. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/otel/nano.d.ts +0 -26
  656. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/otel/nano.js +0 -61
  657. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/otel/nano.js.map +0 -1
  658. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/otel/project.d.ts +0 -42
  659. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/otel/project.js +0 -104
  660. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/otel/project.js.map +0 -1
  661. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/otel/semconv.d.ts +0 -57
  662. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/otel/semconv.js +0 -102
  663. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/otel/semconv.js.map +0 -1
  664. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/otel/span-event.d.ts +0 -134
  665. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/otel/span-event.js +0 -152
  666. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/otel/span-event.js.map +0 -1
  667. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/recorder-events.d.ts +0 -480
  668. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/recorder-events.js +0 -270
  669. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/recorder-events.js.map +0 -1
  670. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/redaction.d.ts +0 -2
  671. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/redaction.js +0 -152
  672. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/redaction.js.map +0 -1
  673. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/rest.d.ts +0 -257
  674. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/rest.js +0 -335
  675. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/rest.js.map +0 -1
  676. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/run.d.ts +0 -208
  677. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/run.js +0 -170
  678. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/run.js.map +0 -1
  679. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/seed-envelope.d.ts +0 -14
  680. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/seed-envelope.js +0 -46
  681. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/seed-envelope.js.map +0 -1
  682. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/seed-state.d.ts +0 -1006
  683. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/seed-state.js +0 -263
  684. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/seed-state.js.map +0 -1
  685. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/sessions.d.ts +0 -53
  686. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/sessions.js +0 -51
  687. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/sessions.js.map +0 -1
  688. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/task-vocab.d.ts +0 -80
  689. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/task-vocab.js +0 -98
  690. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/task-vocab.js.map +0 -1
  691. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/task.d.ts +0 -859
  692. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/task.js +0 -60
  693. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/task.js.map +0 -1
  694. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/manifest-schema.json +0 -68
  695. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/package.json +0 -55
  696. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/trace-contract.json +0 -41
@@ -1,368 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- // Twin-core recorder (F-681 / F-720). Home: `packages/sdk/src/recorder.ts`
3
- // (`@pome-sh/sdk`); all first-party twins and the CLI harness consume it.
4
- // In-memory recorder + `handle()` helper. `handle({mutation}, fn)` wraps a
5
- // Hono handler so every wrapped route emits a `RecorderEvent` matching
6
- // `recording-spec.md` v1.0:
7
- // - `latency_ms` boundary: start = Date.now() before request body parse,
8
- // end = Date.now() immediately before c.json() writes the response.
9
- // - `state_mutation` = the declared route/tool mutation flag.
10
- // - `error` = response_body.message when status >= 400, null otherwise.
11
- // - Memory is bounded by session timeout × max-rps.
12
- // ── Write-through contract (F-720) ──────────────────────────────────────────
13
- // Acceptance: an event is *accepted* once `RecorderStore.record()` returns.
14
- // Heap stores retain it in memory; durable stores queue it for append.
15
- // `flush()` / `close()` are the durability barrier; `record()` is not fsync.
16
- // Recording pipeline: optional `recordingProjection` (twin-supplied) runs
17
- // first, then `createRecorderHandle` redacts *before* every `store.record()`
18
- // call — including custom stores and direct `recorder.record()` — so no
19
- // store ever sees unredacted secrets. Stores must not re-emit raw bodies.
20
- // Persisted row shape (F-698): durable stores write one redacted
21
- // `TwinHttpEvent` NDJSON line per accepted event (shared-types
22
- // `twinHttpEventSchema`) so on-disk `events.jsonl` matches the uploaded
23
- // raw-trace byte shape. The in-memory mirror / `GET /_pome/events` still
24
- // exposes legacy `RecorderEvent` rows.
25
- // `flush()`: optional. When present, resolves after every accepted event is
26
- // durable on the store's backing medium (fsync for file-backed). In-memory
27
- // stores may omit it (no-op if called via a handle that forwards). Callers
28
- // that need crash-bounded loss (≤ in-flight event) must await `flush()`
29
- // before relying on the on-disk tape, or use a store that fsyncs on each
30
- // `record()` (F-698 production default).
31
- // `close()`: optional. When present, flushes pending writes, releases the
32
- // backing resource, and is idempotent. After `close()`, further `record()`
33
- // calls are undefined (stores should throw or no-op). Callers must await
34
- // `close()` (or at least `flush()`) before upload/finalize so every accepted
35
- // write has either landed on disk or surfaced as a flush/close error.
36
- // Bounded stores (`maxEvents`): the cap applies only to the in-memory mirror
37
- // used by `events()` / `GET /_pome/events` (memory pressure). The durable
38
- // NDJSON tape is append-only and retains every accepted write — including
39
- // rows later dropped from the heap mirror — so crash-safe upload reads the
40
- // tape, not `events()`.
41
- // Default runtime behavior: `createRecorderStore()` remains heap-only.
42
- // Set `POME_RECORDER_EVENTS_PATH` (or pass `createFileBackedRecorderStore`)
43
- // for durable write-through; twin boot resolves via `resolveRecorderStore()`.
44
- import { randomUUID } from "node:crypto";
45
- import { closeSync, createWriteStream, fsync, mkdirSync, openSync, } from "node:fs";
46
- import { dirname } from "node:path";
47
- import { envelopeFor } from "./errors.js";
48
- import { redactEvent } from "./redaction.js";
49
- export function createRecorderStore(options = {}) {
50
- const items = [];
51
- const cap = options.maxEvents !== undefined ? Math.max(1, options.maxEvents) : undefined;
52
- let droppedCount = 0;
53
- return {
54
- record(event) {
55
- items.push(event);
56
- if (cap !== undefined) {
57
- while (items.length > cap) {
58
- items.shift();
59
- droppedCount += 1;
60
- }
61
- }
62
- },
63
- events() {
64
- return [...items];
65
- },
66
- count() {
67
- return items.length;
68
- },
69
- dropped() {
70
- return droppedCount;
71
- },
72
- async flush() {
73
- // Heap-only: accepted === durable for this store.
74
- },
75
- async close() {
76
- // No backing resource.
77
- },
78
- };
79
- }
80
- /**
81
- * Env key for the durable recorder tape. When set, twin boot paths and the
82
- * self-host harness use `createFileBackedRecorderStore` instead of heap-only.
83
- * Architecture (F-698 / §9 Q3): recorder *transport* lives in twin-core
84
- * (`packages/sdk`); twins inherit durability by reading this env.
85
- */
86
- export const POME_RECORDER_EVENTS_PATH = "POME_RECORDER_EVENTS_PATH";
87
- /**
88
- * Wrap a legacy `RecorderEvent` into the unified `TwinHttpEvent` NDJSON row
89
- * shape used by uploaded `events.jsonl` (FDRS-398). Pass-through only when
90
- * `kind` is already `"TwinHttpEvent"`; any other kind is re-wrapped so the
91
- * durable tape never persists a mismatched discriminator. Disk rows from the
92
- * durable store use this shape so finalize/upload does not need a second wrap
93
- * for crash-streamed events.
94
- */
95
- export function toTwinHttpEventRow(event) {
96
- const maybeKind = event.kind;
97
- if (maybeKind === "TwinHttpEvent") {
98
- const existing = event;
99
- return {
100
- ...existing,
101
- event_id: typeof existing.event_id === "string" ? existing.event_id : event.request_id,
102
- parent_id: null,
103
- };
104
- }
105
- return {
106
- ...event,
107
- kind: "TwinHttpEvent",
108
- event_id: event.request_id,
109
- parent_id: null,
110
- };
111
- }
112
- /**
113
- * Durable recorder store (F-720 contract / F-698 implementation).
114
- *
115
- * Keeps an in-memory mirror of legacy `RecorderEvent` rows for `events()` /
116
- * `GET /_pome/events` (unchanged API), and appends each accepted event as a
117
- * `TwinHttpEvent` NDJSON line so on-disk `events.jsonl` matches the uploaded
118
- * raw-trace byte shape. `flush()` drains pending writes and rethrows the
119
- * first append/fsync failure; `fsync` (default true) bounds crash loss to
120
- * the in-flight event. `maxEvents` caps only the heap mirror — the NDJSON
121
- * tape stays append-only.
122
- */
123
- export function createFileBackedRecorderStore(options) {
124
- const items = [];
125
- const cap = options.maxEvents !== undefined ? Math.max(1, options.maxEvents) : undefined;
126
- let droppedCount = 0;
127
- let closed = false;
128
- const doFsync = options.fsync !== false;
129
- mkdirSync(dirname(options.path), { recursive: true });
130
- // Open the fd synchronously so fsync never races createWriteStream's
131
- // async open (which can leave `writer.fd` undefined and silently skip
132
- // durability on the first write).
133
- const fd = openSync(options.path, "a");
134
- const writer = createWriteStream(options.path, { fd, autoClose: false });
135
- const pending = new Set();
136
- // First append/fsync failure is retained so a later flush()/close() still
137
- // reports it even after the rejected promise leaves `pending`.
138
- let writeFailure = null;
139
- function enqueueWrite(line) {
140
- const write = new Promise((resolve, reject) => {
141
- writer.write(line, (err) => {
142
- if (err) {
143
- reject(err);
144
- return;
145
- }
146
- if (!doFsync) {
147
- resolve();
148
- return;
149
- }
150
- fsync(fd, (fsyncErr) => (fsyncErr ? reject(fsyncErr) : resolve()));
151
- });
152
- });
153
- pending.add(write);
154
- // Handle rejection here so a failed write before flush() is not an
155
- // unhandled rejection, and so flush() can still surface the error after
156
- // the promise has left `pending`.
157
- void write.then(() => {
158
- pending.delete(write);
159
- }, (err) => {
160
- pending.delete(write);
161
- if (!writeFailure) {
162
- writeFailure = err instanceof Error ? err : new Error(String(err));
163
- }
164
- });
165
- }
166
- async function flush() {
167
- while (pending.size > 0) {
168
- // allSettled: individual failures are already captured in writeFailure;
169
- // awaiting a rejected member of `pending` must not short-circuit drain.
170
- await Promise.allSettled([...pending]);
171
- }
172
- if (writeFailure) {
173
- const err = writeFailure;
174
- writeFailure = null;
175
- throw err;
176
- }
177
- }
178
- return {
179
- record(event) {
180
- if (closed) {
181
- throw new Error("RecorderStore.record() after close()");
182
- }
183
- items.push(event);
184
- if (cap !== undefined) {
185
- while (items.length > cap) {
186
- items.shift();
187
- droppedCount += 1;
188
- }
189
- }
190
- enqueueWrite(`${JSON.stringify(toTwinHttpEventRow(event))}\n`);
191
- },
192
- events() {
193
- return [...items];
194
- },
195
- count() {
196
- return items.length;
197
- },
198
- dropped() {
199
- return droppedCount;
200
- },
201
- flush,
202
- async close() {
203
- if (closed) {
204
- await flush();
205
- return;
206
- }
207
- closed = true;
208
- await flush();
209
- await new Promise((resolve, reject) => {
210
- writer.end((err) => {
211
- try {
212
- closeSync(fd);
213
- }
214
- catch (closeErr) {
215
- reject(err ?? closeErr);
216
- return;
217
- }
218
- if (err)
219
- reject(err);
220
- else
221
- resolve();
222
- });
223
- });
224
- },
225
- };
226
- }
227
- /**
228
- * Resolve the recorder store for a twin boot: durable file-backed when
229
- * `POME_RECORDER_EVENTS_PATH` is set, otherwise the in-memory default.
230
- */
231
- export function resolveRecorderStore(options = {}) {
232
- const path = process.env[POME_RECORDER_EVENTS_PATH]?.trim();
233
- if (path) {
234
- return createFileBackedRecorderStore({ ...options, path });
235
- }
236
- return createRecorderStore(options);
237
- }
238
- export function createRecorderHandle(options) {
239
- const store = options.store ?? createRecorderStore();
240
- const errorEnvelope = options.errorEnvelope ?? envelopeFor;
241
- const project = options.recordingProjection;
242
- function accept(event) {
243
- // Projection (optional) → secret redaction (always). Order is load-bearing:
244
- // Gmail replaces MIME/attachment bytes with digests before scrubbing.
245
- store.record(redactEvent(project ? project(event) : event));
246
- }
247
- function emit(c, started, requestBody, result, mutation, fidelity, error) {
248
- const requestId = `req_${randomUUID()}`;
249
- // FDRS-402 / FDRS-653 stamping (F-683: engine parity with the per-twin
250
- // recorders it replaces): correlation_id persists the adapter's
251
- // x-pome-correlation-id (falling back to the request id), and the task
252
- // author's x-pome-scenario-step-id lands as the canonical task_step_id
253
- // plus the legacy scenario_step_id key (frozen v1 trace format —
254
- // preserve semantics, tolerant readers accept either).
255
- const stepId = c.req.header("x-pome-scenario-step-id") ?? null;
256
- const correlationHeader = c.req.header("x-pome-correlation-id") ?? null;
257
- // Redaction is unconditional at the engine layer (F-681 / F-720): every
258
- // event that reaches any store — including custom stores — is already
259
- // scrubbed. Optional recordingProjection runs immediately before that.
260
- accept({
261
- ts: new Date().toISOString(),
262
- run_id: options.runId,
263
- twin: options.twin,
264
- request_id: requestId,
265
- correlation_id: correlationHeader ?? requestId,
266
- task_step_id: stepId,
267
- scenario_step_id: stepId,
268
- step_id: null,
269
- // FDRS-402 adapter-rich path: only twins that pin `stampToolCallId`
270
- // persist the header here (github); the default tape stamps null.
271
- tool_call_id: options.stampToolCallId ? correlationHeader : null,
272
- method: c.req.method,
273
- path: new URL(c.req.url).pathname,
274
- request_body: requestBody,
275
- status: result.status,
276
- response_body: result.body,
277
- latency_ms: Date.now() - started,
278
- fidelity,
279
- state_mutation: mutation,
280
- state_delta: result.delta ?? null,
281
- error,
282
- });
283
- }
284
- return {
285
- record(event) {
286
- accept(event);
287
- },
288
- events() {
289
- return store.events();
290
- },
291
- count() {
292
- return store.count?.() ?? store.events().length;
293
- },
294
- dropped() {
295
- return store.dropped?.() ?? 0;
296
- },
297
- async flush() {
298
- await store.flush?.();
299
- },
300
- async close() {
301
- await store.close?.();
302
- },
303
- handle({ mutation, fidelity = "semantic", errorEnvelope: perCallEnvelope }, fn) {
304
- const projectError = perCallEnvelope ?? errorEnvelope;
305
- return async (c) => {
306
- const started = Date.now();
307
- let requestBody = null;
308
- try {
309
- requestBody =
310
- c.req.method === "GET" || c.req.method === "HEAD"
311
- ? null
312
- : await readRequestJson(c);
313
- const result = await fn(c);
314
- const effectiveMutation = result.mutation ?? mutation;
315
- const errorMsg = result.status >= 400 ? extractMessage(result.body) ?? "request failed" : null;
316
- emit(c, started, requestBody, result, effectiveMutation, fidelity, errorMsg);
317
- return respondWith(c, result.status, result.body);
318
- }
319
- catch (caught) {
320
- const envelope = projectError(caught);
321
- // Failed routes never mutated state — record as state_mutation=false
322
- // regardless of the declared flag. Per recording-spec § state_mutation,
323
- // the field reflects whether the request *did* mutate state.
324
- const errMsg = extractMessage(envelope.body) ??
325
- (caught instanceof Error ? caught.message : "request failed");
326
- emit(c, started, requestBody, { status: envelope.status, body: envelope.body }, false, fidelity, errMsg);
327
- return respondWith(c, envelope.status, envelope.body);
328
- }
329
- };
330
- },
331
- };
332
- }
333
- // The Response constructor forbids a body on null-body statuses (204/205/
334
- // 304) — `c.json(null, 204)` throws and surfaces as a 500. github's frozen
335
- // surface answers deletes and the collaborator-membership check with a bare
336
- // 204 (F-682), so those statuses return an empty body.
337
- function respondWith(c, status, body) {
338
- if (status === 204 || status === 205 || status === 304) {
339
- return c.body(null, status);
340
- }
341
- return c.json(body, status);
342
- }
343
- // `clone()` throws synchronously once the body stream is disturbed — e.g.
344
- // after the form token resolver's parseBody() read a form-encoded POST
345
- // (F-683). A consumed or non-JSON body records as null, never a 500.
346
- async function readRequestJson(c) {
347
- try {
348
- return await c.req.raw.clone().json();
349
- }
350
- catch {
351
- return null;
352
- }
353
- }
354
- function extractMessage(body) {
355
- if (!body || typeof body !== "object")
356
- return undefined;
357
- const record = body;
358
- if (typeof record.message === "string")
359
- return record.message;
360
- // Gmail (and other Google-style) envelopes nest under `{ error: { message } }`.
361
- if (record.error && typeof record.error === "object") {
362
- const nested = record.error.message;
363
- if (typeof nested === "string")
364
- return nested;
365
- }
366
- return undefined;
367
- }
368
- //# sourceMappingURL=recorder.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"recorder.js","sourceRoot":"","sources":["../src/recorder.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- export { redactEvent, redactSecrets } from "@pome-sh/shared-types/redaction";
@@ -1,3 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- export { redactEvent, redactSecrets } from "@pome-sh/shared-types/redaction";
3
- //# sourceMappingURL=redaction.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"redaction.js","sourceRoot":"","sources":["../src/redaction.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC"}
@@ -1,54 +0,0 @@
1
- import { type ToolSpec, type TwinDefinition } from "./index.js";
2
- export declare class TwinBootError extends Error {
3
- constructor(message: string);
4
- }
5
- /** Engine-owned `/_pome/*` route names a twin's `pomeRoutes` may not shadow. */
6
- export declare const POME_CORE_ROUTE_NAMES: Set<string>;
7
- export declare function makeDeltaSink(): {
8
- report(d: import("@pome-sh/shared-types").RecorderEvent["state_delta"]): void;
9
- value(): {
10
- before: Record<string, unknown> | null;
11
- after: Record<string, unknown> | null;
12
- } | null;
13
- };
14
- /** Hostnames the boot guard treats as loopback binds. */
15
- export declare function isLoopbackHost(value: string): boolean;
16
- /**
17
- * F-708: self-generate `TWIN_AUTH_SECRET` on first boot. An env-injected
18
- * secret always wins (pome-cloud injects per-tenant secrets — that contract
19
- * is untouched), and loopback binds keep the dev-fallback path. Otherwise
20
- * the secret persisted at the compose-era contract location
21
- * `.pome-data/<twin>/secret` (cwd-relative; `POME_TWIN_DATA_DIR` overrides
22
- * the directory) is reused, or a fresh 32-byte hex secret is generated,
23
- * persisted there, and printed once to stdout so the operator can mint JWTs.
24
- *
25
- * The resolved secret lands in `process.env.TWIN_AUTH_SECRET`, which is
26
- * process-global by design: the engine's auth (`resolveAuthSecret`) reads
27
- * the env, so one process serves one secret — the frozen boot contract is
28
- * one twin per process, and a multi-twin process shares the first secret.
29
- */
30
- export declare function ensureTwinAuthSecret(twin: string, host: string): void;
31
- export declare function shadowedPrefix(routePath: string): string | null;
32
- export declare function assertUniqueToolNames<TDomain>(tools: ReadonlyArray<ToolSpec<TDomain>>, twinId: string): void;
33
- export declare function findTool<TDb, TSeed, TDomain>(definition: TwinDefinition<TDb, TSeed, TDomain>, name: string): ToolSpec<TDomain>;
34
- export declare function readJson(req: Request): Promise<unknown>;
35
- /**
36
- * Convenience helper for `recorder.handle` inner functions. Returns a
37
- * 200 response with the supplied `mutation` flag (default: false). Mirrors
38
- * `packages/twin-github/src/app.ts:ok`.
39
- */
40
- export declare function ok(body: unknown, mutation?: boolean): {
41
- status: 200;
42
- body: unknown;
43
- mutation: boolean;
44
- };
45
- /**
46
- * Convenience helper for `recorder.handle` inner functions. Returns a
47
- * 201 response with `mutation: true`. Mirrors
48
- * `packages/twin-github/src/app.ts:created`.
49
- */
50
- export declare function created(body: unknown): {
51
- status: 201;
52
- body: unknown;
53
- mutation: true;
54
- };
@@ -1,181 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- //
3
- // Internal helpers for `@pome-sh/sdk/server` (`createApp`/`serve`). Split
4
- // out of server.ts (F-685) purely for module-size hygiene; everything a twin
5
- // may import (TwinBootError, isLoopbackHost) is re-exported from server.ts,
6
- // which stays the only public entry.
7
- import { randomBytes } from "node:crypto";
8
- import { mkdirSync, readFileSync, rmSync, writeFileSync } from "node:fs";
9
- import { join } from "node:path";
10
- import { RESERVED_SESSION_PREFIXES } from "./index.js";
11
- import { UnknownToolError } from "./errors.js";
12
- export class TwinBootError extends Error {
13
- constructor(message) {
14
- super(message);
15
- this.name = "TwinBootError";
16
- }
17
- }
18
- /** Engine-owned `/_pome/*` route names a twin's `pomeRoutes` may not shadow. */
19
- export const POME_CORE_ROUTE_NAMES = new Set(["health", "state", "events"]);
20
- export function makeDeltaSink() {
21
- let delta = null;
22
- return {
23
- report(d) {
24
- delta = d;
25
- },
26
- value() {
27
- return delta;
28
- },
29
- };
30
- }
31
- /** Hostnames the boot guard treats as loopback binds. */
32
- export function isLoopbackHost(value) {
33
- return value === "127.0.0.1" || value === "::1" || value === "localhost";
34
- }
35
- /**
36
- * F-708: self-generate `TWIN_AUTH_SECRET` on first boot. An env-injected
37
- * secret always wins (pome-cloud injects per-tenant secrets — that contract
38
- * is untouched), and loopback binds keep the dev-fallback path. Otherwise
39
- * the secret persisted at the compose-era contract location
40
- * `.pome-data/<twin>/secret` (cwd-relative; `POME_TWIN_DATA_DIR` overrides
41
- * the directory) is reused, or a fresh 32-byte hex secret is generated,
42
- * persisted there, and printed once to stdout so the operator can mint JWTs.
43
- *
44
- * The resolved secret lands in `process.env.TWIN_AUTH_SECRET`, which is
45
- * process-global by design: the engine's auth (`resolveAuthSecret`) reads
46
- * the env, so one process serves one secret — the frozen boot contract is
47
- * one twin per process, and a multi-twin process shares the first secret.
48
- */
49
- export function ensureTwinAuthSecret(twin, host) {
50
- if (process.env.TWIN_AUTH_SECRET)
51
- return;
52
- if (isLoopbackHost(host))
53
- return;
54
- const dataDir = process.env.POME_TWIN_DATA_DIR || join(".pome-data", twin);
55
- const secretPath = join(dataDir, "secret");
56
- try {
57
- const persisted = readSecretFile(secretPath);
58
- if (persisted) {
59
- process.env.TWIN_AUTH_SECRET = persisted;
60
- console.log(`[twin-${twin}] TWIN_AUTH_SECRET not set — using the persisted secret from ${secretPath}`);
61
- return;
62
- }
63
- const secret = randomBytes(32).toString("hex");
64
- mkdirSync(dataDir, { recursive: true });
65
- try {
66
- // Compose-era file format: hex secret + trailing newline, owner-only.
67
- // "wx" never clobbers a secret written by a concurrent first boot.
68
- writeFileSync(secretPath, `${secret}\n`, { mode: 0o600, flag: "wx" });
69
- }
70
- catch (err) {
71
- if (err.code !== "EEXIST")
72
- throw err;
73
- const winner = readSecretFile(secretPath);
74
- if (winner) {
75
- process.env.TWIN_AUTH_SECRET = winner;
76
- console.log(`[twin-${twin}] TWIN_AUTH_SECRET not set — using the persisted secret from ${secretPath}`);
77
- return;
78
- }
79
- // A blank file is an aborted earlier write: remove it and retry the
80
- // exclusive write, so a concurrent booter losing this second race
81
- // adopts the winner's secret instead of overwriting it.
82
- rmSync(secretPath, { force: true });
83
- try {
84
- writeFileSync(secretPath, `${secret}\n`, { mode: 0o600, flag: "wx" });
85
- }
86
- catch (err2) {
87
- if (err2.code !== "EEXIST")
88
- throw err2;
89
- const late = readSecretFile(secretPath);
90
- if (!late)
91
- throw err2;
92
- process.env.TWIN_AUTH_SECRET = late;
93
- console.log(`[twin-${twin}] TWIN_AUTH_SECRET not set — using the persisted secret from ${secretPath}`);
94
- return;
95
- }
96
- }
97
- process.env.TWIN_AUTH_SECRET = secret;
98
- console.log(`[twin-${twin}] TWIN_AUTH_SECRET not set — generated ${secret} (persisted to ${secretPath}; subsequent boots reuse it, an env-injected TWIN_AUTH_SECRET overrides it)`);
99
- }
100
- catch (err) {
101
- if (err instanceof TwinBootError)
102
- throw err;
103
- throw new TwinBootError(`TWIN_AUTH_SECRET is not set and self-generating one at ${secretPath} failed: ${err.message}`);
104
- }
105
- }
106
- /** The persisted secret, trimmed; undefined when absent or blank. */
107
- function readSecretFile(secretPath) {
108
- let raw;
109
- try {
110
- raw = readFileSync(secretPath, "utf8");
111
- }
112
- catch (err) {
113
- if (err.code === "ENOENT")
114
- return undefined;
115
- throw err;
116
- }
117
- const trimmed = raw.trim();
118
- if (trimmed.length === 0)
119
- return undefined;
120
- // The compose-era contract documents >= 32 chars. A shorter file (hand
121
- // edit, truncation) must fail the boot loudly — never silently serve a
122
- // weak HS256 key, and never silently regenerate over operator content.
123
- if (trimmed.length < 32) {
124
- throw new TwinBootError(`TWIN_AUTH_SECRET is not set and the persisted secret at ${secretPath} is shorter than 32 chars — fix or delete the file, or inject TWIN_AUTH_SECRET.`);
125
- }
126
- return trimmed;
127
- }
128
- export function shadowedPrefix(routePath) {
129
- for (const prefix of RESERVED_SESSION_PREFIXES) {
130
- if (routePath === prefix || routePath.startsWith(`${prefix}/`))
131
- return prefix;
132
- }
133
- return null;
134
- }
135
- export function assertUniqueToolNames(tools, twinId) {
136
- const seen = new Set();
137
- for (const tool of tools) {
138
- if (seen.has(tool.name)) {
139
- throw new TwinBootError(`Twin "${twinId}" has duplicate tool name: ${tool.name}`);
140
- }
141
- seen.add(tool.name);
142
- }
143
- }
144
- export function findTool(definition, name) {
145
- const tool = definition.tools.find((t) => t.name === name);
146
- if (!tool) {
147
- throw new UnknownToolError(name);
148
- }
149
- return tool;
150
- }
151
- export async function readJson(req) {
152
- try {
153
- const cloned = req.clone();
154
- const text = await cloned.text();
155
- if (!text)
156
- return null;
157
- return JSON.parse(text);
158
- }
159
- catch (err) {
160
- if (err instanceof SyntaxError)
161
- throw err;
162
- return null;
163
- }
164
- }
165
- /**
166
- * Convenience helper for `recorder.handle` inner functions. Returns a
167
- * 200 response with the supplied `mutation` flag (default: false). Mirrors
168
- * `packages/twin-github/src/app.ts:ok`.
169
- */
170
- export function ok(body, mutation = false) {
171
- return { status: 200, body, mutation };
172
- }
173
- /**
174
- * Convenience helper for `recorder.handle` inner functions. Returns a
175
- * 201 response with `mutation: true`. Mirrors
176
- * `packages/twin-github/src/app.ts:created`.
177
- */
178
- export function created(body) {
179
- return { status: 201, body, mutation: true };
180
- }
181
- //# sourceMappingURL=server-helpers.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"server-helpers.js","sourceRoot":"","sources":["../src/server-helpers.ts"],"names":[],"mappings":"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"}