dineway 0.2.21 → 0.2.23
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/api/route-utils.d.mts +3 -3
- package/dist/api/route-utils.mjs +1 -1
- package/dist/api/schemas/index.d.mts +1 -1
- package/dist/{api-Bbtpvq2-.mjs → api-BVwUaP2K.mjs} +1 -1
- package/dist/astro/index.d.mts +2 -2
- package/dist/astro/index.mjs +2 -2
- package/dist/astro/middleware/auth.d.mts +2 -2
- package/dist/astro/middleware/auth.mjs +2 -2
- package/dist/astro/middleware/setup.mjs +1 -1
- package/dist/astro/middleware.mjs +7 -5
- package/dist/astro/routes/PluginRegistry.mjs +1 -1
- package/dist/astro/routes/api/admin/plugins/_id_/disable.mjs +1 -1
- package/dist/astro/routes/api/admin/plugins/_id_/enable.mjs +1 -1
- package/dist/astro/routes/api/admin/plugins/_id_/index.mjs +1 -1
- package/dist/astro/routes/api/admin/plugins/_id_/uninstall.mjs +1 -1
- package/dist/astro/routes/api/admin/plugins/_id_/update.mjs +1 -1
- package/dist/astro/routes/api/admin/plugins/index.mjs +1 -1
- package/dist/astro/routes/api/admin/plugins/marketplace/_id_/index.mjs +1 -1
- package/dist/astro/routes/api/admin/plugins/marketplace/_id_/install.mjs +1 -1
- package/dist/astro/routes/api/admin/plugins/marketplace/index.mjs +1 -1
- package/dist/astro/routes/api/admin/plugins/updates.mjs +1 -1
- package/dist/astro/routes/api/admin/themes/marketplace/_id_/index.mjs +1 -1
- package/dist/astro/routes/api/admin/themes/marketplace/index.mjs +1 -1
- package/dist/astro/routes/api/auth/invite/complete.mjs +2 -2
- package/dist/astro/routes/api/auth/invite/register-options.mjs +1 -1
- package/dist/astro/routes/api/auth/mode.mjs +1 -1
- package/dist/astro/routes/api/auth/passkey/options.mjs +1 -1
- package/dist/astro/routes/api/auth/passkey/register/options.mjs +1 -1
- package/dist/astro/routes/api/auth/passkey/register/verify.mjs +2 -2
- package/dist/astro/routes/api/auth/passkey/verify.mjs +2 -2
- package/dist/astro/routes/api/auth/signup/complete.mjs +2 -2
- package/dist/astro/routes/api/health.mjs +1 -1
- package/dist/astro/routes/api/import/wordpress/execute.d.mts +2 -2
- package/dist/astro/routes/api/import/wordpress/media.d.mts +2 -2
- package/dist/astro/routes/api/import/wordpress/rewrite-urls.d.mts +2 -2
- package/dist/astro/routes/api/import/wordpress-plugin/execute.d.mts +2 -2
- package/dist/astro/routes/api/manifest.mjs +2 -2
- package/dist/astro/routes/api/mcp.mjs +1 -1
- package/dist/astro/routes/api/openapi.json.mjs +1 -1
- package/dist/astro/routes/api/schema/collections/_slug_/fields/_fieldSlug_.mjs +1 -1
- package/dist/astro/routes/api/schema/collections/_slug_/fields/index.mjs +1 -1
- package/dist/astro/routes/api/schema/collections/_slug_/fields/reorder.mjs +1 -1
- package/dist/astro/routes/api/schema/collections/_slug_/index.mjs +1 -1
- package/dist/astro/routes/api/schema/collections/index.mjs +1 -1
- package/dist/astro/routes/api/schema/orphans/_slug_.mjs +1 -1
- package/dist/astro/routes/api/schema/orphans/index.mjs +1 -1
- package/dist/astro/routes/api/setup/admin-verify.mjs +3 -3
- package/dist/astro/routes/api/setup/admin.mjs +1 -1
- package/dist/astro/routes/api/setup/index.mjs +1 -1
- package/dist/astro/routes/api/setup/status.mjs +1 -1
- package/dist/astro/routes/api/snapshot.mjs +1 -1
- package/dist/astro/routes/api/well-known/auth.mjs +2 -2
- package/dist/astro/types.d.mts +4 -2
- package/dist/auth/providers/github-admin.mjs +1 -1
- package/dist/auth/providers/google-admin.mjs +1 -1
- package/dist/{byline-fields-BXg94LXd.d.mts → byline-fields-BvlyRBny.d.mts} +28 -28
- package/dist/cli/index.mjs +1 -1
- package/dist/cli/plugin-kit.d.mts +2 -2
- package/dist/client/index.d.mts +2 -2
- package/dist/index.d.mts +2 -2
- package/dist/index.mjs +1 -1
- package/dist/{jsonld-TsDIJx5A.d.mts → jsonld-BRQXGw_k.d.mts} +1 -1
- package/dist/media/local-runtime.d.mts +2 -2
- package/dist/page/index.d.mts +3 -3
- package/dist/plugin-utils.d.mts +2 -2
- package/dist/plugins/adapt-sandbox-entry.d.mts +2 -2
- package/dist/{public-url-NkNXl8OU.d.mts → public-url-Dt8ijPpk.d.mts} +1 -1
- package/dist/runtime.d.mts +2 -2
- package/dist/{types-Cty2_HVR.d.mts → types-DucE7XZ_.d.mts} +487 -6
- package/dist/ui/server-runtime.d.mts +4 -4
- package/dist/version-BdMk7m3C.mjs +6 -0
- package/package.json +3 -3
- package/dist/version-Cg-aQHxG.mjs +0 -6
- /package/dist/{allowed-origins-M5Rcl6XL.mjs → allowed-origins-oYWytWyp.mjs} +0 -0
- /package/dist/{challenge-store-DtdQHXf5.mjs → challenge-store-DvRxUsXv.mjs} +0 -0
- /package/dist/{mode-DqpBaEOy.mjs → mode-DYsXVFoY.mjs} +0 -0
- /package/dist/{session-user-CYjNeJoD.mjs → session-user-DTopk3zO.mjs} +0 -0
- /package/dist/{setup-complete-Blqo_adb.mjs → setup-complete-CT7kGc8S.mjs} +0 -0
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
import { _ as UpdateFieldInput, d as FieldType, f as FieldValidation, g as UpdateCollectionInput, i as CollectionWithFields, o as CreateCollectionInput, s as CreateFieldInput, t as Collection, u as Field } from "./types-B2kbOwSj.mjs";
|
|
2
2
|
import { f as UpdateContentInput, i as ContentItem$1, l as FindManyOptions, o as ContentSeoInput, r as ContentDateField, s as CreateContentInput, t as BylineSummary, u as FindManyResult } from "./types-B6r_SMeR.mjs";
|
|
3
3
|
import { t as Database } from "./types-C8cUW9dh.mjs";
|
|
4
|
-
import { _ as MediaValue, m as MediaProviderDescriptor } from "./placeholder-BsYSFPjY.mjs";
|
|
4
|
+
import { _ as MediaValue, f as MediaProvider, m as MediaProviderDescriptor, p as MediaProviderCapabilities } from "./placeholder-BsYSFPjY.mjs";
|
|
5
5
|
import { D as ContentBylineInput } from "./index-NdJMMO48.mjs";
|
|
6
6
|
import { r as AuthProviderDescriptor, t as AuthDescriptor } from "./types-C2LBO0t8.mjs";
|
|
7
7
|
import { t as DatabaseDescriptor } from "./adapters-DUVI3Mpc.mjs";
|
|
8
8
|
import { r as ObjectCacheDescriptor } from "./types-DY9lJRpo.mjs";
|
|
9
|
+
import { ServerTimingMetric } from "./database/instrumentation.mjs";
|
|
9
10
|
import { d as Storage } from "./types-Gd4kXLsa.mjs";
|
|
10
11
|
import { C as SiteSettingKey, w as SiteSettings } from "./validate-Bc9gaua6.mjs";
|
|
11
|
-
import { HandlerResponse } from "./astro/types.mjs";
|
|
12
|
+
import { DinewayManifest, HandlerResponse } from "./astro/types.mjs";
|
|
12
13
|
import { Dialect, Kysely, Migration, RawBuilder, Transaction } from "kysely";
|
|
13
14
|
import { z } from "astro/zod";
|
|
14
15
|
import { z as z$1 } from "zod";
|
|
@@ -2165,6 +2166,44 @@ interface SandboxRunner {
|
|
|
2165
2166
|
*/
|
|
2166
2167
|
type SandboxRunnerFactory = (options: SandboxOptions) => SandboxRunner;
|
|
2167
2168
|
//#endregion
|
|
2169
|
+
//#region src/plugins/cron.d.ts
|
|
2170
|
+
/**
|
|
2171
|
+
* Callback to invoke a plugin's cron hook.
|
|
2172
|
+
* Provided by PluginManager so CronExecutor stays decoupled from the hook pipeline.
|
|
2173
|
+
*/
|
|
2174
|
+
type InvokeCronHookFn = (pluginId: string, event: CronEvent) => Promise<void>;
|
|
2175
|
+
/**
|
|
2176
|
+
* Executes overdue cron tasks.
|
|
2177
|
+
*
|
|
2178
|
+
* Called by schedulers (NodeCronScheduler, PiggybackScheduler). Stateless —
|
|
2179
|
+
* all state lives in the database.
|
|
2180
|
+
*/
|
|
2181
|
+
declare class CronExecutor {
|
|
2182
|
+
private invokeCronHook;
|
|
2183
|
+
private readonly resolveDb;
|
|
2184
|
+
constructor(db: Kysely<Database> | (() => Kysely<Database>), invokeCronHook: InvokeCronHookFn);
|
|
2185
|
+
private get db();
|
|
2186
|
+
/**
|
|
2187
|
+
* Process all overdue tasks.
|
|
2188
|
+
*
|
|
2189
|
+
* 1. Atomically claim tasks whose next_run_at <= now, status = idle, enabled = 1.
|
|
2190
|
+
* 2. For each claimed task, invoke the plugin's cron hook.
|
|
2191
|
+
* 3. On success: compute next_run_at and reset to idle, or delete one-shots.
|
|
2192
|
+
* 4. On failure: reset to idle (retry on next tick).
|
|
2193
|
+
*/
|
|
2194
|
+
tick(): Promise<number>;
|
|
2195
|
+
/**
|
|
2196
|
+
* Recover tasks stuck in 'running' for more than STALE_LOCK_MINUTES.
|
|
2197
|
+
* These likely crashed mid-execution.
|
|
2198
|
+
*/
|
|
2199
|
+
recoverStaleLocks(): Promise<number>;
|
|
2200
|
+
/**
|
|
2201
|
+
* Get the next due time across all enabled tasks.
|
|
2202
|
+
* Returns null if no tasks are scheduled.
|
|
2203
|
+
*/
|
|
2204
|
+
getNextDueTime(): Promise<string | null>;
|
|
2205
|
+
}
|
|
2206
|
+
//#endregion
|
|
2168
2207
|
//#region src/plugins/context.d.ts
|
|
2169
2208
|
/**
|
|
2170
2209
|
* Options for creating site info
|
|
@@ -2569,6 +2608,17 @@ declare class EmailPipeline {
|
|
|
2569
2608
|
}
|
|
2570
2609
|
//#endregion
|
|
2571
2610
|
//#region src/plugins/routes.d.ts
|
|
2611
|
+
/**
|
|
2612
|
+
* Route metadata (public flag) without the handler.
|
|
2613
|
+
* Used by the catch-all route to decide auth before dispatch.
|
|
2614
|
+
*/
|
|
2615
|
+
interface RouteMeta {
|
|
2616
|
+
public: boolean;
|
|
2617
|
+
body: PluginRouteBodyMode;
|
|
2618
|
+
maxBodyBytes?: number;
|
|
2619
|
+
authorization?: PluginRouteAuthorization;
|
|
2620
|
+
apiTokenPolicy?: PluginRouteApiTokenPolicy;
|
|
2621
|
+
}
|
|
2572
2622
|
/**
|
|
2573
2623
|
* Result from a route invocation
|
|
2574
2624
|
*/
|
|
@@ -2636,7 +2686,18 @@ interface SandboxRunnerRuntimeOptions extends SandboxOptions {
|
|
|
2636
2686
|
cronReschedule?: () => void;
|
|
2637
2687
|
}
|
|
2638
2688
|
//#endregion
|
|
2689
|
+
//#region src/scheduled-publish.d.ts
|
|
2690
|
+
interface PublishedRef {
|
|
2691
|
+
collection: string;
|
|
2692
|
+
id: string;
|
|
2693
|
+
}
|
|
2694
|
+
//#endregion
|
|
2639
2695
|
//#region src/dineway-runtime.d.ts
|
|
2696
|
+
/** Combined result from a single-pass page contribution collection */
|
|
2697
|
+
interface PageContributions {
|
|
2698
|
+
metadata: PageMetadataContribution[];
|
|
2699
|
+
fragments: PageFragmentContribution[];
|
|
2700
|
+
}
|
|
2640
2701
|
/**
|
|
2641
2702
|
* Sandboxed plugin entry from virtual module
|
|
2642
2703
|
*/
|
|
@@ -2675,6 +2736,426 @@ interface SandboxedPluginEntry {
|
|
|
2675
2736
|
*/
|
|
2676
2737
|
preferred?: string[];
|
|
2677
2738
|
}
|
|
2739
|
+
/**
|
|
2740
|
+
* Media provider entry from virtual module
|
|
2741
|
+
*/
|
|
2742
|
+
interface MediaProviderEntry {
|
|
2743
|
+
id: string;
|
|
2744
|
+
name: string;
|
|
2745
|
+
icon?: string;
|
|
2746
|
+
capabilities: MediaProviderCapabilities;
|
|
2747
|
+
/** Factory function to create the provider instance */
|
|
2748
|
+
createProvider: (ctx: MediaProviderContext) => MediaProvider;
|
|
2749
|
+
}
|
|
2750
|
+
/**
|
|
2751
|
+
* Context passed to media provider factory functions
|
|
2752
|
+
*/
|
|
2753
|
+
interface MediaProviderContext {
|
|
2754
|
+
db: Kysely<Database>;
|
|
2755
|
+
/**
|
|
2756
|
+
* Resolve the current request-scoped database connection when one is active.
|
|
2757
|
+
* Providers that query Dineway tables should call this per operation instead
|
|
2758
|
+
* of capturing `db` once, so sidecar/preview database overrides stay isolated.
|
|
2759
|
+
*/
|
|
2760
|
+
getDb?: () => Kysely<Database>;
|
|
2761
|
+
storage: Storage | null;
|
|
2762
|
+
}
|
|
2763
|
+
/**
|
|
2764
|
+
* Dependencies injected from virtual modules (middleware reads these)
|
|
2765
|
+
*/
|
|
2766
|
+
interface RuntimeDependencies {
|
|
2767
|
+
config: DinewayConfig;
|
|
2768
|
+
plugins: ResolvedPlugin[];
|
|
2769
|
+
createDialect: (config: any) => Dialect;
|
|
2770
|
+
createStorage: ((config: any) => Storage) | null;
|
|
2771
|
+
sandboxEnabled: boolean;
|
|
2772
|
+
/** Media provider entries from virtual module */
|
|
2773
|
+
mediaProviderEntries?: MediaProviderEntry[];
|
|
2774
|
+
sandboxedPluginEntries: SandboxedPluginEntry[];
|
|
2775
|
+
/** Factory function matching SandboxRunnerFactory signature */
|
|
2776
|
+
createSandboxRunner: ((opts: SandboxRunnerRuntimeOptions) => SandboxRunner) | null;
|
|
2777
|
+
}
|
|
2778
|
+
/**
|
|
2779
|
+
* DinewayRuntime - singleton per worker
|
|
2780
|
+
*/
|
|
2781
|
+
declare class DinewayRuntime {
|
|
2782
|
+
/**
|
|
2783
|
+
* The singleton database instance (worker-lifetime cached).
|
|
2784
|
+
* Use the `db` getter instead — it checks the request context first
|
|
2785
|
+
* for per-request overrides from preview/playground sidecars and other
|
|
2786
|
+
* request-scoped database flows.
|
|
2787
|
+
*/
|
|
2788
|
+
private readonly _db;
|
|
2789
|
+
readonly storage: Storage | null;
|
|
2790
|
+
readonly configuredPlugins: ResolvedPlugin[];
|
|
2791
|
+
readonly sandboxedPlugins: Map<string, SandboxedPlugin>;
|
|
2792
|
+
readonly sandboxedPluginEntries: SandboxedPluginEntry[];
|
|
2793
|
+
private _hooks;
|
|
2794
|
+
readonly config: DinewayConfig;
|
|
2795
|
+
readonly mediaProviders: Map<string, MediaProvider>;
|
|
2796
|
+
readonly mediaProviderEntries: MediaProviderEntry[];
|
|
2797
|
+
readonly cronExecutor: CronExecutor | null;
|
|
2798
|
+
readonly email: EmailPipeline | null;
|
|
2799
|
+
private cronScheduler;
|
|
2800
|
+
private enabledPlugins;
|
|
2801
|
+
private pluginStates;
|
|
2802
|
+
/** Current hook pipeline. Use the `hooks` getter for external access. */
|
|
2803
|
+
get hooks(): HookPipeline;
|
|
2804
|
+
/** All plugins eligible for the hook pipeline (includes built-in plugins).
|
|
2805
|
+
* Stored so we can rebuild the pipeline when plugins are enabled/disabled. */
|
|
2806
|
+
private allPipelinePlugins;
|
|
2807
|
+
/** Factory options for the hook pipeline context factory */
|
|
2808
|
+
private pipelineFactoryOptions;
|
|
2809
|
+
/** Dependencies needed for exclusive hook resolution */
|
|
2810
|
+
private runtimeDeps;
|
|
2811
|
+
/** Mutable ref for the cron invokeCronHook closure to read the current pipeline */
|
|
2812
|
+
private pipelineRef;
|
|
2813
|
+
/** Process-lifetime FTS health check cache that never stores an in-flight promise. */
|
|
2814
|
+
private readonly _searchHealthCache;
|
|
2815
|
+
/**
|
|
2816
|
+
* Get the database instance for the current request.
|
|
2817
|
+
*
|
|
2818
|
+
* Checks the ALS-based request context first — middleware sets a
|
|
2819
|
+
* per-request Kysely instance there for preview/playground session
|
|
2820
|
+
* databases and other request-scoped overrides. Falls back to the
|
|
2821
|
+
* singleton instance.
|
|
2822
|
+
*/
|
|
2823
|
+
get db(): Kysely<Database>;
|
|
2824
|
+
private constructor();
|
|
2825
|
+
/**
|
|
2826
|
+
* Get the sandbox runner instance (for marketplace install/update)
|
|
2827
|
+
*/
|
|
2828
|
+
getSandboxRunner(): SandboxRunner | null;
|
|
2829
|
+
get schemaRegistry(): SchemaRegistry;
|
|
2830
|
+
/**
|
|
2831
|
+
* Resolve native MCP contributions from the current active plugin set.
|
|
2832
|
+
* The registry is derived per request so activate/deactivate changes cannot
|
|
2833
|
+
* leave a stateless MCP server with a stale contribution snapshot.
|
|
2834
|
+
*/
|
|
2835
|
+
getPluginMcpRegistry(): PluginMcpRegistry;
|
|
2836
|
+
/**
|
|
2837
|
+
* Resolve the outbound HTTP capability for an active native plugin.
|
|
2838
|
+
* MCP handlers use this instead of reaching for global fetch, so the same
|
|
2839
|
+
* capability and SSRF rules apply to routes, hooks, and MCP contributions.
|
|
2840
|
+
*/
|
|
2841
|
+
getPluginHttpAccess(pluginId: string): HttpAccess | undefined;
|
|
2842
|
+
/**
|
|
2843
|
+
* Publish any content whose scheduled time has passed.
|
|
2844
|
+
* Routes through the runtime wrapper so after-publish hooks still fire.
|
|
2845
|
+
*/
|
|
2846
|
+
publishScheduled(): Promise<PublishedRef[]>;
|
|
2847
|
+
private publishAuthorizedDueContent;
|
|
2848
|
+
/**
|
|
2849
|
+
* Run all scheduled maintenance work from a heartbeat driver.
|
|
2850
|
+
*/
|
|
2851
|
+
runScheduledTasks(options?: {
|
|
2852
|
+
onPublished?: (refs: PublishedRef[]) => Promise<void>;
|
|
2853
|
+
}): Promise<{
|
|
2854
|
+
published: PublishedRef[];
|
|
2855
|
+
}>;
|
|
2856
|
+
/**
|
|
2857
|
+
* Tick the cron system from request context (piggyback mode).
|
|
2858
|
+
* Call this from middleware on each request to ensure cron tasks
|
|
2859
|
+
* execute even when no dedicated scheduler is available.
|
|
2860
|
+
*/
|
|
2861
|
+
tickCron(): void;
|
|
2862
|
+
/**
|
|
2863
|
+
* Stop the cron scheduler gracefully.
|
|
2864
|
+
* Call during worker shutdown or hot-reload.
|
|
2865
|
+
*/
|
|
2866
|
+
stopCron(): Promise<void>;
|
|
2867
|
+
/**
|
|
2868
|
+
* Ensure search-related FTS tables are healthy before the first query.
|
|
2869
|
+
*
|
|
2870
|
+
* Search health is deferred off the runtime cold-start path so ordinary
|
|
2871
|
+
* page loads do not pay the index verification cost. Concurrent callers
|
|
2872
|
+
* coalesce without sharing an in-flight promise, and once it has completed
|
|
2873
|
+
* the result is treated as healthy for the lifetime of this runtime instance.
|
|
2874
|
+
*/
|
|
2875
|
+
ensureSearchHealthy(): Promise<void>;
|
|
2876
|
+
/**
|
|
2877
|
+
* Update in-memory plugin status and rebuild the hook pipeline.
|
|
2878
|
+
*
|
|
2879
|
+
* Rebuilding the pipeline ensures disabled plugins' hooks stop firing
|
|
2880
|
+
* and re-enabled plugins' hooks start firing again without a restart.
|
|
2881
|
+
* Exclusive hook selections are re-resolved after each rebuild.
|
|
2882
|
+
*/
|
|
2883
|
+
setPluginStatus(pluginId: string, status: "active" | "inactive"): Promise<void>;
|
|
2884
|
+
/**
|
|
2885
|
+
* Rebuild the hook pipeline from the current set of enabled plugins.
|
|
2886
|
+
*
|
|
2887
|
+
* Filters `allPipelinePlugins` to only those in `enabledPlugins`,
|
|
2888
|
+
* creates a fresh HookPipeline, re-resolves exclusive hook selections,
|
|
2889
|
+
* and re-wires the context factory so existing references (cron
|
|
2890
|
+
* callbacks, email pipeline) use the new pipeline.
|
|
2891
|
+
*/
|
|
2892
|
+
private rebuildHookPipeline;
|
|
2893
|
+
/**
|
|
2894
|
+
* Synchronize marketplace plugin runtime state with DB + storage.
|
|
2895
|
+
*
|
|
2896
|
+
* Ensures install/update/uninstall changes take effect immediately in the
|
|
2897
|
+
* current worker: loads newly active plugins and removes uninstalled ones.
|
|
2898
|
+
*/
|
|
2899
|
+
syncMarketplacePlugins(): Promise<void>;
|
|
2900
|
+
/**
|
|
2901
|
+
* Create and initialize the runtime
|
|
2902
|
+
*/
|
|
2903
|
+
static create(deps: RuntimeDependencies, timings?: ServerTimingMetric[]): Promise<DinewayRuntime>;
|
|
2904
|
+
/**
|
|
2905
|
+
* Get a media provider by ID
|
|
2906
|
+
*/
|
|
2907
|
+
getMediaProvider(providerId: string): MediaProvider | undefined;
|
|
2908
|
+
/**
|
|
2909
|
+
* Get all media provider entries (for admin UI)
|
|
2910
|
+
*/
|
|
2911
|
+
getMediaProviderList(): Array<{
|
|
2912
|
+
id: string;
|
|
2913
|
+
name: string;
|
|
2914
|
+
icon?: string;
|
|
2915
|
+
capabilities: MediaProviderCapabilities;
|
|
2916
|
+
}>;
|
|
2917
|
+
/**
|
|
2918
|
+
* Get or create database instance
|
|
2919
|
+
*/
|
|
2920
|
+
private static getDatabase;
|
|
2921
|
+
/**
|
|
2922
|
+
* Get or create storage instance
|
|
2923
|
+
*/
|
|
2924
|
+
private static getStorage;
|
|
2925
|
+
/**
|
|
2926
|
+
* Load sandboxed plugins using SandboxRunner
|
|
2927
|
+
*/
|
|
2928
|
+
private static loadSandboxedPlugins;
|
|
2929
|
+
/**
|
|
2930
|
+
* Cold-start: load marketplace-installed plugins from site-local bundle storage
|
|
2931
|
+
*
|
|
2932
|
+
* Queries _plugin_state for source='marketplace' rows, fetches each bundle
|
|
2933
|
+
* from persisted storage, and loads via SandboxRunner.
|
|
2934
|
+
*/
|
|
2935
|
+
private static loadMarketplacePlugins;
|
|
2936
|
+
/**
|
|
2937
|
+
* Resolve exclusive hook selections on startup.
|
|
2938
|
+
*
|
|
2939
|
+
* Delegates to the shared resolveExclusiveHooks() in hooks.ts.
|
|
2940
|
+
* The runtime version considers all pipeline providers as "active" since
|
|
2941
|
+
* the pipeline was already built from only active/enabled plugins.
|
|
2942
|
+
*/
|
|
2943
|
+
private static resolveExclusiveHooks;
|
|
2944
|
+
getManifest(): Promise<DinewayManifest>;
|
|
2945
|
+
private _buildManifest;
|
|
2946
|
+
invalidateManifest(): void;
|
|
2947
|
+
handleContentList(collection: string, params: {
|
|
2948
|
+
cursor?: string;
|
|
2949
|
+
limit?: number;
|
|
2950
|
+
status?: string;
|
|
2951
|
+
orderBy?: string;
|
|
2952
|
+
order?: "asc" | "desc";
|
|
2953
|
+
locale?: string;
|
|
2954
|
+
q?: string;
|
|
2955
|
+
authorId?: string;
|
|
2956
|
+
dateField?: "createdAt" | "updatedAt" | "publishedAt";
|
|
2957
|
+
dateFrom?: string;
|
|
2958
|
+
dateTo?: string;
|
|
2959
|
+
}): Promise<ApiResult<ContentListResponse>>;
|
|
2960
|
+
handleContentAuthors(collection: string): Promise<ApiResult<{
|
|
2961
|
+
items: ContentAuthor[];
|
|
2962
|
+
}>>;
|
|
2963
|
+
handleContentGet(collection: string, id: string, locale?: string): Promise<ApiResult<ContentResponse>>;
|
|
2964
|
+
handleContentGetIncludingTrashed(collection: string, id: string, locale?: string): Promise<ApiResult<ContentResponse>>;
|
|
2965
|
+
handleContentCreate(collection: string, body: {
|
|
2966
|
+
data: Record<string, unknown>;
|
|
2967
|
+
slug?: string;
|
|
2968
|
+
status?: string;
|
|
2969
|
+
authorId?: string;
|
|
2970
|
+
bylines?: Array<{
|
|
2971
|
+
bylineId: string;
|
|
2972
|
+
roleLabel?: string | null;
|
|
2973
|
+
}>;
|
|
2974
|
+
locale?: string;
|
|
2975
|
+
translationOf?: string;
|
|
2976
|
+
}): Promise<ApiResult<ContentResponse>>;
|
|
2977
|
+
handleContentUpdate(collection: string, id: string, body: {
|
|
2978
|
+
data?: Record<string, unknown>;
|
|
2979
|
+
slug?: string;
|
|
2980
|
+
status?: string;
|
|
2981
|
+
authorId?: string | null;
|
|
2982
|
+
bylines?: Array<{
|
|
2983
|
+
bylineId: string;
|
|
2984
|
+
roleLabel?: string | null;
|
|
2985
|
+
}>;
|
|
2986
|
+
locale?: string; /** Skip revision creation (used by autosave) */
|
|
2987
|
+
skipRevision?: boolean;
|
|
2988
|
+
_rev?: string;
|
|
2989
|
+
}): Promise<ApiResult<ContentResponse>>;
|
|
2990
|
+
handleContentDelete(collection: string, id: string): Promise<{
|
|
2991
|
+
success: false;
|
|
2992
|
+
error: {
|
|
2993
|
+
code: string;
|
|
2994
|
+
message: string;
|
|
2995
|
+
details?: Record<string, unknown>;
|
|
2996
|
+
};
|
|
2997
|
+
} | {
|
|
2998
|
+
success: true;
|
|
2999
|
+
data: {
|
|
3000
|
+
deleted: true;
|
|
3001
|
+
id: string;
|
|
3002
|
+
};
|
|
3003
|
+
} | {
|
|
3004
|
+
success: boolean;
|
|
3005
|
+
error: {
|
|
3006
|
+
code: string;
|
|
3007
|
+
message: string;
|
|
3008
|
+
};
|
|
3009
|
+
}>;
|
|
3010
|
+
handleContentListTrashed(collection: string, params?: {
|
|
3011
|
+
cursor?: string;
|
|
3012
|
+
limit?: number;
|
|
3013
|
+
}): Promise<ApiResult<{
|
|
3014
|
+
items: TrashedContentItem[];
|
|
3015
|
+
nextCursor?: string;
|
|
3016
|
+
}>>;
|
|
3017
|
+
handleContentRestore(collection: string, id: string): Promise<ApiResult<{
|
|
3018
|
+
restored: true;
|
|
3019
|
+
item: ContentItem$1;
|
|
3020
|
+
}>>;
|
|
3021
|
+
handleContentPermanentDelete(collection: string, id: string): Promise<ApiResult<{
|
|
3022
|
+
deleted: true;
|
|
3023
|
+
id: string;
|
|
3024
|
+
}>>;
|
|
3025
|
+
handleContentCountTrashed(collection: string): Promise<ApiResult<{
|
|
3026
|
+
count: number;
|
|
3027
|
+
}>>;
|
|
3028
|
+
handleContentDuplicate(collection: string, id: string, authorId?: string): Promise<ApiResult<{
|
|
3029
|
+
item: ContentItem$1;
|
|
3030
|
+
}>>;
|
|
3031
|
+
createPublicationAuthorizationService(): PublicationAuthorizationService;
|
|
3032
|
+
handleContentPublish(collection: string, id: string, options?: {
|
|
3033
|
+
publishedAt?: string;
|
|
3034
|
+
requireScheduledDue?: boolean;
|
|
3035
|
+
}): Promise<ApiResult<ContentResponse>>;
|
|
3036
|
+
handleContentUnpublish(collection: string, id: string): Promise<ApiResult<ContentResponse>>;
|
|
3037
|
+
handleContentSchedule(collection: string, id: string, scheduledAt: string): Promise<ApiResult<ContentResponse>>;
|
|
3038
|
+
handleContentUnschedule(collection: string, id: string): Promise<ApiResult<ContentResponse>>;
|
|
3039
|
+
handleContentCountScheduled(collection: string): Promise<ApiResult<{
|
|
3040
|
+
count: number;
|
|
3041
|
+
}>>;
|
|
3042
|
+
handleContentDiscardDraft(collection: string, id: string): Promise<ApiResult<ContentResponse>>;
|
|
3043
|
+
handleContentCompare(collection: string, id: string): Promise<ApiResult<{
|
|
3044
|
+
hasChanges: boolean;
|
|
3045
|
+
live: Record<string, unknown> | null;
|
|
3046
|
+
draft: Record<string, unknown> | null;
|
|
3047
|
+
}>>;
|
|
3048
|
+
handleContentTranslations(collection: string, id: string): Promise<ApiResult<{
|
|
3049
|
+
translationGroup: string;
|
|
3050
|
+
translations: Array<{
|
|
3051
|
+
id: string;
|
|
3052
|
+
locale: string | null;
|
|
3053
|
+
slug: string | null;
|
|
3054
|
+
status: string;
|
|
3055
|
+
updatedAt: string;
|
|
3056
|
+
}>;
|
|
3057
|
+
}>>;
|
|
3058
|
+
private refreshContentUsageAfterSuccessfulWrite;
|
|
3059
|
+
private deleteContentUsageAfterSuccessfulPermanentDelete;
|
|
3060
|
+
private resolveContentId;
|
|
3061
|
+
handleMediaList(params: {
|
|
3062
|
+
cursor?: string;
|
|
3063
|
+
limit?: number;
|
|
3064
|
+
mimeType?: string | readonly string[];
|
|
3065
|
+
q?: string;
|
|
3066
|
+
}): Promise<ApiResult<MediaListResponse>>;
|
|
3067
|
+
handleMediaGet(id: string): Promise<ApiResult<MediaResponse>>;
|
|
3068
|
+
handleMediaCreate(input: {
|
|
3069
|
+
filename: string;
|
|
3070
|
+
mimeType: string;
|
|
3071
|
+
size?: number;
|
|
3072
|
+
width?: number;
|
|
3073
|
+
height?: number;
|
|
3074
|
+
storageKey: string;
|
|
3075
|
+
contentHash?: string;
|
|
3076
|
+
blurhash?: string;
|
|
3077
|
+
dominantColor?: string;
|
|
3078
|
+
}): Promise<ApiResult<MediaResponse>>;
|
|
3079
|
+
handleMediaUpdate(id: string, input: {
|
|
3080
|
+
alt?: string;
|
|
3081
|
+
caption?: string;
|
|
3082
|
+
width?: number;
|
|
3083
|
+
height?: number;
|
|
3084
|
+
}): Promise<ApiResult<MediaResponse>>;
|
|
3085
|
+
handleMediaDelete(id: string): Promise<ApiResult<{
|
|
3086
|
+
deleted: true;
|
|
3087
|
+
}>>;
|
|
3088
|
+
handleRevisionList(collection: string, entryId: string, params?: {
|
|
3089
|
+
limit?: number;
|
|
3090
|
+
}): Promise<ApiResult<RevisionListResponse>>;
|
|
3091
|
+
handleRevisionGet(revisionId: string): Promise<ApiResult<RevisionResponse>>;
|
|
3092
|
+
handleRevisionRestore(revisionId: string, callerUserId: string): Promise<ApiResult<ContentResponse>>;
|
|
3093
|
+
/**
|
|
3094
|
+
* Get route metadata for a plugin route without invoking the handler.
|
|
3095
|
+
* Used by the catch-all route to decide auth before dispatch.
|
|
3096
|
+
* Returns null if the plugin or route doesn't exist.
|
|
3097
|
+
*/
|
|
3098
|
+
getPluginRouteMeta(pluginId: string, path: string): RouteMeta | null;
|
|
3099
|
+
handlePluginApiRoute(pluginId: string, _method: string, path: string, request: Request, invocation?: {
|
|
3100
|
+
actor?: PluginActor | null;
|
|
3101
|
+
}): Promise<{
|
|
3102
|
+
success: boolean;
|
|
3103
|
+
data?: unknown;
|
|
3104
|
+
error?: {
|
|
3105
|
+
code: string;
|
|
3106
|
+
message: string;
|
|
3107
|
+
};
|
|
3108
|
+
} | {
|
|
3109
|
+
success: boolean;
|
|
3110
|
+
error: {
|
|
3111
|
+
code: string;
|
|
3112
|
+
message: string;
|
|
3113
|
+
};
|
|
3114
|
+
status: number;
|
|
3115
|
+
}>;
|
|
3116
|
+
private findSandboxedPlugin;
|
|
3117
|
+
/**
|
|
3118
|
+
* Normalize image/file fields in content data.
|
|
3119
|
+
* Fills missing dimensions, storageKey, mimeType, and filename from providers.
|
|
3120
|
+
*/
|
|
3121
|
+
private normalizeMediaFields;
|
|
3122
|
+
private runSandboxedBeforeSave;
|
|
3123
|
+
private runSandboxedBeforeDelete;
|
|
3124
|
+
private previousContentForNotification;
|
|
3125
|
+
private runAfterSaveHooks;
|
|
3126
|
+
private runAfterDeleteHooks;
|
|
3127
|
+
private runAfterPublishHooks;
|
|
3128
|
+
private runAfterUnpublishHooks;
|
|
3129
|
+
private runAfterRestoreHooks;
|
|
3130
|
+
private runAfterScheduleHooks;
|
|
3131
|
+
private runAfterUnscheduleHooks;
|
|
3132
|
+
private runDeferredContentHook;
|
|
3133
|
+
private handleSandboxedRoute;
|
|
3134
|
+
/**
|
|
3135
|
+
* Cache for page contributions. Uses a WeakMap keyed on the PublicPageContext
|
|
3136
|
+
* object so results are collected once per page context per request, even when
|
|
3137
|
+
* multiple render components (DinewayHead, DinewayBodyStart, DinewayBodyEnd)
|
|
3138
|
+
* request contributions from the same page.
|
|
3139
|
+
*/
|
|
3140
|
+
private pageContributionCache;
|
|
3141
|
+
/**
|
|
3142
|
+
* Collect all page contributions (metadata + fragments) in a single pass.
|
|
3143
|
+
* Results are cached by page context object identity.
|
|
3144
|
+
*/
|
|
3145
|
+
collectPageContributions(page: PublicPageContext): Promise<PageContributions>;
|
|
3146
|
+
private doCollectPageContributions;
|
|
3147
|
+
/**
|
|
3148
|
+
* Collect page metadata contributions from trusted and sandboxed plugins.
|
|
3149
|
+
* Delegates to the single-pass collector and returns the metadata portion.
|
|
3150
|
+
*/
|
|
3151
|
+
collectPageMetadata(page: PublicPageContext): Promise<PageMetadataContribution[]>;
|
|
3152
|
+
/**
|
|
3153
|
+
* Collect page fragment contributions from trusted plugins only.
|
|
3154
|
+
* Delegates to the single-pass collector and returns the fragments portion.
|
|
3155
|
+
*/
|
|
3156
|
+
collectPageFragments(page: PublicPageContext): Promise<PageFragmentContribution[]>;
|
|
3157
|
+
private isPluginEnabled;
|
|
3158
|
+
}
|
|
2678
3159
|
//#endregion
|
|
2679
3160
|
//#region src/site-context/context-types.d.ts
|
|
2680
3161
|
declare const SITE_CONTEXT_TYPES: readonly ["brand_voice", "seo_strategy", "audience", "content_guideline", "forbidden_terms", "editorial_policy", "migration_note", "plugin_note", "agent_reasoning", "decision", "risk", "content_gap", "style_exception"];
|
|
@@ -4443,16 +4924,16 @@ declare const pluginManifestSchema: z$1.ZodObject<{
|
|
|
4443
4924
|
number: "number";
|
|
4444
4925
|
boolean: "boolean";
|
|
4445
4926
|
file: "file";
|
|
4446
|
-
|
|
4447
|
-
datetime: "datetime";
|
|
4927
|
+
json: "json";
|
|
4448
4928
|
slug: "slug";
|
|
4449
4929
|
text: "text";
|
|
4450
4930
|
integer: "integer";
|
|
4931
|
+
datetime: "datetime";
|
|
4451
4932
|
select: "select";
|
|
4452
4933
|
multiSelect: "multiSelect";
|
|
4453
4934
|
portableText: "portableText";
|
|
4935
|
+
image: "image";
|
|
4454
4936
|
reference: "reference";
|
|
4455
|
-
json: "json";
|
|
4456
4937
|
repeater: "repeater";
|
|
4457
4938
|
}>>;
|
|
4458
4939
|
elements: z$1.ZodOptional<z$1.ZodArray<z$1.ZodObject<{
|
|
@@ -7654,4 +8135,4 @@ interface PluginManifest {
|
|
|
7654
8135
|
admin: PluginAdminConfig;
|
|
7655
8136
|
}
|
|
7656
8137
|
//#endregion
|
|
7657
|
-
export { PluginMcpCommandTool as $, handleMediaUpdate as $a, getEditMeta as $i, GetCommentsOptions as $n, FieldDefinition as $o, PluginSecretStatus as $r, ListResponse as $s, currentTimestamp as $t, MediaUploadEvent as A, PortableTextSpan as Aa, invalidateCollectionCache as Ai, getTaxonomyDef as An, handleContentAuthors as Ao, AssignmentAccessContext as Ar, ContentRepository as As, ResolvedPluginHooks as At, PluginActor as B, Section as Ba, CollectionFilter as Bi, getByline as Bn, handleContentList as Bo, SiteAuthTokenContext as Br, Element as Bs, StoredComment as Bt, FieldWidgetConfig as C, portableTextToProsemirror as Ca, verifyPreviewSignature as Ci, UpdateWidgetInput as Cn, PluginMcpTargetAuthorizer$1 as Co, GeneratePreviewTokenOptions as Cr, SiteActivitySourceType as Cs, PortableTextBlockField as Ct, KVAccess as D, PortableTextImageBlock as Da, contentNamespace as Di, WidgetType as Dn, LocalStorageConfig as Do, generatePreviewToken as Dr, CreateMediaInput as Ds, PublicSchemaNode as Dt, HttpAccess as E, PortableTextHtmlBlock as Ea, cachedQuery as Ei, WidgetComponentDef as En, getStoredConfig as Eo, VerifyPreviewTokenResult as Er, RevisionRepository as Es, PublicPageSchema as Et, PageMetadataContribution as F, ProseMirrorNode as Fa, invalidateTaxonomyObjectCache as Fi, CreateTermInput as Fn, handleContentDelete as Fo, HandoffResumeResult as Fr, WhereValue$1 as Fs, StandardPluginDefinition as Ft, PluginAuthMethod as G, SchemaError as Ga, EntryResult as Gi, CreateMenuInput as Gn, handleContentSchedule as Go, NodeSandboxRunner as Gr, parseQuery as Gs, PublicationReadinessPolicyBlocker as Gt, PluginAdminConfig as H, UpdateSectionInput as Ha, ContentEntry as Hi, getEntriesByByline as Hn, handleContentPermanentDelete as Ho, PublicationReleasePolicyContribution as Hr, ParseResult as Hs, PublicationAuthorizationService as Ht, PageMetadataEvent as I, getSection as Ia, isObjectCacheActive as Ii, TaxonomyDef as In, handleContentDiscardDraft as Io, HandoffSnapshotStore as Ir, dinewayLoader as Is, StandardRouteEntry as It, PluginDefinition as J, MediaResponse as Ja, SelectedCollectionData as Ji, MenuItem as Jn, handleContentUnschedule as Jo, SandboxNotAvailableError as Jr, handleError as Js, PublicationReadinessResult as Jt, PluginCapability as K, SchemaRegistry as Ka, InferCollectionData as Ki, CreateMenuItemInput as Kn, handleContentTranslations as Ko, createNodeSandboxRunner as Kr, apiError as Ks, PublicationReadinessPolicyFinding as Kt, PageMetadataHandler as L, getSections as La, AfterCallback as Li, TaxonomyTerm as Ln, handleContentDuplicate as Lo, ResumeHandoffSnapshotInput as Lr, getDb as Ls, StandardRouteHandler as Lt, PageFragmentContribution as M, PortableTextUnknownBlock as Ma, invalidateMenuObjectCache as Mi, getTaxonomyTerms as Mn, handleContentCountScheduled as Mo, AssignmentListInput as Mr, EntryData as Ms, RouteContext as Mt, PageFragmentEvent as N, ProseMirrorDocument as Na, invalidateObjectCache as Ni, getTerm as Nn, handleContentCountTrashed as No, AssignmentService as Nr, EntryFilter as Ns, StandardHookEntry as Nt, LogAccess as O, PortableTextLinkMark as Oa, contentNamespaces as Oi, getEntriesByTerm as On, S3StorageConfig as Oo, parseContentId as Or, MediaItem$1 as Os, ResolvedHook as Ot, PageFragmentHandler as P, ProseMirrorMark as Pa, invalidateSchemaObjectCache as Pi, getTermsForEntries as Pn, handleContentCreate as Po, CreateWorkflowAssignmentInput as Pr, WhereRange as Ps, StandardHookHandler as Pt, PluginMcpCommandPreview as Q, handleMediaList as Qa, getDinewayEntry as Qi, UpdateMenuItemInput as Qn, image as Qo, createReviewedPluginMcpCommandExecutor as Qr, FieldDescriptor as Qs, PublicationReleasePreparationTarget as Qt, PageMetadataLinkRel as R, CreateSectionInput as Ra, after as Ri, TaxonomyTermRow as Rn, handleContentGet as Ro, CreateHandoffSnapshotInput as Rr, DatabaseConfig as Rs, StorageCollection as Rt, EmailMessage as S, hashString as Sa, signPreviewUrl as Si, ReorderWidgetsInput as Sn, PluginMcpRegistry as So, getPreviewUrl as Sr, SiteActivityResultStatus as Ss, PortableTextBlockConfig as St, HookName as T, PortableTextCodeBlock as Ta, CachedQueryOptions as Ti, WidgetArea as Tn, PluginDescriptor as To, VerifyPreviewTokenOptions as Tr, PublicComment as Ts, PublicPageImage as Tt, PluginAdminExports as U, validateContent as Ua, DinewayCollections as Ui, getMenu as Un, handleContentPublish as Uo, PublicationReleasePolicyDisposition as Ur, isParseError as Us, PublicationPolicyOverride as Ut, PluginActorType as V, SectionSource as Va, CollectionResult as Vi, getBylineBySlug as Vn, handleContentListTrashed as Vo, BuiltContentReleasePayload as Vr, OptionsRepository as Vs, isStandardPluginDefinition as Vt, PluginAdminPage as W, getCollectionInfo as Wa, EditFieldMeta as Wi, getMenus as Wn, handleContentRestore as Wo, buildStableActionHash as Wr, parseBody as Ws, PublicationReadinessBlocker as Wt, PluginManifest as X, handleMediaDelete as Xa, TranslationsResult as Xi, ReorderMenuItemsInput as Xn, portableText as Xo, PluginManager as Xr, ContentListResponse as Xs, PublicationReceipt as Xt, PluginHooks as Y, handleMediaCreate as Ya, TranslationSummary as Yi, MenuItemType as Yn, handleContentUpdate as Yo, createNoopSandboxRunner as Yr, ApiContext as Ys, PublicationReadinessWarning as Yt, PluginMcpAuthorization as Z, handleMediaGet as Za, getDinewayCollection as Zi, UpdateMenuInput as Zn, reference as Zo, createPluginManager as Zr, ContentResponse as Zs, PublicationReleasePolicy as Zt, EmailAfterSendHandler as _, RateLimitResult as _a, PreviewSidecarClient as _i, getWidgetAreas as _n, SandboxOptions as _o, isBlockedInPreview as _r, MarkAssignmentsOverdueInput as _s, PluginRouteTargetAuthorizationRequest as _t, CommentAfterModerateEvent as a, createEditable as aa, definePlugin as ai, searchCollection as an, generateManifest as ao, getSiteSetting as ar, CreateRelationInput as as, PluginMcpResource as at, EmailDeliverEvent as b, sanitizeHref as ba, defaultPreviewSidecarClient as bi, CreateWidgetInput as bn, SandboxedPlugin as bo, GetPreviewUrlOptions as br, SiteActivityActorType as bs, PluginStorageConfig as bt, CommentBeforeCreateHandler as c, GuestAccessTokenClaims as ca, FileSessionDatabaseFactory as ci, CollectionSearchOptions as cn, SiteBriefingContextEntry as co, PreviewToolbarConfig as cr, UpdateRelationInput as cs, PluginMcpRiskFactor as ct, ContentAccess as d, IssuedGuestAccessToken as da, SessionDatabaseFactory as di, SearchResponse as dn, EmailPipeline as do, ApplySnapshotToDatabaseOptions as dr, AssignmentActorType as ds, PluginMigration as dt, getTranslations as ea, ManifestResponse as ec, PluginSecretStore as ei, extractPlainText as en, RevisionListResponse as eo, GetCommentsResult as er, FieldUIHints as es, PluginMcpConfig as et, ContentDeleteEvent as f, VerifyGuestAccessTokenOptions as fa, SessionDatabaseHandle as fi, SearchResult as fn, HookPipeline as fo, applySnapshotToDatabase as fr, AssignmentListQuery as fs, PluginRoute as ft, EmailAfterSendEvent as g, verifyGuestAccessToken as ga, SessionOpenOrCreateOptions as gi, getWidgetArea as gn, SandboxEmailSendCallback as go, renderPreviewLoadingPage as gr, CreateAssignmentInput as gs, PluginRouteMethod as gt, EmailAccess as h, issueGuestAccessToken as ha, SessionOpenOptions as hi, Suggestion as hn, SandboxEmailMessage as ho, Snapshot as hr, AssignmentStatus as hs, PluginRouteBodyMode as ht, CommentAfterCreateHandler as i, FieldAnnotation as ia, runPluginMigrations as ii, search as in, handleRevisionRestore as io, getPluginSettings as ir, ContentReference as is, PluginMcpQueryTool as it, ModerationDecision as j, PortableTextTextBlock as ja, invalidateCommentObjectCache as ji, getTaxonomyDefs as jn, handleContentCompare as jo, AssignmentActionInput as jr, CollectionFilter$1 as js, ResolvedPluginMcpConfig as jt, MediaAccess as k, PortableTextMarkDef as ka, invalidateBylineObjectCache as ki, getEntryTerms as kn, StorageDescriptor as ko, verifyPreviewToken as kr, MediaRepository as ks, ResolvedPlugin as kt, CommentModerateEvent as l, GuestAccessTokenConfigurationError as la, FileSessionDatabaseFactoryOptions as li, SearchConfig as ln, SandboxedPluginEntry as lo, renderPreviewToolbar as lr, Assignment as ls, PluginMcpRiskLevel as lt, ContentPublishStateChangeEvent as m, hashGuestAccessToken as ma, SessionDatabaseLimitError as mi, SuggestOptions as mn, createHookPipeline as mo, getAppliedSnapshotMeta as mr, AssignmentRepository as ms, PluginRouteAuthorization as mt, CollectionCommentSettings as n, CMSAnnotation as na, ValidatedPluginManifest as ni, getSearchStats as nn, handleRevisionGet as no, getComments as nr, ImageValue as ns, PluginMcpPiiClass as nt, CommentAfterModerateHandler as o, createNoop as oa, FilePreviewMiddlewareConfig as oi, searchWithDb as on, SiteBriefing as oo, getSiteSettings as or, Relation as os, PluginMcpResourceContent as ot, ContentHookEvent as p, VerifyGuestAccessTokenResult as pa, SessionDatabaseInfo as pi, SearchStats as pn, HookResult as po, dropSessionDatabaseTables as pr, AssignmentPriority as ps, PluginRouteApiTokenPolicy as pt, PluginContext as q, MediaListResponse as qa, ResolvePathResult as qi, Menu as qn, handleContentUnpublish as qo, NoopSandboxRunner as qr, apiSuccess as qs, PublicationReadinessPolicyTarget as qt, CommentAfterCreateEvent as r, EditProxy as ra, pluginManifestSchema as ri, getSuggestions as rn, handleRevisionList as ro, getPluginSetting as rr, PortableTextBlock$1 as rs, PluginMcpPiiPolicy as rt, CommentBeforeCreateEvent as s, GuestAccessExpectedScope as sa, createFilePreviewMiddleware as si, FTSManager as sn, SiteBriefingAssembler as so, setSiteSettings as sr, RelationRepository as ss, PluginMcpReversibility as st, BreadcrumbItem as t, resolveDinewayPath as ta, PluginSecretStoreOptions as ti, extractSearchableFields as tn, RevisionResponse as to, getCommentCount as tr, FileValue as ts, PluginMcpExecutionContext as tt, CommentModerateHandler as u, IssueGuestAccessTokenOptions as ua, SessionCleanupResult as ui, SearchOptions as un, PluginRouteError as uo, AppliedSnapshotMeta as ur, AssignmentActorRef as us, PluginMcpTool as ut, EmailBeforeSendEvent as v, checkRateLimit as va, PreviewSidecarSignature as vi, getWidgetComponents as vn, SandboxRunner as vo, getPreviewToken as vr, CreateSiteActivityInput as vs, PluginRouteTargetAuthorizer as vt, HookConfig as w, prosemirrorToPortableText as wa, CacheNamespace as wi, Widget as wn, DinewayConfig as wo, PreviewTokenPayload as wr, SiteActivityTimelineQuery as ws, PublicPageContext as wt, EmailDeliverHandler as x, computeContentHash as xa, parsePreviewSignatureHeader as xi, PropDef as xn, SerializedRequest as xo, buildPreviewUrl as xr, SiteActivityRepository as xs, PluginTargetScope as xt, EmailBeforeSendHandler as y, isSafeHref as ya, buildPreviewSignatureHeader as yi, CreateWidgetAreaInput as yn, SandboxRunnerFactory as yo, isPreviewRequest as yr, SiteActivity as ys, PluginRouteTargetContext as yt, PagePlacement as z, GetSectionsOptions as za, CacheHint as zi, UpdateTermInput as zn, handleContentGetIncludingTrashed as zo, HandoffSnapshot as zr, DinewayDatabaseError as zs, StorageCollectionConfig as zt };
|
|
8138
|
+
export { PluginMcpCommandTool as $, handleMediaUpdate as $a, getEditMeta as $i, GetCommentsOptions as $n, image as $o, PluginSecretStatus as $r, FieldDescriptor as $s, currentTimestamp as $t, MediaUploadEvent as A, PortableTextSpan as Aa, invalidateCollectionCache as Ai, getTaxonomyDef as An, StorageDescriptor as Ao, AssignmentAccessContext as Ar, MediaRepository as As, ResolvedPluginHooks as At, PluginActor as B, Section as Ba, CollectionFilter as Bi, getByline as Bn, handleContentGetIncludingTrashed as Bo, SiteAuthTokenContext as Br, DinewayDatabaseError as Bs, StoredComment as Bt, FieldWidgetConfig as C, portableTextToProsemirror as Ca, verifyPreviewSignature as Ci, UpdateWidgetInput as Cn, PluginMcpRegistry as Co, GeneratePreviewTokenOptions as Cr, SiteActivityResultStatus as Cs, PortableTextBlockField as Ct, KVAccess as D, PortableTextImageBlock as Da, contentNamespace as Di, WidgetType as Dn, getStoredConfig as Do, generatePreviewToken as Dr, RevisionRepository as Ds, PublicSchemaNode as Dt, HttpAccess as E, PortableTextHtmlBlock as Ea, cachedQuery as Ei, WidgetComponentDef as En, PluginDescriptor as Eo, VerifyPreviewTokenResult as Er, PublicComment as Es, PublicPageSchema as Et, PageMetadataContribution as F, ProseMirrorNode as Fa, invalidateTaxonomyObjectCache as Fi, CreateTermInput as Fn, handleContentCreate as Fo, HandoffResumeResult as Fr, WhereRange as Fs, StandardPluginDefinition as Ft, PluginAuthMethod as G, SchemaError as Ga, EntryResult as Gi, CreateMenuInput as Gn, handleContentRestore as Go, NodeSandboxRunner as Gr, parseBody as Gs, PublicationReadinessPolicyBlocker as Gt, PluginAdminConfig as H, UpdateSectionInput as Ha, ContentEntry as Hi, getEntriesByByline as Hn, handleContentListTrashed as Ho, PublicationReleasePolicyContribution as Hr, OptionsRepository as Hs, PublicationAuthorizationService as Ht, PageMetadataEvent as I, getSection as Ia, isObjectCacheActive as Ii, TaxonomyDef as In, handleContentDelete as Io, HandoffSnapshotStore as Ir, WhereValue$1 as Is, StandardRouteEntry as It, PluginDefinition as J, MediaResponse as Ja, SelectedCollectionData as Ji, MenuItem as Jn, handleContentUnpublish as Jo, SandboxNotAvailableError as Jr, apiSuccess as Js, PublicationReadinessResult as Jt, PluginCapability as K, SchemaRegistry as Ka, InferCollectionData as Ki, CreateMenuItemInput as Kn, handleContentSchedule as Ko, createNodeSandboxRunner as Kr, parseQuery as Ks, PublicationReadinessPolicyFinding as Kt, PageMetadataHandler as L, getSections as La, AfterCallback as Li, TaxonomyTerm as Ln, handleContentDiscardDraft as Lo, ResumeHandoffSnapshotInput as Lr, dinewayLoader as Ls, StandardRouteHandler as Lt, PageFragmentContribution as M, PortableTextUnknownBlock as Ma, invalidateMenuObjectCache as Mi, getTaxonomyTerms as Mn, handleContentCompare as Mo, AssignmentListInput as Mr, CollectionFilter$1 as Ms, RouteContext as Mt, PageFragmentEvent as N, ProseMirrorDocument as Na, invalidateObjectCache as Ni, getTerm as Nn, handleContentCountScheduled as No, AssignmentService as Nr, EntryData as Ns, StandardHookEntry as Nt, LogAccess as O, PortableTextLinkMark as Oa, contentNamespaces as Oi, getEntriesByTerm as On, LocalStorageConfig as Oo, parseContentId as Or, CreateMediaInput as Os, ResolvedHook as Ot, PageFragmentHandler as P, ProseMirrorMark as Pa, invalidateSchemaObjectCache as Pi, getTermsForEntries as Pn, handleContentCountTrashed as Po, CreateWorkflowAssignmentInput as Pr, EntryFilter as Ps, StandardHookHandler as Pt, PluginMcpCommandPreview as Q, handleMediaList as Qa, getDinewayEntry as Qi, UpdateMenuItemInput as Qn, reference as Qo, createReviewedPluginMcpCommandExecutor as Qr, ContentResponse as Qs, PublicationReleasePreparationTarget as Qt, PageMetadataLinkRel as R, CreateSectionInput as Ra, after as Ri, TaxonomyTermRow as Rn, handleContentDuplicate as Ro, CreateHandoffSnapshotInput as Rr, getDb as Rs, StorageCollection as Rt, EmailMessage as S, hashString as Sa, signPreviewUrl as Si, ReorderWidgetsInput as Sn, SerializedRequest as So, getPreviewUrl as Sr, SiteActivityRepository as Ss, PortableTextBlockConfig as St, HookName as T, PortableTextCodeBlock as Ta, CachedQueryOptions as Ti, WidgetArea as Tn, DinewayConfig as To, VerifyPreviewTokenOptions as Tr, SiteActivityTimelineQuery as Ts, PublicPageImage as Tt, PluginAdminExports as U, validateContent as Ua, DinewayCollections as Ui, getMenu as Un, handleContentPermanentDelete as Uo, PublicationReleasePolicyDisposition as Ur, ParseResult as Us, PublicationPolicyOverride as Ut, PluginActorType as V, SectionSource as Va, CollectionResult as Vi, getBylineBySlug as Vn, handleContentList as Vo, BuiltContentReleasePayload as Vr, Element as Vs, isStandardPluginDefinition as Vt, PluginAdminPage as W, getCollectionInfo as Wa, EditFieldMeta as Wi, getMenus as Wn, handleContentPublish as Wo, buildStableActionHash as Wr, isParseError as Ws, PublicationReadinessBlocker as Wt, PluginManifest as X, handleMediaDelete as Xa, TranslationsResult as Xi, ReorderMenuItemsInput as Xn, handleContentUpdate as Xo, PluginManager as Xr, ApiContext as Xs, PublicationReceipt as Xt, PluginHooks as Y, handleMediaCreate as Ya, TranslationSummary as Yi, MenuItemType as Yn, handleContentUnschedule as Yo, createNoopSandboxRunner as Yr, handleError as Ys, PublicationReadinessWarning as Yt, PluginMcpAuthorization as Z, handleMediaGet as Za, getDinewayCollection as Zi, UpdateMenuInput as Zn, portableText as Zo, createPluginManager as Zr, ContentListResponse as Zs, PublicationReleasePolicy as Zt, EmailAfterSendHandler as _, RateLimitResult as _a, PreviewSidecarClient as _i, getWidgetAreas as _n, SandboxEmailSendCallback as _o, isBlockedInPreview as _r, CreateAssignmentInput as _s, PluginRouteTargetAuthorizationRequest as _t, CommentAfterModerateEvent as a, createEditable as aa, definePlugin as ai, searchCollection as an, generateManifest as ao, getSiteSetting as ar, ContentReference as as, PluginMcpResource as at, EmailDeliverEvent as b, sanitizeHref as ba, defaultPreviewSidecarClient as bi, CreateWidgetInput as bn, SandboxRunnerFactory as bo, GetPreviewUrlOptions as br, SiteActivity as bs, PluginStorageConfig as bt, CommentBeforeCreateHandler as c, GuestAccessTokenClaims as ca, FileSessionDatabaseFactory as ci, CollectionSearchOptions as cn, SiteBriefingContextEntry as co, PreviewToolbarConfig as cr, RelationRepository as cs, PluginMcpRiskFactor as ct, ContentAccess as d, IssuedGuestAccessToken as da, SessionDatabaseFactory as di, SearchResponse as dn, PluginRouteError as do, ApplySnapshotToDatabaseOptions as dr, AssignmentActorRef as ds, PluginMigration as dt, getTranslations as ea, ListResponse as ec, PluginSecretStore as ei, extractPlainText as en, RevisionListResponse as eo, GetCommentsResult as er, FieldDefinition as es, PluginMcpConfig as et, ContentDeleteEvent as f, VerifyGuestAccessTokenOptions as fa, SessionDatabaseHandle as fi, SearchResult as fn, EmailPipeline as fo, applySnapshotToDatabase as fr, AssignmentActorType as fs, PluginRoute as ft, EmailAfterSendEvent as g, verifyGuestAccessToken as ga, SessionOpenOrCreateOptions as gi, getWidgetArea as gn, SandboxEmailMessage as go, renderPreviewLoadingPage as gr, AssignmentStatus as gs, PluginRouteMethod as gt, EmailAccess as h, issueGuestAccessToken as ha, SessionOpenOptions as hi, Suggestion as hn, createHookPipeline as ho, Snapshot as hr, AssignmentRepository as hs, PluginRouteBodyMode as ht, CommentAfterCreateHandler as i, FieldAnnotation as ia, runPluginMigrations as ii, search as in, handleRevisionRestore as io, getPluginSettings as ir, PortableTextBlock$1 as is, PluginMcpQueryTool as it, ModerationDecision as j, PortableTextTextBlock as ja, invalidateCommentObjectCache as ji, getTaxonomyDefs as jn, handleContentAuthors as jo, AssignmentActionInput as jr, ContentRepository as js, ResolvedPluginMcpConfig as jt, MediaAccess as k, PortableTextMarkDef as ka, invalidateBylineObjectCache as ki, getEntryTerms as kn, S3StorageConfig as ko, verifyPreviewToken as kr, MediaItem$1 as ks, ResolvedPlugin as kt, CommentModerateEvent as l, GuestAccessTokenConfigurationError as la, FileSessionDatabaseFactoryOptions as li, SearchConfig as ln, DinewayRuntime as lo, renderPreviewToolbar as lr, UpdateRelationInput as ls, PluginMcpRiskLevel as lt, ContentPublishStateChangeEvent as m, hashGuestAccessToken as ma, SessionDatabaseLimitError as mi, SuggestOptions as mn, HookResult as mo, getAppliedSnapshotMeta as mr, AssignmentPriority as ms, PluginRouteAuthorization as mt, CollectionCommentSettings as n, CMSAnnotation as na, ValidatedPluginManifest as ni, getSearchStats as nn, handleRevisionGet as no, getComments as nr, FileValue as ns, PluginMcpPiiClass as nt, CommentAfterModerateHandler as o, createNoop as oa, FilePreviewMiddlewareConfig as oi, searchWithDb as on, SiteBriefing as oo, getSiteSettings as or, CreateRelationInput as os, PluginMcpResourceContent as ot, ContentHookEvent as p, VerifyGuestAccessTokenResult as pa, SessionDatabaseInfo as pi, SearchStats as pn, HookPipeline as po, dropSessionDatabaseTables as pr, AssignmentListQuery as ps, PluginRouteApiTokenPolicy as pt, PluginContext as q, MediaListResponse as qa, ResolvePathResult as qi, Menu as qn, handleContentTranslations as qo, NoopSandboxRunner as qr, apiError as qs, PublicationReadinessPolicyTarget as qt, CommentAfterCreateEvent as r, EditProxy as ra, pluginManifestSchema as ri, getSuggestions as rn, handleRevisionList as ro, getPluginSetting as rr, ImageValue as rs, PluginMcpPiiPolicy as rt, CommentBeforeCreateEvent as s, GuestAccessExpectedScope as sa, createFilePreviewMiddleware as si, FTSManager as sn, SiteBriefingAssembler as so, setSiteSettings as sr, Relation as ss, PluginMcpReversibility as st, BreadcrumbItem as t, resolveDinewayPath as ta, ManifestResponse as tc, PluginSecretStoreOptions as ti, extractSearchableFields as tn, RevisionResponse as to, getCommentCount as tr, FieldUIHints as ts, PluginMcpExecutionContext as tt, CommentModerateHandler as u, IssueGuestAccessTokenOptions as ua, SessionCleanupResult as ui, SearchOptions as un, SandboxedPluginEntry as uo, AppliedSnapshotMeta as ur, Assignment as us, PluginMcpTool as ut, EmailBeforeSendEvent as v, checkRateLimit as va, PreviewSidecarSignature as vi, getWidgetComponents as vn, SandboxOptions as vo, getPreviewToken as vr, MarkAssignmentsOverdueInput as vs, PluginRouteTargetAuthorizer as vt, HookConfig as w, prosemirrorToPortableText as wa, CacheNamespace as wi, Widget as wn, PluginMcpTargetAuthorizer$1 as wo, PreviewTokenPayload as wr, SiteActivitySourceType as ws, PublicPageContext as wt, EmailDeliverHandler as x, computeContentHash as xa, parsePreviewSignatureHeader as xi, PropDef as xn, SandboxedPlugin as xo, buildPreviewUrl as xr, SiteActivityActorType as xs, PluginTargetScope as xt, EmailBeforeSendHandler as y, isSafeHref as ya, buildPreviewSignatureHeader as yi, CreateWidgetAreaInput as yn, SandboxRunner as yo, isPreviewRequest as yr, CreateSiteActivityInput as ys, PluginRouteTargetContext as yt, PagePlacement as z, GetSectionsOptions as za, CacheHint as zi, UpdateTermInput as zn, handleContentGet as zo, HandoffSnapshot as zr, DatabaseConfig as zs, StorageCollectionConfig as zt };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { $i as getEditMeta,
|
|
1
|
+
import { $i as getEditMeta, Es as PublicComment, F as PageMetadataContribution, Mn as getTaxonomyTerms, Un as getMenu, Wa as getCollectionInfo, Zi as getDinewayCollection, ba as sanitizeHref, gn as getWidgetArea, nr as getComments, or as getSiteSettings, wn as Widget, wt as PublicPageContext } from "../types-DucE7XZ_.mjs";
|
|
2
2
|
import "../types-C8cUW9dh.mjs";
|
|
3
3
|
import { _ as MediaValue, c as EmbedResult, l as ImageEmbed, s as EmbedOptions } from "../placeholder-BsYSFPjY.mjs";
|
|
4
4
|
import "../runner-BITx7yBF.mjs";
|
|
@@ -6,10 +6,10 @@ import "../index-NdJMMO48.mjs";
|
|
|
6
6
|
import "../types-C2LBO0t8.mjs";
|
|
7
7
|
import "../public-url-DFX2c_20.mjs";
|
|
8
8
|
import { x as MediaReference } from "../validate-Bc9gaua6.mjs";
|
|
9
|
-
import "../byline-fields-
|
|
9
|
+
import "../byline-fields-BvlyRBny.mjs";
|
|
10
10
|
import "../types-BaKec6bx.mjs";
|
|
11
|
-
import { t as getPublicOrigin } from "../public-url-
|
|
12
|
-
import { a as generateSiteSeoContributions, c as ResolvedPageMetadata, d as renderPageMetadata, f as resolvePageMetadata, i as generateBaseSeoContributions, l as createSha256CspHash, o as renderFragments } from "../jsonld-
|
|
11
|
+
import { t as getPublicOrigin } from "../public-url-Dt8ijPpk.mjs";
|
|
12
|
+
import { a as generateSiteSeoContributions, c as ResolvedPageMetadata, d as renderPageMetadata, f as resolvePageMetadata, i as generateBaseSeoContributions, l as createSha256CspHash, o as renderFragments } from "../jsonld-BRQXGw_k.mjs";
|
|
13
13
|
import { getPageRuntime } from "../page/index.mjs";
|
|
14
14
|
import { t as getMediaProvider } from "../provider-loader-jdkZM6xZ.mjs";
|
|
15
15
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "dineway",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.23",
|
|
4
4
|
"description": "Agentic Website builder for restaurants — structured content meets AI via the Model Context Protocol",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"publishConfig": {
|
|
@@ -388,8 +388,8 @@
|
|
|
388
388
|
"upng-js": "^2.1.0",
|
|
389
389
|
"zod": "^4.4.1",
|
|
390
390
|
"@dineway-ai/admin": "^0.2.9",
|
|
391
|
-
"@dineway-ai/
|
|
392
|
-
"@dineway-ai/
|
|
391
|
+
"@dineway-ai/auth": "^0.2.5",
|
|
392
|
+
"@dineway-ai/gutenberg-to-portable-text": "^0.2.3"
|
|
393
393
|
},
|
|
394
394
|
"optionalDependencies": {
|
|
395
395
|
"@aws-sdk/client-s3": "^3.1049.0",
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|