chaipro 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +36 -0
- package/dist/IconPicker-I7VNLYZ4.js +5 -0
- package/dist/actions-DM00SIUk.d.cts +899 -0
- package/dist/actions-DM00SIUk.d.ts +899 -0
- package/dist/actions-registery-SEJTZE5Q.js +1 -0
- package/dist/active-in-another-tab-SONDAONP.js +1 -0
- package/dist/add-new-language-page-TI6DUYYX.js +1 -0
- package/dist/add-new-page-LBHXICXO.js +1 -0
- package/dist/ai-block-floating-prompt-input-ESY5GQLZ.js +1 -0
- package/dist/ai-panel-content-62I6FDQF.css +1 -0
- package/dist/ai-panel-content-UZJZ463W.js +1 -0
- package/dist/ai-panel-default-lang-2ZXZYQRT.js +6 -0
- package/dist/ai-panel-default-lang-ETFOFFEF.css +1 -0
- package/dist/ai-panel-for-image-LADQP6VY.js +1 -0
- package/dist/ai-panel-other-lang-WDLC3M2M.js +1 -0
- package/dist/ai-panel-page-chat-7ZISZWY4.js +4 -0
- package/dist/ai-panel-page-chat-N4YFJGAM.css +1 -0
- package/dist/ai-prompt-input-CPT5ETQ4.js +1 -0
- package/dist/ai-theme-generator-7PS4BX52.js +1 -0
- package/dist/ai-translation-prompt-3VE2ECGR.js +1 -0
- package/dist/blocks-CMvgDlxw.d.ts +72 -0
- package/dist/blocks-CP-Pngaz.d.cts +72 -0
- package/dist/build-config-CCERdThN.d.ts +80 -0
- package/dist/build-config-DrerOPd9.d.cts +80 -0
- package/dist/builder.cjs +243 -0
- package/dist/builder.css +1 -0
- package/dist/builder.d.cts +352 -0
- package/dist/builder.d.ts +352 -0
- package/dist/builder.js +1 -0
- package/dist/chaibuilder-instance-DNz3Q-dY.d.cts +579 -0
- package/dist/chaibuilder-instance-qroszVwI.d.ts +579 -0
- package/dist/change-password-modal-NJL7ZLTY.js +1 -0
- package/dist/chunk-2AFM6557.js +3 -0
- package/dist/chunk-2N4IJZOR.js +1 -0
- package/dist/chunk-2NYUIXUX.js +1 -0
- package/dist/chunk-2PJZUYIZ.js +1 -0
- package/dist/chunk-32HH35VD.js +1 -0
- package/dist/chunk-346H4FEX.js +1 -0
- package/dist/chunk-34HIOUTE.js +1 -0
- package/dist/chunk-374QEK4F.js +1 -0
- package/dist/chunk-3E72DJSP.js +1 -0
- package/dist/chunk-3IT7IIAV.js +1 -0
- package/dist/chunk-3UEPBBE4.js +11 -0
- package/dist/chunk-3XSKJBPH.js +1 -0
- package/dist/chunk-45ELAD2J.js +1 -0
- package/dist/chunk-4JBHWPMO.js +1 -0
- package/dist/chunk-4P25MV5E.js +1 -0
- package/dist/chunk-4PQNBY3V.js +1 -0
- package/dist/chunk-4VNLL2IA.js +1 -0
- package/dist/chunk-55SU3QPU.js +1 -0
- package/dist/chunk-5ZC65NB6.js +1 -0
- package/dist/chunk-6M7V7BOM.js +1 -0
- package/dist/chunk-6TXCHU4K.js +1 -0
- package/dist/chunk-777N6WHB.js +1 -0
- package/dist/chunk-7C4EQOAR.js +12 -0
- package/dist/chunk-7EXZXKW2.js +1 -0
- package/dist/chunk-7QWMLDCG.js +1 -0
- package/dist/chunk-AOJE5WI3.js +1 -0
- package/dist/chunk-ATLMLDBS.js +1 -0
- package/dist/chunk-AVGF3YLU.js +17 -0
- package/dist/chunk-BQSLQHLD.js +1 -0
- package/dist/chunk-BWORNCTE.js +1 -0
- package/dist/chunk-BYGD5CDT.js +1 -0
- package/dist/chunk-CA5PVX24.js +1 -0
- package/dist/chunk-CFNOB42V.js +1 -0
- package/dist/chunk-CJP3BQH2.js +1 -0
- package/dist/chunk-CRJENCPR.js +1 -0
- package/dist/chunk-D5SKCKSB.js +1 -0
- package/dist/chunk-DZ72OHTD.js +1 -0
- package/dist/chunk-EPGOG22Q.js +0 -0
- package/dist/chunk-ERCY63ZW.js +1 -0
- package/dist/chunk-ESCX7KEH.js +1 -0
- package/dist/chunk-F2V4N3LT.js +156 -0
- package/dist/chunk-F7YMHPEA.js +1 -0
- package/dist/chunk-FERH2TPR.js +1 -0
- package/dist/chunk-FLSV2QGU.js +1 -0
- package/dist/chunk-FOKGOT6B.js +1 -0
- package/dist/chunk-GJOOCKUE.js +1 -0
- package/dist/chunk-HA7LF3RV.js +1 -0
- package/dist/chunk-HAKJOMCL.js +1 -0
- package/dist/chunk-HEKCKC7N.js +1 -0
- package/dist/chunk-HELRVKD2.js +3 -0
- package/dist/chunk-I7ODKVVX.js +1 -0
- package/dist/chunk-IAKCX2WB.js +1 -0
- package/dist/chunk-IB2C3TWH.js +1 -0
- package/dist/chunk-IH562KSP.js +1 -0
- package/dist/chunk-IP4JBQOX.js +1 -0
- package/dist/chunk-ITX7QWN6.js +1 -0
- package/dist/chunk-IUACZ3E6.js +6 -0
- package/dist/chunk-J7Q62EP7.js +1 -0
- package/dist/chunk-JBB5IJFA.js +1 -0
- package/dist/chunk-JPJRO4NU.js +1 -0
- package/dist/chunk-JUIS55JT.js +1 -0
- package/dist/chunk-JYBTQ3YX.js +5 -0
- package/dist/chunk-K5YWQY4U.js +1 -0
- package/dist/chunk-K6RHR4HT.js +1 -0
- package/dist/chunk-LNV5MRGV.js +1 -0
- package/dist/chunk-LRJREWRD.js +1 -0
- package/dist/chunk-LWYDGDPW.js +1 -0
- package/dist/chunk-MDMGXS5B.js +1 -0
- package/dist/chunk-MEROMQQX.js +1 -0
- package/dist/chunk-N7Z4RFFI.js +1 -0
- package/dist/chunk-NSQEQYEM.js +1 -0
- package/dist/chunk-OD3K76M6.js +1 -0
- package/dist/chunk-ODSL3KXG.js +1 -0
- package/dist/chunk-OJJDRACB.js +1 -0
- package/dist/chunk-ONSZ462E.js +1 -0
- package/dist/chunk-OQZ4EPOM.js +1 -0
- package/dist/chunk-OR7KKUYT.js +1 -0
- package/dist/chunk-OSGXFZTA.js +1 -0
- package/dist/chunk-PM3JNOZH.js +1 -0
- package/dist/chunk-PQHFT4TE.js +1 -0
- package/dist/chunk-QGVCH2NI.js +1 -0
- package/dist/chunk-QIGSSVEY.js +1 -0
- package/dist/chunk-R5ZTCDFD.js +1 -0
- package/dist/chunk-RBDZDQZR.js +1 -0
- package/dist/chunk-ROQRBSK6.js +1 -0
- package/dist/chunk-SSENH35Y.js +1 -0
- package/dist/chunk-SYPALJAE.js +1 -0
- package/dist/chunk-T2YYNX6Z.js +1 -0
- package/dist/chunk-T32TW3XV.js +1 -0
- package/dist/chunk-T56KQBE2.js +1 -0
- package/dist/chunk-TEL5ACJE.js +1 -0
- package/dist/chunk-TGJQC6VC.js +1 -0
- package/dist/chunk-TQ34DGOT.js +1 -0
- package/dist/chunk-TVF77C53.js +1 -0
- package/dist/chunk-UIDBBTCZ.js +3 -0
- package/dist/chunk-VKSRWZCO.js +1 -0
- package/dist/chunk-VL5WBPVV.js +1 -0
- package/dist/chunk-VUWHFLT7.js +22 -0
- package/dist/chunk-WEVKAJMV.js +1 -0
- package/dist/chunk-WHPIYGCY.js +1 -0
- package/dist/chunk-WNESLH23.js +1 -0
- package/dist/chunk-WOT6VMZA.js +1 -0
- package/dist/chunk-WSQ5SQBD.js +1 -0
- package/dist/chunk-XY4UJKHE.js +1 -0
- package/dist/chunk-Y2BHO7OO.js +1 -0
- package/dist/chunk-YDOQEFOK.js +1 -0
- package/dist/chunk-YEFMD4DS.js +1 -0
- package/dist/chunk-YQ5QQCRD.js +1 -0
- package/dist/chunk-YQPOFRXU.js +1 -0
- package/dist/chunk-YTPQSO7V.js +801 -0
- package/dist/chunk-ZAU65LBG.js +1 -0
- package/dist/chunk-ZRFCEMYU.js +1 -0
- package/dist/chunk-ZU2B5YT6.js +1 -0
- package/dist/chunk-ZXKKBKGV.js +1 -0
- package/dist/code-display-7346IUCO.js +1 -0
- package/dist/code-editor-UBGTTX2L.js +1 -0
- package/dist/components/ui/accordion.cjs +1 -0
- package/dist/components/ui/accordion.d.cts +9 -0
- package/dist/components/ui/accordion.d.ts +9 -0
- package/dist/components/ui/accordion.js +1 -0
- package/dist/components/ui/alert-dialog.cjs +1 -0
- package/dist/components/ui/alert-dialog.d.cts +23 -0
- package/dist/components/ui/alert-dialog.d.ts +23 -0
- package/dist/components/ui/alert-dialog.js +1 -0
- package/dist/components/ui/alert.cjs +1 -0
- package/dist/components/ui/alert.d.cts +11 -0
- package/dist/components/ui/alert.d.ts +11 -0
- package/dist/components/ui/alert.js +1 -0
- package/dist/components/ui/avatar.cjs +1 -0
- package/dist/components/ui/avatar.d.cts +8 -0
- package/dist/components/ui/avatar.d.ts +8 -0
- package/dist/components/ui/avatar.js +1 -0
- package/dist/components/ui/badge.cjs +1 -0
- package/dist/components/ui/badge.d.cts +13 -0
- package/dist/components/ui/badge.d.ts +13 -0
- package/dist/components/ui/badge.js +1 -0
- package/dist/components/ui/button.cjs +1 -0
- package/dist/components/ui/button.d.cts +15 -0
- package/dist/components/ui/button.d.ts +15 -0
- package/dist/components/ui/button.js +1 -0
- package/dist/components/ui/card.cjs +1 -0
- package/dist/components/ui/card.d.cts +10 -0
- package/dist/components/ui/card.d.ts +10 -0
- package/dist/components/ui/card.js +1 -0
- package/dist/components/ui/checkbox.cjs +1 -0
- package/dist/components/ui/checkbox.d.cts +6 -0
- package/dist/components/ui/checkbox.d.ts +6 -0
- package/dist/components/ui/checkbox.js +1 -0
- package/dist/components/ui/command.cjs +1 -0
- package/dist/components/ui/command.d.cts +83 -0
- package/dist/components/ui/command.d.ts +83 -0
- package/dist/components/ui/command.js +1 -0
- package/dist/components/ui/context-menu.cjs +1 -0
- package/dist/components/ui/context-menu.d.cts +30 -0
- package/dist/components/ui/context-menu.d.ts +30 -0
- package/dist/components/ui/context-menu.js +1 -0
- package/dist/components/ui/dialog.cjs +1 -0
- package/dist/components/ui/dialog.d.cts +22 -0
- package/dist/components/ui/dialog.d.ts +22 -0
- package/dist/components/ui/dialog.js +1 -0
- package/dist/components/ui/dropdown-menu.cjs +1 -0
- package/dist/components/ui/dropdown-menu.d.cts +30 -0
- package/dist/components/ui/dropdown-menu.d.ts +30 -0
- package/dist/components/ui/dropdown-menu.js +1 -0
- package/dist/components/ui/hover-card.cjs +1 -0
- package/dist/components/ui/hover-card.d.cts +8 -0
- package/dist/components/ui/hover-card.d.ts +8 -0
- package/dist/components/ui/hover-card.js +1 -0
- package/dist/components/ui/input.cjs +1 -0
- package/dist/components/ui/input.d.cts +5 -0
- package/dist/components/ui/input.d.ts +5 -0
- package/dist/components/ui/input.js +1 -0
- package/dist/components/ui/label.cjs +1 -0
- package/dist/components/ui/label.d.cts +8 -0
- package/dist/components/ui/label.d.ts +8 -0
- package/dist/components/ui/label.js +1 -0
- package/dist/components/ui/loader.cjs +1 -0
- package/dist/components/ui/loader.d.cts +12 -0
- package/dist/components/ui/loader.d.ts +12 -0
- package/dist/components/ui/loader.js +1 -0
- package/dist/components/ui/navigation-menu.cjs +1 -0
- package/dist/components/ui/navigation-menu.d.cts +15 -0
- package/dist/components/ui/navigation-menu.d.ts +15 -0
- package/dist/components/ui/navigation-menu.js +1 -0
- package/dist/components/ui/popover.cjs +1 -0
- package/dist/components/ui/popover.d.cts +9 -0
- package/dist/components/ui/popover.d.ts +9 -0
- package/dist/components/ui/popover.js +1 -0
- package/dist/components/ui/progress.cjs +1 -0
- package/dist/components/ui/progress.d.cts +8 -0
- package/dist/components/ui/progress.d.ts +8 -0
- package/dist/components/ui/progress.js +1 -0
- package/dist/components/ui/scroll-area.cjs +1 -0
- package/dist/components/ui/scroll-area.d.cts +7 -0
- package/dist/components/ui/scroll-area.d.ts +7 -0
- package/dist/components/ui/scroll-area.js +1 -0
- package/dist/components/ui/select.cjs +1 -0
- package/dist/components/ui/select.d.cts +15 -0
- package/dist/components/ui/select.d.ts +15 -0
- package/dist/components/ui/select.js +1 -0
- package/dist/components/ui/separator.cjs +1 -0
- package/dist/components/ui/separator.d.cts +6 -0
- package/dist/components/ui/separator.d.ts +6 -0
- package/dist/components/ui/separator.js +1 -0
- package/dist/components/ui/sheet.cjs +1 -0
- package/dist/components/ui/sheet.d.cts +29 -0
- package/dist/components/ui/sheet.d.ts +29 -0
- package/dist/components/ui/sheet.js +1 -0
- package/dist/components/ui/skeleton.cjs +1 -0
- package/dist/components/ui/skeleton.d.cts +5 -0
- package/dist/components/ui/skeleton.d.ts +5 -0
- package/dist/components/ui/skeleton.js +1 -0
- package/dist/components/ui/slider.cjs +1 -0
- package/dist/components/ui/slider.d.cts +6 -0
- package/dist/components/ui/slider.d.ts +6 -0
- package/dist/components/ui/slider.js +1 -0
- package/dist/components/ui/switch.cjs +1 -0
- package/dist/components/ui/switch.d.cts +9 -0
- package/dist/components/ui/switch.d.ts +9 -0
- package/dist/components/ui/switch.js +1 -0
- package/dist/components/ui/tabs.cjs +1 -0
- package/dist/components/ui/tabs.d.cts +9 -0
- package/dist/components/ui/tabs.d.ts +9 -0
- package/dist/components/ui/tabs.js +1 -0
- package/dist/components/ui/textarea.cjs +1 -0
- package/dist/components/ui/textarea.d.cts +5 -0
- package/dist/components/ui/textarea.d.ts +5 -0
- package/dist/components/ui/textarea.js +1 -0
- package/dist/components/ui/toggle.cjs +1 -0
- package/dist/components/ui/toggle.d.cts +15 -0
- package/dist/components/ui/toggle.d.ts +15 -0
- package/dist/components/ui/toggle.js +1 -0
- package/dist/components/ui/tooltip.cjs +1 -0
- package/dist/components/ui/tooltip.d.cts +9 -0
- package/dist/components/ui/tooltip.d.ts +9 -0
- package/dist/components/ui/tooltip.js +1 -0
- package/dist/config-registry-RSJCAKY5.js +1 -0
- package/dist/continue-editing-in-this-client-QBMOFRLL.js +1 -0
- package/dist/core-BNe4bA6z.d.cts +5455 -0
- package/dist/core-BNe4bA6z.d.ts +5455 -0
- package/dist/css-import-modal-NMFRQGCY.js +13 -0
- package/dist/db/better-sqlite3.cjs +1 -0
- package/dist/db/better-sqlite3.d.cts +16 -0
- package/dist/db/better-sqlite3.d.ts +16 -0
- package/dist/db/better-sqlite3.js +1 -0
- package/dist/db/d1.cjs +1 -0
- package/dist/db/d1.d.cts +17 -0
- package/dist/db/d1.d.ts +17 -0
- package/dist/db/d1.js +1 -0
- package/dist/db/libsql.cjs +1 -0
- package/dist/db/libsql.d.cts +23 -0
- package/dist/db/libsql.d.ts +23 -0
- package/dist/db/libsql.js +1 -0
- package/dist/db/node-pg.cjs +1 -0
- package/dist/db/node-pg.d.cts +21 -0
- package/dist/db/node-pg.d.ts +21 -0
- package/dist/db/node-pg.js +1 -0
- package/dist/db/postgres.cjs +1 -0
- package/dist/db/postgres.d.cts +28 -0
- package/dist/db/postgres.d.ts +28 -0
- package/dist/db/postgres.js +1 -0
- package/dist/delete-page-CGR6VXZC.css +1 -0
- package/dist/delete-page-FQYTEMBN.js +1 -0
- package/dist/digital-asset-manager-PIZMJEMX.js +1 -0
- package/dist/digital-asset-manager-PSTDGMY2.css +1 -0
- package/dist/dispatch-action-3IV56BNY.js +1 -0
- package/dist/duplicate-page-HPPMQRL3.js +1 -0
- package/dist/dynamic-page-selector-LFHJQLYY.js +1 -0
- package/dist/dynamic-page-selector-SXJQAIGL.css +1 -0
- package/dist/edit-url-panel-Q3NJCV55.js +1 -0
- package/dist/get-blocks-styles-SLZ5NDUF.js +1 -0
- package/dist/get-page-styles-Q4FWW5LX.js +1 -0
- package/dist/image-editor-PLXDYVKE.css +1 -0
- package/dist/image-editor-RSEHWRGV.js +1 -0
- package/dist/json-diff-viewer-FQYK2FUX.js +8 -0
- package/dist/lang-panel-57UGEL6B.css +1 -0
- package/dist/lang-panel-HH5LEOF4.js +1 -0
- package/dist/license-overlay-4Q525E53.js +1 -0
- package/dist/log-ai-request-LHPKU2C5.js +1 -0
- package/dist/manage-design-tokens-264H25A2.js +1 -0
- package/dist/manage-design-tokens-modal-OIWIZ53K.js +1 -0
- package/dist/mark-as-template-7TCCEMGC.js +1 -0
- package/dist/nested-path-selector-content-N4XN7QUS.js +1 -0
- package/dist/nextjs/render-client.cjs +1 -0
- package/dist/nextjs/render-client.css +1 -0
- package/dist/nextjs/render-client.d.cts +14 -0
- package/dist/nextjs/render-client.d.ts +14 -0
- package/dist/nextjs/render-client.js +1 -0
- package/dist/nextjs/render.cjs +829 -0
- package/dist/nextjs/render.d.cts +78 -0
- package/dist/nextjs/render.d.ts +78 -0
- package/dist/nextjs/render.js +1 -0
- package/dist/nextjs/server.cjs +807 -0
- package/dist/nextjs/server.d.cts +329 -0
- package/dist/nextjs/server.d.ts +329 -0
- package/dist/nextjs/server.js +1 -0
- package/dist/nextjs.cjs +1 -0
- package/dist/nextjs.d.cts +17 -0
- package/dist/nextjs.d.ts +17 -0
- package/dist/nextjs.js +1 -0
- package/dist/no-language-page-content-NQIROTIL.js +1 -0
- package/dist/no-language-page-dialog-CWG5PI7N.js +1 -0
- package/dist/page-creator-2L6L6EFV.js +1 -0
- package/dist/page-lock-7HMG34UJ.js +1 -0
- package/dist/page-locked-dialog-ACMWVAZX.js +1 -0
- package/dist/page-manager-new-SCZFNGKO.js +1 -0
- package/dist/page-manager-new-VWRASZTI.css +1 -0
- package/dist/page-manager-search-and-filter-7CHPYAPV.js +1 -0
- package/dist/page-manager-sheet-KZZBKQ6M.js +1 -0
- package/dist/page-manager-sheet-U5YEB5CS.css +1 -0
- package/dist/page-revisions-content-DHPEQ4CA.js +1 -0
- package/dist/page-revisions-trigger-XGC4HOTL.js +1 -0
- package/dist/pages-DlMX1Lj2.d.cts +21 -0
- package/dist/pages-Dol4CXrN.d.ts +21 -0
- package/dist/payload/builder.cjs +243 -0
- package/dist/payload/builder.css +1 -0
- package/dist/payload/builder.d.cts +13 -0
- package/dist/payload/builder.d.ts +13 -0
- package/dist/payload/builder.js +1 -0
- package/dist/payload.cjs +807 -0
- package/dist/payload.d.cts +603 -0
- package/dist/payload.d.ts +603 -0
- package/dist/payload.js +1 -0
- package/dist/preview-banner-SDDZGGRW.js +1 -0
- package/dist/publish-pages-content-3AZ45DYH.js +1 -0
- package/dist/registry.cjs +11 -0
- package/dist/registry.d.cts +74 -0
- package/dist/registry.d.ts +74 -0
- package/dist/registry.js +1 -0
- package/dist/relations-DDBTFCMR.js +1 -0
- package/dist/revalidate-G2DEOH4Z.js +1 -0
- package/dist/rte-widget-modal-7RXFEYHK.js +1 -0
- package/dist/save-to-lib-65EGTZE5.js +1 -0
- package/dist/schema-IVNMPI4V.js +1 -0
- package/dist/schema.sqlite-CYBLikNv.d.cts +5852 -0
- package/dist/schema.sqlite-CYBLikNv.d.ts +5852 -0
- package/dist/seo-panel-WQ47FNP4.css +1 -0
- package/dist/seo-panel-Z6OBXHQ4.js +2 -0
- package/dist/server-config-b29G6_aQ.d.cts +116 -0
- package/dist/server-config-oPlt3V1X.d.ts +116 -0
- package/dist/state-RAP56WXS.js +1 -0
- package/dist/take-over-request-EB464ZGU.js +1 -0
- package/dist/translation-warning-modal-EES6I2QV.js +1 -0
- package/dist/types.cjs +1 -0
- package/dist/types.d.cts +38 -0
- package/dist/types.d.ts +38 -0
- package/dist/types.js +1 -0
- package/dist/unmark-as-template-6STMTBP5.js +1 -0
- package/dist/unpublish-page-CE3CJK5C.js +1 -0
- package/dist/unpublished-partials-modal-OZBWBCLN.js +1 -0
- package/dist/utils.cjs +1 -0
- package/dist/utils.d.cts +168 -0
- package/dist/utils.d.ts +168 -0
- package/dist/utils.js +1 -0
- package/dist/web-blocks.cjs +1 -0
- package/dist/web-blocks.d.cts +3 -0
- package/dist/web-blocks.d.ts +3 -0
- package/dist/web-blocks.js +1 -0
- package/dist/web-preview-EIWOXGPY.js +1 -0
- package/package.json +322 -0
|
@@ -0,0 +1,603 @@
|
|
|
1
|
+
import * as payload from 'payload';
|
|
2
|
+
import { PayloadRequest, Plugin, Field, CollectionConfig, Access, SanitizedConfig, Where, Payload, CollectionSlug } from 'payload';
|
|
3
|
+
import { h as ResolvedChaiBuilderServerConfig, C as ChaiBuilderServerConfigInput } from './server-config-b29G6_aQ.cjs';
|
|
4
|
+
import { M as ChaiIncomingRequest, L as ChaiGlobalDataProvider, V as ChaiPageTypeEntry, a6 as ChaiTrashEntry, C as ChaiAction, a7 as ChaiTrashableEntity } from './actions-DM00SIUk.cjs';
|
|
5
|
+
import { B as BuildChaiBuilderConfigOptions, C as ChaiBaseAction } from './build-config-DrerOPd9.cjs';
|
|
6
|
+
import { z } from 'zod';
|
|
7
|
+
import 'ai';
|
|
8
|
+
import './core-BNe4bA6z.cjs';
|
|
9
|
+
import 'drizzle-orm/pg-core';
|
|
10
|
+
import '@rjsf/utils';
|
|
11
|
+
import 'react';
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* Resolves the multi-app (tenant) id. Optionally request-aware so hosts can
|
|
15
|
+
* derive the id from headers/domain/user instead of a fixed env value.
|
|
16
|
+
*/
|
|
17
|
+
type GetAppId = (args?: {
|
|
18
|
+
req?: PayloadRequest;
|
|
19
|
+
}) => string | Promise<string>;
|
|
20
|
+
/**
|
|
21
|
+
* Default app id from env. Hosts may override via {@link registerAppIdResolver}
|
|
22
|
+
* (set by {@link chaiBuilderPlugin}) or {@link configureChaiPayload} when the id
|
|
23
|
+
* comes from elsewhere.
|
|
24
|
+
*/
|
|
25
|
+
declare function defaultGetAppId(): string;
|
|
26
|
+
/** Register the host app-id resolver. `undefined` leaves the env default in place. */
|
|
27
|
+
declare function registerAppIdResolver(resolver: GetAppId | undefined): void;
|
|
28
|
+
/**
|
|
29
|
+
* Single source of the app id for fields, access, filterOptions, menus, and the
|
|
30
|
+
* builder runtime fallback. Pass `req` where available so a request-aware
|
|
31
|
+
* resolver can use it.
|
|
32
|
+
*/
|
|
33
|
+
declare function resolveAppId(args?: {
|
|
34
|
+
req?: PayloadRequest;
|
|
35
|
+
}): string | Promise<string>;
|
|
36
|
+
|
|
37
|
+
type ChaiBuilderPluginOptions = {
|
|
38
|
+
/** Multi-app scoping field name injected onto scoped collections. Default `'app'`. */
|
|
39
|
+
appField?: string;
|
|
40
|
+
/**
|
|
41
|
+
* Collection slugs that receive the ChaiBuilder fields (iframe UI + `app` field),
|
|
42
|
+
* app-scoped access, and relationship filterOptions (AND-ed with any host
|
|
43
|
+
* access). Menus always gets these.
|
|
44
|
+
*/
|
|
45
|
+
appCollections?: string[];
|
|
46
|
+
/**
|
|
47
|
+
* App-id resolver. Registered process-wide for fields, access, filterOptions,
|
|
48
|
+
* menus, and the builder runtime. Defaults to env `CHAIBUILDER_APP_KEY`.
|
|
49
|
+
*/
|
|
50
|
+
getAppId?: GetAppId;
|
|
51
|
+
/** Show the Menus collection in the Payload admin nav (collection always registered). Default `false`. */
|
|
52
|
+
menus?: boolean;
|
|
53
|
+
/** Payload collections that back Chai page types — revalidate hooks are auto-attached. */
|
|
54
|
+
revalidateCollections?: string[];
|
|
55
|
+
/** Slug of the media collection backing the builder asset manager. */
|
|
56
|
+
mediaSlug?: string;
|
|
57
|
+
};
|
|
58
|
+
/**
|
|
59
|
+
* Payload plugin wiring ChaiBuilder concerns into the Payload config:
|
|
60
|
+
* - registers the host `getAppId` resolver process-wide
|
|
61
|
+
* - always registers the Menus collection (`menus` only toggles admin visibility)
|
|
62
|
+
* - injects iframe + `app` fields onto `appCollections` (and Menus)
|
|
63
|
+
* - AND-s app-scoped access + relationship filterOptions onto those collections
|
|
64
|
+
* - attaches publish revalidation hooks to the listed page-type collections
|
|
65
|
+
* - validates the adapter contract (media collection present, app scoping
|
|
66
|
+
* field on revalidated collections) with early, explicit errors
|
|
67
|
+
*
|
|
68
|
+
* Note: the drizzle schema merge cannot live in a plugin (it must exist at
|
|
69
|
+
* adapter creation) — see `chaiBuilderSchemaHook`. The shared-pool postgres
|
|
70
|
+
* adapter is host infrastructure and lives in the host app (`@/db`).
|
|
71
|
+
*/
|
|
72
|
+
declare function chaiBuilderPlugin(options?: ChaiBuilderPluginOptions): Plugin;
|
|
73
|
+
|
|
74
|
+
/**
|
|
75
|
+
* Shared fields prepended onto app-scoped Payload collections by
|
|
76
|
+
* {@link chaiBuilderPlugin} via `appCollections`:
|
|
77
|
+
* - iframe save/close bridge UI (embed admin)
|
|
78
|
+
* - hidden multi-app `app` scoping field (name configurable via `appField`)
|
|
79
|
+
*/
|
|
80
|
+
declare function createChaiBuilderFields(opts?: {
|
|
81
|
+
appField?: string;
|
|
82
|
+
}): Field[];
|
|
83
|
+
/** Default instance (app field named `app`). Used by the Menus collection. */
|
|
84
|
+
declare const chaiBuilderFields: Field[];
|
|
85
|
+
|
|
86
|
+
/**
|
|
87
|
+
* Wrap an access function so results are always AND-ed with the app filter.
|
|
88
|
+
* `false` stays denied; `true` becomes the app Where; Where clauses are merged.
|
|
89
|
+
*/
|
|
90
|
+
declare function withAppIdAccess(access: Access | undefined, appField?: string): Access;
|
|
91
|
+
/**
|
|
92
|
+
* Admin list + Lexical internal-link picker filter for the current app.
|
|
93
|
+
* Access alone is not enough here — Payload applies `admin.baseFilter` in the
|
|
94
|
+
* list view and relationship pickers (same pattern as the multi-tenant plugin).
|
|
95
|
+
*/
|
|
96
|
+
declare function withAppBaseFilter(collection: CollectionConfig, appField?: string): CollectionConfig;
|
|
97
|
+
/**
|
|
98
|
+
* Allow create only when this app has no row yet (singleton per app).
|
|
99
|
+
* Use for collections like `site-config` that are one doc per tenant.
|
|
100
|
+
*/
|
|
101
|
+
declare function createAppScopedSingletonCreate(collection: string, options?: {
|
|
102
|
+
appField?: string;
|
|
103
|
+
/** Role gate before the singleton check. Defaults to authenticated. */
|
|
104
|
+
roleAccess?: Access;
|
|
105
|
+
}): Access;
|
|
106
|
+
/**
|
|
107
|
+
* Default multi-app access for app-scoped collections.
|
|
108
|
+
* - create: authenticated
|
|
109
|
+
* - read/update/delete: constrained to current app
|
|
110
|
+
* - anonymous read: published-only when `drafts` is true
|
|
111
|
+
*/
|
|
112
|
+
declare function createAppScopedAccess(options?: {
|
|
113
|
+
appField?: string;
|
|
114
|
+
/** When true, anonymous reads are limited to `_status: published`. */
|
|
115
|
+
drafts?: boolean;
|
|
116
|
+
}): NonNullable<CollectionConfig['access']>;
|
|
117
|
+
/**
|
|
118
|
+
* Ensure collection access always filters by app on read/update/delete.
|
|
119
|
+
* Preserves host create/read/update/delete logic when present; AND-s app scope.
|
|
120
|
+
*/
|
|
121
|
+
declare function withAppScopedAccess(collection: CollectionConfig, appField?: string): CollectionConfig;
|
|
122
|
+
|
|
123
|
+
/**
|
|
124
|
+
* Inject app-scoped `filterOptions` onto every relationship/upload field in a
|
|
125
|
+
* collection whose target is an app-scoped collection. Recurses through
|
|
126
|
+
* rows/groups/collapsibles/arrays, tabs, and blocks.
|
|
127
|
+
*/
|
|
128
|
+
declare function injectAppFilterOptions(collection: CollectionConfig, opts: {
|
|
129
|
+
appField: string;
|
|
130
|
+
appSlugs: ReadonlySet<string>;
|
|
131
|
+
}): CollectionConfig;
|
|
132
|
+
|
|
133
|
+
/**
|
|
134
|
+
* Structural shape of Payload `@payloadcms/db-postgres` `beforeSchemaInit` schema.
|
|
135
|
+
* Defined locally so DTS build works without the optional peer installed.
|
|
136
|
+
*/
|
|
137
|
+
type PayloadDrizzleSchema = {
|
|
138
|
+
tables: Record<string, unknown>;
|
|
139
|
+
relations: Record<string, unknown>;
|
|
140
|
+
[key: string]: unknown;
|
|
141
|
+
};
|
|
142
|
+
type ChaiBuilderSchemaHook = (args: {
|
|
143
|
+
schema: PayloadDrizzleSchema;
|
|
144
|
+
}) => PayloadDrizzleSchema | Promise<PayloadDrizzleSchema>;
|
|
145
|
+
/** Merges ChaiBuilder tables into Payload's Drizzle schema for migrations/push. */
|
|
146
|
+
declare const chaiBuilderSchemaHook: ChaiBuilderSchemaHook;
|
|
147
|
+
|
|
148
|
+
type MenusCollectionOptions = {
|
|
149
|
+
/** Collection slug (default 'menus'). */
|
|
150
|
+
slug?: string;
|
|
151
|
+
/** Show in admin nav. Default true when called standalone. */
|
|
152
|
+
showInAdmin?: boolean;
|
|
153
|
+
/** App-scoped access control. Defaults to app-scoped staff access. */
|
|
154
|
+
access?: {
|
|
155
|
+
create?: Access;
|
|
156
|
+
read?: Access;
|
|
157
|
+
update?: Access;
|
|
158
|
+
delete?: Access;
|
|
159
|
+
};
|
|
160
|
+
/**
|
|
161
|
+
* Cross-cutting fields prepended to the collection.
|
|
162
|
+
* Defaults to {@link chaiBuilderFields} (iframe UI + `app`).
|
|
163
|
+
*/
|
|
164
|
+
commonFields?: Field[];
|
|
165
|
+
};
|
|
166
|
+
/**
|
|
167
|
+
* Builds the ChaiBuilder Menus collection. Always registered by
|
|
168
|
+
* {@link chaiBuilderPlugin}; `showInAdmin` only toggles admin nav visibility.
|
|
169
|
+
*/
|
|
170
|
+
declare function createMenusCollection(options?: MenusCollectionOptions): CollectionConfig;
|
|
171
|
+
|
|
172
|
+
declare const menuItemsField: Field;
|
|
173
|
+
|
|
174
|
+
type MenuItemChild = {
|
|
175
|
+
type?: string | null;
|
|
176
|
+
label?: string | null;
|
|
177
|
+
url?: string | null;
|
|
178
|
+
openInNewTab?: boolean | null;
|
|
179
|
+
icon?: string | null;
|
|
180
|
+
};
|
|
181
|
+
type MenuItem = MenuItemChild & {
|
|
182
|
+
type?: string | null;
|
|
183
|
+
children?: MenuItemChild[] | null;
|
|
184
|
+
};
|
|
185
|
+
declare function validateMenuItems(items: MenuItem[] | null | undefined): string | true;
|
|
186
|
+
|
|
187
|
+
type MenuPageOption = {
|
|
188
|
+
id: string;
|
|
189
|
+
name: string;
|
|
190
|
+
slug: string;
|
|
191
|
+
};
|
|
192
|
+
|
|
193
|
+
type RevalidateCollectionItemArgs = {
|
|
194
|
+
/** Page type / Payload collection slug (e.g. "blog"). */
|
|
195
|
+
pageType: string;
|
|
196
|
+
/** Collection item slug (not full URL). */
|
|
197
|
+
itemSlug: string;
|
|
198
|
+
/** Payload locale when localized; filters template bases by lang. */
|
|
199
|
+
lang?: string;
|
|
200
|
+
};
|
|
201
|
+
declare function revalidateCollectionItem(config: ResolvedChaiBuilderServerConfig, { pageType, itemSlug, lang }: RevalidateCollectionItemArgs): Promise<{
|
|
202
|
+
paths: string[];
|
|
203
|
+
tags: string[];
|
|
204
|
+
}>;
|
|
205
|
+
|
|
206
|
+
/**
|
|
207
|
+
* Runtime Payload capabilities injected by the host app.
|
|
208
|
+
*
|
|
209
|
+
* INVARIANT: this module (and everything under `~/payload`) must only use
|
|
210
|
+
* `import type` from `payload` / `@payloadcms/*` at the top level. Runtime
|
|
211
|
+
* `getPayload` is lazy-imported from the host's peer copy inside
|
|
212
|
+
* {@link configureChaiPayload}. Never add a static `import { getPayload }` —
|
|
213
|
+
* a nested node_modules copy would create dual-module-instance bugs.
|
|
214
|
+
*/
|
|
215
|
+
type ChaiPayloadDeps = {
|
|
216
|
+
/** Host Payload config (or promise). Used to call `getPayload({ config })`. */
|
|
217
|
+
config: Promise<SanitizedConfig> | SanitizedConfig;
|
|
218
|
+
/** Multi-tenant app id. Defaults to the registered resolver (env `CHAIBUILDER_APP_KEY`). */
|
|
219
|
+
getAppId?: () => string | Promise<string>;
|
|
220
|
+
/** Builds admin URLs. Defaults to `defaultAdminUrl` (env `PAYLOAD_ADMIN_ROUTE`). */
|
|
221
|
+
adminUrl?: (...segments: string[]) => string;
|
|
222
|
+
/** URL post-processing for media (cache-bust). Defaults to `defaultGetMediaUrl`. */
|
|
223
|
+
getMediaUrl?: (url: string | null | undefined, cacheTag?: string | null) => string;
|
|
224
|
+
/** Rich text -> HTML. Defaults to lazy `@payloadcms/richtext-lexical/html-async`. */
|
|
225
|
+
richTextToHTML?: (value: unknown) => Promise<unknown>;
|
|
226
|
+
/** Collection-slug conventions (NOT collection definitions). */
|
|
227
|
+
slugs?: {
|
|
228
|
+
media?: string;
|
|
229
|
+
users?: string;
|
|
230
|
+
};
|
|
231
|
+
/** Multi-tenant scoping field name on collections. */
|
|
232
|
+
appField?: string;
|
|
233
|
+
};
|
|
234
|
+
type ResolvedChaiPayloadDeps = {
|
|
235
|
+
getPayload: () => Promise<Payload>;
|
|
236
|
+
getAppId: () => string | Promise<string>;
|
|
237
|
+
adminUrl: (...segments: string[]) => string;
|
|
238
|
+
getMediaUrl: (url: string | null | undefined, cacheTag?: string | null) => string;
|
|
239
|
+
richTextToHTML: (value: unknown) => Promise<unknown>;
|
|
240
|
+
appField: string;
|
|
241
|
+
slugs: {
|
|
242
|
+
media: string;
|
|
243
|
+
users: string;
|
|
244
|
+
};
|
|
245
|
+
};
|
|
246
|
+
/**
|
|
247
|
+
* Structural shape of a Payload media doc — stands in for the host's generated
|
|
248
|
+
* `Media` type, which cannot be imported here.
|
|
249
|
+
*/
|
|
250
|
+
type PayloadMediaLike = {
|
|
251
|
+
id: string | number;
|
|
252
|
+
alt?: unknown;
|
|
253
|
+
url?: string | null;
|
|
254
|
+
thumbnailURL?: string | null;
|
|
255
|
+
filename?: string | null;
|
|
256
|
+
mimeType?: string | null;
|
|
257
|
+
filesize?: number | null;
|
|
258
|
+
width?: number | null;
|
|
259
|
+
height?: number | null;
|
|
260
|
+
createdAt: string;
|
|
261
|
+
updatedAt: string;
|
|
262
|
+
app?: string | null;
|
|
263
|
+
deletedAt?: string | null;
|
|
264
|
+
};
|
|
265
|
+
/** Scope a Payload `where` clause to the given app (multi-tenant filter). */
|
|
266
|
+
declare function appWhere(appId: string, extra?: Where, appField?: string): Where;
|
|
267
|
+
|
|
268
|
+
type GetMediaUrl$1 = (url: string | null | undefined, cacheTag?: string | null) => string;
|
|
269
|
+
type ChaiDamAsset = {
|
|
270
|
+
id: string;
|
|
271
|
+
name: string;
|
|
272
|
+
url: string;
|
|
273
|
+
type: string;
|
|
274
|
+
size: number;
|
|
275
|
+
width?: number;
|
|
276
|
+
height?: number;
|
|
277
|
+
format?: string;
|
|
278
|
+
thumbnailUrl?: string;
|
|
279
|
+
description?: Record<string, string>;
|
|
280
|
+
createdAt: string;
|
|
281
|
+
updatedAt: string;
|
|
282
|
+
};
|
|
283
|
+
declare function appendCacheBust(url: string | null | undefined, updatedAt: string, getMediaUrl?: GetMediaUrl$1): string;
|
|
284
|
+
declare function mapPayloadMediaToDamAsset(doc: PayloadMediaLike, descriptionByLocale?: Record<string, string>, getMediaUrl?: GetMediaUrl$1): ChaiDamAsset;
|
|
285
|
+
|
|
286
|
+
/**
|
|
287
|
+
* Check if a collection has a slug field
|
|
288
|
+
*/
|
|
289
|
+
declare function hasSlugField(fields: Field[]): boolean;
|
|
290
|
+
/**
|
|
291
|
+
* Resolve collection name and plural name
|
|
292
|
+
*/
|
|
293
|
+
declare function resolveName(collection: CollectionConfig): {
|
|
294
|
+
name: string;
|
|
295
|
+
pluralName: string;
|
|
296
|
+
};
|
|
297
|
+
/**
|
|
298
|
+
* Payload page type adapter options
|
|
299
|
+
*/
|
|
300
|
+
type PayloadPageTypeOptions = {
|
|
301
|
+
name?: string;
|
|
302
|
+
pluralName?: string;
|
|
303
|
+
icon?: string;
|
|
304
|
+
helpText?: string;
|
|
305
|
+
dynamicSegments?: string;
|
|
306
|
+
dataProviderDepth?: number;
|
|
307
|
+
};
|
|
308
|
+
|
|
309
|
+
/**
|
|
310
|
+
* Payload-auth backed user identity resolution for the ChaiBuilder context
|
|
311
|
+
* resolver. The host wires this into its `setChaiContextResolver` call — this
|
|
312
|
+
* module stays free of `next/headers` (host resolves cookies/draftMode itself).
|
|
313
|
+
*/
|
|
314
|
+
declare function createPayloadUserResolver({ getPayload, cookieName, }: {
|
|
315
|
+
getPayload: () => Promise<Payload>;
|
|
316
|
+
cookieName?: string;
|
|
317
|
+
}): {
|
|
318
|
+
userIdFromToken: (token: string | undefined | null) => Promise<string | null>;
|
|
319
|
+
userIdFromRequest: (request: ChaiIncomingRequest) => Promise<string | null>;
|
|
320
|
+
cookieName: string;
|
|
321
|
+
};
|
|
322
|
+
|
|
323
|
+
type GetMediaUrl = (url: string | null | undefined, cacheTag?: string | null) => string;
|
|
324
|
+
declare function sanitizePayloadData(value: unknown, getMediaUrl?: GetMediaUrl): Promise<unknown>;
|
|
325
|
+
|
|
326
|
+
/** Default Payload / ChaiBuilder admin base path. */
|
|
327
|
+
declare const DEFAULT_ADMIN_ROUTE = "/admin";
|
|
328
|
+
/**
|
|
329
|
+
* Normalize and validate a custom admin route from env (no leading slash).
|
|
330
|
+
* Any path is allowed; must be at least 4 characters.
|
|
331
|
+
*/
|
|
332
|
+
declare function parseAdminRoute(raw?: string | null): string;
|
|
333
|
+
/** Resolved admin base path from env (server + client). */
|
|
334
|
+
declare function getAdminRoute(): string;
|
|
335
|
+
/** Join admin base path with optional segments. */
|
|
336
|
+
declare function defaultAdminUrl(...segments: string[]): string;
|
|
337
|
+
|
|
338
|
+
/**
|
|
339
|
+
* Processes media resource URL to ensure proper formatting
|
|
340
|
+
* @param url The original URL from the resource
|
|
341
|
+
* @param cacheTag Optional cache tag to append to the URL
|
|
342
|
+
* @returns Properly formatted URL with cache tag if provided
|
|
343
|
+
*
|
|
344
|
+
* Local paths (e.g. `/api/media/file/image.webp`) are kept relative so
|
|
345
|
+
* Next.js image optimization treats them as local rather than fetching
|
|
346
|
+
* through `remotePatterns`, which blocks private IPs since Next.js 16.
|
|
347
|
+
*/
|
|
348
|
+
declare const defaultGetMediaUrl: (url: string | null | undefined, cacheTag?: string | null) => string;
|
|
349
|
+
|
|
350
|
+
declare const transformRichTextToHTML: (value: unknown) => Promise<unknown>;
|
|
351
|
+
|
|
352
|
+
/** Payload collection + page-type options for {@link buildChaiBuilderConfig}. */
|
|
353
|
+
type PayloadPageTypeConfig = PayloadPageTypeOptions & {
|
|
354
|
+
collection: CollectionConfig;
|
|
355
|
+
/** Adapt as a partial type instead of a page type. */
|
|
356
|
+
partial?: boolean;
|
|
357
|
+
};
|
|
358
|
+
type ChaiPayloadBuilderConfigInput = Omit<ChaiBuilderServerConfigInput, 'globalDataProvider' | 'trash' | 'builderActions' | 'actions' | 'pageTypes' | 'collections'> & {
|
|
359
|
+
/** Host Payload config — binds Local API via {@link configureChaiPayload}. */
|
|
360
|
+
payloadConfig: ChaiPayloadDeps['config'];
|
|
361
|
+
getAppId?: ChaiPayloadDeps['getAppId'];
|
|
362
|
+
adminUrl?: ChaiPayloadDeps['adminUrl'];
|
|
363
|
+
getMediaUrl?: ChaiPayloadDeps['getMediaUrl'];
|
|
364
|
+
richTextToHTML?: ChaiPayloadDeps['richTextToHTML'];
|
|
365
|
+
slugs?: ChaiPayloadDeps['slugs'];
|
|
366
|
+
appField?: ChaiPayloadDeps['appField'];
|
|
367
|
+
/** Payload single-row collection as site-wide global data. */
|
|
368
|
+
globalProvider?: {
|
|
369
|
+
slug: CollectionSlug;
|
|
370
|
+
depth?: number;
|
|
371
|
+
};
|
|
372
|
+
/**
|
|
373
|
+
* Custom / adapted global provider. Prefer
|
|
374
|
+
* `asChaiBuilderGlobalProvider({ slug })` — safe to call before configure
|
|
375
|
+
* (deferred until this builder runs).
|
|
376
|
+
*/
|
|
377
|
+
globalDataProvider?: ChaiGlobalDataProvider;
|
|
378
|
+
/**
|
|
379
|
+
* Payload collections as page types. Adapted after `payloadConfig` binds.
|
|
380
|
+
* Use `{ collection, partial: true, …opts }` for partial types, or
|
|
381
|
+
* `asChaiBuilderPartialType(collection, opts)` (deferred-safe).
|
|
382
|
+
*/
|
|
383
|
+
pageTypes?: Array<PayloadPageTypeConfig | ChaiPageTypeEntry>;
|
|
384
|
+
/**
|
|
385
|
+
* Payload collections as ChaiBuilder data-source collections.
|
|
386
|
+
* Adapted after `payloadConfig` binds.
|
|
387
|
+
*/
|
|
388
|
+
collections?: CollectionConfig[];
|
|
389
|
+
trash?: ChaiTrashEntry[];
|
|
390
|
+
/** Include Payload media soft-delete trash entity. Default `true`. */
|
|
391
|
+
assetTrash?: boolean;
|
|
392
|
+
builderActions?: Record<string, ChaiAction<any, any>>;
|
|
393
|
+
actions?: Record<string, ChaiAction<any, any>>;
|
|
394
|
+
/** Merge `GET_CHAI_USER` action. Default `true`. */
|
|
395
|
+
includeUserActions?: boolean;
|
|
396
|
+
/** Merge DAM asset CRUD actions. Default `true`. */
|
|
397
|
+
includeAssetActions?: boolean;
|
|
398
|
+
};
|
|
399
|
+
/**
|
|
400
|
+
* Payload-aware `buildChaiBuilderConfig`. Configures payload adapters first,
|
|
401
|
+
* adapts Payload collections into page types / collections, then delegates to core.
|
|
402
|
+
*
|
|
403
|
+
* Keeps all Payload wiring inside `~/payload` — core stays CMS-agnostic.
|
|
404
|
+
*/
|
|
405
|
+
declare function buildChaiBuilderConfig<TExtra extends Record<string, unknown> = Record<never, never>>(input: ChaiPayloadBuilderConfigInput, options?: BuildChaiBuilderConfigOptions<TExtra>): Readonly<ResolvedChaiBuilderServerConfig & TExtra>;
|
|
406
|
+
|
|
407
|
+
declare class PayloadAssets {
|
|
408
|
+
private deps;
|
|
409
|
+
private appId;
|
|
410
|
+
private userId;
|
|
411
|
+
private payloadInstance;
|
|
412
|
+
constructor(deps: ResolvedChaiPayloadDeps, appId: string, userId: string);
|
|
413
|
+
private getPayload;
|
|
414
|
+
private get mediaSlug();
|
|
415
|
+
private getUser;
|
|
416
|
+
private baseWhere;
|
|
417
|
+
private getBufferFromBase64;
|
|
418
|
+
private getMimeType;
|
|
419
|
+
private sanitizeName;
|
|
420
|
+
private toDamAsset;
|
|
421
|
+
list({ search, page, limit }: {
|
|
422
|
+
search?: string;
|
|
423
|
+
page?: number;
|
|
424
|
+
limit?: number;
|
|
425
|
+
}): Promise<{
|
|
426
|
+
assets: ChaiDamAsset[];
|
|
427
|
+
total: number;
|
|
428
|
+
page: number;
|
|
429
|
+
pageSize: number;
|
|
430
|
+
}>;
|
|
431
|
+
getById(id: string): Promise<ChaiDamAsset>;
|
|
432
|
+
create({ name, file, description, }: {
|
|
433
|
+
name: string;
|
|
434
|
+
file: string;
|
|
435
|
+
description?: Record<string, string>;
|
|
436
|
+
}): Promise<ChaiDamAsset>;
|
|
437
|
+
update({ id, file, description, }: {
|
|
438
|
+
id: string;
|
|
439
|
+
file?: string;
|
|
440
|
+
description?: Record<string, string>;
|
|
441
|
+
}): Promise<ChaiDamAsset>;
|
|
442
|
+
deleteMany(ids: string[]): Promise<{
|
|
443
|
+
success: boolean;
|
|
444
|
+
}>;
|
|
445
|
+
softDelete(id: string): Promise<payload.JsonObject & payload.TypeWithID>;
|
|
446
|
+
restore(id: string): Promise<payload.JsonObject & payload.TypeWithID>;
|
|
447
|
+
deletePermanently(id: string): Promise<{
|
|
448
|
+
success: boolean;
|
|
449
|
+
}>;
|
|
450
|
+
}
|
|
451
|
+
|
|
452
|
+
declare const GetAssetsSchema: z.ZodObject<{
|
|
453
|
+
search: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
454
|
+
page: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
455
|
+
limit: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
456
|
+
}, z.core.$strip>;
|
|
457
|
+
declare const GetAssetSchema: z.ZodObject<{
|
|
458
|
+
id: z.ZodString;
|
|
459
|
+
}, z.core.$strip>;
|
|
460
|
+
declare const CreateAssetSchema: z.ZodObject<{
|
|
461
|
+
name: z.ZodString;
|
|
462
|
+
file: z.ZodString;
|
|
463
|
+
folderId: z.ZodNullable<z.ZodOptional<z.ZodString>>;
|
|
464
|
+
description: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
465
|
+
optimize: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
|
|
466
|
+
}, z.core.$strip>;
|
|
467
|
+
declare const UpdateAssetSchema: z.ZodObject<{
|
|
468
|
+
id: z.ZodString;
|
|
469
|
+
file: z.ZodOptional<z.ZodString>;
|
|
470
|
+
description: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
471
|
+
}, z.core.$strip>;
|
|
472
|
+
declare const DeleteAssetSchema: z.ZodObject<{
|
|
473
|
+
ids: z.ZodArray<z.ZodString>;
|
|
474
|
+
}, z.core.$strip>;
|
|
475
|
+
type GetAssetsInput = z.infer<typeof GetAssetsSchema>;
|
|
476
|
+
type GetAssetInput = z.infer<typeof GetAssetSchema>;
|
|
477
|
+
type CreateAssetInput = z.infer<typeof CreateAssetSchema>;
|
|
478
|
+
type UpdateAssetInput = z.infer<typeof UpdateAssetSchema>;
|
|
479
|
+
type DeleteAssetInput = z.infer<typeof DeleteAssetSchema>;
|
|
480
|
+
declare abstract class PayloadAssetBaseAction<T> extends ChaiBaseAction<T> {
|
|
481
|
+
protected deps: ResolvedChaiPayloadDeps;
|
|
482
|
+
constructor(deps: ResolvedChaiPayloadDeps);
|
|
483
|
+
protected getAssets(): PayloadAssets;
|
|
484
|
+
}
|
|
485
|
+
declare class PayloadGetAssetsAction extends PayloadAssetBaseAction<GetAssetsInput> {
|
|
486
|
+
protected getValidationSchema(): z.ZodObject<{
|
|
487
|
+
search: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
488
|
+
page: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
489
|
+
limit: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
490
|
+
}, z.core.$strip>;
|
|
491
|
+
execute(data: GetAssetsInput): Promise<{
|
|
492
|
+
assets: ChaiDamAsset[];
|
|
493
|
+
total: number;
|
|
494
|
+
page: number;
|
|
495
|
+
pageSize: number;
|
|
496
|
+
}>;
|
|
497
|
+
}
|
|
498
|
+
declare class PayloadGetAssetAction extends PayloadAssetBaseAction<GetAssetInput> {
|
|
499
|
+
protected getValidationSchema(): z.ZodObject<{
|
|
500
|
+
id: z.ZodString;
|
|
501
|
+
}, z.core.$strip>;
|
|
502
|
+
execute(data: GetAssetInput): Promise<ChaiDamAsset>;
|
|
503
|
+
}
|
|
504
|
+
declare class PayloadCreateAssetAction extends PayloadAssetBaseAction<CreateAssetInput> {
|
|
505
|
+
protected getValidationSchema(): z.ZodObject<{
|
|
506
|
+
name: z.ZodString;
|
|
507
|
+
file: z.ZodString;
|
|
508
|
+
folderId: z.ZodNullable<z.ZodOptional<z.ZodString>>;
|
|
509
|
+
description: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
510
|
+
optimize: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
|
|
511
|
+
}, z.core.$strip>;
|
|
512
|
+
execute(data: CreateAssetInput): Promise<ChaiDamAsset>;
|
|
513
|
+
}
|
|
514
|
+
declare class PayloadUpdateAssetAction extends PayloadAssetBaseAction<UpdateAssetInput> {
|
|
515
|
+
protected getValidationSchema(): z.ZodObject<{
|
|
516
|
+
id: z.ZodString;
|
|
517
|
+
file: z.ZodOptional<z.ZodString>;
|
|
518
|
+
description: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
519
|
+
}, z.core.$strip>;
|
|
520
|
+
execute(data: UpdateAssetInput): Promise<ChaiDamAsset>;
|
|
521
|
+
}
|
|
522
|
+
declare class PayloadDeleteAssetAction extends PayloadAssetBaseAction<DeleteAssetInput> {
|
|
523
|
+
protected getValidationSchema(): z.ZodObject<{
|
|
524
|
+
ids: z.ZodArray<z.ZodString>;
|
|
525
|
+
}, z.core.$strip>;
|
|
526
|
+
execute(data: DeleteAssetInput): Promise<{
|
|
527
|
+
success: boolean;
|
|
528
|
+
}>;
|
|
529
|
+
}
|
|
530
|
+
/** Ready-to-spread `builderActions` entries for asset CRUD. */
|
|
531
|
+
declare function createAssetActions(deps: ResolvedChaiPayloadDeps): {
|
|
532
|
+
GET_ASSETS: PayloadGetAssetsAction;
|
|
533
|
+
GET_ASSET: PayloadGetAssetAction;
|
|
534
|
+
CREATE_ASSET: PayloadCreateAssetAction;
|
|
535
|
+
UPDATE_ASSET: PayloadUpdateAssetAction;
|
|
536
|
+
DELETE_ASSET: PayloadDeleteAssetAction;
|
|
537
|
+
};
|
|
538
|
+
|
|
539
|
+
declare const GetChaiUserSchema: z.ZodObject<{
|
|
540
|
+
userId: z.ZodString;
|
|
541
|
+
}, z.core.$strip>;
|
|
542
|
+
type GetChaiUserInput = z.infer<typeof GetChaiUserSchema>;
|
|
543
|
+
type GetChaiUserResponse = {
|
|
544
|
+
data: {
|
|
545
|
+
id: string;
|
|
546
|
+
name: string;
|
|
547
|
+
email: string;
|
|
548
|
+
avatar: string;
|
|
549
|
+
};
|
|
550
|
+
};
|
|
551
|
+
/**
|
|
552
|
+
* Resolves ChaiBuilder user info (for the editor avatar / presence) from the
|
|
553
|
+
* Payload users collection. Payload users carry no name/avatar by default, so
|
|
554
|
+
* `name` falls back to the email and `avatar` is empty.
|
|
555
|
+
*/
|
|
556
|
+
declare class PayloadGetChaiUserAction extends ChaiBaseAction<GetChaiUserInput, GetChaiUserResponse> {
|
|
557
|
+
private deps;
|
|
558
|
+
constructor(deps: ResolvedChaiPayloadDeps);
|
|
559
|
+
protected getValidationSchema(): z.ZodObject<{
|
|
560
|
+
userId: z.ZodString;
|
|
561
|
+
}, z.core.$strip>;
|
|
562
|
+
execute(data: GetChaiUserInput): Promise<GetChaiUserResponse>;
|
|
563
|
+
}
|
|
564
|
+
/** Ready-to-spread builder user actions. */
|
|
565
|
+
declare function createUserActions(deps: ResolvedChaiPayloadDeps): {
|
|
566
|
+
GET_CHAI_USER: PayloadGetChaiUserAction;
|
|
567
|
+
};
|
|
568
|
+
|
|
569
|
+
/**
|
|
570
|
+
* Process-wide Payload adapter runtime. Separated from the barrel so
|
|
571
|
+
* {@link buildChaiBuilderConfig} can import without a circular graph.
|
|
572
|
+
*
|
|
573
|
+
* `asChaiBuilderGlobalProvider` / `asChaiBuilderPartialType` may be called while
|
|
574
|
+
* building the `buildChaiBuilderConfig({…})` argument object — before configure
|
|
575
|
+
* runs. In that case they return a deferred marker; {@link resolveDeferred*}
|
|
576
|
+
* materializes them after configure.
|
|
577
|
+
*
|
|
578
|
+
* Page types + collections are passed as Payload `CollectionConfig`s on
|
|
579
|
+
* `buildChaiBuilderConfig` and adapted after configure (no wrapper helpers).
|
|
580
|
+
*/
|
|
581
|
+
|
|
582
|
+
/**
|
|
583
|
+
* Bind the host's Payload config to the ChaiBuilder payload adapters.
|
|
584
|
+
* Prefer {@link buildChaiBuilderConfig} which calls this automatically.
|
|
585
|
+
*/
|
|
586
|
+
declare function configureChaiPayload(payloadDeps: ChaiPayloadDeps): void;
|
|
587
|
+
/** Convert a Payload collection into a ChaiBuilder partial type. */
|
|
588
|
+
declare function asChaiBuilderPartialType(collection: CollectionConfig, opts?: PayloadPageTypeOptions): ChaiPageTypeEntry;
|
|
589
|
+
/** Global data provider backed by a single-row Payload collection. */
|
|
590
|
+
declare function asChaiBuilderGlobalProvider(opts: {
|
|
591
|
+
slug: CollectionSlug;
|
|
592
|
+
depth?: number;
|
|
593
|
+
}): ChaiGlobalDataProvider;
|
|
594
|
+
/** Payload-backed DAM asset store for the given app + user. */
|
|
595
|
+
declare function chaiBuilderAssets(appId: string, userId: string): PayloadAssets;
|
|
596
|
+
/** Ready-to-spread builder asset CRUD actions. */
|
|
597
|
+
declare function chaiBuilderAssetActions(): ReturnType<typeof createAssetActions>;
|
|
598
|
+
/** Ready-to-spread builder user actions (GET_CHAI_USER). */
|
|
599
|
+
declare function chaiBuilderUserActions(): ReturnType<typeof createUserActions>;
|
|
600
|
+
/** Trash entity wiring builder asset soft-delete. */
|
|
601
|
+
declare function chaiBuilderAssetTrashEntity(): ChaiTrashableEntity;
|
|
602
|
+
|
|
603
|
+
export { BuildChaiBuilderConfigOptions, type ChaiBuilderPluginOptions, type ChaiDamAsset, type ChaiPayloadBuilderConfigInput, type ChaiPayloadDeps, DEFAULT_ADMIN_ROUTE, type GetAppId, type MenuItem, type MenuPageOption, type MenusCollectionOptions, type PayloadMediaLike, type PayloadPageTypeConfig, type PayloadPageTypeOptions, type RevalidateCollectionItemArgs, appWhere, appendCacheBust, asChaiBuilderGlobalProvider, asChaiBuilderPartialType, buildChaiBuilderConfig, chaiBuilderAssetActions, chaiBuilderAssetTrashEntity, chaiBuilderAssets, chaiBuilderFields, chaiBuilderPlugin, chaiBuilderSchemaHook, chaiBuilderUserActions, configureChaiPayload, createAppScopedAccess, createAppScopedSingletonCreate, createChaiBuilderFields, createMenusCollection, createPayloadUserResolver, defaultAdminUrl, defaultGetAppId, defaultGetMediaUrl, getAdminRoute, hasSlugField, injectAppFilterOptions, mapPayloadMediaToDamAsset, menuItemsField, parseAdminRoute, registerAppIdResolver, resolveAppId, resolveName, revalidateCollectionItem, sanitizePayloadData, transformRichTextToHTML, validateMenuItems, withAppBaseFilter, withAppIdAccess, withAppScopedAccess };
|