@volter/twin-sentry 0.1.37 → 1.0.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 (188) hide show
  1. package/README.md +21 -134
  2. package/api/spec/SOURCE.md +15 -0
  3. package/api/spec/doc-examples.json +12 -0
  4. package/api/spec/openapi.json.gz +0 -0
  5. package/api/spec/patches.json +5350 -0
  6. package/api/spec/sources.json +122 -0
  7. package/api/src/fetch.ts +18 -0
  8. package/api/src/generated/surface.gen.json +1 -0
  9. package/api/src/generated/ui.gen.json +1 -0
  10. package/api/src/index.ts +3 -0
  11. package/api/src/manifest.ts +136 -0
  12. package/api/src/semantics/api.ts +246 -0
  13. package/api/src/semantics/around.ts +36 -0
  14. package/api/src/semantics/doors.ts +50 -0
  15. package/api/src/semantics/index.ts +19 -0
  16. package/api/src/semantics/shared.ts +35 -0
  17. package/api/src/semantics/states.ts +17 -0
  18. package/dist/api/spec/SOURCE.md +15 -0
  19. package/dist/api/spec/doc-examples.json +12 -0
  20. package/dist/api/spec/openapi.json.gz +0 -0
  21. package/dist/api/spec/patches.json +5350 -0
  22. package/dist/api/spec/sources.json +122 -0
  23. package/dist/api/src/fetch.d.ts +2 -0
  24. package/dist/api/src/fetch.js +17 -0
  25. package/dist/api/src/fetch.ts +18 -0
  26. package/dist/api/src/generated/surface.gen.json +1 -0
  27. package/dist/api/src/generated/ui.gen.json +1 -0
  28. package/dist/api/src/index.d.ts +2 -0
  29. package/dist/api/src/index.js +3 -0
  30. package/dist/api/src/index.ts +3 -0
  31. package/dist/api/src/manifest.d.ts +2 -0
  32. package/dist/api/src/manifest.js +135 -0
  33. package/dist/api/src/manifest.ts +136 -0
  34. package/dist/api/src/semantics/api.d.ts +13 -0
  35. package/dist/api/src/semantics/api.js +267 -0
  36. package/dist/api/src/semantics/api.ts +246 -0
  37. package/dist/api/src/semantics/around.d.ts +2 -0
  38. package/dist/api/src/semantics/around.js +41 -0
  39. package/dist/api/src/semantics/around.ts +36 -0
  40. package/dist/api/src/semantics/doors.d.ts +8 -0
  41. package/dist/api/src/semantics/doors.js +39 -0
  42. package/dist/api/src/semantics/doors.ts +50 -0
  43. package/dist/api/src/semantics/index.d.ts +2 -0
  44. package/dist/api/src/semantics/index.js +15 -0
  45. package/dist/api/src/semantics/index.ts +19 -0
  46. package/dist/api/src/semantics/shared.d.ts +15 -0
  47. package/dist/api/src/semantics/shared.js +27 -0
  48. package/dist/api/src/semantics/shared.ts +35 -0
  49. package/dist/api/src/semantics/states.d.ts +24 -0
  50. package/dist/api/src/semantics/states.js +17 -0
  51. package/dist/api/src/semantics/states.ts +17 -0
  52. package/dist/generated/pack-facts.json +87 -0
  53. package/dist/ingest/spec/SOURCE.md +30 -0
  54. package/dist/ingest/spec/authentication.mdx.gz +0 -0
  55. package/dist/ingest/spec/compression.mdx.gz +0 -0
  56. package/dist/ingest/spec/doc-examples.json +216 -0
  57. package/dist/ingest/spec/envelope-items.mdx.gz +0 -0
  58. package/dist/ingest/spec/envelopes.mdx.gz +0 -0
  59. package/dist/ingest/spec/openapi.json +178 -0
  60. package/dist/ingest/spec/rate-limiting.mdx.gz +0 -0
  61. package/dist/ingest/spec/sources.json +25 -0
  62. package/dist/ingest/spec/transport.mdx.gz +0 -0
  63. package/dist/ingest/spec/write-spec.ts +192 -0
  64. package/dist/ingest/src/fetch.d.ts +2 -0
  65. package/dist/ingest/src/fetch.js +15 -0
  66. package/dist/ingest/src/fetch.ts +16 -0
  67. package/dist/ingest/src/generated/surface.gen.json +1 -0
  68. package/dist/ingest/src/generated/ui.gen.json +1 -0
  69. package/dist/ingest/src/index.d.ts +2 -0
  70. package/dist/ingest/src/index.js +3 -0
  71. package/dist/ingest/src/index.ts +3 -0
  72. package/dist/ingest/src/manifest.d.ts +2 -0
  73. package/dist/ingest/src/manifest.js +34 -0
  74. package/dist/ingest/src/manifest.ts +39 -0
  75. package/dist/ingest/src/semantics/api.d.ts +2 -0
  76. package/dist/ingest/src/semantics/api.js +240 -0
  77. package/dist/ingest/src/semantics/api.ts +188 -0
  78. package/dist/ingest/src/semantics/around.d.ts +2 -0
  79. package/dist/ingest/src/semantics/around.js +6 -0
  80. package/dist/ingest/src/semantics/around.ts +7 -0
  81. package/dist/ingest/src/semantics/index.d.ts +2 -0
  82. package/dist/ingest/src/semantics/index.js +4 -0
  83. package/dist/ingest/src/semantics/index.ts +8 -0
  84. package/dist/ingest/src/semantics/shared.d.ts +4 -0
  85. package/dist/ingest/src/semantics/shared.js +2 -0
  86. package/dist/ingest/src/semantics/shared.ts +7 -0
  87. package/dist/ingest/src/semantics/states.d.ts +1 -0
  88. package/dist/ingest/src/semantics/states.js +2 -0
  89. package/dist/ingest/src/semantics/states.ts +2 -0
  90. package/dist/journeys/coverage.json +205 -0
  91. package/dist/journeys/customer-life.json +923 -0
  92. package/dist/journeys/customer-life.outline.md +51 -0
  93. package/dist/journeys/decisions.json +170 -0
  94. package/dist/journeys/demand.json +136 -0
  95. package/dist/journeys/score.json +231 -0
  96. package/dist/journeys/unreachable.json +29 -0
  97. package/dist/journeys/vendor-examples.json +474 -0
  98. package/dist/spec/sources.json +76 -0
  99. package/dist/src/cli.js +12 -27
  100. package/dist/src/fetch.d.ts +2 -0
  101. package/dist/src/fetch.js +9 -0
  102. package/dist/src/index.d.ts +5 -15
  103. package/dist/src/index.js +12 -75
  104. package/dist/src/manifest.d.ts +2 -0
  105. package/dist/src/manifest.js +34 -0
  106. package/dist/src/semantics/shared.d.ts +87 -0
  107. package/dist/src/semantics/shared.js +411 -0
  108. package/dist/src/server.d.ts +7 -0
  109. package/dist/src/server.js +7 -0
  110. package/generated/pack-facts.json +87 -0
  111. package/ingest/spec/SOURCE.md +30 -0
  112. package/ingest/spec/authentication.mdx.gz +0 -0
  113. package/ingest/spec/compression.mdx.gz +0 -0
  114. package/ingest/spec/doc-examples.json +216 -0
  115. package/ingest/spec/envelope-items.mdx.gz +0 -0
  116. package/ingest/spec/envelopes.mdx.gz +0 -0
  117. package/ingest/spec/openapi.json +178 -0
  118. package/ingest/spec/rate-limiting.mdx.gz +0 -0
  119. package/ingest/spec/sources.json +25 -0
  120. package/ingest/spec/transport.mdx.gz +0 -0
  121. package/ingest/spec/write-spec.ts +192 -0
  122. package/ingest/src/fetch.ts +16 -0
  123. package/ingest/src/generated/surface.gen.json +1 -0
  124. package/ingest/src/generated/ui.gen.json +1 -0
  125. package/ingest/src/index.ts +3 -0
  126. package/ingest/src/manifest.ts +39 -0
  127. package/ingest/src/semantics/api.ts +188 -0
  128. package/ingest/src/semantics/around.ts +7 -0
  129. package/ingest/src/semantics/index.ts +8 -0
  130. package/ingest/src/semantics/shared.ts +7 -0
  131. package/ingest/src/semantics/states.ts +2 -0
  132. package/journeys/coverage.json +205 -0
  133. package/journeys/customer-life.json +923 -0
  134. package/journeys/customer-life.outline.md +51 -0
  135. package/journeys/decisions.json +170 -0
  136. package/journeys/demand.json +136 -0
  137. package/journeys/score.json +231 -0
  138. package/journeys/unreachable.json +29 -0
  139. package/journeys/vendor-examples.json +474 -0
  140. package/package.json +16 -42
  141. package/spec/sources.json +76 -0
  142. package/src/cli.ts +12 -24
  143. package/src/fetch.ts +10 -0
  144. package/src/index.ts +12 -143
  145. package/src/manifest.ts +40 -0
  146. package/src/semantics/shared.ts +443 -0
  147. package/src/server.ts +8 -0
  148. package/client/sentry-mirror.css +0 -99
  149. package/client/sentry-mirror.tsx +0 -352
  150. package/dist/client/sentry-mirror.bundle.js +0 -388
  151. package/dist/client/sentry-mirror.css +0 -99
  152. package/dist/client/sentry-mirror.d.ts +0 -17
  153. package/dist/client/sentry-mirror.js +0 -156
  154. package/dist/client/sentry-mirror.tsx +0 -352
  155. package/dist/src/sentry-budget.d.ts +0 -50
  156. package/dist/src/sentry-budget.js +0 -145
  157. package/dist/src/sentry-capabilities.d.ts +0 -3
  158. package/dist/src/sentry-capabilities.js +0 -1180
  159. package/dist/src/sentry-conformance.d.ts +0 -22
  160. package/dist/src/sentry-conformance.js +0 -97
  161. package/dist/src/sentry-connector.d.ts +0 -77
  162. package/dist/src/sentry-connector.js +0 -226
  163. package/dist/src/sentry-events.d.ts +0 -54
  164. package/dist/src/sentry-events.js +0 -132
  165. package/dist/src/sentry-ingest.d.ts +0 -137
  166. package/dist/src/sentry-ingest.js +0 -387
  167. package/dist/src/sentry-mirror-ui.d.ts +0 -38
  168. package/dist/src/sentry-mirror-ui.js +0 -162
  169. package/dist/src/sentry-perform-harness.d.ts +0 -9
  170. package/dist/src/sentry-perform-harness.js +0 -20
  171. package/dist/src/sentry-server.d.ts +0 -14
  172. package/dist/src/sentry-server.js +0 -27
  173. package/dist/src/sentry-twin.d.ts +0 -17
  174. package/dist/src/sentry-twin.js +0 -1739
  175. package/dist/test-fixtures/sentry-openapi-operations.SOURCE.md +0 -24
  176. package/dist/test-fixtures/sentry-openapi-operations.json +0 -1837
  177. package/src/sentry-budget.ts +0 -171
  178. package/src/sentry-capabilities.ts +0 -1222
  179. package/src/sentry-conformance.ts +0 -110
  180. package/src/sentry-connector.ts +0 -260
  181. package/src/sentry-events.ts +0 -172
  182. package/src/sentry-ingest.ts +0 -471
  183. package/src/sentry-mirror-ui.ts +0 -162
  184. package/src/sentry-perform-harness.ts +0 -19
  185. package/src/sentry-server.ts +0 -35
  186. package/src/sentry-twin.ts +0 -1615
  187. package/test-fixtures/sentry-openapi-operations.SOURCE.md +0 -24
  188. package/test-fixtures/sentry-openapi-operations.json +0 -1837
@@ -1,35 +0,0 @@
1
- // Sentry twin HTTP server — serve the full Sentry twin handler over HTTP so the real
2
- // `@sentry/node` SDK (pointed at a twin DSN whose host is this server) POSTs captured
3
- // events to /api/:projectId/envelope/ and they become grouped issues, AND the Web API
4
- // (/api/0/...) answers reads/writes. Writable by default; pass readOnly to reject writes.
5
- // No real Sentry is ever contacted (D4) — fully local + offline.
6
- //
7
- // FETCH-FIRST (runtime contract R12b): the serve path is the plain fetch below, built from the
8
- // kernel's ONE adaptation (`createTwinFetchFromHandler`); this file contributes only VALUES. The
9
- // vendor's 204 deletes return `{ status: 204, body: null }`, which the adapter's null-body rule
10
- // serves as a genuinely empty response. The server is one line of Bun.serve around that closure.
11
- import { serveHttp } from '@volter/world-core';
12
- import { handleSentryTwinRequest } from './sentry-twin.ts';
13
- import { createTwinFetchFromHandler, statefulTwinManifest } from '@volter/world-core';
14
-
15
- /** Options every Sentry-twin HTTP surface needs, independent of who owns the socket. */
16
- export interface SentryTwinFetchOptions {
17
- root?: string;
18
- readOnly?: boolean;
19
- }
20
-
21
- export function createSentryTwinFetch(options: SentryTwinFetchOptions = {}): (request: Request) => Promise<Response> {
22
- return createTwinFetchFromHandler(handleSentryTwinRequest, {
23
- ...options,
24
- manifest: statefulTwinManifest({ vendor: 'sentry', twinOf: 'the Sentry error-monitoring API', stores: 'ingested error/transaction envelopes, readable back per project' }),
25
- });
26
- }
27
-
28
- export async function createSentryTwinServer(options: { root?: string; port?: number; readOnly?: boolean } = {}): Promise<{ port: number; stop: () => void }> {
29
- const server = await serveHttp({
30
- port: options.port ?? 0,
31
- idleTimeout: 60,
32
- fetch: createSentryTwinFetch(options),
33
- });
34
- return { port: server.port ?? options.port ?? 0, stop: () => server.stop(true) };
35
- }