@plumix/core 0.3.0 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (304) 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/auth/bootstrap.d.ts.map +1 -1
  8. package/dist/auth/bootstrap.js +39 -22
  9. package/dist/auth/bootstrap.js.map +1 -1
  10. package/dist/cache/decision.d.ts +7 -3
  11. package/dist/cache/decision.d.ts.map +1 -1
  12. package/dist/cache/decision.js +8 -6
  13. package/dist/cache/decision.js.map +1 -1
  14. package/dist/cache/read-through.d.ts +3 -0
  15. package/dist/cache/read-through.d.ts.map +1 -1
  16. package/dist/cache/read-through.js +14 -7
  17. package/dist/cache/read-through.js.map +1 -1
  18. package/dist/cache/tags.d.ts.map +1 -1
  19. package/dist/cache/tags.js +9 -0
  20. package/dist/cache/tags.js.map +1 -1
  21. package/dist/config.d.ts +9 -0
  22. package/dist/config.d.ts.map +1 -1
  23. package/dist/config.js +1 -0
  24. package/dist/config.js.map +1 -1
  25. package/dist/context/app.d.ts +38 -6
  26. package/dist/context/app.d.ts.map +1 -1
  27. package/dist/context/app.js +41 -8
  28. package/dist/context/app.js.map +1 -1
  29. package/dist/context/collector.d.ts +9 -0
  30. package/dist/context/collector.d.ts.map +1 -0
  31. package/dist/context/collector.js +130 -0
  32. package/dist/context/collector.js.map +1 -0
  33. package/dist/context/index.d.ts +1 -0
  34. package/dist/context/index.d.ts.map +1 -1
  35. package/dist/context/index.js +1 -0
  36. package/dist/context/index.js.map +1 -1
  37. package/dist/context/stores.d.ts +2 -9
  38. package/dist/context/stores.d.ts.map +1 -1
  39. package/dist/context/stores.js.map +1 -1
  40. package/dist/context/telemetry.d.ts +148 -0
  41. package/dist/context/telemetry.d.ts.map +1 -0
  42. package/dist/context/telemetry.js +20 -0
  43. package/dist/context/telemetry.js.map +1 -0
  44. package/dist/context/traced-fetch.d.ts +14 -0
  45. package/dist/context/traced-fetch.d.ts.map +1 -0
  46. package/dist/context/traced-fetch.js +33 -0
  47. package/dist/context/traced-fetch.js.map +1 -0
  48. package/dist/db/errors.d.ts +8 -0
  49. package/dist/db/errors.d.ts.map +1 -1
  50. package/dist/db/errors.js +22 -0
  51. package/dist/db/errors.js.map +1 -1
  52. package/dist/db/index.d.ts +1 -1
  53. package/dist/db/index.d.ts.map +1 -1
  54. package/dist/db/index.js +1 -1
  55. package/dist/db/index.js.map +1 -1
  56. package/dist/db/libsql.d.ts.map +1 -1
  57. package/dist/db/libsql.js +6 -12
  58. package/dist/db/libsql.js.map +1 -1
  59. package/dist/db/query-kind.d.ts +8 -0
  60. package/dist/db/query-kind.d.ts.map +1 -0
  61. package/dist/db/query-kind.js +11 -0
  62. package/dist/db/query-kind.js.map +1 -0
  63. package/dist/db/schema/users.d.ts +57 -0
  64. package/dist/db/schema/users.d.ts.map +1 -1
  65. package/dist/db/schema/users.js +10 -2
  66. package/dist/db/schema/users.js.map +1 -1
  67. package/dist/db/trace-libsql.d.ts +15 -0
  68. package/dist/db/trace-libsql.d.ts.map +1 -0
  69. package/dist/db/trace-libsql.js +37 -0
  70. package/dist/db/trace-libsql.js.map +1 -0
  71. package/dist/db/trace.d.ts +21 -0
  72. package/dist/db/trace.d.ts.map +1 -0
  73. package/dist/db/trace.js +64 -0
  74. package/dist/db/trace.js.map +1 -0
  75. package/dist/debug-bar/consumer.d.ts +12 -0
  76. package/dist/debug-bar/consumer.d.ts.map +1 -0
  77. package/dist/debug-bar/consumer.js +13 -0
  78. package/dist/debug-bar/consumer.js.map +1 -0
  79. package/dist/debug-bar/format-param.d.ts +6 -4
  80. package/dist/debug-bar/format-param.d.ts.map +1 -1
  81. package/dist/debug-bar/format-param.js +6 -9
  82. package/dist/debug-bar/format-param.js.map +1 -1
  83. package/dist/debug-bar/highlight-sql.d.ts +0 -3
  84. package/dist/debug-bar/highlight-sql.d.ts.map +1 -1
  85. package/dist/debug-bar/highlight-sql.js +0 -6
  86. package/dist/debug-bar/highlight-sql.js.map +1 -1
  87. package/dist/debug-bar/panels/database.d.ts +6 -4
  88. package/dist/debug-bar/panels/database.d.ts.map +1 -1
  89. package/dist/debug-bar/panels/database.js +44 -8
  90. package/dist/debug-bar/panels/database.js.map +1 -1
  91. package/dist/debug-bar/panels/template.d.ts +1 -1
  92. package/dist/debug-bar/panels/template.d.ts.map +1 -1
  93. package/dist/debug-bar/panels/template.js +16 -2
  94. package/dist/debug-bar/panels/template.js.map +1 -1
  95. package/dist/debug-bar/panels/timeline.js +1 -1
  96. package/dist/debug-bar/panels/timeline.js.map +1 -1
  97. package/dist/debug-bar/styles.d.ts.map +1 -1
  98. package/dist/debug-bar/styles.js +5 -0
  99. package/dist/debug-bar/styles.js.map +1 -1
  100. package/dist/debug-bar/template-node-label.d.ts.map +1 -1
  101. package/dist/debug-bar/template-node-label.js +8 -0
  102. package/dist/debug-bar/template-node-label.js.map +1 -1
  103. package/dist/debug-bar/timeline-model.d.ts +3 -3
  104. package/dist/debug-bar/timeline-model.d.ts.map +1 -1
  105. package/dist/debug-bar/timeline-model.js +1 -1
  106. package/dist/debug-bar/timeline-model.js.map +1 -1
  107. package/dist/debug-bar/types.d.ts +1 -1
  108. package/dist/hooks/registry.d.ts.map +1 -1
  109. package/dist/hooks/registry.js +21 -3
  110. package/dist/hooks/registry.js.map +1 -1
  111. package/dist/index.d.ts +7 -5
  112. package/dist/index.d.ts.map +1 -1
  113. package/dist/index.js +5 -5
  114. package/dist/index.js.map +1 -1
  115. package/dist/mcp/server.d.ts.map +1 -1
  116. package/dist/mcp/server.js +9 -3
  117. package/dist/mcp/server.js.map +1 -1
  118. package/dist/plugin/manifest.d.ts +51 -0
  119. package/dist/plugin/manifest.d.ts.map +1 -1
  120. package/dist/plugin/manifest.js +8 -2
  121. package/dist/plugin/manifest.js.map +1 -1
  122. package/dist/plugin/provides-context.d.ts.map +1 -1
  123. package/dist/plugin/provides-context.js +5 -0
  124. package/dist/plugin/provides-context.js.map +1 -1
  125. package/dist/plugin/setup-context.d.ts +10 -1
  126. package/dist/plugin/setup-context.d.ts.map +1 -1
  127. package/dist/plugin/setup-context.js +12 -0
  128. package/dist/plugin/setup-context.js.map +1 -1
  129. package/dist/rest/build-handler.d.ts.map +1 -1
  130. package/dist/rest/build-handler.js +14 -1
  131. package/dist/rest/build-handler.js.map +1 -1
  132. package/dist/revisions/snapshot-envelope.d.ts +4 -2
  133. package/dist/revisions/snapshot-envelope.d.ts.map +1 -1
  134. package/dist/revisions/snapshot-envelope.js +6 -3
  135. package/dist/revisions/snapshot-envelope.js.map +1 -1
  136. package/dist/route/compile.d.ts +21 -0
  137. package/dist/route/compile.d.ts.map +1 -1
  138. package/dist/route/compile.js +63 -1
  139. package/dist/route/compile.js.map +1 -1
  140. package/dist/route/current.d.ts +5 -3
  141. package/dist/route/current.d.ts.map +1 -1
  142. package/dist/route/date-range.d.ts +12 -0
  143. package/dist/route/date-range.d.ts.map +1 -0
  144. package/dist/route/date-range.js +39 -0
  145. package/dist/route/date-range.js.map +1 -0
  146. package/dist/route/intent.d.ts +7 -3
  147. package/dist/route/intent.d.ts.map +1 -1
  148. package/dist/route/match.d.ts +1 -0
  149. package/dist/route/match.d.ts.map +1 -1
  150. package/dist/route/match.js +1 -1
  151. package/dist/route/match.js.map +1 -1
  152. package/dist/route/render/build-resolved-entries.d.ts.map +1 -1
  153. package/dist/route/render/build-resolved-entries.js +6 -1
  154. package/dist/route/render/build-resolved-entries.js.map +1 -1
  155. package/dist/route/render/render-template.d.ts.map +1 -1
  156. package/dist/route/render/render-template.js +23 -14
  157. package/dist/route/render/render-template.js.map +1 -1
  158. package/dist/route/render/resolved-entry.d.ts +36 -0
  159. package/dist/route/render/resolved-entry.d.ts.map +1 -1
  160. package/dist/route/render/template-builders.d.ts +66 -2
  161. package/dist/route/render/template-builders.d.ts.map +1 -1
  162. package/dist/route/render/template-builders.js +83 -4
  163. package/dist/route/render/template-builders.js.map +1 -1
  164. package/dist/route/render/template-hierarchy.d.ts +17 -1
  165. package/dist/route/render/template-hierarchy.d.ts.map +1 -1
  166. package/dist/route/render/template-hierarchy.js +23 -0
  167. package/dist/route/render/template-hierarchy.js.map +1 -1
  168. package/dist/route/resolve.d.ts +3 -1
  169. package/dist/route/resolve.d.ts.map +1 -1
  170. package/dist/route/resolve.js +152 -5
  171. package/dist/route/resolve.js.map +1 -1
  172. package/dist/rpc/authenticated.d.ts.map +1 -1
  173. package/dist/rpc/authenticated.js +2 -1
  174. package/dist/rpc/authenticated.js.map +1 -1
  175. package/dist/rpc/build-handler.d.ts.map +1 -1
  176. package/dist/rpc/build-handler.js +12 -0
  177. package/dist/rpc/build-handler.js.map +1 -1
  178. package/dist/rpc/procedures/auth/session.d.ts.map +1 -1
  179. package/dist/rpc/procedures/auth/session.js +2 -1
  180. package/dist/rpc/procedures/auth/session.js.map +1 -1
  181. package/dist/rpc/procedures/entry/create.d.ts +2 -2
  182. package/dist/rpc/procedures/entry/delete-permanent.d.ts +2 -2
  183. package/dist/rpc/procedures/entry/duplicate.d.ts +2 -2
  184. package/dist/rpc/procedures/entry/get.d.ts +2 -2
  185. package/dist/rpc/procedures/entry/helpers.d.ts +21 -0
  186. package/dist/rpc/procedures/entry/helpers.d.ts.map +1 -1
  187. package/dist/rpc/procedures/entry/helpers.js +44 -0
  188. package/dist/rpc/procedures/entry/helpers.js.map +1 -1
  189. package/dist/rpc/procedures/entry/index.d.ts +23 -22
  190. package/dist/rpc/procedures/entry/index.d.ts.map +1 -1
  191. package/dist/rpc/procedures/entry/list.d.ts +2 -2
  192. package/dist/rpc/procedures/entry/publish.d.ts +2 -2
  193. package/dist/rpc/procedures/entry/restore.d.ts +2 -2
  194. package/dist/rpc/procedures/entry/revisions.d.ts +8 -8
  195. package/dist/rpc/procedures/entry/schemas.d.ts +2 -0
  196. package/dist/rpc/procedures/entry/schemas.d.ts.map +1 -1
  197. package/dist/rpc/procedures/entry/schemas.js +7 -0
  198. package/dist/rpc/procedures/entry/schemas.js.map +1 -1
  199. package/dist/rpc/procedures/entry/trash.d.ts +2 -2
  200. package/dist/rpc/procedures/entry/update.d.ts +3 -2
  201. package/dist/rpc/procedures/entry/update.d.ts.map +1 -1
  202. package/dist/rpc/procedures/entry/update.js +10 -5
  203. package/dist/rpc/procedures/entry/update.js.map +1 -1
  204. package/dist/rpc/procedures/term/create.d.ts +2 -2
  205. package/dist/rpc/procedures/term/delete.d.ts +2 -2
  206. package/dist/rpc/procedures/term/get.d.ts +2 -2
  207. package/dist/rpc/procedures/term/index.d.ts +10 -10
  208. package/dist/rpc/procedures/term/list.d.ts +2 -2
  209. package/dist/rpc/procedures/term/update.d.ts +2 -2
  210. package/dist/rpc/procedures/user/delete.d.ts +2 -0
  211. package/dist/rpc/procedures/user/delete.d.ts.map +1 -1
  212. package/dist/rpc/procedures/user/disable.d.ts +2 -0
  213. package/dist/rpc/procedures/user/disable.d.ts.map +1 -1
  214. package/dist/rpc/procedures/user/enable.d.ts +2 -0
  215. package/dist/rpc/procedures/user/enable.d.ts.map +1 -1
  216. package/dist/rpc/procedures/user/get.d.ts +2 -0
  217. package/dist/rpc/procedures/user/get.d.ts.map +1 -1
  218. package/dist/rpc/procedures/user/index.d.ts +13 -0
  219. package/dist/rpc/procedures/user/index.d.ts.map +1 -1
  220. package/dist/rpc/procedures/user/invite.d.ts.map +1 -1
  221. package/dist/rpc/procedures/user/invite.js +28 -15
  222. package/dist/rpc/procedures/user/invite.js.map +1 -1
  223. package/dist/rpc/procedures/user/list.d.ts +2 -0
  224. package/dist/rpc/procedures/user/list.d.ts.map +1 -1
  225. package/dist/rpc/procedures/user/list.js +1 -0
  226. package/dist/rpc/procedures/user/list.js.map +1 -1
  227. package/dist/rpc/procedures/user/schemas.d.ts +1 -0
  228. package/dist/rpc/procedures/user/schemas.d.ts.map +1 -1
  229. package/dist/rpc/procedures/user/schemas.js +5 -0
  230. package/dist/rpc/procedures/user/schemas.js.map +1 -1
  231. package/dist/rpc/procedures/user/update.d.ts +3 -0
  232. package/dist/rpc/procedures/user/update.d.ts.map +1 -1
  233. package/dist/rpc/procedures/user/update.js +10 -1
  234. package/dist/rpc/procedures/user/update.js.map +1 -1
  235. package/dist/rpc/router.d.ts +46 -32
  236. package/dist/rpc/router.d.ts.map +1 -1
  237. package/dist/rpc/schemas.js +6 -6
  238. package/dist/rpc/schemas.js.map +1 -1
  239. package/dist/rpc/validation.d.ts +10 -0
  240. package/dist/rpc/validation.d.ts.map +1 -1
  241. package/dist/rpc/validation.js +10 -0
  242. package/dist/rpc/validation.js.map +1 -1
  243. package/dist/runtime/dispatcher.d.ts.map +1 -1
  244. package/dist/runtime/dispatcher.js +105 -14
  245. package/dist/runtime/dispatcher.js.map +1 -1
  246. package/dist/runtime/load-user-for-public-request.d.ts.map +1 -1
  247. package/dist/runtime/load-user-for-public-request.js +2 -2
  248. package/dist/runtime/load-user-for-public-request.js.map +1 -1
  249. package/dist/runtime/scheduled.d.ts +3 -1
  250. package/dist/runtime/scheduled.d.ts.map +1 -1
  251. package/dist/runtime/scheduled.js +16 -2
  252. package/dist/runtime/scheduled.js.map +1 -1
  253. package/dist/runtime/telemetry-delivery.d.ts +14 -0
  254. package/dist/runtime/telemetry-delivery.d.ts.map +1 -0
  255. package/dist/runtime/telemetry-delivery.js +39 -0
  256. package/dist/runtime/telemetry-delivery.js.map +1 -0
  257. package/dist/seo/feed.d.ts +19 -4
  258. package/dist/seo/feed.d.ts.map +1 -1
  259. package/dist/seo/feed.js +49 -12
  260. package/dist/seo/feed.js.map +1 -1
  261. package/dist/seo/head-defaults.d.ts.map +1 -1
  262. package/dist/seo/head-defaults.js +6 -3
  263. package/dist/seo/head-defaults.js.map +1 -1
  264. package/dist/template-registry.d.ts +31 -1
  265. package/dist/template-registry.d.ts.map +1 -1
  266. package/dist/test/default-theme.d.ts.map +1 -1
  267. package/dist/test/default-theme.js +3 -0
  268. package/dist/test/default-theme.js.map +1 -1
  269. package/dist/test/dispatcher.d.ts +13 -0
  270. package/dist/test/dispatcher.d.ts.map +1 -1
  271. package/dist/test/dispatcher.js +9 -3
  272. package/dist/test/dispatcher.js.map +1 -1
  273. package/dist/test/factories.d.ts +39 -21
  274. package/dist/test/factories.d.ts.map +1 -1
  275. package/dist/test/factories.js +1 -0
  276. package/dist/test/factories.js.map +1 -1
  277. package/dist/test/harness.d.ts.map +1 -1
  278. package/dist/test/harness.js +4 -12
  279. package/dist/test/harness.js.map +1 -1
  280. package/dist/theme.d.ts +15 -7
  281. package/dist/theme.d.ts.map +1 -1
  282. package/dist/theme.js +9 -0
  283. package/dist/theme.js.map +1 -1
  284. package/dist/users/slug.d.ts +12 -0
  285. package/dist/users/slug.d.ts.map +1 -0
  286. package/dist/users/slug.js +32 -0
  287. package/dist/users/slug.js.map +1 -0
  288. package/package.json +2 -2
  289. package/dist/context/debug.d.ts +0 -25
  290. package/dist/context/debug.d.ts.map +0 -1
  291. package/dist/context/debug.js +0 -13
  292. package/dist/context/debug.js.map +0 -1
  293. package/dist/debug-bar/collector.d.ts +0 -9
  294. package/dist/debug-bar/collector.d.ts.map +0 -1
  295. package/dist/debug-bar/collector.js +0 -80
  296. package/dist/debug-bar/collector.js.map +0 -1
  297. package/dist/debug-bar/db-query.d.ts +0 -21
  298. package/dist/debug-bar/db-query.d.ts.map +0 -1
  299. package/dist/debug-bar/db-query.js +0 -23
  300. package/dist/debug-bar/db-query.js.map +0 -1
  301. package/dist/debug-bar/trace-libsql.d.ts +0 -18
  302. package/dist/debug-bar/trace-libsql.d.ts.map +0 -1
  303. package/dist/debug-bar/trace-libsql.js +0 -42
  304. package/dist/debug-bar/trace-libsql.js.map +0 -1
@@ -1551,13 +1551,13 @@ export declare const appRouter: {
1551
1551
  readonly offset: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").NumberSchema<undefined>, import("valibot").IntegerAction<number, undefined>, import("valibot").MinValueAction<number, 0, undefined>]>, 0>;
1552
1552
  }, undefined>, import("@orpc/server").Schema<readonly {
1553
1553
  id: number;
1554
+ slug: string;
1554
1555
  meta: Record<string, unknown>;
1555
1556
  createdAt: Date;
1556
1557
  updatedAt: Date;
1557
1558
  type: string;
1558
1559
  parentId: number | null;
1559
1560
  title: string;
1560
- slug: string;
1561
1561
  content: import("../index.js").EntryContent | null;
1562
1562
  excerpt: string | null;
1563
1563
  status: "draft" | "published" | "scheduled" | "trash";
@@ -1566,13 +1566,13 @@ export declare const appRouter: {
1566
1566
  publishedAt: Date | null;
1567
1567
  }[], readonly {
1568
1568
  id: number;
1569
+ slug: string;
1569
1570
  meta: Record<string, unknown>;
1570
1571
  createdAt: Date;
1571
1572
  updatedAt: Date;
1572
1573
  type: string;
1573
1574
  parentId: number | null;
1574
1575
  title: string;
1575
- slug: string;
1576
1576
  content: import("../index.js").EntryContent | null;
1577
1577
  excerpt: string | null;
1578
1578
  status: "draft" | "published" | "scheduled" | "trash";
@@ -1641,13 +1641,13 @@ export declare const appRouter: {
1641
1641
  readonly preview: import("valibot").OptionalSchema<import("valibot").BooleanSchema<undefined>, undefined>;
1642
1642
  }, undefined>, import("@orpc/server").Schema<{
1643
1643
  id: number;
1644
+ slug: string;
1644
1645
  meta: Record<string, unknown>;
1645
1646
  createdAt: Date;
1646
1647
  updatedAt: Date;
1647
1648
  type: string;
1648
1649
  parentId: number | null;
1649
1650
  title: string;
1650
- slug: string;
1651
1651
  content: import("../index.js").EntryContent | null;
1652
1652
  excerpt: string | null;
1653
1653
  status: "draft" | "published" | "scheduled" | "trash";
@@ -1663,13 +1663,13 @@ export declare const appRouter: {
1663
1663
  };
1664
1664
  }, {
1665
1665
  id: number;
1666
+ slug: string;
1666
1667
  meta: Record<string, unknown>;
1667
1668
  createdAt: Date;
1668
1669
  updatedAt: Date;
1669
1670
  type: string;
1670
1671
  parentId: number | null;
1671
1672
  title: string;
1672
- slug: string;
1673
1673
  content: import("../index.js").EntryContent | null;
1674
1674
  excerpt: string | null;
1675
1675
  status: "draft" | "published" | "scheduled" | "trash";
@@ -1761,13 +1761,13 @@ export declare const appRouter: {
1761
1761
  readonly publishedAt: import("valibot").OptionalSchema<import("valibot").DateSchema<undefined>, undefined>;
1762
1762
  }, undefined>, import("@orpc/server").Schema<{
1763
1763
  id: number;
1764
+ slug: string;
1764
1765
  meta: Record<string, unknown>;
1765
1766
  createdAt: Date;
1766
1767
  updatedAt: Date;
1767
1768
  type: string;
1768
1769
  parentId: number | null;
1769
1770
  title: string;
1770
- slug: string;
1771
1771
  content: import("../index.js").EntryContent | null;
1772
1772
  excerpt: string | null;
1773
1773
  status: "draft" | "published" | "scheduled" | "trash";
@@ -1776,13 +1776,13 @@ export declare const appRouter: {
1776
1776
  publishedAt: Date | null;
1777
1777
  }, {
1778
1778
  id: number;
1779
+ slug: string;
1779
1780
  meta: Record<string, unknown>;
1780
1781
  createdAt: Date;
1781
1782
  updatedAt: Date;
1782
1783
  type: string;
1783
1784
  parentId: number | null;
1784
1785
  title: string;
1785
- slug: string;
1786
1786
  content: import("../index.js").EntryContent | null;
1787
1787
  excerpt: string | null;
1788
1788
  status: "draft" | "published" | "scheduled" | "trash";
@@ -1864,18 +1864,19 @@ 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>;
1870
1871
  }, undefined>, import("@orpc/server").Schema<{
1871
1872
  id: number;
1873
+ slug: string;
1872
1874
  meta: Record<string, unknown>;
1873
1875
  createdAt: Date;
1874
1876
  updatedAt: Date;
1875
1877
  type: string;
1876
1878
  parentId: number | null;
1877
1879
  title: string;
1878
- slug: string;
1879
1880
  content: import("../index.js").EntryContent | null;
1880
1881
  excerpt: string | null;
1881
1882
  status: "draft" | "published" | "scheduled" | "trash";
@@ -1884,13 +1885,13 @@ export declare const appRouter: {
1884
1885
  publishedAt: Date | null;
1885
1886
  }, {
1886
1887
  id: number;
1888
+ slug: string;
1887
1889
  meta: Record<string, unknown>;
1888
1890
  createdAt: Date;
1889
1891
  updatedAt: Date;
1890
1892
  type: string;
1891
1893
  parentId: number | null;
1892
1894
  title: string;
1893
- slug: string;
1894
1895
  content: import("../index.js").EntryContent | null;
1895
1896
  excerpt: string | null;
1896
1897
  status: "draft" | "published" | "scheduled" | "trash";
@@ -1958,13 +1959,13 @@ export declare const appRouter: {
1958
1959
  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>]>;
1959
1960
  }, undefined>, import("@orpc/server").Schema<{
1960
1961
  id: number;
1962
+ slug: string;
1961
1963
  meta: Record<string, unknown>;
1962
1964
  createdAt: Date;
1963
1965
  updatedAt: Date;
1964
1966
  type: string;
1965
1967
  parentId: number | null;
1966
1968
  title: string;
1967
- slug: string;
1968
1969
  content: import("../index.js").EntryContent | null;
1969
1970
  excerpt: string | null;
1970
1971
  status: "draft" | "published" | "scheduled" | "trash";
@@ -1973,13 +1974,13 @@ export declare const appRouter: {
1973
1974
  publishedAt: Date | null;
1974
1975
  }, {
1975
1976
  id: number;
1977
+ slug: string;
1976
1978
  meta: Record<string, unknown>;
1977
1979
  createdAt: Date;
1978
1980
  updatedAt: Date;
1979
1981
  type: string;
1980
1982
  parentId: number | null;
1981
1983
  title: string;
1982
- slug: string;
1983
1984
  content: import("../index.js").EntryContent | null;
1984
1985
  excerpt: string | null;
1985
1986
  status: "draft" | "published" | "scheduled" | "trash";
@@ -2047,13 +2048,13 @@ export declare const appRouter: {
2047
2048
  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>]>;
2048
2049
  }, undefined>, import("@orpc/server").Schema<{
2049
2050
  id: number;
2051
+ slug: string;
2050
2052
  meta: Record<string, unknown>;
2051
2053
  createdAt: Date;
2052
2054
  updatedAt: Date;
2053
2055
  type: string;
2054
2056
  parentId: number | null;
2055
2057
  title: string;
2056
- slug: string;
2057
2058
  content: import("../index.js").EntryContent | null;
2058
2059
  excerpt: string | null;
2059
2060
  status: "draft" | "published" | "scheduled" | "trash";
@@ -2062,13 +2063,13 @@ export declare const appRouter: {
2062
2063
  publishedAt: Date | null;
2063
2064
  }, {
2064
2065
  id: number;
2066
+ slug: string;
2065
2067
  meta: Record<string, unknown>;
2066
2068
  createdAt: Date;
2067
2069
  updatedAt: Date;
2068
2070
  type: string;
2069
2071
  parentId: number | null;
2070
2072
  title: string;
2071
- slug: string;
2072
2073
  content: import("../index.js").EntryContent | null;
2073
2074
  excerpt: string | null;
2074
2075
  status: "draft" | "published" | "scheduled" | "trash";
@@ -2136,13 +2137,13 @@ export declare const appRouter: {
2136
2137
  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>]>;
2137
2138
  }, undefined>, import("@orpc/server").Schema<{
2138
2139
  id: number;
2140
+ slug: string;
2139
2141
  meta: Record<string, unknown>;
2140
2142
  createdAt: Date;
2141
2143
  updatedAt: Date;
2142
2144
  type: string;
2143
2145
  parentId: number | null;
2144
2146
  title: string;
2145
- slug: string;
2146
2147
  content: import("../index.js").EntryContent | null;
2147
2148
  excerpt: string | null;
2148
2149
  status: "draft" | "published" | "scheduled" | "trash";
@@ -2151,13 +2152,13 @@ export declare const appRouter: {
2151
2152
  publishedAt: Date | null;
2152
2153
  }, {
2153
2154
  id: number;
2155
+ slug: string;
2154
2156
  meta: Record<string, unknown>;
2155
2157
  createdAt: Date;
2156
2158
  updatedAt: Date;
2157
2159
  type: string;
2158
2160
  parentId: number | null;
2159
2161
  title: string;
2160
- slug: string;
2161
2162
  content: import("../index.js").EntryContent | null;
2162
2163
  excerpt: string | null;
2163
2164
  status: "draft" | "published" | "scheduled" | "trash";
@@ -2414,13 +2415,13 @@ export declare const appRouter: {
2414
2415
  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>]>;
2415
2416
  }, undefined>, import("@orpc/server").Schema<{
2416
2417
  id: number;
2418
+ slug: string;
2417
2419
  meta: Record<string, unknown>;
2418
2420
  createdAt: Date;
2419
2421
  updatedAt: Date;
2420
2422
  type: string;
2421
2423
  parentId: number | null;
2422
2424
  title: string;
2423
- slug: string;
2424
2425
  content: import("../index.js").EntryContent | null;
2425
2426
  excerpt: string | null;
2426
2427
  status: "draft" | "published" | "scheduled" | "trash";
@@ -2429,13 +2430,13 @@ export declare const appRouter: {
2429
2430
  publishedAt: Date | null;
2430
2431
  }, {
2431
2432
  id: number;
2433
+ slug: string;
2432
2434
  meta: Record<string, unknown>;
2433
2435
  createdAt: Date;
2434
2436
  updatedAt: Date;
2435
2437
  type: string;
2436
2438
  parentId: number | null;
2437
2439
  title: string;
2438
- slug: string;
2439
2440
  content: import("../index.js").EntryContent | null;
2440
2441
  excerpt: string | null;
2441
2442
  status: "draft" | "published" | "scheduled" | "trash";
@@ -2633,13 +2634,13 @@ export declare const appRouter: {
2633
2634
  readonly expectedLiveUpdatedAt: import("valibot").DateSchema<undefined>;
2634
2635
  }, undefined>, import("@orpc/server").Schema<{
2635
2636
  id: number;
2637
+ slug: string;
2636
2638
  meta: Record<string, unknown>;
2637
2639
  createdAt: Date;
2638
2640
  updatedAt: Date;
2639
2641
  type: string;
2640
2642
  parentId: number | null;
2641
2643
  title: string;
2642
- slug: string;
2643
2644
  content: import("../index.js").EntryContent | null;
2644
2645
  excerpt: string | null;
2645
2646
  status: "draft" | "published" | "scheduled" | "trash";
@@ -2648,13 +2649,13 @@ export declare const appRouter: {
2648
2649
  publishedAt: Date | null;
2649
2650
  }, {
2650
2651
  id: number;
2652
+ slug: string;
2651
2653
  meta: Record<string, unknown>;
2652
2654
  createdAt: Date;
2653
2655
  updatedAt: Date;
2654
2656
  type: string;
2655
2657
  parentId: number | null;
2656
2658
  title: string;
2657
- slug: string;
2658
2659
  content: import("../index.js").EntryContent | null;
2659
2660
  excerpt: string | null;
2660
2661
  status: "draft" | "published" | "scheduled" | "trash";
@@ -3010,13 +3011,13 @@ export declare const appRouter: {
3010
3011
  authorEmail: string | null;
3011
3012
  message: string | null;
3012
3013
  id: number;
3014
+ slug: string;
3013
3015
  meta: Record<string, unknown>;
3014
3016
  createdAt: Date;
3015
3017
  updatedAt: Date;
3016
3018
  type: string;
3017
3019
  parentId: number | null;
3018
3020
  title: string;
3019
- slug: string;
3020
3021
  content: import("../index.js").EntryContent | null;
3021
3022
  excerpt: string | null;
3022
3023
  status: "draft" | "published" | "scheduled" | "trash";
@@ -3028,13 +3029,13 @@ export declare const appRouter: {
3028
3029
  authorEmail: string | null;
3029
3030
  message: string | null;
3030
3031
  id: number;
3032
+ slug: string;
3031
3033
  meta: Record<string, unknown>;
3032
3034
  createdAt: Date;
3033
3035
  updatedAt: Date;
3034
3036
  type: string;
3035
3037
  parentId: number | null;
3036
3038
  title: string;
3037
- slug: string;
3038
3039
  content: import("../index.js").EntryContent | null;
3039
3040
  excerpt: string | null;
3040
3041
  status: "draft" | "published" | "scheduled" | "trash";
@@ -3103,13 +3104,13 @@ export declare const appRouter: {
3103
3104
  readonly expectedLiveUpdatedAt: import("valibot").OptionalSchema<import("valibot").DateSchema<undefined>, undefined>;
3104
3105
  }, undefined>, import("@orpc/server").Schema<{
3105
3106
  id: number;
3107
+ slug: string;
3106
3108
  meta: Record<string, unknown>;
3107
3109
  createdAt: Date;
3108
3110
  updatedAt: Date;
3109
3111
  type: string;
3110
3112
  parentId: number | null;
3111
3113
  title: string;
3112
- slug: string;
3113
3114
  content: import("../index.js").EntryContent | null;
3114
3115
  excerpt: string | null;
3115
3116
  status: "draft" | "published" | "scheduled" | "trash";
@@ -3118,13 +3119,13 @@ export declare const appRouter: {
3118
3119
  publishedAt: Date | null;
3119
3120
  }, {
3120
3121
  id: number;
3122
+ slug: string;
3121
3123
  meta: Record<string, unknown>;
3122
3124
  createdAt: Date;
3123
3125
  updatedAt: Date;
3124
3126
  type: string;
3125
3127
  parentId: number | null;
3126
3128
  title: string;
3127
- slug: string;
3128
3129
  content: import("../index.js").EntryContent | null;
3129
3130
  excerpt: string | null;
3130
3131
  status: "draft" | "published" | "scheduled" | "trash";
@@ -3340,20 +3341,20 @@ export declare const appRouter: {
3340
3341
  readonly offset: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").NumberSchema<undefined>, import("valibot").IntegerAction<number, undefined>, import("valibot").MinValueAction<number, 0, undefined>]>, 0>;
3341
3342
  }, undefined>, import("@orpc/server").Schema<readonly {
3342
3343
  id: number;
3344
+ slug: string;
3343
3345
  name: string;
3344
3346
  meta: Record<string, unknown>;
3345
3347
  taxonomy: string;
3346
3348
  parentId: number | null;
3347
- slug: string;
3348
3349
  description: string | null;
3349
3350
  version: number;
3350
3351
  }[], readonly {
3351
3352
  id: number;
3353
+ slug: string;
3352
3354
  name: string;
3353
3355
  meta: Record<string, unknown>;
3354
3356
  taxonomy: string;
3355
3357
  parentId: number | null;
3356
- slug: string;
3357
3358
  description: string | null;
3358
3359
  version: number;
3359
3360
  }[]>, import("@orpc/server").MergedErrorMap<Record<never, never>, {
@@ -3417,20 +3418,20 @@ export declare const appRouter: {
3417
3418
  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>]>;
3418
3419
  }, undefined>, import("@orpc/server").Schema<{
3419
3420
  id: number;
3421
+ slug: string;
3420
3422
  name: string;
3421
3423
  meta: Record<string, unknown>;
3422
3424
  taxonomy: string;
3423
3425
  parentId: number | null;
3424
- slug: string;
3425
3426
  description: string | null;
3426
3427
  version: number;
3427
3428
  }, {
3428
3429
  id: number;
3430
+ slug: string;
3429
3431
  name: string;
3430
3432
  meta: Record<string, unknown>;
3431
3433
  taxonomy: string;
3432
3434
  parentId: number | null;
3433
- slug: string;
3434
3435
  description: string | null;
3435
3436
  version: number;
3436
3437
  }>, import("@orpc/server").MergedErrorMap<Record<never, never>, {
@@ -3501,20 +3502,20 @@ export declare const appRouter: {
3501
3502
  }, "meta accepts at most 200 keys per request">]>, undefined>;
3502
3503
  }, undefined>, import("@orpc/server").Schema<{
3503
3504
  id: number;
3505
+ slug: string;
3504
3506
  name: string;
3505
3507
  meta: Record<string, unknown>;
3506
3508
  taxonomy: string;
3507
3509
  parentId: number | null;
3508
- slug: string;
3509
3510
  description: string | null;
3510
3511
  version: number;
3511
3512
  }, {
3512
3513
  id: number;
3514
+ slug: string;
3513
3515
  name: string;
3514
3516
  meta: Record<string, unknown>;
3515
3517
  taxonomy: string;
3516
3518
  parentId: number | null;
3517
- slug: string;
3518
3519
  description: string | null;
3519
3520
  version: number;
3520
3521
  }>, import("@orpc/server").MergedErrorMap<Record<never, never>, {
@@ -3585,20 +3586,20 @@ export declare const appRouter: {
3585
3586
  }, "meta accepts at most 200 keys per request">]>, undefined>;
3586
3587
  }, undefined>, import("@orpc/server").Schema<{
3587
3588
  id: number;
3589
+ slug: string;
3588
3590
  name: string;
3589
3591
  meta: Record<string, unknown>;
3590
3592
  taxonomy: string;
3591
3593
  parentId: number | null;
3592
- slug: string;
3593
3594
  description: string | null;
3594
3595
  version: number;
3595
3596
  }, {
3596
3597
  id: number;
3598
+ slug: string;
3597
3599
  name: string;
3598
3600
  meta: Record<string, unknown>;
3599
3601
  taxonomy: string;
3600
3602
  parentId: number | null;
3601
- slug: string;
3602
3603
  description: string | null;
3603
3604
  version: number;
3604
3605
  }>, import("@orpc/server").MergedErrorMap<Record<never, never>, {
@@ -3662,20 +3663,20 @@ export declare const appRouter: {
3662
3663
  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>]>;
3663
3664
  }, undefined>, import("@orpc/server").Schema<{
3664
3665
  id: number;
3666
+ slug: string;
3665
3667
  name: string;
3666
3668
  meta: Record<string, unknown>;
3667
3669
  taxonomy: string;
3668
3670
  parentId: number | null;
3669
- slug: string;
3670
3671
  description: string | null;
3671
3672
  version: number;
3672
3673
  }, {
3673
3674
  id: number;
3675
+ slug: string;
3674
3676
  name: string;
3675
3677
  meta: Record<string, unknown>;
3676
3678
  taxonomy: string;
3677
3679
  parentId: number | null;
3678
- slug: string;
3679
3680
  description: string | null;
3680
3681
  version: number;
3681
3682
  }>, import("@orpc/server").MergedErrorMap<Record<never, never>, {
@@ -3745,6 +3746,7 @@ export declare const appRouter: {
3745
3746
  }, undefined>, import("@orpc/server").Schema<readonly ({
3746
3747
  id: number;
3747
3748
  email: string;
3749
+ slug: string;
3748
3750
  name: string | null;
3749
3751
  avatarUrl: string | null;
3750
3752
  role: "subscriber" | "contributor" | "author" | "editor" | "admin";
@@ -3758,6 +3760,7 @@ export declare const appRouter: {
3758
3760
  })[], readonly ({
3759
3761
  id: number;
3760
3762
  email: string;
3763
+ slug: string;
3761
3764
  name: string | null;
3762
3765
  avatarUrl: string | null;
3763
3766
  role: "subscriber" | "contributor" | "author" | "editor" | "admin";
@@ -3830,6 +3833,7 @@ export declare const appRouter: {
3830
3833
  }, undefined>, import("@orpc/server").Schema<{
3831
3834
  id: number;
3832
3835
  email: string;
3836
+ slug: string;
3833
3837
  name: string | null;
3834
3838
  avatarUrl: string | null;
3835
3839
  role: "subscriber" | "contributor" | "author" | "editor" | "admin";
@@ -3841,6 +3845,7 @@ export declare const appRouter: {
3841
3845
  }, {
3842
3846
  id: number;
3843
3847
  email: string;
3848
+ slug: string;
3844
3849
  name: string | null;
3845
3850
  avatarUrl: string | null;
3846
3851
  role: "subscriber" | "contributor" | "author" | "editor" | "admin";
@@ -3976,6 +3981,7 @@ export declare const appRouter: {
3976
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<{
3977
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>]>;
3978
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>;
3979
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>;
3980
3986
  readonly role: import("valibot").OptionalSchema<import("valibot").PicklistSchema<readonly ["subscriber", "contributor", "author", "editor", "admin"], undefined>, undefined>;
3981
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<{
@@ -3984,6 +3990,7 @@ export declare const appRouter: {
3984
3990
  }, undefined>, import("@orpc/server").Schema<{
3985
3991
  id: number;
3986
3992
  email: string;
3993
+ slug: string;
3987
3994
  name: string | null;
3988
3995
  avatarUrl: string | null;
3989
3996
  role: "subscriber" | "contributor" | "author" | "editor" | "admin";
@@ -3995,6 +4002,7 @@ export declare const appRouter: {
3995
4002
  }, {
3996
4003
  id: number;
3997
4004
  email: string;
4005
+ slug: string;
3998
4006
  name: string | null;
3999
4007
  avatarUrl: string | null;
4000
4008
  role: "subscriber" | "contributor" | "author" | "editor" | "admin";
@@ -4065,6 +4073,7 @@ export declare const appRouter: {
4065
4073
  }, undefined>, import("@orpc/server").Schema<{
4066
4074
  id: number;
4067
4075
  email: string;
4076
+ slug: string;
4068
4077
  name: string | null;
4069
4078
  avatarUrl: string | null;
4070
4079
  role: "subscriber" | "contributor" | "author" | "editor" | "admin";
@@ -4076,6 +4085,7 @@ export declare const appRouter: {
4076
4085
  }, {
4077
4086
  id: number;
4078
4087
  email: string;
4088
+ slug: string;
4079
4089
  name: string | null;
4080
4090
  avatarUrl: string | null;
4081
4091
  role: "subscriber" | "contributor" | "author" | "editor" | "admin";
@@ -4146,6 +4156,7 @@ export declare const appRouter: {
4146
4156
  }, undefined>, import("@orpc/server").Schema<{
4147
4157
  id: number;
4148
4158
  email: string;
4159
+ slug: string;
4149
4160
  name: string | null;
4150
4161
  avatarUrl: string | null;
4151
4162
  role: "subscriber" | "contributor" | "author" | "editor" | "admin";
@@ -4157,6 +4168,7 @@ export declare const appRouter: {
4157
4168
  }, {
4158
4169
  id: number;
4159
4170
  email: string;
4171
+ slug: string;
4160
4172
  name: string | null;
4161
4173
  avatarUrl: string | null;
4162
4174
  role: "subscriber" | "contributor" | "author" | "editor" | "admin";
@@ -4228,6 +4240,7 @@ export declare const appRouter: {
4228
4240
  }, undefined>, import("@orpc/server").Schema<{
4229
4241
  id: number;
4230
4242
  email: string;
4243
+ slug: string;
4231
4244
  name: string | null;
4232
4245
  avatarUrl: string | null;
4233
4246
  role: "subscriber" | "contributor" | "author" | "editor" | "admin";
@@ -4239,6 +4252,7 @@ export declare const appRouter: {
4239
4252
  }, {
4240
4253
  id: number;
4241
4254
  email: string;
4255
+ slug: string;
4242
4256
  name: string | null;
4243
4257
  avatarUrl: string | null;
4244
4258
  role: "subscriber" | "contributor" | "author" | "editor" | "admin";
@@ -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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"}