@plumix/core 0.4.0 → 0.6.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 (257) hide show
  1. package/dist/auth/authenticator.d.ts +8 -1
  2. package/dist/auth/authenticator.d.ts.map +1 -1
  3. package/dist/auth/authenticator.js +15 -0
  4. package/dist/auth/authenticator.js.map +1 -1
  5. package/dist/auth/bearer.js +2 -2
  6. package/dist/auth/bearer.js.map +1 -1
  7. package/dist/cache/decision.d.ts +7 -3
  8. package/dist/cache/decision.d.ts.map +1 -1
  9. package/dist/cache/decision.js +8 -6
  10. package/dist/cache/decision.js.map +1 -1
  11. package/dist/cache/read-through.d.ts +3 -0
  12. package/dist/cache/read-through.d.ts.map +1 -1
  13. package/dist/cache/read-through.js +14 -7
  14. package/dist/cache/read-through.js.map +1 -1
  15. package/dist/config.d.ts +9 -0
  16. package/dist/config.d.ts.map +1 -1
  17. package/dist/config.js +1 -0
  18. package/dist/config.js.map +1 -1
  19. package/dist/context/app.d.ts +50 -6
  20. package/dist/context/app.d.ts.map +1 -1
  21. package/dist/context/app.js +51 -12
  22. package/dist/context/app.js.map +1 -1
  23. package/dist/context/collector.d.ts +9 -0
  24. package/dist/context/collector.d.ts.map +1 -0
  25. package/dist/context/collector.js +130 -0
  26. package/dist/context/collector.js.map +1 -0
  27. package/dist/context/index.d.ts +1 -0
  28. package/dist/context/index.d.ts.map +1 -1
  29. package/dist/context/index.js +1 -0
  30. package/dist/context/index.js.map +1 -1
  31. package/dist/context/memo.d.ts +22 -0
  32. package/dist/context/memo.d.ts.map +1 -0
  33. package/dist/context/memo.js +27 -0
  34. package/dist/context/memo.js.map +1 -0
  35. package/dist/context/stores.d.ts +2 -9
  36. package/dist/context/stores.d.ts.map +1 -1
  37. package/dist/context/stores.js.map +1 -1
  38. package/dist/context/telemetry.d.ts +148 -0
  39. package/dist/context/telemetry.d.ts.map +1 -0
  40. package/dist/context/telemetry.js +20 -0
  41. package/dist/context/telemetry.js.map +1 -0
  42. package/dist/context/traced-fetch.d.ts +14 -0
  43. package/dist/context/traced-fetch.d.ts.map +1 -0
  44. package/dist/context/traced-fetch.js +33 -0
  45. package/dist/context/traced-fetch.js.map +1 -0
  46. package/dist/context/traced-slots.d.ts +17 -0
  47. package/dist/context/traced-slots.d.ts.map +1 -0
  48. package/dist/context/traced-slots.js +57 -0
  49. package/dist/context/traced-slots.js.map +1 -0
  50. package/dist/db/libsql.d.ts.map +1 -1
  51. package/dist/db/libsql.js +6 -12
  52. package/dist/db/libsql.js.map +1 -1
  53. package/dist/db/query-kind.d.ts +8 -0
  54. package/dist/db/query-kind.d.ts.map +1 -0
  55. package/dist/db/query-kind.js +11 -0
  56. package/dist/db/query-kind.js.map +1 -0
  57. package/dist/db/trace-libsql.d.ts +15 -0
  58. package/dist/db/trace-libsql.d.ts.map +1 -0
  59. package/dist/db/trace-libsql.js +37 -0
  60. package/dist/db/trace-libsql.js.map +1 -0
  61. package/dist/db/trace.d.ts +21 -0
  62. package/dist/db/trace.d.ts.map +1 -0
  63. package/dist/db/trace.js +64 -0
  64. package/dist/db/trace.js.map +1 -0
  65. package/dist/debug-bar/consumer.d.ts +12 -0
  66. package/dist/debug-bar/consumer.d.ts.map +1 -0
  67. package/dist/debug-bar/consumer.js +13 -0
  68. package/dist/debug-bar/consumer.js.map +1 -0
  69. package/dist/debug-bar/format-param.d.ts +6 -4
  70. package/dist/debug-bar/format-param.d.ts.map +1 -1
  71. package/dist/debug-bar/format-param.js +6 -9
  72. package/dist/debug-bar/format-param.js.map +1 -1
  73. package/dist/debug-bar/highlight-sql.d.ts +0 -3
  74. package/dist/debug-bar/highlight-sql.d.ts.map +1 -1
  75. package/dist/debug-bar/highlight-sql.js +0 -6
  76. package/dist/debug-bar/highlight-sql.js.map +1 -1
  77. package/dist/debug-bar/panels/database.d.ts +6 -4
  78. package/dist/debug-bar/panels/database.d.ts.map +1 -1
  79. package/dist/debug-bar/panels/database.js +44 -8
  80. package/dist/debug-bar/panels/database.js.map +1 -1
  81. package/dist/debug-bar/panels/template.d.ts +1 -1
  82. package/dist/debug-bar/panels/template.d.ts.map +1 -1
  83. package/dist/debug-bar/panels/template.js +16 -2
  84. package/dist/debug-bar/panels/template.js.map +1 -1
  85. package/dist/debug-bar/panels/timeline.js +1 -1
  86. package/dist/debug-bar/panels/timeline.js.map +1 -1
  87. package/dist/debug-bar/styles.d.ts.map +1 -1
  88. package/dist/debug-bar/styles.js +5 -0
  89. package/dist/debug-bar/styles.js.map +1 -1
  90. package/dist/debug-bar/timeline-model.d.ts +3 -3
  91. package/dist/debug-bar/timeline-model.d.ts.map +1 -1
  92. package/dist/debug-bar/timeline-model.js +1 -1
  93. package/dist/debug-bar/timeline-model.js.map +1 -1
  94. package/dist/debug-bar/types.d.ts +1 -1
  95. package/dist/entries/read-service.d.ts +6 -0
  96. package/dist/entries/read-service.d.ts.map +1 -1
  97. package/dist/entries/read-service.js +14 -0
  98. package/dist/entries/read-service.js.map +1 -1
  99. package/dist/hooks/registry.d.ts.map +1 -1
  100. package/dist/hooks/registry.js +21 -3
  101. package/dist/hooks/registry.js.map +1 -1
  102. package/dist/index.d.ts +7 -2
  103. package/dist/index.d.ts.map +1 -1
  104. package/dist/index.js +6 -4
  105. package/dist/index.js.map +1 -1
  106. package/dist/mcp/server.d.ts.map +1 -1
  107. package/dist/mcp/server.js +9 -3
  108. package/dist/mcp/server.js.map +1 -1
  109. package/dist/plugin/fields/entry.d.ts +8 -0
  110. package/dist/plugin/fields/entry.d.ts.map +1 -1
  111. package/dist/plugin/fields/entry.js.map +1 -1
  112. package/dist/plugin/lookup.d.ts +4 -9
  113. package/dist/plugin/lookup.d.ts.map +1 -1
  114. package/dist/plugin/manifest.d.ts +28 -32
  115. package/dist/plugin/manifest.d.ts.map +1 -1
  116. package/dist/plugin/manifest.js +7 -2
  117. package/dist/plugin/manifest.js.map +1 -1
  118. package/dist/plugin/provides-context.d.ts.map +1 -1
  119. package/dist/plugin/provides-context.js +5 -0
  120. package/dist/plugin/provides-context.js.map +1 -1
  121. package/dist/plugin/setup-context.d.ts +5 -0
  122. package/dist/plugin/setup-context.d.ts.map +1 -1
  123. package/dist/plugin/setup-context.js.map +1 -1
  124. package/dist/rest/build-handler.d.ts.map +1 -1
  125. package/dist/rest/build-handler.js +14 -1
  126. package/dist/rest/build-handler.js.map +1 -1
  127. package/dist/revisions/snapshot-envelope.d.ts +4 -2
  128. package/dist/revisions/snapshot-envelope.d.ts.map +1 -1
  129. package/dist/revisions/snapshot-envelope.js +6 -3
  130. package/dist/revisions/snapshot-envelope.js.map +1 -1
  131. package/dist/route/render/asset-manifest.d.ts +1 -1
  132. package/dist/route/render/asset-manifest.d.ts.map +1 -1
  133. package/dist/route/render/asset-manifest.js +7 -1
  134. package/dist/route/render/asset-manifest.js.map +1 -1
  135. package/dist/route/render/build-resolved-entries.d.ts.map +1 -1
  136. package/dist/route/render/build-resolved-entries.js +18 -10
  137. package/dist/route/render/build-resolved-entries.js.map +1 -1
  138. package/dist/route/render/render-template.d.ts +1 -1
  139. package/dist/route/render/render-template.d.ts.map +1 -1
  140. package/dist/route/render/render-template.js +61 -35
  141. package/dist/route/render/render-template.js.map +1 -1
  142. package/dist/route/render/template-builders.d.ts +12 -0
  143. package/dist/route/render/template-builders.d.ts.map +1 -1
  144. package/dist/route/render/template-builders.js +20 -0
  145. package/dist/route/render/template-builders.js.map +1 -1
  146. package/dist/route/resolve.d.ts.map +1 -1
  147. package/dist/route/resolve.js +4 -1
  148. package/dist/route/resolve.js.map +1 -1
  149. package/dist/rpc/authenticated.d.ts.map +1 -1
  150. package/dist/rpc/authenticated.js +2 -1
  151. package/dist/rpc/authenticated.js.map +1 -1
  152. package/dist/rpc/build-handler.d.ts.map +1 -1
  153. package/dist/rpc/build-handler.js +12 -0
  154. package/dist/rpc/build-handler.js.map +1 -1
  155. package/dist/rpc/meta/core.d.ts +3 -4
  156. package/dist/rpc/meta/core.d.ts.map +1 -1
  157. package/dist/rpc/meta/core.js +87 -152
  158. package/dist/rpc/meta/core.js.map +1 -1
  159. package/dist/rpc/procedures/auth/session.d.ts.map +1 -1
  160. package/dist/rpc/procedures/auth/session.js +2 -1
  161. package/dist/rpc/procedures/auth/session.js.map +1 -1
  162. package/dist/rpc/procedures/entry/helpers.d.ts +21 -0
  163. package/dist/rpc/procedures/entry/helpers.d.ts.map +1 -1
  164. package/dist/rpc/procedures/entry/helpers.js +44 -0
  165. package/dist/rpc/procedures/entry/helpers.js.map +1 -1
  166. package/dist/rpc/procedures/entry/index.d.ts +1 -0
  167. package/dist/rpc/procedures/entry/index.d.ts.map +1 -1
  168. package/dist/rpc/procedures/entry/lookup.js +14 -11
  169. package/dist/rpc/procedures/entry/lookup.js.map +1 -1
  170. package/dist/rpc/procedures/entry/schemas.d.ts +2 -0
  171. package/dist/rpc/procedures/entry/schemas.d.ts.map +1 -1
  172. package/dist/rpc/procedures/entry/schemas.js +7 -0
  173. package/dist/rpc/procedures/entry/schemas.js.map +1 -1
  174. package/dist/rpc/procedures/entry/update.d.ts +1 -0
  175. package/dist/rpc/procedures/entry/update.d.ts.map +1 -1
  176. package/dist/rpc/procedures/entry/update.js +10 -5
  177. package/dist/rpc/procedures/entry/update.js.map +1 -1
  178. package/dist/rpc/procedures/lookup.errors.d.ts +2 -1
  179. package/dist/rpc/procedures/lookup.errors.d.ts.map +1 -1
  180. package/dist/rpc/procedures/lookup.errors.js +3 -0
  181. package/dist/rpc/procedures/lookup.errors.js.map +1 -1
  182. package/dist/rpc/procedures/term/lookup.js +3 -8
  183. package/dist/rpc/procedures/term/lookup.js.map +1 -1
  184. package/dist/rpc/procedures/user/index.d.ts +1 -0
  185. package/dist/rpc/procedures/user/index.d.ts.map +1 -1
  186. package/dist/rpc/procedures/user/schemas.d.ts +1 -0
  187. package/dist/rpc/procedures/user/schemas.d.ts.map +1 -1
  188. package/dist/rpc/procedures/user/schemas.js +5 -0
  189. package/dist/rpc/procedures/user/schemas.js.map +1 -1
  190. package/dist/rpc/procedures/user/update.d.ts +1 -0
  191. package/dist/rpc/procedures/user/update.d.ts.map +1 -1
  192. package/dist/rpc/procedures/user/update.js +10 -1
  193. package/dist/rpc/procedures/user/update.js.map +1 -1
  194. package/dist/rpc/router.d.ts +2 -0
  195. package/dist/rpc/router.d.ts.map +1 -1
  196. package/dist/rpc/schemas.js +6 -6
  197. package/dist/rpc/schemas.js.map +1 -1
  198. package/dist/rpc/validation.d.ts +10 -0
  199. package/dist/rpc/validation.d.ts.map +1 -1
  200. package/dist/rpc/validation.js +10 -0
  201. package/dist/rpc/validation.js.map +1 -1
  202. package/dist/runtime/dispatcher.d.ts.map +1 -1
  203. package/dist/runtime/dispatcher.js +105 -37
  204. package/dist/runtime/dispatcher.js.map +1 -1
  205. package/dist/runtime/load-user-for-public-request.d.ts.map +1 -1
  206. package/dist/runtime/load-user-for-public-request.js +2 -2
  207. package/dist/runtime/load-user-for-public-request.js.map +1 -1
  208. package/dist/runtime/scheduled.d.ts +3 -1
  209. package/dist/runtime/scheduled.d.ts.map +1 -1
  210. package/dist/runtime/scheduled.js +16 -2
  211. package/dist/runtime/scheduled.js.map +1 -1
  212. package/dist/runtime/telemetry-delivery.d.ts +14 -0
  213. package/dist/runtime/telemetry-delivery.d.ts.map +1 -0
  214. package/dist/runtime/telemetry-delivery.js +39 -0
  215. package/dist/runtime/telemetry-delivery.js.map +1 -0
  216. package/dist/telemetry-otel.d.ts +29 -0
  217. package/dist/telemetry-otel.d.ts.map +1 -0
  218. package/dist/telemetry-otel.js +218 -0
  219. package/dist/telemetry-otel.js.map +1 -0
  220. package/dist/template-deps-core.d.ts.map +1 -1
  221. package/dist/template-deps-core.js +31 -14
  222. package/dist/template-deps-core.js.map +1 -1
  223. package/dist/template-deps.d.ts.map +1 -1
  224. package/dist/template-deps.js +12 -8
  225. package/dist/template-deps.js.map +1 -1
  226. package/dist/test/dispatcher.d.ts +13 -0
  227. package/dist/test/dispatcher.d.ts.map +1 -1
  228. package/dist/test/dispatcher.js +9 -3
  229. package/dist/test/dispatcher.js.map +1 -1
  230. package/dist/test/harness.d.ts.map +1 -1
  231. package/dist/test/harness.js +4 -12
  232. package/dist/test/harness.js.map +1 -1
  233. package/dist/test/index.d.ts +3 -0
  234. package/dist/test/index.d.ts.map +1 -1
  235. package/dist/test/index.js +4 -0
  236. package/dist/test/index.js.map +1 -1
  237. package/dist/test/traced-context.d.ts +17 -0
  238. package/dist/test/traced-context.d.ts.map +1 -0
  239. package/dist/test/traced-context.js +28 -0
  240. package/dist/test/traced-context.js.map +1 -0
  241. package/package.json +6 -2
  242. package/dist/context/debug.d.ts +0 -25
  243. package/dist/context/debug.d.ts.map +0 -1
  244. package/dist/context/debug.js +0 -13
  245. package/dist/context/debug.js.map +0 -1
  246. package/dist/debug-bar/collector.d.ts +0 -9
  247. package/dist/debug-bar/collector.d.ts.map +0 -1
  248. package/dist/debug-bar/collector.js +0 -80
  249. package/dist/debug-bar/collector.js.map +0 -1
  250. package/dist/debug-bar/db-query.d.ts +0 -21
  251. package/dist/debug-bar/db-query.d.ts.map +0 -1
  252. package/dist/debug-bar/db-query.js +0 -23
  253. package/dist/debug-bar/db-query.js.map +0 -1
  254. package/dist/debug-bar/trace-libsql.d.ts +0 -18
  255. package/dist/debug-bar/trace-libsql.d.ts.map +0 -1
  256. package/dist/debug-bar/trace-libsql.js +0 -42
  257. package/dist/debug-bar/trace-libsql.js.map +0 -1
@@ -33,6 +33,16 @@ export declare const emailField: v.SchemaWithPipe<readonly [v.StringSchema<undef
33
33
  /** Display name. Empty is allowed at the schema level; required-ness is
34
34
  * a per-form decision handled via `v.optional` / presence checks. */
35
35
  export declare const nameField: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MaxLengthAction<string, 200, () => string>]>;
36
+ /**
37
+ * Canonical slug bounds — lowercase ASCII alphanumerics in single-dash
38
+ * groups, no leading/trailing/double dashes, non-empty, capped length.
39
+ * Exported as raw building blocks (not a full schema) so the server
40
+ * `slugSchema` (`procedures/schemas.ts`) and the admin client forms
41
+ * (`lib/slug.ts`) validate identical rules from one source — a drift here
42
+ * would let a client-valid slug fail server validation on shape alone.
43
+ */
44
+ export declare const SLUG_MAX_LENGTH = 200;
45
+ export declare const slugPattern: RegExp;
36
46
  /**
37
47
  * Canonical row-id shape for RPC inputs. MAX_SAFE_INTEGER cap rejects
38
48
  * integer-valued numbers like `1e21` that pass `v.integer()` but lose
@@ -1 +1 @@
1
- {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../src/rpc/validation.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAC;AAI7B,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC1D,YAAY,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAclD;;;;GAIG;AACH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;CAqBU,CAAC;AAE9C,wCAAwC;AACxC,eAAO,MAAM,UAAU,qMAMtB,CAAC;AAEF;qEACqE;AACrE,eAAO,MAAM,SAAS,oHAIrB,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,OAAO,iLAKnB,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,WAAW,oRAQvB,CAAC;AAeF;;;;;GAKG;AACH,eAAO,MAAM,eAAe;;iDAM3B,CAAC"}
1
+ {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../src/rpc/validation.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAC;AAI7B,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC1D,YAAY,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAclD;;;;GAIG;AACH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;CAqBU,CAAC;AAE9C,wCAAwC;AACxC,eAAO,MAAM,UAAU,qMAMtB,CAAC;AAEF;qEACqE;AACrE,eAAO,MAAM,SAAS,oHAIrB,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,eAAe,MAAM,CAAC;AACnC,eAAO,MAAM,WAAW,QAA+B,CAAC;AAExD;;;;GAIG;AACH,eAAO,MAAM,OAAO,iLAKnB,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,WAAW,oRAQvB,CAAC;AAeF;;;;;GAKG;AACH,eAAO,MAAM,eAAe;;iDAM3B,CAAC"}
@@ -44,6 +44,16 @@ export const emailField = v.pipe(v.string(), v.trim(), v.minLength(1, vMessage(V
44
44
  /** Display name. Empty is allowed at the schema level; required-ness is
45
45
  * a per-form decision handled via `v.optional` / presence checks. */
46
46
  export const nameField = v.pipe(v.string(), v.trim(), v.maxLength(200, vMessage(VALIDATION_DESCRIPTORS.nameMaxLength)));
47
+ /**
48
+ * Canonical slug bounds — lowercase ASCII alphanumerics in single-dash
49
+ * groups, no leading/trailing/double dashes, non-empty, capped length.
50
+ * Exported as raw building blocks (not a full schema) so the server
51
+ * `slugSchema` (`procedures/schemas.ts`) and the admin client forms
52
+ * (`lib/slug.ts`) validate identical rules from one source — a drift here
53
+ * would let a client-valid slug fail server validation on shape alone.
54
+ */
55
+ export const SLUG_MAX_LENGTH = 200;
56
+ export const slugPattern = /^[a-z0-9]+(?:-[a-z0-9]+)*$/;
47
57
  /**
48
58
  * Canonical row-id shape for RPC inputs. MAX_SAFE_INTEGER cap rejects
49
59
  * integer-valued numbers like `1e21` that pass `v.integer()` but lose
@@ -1 +1 @@
1
- {"version":3,"file":"validation.js","sourceRoot":"","sources":["../../src/rpc/validation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validation.js","sourceRoot":"","sources":["../../src/rpc/validation.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"dispatcher.d.ts","sourceRoot":"","sources":["../../src/runtime/dispatcher.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEpD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAGhE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAmH1C,MAAM,MAAM,gBAAgB,GAAG,CAAC,GAAG,EAAE,UAAU,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;AAEtE,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,SAAS,GAAG,gBAAgB,CAmBvE;AA8eD,UAAU,mBAAmB;IAC3B,QAAQ,CAAC,KAAK,EAAE,kBAAkB,CAAC;CACpC;AAED,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,SAAS,kBAAkB,EAAE,EACrC,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,GACb,mBAAmB,GAAG,IAAI,CAoB5B"}
1
+ {"version":3,"file":"dispatcher.d.ts","sourceRoot":"","sources":["../../src/runtime/dispatcher.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEpD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAGhE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAuI1C,MAAM,MAAM,gBAAgB,GAAG,CAAC,GAAG,EAAE,UAAU,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;AAEtE,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,SAAS,GAAG,gBAAgB,CA0BvE;AA0hBD,UAAU,mBAAmB;IAC3B,QAAQ,CAAC,KAAK,EAAE,kBAAkB,CAAC;CACpC;AAED,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,SAAS,kBAAkB,EAAE,EACrC,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,GACb,mBAAmB,GAAG,IAAI,CAoB5B"}
@@ -1,3 +1,4 @@
1
+ import { authenticateTraced } from "../auth/authenticator.js";
1
2
  import { readSessionCookie } from "../auth/cookies.js";
2
3
  import { hasCsrfHeader, hasMatchingOrigin } from "../auth/csrf.js";
3
4
  import { parseOAuthPath } from "../auth/oauth/match.js";
@@ -19,6 +20,7 @@ import { handleSitemapIndex, handleSubSitemap } from "../seo/sitemap.js";
19
20
  import { injectAdminBaseHref, rewriteAdminShellLangDir, } from "./admin-shell.js";
20
21
  import { forbidden, jsonResponse, methodNotAllowed, notFound, permanentRedirect, } from "./http.js";
21
22
  import { loadUserForPublicRequest } from "./load-user-for-public-request.js";
23
+ import { deliverTelemetrySnapshot } from "./telemetry-delivery.js";
22
24
  const RPC_PREFIX = "/_plumix/rpc";
23
25
  const ADMIN_PREFIX = "/_plumix/admin";
24
26
  const AUTH_PREFIX = "/_plumix/auth/";
@@ -60,6 +62,21 @@ function loadAuthFlowRoutes() {
60
62
  // Filenames look like `index.html`, `chunk-abc.js`, `fonts/g.woff2` — paths
61
63
  // with a dot-suffix after the last slash. Deep-link SPA routes never match.
62
64
  const ASSET_LIKE = /\.[^/]+$/;
65
+ // Extensions that only ever name static assets (favicon.ico, hashed chunks,
66
+ // images, fonts). Slugs are slug-shaped by schema — never contain dots — so no
67
+ // entry or term URL can collide (#1491). Deliberately excludes
68
+ // content-plausible extensions (`.txt`, `.xml`, `.json`, `.html`) so routes
69
+ // like an `ads.txt` or podcast-feed plugin keep working.
70
+ const STATIC_ASSET_EXT = /\.(?:ico|css|js|mjs|map|png|jpe?g|gif|svg|webp|avif|woff2?|ttf|otf|eot|wasm)$/i;
71
+ // Cacheable because the extension check makes the path permanently
72
+ // unroutable — a short TTL only bounds "a deploy added this asset". The
73
+ // edge cache stores GET+200 only, so this reaches browsers/CDNs, not the
74
+ // shared read-through layer.
75
+ function cacheableAssetNotFound(hint) {
76
+ const response = notFound(hint);
77
+ response.headers.set("cache-control", "public, max-age=300");
78
+ return response;
79
+ }
63
80
  const POST_AUTH_ROUTES = new Map([
64
81
  [
65
82
  "/_plumix/auth/passkey/register/options",
@@ -88,14 +105,19 @@ const MAGIC_LINK_VERIFY_PATH = "/_plumix/auth/magic-link/verify";
88
105
  const EMAIL_CHANGE_VERIFY_PATH = "/_plumix/auth/verify-email";
89
106
  export function createPlumixDispatcher(app) {
90
107
  return async (ctx) => {
108
+ const startedAt = Date.now();
109
+ let response;
91
110
  try {
92
- // Dev-only: the top-level Timeline span. `ctx.debug` is the no-op
93
- // collector in prod, so span() is a pass-through with no timing.
94
- const response = await ctx.debug.span("dispatch", () => route(app, ctx));
111
+ // The top-level span. `ctx.telemetry` is the no-op collector unless a
112
+ // consumer sampled this request, so span() is then a pass-through.
113
+ response = await ctx.telemetry.span("dispatch", async (s) => {
114
+ const routed = await route(app, ctx);
115
+ s.set("http.response.status_code", routed.status);
116
+ return routed;
117
+ });
95
118
  // Request-end seam: fire one batched edge-cache purge for whatever
96
119
  // entry mutations this request accumulated.
97
120
  flushPurgeTags(ctx);
98
- return response;
99
121
  }
100
122
  catch (error) {
101
123
  ctx.logger.error("dispatch_failed", {
@@ -103,8 +125,10 @@ export function createPlumixDispatcher(app) {
103
125
  url: ctx.request.url,
104
126
  method: ctx.request.method,
105
127
  });
106
- return jsonResponse({ error: "internal_error" }, { status: 500 });
128
+ response = jsonResponse({ error: "internal_error" }, { status: 500 });
107
129
  }
130
+ deliverTelemetrySnapshot(ctx, response.status, startedAt);
131
+ return response;
108
132
  };
109
133
  }
110
134
  function enforcePlumixCsrf(app, ctx) {
@@ -175,8 +199,13 @@ function stripBasePathOrReject(app, ctx) {
175
199
  return ctx;
176
200
  const rawUrl = new URL(ctx.request.url);
177
201
  const stripped = stripBasePath(rawUrl.pathname, app.basePath);
178
- if (stripped === null)
179
- return notFound("outside-base-path");
202
+ if (stripped === null) {
203
+ // Asset-shaped misses (chiefly the browser's root favicon probe, which
204
+ // targets the domain root, not the mount) get the cacheable 404 (#1514).
205
+ return STATIC_ASSET_EXT.test(rawUrl.pathname)
206
+ ? cacheableAssetNotFound("outside-base-path")
207
+ : notFound("outside-base-path");
208
+ }
180
209
  rawUrl.pathname = stripped;
181
210
  return { ...ctx, request: new Request(rawUrl, ctx.request) };
182
211
  }
@@ -366,6 +395,13 @@ async function tryPublicRoutes(app, ctx, url) {
366
395
  return handleFeed(ctx, { kind: "term", taxonomy: taxonomy.name, path }, termFeed[3] ? "atom" : "rss2");
367
396
  }
368
397
  }
398
+ // Asset-shaped misses (favicon.ico, /assets/* the platform's asset layer
399
+ // didn't own) 404 cheaply before route resolution — no slug lookup, no
400
+ // themed render. The SEO assets above (robots.txt, sitemap*.xml) have
401
+ // already had their chance.
402
+ if (STATIC_ASSET_EXT.test(pathname)) {
403
+ return cacheableAssetNotFound("static-asset");
404
+ }
369
405
  // Normalize a public page URL to its canonical (slash-less) shape before
370
406
  // routing — the 301 target shares `canonicalUrl` with the rel=canonical tag.
371
407
  const canonical = canonicalRedirectTarget(ctx);
@@ -428,6 +464,7 @@ async function dispatchPublicRoute(app, ctx, url) {
428
464
  intentKind: intent?.kind ?? null,
429
465
  cache,
430
466
  defer: ctx.defer,
467
+ telemetry: ctx.telemetry,
431
468
  render: () => renderPublicRoute(app, ctx, url, match),
432
469
  // Evaluated post-render so `ctx.resolvedEntity` (the entry id) is set.
433
470
  // The source thunks run only for the intent kind that needs them.
@@ -448,8 +485,25 @@ async function renderPublicRoute(app, ctx, url, match) {
448
485
  const assetManifest = app.assetManifest;
449
486
  try {
450
487
  ctx = await loadUserForPublicRequest(ctx);
451
- const response = await ctx.debug.span("resolve", () => resolvePublicRouteOrFallback(app, ctx, url, match));
452
- if (response.status === 404) {
488
+ const response = await ctx.telemetry.span("resolve", async (s) => {
489
+ try {
490
+ return await resolvePublicRouteOrFallback(app, ctx, url, match);
491
+ }
492
+ finally {
493
+ // Attributes read post-resolution: the resolver writes
494
+ // `resolvedEntity` / `resolvedTemplate` onto ctx during the render it
495
+ // encloses. In a `finally` so a throwing render still stamps whatever
496
+ // had resolved — the failure path is the trace that matters most.
497
+ // Lazy thunks, so the no-op collector never evaluates them.
498
+ s.set("route.intent", () => publicIntent(match, url)?.kind ?? "none");
499
+ if (ctx.resolvedEntity)
500
+ s.set("resolve.entity", ctx.resolvedEntity);
501
+ if (ctx.resolvedTemplate) {
502
+ s.set("template.matched", ctx.resolvedTemplate);
503
+ }
504
+ }
505
+ });
506
+ if (response.status === 404 && acceptsHtml(ctx.request)) {
453
507
  const html = await renderErrorThroughTheme({
454
508
  ctx,
455
509
  theme,
@@ -474,35 +528,49 @@ async function renderPublicRoute(app, ctx, url, match) {
474
528
  url: url.href,
475
529
  err: err instanceof Error ? err.message : String(err),
476
530
  });
477
- try {
478
- const html = await renderErrorThroughTheme({
479
- ctx,
480
- theme,
481
- document,
482
- templateDeps,
483
- assetManifest,
484
- kind: "server-error",
485
- data: { kind: "error", request: ctx.request },
486
- });
487
- return new Response(html, {
488
- status: 500,
489
- headers: { "content-type": "text/html; charset=utf-8" },
490
- });
491
- }
492
- catch (templateErr) {
493
- ctx.logger.error("error_template_failed", {
494
- url: url.href,
495
- err: templateErr instanceof Error
496
- ? templateErr.message
497
- : String(templateErr),
498
- });
499
- return new Response("Internal Server Error", {
500
- status: 500,
501
- headers: { "content-type": "text/plain; charset=utf-8" },
502
- });
531
+ if (acceptsHtml(ctx.request)) {
532
+ try {
533
+ const html = await renderErrorThroughTheme({
534
+ ctx,
535
+ theme,
536
+ document,
537
+ templateDeps,
538
+ assetManifest,
539
+ kind: "server-error",
540
+ data: { kind: "error", request: ctx.request },
541
+ });
542
+ return new Response(html, {
543
+ status: 500,
544
+ headers: { "content-type": "text/html; charset=utf-8" },
545
+ });
546
+ }
547
+ catch (templateErr) {
548
+ ctx.logger.error("error_template_failed", {
549
+ url: url.href,
550
+ err: templateErr instanceof Error
551
+ ? templateErr.message
552
+ : String(templateErr),
553
+ });
554
+ }
503
555
  }
556
+ return new Response("Internal Server Error", {
557
+ status: 500,
558
+ headers: { "content-type": "text/plain; charset=utf-8" },
559
+ });
504
560
  }
505
561
  }
562
+ // Whether an error response should render through the theme at all. A missing
563
+ // Accept header or `*/*` (curl, bare fetch, browser subresource probes) keeps
564
+ // the themed page; only a client that explicitly negotiates away from HTML
565
+ // (`Accept: application/json`) gets the cheap plain-text error instead (#1491).
566
+ function acceptsHtml(request) {
567
+ const accept = request.headers.get("accept");
568
+ if (accept === null)
569
+ return true;
570
+ return (accept.includes("text/html") ||
571
+ accept.includes("application/xhtml+xml") ||
572
+ accept.includes("*/*"));
573
+ }
506
574
  async function resolvePublicRouteOrFallback(app, ctx, url, match) {
507
575
  const theme = app.config.theme;
508
576
  const document = app.document;
@@ -547,7 +615,7 @@ async function dispatchPluginRawRoute(route, ctx) {
547
615
  // operator override (e.g. `cfAccess()`) when configured. Plugin
548
616
  // route handlers don't need to know which guard is active; they just
549
617
  // declare `auth: "authenticated"` and the dispatcher delegates.
550
- const result = await ctx.authenticator.authenticate(ctx.request, ctx.db);
618
+ const result = await authenticateTraced(ctx, ctx.authenticator);
551
619
  if (!result)
552
620
  return jsonResponse({ error: "unauthorized" }, { status: 401 });
553
621
  const { id, email, name, role, meta } = result.user;
@@ -608,7 +676,7 @@ async function serveAdmin(ctx) {
608
676
  // `api_tokens.lastUsedAt` on every cross-site GET navigation. Anonymous
609
677
  // visitors hit the cookie + Accept-Language tiers of the resolver chain.
610
678
  const auth = readSessionCookie(ctx.request)
611
- ? await ctx.authenticator.authenticate(ctx.request, ctx.db)
679
+ ? await authenticateTraced(ctx, ctx.authenticator)
612
680
  : null;
613
681
  const locale = resolveLocale({
614
682
  request: ctx.request,
@@ -1 +1 @@
1
- {"version":3,"file":"dispatcher.js","sourceRoot":"","sources":["../../src/runtime/dispatcher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dispatcher.js","sourceRoot":"","sources":["../../src/runtime/dispatcher.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"load-user-for-public-request.d.ts","sourceRoot":"","sources":["../../src/runtime/load-user-for-public-request.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAIpD,wBAAsB,wBAAwB,CAC5C,GAAG,EAAE,UAAU,GACd,OAAO,CAAC,UAAU,CAAC,CAYrB"}
1
+ {"version":3,"file":"load-user-for-public-request.d.ts","sourceRoot":"","sources":["../../src/runtime/load-user-for-public-request.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAOpD,wBAAsB,wBAAwB,CAC5C,GAAG,EAAE,UAAU,GACd,OAAO,CAAC,UAAU,CAAC,CAYrB"}
@@ -1,4 +1,4 @@
1
- import { requestHasSession } from "../auth/authenticator.js";
1
+ import { authenticateTraced, requestHasSession, } from "../auth/authenticator.js";
2
2
  import { withUser } from "../context/app.js";
3
3
  export async function loadUserForPublicRequest(ctx) {
4
4
  // Skip authentication for anonymous traffic, but let the configured guard
@@ -7,7 +7,7 @@ export async function loadUserForPublicRequest(ctx) {
7
7
  if (!requestHasSession(ctx.authenticator, ctx.request)) {
8
8
  return ctx;
9
9
  }
10
- const result = await ctx.authenticator.authenticate(ctx.request, ctx.db);
10
+ const result = await authenticateTraced(ctx, ctx.authenticator);
11
11
  if (result === null) {
12
12
  return ctx;
13
13
  }
@@ -1 +1 @@
1
- {"version":3,"file":"load-user-for-public-request.js","sourceRoot":"","sources":["../../src/runtime/load-user-for-public-request.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,GAAe;IAEf,0EAA0E;IAC1E,6EAA6E;IAC7E,iDAAiD;IACjD,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,aAAa,EAAE,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;QACvD,OAAO,GAAG,CAAC;IACb,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,aAAa,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;IACzE,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QACpB,OAAO,GAAG,CAAC;IACb,CAAC;IACD,OAAO,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,WAAW,IAAI,IAAI,CAAC,CAAC;AAChE,CAAC"}
1
+ {"version":3,"file":"load-user-for-public-request.js","sourceRoot":"","sources":["../../src/runtime/load-user-for-public-request.ts"],"names":[],"mappings":"AACA,OAAO,EACL,kBAAkB,EAClB,iBAAiB,GAClB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,GAAe;IAEf,0EAA0E;IAC1E,6EAA6E;IAC7E,iDAAiD;IACjD,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,aAAa,EAAE,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;QACvD,OAAO,GAAG,CAAC;IACb,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,GAAG,EAAE,GAAG,CAAC,aAAa,CAAC,CAAC;IAChE,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QACpB,OAAO,GAAG,CAAC;IACb,CAAC;IACD,OAAO,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,WAAW,IAAI,IAAI,CAAC,CAAC;AAChE,CAAC"}
@@ -11,7 +11,9 @@ import type { PlumixApp } from "./app.js";
11
11
  * (tests, runtimes that don't surface it), every task runs.
12
12
  *
13
13
  * Runtime adapters call this from their `buildScheduledHandler` after
14
- * constructing a scheduled-flavor `AppContext`.
14
+ * constructing a scheduled-flavor `AppContext`. Owns the run's telemetry
15
+ * snapshot delivery, so it must not be invoked inside a dispatched request —
16
+ * the dispatcher would deliver the same collector a second time.
15
17
  */
16
18
  export declare function runScheduledTasks(app: PlumixApp, ctx: AppContext, firedCron?: string): Promise<void>;
17
19
  //# sourceMappingURL=scheduled.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"scheduled.d.ts","sourceRoot":"","sources":["../../src/runtime/scheduled.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAG1C;;;;;;;;;;;;GAYG;AACH,wBAAsB,iBAAiB,CACrC,GAAG,EAAE,SAAS,EACd,GAAG,EAAE,UAAU,EACf,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,IAAI,CAAC,CAuBf"}
1
+ {"version":3,"file":"scheduled.d.ts","sourceRoot":"","sources":["../../src/runtime/scheduled.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAI1C;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,iBAAiB,CACrC,GAAG,EAAE,SAAS,EACd,GAAG,EAAE,UAAU,EACf,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,IAAI,CAAC,CAiCf"}
@@ -1,4 +1,5 @@
1
1
  import { flushPurgeTags } from "../cache/purge.js";
2
+ import { deliverTelemetrySnapshot } from "./telemetry-delivery.js";
2
3
  /**
3
4
  * Run the registered scheduled tasks against the given `AppContext`. Each task
4
5
  * is wrapped in its own `try/catch` so a single failure can't abort siblings —
@@ -10,9 +11,12 @@ import { flushPurgeTags } from "../cache/purge.js";
10
11
  * (tests, runtimes that don't surface it), every task runs.
11
12
  *
12
13
  * Runtime adapters call this from their `buildScheduledHandler` after
13
- * constructing a scheduled-flavor `AppContext`.
14
+ * constructing a scheduled-flavor `AppContext`. Owns the run's telemetry
15
+ * snapshot delivery, so it must not be invoked inside a dispatched request —
16
+ * the dispatcher would deliver the same collector a second time.
14
17
  */
15
18
  export async function runScheduledTasks(app, ctx, firedCron) {
19
+ const startedAt = Date.now();
16
20
  for (const task of app.scheduledTasks) {
17
21
  if (firedCron !== undefined &&
18
22
  task.cron !== undefined &&
@@ -20,7 +24,14 @@ export async function runScheduledTasks(app, ctx, firedCron) {
20
24
  continue;
21
25
  }
22
26
  try {
23
- await task.handler(ctx);
27
+ // One span per task run, so cron work traces through the same collector
28
+ // as request work — a failing task is an error span, not just a log line.
29
+ await ctx.telemetry.span(`cron: ${task.id}`, (s) => {
30
+ s.set("cron.plugin", task.registeredBy);
31
+ if (task.cron !== undefined)
32
+ s.set("cron.schedule", task.cron);
33
+ return task.handler(ctx);
34
+ });
24
35
  }
25
36
  catch (error) {
26
37
  ctx.logger.error(`[plumix] scheduled task "${task.registeredBy}:${task.id}" failed: ${error instanceof Error ? error.message : String(error)}`, { error, taskId: task.id, plugin: task.registeredBy, cron: task.cron });
@@ -29,5 +40,8 @@ export async function runScheduledTasks(app, ctx, firedCron) {
29
40
  // A scheduled publish fires `entry:published`; flush the batched edge-cache
30
41
  // purge it accumulated, the same request-end seam the dispatcher uses.
31
42
  flushPurgeTags(ctx);
43
+ // No response exists on this path — the envelope carries a synthetic 200;
44
+ // task failures are error spans, caught above so siblings still run.
45
+ deliverTelemetrySnapshot(ctx, 200, startedAt);
32
46
  }
33
47
  //# sourceMappingURL=scheduled.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"scheduled.js","sourceRoot":"","sources":["../../src/runtime/scheduled.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,GAAc,EACd,GAAe,EACf,SAAkB;IAElB,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,cAAc,EAAE,CAAC;QACtC,IACE,SAAS,KAAK,SAAS;YACvB,IAAI,CAAC,IAAI,KAAK,SAAS;YACvB,IAAI,CAAC,IAAI,KAAK,SAAS,EACvB,CAAC;YACD,SAAS;QACX,CAAC;QACD,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC1B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,GAAG,CAAC,MAAM,CAAC,KAAK,CACd,4BAA4B,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,EAAE,aACtD,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CACvD,EAAE,EACF,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CACvE,CAAC;QACJ,CAAC;IACH,CAAC;IACD,4EAA4E;IAC5E,uEAAuE;IACvE,cAAc,CAAC,GAAG,CAAC,CAAC;AACtB,CAAC"}
1
+ {"version":3,"file":"scheduled.js","sourceRoot":"","sources":["../../src/runtime/scheduled.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AAEnE;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,GAAc,EACd,GAAe,EACf,SAAkB;IAElB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC7B,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,cAAc,EAAE,CAAC;QACtC,IACE,SAAS,KAAK,SAAS;YACvB,IAAI,CAAC,IAAI,KAAK,SAAS;YACvB,IAAI,CAAC,IAAI,KAAK,SAAS,EACvB,CAAC;YACD,SAAS;QACX,CAAC;QACD,IAAI,CAAC;YACH,wEAAwE;YACxE,0EAA0E;YAC1E,MAAM,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE;gBACjD,CAAC,CAAC,GAAG,CAAC,aAAa,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;gBACxC,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS;oBAAE,CAAC,CAAC,GAAG,CAAC,eAAe,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC/D,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAC3B,CAAC,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,GAAG,CAAC,MAAM,CAAC,KAAK,CACd,4BAA4B,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,EAAE,aACtD,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CACvD,EAAE,EACF,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CACvE,CAAC;QACJ,CAAC;IACH,CAAC;IACD,4EAA4E;IAC5E,uEAAuE;IACvE,cAAc,CAAC,GAAG,CAAC,CAAC;IACpB,0EAA0E;IAC1E,qEAAqE;IACrE,wBAAwB,CAAC,GAAG,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;AAChD,CAAC"}
@@ -0,0 +1,14 @@
1
+ import type { AppContext } from "../context/app.js";
2
+ /**
3
+ * Post-execution seam: hand each sampled consumer the finished snapshot via
4
+ * `ctx.defer` (CF Workers' `waitUntil`), so awaited export I/O never blocks
5
+ * the response. Consumers are isolated — one rejecting doesn't starve the
6
+ * rest, and `wrapDefer` logs the rejection. Runs on the error path too: a
7
+ * 500 is exactly the request a consumer wants to see.
8
+ *
9
+ * Shared by every execution path that finishes a collected trace: the request
10
+ * dispatcher (real response status) and the scheduled runner (synthetic 200 —
11
+ * task failures live in the span tree, not the envelope).
12
+ */
13
+ export declare function deliverTelemetrySnapshot(ctx: AppContext, status: number, startedAt: number): void;
14
+ //# sourceMappingURL=telemetry-delivery.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"telemetry-delivery.d.ts","sourceRoot":"","sources":["../../src/runtime/telemetry-delivery.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAGpD;;;;;;;;;;GAUG;AACH,wBAAgB,wBAAwB,CACtC,GAAG,EAAE,UAAU,EACf,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,GAChB,IAAI,CA2BN"}
@@ -0,0 +1,39 @@
1
+ /**
2
+ * Post-execution seam: hand each sampled consumer the finished snapshot via
3
+ * `ctx.defer` (CF Workers' `waitUntil`), so awaited export I/O never blocks
4
+ * the response. Consumers are isolated — one rejecting doesn't starve the
5
+ * rest, and `wrapDefer` logs the rejection. Runs on the error path too: a
6
+ * 500 is exactly the request a consumer wants to see.
7
+ *
8
+ * Shared by every execution path that finishes a collected trace: the request
9
+ * dispatcher (real response status) and the scheduled runner (synthetic 200 —
10
+ * task failures live in the span tree, not the envelope).
11
+ */
12
+ export function deliverTelemetrySnapshot(ctx, status, startedAt) {
13
+ const deliveries = (ctx.telemetryConsumers ?? []).flatMap((c) => c.onRequestEnd ? [c.onRequestEnd] : []);
14
+ if (deliveries.length === 0)
15
+ return;
16
+ const snapshot = {
17
+ request: {
18
+ requestId: ctx.requestId,
19
+ method: ctx.request.method,
20
+ url: ctx.request.url,
21
+ status,
22
+ startedAt,
23
+ durationMs: Date.now() - startedAt,
24
+ },
25
+ // getRecords/getDropped return copies; spans are copied here because
26
+ // getSpans stays the live mid-request read (the debug bar's). Detachment
27
+ // matters: post-response work through the same ctx must not grow the
28
+ // arrays a consumer is serializing.
29
+ spans: [...ctx.telemetry.getSpans()],
30
+ records: ctx.telemetry.getRecords(),
31
+ dropped: ctx.telemetry.getDropped(),
32
+ };
33
+ for (const onRequestEnd of deliveries) {
34
+ // `.then` defers the callback past the dispatcher's return and folds a
35
+ // synchronous throw into the promise the defer wrapper logs.
36
+ ctx.defer(Promise.resolve().then(() => onRequestEnd(snapshot, ctx)));
37
+ }
38
+ }
39
+ //# sourceMappingURL=telemetry-delivery.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"telemetry-delivery.js","sourceRoot":"","sources":["../../src/runtime/telemetry-delivery.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;GAUG;AACH,MAAM,UAAU,wBAAwB,CACtC,GAAe,EACf,MAAc,EACd,SAAiB;IAEjB,MAAM,UAAU,GAAG,CAAC,GAAG,CAAC,kBAAkB,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAC9D,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,CACvC,CAAC;IACF,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IACpC,MAAM,QAAQ,GAAsB;QAClC,OAAO,EAAE;YACP,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,MAAM,EAAE,GAAG,CAAC,OAAO,CAAC,MAAM;YAC1B,GAAG,EAAE,GAAG,CAAC,OAAO,CAAC,GAAG;YACpB,MAAM;YACN,SAAS;YACT,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;SACnC;QACD,qEAAqE;QACrE,yEAAyE;QACzE,qEAAqE;QACrE,oCAAoC;QACpC,KAAK,EAAE,CAAC,GAAG,GAAG,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;QACpC,OAAO,EAAE,GAAG,CAAC,SAAS,CAAC,UAAU,EAAE;QACnC,OAAO,EAAE,GAAG,CAAC,SAAS,CAAC,UAAU,EAAE;KACpC,CAAC;IACF,KAAK,MAAM,YAAY,IAAI,UAAU,EAAE,CAAC;QACtC,uEAAuE;QACvE,6DAA6D;QAC7D,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;IACvE,CAAC;AACH,CAAC"}
@@ -0,0 +1,29 @@
1
+ import type { TelemetryConsumer, TelemetrySnapshot } from "./context/telemetry.js";
2
+ export interface OtelConsumerOptions {
3
+ /** OTLP/HTTP traces endpoint, e.g. `https://…/otlp/v1/traces`. */
4
+ readonly endpoint: string;
5
+ /** Extra request headers (auth). Merged over `content-type: application/json`. */
6
+ readonly headers?: Readonly<Record<string, string>>;
7
+ /** `service.name` resource attribute. */
8
+ readonly serviceName?: string;
9
+ /**
10
+ * Head-sampling ratio in [0, 1] — the fraction of requests collected at
11
+ * all. Omitted = every request.
12
+ */
13
+ readonly sample?: number;
14
+ /**
15
+ * Tail vote on the finished snapshot, e.g. keep all errors plus a slice of
16
+ * successes. Returning false drops the export after collection.
17
+ */
18
+ readonly tailSample?: (snapshot: TelemetrySnapshot) => boolean;
19
+ /** Transport override; defaults to global `fetch`. */
20
+ readonly fetch?: typeof globalThis.fetch;
21
+ }
22
+ /**
23
+ * OTel trace exporter as a telemetry consumer: projects each collected
24
+ * snapshot onto an OTLP/HTTP JSON `ExportTraceServiceRequest` and POSTs it
25
+ * per request (from `waitUntil`, so export latency never blocks a response).
26
+ * Core spans carry no ids — trace/span ids are minted here at export time.
27
+ */
28
+ export declare function otelConsumer(options: OtelConsumerOptions): TelemetryConsumer;
29
+ //# sourceMappingURL=telemetry-otel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"telemetry-otel.d.ts","sourceRoot":"","sources":["../src/telemetry-otel.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,iBAAiB,EACjB,iBAAiB,EAElB,MAAM,wBAAwB,CAAC;AAwChC,MAAM,WAAW,mBAAmB;IAClC,kEAAkE;IAClE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,kFAAkF;IAClF,QAAQ,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACpD,yCAAyC;IACzC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B;;;OAGG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB;;;OAGG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,iBAAiB,KAAK,OAAO,CAAC;IAC/D,sDAAsD;IACtD,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,UAAU,CAAC,KAAK,CAAC;CAC1C;AAsJD;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,mBAAmB,GAAG,iBAAiB,CAoF5E"}