@plumix/core 0.4.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 (199) 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 +38 -6
  20. package/dist/context/app.d.ts.map +1 -1
  21. package/dist/context/app.js +41 -8
  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/stores.d.ts +2 -9
  32. package/dist/context/stores.d.ts.map +1 -1
  33. package/dist/context/stores.js.map +1 -1
  34. package/dist/context/telemetry.d.ts +148 -0
  35. package/dist/context/telemetry.d.ts.map +1 -0
  36. package/dist/context/telemetry.js +20 -0
  37. package/dist/context/telemetry.js.map +1 -0
  38. package/dist/context/traced-fetch.d.ts +14 -0
  39. package/dist/context/traced-fetch.d.ts.map +1 -0
  40. package/dist/context/traced-fetch.js +33 -0
  41. package/dist/context/traced-fetch.js.map +1 -0
  42. package/dist/db/libsql.d.ts.map +1 -1
  43. package/dist/db/libsql.js +6 -12
  44. package/dist/db/libsql.js.map +1 -1
  45. package/dist/db/query-kind.d.ts +8 -0
  46. package/dist/db/query-kind.d.ts.map +1 -0
  47. package/dist/db/query-kind.js +11 -0
  48. package/dist/db/query-kind.js.map +1 -0
  49. package/dist/db/trace-libsql.d.ts +15 -0
  50. package/dist/db/trace-libsql.d.ts.map +1 -0
  51. package/dist/db/trace-libsql.js +37 -0
  52. package/dist/db/trace-libsql.js.map +1 -0
  53. package/dist/db/trace.d.ts +21 -0
  54. package/dist/db/trace.d.ts.map +1 -0
  55. package/dist/db/trace.js +64 -0
  56. package/dist/db/trace.js.map +1 -0
  57. package/dist/debug-bar/consumer.d.ts +12 -0
  58. package/dist/debug-bar/consumer.d.ts.map +1 -0
  59. package/dist/debug-bar/consumer.js +13 -0
  60. package/dist/debug-bar/consumer.js.map +1 -0
  61. package/dist/debug-bar/format-param.d.ts +6 -4
  62. package/dist/debug-bar/format-param.d.ts.map +1 -1
  63. package/dist/debug-bar/format-param.js +6 -9
  64. package/dist/debug-bar/format-param.js.map +1 -1
  65. package/dist/debug-bar/highlight-sql.d.ts +0 -3
  66. package/dist/debug-bar/highlight-sql.d.ts.map +1 -1
  67. package/dist/debug-bar/highlight-sql.js +0 -6
  68. package/dist/debug-bar/highlight-sql.js.map +1 -1
  69. package/dist/debug-bar/panels/database.d.ts +6 -4
  70. package/dist/debug-bar/panels/database.d.ts.map +1 -1
  71. package/dist/debug-bar/panels/database.js +44 -8
  72. package/dist/debug-bar/panels/database.js.map +1 -1
  73. package/dist/debug-bar/panels/template.d.ts +1 -1
  74. package/dist/debug-bar/panels/template.d.ts.map +1 -1
  75. package/dist/debug-bar/panels/template.js +16 -2
  76. package/dist/debug-bar/panels/template.js.map +1 -1
  77. package/dist/debug-bar/panels/timeline.js +1 -1
  78. package/dist/debug-bar/panels/timeline.js.map +1 -1
  79. package/dist/debug-bar/styles.d.ts.map +1 -1
  80. package/dist/debug-bar/styles.js +5 -0
  81. package/dist/debug-bar/styles.js.map +1 -1
  82. package/dist/debug-bar/timeline-model.d.ts +3 -3
  83. package/dist/debug-bar/timeline-model.d.ts.map +1 -1
  84. package/dist/debug-bar/timeline-model.js +1 -1
  85. package/dist/debug-bar/timeline-model.js.map +1 -1
  86. package/dist/debug-bar/types.d.ts +1 -1
  87. package/dist/hooks/registry.d.ts.map +1 -1
  88. package/dist/hooks/registry.js +21 -3
  89. package/dist/hooks/registry.js.map +1 -1
  90. package/dist/index.d.ts +4 -2
  91. package/dist/index.d.ts.map +1 -1
  92. package/dist/index.js +4 -4
  93. package/dist/index.js.map +1 -1
  94. package/dist/mcp/server.d.ts.map +1 -1
  95. package/dist/mcp/server.js +9 -3
  96. package/dist/mcp/server.js.map +1 -1
  97. package/dist/plugin/manifest.d.ts +17 -0
  98. package/dist/plugin/manifest.d.ts.map +1 -1
  99. package/dist/plugin/manifest.js +7 -2
  100. package/dist/plugin/manifest.js.map +1 -1
  101. package/dist/plugin/provides-context.d.ts.map +1 -1
  102. package/dist/plugin/provides-context.js +5 -0
  103. package/dist/plugin/provides-context.js.map +1 -1
  104. package/dist/rest/build-handler.d.ts.map +1 -1
  105. package/dist/rest/build-handler.js +14 -1
  106. package/dist/rest/build-handler.js.map +1 -1
  107. package/dist/revisions/snapshot-envelope.d.ts +4 -2
  108. package/dist/revisions/snapshot-envelope.d.ts.map +1 -1
  109. package/dist/revisions/snapshot-envelope.js +6 -3
  110. package/dist/revisions/snapshot-envelope.js.map +1 -1
  111. package/dist/route/render/render-template.d.ts.map +1 -1
  112. package/dist/route/render/render-template.js +23 -14
  113. package/dist/route/render/render-template.js.map +1 -1
  114. package/dist/route/render/template-builders.d.ts +12 -0
  115. package/dist/route/render/template-builders.d.ts.map +1 -1
  116. package/dist/route/render/template-builders.js +20 -0
  117. package/dist/route/render/template-builders.js.map +1 -1
  118. package/dist/route/resolve.d.ts.map +1 -1
  119. package/dist/route/resolve.js +4 -1
  120. package/dist/route/resolve.js.map +1 -1
  121. package/dist/rpc/authenticated.d.ts.map +1 -1
  122. package/dist/rpc/authenticated.js +2 -1
  123. package/dist/rpc/authenticated.js.map +1 -1
  124. package/dist/rpc/build-handler.d.ts.map +1 -1
  125. package/dist/rpc/build-handler.js +12 -0
  126. package/dist/rpc/build-handler.js.map +1 -1
  127. package/dist/rpc/procedures/auth/session.d.ts.map +1 -1
  128. package/dist/rpc/procedures/auth/session.js +2 -1
  129. package/dist/rpc/procedures/auth/session.js.map +1 -1
  130. package/dist/rpc/procedures/entry/helpers.d.ts +21 -0
  131. package/dist/rpc/procedures/entry/helpers.d.ts.map +1 -1
  132. package/dist/rpc/procedures/entry/helpers.js +44 -0
  133. package/dist/rpc/procedures/entry/helpers.js.map +1 -1
  134. package/dist/rpc/procedures/entry/index.d.ts +1 -0
  135. package/dist/rpc/procedures/entry/index.d.ts.map +1 -1
  136. package/dist/rpc/procedures/entry/schemas.d.ts +2 -0
  137. package/dist/rpc/procedures/entry/schemas.d.ts.map +1 -1
  138. package/dist/rpc/procedures/entry/schemas.js +7 -0
  139. package/dist/rpc/procedures/entry/schemas.js.map +1 -1
  140. package/dist/rpc/procedures/entry/update.d.ts +1 -0
  141. package/dist/rpc/procedures/entry/update.d.ts.map +1 -1
  142. package/dist/rpc/procedures/entry/update.js +10 -5
  143. package/dist/rpc/procedures/entry/update.js.map +1 -1
  144. package/dist/rpc/procedures/user/index.d.ts +1 -0
  145. package/dist/rpc/procedures/user/index.d.ts.map +1 -1
  146. package/dist/rpc/procedures/user/schemas.d.ts +1 -0
  147. package/dist/rpc/procedures/user/schemas.d.ts.map +1 -1
  148. package/dist/rpc/procedures/user/schemas.js +5 -0
  149. package/dist/rpc/procedures/user/schemas.js.map +1 -1
  150. package/dist/rpc/procedures/user/update.d.ts +1 -0
  151. package/dist/rpc/procedures/user/update.d.ts.map +1 -1
  152. package/dist/rpc/procedures/user/update.js +10 -1
  153. package/dist/rpc/procedures/user/update.js.map +1 -1
  154. package/dist/rpc/router.d.ts +2 -0
  155. package/dist/rpc/router.d.ts.map +1 -1
  156. package/dist/rpc/schemas.js +6 -6
  157. package/dist/rpc/schemas.js.map +1 -1
  158. package/dist/rpc/validation.d.ts +10 -0
  159. package/dist/rpc/validation.d.ts.map +1 -1
  160. package/dist/rpc/validation.js +10 -0
  161. package/dist/rpc/validation.js.map +1 -1
  162. package/dist/runtime/dispatcher.d.ts.map +1 -1
  163. package/dist/runtime/dispatcher.js +35 -8
  164. package/dist/runtime/dispatcher.js.map +1 -1
  165. package/dist/runtime/load-user-for-public-request.d.ts.map +1 -1
  166. package/dist/runtime/load-user-for-public-request.js +2 -2
  167. package/dist/runtime/load-user-for-public-request.js.map +1 -1
  168. package/dist/runtime/scheduled.d.ts +3 -1
  169. package/dist/runtime/scheduled.d.ts.map +1 -1
  170. package/dist/runtime/scheduled.js +16 -2
  171. package/dist/runtime/scheduled.js.map +1 -1
  172. package/dist/runtime/telemetry-delivery.d.ts +14 -0
  173. package/dist/runtime/telemetry-delivery.d.ts.map +1 -0
  174. package/dist/runtime/telemetry-delivery.js +39 -0
  175. package/dist/runtime/telemetry-delivery.js.map +1 -0
  176. package/dist/test/dispatcher.d.ts +13 -0
  177. package/dist/test/dispatcher.d.ts.map +1 -1
  178. package/dist/test/dispatcher.js +9 -3
  179. package/dist/test/dispatcher.js.map +1 -1
  180. package/dist/test/harness.d.ts.map +1 -1
  181. package/dist/test/harness.js +4 -12
  182. package/dist/test/harness.js.map +1 -1
  183. package/package.json +2 -2
  184. package/dist/context/debug.d.ts +0 -25
  185. package/dist/context/debug.d.ts.map +0 -1
  186. package/dist/context/debug.js +0 -13
  187. package/dist/context/debug.js.map +0 -1
  188. package/dist/debug-bar/collector.d.ts +0 -9
  189. package/dist/debug-bar/collector.d.ts.map +0 -1
  190. package/dist/debug-bar/collector.js +0 -80
  191. package/dist/debug-bar/collector.js.map +0 -1
  192. package/dist/debug-bar/db-query.d.ts +0 -21
  193. package/dist/debug-bar/db-query.d.ts.map +0 -1
  194. package/dist/debug-bar/db-query.js +0 -23
  195. package/dist/debug-bar/db-query.js.map +0 -1
  196. package/dist/debug-bar/trace-libsql.d.ts +0 -18
  197. package/dist/debug-bar/trace-libsql.d.ts.map +0 -1
  198. package/dist/debug-bar/trace-libsql.js +0 -42
  199. package/dist/debug-bar/trace-libsql.js.map +0 -1
@@ -14,6 +14,11 @@ const trimmedText = (max) => v.pipe(v.string(), v.trim(), v.minLength(1), v.maxL
14
14
  // `assertContentWithinByteCap` after a single serialize.
15
15
  const contentSchema = v.nullable(v.record(v.string(), v.unknown()));
16
16
  const excerptSchema = v.nullable(v.pipe(v.string(), v.maxLength(MAX_EXCERPT_LENGTH)));
17
+ // The id of a theme-registered `named` template (see `forEntryType(...).named`).
18
+ // Written to the reserved `__plumix_template` meta key. `null` clears the
19
+ // choice (theme-default resolution); an unknown id simply falls through to the
20
+ // default at render time, so the server doesn't validate it against the theme.
21
+ const templateChoiceSchema = v.pipe(v.string(), v.trim(), v.minLength(1), v.maxLength(200));
17
22
  const serverControlledKeys = [
18
23
  "id",
19
24
  "authorId",
@@ -51,6 +56,8 @@ export const entryUpdateInputSchema = v.object({
51
56
  sortOrder: v.optional(v.pipe(v.number(), v.integer(), v.minValue(0))),
52
57
  terms: v.optional(postTermsSchema),
53
58
  meta: v.optional(metaInputSchema),
59
+ /** Named-template choice; `null` clears it. See `templateChoiceSchema`. */
60
+ template: v.optional(v.nullable(templateChoiceSchema)),
54
61
  /** Target publish time; required (and must be future) when `status: "scheduled"`. */
55
62
  publishedAt: v.optional(v.date()),
56
63
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../../../src/rpc/procedures/entry/schemas.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../../../src/rpc/procedures/entry/schemas.ts"],"names":[],"mappings":"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"}
@@ -17,6 +17,7 @@ export declare const update: import("@orpc/server").DecoratedProcedure<import("@
17
17
  readonly meta: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").RecordSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").TrimAction, import("valibot").MinLengthAction<string, 1, undefined>, import("valibot").MaxLengthAction<string, 200, undefined>, import("valibot").RegexAction<string, "meta key must be alphanumeric/_/:/-">]>, import("valibot").UnknownSchema, undefined>, import("valibot").CheckAction<{
18
18
  [x: string]: unknown;
19
19
  }, "meta accepts at most 200 keys per request">]>, undefined>;
20
+ readonly template: import("valibot").OptionalSchema<import("valibot").NullableSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").TrimAction, import("valibot").MinLengthAction<string, 1, undefined>, import("valibot").MaxLengthAction<string, 200, undefined>]>, undefined>, undefined>;
20
21
  readonly publishedAt: import("valibot").OptionalSchema<import("valibot").DateSchema<undefined>, undefined>;
21
22
  readonly expectedLiveUpdatedAt: import("valibot").OptionalSchema<import("valibot").DateSchema<undefined>, undefined>;
22
23
  readonly saveAs: import("valibot").OptionalSchema<import("valibot").PicklistSchema<["draft", "live"], undefined>, undefined>;
@@ -1 +1 @@
1
- {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../../../src/rpc/procedures/entry/update.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AA6IvE,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yBAiQf,CAAC"}
1
+ {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../../../src/rpc/procedures/entry/update.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAiJvE,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yBA0Qf,CAAC"}
@@ -7,7 +7,7 @@ import { base } from "../../base.js";
7
7
  import { isEmptyMetaPatch } from "../../meta/core.js";
8
8
  import { assertExpectedLiveUpdatedAt } from "./concurrency.js";
9
9
  import { assertContentValidAgainstRegistries, assertContentWithinByteCap, } from "./content.js";
10
- import { stripUndefined } from "./helpers.js";
10
+ import { applyTemplateChoiceToMeta, stripUndefined, withTemplateChoice, } from "./helpers.js";
11
11
  import { applyEntryBeforeSave, captureRevisionIfSupported, entryCapability, fireEntryAutosaveSaved, fireEntryPublished, fireEntryTransition, fireEntryUpdated, loadReadableParent, publishedAtForTransition, wouldCreateParentCycle, } from "./lifecycle.js";
12
12
  import { assertEntryMetaCapabilities, decodeMetaBag, loadEntryMeta, sanitizeMetaForRpc, validateEntryMetaReferences, writeEntryMeta, } from "./meta.js";
13
13
  import { scheduledDateInvalid } from "./publish-scheduled.js";
@@ -149,8 +149,10 @@ export const update = base
149
149
  : existing.excerpt,
150
150
  // Autosave's meta bag tracks the in-progress edits; merge
151
151
  // the caller's patch over the live row's current meta so
152
- // unchanged keys persist across draft saves.
153
- meta: { ...existing.meta, ...(filtered.meta ?? {}) },
152
+ // unchanged keys persist across draft saves. The framework
153
+ // template choice rides along so the preview overlay can honor
154
+ // an unsaved pick.
155
+ meta: applyTemplateChoiceToMeta({ ...existing.meta, ...(filtered.meta ?? {}) }, filtered.template),
154
156
  },
155
157
  });
156
158
  await fireEntryAutosaveSaved(context, autosave, existing);
@@ -177,12 +179,15 @@ export const update = base
177
179
  // `terms`, `meta`, and `expectedLiveUpdatedAt` aren't entries.* columns
178
180
  // — split them out and validate up front so a bad taxonomy/cap/meta key
179
181
  // fails fast, before any write happens.
180
- const { id: _id, terms: termsPatch, meta: metaInput, expectedLiveUpdatedAt: _expectedLiveUpdatedAt, saveAs: _saveAs, publishedAt: publishedAtInput, ...changes } = filtered;
181
- const metaPatch = sanitizeMetaForRpc(context.plugins, existing.type, metaInput, errors);
182
+ const { id: _id, terms: termsPatch, meta: metaInput, template: templateChoice, expectedLiveUpdatedAt: _expectedLiveUpdatedAt, saveAs: _saveAs, publishedAt: publishedAtInput, ...changes } = filtered;
183
+ let metaPatch = sanitizeMetaForRpc(context.plugins, existing.type, metaInput, errors);
182
184
  if (metaPatch) {
183
185
  assertEntryMetaCapabilities(context.plugins, existing.type, metaPatch, context.auth, errors);
184
186
  await validateEntryMetaReferences(context, existing.type, metaPatch, errors);
185
187
  }
188
+ // Fold the framework-owned template choice in after plugin-field
189
+ // validation — it bypasses the meta-box sanitizer by design.
190
+ metaPatch = withTemplateChoice(metaPatch, templateChoice);
186
191
  if (termsPatch !== undefined) {
187
192
  await assertTermsPatchValid(context, termsPatch, buildTermsPatchGuards(errors));
188
193
  }
@@ -1 +1 @@
1
- {"version":3,"file":"update.js","sourceRoot":"","sources":["../../../../src/rpc/procedures/entry/update.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"update.js","sourceRoot":"","sources":["../../../../src/rpc/procedures/entry/update.ts"],"names":[],"mappings":"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"}
@@ -242,6 +242,7 @@ export declare const userRouter: {
242
242
  readonly update: import("@orpc/server").DecoratedProcedure<import("@orpc/server").MergedInitialContext<import("../../../index.js").AppContextBase<typeof import("../../../db/schema/index.js")> & import("../../../index.js").AppContextExtensions & Record<never, never>, import("../../../index.js").AppContextBase<typeof import("../../../db/schema/index.js")> & import("../../../index.js").AppContextExtensions & Record<never, never>, import("../../../index.js").AppContext>, import("@orpc/server").MergedCurrentContext<import("../../../index.js").AppContext, import("../../../index.js").AuthenticatedAppContext<typeof import("../../../db/schema/index.js")>>, import("valibot").ObjectSchema<{
243
243
  readonly id: import("valibot").SchemaWithPipe<readonly [import("valibot").NumberSchema<undefined>, import("valibot").IntegerAction<number, undefined>, import("valibot").MinValueAction<number, 1, undefined>, import("valibot").MaxValueAction<number, number, undefined>]>;
244
244
  readonly name: import("valibot").OptionalSchema<import("valibot").NullableSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").TrimAction, import("valibot").MaxLengthAction<string, 200, () => string>]>, undefined>, undefined>;
245
+ readonly slug: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").TrimAction, import("valibot").MinLengthAction<string, 1, undefined>, import("valibot").MaxLengthAction<string, 200, undefined>, import("valibot").RegexAction<string, "slug must be kebab-case ASCII">]>, undefined>;
245
246
  readonly avatarUrl: import("valibot").OptionalSchema<import("valibot").NullableSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").TrimAction, import("valibot").MaxLengthAction<string, 2048, undefined>, import("valibot").UrlAction<string, undefined>]>, undefined>, undefined>;
246
247
  readonly role: import("valibot").OptionalSchema<import("valibot").PicklistSchema<readonly ["subscriber", "contributor", "author", "editor", "admin"], undefined>, undefined>;
247
248
  readonly meta: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").RecordSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").TrimAction, import("valibot").MinLengthAction<string, 1, undefined>, import("valibot").MaxLengthAction<string, 200, undefined>, import("valibot").RegexAction<string, "meta key must be alphanumeric/_/:/-">]>, import("valibot").UnknownSchema, undefined>, import("valibot").CheckAction<{
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/rpc/procedures/user/index.ts"],"names":[],"mappings":"AAYA,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAYb,CAAC;AAEX,MAAM,MAAM,UAAU,GAAG,OAAO,UAAU,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/rpc/procedures/user/index.ts"],"names":[],"mappings":"AAYA,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAYb,CAAC;AAEX,MAAM,MAAM,UAAU,GAAG,OAAO,UAAU,CAAC"}
@@ -16,6 +16,7 @@ export declare const userInviteInputSchema: v.ObjectSchema<{
16
16
  export declare const userUpdateInputSchema: v.ObjectSchema<{
17
17
  readonly id: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 1, undefined>, v.MaxValueAction<number, number, undefined>]>;
18
18
  readonly name: v.OptionalSchema<v.NullableSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MaxLengthAction<string, 200, () => string>]>, undefined>, undefined>;
19
+ readonly slug: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 200, undefined>, v.RegexAction<string, "slug must be kebab-case ASCII">]>, undefined>;
19
20
  readonly avatarUrl: v.OptionalSchema<v.NullableSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MaxLengthAction<string, 2048, undefined>, v.UrlAction<string, undefined>]>, undefined>, undefined>;
20
21
  readonly role: v.OptionalSchema<v.PicklistSchema<readonly ["subscriber", "contributor", "author", "editor", "admin"], undefined>, undefined>;
21
22
  readonly meta: v.OptionalSchema<v.SchemaWithPipe<readonly [v.RecordSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 200, undefined>, v.RegexAction<string, "meta key must be alphanumeric/_/:/-">]>, v.UnknownSchema, undefined>, v.CheckAction<{
@@ -1 +1 @@
1
- {"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../../../src/rpc/procedures/user/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAC;AAqB7B,eAAO,MAAM,mBAAmB;;;;;aAQ9B,CAAC;AAEH,eAAO,MAAM,kBAAkB;;aAA4B,CAAC;AAE5D,eAAO,MAAM,qBAAqB;;;;aAIhC,CAAC;AAOH,eAAO,MAAM,qBAAqB;;;;;;;;aAMhC,CAAC;AAEH,eAAO,MAAM,sBAAsB;;aAA4B,CAAC;AAEhE,eAAO,MAAM,qBAAqB;;aAA4B,CAAC;AAE/D,eAAO,MAAM,qBAAqB;;IAEhC,kFAAkF;;aAElF,CAAC;AAEH,eAAO,MAAM,iCAAiC;;;aAG5C,CAAC;AAEH,eAAO,MAAM,gCAAgC;;aAA4B,CAAC;AAE1E,eAAO,MAAM,iCAAiC;;aAA4B,CAAC;AAE3E,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,mBAAmB,CAAC,CAAC;AACtE,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,kBAAkB,CAAC,CAAC;AACpE,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAC1E,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAC1E,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAC5E,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,qBAAqB,CAAC,CAAC"}
1
+ {"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../../../src/rpc/procedures/user/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAC;AAsB7B,eAAO,MAAM,mBAAmB;;;;;aAQ9B,CAAC;AAEH,eAAO,MAAM,kBAAkB;;aAA4B,CAAC;AAE5D,eAAO,MAAM,qBAAqB;;;;aAIhC,CAAC;AAOH,eAAO,MAAM,qBAAqB;;;;;;;;;aAUhC,CAAC;AAEH,eAAO,MAAM,sBAAsB;;aAA4B,CAAC;AAEhE,eAAO,MAAM,qBAAqB;;aAA4B,CAAC;AAE/D,eAAO,MAAM,qBAAqB;;IAEhC,kFAAkF;;aAElF,CAAC;AAEH,eAAO,MAAM,iCAAiC;;;aAG5C,CAAC;AAEH,eAAO,MAAM,gCAAgC;;aAA4B,CAAC;AAE1E,eAAO,MAAM,iCAAiC;;aAA4B,CAAC;AAE3E,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,mBAAmB,CAAC,CAAC;AACtE,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,kBAAkB,CAAC,CAAC;AACpE,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAC1E,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAC1E,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAC5E,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,qBAAqB,CAAC,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import * as v from "valibot";
2
2
  import { USER_ROLES } from "../../../db/schema/users.js";
3
+ import { slugSchema } from "../../schemas.js";
3
4
  import { emailField, idParam, metaInputSchema, nameField, } from "../../validation.js";
4
5
  const avatarUrlSchema = v.pipe(v.string(), v.trim(), v.maxLength(2048), v.url());
5
6
  const roleSchema = v.picklist(USER_ROLES);
@@ -24,6 +25,10 @@ export const userInviteInputSchema = v.object({
24
25
  export const userUpdateInputSchema = v.object({
25
26
  id: idParam,
26
27
  name: v.optional(v.nullable(nameField)),
28
+ // Author-archive identifier (`/authors/{slug}`). Hand-editable unlike
29
+ // the auto-dedup at creation — a taken slug surfaces a `slug_taken`
30
+ // CONFLICT rather than silently appending a suffix.
31
+ slug: v.optional(slugSchema),
27
32
  avatarUrl: v.optional(v.nullable(avatarUrlSchema)),
28
33
  role: v.optional(roleSchema),
29
34
  meta: v.optional(metaInputSchema),
@@ -1 +1 @@
1
- {"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../../../src/rpc/procedures/user/schemas.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../../../src/rpc/procedures/user/schemas.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@ import type { AuthenticatedAppContext } from "../../../context/app.js";
2
2
  export declare const update: import("@orpc/server").DecoratedProcedure<import("@orpc/server").MergedInitialContext<import("../../../index.js").AppContextBase<typeof import("../../../db/schema/index.js")> & import("../../../index.js").AppContextExtensions & Record<never, never>, import("../../../index.js").AppContextBase<typeof import("../../../db/schema/index.js")> & import("../../../index.js").AppContextExtensions & Record<never, never>, import("../../../index.js").AppContext>, import("@orpc/server").MergedCurrentContext<import("../../../index.js").AppContext, AuthenticatedAppContext<typeof import("../../../db/schema/index.js")>>, import("valibot").ObjectSchema<{
3
3
  readonly id: import("valibot").SchemaWithPipe<readonly [import("valibot").NumberSchema<undefined>, import("valibot").IntegerAction<number, undefined>, import("valibot").MinValueAction<number, 1, undefined>, import("valibot").MaxValueAction<number, number, undefined>]>;
4
4
  readonly name: import("valibot").OptionalSchema<import("valibot").NullableSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").TrimAction, import("valibot").MaxLengthAction<string, 200, () => string>]>, undefined>, undefined>;
5
+ readonly slug: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").TrimAction, import("valibot").MinLengthAction<string, 1, undefined>, import("valibot").MaxLengthAction<string, 200, undefined>, import("valibot").RegexAction<string, "slug must be kebab-case ASCII">]>, undefined>;
5
6
  readonly avatarUrl: import("valibot").OptionalSchema<import("valibot").NullableSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").TrimAction, import("valibot").MaxLengthAction<string, 2048, undefined>, import("valibot").UrlAction<string, undefined>]>, undefined>, undefined>;
6
7
  readonly role: import("valibot").OptionalSchema<import("valibot").PicklistSchema<readonly ["subscriber", "contributor", "author", "editor", "admin"], undefined>, undefined>;
7
8
  readonly meta: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").RecordSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").TrimAction, import("valibot").MinLengthAction<string, 1, undefined>, import("valibot").MaxLengthAction<string, 200, undefined>, import("valibot").RegexAction<string, "meta key must be alphanumeric/_/:/-">]>, import("valibot").UnknownSchema, undefined>, import("valibot").CheckAction<{
@@ -1 +1 @@
1
- {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../../../src/rpc/procedures/user/update.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAwFvE,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yBA6Gf,CAAC"}
1
+ {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../../../src/rpc/procedures/user/update.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAmGvE,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yBAgHf,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { invalidateAllSessionsForUser } from "../../../auth/sessions.js";
2
- import { and, eq, isUniqueConstraintError } from "../../../db/index.js";
2
+ import { and, eq, isUniqueConstraintError, isUniqueConstraintErrorOn, } from "../../../db/index.js";
3
3
  import { users } from "../../../db/schema/users.js";
4
4
  import { authenticated } from "../../authenticated.js";
5
5
  import { base } from "../../base.js";
@@ -38,6 +38,12 @@ async function writeUserColumns(context, existing, patch, demotingAdmin, guards)
38
38
  .returning();
39
39
  }
40
40
  catch (error) {
41
+ // Two unique columns can trip here — an explicit slug edit collides on
42
+ // `users.slug`, so map that first. `users.email` isn't writable via this
43
+ // RPC (email goes through the confirmation flow), but keep the fallback
44
+ // defensive against a plugin filter that reintroduces it.
45
+ if (isUniqueConstraintErrorOn(error, "users.slug"))
46
+ guards.slugTaken();
41
47
  if (isUniqueConstraintError(error))
42
48
  guards.emailTaken();
43
49
  throw error;
@@ -94,6 +100,9 @@ export const update = base
94
100
  let rowWritten = false;
95
101
  if (Object.keys(patch).length > 0) {
96
102
  updated = await writeUserColumns(context, existing, patch, demotingAdmin, {
103
+ slugTaken: () => {
104
+ throw errors.CONFLICT({ data: { reason: "slug_taken" } });
105
+ },
97
106
  emailTaken: () => {
98
107
  throw errors.CONFLICT({ data: { reason: "email_taken" } });
99
108
  },
@@ -1 +1 @@
1
- {"version":3,"file":"update.js","sourceRoot":"","sources":["../../../../src/rpc/procedures/user/update.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"update.js","sourceRoot":"","sources":["../../../../src/rpc/procedures/user/update.ts"],"names":[],"mappings":"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"}
@@ -1864,6 +1864,7 @@ export declare const appRouter: {
1864
1864
  readonly meta: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").RecordSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").TrimAction, import("valibot").MinLengthAction<string, 1, undefined>, import("valibot").MaxLengthAction<string, 200, undefined>, import("valibot").RegexAction<string, "meta key must be alphanumeric/_/:/-">]>, import("valibot").UnknownSchema, undefined>, import("valibot").CheckAction<{
1865
1865
  [x: string]: unknown;
1866
1866
  }, "meta accepts at most 200 keys per request">]>, undefined>;
1867
+ readonly template: import("valibot").OptionalSchema<import("valibot").NullableSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").TrimAction, import("valibot").MinLengthAction<string, 1, undefined>, import("valibot").MaxLengthAction<string, 200, undefined>]>, undefined>, undefined>;
1867
1868
  readonly publishedAt: import("valibot").OptionalSchema<import("valibot").DateSchema<undefined>, undefined>;
1868
1869
  readonly expectedLiveUpdatedAt: import("valibot").OptionalSchema<import("valibot").DateSchema<undefined>, undefined>;
1869
1870
  readonly saveAs: import("valibot").OptionalSchema<import("valibot").PicklistSchema<["draft", "live"], undefined>, undefined>;
@@ -3980,6 +3981,7 @@ export declare const appRouter: {
3980
3981
  readonly update: import("@orpc/server").DecoratedProcedure<import("@orpc/server").MergedInitialContext<import("../index.js").AppContextBase<typeof import("../db/schema/index.js")> & import("../index.js").AppContextExtensions & Record<never, never>, import("../index.js").AppContextBase<typeof import("../db/schema/index.js")> & import("../index.js").AppContextExtensions & Record<never, never>, import("../index.js").AppContext>, import("@orpc/server").MergedCurrentContext<import("../index.js").AppContext, import("../index.js").AuthenticatedAppContext<typeof import("../db/schema/index.js")>>, import("valibot").ObjectSchema<{
3981
3982
  readonly id: import("valibot").SchemaWithPipe<readonly [import("valibot").NumberSchema<undefined>, import("valibot").IntegerAction<number, undefined>, import("valibot").MinValueAction<number, 1, undefined>, import("valibot").MaxValueAction<number, number, undefined>]>;
3982
3983
  readonly name: import("valibot").OptionalSchema<import("valibot").NullableSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").TrimAction, import("valibot").MaxLengthAction<string, 200, () => string>]>, undefined>, undefined>;
3984
+ readonly slug: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").TrimAction, import("valibot").MinLengthAction<string, 1, undefined>, import("valibot").MaxLengthAction<string, 200, undefined>, import("valibot").RegexAction<string, "slug must be kebab-case ASCII">]>, undefined>;
3983
3985
  readonly avatarUrl: import("valibot").OptionalSchema<import("valibot").NullableSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").TrimAction, import("valibot").MaxLengthAction<string, 2048, undefined>, import("valibot").UrlAction<string, undefined>]>, undefined>, undefined>;
3984
3986
  readonly role: import("valibot").OptionalSchema<import("valibot").PicklistSchema<readonly ["subscriber", "contributor", "author", "editor", "admin"], undefined>, undefined>;
3985
3987
  readonly meta: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").RecordSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").TrimAction, import("valibot").MinLengthAction<string, 1, undefined>, import("valibot").MaxLengthAction<string, 200, undefined>, import("valibot").RegexAction<string, "meta key must be alphanumeric/_/:/-">]>, import("valibot").UnknownSchema, undefined>, import("valibot").CheckAction<{
@@ -1 +1 @@
1
- {"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../src/rpc/router.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAUjD,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAQZ,CAAC;AAEX,MAAM,MAAM,SAAS,GAAG,OAAO,SAAS,CAAC;AAGzC,MAAM,MAAM,eAAe,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC"}
1
+ {"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../src/rpc/router.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAUjD,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAQZ,CAAC;AAEX,MAAM,MAAM,SAAS,GAAG,OAAO,SAAS,CAAC;AAGzC,MAAM,MAAM,eAAe,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC"}
@@ -1,9 +1,9 @@
1
1
  import * as v from "valibot";
2
+ import { SLUG_MAX_LENGTH, slugPattern } from "./validation.js";
2
3
  // Slug shape shared across RPC inputs — matches the URL-safe kebab-case
3
- // convention used for post and term slugs. Kept loose on length (200) since
4
- // neither table enforces a tighter limit at the schema level; individual
5
- // routers can tighten further via v.pipe(slugSchema, v.maxLength(N)) if a
6
- // stricter bound emerges.
7
- const slugPattern = /^[a-z0-9]+(?:-[a-z0-9]+)*$/;
8
- export const slugSchema = v.pipe(v.string(), v.trim(), v.minLength(1), v.maxLength(200), v.regex(slugPattern, "slug must be kebab-case ASCII"));
4
+ // convention used for post and term slugs. Bounds live in `validation.ts`
5
+ // (the shared client+server field module) so admin forms validate the same
6
+ // rules; individual routers can tighten further via
7
+ // v.pipe(slugSchema, v.maxLength(N)) if a stricter bound emerges.
8
+ export const slugSchema = v.pipe(v.string(), v.trim(), v.minLength(1), v.maxLength(SLUG_MAX_LENGTH), v.regex(slugPattern, "slug must be kebab-case ASCII"));
9
9
  //# sourceMappingURL=schemas.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../src/rpc/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAC;AAE7B,wEAAwE;AACxE,4EAA4E;AAC5E,yEAAyE;AACzE,0EAA0E;AAC1E,0BAA0B;AAC1B,MAAM,WAAW,GAAG,4BAA4B,CAAC;AAEjD,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,CAAC,IAAI,CAC9B,CAAC,CAAC,MAAM,EAAE,EACV,CAAC,CAAC,IAAI,EAAE,EACR,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EACd,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,EAChB,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,+BAA+B,CAAC,CACtD,CAAC"}
1
+ {"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../src/rpc/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAC;AAE7B,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE/D,wEAAwE;AACxE,0EAA0E;AAC1E,2EAA2E;AAC3E,oDAAoD;AACpD,kEAAkE;AAClE,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,CAAC,IAAI,CAC9B,CAAC,CAAC,MAAM,EAAE,EACV,CAAC,CAAC,IAAI,EAAE,EACR,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EACd,CAAC,CAAC,SAAS,CAAC,eAAe,CAAC,EAC5B,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,+BAA+B,CAAC,CACtD,CAAC"}
@@ -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;AAqH1C,MAAM,MAAM,gBAAgB,GAAG,CAAC,GAAG,EAAE,UAAU,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;AAEtE,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,SAAS,GAAG,gBAAgB,CA0BvE;AA4fD,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/";
@@ -88,14 +90,19 @@ const MAGIC_LINK_VERIFY_PATH = "/_plumix/auth/magic-link/verify";
88
90
  const EMAIL_CHANGE_VERIFY_PATH = "/_plumix/auth/verify-email";
89
91
  export function createPlumixDispatcher(app) {
90
92
  return async (ctx) => {
93
+ const startedAt = Date.now();
94
+ let response;
91
95
  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));
96
+ // The top-level span. `ctx.telemetry` is the no-op collector unless a
97
+ // consumer sampled this request, so span() is then a pass-through.
98
+ response = await ctx.telemetry.span("dispatch", async (s) => {
99
+ const routed = await route(app, ctx);
100
+ s.set("http.response.status_code", routed.status);
101
+ return routed;
102
+ });
95
103
  // Request-end seam: fire one batched edge-cache purge for whatever
96
104
  // entry mutations this request accumulated.
97
105
  flushPurgeTags(ctx);
98
- return response;
99
106
  }
100
107
  catch (error) {
101
108
  ctx.logger.error("dispatch_failed", {
@@ -103,8 +110,10 @@ export function createPlumixDispatcher(app) {
103
110
  url: ctx.request.url,
104
111
  method: ctx.request.method,
105
112
  });
106
- return jsonResponse({ error: "internal_error" }, { status: 500 });
113
+ response = jsonResponse({ error: "internal_error" }, { status: 500 });
107
114
  }
115
+ deliverTelemetrySnapshot(ctx, response.status, startedAt);
116
+ return response;
108
117
  };
109
118
  }
110
119
  function enforcePlumixCsrf(app, ctx) {
@@ -428,6 +437,7 @@ async function dispatchPublicRoute(app, ctx, url) {
428
437
  intentKind: intent?.kind ?? null,
429
438
  cache,
430
439
  defer: ctx.defer,
440
+ telemetry: ctx.telemetry,
431
441
  render: () => renderPublicRoute(app, ctx, url, match),
432
442
  // Evaluated post-render so `ctx.resolvedEntity` (the entry id) is set.
433
443
  // The source thunks run only for the intent kind that needs them.
@@ -448,7 +458,24 @@ async function renderPublicRoute(app, ctx, url, match) {
448
458
  const assetManifest = app.assetManifest;
449
459
  try {
450
460
  ctx = await loadUserForPublicRequest(ctx);
451
- const response = await ctx.debug.span("resolve", () => resolvePublicRouteOrFallback(app, ctx, url, match));
461
+ const response = await ctx.telemetry.span("resolve", async (s) => {
462
+ try {
463
+ return await resolvePublicRouteOrFallback(app, ctx, url, match);
464
+ }
465
+ finally {
466
+ // Attributes read post-resolution: the resolver writes
467
+ // `resolvedEntity` / `resolvedTemplate` onto ctx during the render it
468
+ // encloses. In a `finally` so a throwing render still stamps whatever
469
+ // had resolved — the failure path is the trace that matters most.
470
+ // Lazy thunks, so the no-op collector never evaluates them.
471
+ s.set("route.intent", () => publicIntent(match, url)?.kind ?? "none");
472
+ if (ctx.resolvedEntity)
473
+ s.set("resolve.entity", ctx.resolvedEntity);
474
+ if (ctx.resolvedTemplate) {
475
+ s.set("template.matched", ctx.resolvedTemplate);
476
+ }
477
+ }
478
+ });
452
479
  if (response.status === 404) {
453
480
  const html = await renderErrorThroughTheme({
454
481
  ctx,
@@ -547,7 +574,7 @@ async function dispatchPluginRawRoute(route, ctx) {
547
574
  // operator override (e.g. `cfAccess()`) when configured. Plugin
548
575
  // route handlers don't need to know which guard is active; they just
549
576
  // declare `auth: "authenticated"` and the dispatcher delegates.
550
- const result = await ctx.authenticator.authenticate(ctx.request, ctx.db);
577
+ const result = await authenticateTraced(ctx, ctx.authenticator);
551
578
  if (!result)
552
579
  return jsonResponse({ error: "unauthorized" }, { status: 401 });
553
580
  const { id, email, name, role, meta } = result.user;
@@ -608,7 +635,7 @@ async function serveAdmin(ctx) {
608
635
  // `api_tokens.lastUsedAt` on every cross-site GET navigation. Anonymous
609
636
  // visitors hit the cookie + Accept-Language tiers of the resolver chain.
610
637
  const auth = readSessionCookie(ctx.request)
611
- ? await ctx.authenticator.authenticate(ctx.request, ctx.db)
638
+ ? await authenticateTraced(ctx, ctx.authenticator)
612
639
  : null;
613
640
  const locale = resolveLocale({
614
641
  request: ctx.request,