dineway 0.1.40 → 0.1.42

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (44) hide show
  1. package/README.md +0 -1
  2. package/dist/api/route-utils.d.mts +2 -2
  3. package/dist/api/schemas/index.d.mts +1 -1
  4. package/dist/{api-DHsMtgSK.mjs → api-BoPysyFb.mjs} +1 -1
  5. package/dist/astro/index.d.mts +2 -2
  6. package/dist/astro/index.mjs +1 -1
  7. package/dist/astro/middleware/auth.d.mts +2 -2
  8. package/dist/astro/middleware.mjs +2 -2
  9. package/dist/astro/routes/api/admin/plugins/_id_/disable.mjs +1 -1
  10. package/dist/astro/routes/api/admin/plugins/_id_/enable.mjs +1 -1
  11. package/dist/astro/routes/api/admin/plugins/_id_/index.mjs +1 -1
  12. package/dist/astro/routes/api/admin/plugins/_id_/uninstall.mjs +1 -1
  13. package/dist/astro/routes/api/admin/plugins/_id_/update.mjs +1 -1
  14. package/dist/astro/routes/api/admin/plugins/index.mjs +1 -1
  15. package/dist/astro/routes/api/admin/plugins/marketplace/_id_/index.mjs +1 -1
  16. package/dist/astro/routes/api/admin/plugins/marketplace/_id_/install.mjs +1 -1
  17. package/dist/astro/routes/api/admin/plugins/marketplace/index.mjs +1 -1
  18. package/dist/astro/routes/api/admin/plugins/updates.mjs +1 -1
  19. package/dist/astro/routes/api/admin/themes/marketplace/_id_/index.mjs +1 -1
  20. package/dist/astro/routes/api/admin/themes/marketplace/index.mjs +1 -1
  21. package/dist/astro/routes/api/health.mjs +1 -1
  22. package/dist/astro/routes/api/manifest.mjs +1 -1
  23. package/dist/astro/routes/api/mcp.mjs +1 -1
  24. package/dist/astro/routes/api/openapi.json.mjs +1 -1
  25. package/dist/astro/routes/api/schema/collections/_slug_/fields/_fieldSlug_.mjs +1 -1
  26. package/dist/astro/routes/api/schema/collections/_slug_/fields/index.mjs +1 -1
  27. package/dist/astro/routes/api/schema/collections/_slug_/fields/reorder.mjs +1 -1
  28. package/dist/astro/routes/api/schema/collections/_slug_/index.mjs +1 -1
  29. package/dist/astro/routes/api/schema/collections/index.mjs +1 -1
  30. package/dist/astro/routes/api/schema/orphans/_slug_.mjs +1 -1
  31. package/dist/astro/routes/api/schema/orphans/index.mjs +1 -1
  32. package/dist/astro/routes/api/well-known/auth.mjs +1 -1
  33. package/dist/astro/types.d.mts +2 -2
  34. package/dist/{bylines-BnInIxUL.d.mts → bylines-C8EfvtqH.d.mts} +12 -12
  35. package/dist/cli/index.mjs +75 -40
  36. package/dist/index.d.mts +2 -2
  37. package/dist/index.mjs +1 -1
  38. package/dist/media/local-runtime.d.mts +2 -2
  39. package/dist/plugins/adapt-sandbox-entry.d.mts +2 -2
  40. package/dist/{runtime-yK9bWV13.d.mts → runtime-C72pSfsv.d.mts} +1 -1
  41. package/dist/runtime.d.mts +2 -2
  42. package/dist/version-CG1eGmCZ.mjs +6 -0
  43. package/package.json +1 -1
  44. package/dist/version-BH9FCDRu.mjs +0 -6
package/README.md CHANGED
@@ -268,7 +268,6 @@ npx dineway deploy --skip-seed
268
268
 
269
269
  The same verified email can republish the same restaurant from a fresh local checkout or a new shadow session. A different verified email is stopped by the restaurant claim check.
270
270
 
271
- Forgeway deploy excludes local build and planning artifacts such as `.dineway/`, `.astro/`, `.plan/`, `uploads/`, and `data.db*`. Add a project `.dinewayignore` for additional generated files that should not be scanned or uploaded.
272
271
 
273
272
  > **Important:** Open the setup link in your browser immediately. It lets you register your secure passkey for the live admin panel. If you lose or expire the link, regenerate it with `npx dineway auth setup-link`.
274
273
 
@@ -1,11 +1,11 @@
1
- import { $n as isParseError, Qn as ParseResult, Zn as OptionsRepository, er as parseBody, ir as handleError, nr as apiError, rr as apiSuccess, t as DinewayConfig, tr as parseQuery } from "../runtime-yK9bWV13.mjs";
1
+ import { $n as isParseError, Qn as ParseResult, Zn as OptionsRepository, er as parseBody, ir as handleError, nr as apiError, rr as apiSuccess, t as DinewayConfig, tr as parseQuery } from "../runtime-C72pSfsv.mjs";
2
2
  import { t as Database } from "../types-C-CMfzSl.mjs";
3
3
  import { at as StorageCollectionConfig, it as StorageCollection } from "../types-BIM7jwxr.mjs";
4
4
  import "../types-BgE6gMFI.mjs";
5
5
  import "../runner-FhUNNaqA.mjs";
6
6
  import "../index-Ct0pjZwW.mjs";
7
7
  import "../index-BwOO3vu2.mjs";
8
- import "../bylines-BnInIxUL.mjs";
8
+ import "../bylines-C8EfvtqH.mjs";
9
9
  import "../types-BBETcziA.mjs";
10
10
  import "../validate-CvQ6cvHH.mjs";
11
11
  import { Kysely } from "kysely";
@@ -1,3 +1,3 @@
1
- import { $ as updateSectionBody, $n as cursorPaginationQuery, $t as createCommentBody, A as userDetailSchema, An as mediaUploadUrlBody, At as passkeyRegisterVerifyBody, B as wpRewriteUrlsBody, Bn as contentScheduleBody, Bt as contextEntryCreateBody, C as updateWidgetBody, Cn as mediaExistingResponseSchema, Ct as authMeActionBody, D as widgetSchema, Dn as mediaProviderListQuery, Dt as magicLinkSendBody, E as widgetAreaWithWidgetsSchema, En as mediaListResponseSchema, Et as inviteRegisterOptionsBody, F as importProbeBody, Fn as contentListQuery, Ft as reviewRequestListQuery, G as searchResultSchema, Gn as contentTranslationsResponseSchema, Gt as contextEntrySupersedeBody, H as searchQuery, Hn as contentSeoSchema, Ht as contextEntryListQuery, I as wpMediaImportBody, In as contentListResponseSchema, It as reviewRequestResolveBody, J as siteSettingsSchema, Jn as trashedContentItemSchema, Jt as commentBulkResponseSchema, K as searchSuggestQuery, Kn as contentTrashQuery, Kt as adminCommentListResponseSchema, L as wpPluginAnalyzeBody, Ln as contentPreviewUrlBody, Lt as hitlRequestListQuery, M as userSchema, Mn as contentCompareResponseSchema, Mt as passkeyVerifyBody, N as userUpdateBody, Nn as contentCreateBody, Nt as signupCompleteBody, O as allowedDomainCreateBody, On as mediaResponseSchema, Ot as passkeyOptionsBody, P as usersListQuery, Pn as contentItemSchema, Pt as signupRequestBody, Q as sectionsListQuery, Qn as countResponseSchema, Qt as commentStatusBody, R as wpPluginExecuteBody, Rn as contentPublishBody, Rt as hitlRequestResolveBody, S as reorderWidgetsBody, Sn as mediaConfirmResponseSchema, St as updateMenuItemBody, T as widgetAreaWithWidgetsAndCountSchema, Tn as mediaListQuery, Tt as inviteCreateBody, U as searchRebuildBody, Un as contentTermsBody, Ut as contextEntryReviewBody, V as searchEnableBody, Vn as contentSeoInput, Vt as contextEntryDiffQuery, W as searchResponseSchema, Wn as contentTranslationSchema, Wt as contextEntryStaleQuery, X as sectionListResponseSchema, Xn as VALID_ROLE_LEVELS, Xt as commentListQuery, Y as createSectionBody, Yn as trashedContentListResponseSchema, Yt as commentCountsResponseSchema, Z as sectionSchema, Zn as apiErrorSchema, Zt as commentSchema, _ as redirectSchema, _n as updateCollectionBody, _t as menuSchema, a as bylineUpdateBody, an as collectionSchema, ar as roleLevel, at as termGetResponseSchema, b as createWidgetAreaBody, bn as formatFileSize, bt as reorderMenuItemsBody, c as createRedirectBody, cn as createFieldBody, ct as termSchema, d as notFoundListResponseSchema, dn as fieldResponseSchema, dt as updateTermBody, en as publicCommentListResponseSchema, er as deleteResponseSchema, et as createTaxonomyDefBody, f as notFoundPruneBody, fn as fieldSchema, ft as createMenuBody, g as redirectListResponseSchema, gn as schemaExportQuery, gt as menuListItemSchema, h as notFoundSummarySchema, hn as orphanedTableSchema, ht as menuItemTypeEnum, i as bylineSummarySchema, in as collectionResponseSchema, ir as offsetPaginationQuery, it as taxonomyListResponseSchema, j as userListResponseSchema, jn as mediaUploadUrlResponseSchema, jt as passkeyRenameBody, k as allowedDomainUpdateBody, kn as mediaUpdateBody, kt as passkeyRegisterOptionsBody, l as notFoundEntrySchema, ln as fieldListResponseSchema, lt as termTranslationsSchema, m as notFoundSummaryResponseSchema, mn as orphanedTableListResponseSchema, mt as menuItemSchema, n as bylineCreditSchema, nn as collectionGetQuery, nr as localeCode, nt as taxonomyDefSchema, o as bylinesListQuery, on as collectionWithFieldsResponseSchema, or as slugPattern, ot as termListResponseSchema, p as notFoundSummaryQuery, pn as orphanRegisterBody, pt as createMenuItemBody, q as settingsUpdateBody, qn as contentUpdateBody, qt as commentBulkBody, r as bylineListResponseSchema, rn as collectionListResponseSchema, rr as localeFilterQuery, rt as taxonomyDefTranslationsSchema, s as contentBylineInputSchema, sn as createCollectionBody, sr as successEnvelope, st as termResponseSchema, t as bylineCreateBody, tn as publicCommentSchema, tr as httpUrl, tt as createTermBody, u as notFoundListQuery, un as fieldReorderBody, ut as termWithCountSchema, v as redirectsListQuery, vn as updateFieldBody, vt as menuTranslationsSchema, w as widgetAreaSchema, wn as mediaItemSchema, wt as inviteCompleteBody, x as createWidgetBody, xn as mediaConfirmBody, xt as updateMenuBody, y as updateRedirectBody, yn as DEFAULT_MAX_UPLOAD_SIZE, yt as menuWithItemsSchema, z as wpPrepareBody, zn as contentResponseSchema, zt as siteBriefingQuery } from "../../bylines-BnInIxUL.mjs";
1
+ import { $ as updateSectionBody, $n as cursorPaginationQuery, $t as createCommentBody, A as userDetailSchema, An as mediaUploadUrlBody, At as passkeyRegisterVerifyBody, B as wpRewriteUrlsBody, Bn as contentScheduleBody, Bt as contextEntryCreateBody, C as updateWidgetBody, Cn as mediaExistingResponseSchema, Ct as authMeActionBody, D as widgetSchema, Dn as mediaProviderListQuery, Dt as magicLinkSendBody, E as widgetAreaWithWidgetsSchema, En as mediaListResponseSchema, Et as inviteRegisterOptionsBody, F as importProbeBody, Fn as contentListQuery, Ft as reviewRequestListQuery, G as searchResultSchema, Gn as contentTranslationsResponseSchema, Gt as contextEntrySupersedeBody, H as searchQuery, Hn as contentSeoSchema, Ht as contextEntryListQuery, I as wpMediaImportBody, In as contentListResponseSchema, It as reviewRequestResolveBody, J as siteSettingsSchema, Jn as trashedContentItemSchema, Jt as commentBulkResponseSchema, K as searchSuggestQuery, Kn as contentTrashQuery, Kt as adminCommentListResponseSchema, L as wpPluginAnalyzeBody, Ln as contentPreviewUrlBody, Lt as hitlRequestListQuery, M as userSchema, Mn as contentCompareResponseSchema, Mt as passkeyVerifyBody, N as userUpdateBody, Nn as contentCreateBody, Nt as signupCompleteBody, O as allowedDomainCreateBody, On as mediaResponseSchema, Ot as passkeyOptionsBody, P as usersListQuery, Pn as contentItemSchema, Pt as signupRequestBody, Q as sectionsListQuery, Qn as countResponseSchema, Qt as commentStatusBody, R as wpPluginExecuteBody, Rn as contentPublishBody, Rt as hitlRequestResolveBody, S as reorderWidgetsBody, Sn as mediaConfirmResponseSchema, St as updateMenuItemBody, T as widgetAreaWithWidgetsAndCountSchema, Tn as mediaListQuery, Tt as inviteCreateBody, U as searchRebuildBody, Un as contentTermsBody, Ut as contextEntryReviewBody, V as searchEnableBody, Vn as contentSeoInput, Vt as contextEntryDiffQuery, W as searchResponseSchema, Wn as contentTranslationSchema, Wt as contextEntryStaleQuery, X as sectionListResponseSchema, Xn as VALID_ROLE_LEVELS, Xt as commentListQuery, Y as createSectionBody, Yn as trashedContentListResponseSchema, Yt as commentCountsResponseSchema, Z as sectionSchema, Zn as apiErrorSchema, Zt as commentSchema, _ as redirectSchema, _n as updateCollectionBody, _t as menuSchema, a as bylineUpdateBody, an as collectionSchema, ar as roleLevel, at as termGetResponseSchema, b as createWidgetAreaBody, bn as formatFileSize, bt as reorderMenuItemsBody, c as createRedirectBody, cn as createFieldBody, ct as termSchema, d as notFoundListResponseSchema, dn as fieldResponseSchema, dt as updateTermBody, en as publicCommentListResponseSchema, er as deleteResponseSchema, et as createTaxonomyDefBody, f as notFoundPruneBody, fn as fieldSchema, ft as createMenuBody, g as redirectListResponseSchema, gn as schemaExportQuery, gt as menuListItemSchema, h as notFoundSummarySchema, hn as orphanedTableSchema, ht as menuItemTypeEnum, i as bylineSummarySchema, in as collectionResponseSchema, ir as offsetPaginationQuery, it as taxonomyListResponseSchema, j as userListResponseSchema, jn as mediaUploadUrlResponseSchema, jt as passkeyRenameBody, k as allowedDomainUpdateBody, kn as mediaUpdateBody, kt as passkeyRegisterOptionsBody, l as notFoundEntrySchema, ln as fieldListResponseSchema, lt as termTranslationsSchema, m as notFoundSummaryResponseSchema, mn as orphanedTableListResponseSchema, mt as menuItemSchema, n as bylineCreditSchema, nn as collectionGetQuery, nr as localeCode, nt as taxonomyDefSchema, o as bylinesListQuery, on as collectionWithFieldsResponseSchema, or as slugPattern, ot as termListResponseSchema, p as notFoundSummaryQuery, pn as orphanRegisterBody, pt as createMenuItemBody, q as settingsUpdateBody, qn as contentUpdateBody, qt as commentBulkBody, r as bylineListResponseSchema, rn as collectionListResponseSchema, rr as localeFilterQuery, rt as taxonomyDefTranslationsSchema, s as contentBylineInputSchema, sn as createCollectionBody, sr as successEnvelope, st as termResponseSchema, t as bylineCreateBody, tn as publicCommentSchema, tr as httpUrl, tt as createTermBody, u as notFoundListQuery, un as fieldReorderBody, ut as termWithCountSchema, v as redirectsListQuery, vn as updateFieldBody, vt as menuTranslationsSchema, w as widgetAreaSchema, wn as mediaItemSchema, wt as inviteCompleteBody, x as createWidgetBody, xn as mediaConfirmBody, xt as updateMenuBody, y as updateRedirectBody, yn as DEFAULT_MAX_UPLOAD_SIZE, yt as menuWithItemsSchema, z as wpPrepareBody, zn as contentResponseSchema, zt as siteBriefingQuery } from "../../bylines-C8EfvtqH.mjs";
2
2
  import { atprotoLoginBody, setupAdminBody, setupAdminVerifyBody, setupAtprotoAdminBody, setupBody } from "./setup.mjs";
3
3
  export { DEFAULT_MAX_UPLOAD_SIZE, VALID_ROLE_LEVELS, adminCommentListResponseSchema, allowedDomainCreateBody, allowedDomainUpdateBody, apiErrorSchema, atprotoLoginBody, authMeActionBody, bylineCreateBody, bylineCreditSchema, bylineListResponseSchema, bylineSummarySchema, bylineUpdateBody, bylinesListQuery, collectionGetQuery, collectionListResponseSchema, collectionResponseSchema, collectionSchema, collectionWithFieldsResponseSchema, commentBulkBody, commentBulkResponseSchema, commentCountsResponseSchema, commentListQuery, commentSchema, commentStatusBody, contentBylineInputSchema, contentCompareResponseSchema, contentCreateBody, contentItemSchema, contentListQuery, contentListResponseSchema, contentPreviewUrlBody, contentPublishBody, contentResponseSchema, contentScheduleBody, contentSeoInput, contentSeoSchema, contentTermsBody, contentTranslationSchema, contentTranslationsResponseSchema, contentTrashQuery, contentUpdateBody, contextEntryCreateBody, contextEntryDiffQuery, contextEntryListQuery, contextEntryReviewBody, contextEntryStaleQuery, contextEntrySupersedeBody, countResponseSchema, createCollectionBody, createCommentBody, createFieldBody, createMenuBody, createMenuItemBody, createRedirectBody, createSectionBody, createTaxonomyDefBody, createTermBody, createWidgetAreaBody, createWidgetBody, cursorPaginationQuery, deleteResponseSchema, fieldListResponseSchema, fieldReorderBody, fieldResponseSchema, fieldSchema, formatFileSize, hitlRequestListQuery, hitlRequestResolveBody, httpUrl, importProbeBody, inviteCompleteBody, inviteCreateBody, inviteRegisterOptionsBody, localeCode, localeFilterQuery, magicLinkSendBody, mediaConfirmBody, mediaConfirmResponseSchema, mediaExistingResponseSchema, mediaItemSchema, mediaListQuery, mediaListResponseSchema, mediaProviderListQuery, mediaResponseSchema, mediaUpdateBody, mediaUploadUrlBody, mediaUploadUrlResponseSchema, menuItemSchema, menuItemTypeEnum, menuListItemSchema, menuSchema, menuTranslationsSchema, menuWithItemsSchema, notFoundEntrySchema, notFoundListQuery, notFoundListResponseSchema, notFoundPruneBody, notFoundSummaryQuery, notFoundSummaryResponseSchema, notFoundSummarySchema, offsetPaginationQuery, orphanRegisterBody, orphanedTableListResponseSchema, orphanedTableSchema, passkeyOptionsBody, passkeyRegisterOptionsBody, passkeyRegisterVerifyBody, passkeyRenameBody, passkeyVerifyBody, publicCommentListResponseSchema, publicCommentSchema, redirectListResponseSchema, redirectSchema, redirectsListQuery, reorderMenuItemsBody, reorderWidgetsBody, reviewRequestListQuery, reviewRequestResolveBody, roleLevel, schemaExportQuery, searchEnableBody, searchQuery, searchRebuildBody, searchResponseSchema, searchResultSchema, searchSuggestQuery, sectionListResponseSchema, sectionSchema, sectionsListQuery, settingsUpdateBody, setupAdminBody, setupAdminVerifyBody, setupAtprotoAdminBody, setupBody, signupCompleteBody, signupRequestBody, siteBriefingQuery, siteSettingsSchema, slugPattern, successEnvelope, taxonomyDefSchema, taxonomyDefTranslationsSchema, taxonomyListResponseSchema, termGetResponseSchema, termListResponseSchema, termResponseSchema, termSchema, termTranslationsSchema, termWithCountSchema, trashedContentItemSchema, trashedContentListResponseSchema, updateCollectionBody, updateFieldBody, updateMenuBody, updateMenuItemBody, updateRedirectBody, updateSectionBody, updateTermBody, updateWidgetBody, userDetailSchema, userListResponseSchema, userSchema, userUpdateBody, usersListQuery, widgetAreaSchema, widgetAreaWithWidgetsAndCountSchema, widgetAreaWithWidgetsSchema, widgetSchema, wpMediaImportBody, wpPluginAnalyzeBody, wpPluginExecuteBody, wpPrepareBody, wpRewriteUrlsBody };
@@ -16,7 +16,7 @@ import { n as requestCached } from "./request-cache-BpwuE2ix.mjs";
16
16
  import { u as PluginStateRepository } from "./briefing-Jsxs587i.mjs";
17
17
  import { n as SchemaRegistry, t as SchemaError } from "./registry-i__XP2WV.mjs";
18
18
  import { n as hashString } from "./hash-DFFrkivP.mjs";
19
- import { n as VERSION, t as COMMIT } from "./version-BH9FCDRu.mjs";
19
+ import { n as VERSION, t as COMMIT } from "./version-CG1eGmCZ.mjs";
20
20
  import { i as pluginManifestSchema, r as normalizeManifestRoute } from "./manifest-schema-C6fzQoWn.mjs";
21
21
  import { t as DinewayStorageError } from "./types-CNNQ8l0v.mjs";
22
22
  import { sql } from "kysely";
@@ -1,12 +1,12 @@
1
1
  import { r as ContentItem } from "../types-DvwHUku7.mjs";
2
- import { Kn as MediaItem, a as S3StorageConfig, i as LocalStorageConfig, o as StorageDescriptor, r as getStoredConfig, t as DinewayConfig } from "../runtime-yK9bWV13.mjs";
2
+ import { Kn as MediaItem, a as S3StorageConfig, i as LocalStorageConfig, o as StorageDescriptor, r as getStoredConfig, t as DinewayConfig } from "../runtime-C72pSfsv.mjs";
3
3
  import "../types-C-CMfzSl.mjs";
4
4
  import { X as ResolvedPlugin } from "../types-BIM7jwxr.mjs";
5
5
  import "../types-BgE6gMFI.mjs";
6
6
  import "../runner-FhUNNaqA.mjs";
7
7
  import "../index-Ct0pjZwW.mjs";
8
8
  import "../index-BwOO3vu2.mjs";
9
- import "../bylines-BnInIxUL.mjs";
9
+ import "../bylines-C8EfvtqH.mjs";
10
10
  import "../types-BBETcziA.mjs";
11
11
  import "../validate-CvQ6cvHH.mjs";
12
12
  import { DinewayHandlers, DinewayManifest, ManifestCollection } from "./types.mjs";
@@ -1,4 +1,4 @@
1
- import { n as VERSION, t as COMMIT } from "../version-BH9FCDRu.mjs";
1
+ import { n as VERSION, t as COMMIT } from "../version-CG1eGmCZ.mjs";
2
2
  import { t as defaultSeed } from "../default-5A3XVR7L.mjs";
3
3
  import { n as validateAllowedOrigins, r as validateOriginShape } from "../allowed-origins-3RuuoFjC.mjs";
4
4
  import { createRequire } from "node:module";
@@ -1,11 +1,11 @@
1
- import "../../runtime-yK9bWV13.mjs";
1
+ import "../../runtime-C72pSfsv.mjs";
2
2
  import "../../types-C-CMfzSl.mjs";
3
3
  import "../../types-BIM7jwxr.mjs";
4
4
  import "../../types-BgE6gMFI.mjs";
5
5
  import "../../runner-FhUNNaqA.mjs";
6
6
  import "../../index-Ct0pjZwW.mjs";
7
7
  import "../../index-BwOO3vu2.mjs";
8
- import "../../bylines-BnInIxUL.mjs";
8
+ import "../../bylines-C8EfvtqH.mjs";
9
9
  import "../../types-BBETcziA.mjs";
10
10
  import "../../validate-CvQ6cvHH.mjs";
11
11
  import { DinewayHandlers } from "../types.mjs";
@@ -25,7 +25,7 @@ import "../byline-DpNNSjET.mjs";
25
25
  import { t as normalizeMediaValue } from "../normalize-BY_EJnd9.mjs";
26
26
  import "../placeholder-b0Ufu0La.mjs";
27
27
  import "../seo-BPb_reaG.mjs";
28
- import { $ as validateRev, A as handleRevisionGet, B as handleContentDuplicate, D as handleMediaGet, E as handleMediaDelete, F as handleContentCountScheduled, G as handleContentPermanentDelete, H as handleContentGetIncludingTrashed, I as handleContentCountTrashed, J as handleContentSchedule, K as handleContentPublish, L as handleContentCreate, M as handleRevisionRestore, O as handleMediaList, P as handleContentCompare, Q as handleContentUpdate, R as handleContentDelete, T as handleMediaCreate, U as handleContentList, V as handleContentGet, W as handleContentListTrashed, X as handleContentUnpublish, Y as handleContentTranslations, Z as handleContentUnschedule, d as createPluginBundleStore, j as handleRevisionList, k as handleMediaUpdate, q as handleContentRestore, z as handleContentDiscardDraft } from "../api-DHsMtgSK.mjs";
28
+ import { $ as validateRev, A as handleRevisionGet, B as handleContentDuplicate, D as handleMediaGet, E as handleMediaDelete, F as handleContentCountScheduled, G as handleContentPermanentDelete, H as handleContentGetIncludingTrashed, I as handleContentCountTrashed, J as handleContentSchedule, K as handleContentPublish, L as handleContentCreate, M as handleRevisionRestore, O as handleMediaList, P as handleContentCompare, Q as handleContentUpdate, R as handleContentDelete, T as handleMediaCreate, U as handleContentList, V as handleContentGet, W as handleContentListTrashed, X as handleContentUnpublish, Y as handleContentTranslations, Z as handleContentUnschedule, d as createPluginBundleStore, j as handleRevisionList, k as handleMediaUpdate, q as handleContentRestore, z as handleContentDiscardDraft } from "../api-BoPysyFb.mjs";
29
29
  import { n as requestCached } from "../request-cache-BpwuE2ix.mjs";
30
30
  import "../dashboard-BC9bgPOH.mjs";
31
31
  import { u as PluginStateRepository } from "../briefing-Jsxs587i.mjs";
@@ -37,7 +37,7 @@ import { c as createPublicMediaUrlResolver } from "../settings-DORe02PC.mjs";
37
37
  import "../briefing-DD82WaEy.mjs";
38
38
  import "../review-requests-DuIxM4YM.mjs";
39
39
  import { n as hashString } from "../hash-DFFrkivP.mjs";
40
- import { n as VERSION, t as COMMIT } from "../version-BH9FCDRu.mjs";
40
+ import { n as VERSION, t as COMMIT } from "../version-CG1eGmCZ.mjs";
41
41
  import "../query-BnRpB09I.mjs";
42
42
  import "../zod-generator-C4BgFBZV.mjs";
43
43
  import "../schema-U-SeFWwn.mjs";
@@ -14,7 +14,7 @@ import "../../../../../../menus-DOaL6NaF.mjs";
14
14
  import "../../../../../../redirect-BaVvo2te.mjs";
15
15
  import "../../../../../../byline-DpNNSjET.mjs";
16
16
  import "../../../../../../seo-BPb_reaG.mjs";
17
- import "../../../../../../api-DHsMtgSK.mjs";
17
+ import "../../../../../../api-BoPysyFb.mjs";
18
18
  import "../../../../../../request-cache-BpwuE2ix.mjs";
19
19
  import "../../../../../../dashboard-BC9bgPOH.mjs";
20
20
  import { c as handlePluginGet, o as handlePluginDisable } from "../../../../../../briefing-Jsxs587i.mjs";
@@ -14,7 +14,7 @@ import "../../../../../../menus-DOaL6NaF.mjs";
14
14
  import "../../../../../../redirect-BaVvo2te.mjs";
15
15
  import "../../../../../../byline-DpNNSjET.mjs";
16
16
  import "../../../../../../seo-BPb_reaG.mjs";
17
- import "../../../../../../api-DHsMtgSK.mjs";
17
+ import "../../../../../../api-BoPysyFb.mjs";
18
18
  import "../../../../../../request-cache-BpwuE2ix.mjs";
19
19
  import "../../../../../../dashboard-BC9bgPOH.mjs";
20
20
  import { c as handlePluginGet, s as handlePluginEnable } from "../../../../../../briefing-Jsxs587i.mjs";
@@ -13,7 +13,7 @@ import "../../../../../../menus-DOaL6NaF.mjs";
13
13
  import "../../../../../../redirect-BaVvo2te.mjs";
14
14
  import "../../../../../../byline-DpNNSjET.mjs";
15
15
  import "../../../../../../seo-BPb_reaG.mjs";
16
- import "../../../../../../api-DHsMtgSK.mjs";
16
+ import "../../../../../../api-BoPysyFb.mjs";
17
17
  import "../../../../../../request-cache-BpwuE2ix.mjs";
18
18
  import "../../../../../../dashboard-BC9bgPOH.mjs";
19
19
  import { c as handlePluginGet } from "../../../../../../briefing-Jsxs587i.mjs";
@@ -14,7 +14,7 @@ import "../../../../../../menus-DOaL6NaF.mjs";
14
14
  import "../../../../../../redirect-BaVvo2te.mjs";
15
15
  import "../../../../../../byline-DpNNSjET.mjs";
16
16
  import "../../../../../../seo-BPb_reaG.mjs";
17
- import { a as handleMarketplaceUninstall } from "../../../../../../api-DHsMtgSK.mjs";
17
+ import { a as handleMarketplaceUninstall } from "../../../../../../api-BoPysyFb.mjs";
18
18
  import "../../../../../../request-cache-BpwuE2ix.mjs";
19
19
  import "../../../../../../dashboard-BC9bgPOH.mjs";
20
20
  import { l as handlePluginList } from "../../../../../../briefing-Jsxs587i.mjs";
@@ -14,7 +14,7 @@ import "../../../../../../menus-DOaL6NaF.mjs";
14
14
  import "../../../../../../redirect-BaVvo2te.mjs";
15
15
  import "../../../../../../byline-DpNNSjET.mjs";
16
16
  import "../../../../../../seo-BPb_reaG.mjs";
17
- import { c as handleMarketplaceUpdatePreview, o as handleMarketplaceUpdate } from "../../../../../../api-DHsMtgSK.mjs";
17
+ import { c as handleMarketplaceUpdatePreview, o as handleMarketplaceUpdate } from "../../../../../../api-BoPysyFb.mjs";
18
18
  import "../../../../../../request-cache-BpwuE2ix.mjs";
19
19
  import "../../../../../../dashboard-BC9bgPOH.mjs";
20
20
  import "../../../../../../briefing-Jsxs587i.mjs";
@@ -13,7 +13,7 @@ import "../../../../../menus-DOaL6NaF.mjs";
13
13
  import "../../../../../redirect-BaVvo2te.mjs";
14
14
  import "../../../../../byline-DpNNSjET.mjs";
15
15
  import "../../../../../seo-BPb_reaG.mjs";
16
- import "../../../../../api-DHsMtgSK.mjs";
16
+ import "../../../../../api-BoPysyFb.mjs";
17
17
  import "../../../../../request-cache-BpwuE2ix.mjs";
18
18
  import "../../../../../dashboard-BC9bgPOH.mjs";
19
19
  import { l as handlePluginList } from "../../../../../briefing-Jsxs587i.mjs";
@@ -13,7 +13,7 @@ import "../../../../../../../menus-DOaL6NaF.mjs";
13
13
  import "../../../../../../../redirect-BaVvo2te.mjs";
14
14
  import "../../../../../../../byline-DpNNSjET.mjs";
15
15
  import "../../../../../../../seo-BPb_reaG.mjs";
16
- import { t as handleMarketplaceGetPlugin } from "../../../../../../../api-DHsMtgSK.mjs";
16
+ import { t as handleMarketplaceGetPlugin } from "../../../../../../../api-BoPysyFb.mjs";
17
17
  import "../../../../../../../request-cache-BpwuE2ix.mjs";
18
18
  import "../../../../../../../dashboard-BC9bgPOH.mjs";
19
19
  import "../../../../../../../briefing-Jsxs587i.mjs";
@@ -14,7 +14,7 @@ import "../../../../../../../menus-DOaL6NaF.mjs";
14
14
  import "../../../../../../../redirect-BaVvo2te.mjs";
15
15
  import "../../../../../../../byline-DpNNSjET.mjs";
16
16
  import "../../../../../../../seo-BPb_reaG.mjs";
17
- import { n as handleMarketplaceInstall, r as handleMarketplaceInstallPreview } from "../../../../../../../api-DHsMtgSK.mjs";
17
+ import { n as handleMarketplaceInstall, r as handleMarketplaceInstallPreview } from "../../../../../../../api-BoPysyFb.mjs";
18
18
  import "../../../../../../../request-cache-BpwuE2ix.mjs";
19
19
  import "../../../../../../../dashboard-BC9bgPOH.mjs";
20
20
  import "../../../../../../../briefing-Jsxs587i.mjs";
@@ -13,7 +13,7 @@ import "../../../../../../menus-DOaL6NaF.mjs";
13
13
  import "../../../../../../redirect-BaVvo2te.mjs";
14
14
  import "../../../../../../byline-DpNNSjET.mjs";
15
15
  import "../../../../../../seo-BPb_reaG.mjs";
16
- import { i as handleMarketplaceSearch } from "../../../../../../api-DHsMtgSK.mjs";
16
+ import { i as handleMarketplaceSearch } from "../../../../../../api-BoPysyFb.mjs";
17
17
  import "../../../../../../request-cache-BpwuE2ix.mjs";
18
18
  import "../../../../../../dashboard-BC9bgPOH.mjs";
19
19
  import "../../../../../../briefing-Jsxs587i.mjs";
@@ -13,7 +13,7 @@ import "../../../../../menus-DOaL6NaF.mjs";
13
13
  import "../../../../../redirect-BaVvo2te.mjs";
14
14
  import "../../../../../byline-DpNNSjET.mjs";
15
15
  import "../../../../../seo-BPb_reaG.mjs";
16
- import { s as handleMarketplaceUpdateCheck } from "../../../../../api-DHsMtgSK.mjs";
16
+ import { s as handleMarketplaceUpdateCheck } from "../../../../../api-BoPysyFb.mjs";
17
17
  import "../../../../../request-cache-BpwuE2ix.mjs";
18
18
  import "../../../../../dashboard-BC9bgPOH.mjs";
19
19
  import "../../../../../briefing-Jsxs587i.mjs";
@@ -13,7 +13,7 @@ import "../../../../../../../menus-DOaL6NaF.mjs";
13
13
  import "../../../../../../../redirect-BaVvo2te.mjs";
14
14
  import "../../../../../../../byline-DpNNSjET.mjs";
15
15
  import "../../../../../../../seo-BPb_reaG.mjs";
16
- import { l as handleThemeGetDetail } from "../../../../../../../api-DHsMtgSK.mjs";
16
+ import { l as handleThemeGetDetail } from "../../../../../../../api-BoPysyFb.mjs";
17
17
  import "../../../../../../../request-cache-BpwuE2ix.mjs";
18
18
  import "../../../../../../../dashboard-BC9bgPOH.mjs";
19
19
  import "../../../../../../../briefing-Jsxs587i.mjs";
@@ -13,7 +13,7 @@ import "../../../../../../menus-DOaL6NaF.mjs";
13
13
  import "../../../../../../redirect-BaVvo2te.mjs";
14
14
  import "../../../../../../byline-DpNNSjET.mjs";
15
15
  import "../../../../../../seo-BPb_reaG.mjs";
16
- import { u as handleThemeSearch } from "../../../../../../api-DHsMtgSK.mjs";
16
+ import { u as handleThemeSearch } from "../../../../../../api-BoPysyFb.mjs";
17
17
  import "../../../../../../request-cache-BpwuE2ix.mjs";
18
18
  import "../../../../../../dashboard-BC9bgPOH.mjs";
19
19
  import "../../../../../../briefing-Jsxs587i.mjs";
@@ -1,4 +1,4 @@
1
- import { n as VERSION } from "../../../version-BH9FCDRu.mjs";
1
+ import { n as VERSION } from "../../../version-CG1eGmCZ.mjs";
2
2
  import { sql } from "kysely";
3
3
 
4
4
  //#region src/astro/routes/api/health.ts
@@ -1,4 +1,4 @@
1
- import { n as VERSION, t as COMMIT } from "../../../version-BH9FCDRu.mjs";
1
+ import { n as VERSION, t as COMMIT } from "../../../version-CG1eGmCZ.mjs";
2
2
  import { r as handleError } from "../../../error-DLkgOP5m.mjs";
3
3
  import { t as getAuthMode } from "../../../mode-Bd55iLcP.mjs";
4
4
  import { i as experimentalSiteContextWorkflowsEnabled } from "../../../experimental-workflows-BbZbIEZp.mjs";
@@ -14,7 +14,7 @@ import "../../../fts-manager-DnfOsF4s.mjs";
14
14
  import "../../../registry-i__XP2WV.mjs";
15
15
  import "../../../loader-p2imNN98.mjs";
16
16
  import "../../../settings-DORe02PC.mjs";
17
- import { n as VERSION } from "../../../version-BH9FCDRu.mjs";
17
+ import { n as VERSION } from "../../../version-CG1eGmCZ.mjs";
18
18
  import "../../../query-BnRpB09I.mjs";
19
19
  import "../../../zod-generator-C4BgFBZV.mjs";
20
20
  import "../../../schema-U-SeFWwn.mjs";
@@ -1,4 +1,4 @@
1
- import { n as VERSION } from "../../../version-BH9FCDRu.mjs";
1
+ import { n as VERSION } from "../../../version-CG1eGmCZ.mjs";
2
2
  import { r as handleError } from "../../../error-DLkgOP5m.mjs";
3
3
  import { $ as createMenuBody, $t as contentListQuery, A as searchRebuildBody, B as updateSectionBody, Bt as mediaConfirmResponseSchema, C as userDetailSchema, D as usersListQuery, Dt as fieldListResponseSchema, E as userUpdateBody, Et as createFieldBody, F as siteSettingsSchema, Ft as updateCollectionBody, G as taxonomyListResponseSchema, H as createTermBody, I as createSectionBody, It as updateFieldBody, J as termResponseSchema, Jt as mediaUploadUrlBody, K as termGetResponseSchema, Kt as mediaResponseSchema, L as sectionListResponseSchema, Lt as DEFAULT_MAX_UPLOAD_SIZE, Mn as successEnvelope, Mt as orphanedTableListResponseSchema, N as searchSuggestQuery, O as searchEnableBody, Ot as fieldReorderBody, P as settingsUpdateBody, Q as updateTermBody, Qt as contentItemSchema, R as sectionSchema, S as allowedDomainUpdateBody, Sn as apiErrorSchema, St as collectionResponseSchema, T as userSchema, Tn as deleteResponseSchema, Tt as createCollectionBody, Ut as mediaListQuery, Vt as mediaExistingResponseSchema, Wt as mediaListResponseSchema, Xt as contentCompareResponseSchema, Yt as mediaUploadUrlResponseSchema, Zt as contentCreateBody, _ as widgetAreaSchema, _t as createCommentBody, a as notFoundPruneBody, b as widgetSchema, bt as collectionGetQuery, ct as updateMenuBody, d as redirectsListQuery, dn as contentUpdateBody, dt as commentBulkBody, en as contentListResponseSchema, et as createMenuItemBody, f as updateRedirectBody, ft as commentBulkResponseSchema, g as updateWidgetBody, gt as commentStatusBody, h as reorderWidgetsBody, ht as commentSchema, i as notFoundListResponseSchema, in as contentScheduleBody, j as searchResponseSchema, jt as orphanRegisterBody, k as searchQuery, kt as fieldResponseSchema, l as redirectListResponseSchema, ln as contentTranslationsResponseSchema, lt as updateMenuItemBody, m as createWidgetBody, mt as commentListQuery, nn as contentPublishBody, ot as menuWithItemsSchema, p as createWidgetAreaBody, pn as trashedContentListResponseSchema, pt as commentCountsResponseSchema, q as termListResponseSchema, qt as mediaUpdateBody, r as notFoundListQuery, rn as contentResponseSchema, rt as menuListItemSchema, s as notFoundSummaryResponseSchema, sn as contentTermsBody, st as reorderMenuItemsBody, t as createRedirectBody, tt as menuItemSchema, u as redirectSchema, un as contentTrashQuery, ut as adminCommentListResponseSchema, v as widgetAreaWithWidgetsAndCountSchema, vt as publicCommentListResponseSchema, w as userListResponseSchema, wt as collectionWithFieldsResponseSchema, x as allowedDomainCreateBody, xt as collectionListResponseSchema, y as widgetAreaWithWidgetsSchema, z as sectionsListQuery, zt as mediaConfirmBody } from "../../../redirects-x5ol_Qj9.mjs";
4
4
  import { z } from "zod";
@@ -13,7 +13,7 @@ import "../../../../../../../menus-DOaL6NaF.mjs";
13
13
  import "../../../../../../../redirect-BaVvo2te.mjs";
14
14
  import "../../../../../../../byline-DpNNSjET.mjs";
15
15
  import "../../../../../../../seo-BPb_reaG.mjs";
16
- import { b as handleSchemaFieldDelete, w as handleSchemaFieldUpdate, x as handleSchemaFieldGet } from "../../../../../../../api-DHsMtgSK.mjs";
16
+ import { b as handleSchemaFieldDelete, w as handleSchemaFieldUpdate, x as handleSchemaFieldGet } from "../../../../../../../api-BoPysyFb.mjs";
17
17
  import "../../../../../../../request-cache-BpwuE2ix.mjs";
18
18
  import "../../../../../../../dashboard-BC9bgPOH.mjs";
19
19
  import "../../../../../../../briefing-Jsxs587i.mjs";
@@ -13,7 +13,7 @@ import "../../../../../../../menus-DOaL6NaF.mjs";
13
13
  import "../../../../../../../redirect-BaVvo2te.mjs";
14
14
  import "../../../../../../../byline-DpNNSjET.mjs";
15
15
  import "../../../../../../../seo-BPb_reaG.mjs";
16
- import { S as handleSchemaFieldList, y as handleSchemaFieldCreate } from "../../../../../../../api-DHsMtgSK.mjs";
16
+ import { S as handleSchemaFieldList, y as handleSchemaFieldCreate } from "../../../../../../../api-BoPysyFb.mjs";
17
17
  import "../../../../../../../request-cache-BpwuE2ix.mjs";
18
18
  import "../../../../../../../dashboard-BC9bgPOH.mjs";
19
19
  import "../../../../../../../briefing-Jsxs587i.mjs";
@@ -13,7 +13,7 @@ import "../../../../../../../menus-DOaL6NaF.mjs";
13
13
  import "../../../../../../../redirect-BaVvo2te.mjs";
14
14
  import "../../../../../../../byline-DpNNSjET.mjs";
15
15
  import "../../../../../../../seo-BPb_reaG.mjs";
16
- import { C as handleSchemaFieldReorder } from "../../../../../../../api-DHsMtgSK.mjs";
16
+ import { C as handleSchemaFieldReorder } from "../../../../../../../api-BoPysyFb.mjs";
17
17
  import "../../../../../../../request-cache-BpwuE2ix.mjs";
18
18
  import "../../../../../../../dashboard-BC9bgPOH.mjs";
19
19
  import "../../../../../../../briefing-Jsxs587i.mjs";
@@ -13,7 +13,7 @@ import "../../../../../../menus-DOaL6NaF.mjs";
13
13
  import "../../../../../../redirect-BaVvo2te.mjs";
14
14
  import "../../../../../../byline-DpNNSjET.mjs";
15
15
  import "../../../../../../seo-BPb_reaG.mjs";
16
- import { g as handleSchemaCollectionGet, h as handleSchemaCollectionDelete, v as handleSchemaCollectionUpdate } from "../../../../../../api-DHsMtgSK.mjs";
16
+ import { g as handleSchemaCollectionGet, h as handleSchemaCollectionDelete, v as handleSchemaCollectionUpdate } from "../../../../../../api-BoPysyFb.mjs";
17
17
  import "../../../../../../request-cache-BpwuE2ix.mjs";
18
18
  import "../../../../../../dashboard-BC9bgPOH.mjs";
19
19
  import "../../../../../../briefing-Jsxs587i.mjs";
@@ -13,7 +13,7 @@ import "../../../../../menus-DOaL6NaF.mjs";
13
13
  import "../../../../../redirect-BaVvo2te.mjs";
14
14
  import "../../../../../byline-DpNNSjET.mjs";
15
15
  import "../../../../../seo-BPb_reaG.mjs";
16
- import { _ as handleSchemaCollectionList, m as handleSchemaCollectionCreate } from "../../../../../api-DHsMtgSK.mjs";
16
+ import { _ as handleSchemaCollectionList, m as handleSchemaCollectionCreate } from "../../../../../api-BoPysyFb.mjs";
17
17
  import "../../../../../request-cache-BpwuE2ix.mjs";
18
18
  import "../../../../../dashboard-BC9bgPOH.mjs";
19
19
  import "../../../../../briefing-Jsxs587i.mjs";
@@ -13,7 +13,7 @@ import "../../../../../menus-DOaL6NaF.mjs";
13
13
  import "../../../../../redirect-BaVvo2te.mjs";
14
14
  import "../../../../../byline-DpNNSjET.mjs";
15
15
  import "../../../../../seo-BPb_reaG.mjs";
16
- import { p as handleOrphanedTableRegister } from "../../../../../api-DHsMtgSK.mjs";
16
+ import { p as handleOrphanedTableRegister } from "../../../../../api-BoPysyFb.mjs";
17
17
  import "../../../../../request-cache-BpwuE2ix.mjs";
18
18
  import "../../../../../dashboard-BC9bgPOH.mjs";
19
19
  import "../../../../../briefing-Jsxs587i.mjs";
@@ -13,7 +13,7 @@ import "../../../../../menus-DOaL6NaF.mjs";
13
13
  import "../../../../../redirect-BaVvo2te.mjs";
14
14
  import "../../../../../byline-DpNNSjET.mjs";
15
15
  import "../../../../../seo-BPb_reaG.mjs";
16
- import { f as handleOrphanedTableList } from "../../../../../api-DHsMtgSK.mjs";
16
+ import { f as handleOrphanedTableList } from "../../../../../api-BoPysyFb.mjs";
17
17
  import "../../../../../request-cache-BpwuE2ix.mjs";
18
18
  import "../../../../../dashboard-BC9bgPOH.mjs";
19
19
  import "../../../../../briefing-Jsxs587i.mjs";
@@ -1,5 +1,5 @@
1
1
  import { t as OptionsRepository } from "../../../../options-BF11H_FD.mjs";
2
- import { n as VERSION } from "../../../../version-BH9FCDRu.mjs";
2
+ import { n as VERSION } from "../../../../version-CG1eGmCZ.mjs";
3
3
  import { t as getAuthMode } from "../../../../mode-Bd55iLcP.mjs";
4
4
 
5
5
  //#region src/astro/routes/api/well-known/auth.ts
@@ -1,5 +1,5 @@
1
1
  import { r as ContentItem } from "../types-DvwHUku7.mjs";
2
- import { Kn as MediaItem, en as SandboxRunner, mn as MediaResponse, nt as HookPipeline, or as ContentListResponse, pn as MediaListResponse, sr as ContentResponse, t as DinewayConfig, tt as EmailPipeline } from "../runtime-yK9bWV13.mjs";
2
+ import { Kn as MediaItem, en as SandboxRunner, mn as MediaResponse, nt as HookPipeline, or as ContentListResponse, pn as MediaListResponse, sr as ContentResponse, t as DinewayConfig, tt as EmailPipeline } from "../runtime-C72pSfsv.mjs";
3
3
  import { t as Database } from "../types-C-CMfzSl.mjs";
4
4
  import { A as PageMetadataContribution, D as PageFragmentContribution, X as ResolvedPlugin, ct as Element, q as PublicPageContext } from "../types-BIM7jwxr.mjs";
5
5
  import "../types-BgE6gMFI.mjs";
@@ -8,7 +8,7 @@ import "../runner-FhUNNaqA.mjs";
8
8
  import "../index-Ct0pjZwW.mjs";
9
9
  import "../index-BwOO3vu2.mjs";
10
10
  import { d as Storage } from "../types-BYjPylrZ.mjs";
11
- import "../bylines-BnInIxUL.mjs";
11
+ import "../bylines-C8EfvtqH.mjs";
12
12
  import "../types-BBETcziA.mjs";
13
13
  import "../validate-CvQ6cvHH.mjs";
14
14
  import "../index.mjs";
@@ -4,7 +4,7 @@ import { z } from "zod";
4
4
  /** Valid role level values */
5
5
  declare const VALID_ROLE_LEVELS: Set<number>;
6
6
  /** Role level — coerces string/number to valid RoleLevel (10|20|30|40|50) */
7
- declare const roleLevel: z.ZodCoercedNumber<unknown> & z.ZodType<50 | 10 | 20 | 30 | 40, unknown, z.core.$ZodTypeInternals<50 | 10 | 20 | 30 | 40, unknown>>;
7
+ declare const roleLevel: z.ZodCoercedNumber<unknown> & z.ZodType<10 | 20 | 30 | 40 | 50, unknown, z.core.$ZodTypeInternals<10 | 20 | 30 | 40 | 50, unknown>>;
8
8
  /** Pagination query params — cursor-based */
9
9
  declare const cursorPaginationQuery: z.ZodObject<{
10
10
  cursor: z.ZodOptional<z.ZodString>;
@@ -517,11 +517,11 @@ declare const createCollectionBody: z.ZodObject<{
517
517
  description: z.ZodOptional<z.ZodString>;
518
518
  icon: z.ZodOptional<z.ZodString>;
519
519
  supports: z.ZodOptional<z.ZodArray<z.ZodEnum<{
520
- search: "search";
521
520
  drafts: "drafts";
522
521
  revisions: "revisions";
523
522
  preview: "preview";
524
523
  scheduling: "scheduling";
524
+ search: "search";
525
525
  }>>>;
526
526
  source: z.ZodOptional<z.ZodString>;
527
527
  urlPattern: z.ZodOptional<z.ZodString>;
@@ -533,11 +533,11 @@ declare const updateCollectionBody: z.ZodObject<{
533
533
  description: z.ZodOptional<z.ZodString>;
534
534
  icon: z.ZodOptional<z.ZodString>;
535
535
  supports: z.ZodOptional<z.ZodArray<z.ZodEnum<{
536
- search: "search";
537
536
  drafts: "drafts";
538
537
  revisions: "revisions";
539
538
  preview: "preview";
540
539
  scheduling: "scheduling";
540
+ search: "search";
541
541
  }>>>;
542
542
  urlPattern: z.ZodOptional<z.ZodNullable<z.ZodString>>;
543
543
  hasSeo: z.ZodOptional<z.ZodBoolean>;
@@ -558,9 +558,9 @@ declare const createFieldBody: z.ZodObject<{
558
558
  number: "number";
559
559
  boolean: "boolean";
560
560
  file: "file";
561
- slug: "slug";
562
561
  url: "url";
563
562
  image: "image";
563
+ slug: "slug";
564
564
  datetime: "datetime";
565
565
  text: "text";
566
566
  integer: "integer";
@@ -685,9 +685,9 @@ declare const fieldSchema: z.ZodObject<{
685
685
  number: "number";
686
686
  boolean: "boolean";
687
687
  file: "file";
688
- slug: "slug";
689
688
  url: "url";
690
689
  image: "image";
690
+ slug: "slug";
691
691
  datetime: "datetime";
692
692
  text: "text";
693
693
  integer: "integer";
@@ -750,9 +750,9 @@ declare const collectionWithFieldsResponseSchema: z.ZodObject<{
750
750
  number: "number";
751
751
  boolean: "boolean";
752
752
  file: "file";
753
- slug: "slug";
754
753
  url: "url";
755
754
  image: "image";
755
+ slug: "slug";
756
756
  datetime: "datetime";
757
757
  text: "text";
758
758
  integer: "integer";
@@ -804,9 +804,9 @@ declare const fieldResponseSchema: z.ZodObject<{
804
804
  number: "number";
805
805
  boolean: "boolean";
806
806
  file: "file";
807
- slug: "slug";
808
807
  url: "url";
809
808
  image: "image";
809
+ slug: "slug";
810
810
  datetime: "datetime";
811
811
  text: "text";
812
812
  integer: "integer";
@@ -841,9 +841,9 @@ declare const fieldListResponseSchema: z.ZodObject<{
841
841
  number: "number";
842
842
  boolean: "boolean";
843
843
  file: "file";
844
- slug: "slug";
845
844
  url: "url";
846
845
  image: "image";
846
+ slug: "slug";
847
847
  datetime: "datetime";
848
848
  text: "text";
849
849
  integer: "integer";
@@ -1192,7 +1192,7 @@ declare const signupCompleteBody: z.ZodObject<{
1192
1192
  }, z.core.$strip>;
1193
1193
  declare const inviteCreateBody: z.ZodObject<{
1194
1194
  email: z.ZodString;
1195
- role: z.ZodOptional<z.ZodCoercedNumber<unknown> & z.ZodType<50 | 10 | 20 | 30 | 40, unknown, z.core.$ZodTypeInternals<50 | 10 | 20 | 30 | 40, unknown>>>;
1195
+ role: z.ZodOptional<z.ZodCoercedNumber<unknown> & z.ZodType<10 | 20 | 30 | 40 | 50, unknown, z.core.$ZodTypeInternals<10 | 20 | 30 | 40 | 50, unknown>>>;
1196
1196
  }, z.core.$strip>;
1197
1197
  declare const inviteCompleteBody: z.ZodObject<{
1198
1198
  token: z.ZodString;
@@ -1744,15 +1744,15 @@ declare const usersListQuery: z.ZodObject<{
1744
1744
  declare const userUpdateBody: z.ZodObject<{
1745
1745
  name: z.ZodOptional<z.ZodString>;
1746
1746
  email: z.ZodOptional<z.ZodString>;
1747
- role: z.ZodOptional<z.ZodCoercedNumber<unknown> & z.ZodType<50 | 10 | 20 | 30 | 40, unknown, z.core.$ZodTypeInternals<50 | 10 | 20 | 30 | 40, unknown>>>;
1747
+ role: z.ZodOptional<z.ZodCoercedNumber<unknown> & z.ZodType<10 | 20 | 30 | 40 | 50, unknown, z.core.$ZodTypeInternals<10 | 20 | 30 | 40 | 50, unknown>>>;
1748
1748
  }, z.core.$strip>;
1749
1749
  declare const allowedDomainCreateBody: z.ZodObject<{
1750
1750
  domain: z.ZodString;
1751
- defaultRole: z.ZodCoercedNumber<unknown> & z.ZodType<50 | 10 | 20 | 30 | 40, unknown, z.core.$ZodTypeInternals<50 | 10 | 20 | 30 | 40, unknown>>;
1751
+ defaultRole: z.ZodCoercedNumber<unknown> & z.ZodType<10 | 20 | 30 | 40 | 50, unknown, z.core.$ZodTypeInternals<10 | 20 | 30 | 40 | 50, unknown>>;
1752
1752
  }, z.core.$strip>;
1753
1753
  declare const allowedDomainUpdateBody: z.ZodObject<{
1754
1754
  enabled: z.ZodOptional<z.ZodBoolean>;
1755
- defaultRole: z.ZodOptional<z.ZodCoercedNumber<unknown> & z.ZodType<50 | 10 | 20 | 30 | 40, unknown, z.core.$ZodTypeInternals<50 | 10 | 20 | 30 | 40, unknown>>>;
1755
+ defaultRole: z.ZodOptional<z.ZodCoercedNumber<unknown> & z.ZodType<10 | 20 | 30 | 40 | 50, unknown, z.core.$ZodTypeInternals<10 | 20 | 30 | 40 | 50, unknown>>>;
1756
1756
  }, z.core.$strip>;
1757
1757
  declare const userSchema: z.ZodObject<{
1758
1758
  id: z.ZodString;
@@ -190,7 +190,7 @@ function removeMarketplaceCredential(registryUrl) {
190
190
  //#region src/cli/project-env.ts
191
191
  const DEFAULT_DINEWAY_URL = "http://localhost:4321";
192
192
  const ENV_KEY_PATTERN = /^[A-Za-z_][A-Za-z0-9_]*$/;
193
- const LINE_SPLIT_PATTERN$1 = /\r?\n/;
193
+ const LINE_SPLIT_PATTERN = /\r?\n/;
194
194
  const DINEWAY_LOCAL_STATE_GITIGNORE_COMMENT = "# Dineway local state";
195
195
  const DINEWAY_LOCAL_STATE_GITIGNORE_ENTRIES = [
196
196
  ".dineway/deploy.json",
@@ -207,7 +207,7 @@ function parseDotenvValue(value) {
207
207
  }
208
208
  function parseDotenv(text) {
209
209
  const env = {};
210
- for (const line of text.split(LINE_SPLIT_PATTERN$1)) {
210
+ for (const line of text.split(LINE_SPLIT_PATTERN)) {
211
211
  const trimmed = line.trim();
212
212
  if (!trimmed || trimmed.startsWith("#")) continue;
213
213
  const normalized = trimmed.startsWith("export ") ? trimmed.slice(7).trim() : trimmed;
@@ -241,7 +241,7 @@ function formatEnvValue(value) {
241
241
  async function upsertProjectEnv(cwd, values) {
242
242
  const envPath = join(cwd, ".env");
243
243
  const existing = await readFile(envPath, "utf-8").catch(() => "");
244
- const lines = existing ? existing.split(LINE_SPLIT_PATTERN$1) : [];
244
+ const lines = existing ? existing.split(LINE_SPLIT_PATTERN) : [];
245
245
  const seen = /* @__PURE__ */ new Set();
246
246
  const nextLines = lines.map((line) => {
247
247
  const trimmed = line.trim();
@@ -263,13 +263,13 @@ async function upsertProjectEnv(cwd, values) {
263
263
  async function ensureProjectGitignoreEntry(cwd, entry) {
264
264
  const gitignorePath = join(cwd, ".gitignore");
265
265
  const existing = await readFile(gitignorePath, "utf-8").catch(() => "");
266
- if (existing.split(LINE_SPLIT_PATTERN$1).map((line) => line.trim()).includes(entry)) return;
266
+ if (existing.split(LINE_SPLIT_PATTERN).map((line) => line.trim()).includes(entry)) return;
267
267
  await writeFile(gitignorePath, `${existing}${existing && !existing.endsWith("\n") ? "\n" : ""}${entry}\n`, "utf-8");
268
268
  }
269
269
  async function ensureProjectGitignoreDinewayLocalState(cwd) {
270
270
  const gitignorePath = join(cwd, ".gitignore");
271
271
  const existing = await readFile(gitignorePath, "utf-8").catch(() => "");
272
- const lines = new Set(existing.split(LINE_SPLIT_PATTERN$1).map((line) => line.trim()));
272
+ const lines = new Set(existing.split(LINE_SPLIT_PATTERN).map((line) => line.trim()));
273
273
  const missingEntries = DINEWAY_LOCAL_STATE_GITIGNORE_ENTRIES.filter((entry) => !lines.has(entry));
274
274
  if (missingEntries.length === 0) return;
275
275
  const block = [DINEWAY_LOCAL_STATE_GITIGNORE_COMMENT, ...missingEntries].join("\n");
@@ -1706,12 +1706,9 @@ const LOCATION_PARTS_PATTERN = /[,;|/]+|\s+-\s+/u;
1706
1706
  const JWT_PATTERN = /[A-Za-z0-9_-]{32,}\.[A-Za-z0-9_-]{16,}\.[A-Za-z0-9_-]{16,}/g;
1707
1707
  const TOKEN_ASSIGNMENT_PATTERN = /(DINEWAY_DATABASE_AUTH_TOKEN|DATABASE_AUTH_TOKEN|AUTH_TOKEN)=\S+/gi;
1708
1708
  const TRAILING_SLASH_PATTERN = /\/$/;
1709
- const LEADING_SLASHES_PATTERN = /^\/+/;
1710
- const TRAILING_SLASHES_PATTERN = /\/+$/;
1711
- const REGEXP_ESCAPE_PATTERN = /[|\\{}()[\]^$+?.]/g;
1712
- const LINE_SPLIT_PATTERN = /\r?\n/;
1713
1709
  const BACKSLASH_PATTERN = /\\/g;
1714
1710
  const SHADOW_EMAIL_PATTERN = /^shadow_[a-f0-9]{16}@dineway\.ai$/i;
1711
+ const OTP_PATTERN = /^\d{6}$/;
1715
1712
  const FOOD_TYPES = new Set([
1716
1713
  "restaurant",
1717
1714
  "cafe",
@@ -1843,6 +1840,11 @@ async function parseErrorResponse(response) {
1843
1840
  function normalizeEmail(email) {
1844
1841
  return email.trim().toLowerCase();
1845
1842
  }
1843
+ function normalizeOtp(otp) {
1844
+ const value = otp.trim();
1845
+ if (!OTP_PATTERN.test(value)) throw new Error("Forgeway email verification OTP must be a 6-digit numeric code.");
1846
+ return value;
1847
+ }
1846
1848
  function isShadowEmail(email) {
1847
1849
  return Boolean(email && SHADOW_EMAIL_PATTERN.test(email));
1848
1850
  }
@@ -1920,7 +1922,9 @@ async function readSavedForgewayMetadata(cwd) {
1920
1922
  async function resolveForgewayAccountEmail(options, grant, cwd, deps) {
1921
1923
  const stored = await (deps.readCredentials ?? readForgewayCredentials)(cwd);
1922
1924
  const storedEmail = stored?.source === "shadow-email-upgrade" && stored.placeId === grant.placeId && stored.user?.emailVerified === true && !isShadowEmail(stored.user?.email) ? stored.user?.email : void 0;
1923
- const email = normalizeEmail(options.email ?? getEnv("DINEWAY_EMAIL") ?? getEnv("FORGEWAY_EMAIL") ?? storedEmail ?? await promptRequired("Dineway account email: ", void 0, deps, "Dineway account email is required. Pass --email or set DINEWAY_EMAIL."));
1925
+ const suppliedEmail = options.email ?? getEnv("DINEWAY_EMAIL") ?? getEnv("FORGEWAY_EMAIL");
1926
+ if ((options.sendOtp || options.otp) && !suppliedEmail) throw new Error("Forgeway OTP deploy requires --email or DINEWAY_EMAIL.");
1927
+ const email = normalizeEmail(suppliedEmail ?? storedEmail ?? await promptRequired("Dineway account email: ", void 0, deps, "Dineway account email is required. Pass --email or set DINEWAY_EMAIL."));
1924
1928
  if (!email || isShadowEmail(email)) throw new Error("Dineway account email must be a real owner email, not a shadow user email.");
1925
1929
  return email;
1926
1930
  }
@@ -1980,17 +1984,39 @@ async function verifyShadowEmailUpgrade(context, email, otp, deps) {
1980
1984
  ...context.placeId ? { placeId: context.placeId } : {}
1981
1985
  };
1982
1986
  }
1983
- async function resolveFormalAccountCredentials(context, grant, email, deps) {
1987
+ async function resolveFormalAccountCredentials(context, grant, email, options, deps) {
1984
1988
  const stored = await (deps.readCredentials ?? readForgewayCredentials)(context.projectDir);
1985
- if (isStoredFormalCredentialForGrant(stored, grant, email)) return {
1986
- ...stored,
1987
- platformApiUrl: context.platformApiUrl
1989
+ if (!options.sendOtp && !options.otp && isStoredFormalCredentialForGrant(stored, grant, email)) return {
1990
+ status: "verified",
1991
+ credentials: {
1992
+ ...stored,
1993
+ platformApiUrl: context.platformApiUrl
1994
+ }
1988
1995
  };
1996
+ if (options.sendOtp) {
1997
+ const response = await startShadowEmailUpgrade(context, email, deps);
1998
+ return {
1999
+ status: "otp-sent",
2000
+ email: response.email ? normalizeEmail(response.email) : email,
2001
+ expiresAt: response.expiresAt
2002
+ };
2003
+ }
2004
+ if (options.otp) {
2005
+ const credentials = await verifyShadowEmailUpgrade(context, email, normalizeOtp(options.otp), deps);
2006
+ await (deps.writeCredentials ?? writeForgewayCredentials)(credentials, context.projectDir);
2007
+ return {
2008
+ status: "verified",
2009
+ credentials
2010
+ };
2011
+ }
1989
2012
  await startShadowEmailUpgrade(context, email, deps);
1990
2013
  consola.info(`Sent Forgeway email verification code to ${email}`);
1991
2014
  const credentials = await verifyShadowEmailUpgrade(context, email, await promptRequired("Email verification code: ", void 0, deps, "Email verification code is required."), deps);
1992
2015
  await (deps.writeCredentials ?? writeForgewayCredentials)(credentials, context.projectDir);
1993
- return credentials;
2016
+ return {
2017
+ status: "verified",
2018
+ credentials
2019
+ };
1994
2020
  }
1995
2021
  async function resolveShadowProjectContext(cwd, options, deps) {
1996
2022
  const saved = await readSavedForgewayMetadata(cwd);
@@ -2049,8 +2075,11 @@ async function resolveShadowProjectContext(cwd, options, deps) {
2049
2075
  city: restaurant.city
2050
2076
  };
2051
2077
  const accountEmail = await resolveForgewayAccountEmail(options, grant, cwd, deps);
2052
- const credentials = await resolveFormalAccountCredentials(shadowContext, grant, accountEmail, deps);
2078
+ const credentialsResult = await resolveFormalAccountCredentials(shadowContext, grant, accountEmail, options, deps);
2079
+ if (credentialsResult.status === "otp-sent") return credentialsResult;
2080
+ const { credentials } = credentialsResult;
2053
2081
  return {
2082
+ status: "ready",
2054
2083
  context: {
2055
2084
  ...shadowContext,
2056
2085
  authKind: "formal-account",
@@ -2628,30 +2657,11 @@ async function initializeSiteDatabaseBeforeDeploy(options) {
2628
2657
  throw new Error(message, { cause: error });
2629
2658
  }
2630
2659
  }
2631
- function normalizeIgnorePattern(pattern) {
2632
- return pattern.trim().replace(BACKSLASH_PATTERN, "/").replace(LEADING_SLASHES_PATTERN, "").replace(TRAILING_SLASHES_PATTERN, "");
2633
- }
2634
- function wildcardPatternToRegExp(pattern) {
2635
- const source = pattern.split("**").map((part) => part.split("*").map((segment) => segment.replace(REGEXP_ESCAPE_PATTERN, "\\$&")).join("[^/]*")).join(".*");
2636
- return new RegExp(`^${source}$`);
2637
- }
2638
- function matchesIgnorePattern(path, rawPattern) {
2639
- const pattern = normalizeIgnorePattern(rawPattern);
2640
- if (!pattern || pattern.startsWith("#")) return false;
2641
- if (pattern.includes("*")) return wildcardPatternToRegExp(pattern).test(path);
2642
- if (!pattern.includes("/")) return path === pattern || path.startsWith(`${pattern}/`) || basename(path) === pattern;
2643
- return path === pattern || path.startsWith(`${pattern}/`);
2644
- }
2645
- async function readDeploymentIgnorePatterns(sourceDir) {
2646
- const ignorePath = join(sourceDir, ".dinewayignore");
2647
- if (!await fileExists$8(ignorePath)) return [];
2648
- return (await readFile(ignorePath, "utf-8")).split(LINE_SPLIT_PATTERN).map((line) => line.trim()).filter((line) => line && !line.startsWith("#"));
2649
- }
2650
- function shouldExclude(name, customPatterns = []) {
2660
+ function shouldExclude(name) {
2651
2661
  const normalized = name.replace(BACKSLASH_PATTERN, "/");
2652
2662
  for (const pattern of EXCLUDE_PATTERNS) if (normalized === pattern || normalized.startsWith(`${pattern}/`) || normalized.endsWith(`/${pattern}`) || normalized.includes(`/${pattern}/`)) return true;
2653
2663
  if (normalized.endsWith(".log")) return true;
2654
- return customPatterns.some((pattern) => matchesIgnorePattern(normalized, pattern));
2664
+ return false;
2655
2665
  }
2656
2666
  function normalizeRelativePath(sourceDir, absolutePath) {
2657
2667
  return relative(sourceDir, absolutePath).replace(BACKSLASH_PATTERN, "/");
@@ -2670,7 +2680,6 @@ async function hashFile(filePath) {
2670
2680
  };
2671
2681
  }
2672
2682
  async function collectDeploymentFiles(sourceDir) {
2673
- const customIgnorePatterns = await readDeploymentIgnorePatterns(sourceDir);
2674
2683
  const candidates = [];
2675
2684
  const files = [];
2676
2685
  async function walk(currentDir) {
@@ -2679,7 +2688,7 @@ async function collectDeploymentFiles(sourceDir) {
2679
2688
  for (const entry of entries) {
2680
2689
  const absolutePath = join(currentDir, entry.name);
2681
2690
  const normalizedPath = normalizeRelativePath(sourceDir, absolutePath);
2682
- if (!normalizedPath || shouldExclude(normalizedPath, customIgnorePatterns)) continue;
2691
+ if (!normalizedPath || shouldExclude(normalizedPath)) continue;
2683
2692
  if (entry.isDirectory()) {
2684
2693
  await walk(absolutePath);
2685
2694
  continue;
@@ -2835,6 +2844,15 @@ function formatDinewayAdminBootstrapMessage(bootstrap) {
2835
2844
  "CLI example: npx dineway whoami"
2836
2845
  ].join("\n");
2837
2846
  }
2847
+ function formatForgewayOtpSentMessage(email, expiresAt) {
2848
+ const lines = [
2849
+ `Sent Forgeway email verification code to ${email}.`,
2850
+ "Run the Forgeway deploy command again with the same restaurant/site options and --otp <code>.",
2851
+ `Example: npx dineway deploy forgeway --email ${email} --otp 123456`
2852
+ ];
2853
+ if (expiresAt) lines.splice(1, 0, `Code expires at ${expiresAt}.`);
2854
+ return lines.join("\n");
2855
+ }
2838
2856
  async function deployForgeway(cwd, options, deps = {}) {
2839
2857
  if (options.dryRun) return { message: "[dry-run] Would resolve Forgeway project, create/reuse site, bind database, initialize Dineway, upload files, and start deployment." };
2840
2858
  const sourceDir = resolve(cwd);
@@ -2842,9 +2860,11 @@ async function deployForgeway(cwd, options, deps = {}) {
2842
2860
  if (EXCLUDE_PATTERNS.includes(basename(sourceDir))) throw new Error(`"${basename(sourceDir)}" is an excluded directory and cannot be deployed.`);
2843
2861
  await ensureProjectGitignoreDinewayLocalState(cwd);
2844
2862
  const verbose = isVerboseDeploy(options);
2863
+ const project = await resolveProjectContext(cwd, options, deps);
2864
+ if (project.status === "otp-sent") return { message: formatForgewayOtpSentMessage(project.email, project.expiresAt) };
2865
+ const { context, restaurant } = project;
2845
2866
  const seedPath = options.skipSeed ? null : await resolveSeedPath$1(cwd, options.seed);
2846
2867
  if (options.skipSeed) consola.info("Skipping seed initialization by request");
2847
- const { context, restaurant } = await resolveProjectContext(cwd, options, deps);
2848
2868
  await ensureRestaurantClaim(context, restaurant, deps);
2849
2869
  const { site } = await resolveDeploymentSite(cwd, context, options, seedPath, deps, restaurant);
2850
2870
  const database = parseDatabaseMode(options.database);
@@ -2902,6 +2922,7 @@ const forgewayTarget = {
2902
2922
  remoteBuild: true,
2903
2923
  supportLevel: "stable",
2904
2924
  async generateConfig(cwd, options) {
2925
+ if (options.sendOtp) return [];
2905
2926
  return await configureAstroDeployAdapter(cwd, "vercel", options.dryRun);
2906
2927
  },
2907
2928
  async deploy(cwd, options) {
@@ -3433,6 +3454,16 @@ const deployCommand = defineCommand({
3433
3454
  description: "Dineway account email for deploy authorization",
3434
3455
  required: false
3435
3456
  },
3457
+ "send-otp": {
3458
+ type: "boolean",
3459
+ description: "Send a Forgeway email verification code and exit without prompting or deploying",
3460
+ default: false
3461
+ },
3462
+ otp: {
3463
+ type: "string",
3464
+ description: "Forgeway email verification code for non-interactive deploy authorization",
3465
+ required: false
3466
+ },
3436
3467
  "restaurant-name": {
3437
3468
  type: "string",
3438
3469
  description: "Restaurant name for first Forgeway site creation",
@@ -3480,6 +3511,8 @@ const deployCommand = defineCommand({
3480
3511
  site: args.site,
3481
3512
  placeId: args["place-id"],
3482
3513
  email: args.email,
3514
+ sendOtp: args["send-otp"],
3515
+ otp: args.otp,
3483
3516
  restaurantName: args["restaurant-name"],
3484
3517
  city: args.city,
3485
3518
  database: args.database,
@@ -3488,6 +3521,8 @@ const deployCommand = defineCommand({
3488
3521
  forceDbInit: args["force-db-init"],
3489
3522
  verbose: args.verbose
3490
3523
  };
3524
+ if ((options.sendOtp || options.otp) && target.name !== "forgeway") throw new Error("--send-otp and --otp are only supported for Forgeway deploys.");
3525
+ if (options.sendOtp && options.otp) throw new Error("Use either --send-otp or --otp, not both.");
3491
3526
  consola.start(`Preparing ${target.label} deploy`);
3492
3527
  await ensureTargetCli(target, cwd, {
3493
3528
  yes: options.yes,
package/dist/index.d.mts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { a as ContentSeoInput, c as FindManyOptions, i as ContentSeo, l as FindManyResult, n as ContentBylineCredit, o as CreateContentInput, r as ContentItem, s as DinewayValidationError, t as BylineSummary, u as UpdateContentInput } from "./types-DvwHUku7.mjs";
2
- import { $ as createPluginManager, $t as SandboxOptions, A as dropSessionDatabaseTables, An as handleContentDelete, At as verifyPreviewSignature, B as GeneratePreviewTokenOptions, Bn as handleContentSchedule, Bt as prosemirrorToPortableText, C as getByline, Cn as handleRevisionList, Ct as SessionOpenOrCreateOptions, D as AppliedSnapshotMeta, Dn as handleContentCountScheduled, Dt as defaultPreviewSidecarClient, E as renderPreviewToolbar, En as handleContentCompare, Et as buildPreviewSignatureHeader, F as getPreviewToken, Fn as handleContentList, Ft as AfterCallback, G as parseContentId, Gn as CreateMediaInput, Gt as PortableTextSpan, H as VerifyPreviewTokenOptions, Hn as handleContentUnpublish, Ht as PortableTextImageBlock, I as isPreviewRequest, In as handleContentListTrashed, It as after, J as createNodeSandboxRunner, Jn as ContentRepository, Jt as ProseMirrorDocument, K as verifyPreviewToken, Kn as MediaItem, Kt as PortableTextTextBlock, L as GetPreviewUrlOptions, Ln as handleContentPermanentDelete, Lt as computeContentHash, M as Snapshot, Mn as handleContentDuplicate, Mt as getFallbackChain, N as renderPreviewLoadingPage, Nn as handleContentGet, Nt as getI18nConfig, O as ApplySnapshotToDatabaseOptions, On as handleContentCountTrashed, Ot as parsePreviewSignatureHeader, P as isBlockedInPreview, Pn as handleContentGetIncludingTrashed, Pt as isI18nEnabled, Q as PluginManager, Qt as SandboxEmailSendCallback, R as buildPreviewUrl, Rn as handleContentPublish, Rt as hashString, S as Suggestion, Sn as handleRevisionGet, St as SessionOpenOptions, T as PreviewToolbarConfig, Tn as generateManifest, Tt as PreviewSidecarSignature, U as VerifyPreviewTokenResult, Un as handleContentUnschedule, Ut as PortableTextLinkMark, V as PreviewTokenPayload, Vn as handleContentTranslations, Vt as PortableTextCodeBlock, W as generatePreviewToken, Wn as handleContentUpdate, Wt as PortableTextMarkDef, X as SandboxNotAvailableError, Xn as DinewayDatabaseError, Xt as ProseMirrorNode, Y as NoopSandboxRunner, Yn as DatabaseConfig, Yt as ProseMirrorMark, Z as createNoopSandboxRunner, Zt as SandboxEmailMessage, _ as SearchOptions, _n as handleMediaGet, _t as SessionCleanupResult, an as getSections, ar as ApiContext, at as ValidatedPluginManifest, b as SearchStats, bn as RevisionListResponse, bt as SessionDatabaseInfo, c as extractSearchableFields, cn as Section, cr as FieldDescriptor, ct as CollectionFilter$1, d as search, dn as SchemaError, en as SandboxRunner, et as PluginRouteError, f as searchCollection, fn as SchemaRegistry, g as SearchConfig, gn as handleMediaDelete, gt as FileSessionDatabaseFactoryOptions, h as CollectionSearchOptions, hn as handleMediaCreate, ht as FileSessionDatabaseFactory, in as getSection, it as createHookPipeline, j as getAppliedSnapshotMeta, jn as handleContentDiscardDraft, jt as I18nConfig, k as applySnapshotToDatabase, kn as handleContentCreate, kt as signPreviewUrl, l as getSearchStats, ln as SectionSource, lr as ListResponse, lt as EntryData, m as FTSManager, mn as MediaResponse, mt as createFilePreviewMiddleware, n as PluginDescriptor, nn as SandboxedPlugin, nt as HookPipeline, on as CreateSectionInput, or as ContentListResponse, ot as pluginManifestSchema, p as searchWithDb, pn as MediaListResponse, pt as FilePreviewMiddlewareConfig, q as NodeSandboxRunner, qn as MediaRepository, qt as PortableTextUnknownBlock, rn as SerializedRequest, rt as HookResult, s as extractPlainText, sn as GetSectionsOptions, sr as ContentResponse, st as definePlugin, tn as SandboxRunnerFactory, u as getSuggestions, un as UpdateSectionInput, ur as ManifestResponse, ut as EntryFilter, v as SearchResponse, vn as handleMediaList, vt as SessionDatabaseFactory, w as getBylineBySlug, wn as handleRevisionRestore, wt as PreviewSidecarClient, x as SuggestOptions, xn as RevisionResponse, xt as SessionDatabaseLimitError, y as SearchResult, yn as handleMediaUpdate, yt as SessionDatabaseHandle, z as getPreviewUrl, zn as handleContentRestore, zt as portableTextToProsemirror } from "./runtime-yK9bWV13.mjs";
2
+ import { $ as createPluginManager, $t as SandboxOptions, A as dropSessionDatabaseTables, An as handleContentDelete, At as verifyPreviewSignature, B as GeneratePreviewTokenOptions, Bn as handleContentSchedule, Bt as prosemirrorToPortableText, C as getByline, Cn as handleRevisionList, Ct as SessionOpenOrCreateOptions, D as AppliedSnapshotMeta, Dn as handleContentCountScheduled, Dt as defaultPreviewSidecarClient, E as renderPreviewToolbar, En as handleContentCompare, Et as buildPreviewSignatureHeader, F as getPreviewToken, Fn as handleContentList, Ft as AfterCallback, G as parseContentId, Gn as CreateMediaInput, Gt as PortableTextSpan, H as VerifyPreviewTokenOptions, Hn as handleContentUnpublish, Ht as PortableTextImageBlock, I as isPreviewRequest, In as handleContentListTrashed, It as after, J as createNodeSandboxRunner, Jn as ContentRepository, Jt as ProseMirrorDocument, K as verifyPreviewToken, Kn as MediaItem, Kt as PortableTextTextBlock, L as GetPreviewUrlOptions, Ln as handleContentPermanentDelete, Lt as computeContentHash, M as Snapshot, Mn as handleContentDuplicate, Mt as getFallbackChain, N as renderPreviewLoadingPage, Nn as handleContentGet, Nt as getI18nConfig, O as ApplySnapshotToDatabaseOptions, On as handleContentCountTrashed, Ot as parsePreviewSignatureHeader, P as isBlockedInPreview, Pn as handleContentGetIncludingTrashed, Pt as isI18nEnabled, Q as PluginManager, Qt as SandboxEmailSendCallback, R as buildPreviewUrl, Rn as handleContentPublish, Rt as hashString, S as Suggestion, Sn as handleRevisionGet, St as SessionOpenOptions, T as PreviewToolbarConfig, Tn as generateManifest, Tt as PreviewSidecarSignature, U as VerifyPreviewTokenResult, Un as handleContentUnschedule, Ut as PortableTextLinkMark, V as PreviewTokenPayload, Vn as handleContentTranslations, Vt as PortableTextCodeBlock, W as generatePreviewToken, Wn as handleContentUpdate, Wt as PortableTextMarkDef, X as SandboxNotAvailableError, Xn as DinewayDatabaseError, Xt as ProseMirrorNode, Y as NoopSandboxRunner, Yn as DatabaseConfig, Yt as ProseMirrorMark, Z as createNoopSandboxRunner, Zt as SandboxEmailMessage, _ as SearchOptions, _n as handleMediaGet, _t as SessionCleanupResult, an as getSections, ar as ApiContext, at as ValidatedPluginManifest, b as SearchStats, bn as RevisionListResponse, bt as SessionDatabaseInfo, c as extractSearchableFields, cn as Section, cr as FieldDescriptor, ct as CollectionFilter$1, d as search, dn as SchemaError, en as SandboxRunner, et as PluginRouteError, f as searchCollection, fn as SchemaRegistry, g as SearchConfig, gn as handleMediaDelete, gt as FileSessionDatabaseFactoryOptions, h as CollectionSearchOptions, hn as handleMediaCreate, ht as FileSessionDatabaseFactory, in as getSection, it as createHookPipeline, j as getAppliedSnapshotMeta, jn as handleContentDiscardDraft, jt as I18nConfig, k as applySnapshotToDatabase, kn as handleContentCreate, kt as signPreviewUrl, l as getSearchStats, ln as SectionSource, lr as ListResponse, lt as EntryData, m as FTSManager, mn as MediaResponse, mt as createFilePreviewMiddleware, n as PluginDescriptor, nn as SandboxedPlugin, nt as HookPipeline, on as CreateSectionInput, or as ContentListResponse, ot as pluginManifestSchema, p as searchWithDb, pn as MediaListResponse, pt as FilePreviewMiddlewareConfig, q as NodeSandboxRunner, qn as MediaRepository, qt as PortableTextUnknownBlock, rn as SerializedRequest, rt as HookResult, s as extractPlainText, sn as GetSectionsOptions, sr as ContentResponse, st as definePlugin, tn as SandboxRunnerFactory, u as getSuggestions, un as UpdateSectionInput, ur as ManifestResponse, ut as EntryFilter, v as SearchResponse, vn as handleMediaList, vt as SessionDatabaseFactory, w as getBylineBySlug, wn as handleRevisionRestore, wt as PreviewSidecarClient, x as SuggestOptions, xn as RevisionResponse, xt as SessionDatabaseLimitError, y as SearchResult, yn as handleMediaUpdate, yt as SessionDatabaseHandle, z as getPreviewUrl, zn as handleContentRestore, zt as portableTextToProsemirror } from "./runtime-C72pSfsv.mjs";
3
3
  import { n as MediaTable, r as UserTable, t as Database } from "./types-C-CMfzSl.mjs";
4
4
  import { $ as StandardHookEntry, A as PageMetadataContribution, B as PluginDefinition, C as MediaAccess, D as PageFragmentContribution, E as ModerationDecision, F as PluginAdminConfig, G as PortableTextBlockConfig, H as PluginManifest, I as PluginAdminExports, K as PortableTextBlockField, L as PluginAdminPage, M as PageMetadataHandler, O as PageFragmentEvent, P as PagePlacement, Q as RouteContext, R as PluginCapability, S as LogAccess, T as MediaUploadEvent, U as PluginRoute, V as PluginHooks, W as PluginStorageConfig, X as ResolvedPlugin, Y as ResolvedHook, Z as ResolvedPluginHooks, _ as FieldWidgetConfig, a as CommentAfterModerateEvent, b as HttpAccess, c as CommentBeforeCreateHandler, d as ContentAccess, et as StandardHookHandler, f as ContentDeleteEvent, i as CommentAfterCreateHandler, it as StorageCollection, j as PageMetadataEvent, k as PageFragmentHandler, l as CommentModerateEvent, m as ContentPublishStateChangeEvent, n as CollectionCommentSettings, nt as StandardRouteEntry, o as CommentAfterModerateHandler, ot as StoredComment, p as ContentHookEvent, q as PublicPageContext, r as CommentAfterCreateEvent, rt as StandardRouteHandler, s as CommentBeforeCreateEvent, st as isStandardPluginDefinition, t as BreadcrumbItem, tt as StandardPluginDefinition, u as CommentModerateHandler, v as HookConfig, x as KVAccess, y as HookName, z as PluginContext } from "./types-BIM7jwxr.mjs";
5
5
  import { _ as RESERVED_COLLECTION_SLUGS, a as Collection, b as UpdateFieldInput, c as CollectionWithFields, d as CreateFieldInput, f as FIELD_TYPE_TO_COLUMN, g as FieldWidgetOptions, h as FieldValidation, i as SiteSettings, l as ColumnType, m as FieldType, n as SeoSettings, o as CollectionSource, p as Field, r as SiteSettingKey, s as CollectionSupport, t as MediaReference, u as CreateCollectionInput, v as RESERVED_FIELD_SLUGS, y as UpdateCollectionInput } from "./types-t7_nCCA9.mjs";
@@ -11,7 +11,7 @@ import { $ as TranslationSummary, A as MenuItem, B as getPluginSettings, C as Ta
11
11
  import { _ as WxrSite, a as getAllSources, b as parseWxrString, c as getUrlSources, d as importReusableBlocksAsSections, f as WxrAttachment, g as WxrPost, h as WxrData, i as clearSources, l as probeUrl, m as WxrCategory, n as parseWxrDate, o as getFileSources, p as WxrAuthor, r as wxrSource, s as getSource, t as wordpressRestSource, u as registerSource, v as WxrTag, x as decodeSlug, y as parseWxr } from "./index-BwOO3vu2.mjs";
12
12
  import { n as generatePlaceholder, r as normalizeMediaValue, t as PlaceholderData } from "./placeholder-BZpCpid_.mjs";
13
13
  import { a as ListOptions, c as S3StorageConfig, d as Storage, f as StorageDescriptor, i as FileInfo, l as SignedUploadOptions, n as DinewayStorageError, o as ListResult, p as UploadResult, r as DownloadResult, s as LocalStorageConfig, t as CreateStorageFn, u as SignedUploadUrl } from "./types-BYjPylrZ.mjs";
14
- import "./bylines-BnInIxUL.mjs";
14
+ import "./bylines-C8EfvtqH.mjs";
15
15
  import { DinewayRequestContext, getRequestContext, runWithContext } from "./request-context.mjs";
16
16
  import { adaptSandboxEntry } from "./plugins/adapt-sandbox-entry.mjs";
17
17
  import { S as UrlInput, _ as SourceAuth, a as FileInput, b as SourceProbeResult, c as ImportContext, d as ImportSource, f as NormalizedItem, g as ProbeResult, h as PostTypeMapping, i as FieldCompatibility, l as ImportFieldDef, m as PostTypeAnalysis, n as CollectionSchemaStatus, o as ImportAnalysis, p as OAuthInput, r as FetchOptions, s as ImportConfig, t as AttachmentInfo, u as ImportResult, v as SourceCapabilities, x as SuggestedAction, y as SourceInput } from "./types-BBETcziA.mjs";
package/dist/index.mjs CHANGED
@@ -24,7 +24,7 @@ import "./byline-DpNNSjET.mjs";
24
24
  import { t as normalizeMediaValue } from "./normalize-BY_EJnd9.mjs";
25
25
  import { t as generatePlaceholder } from "./placeholder-b0Ufu0La.mjs";
26
26
  import "./seo-BPb_reaG.mjs";
27
- import { A as handleRevisionGet, B as handleContentDuplicate, D as handleMediaGet, E as handleMediaDelete, F as handleContentCountScheduled, G as handleContentPermanentDelete, H as handleContentGetIncludingTrashed, I as handleContentCountTrashed, J as handleContentSchedule, K as handleContentPublish, L as handleContentCreate, M as handleRevisionRestore, N as generateManifest, O as handleMediaList, P as handleContentCompare, Q as handleContentUpdate, R as handleContentDelete, T as handleMediaCreate, U as handleContentList, V as handleContentGet, W as handleContentListTrashed, X as handleContentUnpublish, Y as handleContentTranslations, Z as handleContentUnschedule, j as handleRevisionList, k as handleMediaUpdate, q as handleContentRestore, z as handleContentDiscardDraft } from "./api-DHsMtgSK.mjs";
27
+ import { A as handleRevisionGet, B as handleContentDuplicate, D as handleMediaGet, E as handleMediaDelete, F as handleContentCountScheduled, G as handleContentPermanentDelete, H as handleContentGetIncludingTrashed, I as handleContentCountTrashed, J as handleContentSchedule, K as handleContentPublish, L as handleContentCreate, M as handleRevisionRestore, N as generateManifest, O as handleMediaList, P as handleContentCompare, Q as handleContentUpdate, R as handleContentDelete, T as handleMediaCreate, U as handleContentList, V as handleContentGet, W as handleContentListTrashed, X as handleContentUnpublish, Y as handleContentTranslations, Z as handleContentUnschedule, j as handleRevisionList, k as handleMediaUpdate, q as handleContentRestore, z as handleContentDiscardDraft } from "./api-BoPysyFb.mjs";
28
28
  import "./request-cache-BpwuE2ix.mjs";
29
29
  import "./dashboard-BC9bgPOH.mjs";
30
30
  import "./briefing-Jsxs587i.mjs";
@@ -1,4 +1,4 @@
1
- import "../runtime-yK9bWV13.mjs";
1
+ import "../runtime-C72pSfsv.mjs";
2
2
  import { t as Database } from "../types-C-CMfzSl.mjs";
3
3
  import "../types-BIM7jwxr.mjs";
4
4
  import "../types-BgE6gMFI.mjs";
@@ -7,7 +7,7 @@ import "../runner-FhUNNaqA.mjs";
7
7
  import "../index-Ct0pjZwW.mjs";
8
8
  import "../index-BwOO3vu2.mjs";
9
9
  import { d as Storage } from "../types-BYjPylrZ.mjs";
10
- import "../bylines-BnInIxUL.mjs";
10
+ import "../bylines-C8EfvtqH.mjs";
11
11
  import "../types-BBETcziA.mjs";
12
12
  import "../validate-CvQ6cvHH.mjs";
13
13
  import "../index.mjs";
@@ -1,11 +1,11 @@
1
- import { n as PluginDescriptor } from "../runtime-yK9bWV13.mjs";
1
+ import { n as PluginDescriptor } from "../runtime-C72pSfsv.mjs";
2
2
  import "../types-C-CMfzSl.mjs";
3
3
  import { X as ResolvedPlugin, tt as StandardPluginDefinition } from "../types-BIM7jwxr.mjs";
4
4
  import "../types-BgE6gMFI.mjs";
5
5
  import "../runner-FhUNNaqA.mjs";
6
6
  import "../index-Ct0pjZwW.mjs";
7
7
  import "../index-BwOO3vu2.mjs";
8
- import "../bylines-BnInIxUL.mjs";
8
+ import "../bylines-C8EfvtqH.mjs";
9
9
  import "../types-BBETcziA.mjs";
10
10
  import "../validate-CvQ6cvHH.mjs";
11
11
 
@@ -1787,8 +1787,8 @@ declare const pluginManifestSchema: z.ZodObject<{
1787
1787
  number: "number";
1788
1788
  boolean: "boolean";
1789
1789
  file: "file";
1790
- slug: "slug";
1791
1790
  image: "image";
1791
+ slug: "slug";
1792
1792
  datetime: "datetime";
1793
1793
  text: "text";
1794
1794
  integer: "integer";
@@ -1,11 +1,11 @@
1
- import { ct as CollectionFilter, dt as dinewayLoader, ft as getDb, lt as EntryData, ut as EntryFilter } from "./runtime-yK9bWV13.mjs";
1
+ import { ct as CollectionFilter, dt as dinewayLoader, ft as getDb, lt as EntryData, ut as EntryFilter } from "./runtime-C72pSfsv.mjs";
2
2
  import "./types-C-CMfzSl.mjs";
3
3
  import "./types-BIM7jwxr.mjs";
4
4
  import "./types-BgE6gMFI.mjs";
5
5
  import "./runner-FhUNNaqA.mjs";
6
6
  import "./index-Ct0pjZwW.mjs";
7
7
  import "./index-BwOO3vu2.mjs";
8
- import "./bylines-BnInIxUL.mjs";
8
+ import "./bylines-C8EfvtqH.mjs";
9
9
  import "./types-BBETcziA.mjs";
10
10
  import "./validate-CvQ6cvHH.mjs";
11
11
  import { t as getMediaProvider } from "./provider-loader-B19YyyBp.mjs";
@@ -0,0 +1,6 @@
1
+ //#region src/version.ts
2
+ const VERSION = "0.1.42";
3
+ const COMMIT = "b2b2a99f";
4
+
5
+ //#endregion
6
+ export { VERSION as n, COMMIT as t };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dineway",
3
- "version": "0.1.40",
3
+ "version": "0.1.42",
4
4
  "description": "Agentic Website builder for restaurants — structured content meets AI via the Model Context Protocol",
5
5
  "type": "module",
6
6
  "publishConfig": {
@@ -1,6 +0,0 @@
1
- //#region src/version.ts
2
- const VERSION = "0.1.40";
3
- const COMMIT = "f063f3d6";
4
-
5
- //#endregion
6
- export { VERSION as n, COMMIT as t };