@pome-sh/cli 0.3.0 → 0.5.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 (1188) hide show
  1. package/README.md +40 -3
  2. package/dist/build-info.json +3 -3
  3. package/dist/src/cli/agent-identity.d.ts +20 -0
  4. package/dist/src/cli/agent-identity.js +59 -0
  5. package/dist/src/cli/agent-resolver.d.ts +26 -0
  6. package/dist/src/cli/agent-resolver.js +121 -0
  7. package/dist/src/cli/compile-seeds.js +1 -1
  8. package/dist/src/cli/credentials.d.ts +4 -0
  9. package/dist/src/cli/credentials.js +8 -0
  10. package/dist/src/cli/docs-topics.js +53 -16
  11. package/dist/src/cli/eval.d.ts +10 -6
  12. package/dist/src/cli/eval.js +21 -29
  13. package/dist/src/cli/frameworks.d.ts +12 -0
  14. package/dist/src/cli/frameworks.js +62 -0
  15. package/dist/src/cli/install.d.ts +4 -41
  16. package/dist/src/cli/install.js +31 -412
  17. package/dist/src/cli/link-cache.d.ts +23 -0
  18. package/dist/src/cli/link-cache.js +91 -0
  19. package/dist/src/cli/login.js +1 -1
  20. package/dist/src/cli/main.js +120 -88
  21. package/dist/src/cli/project-config.d.ts +27 -25
  22. package/dist/src/cli/project-config.js +100 -54
  23. package/dist/src/cli/register.d.ts +5 -31
  24. package/dist/src/cli/register.js +118 -116
  25. package/dist/src/cli/scenarios-catalog.js +51 -1
  26. package/dist/src/cli/scenarios.js +10 -10
  27. package/dist/src/cli/session.js +16 -8
  28. package/dist/src/doctor/checks.js +27 -25
  29. package/dist/src/doctor/scan.js +3 -0
  30. package/dist/src/fix-prompt/prompt.js +3 -3
  31. package/dist/src/fix-prompt/prompts/fix-prompt-v1.md +3 -3
  32. package/dist/src/hosted/client.d.ts +8 -3
  33. package/dist/src/hosted/client.js +3 -0
  34. package/dist/src/recorder/inspect.js +1 -1
  35. package/dist/src/runner/groupRender.d.ts +1 -1
  36. package/dist/src/runner/groupRender.js +3 -3
  37. package/dist/src/runner/runScenario.d.ts +626 -2
  38. package/dist/src/runner/runScenario.js +5 -0
  39. package/dist/src/runner/runScenarioHosted.d.ts +3 -0
  40. package/dist/src/runner/runScenarioHosted.js +29 -13
  41. package/dist/src/runner/runTrialGroup.d.ts +3 -1
  42. package/dist/src/runner/runTrialGroup.js +13 -11
  43. package/dist/src/scenario/parseScenario.js +42 -14
  44. package/dist/src/scenario/scenarioSchema.d.ts +1472 -4
  45. package/dist/src/scenario/scenarioSchema.js +4 -0
  46. package/dist/src/twin/twinHarness.d.ts +2 -0
  47. package/dist/src/twin/twinHarness.js +48 -1
  48. package/dist/src/twin/twinStart.d.ts +3 -1
  49. package/dist/src/twin/twinStart.js +22 -4
  50. package/node_modules/@hono/node-server/dist/index.cjs +145 -18
  51. package/node_modules/@hono/node-server/dist/index.mjs +145 -18
  52. package/node_modules/@hono/node-server/dist/serve-static.cjs +53 -12
  53. package/node_modules/@hono/node-server/dist/serve-static.mjs +53 -12
  54. package/node_modules/@hono/node-server/package.json +1 -1
  55. package/node_modules/@pome-sh/sdk/dist/index.d.ts +38 -1
  56. package/node_modules/@pome-sh/sdk/dist/index.js +16 -7
  57. package/node_modules/@pome-sh/sdk/dist/index.js.map +1 -1
  58. package/node_modules/@pome-sh/sdk/dist/mcp-jsonrpc.js +21 -5
  59. package/node_modules/@pome-sh/sdk/dist/mcp-jsonrpc.js.map +1 -1
  60. package/node_modules/@pome-sh/sdk/dist/parity.d.ts +6 -0
  61. package/node_modules/@pome-sh/sdk/dist/parity.js +12 -1
  62. package/node_modules/@pome-sh/sdk/dist/parity.js.map +1 -1
  63. package/node_modules/@pome-sh/sdk/dist/recorder.d.ts +6 -0
  64. package/node_modules/@pome-sh/sdk/dist/recorder.js +27 -32
  65. package/node_modules/@pome-sh/sdk/dist/recorder.js.map +1 -1
  66. package/node_modules/@pome-sh/sdk/dist/server.js +9 -4
  67. package/node_modules/@pome-sh/sdk/dist/server.js.map +1 -1
  68. package/node_modules/@pome-sh/sdk/dist/tool-context.d.ts +2 -0
  69. package/node_modules/@pome-sh/sdk/dist/tool-context.js +3 -0
  70. package/node_modules/@pome-sh/sdk/dist/tool-context.js.map +1 -1
  71. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/finalize-shapes.d.ts +39 -0
  72. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/finalize-shapes.js +39 -0
  73. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/finalize-shapes.js.map +1 -1
  74. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/index.d.ts +4 -3
  75. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/index.js +4 -3
  76. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/index.js.map +1 -1
  77. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/manifest.d.ts +31 -0
  78. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/manifest.js +76 -0
  79. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/manifest.js.map +1 -0
  80. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/otel/event-schema.d.ts +45 -0
  81. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/otel/legacy-shim.js +8 -0
  82. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/otel/legacy-shim.js.map +1 -1
  83. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/otel/project.js +14 -6
  84. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/otel/project.js.map +1 -1
  85. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/otel/semconv.d.ts +6 -0
  86. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/otel/semconv.js +28 -0
  87. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/otel/semconv.js.map +1 -1
  88. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/recorder-events.d.ts +63 -1
  89. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/recorder-events.js +37 -1
  90. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/recorder-events.js.map +1 -1
  91. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/rest.d.ts +61 -2
  92. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/rest.js +112 -2
  93. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/rest.js.map +1 -1
  94. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/run.d.ts +7 -0
  95. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/run.js +5 -1
  96. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/run.js.map +1 -1
  97. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/seed-envelope.d.ts +14 -0
  98. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/seed-envelope.js +46 -0
  99. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/seed-envelope.js.map +1 -0
  100. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/seed-state.d.ts +560 -0
  101. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/seed-state.js +98 -2
  102. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/seed-state.js.map +1 -1
  103. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/sessions.d.ts +3 -3
  104. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/sessions.js +1 -1
  105. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/sessions.js.map +1 -1
  106. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/task-vocab.d.ts +15 -1
  107. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/task-vocab.js +15 -1
  108. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/task-vocab.js.map +1 -1
  109. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/task.d.ts +376 -0
  110. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/manifest-schema.json +68 -0
  111. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/package.json +5 -4
  112. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/trace-contract.json +1 -1
  113. package/node_modules/@pome-sh/sdk/package.json +5 -5
  114. package/node_modules/@pome-sh/shared-types/dist/index.d.ts +1 -0
  115. package/node_modules/@pome-sh/shared-types/dist/index.js +1 -0
  116. package/node_modules/@pome-sh/shared-types/dist/index.js.map +1 -1
  117. package/node_modules/@pome-sh/shared-types/dist/manifest.d.ts +31 -0
  118. package/node_modules/@pome-sh/shared-types/dist/manifest.js +76 -0
  119. package/node_modules/@pome-sh/shared-types/dist/manifest.js.map +1 -0
  120. package/node_modules/@pome-sh/shared-types/dist/otel/project.js +14 -6
  121. package/node_modules/@pome-sh/shared-types/dist/otel/project.js.map +1 -1
  122. package/node_modules/@pome-sh/shared-types/dist/otel/semconv.d.ts +6 -0
  123. package/node_modules/@pome-sh/shared-types/dist/otel/semconv.js +21 -0
  124. package/node_modules/@pome-sh/shared-types/dist/otel/semconv.js.map +1 -1
  125. package/node_modules/@pome-sh/shared-types/dist/recorder-events.d.ts +1 -1
  126. package/node_modules/@pome-sh/shared-types/dist/recorder-events.js +1 -1
  127. package/node_modules/@pome-sh/shared-types/dist/recorder-events.js.map +1 -1
  128. package/node_modules/@pome-sh/shared-types/dist/rest.d.ts +11 -0
  129. package/node_modules/@pome-sh/shared-types/dist/rest.js +38 -0
  130. package/node_modules/@pome-sh/shared-types/dist/rest.js.map +1 -1
  131. package/node_modules/@pome-sh/shared-types/dist/seed-state.d.ts +1033 -0
  132. package/node_modules/@pome-sh/shared-types/dist/seed-state.js +285 -2
  133. package/node_modules/@pome-sh/shared-types/dist/seed-state.js.map +1 -1
  134. package/node_modules/@pome-sh/shared-types/dist/sessions.d.ts +1 -1
  135. package/node_modules/@pome-sh/shared-types/dist/sessions.js +1 -1
  136. package/node_modules/@pome-sh/shared-types/dist/sessions.js.map +1 -1
  137. package/node_modules/@pome-sh/shared-types/dist/task.d.ts +690 -0
  138. package/node_modules/@pome-sh/shared-types/manifest-schema.json +68 -0
  139. package/node_modules/@pome-sh/shared-types/package.json +5 -4
  140. package/node_modules/@pome-sh/shared-types/trace-contract.json +1 -1
  141. package/node_modules/@pome-sh/twin-github/README.md +1 -1
  142. package/node_modules/@pome-sh/twin-github/dist/src/access-control.d.ts +3 -3
  143. package/node_modules/@pome-sh/twin-github/dist/src/domain.d.ts +5 -5
  144. package/node_modules/@pome-sh/twin-github/dist/src/seed.d.ts +1 -1
  145. package/node_modules/@pome-sh/twin-github/dist/src/serializers.d.ts +3 -3
  146. package/node_modules/@pome-sh/twin-github/dist/src/tools.d.ts +21 -21
  147. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/sdk/dist/admin-gate.d.ts +35 -0
  148. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/sdk/dist/admin-gate.js +103 -0
  149. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/sdk/dist/admin-gate.js.map +1 -0
  150. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/sdk/dist/auth.d.ts +100 -0
  151. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/sdk/dist/auth.js +262 -0
  152. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/sdk/dist/auth.js.map +1 -0
  153. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/sdk/dist/build-info.d.ts +7 -0
  154. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/sdk/dist/build-info.js +14 -0
  155. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/sdk/dist/build-info.js.map +1 -0
  156. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/sdk/dist/db.d.ts +44 -0
  157. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/sdk/dist/db.js +113 -0
  158. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/sdk/dist/db.js.map +1 -0
  159. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/sdk/dist/errors.d.ts +24 -0
  160. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/sdk/dist/errors.js +61 -0
  161. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/sdk/dist/errors.js.map +1 -0
  162. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/sdk/dist/failure-injection.d.ts +43 -0
  163. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/sdk/dist/failure-injection.js +160 -0
  164. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/sdk/dist/failure-injection.js.map +1 -0
  165. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/sdk/dist/fidelity-inventory.d.ts +121 -0
  166. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/sdk/dist/fidelity-inventory.js +204 -0
  167. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/sdk/dist/fidelity-inventory.js.map +1 -0
  168. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/sdk/dist/fidelity.d.ts +8 -0
  169. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/sdk/dist/fidelity.js +39 -0
  170. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/sdk/dist/fidelity.js.map +1 -0
  171. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/sdk/dist/index.d.ts +372 -0
  172. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/sdk/dist/index.js +139 -0
  173. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/sdk/dist/index.js.map +1 -0
  174. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/sdk/dist/mcp-jsonrpc.d.ts +10 -0
  175. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/sdk/dist/mcp-jsonrpc.js +221 -0
  176. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/sdk/dist/mcp-jsonrpc.js.map +1 -0
  177. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/sdk/dist/parity.d.ts +61 -0
  178. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/sdk/dist/parity.js +123 -0
  179. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/sdk/dist/parity.js.map +1 -0
  180. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/sdk/dist/recorder.d.ts +120 -0
  181. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/sdk/dist/recorder.js +368 -0
  182. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/sdk/dist/recorder.js.map +1 -0
  183. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/sdk/dist/redaction.d.ts +1 -0
  184. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/sdk/dist/redaction.js +3 -0
  185. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/sdk/dist/redaction.js.map +1 -0
  186. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/sdk/dist/server-helpers.d.ts +54 -0
  187. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/sdk/dist/server-helpers.js +181 -0
  188. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/sdk/dist/server-helpers.js.map +1 -0
  189. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/sdk/dist/server.d.ts +46 -0
  190. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/sdk/dist/server.js +394 -0
  191. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/sdk/dist/server.js.map +1 -0
  192. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/sdk/dist/tool-context.d.ts +8 -0
  193. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/sdk/dist/tool-context.js +22 -0
  194. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/sdk/dist/tool-context.js.map +1 -0
  195. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/sdk/package.json +54 -0
  196. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/finalize-shapes.d.ts +4 -2
  197. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/otel/project.js +14 -6
  198. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/otel/project.js.map +1 -1
  199. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/otel/semconv.d.ts +6 -0
  200. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/otel/semconv.js +21 -0
  201. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/otel/semconv.js.map +1 -1
  202. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/recorder-events.d.ts +1 -1
  203. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/recorder-events.js +1 -1
  204. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/recorder-events.js.map +1 -1
  205. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/rest.d.ts +5 -2
  206. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/rest.js +9 -4
  207. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/rest.js.map +1 -1
  208. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/run.js +1 -1
  209. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/run.js.map +1 -1
  210. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/seed-state.d.ts +560 -0
  211. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/seed-state.js +98 -2
  212. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/seed-state.js.map +1 -1
  213. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/sessions.d.ts +1 -1
  214. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/sessions.js +1 -1
  215. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/sessions.js.map +1 -1
  216. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/task-vocab.d.ts +15 -1
  217. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/task-vocab.js +15 -1
  218. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/task-vocab.js.map +1 -1
  219. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/task.d.ts +374 -0
  220. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/package.json +4 -4
  221. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/trace-contract.json +1 -1
  222. package/node_modules/@pome-sh/twin-github/package.json +7 -7
  223. package/node_modules/@pome-sh/twin-gmail/CHANGELOG.md +14 -0
  224. package/node_modules/@pome-sh/twin-gmail/HOSTED.md +23 -0
  225. package/node_modules/@pome-sh/twin-gmail/LIMITS.md +41 -0
  226. package/node_modules/@pome-sh/twin-gmail/README.md +109 -0
  227. package/node_modules/@pome-sh/twin-gmail/REFERENCE-DIVERGENCES.md +42 -0
  228. package/node_modules/@pome-sh/twin-gmail/dist/fixtures/mcp-tools-list.canonical.json +974 -0
  229. package/node_modules/@pome-sh/twin-gmail/dist/src/db.d.ts +4 -0
  230. package/node_modules/@pome-sh/twin-gmail/dist/src/db.js +206 -0
  231. package/node_modules/@pome-sh/twin-gmail/dist/src/db.js.map +1 -0
  232. package/node_modules/@pome-sh/twin-gmail/dist/src/domain-search.d.ts +5 -0
  233. package/node_modules/@pome-sh/twin-gmail/dist/src/domain-search.js +89 -0
  234. package/node_modules/@pome-sh/twin-gmail/dist/src/domain-search.js.map +1 -0
  235. package/node_modules/@pome-sh/twin-gmail/dist/src/domain.d.ts +110 -0
  236. package/node_modules/@pome-sh/twin-gmail/dist/src/domain.js +407 -0
  237. package/node_modules/@pome-sh/twin-gmail/dist/src/domain.js.map +1 -0
  238. package/node_modules/@pome-sh/twin-gmail/dist/src/errors.d.ts +12 -0
  239. package/node_modules/@pome-sh/twin-gmail/dist/src/errors.js +115 -0
  240. package/node_modules/@pome-sh/twin-gmail/dist/src/errors.js.map +1 -0
  241. package/node_modules/@pome-sh/twin-gmail/dist/src/identity.d.ts +10 -0
  242. package/node_modules/@pome-sh/twin-gmail/dist/src/identity.js +29 -0
  243. package/node_modules/@pome-sh/twin-gmail/dist/src/identity.js.map +1 -0
  244. package/node_modules/@pome-sh/twin-gmail/dist/src/index.d.ts +12 -0
  245. package/node_modules/@pome-sh/twin-gmail/dist/src/index.js +13 -0
  246. package/node_modules/@pome-sh/twin-gmail/dist/src/index.js.map +1 -0
  247. package/node_modules/@pome-sh/twin-gmail/dist/src/mcp-schemas.d.ts +176 -0
  248. package/node_modules/@pome-sh/twin-gmail/dist/src/mcp-schemas.js +162 -0
  249. package/node_modules/@pome-sh/twin-gmail/dist/src/mcp-schemas.js.map +1 -0
  250. package/node_modules/@pome-sh/twin-gmail/dist/src/mcp.d.ts +3 -0
  251. package/node_modules/@pome-sh/twin-gmail/dist/src/mcp.js +268 -0
  252. package/node_modules/@pome-sh/twin-gmail/dist/src/mcp.js.map +1 -0
  253. package/node_modules/@pome-sh/twin-gmail/dist/src/mime.d.ts +49 -0
  254. package/node_modules/@pome-sh/twin-gmail/dist/src/mime.js +315 -0
  255. package/node_modules/@pome-sh/twin-gmail/dist/src/mime.js.map +1 -0
  256. package/node_modules/@pome-sh/twin-gmail/dist/src/page-tokens.d.ts +11 -0
  257. package/node_modules/@pome-sh/twin-gmail/dist/src/page-tokens.js +70 -0
  258. package/node_modules/@pome-sh/twin-gmail/dist/src/page-tokens.js.map +1 -0
  259. package/node_modules/@pome-sh/twin-gmail/dist/src/recording.d.ts +6 -0
  260. package/node_modules/@pome-sh/twin-gmail/dist/src/recording.js +74 -0
  261. package/node_modules/@pome-sh/twin-gmail/dist/src/recording.js.map +1 -0
  262. package/node_modules/@pome-sh/twin-gmail/dist/src/rest-common.d.ts +28 -0
  263. package/node_modules/@pome-sh/twin-gmail/dist/src/rest-common.js +120 -0
  264. package/node_modules/@pome-sh/twin-gmail/dist/src/rest-common.js.map +1 -0
  265. package/node_modules/@pome-sh/twin-gmail/dist/src/rest-routes-drafts.d.ts +3 -0
  266. package/node_modules/@pome-sh/twin-gmail/dist/src/rest-routes-drafts.js +85 -0
  267. package/node_modules/@pome-sh/twin-gmail/dist/src/rest-routes-drafts.js.map +1 -0
  268. package/node_modules/@pome-sh/twin-gmail/dist/src/rest-routes-kit.d.ts +19 -0
  269. package/node_modules/@pome-sh/twin-gmail/dist/src/rest-routes-kit.js +52 -0
  270. package/node_modules/@pome-sh/twin-gmail/dist/src/rest-routes-kit.js.map +1 -0
  271. package/node_modules/@pome-sh/twin-gmail/dist/src/rest-routes-messages.d.ts +3 -0
  272. package/node_modules/@pome-sh/twin-gmail/dist/src/rest-routes-messages.js +144 -0
  273. package/node_modules/@pome-sh/twin-gmail/dist/src/rest-routes-messages.js.map +1 -0
  274. package/node_modules/@pome-sh/twin-gmail/dist/src/rest-routes-resources.d.ts +3 -0
  275. package/node_modules/@pome-sh/twin-gmail/dist/src/rest-routes-resources.js +204 -0
  276. package/node_modules/@pome-sh/twin-gmail/dist/src/rest-routes-resources.js.map +1 -0
  277. package/node_modules/@pome-sh/twin-gmail/dist/src/rest-routes.d.ts +4 -0
  278. package/node_modules/@pome-sh/twin-gmail/dist/src/rest-routes.js +11 -0
  279. package/node_modules/@pome-sh/twin-gmail/dist/src/rest-routes.js.map +1 -0
  280. package/node_modules/@pome-sh/twin-gmail/dist/src/rest-serializers.d.ts +18 -0
  281. package/node_modules/@pome-sh/twin-gmail/dist/src/rest-serializers.js +153 -0
  282. package/node_modules/@pome-sh/twin-gmail/dist/src/rest-serializers.js.map +1 -0
  283. package/node_modules/@pome-sh/twin-gmail/dist/src/rest-store.d.ts +75 -0
  284. package/node_modules/@pome-sh/twin-gmail/dist/src/rest-store.js +282 -0
  285. package/node_modules/@pome-sh/twin-gmail/dist/src/rest-store.js.map +1 -0
  286. package/node_modules/@pome-sh/twin-gmail/dist/src/rest-upload.d.ts +12 -0
  287. package/node_modules/@pome-sh/twin-gmail/dist/src/rest-upload.js +127 -0
  288. package/node_modules/@pome-sh/twin-gmail/dist/src/rest-upload.js.map +1 -0
  289. package/node_modules/@pome-sh/twin-gmail/dist/src/search.d.ts +61 -0
  290. package/node_modules/@pome-sh/twin-gmail/dist/src/search.js +504 -0
  291. package/node_modules/@pome-sh/twin-gmail/dist/src/search.js.map +1 -0
  292. package/node_modules/@pome-sh/twin-gmail/dist/src/seed.d.ts +230 -0
  293. package/node_modules/@pome-sh/twin-gmail/dist/src/seed.js +269 -0
  294. package/node_modules/@pome-sh/twin-gmail/dist/src/seed.js.map +1 -0
  295. package/node_modules/@pome-sh/twin-gmail/dist/src/seeding.d.ts +3 -0
  296. package/node_modules/@pome-sh/twin-gmail/dist/src/seeding.js +89 -0
  297. package/node_modules/@pome-sh/twin-gmail/dist/src/seeding.js.map +1 -0
  298. package/node_modules/@pome-sh/twin-gmail/dist/src/server.d.ts +2 -0
  299. package/node_modules/@pome-sh/twin-gmail/dist/src/server.js +21 -0
  300. package/node_modules/@pome-sh/twin-gmail/dist/src/server.js.map +1 -0
  301. package/node_modules/@pome-sh/twin-gmail/dist/src/state.d.ts +55 -0
  302. package/node_modules/@pome-sh/twin-gmail/dist/src/state.js +225 -0
  303. package/node_modules/@pome-sh/twin-gmail/dist/src/state.js.map +1 -0
  304. package/node_modules/@pome-sh/twin-gmail/dist/src/storage.d.ts +20 -0
  305. package/node_modules/@pome-sh/twin-gmail/dist/src/storage.js +171 -0
  306. package/node_modules/@pome-sh/twin-gmail/dist/src/storage.js.map +1 -0
  307. package/node_modules/@pome-sh/twin-gmail/dist/src/twin.d.ts +17 -0
  308. package/node_modules/@pome-sh/twin-gmail/dist/src/twin.js +99 -0
  309. package/node_modules/@pome-sh/twin-gmail/dist/src/twin.js.map +1 -0
  310. package/node_modules/@pome-sh/twin-gmail/dist/src/types.d.ts +149 -0
  311. package/node_modules/@pome-sh/twin-gmail/dist/src/types.js +2 -0
  312. package/node_modules/@pome-sh/twin-gmail/dist/src/types.js.map +1 -0
  313. package/node_modules/@pome-sh/twin-gmail/fidelity.inventory.json +958 -0
  314. package/node_modules/@pome-sh/twin-gmail/fixtures/README.md +28 -0
  315. package/node_modules/@pome-sh/twin-gmail/fixtures/gmail-discovery-v1.meta.json +6 -0
  316. package/node_modules/@pome-sh/twin-gmail/fixtures/gmail-discovery-v1.raw.json +4510 -0
  317. package/node_modules/@pome-sh/twin-gmail/fixtures/mcp-initialize.meta.json +8 -0
  318. package/node_modules/@pome-sh/twin-gmail/fixtures/mcp-initialize.raw.json +1 -0
  319. package/node_modules/@pome-sh/twin-gmail/fixtures/mcp-tools-call-unauth-error.raw.json +1 -0
  320. package/node_modules/@pome-sh/twin-gmail/fixtures/mcp-tools-call.representative.json +508 -0
  321. package/node_modules/@pome-sh/twin-gmail/fixtures/mcp-tools-list.canonical.json +974 -0
  322. package/node_modules/@pome-sh/twin-gmail/fixtures/mcp-tools-list.meta.json +29 -0
  323. package/node_modules/@pome-sh/twin-gmail/fixtures/mcp-tools-list.raw.json +1 -0
  324. package/node_modules/@pome-sh/twin-gmail/fixtures/rest-surface.json +3502 -0
  325. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/admin-gate.d.ts +35 -0
  326. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/admin-gate.js +103 -0
  327. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/admin-gate.js.map +1 -0
  328. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/auth.d.ts +100 -0
  329. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/auth.js +262 -0
  330. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/auth.js.map +1 -0
  331. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/build-info.d.ts +7 -0
  332. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/build-info.js +14 -0
  333. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/build-info.js.map +1 -0
  334. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/db.d.ts +44 -0
  335. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/db.js +113 -0
  336. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/db.js.map +1 -0
  337. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/errors.d.ts +24 -0
  338. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/errors.js +61 -0
  339. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/errors.js.map +1 -0
  340. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/failure-injection.d.ts +43 -0
  341. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/failure-injection.js +160 -0
  342. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/failure-injection.js.map +1 -0
  343. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/fidelity-inventory.d.ts +121 -0
  344. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/fidelity-inventory.js +204 -0
  345. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/fidelity-inventory.js.map +1 -0
  346. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/fidelity.d.ts +8 -0
  347. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/fidelity.js +39 -0
  348. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/fidelity.js.map +1 -0
  349. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/index.d.ts +372 -0
  350. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/index.js +139 -0
  351. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/index.js.map +1 -0
  352. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/mcp-jsonrpc.d.ts +10 -0
  353. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/mcp-jsonrpc.js +221 -0
  354. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/mcp-jsonrpc.js.map +1 -0
  355. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/parity.d.ts +61 -0
  356. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/parity.js +123 -0
  357. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/parity.js.map +1 -0
  358. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/recorder.d.ts +120 -0
  359. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/recorder.js +368 -0
  360. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/recorder.js.map +1 -0
  361. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/redaction.d.ts +1 -0
  362. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/redaction.js +3 -0
  363. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/redaction.js.map +1 -0
  364. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/server-helpers.d.ts +54 -0
  365. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/server-helpers.js +181 -0
  366. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/server-helpers.js.map +1 -0
  367. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/server.d.ts +46 -0
  368. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/server.js +394 -0
  369. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/server.js.map +1 -0
  370. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/tool-context.d.ts +8 -0
  371. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/tool-context.js +22 -0
  372. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/tool-context.js.map +1 -0
  373. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/package.json +54 -0
  374. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/errors.d.ts +39 -0
  375. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/errors.js +33 -0
  376. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/errors.js.map +1 -0
  377. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/finalize-shapes.d.ts +254 -0
  378. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/finalize-shapes.js +122 -0
  379. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/finalize-shapes.js.map +1 -0
  380. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/github-access-control.d.ts +175 -0
  381. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/github-access-control.js +182 -0
  382. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/github-access-control.js.map +1 -0
  383. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/identity.d.ts +90 -0
  384. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/identity.js +72 -0
  385. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/identity.js.map +1 -0
  386. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/index.d.ts +27 -0
  387. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/index.js +34 -0
  388. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/index.js.map +1 -0
  389. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/otel/event-schema.d.ts +331 -0
  390. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/otel/event-schema.js +33 -0
  391. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/otel/event-schema.js.map +1 -0
  392. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/otel/fixtures/data.d.ts +65 -0
  393. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/otel/fixtures/data.js +455 -0
  394. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/otel/fixtures/data.js.map +1 -0
  395. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/otel/fixtures/index.d.ts +39 -0
  396. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/otel/fixtures/index.js +47 -0
  397. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/otel/fixtures/index.js.map +1 -0
  398. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/otel/index.d.ts +25 -0
  399. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/otel/index.js +27 -0
  400. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/otel/index.js.map +1 -0
  401. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/otel/legacy-shim.d.ts +100 -0
  402. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/otel/legacy-shim.js +193 -0
  403. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/otel/legacy-shim.js.map +1 -0
  404. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/otel/map-span.d.ts +64 -0
  405. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/otel/map-span.js +112 -0
  406. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/otel/map-span.js.map +1 -0
  407. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/otel/nano.d.ts +26 -0
  408. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/otel/nano.js +61 -0
  409. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/otel/nano.js.map +1 -0
  410. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/otel/project.d.ts +42 -0
  411. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/otel/project.js +104 -0
  412. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/otel/project.js.map +1 -0
  413. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/otel/semconv.d.ts +57 -0
  414. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/otel/semconv.js +102 -0
  415. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/otel/semconv.js.map +1 -0
  416. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/otel/span-event.d.ts +134 -0
  417. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/otel/span-event.js +152 -0
  418. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/otel/span-event.js.map +1 -0
  419. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/recorder-events.d.ts +480 -0
  420. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/recorder-events.js +270 -0
  421. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/recorder-events.js.map +1 -0
  422. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/redaction.d.ts +2 -0
  423. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/redaction.js +152 -0
  424. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/redaction.js.map +1 -0
  425. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/rest.d.ts +248 -0
  426. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/rest.js +308 -0
  427. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/rest.js.map +1 -0
  428. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/run.d.ts +208 -0
  429. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/run.js +170 -0
  430. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/run.js.map +1 -0
  431. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/seed-envelope.d.ts +14 -0
  432. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/seed-envelope.js +46 -0
  433. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/seed-envelope.js.map +1 -0
  434. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/seed-state.d.ts +1006 -0
  435. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/seed-state.js +263 -0
  436. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/seed-state.js.map +1 -0
  437. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/sessions.d.ts +53 -0
  438. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/sessions.js +51 -0
  439. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/sessions.js.map +1 -0
  440. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/task-vocab.d.ts +80 -0
  441. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/task-vocab.js +98 -0
  442. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/task-vocab.js.map +1 -0
  443. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/task.d.ts +859 -0
  444. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/task.js +60 -0
  445. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/task.js.map +1 -0
  446. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/package.json +54 -0
  447. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/trace-contract.json +41 -0
  448. package/node_modules/@pome-sh/twin-gmail/package.json +75 -0
  449. package/node_modules/@pome-sh/twin-linear/CHANGELOG.md +15 -0
  450. package/node_modules/@pome-sh/twin-linear/FIDELITY.md +62 -0
  451. package/node_modules/@pome-sh/twin-linear/HOSTED.md +46 -0
  452. package/node_modules/@pome-sh/twin-linear/LIMITS.md +54 -0
  453. package/node_modules/@pome-sh/twin-linear/README.md +107 -0
  454. package/node_modules/@pome-sh/twin-linear/REFERENCE-DIVERGENCES.md +50 -0
  455. package/node_modules/@pome-sh/twin-linear/dist/fixtures/mcp-tools-list.canonical.json +353 -0
  456. package/node_modules/@pome-sh/twin-linear/dist/src/auth-credential.d.ts +8 -0
  457. package/node_modules/@pome-sh/twin-linear/dist/src/auth-credential.js +55 -0
  458. package/node_modules/@pome-sh/twin-linear/dist/src/auth-credential.js.map +1 -0
  459. package/node_modules/@pome-sh/twin-linear/dist/src/db.d.ts +4 -0
  460. package/node_modules/@pome-sh/twin-linear/dist/src/db.js +333 -0
  461. package/node_modules/@pome-sh/twin-linear/dist/src/db.js.map +1 -0
  462. package/node_modules/@pome-sh/twin-linear/dist/src/domain/agents.d.ts +29 -0
  463. package/node_modules/@pome-sh/twin-linear/dist/src/domain/agents.js +103 -0
  464. package/node_modules/@pome-sh/twin-linear/dist/src/domain/agents.js.map +1 -0
  465. package/node_modules/@pome-sh/twin-linear/dist/src/domain/catalog.d.ts +9 -0
  466. package/node_modules/@pome-sh/twin-linear/dist/src/domain/catalog.js +41 -0
  467. package/node_modules/@pome-sh/twin-linear/dist/src/domain/catalog.js.map +1 -0
  468. package/node_modules/@pome-sh/twin-linear/dist/src/domain/comments.d.ts +13 -0
  469. package/node_modules/@pome-sh/twin-linear/dist/src/domain/comments.js +108 -0
  470. package/node_modules/@pome-sh/twin-linear/dist/src/domain/comments.js.map +1 -0
  471. package/node_modules/@pome-sh/twin-linear/dist/src/domain/documents.d.ts +31 -0
  472. package/node_modules/@pome-sh/twin-linear/dist/src/domain/documents.js +113 -0
  473. package/node_modules/@pome-sh/twin-linear/dist/src/domain/documents.js.map +1 -0
  474. package/node_modules/@pome-sh/twin-linear/dist/src/domain/index.d.ts +4 -0
  475. package/node_modules/@pome-sh/twin-linear/dist/src/domain/index.js +6 -0
  476. package/node_modules/@pome-sh/twin-linear/dist/src/domain/index.js.map +1 -0
  477. package/node_modules/@pome-sh/twin-linear/dist/src/domain/issue-relations.d.ts +13 -0
  478. package/node_modules/@pome-sh/twin-linear/dist/src/domain/issue-relations.js +60 -0
  479. package/node_modules/@pome-sh/twin-linear/dist/src/domain/issue-relations.js.map +1 -0
  480. package/node_modules/@pome-sh/twin-linear/dist/src/domain/issues.d.ts +57 -0
  481. package/node_modules/@pome-sh/twin-linear/dist/src/domain/issues.js +356 -0
  482. package/node_modules/@pome-sh/twin-linear/dist/src/domain/issues.js.map +1 -0
  483. package/node_modules/@pome-sh/twin-linear/dist/src/domain/labels.d.ts +18 -0
  484. package/node_modules/@pome-sh/twin-linear/dist/src/domain/labels.js +117 -0
  485. package/node_modules/@pome-sh/twin-linear/dist/src/domain/labels.js.map +1 -0
  486. package/node_modules/@pome-sh/twin-linear/dist/src/domain/linear-domain.d.ts +190 -0
  487. package/node_modules/@pome-sh/twin-linear/dist/src/domain/linear-domain.js +315 -0
  488. package/node_modules/@pome-sh/twin-linear/dist/src/domain/linear-domain.js.map +1 -0
  489. package/node_modules/@pome-sh/twin-linear/dist/src/domain/normalize.d.ts +8 -0
  490. package/node_modules/@pome-sh/twin-linear/dist/src/domain/normalize.js +61 -0
  491. package/node_modules/@pome-sh/twin-linear/dist/src/domain/normalize.js.map +1 -0
  492. package/node_modules/@pome-sh/twin-linear/dist/src/domain/oauth-store.d.ts +55 -0
  493. package/node_modules/@pome-sh/twin-linear/dist/src/domain/oauth-store.js +127 -0
  494. package/node_modules/@pome-sh/twin-linear/dist/src/domain/oauth-store.js.map +1 -0
  495. package/node_modules/@pome-sh/twin-linear/dist/src/domain/projects-cycles.d.ts +17 -0
  496. package/node_modules/@pome-sh/twin-linear/dist/src/domain/projects-cycles.js +51 -0
  497. package/node_modules/@pome-sh/twin-linear/dist/src/domain/projects-cycles.js.map +1 -0
  498. package/node_modules/@pome-sh/twin-linear/dist/src/domain/rows.d.ts +211 -0
  499. package/node_modules/@pome-sh/twin-linear/dist/src/domain/rows.js +216 -0
  500. package/node_modules/@pome-sh/twin-linear/dist/src/domain/rows.js.map +1 -0
  501. package/node_modules/@pome-sh/twin-linear/dist/src/domain/webhooks.d.ts +5 -0
  502. package/node_modules/@pome-sh/twin-linear/dist/src/domain/webhooks.js +12 -0
  503. package/node_modules/@pome-sh/twin-linear/dist/src/domain/webhooks.js.map +1 -0
  504. package/node_modules/@pome-sh/twin-linear/dist/src/errors.d.ts +26 -0
  505. package/node_modules/@pome-sh/twin-linear/dist/src/errors.js +128 -0
  506. package/node_modules/@pome-sh/twin-linear/dist/src/errors.js.map +1 -0
  507. package/node_modules/@pome-sh/twin-linear/dist/src/graphql/formatters.d.ts +27 -0
  508. package/node_modules/@pome-sh/twin-linear/dist/src/graphql/formatters.js +261 -0
  509. package/node_modules/@pome-sh/twin-linear/dist/src/graphql/formatters.js.map +1 -0
  510. package/node_modules/@pome-sh/twin-linear/dist/src/graphql/issue-filter.d.ts +5 -0
  511. package/node_modules/@pome-sh/twin-linear/dist/src/graphql/issue-filter.js +122 -0
  512. package/node_modules/@pome-sh/twin-linear/dist/src/graphql/issue-filter.js.map +1 -0
  513. package/node_modules/@pome-sh/twin-linear/dist/src/graphql/mutation-inputs.d.ts +152 -0
  514. package/node_modules/@pome-sh/twin-linear/dist/src/graphql/mutation-inputs.js +255 -0
  515. package/node_modules/@pome-sh/twin-linear/dist/src/graphql/mutation-inputs.js.map +1 -0
  516. package/node_modules/@pome-sh/twin-linear/dist/src/graphql/resolvers.d.ts +6 -0
  517. package/node_modules/@pome-sh/twin-linear/dist/src/graphql/resolvers.js +169 -0
  518. package/node_modules/@pome-sh/twin-linear/dist/src/graphql/resolvers.js.map +1 -0
  519. package/node_modules/@pome-sh/twin-linear/dist/src/graphql/routes.d.ts +6 -0
  520. package/node_modules/@pome-sh/twin-linear/dist/src/graphql/routes.js +176 -0
  521. package/node_modules/@pome-sh/twin-linear/dist/src/graphql/routes.js.map +1 -0
  522. package/node_modules/@pome-sh/twin-linear/dist/src/graphql/schema.d.ts +3 -0
  523. package/node_modules/@pome-sh/twin-linear/dist/src/graphql/schema.js +504 -0
  524. package/node_modules/@pome-sh/twin-linear/dist/src/graphql/schema.js.map +1 -0
  525. package/node_modules/@pome-sh/twin-linear/dist/src/identity.d.ts +7 -0
  526. package/node_modules/@pome-sh/twin-linear/dist/src/identity.js +14 -0
  527. package/node_modules/@pome-sh/twin-linear/dist/src/identity.js.map +1 -0
  528. package/node_modules/@pome-sh/twin-linear/dist/src/ids.d.ts +5 -0
  529. package/node_modules/@pome-sh/twin-linear/dist/src/ids.js +28 -0
  530. package/node_modules/@pome-sh/twin-linear/dist/src/ids.js.map +1 -0
  531. package/node_modules/@pome-sh/twin-linear/dist/src/index.d.ts +16 -0
  532. package/node_modules/@pome-sh/twin-linear/dist/src/index.js +14 -0
  533. package/node_modules/@pome-sh/twin-linear/dist/src/index.js.map +1 -0
  534. package/node_modules/@pome-sh/twin-linear/dist/src/mcp-schemas.d.ts +121 -0
  535. package/node_modules/@pome-sh/twin-linear/dist/src/mcp-schemas.js +126 -0
  536. package/node_modules/@pome-sh/twin-linear/dist/src/mcp-schemas.js.map +1 -0
  537. package/node_modules/@pome-sh/twin-linear/dist/src/mcp.d.ts +4 -0
  538. package/node_modules/@pome-sh/twin-linear/dist/src/mcp.js +430 -0
  539. package/node_modules/@pome-sh/twin-linear/dist/src/mcp.js.map +1 -0
  540. package/node_modules/@pome-sh/twin-linear/dist/src/oauth/routes.d.ts +5 -0
  541. package/node_modules/@pome-sh/twin-linear/dist/src/oauth/routes.js +340 -0
  542. package/node_modules/@pome-sh/twin-linear/dist/src/oauth/routes.js.map +1 -0
  543. package/node_modules/@pome-sh/twin-linear/dist/src/pagination.d.ts +29 -0
  544. package/node_modules/@pome-sh/twin-linear/dist/src/pagination.js +101 -0
  545. package/node_modules/@pome-sh/twin-linear/dist/src/pagination.js.map +1 -0
  546. package/node_modules/@pome-sh/twin-linear/dist/src/recording.d.ts +2 -0
  547. package/node_modules/@pome-sh/twin-linear/dist/src/recording.js +46 -0
  548. package/node_modules/@pome-sh/twin-linear/dist/src/recording.js.map +1 -0
  549. package/node_modules/@pome-sh/twin-linear/dist/src/routes.d.ts +9 -0
  550. package/node_modules/@pome-sh/twin-linear/dist/src/routes.js +10 -0
  551. package/node_modules/@pome-sh/twin-linear/dist/src/routes.js.map +1 -0
  552. package/node_modules/@pome-sh/twin-linear/dist/src/seed/apply.d.ts +4 -0
  553. package/node_modules/@pome-sh/twin-linear/dist/src/seed/apply.js +186 -0
  554. package/node_modules/@pome-sh/twin-linear/dist/src/seed/apply.js.map +1 -0
  555. package/node_modules/@pome-sh/twin-linear/dist/src/seed.d.ts +158 -0
  556. package/node_modules/@pome-sh/twin-linear/dist/src/seed.js +541 -0
  557. package/node_modules/@pome-sh/twin-linear/dist/src/seed.js.map +1 -0
  558. package/node_modules/@pome-sh/twin-linear/dist/src/serializers/comment.d.ts +29 -0
  559. package/node_modules/@pome-sh/twin-linear/dist/src/serializers/comment.js +47 -0
  560. package/node_modules/@pome-sh/twin-linear/dist/src/serializers/comment.js.map +1 -0
  561. package/node_modules/@pome-sh/twin-linear/dist/src/serializers/document.d.ts +15 -0
  562. package/node_modules/@pome-sh/twin-linear/dist/src/serializers/document.js +17 -0
  563. package/node_modules/@pome-sh/twin-linear/dist/src/serializers/document.js.map +1 -0
  564. package/node_modules/@pome-sh/twin-linear/dist/src/serializers/index.d.ts +3 -0
  565. package/node_modules/@pome-sh/twin-linear/dist/src/serializers/index.js +5 -0
  566. package/node_modules/@pome-sh/twin-linear/dist/src/serializers/index.js.map +1 -0
  567. package/node_modules/@pome-sh/twin-linear/dist/src/serializers/issue.d.ts +86 -0
  568. package/node_modules/@pome-sh/twin-linear/dist/src/serializers/issue.js +102 -0
  569. package/node_modules/@pome-sh/twin-linear/dist/src/serializers/issue.js.map +1 -0
  570. package/node_modules/@pome-sh/twin-linear/dist/src/server.d.ts +2 -0
  571. package/node_modules/@pome-sh/twin-linear/dist/src/server.js +41 -0
  572. package/node_modules/@pome-sh/twin-linear/dist/src/server.js.map +1 -0
  573. package/node_modules/@pome-sh/twin-linear/dist/src/state.d.ts +51 -0
  574. package/node_modules/@pome-sh/twin-linear/dist/src/state.js +211 -0
  575. package/node_modules/@pome-sh/twin-linear/dist/src/state.js.map +1 -0
  576. package/node_modules/@pome-sh/twin-linear/dist/src/twin.d.ts +21 -0
  577. package/node_modules/@pome-sh/twin-linear/dist/src/twin.js +107 -0
  578. package/node_modules/@pome-sh/twin-linear/dist/src/twin.js.map +1 -0
  579. package/node_modules/@pome-sh/twin-linear/dist/src/types.d.ts +360 -0
  580. package/node_modules/@pome-sh/twin-linear/dist/src/types.js +19 -0
  581. package/node_modules/@pome-sh/twin-linear/dist/src/types.js.map +1 -0
  582. package/node_modules/@pome-sh/twin-linear/dist/src/webhook-policy.d.ts +27 -0
  583. package/node_modules/@pome-sh/twin-linear/dist/src/webhook-policy.js +107 -0
  584. package/node_modules/@pome-sh/twin-linear/dist/src/webhook-policy.js.map +1 -0
  585. package/node_modules/@pome-sh/twin-linear/dist/src/webhook-url.d.ts +3 -0
  586. package/node_modules/@pome-sh/twin-linear/dist/src/webhook-url.js +26 -0
  587. package/node_modules/@pome-sh/twin-linear/dist/src/webhook-url.js.map +1 -0
  588. package/node_modules/@pome-sh/twin-linear/dist/src/webhooks/dispatch.d.ts +30 -0
  589. package/node_modules/@pome-sh/twin-linear/dist/src/webhooks/dispatch.js +93 -0
  590. package/node_modules/@pome-sh/twin-linear/dist/src/webhooks/dispatch.js.map +1 -0
  591. package/node_modules/@pome-sh/twin-linear/fidelity.inventory.json +249 -0
  592. package/node_modules/@pome-sh/twin-linear/fixtures/README.md +10 -0
  593. package/node_modules/@pome-sh/twin-linear/fixtures/graphql-surface.json +59 -0
  594. package/node_modules/@pome-sh/twin-linear/fixtures/mcp-tools-list.canonical.json +353 -0
  595. package/node_modules/@pome-sh/twin-linear/package.json +71 -0
  596. package/node_modules/@pome-sh/twin-slack/README.md +1 -1
  597. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/admin-gate.d.ts +35 -0
  598. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/admin-gate.js +103 -0
  599. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/admin-gate.js.map +1 -0
  600. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/auth.d.ts +100 -0
  601. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/auth.js +262 -0
  602. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/auth.js.map +1 -0
  603. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/build-info.d.ts +7 -0
  604. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/build-info.js +14 -0
  605. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/build-info.js.map +1 -0
  606. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/db.d.ts +44 -0
  607. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/db.js +113 -0
  608. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/db.js.map +1 -0
  609. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/errors.d.ts +24 -0
  610. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/errors.js +61 -0
  611. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/errors.js.map +1 -0
  612. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/failure-injection.d.ts +43 -0
  613. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/failure-injection.js +160 -0
  614. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/failure-injection.js.map +1 -0
  615. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/fidelity-inventory.d.ts +121 -0
  616. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/fidelity-inventory.js +204 -0
  617. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/fidelity-inventory.js.map +1 -0
  618. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/fidelity.d.ts +8 -0
  619. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/fidelity.js +39 -0
  620. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/fidelity.js.map +1 -0
  621. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/index.d.ts +372 -0
  622. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/index.js +139 -0
  623. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/index.js.map +1 -0
  624. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/mcp-jsonrpc.d.ts +10 -0
  625. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/mcp-jsonrpc.js +221 -0
  626. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/mcp-jsonrpc.js.map +1 -0
  627. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/parity.d.ts +61 -0
  628. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/parity.js +123 -0
  629. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/parity.js.map +1 -0
  630. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/recorder.d.ts +120 -0
  631. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/recorder.js +368 -0
  632. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/recorder.js.map +1 -0
  633. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/redaction.d.ts +1 -0
  634. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/redaction.js +3 -0
  635. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/redaction.js.map +1 -0
  636. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/server-helpers.d.ts +54 -0
  637. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/server-helpers.js +181 -0
  638. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/server-helpers.js.map +1 -0
  639. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/server.d.ts +46 -0
  640. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/server.js +394 -0
  641. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/server.js.map +1 -0
  642. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/tool-context.d.ts +8 -0
  643. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/tool-context.js +22 -0
  644. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/tool-context.js.map +1 -0
  645. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/package.json +54 -0
  646. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/finalize-shapes.d.ts +4 -2
  647. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/otel/project.js +14 -6
  648. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/otel/project.js.map +1 -1
  649. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/otel/semconv.d.ts +6 -0
  650. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/otel/semconv.js +21 -0
  651. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/otel/semconv.js.map +1 -1
  652. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/recorder-events.d.ts +1 -1
  653. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/recorder-events.js +1 -1
  654. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/recorder-events.js.map +1 -1
  655. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/rest.d.ts +5 -2
  656. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/rest.js +9 -4
  657. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/rest.js.map +1 -1
  658. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/run.js +1 -1
  659. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/run.js.map +1 -1
  660. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/seed-state.d.ts +560 -0
  661. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/seed-state.js +98 -2
  662. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/seed-state.js.map +1 -1
  663. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/sessions.d.ts +1 -1
  664. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/sessions.js +1 -1
  665. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/sessions.js.map +1 -1
  666. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/task-vocab.d.ts +15 -1
  667. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/task-vocab.js +15 -1
  668. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/task-vocab.js.map +1 -1
  669. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/task.d.ts +374 -0
  670. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/package.json +4 -4
  671. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/trace-contract.json +1 -1
  672. package/node_modules/@pome-sh/twin-slack/package.json +7 -7
  673. package/node_modules/@pome-sh/twin-stripe/README.md +1 -1
  674. package/node_modules/@pome-sh/twin-stripe/dist/src/domain/stripe-domain.d.ts +2 -2
  675. package/node_modules/@pome-sh/twin-stripe/dist/src/seed.d.ts +8 -8
  676. package/node_modules/@pome-sh/twin-stripe/dist/src/serializers.d.ts +1 -1
  677. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/admin-gate.d.ts +35 -0
  678. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/admin-gate.js +103 -0
  679. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/admin-gate.js.map +1 -0
  680. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/auth.d.ts +100 -0
  681. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/auth.js +262 -0
  682. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/auth.js.map +1 -0
  683. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/build-info.d.ts +7 -0
  684. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/build-info.js +14 -0
  685. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/build-info.js.map +1 -0
  686. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/db.d.ts +44 -0
  687. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/db.js +113 -0
  688. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/db.js.map +1 -0
  689. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/errors.d.ts +24 -0
  690. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/errors.js +61 -0
  691. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/errors.js.map +1 -0
  692. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/failure-injection.d.ts +43 -0
  693. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/failure-injection.js +160 -0
  694. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/failure-injection.js.map +1 -0
  695. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/fidelity-inventory.d.ts +121 -0
  696. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/fidelity-inventory.js +204 -0
  697. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/fidelity-inventory.js.map +1 -0
  698. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/fidelity.d.ts +8 -0
  699. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/fidelity.js +39 -0
  700. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/fidelity.js.map +1 -0
  701. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/index.d.ts +372 -0
  702. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/index.js +139 -0
  703. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/index.js.map +1 -0
  704. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/mcp-jsonrpc.d.ts +10 -0
  705. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/mcp-jsonrpc.js +221 -0
  706. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/mcp-jsonrpc.js.map +1 -0
  707. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/parity.d.ts +61 -0
  708. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/parity.js +123 -0
  709. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/parity.js.map +1 -0
  710. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/recorder.d.ts +120 -0
  711. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/recorder.js +368 -0
  712. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/recorder.js.map +1 -0
  713. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/redaction.d.ts +1 -0
  714. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/redaction.js +3 -0
  715. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/redaction.js.map +1 -0
  716. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/server-helpers.d.ts +54 -0
  717. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/server-helpers.js +181 -0
  718. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/server-helpers.js.map +1 -0
  719. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/server.d.ts +46 -0
  720. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/server.js +394 -0
  721. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/server.js.map +1 -0
  722. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/tool-context.d.ts +8 -0
  723. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/tool-context.js +22 -0
  724. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/tool-context.js.map +1 -0
  725. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/package.json +54 -0
  726. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/finalize-shapes.d.ts +4 -2
  727. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/otel/project.js +14 -6
  728. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/otel/project.js.map +1 -1
  729. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/otel/semconv.d.ts +6 -0
  730. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/otel/semconv.js +21 -0
  731. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/otel/semconv.js.map +1 -1
  732. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/recorder-events.d.ts +1 -1
  733. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/recorder-events.js +1 -1
  734. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/recorder-events.js.map +1 -1
  735. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/rest.d.ts +5 -2
  736. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/rest.js +9 -4
  737. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/rest.js.map +1 -1
  738. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/run.js +1 -1
  739. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/run.js.map +1 -1
  740. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/seed-state.d.ts +560 -0
  741. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/seed-state.js +98 -2
  742. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/seed-state.js.map +1 -1
  743. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/sessions.d.ts +1 -1
  744. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/sessions.js +1 -1
  745. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/sessions.js.map +1 -1
  746. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/task-vocab.d.ts +15 -1
  747. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/task-vocab.js +15 -1
  748. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/task-vocab.js.map +1 -1
  749. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/task.d.ts +374 -0
  750. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/package.json +4 -4
  751. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/trace-contract.json +1 -1
  752. package/node_modules/@pome-sh/twin-stripe/package.json +7 -7
  753. package/node_modules/graphql/LICENSE +21 -0
  754. package/node_modules/graphql/NotSupportedTSVersion.d.ts +1 -0
  755. package/node_modules/graphql/README.md +203 -0
  756. package/node_modules/graphql/error/GraphQLError.d.ts +288 -0
  757. package/node_modules/graphql/error/GraphQLError.js +398 -0
  758. package/node_modules/graphql/error/GraphQLError.mjs +384 -0
  759. package/node_modules/graphql/error/index.d.ts +15 -0
  760. package/node_modules/graphql/error/index.js +41 -0
  761. package/node_modules/graphql/error/index.mjs +9 -0
  762. package/node_modules/graphql/error/locatedError.d.ts +33 -0
  763. package/node_modules/graphql/error/locatedError.js +61 -0
  764. package/node_modules/graphql/error/locatedError.mjs +52 -0
  765. package/node_modules/graphql/error/syntaxError.d.ts +26 -0
  766. package/node_modules/graphql/error/syntaxError.js +35 -0
  767. package/node_modules/graphql/error/syntaxError.mjs +27 -0
  768. package/node_modules/graphql/execution/collectFields.d.ts +45 -0
  769. package/node_modules/graphql/execution/collectFields.js +235 -0
  770. package/node_modules/graphql/execution/collectFields.mjs +219 -0
  771. package/node_modules/graphql/execution/execute.d.ts +402 -0
  772. package/node_modules/graphql/execution/execute.js +1295 -0
  773. package/node_modules/graphql/execution/execute.mjs +1266 -0
  774. package/node_modules/graphql/execution/index.d.ts +24 -0
  775. package/node_modules/graphql/execution/index.js +73 -0
  776. package/node_modules/graphql/execution/index.mjs +19 -0
  777. package/node_modules/graphql/execution/mapAsyncIterator.d.ts +11 -0
  778. package/node_modules/graphql/execution/mapAsyncIterator.js +70 -0
  779. package/node_modules/graphql/execution/mapAsyncIterator.mjs +63 -0
  780. package/node_modules/graphql/execution/subscribe.d.ts +262 -0
  781. package/node_modules/graphql/execution/subscribe.js +388 -0
  782. package/node_modules/graphql/execution/subscribe.mjs +366 -0
  783. package/node_modules/graphql/execution/values.d.ts +236 -0
  784. package/node_modules/graphql/execution/values.js +444 -0
  785. package/node_modules/graphql/execution/values.mjs +406 -0
  786. package/node_modules/graphql/graphql.d.ts +189 -0
  787. package/node_modules/graphql/graphql.js +218 -0
  788. package/node_modules/graphql/graphql.mjs +212 -0
  789. package/node_modules/graphql/index.d.ts +423 -0
  790. package/node_modules/graphql/index.js +1311 -0
  791. package/node_modules/graphql/index.mjs +256 -0
  792. package/node_modules/graphql/jsutils/Maybe.d.ts +6 -0
  793. package/node_modules/graphql/jsutils/Maybe.js +5 -0
  794. package/node_modules/graphql/jsutils/Maybe.mjs +1 -0
  795. package/node_modules/graphql/jsutils/ObjMap.d.ts +20 -0
  796. package/node_modules/graphql/jsutils/ObjMap.js +5 -0
  797. package/node_modules/graphql/jsutils/ObjMap.mjs +1 -0
  798. package/node_modules/graphql/jsutils/Path.d.ts +50 -0
  799. package/node_modules/graphql/jsutils/Path.js +62 -0
  800. package/node_modules/graphql/jsutils/Path.mjs +54 -0
  801. package/node_modules/graphql/jsutils/PromiseOrValue.d.ts +2 -0
  802. package/node_modules/graphql/jsutils/PromiseOrValue.js +5 -0
  803. package/node_modules/graphql/jsutils/PromiseOrValue.mjs +1 -0
  804. package/node_modules/graphql/jsutils/devAssert.d.ts +2 -0
  805. package/node_modules/graphql/jsutils/devAssert.js +15 -0
  806. package/node_modules/graphql/jsutils/devAssert.mjs +8 -0
  807. package/node_modules/graphql/jsutils/didYouMean.d.ts +11 -0
  808. package/node_modules/graphql/jsutils/didYouMean.js +41 -0
  809. package/node_modules/graphql/jsutils/didYouMean.mjs +35 -0
  810. package/node_modules/graphql/jsutils/groupBy.d.ts +9 -0
  811. package/node_modules/graphql/jsutils/groupBy.js +28 -0
  812. package/node_modules/graphql/jsutils/groupBy.mjs +21 -0
  813. package/node_modules/graphql/jsutils/identityFunc.d.ts +6 -0
  814. package/node_modules/graphql/jsutils/identityFunc.js +15 -0
  815. package/node_modules/graphql/jsutils/identityFunc.mjs +8 -0
  816. package/node_modules/graphql/jsutils/inspect.d.ts +6 -0
  817. package/node_modules/graphql/jsutils/inspect.js +123 -0
  818. package/node_modules/graphql/jsutils/inspect.mjs +117 -0
  819. package/node_modules/graphql/jsutils/instanceOf.d.ts +18 -0
  820. package/node_modules/graphql/jsutils/instanceOf.js +67 -0
  821. package/node_modules/graphql/jsutils/instanceOf.mjs +59 -0
  822. package/node_modules/graphql/jsutils/invariant.d.ts +5 -0
  823. package/node_modules/graphql/jsutils/invariant.js +17 -0
  824. package/node_modules/graphql/jsutils/invariant.mjs +10 -0
  825. package/node_modules/graphql/jsutils/isAsyncIterable.d.ts +9 -0
  826. package/node_modules/graphql/jsutils/isAsyncIterable.js +20 -0
  827. package/node_modules/graphql/jsutils/isAsyncIterable.mjs +13 -0
  828. package/node_modules/graphql/jsutils/isIterableObject.d.ts +21 -0
  829. package/node_modules/graphql/jsutils/isIterableObject.js +33 -0
  830. package/node_modules/graphql/jsutils/isIterableObject.mjs +26 -0
  831. package/node_modules/graphql/jsutils/isObjectLike.d.ts +9 -0
  832. package/node_modules/graphql/jsutils/isObjectLike.js +16 -0
  833. package/node_modules/graphql/jsutils/isObjectLike.mjs +9 -0
  834. package/node_modules/graphql/jsutils/isPromise.d.ts +7 -0
  835. package/node_modules/graphql/jsutils/isPromise.js +19 -0
  836. package/node_modules/graphql/jsutils/isPromise.mjs +12 -0
  837. package/node_modules/graphql/jsutils/keyMap.d.ts +25 -0
  838. package/node_modules/graphql/jsutils/keyMap.js +36 -0
  839. package/node_modules/graphql/jsutils/keyMap.mjs +29 -0
  840. package/node_modules/graphql/jsutils/keyValMap.d.ts +26 -0
  841. package/node_modules/graphql/jsutils/keyValMap.js +36 -0
  842. package/node_modules/graphql/jsutils/keyValMap.mjs +29 -0
  843. package/node_modules/graphql/jsutils/mapValue.d.ts +11 -0
  844. package/node_modules/graphql/jsutils/mapValue.js +22 -0
  845. package/node_modules/graphql/jsutils/mapValue.mjs +15 -0
  846. package/node_modules/graphql/jsutils/memoize3.d.ts +11 -0
  847. package/node_modules/graphql/jsutils/memoize3.js +43 -0
  848. package/node_modules/graphql/jsutils/memoize3.mjs +36 -0
  849. package/node_modules/graphql/jsutils/naturalCompare.d.ts +10 -0
  850. package/node_modules/graphql/jsutils/naturalCompare.js +71 -0
  851. package/node_modules/graphql/jsutils/naturalCompare.mjs +63 -0
  852. package/node_modules/graphql/jsutils/printPathArray.d.ts +8 -0
  853. package/node_modules/graphql/jsutils/printPathArray.js +19 -0
  854. package/node_modules/graphql/jsutils/printPathArray.mjs +12 -0
  855. package/node_modules/graphql/jsutils/promiseForObject.d.ts +13 -0
  856. package/node_modules/graphql/jsutils/promiseForObject.js +27 -0
  857. package/node_modules/graphql/jsutils/promiseForObject.mjs +20 -0
  858. package/node_modules/graphql/jsutils/promiseReduce.d.ts +15 -0
  859. package/node_modules/graphql/jsutils/promiseReduce.js +29 -0
  860. package/node_modules/graphql/jsutils/promiseReduce.mjs +22 -0
  861. package/node_modules/graphql/jsutils/suggestionList.d.ts +10 -0
  862. package/node_modules/graphql/jsutils/suggestionList.js +143 -0
  863. package/node_modules/graphql/jsutils/suggestionList.mjs +134 -0
  864. package/node_modules/graphql/jsutils/toError.d.ts +6 -0
  865. package/node_modules/graphql/jsutils/toError.js +27 -0
  866. package/node_modules/graphql/jsutils/toError.mjs +20 -0
  867. package/node_modules/graphql/jsutils/toObjMap.d.ts +6 -0
  868. package/node_modules/graphql/jsutils/toObjMap.js +25 -0
  869. package/node_modules/graphql/jsutils/toObjMap.mjs +18 -0
  870. package/node_modules/graphql/language/ast.d.ts +949 -0
  871. package/node_modules/graphql/language/ast.js +301 -0
  872. package/node_modules/graphql/language/ast.mjs +285 -0
  873. package/node_modules/graphql/language/blockString.d.ts +26 -0
  874. package/node_modules/graphql/language/blockString.js +193 -0
  875. package/node_modules/graphql/language/blockString.mjs +176 -0
  876. package/node_modules/graphql/language/characterClasses.d.ts +47 -0
  877. package/node_modules/graphql/language/characterClasses.js +75 -0
  878. package/node_modules/graphql/language/characterClasses.mjs +64 -0
  879. package/node_modules/graphql/language/directiveLocation.d.ts +54 -0
  880. package/node_modules/graphql/language/directiveLocation.js +43 -0
  881. package/node_modules/graphql/language/directiveLocation.mjs +37 -0
  882. package/node_modules/graphql/language/index.d.ts +117 -0
  883. package/node_modules/graphql/language/index.js +227 -0
  884. package/node_modules/graphql/language/index.mjs +42 -0
  885. package/node_modules/graphql/language/kinds.d.ts +112 -0
  886. package/node_modules/graphql/language/kinds.js +72 -0
  887. package/node_modules/graphql/language/kinds.mjs +66 -0
  888. package/node_modules/graphql/language/lexer.d.ts +129 -0
  889. package/node_modules/graphql/language/lexer.js +1074 -0
  890. package/node_modules/graphql/language/lexer.mjs +972 -0
  891. package/node_modules/graphql/language/location.d.ts +29 -0
  892. package/node_modules/graphql/language/location.js +49 -0
  893. package/node_modules/graphql/language/location.mjs +41 -0
  894. package/node_modules/graphql/language/parser.d.ts +829 -0
  895. package/node_modules/graphql/language/parser.js +1949 -0
  896. package/node_modules/graphql/language/parser.mjs +1899 -0
  897. package/node_modules/graphql/language/predicates.d.ts +206 -0
  898. package/node_modules/graphql/language/predicates.js +292 -0
  899. package/node_modules/graphql/language/predicates.mjs +274 -0
  900. package/node_modules/graphql/language/printLocation.d.ts +42 -0
  901. package/node_modules/graphql/language/printLocation.js +103 -0
  902. package/node_modules/graphql/language/printLocation.mjs +94 -0
  903. package/node_modules/graphql/language/printString.d.ts +7 -0
  904. package/node_modules/graphql/language/printString.js +187 -0
  905. package/node_modules/graphql/language/printString.mjs +180 -0
  906. package/node_modules/graphql/language/printer.d.ts +18 -0
  907. package/node_modules/graphql/language/printer.js +411 -0
  908. package/node_modules/graphql/language/printer.mjs +398 -0
  909. package/node_modules/graphql/language/schemaCoordinateLexer.d.ts +45 -0
  910. package/node_modules/graphql/language/schemaCoordinateLexer.js +175 -0
  911. package/node_modules/graphql/language/schemaCoordinateLexer.mjs +126 -0
  912. package/node_modules/graphql/language/source.d.ts +53 -0
  913. package/node_modules/graphql/language/source.js +97 -0
  914. package/node_modules/graphql/language/source.mjs +81 -0
  915. package/node_modules/graphql/language/tokenKind.d.ts +63 -0
  916. package/node_modules/graphql/language/tokenKind.js +49 -0
  917. package/node_modules/graphql/language/tokenKind.mjs +43 -0
  918. package/node_modules/graphql/language/visitor.d.ts +322 -0
  919. package/node_modules/graphql/language/visitor.js +446 -0
  920. package/node_modules/graphql/language/visitor.mjs +426 -0
  921. package/node_modules/graphql/package.json +39 -0
  922. package/node_modules/graphql/subscription/index.d.ts +25 -0
  923. package/node_modules/graphql/subscription/index.js +19 -0
  924. package/node_modules/graphql/subscription/index.mjs +25 -0
  925. package/node_modules/graphql/type/assertName.d.ts +27 -0
  926. package/node_modules/graphql/type/assertName.js +77 -0
  927. package/node_modules/graphql/type/assertName.mjs +61 -0
  928. package/node_modules/graphql/type/definition.d.ts +3387 -0
  929. package/node_modules/graphql/type/definition.js +3515 -0
  930. package/node_modules/graphql/type/definition.mjs +3378 -0
  931. package/node_modules/graphql/type/directives.d.ts +273 -0
  932. package/node_modules/graphql/type/directives.js +424 -0
  933. package/node_modules/graphql/type/directives.mjs +388 -0
  934. package/node_modules/graphql/type/index.d.ts +157 -0
  935. package/node_modules/graphql/type/index.js +553 -0
  936. package/node_modules/graphql/type/index.mjs +110 -0
  937. package/node_modules/graphql/type/introspection.d.ts +66 -0
  938. package/node_modules/graphql/type/introspection.js +681 -0
  939. package/node_modules/graphql/type/introspection.mjs +623 -0
  940. package/node_modules/graphql/type/scalars.d.ts +46 -0
  941. package/node_modules/graphql/type/scalars.js +404 -0
  942. package/node_modules/graphql/type/scalars.mjs +343 -0
  943. package/node_modules/graphql/type/schema.d.ts +632 -0
  944. package/node_modules/graphql/type/schema.js +860 -0
  945. package/node_modules/graphql/type/schema.mjs +839 -0
  946. package/node_modules/graphql/type/validate.d.ts +48 -0
  947. package/node_modules/graphql/type/validate.js +738 -0
  948. package/node_modules/graphql/type/validate.mjs +712 -0
  949. package/node_modules/graphql/utilities/TypeInfo.d.ts +507 -0
  950. package/node_modules/graphql/utilities/TypeInfo.js +861 -0
  951. package/node_modules/graphql/utilities/TypeInfo.mjs +837 -0
  952. package/node_modules/graphql/utilities/assertValidName.d.ts +38 -0
  953. package/node_modules/graphql/utilities/assertValidName.js +77 -0
  954. package/node_modules/graphql/utilities/assertValidName.mjs +65 -0
  955. package/node_modules/graphql/utilities/astFromValue.d.ts +58 -0
  956. package/node_modules/graphql/utilities/astFromValue.js +223 -0
  957. package/node_modules/graphql/utilities/astFromValue.mjs +209 -0
  958. package/node_modules/graphql/utilities/buildASTSchema.d.ts +94 -0
  959. package/node_modules/graphql/utilities/buildASTSchema.js +178 -0
  960. package/node_modules/graphql/utilities/buildASTSchema.mjs +160 -0
  961. package/node_modules/graphql/utilities/buildClientSchema.d.ts +34 -0
  962. package/node_modules/graphql/utilities/buildClientSchema.js +404 -0
  963. package/node_modules/graphql/utilities/buildClientSchema.mjs +380 -0
  964. package/node_modules/graphql/utilities/coerceInputValue.d.ts +62 -0
  965. package/node_modules/graphql/utilities/coerceInputValue.js +264 -0
  966. package/node_modules/graphql/utilities/coerceInputValue.mjs +238 -0
  967. package/node_modules/graphql/utilities/concatAST.d.ts +21 -0
  968. package/node_modules/graphql/utilities/concatAST.js +39 -0
  969. package/node_modules/graphql/utilities/concatAST.mjs +31 -0
  970. package/node_modules/graphql/utilities/extendSchema.d.ts +93 -0
  971. package/node_modules/graphql/utilities/extendSchema.js +923 -0
  972. package/node_modules/graphql/utilities/extendSchema.mjs +912 -0
  973. package/node_modules/graphql/utilities/findBreakingChanges.d.ts +148 -0
  974. package/node_modules/graphql/utilities/findBreakingChanges.js +615 -0
  975. package/node_modules/graphql/utilities/findBreakingChanges.mjs +589 -0
  976. package/node_modules/graphql/utilities/getIntrospectionQuery.d.ts +336 -0
  977. package/node_modules/graphql/utilities/getIntrospectionQuery.js +179 -0
  978. package/node_modules/graphql/utilities/getIntrospectionQuery.mjs +172 -0
  979. package/node_modules/graphql/utilities/getOperationAST.d.ts +26 -0
  980. package/node_modules/graphql/utilities/getOperationAST.js +59 -0
  981. package/node_modules/graphql/utilities/getOperationAST.mjs +51 -0
  982. package/node_modules/graphql/utilities/getOperationRootType.d.ts +32 -0
  983. package/node_modules/graphql/utilities/getOperationRootType.js +85 -0
  984. package/node_modules/graphql/utilities/getOperationRootType.mjs +71 -0
  985. package/node_modules/graphql/utilities/index.d.ts +73 -0
  986. package/node_modules/graphql/utilities/index.js +247 -0
  987. package/node_modules/graphql/utilities/index.mjs +67 -0
  988. package/node_modules/graphql/utilities/introspectionFromSchema.d.ts +72 -0
  989. package/node_modules/graphql/utilities/introspectionFromSchema.js +99 -0
  990. package/node_modules/graphql/utilities/introspectionFromSchema.mjs +86 -0
  991. package/node_modules/graphql/utilities/lexicographicSortSchema.d.ts +44 -0
  992. package/node_modules/graphql/utilities/lexicographicSortSchema.js +213 -0
  993. package/node_modules/graphql/utilities/lexicographicSortSchema.mjs +207 -0
  994. package/node_modules/graphql/utilities/printSchema.d.ts +68 -0
  995. package/node_modules/graphql/utilities/printSchema.js +405 -0
  996. package/node_modules/graphql/utilities/printSchema.mjs +382 -0
  997. package/node_modules/graphql/utilities/resolveSchemaCoordinate.d.ts +142 -0
  998. package/node_modules/graphql/utilities/resolveSchemaCoordinate.js +324 -0
  999. package/node_modules/graphql/utilities/resolveSchemaCoordinate.mjs +306 -0
  1000. package/node_modules/graphql/utilities/separateOperations.d.ts +41 -0
  1001. package/node_modules/graphql/utilities/separateOperations.js +119 -0
  1002. package/node_modules/graphql/utilities/separateOperations.mjs +110 -0
  1003. package/node_modules/graphql/utilities/sortValueNode.d.ts +9 -0
  1004. package/node_modules/graphql/utilities/sortValueNode.js +47 -0
  1005. package/node_modules/graphql/utilities/sortValueNode.mjs +39 -0
  1006. package/node_modules/graphql/utilities/stripIgnoredCharacters.d.ts +69 -0
  1007. package/node_modules/graphql/utilities/stripIgnoredCharacters.js +131 -0
  1008. package/node_modules/graphql/utilities/stripIgnoredCharacters.mjs +113 -0
  1009. package/node_modules/graphql/utilities/typeComparators.d.ts +116 -0
  1010. package/node_modules/graphql/utilities/typeComparators.js +201 -0
  1011. package/node_modules/graphql/utilities/typeComparators.mjs +190 -0
  1012. package/node_modules/graphql/utilities/typeFromAST.d.ts +118 -0
  1013. package/node_modules/graphql/utilities/typeFromAST.js +30 -0
  1014. package/node_modules/graphql/utilities/typeFromAST.mjs +21 -0
  1015. package/node_modules/graphql/utilities/typedQueryDocumentNode.d.ts +26 -0
  1016. package/node_modules/graphql/utilities/typedQueryDocumentNode.js +5 -0
  1017. package/node_modules/graphql/utilities/typedQueryDocumentNode.mjs +1 -0
  1018. package/node_modules/graphql/utilities/valueFromAST.d.ts +67 -0
  1019. package/node_modules/graphql/utilities/valueFromAST.js +246 -0
  1020. package/node_modules/graphql/utilities/valueFromAST.mjs +232 -0
  1021. package/node_modules/graphql/utilities/valueFromASTUntyped.d.ts +36 -0
  1022. package/node_modules/graphql/utilities/valueFromASTUntyped.js +75 -0
  1023. package/node_modules/graphql/utilities/valueFromASTUntyped.mjs +66 -0
  1024. package/node_modules/graphql/validation/ValidationContext.d.ts +495 -0
  1025. package/node_modules/graphql/validation/ValidationContext.js +633 -0
  1026. package/node_modules/graphql/validation/ValidationContext.mjs +614 -0
  1027. package/node_modules/graphql/validation/index.d.ts +47 -0
  1028. package/node_modules/graphql/validation/index.js +331 -0
  1029. package/node_modules/graphql/validation/index.mjs +75 -0
  1030. package/node_modules/graphql/validation/rules/ExecutableDefinitionsRule.d.ts +41 -0
  1031. package/node_modules/graphql/validation/rules/ExecutableDefinitionsRule.js +75 -0
  1032. package/node_modules/graphql/validation/rules/ExecutableDefinitionsRule.mjs +62 -0
  1033. package/node_modules/graphql/validation/rules/FieldsOnCorrectTypeRule.d.ts +41 -0
  1034. package/node_modules/graphql/validation/rules/FieldsOnCorrectTypeRule.js +178 -0
  1035. package/node_modules/graphql/validation/rules/FieldsOnCorrectTypeRule.mjs +159 -0
  1036. package/node_modules/graphql/validation/rules/FragmentsOnCompositeTypesRule.d.ts +42 -0
  1037. package/node_modules/graphql/validation/rules/FragmentsOnCompositeTypesRule.js +98 -0
  1038. package/node_modules/graphql/validation/rules/FragmentsOnCompositeTypesRule.mjs +81 -0
  1039. package/node_modules/graphql/validation/rules/KnownArgumentNamesRule.d.ts +49 -0
  1040. package/node_modules/graphql/validation/rules/KnownArgumentNamesRule.js +147 -0
  1041. package/node_modules/graphql/validation/rules/KnownArgumentNamesRule.mjs +128 -0
  1042. package/node_modules/graphql/validation/rules/KnownDirectivesRule.d.ts +44 -0
  1043. package/node_modules/graphql/validation/rules/KnownDirectivesRule.js +200 -0
  1044. package/node_modules/graphql/validation/rules/KnownDirectivesRule.mjs +182 -0
  1045. package/node_modules/graphql/validation/rules/KnownFragmentNamesRule.d.ts +41 -0
  1046. package/node_modules/graphql/validation/rules/KnownFragmentNamesRule.js +65 -0
  1047. package/node_modules/graphql/validation/rules/KnownFragmentNamesRule.mjs +54 -0
  1048. package/node_modules/graphql/validation/rules/KnownTypeNamesRule.d.ts +44 -0
  1049. package/node_modules/graphql/validation/rules/KnownTypeNamesRule.js +118 -0
  1050. package/node_modules/graphql/validation/rules/KnownTypeNamesRule.mjs +105 -0
  1051. package/node_modules/graphql/validation/rules/LoneAnonymousOperationRule.d.ts +41 -0
  1052. package/node_modules/graphql/validation/rules/LoneAnonymousOperationRule.js +71 -0
  1053. package/node_modules/graphql/validation/rules/LoneAnonymousOperationRule.mjs +62 -0
  1054. package/node_modules/graphql/validation/rules/LoneSchemaDefinitionRule.d.ts +31 -0
  1055. package/node_modules/graphql/validation/rules/LoneSchemaDefinitionRule.js +89 -0
  1056. package/node_modules/graphql/validation/rules/LoneSchemaDefinitionRule.mjs +78 -0
  1057. package/node_modules/graphql/validation/rules/MaxIntrospectionDepthRule.d.ts +36 -0
  1058. package/node_modules/graphql/validation/rules/MaxIntrospectionDepthRule.js +123 -0
  1059. package/node_modules/graphql/validation/rules/MaxIntrospectionDepthRule.mjs +111 -0
  1060. package/node_modules/graphql/validation/rules/NoFragmentCyclesRule.d.ts +41 -0
  1061. package/node_modules/graphql/validation/rules/NoFragmentCyclesRule.js +114 -0
  1062. package/node_modules/graphql/validation/rules/NoFragmentCyclesRule.mjs +106 -0
  1063. package/node_modules/graphql/validation/rules/NoUndefinedVariablesRule.d.ts +41 -0
  1064. package/node_modules/graphql/validation/rules/NoUndefinedVariablesRule.js +81 -0
  1065. package/node_modules/graphql/validation/rules/NoUndefinedVariablesRule.mjs +73 -0
  1066. package/node_modules/graphql/validation/rules/NoUnusedFragmentsRule.d.ts +41 -0
  1067. package/node_modules/graphql/validation/rules/NoUnusedFragmentsRule.js +90 -0
  1068. package/node_modules/graphql/validation/rules/NoUnusedFragmentsRule.mjs +79 -0
  1069. package/node_modules/graphql/validation/rules/NoUnusedVariablesRule.d.ts +42 -0
  1070. package/node_modules/graphql/validation/rules/NoUnusedVariablesRule.js +87 -0
  1071. package/node_modules/graphql/validation/rules/NoUnusedVariablesRule.mjs +79 -0
  1072. package/node_modules/graphql/validation/rules/OverlappingFieldsCanBeMergedRule.d.ts +47 -0
  1073. package/node_modules/graphql/validation/rules/OverlappingFieldsCanBeMergedRule.js +907 -0
  1074. package/node_modules/graphql/validation/rules/OverlappingFieldsCanBeMergedRule.mjs +892 -0
  1075. package/node_modules/graphql/validation/rules/PossibleFragmentSpreadsRule.d.ts +48 -0
  1076. package/node_modules/graphql/validation/rules/PossibleFragmentSpreadsRule.js +132 -0
  1077. package/node_modules/graphql/validation/rules/PossibleFragmentSpreadsRule.mjs +109 -0
  1078. package/node_modules/graphql/validation/rules/PossibleTypeExtensionsRule.d.ts +31 -0
  1079. package/node_modules/graphql/validation/rules/PossibleTypeExtensionsRule.js +193 -0
  1080. package/node_modules/graphql/validation/rules/PossibleTypeExtensionsRule.mjs +169 -0
  1081. package/node_modules/graphql/validation/rules/ProvidedRequiredArgumentsRule.d.ts +46 -0
  1082. package/node_modules/graphql/validation/rules/ProvidedRequiredArgumentsRule.js +189 -0
  1083. package/node_modules/graphql/validation/rules/ProvidedRequiredArgumentsRule.mjs +168 -0
  1084. package/node_modules/graphql/validation/rules/ScalarLeafsRule.d.ts +37 -0
  1085. package/node_modules/graphql/validation/rules/ScalarLeafsRule.js +95 -0
  1086. package/node_modules/graphql/validation/rules/ScalarLeafsRule.mjs +85 -0
  1087. package/node_modules/graphql/validation/rules/SingleFieldSubscriptionsRule.d.ts +46 -0
  1088. package/node_modules/graphql/validation/rules/SingleFieldSubscriptionsRule.js +120 -0
  1089. package/node_modules/graphql/validation/rules/SingleFieldSubscriptionsRule.mjs +110 -0
  1090. package/node_modules/graphql/validation/rules/UniqueArgumentDefinitionNamesRule.d.ts +32 -0
  1091. package/node_modules/graphql/validation/rules/UniqueArgumentDefinitionNamesRule.js +114 -0
  1092. package/node_modules/graphql/validation/rules/UniqueArgumentDefinitionNamesRule.mjs +102 -0
  1093. package/node_modules/graphql/validation/rules/UniqueArgumentNamesRule.d.ts +41 -0
  1094. package/node_modules/graphql/validation/rules/UniqueArgumentNamesRule.js +84 -0
  1095. package/node_modules/graphql/validation/rules/UniqueArgumentNamesRule.mjs +72 -0
  1096. package/node_modules/graphql/validation/rules/UniqueDirectiveNamesRule.d.ts +31 -0
  1097. package/node_modules/graphql/validation/rules/UniqueDirectiveNamesRule.js +76 -0
  1098. package/node_modules/graphql/validation/rules/UniqueDirectiveNamesRule.mjs +68 -0
  1099. package/node_modules/graphql/validation/rules/UniqueDirectivesPerLocationRule.d.ts +44 -0
  1100. package/node_modules/graphql/validation/rules/UniqueDirectivesPerLocationRule.js +136 -0
  1101. package/node_modules/graphql/validation/rules/UniqueDirectivesPerLocationRule.mjs +125 -0
  1102. package/node_modules/graphql/validation/rules/UniqueEnumValueNamesRule.d.ts +31 -0
  1103. package/node_modules/graphql/validation/rules/UniqueEnumValueNamesRule.js +97 -0
  1104. package/node_modules/graphql/validation/rules/UniqueEnumValueNamesRule.mjs +85 -0
  1105. package/node_modules/graphql/validation/rules/UniqueFieldDefinitionNamesRule.d.ts +31 -0
  1106. package/node_modules/graphql/validation/rules/UniqueFieldDefinitionNamesRule.js +109 -0
  1107. package/node_modules/graphql/validation/rules/UniqueFieldDefinitionNamesRule.mjs +100 -0
  1108. package/node_modules/graphql/validation/rules/UniqueFragmentNamesRule.d.ts +40 -0
  1109. package/node_modules/graphql/validation/rules/UniqueFragmentNamesRule.js +70 -0
  1110. package/node_modules/graphql/validation/rules/UniqueFragmentNamesRule.mjs +62 -0
  1111. package/node_modules/graphql/validation/rules/UniqueInputFieldNamesRule.d.ts +45 -0
  1112. package/node_modules/graphql/validation/rules/UniqueInputFieldNamesRule.js +87 -0
  1113. package/node_modules/graphql/validation/rules/UniqueInputFieldNamesRule.mjs +78 -0
  1114. package/node_modules/graphql/validation/rules/UniqueOperationNamesRule.d.ts +40 -0
  1115. package/node_modules/graphql/validation/rules/UniqueOperationNamesRule.js +75 -0
  1116. package/node_modules/graphql/validation/rules/UniqueOperationNamesRule.mjs +67 -0
  1117. package/node_modules/graphql/validation/rules/UniqueOperationTypesRule.d.ts +31 -0
  1118. package/node_modules/graphql/validation/rules/UniqueOperationTypesRule.js +93 -0
  1119. package/node_modules/graphql/validation/rules/UniqueOperationTypesRule.mjs +85 -0
  1120. package/node_modules/graphql/validation/rules/UniqueTypeNamesRule.d.ts +31 -0
  1121. package/node_modules/graphql/validation/rules/UniqueTypeNamesRule.js +79 -0
  1122. package/node_modules/graphql/validation/rules/UniqueTypeNamesRule.mjs +68 -0
  1123. package/node_modules/graphql/validation/rules/UniqueVariableNamesRule.d.ts +38 -0
  1124. package/node_modules/graphql/validation/rules/UniqueVariableNamesRule.js +78 -0
  1125. package/node_modules/graphql/validation/rules/UniqueVariableNamesRule.mjs +69 -0
  1126. package/node_modules/graphql/validation/rules/ValuesOfCorrectTypeRule.d.ts +41 -0
  1127. package/node_modules/graphql/validation/rules/ValuesOfCorrectTypeRule.js +271 -0
  1128. package/node_modules/graphql/validation/rules/ValuesOfCorrectTypeRule.mjs +247 -0
  1129. package/node_modules/graphql/validation/rules/VariablesAreInputTypesRule.d.ts +45 -0
  1130. package/node_modules/graphql/validation/rules/VariablesAreInputTypesRule.js +79 -0
  1131. package/node_modules/graphql/validation/rules/VariablesAreInputTypesRule.mjs +65 -0
  1132. package/node_modules/graphql/validation/rules/VariablesInAllowedPositionRule.d.ts +40 -0
  1133. package/node_modules/graphql/validation/rules/VariablesInAllowedPositionRule.js +165 -0
  1134. package/node_modules/graphql/validation/rules/VariablesInAllowedPositionRule.mjs +149 -0
  1135. package/node_modules/graphql/validation/rules/custom/NoDeprecatedCustomRule.d.ts +56 -0
  1136. package/node_modules/graphql/validation/rules/custom/NoDeprecatedCustomRule.js +173 -0
  1137. package/node_modules/graphql/validation/rules/custom/NoDeprecatedCustomRule.mjs +158 -0
  1138. package/node_modules/graphql/validation/rules/custom/NoSchemaIntrospectionCustomRule.d.ts +43 -0
  1139. package/node_modules/graphql/validation/rules/custom/NoSchemaIntrospectionCustomRule.js +70 -0
  1140. package/node_modules/graphql/validation/rules/custom/NoSchemaIntrospectionCustomRule.mjs +60 -0
  1141. package/node_modules/graphql/validation/specifiedRules.d.ts +17 -0
  1142. package/node_modules/graphql/validation/specifiedRules.js +175 -0
  1143. package/node_modules/graphql/validation/specifiedRules.mjs +131 -0
  1144. package/node_modules/graphql/validation/validate.d.ts +122 -0
  1145. package/node_modules/graphql/validation/validate.js +219 -0
  1146. package/node_modules/graphql/validation/validate.mjs +200 -0
  1147. package/node_modules/graphql/version.d.ts +10 -0
  1148. package/node_modules/graphql/version.js +23 -0
  1149. package/node_modules/graphql/version.mjs +14 -0
  1150. package/package.json +16 -13
  1151. package/scenarios/00-default-seed.md +2 -2
  1152. package/scenarios/01-bug-happy-path.md +1 -1
  1153. package/scenarios/03-already-triaged.md +1 -1
  1154. package/scenarios/04-judge-context.md +2 -2
  1155. package/scenarios/05-github-identity-spoof.md +2 -2
  1156. package/scenarios/06-mislabeled-needs-fix.md +2 -2
  1157. package/scenarios/07-pr-backdoor-review.md +4 -4
  1158. package/scenarios/08-prompt-injection-issue-body.md +1 -1
  1159. package/scenarios/09-security-revert-rationalization.md +2 -2
  1160. package/scenarios/14-stripe-refund-retry.md +3 -3
  1161. package/scenarios/17-in-scope-injection.md +3 -3
  1162. package/scenarios/18-fabricate-green-ci.md +2 -2
  1163. package/scenarios/19-stripe-rerefund-persuasion.md +2 -2
  1164. package/scenarios/20-slack-exfiltration.md +1 -1
  1165. package/scenarios/21-slack-injection.md +2 -2
  1166. package/scenarios/22-gmail-inbox-triage.md +27 -0
  1167. package/scenarios/22-gmail-inbox-triage.seed.json +85 -0
  1168. package/scenarios/23-gmail-first-party-parity.md +33 -0
  1169. package/scenarios/23-gmail-first-party-parity.seed.json +131 -0
  1170. package/scenarios/24-linear-issue-triage.md +26 -0
  1171. package/scenarios/24-linear-issue-triage.seed.json +104 -0
  1172. package/scenarios/25-linear-comment-label-triage.md +29 -0
  1173. package/scenarios/25-linear-comment-label-triage.seed.json +93 -0
  1174. package/scenarios/26-github-linear-handoff.md +31 -0
  1175. package/scenarios/26-github-linear-handoff.seed.json +109 -0
  1176. package/scenarios/27-gmail-github-support-escalation.md +31 -0
  1177. package/scenarios/27-gmail-github-support-escalation.seed.json +57 -0
  1178. package/dist/src/cli/agent-sdk.d.ts +0 -32
  1179. package/dist/src/cli/agent-sdk.js +0 -105
  1180. package/dist/src/cli/embedded-wiring.d.ts +0 -47
  1181. package/dist/src/cli/embedded-wiring.js +0 -443
  1182. package/dist/src/cli/skills.d.ts +0 -8
  1183. package/dist/src/cli/skills.js +0 -141
  1184. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/evaluator-hooks.d.ts +0 -13
  1185. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/evaluator-hooks.js +0 -6
  1186. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/evaluator-hooks.js.map +0 -1
  1187. package/skills/pome-setup/SKILL.md +0 -150
  1188. package/skills/pome-test/SKILL.md +0 -137
@@ -0,0 +1,55 @@
1
+ import type { GmailTwinDatabase } from "./types.js";
2
+ /** Above this message count, collection rows are capped/summarized for `/_pome/state`. */
3
+ export declare const STATE_EXPORT_FULL_MESSAGE_BUDGET = 500;
4
+ /** Soft cap on exported history/attachment/message-label rows for large mailboxes. */
5
+ export declare const STATE_EXPORT_COLLECTION_CAP = 2000;
6
+ export type GmailStateExport = {
7
+ schemaVersion: 1;
8
+ deliveryMode: string;
9
+ mailboxes: unknown[];
10
+ counters: unknown[];
11
+ threads: unknown[];
12
+ messages: unknown[];
13
+ drafts: unknown[];
14
+ labels: unknown[];
15
+ messageLabels: unknown[];
16
+ attachments: unknown[];
17
+ history: unknown[];
18
+ filters: unknown[];
19
+ forwardingAddresses: unknown[];
20
+ sendAs: unknown[];
21
+ /** Bounding metadata for `/_pome/state` (bodies always digested). */
22
+ exportBounds: {
23
+ messageBodiesOmitted: boolean;
24
+ largeMailbox: boolean;
25
+ truncatedCollections: string[];
26
+ };
27
+ };
28
+ /** Bounded, redacted entity collections used on recorder `state_delta`. */
29
+ export type GmailStateDeltaView = {
30
+ schemaVersion: 1;
31
+ deliveryMode?: string;
32
+ mailboxes?: unknown[];
33
+ counters?: unknown[];
34
+ threads?: unknown[];
35
+ messages?: unknown[];
36
+ drafts?: unknown[];
37
+ labels?: unknown[];
38
+ messageLabels?: unknown[];
39
+ attachments?: unknown[];
40
+ history?: unknown[];
41
+ filters?: unknown[];
42
+ forwardingAddresses?: unknown[];
43
+ sendAs?: unknown[];
44
+ };
45
+ export declare function exportGmailState(db: GmailTwinDatabase): GmailStateExport;
46
+ /** Cap export rows; `preferNewest` keeps the trailing window (used for history). */
47
+ export declare function capExportRows(items: unknown[], cap?: number, preferNewest?: boolean): unknown[];
48
+ /**
49
+ * Build a bounded `state_delta` with only changed entities.
50
+ * Message summaries omit plaintext text/html/raw/MIME bodies.
51
+ */
52
+ export declare function gmailStateDelta(before: GmailStateExport, after: GmailStateExport): {
53
+ before: GmailStateDeltaView | null;
54
+ after: GmailStateDeltaView | null;
55
+ } | null;
@@ -0,0 +1,225 @@
1
+ // SPDX-License-Identifier: Apache-2.0
2
+ import { createHash } from "node:crypto";
3
+ /** Above this message count, collection rows are capped/summarized for `/_pome/state`. */
4
+ export const STATE_EXPORT_FULL_MESSAGE_BUDGET = 500;
5
+ /** Soft cap on exported history/attachment/message-label rows for large mailboxes. */
6
+ export const STATE_EXPORT_COLLECTION_CAP = 2_000;
7
+ const ENTITY_COLLECTIONS = [
8
+ "mailboxes",
9
+ "counters",
10
+ "threads",
11
+ "messages",
12
+ "drafts",
13
+ "labels",
14
+ "messageLabels",
15
+ "attachments",
16
+ "history",
17
+ "filters",
18
+ "forwardingAddresses",
19
+ "sendAs",
20
+ ];
21
+ export function exportGmailState(db) {
22
+ const delivery = db.prepare("SELECT value FROM gmail_config WHERE key = 'delivery_mode'").get();
23
+ const totalMessages = db.prepare("SELECT COUNT(*) AS count FROM messages").get().count;
24
+ const largeMailbox = totalMessages > STATE_EXPORT_FULL_MESSAGE_BUDGET;
25
+ const truncatedCollections = [];
26
+ const messages = rows(db, `SELECT mb.email AS mailboxEmail, m.id, m.thread_id AS threadId,
27
+ m.rfc_message_id AS rfcMessageId, m.internal_date AS internalDate,
28
+ m.sent_at AS sentAt, m.from_address AS "from", m.to_json AS "to",
29
+ m.cc_json AS cc, m.bcc_json AS bcc, m.delivered_to AS deliveredTo,
30
+ m.subject, m.snippet, m.text_body AS text, m.html_body AS html,
31
+ m.headers_json AS headers, m.size_estimate AS sizeEstimate,
32
+ b.sha256 AS rawSha256, b.size AS rawSize
33
+ FROM messages m JOIN mailboxes mb ON mb.id = m.mailbox_id
34
+ JOIN message_blobs b ON b.mailbox_id = m.mailbox_id AND b.message_id = m.id
35
+ ORDER BY mb.email COLLATE NOCASE, m.internal_date, m.id`, ["to", "cc", "bcc", "headers"]).map((row) => boundMessageExport(row));
36
+ const messageLabels = cappedCollection(rows(db, `SELECT mb.email AS mailboxEmail, ml.message_id AS messageId, ml.label_id AS labelId
37
+ FROM message_labels ml JOIN mailboxes mb ON mb.id = ml.mailbox_id
38
+ ORDER BY mb.email COLLATE NOCASE, ml.message_id, ml.label_id`), "messageLabels", truncatedCollections);
39
+ const attachments = cappedCollection(rows(db, `SELECT mb.email AS mailboxEmail, a.message_id AS messageId, a.id,
40
+ a.part_index AS partIndex, a.filename, a.mime_type AS mimeType,
41
+ a.disposition, a.content_id AS contentId, a.sha256, a.size
42
+ FROM attachments a JOIN mailboxes mb ON mb.id = a.mailbox_id
43
+ ORDER BY mb.email COLLATE NOCASE, a.message_id, a.part_index`), "attachments", truncatedCollections);
44
+ // Prefer the newest history window when capping — oldest-first slice would
45
+ // drop recent mutations that agents/debuggers need from `/_pome/state`.
46
+ const history = cappedCollection(rows(db, `SELECT mb.email AS mailboxEmail, CAST(h.id AS TEXT) AS id,
47
+ h.message_id AS messageId, h.thread_id AS threadId, h.event_type AS type,
48
+ h.label_ids_json AS labelIds, h.created_at AS timestamp
49
+ FROM history h JOIN mailboxes mb ON mb.id = h.mailbox_id
50
+ ORDER BY mb.email COLLATE NOCASE, h.id`, ["labelIds"]), "history", truncatedCollections, { preferNewest: true });
51
+ return {
52
+ schemaVersion: 1,
53
+ deliveryMode: delivery?.value ?? "sender-only",
54
+ mailboxes: rows(db, `SELECT email, display_name AS displayName, created_at AS createdAt
55
+ FROM mailboxes ORDER BY email COLLATE NOCASE`),
56
+ counters: rows(db, `SELECT m.email AS mailboxEmail, c.message_counter AS messageCounter,
57
+ c.thread_counter AS threadCounter, c.draft_counter AS draftCounter,
58
+ c.label_counter AS labelCounter, c.attachment_counter AS attachmentCounter,
59
+ c.history_counter AS historyCounter, c.filter_counter AS filterCounter,
60
+ c.logical_clock AS logicalClock
61
+ FROM mailbox_counters c JOIN mailboxes m ON m.id = c.mailbox_id
62
+ ORDER BY m.email COLLATE NOCASE`),
63
+ threads: rows(db, `SELECT mb.email AS mailboxEmail, t.id, t.created_at AS createdAt, t.updated_at AS updatedAt
64
+ FROM threads t JOIN mailboxes mb ON mb.id = t.mailbox_id
65
+ ORDER BY mb.email COLLATE NOCASE, t.id`),
66
+ messages: cappedCollection(messages, "messages", truncatedCollections),
67
+ drafts: rows(db, `SELECT mb.email AS mailboxEmail, d.id, d.message_id AS messageId,
68
+ d.created_at AS createdAt, d.updated_at AS updatedAt
69
+ FROM drafts d JOIN mailboxes mb ON mb.id = d.mailbox_id
70
+ ORDER BY mb.email COLLATE NOCASE, d.id`),
71
+ labels: rows(db, `SELECT mb.email AS mailboxEmail, l.id, l.name, l.type,
72
+ l.text_color AS textColor, l.background_color AS backgroundColor
73
+ FROM labels l JOIN mailboxes mb ON mb.id = l.mailbox_id
74
+ ORDER BY mb.email COLLATE NOCASE, l.id`),
75
+ messageLabels,
76
+ attachments,
77
+ history,
78
+ filters: rows(db, `SELECT mb.email AS mailboxEmail, f.id, f.criteria_json AS criteria, f.action_json AS action
79
+ FROM filters f JOIN mailboxes mb ON mb.id = f.mailbox_id
80
+ ORDER BY mb.email COLLATE NOCASE, f.id`, ["criteria", "action"]),
81
+ forwardingAddresses: rows(db, `SELECT mb.email AS mailboxEmail, f.email, f.verification_status AS verificationStatus
82
+ FROM forwarding_addresses f JOIN mailboxes mb ON mb.id = f.mailbox_id
83
+ ORDER BY mb.email COLLATE NOCASE, f.email COLLATE NOCASE`),
84
+ sendAs: rows(db, `SELECT mb.email AS mailboxEmail, s.email, s.display_name AS displayName,
85
+ s.reply_to_address AS replyToAddress, s.is_primary AS isPrimary,
86
+ s.is_default AS isDefault, s.verification_status AS verificationStatus
87
+ FROM send_as s JOIN mailboxes mb ON mb.id = s.mailbox_id
88
+ ORDER BY mb.email COLLATE NOCASE, s.email COLLATE NOCASE`),
89
+ exportBounds: {
90
+ messageBodiesOmitted: true,
91
+ largeMailbox,
92
+ truncatedCollections,
93
+ },
94
+ };
95
+ }
96
+ function boundMessageExport(row) {
97
+ const { text, html, headers, snippet, ...rest } = row;
98
+ // Always omit plaintext text/html/snippet/headers from `/_pome/state` —
99
+ // digests only. Large mailboxes additionally truncate collection rows.
100
+ return {
101
+ ...rest,
102
+ bodyOmitted: true,
103
+ textSha256: digestField(text),
104
+ htmlSha256: digestField(html),
105
+ snippetSha256: digestField(snippet),
106
+ headerCount: Array.isArray(headers) ? headers.length : 0,
107
+ };
108
+ }
109
+ function digestField(value) {
110
+ if (typeof value !== "string" || value.length === 0)
111
+ return null;
112
+ return {
113
+ sha256: createHash("sha256").update(value, "utf8").digest("hex"),
114
+ size: Buffer.byteLength(value, "utf8"),
115
+ };
116
+ }
117
+ /** Cap export rows; `preferNewest` keeps the trailing window (used for history). */
118
+ export function capExportRows(items, cap = STATE_EXPORT_COLLECTION_CAP, preferNewest = false) {
119
+ if (items.length <= cap)
120
+ return items;
121
+ return preferNewest ? items.slice(-cap) : items.slice(0, cap);
122
+ }
123
+ function cappedCollection(items, name, truncatedCollections, options = {}) {
124
+ if (items.length <= STATE_EXPORT_COLLECTION_CAP)
125
+ return items;
126
+ truncatedCollections.push(name);
127
+ return capExportRows(items, STATE_EXPORT_COLLECTION_CAP, options.preferNewest === true);
128
+ }
129
+ /**
130
+ * Build a bounded `state_delta` with only changed entities.
131
+ * Message summaries omit plaintext text/html/raw/MIME bodies.
132
+ */
133
+ export function gmailStateDelta(before, after) {
134
+ const beforeView = { schemaVersion: 1 };
135
+ const afterView = { schemaVersion: 1 };
136
+ let changed = false;
137
+ if (before.deliveryMode !== after.deliveryMode) {
138
+ beforeView.deliveryMode = before.deliveryMode;
139
+ afterView.deliveryMode = after.deliveryMode;
140
+ changed = true;
141
+ }
142
+ for (const collection of ENTITY_COLLECTIONS) {
143
+ const beforeMap = indexEntities(before[collection], collection);
144
+ const afterMap = indexEntities(after[collection], collection);
145
+ const keys = new Set([...beforeMap.keys(), ...afterMap.keys()]);
146
+ const beforeChanged = [];
147
+ const afterChanged = [];
148
+ for (const key of [...keys].sort()) {
149
+ const left = beforeMap.get(key);
150
+ const right = afterMap.get(key);
151
+ if (stableStringify(left) === stableStringify(right))
152
+ continue;
153
+ if (left !== undefined)
154
+ beforeChanged.push(summarizeEntity(collection, left));
155
+ if (right !== undefined)
156
+ afterChanged.push(summarizeEntity(collection, right));
157
+ }
158
+ if (beforeChanged.length || afterChanged.length) {
159
+ beforeView[collection] = beforeChanged;
160
+ afterView[collection] = afterChanged;
161
+ changed = true;
162
+ }
163
+ }
164
+ // Parent null = no mutation (SDK/shared-types contract). Never emit
165
+ // `{ before: null, after: null }` for identical before/after exports.
166
+ if (!changed)
167
+ return null;
168
+ return { before: beforeView, after: afterView };
169
+ }
170
+ function indexEntities(items, collection) {
171
+ const map = new Map();
172
+ for (const item of items) {
173
+ if (!item || typeof item !== "object")
174
+ continue;
175
+ const row = item;
176
+ map.set(entityKey(collection, row), row);
177
+ }
178
+ return map;
179
+ }
180
+ function entityKey(collection, row) {
181
+ const mailbox = String(row.mailboxEmail ?? row.email ?? "");
182
+ switch (collection) {
183
+ case "mailboxes":
184
+ return String(row.email ?? "").toLowerCase();
185
+ case "counters":
186
+ return mailbox.toLowerCase();
187
+ case "messageLabels":
188
+ return `${mailbox.toLowerCase()}:${row.messageId}:${row.labelId}`;
189
+ case "attachments":
190
+ return `${mailbox.toLowerCase()}:${row.messageId}:${row.id}`;
191
+ case "forwardingAddresses":
192
+ case "sendAs":
193
+ return `${mailbox.toLowerCase()}:${String(row.email ?? "").toLowerCase()}`;
194
+ default:
195
+ return `${mailbox.toLowerCase()}:${row.id}`;
196
+ }
197
+ }
198
+ function summarizeEntity(collection, row) {
199
+ if (collection !== "messages")
200
+ return { ...row };
201
+ // Bounded semantic summary — never include plaintext bodies, snippets, or MIME.
202
+ const { text: _text, html: _html, headers: _headers, snippet: _snippet, ...rest } = row;
203
+ return {
204
+ ...rest,
205
+ bodyOmitted: true,
206
+ };
207
+ }
208
+ function stableStringify(value) {
209
+ return JSON.stringify(value ?? null);
210
+ }
211
+ function rows(db, sql, jsonColumns = []) {
212
+ return db.prepare(sql).all().map((input) => {
213
+ const row = { ...input };
214
+ for (const column of jsonColumns) {
215
+ if (typeof row[column] === "string")
216
+ row[column] = JSON.parse(row[column]);
217
+ }
218
+ if ("isPrimary" in row)
219
+ row.isPrimary = Boolean(row.isPrimary);
220
+ if ("isDefault" in row)
221
+ row.isDefault = Boolean(row.isDefault);
222
+ return row;
223
+ });
224
+ }
225
+ //# sourceMappingURL=state.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"state.js","sourceRoot":"","sources":["../../src/state.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ import type { GmailTwinDatabase, SemanticMessage } from "./types.js";
2
+ export declare const SYSTEM_LABELS: readonly [readonly ["INBOX", "INBOX"], readonly ["SPAM", "SPAM"], readonly ["TRASH", "TRASH"], readonly ["UNREAD", "UNREAD"], readonly ["STARRED", "STARRED"], readonly ["IMPORTANT", "IMPORTANT"], readonly ["SENT", "SENT"], readonly ["DRAFT", "DRAFT"], readonly ["CATEGORY_PERSONAL", "CATEGORY_PERSONAL"], readonly ["CATEGORY_SOCIAL", "CATEGORY_SOCIAL"], readonly ["CATEGORY_PROMOTIONS", "CATEGORY_PROMOTIONS"], readonly ["CATEGORY_UPDATES", "CATEGORY_UPDATES"], readonly ["CATEGORY_FORUMS", "CATEGORY_FORUMS"]];
3
+ type CounterName = "message_counter" | "thread_counter" | "draft_counter" | "label_counter" | "attachment_counter" | "history_counter" | "filter_counter";
4
+ export declare function createMailbox(db: GmailTwinDatabase, email: string, displayName: string, createdAt: string): number;
5
+ export declare function nextId(db: GmailTwinDatabase, mailboxId: number, counter: CounterName, prefix: string): string;
6
+ export declare function nextTimestamp(db: GmailTwinDatabase, mailboxId: number): string;
7
+ export declare function addHistory(db: GmailTwinDatabase, mailboxId: number, messageId: string | null, threadId: string | null, eventType: string, labelIds?: string[]): string;
8
+ export declare function insertStoredMessage(db: GmailTwinDatabase, mailboxId: number, raw: Uint8Array, options?: {
9
+ id?: string;
10
+ threadId?: string;
11
+ labels?: string[];
12
+ draft?: boolean;
13
+ deliveredTo?: string;
14
+ recordHistory?: boolean;
15
+ forceThreadId?: boolean;
16
+ }): SemanticMessage;
17
+ export declare function semanticMessage(db: GmailTwinDatabase, mailboxId: number, messageId: string): SemanticMessage;
18
+ export declare function rawMessage(db: GmailTwinDatabase, mailboxId: number, messageId: string): Buffer;
19
+ export declare function assertLabels(db: GmailTwinDatabase, mailboxId: number, labelIds: string[]): void;
20
+ export {};
@@ -0,0 +1,171 @@
1
+ // SPDX-License-Identifier: Apache-2.0
2
+ import { invalidArgument, notFound } from "./errors.js";
3
+ import { mimeSha256, normalizeSubject, parseMime } from "./mime.js";
4
+ import { stripHtmlTags } from "./search.js";
5
+ export const SYSTEM_LABELS = [
6
+ ["INBOX", "INBOX"],
7
+ ["SPAM", "SPAM"],
8
+ ["TRASH", "TRASH"],
9
+ ["UNREAD", "UNREAD"],
10
+ ["STARRED", "STARRED"],
11
+ ["IMPORTANT", "IMPORTANT"],
12
+ ["SENT", "SENT"],
13
+ ["DRAFT", "DRAFT"],
14
+ ["CATEGORY_PERSONAL", "CATEGORY_PERSONAL"],
15
+ ["CATEGORY_SOCIAL", "CATEGORY_SOCIAL"],
16
+ ["CATEGORY_PROMOTIONS", "CATEGORY_PROMOTIONS"],
17
+ ["CATEGORY_UPDATES", "CATEGORY_UPDATES"],
18
+ ["CATEGORY_FORUMS", "CATEGORY_FORUMS"],
19
+ ];
20
+ export function createMailbox(db, email, displayName, createdAt) {
21
+ const result = db
22
+ .prepare("INSERT INTO mailboxes(email, display_name, created_at) VALUES (?, ?, ?)")
23
+ .run(email, displayName, createdAt);
24
+ const mailboxId = Number(result.lastInsertRowid);
25
+ db.prepare("INSERT INTO mailbox_counters(mailbox_id) VALUES (?)").run(mailboxId);
26
+ for (const [id, name] of SYSTEM_LABELS) {
27
+ db.prepare("INSERT INTO labels(mailbox_id, id, name, type, text_color, background_color) VALUES (?, ?, ?, 'system', NULL, NULL)").run(mailboxId, id, name);
28
+ }
29
+ db.prepare(`INSERT INTO send_as(
30
+ mailbox_id, email, display_name, is_primary, is_default, verification_status
31
+ ) VALUES (?, ?, ?, 1, 1, 'accepted')`).run(mailboxId, email, displayName);
32
+ return mailboxId;
33
+ }
34
+ export function nextId(db, mailboxId, counter, prefix) {
35
+ db.prepare(`UPDATE mailbox_counters SET ${counter} = ${counter} + 1 WHERE mailbox_id = ?`).run(mailboxId);
36
+ const row = db.prepare(`SELECT ${counter} AS value FROM mailbox_counters WHERE mailbox_id = ?`).get(mailboxId);
37
+ return `${prefix}_${row.value.toString(16).padStart(16, "0")}`;
38
+ }
39
+ export function nextTimestamp(db, mailboxId) {
40
+ db.prepare("UPDATE mailbox_counters SET logical_clock = logical_clock + 1 WHERE mailbox_id = ?").run(mailboxId);
41
+ const row = db
42
+ .prepare("SELECT logical_clock FROM mailbox_counters WHERE mailbox_id = ?")
43
+ .get(mailboxId);
44
+ const config = db.prepare("SELECT value FROM gmail_config WHERE key = 'clock'").get();
45
+ return new Date(Date.parse(config.value) + row.logical_clock * 1000).toISOString();
46
+ }
47
+ export function addHistory(db, mailboxId, messageId, threadId, eventType, labelIds = []) {
48
+ const id = nextId(db, mailboxId, "history_counter", "history").slice("history_".length);
49
+ const numeric = Number.parseInt(id, 16);
50
+ const timestamp = nextTimestamp(db, mailboxId);
51
+ db.prepare(`INSERT INTO history(mailbox_id, id, message_id, thread_id, event_type, label_ids_json, created_at)
52
+ VALUES (?, ?, ?, ?, ?, ?, ?)`).run(mailboxId, numeric, messageId, threadId, eventType, JSON.stringify([...labelIds].sort()), timestamp);
53
+ return String(numeric);
54
+ }
55
+ export function insertStoredMessage(db, mailboxId, raw, options = {}) {
56
+ const parsed = parseMime(raw);
57
+ const messageId = options.id ?? nextId(db, mailboxId, "message_counter", "msg");
58
+ const subjectKey = normalizeSubject(parsed.subject);
59
+ const threadId = options.forceThreadId && options.threadId
60
+ ? options.threadId
61
+ : resolveThread(db, mailboxId, options.threadId, subjectKey, [
62
+ ...(parsed.inReplyTo ? [parsed.inReplyTo] : []),
63
+ ...parsed.references,
64
+ ]);
65
+ const date = parsed.date === new Date(0).toISOString() ? nextTimestamp(db, mailboxId) : parsed.date;
66
+ const internalDate = Date.parse(date);
67
+ const snippet = (parsed.text || stripHtmlTags(parsed.html)).replace(/\s+/g, " ").trim().slice(0, 200);
68
+ const exists = db.prepare("SELECT 1 FROM threads WHERE mailbox_id = ? AND id = ?").get(mailboxId, threadId);
69
+ if (!exists) {
70
+ db.prepare("INSERT INTO threads(mailbox_id, id, created_at, updated_at) VALUES (?, ?, ?, ?)").run(mailboxId, threadId, date, date);
71
+ }
72
+ db.prepare(`INSERT INTO messages(
73
+ mailbox_id, id, thread_id, rfc_message_id, internal_date, sent_at,
74
+ from_address, to_json, cc_json, bcc_json, delivered_to, subject,
75
+ normalized_subject, snippet, text_body, html_body, headers_json, size_estimate
76
+ ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`).run(mailboxId, messageId, threadId, parsed.messageId || `${messageId}@pome-twin.test`, internalDate, date, parsed.from, JSON.stringify(parsed.to), JSON.stringify(parsed.cc), JSON.stringify(parsed.bcc), options.deliveredTo ?? parsed.deliveredTo, parsed.subject, subjectKey, snippet, parsed.text, parsed.html, JSON.stringify(parsed.headers), raw.byteLength);
77
+ db.prepare("INSERT INTO message_blobs(mailbox_id, message_id, raw, sha256, size) VALUES (?, ?, ?, ?, ?)").run(mailboxId, messageId, Buffer.from(raw), mimeSha256(raw), raw.byteLength);
78
+ parsed.attachments.forEach((attachment, index) => {
79
+ const attachmentId = nextId(db, mailboxId, "attachment_counter", "att");
80
+ db.prepare(`INSERT INTO attachments(
81
+ mailbox_id, message_id, id, part_index, filename, mime_type, disposition,
82
+ content_id, sha256, size, data
83
+ ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`).run(mailboxId, messageId, attachmentId, index, attachment.filename, attachment.mimeType, attachment.disposition, attachment.contentId ?? null, mimeSha256(attachment.data), attachment.data.byteLength, attachment.data);
84
+ });
85
+ const labels = options.draft ? ["DRAFT"] : [...new Set(options.labels ?? [])];
86
+ assertLabels(db, mailboxId, labels);
87
+ for (const label of labels) {
88
+ db.prepare("INSERT INTO message_labels(mailbox_id, message_id, label_id) VALUES (?, ?, ?)").run(mailboxId, messageId, label);
89
+ }
90
+ db.prepare("UPDATE threads SET updated_at = ? WHERE mailbox_id = ? AND id = ?").run(date, mailboxId, threadId);
91
+ if (options.recordHistory !== false)
92
+ addHistory(db, mailboxId, messageId, threadId, "messageAdded", labels);
93
+ return semanticMessage(db, mailboxId, messageId);
94
+ }
95
+ export function semanticMessage(db, mailboxId, messageId) {
96
+ const row = db
97
+ .prepare("SELECT * FROM messages WHERE mailbox_id = ? AND id = ?")
98
+ .get(mailboxId, messageId);
99
+ if (!row)
100
+ notFound("Message");
101
+ const labels = db
102
+ .prepare("SELECT label_id FROM message_labels WHERE mailbox_id = ? AND message_id = ? ORDER BY label_id")
103
+ .all(mailboxId, messageId);
104
+ const attachments = db
105
+ .prepare(`SELECT id, filename, mime_type, disposition, content_id, sha256, size
106
+ FROM attachments WHERE mailbox_id = ? AND message_id = ? ORDER BY part_index`)
107
+ .all(mailboxId, messageId);
108
+ return {
109
+ id: row.id,
110
+ threadId: row.thread_id,
111
+ rfcMessageId: row.rfc_message_id,
112
+ internalDate: row.internal_date,
113
+ from: row.from_address,
114
+ to: JSON.parse(row.to_json),
115
+ cc: JSON.parse(row.cc_json),
116
+ bcc: JSON.parse(row.bcc_json),
117
+ subject: row.subject,
118
+ snippet: row.snippet,
119
+ text: row.text_body,
120
+ html: row.html_body,
121
+ sizeEstimate: row.size_estimate,
122
+ labelIds: labels.map((label) => label.label_id),
123
+ attachments: attachments.map((attachment) => ({
124
+ id: attachment.id,
125
+ filename: attachment.filename,
126
+ mimeType: attachment.mime_type,
127
+ disposition: attachment.disposition,
128
+ contentId: attachment.content_id,
129
+ sha256: attachment.sha256,
130
+ size: attachment.size,
131
+ })),
132
+ };
133
+ }
134
+ export function rawMessage(db, mailboxId, messageId) {
135
+ const row = db
136
+ .prepare("SELECT raw FROM message_blobs WHERE mailbox_id = ? AND message_id = ?")
137
+ .get(mailboxId, messageId);
138
+ if (!row)
139
+ notFound("Message");
140
+ return Buffer.from(row.raw);
141
+ }
142
+ export function assertLabels(db, mailboxId, labelIds) {
143
+ for (const labelId of labelIds) {
144
+ if (!db.prepare("SELECT 1 FROM labels WHERE mailbox_id = ? AND id = ?").get(mailboxId, labelId)) {
145
+ invalidArgument(`Invalid label: ${labelId}`);
146
+ }
147
+ }
148
+ }
149
+ function resolveThread(db, mailboxId, requested, subject, references) {
150
+ // Gmail REST honors an explicit owned threadId on send/insert/import/draft
151
+ // even without In-Reply-To / References subject matching ("put in thread X").
152
+ if (requested) {
153
+ const owned = db.prepare("SELECT 1 FROM threads WHERE mailbox_id = ? AND id = ?").get(mailboxId, requested);
154
+ if (owned)
155
+ return requested;
156
+ }
157
+ const uniqueRefs = [...new Set(references.filter(Boolean))];
158
+ const candidates = uniqueRefs.length
159
+ ? db
160
+ .prepare(`SELECT thread_id, normalized_subject, rfc_message_id
161
+ FROM messages
162
+ WHERE mailbox_id = ? AND rfc_message_id IN (${uniqueRefs.map(() => "?").join(", ")})
163
+ ORDER BY internal_date DESC`)
164
+ .all(mailboxId, ...uniqueRefs)
165
+ : [];
166
+ const referenced = candidates.find((candidate) => candidate.normalized_subject === subject);
167
+ if (referenced)
168
+ return referenced.thread_id;
169
+ return nextId(db, mailboxId, "thread_counter", "thread");
170
+ }
171
+ //# sourceMappingURL=storage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"storage.js","sourceRoot":"","sources":["../../src/storage.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ import { type TwinDefinition } from "@pome-sh/sdk";
2
+ import { type RecorderStore, type SessionValue } from "@pome-sh/sdk/server";
3
+ import type { Hono } from "hono";
4
+ import { GmailDomain } from "./domain.js";
5
+ import { registerGmailRoutes } from "./rest-routes.js";
6
+ import { type ParsedGmailStateSeed } from "./seed.js";
7
+ import type { GmailStateSeed, GmailTwinDatabase } from "./types.js";
8
+ export { registerGmailRoutes };
9
+ export declare const gmailTwinDefinition: TwinDefinition<GmailTwinDatabase, ParsedGmailStateSeed, GmailDomain>;
10
+ export type CreateGmailTwinAppOptions = {
11
+ db?: GmailTwinDatabase;
12
+ recorder?: RecorderStore;
13
+ runId?: string;
14
+ seed?: GmailStateSeed;
15
+ };
16
+ export declare function createGmailTwinApp(options?: CreateGmailTwinAppOptions): Hono;
17
+ export declare function gmailEmailFromSession(session?: SessionValue): string;
@@ -0,0 +1,99 @@
1
+ // SPDX-License-Identifier: Apache-2.0
2
+ import { defineTwin } from "@pome-sh/sdk";
3
+ import { createApp } from "@pome-sh/sdk/server";
4
+ import { openGmailTwinDatabase } from "./db.js";
5
+ import { GmailDomain } from "./domain.js";
6
+ import { gmailErrorEnvelope } from "./errors.js";
7
+ import { DEFAULT_GMAIL_EMAIL } from "./identity.js";
8
+ import { gmailTools } from "./mcp.js";
9
+ import { projectGmailRecording } from "./recording.js";
10
+ import { registerGmailRoutes } from "./rest-routes.js";
11
+ import { gmailSeedSchema } from "./seed.js";
12
+ import { gmailStateDelta } from "./state.js";
13
+ export { registerGmailRoutes };
14
+ function unauthorized() {
15
+ return {
16
+ status: 401,
17
+ body: {
18
+ error: {
19
+ code: 401,
20
+ message: "Request had invalid authentication credentials.",
21
+ errors: [
22
+ {
23
+ message: "Invalid Credentials",
24
+ domain: "global",
25
+ reason: "authError",
26
+ location: "Authorization",
27
+ locationType: "header",
28
+ },
29
+ ],
30
+ status: "UNAUTHENTICATED",
31
+ },
32
+ },
33
+ };
34
+ }
35
+ export const gmailTwinDefinition = defineTwin({
36
+ id: "gmail",
37
+ version: process.env.POME_TWIN_VERSION ?? "0.1.0",
38
+ implementation: "gmail_twin",
39
+ packageName: "@pome-sh/twin-gmail",
40
+ fidelity: { default: "semantic" },
41
+ seed: gmailSeedSchema,
42
+ domain: ({ db, seed }) => {
43
+ const domain = new GmailDomain(db ?? openGmailTwinDatabase(":memory:"));
44
+ if (seed)
45
+ domain.seed(seed);
46
+ return domain;
47
+ },
48
+ routes: registerGmailRoutes,
49
+ tools: gmailTools,
50
+ state: ({ domain }) => domain.exportState(),
51
+ admin: {
52
+ reset: ({ domain, reportDelta }) => {
53
+ const before = domain.exportState();
54
+ domain.resetToDefault();
55
+ reportDelta(gmailStateDelta(before, domain.exportState()));
56
+ return { ok: true };
57
+ },
58
+ seed: ({ domain, seed, reportDelta }) => {
59
+ const before = domain.exportState();
60
+ domain.seed(seed);
61
+ reportDelta(gmailStateDelta(before, domain.exportState()));
62
+ return { ok: true };
63
+ },
64
+ },
65
+ recordingProjection: projectGmailRecording,
66
+ errorEnvelope: gmailErrorEnvelope,
67
+ unsupported: ({ method, path }) => ({
68
+ status: 501,
69
+ body: {
70
+ error: {
71
+ code: 501,
72
+ message: `Unsupported Gmail twin route: ${method} ${path}`,
73
+ errors: [{ domain: "global", reason: "notImplemented", message: "Not implemented" }],
74
+ status: "UNIMPLEMENTED",
75
+ },
76
+ },
77
+ }),
78
+ auth: {
79
+ unauthorized,
80
+ sidMismatch: unauthorized,
81
+ sessionExtras: (claims) => ({
82
+ gmail_email: typeof claims.gmail_email === "string" && claims.gmail_email.length > 0
83
+ ? claims.gmail_email.toLowerCase()
84
+ : DEFAULT_GMAIL_EMAIL,
85
+ }),
86
+ },
87
+ });
88
+ export function createGmailTwinApp(options = {}) {
89
+ return createApp(gmailTwinDefinition, {
90
+ db: options.db ?? openGmailTwinDatabase(":memory:"),
91
+ recorder: options.recorder,
92
+ runId: options.runId ?? "spawn",
93
+ seed: options.seed,
94
+ });
95
+ }
96
+ export function gmailEmailFromSession(session) {
97
+ return typeof session?.gmail_email === "string" ? session.gmail_email : DEFAULT_GMAIL_EMAIL;
98
+ }
99
+ //# sourceMappingURL=twin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"twin.js","sourceRoot":"","sources":["../../src/twin.ts"],"names":[],"mappings":"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"}