@plumix/core 0.4.0 → 0.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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 +50 -6
- package/dist/context/app.d.ts.map +1 -1
- package/dist/context/app.js +51 -12
- 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/memo.d.ts +22 -0
- package/dist/context/memo.d.ts.map +1 -0
- package/dist/context/memo.js +27 -0
- package/dist/context/memo.js.map +1 -0
- 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/context/traced-slots.d.ts +17 -0
- package/dist/context/traced-slots.d.ts.map +1 -0
- package/dist/context/traced-slots.js +57 -0
- package/dist/context/traced-slots.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/entries/read-service.d.ts +6 -0
- package/dist/entries/read-service.d.ts.map +1 -1
- package/dist/entries/read-service.js +14 -0
- package/dist/entries/read-service.js.map +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 +7 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -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/fields/entry.d.ts +8 -0
- package/dist/plugin/fields/entry.d.ts.map +1 -1
- package/dist/plugin/fields/entry.js.map +1 -1
- package/dist/plugin/lookup.d.ts +4 -9
- package/dist/plugin/lookup.d.ts.map +1 -1
- package/dist/plugin/manifest.d.ts +28 -32
- 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/plugin/setup-context.d.ts +5 -0
- package/dist/plugin/setup-context.d.ts.map +1 -1
- package/dist/plugin/setup-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/asset-manifest.d.ts +1 -1
- package/dist/route/render/asset-manifest.d.ts.map +1 -1
- package/dist/route/render/asset-manifest.js +7 -1
- package/dist/route/render/asset-manifest.js.map +1 -1
- package/dist/route/render/build-resolved-entries.d.ts.map +1 -1
- package/dist/route/render/build-resolved-entries.js +18 -10
- package/dist/route/render/build-resolved-entries.js.map +1 -1
- package/dist/route/render/render-template.d.ts +1 -1
- package/dist/route/render/render-template.d.ts.map +1 -1
- package/dist/route/render/render-template.js +61 -35
- 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/meta/core.d.ts +3 -4
- package/dist/rpc/meta/core.d.ts.map +1 -1
- package/dist/rpc/meta/core.js +87 -152
- package/dist/rpc/meta/core.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/lookup.js +14 -11
- package/dist/rpc/procedures/entry/lookup.js.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/lookup.errors.d.ts +2 -1
- package/dist/rpc/procedures/lookup.errors.d.ts.map +1 -1
- package/dist/rpc/procedures/lookup.errors.js +3 -0
- package/dist/rpc/procedures/lookup.errors.js.map +1 -1
- package/dist/rpc/procedures/term/lookup.js +3 -8
- package/dist/rpc/procedures/term/lookup.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 +105 -37
- 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/telemetry-otel.d.ts +29 -0
- package/dist/telemetry-otel.d.ts.map +1 -0
- package/dist/telemetry-otel.js +218 -0
- package/dist/telemetry-otel.js.map +1 -0
- package/dist/template-deps-core.d.ts.map +1 -1
- package/dist/template-deps-core.js +31 -14
- package/dist/template-deps-core.js.map +1 -1
- package/dist/template-deps.d.ts.map +1 -1
- package/dist/template-deps.js +12 -8
- package/dist/template-deps.js.map +1 -1
- 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/dist/test/index.d.ts +3 -0
- package/dist/test/index.d.ts.map +1 -1
- package/dist/test/index.js +4 -0
- package/dist/test/index.js.map +1 -1
- package/dist/test/traced-context.d.ts +17 -0
- package/dist/test/traced-context.d.ts.map +1 -0
- package/dist/test/traced-context.js +28 -0
- package/dist/test/traced-context.js.map +1 -0
- package/package.json +6 -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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../../src/rpc/meta/core.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAG5D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAEvD,OAAO,KAAK,EACV,YAAY,EAGb,MAAM,0BAA0B,CAAC;AAgBlC,KAAK,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAEvC
|
|
1
|
+
{"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../../src/rpc/meta/core.ts"],"names":[],"mappings":"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"}
|
package/dist/rpc/meta/core.js
CHANGED
|
@@ -133,25 +133,13 @@ export async function validateMetaReferences(ctx, findField, patch) {
|
|
|
133
133
|
throw MetaSanitizationError.invalidValue({ key });
|
|
134
134
|
}
|
|
135
135
|
const ids = referenceIdsForValidation(key, value, target, fieldMax(field));
|
|
136
|
+
// Normalize eagerly — a validation failure below aborts the whole
|
|
137
|
+
// save, so a rewritten patch never persists on the failure path.
|
|
138
|
+
patch.upserts.set(key, target.multiple ? ids : ids[0]);
|
|
136
139
|
const group = upsertGroup(groups, target, registered);
|
|
137
140
|
for (const id of ids)
|
|
138
141
|
group.ids.add(id);
|
|
139
|
-
group.contributions.push({
|
|
140
|
-
errorKey: key,
|
|
141
|
-
ids,
|
|
142
|
-
applyNormalize: (rowsById) => {
|
|
143
|
-
if (target.valueShape !== "object")
|
|
144
|
-
return;
|
|
145
|
-
if (target.multiple) {
|
|
146
|
-
patch.upserts.set(key, ids.map((id) => buildCachedReference(id, rowsById)));
|
|
147
|
-
return;
|
|
148
|
-
}
|
|
149
|
-
const [singleId] = ids;
|
|
150
|
-
if (singleId !== undefined) {
|
|
151
|
-
patch.upserts.set(key, buildCachedReference(singleId, rowsById));
|
|
152
|
-
}
|
|
153
|
-
},
|
|
154
|
-
});
|
|
142
|
+
group.contributions.push({ errorKey: key, ids });
|
|
155
143
|
continue;
|
|
156
144
|
}
|
|
157
145
|
// Repeater fields don't carry a `referenceTarget` themselves but
|
|
@@ -169,11 +157,10 @@ export async function validateMetaReferences(ctx, findField, patch) {
|
|
|
169
157
|
for (const group of groups.values()) {
|
|
170
158
|
if (group.ids.size === 0)
|
|
171
159
|
continue;
|
|
172
|
-
const
|
|
173
|
-
const rowsById = new Map(liveRows.map((r) => [r.id, r]));
|
|
160
|
+
const liveIds = await fetchLiveIds(ctx, group.registered, group.scope, group.ids, "validateMetaReferences");
|
|
174
161
|
for (const contribution of group.contributions) {
|
|
175
162
|
for (const id of contribution.ids) {
|
|
176
|
-
if (!
|
|
163
|
+
if (!liveIds.has(id)) {
|
|
177
164
|
if (contribution.diagnostic !== undefined) {
|
|
178
165
|
// Wire error keys on the top-level field; this log line
|
|
179
166
|
// is the only place the row index + subKey surface, so
|
|
@@ -192,7 +179,6 @@ export async function validateMetaReferences(ctx, findField, patch) {
|
|
|
192
179
|
});
|
|
193
180
|
}
|
|
194
181
|
}
|
|
195
|
-
contribution.applyNormalize(rowsById);
|
|
196
182
|
}
|
|
197
183
|
}
|
|
198
184
|
}
|
|
@@ -222,30 +208,17 @@ function collectRepeaterReferences(ctx, topKey, field, rows, groups) {
|
|
|
222
208
|
throw MetaSanitizationError.invalidValue({ key: topKey });
|
|
223
209
|
}
|
|
224
210
|
const ids = referenceIdsForValidation(topKey, subValue, target, fieldMax(subField));
|
|
211
|
+
// Normalize the row's slot in place — the top-level upsert array
|
|
212
|
+
// is the live storage shape, so mutating an object inside it is
|
|
213
|
+
// what the caller will serialize.
|
|
214
|
+
rowObj[subField.key] = target.multiple ? ids : ids[0];
|
|
225
215
|
const group = upsertGroup(groups, target, registered);
|
|
226
216
|
for (const id of ids)
|
|
227
217
|
group.ids.add(id);
|
|
228
|
-
const subKey = subField.key;
|
|
229
218
|
group.contributions.push({
|
|
230
219
|
errorKey: topKey,
|
|
231
220
|
ids,
|
|
232
|
-
diagnostic: { rowIdx, subKey },
|
|
233
|
-
applyNormalize: (rowsById) => {
|
|
234
|
-
if (target.valueShape !== "object")
|
|
235
|
-
return;
|
|
236
|
-
// Rewrite the row's cached-object value in place — the
|
|
237
|
-
// top-level upsert array is the live storage shape, so
|
|
238
|
-
// mutating an object inside it is what the caller will
|
|
239
|
-
// serialize.
|
|
240
|
-
if (target.multiple) {
|
|
241
|
-
rowObj[subKey] = ids.map((id) => buildCachedReference(id, rowsById));
|
|
242
|
-
return;
|
|
243
|
-
}
|
|
244
|
-
const [singleId] = ids;
|
|
245
|
-
if (singleId !== undefined) {
|
|
246
|
-
rowObj[subKey] = buildCachedReference(singleId, rowsById);
|
|
247
|
-
}
|
|
248
|
-
},
|
|
221
|
+
diagnostic: { rowIdx, subKey: subField.key },
|
|
249
222
|
});
|
|
250
223
|
}
|
|
251
224
|
}
|
|
@@ -264,13 +237,6 @@ function upsertGroup(groups, target, registered) {
|
|
|
264
237
|
}
|
|
265
238
|
return group;
|
|
266
239
|
}
|
|
267
|
-
// Adapter cached fields override anything; user-supplied non-id keys
|
|
268
|
-
// don't survive. Per-usage user fields (e.g. alt overrides) are a
|
|
269
|
-
// post-v0.1 feature — when added, this is where they'd merge in.
|
|
270
|
-
function buildCachedReference(id, rowsById) {
|
|
271
|
-
const row = rowsById.get(id);
|
|
272
|
-
return { id, ...(row?.cached ?? {}) };
|
|
273
|
-
}
|
|
274
240
|
// Defense-in-depth ceiling on the internal-aggregated id-batch size.
|
|
275
241
|
// Above this, the live-id fetch throws rather than silently truncating.
|
|
276
242
|
// The wire cap (100) and per-field cap (`HARD_MULTI_REFERENCE_LIMIT`,
|
|
@@ -305,20 +271,17 @@ function referenceGroupKey(target) {
|
|
|
305
271
|
// 100, so we only hit the ceiling when many fields share `(kind, scope)`
|
|
306
272
|
// and aggregate — at which point throwing beats silent truncation
|
|
307
273
|
// (truncation would either reject valid writes or hide live targets).
|
|
308
|
-
|
|
309
|
-
// Returns `LookupResult[]` rather than just live ids so the validator
|
|
310
|
-
// can read `cached` for the cached-object normalize step. Callers that
|
|
311
|
-
// only care about presence build a `Set` from the row ids.
|
|
312
|
-
async function fetchLiveRows(ctx, registered, scope, ids, callsite) {
|
|
274
|
+
async function fetchLiveIds(ctx, registered, scope, ids, callsite) {
|
|
313
275
|
if (ids.size > MAX_REFERENCE_GROUP_BATCH) {
|
|
314
276
|
throw MetaReferenceError.batchSizeExceeded(callsite, ids.size, MAX_REFERENCE_GROUP_BATCH);
|
|
315
277
|
}
|
|
316
278
|
const idList = [...ids];
|
|
317
|
-
|
|
279
|
+
const rows = await registered.adapter.list(ctx, {
|
|
318
280
|
ids: idList,
|
|
319
281
|
scope,
|
|
320
282
|
limit: idList.length,
|
|
321
283
|
});
|
|
284
|
+
return new Set(rows.map((row) => row.id));
|
|
322
285
|
}
|
|
323
286
|
// Defensive upper bound on multi-reference array length, applied
|
|
324
287
|
// per-field before grouping. Even with the batched `list({ ids })`
|
|
@@ -328,18 +291,11 @@ async function fetchLiveRows(ctx, registered, scope, ids, callsite) {
|
|
|
328
291
|
// can declare a lower `max` and the validator picks the smaller.
|
|
329
292
|
const HARD_MULTI_REFERENCE_LIMIT = 100;
|
|
330
293
|
// Validates the wire shape of a reference value and returns the ids
|
|
331
|
-
// to feed into the group's batched `list({ ids })` call.
|
|
332
|
-
//
|
|
333
|
-
//
|
|
334
|
-
//
|
|
335
|
-
//
|
|
336
|
-
// cached-object reference
|
|
337
|
-
// (or bare strings for
|
|
338
|
-
// leniency on first write)
|
|
339
|
-
// - multi=false, valueShape="id" (default): bare string id
|
|
340
|
-
// - multi=false, valueShape="object": `{ id: string, ... }`
|
|
341
|
-
// (or a bare string for
|
|
342
|
-
// leniency on first write)
|
|
294
|
+
// to feed into the group's batched `list({ ids })` call. Storage is
|
|
295
|
+
// plain ids — a bare string (single) or string[] (multi) — but each
|
|
296
|
+
// slot leniently accepts the retired cached-object shape
|
|
297
|
+
// (`{ id, ... }`) so legacy values self-heal to the plain form on
|
|
298
|
+
// the entity's next save.
|
|
343
299
|
function referenceIdsForValidation(key, value, target, max) {
|
|
344
300
|
if (target.multiple) {
|
|
345
301
|
if (!Array.isArray(value)) {
|
|
@@ -351,47 +307,17 @@ function referenceIdsForValidation(key, value, target, max) {
|
|
|
351
307
|
if (max !== undefined && value.length > max) {
|
|
352
308
|
throw MetaSanitizationError.invalidValue({ key });
|
|
353
309
|
}
|
|
354
|
-
|
|
355
|
-
// Lenient on input: each item can be `"42"` (first-write
|
|
356
|
-
// convenience) or `{ id: "42", ... }`. Always rewritten to the
|
|
357
|
-
// canonical `{ id, ...cached }` shape after the live-id check.
|
|
358
|
-
const ids = [];
|
|
359
|
-
for (const item of value) {
|
|
360
|
-
if (typeof item === "string" && item !== "") {
|
|
361
|
-
ids.push(item);
|
|
362
|
-
continue;
|
|
363
|
-
}
|
|
364
|
-
const id = extractStringId(item);
|
|
365
|
-
if (id !== null && id !== "") {
|
|
366
|
-
ids.push(id);
|
|
367
|
-
continue;
|
|
368
|
-
}
|
|
369
|
-
throw MetaSanitizationError.invalidValue({ key });
|
|
370
|
-
}
|
|
371
|
-
return ids;
|
|
372
|
-
}
|
|
373
|
-
for (const item of value) {
|
|
374
|
-
if (typeof item !== "string" || item === "") {
|
|
375
|
-
throw MetaSanitizationError.invalidValue({ key });
|
|
376
|
-
}
|
|
377
|
-
}
|
|
378
|
-
return value;
|
|
379
|
-
}
|
|
380
|
-
if (target.valueShape === "object") {
|
|
381
|
-
// Lenient on input: accept either `"42"` (first-write convenience)
|
|
382
|
-
// or `{ id: "42", ... }`. Always rewritten to the canonical
|
|
383
|
-
// `{ id, ...cached }` shape after the live-id check.
|
|
384
|
-
if (typeof value === "string" && value !== "")
|
|
385
|
-
return [value];
|
|
386
|
-
const id = extractStringId(value);
|
|
387
|
-
if (id !== null && id !== "")
|
|
388
|
-
return [id];
|
|
389
|
-
throw MetaSanitizationError.invalidValue({ key });
|
|
390
|
-
}
|
|
391
|
-
if (typeof value !== "string") {
|
|
392
|
-
throw MetaSanitizationError.invalidValue({ key });
|
|
310
|
+
return value.map((item) => referenceItemId(key, item));
|
|
393
311
|
}
|
|
394
|
-
return [value];
|
|
312
|
+
return [referenceItemId(key, value)];
|
|
313
|
+
}
|
|
314
|
+
function referenceItemId(key, item) {
|
|
315
|
+
if (typeof item === "string" && item !== "")
|
|
316
|
+
return item;
|
|
317
|
+
const id = extractStringId(item);
|
|
318
|
+
if (id !== null && id !== "")
|
|
319
|
+
return id;
|
|
320
|
+
throw MetaSanitizationError.invalidValue({ key });
|
|
395
321
|
}
|
|
396
322
|
// Returns the `id` string of a `{ id: string, ... }` object, or null
|
|
397
323
|
// for any other shape (string, array, null, primitive, missing key).
|
|
@@ -478,7 +404,6 @@ export async function filterMetaOrphans(ctx, findField, decoded) {
|
|
|
478
404
|
candidates.push({
|
|
479
405
|
key: occ.key,
|
|
480
406
|
multiple: occ.target.multiple === true,
|
|
481
|
-
valueShape: occ.target.valueShape ?? "id",
|
|
482
407
|
groupKey,
|
|
483
408
|
ids,
|
|
484
409
|
nested: occ.nested,
|
|
@@ -496,38 +421,26 @@ export async function filterMetaOrphans(ctx, findField, decoded) {
|
|
|
496
421
|
// Pass 2: one `list({ ids })` per group, keyed for O(1) apply lookup.
|
|
497
422
|
const liveIdsByGroup = new Map();
|
|
498
423
|
for (const [groupKey, group] of groups) {
|
|
499
|
-
const
|
|
500
|
-
liveIdsByGroup.set(groupKey,
|
|
501
|
-
}
|
|
502
|
-
// Pass 3: apply the filter.
|
|
503
|
-
//
|
|
504
|
-
//
|
|
505
|
-
//
|
|
506
|
-
// - single + object: null on missing; otherwise keep the stored
|
|
507
|
-
// cached value as-is (no read-time refresh — write rewrites)
|
|
508
|
-
// Nested-in-repeater candidates rewrite the row's subField slot in
|
|
509
|
-
// a per-key cloned array so the input bag stays untouched.
|
|
424
|
+
const liveIds = await fetchLiveIds(ctx, group.registered, group.scope, group.ids, "filterMetaOrphans");
|
|
425
|
+
liveIdsByGroup.set(groupKey, liveIds);
|
|
426
|
+
}
|
|
427
|
+
// Pass 3: apply the filter. Multi refs filter the string[] dense
|
|
428
|
+
// and in order; single refs null on missing. Nested-in-repeater
|
|
429
|
+
// candidates rewrite the row's subField slot in a per-key cloned
|
|
430
|
+
// array so the input bag stays untouched.
|
|
510
431
|
const out = { ...decoded };
|
|
511
432
|
const empty = new Set();
|
|
512
433
|
for (const candidate of candidates) {
|
|
513
|
-
const { key, multiple,
|
|
434
|
+
const { key, multiple, groupKey, ids, nested } = candidate;
|
|
514
435
|
const liveIds = liveIdsByGroup.get(groupKey) ?? empty;
|
|
515
436
|
if (nested !== undefined) {
|
|
516
437
|
const rowObj = takeWritableRow(out, decoded, key, nested.rowIdx);
|
|
517
438
|
if (!rowObj)
|
|
518
439
|
continue;
|
|
519
|
-
applyOrphanToSlot(rowObj, nested.subKey, multiple,
|
|
440
|
+
applyOrphanToSlot(rowObj, nested.subKey, multiple, ids, liveIds);
|
|
520
441
|
continue;
|
|
521
442
|
}
|
|
522
443
|
if (multiple) {
|
|
523
|
-
if (valueShape === "object") {
|
|
524
|
-
const stored = decoded[key];
|
|
525
|
-
out[key] = stored.filter((item) => {
|
|
526
|
-
const id = extractStringId(item);
|
|
527
|
-
return id !== null && liveIds.has(id);
|
|
528
|
-
});
|
|
529
|
-
continue;
|
|
530
|
-
}
|
|
531
444
|
out[key] = ids.filter((id) => liveIds.has(id));
|
|
532
445
|
continue;
|
|
533
446
|
}
|
|
@@ -560,16 +473,8 @@ function takeWritableRow(out, decoded, key, rowIdx) {
|
|
|
560
473
|
return null;
|
|
561
474
|
return row;
|
|
562
475
|
}
|
|
563
|
-
function applyOrphanToSlot(rowObj, subKey, multiple,
|
|
476
|
+
function applyOrphanToSlot(rowObj, subKey, multiple, ids, liveIds) {
|
|
564
477
|
if (multiple) {
|
|
565
|
-
if (valueShape === "object") {
|
|
566
|
-
const stored = rowObj[subKey];
|
|
567
|
-
rowObj[subKey] = stored.filter((item) => {
|
|
568
|
-
const id = extractStringId(item);
|
|
569
|
-
return id !== null && liveIds.has(id);
|
|
570
|
-
});
|
|
571
|
-
return;
|
|
572
|
-
}
|
|
573
478
|
rowObj[subKey] = ids.filter((id) => liveIds.has(id));
|
|
574
479
|
return;
|
|
575
480
|
}
|
|
@@ -582,29 +487,15 @@ function applyOrphanToSlot(rowObj, subKey, multiple, valueShape, ids, liveIds) {
|
|
|
582
487
|
// Returns `null` to mean "no candidates from this key" (skip), or
|
|
583
488
|
// the ids to feed into the group's batch query. Mirrors the storage-
|
|
584
489
|
// shape guards in the apply step so we don't enqueue work that's
|
|
585
|
-
// going to be skipped.
|
|
586
|
-
//
|
|
587
|
-
//
|
|
588
|
-
// normalize step, not on every render).
|
|
490
|
+
// going to be skipped. Callers pass values already decoded through
|
|
491
|
+
// `decodeMetaBag`, so legacy object shapes have been healed to plain
|
|
492
|
+
// ids by the time this runs.
|
|
589
493
|
function orphanCandidateIds(target, value) {
|
|
590
494
|
if (target.multiple) {
|
|
591
495
|
if (!Array.isArray(value))
|
|
592
496
|
return null;
|
|
593
|
-
if (target.valueShape === "object") {
|
|
594
|
-
const ids = [];
|
|
595
|
-
for (const item of value) {
|
|
596
|
-
const id = extractStringId(item);
|
|
597
|
-
if (id !== null)
|
|
598
|
-
ids.push(id);
|
|
599
|
-
}
|
|
600
|
-
return ids;
|
|
601
|
-
}
|
|
602
497
|
return value.filter((id) => typeof id === "string");
|
|
603
498
|
}
|
|
604
|
-
if (target.valueShape === "object") {
|
|
605
|
-
const id = extractStringId(value);
|
|
606
|
-
return id !== null ? [id] : null;
|
|
607
|
-
}
|
|
608
499
|
return typeof value === "string" ? [value] : null;
|
|
609
500
|
}
|
|
610
501
|
function referenceTargetOf(field) {
|
|
@@ -626,10 +517,54 @@ export function decodeMetaBag(findField, raw) {
|
|
|
626
517
|
const out = {};
|
|
627
518
|
for (const [key, value] of Object.entries(raw)) {
|
|
628
519
|
const field = findField(key);
|
|
629
|
-
out[key] = field ?
|
|
520
|
+
out[key] = field ? decodeFieldValue(field, value) : value;
|
|
630
521
|
}
|
|
631
522
|
return out;
|
|
632
523
|
}
|
|
524
|
+
// Reference storage is plain ids, but bags written before the
|
|
525
|
+
// write-time snapshot machinery was removed may hold `{ id, ... }`
|
|
526
|
+
// objects. Reads yield the id; the next save persists the plain form
|
|
527
|
+
// (`referenceItemId` accepts the legacy shape on write).
|
|
528
|
+
function decodeFieldValue(field, value) {
|
|
529
|
+
const target = referenceTargetOf(field);
|
|
530
|
+
if (target)
|
|
531
|
+
return healReferenceValue(target, value);
|
|
532
|
+
if (isRepeaterField(field) && Array.isArray(value)) {
|
|
533
|
+
return value.map((row) => healRepeaterRow(field, row));
|
|
534
|
+
}
|
|
535
|
+
return coerceOnRead(field.type, value);
|
|
536
|
+
}
|
|
537
|
+
function healReferenceValue(target, value) {
|
|
538
|
+
if (target.multiple) {
|
|
539
|
+
if (!Array.isArray(value))
|
|
540
|
+
return value;
|
|
541
|
+
// Identity-preserving on the already-plain path — `healRepeaterRow`
|
|
542
|
+
// clones a row only when the healed slot differs.
|
|
543
|
+
if (!value.some((item) => extractStringId(item) !== null)) {
|
|
544
|
+
return value;
|
|
545
|
+
}
|
|
546
|
+
return value.map((item) => extractStringId(item) ?? item);
|
|
547
|
+
}
|
|
548
|
+
return extractStringId(value) ?? value;
|
|
549
|
+
}
|
|
550
|
+
function healRepeaterRow(field, row) {
|
|
551
|
+
if (!row || typeof row !== "object" || Array.isArray(row))
|
|
552
|
+
return row;
|
|
553
|
+
const rowObj = row;
|
|
554
|
+
let healed = null;
|
|
555
|
+
for (const subField of field.subFields) {
|
|
556
|
+
const target = referenceTargetOf(subField);
|
|
557
|
+
if (!target)
|
|
558
|
+
continue;
|
|
559
|
+
const value = rowObj[subField.key];
|
|
560
|
+
const next = healReferenceValue(target, value);
|
|
561
|
+
if (next !== value) {
|
|
562
|
+
healed ??= { ...rowObj };
|
|
563
|
+
healed[subField.key] = next;
|
|
564
|
+
}
|
|
565
|
+
}
|
|
566
|
+
return healed ?? row;
|
|
567
|
+
}
|
|
633
568
|
export function isEmptyMetaPatch(patch) {
|
|
634
569
|
return (patch === null || (patch.upserts.size === 0 && patch.deletes.length === 0));
|
|
635
570
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core.js","sourceRoot":"","sources":["../../../src/rpc/meta/core.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"core.js","sourceRoot":"","sources":["../../../src/rpc/meta/core.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../../../src/rpc/procedures/auth/session.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../../../src/rpc/procedures/auth/session.ts"],"names":[],"mappings":"AAWA,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yBAoBnB,CAAC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { authenticateTraced } from "../../../auth/authenticator.js";
|
|
1
2
|
import { capabilitiesForRole } from "../../../auth/rbac.js";
|
|
2
3
|
import { users } from "../../../db/schema/users.js";
|
|
3
4
|
import { base } from "../../base.js";
|
|
@@ -7,7 +8,7 @@ import { base } from "../../base.js";
|
|
|
7
8
|
// reflected here too — otherwise null, and tells the UI whether the instance
|
|
8
9
|
// needs bootstrapping so we can route to /bootstrap vs /login in one round-trip.
|
|
9
10
|
export const session = base.handler(async ({ context }) => {
|
|
10
|
-
const result = await
|
|
11
|
+
const result = await authenticateTraced(context, context.authenticator);
|
|
11
12
|
if (result) {
|
|
12
13
|
const { id, email, name, avatarUrl, role } = result.user;
|
|
13
14
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.js","sourceRoot":"","sources":["../../../../src/rpc/procedures/auth/session.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AACpD,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAErC,6EAA6E;AAC7E,4EAA4E;AAC5E,wEAAwE;AACxE,6EAA6E;AAC7E,iFAAiF;AACjF,MAAM,CAAC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CACjC,KAAK,EAAE,EAAE,OAAO,EAAE,EAA8B,EAAE;IAChD,MAAM,MAAM,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"session.js","sourceRoot":"","sources":["../../../../src/rpc/procedures/auth/session.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AACpD,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAErC,6EAA6E;AAC7E,4EAA4E;AAC5E,wEAAwE;AACxE,6EAA6E;AAC7E,iFAAiF;AACjF,MAAM,CAAC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CACjC,KAAK,EAAE,EAAE,OAAO,EAAE,EAA8B,EAAE;IAChD,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,OAAO,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;IACxE,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC;QACzD,OAAO;YACL,IAAI,EAAE;gBACJ,EAAE;gBACF,KAAK;gBACL,IAAI;gBACJ,SAAS;gBACT,IAAI;gBACJ,YAAY,EAAE,CAAC,GAAG,mBAAmB,CAAC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;aAC9D;YACD,cAAc,EAAE,KAAK;SACtB,CAAC;IACJ,CAAC;IACD,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACjD,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,EAAE,SAAS,KAAK,CAAC,EAAE,CAAC;AACzD,CAAC,CACF,CAAC"}
|
|
@@ -1,2 +1,23 @@
|
|
|
1
|
+
import type { MetaPatch } from "../../meta/core.js";
|
|
1
2
|
export declare function stripUndefined<T extends Record<string, unknown>>(source: T): Partial<T>;
|
|
3
|
+
/**
|
|
4
|
+
* Fold a `named`-template choice into a meta patch under the reserved
|
|
5
|
+
* `__plumix_template` key. The picker's choice can't ride the plugin meta
|
|
6
|
+
* sanitizer (the key is reserved and has no registered field), so the entry
|
|
7
|
+
* create/update handlers merge it here after the plugin patch is validated.
|
|
8
|
+
*
|
|
9
|
+
* - `undefined` — no change (caller didn't touch the template).
|
|
10
|
+
* - `null` — clear the choice (delete the key → theme-default resolution).
|
|
11
|
+
* - a string — set the choice.
|
|
12
|
+
*
|
|
13
|
+
* Returns a fresh patch (never mutates the input) or `null` when there was no
|
|
14
|
+
* plugin patch and nothing to write.
|
|
15
|
+
*/
|
|
16
|
+
export declare function withTemplateChoice(patch: MetaPatch | null, template: string | null | undefined): MetaPatch | null;
|
|
17
|
+
/**
|
|
18
|
+
* The plain-object counterpart of {@link withTemplateChoice}, for the autosave
|
|
19
|
+
* path which merges a full meta object rather than applying a patch. Returns a
|
|
20
|
+
* fresh object (never mutates the input); `undefined` leaves it untouched.
|
|
21
|
+
*/
|
|
22
|
+
export declare function applyTemplateChoiceToMeta(meta: Readonly<Record<string, unknown>>, template: string | null | undefined): Record<string, unknown>;
|
|
2
23
|
//# sourceMappingURL=helpers.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../../src/rpc/procedures/entry/helpers.ts"],"names":[],"mappings":"AAAA,wBAAgB,cAAc,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9D,MAAM,EAAE,CAAC,GACR,OAAO,CAAC,CAAC,CAAC,CAOZ"}
|
|
1
|
+
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../../src/rpc/procedures/entry/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAGpD,wBAAgB,cAAc,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9D,MAAM,EAAE,CAAC,GACR,OAAO,CAAC,CAAC,CAAC,CAOZ;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,SAAS,GAAG,IAAI,EACvB,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAClC,SAAS,GAAG,IAAI,CAYlB;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EACvC,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAClC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAMzB"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { NAMED_TEMPLATE_META_KEY } from "../../../route/render/template-builders.js";
|
|
1
2
|
export function stripUndefined(source) {
|
|
2
3
|
const out = {};
|
|
3
4
|
for (const key of Object.keys(source)) {
|
|
@@ -7,4 +8,47 @@ export function stripUndefined(source) {
|
|
|
7
8
|
}
|
|
8
9
|
return out;
|
|
9
10
|
}
|
|
11
|
+
/**
|
|
12
|
+
* Fold a `named`-template choice into a meta patch under the reserved
|
|
13
|
+
* `__plumix_template` key. The picker's choice can't ride the plugin meta
|
|
14
|
+
* sanitizer (the key is reserved and has no registered field), so the entry
|
|
15
|
+
* create/update handlers merge it here after the plugin patch is validated.
|
|
16
|
+
*
|
|
17
|
+
* - `undefined` — no change (caller didn't touch the template).
|
|
18
|
+
* - `null` — clear the choice (delete the key → theme-default resolution).
|
|
19
|
+
* - a string — set the choice.
|
|
20
|
+
*
|
|
21
|
+
* Returns a fresh patch (never mutates the input) or `null` when there was no
|
|
22
|
+
* plugin patch and nothing to write.
|
|
23
|
+
*/
|
|
24
|
+
export function withTemplateChoice(patch, template) {
|
|
25
|
+
if (template === undefined)
|
|
26
|
+
return patch;
|
|
27
|
+
const upserts = new Map(patch?.upserts);
|
|
28
|
+
const deletes = new Set(patch?.deletes);
|
|
29
|
+
if (template === null) {
|
|
30
|
+
upserts.delete(NAMED_TEMPLATE_META_KEY);
|
|
31
|
+
deletes.add(NAMED_TEMPLATE_META_KEY);
|
|
32
|
+
}
|
|
33
|
+
else {
|
|
34
|
+
deletes.delete(NAMED_TEMPLATE_META_KEY);
|
|
35
|
+
upserts.set(NAMED_TEMPLATE_META_KEY, template);
|
|
36
|
+
}
|
|
37
|
+
return { upserts, deletes: [...deletes] };
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* The plain-object counterpart of {@link withTemplateChoice}, for the autosave
|
|
41
|
+
* path which merges a full meta object rather than applying a patch. Returns a
|
|
42
|
+
* fresh object (never mutates the input); `undefined` leaves it untouched.
|
|
43
|
+
*/
|
|
44
|
+
export function applyTemplateChoiceToMeta(meta, template) {
|
|
45
|
+
if (template === undefined)
|
|
46
|
+
return { ...meta };
|
|
47
|
+
const next = { ...meta };
|
|
48
|
+
if (template === null)
|
|
49
|
+
delete next[NAMED_TEMPLATE_META_KEY];
|
|
50
|
+
else
|
|
51
|
+
next[NAMED_TEMPLATE_META_KEY] = template;
|
|
52
|
+
return next;
|
|
53
|
+
}
|
|
10
54
|
//# sourceMappingURL=helpers.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../../src/rpc/procedures/entry/helpers.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../../src/rpc/procedures/entry/helpers.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,uBAAuB,EAAE,MAAM,4CAA4C,CAAC;AAErF,MAAM,UAAU,cAAc,CAC5B,MAAS;IAET,MAAM,GAAG,GAAe,EAAE,CAAC;IAC3B,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAgB,EAAE,CAAC;QACrD,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QAC1B,IAAI,KAAK,KAAK,SAAS;YAAE,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IAC5C,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,kBAAkB,CAChC,KAAuB,EACvB,QAAmC;IAEnC,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IACzC,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACxC,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACxC,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;QACtB,OAAO,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC;QACxC,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;IACvC,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC;QACxC,OAAO,CAAC,GAAG,CAAC,uBAAuB,EAAE,QAAQ,CAAC,CAAC;IACjD,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,GAAG,OAAO,CAAC,EAAE,CAAC;AAC5C,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,yBAAyB,CACvC,IAAuC,EACvC,QAAmC;IAEnC,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,EAAE,GAAG,IAAI,EAAE,CAAC;IAC/C,MAAM,IAAI,GAAG,EAAE,GAAG,IAAI,EAAE,CAAC;IACzB,IAAI,QAAQ,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC,uBAAuB,CAAC,CAAC;;QACvD,IAAI,CAAC,uBAAuB,CAAC,GAAG,QAAQ,CAAC;IAC9C,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
@@ -340,6 +340,7 @@ export declare const entryRouter: {
|
|
|
340
340
|
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<{
|
|
341
341
|
[x: string]: unknown;
|
|
342
342
|
}, "meta accepts at most 200 keys per request">]>, undefined>;
|
|
343
|
+
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>;
|
|
343
344
|
readonly publishedAt: import("valibot").OptionalSchema<import("valibot").DateSchema<undefined>, undefined>;
|
|
344
345
|
readonly expectedLiveUpdatedAt: import("valibot").OptionalSchema<import("valibot").DateSchema<undefined>, undefined>;
|
|
345
346
|
readonly saveAs: import("valibot").OptionalSchema<import("valibot").PicklistSchema<["draft", "live"], undefined>, undefined>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/rpc/procedures/entry/index.ts"],"names":[],"mappings":"AAiBA,eAAO,MAAM,WAAW
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/rpc/procedures/entry/index.ts"],"names":[],"mappings":"AAiBA,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoBd,CAAC;AAEX,MAAM,MAAM,WAAW,GAAG,OAAO,WAAW,CAAC"}
|