dineway 0.2.1 → 0.2.3
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/README.md +17 -17
- package/dist/{activity-DUaz_w7p.mjs → activity-BDMlkpYY.mjs} +2 -2
- package/dist/{activity-events-CJDvE2uc.mjs → activity-events-DEYmJhWd.mjs} +1 -1
- package/dist/{allowed-origins--OwHHiY8.mjs → allowed-origins-VLgv2PL1.mjs} +1 -1
- package/dist/api/route-utils.d.mts +9 -9
- package/dist/api/route-utils.mjs +13 -13
- package/dist/api/schemas/index.d.mts +1 -1
- package/dist/api/schemas/index.mjs +3 -3
- package/dist/{api-B4PHIF4V.mjs → api-BFey0dOt.mjs} +15 -15
- package/dist/{api-tokens-tbK_sORH.mjs → api-tokens-C4K9eocv.mjs} +1 -1
- package/dist/{apply-DjTqq6Ae.mjs → apply-DHT0l398.mjs} +18 -18
- package/dist/astro/index.d.mts +10 -10
- package/dist/astro/index.mjs +11 -3
- package/dist/astro/middleware/auth.d.mts +8 -8
- package/dist/astro/middleware/auth.mjs +6 -6
- package/dist/astro/middleware/redirect.mjs +5 -5
- package/dist/astro/middleware/request-context.mjs +2 -2
- package/dist/astro/middleware/seed.d.mts +1 -1
- package/dist/astro/middleware/seed.mjs +1 -1
- package/dist/astro/middleware/setup.mjs +1 -1
- package/dist/astro/middleware.mjs +78 -76
- package/dist/astro/routes/api/admin/allowed-domains/_domain_.mjs +5 -5
- package/dist/astro/routes/api/admin/allowed-domains/index.mjs +5 -5
- package/dist/astro/routes/api/admin/api-tokens/_id_.mjs +4 -4
- package/dist/astro/routes/api/admin/api-tokens/index.mjs +6 -6
- package/dist/astro/routes/api/admin/briefing.mjs +16 -16
- package/dist/astro/routes/api/admin/byline-fields/_slug_/usage.mjs +2 -2
- package/dist/astro/routes/api/admin/byline-fields/_slug_.mjs +6 -6
- package/dist/astro/routes/api/admin/byline-fields/index.mjs +6 -6
- package/dist/astro/routes/api/admin/byline-fields/reorder.mjs +6 -6
- package/dist/astro/routes/api/admin/bylines/_id_/index.mjs +13 -13
- package/dist/astro/routes/api/admin/bylines/_id_/translations.mjs +13 -13
- package/dist/astro/routes/api/admin/bylines/index.mjs +13 -13
- package/dist/astro/routes/api/admin/comments/_id_/status.mjs +11 -11
- package/dist/astro/routes/api/admin/comments/_id_.mjs +5 -5
- package/dist/astro/routes/api/admin/comments/bulk.mjs +9 -9
- package/dist/astro/routes/api/admin/comments/counts.mjs +5 -5
- package/dist/astro/routes/api/admin/comments/index.mjs +9 -9
- package/dist/astro/routes/api/admin/context/_id_/history.mjs +23 -23
- package/dist/astro/routes/api/admin/context/_id_/index.mjs +23 -23
- package/dist/astro/routes/api/admin/context/_id_/review.mjs +28 -28
- package/dist/astro/routes/api/admin/context/_id_/supersede.mjs +28 -28
- package/dist/astro/routes/api/admin/context/diff.mjs +27 -27
- package/dist/astro/routes/api/admin/context/index.mjs +28 -28
- package/dist/astro/routes/api/admin/context/stale.mjs +27 -27
- package/dist/astro/routes/api/admin/hitl-requests/_id_/index.mjs +23 -23
- package/dist/astro/routes/api/admin/hitl-requests/_id_/resolve.mjs +27 -27
- package/dist/astro/routes/api/admin/hitl-requests/index.mjs +27 -27
- package/dist/astro/routes/api/admin/hooks/exclusive/_hookName_.mjs +24 -24
- package/dist/astro/routes/api/admin/hooks/exclusive/index.mjs +2 -2
- package/dist/astro/routes/api/admin/oauth-clients/_id_.mjs +6 -6
- package/dist/astro/routes/api/admin/oauth-clients/index.mjs +6 -6
- package/dist/astro/routes/api/admin/plugins/_id_/disable.mjs +50 -47
- package/dist/astro/routes/api/admin/plugins/_id_/enable.mjs +50 -47
- package/dist/astro/routes/api/admin/plugins/_id_/index.mjs +42 -39
- package/dist/astro/routes/api/admin/plugins/_id_/uninstall.mjs +49 -46
- package/dist/astro/routes/api/admin/plugins/_id_/update.mjs +49 -46
- package/dist/astro/routes/api/admin/plugins/index.mjs +42 -39
- package/dist/astro/routes/api/admin/plugins/marketplace/_id_/icon.mjs +2 -2
- package/dist/astro/routes/api/admin/plugins/marketplace/_id_/index.mjs +42 -39
- package/dist/astro/routes/api/admin/plugins/marketplace/_id_/install.mjs +49 -46
- package/dist/astro/routes/api/admin/plugins/marketplace/index.mjs +42 -39
- package/dist/astro/routes/api/admin/plugins/updates.mjs +42 -39
- package/dist/astro/routes/api/admin/review-requests/_id_/index.mjs +5 -5
- package/dist/astro/routes/api/admin/review-requests/_id_/resolve.mjs +28 -28
- package/dist/astro/routes/api/admin/review-requests/index.mjs +28 -28
- package/dist/astro/routes/api/admin/themes/marketplace/_id_/index.mjs +42 -39
- package/dist/astro/routes/api/admin/themes/marketplace/_id_/thumbnail.mjs +2 -2
- package/dist/astro/routes/api/admin/themes/marketplace/index.mjs +42 -39
- package/dist/astro/routes/api/admin/users/_id_/disable.mjs +1 -1
- package/dist/astro/routes/api/admin/users/_id_/enable.mjs +1 -1
- package/dist/astro/routes/api/admin/users/_id_/index.mjs +5 -5
- package/dist/astro/routes/api/admin/users/_id_/send-recovery.mjs +2 -2
- package/dist/astro/routes/api/admin/users/index.mjs +5 -5
- package/dist/astro/routes/api/auth/dev-bypass.mjs +4 -4
- package/dist/astro/routes/api/auth/invite/accept.mjs +1 -1
- package/dist/astro/routes/api/auth/invite/complete.mjs +9 -9
- package/dist/astro/routes/api/auth/invite/index.mjs +6 -6
- package/dist/astro/routes/api/auth/invite/register-options.mjs +8 -8
- package/dist/astro/routes/api/auth/logout.mjs +2 -2
- package/dist/astro/routes/api/auth/magic-link/send.mjs +8 -8
- package/dist/astro/routes/api/auth/magic-link/verify.mjs +2 -2
- package/dist/astro/routes/api/auth/me.mjs +7 -7
- package/dist/astro/routes/api/auth/mode.mjs +1 -1
- package/dist/astro/routes/api/auth/oauth/_provider_/callback.mjs +2 -2
- package/dist/astro/routes/api/auth/oauth/_provider_.mjs +2 -2
- package/dist/astro/routes/api/auth/passkey/_id_.mjs +5 -5
- package/dist/astro/routes/api/auth/passkey/index.mjs +1 -1
- package/dist/astro/routes/api/auth/passkey/options.mjs +10 -10
- package/dist/astro/routes/api/auth/passkey/register/options.mjs +8 -8
- package/dist/astro/routes/api/auth/passkey/register/verify.mjs +9 -9
- package/dist/astro/routes/api/auth/passkey/verify.mjs +9 -9
- package/dist/astro/routes/api/auth/setup-token/index.mjs +5 -5
- package/dist/astro/routes/api/auth/setup-token/verify.mjs +2 -2
- package/dist/astro/routes/api/auth/signup/complete.mjs +9 -9
- package/dist/astro/routes/api/auth/signup/request.mjs +8 -8
- package/dist/astro/routes/api/auth/signup/verify.mjs +1 -1
- package/dist/astro/routes/api/comments/_collection_/_contentId_/index.mjs +12 -12
- package/dist/astro/routes/api/comments/_collection_/_contentId_/reactions.mjs +11 -11
- package/dist/astro/routes/api/content/_collection_/_id_/compare.mjs +2 -2
- package/dist/astro/routes/api/content/_collection_/_id_/discard-draft.mjs +6 -6
- package/dist/astro/routes/api/content/_collection_/_id_/duplicate.mjs +6 -6
- package/dist/astro/routes/api/content/_collection_/_id_/permanent.mjs +6 -6
- package/dist/astro/routes/api/content/_collection_/_id_/preview-url.mjs +9 -9
- package/dist/astro/routes/api/content/_collection_/_id_/publish.mjs +15 -15
- package/dist/astro/routes/api/content/_collection_/_id_/restore.mjs +6 -6
- package/dist/astro/routes/api/content/_collection_/_id_/revisions.mjs +2 -2
- package/dist/astro/routes/api/content/_collection_/_id_/schedule.mjs +15 -15
- package/dist/astro/routes/api/content/_collection_/_id_/terms/_taxonomy_.mjs +12 -12
- package/dist/astro/routes/api/content/_collection_/_id_/translations.mjs +2 -2
- package/dist/astro/routes/api/content/_collection_/_id_/unpublish.mjs +6 -6
- package/dist/astro/routes/api/content/_collection_/_id_.mjs +10 -10
- package/dist/astro/routes/api/content/_collection_/authors.mjs +2 -2
- package/dist/astro/routes/api/content/_collection_/index.mjs +10 -10
- package/dist/astro/routes/api/content/_collection_/trash.mjs +6 -6
- package/dist/astro/routes/api/dashboard.mjs +8 -8
- package/dist/astro/routes/api/dev/emails.mjs +2 -2
- package/dist/astro/routes/api/health.mjs +1 -1
- package/dist/astro/routes/api/import/probe.d.mts +3 -3
- package/dist/astro/routes/api/import/probe.mjs +17 -17
- package/dist/astro/routes/api/import/wordpress/analyze.mjs +8 -8
- package/dist/astro/routes/api/import/wordpress/execute.d.mts +8 -8
- package/dist/astro/routes/api/import/wordpress/execute.mjs +32 -32
- package/dist/astro/routes/api/import/wordpress/media.d.mts +8 -8
- package/dist/astro/routes/api/import/wordpress/media.mjs +9 -9
- package/dist/astro/routes/api/import/wordpress/prepare.mjs +31 -31
- package/dist/astro/routes/api/import/wordpress/rewrite-urls.d.mts +9 -9
- package/dist/astro/routes/api/import/wordpress/rewrite-urls.mjs +28 -28
- package/dist/astro/routes/api/import/wordpress-plugin/analyze.d.mts +1 -1
- package/dist/astro/routes/api/import/wordpress-plugin/analyze.mjs +20 -20
- package/dist/astro/routes/api/import/wordpress-plugin/execute.d.mts +8 -8
- package/dist/astro/routes/api/import/wordpress-plugin/execute.mjs +36 -36
- package/dist/astro/routes/api/integrations/_provider_.d.mts +8 -0
- package/dist/astro/routes/api/integrations/_provider_.mjs +51 -0
- package/dist/astro/routes/api/integrations/index.d.mts +7 -0
- package/dist/astro/routes/api/integrations/index.mjs +24 -0
- package/dist/astro/routes/api/manifest.mjs +4 -4
- package/dist/astro/routes/api/mcp.mjs +232 -312
- package/dist/astro/routes/api/media/_id_/confirm.mjs +8 -8
- package/dist/astro/routes/api/media/_id_.mjs +6 -6
- package/dist/astro/routes/api/media/file/_...key_.mjs +1 -1
- package/dist/astro/routes/api/media/providers/_providerId_/_itemId_.mjs +2 -2
- package/dist/astro/routes/api/media/providers/_providerId_/index.mjs +2 -2
- package/dist/astro/routes/api/media/providers/index.mjs +2 -2
- package/dist/astro/routes/api/media/upload-url.mjs +9 -9
- package/dist/astro/routes/api/media.mjs +9 -9
- package/dist/astro/routes/api/menus/_name_/items/_id_.mjs +28 -28
- package/dist/astro/routes/api/menus/_name_/items.mjs +28 -28
- package/dist/astro/routes/api/menus/_name_/reorder.mjs +28 -28
- package/dist/astro/routes/api/menus/_name_/translations.mjs +28 -28
- package/dist/astro/routes/api/menus/_name_.mjs +28 -28
- package/dist/astro/routes/api/menus/index.mjs +28 -28
- package/dist/astro/routes/api/oauth/authorize.mjs +7 -7
- package/dist/astro/routes/api/oauth/device/authorize.mjs +6 -6
- package/dist/astro/routes/api/oauth/device/code.mjs +9 -9
- package/dist/astro/routes/api/oauth/device/token.mjs +8 -8
- package/dist/astro/routes/api/oauth/register.mjs +4 -4
- package/dist/astro/routes/api/oauth/token/refresh.mjs +6 -6
- package/dist/astro/routes/api/oauth/token/revoke.mjs +6 -6
- package/dist/astro/routes/api/oauth/token.mjs +6 -6
- package/dist/astro/routes/api/openapi.json.mjs +4 -4
- package/dist/astro/routes/api/plugins/_pluginId_/_...path_.mjs +4 -4
- package/dist/astro/routes/api/redirects/404s/index.mjs +9 -9
- package/dist/astro/routes/api/redirects/404s/summary.mjs +9 -9
- package/dist/astro/routes/api/redirects/_id_.mjs +29 -29
- package/dist/astro/routes/api/redirects/index.mjs +29 -29
- package/dist/astro/routes/api/revisions/_revisionId_/index.mjs +2 -2
- package/dist/astro/routes/api/revisions/_revisionId_/restore.mjs +2 -2
- package/dist/astro/routes/api/schema/collections/_slug_/fields/_fieldSlug_.mjs +44 -41
- package/dist/astro/routes/api/schema/collections/_slug_/fields/index.mjs +44 -41
- package/dist/astro/routes/api/schema/collections/_slug_/fields/reorder.mjs +44 -41
- package/dist/astro/routes/api/schema/collections/_slug_/index.mjs +44 -41
- package/dist/astro/routes/api/schema/collections/index.mjs +44 -41
- package/dist/astro/routes/api/schema/index.mjs +7 -7
- package/dist/astro/routes/api/schema/orphans/_slug_.mjs +42 -39
- package/dist/astro/routes/api/schema/orphans/index.mjs +42 -39
- package/dist/astro/routes/api/search/enable.mjs +10 -10
- package/dist/astro/routes/api/search/index.mjs +9 -9
- package/dist/astro/routes/api/search/rebuild.mjs +10 -10
- package/dist/astro/routes/api/search/stats.mjs +6 -6
- package/dist/astro/routes/api/search/suggest.mjs +9 -9
- package/dist/astro/routes/api/sections/_slug_.mjs +28 -28
- package/dist/astro/routes/api/sections/index.mjs +28 -28
- package/dist/astro/routes/api/settings/email.mjs +3 -3
- package/dist/astro/routes/api/settings.mjs +28 -28
- package/dist/astro/routes/api/setup/admin-verify.mjs +11 -11
- package/dist/astro/routes/api/setup/admin.mjs +9 -9
- package/dist/astro/routes/api/setup/dev-bypass.mjs +23 -23
- package/dist/astro/routes/api/setup/dev-reset.mjs +1 -1
- package/dist/astro/routes/api/setup/index.mjs +24 -24
- package/dist/astro/routes/api/setup/status.mjs +3 -3
- package/dist/astro/routes/api/snapshot.mjs +6 -6
- package/dist/astro/routes/api/taxonomies/_name_/terms/_slug_/translations.mjs +31 -31
- package/dist/astro/routes/api/taxonomies/_name_/terms/_slug_.mjs +31 -31
- package/dist/astro/routes/api/taxonomies/_name_/terms/index.mjs +31 -31
- package/dist/astro/routes/api/taxonomies/index.mjs +31 -31
- package/dist/astro/routes/api/themes/preview.mjs +4 -4
- package/dist/astro/routes/api/typegen.mjs +4 -4
- package/dist/astro/routes/api/well-known/auth.mjs +2 -2
- package/dist/astro/routes/api/well-known/oauth-authorization-server.mjs +3 -3
- package/dist/astro/routes/api/well-known/oauth-protected-resource.mjs +3 -3
- package/dist/astro/routes/api/widget-areas/_name_/reorder.mjs +27 -27
- package/dist/astro/routes/api/widget-areas/_name_/widgets/_id_.mjs +28 -28
- package/dist/astro/routes/api/widget-areas/_name_/widgets.mjs +28 -28
- package/dist/astro/routes/api/widget-areas/_name_.mjs +25 -25
- package/dist/astro/routes/api/widget-areas/index.mjs +28 -28
- package/dist/astro/routes/api/widget-components.mjs +2 -2
- package/dist/astro/routes/robots.txt.mjs +5 -5
- package/dist/astro/routes/sitemap-_collection_.xml.mjs +7 -7
- package/dist/astro/routes/sitemap.xml.mjs +5 -5
- package/dist/astro/session-driver.d.mts +1 -1
- package/dist/astro/session-driver.mjs +2 -2
- package/dist/astro/types.d.mts +11 -11
- package/dist/{audit-B2pRxZ20.mjs → audit-BzhwRVym.mjs} +1 -1
- package/dist/auth/providers/github.d.mts +1 -1
- package/dist/auth/providers/google.d.mts +1 -1
- package/dist/{auth-control-guard-D71jourk.mjs → auth-control-guard-B_Dx-epW.mjs} +1 -1
- package/dist/{authorize-ZXPGPwKn.mjs → authorize-D6MkRtPw.mjs} +1 -1
- package/dist/{briefing-kRhegBoF.mjs → briefing-Cl70iEH5.mjs} +1 -1
- package/dist/{briefing-0rf-su3-.mjs → briefing-GFhLTLJo.mjs} +5 -5
- package/dist/{bundle-CEcdUa1s.mjs → bundle-CIrUlrkQ.mjs} +2 -2
- package/dist/{byline-7xR185Ly.mjs → byline-BJa1MyKB.mjs} +4 -4
- package/dist/{byline-fields-Ckeqd1OY.d.mts → byline-fields-sRHzS0aM.d.mts} +24 -24
- package/dist/{byline-fields-WN7RQT4q.mjs → byline-fields-yT4herdN.mjs} +1 -1
- package/dist/{bylines-C-EL6dh3.mjs → bylines-B53Saxdb.mjs} +3 -3
- package/dist/{bylines-CmZFCMr0.mjs → bylines-kixFoaRV.mjs} +5 -5
- package/dist/{cache-DkVCKGio.mjs → cache-fpisdt5Q.mjs} +1 -1
- package/dist/{chunks-ChGNDY8r.mjs → chunks-DX_b8_4Z.mjs} +1 -1
- package/dist/cli/index.mjs +626 -589
- package/dist/cli/plugin-kit.mjs +2 -2
- package/dist/client/external-auth-headers.d.mts +1 -1
- package/dist/client/index.d.mts +2 -2
- package/dist/client/index.mjs +2 -2
- package/dist/{client-factory-BDD9azPJ.mjs → client-factory-DEtHApCc.mjs} +93 -3
- package/dist/{comment-DFALgsJD.mjs → comment-B88XcvU1.mjs} +1 -1
- package/dist/{comment-reaction-C37bf99u.mjs → comment-reaction-Ckn6vCmB.mjs} +1 -1
- package/dist/{comments-B3NwDBxl.mjs → comments-BDXsbL7z.mjs} +1 -1
- package/dist/{content-DJcAYFhz.mjs → content-Cbl8HbIR.mjs} +2 -2
- package/dist/{content-refresh-B4ZCmxgd.mjs → content-refresh-BmkilU5M.mjs} +2 -2
- package/dist/{context-DnpXcp6Y.mjs → context-AJNd0tcG.mjs} +2 -2
- package/dist/{context-fSCYLL3c.mjs → context-DT0tIsfw.mjs} +8 -8
- package/dist/{context-route-helpers-CI8XzcsK.mjs → context-route-helpers-DhP--tTq.mjs} +2 -2
- package/dist/{dashboard-D0nj5oWg.mjs → dashboard-YvDEYbS3.mjs} +4 -4
- package/dist/db/index.d.mts +3 -3
- package/dist/db/index.mjs +1 -1
- package/dist/db/libsql.d.mts +1 -1
- package/dist/db/postgres.d.mts +1 -1
- package/dist/db/sqlite.d.mts +1 -1
- package/dist/{device-flow-BJe6VEhP.mjs → device-flow-BKKeobcV.mjs} +4 -4
- package/dist/{error-CSVaQNZy.mjs → error-BW9f_ynq.mjs} +16 -2
- package/dist/{field-defs-cache-DL-T2XVS.mjs → field-defs-cache-CiXP3eO3.mjs} +1 -1
- package/dist/{fts-manager-ewTGohf4.mjs → fts-manager-Zo9uhGel.mjs} +1 -1
- package/dist/{hitl-requests-DEFj8e6u.mjs → hitl-requests-Bee8Cjj8.mjs} +2 -2
- package/dist/{hitl-route-helpers-C23JHaWz.mjs → hitl-route-helpers-DtHaKGgm.mjs} +5 -5
- package/dist/{import-CXXL5pip.mjs → import-C-zxnT89.mjs} +7 -7
- package/dist/{index-DcnOCD1e.d.mts → index-DybFmYtZ.d.mts} +3 -3
- package/dist/index.d.mts +14 -14
- package/dist/index.mjs +71 -69
- package/dist/integration-credentials-D3ZneN0L.mjs +49 -0
- package/dist/{jsonld-DzKbhRZ4.d.mts → jsonld-B9A2e0yv.d.mts} +2 -2
- package/dist/{load-CFtJRT3c.mjs → load-Cuiyh8LT.mjs} +1 -1
- package/dist/{loader-aWkkc1_o.mjs → loader-WHf22FwU.mjs} +2 -2
- package/dist/{manifest-schema-uA6pRFXi.mjs → manifest-schema-DKa3ZaJL.mjs} +1 -1
- package/dist/{mcp-reviewed-executor-Dn52L_yY.mjs → mcp-reviewed-executor-DnlF7mIL.mjs} +4 -4
- package/dist/media/index.d.mts +1 -1
- package/dist/media/local-runtime.d.mts +10 -10
- package/dist/media/local-runtime.mjs +2 -2
- package/dist/{media-CVMOoywq.mjs → media-B4m-cnmj.mjs} +1 -1
- package/dist/{menus-CmyIkRG5.mjs → menus-LYALU2Mf.mjs} +1 -1
- package/dist/{menus-CCG2z5um.mjs → menus-oYfViqfE.mjs} +5 -5
- package/dist/{oauth-authorization-B9H7X85L.mjs → oauth-authorization-CX7aa8Ph.mjs} +4 -4
- package/dist/{oauth-clients-Dwl32-Uj.mjs → oauth-clients-D9Gg0WjF.mjs} +2 -2
- package/dist/object-cache/memory.d.mts +1 -1
- package/dist/page/index.d.mts +9 -9
- package/dist/page/index.mjs +1 -1
- package/dist/{parse-i15EFSAE.mjs → parse-B-Y84oJl.mjs} +1 -1
- package/dist/plugin-utils.d.mts +8 -8
- package/dist/plugins/adapt-sandbox-entry.d.mts +8 -8
- package/dist/plugins/adapt-sandbox-entry.mjs +1 -1
- package/dist/{plugins-CPA2PtfY.mjs → plugins-B7-4Okii.mjs} +5 -5
- package/dist/{preview-BjedZm8G.mjs → preview-BMIReQGc.mjs} +2 -2
- package/dist/{provider-loader-DC2JdWeO.d.mts → provider-loader-BIbIiz0P.d.mts} +1 -1
- package/dist/{public-url-DQJCnYi9.d.mts → public-url-C8QUncg3.d.mts} +1 -1
- package/dist/{publication-authorization-RKiHXKtq.mjs → publication-authorization-BVQ5rCAF.mjs} +6 -6
- package/dist/{query-DEv5x6yB.mjs → query-C_m8sn-S.mjs} +12 -12
- package/dist/{query-C2U5u5_p.mjs → query-DNczixZr.mjs} +2 -2
- package/dist/{rate-limit-DglsAJSw.mjs → rate-limit-oUGexQO1.mjs} +2 -2
- package/dist/{redirect-ubhEqQCQ.mjs → redirect-DoDgOWIA.mjs} +1 -1
- package/dist/{redirects-xs2yahLq.mjs → redirects-CrP6U4hZ.mjs} +3 -3
- package/dist/{redirects-Bhpm8bRe.mjs → redirects-E_B6hvuz.mjs} +2 -2
- package/dist/{registry-BYYyb2tF.mjs → registry-SEJqFliS.mjs} +4 -4
- package/dist/{request-meta-CFe1tW2M.mjs → request-meta-DHFIzWcf.mjs} +1 -1
- package/dist/{review-requests-CTWGnWUt.mjs → review-requests-CObSuTYU.mjs} +1 -1
- package/dist/{review-requests-D42VEP1l.mjs → review-requests-Cu9051_B.mjs} +1 -1
- package/dist/{review-route-helpers-C31vO6SI.mjs → review-route-helpers-Dp_7PH8r.mjs} +2 -2
- package/dist/{runner-D6hzs8L9.d.mts → runner-Bcy5w0vj.d.mts} +1 -1
- package/dist/{runner-BgmttQmD.mjs → runner-BfWbi9YY.mjs} +461 -446
- package/dist/runtime.d.mts +9 -9
- package/dist/runtime.mjs +3 -3
- package/dist/schema-Dk_N31V4.mjs +8 -0
- package/dist/{search-DUKgZUlm.mjs → search-BXEQepxL.mjs} +3 -3
- package/dist/{sections-DvFgsnda.mjs → sections-DxvEF6Bj.mjs} +2 -2
- package/dist/seed/index.d.mts +2 -2
- package/dist/seed/index.mjs +17 -17
- package/dist/seo/index.d.mts +1 -1
- package/dist/seo/index.mjs +1 -1
- package/dist/{seo-BU8MLCS9.mjs → seo-D1RiaooQ.mjs} +1 -1
- package/dist/service-DbHMAoiN.mjs +347 -0
- package/dist/{service-FL3fB0Rx.mjs → service-QdG0YHws.mjs} +2 -2
- package/dist/{settings-EzADu-dd.mjs → settings-Dje-PHXo.mjs} +2 -2
- package/dist/{settings-BECcAIRH.mjs → settings-SVDAB7_W.mjs} +2 -2
- package/dist/{site-activity-h8smOlYI.mjs → site-activity-BVK40wCy.mjs} +1 -1
- package/dist/{site-context-B8T1kpUP.mjs → site-context-CzaEGizi.mjs} +13 -13
- package/dist/storage/local.d.mts +1 -1
- package/dist/storage/local.mjs +1 -1
- package/dist/storage/s3.d.mts +1 -1
- package/dist/storage/s3.mjs +1 -1
- package/dist/store-CCfMD6nw.mjs +262 -0
- package/dist/{taxonomies-BiM9NtgW.mjs → taxonomies-DuhGjBa8.mjs} +3 -3
- package/dist/{taxonomies-DSnY5nOa.mjs → taxonomies-WVnFki0o.mjs} +5 -5
- package/dist/{taxonomy-0k_vRVsD.mjs → taxonomy-CCo2plmV.mjs} +2 -2
- package/dist/{types-DuQn1G7-.d.mts → types-BFeoAIHl.d.mts} +13 -0
- package/dist/{types-ChxYDRvx.mjs → types-Bshd_6wQ.mjs} +1 -1
- package/dist/{types-opjX_kz6.d.mts → types-GtwhHAg8.d.mts} +1 -1
- package/dist/{types-DwoUifGE.d.mts → types-JovwyJFE.d.mts} +28 -27
- package/dist/ui/server-runtime.d.mts +12 -12
- package/dist/ui/server-runtime.mjs +19 -19
- package/dist/{user-BH-n01y3.mjs → user-Bcvr5ihC.mjs} +2 -2
- package/dist/{validate-CbVFoJgc.d.mts → validate-YiX3rly5.d.mts} +3 -3
- package/dist/{validate-D1HL-oLR.mjs → validate-qKzI3BCv.mjs} +1 -1
- package/dist/version-O6Zw1eqK.mjs +6 -0
- package/dist/{widgets-BZrLrNgS.mjs → widgets-DyGcotPM.mjs} +2 -2
- package/dist/{zod-generator-C7AsLpSB.mjs → zod-generator-Cr3SiHsc.mjs} +1 -1
- package/package.json +8 -6
- package/dist/forgeway-seo-client-G5ddhVHd.mjs +0 -456
- package/dist/project-env-DKibmuP8.mjs +0 -95
- package/dist/schema-DUtnZxjZ.mjs +0 -8
- package/dist/version-C3iVRuaF.mjs +0 -6
- /package/dist/{actor-0QJ1Gbtf.mjs → actor-DA7yL9Yp.mjs} +0 -0
- /package/dist/{adapters-BiRymx02.d.mts → adapters-DnMDRQ4e.d.mts} +0 -0
- /package/dist/{api-tokens-Ypaly90d.mjs → api-tokens-D4tcY8R6.mjs} +0 -0
- /package/dist/{challenge-store-D5pSY2S1.mjs → challenge-store-BMkL2kmt.mjs} +0 -0
- /package/dist/{components-DImzlLhb.mjs → components-D0w9MzQe.mjs} +0 -0
- /package/dist/{cron-B1SL_lsb.mjs → cron-D_c3WUPN.mjs} +0 -0
- /package/dist/{default-D4Vygcy_.mjs → default-BxoI3SoK.mjs} +0 -0
- /package/dist/{email-console-Bp0r68iF.mjs → email-console-BEMwuxhV.mjs} +0 -0
- /package/dist/{escape-DN4Qmjsl.mjs → escape-smSUOb7u.mjs} +0 -0
- /package/dist/{experimental-workflows-GVhUgzEs.mjs → experimental-workflows-CgO73K4e.mjs} +0 -0
- /package/dist/{media-allowlist-zDNJmXCo.mjs → media-allowlist-BQyIBPzd.mjs} +0 -0
- /package/dist/{media-url-BdoLPvg8.mjs → media-url-B6d-yVI6.mjs} +0 -0
- /package/dist/{mode-C8yZnIlR.mjs → mode-DPC7segX.mjs} +0 -0
- /package/dist/{oauth-state-store-CndT35iw.mjs → oauth-state-store-DPVzeoyY.mjs} +0 -0
- /package/dist/{oauth-user-lookup-CMehAaKs.mjs → oauth-user-lookup-3E5jlXrr.mjs} +0 -0
- /package/dist/{output-DhBe5_Pi.mjs → output-BbqsKnS_.mjs} +0 -0
- /package/dist/{parser-06LLLL4E.mjs → parser-DX_c5iG3.mjs} +0 -0
- /package/dist/{passkey-config-NYukYGed.mjs → passkey-config-DE_0EGEP.mjs} +0 -0
- /package/dist/{placeholder-DkWkXfDI.d.mts → placeholder-C6ZjZcmJ.d.mts} +0 -0
- /package/dist/{portable-text-E79LyjGo.d.mts → portable-text-Ehqj3I_y.d.mts} +0 -0
- /package/dist/{portable-text-BASHceim.mjs → portable-text-y8QVqTzd.mjs} +0 -0
- /package/dist/{provider-loader-BtfrrzfD.mjs → provider-loader-BeQcnPN1.mjs} +0 -0
- /package/dist/{public-url-Cp6hyjVR.mjs → public-url-BA-7LKvQ.mjs} +0 -0
- /package/dist/{redirect-DrbEmU9a.mjs → redirect-CZFAqHLr.mjs} +0 -0
- /package/dist/{resolve-DE71WcL9.mjs → resolve-B6BpqwAR.mjs} +0 -0
- /package/dist/{secrets-ZV5rd8yV.mjs → secrets-CpGpyGcO.mjs} +0 -0
- /package/dist/{seo-contributions-GnCuL1ML.mjs → seo-contributions-Ci8_12_r.mjs} +0 -0
- /package/dist/{session-user-Ct6GBLvn.mjs → session-user-BwliEFp0.mjs} +0 -0
- /package/dist/{setup-complete-Da0axZEE.mjs → setup-complete-PvF8I7Oh.mjs} +0 -0
- /package/dist/{setup-nonce-BtkKnvxQ.mjs → setup-nonce-DkpYROqg.mjs} +0 -0
- /package/dist/{sidecar-client-Ctzfyyp-.mjs → sidecar-client-dt5fv23q.mjs} +0 -0
- /package/dist/{site-url-DJEid0ml.mjs → site-url-DfYDZyWl.mjs} +0 -0
- /package/dist/{ssrf-FJqwQzj4.mjs → ssrf-BZHvtFEv.mjs} +0 -0
- /package/dist/{status-NqWOSFAD.mjs → status-BN40hMpr.mjs} +0 -0
- /package/dist/{tokens-BDQU29Vd.mjs → tokens-DIzhPT80.mjs} +0 -0
- /package/dist/{transport-D9pKAzFP.d.mts → transport-BZ3aqdu7.d.mts} +0 -0
- /package/dist/{transport-C46KHLMP.mjs → transport-D0dLIuDC.mjs} +0 -0
- /package/dist/{trusted-proxy-Dm7Mxvt6.mjs → trusted-proxy-czZuby6G.mjs} +0 -0
- /package/dist/{types-Cw0PeCT_.d.mts → types-BsTXSvKG.d.mts} +0 -0
- /package/dist/{types-BLQCz46p.d.mts → types-CDcuRd4z.d.mts} +0 -0
- /package/dist/{types-A8fPOJnl.mjs → types-CK0r-Xq4.mjs} +0 -0
- /package/dist/{types-g0zMtraY.d.mts → types-S9VIopdY.d.mts} +0 -0
- /package/dist/{types-wFu80FrO.d.mts → types-YxFz4lDr.d.mts} +0 -0
- /package/dist/{types-mVVgRPaU.mjs → types-gvNBqijt.mjs} +0 -0
- /package/dist/{types-B_FlxIIl.d.mts → types-ywmuDETA.d.mts} +0 -0
- /package/dist/{url-EMAguGVk.mjs → url-D282S1Zw.mjs} +0 -0
- /package/dist/{utils-D1SrKGtP.mjs → utils-B7gemXz5.mjs} +0 -0
- /package/dist/{wordpress-slugs-C3PWcowq.mjs → wordpress-slugs-D_LfQCan.mjs} +0 -0
|
@@ -0,0 +1,262 @@
|
|
|
1
|
+
import { i as encodeBase64url, n as decodeBase64url } from "./base64-F8-DUraK.mjs";
|
|
2
|
+
import { i as parseEncryptionKeys, t as DinewaySecretsError } from "./secrets-CpGpyGcO.mjs";
|
|
3
|
+
|
|
4
|
+
//#region src/database/repositories/integration-credentials.ts
|
|
5
|
+
var IntegrationCredentialRepository = class {
|
|
6
|
+
constructor(db) {
|
|
7
|
+
this.db = db;
|
|
8
|
+
}
|
|
9
|
+
async put(input) {
|
|
10
|
+
const now = input.updatedAt ?? (/* @__PURE__ */ new Date()).toISOString();
|
|
11
|
+
const row = {
|
|
12
|
+
provider: input.provider,
|
|
13
|
+
credential_type: input.credentialType,
|
|
14
|
+
encryption_version: input.encryptionVersion,
|
|
15
|
+
key_id: input.keyId,
|
|
16
|
+
nonce: input.nonce,
|
|
17
|
+
ciphertext: input.ciphertext,
|
|
18
|
+
fingerprint: input.fingerprint,
|
|
19
|
+
source: input.source,
|
|
20
|
+
created_at: now,
|
|
21
|
+
updated_at: now
|
|
22
|
+
};
|
|
23
|
+
await this.db.insertInto("_dineway_integration_credentials").values(row).onConflict((conflict) => conflict.column("provider").doUpdateSet({
|
|
24
|
+
credential_type: row.credential_type,
|
|
25
|
+
encryption_version: row.encryption_version,
|
|
26
|
+
key_id: row.key_id,
|
|
27
|
+
nonce: row.nonce,
|
|
28
|
+
ciphertext: row.ciphertext,
|
|
29
|
+
fingerprint: row.fingerprint,
|
|
30
|
+
source: row.source,
|
|
31
|
+
updated_at: now
|
|
32
|
+
})).execute();
|
|
33
|
+
const stored = await this.find(input.provider);
|
|
34
|
+
if (!stored) throw new Error("Integration credential write did not persist.");
|
|
35
|
+
return stored;
|
|
36
|
+
}
|
|
37
|
+
async find(provider) {
|
|
38
|
+
const row = await this.db.selectFrom("_dineway_integration_credentials").selectAll().where("provider", "=", provider).executeTakeFirst();
|
|
39
|
+
return row ? toStored(row) : null;
|
|
40
|
+
}
|
|
41
|
+
async list() {
|
|
42
|
+
return (await this.db.selectFrom("_dineway_integration_credentials").selectAll().orderBy("provider", "asc").execute()).map(toStored);
|
|
43
|
+
}
|
|
44
|
+
async delete(provider) {
|
|
45
|
+
const result = await this.db.deleteFrom("_dineway_integration_credentials").where("provider", "=", provider).executeTakeFirst();
|
|
46
|
+
return Number(result.numDeletedRows ?? 0) > 0;
|
|
47
|
+
}
|
|
48
|
+
};
|
|
49
|
+
function toStored(row) {
|
|
50
|
+
return {
|
|
51
|
+
provider: row.provider,
|
|
52
|
+
credentialType: row.credential_type,
|
|
53
|
+
encryptionVersion: row.encryption_version,
|
|
54
|
+
keyId: row.key_id,
|
|
55
|
+
nonce: row.nonce,
|
|
56
|
+
ciphertext: row.ciphertext,
|
|
57
|
+
fingerprint: row.fingerprint,
|
|
58
|
+
source: row.source,
|
|
59
|
+
createdAt: row.created_at,
|
|
60
|
+
updatedAt: row.updated_at
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
//#endregion
|
|
65
|
+
//#region src/integration-credentials/store.ts
|
|
66
|
+
const ENCRYPTION_VERSION = 1;
|
|
67
|
+
const AES_GCM_NONCE_BYTES = 12;
|
|
68
|
+
const MAX_CREDENTIAL_BYTES = 65536;
|
|
69
|
+
const PROVIDER_PATTERN = /^[a-z][a-z0-9.-]{0,99}$/;
|
|
70
|
+
var IntegrationCredentialStore = class {
|
|
71
|
+
repository;
|
|
72
|
+
keysPromise;
|
|
73
|
+
constructor(db, options = {}) {
|
|
74
|
+
this.repository = new IntegrationCredentialRepository(db);
|
|
75
|
+
this.keysPromise = options.keys ? Promise.resolve(options.keys) : parseEncryptionKeys(readEncryptionKey(options.env));
|
|
76
|
+
}
|
|
77
|
+
async set(provider, credential, source = "admin") {
|
|
78
|
+
validateProvider(provider);
|
|
79
|
+
validateCredential(credential);
|
|
80
|
+
const primaryKey = (await this.requireKeys())[0];
|
|
81
|
+
if (!primaryKey) throw encryptionKeyRequired();
|
|
82
|
+
const serialized = serializeCredential(credential);
|
|
83
|
+
const encrypted = await encryptCredential(primaryKey, provider, credential.type, serialized);
|
|
84
|
+
return toStatus(await this.repository.put({
|
|
85
|
+
provider,
|
|
86
|
+
credentialType: credential.type,
|
|
87
|
+
encryptionVersion: ENCRYPTION_VERSION,
|
|
88
|
+
keyId: primaryKey.kid,
|
|
89
|
+
nonce: encrypted.nonce,
|
|
90
|
+
ciphertext: encrypted.ciphertext,
|
|
91
|
+
fingerprint: await fingerprintCredential(primaryKey, provider, serialized),
|
|
92
|
+
source
|
|
93
|
+
}));
|
|
94
|
+
}
|
|
95
|
+
async status(provider) {
|
|
96
|
+
validateProvider(provider);
|
|
97
|
+
const stored = await this.repository.find(provider);
|
|
98
|
+
return stored ? toStatus(stored) : null;
|
|
99
|
+
}
|
|
100
|
+
async list() {
|
|
101
|
+
return (await this.repository.list()).map(toStatus);
|
|
102
|
+
}
|
|
103
|
+
async delete(provider) {
|
|
104
|
+
validateProvider(provider);
|
|
105
|
+
return this.repository.delete(provider);
|
|
106
|
+
}
|
|
107
|
+
async resolveForRuntime(provider) {
|
|
108
|
+
validateProvider(provider);
|
|
109
|
+
const stored = await this.repository.find(provider);
|
|
110
|
+
if (!stored) return null;
|
|
111
|
+
if (stored.encryptionVersion !== ENCRYPTION_VERSION) throw new DinewaySecretsError("The stored Integration credential uses an unsupported encryption version.", "INTEGRATION_CREDENTIAL_VERSION_UNSUPPORTED");
|
|
112
|
+
const keys = await this.requireKeys();
|
|
113
|
+
const decryptionKey = keys.find((key) => key.kid === stored.keyId);
|
|
114
|
+
if (!decryptionKey) throw new DinewaySecretsError("The stored Integration credential cannot be decrypted by the configured key ring.", "INTEGRATION_CREDENTIAL_KEY_UNAVAILABLE");
|
|
115
|
+
let serialized;
|
|
116
|
+
try {
|
|
117
|
+
serialized = await decryptCredential(decryptionKey, stored);
|
|
118
|
+
} catch {
|
|
119
|
+
throw new DinewaySecretsError("The stored Integration credential failed authenticated decryption.", "INTEGRATION_CREDENTIAL_DECRYPT_FAILED");
|
|
120
|
+
}
|
|
121
|
+
const credential = parseCredential(serialized, stored.credentialType);
|
|
122
|
+
const primaryKey = keys[0];
|
|
123
|
+
if (primaryKey && primaryKey.kid !== stored.keyId) {
|
|
124
|
+
const encrypted = await encryptCredential(primaryKey, provider, credential.type, serialized);
|
|
125
|
+
await this.repository.put({
|
|
126
|
+
provider,
|
|
127
|
+
credentialType: credential.type,
|
|
128
|
+
encryptionVersion: ENCRYPTION_VERSION,
|
|
129
|
+
keyId: primaryKey.kid,
|
|
130
|
+
nonce: encrypted.nonce,
|
|
131
|
+
ciphertext: encrypted.ciphertext,
|
|
132
|
+
fingerprint: await fingerprintCredential(primaryKey, provider, serialized),
|
|
133
|
+
source: stored.source
|
|
134
|
+
});
|
|
135
|
+
}
|
|
136
|
+
return credential;
|
|
137
|
+
}
|
|
138
|
+
async requireKeys() {
|
|
139
|
+
const keys = await this.keysPromise;
|
|
140
|
+
if (!keys || keys.length === 0) throw encryptionKeyRequired();
|
|
141
|
+
return keys;
|
|
142
|
+
}
|
|
143
|
+
};
|
|
144
|
+
async function encryptCredential(key, provider, type, serialized) {
|
|
145
|
+
const nonce = crypto.getRandomValues(new Uint8Array(AES_GCM_NONCE_BYTES));
|
|
146
|
+
const cryptoKey = await importAesKey(key, ["encrypt"]);
|
|
147
|
+
const ciphertext = await crypto.subtle.encrypt({
|
|
148
|
+
name: "AES-GCM",
|
|
149
|
+
iv: toArrayBuffer(nonce),
|
|
150
|
+
additionalData: aad(provider, type, ENCRYPTION_VERSION)
|
|
151
|
+
}, cryptoKey, new TextEncoder().encode(serialized));
|
|
152
|
+
return {
|
|
153
|
+
nonce: encodeBase64url(nonce),
|
|
154
|
+
ciphertext: encodeBase64url(new Uint8Array(ciphertext))
|
|
155
|
+
};
|
|
156
|
+
}
|
|
157
|
+
async function decryptCredential(key, stored) {
|
|
158
|
+
const cryptoKey = await importAesKey(key, ["decrypt"]);
|
|
159
|
+
const plaintext = await crypto.subtle.decrypt({
|
|
160
|
+
name: "AES-GCM",
|
|
161
|
+
iv: toArrayBuffer(decodeBase64url(stored.nonce)),
|
|
162
|
+
additionalData: aad(stored.provider, stored.credentialType, stored.encryptionVersion)
|
|
163
|
+
}, cryptoKey, toArrayBuffer(decodeBase64url(stored.ciphertext)));
|
|
164
|
+
return new TextDecoder("utf-8", { fatal: true }).decode(plaintext);
|
|
165
|
+
}
|
|
166
|
+
async function importAesKey(key, usages) {
|
|
167
|
+
return crypto.subtle.importKey("raw", toArrayBuffer(key.key), { name: "AES-GCM" }, false, usages);
|
|
168
|
+
}
|
|
169
|
+
function aad(provider, type, version) {
|
|
170
|
+
return toArrayBuffer(new TextEncoder().encode(JSON.stringify([
|
|
171
|
+
"dineway-integration-credential",
|
|
172
|
+
version,
|
|
173
|
+
provider,
|
|
174
|
+
type
|
|
175
|
+
])));
|
|
176
|
+
}
|
|
177
|
+
async function fingerprintCredential(key, provider, serialized) {
|
|
178
|
+
const hmacKey = await crypto.subtle.importKey("raw", toArrayBuffer(key.key), {
|
|
179
|
+
name: "HMAC",
|
|
180
|
+
hash: "SHA-256"
|
|
181
|
+
}, false, ["sign"]);
|
|
182
|
+
const digest = await crypto.subtle.sign("HMAC", hmacKey, new TextEncoder().encode(`dineway-integration-credential-fingerprint:v1:${provider}:${serialized}`));
|
|
183
|
+
return Array.from(new Uint8Array(digest), (byte) => byte.toString(16).padStart(2, "0")).join("").slice(0, 12);
|
|
184
|
+
}
|
|
185
|
+
function serializeCredential(credential) {
|
|
186
|
+
return credential.type === "token" ? JSON.stringify({
|
|
187
|
+
type: "token",
|
|
188
|
+
value: credential.value
|
|
189
|
+
}) : JSON.stringify({
|
|
190
|
+
type: "basic",
|
|
191
|
+
username: credential.username,
|
|
192
|
+
password: credential.password
|
|
193
|
+
});
|
|
194
|
+
}
|
|
195
|
+
function parseCredential(serialized, expectedType) {
|
|
196
|
+
let value;
|
|
197
|
+
try {
|
|
198
|
+
value = JSON.parse(serialized);
|
|
199
|
+
} catch {
|
|
200
|
+
throw invalidPayload();
|
|
201
|
+
}
|
|
202
|
+
if (!isRecord(value) || value.type !== expectedType) throw invalidPayload();
|
|
203
|
+
if (expectedType === "token" && typeof value.value === "string") {
|
|
204
|
+
const credential = {
|
|
205
|
+
type: "token",
|
|
206
|
+
value: value.value
|
|
207
|
+
};
|
|
208
|
+
validateCredential(credential);
|
|
209
|
+
return credential;
|
|
210
|
+
}
|
|
211
|
+
if (expectedType === "basic" && typeof value.username === "string" && typeof value.password === "string") {
|
|
212
|
+
const credential = {
|
|
213
|
+
type: "basic",
|
|
214
|
+
username: value.username,
|
|
215
|
+
password: value.password
|
|
216
|
+
};
|
|
217
|
+
validateCredential(credential);
|
|
218
|
+
return credential;
|
|
219
|
+
}
|
|
220
|
+
throw invalidPayload();
|
|
221
|
+
}
|
|
222
|
+
function validateProvider(provider) {
|
|
223
|
+
if (!PROVIDER_PATTERN.test(provider)) throw new DinewaySecretsError("Integration provider must be a lowercase catalog identifier.", "INVALID_INTEGRATION_PROVIDER");
|
|
224
|
+
}
|
|
225
|
+
function validateCredential(credential) {
|
|
226
|
+
if ((credential.type === "token" ? [credential.value] : [credential.username, credential.password]).some((value) => value.length === 0)) throw invalidPayload();
|
|
227
|
+
if (new TextEncoder().encode(serializeCredential(credential)).byteLength > MAX_CREDENTIAL_BYTES) throw invalidPayload();
|
|
228
|
+
}
|
|
229
|
+
function invalidPayload() {
|
|
230
|
+
return new DinewaySecretsError(`Integration credentials must be complete and no larger than ${MAX_CREDENTIAL_BYTES} UTF-8 bytes.`, "INVALID_INTEGRATION_CREDENTIAL");
|
|
231
|
+
}
|
|
232
|
+
function encryptionKeyRequired() {
|
|
233
|
+
return new DinewaySecretsError("DINEWAY_ENCRYPTION_KEY is required before Integration credentials can be written or decrypted.", "ENCRYPTION_KEY_REQUIRED");
|
|
234
|
+
}
|
|
235
|
+
function readEncryptionKey(env) {
|
|
236
|
+
if (env) return env.DINEWAY_ENCRYPTION_KEY;
|
|
237
|
+
const meta = import.meta.env ?? {};
|
|
238
|
+
const proc = typeof process !== "undefined" && process.env ? process.env : {};
|
|
239
|
+
return meta.DINEWAY_ENCRYPTION_KEY ?? proc.DINEWAY_ENCRYPTION_KEY;
|
|
240
|
+
}
|
|
241
|
+
function toStatus(stored) {
|
|
242
|
+
return {
|
|
243
|
+
provider: stored.provider,
|
|
244
|
+
type: stored.credentialType,
|
|
245
|
+
present: true,
|
|
246
|
+
fingerprint: stored.fingerprint,
|
|
247
|
+
source: stored.source,
|
|
248
|
+
createdAt: stored.createdAt,
|
|
249
|
+
updatedAt: stored.updatedAt
|
|
250
|
+
};
|
|
251
|
+
}
|
|
252
|
+
function isRecord(value) {
|
|
253
|
+
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
254
|
+
}
|
|
255
|
+
function toArrayBuffer(bytes) {
|
|
256
|
+
const buffer = new ArrayBuffer(bytes.byteLength);
|
|
257
|
+
new Uint8Array(buffer).set(bytes);
|
|
258
|
+
return buffer;
|
|
259
|
+
}
|
|
260
|
+
|
|
261
|
+
//#endregion
|
|
262
|
+
export { IntegrationCredentialStore as t };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { a as __exportAll } from "./runner-
|
|
2
|
-
import { t as TaxonomyRepository } from "./taxonomy-
|
|
3
|
-
import { c as invalidateTaxonomyDefsCache, l as invalidateTermCache } from "./taxonomies-
|
|
1
|
+
import { a as __exportAll } from "./runner-BfWbi9YY.mjs";
|
|
2
|
+
import { t as TaxonomyRepository } from "./taxonomy-CCo2plmV.mjs";
|
|
3
|
+
import { c as invalidateTaxonomyDefsCache, l as invalidateTermCache } from "./taxonomies-WVnFki0o.mjs";
|
|
4
4
|
import { ulid } from "ulidx";
|
|
5
5
|
|
|
6
6
|
//#region src/api/handlers/taxonomies.ts
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { a as __exportAll } from "./runner-
|
|
1
|
+
import { a as __exportAll } from "./runner-BfWbi9YY.mjs";
|
|
2
2
|
import { getRequestContext } from "./request-context.mjs";
|
|
3
|
-
import { a as resetTaxonomyNamesCache, o as isMissingTableError, r as getDb } from "./loader-
|
|
3
|
+
import { a as resetTaxonomyNamesCache, o as isMissingTableError, r as getDb } from "./loader-WHf22FwU.mjs";
|
|
4
4
|
import { d as invalidateTaxonomyObjectCache, f as isObjectCacheActive, n as cachedQuery, t as CacheNamespace } from "./object-cache-D51qOseS.mjs";
|
|
5
|
-
import { n as chunks, t as SQL_BATCH_SIZE } from "./chunks-
|
|
5
|
+
import { n as chunks, t as SQL_BATCH_SIZE } from "./chunks-DX_b8_4Z.mjs";
|
|
6
6
|
import { i as setRequestCacheEntry, n as peekRequestCache, r as requestCached } from "./request-cache-CBFjCwSt.mjs";
|
|
7
|
-
import { i as resolveLocaleChain, r as resolveLocale } from "./resolve-
|
|
7
|
+
import { i as resolveLocaleChain, r as resolveLocale } from "./resolve-B6BpqwAR.mjs";
|
|
8
8
|
|
|
9
9
|
//#region src/taxonomies/index.ts
|
|
10
10
|
/**
|
|
@@ -393,7 +393,7 @@ function primeFoldedEntryTerms(collection, perEntry, options = {}) {
|
|
|
393
393
|
* Get entries by term.
|
|
394
394
|
*/
|
|
395
395
|
async function getEntriesByTerm(collection, taxonomyName, termSlug, options = {}) {
|
|
396
|
-
const { getDinewayCollection } = await import("./query-
|
|
396
|
+
const { getDinewayCollection } = await import("./query-C_m8sn-S.mjs").then((n) => n.o);
|
|
397
397
|
const queryOptions = { where: { [taxonomyName]: termSlug } };
|
|
398
398
|
if (options.locale !== void 0) queryOptions.locale = options.locale;
|
|
399
399
|
const { entries } = await getDinewayCollection(collection, queryOptions);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { a as __exportAll } from "./runner-
|
|
1
|
+
import { a as __exportAll } from "./runner-BfWbi9YY.mjs";
|
|
2
2
|
import { d as invalidateTaxonomyObjectCache } from "./object-cache-D51qOseS.mjs";
|
|
3
3
|
import { ulid } from "ulidx";
|
|
4
4
|
|
|
@@ -226,7 +226,7 @@ var TaxonomyRepository = class {
|
|
|
226
226
|
*/
|
|
227
227
|
async countEntriesForTerms(translationGroups) {
|
|
228
228
|
if (translationGroups.length === 0) return /* @__PURE__ */ new Map();
|
|
229
|
-
const { chunks, SQL_BATCH_SIZE } = await import("./chunks-
|
|
229
|
+
const { chunks, SQL_BATCH_SIZE } = await import("./chunks-DX_b8_4Z.mjs").then((n) => n.r);
|
|
230
230
|
const counts = /* @__PURE__ */ new Map();
|
|
231
231
|
for (const chunk of chunks(translationGroups, SQL_BATCH_SIZE)) {
|
|
232
232
|
const rows = await this.db.selectFrom("content_taxonomies").select(["taxonomy_id", (eb) => eb.fn.count("entry_id").as("count")]).where("taxonomy_id", "in", chunk).groupBy("taxonomy_id").execute();
|
|
@@ -384,6 +384,18 @@ interface PluginSecretTable {
|
|
|
384
384
|
created_at: Generated<string>;
|
|
385
385
|
updated_at: Generated<string>;
|
|
386
386
|
}
|
|
387
|
+
interface IntegrationCredentialTable {
|
|
388
|
+
provider: string;
|
|
389
|
+
credential_type: "token" | "basic";
|
|
390
|
+
encryption_version: number;
|
|
391
|
+
key_id: string;
|
|
392
|
+
nonce: string;
|
|
393
|
+
ciphertext: string;
|
|
394
|
+
fingerprint: string;
|
|
395
|
+
source: "environment" | "admin";
|
|
396
|
+
created_at: Generated<string>;
|
|
397
|
+
updated_at: Generated<string>;
|
|
398
|
+
}
|
|
387
399
|
interface MigrationTable {
|
|
388
400
|
name: string;
|
|
389
401
|
timestamp: string;
|
|
@@ -761,6 +773,7 @@ interface Database {
|
|
|
761
773
|
_dineway_hitl_requests: HitlRequestTable;
|
|
762
774
|
_dineway_hitl_executions: HitlExecutionTable;
|
|
763
775
|
_dineway_plugin_secrets: PluginSecretTable;
|
|
776
|
+
_dineway_integration_credentials: IntegrationCredentialTable;
|
|
764
777
|
_dineway_migrations: MigrationTable;
|
|
765
778
|
_dineway_collections: CollectionTable;
|
|
766
779
|
_dineway_fields: FieldTable;
|
|
@@ -1,19 +1,20 @@
|
|
|
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-
|
|
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-
|
|
3
|
-
import { t as Database } from "./types-
|
|
4
|
-
import { _ as MediaValue, m as MediaProviderDescriptor } from "./placeholder-
|
|
5
|
-
import { D as ContentBylineInput } from "./index-
|
|
6
|
-
import { r as AuthProviderDescriptor, t as AuthDescriptor } from "./types-
|
|
7
|
-
import { t as DatabaseDescriptor } from "./adapters-
|
|
8
|
-
import { r as ObjectCacheDescriptor } from "./types-
|
|
9
|
-
import { d as Storage } from "./types-
|
|
10
|
-
import { C as SiteSettingKey, w as SiteSettings } from "./validate-
|
|
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-ywmuDETA.mjs";
|
|
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-GtwhHAg8.mjs";
|
|
3
|
+
import { t as Database } from "./types-BFeoAIHl.mjs";
|
|
4
|
+
import { _ as MediaValue, m as MediaProviderDescriptor } from "./placeholder-C6ZjZcmJ.mjs";
|
|
5
|
+
import { D as ContentBylineInput } from "./index-DybFmYtZ.mjs";
|
|
6
|
+
import { r as AuthProviderDescriptor, t as AuthDescriptor } from "./types-S9VIopdY.mjs";
|
|
7
|
+
import { t as DatabaseDescriptor } from "./adapters-DnMDRQ4e.mjs";
|
|
8
|
+
import { r as ObjectCacheDescriptor } from "./types-CDcuRd4z.mjs";
|
|
9
|
+
import { d as Storage } from "./types-YxFz4lDr.mjs";
|
|
10
|
+
import { C as SiteSettingKey, w as SiteSettings } from "./validate-YiX3rly5.mjs";
|
|
11
11
|
import { HandlerResponse } from "./astro/types.mjs";
|
|
12
12
|
import { Dialect, Kysely, Migration, RawBuilder, Transaction } from "kysely";
|
|
13
13
|
import { z } from "astro/zod";
|
|
14
14
|
import { z as z$1 } from "zod";
|
|
15
15
|
import { Permission, RoleLevel } from "@dineway-ai/auth";
|
|
16
16
|
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
17
|
+
import "@forgeway/sdk";
|
|
17
18
|
import "react/jsx-runtime";
|
|
18
19
|
import { AnySchema } from "@modelcontextprotocol/sdk/server/zod-compat.js";
|
|
19
20
|
import { JSX } from "astro/jsx-runtime";
|
|
@@ -3071,6 +3072,20 @@ declare function getSection(slug: string): Promise<Section | null>;
|
|
|
3071
3072
|
*/
|
|
3072
3073
|
declare function getSections(options?: GetSectionsOptions): Promise<FindManyResult<Section>>;
|
|
3073
3074
|
//#endregion
|
|
3075
|
+
//#region src/config/secrets.d.ts
|
|
3076
|
+
interface ParsedEncryptionKey {
|
|
3077
|
+
kid: string;
|
|
3078
|
+
key: Uint8Array;
|
|
3079
|
+
raw: string;
|
|
3080
|
+
}
|
|
3081
|
+
interface SecretsEnv {
|
|
3082
|
+
DINEWAY_ENCRYPTION_KEY?: string;
|
|
3083
|
+
DINEWAY_PREVIEW_SECRET?: string;
|
|
3084
|
+
PREVIEW_SECRET?: string;
|
|
3085
|
+
DINEWAY_IP_SALT?: string;
|
|
3086
|
+
IP_SALT?: string;
|
|
3087
|
+
}
|
|
3088
|
+
//#endregion
|
|
3074
3089
|
//#region src/content/converters/types.d.ts
|
|
3075
3090
|
/**
|
|
3076
3091
|
* Portable Text Types
|
|
@@ -4169,11 +4184,11 @@ declare const pluginManifestSchema: z$1.ZodObject<{
|
|
|
4169
4184
|
json: "json";
|
|
4170
4185
|
file: "file";
|
|
4171
4186
|
slug: "slug";
|
|
4172
|
-
image: "image";
|
|
4173
|
-
datetime: "datetime";
|
|
4174
4187
|
text: "text";
|
|
4175
|
-
integer: "integer";
|
|
4176
4188
|
select: "select";
|
|
4189
|
+
datetime: "datetime";
|
|
4190
|
+
image: "image";
|
|
4191
|
+
integer: "integer";
|
|
4177
4192
|
multiSelect: "multiSelect";
|
|
4178
4193
|
portableText: "portableText";
|
|
4179
4194
|
reference: "reference";
|
|
@@ -4189,20 +4204,6 @@ declare const pluginManifestSchema: z$1.ZodObject<{
|
|
|
4189
4204
|
}, z$1.core.$strip>;
|
|
4190
4205
|
type ValidatedPluginManifest = z$1.infer<typeof pluginManifestSchema>;
|
|
4191
4206
|
//#endregion
|
|
4192
|
-
//#region src/config/secrets.d.ts
|
|
4193
|
-
interface ParsedEncryptionKey {
|
|
4194
|
-
kid: string;
|
|
4195
|
-
key: Uint8Array;
|
|
4196
|
-
raw: string;
|
|
4197
|
-
}
|
|
4198
|
-
interface SecretsEnv {
|
|
4199
|
-
DINEWAY_ENCRYPTION_KEY?: string;
|
|
4200
|
-
DINEWAY_PREVIEW_SECRET?: string;
|
|
4201
|
-
PREVIEW_SECRET?: string;
|
|
4202
|
-
DINEWAY_IP_SALT?: string;
|
|
4203
|
-
IP_SALT?: string;
|
|
4204
|
-
}
|
|
4205
|
-
//#endregion
|
|
4206
4207
|
//#region src/plugins/secrets.d.ts
|
|
4207
4208
|
interface PluginSecretStatus {
|
|
4208
4209
|
pluginId: string;
|
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
import { D as PageMetadataContribution, Ea as getCollectionInfo, Ii as getEditMeta, Ln as getComments, Pi as getDinewayCollection, Vn as getSiteSettings, Zo as PublicComment, Zt as getWidgetArea, an as Widget, gt as PublicPageContext, pn as getTaxonomyTerms, ra as sanitizeHref, wn as getMenu } from "../types-
|
|
2
|
-
import "../types-
|
|
3
|
-
import { _ as MediaValue, c as EmbedResult, l as ImageEmbed, s as EmbedOptions } from "../placeholder-
|
|
4
|
-
import "../runner-
|
|
5
|
-
import "../index-
|
|
6
|
-
import "../types-
|
|
7
|
-
import { x as MediaReference } from "../validate-
|
|
8
|
-
import "../byline-fields-
|
|
9
|
-
import "../types-
|
|
10
|
-
import { t as getPublicOrigin } from "../public-url-
|
|
11
|
-
import { a as generateSiteSeoContributions, c as ResolvedPageMetadata, d as renderPageMetadata, f as resolvePageMetadata, i as generateBaseSeoContributions, l as createSha256CspHash, o as renderFragments } from "../jsonld-
|
|
1
|
+
import { D as PageMetadataContribution, Ea as getCollectionInfo, Ii as getEditMeta, Ln as getComments, Pi as getDinewayCollection, Vn as getSiteSettings, Zo as PublicComment, Zt as getWidgetArea, an as Widget, gt as PublicPageContext, pn as getTaxonomyTerms, ra as sanitizeHref, wn as getMenu } from "../types-JovwyJFE.mjs";
|
|
2
|
+
import "../types-BFeoAIHl.mjs";
|
|
3
|
+
import { _ as MediaValue, c as EmbedResult, l as ImageEmbed, s as EmbedOptions } from "../placeholder-C6ZjZcmJ.mjs";
|
|
4
|
+
import "../runner-Bcy5w0vj.mjs";
|
|
5
|
+
import "../index-DybFmYtZ.mjs";
|
|
6
|
+
import "../types-S9VIopdY.mjs";
|
|
7
|
+
import { x as MediaReference } from "../validate-YiX3rly5.mjs";
|
|
8
|
+
import "../byline-fields-sRHzS0aM.mjs";
|
|
9
|
+
import "../types-BsTXSvKG.mjs";
|
|
10
|
+
import { t as getPublicOrigin } from "../public-url-C8QUncg3.mjs";
|
|
11
|
+
import { a as generateSiteSeoContributions, c as ResolvedPageMetadata, d as renderPageMetadata, f as resolvePageMetadata, i as generateBaseSeoContributions, l as createSha256CspHash, o as renderFragments } from "../jsonld-B9A2e0yv.mjs";
|
|
12
12
|
import { getPageRuntime } from "../page/index.mjs";
|
|
13
|
-
import { t as getMediaProvider } from "../provider-loader-
|
|
13
|
+
import { t as getMediaProvider } from "../provider-loader-BIbIiz0P.mjs";
|
|
14
14
|
|
|
15
15
|
//#region src/utils/sanitize.d.ts
|
|
16
16
|
/**
|
|
@@ -1,28 +1,28 @@
|
|
|
1
1
|
import "../dialect-helpers-fk43GbDb.mjs";
|
|
2
2
|
import "../base64-F8-DUraK.mjs";
|
|
3
|
-
import "../types-
|
|
4
|
-
import "../loader-
|
|
3
|
+
import "../types-Bshd_6wQ.mjs";
|
|
4
|
+
import "../loader-WHf22FwU.mjs";
|
|
5
5
|
import "../object-cache-D51qOseS.mjs";
|
|
6
|
-
import "../media-
|
|
7
|
-
import "../comment-
|
|
6
|
+
import "../media-B4m-cnmj.mjs";
|
|
7
|
+
import "../comment-B88XcvU1.mjs";
|
|
8
8
|
import "../options-DQPTH5n0.mjs";
|
|
9
9
|
import "../request-cache-CBFjCwSt.mjs";
|
|
10
|
-
import "../content-refresh-
|
|
11
|
-
import "../fts-manager-
|
|
12
|
-
import "../registry-
|
|
10
|
+
import "../content-refresh-BmkilU5M.mjs";
|
|
11
|
+
import "../fts-manager-Zo9uhGel.mjs";
|
|
12
|
+
import "../registry-SEJqFliS.mjs";
|
|
13
13
|
import { n as buildRenderMediaUrl } from "../url-guoXQQcV.mjs";
|
|
14
|
-
import { i as getSiteSettings } from "../settings-
|
|
15
|
-
import { t as getCollectionInfo } from "../query-
|
|
16
|
-
import "../resolve-
|
|
17
|
-
import { a as getTaxonomyTerms } from "../taxonomies-
|
|
18
|
-
import { n as sanitizeHref } from "../url-
|
|
19
|
-
import { r as getEditMeta, t as getDinewayCollection } from "../query-
|
|
20
|
-
import "../comment-reaction-
|
|
21
|
-
import { i as getComments, t as getMenu } from "../menus-
|
|
22
|
-
import { t as getWidgetArea } from "../widgets-
|
|
23
|
-
import { t as getMediaProvider } from "../provider-loader-
|
|
24
|
-
import { n as getPublicOrigin } from "../public-url-
|
|
25
|
-
import { c as createSha256CspHash, d as resolvePageMetadata, l as escapeHtmlAttr, n as generateSiteSeoContributions, o as renderFragments, t as generateBaseSeoContributions, u as renderPageMetadata } from "../seo-contributions-
|
|
14
|
+
import { i as getSiteSettings } from "../settings-SVDAB7_W.mjs";
|
|
15
|
+
import { t as getCollectionInfo } from "../query-DNczixZr.mjs";
|
|
16
|
+
import "../resolve-B6BpqwAR.mjs";
|
|
17
|
+
import { a as getTaxonomyTerms } from "../taxonomies-WVnFki0o.mjs";
|
|
18
|
+
import { n as sanitizeHref } from "../url-D282S1Zw.mjs";
|
|
19
|
+
import { r as getEditMeta, t as getDinewayCollection } from "../query-C_m8sn-S.mjs";
|
|
20
|
+
import "../comment-reaction-Ckn6vCmB.mjs";
|
|
21
|
+
import { i as getComments, t as getMenu } from "../menus-oYfViqfE.mjs";
|
|
22
|
+
import { t as getWidgetArea } from "../widgets-DyGcotPM.mjs";
|
|
23
|
+
import { t as getMediaProvider } from "../provider-loader-BeQcnPN1.mjs";
|
|
24
|
+
import { n as getPublicOrigin } from "../public-url-BA-7LKvQ.mjs";
|
|
25
|
+
import { c as createSha256CspHash, d as resolvePageMetadata, l as escapeHtmlAttr, n as generateSiteSeoContributions, o as renderFragments, t as generateBaseSeoContributions, u as renderPageMetadata } from "../seo-contributions-Ci8_12_r.mjs";
|
|
26
26
|
import { getPageRuntime } from "../page/index.mjs";
|
|
27
27
|
import sanitizeHtml from "sanitize-html";
|
|
28
28
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { i as encodeCursor, r as decodeCursor } from "./types-
|
|
2
|
-
import { n as chunks, t as SQL_BATCH_SIZE } from "./chunks-
|
|
1
|
+
import { i as encodeCursor, r as decodeCursor } from "./types-Bshd_6wQ.mjs";
|
|
2
|
+
import { n as chunks, t as SQL_BATCH_SIZE } from "./chunks-DX_b8_4Z.mjs";
|
|
3
3
|
import { ulid } from "ulidx";
|
|
4
4
|
|
|
5
5
|
//#region src/database/repositories/user.ts
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { d as FieldType } from "./types-
|
|
2
|
-
import { t as Database } from "./types-
|
|
3
|
-
import { d as Storage } from "./types-
|
|
1
|
+
import { d as FieldType } from "./types-ywmuDETA.mjs";
|
|
2
|
+
import { t as Database } from "./types-BFeoAIHl.mjs";
|
|
3
|
+
import { d as Storage } from "./types-YxFz4lDr.mjs";
|
|
4
4
|
import { Kysely } from "kysely";
|
|
5
5
|
|
|
6
6
|
//#region src/settings/types.d.ts
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { r as getDb } from "./loader-
|
|
1
|
+
import { r as getDb } from "./loader-WHf22FwU.mjs";
|
|
2
2
|
import { r as requestCached } from "./request-cache-CBFjCwSt.mjs";
|
|
3
|
-
import { t as getWidgetComponents$1 } from "./components-
|
|
3
|
+
import { t as getWidgetComponents$1 } from "./components-D0w9MzQe.mjs";
|
|
4
4
|
|
|
5
5
|
//#region src/widgets/index.ts
|
|
6
6
|
/**
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "dineway",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.3",
|
|
4
4
|
"description": "Agentic Website builder for restaurants — structured content meets AI via the Model Context Protocol",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"publishConfig": {
|
|
@@ -217,6 +217,8 @@
|
|
|
217
217
|
"#plugins/*": "./src/plugins/*",
|
|
218
218
|
"#media/*": "./src/media/*",
|
|
219
219
|
"#mcp/*": "./src/mcp/*",
|
|
220
|
+
"#dineway-tools/*": "./src/dineway-tools/*",
|
|
221
|
+
"#integration-credentials/*": "./src/integration-credentials/*",
|
|
220
222
|
"#comments/*": "./src/comments/*",
|
|
221
223
|
"#config/*": "./src/config/*",
|
|
222
224
|
"#site-context/*": "./src/site-context/*",
|
|
@@ -347,7 +349,7 @@
|
|
|
347
349
|
}
|
|
348
350
|
},
|
|
349
351
|
"dependencies": {
|
|
350
|
-
"@forgeway/sdk": "^1.1.
|
|
352
|
+
"@forgeway/sdk": "^1.1.3",
|
|
351
353
|
"@cloudflare/kumo": "2.6.0",
|
|
352
354
|
"@floating-ui/react": "^0.27.16",
|
|
353
355
|
"@modelcontextprotocol/sdk": "^1.26.0",
|
|
@@ -385,9 +387,9 @@
|
|
|
385
387
|
"ulidx": "^2.4.1",
|
|
386
388
|
"upng-js": "^2.1.0",
|
|
387
389
|
"zod": "^4.4.1",
|
|
388
|
-
"@dineway-ai/admin": "^0.2.
|
|
389
|
-
"@dineway-ai/
|
|
390
|
-
"@dineway-ai/
|
|
390
|
+
"@dineway-ai/admin": "^0.2.2",
|
|
391
|
+
"@dineway-ai/gutenberg-to-portable-text": "^0.2.2",
|
|
392
|
+
"@dineway-ai/auth": "^0.2.4"
|
|
391
393
|
},
|
|
392
394
|
"optionalDependencies": {
|
|
393
395
|
"@aws-sdk/client-s3": "^3.1049.0",
|
|
@@ -416,7 +418,7 @@
|
|
|
416
418
|
"vite": "^6.0.0",
|
|
417
419
|
"vitest": "^4.0.18",
|
|
418
420
|
"zod-openapi": "^5.4.6",
|
|
419
|
-
"@dineway-ai/blocks": "^0.2.
|
|
421
|
+
"@dineway-ai/blocks": "^0.2.4"
|
|
420
422
|
},
|
|
421
423
|
"keywords": [
|
|
422
424
|
"astro",
|