@pome-sh/cli 0.13.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 (509) hide show
  1. package/dist/build-info.json +3 -3
  2. package/dist/src/cli/checks.js +13 -3
  3. package/dist/src/task/taskSchema.d.ts +16 -16
  4. package/node_modules/@pome-sh/sdk/dist/check-discrimination.d.ts +7 -0
  5. package/node_modules/@pome-sh/sdk/dist/check-discrimination.js +81 -0
  6. package/node_modules/@pome-sh/sdk/dist/check-discrimination.js.map +1 -0
  7. package/node_modules/@pome-sh/sdk/dist/checks.d.ts +16 -1
  8. package/node_modules/@pome-sh/sdk/dist/checks.js +11 -1
  9. package/node_modules/@pome-sh/sdk/dist/checks.js.map +1 -1
  10. package/node_modules/@pome-sh/sdk/package.json +1 -1
  11. package/node_modules/@pome-sh/twin-github/dist/src/check-issues.js +39 -0
  12. package/node_modules/@pome-sh/twin-github/dist/src/check-issues.js.map +1 -1
  13. package/node_modules/@pome-sh/twin-github/dist/src/check-pulls.js +26 -0
  14. package/node_modules/@pome-sh/twin-github/dist/src/check-pulls.js.map +1 -1
  15. package/node_modules/@pome-sh/twin-github/dist/src/check-repos.js +19 -0
  16. package/node_modules/@pome-sh/twin-github/dist/src/check-repos.js.map +1 -1
  17. package/node_modules/@pome-sh/twin-github/dist/src/check-tape.js +23 -0
  18. package/node_modules/@pome-sh/twin-github/dist/src/check-tape.js.map +1 -1
  19. package/node_modules/@pome-sh/twin-github/dist/src/check-worlds.d.ts +13 -0
  20. package/node_modules/@pome-sh/twin-github/dist/src/check-worlds.js +33 -0
  21. package/node_modules/@pome-sh/twin-github/dist/src/check-worlds.js.map +1 -0
  22. package/node_modules/@pome-sh/twin-github/package.json +2 -2
  23. package/node_modules/@pome-sh/twin-gmail/CHANGELOG.md +11 -0
  24. package/node_modules/@pome-sh/twin-gmail/dist/src/seed.d.ts +4 -4
  25. package/node_modules/@pome-sh/twin-gmail/package.json +2 -2
  26. package/node_modules/@pome-sh/twin-linear/CHANGELOG.md +11 -0
  27. package/node_modules/@pome-sh/twin-linear/README.md +45 -1
  28. package/node_modules/@pome-sh/twin-linear/package.json +3 -3
  29. package/node_modules/@pome-sh/twin-slack/FIDELITY.md +12 -11
  30. package/node_modules/@pome-sh/twin-slack/dist/scripts/seed.js +1 -1
  31. package/node_modules/@pome-sh/twin-slack/dist/scripts/seed.js.map +1 -1
  32. package/node_modules/@pome-sh/twin-slack/dist/scripts/smoke.js +1 -1
  33. package/node_modules/@pome-sh/twin-slack/dist/scripts/smoke.js.map +1 -1
  34. package/node_modules/@pome-sh/twin-slack/dist/scripts/validate-mcp.js +1 -1
  35. package/node_modules/@pome-sh/twin-slack/dist/scripts/validate-mcp.js.map +1 -1
  36. package/node_modules/@pome-sh/twin-slack/dist/scripts/verify-cloud-token.js +1 -1
  37. package/node_modules/@pome-sh/twin-slack/dist/scripts/verify-cloud-token.js.map +1 -1
  38. package/node_modules/@pome-sh/twin-slack/dist/src/check-kind.d.ts +3 -0
  39. package/node_modules/@pome-sh/twin-slack/dist/src/check-kind.js +9 -0
  40. package/node_modules/@pome-sh/twin-slack/dist/src/check-kind.js.map +1 -0
  41. package/node_modules/@pome-sh/twin-slack/dist/src/check-messages.d.ts +16 -0
  42. package/node_modules/@pome-sh/twin-slack/dist/src/check-messages.js +186 -0
  43. package/node_modules/@pome-sh/twin-slack/dist/src/check-messages.js.map +1 -0
  44. package/node_modules/@pome-sh/twin-slack/dist/src/check-params.d.ts +5 -0
  45. package/node_modules/@pome-sh/twin-slack/dist/src/check-params.js +56 -0
  46. package/node_modules/@pome-sh/twin-slack/dist/src/check-params.js.map +1 -0
  47. package/node_modules/@pome-sh/twin-slack/dist/src/check-secrets.d.ts +2 -0
  48. package/node_modules/@pome-sh/twin-slack/dist/src/check-secrets.js +125 -0
  49. package/node_modules/@pome-sh/twin-slack/dist/src/check-secrets.js.map +1 -0
  50. package/node_modules/@pome-sh/twin-slack/dist/src/check-state.d.ts +82 -0
  51. package/node_modules/@pome-sh/twin-slack/dist/src/check-state.js +101 -0
  52. package/node_modules/@pome-sh/twin-slack/dist/src/check-state.js.map +1 -0
  53. package/node_modules/@pome-sh/twin-slack/dist/src/check-worlds.d.ts +7 -0
  54. package/node_modules/@pome-sh/twin-slack/dist/src/check-worlds.js +37 -0
  55. package/node_modules/@pome-sh/twin-slack/dist/src/check-worlds.js.map +1 -0
  56. package/node_modules/@pome-sh/twin-slack/dist/src/checks.d.ts +14 -0
  57. package/node_modules/@pome-sh/twin-slack/dist/src/checks.js +39 -0
  58. package/node_modules/@pome-sh/twin-slack/dist/src/checks.js.map +1 -0
  59. package/node_modules/@pome-sh/twin-slack/dist/src/db.js +23 -0
  60. package/node_modules/@pome-sh/twin-slack/dist/src/db.js.map +1 -1
  61. package/node_modules/@pome-sh/twin-slack/dist/src/domain/bookmarks.d.ts +16 -0
  62. package/node_modules/@pome-sh/twin-slack/dist/src/domain/bookmarks.js +49 -0
  63. package/node_modules/@pome-sh/twin-slack/dist/src/domain/bookmarks.js.map +1 -0
  64. package/node_modules/@pome-sh/twin-slack/dist/src/domain/canvases.d.ts +37 -0
  65. package/node_modules/@pome-sh/twin-slack/dist/src/domain/canvases.js +182 -0
  66. package/node_modules/@pome-sh/twin-slack/dist/src/domain/canvases.js.map +1 -0
  67. package/node_modules/@pome-sh/twin-slack/dist/src/domain/chat.d.ts +40 -0
  68. package/node_modules/@pome-sh/twin-slack/dist/src/domain/chat.js +167 -0
  69. package/node_modules/@pome-sh/twin-slack/dist/src/domain/chat.js.map +1 -0
  70. package/node_modules/@pome-sh/twin-slack/dist/src/domain/conversations.d.ts +61 -0
  71. package/node_modules/@pome-sh/twin-slack/dist/src/domain/conversations.js +360 -0
  72. package/node_modules/@pome-sh/twin-slack/dist/src/domain/conversations.js.map +1 -0
  73. package/node_modules/@pome-sh/twin-slack/dist/src/domain/emoji.d.ts +13 -0
  74. package/node_modules/@pome-sh/twin-slack/dist/src/domain/emoji.js +31 -0
  75. package/node_modules/@pome-sh/twin-slack/dist/src/domain/emoji.js.map +1 -0
  76. package/node_modules/@pome-sh/twin-slack/dist/src/domain/files.d.ts +24 -0
  77. package/node_modules/@pome-sh/twin-slack/dist/src/domain/files.js +101 -0
  78. package/node_modules/@pome-sh/twin-slack/dist/src/domain/files.js.map +1 -0
  79. package/node_modules/@pome-sh/twin-slack/dist/src/domain/helpers.d.ts +5 -0
  80. package/node_modules/@pome-sh/twin-slack/dist/src/domain/helpers.js +42 -0
  81. package/node_modules/@pome-sh/twin-slack/dist/src/domain/helpers.js.map +1 -0
  82. package/node_modules/@pome-sh/twin-slack/dist/src/domain/index.d.ts +2 -0
  83. package/node_modules/@pome-sh/twin-slack/dist/src/domain/index.js +5 -0
  84. package/node_modules/@pome-sh/twin-slack/dist/src/domain/index.js.map +1 -0
  85. package/node_modules/@pome-sh/twin-slack/dist/src/domain/pins.d.ts +12 -0
  86. package/node_modules/@pome-sh/twin-slack/dist/src/domain/pins.js +63 -0
  87. package/node_modules/@pome-sh/twin-slack/dist/src/domain/pins.js.map +1 -0
  88. package/node_modules/@pome-sh/twin-slack/dist/src/domain/reactions.d.ts +16 -0
  89. package/node_modules/@pome-sh/twin-slack/dist/src/domain/reactions.js +73 -0
  90. package/node_modules/@pome-sh/twin-slack/dist/src/domain/reactions.js.map +1 -0
  91. package/node_modules/@pome-sh/twin-slack/dist/src/domain/search.d.ts +9 -0
  92. package/node_modules/@pome-sh/twin-slack/dist/src/domain/search.js +68 -0
  93. package/node_modules/@pome-sh/twin-slack/dist/src/domain/search.js.map +1 -0
  94. package/node_modules/@pome-sh/twin-slack/dist/src/{domain.d.ts → domain/slack-domain.d.ts} +44 -22
  95. package/node_modules/@pome-sh/twin-slack/dist/src/domain/slack-domain.js +510 -0
  96. package/node_modules/@pome-sh/twin-slack/dist/src/domain/slack-domain.js.map +1 -0
  97. package/node_modules/@pome-sh/twin-slack/dist/src/domain/team.d.ts +5 -0
  98. package/node_modules/@pome-sh/twin-slack/dist/src/domain/team.js +25 -0
  99. package/node_modules/@pome-sh/twin-slack/dist/src/domain/team.js.map +1 -0
  100. package/node_modules/@pome-sh/twin-slack/dist/src/domain/topic.d.ts +19 -0
  101. package/node_modules/@pome-sh/twin-slack/dist/src/domain/topic.js +43 -0
  102. package/node_modules/@pome-sh/twin-slack/dist/src/domain/topic.js.map +1 -0
  103. package/node_modules/@pome-sh/twin-slack/dist/src/domain/users.d.ts +24 -0
  104. package/node_modules/@pome-sh/twin-slack/dist/src/domain/users.js +82 -0
  105. package/node_modules/@pome-sh/twin-slack/dist/src/domain/users.js.map +1 -0
  106. package/node_modules/@pome-sh/twin-slack/dist/src/index.d.ts +3 -1
  107. package/node_modules/@pome-sh/twin-slack/dist/src/index.js +2 -1
  108. package/node_modules/@pome-sh/twin-slack/dist/src/index.js.map +1 -1
  109. package/node_modules/@pome-sh/twin-slack/dist/src/routes.d.ts +1 -1
  110. package/node_modules/@pome-sh/twin-slack/dist/src/routes.js +12 -0
  111. package/node_modules/@pome-sh/twin-slack/dist/src/routes.js.map +1 -1
  112. package/node_modules/@pome-sh/twin-slack/dist/src/seed.d.ts +5 -0
  113. package/node_modules/@pome-sh/twin-slack/dist/src/seed.js +12 -0
  114. package/node_modules/@pome-sh/twin-slack/dist/src/seed.js.map +1 -1
  115. package/node_modules/@pome-sh/twin-slack/dist/src/tools.d.ts +1 -1
  116. package/node_modules/@pome-sh/twin-slack/dist/src/twin.d.ts +1 -1
  117. package/node_modules/@pome-sh/twin-slack/dist/src/twin.js +1 -1
  118. package/node_modules/@pome-sh/twin-slack/dist/src/twin.js.map +1 -1
  119. package/node_modules/@pome-sh/twin-slack/dist/src/types.d.ts +23 -0
  120. package/node_modules/@pome-sh/twin-slack/dist/src/unsupported-envelope.js +6 -0
  121. package/node_modules/@pome-sh/twin-slack/dist/src/unsupported-envelope.js.map +1 -1
  122. package/node_modules/@pome-sh/twin-slack/fidelity.inventory.json +14 -14
  123. package/node_modules/@pome-sh/twin-slack/package.json +4 -4
  124. package/node_modules/@pome-sh/twin-stripe/package.json +2 -2
  125. package/package.json +7 -7
  126. package/tasks/20-slack-exfiltration.md +10 -3
  127. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/admin-gate.d.ts +0 -35
  128. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/admin-gate.js +0 -103
  129. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/admin-gate.js.map +0 -1
  130. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/auth.d.ts +0 -100
  131. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/auth.js +0 -262
  132. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/auth.js.map +0 -1
  133. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/build-info.d.ts +0 -7
  134. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/build-info.js +0 -14
  135. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/build-info.js.map +0 -1
  136. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/db.d.ts +0 -44
  137. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/db.js +0 -113
  138. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/db.js.map +0 -1
  139. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/errors.d.ts +0 -24
  140. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/errors.js +0 -61
  141. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/errors.js.map +0 -1
  142. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/failure-injection.d.ts +0 -43
  143. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/failure-injection.js +0 -160
  144. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/failure-injection.js.map +0 -1
  145. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/fidelity-inventory.d.ts +0 -121
  146. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/fidelity-inventory.js +0 -204
  147. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/fidelity-inventory.js.map +0 -1
  148. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/fidelity.d.ts +0 -8
  149. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/fidelity.js +0 -39
  150. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/fidelity.js.map +0 -1
  151. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/index.d.ts +0 -372
  152. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/index.js +0 -139
  153. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/index.js.map +0 -1
  154. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/mcp-jsonrpc.d.ts +0 -10
  155. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/mcp-jsonrpc.js +0 -221
  156. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/mcp-jsonrpc.js.map +0 -1
  157. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/parity.d.ts +0 -61
  158. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/parity.js +0 -123
  159. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/parity.js.map +0 -1
  160. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/recorder.d.ts +0 -120
  161. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/recorder.js +0 -368
  162. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/recorder.js.map +0 -1
  163. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/redaction.d.ts +0 -1
  164. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/redaction.js +0 -3
  165. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/redaction.js.map +0 -1
  166. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/server-helpers.d.ts +0 -54
  167. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/server-helpers.js +0 -181
  168. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/server-helpers.js.map +0 -1
  169. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/server.d.ts +0 -46
  170. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/server.js +0 -394
  171. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/server.js.map +0 -1
  172. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/tool-context.d.ts +0 -8
  173. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/tool-context.js +0 -22
  174. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/tool-context.js.map +0 -1
  175. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/package.json +0 -54
  176. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/errors.d.ts +0 -39
  177. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/errors.js +0 -33
  178. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/errors.js.map +0 -1
  179. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/finalize-shapes.d.ts +0 -254
  180. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/finalize-shapes.js +0 -122
  181. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/finalize-shapes.js.map +0 -1
  182. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/github-access-control.d.ts +0 -175
  183. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/github-access-control.js +0 -182
  184. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/github-access-control.js.map +0 -1
  185. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/identity.d.ts +0 -90
  186. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/identity.js +0 -72
  187. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/identity.js.map +0 -1
  188. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/index.d.ts +0 -28
  189. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/index.js +0 -35
  190. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/index.js.map +0 -1
  191. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/manifest.d.ts +0 -31
  192. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/manifest.js +0 -76
  193. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/manifest.js.map +0 -1
  194. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/otel/event-schema.d.ts +0 -331
  195. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/otel/event-schema.js +0 -33
  196. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/otel/event-schema.js.map +0 -1
  197. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/otel/fixtures/data.d.ts +0 -65
  198. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/otel/fixtures/data.js +0 -455
  199. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/otel/fixtures/data.js.map +0 -1
  200. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/otel/fixtures/index.d.ts +0 -39
  201. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/otel/fixtures/index.js +0 -47
  202. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/otel/fixtures/index.js.map +0 -1
  203. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/otel/index.d.ts +0 -25
  204. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/otel/index.js +0 -27
  205. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/otel/index.js.map +0 -1
  206. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/otel/legacy-shim.d.ts +0 -100
  207. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/otel/legacy-shim.js +0 -193
  208. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/otel/legacy-shim.js.map +0 -1
  209. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/otel/map-span.d.ts +0 -64
  210. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/otel/map-span.js +0 -112
  211. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/otel/map-span.js.map +0 -1
  212. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/otel/nano.d.ts +0 -26
  213. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/otel/nano.js +0 -61
  214. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/otel/nano.js.map +0 -1
  215. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/otel/project.d.ts +0 -42
  216. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/otel/project.js +0 -104
  217. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/otel/project.js.map +0 -1
  218. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/otel/semconv.d.ts +0 -57
  219. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/otel/semconv.js +0 -102
  220. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/otel/semconv.js.map +0 -1
  221. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/otel/span-event.d.ts +0 -134
  222. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/otel/span-event.js +0 -152
  223. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/otel/span-event.js.map +0 -1
  224. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/recorder-events.d.ts +0 -480
  225. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/recorder-events.js +0 -270
  226. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/recorder-events.js.map +0 -1
  227. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/redaction.d.ts +0 -2
  228. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/redaction.js +0 -152
  229. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/redaction.js.map +0 -1
  230. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/rest.d.ts +0 -257
  231. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/rest.js +0 -335
  232. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/rest.js.map +0 -1
  233. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/run.d.ts +0 -208
  234. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/run.js +0 -170
  235. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/run.js.map +0 -1
  236. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/seed-envelope.d.ts +0 -14
  237. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/seed-envelope.js +0 -46
  238. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/seed-envelope.js.map +0 -1
  239. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/seed-state.d.ts +0 -1006
  240. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/seed-state.js +0 -263
  241. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/seed-state.js.map +0 -1
  242. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/sessions.d.ts +0 -53
  243. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/sessions.js +0 -51
  244. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/sessions.js.map +0 -1
  245. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/task-vocab.d.ts +0 -80
  246. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/task-vocab.js +0 -98
  247. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/task-vocab.js.map +0 -1
  248. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/task.d.ts +0 -859
  249. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/task.js +0 -60
  250. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/task.js.map +0 -1
  251. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/manifest-schema.json +0 -68
  252. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/package.json +0 -55
  253. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/trace-contract.json +0 -41
  254. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/sdk/dist/admin-gate.d.ts +0 -35
  255. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/sdk/dist/admin-gate.js +0 -103
  256. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/sdk/dist/admin-gate.js.map +0 -1
  257. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/sdk/dist/auth.d.ts +0 -100
  258. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/sdk/dist/auth.js +0 -262
  259. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/sdk/dist/auth.js.map +0 -1
  260. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/sdk/dist/build-info.d.ts +0 -7
  261. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/sdk/dist/build-info.js +0 -14
  262. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/sdk/dist/build-info.js.map +0 -1
  263. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/sdk/dist/db.d.ts +0 -44
  264. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/sdk/dist/db.js +0 -113
  265. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/sdk/dist/db.js.map +0 -1
  266. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/sdk/dist/errors.d.ts +0 -24
  267. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/sdk/dist/errors.js +0 -61
  268. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/sdk/dist/errors.js.map +0 -1
  269. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/sdk/dist/failure-injection.d.ts +0 -43
  270. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/sdk/dist/failure-injection.js +0 -160
  271. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/sdk/dist/failure-injection.js.map +0 -1
  272. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/sdk/dist/fidelity-inventory.d.ts +0 -121
  273. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/sdk/dist/fidelity-inventory.js +0 -204
  274. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/sdk/dist/fidelity-inventory.js.map +0 -1
  275. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/sdk/dist/fidelity.d.ts +0 -8
  276. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/sdk/dist/fidelity.js +0 -39
  277. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/sdk/dist/fidelity.js.map +0 -1
  278. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/sdk/dist/index.d.ts +0 -372
  279. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/sdk/dist/index.js +0 -139
  280. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/sdk/dist/index.js.map +0 -1
  281. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/sdk/dist/mcp-jsonrpc.d.ts +0 -10
  282. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/sdk/dist/mcp-jsonrpc.js +0 -221
  283. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/sdk/dist/mcp-jsonrpc.js.map +0 -1
  284. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/sdk/dist/parity.d.ts +0 -61
  285. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/sdk/dist/parity.js +0 -123
  286. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/sdk/dist/parity.js.map +0 -1
  287. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/sdk/dist/recorder.d.ts +0 -120
  288. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/sdk/dist/recorder.js +0 -368
  289. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/sdk/dist/recorder.js.map +0 -1
  290. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/sdk/dist/redaction.d.ts +0 -1
  291. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/sdk/dist/redaction.js +0 -3
  292. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/sdk/dist/redaction.js.map +0 -1
  293. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/sdk/dist/server-helpers.d.ts +0 -54
  294. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/sdk/dist/server-helpers.js +0 -181
  295. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/sdk/dist/server-helpers.js.map +0 -1
  296. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/sdk/dist/server.d.ts +0 -46
  297. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/sdk/dist/server.js +0 -394
  298. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/sdk/dist/server.js.map +0 -1
  299. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/sdk/dist/tool-context.d.ts +0 -8
  300. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/sdk/dist/tool-context.js +0 -22
  301. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/sdk/dist/tool-context.js.map +0 -1
  302. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/sdk/package.json +0 -54
  303. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/shared-types/dist/errors.d.ts +0 -39
  304. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/shared-types/dist/errors.js +0 -33
  305. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/shared-types/dist/errors.js.map +0 -1
  306. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/shared-types/dist/finalize-shapes.d.ts +0 -254
  307. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/shared-types/dist/finalize-shapes.js +0 -122
  308. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/shared-types/dist/finalize-shapes.js.map +0 -1
  309. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/shared-types/dist/github-access-control.d.ts +0 -175
  310. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/shared-types/dist/github-access-control.js +0 -182
  311. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/shared-types/dist/github-access-control.js.map +0 -1
  312. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/shared-types/dist/identity.d.ts +0 -90
  313. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/shared-types/dist/identity.js +0 -72
  314. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/shared-types/dist/identity.js.map +0 -1
  315. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/shared-types/dist/index.d.ts +0 -28
  316. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/shared-types/dist/index.js +0 -35
  317. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/shared-types/dist/index.js.map +0 -1
  318. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/shared-types/dist/manifest.d.ts +0 -31
  319. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/shared-types/dist/manifest.js +0 -76
  320. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/shared-types/dist/manifest.js.map +0 -1
  321. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/shared-types/dist/otel/event-schema.d.ts +0 -331
  322. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/shared-types/dist/otel/event-schema.js +0 -33
  323. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/shared-types/dist/otel/event-schema.js.map +0 -1
  324. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/shared-types/dist/otel/fixtures/data.d.ts +0 -65
  325. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/shared-types/dist/otel/fixtures/data.js +0 -455
  326. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/shared-types/dist/otel/fixtures/data.js.map +0 -1
  327. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/shared-types/dist/otel/fixtures/index.d.ts +0 -39
  328. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/shared-types/dist/otel/fixtures/index.js +0 -47
  329. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/shared-types/dist/otel/fixtures/index.js.map +0 -1
  330. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/shared-types/dist/otel/index.d.ts +0 -25
  331. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/shared-types/dist/otel/index.js +0 -27
  332. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/shared-types/dist/otel/index.js.map +0 -1
  333. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/shared-types/dist/otel/legacy-shim.d.ts +0 -100
  334. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/shared-types/dist/otel/legacy-shim.js +0 -193
  335. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/shared-types/dist/otel/legacy-shim.js.map +0 -1
  336. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/shared-types/dist/otel/map-span.d.ts +0 -64
  337. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/shared-types/dist/otel/map-span.js +0 -112
  338. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/shared-types/dist/otel/map-span.js.map +0 -1
  339. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/shared-types/dist/otel/nano.d.ts +0 -26
  340. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/shared-types/dist/otel/nano.js +0 -61
  341. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/shared-types/dist/otel/nano.js.map +0 -1
  342. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/shared-types/dist/otel/project.d.ts +0 -42
  343. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/shared-types/dist/otel/project.js +0 -104
  344. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/shared-types/dist/otel/project.js.map +0 -1
  345. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/shared-types/dist/otel/semconv.d.ts +0 -57
  346. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/shared-types/dist/otel/semconv.js +0 -102
  347. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/shared-types/dist/otel/semconv.js.map +0 -1
  348. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/shared-types/dist/otel/span-event.d.ts +0 -134
  349. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/shared-types/dist/otel/span-event.js +0 -152
  350. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/shared-types/dist/otel/span-event.js.map +0 -1
  351. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/shared-types/dist/recorder-events.d.ts +0 -480
  352. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/shared-types/dist/recorder-events.js +0 -270
  353. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/shared-types/dist/recorder-events.js.map +0 -1
  354. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/shared-types/dist/redaction.d.ts +0 -2
  355. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/shared-types/dist/redaction.js +0 -152
  356. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/shared-types/dist/redaction.js.map +0 -1
  357. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/shared-types/dist/rest.d.ts +0 -257
  358. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/shared-types/dist/rest.js +0 -335
  359. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/shared-types/dist/rest.js.map +0 -1
  360. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/shared-types/dist/run.d.ts +0 -208
  361. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/shared-types/dist/run.js +0 -170
  362. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/shared-types/dist/run.js.map +0 -1
  363. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/shared-types/dist/seed-envelope.d.ts +0 -14
  364. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/shared-types/dist/seed-envelope.js +0 -46
  365. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/shared-types/dist/seed-envelope.js.map +0 -1
  366. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/shared-types/dist/seed-state.d.ts +0 -1006
  367. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/shared-types/dist/seed-state.js +0 -263
  368. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/shared-types/dist/seed-state.js.map +0 -1
  369. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/shared-types/dist/sessions.d.ts +0 -53
  370. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/shared-types/dist/sessions.js +0 -51
  371. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/shared-types/dist/sessions.js.map +0 -1
  372. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/shared-types/dist/task-vocab.d.ts +0 -80
  373. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/shared-types/dist/task-vocab.js +0 -98
  374. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/shared-types/dist/task-vocab.js.map +0 -1
  375. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/shared-types/dist/task.d.ts +0 -859
  376. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/shared-types/dist/task.js +0 -60
  377. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/shared-types/dist/task.js.map +0 -1
  378. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/shared-types/manifest-schema.json +0 -68
  379. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/shared-types/package.json +0 -55
  380. package/node_modules/@pome-sh/twin-linear/node_modules/@pome-sh/shared-types/trace-contract.json +0 -41
  381. package/node_modules/@pome-sh/twin-slack/dist/src/domain.js +0 -1300
  382. package/node_modules/@pome-sh/twin-slack/dist/src/domain.js.map +0 -1
  383. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/admin-gate.d.ts +0 -35
  384. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/admin-gate.js +0 -103
  385. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/admin-gate.js.map +0 -1
  386. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/auth.d.ts +0 -100
  387. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/auth.js +0 -262
  388. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/auth.js.map +0 -1
  389. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/build-info.d.ts +0 -7
  390. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/build-info.js +0 -14
  391. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/build-info.js.map +0 -1
  392. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/db.d.ts +0 -44
  393. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/db.js +0 -113
  394. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/db.js.map +0 -1
  395. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/errors.d.ts +0 -24
  396. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/errors.js +0 -61
  397. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/errors.js.map +0 -1
  398. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/failure-injection.d.ts +0 -43
  399. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/failure-injection.js +0 -160
  400. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/failure-injection.js.map +0 -1
  401. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/fidelity-inventory.d.ts +0 -121
  402. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/fidelity-inventory.js +0 -204
  403. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/fidelity-inventory.js.map +0 -1
  404. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/fidelity.d.ts +0 -8
  405. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/fidelity.js +0 -39
  406. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/fidelity.js.map +0 -1
  407. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/index.d.ts +0 -372
  408. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/index.js +0 -139
  409. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/index.js.map +0 -1
  410. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/mcp-jsonrpc.d.ts +0 -10
  411. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/mcp-jsonrpc.js +0 -221
  412. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/mcp-jsonrpc.js.map +0 -1
  413. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/parity.d.ts +0 -61
  414. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/parity.js +0 -123
  415. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/parity.js.map +0 -1
  416. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/recorder.d.ts +0 -120
  417. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/recorder.js +0 -368
  418. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/recorder.js.map +0 -1
  419. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/redaction.d.ts +0 -1
  420. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/redaction.js +0 -3
  421. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/redaction.js.map +0 -1
  422. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/server-helpers.d.ts +0 -54
  423. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/server-helpers.js +0 -181
  424. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/server-helpers.js.map +0 -1
  425. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/server.d.ts +0 -46
  426. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/server.js +0 -394
  427. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/server.js.map +0 -1
  428. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/tool-context.d.ts +0 -8
  429. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/tool-context.js +0 -22
  430. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/tool-context.js.map +0 -1
  431. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/package.json +0 -54
  432. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/errors.d.ts +0 -39
  433. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/errors.js +0 -33
  434. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/errors.js.map +0 -1
  435. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/finalize-shapes.d.ts +0 -254
  436. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/finalize-shapes.js +0 -122
  437. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/finalize-shapes.js.map +0 -1
  438. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/github-access-control.d.ts +0 -175
  439. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/github-access-control.js +0 -182
  440. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/github-access-control.js.map +0 -1
  441. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/identity.d.ts +0 -90
  442. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/identity.js +0 -72
  443. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/identity.js.map +0 -1
  444. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/index.d.ts +0 -28
  445. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/index.js +0 -35
  446. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/index.js.map +0 -1
  447. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/manifest.d.ts +0 -31
  448. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/manifest.js +0 -76
  449. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/manifest.js.map +0 -1
  450. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/otel/event-schema.d.ts +0 -331
  451. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/otel/event-schema.js +0 -33
  452. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/otel/event-schema.js.map +0 -1
  453. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/otel/fixtures/data.d.ts +0 -65
  454. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/otel/fixtures/data.js +0 -455
  455. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/otel/fixtures/data.js.map +0 -1
  456. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/otel/fixtures/index.d.ts +0 -39
  457. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/otel/fixtures/index.js +0 -47
  458. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/otel/fixtures/index.js.map +0 -1
  459. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/otel/index.d.ts +0 -25
  460. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/otel/index.js +0 -27
  461. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/otel/index.js.map +0 -1
  462. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/otel/legacy-shim.d.ts +0 -100
  463. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/otel/legacy-shim.js +0 -193
  464. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/otel/legacy-shim.js.map +0 -1
  465. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/otel/map-span.d.ts +0 -64
  466. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/otel/map-span.js +0 -112
  467. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/otel/map-span.js.map +0 -1
  468. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/otel/nano.d.ts +0 -26
  469. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/otel/nano.js +0 -61
  470. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/otel/nano.js.map +0 -1
  471. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/otel/project.d.ts +0 -42
  472. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/otel/project.js +0 -104
  473. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/otel/project.js.map +0 -1
  474. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/otel/semconv.d.ts +0 -57
  475. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/otel/semconv.js +0 -102
  476. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/otel/semconv.js.map +0 -1
  477. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/otel/span-event.d.ts +0 -134
  478. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/otel/span-event.js +0 -152
  479. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/otel/span-event.js.map +0 -1
  480. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/recorder-events.d.ts +0 -480
  481. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/recorder-events.js +0 -270
  482. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/recorder-events.js.map +0 -1
  483. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/redaction.d.ts +0 -2
  484. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/redaction.js +0 -152
  485. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/redaction.js.map +0 -1
  486. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/rest.d.ts +0 -257
  487. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/rest.js +0 -335
  488. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/rest.js.map +0 -1
  489. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/run.d.ts +0 -208
  490. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/run.js +0 -170
  491. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/run.js.map +0 -1
  492. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/seed-envelope.d.ts +0 -14
  493. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/seed-envelope.js +0 -46
  494. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/seed-envelope.js.map +0 -1
  495. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/seed-state.d.ts +0 -1006
  496. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/seed-state.js +0 -263
  497. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/seed-state.js.map +0 -1
  498. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/sessions.d.ts +0 -53
  499. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/sessions.js +0 -51
  500. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/sessions.js.map +0 -1
  501. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/task-vocab.d.ts +0 -80
  502. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/task-vocab.js +0 -98
  503. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/task-vocab.js.map +0 -1
  504. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/task.d.ts +0 -859
  505. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/task.js +0 -60
  506. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/task.js.map +0 -1
  507. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/manifest-schema.json +0 -68
  508. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/package.json +0 -55
  509. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/trace-contract.json +0 -41
@@ -1,100 +0,0 @@
1
- /**
2
- * otel/legacy-shim — legacy event → `OtelSpanEvent` translation (M1.2 / FDRS-481).
3
- *
4
- * The compatibility layer for the transition window: the CLI keeps uploading its
5
- * current JSONL (no flag day), and OTel-aware downstream (M3 correlation, the
6
- * native waterfall) reads `OtelSpanEvent`. This shim translates the three legacy
7
- * variants — `TwinHttpEvent`, `LlmCallEvent`, `ToolUseEvent` — up into spans so
8
- * legacy and new data share one path.
9
- *
10
- * Guarantees:
11
- * - **Lossless.** The ENTIRE original record is preserved verbatim as a JSON
12
- * string under `attributes["pome.legacy.record_json"]` — serialized from the
13
- * raw input BEFORE Zod strips any additive fields (review finding #3). The
14
- * mapped fields are ALSO written as canonical OTel attributes, from which
15
- * the typed projections are derived by the SAME projector the schema checks.
16
- * - **Deterministic.** No clock, no randomness. Same record (+ same `run_id`
17
- * option) → byte-identical span, every run.
18
- * - **OTel-correct status** (review findings #5/#9). HTTP client spans: 1xx–3xx
19
- * leave status UNSET; 4xx/5xx and transport errors are ERROR. (OTel does not
20
- * set OK on a merely-successful span.)
21
- *
22
- * IDs are namespaced `legacy:<source-id>` so a stored span always declares it
23
- * originated from a pre-OTel record (the canonical schema accepts either real
24
- * W3C ids or `legacy:` ids).
25
- *
26
- * Pinned convention: the shim targets `OTEL_GENAI_SCHEMA_VERSION` (see `./semconv`).
27
- */
28
- import { z } from "zod";
29
- import { type OtelSpanEvent } from "./span-event.js";
30
- export declare const LEGACY_SHIM_SEMCONV_VERSION: "1.42.0";
31
- export declare const LEGACY_ATTR_NAMESPACE: "pome.legacy";
32
- export declare const LEGACY_ID_PREFIX: "legacy:";
33
- export declare const shimmableLegacyEventSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
34
- ts: z.ZodString;
35
- run_id: z.ZodString;
36
- twin: z.ZodString;
37
- request_id: z.ZodString;
38
- correlation_id: z.ZodOptional<z.ZodString>;
39
- task_step_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
40
- scenario_step_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
41
- step_id: z.ZodNullable<z.ZodString>;
42
- tool_call_id: z.ZodNullable<z.ZodString>;
43
- method: z.ZodString;
44
- path: z.ZodString;
45
- request_body: z.ZodUnknown;
46
- status: z.ZodNumber;
47
- response_body: z.ZodUnknown;
48
- latency_ms: z.ZodNumber;
49
- fidelity: z.ZodEnum<{
50
- semantic: "semantic";
51
- unsupported: "unsupported";
52
- }>;
53
- state_mutation: z.ZodBoolean;
54
- state_delta: z.ZodNullable<z.ZodObject<{
55
- before: z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
56
- after: z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
57
- }, z.core.$strip>>;
58
- idempotency_dedupe: z.ZodOptional<z.ZodBoolean>;
59
- error: z.ZodNullable<z.ZodString>;
60
- kind: z.ZodLiteral<"TwinHttpEvent">;
61
- event_id: z.ZodString;
62
- parent_id: z.ZodNullable<z.ZodString>;
63
- }, z.core.$strip>, z.ZodObject<{
64
- kind: z.ZodLiteral<"LlmCallEvent">;
65
- host: z.ZodString;
66
- port: z.ZodNumber;
67
- latency_ms: z.ZodNumber;
68
- bytes_in: z.ZodNumber;
69
- bytes_out: z.ZodNumber;
70
- url: z.ZodNullable<z.ZodString>;
71
- method: z.ZodNullable<z.ZodString>;
72
- status: z.ZodNullable<z.ZodNumber>;
73
- model: z.ZodNullable<z.ZodString>;
74
- prompt_tokens: z.ZodNullable<z.ZodNumber>;
75
- completion_tokens: z.ZodNullable<z.ZodNumber>;
76
- cost_usd: z.ZodNullable<z.ZodNumber>;
77
- ts: z.ZodString;
78
- event_id: z.ZodString;
79
- parent_id: z.ZodNullable<z.ZodString>;
80
- }, z.core.$strip>, z.ZodObject<{
81
- kind: z.ZodLiteral<"ToolUseEvent">;
82
- tool_use_id: z.ZodString;
83
- tool_name: z.ZodString;
84
- input: z.ZodUnknown;
85
- ts: z.ZodString;
86
- event_id: z.ZodString;
87
- parent_id: z.ZodNullable<z.ZodString>;
88
- }, z.core.$strip>], "kind">;
89
- export type ShimmableLegacyEvent = z.infer<typeof shimmableLegacyEventSchema>;
90
- export interface LegacyShimOptions {
91
- run_id?: string;
92
- }
93
- /**
94
- * Translate a single legacy `TwinHttpEvent` / `LlmCallEvent` / `ToolUseEvent`
95
- * into a validated `OtelSpanEvent`.
96
- *
97
- * Throws a typed `ZodError` if `rawRecord` is not one of those three shapes,
98
- * or a plain `Error` if an LLM/tool record is missing the required `run_id`.
99
- */
100
- export declare function shimLegacyEventToSpan(rawRecord: unknown, options?: LegacyShimOptions): OtelSpanEvent;
@@ -1,193 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- /**
3
- * otel/legacy-shim — legacy event → `OtelSpanEvent` translation (M1.2 / FDRS-481).
4
- *
5
- * The compatibility layer for the transition window: the CLI keeps uploading its
6
- * current JSONL (no flag day), and OTel-aware downstream (M3 correlation, the
7
- * native waterfall) reads `OtelSpanEvent`. This shim translates the three legacy
8
- * variants — `TwinHttpEvent`, `LlmCallEvent`, `ToolUseEvent` — up into spans so
9
- * legacy and new data share one path.
10
- *
11
- * Guarantees:
12
- * - **Lossless.** The ENTIRE original record is preserved verbatim as a JSON
13
- * string under `attributes["pome.legacy.record_json"]` — serialized from the
14
- * raw input BEFORE Zod strips any additive fields (review finding #3). The
15
- * mapped fields are ALSO written as canonical OTel attributes, from which
16
- * the typed projections are derived by the SAME projector the schema checks.
17
- * - **Deterministic.** No clock, no randomness. Same record (+ same `run_id`
18
- * option) → byte-identical span, every run.
19
- * - **OTel-correct status** (review findings #5/#9). HTTP client spans: 1xx–3xx
20
- * leave status UNSET; 4xx/5xx and transport errors are ERROR. (OTel does not
21
- * set OK on a merely-successful span.)
22
- *
23
- * IDs are namespaced `legacy:<source-id>` so a stored span always declares it
24
- * originated from a pre-OTel record (the canonical schema accepts either real
25
- * W3C ids or `legacy:` ids).
26
- *
27
- * Pinned convention: the shim targets `OTEL_GENAI_SCHEMA_VERSION` (see `./semconv`).
28
- */
29
- import { z } from "zod";
30
- import { llmCallEventSchema, toolUseEventSchema, twinHttpEventSchema, } from "../recorder-events.js";
31
- import { msToNanos, nanosToIso } from "./nano.js";
32
- import { projectAttributes, } from "./project.js";
33
- import { ERROR_TYPE, GEN_AI_OPERATION_NAME, GEN_AI_REQUEST_MODEL, GEN_AI_TOOL_NAME, GEN_AI_USAGE_INPUT_TOKENS, GEN_AI_USAGE_OUTPUT_TOKENS, HTTP_REQUEST_METHOD, HTTP_RESPONSE_STATUS_CODE, OTEL_GENAI_SCHEMA_VERSION, SERVER_ADDRESS, SERVER_PORT, URL_FULL, URL_PATH, } from "./semconv.js";
34
- import { otelSpanEventSchema } from "./span-event.js";
35
- // The shim targets this pinned GenAI convention version (from M1.1). This
36
- // re-export makes the pin explicit and testable.
37
- export const LEGACY_SHIM_SEMCONV_VERSION = OTEL_GENAI_SCHEMA_VERSION;
38
- // The documented namespace for legacy provenance. `record_json` is the lossless
39
- // source of truth; `kind` records the originating legacy variant.
40
- export const LEGACY_ATTR_NAMESPACE = "pome.legacy";
41
- export const LEGACY_ID_PREFIX = "legacy:";
42
- const ATTR_LEGACY_KIND = `${LEGACY_ATTR_NAMESPACE}.kind`;
43
- const ATTR_LEGACY_RECORD_JSON = `${LEGACY_ATTR_NAMESPACE}.record_json`;
44
- // The legacy variants this shim accepts. Discriminated on `kind`.
45
- //
46
- // NOT-SHIMMABLE-IN-M1: `HookEvent`, `ToolResultEvent`, `SubagentSpawnEvent`, and
47
- // `LlmTurnEvent` (F-766) are intentionally absent. They are captured into
48
- // events.jsonl but not projected to spans yet — the M2 projection layer adds
49
- // full coverage (LlmTurnEvent → a `chat` span carrying the cache-token
50
- // attributes; ToolResult pairs into its execute_tool span; etc.). Until then
51
- // `shimLegacyEventToSpan` rejects these kinds with a typed ZodError rather than
52
- // emitting a lossy span. The otel-legacy-shim test locks this deliberately.
53
- export const shimmableLegacyEventSchema = z.discriminatedUnion("kind", [
54
- twinHttpEventSchema,
55
- llmCallEventSchema,
56
- toolUseEventSchema,
57
- ]);
58
- // `legacy:`-namespace a non-OTel source id. Idempotent if already namespaced.
59
- function legacyId(sourceId) {
60
- return sourceId.startsWith(LEGACY_ID_PREFIX) ? sourceId : `${LEGACY_ID_PREFIX}${sourceId}`;
61
- }
62
- // Resolve the legacy run id used as the trace grouping key.
63
- function resolveRunId(options, record) {
64
- if (options.run_id !== undefined) {
65
- return options.run_id;
66
- }
67
- if (record.kind === "TwinHttpEvent") {
68
- return record.run_id;
69
- }
70
- // No run context — LLM/tool rows carry none internally. Refusing here keeps
71
- // related rows from each landing in their own orphan trace.
72
- throw new Error(`legacy-shim: ${record.kind} requires options.run_id for trace context`);
73
- }
74
- // Drop null/undefined entries so the bag stays a valid attribute record (the
75
- // attribute schema has no null member — an absent attribute is omitted).
76
- function buildBag(entries) {
77
- const bag = {};
78
- for (const [key, value] of Object.entries(entries)) {
79
- if (value !== null && value !== undefined)
80
- bag[key] = value;
81
- }
82
- return bag;
83
- }
84
- // OTel HTTP client span status: success (incl. redirects) stays UNSET; 4xx/5xx
85
- // and transport errors are ERROR (review #9). Returns the status + the
86
- // low-cardinality `error.type` token to stamp on the bag.
87
- function httpStatus(status, error) {
88
- if (error !== null)
89
- return { code: "ERROR", errorType: "network_error" };
90
- if (status >= 400)
91
- return { code: "ERROR", errorType: String(status) };
92
- return { code: "UNSET", errorType: null };
93
- }
94
- /**
95
- * Translate a single legacy `TwinHttpEvent` / `LlmCallEvent` / `ToolUseEvent`
96
- * into a validated `OtelSpanEvent`.
97
- *
98
- * Throws a typed `ZodError` if `rawRecord` is not one of those three shapes,
99
- * or a plain `Error` if an LLM/tool record is missing the required `run_id`.
100
- */
101
- export function shimLegacyEventToSpan(rawRecord, options = {}) {
102
- const record = shimmableLegacyEventSchema.parse(rawRecord);
103
- const startMs = Date.parse(record.ts);
104
- const startNano = msToNanos(startMs);
105
- const traceId = legacyId(resolveRunId(options, record));
106
- const spanId = legacyId(record.event_id);
107
- const parentSpanId = record.parent_id !== null ? legacyId(record.parent_id) : null;
108
- // Lossless: serialize the RAW input (not the Zod-stripped record) so additive
109
- // legacy fields survive round-trip.
110
- const legacyNamespace = {
111
- [ATTR_LEGACY_KIND]: record.kind,
112
- [ATTR_LEGACY_RECORD_JSON]: JSON.stringify(rawRecord),
113
- };
114
- let name;
115
- let spanKind;
116
- let endNano;
117
- let statusCode;
118
- let statusMessage;
119
- let semanticAttrs;
120
- if (record.kind === "TwinHttpEvent") {
121
- const status = httpStatus(record.status, record.error);
122
- // Low-cardinality span name: HTTP method only (the concrete path is a high-
123
- // cardinality URL, not a route template) — review #4.
124
- name = record.method;
125
- spanKind = "CLIENT";
126
- endNano = msToNanos(startMs + record.latency_ms);
127
- statusCode = status.code;
128
- statusMessage = record.error;
129
- semanticAttrs = buildBag({
130
- [HTTP_REQUEST_METHOD]: record.method,
131
- [HTTP_RESPONSE_STATUS_CODE]: record.status,
132
- [URL_PATH]: record.path,
133
- [ERROR_TYPE]: status.errorType,
134
- });
135
- }
136
- else if (record.kind === "LlmCallEvent") {
137
- // Asymmetry vs TwinHttpEvent (intentional, M1): a legacy LlmCallEvent has no
138
- // transport-error field, so only an HTTP >=400 status drives ERROR here —
139
- // a connection-level failure with a null status stays UNSET. M3 unifies on
140
- // real OTel span status; until then LLM rows may under-report errors vs HTTP.
141
- const errored = record.status !== null && record.status >= 400;
142
- name = record.model !== null ? `chat ${record.model}` : "chat";
143
- spanKind = "CLIENT";
144
- endNano = msToNanos(startMs + record.latency_ms);
145
- statusCode = errored ? "ERROR" : "UNSET";
146
- statusMessage = null;
147
- semanticAttrs = buildBag({
148
- [GEN_AI_OPERATION_NAME]: "chat",
149
- [GEN_AI_REQUEST_MODEL]: record.model,
150
- [GEN_AI_USAGE_INPUT_TOKENS]: record.prompt_tokens,
151
- [GEN_AI_USAGE_OUTPUT_TOKENS]: record.completion_tokens,
152
- [HTTP_REQUEST_METHOD]: record.method,
153
- [HTTP_RESPONSE_STATUS_CODE]: record.status,
154
- [URL_FULL]: record.url,
155
- [SERVER_ADDRESS]: record.host,
156
- [SERVER_PORT]: record.port,
157
- [ERROR_TYPE]: errored ? String(record.status) : null,
158
- });
159
- }
160
- else {
161
- // ToolUseEvent
162
- name = `execute_tool ${record.tool_name}`;
163
- spanKind = "INTERNAL";
164
- endNano = null;
165
- statusCode = "UNSET";
166
- statusMessage = null;
167
- semanticAttrs = buildBag({
168
- [GEN_AI_OPERATION_NAME]: "execute_tool",
169
- [GEN_AI_TOOL_NAME]: record.tool_name,
170
- });
171
- }
172
- const attributes = { ...semanticAttrs, ...legacyNamespace };
173
- const candidate = {
174
- ts: nanosToIso(startNano),
175
- event_id: spanId,
176
- parent_id: parentSpanId,
177
- kind: "OtelSpanEvent",
178
- trace_id: traceId,
179
- span_id: spanId,
180
- parent_span_id: parentSpanId,
181
- name,
182
- span_kind: spanKind,
183
- start_time_unix_nano: startNano,
184
- end_time_unix_nano: endNano,
185
- status_code: statusCode,
186
- status_message: statusMessage,
187
- ...projectAttributes(attributes),
188
- attributes,
189
- };
190
- // Re-validate so the shim's output is provably a canonical `OtelSpanEvent`.
191
- return otelSpanEventSchema.parse(candidate);
192
- }
193
- //# sourceMappingURL=legacy-shim.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"legacy-shim.js","sourceRoot":"","sources":["../../src/otel/legacy-shim.ts"],"names":[],"mappings":"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"}
@@ -1,64 +0,0 @@
1
- /**
2
- * otel/map-span — pure OTel span → `OtelSpanEvent` mapping (M1.1 / FDRS-480).
3
- *
4
- * Deterministic: same input → byte-identical event, every run. Has no clock,
5
- * no randomness; `ts` is derived from the span's start time.
6
- *
7
- * Input is a NORMALIZED span: real W3C trace context (lowercase-hex ids) and a
8
- * flat `attributes` `Record<string, value>`. Decoding raw OTLP/JSON `AnyValue`
9
- * (`{ stringValue }`, kvlist, bytes) and the `[{ key, value }]` attribute array
10
- * into this flat record is M2's job (the `@opentelemetry/otlp-transformer`
11
- * dependency) — keeping M1.1 free of an OTLP decoder keeps the schema
12
- * self-testable.
13
- *
14
- * Round-trip example:
15
- *
16
- * mapOtelSpanToEvent({
17
- * trace_id: "4bf92f3577b34da6a3ce929d0e0e4736",
18
- * span_id: "00f067aa0ba902b7",
19
- * name: "chat google/gemini-2.5-flash",
20
- * start_time_unix_nano: "1700000000000000000",
21
- * attributes: {
22
- * "gen_ai.provider.name": "google",
23
- * "gen_ai.request.model": "gemini-2.5-flash",
24
- * "gen_ai.usage.input_tokens": 42,
25
- * },
26
- * })
27
- * // → { ts: "2023-11-14T22:13:20.000Z", event_id: "00f067aa0ba902b7", … }
28
- */
29
- import { z } from "zod";
30
- import { type OtelSpanEvent } from "./span-event.js";
31
- export declare const otelSpanInputSchema: z.ZodObject<{
32
- trace_id: z.ZodString;
33
- span_id: z.ZodString;
34
- parent_span_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
35
- name: z.ZodString;
36
- kind: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
37
- UNSPECIFIED: "UNSPECIFIED";
38
- INTERNAL: "INTERNAL";
39
- SERVER: "SERVER";
40
- CLIENT: "CLIENT";
41
- PRODUCER: "PRODUCER";
42
- CONSUMER: "CONSUMER";
43
- }>, z.ZodNumber]>>;
44
- start_time_unix_nano: z.ZodString;
45
- end_time_unix_nano: z.ZodOptional<z.ZodNullable<z.ZodString>>;
46
- status: z.ZodOptional<z.ZodObject<{
47
- code: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
48
- UNSET: "UNSET";
49
- OK: "OK";
50
- ERROR: "ERROR";
51
- }>, z.ZodNumber]>>;
52
- message: z.ZodOptional<z.ZodNullable<z.ZodString>>;
53
- }, z.core.$strip>>;
54
- attributes: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>]>>>;
55
- }, z.core.$strip>;
56
- export type OtelSpanInput = z.infer<typeof otelSpanInputSchema>;
57
- /**
58
- * Map a normalized OTLP span onto a validated `OtelSpanEvent`.
59
- *
60
- * Throws a `ZodError` (typed; names the offending field) when the input is
61
- * malformed — a non-hex `trace_id`, an out-of-range unix-nano, a reversed span
62
- * (end < start), a non-finite attribute value, etc.
63
- */
64
- export declare function mapOtelSpanToEvent(rawSpan: unknown): OtelSpanEvent;
@@ -1,112 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- /**
3
- * otel/map-span — pure OTel span → `OtelSpanEvent` mapping (M1.1 / FDRS-480).
4
- *
5
- * Deterministic: same input → byte-identical event, every run. Has no clock,
6
- * no randomness; `ts` is derived from the span's start time.
7
- *
8
- * Input is a NORMALIZED span: real W3C trace context (lowercase-hex ids) and a
9
- * flat `attributes` `Record<string, value>`. Decoding raw OTLP/JSON `AnyValue`
10
- * (`{ stringValue }`, kvlist, bytes) and the `[{ key, value }]` attribute array
11
- * into this flat record is M2's job (the `@opentelemetry/otlp-transformer`
12
- * dependency) — keeping M1.1 free of an OTLP decoder keeps the schema
13
- * self-testable.
14
- *
15
- * Round-trip example:
16
- *
17
- * mapOtelSpanToEvent({
18
- * trace_id: "4bf92f3577b34da6a3ce929d0e0e4736",
19
- * span_id: "00f067aa0ba902b7",
20
- * name: "chat google/gemini-2.5-flash",
21
- * start_time_unix_nano: "1700000000000000000",
22
- * attributes: {
23
- * "gen_ai.provider.name": "google",
24
- * "gen_ai.request.model": "gemini-2.5-flash",
25
- * "gen_ai.usage.input_tokens": 42,
26
- * },
27
- * })
28
- * // → { ts: "2023-11-14T22:13:20.000Z", event_id: "00f067aa0ba902b7", … }
29
- */
30
- import { z } from "zod";
31
- import { nanosToIso } from "./nano.js";
32
- import { otelAttributeValueSchema, projectAttributes } from "./project.js";
33
- import { OTEL_SPAN_KINDS, OTEL_STATUS_CODES, otelSpanEventSchema, otelSpanKindSchema, otelStatusCodeSchema, unixNanoSchema, w3cSpanIdSchema, w3cTraceIdSchema, } from "./span-event.js";
34
- // Normalized OTLP span input. IDs are strict W3C trace context (real OTel
35
- // always emits hex). `kind` / `status.code` accept either the OTLP integer
36
- // (0–5 / 0–2) or the name; everything else is already decoded.
37
- export const otelSpanInputSchema = z.object({
38
- trace_id: w3cTraceIdSchema,
39
- span_id: w3cSpanIdSchema,
40
- parent_span_id: w3cSpanIdSchema.nullable().optional(),
41
- name: z.string().min(1),
42
- kind: z.union([otelSpanKindSchema, z.number().int().min(0).max(5)]).optional(),
43
- start_time_unix_nano: unixNanoSchema,
44
- end_time_unix_nano: unixNanoSchema.nullable().optional(),
45
- status: z
46
- .object({
47
- code: z.union([otelStatusCodeSchema, z.number().int().min(0).max(2)]).optional(),
48
- message: z.string().nullable().optional(),
49
- })
50
- .optional(),
51
- attributes: z.record(z.string(), otelAttributeValueSchema).default({}),
52
- });
53
- function normalizeSpanKind(kind) {
54
- if (kind === undefined) {
55
- // OTel SDKs default an unset kind to INTERNAL.
56
- return "INTERNAL";
57
- }
58
- if (typeof kind === "number") {
59
- // Bounded 0–5 by `otelSpanInputSchema`; `!` avoids an unreachable branch.
60
- return OTEL_SPAN_KINDS[kind];
61
- }
62
- return kind;
63
- }
64
- function normalizeStatusCode(code) {
65
- if (code === undefined) {
66
- return "UNSET";
67
- }
68
- if (typeof code === "number") {
69
- // Bounded 0–2 by `otelSpanInputSchema`; `!` avoids an unreachable branch.
70
- return OTEL_STATUS_CODES[code];
71
- }
72
- return code;
73
- }
74
- /**
75
- * Map a normalized OTLP span onto a validated `OtelSpanEvent`.
76
- *
77
- * Throws a `ZodError` (typed; names the offending field) when the input is
78
- * malformed — a non-hex `trace_id`, an out-of-range unix-nano, a reversed span
79
- * (end < start), a non-finite attribute value, etc.
80
- */
81
- export function mapOtelSpanToEvent(rawSpan) {
82
- const span = otelSpanInputSchema.parse(rawSpan);
83
- const attributes = span.attributes;
84
- const parentSpanId = span.parent_span_id ?? null;
85
- const candidate = {
86
- ts: nanosToIso(span.start_time_unix_nano),
87
- // The span id IS the canonical row id for an OTel event; the base
88
- // parent-chain mirrors span parentage so downstream union readers and M3
89
- // correlation agree.
90
- event_id: span.span_id,
91
- parent_id: parentSpanId,
92
- kind: "OtelSpanEvent",
93
- trace_id: span.trace_id,
94
- span_id: span.span_id,
95
- parent_span_id: parentSpanId,
96
- name: span.name,
97
- span_kind: normalizeSpanKind(span.kind),
98
- start_time_unix_nano: span.start_time_unix_nano,
99
- end_time_unix_nano: span.end_time_unix_nano ?? null,
100
- status_code: normalizeStatusCode(span.status?.code),
101
- status_message: span.status?.message ?? null,
102
- // Verbatim bag plus its single-source projection. The schema re-derives the
103
- // projection and rejects drift, so this is the only place it is computed.
104
- ...projectAttributes(attributes),
105
- attributes,
106
- };
107
- // Re-validate the assembled event so the canonical model is always schema-
108
- // valid. This DOES fire for bad input the input schema let through (e.g. a
109
- // reversed span), surfacing a typed ZodError instead of a silent bad row.
110
- return otelSpanEventSchema.parse(candidate);
111
- }
112
- //# sourceMappingURL=map-span.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"map-span.js","sourceRoot":"","sources":["../../src/otel/map-span.ts"],"names":[],"mappings":"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"}
@@ -1,26 +0,0 @@
1
- /**
2
- * otel/nano — uint64 decimal-string arithmetic + nanosecond↔ISO conversion
3
- * (M1.1 / FDRS-480).
4
- *
5
- * OTLP encodes `*_unix_nano` timestamps as uint64 decimal STRINGS because the
6
- * values exceed Number.MAX_SAFE_INTEGER. These helpers validate and compare
7
- * them WITHOUT `BigInt` — the dashboard compiles this source directly under a
8
- * pre-ES2020 target where `BigInt` literals fail to typecheck (review-era
9
- * portability fix). Everything here is pure and deterministic.
10
- */
11
- export declare const UINT64_MAX = "18446744073709551615";
12
- /** True iff `value` is a non-negative decimal integer string within uint64. */
13
- export declare function isUint64(value: string): boolean;
14
- /**
15
- * Compare two uint64 decimal strings. Returns <0 if a<b, 0 if equal, >0 if a>b.
16
- * Assumes both are valid digit strings (callers validate via `isUint64` first).
17
- */
18
- export declare function compareUint64(a: string, b: string): number;
19
- export declare function msToNanos(millis: number): string;
20
- /**
21
- * uint64 nanoseconds → ISO-8601 (UTC). Floors to milliseconds by dropping the
22
- * last 6 decimal digits of the (uint64-validated) integer string. The resulting
23
- * ms value is within Date's safe range for any valid uint64, so this never
24
- * throws for input that passed `isUint64`. String-slicing avoids `BigInt`.
25
- */
26
- export declare function nanosToIso(unixNano: string): string;
@@ -1,61 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- /**
3
- * otel/nano — uint64 decimal-string arithmetic + nanosecond↔ISO conversion
4
- * (M1.1 / FDRS-480).
5
- *
6
- * OTLP encodes `*_unix_nano` timestamps as uint64 decimal STRINGS because the
7
- * values exceed Number.MAX_SAFE_INTEGER. These helpers validate and compare
8
- * them WITHOUT `BigInt` — the dashboard compiles this source directly under a
9
- * pre-ES2020 target where `BigInt` literals fail to typecheck (review-era
10
- * portability fix). Everything here is pure and deterministic.
11
- */
12
- // 2^64 - 1. A unix-nano timestamp must fit in a uint64; a longer/larger decimal
13
- // string is rejected so it can never reach `nanosToIso` and throw a RangeError
14
- // (review finding #4).
15
- export const UINT64_MAX = "18446744073709551615";
16
- // Strip leading zeros, keeping a single "0" for an all-zero string. The
17
- // `(?=\d)` lookahead guarantees at least one digit remains, so for any digit
18
- // string (callers validate via the `^\d+$` test first) the result is non-empty.
19
- // Lets us compare normalized decimals by (length, then lexicographic).
20
- function normalizeDigits(value) {
21
- return value.replace(/^0+(?=\d)/, "");
22
- }
23
- /** True iff `value` is a non-negative decimal integer string within uint64. */
24
- export function isUint64(value) {
25
- if (!/^\d+$/.test(value))
26
- return false;
27
- const normalized = normalizeDigits(value);
28
- if (normalized.length !== UINT64_MAX.length) {
29
- return normalized.length < UINT64_MAX.length;
30
- }
31
- return normalized <= UINT64_MAX;
32
- }
33
- /**
34
- * Compare two uint64 decimal strings. Returns <0 if a<b, 0 if equal, >0 if a>b.
35
- * Assumes both are valid digit strings (callers validate via `isUint64` first).
36
- */
37
- export function compareUint64(a, b) {
38
- const na = normalizeDigits(a);
39
- const nb = normalizeDigits(b);
40
- if (na.length !== nb.length)
41
- return na.length - nb.length;
42
- if (na === nb)
43
- return 0;
44
- return na < nb ? -1 : 1;
45
- }
46
- // Unix-milliseconds → uint64 unix-nanoseconds decimal string. Legacy timestamps
47
- // are millisecond-precision, so this is exact: append six zeros. Deterministic.
48
- export function msToNanos(millis) {
49
- return `${millis}000000`;
50
- }
51
- /**
52
- * uint64 nanoseconds → ISO-8601 (UTC). Floors to milliseconds by dropping the
53
- * last 6 decimal digits of the (uint64-validated) integer string. The resulting
54
- * ms value is within Date's safe range for any valid uint64, so this never
55
- * throws for input that passed `isUint64`. String-slicing avoids `BigInt`.
56
- */
57
- export function nanosToIso(unixNano) {
58
- const millis = Number(unixNano.slice(0, -6) || "0");
59
- return new Date(millis).toISOString();
60
- }
61
- //# sourceMappingURL=nano.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"nano.js","sourceRoot":"","sources":["../../src/otel/nano.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC;;;;;;;;;GASG;AAEH,gFAAgF;AAChF,+EAA+E;AAC/E,uBAAuB;AACvB,MAAM,CAAC,MAAM,UAAU,GAAG,sBAAsB,CAAC;AAEjD,wEAAwE;AACxE,6EAA6E;AAC7E,gFAAgF;AAChF,uEAAuE;AACvE,SAAS,eAAe,CAAC,KAAa;IACpC,OAAO,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;AACxC,CAAC;AAED,+EAA+E;AAC/E,MAAM,UAAU,QAAQ,CAAC,KAAa;IACpC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACvC,MAAM,UAAU,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;IAC1C,IAAI,UAAU,CAAC,MAAM,KAAK,UAAU,CAAC,MAAM,EAAE,CAAC;QAC5C,OAAO,UAAU,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;IAC/C,CAAC;IACD,OAAO,UAAU,IAAI,UAAU,CAAC;AAClC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,aAAa,CAAC,CAAS,EAAE,CAAS;IAChD,MAAM,EAAE,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;IAC9B,MAAM,EAAE,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;IAC9B,IAAI,EAAE,CAAC,MAAM,KAAK,EAAE,CAAC,MAAM;QAAE,OAAO,EAAE,CAAC,MAAM,GAAG,EAAE,CAAC,MAAM,CAAC;IAC1D,IAAI,EAAE,KAAK,EAAE;QAAE,OAAO,CAAC,CAAC;IACxB,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1B,CAAC;AAED,gFAAgF;AAChF,gFAAgF;AAChF,MAAM,UAAU,SAAS,CAAC,MAAc;IACtC,OAAO,GAAG,MAAM,QAAQ,CAAC;AAC3B,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,UAAU,CAAC,QAAgB;IACzC,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC;IACpD,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;AACxC,CAAC"}
@@ -1,42 +0,0 @@
1
- /**
2
- * otel/project — the single attribute→projection function (M1.1 / FDRS-480).
3
- *
4
- * The typed `gen_ai_*` / `http_*` / `url_*` / `server_*` / `error_type` fields
5
- * on an `OtelSpanEvent` are PROJECTIONS of the verbatim `attributes` bag, never
6
- * an independent source of truth. This module is the ONE place that derivation
7
- * lives, so:
8
- * - the span mapper (`map-span.ts`) builds projections from `attributes`,
9
- * - the legacy shim (`legacy-shim.ts`) builds them the same way, and
10
- * - the schema (`span-event.ts`) re-derives them in a `superRefine` and
11
- * rejects any event whose typed fields drift from `attributes`
12
- * (review finding #4 — projection drift; finding #7 — centralize).
13
- *
14
- * Pure and deterministic. Reads only the pinned attribute names from `semconv`.
15
- */
16
- import { z } from "zod";
17
- export declare const otelAttributeValueSchema: z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>]>;
18
- export type OtelAttributeValue = z.infer<typeof otelAttributeValueSchema>;
19
- export type OtelAttributeBag = Record<string, OtelAttributeValue>;
20
- export declare const OTEL_PROJECTION_KEYS: readonly ["gen_ai_provider_name", "gen_ai_operation_name", "gen_ai_request_model", "gen_ai_agent_name", "gen_ai_agent_id", "gen_ai_tool_name", "gen_ai_usage_input_tokens", "gen_ai_usage_output_tokens", "http_request_method", "http_response_status_code", "url_full", "url_path", "server_address", "server_port", "error_type"];
21
- export type OtelProjections = {
22
- gen_ai_provider_name: string | null;
23
- gen_ai_operation_name: string | null;
24
- gen_ai_request_model: string | null;
25
- gen_ai_agent_name: string | null;
26
- gen_ai_agent_id: string | null;
27
- gen_ai_tool_name: string | null;
28
- gen_ai_usage_input_tokens: number | null;
29
- gen_ai_usage_output_tokens: number | null;
30
- http_request_method: string | null;
31
- http_response_status_code: number | null;
32
- url_full: string | null;
33
- url_path: string | null;
34
- server_address: string | null;
35
- server_port: number | null;
36
- error_type: string | null;
37
- };
38
- /**
39
- * Derive the flat typed projections from a verbatim attribute bag. Canonical
40
- * names win; deprecated/pre-1.27 aliases are accepted as fallbacks.
41
- */
42
- export declare function projectAttributes(attributes: OtelAttributeBag): OtelProjections;