@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
|
@@ -14,7 +14,7 @@ export interface DebugPanel {
|
|
|
14
14
|
readonly order?: number;
|
|
15
15
|
/**
|
|
16
16
|
* Rendered in isolation (its own SSR pass) so a throw can't crash the host
|
|
17
|
-
* page. Read request data off `ctx` (and `ctx.
|
|
17
|
+
* page. Read request data off `ctx` (and `ctx.telemetry.get(id)` for your own
|
|
18
18
|
* recorded entries) — outer React context providers are NOT visible across
|
|
19
19
|
* the isolated render, so don't rely on `useContext` from the page tree.
|
|
20
20
|
*/
|
|
@@ -1,6 +1,12 @@
|
|
|
1
1
|
import type { AppContext } from "../context/app.js";
|
|
2
2
|
import type { Entry } from "../db/schema/entries.js";
|
|
3
3
|
import type { EntryGetInput, EntryListInput } from "../rpc/procedures/entry/schemas.js";
|
|
4
|
+
/**
|
|
5
|
+
* The `type` of an entry by id, `null` when the entry doesn't exist.
|
|
6
|
+
* Request-memoized (#1493): unrelated consumers gating on the resolved
|
|
7
|
+
* entry's type in one render share a single query through this read.
|
|
8
|
+
*/
|
|
9
|
+
export declare function readEntryType(ctx: AppContext, id: number): Promise<string | null>;
|
|
4
10
|
type EntryRead = Omit<Entry, "meta"> & {
|
|
5
11
|
readonly meta: Record<string, unknown>;
|
|
6
12
|
readonly terms: Record<string, number[]>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"read-service.d.ts","sourceRoot":"","sources":["../../src/entries/read-service.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEpD,OAAO,KAAK,EAAE,KAAK,EAAe,MAAM,yBAAyB,CAAC;AAClE,OAAO,KAAK,EACV,aAAa,EACb,cAAc,EAEf,MAAM,oCAAoC,CAAC;AAmB5C,KAAK,SAAS,GAAG,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG;IACrC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;CAC1C,CAAC;AAEF;;;;;;GAMG;AACH,wBAAsB,WAAW,CAC/B,GAAG,EAAE,UAAU,EACf,KAAK,EAAE,cAAc,GACpB,OAAO,CAAC,SAAS,KAAK,EAAE,CAAC,CAyD3B;AAED;;;;;;GAMG;AACH,wBAAsB,QAAQ,CAC5B,GAAG,EAAE,UAAU,EACf,KAAK,EAAE,aAAa,GACnB,OAAO,CAAC,SAAS,CAAC,CAqBpB"}
|
|
1
|
+
{"version":3,"file":"read-service.d.ts","sourceRoot":"","sources":["../../src/entries/read-service.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEpD,OAAO,KAAK,EAAE,KAAK,EAAe,MAAM,yBAAyB,CAAC;AAClE,OAAO,KAAK,EACV,aAAa,EACb,cAAc,EAEf,MAAM,oCAAoC,CAAC;AAmB5C;;;;GAIG;AACH,wBAAsB,aAAa,CACjC,GAAG,EAAE,UAAU,EACf,EAAE,EAAE,MAAM,GACT,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAQxB;AAED,KAAK,SAAS,GAAG,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG;IACrC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;CAC1C,CAAC;AAEF;;;;;;GAMG;AACH,wBAAsB,WAAW,CAC/B,GAAG,EAAE,UAAU,EACf,KAAK,EAAE,cAAc,GACpB,OAAO,CAAC,SAAS,KAAK,EAAE,CAAC,CAyD3B;AAED;;;;;;GAMG;AACH,wBAAsB,QAAQ,CAC5B,GAAG,EAAE,UAAU,EACf,KAAK,EAAE,aAAa,GACnB,OAAO,CAAC,SAAS,CAAC,CAqBpB"}
|
|
@@ -10,6 +10,20 @@ import { loadEntryTerms } from "../rpc/procedures/entry/terms.js";
|
|
|
10
10
|
import { EntryReadError } from "./errors.js";
|
|
11
11
|
const PUBLIC_STATUS = "published";
|
|
12
12
|
const TRASH_STATUS = "trash";
|
|
13
|
+
/**
|
|
14
|
+
* The `type` of an entry by id, `null` when the entry doesn't exist.
|
|
15
|
+
* Request-memoized (#1493): unrelated consumers gating on the resolved
|
|
16
|
+
* entry's type in one render share a single query through this read.
|
|
17
|
+
*/
|
|
18
|
+
export async function readEntryType(ctx, id) {
|
|
19
|
+
return ctx.memo(`core:entry-type:${String(id)}`, async () => {
|
|
20
|
+
const [row] = await ctx.db
|
|
21
|
+
.select({ type: entries.type })
|
|
22
|
+
.from(entries)
|
|
23
|
+
.where(eq(entries.id, id));
|
|
24
|
+
return row?.type ?? null;
|
|
25
|
+
});
|
|
26
|
+
}
|
|
13
27
|
/**
|
|
14
28
|
* List entries of a type, clamped to what the caller may see. Capability checks
|
|
15
29
|
* and status clamping live here so every transport (oRPC, MCP) reads through
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"read-service.js","sourceRoot":"","sources":["../../src/entries/read-service.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAC;AAC/E,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AACvD,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AACvE,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,EACL,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,yCAAyC,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7C,MAAM,aAAa,GAAgB,WAAW,CAAC;AAC/C,MAAM,YAAY,GAAgB,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"read-service.js","sourceRoot":"","sources":["../../src/entries/read-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/hooks/registry.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/hooks/registry.ts"],"names":[],"mappings":"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"}
|
package/dist/hooks/registry.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { hookStore } from "../context/stores.js";
|
|
1
|
+
import { hookStore, tryGetContext } from "../context/stores.js";
|
|
2
|
+
import { NOOP_TELEMETRY } from "../context/telemetry.js";
|
|
2
3
|
import { HookExecutionError } from "./errors.js";
|
|
3
4
|
import { DEFAULT_HOOK_PRIORITY } from "./types.js";
|
|
4
5
|
export class HookRegistry {
|
|
@@ -38,12 +39,13 @@ export class HookRegistry {
|
|
|
38
39
|
if (!entries || entries.length === 0)
|
|
39
40
|
return input;
|
|
40
41
|
const sorted = sortEntries(entries);
|
|
42
|
+
const telemetry = requestTelemetry();
|
|
41
43
|
let current = input;
|
|
42
44
|
for (const entry of sorted) {
|
|
43
45
|
// structuredClone isolates each filter — mutations inside one filter
|
|
44
46
|
// can't leak into the next. Clone cost is negligible vs. hook work.
|
|
45
47
|
const snapshot = structuredClone(current);
|
|
46
|
-
current = await
|
|
48
|
+
current = await runHandlerTraced(telemetry, name, entry.plugin, () => entry.fn(snapshot, ...rest));
|
|
47
49
|
}
|
|
48
50
|
return current;
|
|
49
51
|
}
|
|
@@ -98,7 +100,8 @@ export class HookRegistry {
|
|
|
98
100
|
if (!entries || entries.length === 0)
|
|
99
101
|
return;
|
|
100
102
|
const sorted = sortEntries(entries);
|
|
101
|
-
const
|
|
103
|
+
const telemetry = requestTelemetry();
|
|
104
|
+
const invocations = sorted.map((entry) => runHandlerTraced(telemetry, name, entry.plugin, () => Promise.resolve().then(() => entry.fn(...args))));
|
|
102
105
|
const results = await Promise.allSettled(invocations);
|
|
103
106
|
for (let i = 0; i < results.length; i++) {
|
|
104
107
|
const result = results[i];
|
|
@@ -115,6 +118,21 @@ export class HookRegistry {
|
|
|
115
118
|
}
|
|
116
119
|
}
|
|
117
120
|
}
|
|
121
|
+
// The registry is app-scoped while telemetry is request-scoped; the request
|
|
122
|
+
// context store bridges the two. Outside a request (build time, tests calling
|
|
123
|
+
// hooks directly) the no-op collector applies and handlers run untraced.
|
|
124
|
+
function requestTelemetry() {
|
|
125
|
+
return tryGetContext()?.telemetry ?? NOOP_TELEMETRY;
|
|
126
|
+
}
|
|
127
|
+
// One handler execution = one `hook:` span wrapping the existing hookStore
|
|
128
|
+
// frame — shared by the traced pipelines (applyFilter, doAction).
|
|
129
|
+
function runHandlerTraced(telemetry, name, plugin, fn) {
|
|
130
|
+
return telemetry.span(`hook: ${name}`, (s) => {
|
|
131
|
+
s.set("hook.name", name);
|
|
132
|
+
s.set("hook.plugin", plugin);
|
|
133
|
+
return hookStore.run({ hook: name, plugin }, fn);
|
|
134
|
+
});
|
|
135
|
+
}
|
|
118
136
|
function isPromiseLike(value) {
|
|
119
137
|
return (typeof value === "object" &&
|
|
120
138
|
value !== null &&
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/hooks/registry.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/hooks/registry.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -7,7 +7,8 @@ export * from "./config.js";
|
|
|
7
7
|
export * from "./context/index.js";
|
|
8
8
|
export * from "./db/index.js";
|
|
9
9
|
export * from "./db/schema/index.js";
|
|
10
|
-
export {
|
|
10
|
+
export { traceDbBatch, traceDbQuery } from "./db/trace.js";
|
|
11
|
+
export type { TracedQuery } from "./db/trace.js";
|
|
11
12
|
export * from "./hooks/index.js";
|
|
12
13
|
export * from "./i18n/index.js";
|
|
13
14
|
export * from "./mcp/index.js";
|
|
@@ -32,7 +33,11 @@ export { runScheduledTasks } from "./runtime/scheduled.js";
|
|
|
32
33
|
export type * from "./runtime/slots.js";
|
|
33
34
|
export { slugify } from "./slugify.js";
|
|
34
35
|
export { buildResolvedEntries } from "./route/render/build-resolved-entries.js";
|
|
35
|
-
export {
|
|
36
|
+
export { readEntryType } from "./entries/read-service.js";
|
|
37
|
+
export { memoBatch } from "./context/memo.js";
|
|
38
|
+
export type { RequestMemo } from "./context/memo.js";
|
|
39
|
+
export { archive, author, date, entry, collectNamedTemplates, fallback, forArchiveType, forAuthor, forDate, forEntryType, forTermTaxonomy, frontPage, NAMED_TEMPLATE_META_KEY, notFound, search, serverError, taxonomy, templateRules, } from "./route/render/template-builders.js";
|
|
40
|
+
export type { NamedTemplateChoice } from "./route/render/template-builders.js";
|
|
36
41
|
export type { ArchiveDataOf, ArchiveTypeName, ArchiveTypeRegistry, EntryProjection, EntryTypeName, EntryTypeRegistry, MetaOf, TermMetaOf, TermTaxonomyName, TermTaxonomyRegistry, TermProjection, } from "./template-registry.js";
|
|
37
42
|
export { resolveErrorTemplate, resolveTemplate, } from "./route/render/template-hierarchy.js";
|
|
38
43
|
export type { ArchiveData, AuthorArchiveData, CustomArchiveData, DateArchiveData, EntryData, ErrorData, FrontPageData, Pagination, ResolvedAuthor, ResolvedEntry, ResolvedTerm, SearchData, TaxonomyData, } from "./route/render/resolved-entry.js";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,yBAAyB,CAAC;AAEjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,sBAAsB,CAAC;AAGrC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -8,9 +8,9 @@ export * from "./config.js";
|
|
|
8
8
|
export * from "./context/index.js";
|
|
9
9
|
export * from "./db/index.js";
|
|
10
10
|
export * from "./db/schema/index.js";
|
|
11
|
-
//
|
|
12
|
-
//
|
|
13
|
-
export {
|
|
11
|
+
// Driver-agnostic query-span helpers — runtime adapters (D1, demo) wrap their
|
|
12
|
+
// driver's execution path with these so every `ctx.db` query is traced.
|
|
13
|
+
export { traceDbBatch, traceDbQuery } from "./db/trace.js";
|
|
14
14
|
export * from "./hooks/index.js";
|
|
15
15
|
export * from "./i18n/index.js";
|
|
16
16
|
export * from "./mcp/index.js";
|
|
@@ -25,7 +25,9 @@ export { memoryStorage } from "./runtime/memory-storage.js";
|
|
|
25
25
|
export { runScheduledTasks } from "./runtime/scheduled.js";
|
|
26
26
|
export { slugify } from "./slugify.js";
|
|
27
27
|
export { buildResolvedEntries } from "./route/render/build-resolved-entries.js";
|
|
28
|
-
export {
|
|
28
|
+
export { readEntryType } from "./entries/read-service.js";
|
|
29
|
+
export { memoBatch } from "./context/memo.js";
|
|
30
|
+
export { archive, author, date, entry, collectNamedTemplates, fallback, forArchiveType, forAuthor, forDate, forEntryType, forTermTaxonomy, frontPage, NAMED_TEMPLATE_META_KEY, notFound, search, serverError, taxonomy, templateRules, } from "./route/render/template-builders.js";
|
|
29
31
|
export { resolveErrorTemplate, resolveTemplate, } from "./route/render/template-hierarchy.js";
|
|
30
32
|
export { defineTemplate } from "./template.js";
|
|
31
33
|
export { defineTheme, isArchive, isAuthor, isCustom, isDate, isEntry, isError, isFrontPage, isSearch, isTaxonomy, } from "./theme.js";
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,kEAAkE;AAClE,OAAO,yBAAyB,CAAC;AAEjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,sBAAsB,CAAC;AACrC,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,kEAAkE;AAClE,OAAO,yBAAyB,CAAC;AAEjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,sBAAsB,CAAC;AACrC,8EAA8E;AAC9E,wEAAwE;AACxE,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAE3D,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAIrD,cAAc,gBAAgB,CAAC;AAE/B,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAG5C,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AAGjE,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC9E,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAE5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAE3D,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,oBAAoB,EAAE,MAAM,0CAA0C,CAAC;AAChF,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAE9C,OAAO,EACL,OAAO,EACP,MAAM,EACN,IAAI,EACJ,KAAK,EACL,qBAAqB,EACrB,QAAQ,EACR,cAAc,EACd,SAAS,EACT,OAAO,EACP,YAAY,EACZ,eAAe,EACf,SAAS,EACT,uBAAuB,EACvB,QAAQ,EACR,MAAM,EACN,WAAW,EACX,QAAQ,EACR,aAAa,GACd,MAAM,qCAAqC,CAAC;AAe7C,OAAO,EACL,oBAAoB,EACpB,eAAe,GAChB,MAAM,sCAAsC,CAAC;AAgB9C,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAQ/C,OAAO,EACL,WAAW,EACX,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,MAAM,EACN,OAAO,EACP,OAAO,EACP,WAAW,EACX,QAAQ,EACR,UAAU,GACX,MAAM,YAAY,CAAC;AAcpB,OAAO,EAAE,UAAU,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC"}
|
package/dist/mcp/server.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AASnE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAMzC;2DAC2D;AAC3D,wBAAgB,cAAc,CAC5B,GAAG,EAAE,UAAU,EACf,KAAK,EAAE,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,GAClC,MAAM,
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AASnE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAMzC;2DAC2D;AAC3D,wBAAgB,cAAc,CAC5B,GAAG,EAAE,UAAU,EACf,KAAK,EAAE,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,GAClC,MAAM,CAsDR"}
|
package/dist/mcp/server.js
CHANGED
|
@@ -16,7 +16,11 @@ export function buildMcpServer(ctx, tools) {
|
|
|
16
16
|
annotations: { readOnlyHint: true },
|
|
17
17
|
})),
|
|
18
18
|
}));
|
|
19
|
-
server.setRequestHandler(CallToolRequestSchema,
|
|
19
|
+
server.setRequestHandler(CallToolRequestSchema, (request) =>
|
|
20
|
+
// One span per tool call — validation included, so an unknown tool or a
|
|
21
|
+
// bad argument shows up as an error span attributed to the tool name.
|
|
22
|
+
ctx.telemetry.span(`mcp: ${request.params.name}`, async (s) => {
|
|
23
|
+
s.set("mcp.tool", request.params.name);
|
|
20
24
|
const tool = tools.get(request.params.name);
|
|
21
25
|
if (tool === undefined) {
|
|
22
26
|
throw new McpError(ErrorCode.MethodNotFound, `unknown tool: "${request.params.name}"`);
|
|
@@ -27,14 +31,16 @@ export function buildMcpServer(ctx, tools) {
|
|
|
27
31
|
}
|
|
28
32
|
try {
|
|
29
33
|
const result = await tool.run(ctx, parsed.output);
|
|
30
|
-
return {
|
|
34
|
+
return {
|
|
35
|
+
content: [{ type: "text", text: JSON.stringify(result) }],
|
|
36
|
+
};
|
|
31
37
|
}
|
|
32
38
|
catch (error) {
|
|
33
39
|
if (error instanceof McpToolError)
|
|
34
40
|
return toToolErrorResult(error);
|
|
35
41
|
throw error;
|
|
36
42
|
}
|
|
37
|
-
});
|
|
43
|
+
}));
|
|
38
44
|
return server;
|
|
39
45
|
}
|
|
40
46
|
//# sourceMappingURL=server.js.map
|
package/dist/mcp/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACnE,OAAO,EACL,qBAAqB,EACrB,SAAS,EACT,sBAAsB,EACtB,QAAQ,GACT,MAAM,oCAAoC,CAAC;AAC5C,OAAO,KAAK,CAAC,MAAM,SAAS,CAAC;AAI7B,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAC9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAE/D,MAAM,WAAW,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAW,CAAC;AAElE;2DAC2D;AAC3D,MAAM,UAAU,cAAc,CAC5B,GAAe,EACf,KAAmC;IAEnC,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,WAAW,EAAE,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAExE,MAAM,CAAC,iBAAiB,CAAC,sBAAsB,EAAE,GAAG,EAAE,CAAC,CAAC;QACtD,KAAK,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACxC,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,WAAW,EAAE,qBAAqB,CAAC,IAAI,CAAC;YACxC,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE;SACpC,CAAC,CAAC;KACJ,CAAC,CAAC,CAAC;IAEJ,MAAM,CAAC,iBAAiB,CACtB,qBAAqB,EACrB,
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACnE,OAAO,EACL,qBAAqB,EACrB,SAAS,EACT,sBAAsB,EACtB,QAAQ,GACT,MAAM,oCAAoC,CAAC;AAC5C,OAAO,KAAK,CAAC,MAAM,SAAS,CAAC;AAI7B,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAC9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAE/D,MAAM,WAAW,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAW,CAAC;AAElE;2DAC2D;AAC3D,MAAM,UAAU,cAAc,CAC5B,GAAe,EACf,KAAmC;IAEnC,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,WAAW,EAAE,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAExE,MAAM,CAAC,iBAAiB,CAAC,sBAAsB,EAAE,GAAG,EAAE,CAAC,CAAC;QACtD,KAAK,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACxC,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,WAAW,EAAE,qBAAqB,CAAC,IAAI,CAAC;YACxC,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE;SACpC,CAAC,CAAC;KACJ,CAAC,CAAC,CAAC;IAEJ,MAAM,CAAC,iBAAiB,CACtB,qBAAqB,EACrB,CAAC,OAAO,EAA2B,EAAE;IACnC,wEAAwE;IACxE,sEAAsE;IACtE,GAAG,CAAC,SAAS,CAAC,IAAI,CAChB,QAAQ,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,EAC7B,KAAK,EAAE,CAAC,EAA2B,EAAE;QACnC,CAAC,CAAC,GAAG,CAAC,UAAU,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACvC,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC5C,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,MAAM,IAAI,QAAQ,CAChB,SAAS,CAAC,cAAc,EACxB,kBAAkB,OAAO,CAAC,MAAM,CAAC,IAAI,GAAG,CACzC,CAAC;QACJ,CAAC;QAED,MAAM,MAAM,GAAG,CAAC,CAAC,SAAS,CACxB,IAAI,CAAC,WAAW,EAChB,OAAO,CAAC,MAAM,CAAC,SAAS,IAAI,EAAE,CAC/B,CAAC;QACF,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,MAAM,IAAI,QAAQ,CAChB,SAAS,CAAC,aAAa,EACvB,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAC3B,CAAC;QACJ,CAAC;QAED,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;YAClD,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC;aAC1D,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,YAAY;gBAAE,OAAO,iBAAiB,CAAC,KAAK,CAAC,CAAC;YACnE,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC,CACF,CACJ,CAAC;IAEF,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { EntryStatus } from "../../db/schema/entries.js";
|
|
1
2
|
import type { Label } from "../../i18n/label.js";
|
|
2
3
|
import type { EntryReferenceMetaBoxField, MetaBoxFieldSpan } from "../manifest.js";
|
|
3
4
|
/**
|
|
@@ -18,6 +19,13 @@ export interface EntryFieldScope {
|
|
|
18
19
|
* entries are usually invalid reference targets.
|
|
19
20
|
*/
|
|
20
21
|
readonly includeTrashed?: boolean;
|
|
22
|
+
/**
|
|
23
|
+
* Restrict matches to exactly this lifecycle status; supersedes the
|
|
24
|
+
* `includeTrashed` default. Public-render consumers (e.g. menu nav)
|
|
25
|
+
* pass `"published"` so drafts never surface; the admin picker leaves
|
|
26
|
+
* it unset and keeps admitting drafts/scheduled.
|
|
27
|
+
*/
|
|
28
|
+
readonly status?: EntryStatus;
|
|
21
29
|
}
|
|
22
30
|
export interface EntryFieldOptions {
|
|
23
31
|
readonly key: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entry.d.ts","sourceRoot":"","sources":["../../../src/plugin/fields/entry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,KAAK,EACV,0BAA0B,EAC1B,gBAAgB,EACjB,MAAM,gBAAgB,CAAC;AAExB;;;;;GAKG;AACH,MAAM,WAAW,eAAe;IAC9B;;;;OAIG;IACH,QAAQ,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;IACvC;;;OAGG;IACH,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"entry.d.ts","sourceRoot":"","sources":["../../../src/plugin/fields/entry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,KAAK,EACV,0BAA0B,EAC1B,gBAAgB,EACjB,MAAM,gBAAgB,CAAC;AAExB;;;;;GAKG;AACH,MAAM,WAAW,eAAe;IAC9B;;;;OAIG;IACH,QAAQ,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;IACvC;;;OAGG;IACH,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC;IAClC;;;;;OAKG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;CAC/B;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,WAAW,CAAC,EAAE,KAAK,CAAC;IAC7B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,IAAI,CAAC,EAAE,gBAAgB,CAAC;IACjC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;IACvC,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC;CACnC;AAED;;;;;GAKG;AACH,wBAAgB,KAAK,CAAC,OAAO,EAAE,iBAAiB,GAAG,0BAA0B,CAiB5E"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entry.js","sourceRoot":"","sources":["../../../src/plugin/fields/entry.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"entry.js","sourceRoot":"","sources":["../../../src/plugin/fields/entry.ts"],"names":[],"mappings":"AA8CA;;;;;GAKG;AACH,MAAM,UAAU,KAAK,CAAC,OAA0B;IAC9C,MAAM,KAAK,GAAoB;QAC7B,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,cAAc,EAAE,OAAO,CAAC,cAAc;KACvC,CAAC;IACF,OAAO;QACL,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,IAAI,EAAE,QAAQ;QACd,SAAS,EAAE,OAAO;QAClB,eAAe,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE;QACzC,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,UAAU,EAAE,OAAO,CAAC,UAAU;KAC/B,CAAC;AACJ,CAAC"}
|
package/dist/plugin/lookup.d.ts
CHANGED
|
@@ -20,16 +20,11 @@ export interface LookupResult {
|
|
|
20
20
|
readonly targetType?: string;
|
|
21
21
|
readonly subtitle?: string;
|
|
22
22
|
/**
|
|
23
|
-
*
|
|
24
|
-
*
|
|
25
|
-
*
|
|
26
|
-
* render without a resolve round-trip. Examples: `mime`,
|
|
27
|
-
* `filename` for media; could be `width`/`height` later.
|
|
28
|
-
*
|
|
29
|
-
* Picker UIs may also read `cached` to render preview thumbnails
|
|
30
|
-
* (e.g. `cached.mime` to decide image vs file icon).
|
|
23
|
+
* Public URL for the row, when it has one — entry permalink, term
|
|
24
|
+
* archive. Read-time consumers (menu resolution) render links from
|
|
25
|
+
* it; adapters whose rows have no public URL omit it.
|
|
31
26
|
*/
|
|
32
|
-
readonly
|
|
27
|
+
readonly href?: string;
|
|
33
28
|
}
|
|
34
29
|
export interface LookupListOptions<TScope = unknown> {
|
|
35
30
|
readonly query?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lookup.d.ts","sourceRoot":"","sources":["../../src/plugin/lookup.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AASpD,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB;;;;;;OAMG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B;;;;;;;OAOG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B
|
|
1
|
+
{"version":3,"file":"lookup.d.ts","sourceRoot":"","sources":["../../src/plugin/lookup.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AASpD,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB;;;;;;OAMG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B;;;;;;;OAOG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B;;;;OAIG;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,iBAAiB,CAAC,MAAM,GAAG,OAAO;IACjD,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB;;;;;;;;OAQG;IACH,QAAQ,CAAC,GAAG,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAClC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,WAAW,aAAa,CAAC,MAAM,GAAG,OAAO;IAC7C,IAAI,CACF,GAAG,EAAE,UAAU,EACf,OAAO,EAAE,iBAAiB,CAAC,MAAM,CAAC,GACjC,OAAO,CAAC,SAAS,YAAY,EAAE,CAAC,CAAC;IAEpC,kFAAkF;IAClF,OAAO,CACL,GAAG,EAAE,UAAU,EACf,EAAE,EAAE,MAAM,EACV,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC;CACjC;AAMD,MAAM,WAAW,uBAAuB,CACtC,MAAM,GAAG,OAAO,CAChB,SAAQ,oBAAoB,CAAC,MAAM,CAAC;IACpC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IACxC;;;;;;;;OAQG;IACH,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;CACtC;AAED,MAAM,WAAW,oBAAoB,CAAC,MAAM,GAAG,OAAO;IACpD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IACxC,iFAAiF;IACjF,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACrC"}
|
|
@@ -8,9 +8,12 @@ import type { ResolvedI18n, ResolvedLocale } from "../i18n/locale-registry.js";
|
|
|
8
8
|
import type { McpTool } from "../mcp/tool.js";
|
|
9
9
|
import type { RouteIntent } from "../route/intent.js";
|
|
10
10
|
import type { CustomArchiveData } from "../route/render/resolved-entry.js";
|
|
11
|
+
import type { NamedTemplateChoice } from "../route/render/template-builders.js";
|
|
11
12
|
import type { RegisteredTemplateDep } from "../template-deps.js";
|
|
12
13
|
import type { PluginI18nSlot } from "./define.js";
|
|
13
14
|
import type { RegisteredLookupAdapter } from "./lookup.js";
|
|
15
|
+
export type { NamedTemplateChoice } from "../route/render/template-builders.js";
|
|
16
|
+
export { NAMED_TEMPLATE_META_KEY } from "../route/render/template-builders.js";
|
|
14
17
|
/**
|
|
15
18
|
* WP-style per-type chrome labels shared between `EntryTypeOptions.labels`
|
|
16
19
|
* and `EntryTypeManifestEntry.labels`. Every field is optional on the
|
|
@@ -452,26 +455,12 @@ export interface ReferenceTarget<TScope = unknown> {
|
|
|
452
455
|
readonly kind: string;
|
|
453
456
|
readonly scope?: TScope;
|
|
454
457
|
/**
|
|
455
|
-
* Storage cardinality. `false`/absent → single
|
|
456
|
-
*
|
|
457
|
-
*
|
|
458
|
-
*
|
|
458
|
+
* Storage cardinality. `false`/absent → single bare id string.
|
|
459
|
+
* `true` → array of bare id strings. The server-side write
|
|
460
|
+
* validator and read-side orphan filter dispatch on this flag to
|
|
461
|
+
* handle both shapes uniformly.
|
|
459
462
|
*/
|
|
460
463
|
readonly multiple?: boolean;
|
|
461
|
-
/**
|
|
462
|
-
* Storage shape per item. `"id"` (default) → bare id string —
|
|
463
|
-
* every read needs a join/resolve to get a label. `"object"` →
|
|
464
|
-
* `{ id, ...cachedFields, ...userFields }` — the meta pipeline
|
|
465
|
-
* normalizes cached fields from the adapter on every write so
|
|
466
|
-
* reads can render without a join. Used by `media` (where the
|
|
467
|
-
* thumbnail/mime/filename are needed on every render and a
|
|
468
|
-
* resolve per render is wasteful on the edge).
|
|
469
|
-
*
|
|
470
|
-
* The cached fields come from `LookupResult.cached` returned by
|
|
471
|
-
* the adapter; user-supplied keys (e.g. per-usage `alt`) survive
|
|
472
|
-
* the merge so editors can override per-usage metadata.
|
|
473
|
-
*/
|
|
474
|
-
readonly valueShape?: "id" | "object";
|
|
475
464
|
}
|
|
476
465
|
/**
|
|
477
466
|
* Single user reference. Storage is the bare user id as a string
|
|
@@ -553,13 +542,9 @@ export interface TermListMetaBoxField extends MetaBoxFieldBase {
|
|
|
553
542
|
readonly max?: number;
|
|
554
543
|
}
|
|
555
544
|
/**
|
|
556
|
-
* Single media reference
|
|
557
|
-
*
|
|
558
|
-
*
|
|
559
|
-
* extra resolve round-trip per render. `referenceTarget.valueShape`
|
|
560
|
-
* is `"object"`; the meta pipeline overwrites the cached fields
|
|
561
|
-
* (mime/filename) from the lookup adapter on every write but lets
|
|
562
|
-
* user-supplied keys (e.g. per-usage `alt`) survive the merge.
|
|
545
|
+
* Single media reference. Storage is the bare media id as a string;
|
|
546
|
+
* reads return `null` for orphans / scope mismatches, and admin
|
|
547
|
+
* renders resolve labels through the lookup path.
|
|
563
548
|
*
|
|
564
549
|
* Lives in core so the typed builder narrows correctly at call
|
|
565
550
|
* sites — same convention as `entry` / `term`. The actual builder
|
|
@@ -571,13 +556,10 @@ export interface MediaMetaBoxField extends MetaBoxFieldBase {
|
|
|
571
556
|
readonly referenceTarget: ReferenceTarget;
|
|
572
557
|
}
|
|
573
558
|
/**
|
|
574
|
-
* Multi media reference. Storage is a JSON array of
|
|
575
|
-
*
|
|
576
|
-
*
|
|
577
|
-
*
|
|
578
|
-
* so admin renders thumbnails for every item without a per-item
|
|
579
|
-
* resolve. `referenceTarget.multiple` is `true`, `valueShape` is
|
|
580
|
-
* `"object"`; `max` caps the array length at write time.
|
|
559
|
+
* Multi media reference. Storage is a JSON array of bare media ids;
|
|
560
|
+
* reads filter out orphans the same way `EntryListMetaBoxField`
|
|
561
|
+
* does. `referenceTarget.multiple` is `true`; `max` caps the array
|
|
562
|
+
* length at write time.
|
|
581
563
|
*/
|
|
582
564
|
export interface MediaListMetaBoxField extends MetaBoxFieldBase {
|
|
583
565
|
readonly inputType: "mediaList";
|
|
@@ -1204,6 +1186,14 @@ export interface EntryTypeManifestEntry {
|
|
|
1204
1186
|
readonly maxRevisions: number;
|
|
1205
1187
|
readonly autosaveIntervalSeconds: number;
|
|
1206
1188
|
};
|
|
1189
|
+
/**
|
|
1190
|
+
* Theme-registered `named` templates selectable for this entry type,
|
|
1191
|
+
* surfaced to the editor's template picker. Sourced from the theme's
|
|
1192
|
+
* `templates` rules (not the plugin registry) and threaded in via
|
|
1193
|
+
* `buildManifest` options — the precompiled admin can't import the theme.
|
|
1194
|
+
* Omitted when the theme registers none for this type.
|
|
1195
|
+
*/
|
|
1196
|
+
readonly namedTemplates?: readonly NamedTemplateChoice[];
|
|
1207
1197
|
}
|
|
1208
1198
|
/**
|
|
1209
1199
|
* Client-safe field descriptor inside a meta box. Mirrors `MetaBoxField`
|
|
@@ -1510,6 +1500,12 @@ export declare function emptyManifest(): PlumixManifest;
|
|
|
1510
1500
|
export declare function buildManifest(registry: PluginRegistry, options?: {
|
|
1511
1501
|
readonly tokens?: ThemeTokens;
|
|
1512
1502
|
readonly breakpoints?: ThemeBreakpoints;
|
|
1503
|
+
/**
|
|
1504
|
+
* Theme `named` templates grouped by entry-type name (see
|
|
1505
|
+
* `collectNamedTemplates`). Routed through options — like `tokens` —
|
|
1506
|
+
* because the theme's template rules aren't in the plugin registry.
|
|
1507
|
+
*/
|
|
1508
|
+
readonly namedTemplates?: Readonly<Record<string, readonly NamedTemplateChoice[]>>;
|
|
1513
1509
|
readonly i18n?: ResolvedI18n;
|
|
1514
1510
|
readonly plugins?: readonly {
|
|
1515
1511
|
readonly id: string;
|