@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.
- package/dist/auth/authenticator.d.ts +8 -1
- package/dist/auth/authenticator.d.ts.map +1 -1
- package/dist/auth/authenticator.js +15 -0
- package/dist/auth/authenticator.js.map +1 -1
- package/dist/auth/bearer.js +2 -2
- package/dist/auth/bearer.js.map +1 -1
- package/dist/cache/decision.d.ts +7 -3
- package/dist/cache/decision.d.ts.map +1 -1
- package/dist/cache/decision.js +8 -6
- package/dist/cache/decision.js.map +1 -1
- package/dist/cache/read-through.d.ts +3 -0
- package/dist/cache/read-through.d.ts.map +1 -1
- package/dist/cache/read-through.js +14 -7
- package/dist/cache/read-through.js.map +1 -1
- package/dist/config.d.ts +9 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +1 -0
- package/dist/config.js.map +1 -1
- package/dist/context/app.d.ts +38 -6
- package/dist/context/app.d.ts.map +1 -1
- package/dist/context/app.js +41 -8
- package/dist/context/app.js.map +1 -1
- package/dist/context/collector.d.ts +9 -0
- package/dist/context/collector.d.ts.map +1 -0
- package/dist/context/collector.js +130 -0
- package/dist/context/collector.js.map +1 -0
- package/dist/context/index.d.ts +1 -0
- package/dist/context/index.d.ts.map +1 -1
- package/dist/context/index.js +1 -0
- package/dist/context/index.js.map +1 -1
- package/dist/context/stores.d.ts +2 -9
- package/dist/context/stores.d.ts.map +1 -1
- package/dist/context/stores.js.map +1 -1
- package/dist/context/telemetry.d.ts +148 -0
- package/dist/context/telemetry.d.ts.map +1 -0
- package/dist/context/telemetry.js +20 -0
- package/dist/context/telemetry.js.map +1 -0
- package/dist/context/traced-fetch.d.ts +14 -0
- package/dist/context/traced-fetch.d.ts.map +1 -0
- package/dist/context/traced-fetch.js +33 -0
- package/dist/context/traced-fetch.js.map +1 -0
- package/dist/db/libsql.d.ts.map +1 -1
- package/dist/db/libsql.js +6 -12
- package/dist/db/libsql.js.map +1 -1
- package/dist/db/query-kind.d.ts +8 -0
- package/dist/db/query-kind.d.ts.map +1 -0
- package/dist/db/query-kind.js +11 -0
- package/dist/db/query-kind.js.map +1 -0
- package/dist/db/trace-libsql.d.ts +15 -0
- package/dist/db/trace-libsql.d.ts.map +1 -0
- package/dist/db/trace-libsql.js +37 -0
- package/dist/db/trace-libsql.js.map +1 -0
- package/dist/db/trace.d.ts +21 -0
- package/dist/db/trace.d.ts.map +1 -0
- package/dist/db/trace.js +64 -0
- package/dist/db/trace.js.map +1 -0
- package/dist/debug-bar/consumer.d.ts +12 -0
- package/dist/debug-bar/consumer.d.ts.map +1 -0
- package/dist/debug-bar/consumer.js +13 -0
- package/dist/debug-bar/consumer.js.map +1 -0
- package/dist/debug-bar/format-param.d.ts +6 -4
- package/dist/debug-bar/format-param.d.ts.map +1 -1
- package/dist/debug-bar/format-param.js +6 -9
- package/dist/debug-bar/format-param.js.map +1 -1
- package/dist/debug-bar/highlight-sql.d.ts +0 -3
- package/dist/debug-bar/highlight-sql.d.ts.map +1 -1
- package/dist/debug-bar/highlight-sql.js +0 -6
- package/dist/debug-bar/highlight-sql.js.map +1 -1
- package/dist/debug-bar/panels/database.d.ts +6 -4
- package/dist/debug-bar/panels/database.d.ts.map +1 -1
- package/dist/debug-bar/panels/database.js +44 -8
- package/dist/debug-bar/panels/database.js.map +1 -1
- package/dist/debug-bar/panels/template.d.ts +1 -1
- package/dist/debug-bar/panels/template.d.ts.map +1 -1
- package/dist/debug-bar/panels/template.js +16 -2
- package/dist/debug-bar/panels/template.js.map +1 -1
- package/dist/debug-bar/panels/timeline.js +1 -1
- package/dist/debug-bar/panels/timeline.js.map +1 -1
- package/dist/debug-bar/styles.d.ts.map +1 -1
- package/dist/debug-bar/styles.js +5 -0
- package/dist/debug-bar/styles.js.map +1 -1
- package/dist/debug-bar/timeline-model.d.ts +3 -3
- package/dist/debug-bar/timeline-model.d.ts.map +1 -1
- package/dist/debug-bar/timeline-model.js +1 -1
- package/dist/debug-bar/timeline-model.js.map +1 -1
- package/dist/debug-bar/types.d.ts +1 -1
- package/dist/hooks/registry.d.ts.map +1 -1
- package/dist/hooks/registry.js +21 -3
- package/dist/hooks/registry.js.map +1 -1
- package/dist/index.d.ts +4 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -4
- package/dist/index.js.map +1 -1
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +9 -3
- package/dist/mcp/server.js.map +1 -1
- package/dist/plugin/manifest.d.ts +17 -0
- package/dist/plugin/manifest.d.ts.map +1 -1
- package/dist/plugin/manifest.js +7 -2
- package/dist/plugin/manifest.js.map +1 -1
- package/dist/plugin/provides-context.d.ts.map +1 -1
- package/dist/plugin/provides-context.js +5 -0
- package/dist/plugin/provides-context.js.map +1 -1
- package/dist/rest/build-handler.d.ts.map +1 -1
- package/dist/rest/build-handler.js +14 -1
- package/dist/rest/build-handler.js.map +1 -1
- package/dist/revisions/snapshot-envelope.d.ts +4 -2
- package/dist/revisions/snapshot-envelope.d.ts.map +1 -1
- package/dist/revisions/snapshot-envelope.js +6 -3
- package/dist/revisions/snapshot-envelope.js.map +1 -1
- package/dist/route/render/render-template.d.ts.map +1 -1
- package/dist/route/render/render-template.js +23 -14
- package/dist/route/render/render-template.js.map +1 -1
- package/dist/route/render/template-builders.d.ts +12 -0
- package/dist/route/render/template-builders.d.ts.map +1 -1
- package/dist/route/render/template-builders.js +20 -0
- package/dist/route/render/template-builders.js.map +1 -1
- package/dist/route/resolve.d.ts.map +1 -1
- package/dist/route/resolve.js +4 -1
- package/dist/route/resolve.js.map +1 -1
- package/dist/rpc/authenticated.d.ts.map +1 -1
- package/dist/rpc/authenticated.js +2 -1
- package/dist/rpc/authenticated.js.map +1 -1
- package/dist/rpc/build-handler.d.ts.map +1 -1
- package/dist/rpc/build-handler.js +12 -0
- package/dist/rpc/build-handler.js.map +1 -1
- package/dist/rpc/procedures/auth/session.d.ts.map +1 -1
- package/dist/rpc/procedures/auth/session.js +2 -1
- package/dist/rpc/procedures/auth/session.js.map +1 -1
- package/dist/rpc/procedures/entry/helpers.d.ts +21 -0
- package/dist/rpc/procedures/entry/helpers.d.ts.map +1 -1
- package/dist/rpc/procedures/entry/helpers.js +44 -0
- package/dist/rpc/procedures/entry/helpers.js.map +1 -1
- package/dist/rpc/procedures/entry/index.d.ts +1 -0
- package/dist/rpc/procedures/entry/index.d.ts.map +1 -1
- package/dist/rpc/procedures/entry/schemas.d.ts +2 -0
- package/dist/rpc/procedures/entry/schemas.d.ts.map +1 -1
- package/dist/rpc/procedures/entry/schemas.js +7 -0
- package/dist/rpc/procedures/entry/schemas.js.map +1 -1
- package/dist/rpc/procedures/entry/update.d.ts +1 -0
- package/dist/rpc/procedures/entry/update.d.ts.map +1 -1
- package/dist/rpc/procedures/entry/update.js +10 -5
- package/dist/rpc/procedures/entry/update.js.map +1 -1
- package/dist/rpc/procedures/user/index.d.ts +1 -0
- package/dist/rpc/procedures/user/index.d.ts.map +1 -1
- package/dist/rpc/procedures/user/schemas.d.ts +1 -0
- package/dist/rpc/procedures/user/schemas.d.ts.map +1 -1
- package/dist/rpc/procedures/user/schemas.js +5 -0
- package/dist/rpc/procedures/user/schemas.js.map +1 -1
- package/dist/rpc/procedures/user/update.d.ts +1 -0
- package/dist/rpc/procedures/user/update.d.ts.map +1 -1
- package/dist/rpc/procedures/user/update.js +10 -1
- package/dist/rpc/procedures/user/update.js.map +1 -1
- package/dist/rpc/router.d.ts +2 -0
- package/dist/rpc/router.d.ts.map +1 -1
- package/dist/rpc/schemas.js +6 -6
- package/dist/rpc/schemas.js.map +1 -1
- package/dist/rpc/validation.d.ts +10 -0
- package/dist/rpc/validation.d.ts.map +1 -1
- package/dist/rpc/validation.js +10 -0
- package/dist/rpc/validation.js.map +1 -1
- package/dist/runtime/dispatcher.d.ts.map +1 -1
- package/dist/runtime/dispatcher.js +35 -8
- package/dist/runtime/dispatcher.js.map +1 -1
- package/dist/runtime/load-user-for-public-request.d.ts.map +1 -1
- package/dist/runtime/load-user-for-public-request.js +2 -2
- package/dist/runtime/load-user-for-public-request.js.map +1 -1
- package/dist/runtime/scheduled.d.ts +3 -1
- package/dist/runtime/scheduled.d.ts.map +1 -1
- package/dist/runtime/scheduled.js +16 -2
- package/dist/runtime/scheduled.js.map +1 -1
- package/dist/runtime/telemetry-delivery.d.ts +14 -0
- package/dist/runtime/telemetry-delivery.d.ts.map +1 -0
- package/dist/runtime/telemetry-delivery.js +39 -0
- package/dist/runtime/telemetry-delivery.js.map +1 -0
- package/dist/test/dispatcher.d.ts +13 -0
- package/dist/test/dispatcher.d.ts.map +1 -1
- package/dist/test/dispatcher.js +9 -3
- package/dist/test/dispatcher.js.map +1 -1
- package/dist/test/harness.d.ts.map +1 -1
- package/dist/test/harness.js +4 -12
- package/dist/test/harness.js.map +1 -1
- package/package.json +2 -2
- package/dist/context/debug.d.ts +0 -25
- package/dist/context/debug.d.ts.map +0 -1
- package/dist/context/debug.js +0 -13
- package/dist/context/debug.js.map +0 -1
- package/dist/debug-bar/collector.d.ts +0 -9
- package/dist/debug-bar/collector.d.ts.map +0 -1
- package/dist/debug-bar/collector.js +0 -80
- package/dist/debug-bar/collector.js.map +0 -1
- package/dist/debug-bar/db-query.d.ts +0 -21
- package/dist/debug-bar/db-query.d.ts.map +0 -1
- package/dist/debug-bar/db-query.js +0 -23
- package/dist/debug-bar/db-query.js.map +0 -1
- package/dist/debug-bar/trace-libsql.d.ts +0 -18
- package/dist/debug-bar/trace-libsql.d.ts.map +0 -1
- package/dist/debug-bar/trace-libsql.js +0 -42
- 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":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAC;AAE7B,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAE/D,MAAM,CAAC,MAAM,iBAAiB,GAAG,SAAS,CAAC;AAC3C,MAAM,kBAAkB,GAAG,GAAG,CAAC;AAC/B,uEAAuE;AACvE,8DAA8D;AAC9D,MAAM,sBAAsB,GAAG,GAAG,CAAC;AAEnC,MAAM,WAAW,GAAG,CAAC,GAAW,EAAE,EAAE,CAClC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;AAEjE,uEAAuE;AACvE,mEAAmE;AACnE,sEAAsE;AACtE,yDAAyD;AACzD,MAAM,aAAa,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;AACpE,MAAM,aAAa,GAAG,CAAC,CAAC,QAAQ,CAC9B,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC,CACpD,CAAC;AAEF,MAAM,oBAAoB,GAAG;IAC3B,IAAI;IACJ,UAAU;IACV,aAAa;IACb,WAAW;IACX,WAAW;CACH,CAAC;AAEX,MAAM,oBAAoB,GAAG,CAAC,CAAC,IAAI,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,CAAC;AAE7E,+EAA+E;AAC/E,4DAA4D;AAC5D,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAC9B,CAAC,CAAC,IAAI,CACJ,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,kBAAkB,EAAE,wCAAwC,CAAC,CACtE,EACD,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,sBAAsB,CAAC,CAAC,CAC9D,CAAC;AAEF,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7C,GAAG,oBAAoB,CAAC,OAAO;IAC/B,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IAC1C,KAAK,EAAE,WAAW,CAAC,GAAG,CAAC;IACvB,IAAI,EAAE,UAAU;IAChB,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC;IAClC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC;IAClC,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,oBAAoB,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC;IAChE,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IACzC,SAAS,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACxE,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC;IAClC,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC;IACjC,qFAAqF;IACrF,WAAW,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;CAClC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7C,EAAE,EAAE,OAAO;IACX,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IACnC,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC;IAC5B,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC;IAClC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC;IAClC,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,oBAAoB,CAAC,OAAO,CAAC,MAAM,CAAC;IACvD,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IACzC,SAAS,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IACrE,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC;IAClC,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC;IACjC,qFAAqF;IACrF,WAAW,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACjC;;;;;OAKG;IACH,qBAAqB,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC3C;;;;;;OAMG;IACH,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE,MAAM,CAAU,CAAC,CAAC;CAC3D,CAAC,CAAC;AAEH,yEAAyE;AACzE,8EAA8E;AAC9E,yEAAyE;AACzE,4CAA4C;AAC5C,MAAM,2BAA2B,GAAG,EAAE,CAAC;AAEvC,MAAM,kBAAkB,GAAG,CAAC,CAAC,IAAI,CAC/B,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,kBAAkB,EAAE,wCAAwC,CAAC,CACtE,CAAC;AAEF,MAAM,cAAc,GAAG,CAAC,CAAC,IAAI,CAC3B,CAAC,CAAC,MAAM,EAAE,EACV,CAAC,CAAC,IAAI,EAAE,EACR,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EACd,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CACjB,CAAC;AAEF,sEAAsE;AACtE,wEAAwE;AACxE,0EAA0E;AAC1E,mCAAmC;AACnC,MAAM,CAAC,MAAM,wBAAwB,GAAG;IACtC,YAAY;IACZ,cAAc;IACd,OAAO;IACP,YAAY;CACJ,CAAC;AAGX,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAClC;;;;;;OAMG;IACH,MAAM,EAAE,CAAC,CAAC,QAAQ,CAChB,CAAC,CAAC,KAAK,CAAC;QACN,oBAAoB,CAAC,OAAO,CAAC,MAAM;QACnC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,oBAAoB,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;KACrE,CAAC,CACH;IACD;;;OAGG;IACH,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC;IAC7B;;;;;OAKG;IACH,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IACzC;;;;;OAKG;IACH,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;IAClE;;;;;;;;OAQG;IACH,cAAc,EAAE,CAAC,CAAC,QAAQ,CACxB,CAAC,CAAC,MAAM,CACN,kBAAkB,EAClB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,2BAA2B,CAAC,CAAC,CAC1E,CACF;IACD;;;;OAIG;IACH,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,wBAAwB,CAAC,EAAE,YAAY,CAAC;IACvE,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,MAAM,CAAU,CAAC,EAAE,MAAM,CAAC;IAC/D,KAAK,EAAE,CAAC,CAAC,QAAQ,CACf,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAC/D,EAAE,CACH;IACD,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;CACtE,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,EAAE,EAAE,OAAO;IACX;;;;;OAKG;IACH,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;CACjC,CAAC,CAAC;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;AAC/D,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;AACjE,MAAM,CAAC,MAAM,+BAA+B,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;AACzE,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;AACnE,MAAM,CAAC,MAAM,iCAAiC,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;AAE3E,MAAM,CAAC,MAAM,kCAAkC,GAAG,CAAC,CAAC,MAAM,CAAC;IACzD,EAAE,EAAE,OAAO;IACX,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;CAC5C,CAAC,CAAC;AAEH,oEAAoE;AACpE,uEAAuE;AACvE,MAAM,aAAa,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7B,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;CAChE,CAAC,CAAC;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,aAAa,CAAC;AACvD,MAAM,CAAC,MAAM,2BAA2B,GAAG,aAAa,CAAC;AACzD,MAAM,CAAC,MAAM,mCAAmC,GAAG,aAAa,CAAC;AAEjE,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAC,CAAC,MAAM,CAAC;IACrD,KAAK,EAAE,CAAC,CAAC,QAAQ,CACf,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,EAC9D,EAAE,CACH;CACF,CAAC,CAAC"}
|
|
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;
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
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;
|
|
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;
|
|
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":"AAEA,OAAO,EAAE,4BAA4B,EAAE,MAAM,2BAA2B,CAAC;AACzE,OAAO,
|
|
1
|
+
{"version":3,"file":"update.js","sourceRoot":"","sources":["../../../../src/rpc/procedures/user/update.ts"],"names":[],"mappings":"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"}
|
package/dist/rpc/router.d.ts
CHANGED
|
@@ -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<{
|
package/dist/rpc/router.d.ts.map
CHANGED
|
@@ -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
|
|
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"}
|
package/dist/rpc/schemas.js
CHANGED
|
@@ -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.
|
|
4
|
-
//
|
|
5
|
-
// routers can tighten further via
|
|
6
|
-
// stricter bound emerges.
|
|
7
|
-
const
|
|
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
|
package/dist/rpc/schemas.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../src/rpc/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAC;AAE7B,
|
|
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"}
|
package/dist/rpc/validation.d.ts
CHANGED
|
@@ -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"}
|
package/dist/rpc/validation.js
CHANGED
|
@@ -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;
|
|
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
|
-
//
|
|
93
|
-
//
|
|
94
|
-
|
|
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
|
-
|
|
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.
|
|
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
|
|
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
|
|
638
|
+
? await authenticateTraced(ctx, ctx.authenticator)
|
|
612
639
|
: null;
|
|
613
640
|
const locale = resolveLocale({
|
|
614
641
|
request: ctx.request,
|