@dani-builder/strapi-plugin-builder 0.6.0 → 0.8.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.
Files changed (31) hide show
  1. package/dist/server/src/config/builder.d.ts +6 -2
  2. package/dist/server/src/config/builder.d.ts.map +1 -1
  3. package/dist/server/src/config/builder.js +7 -1
  4. package/dist/server/src/config/builder.js.map +1 -1
  5. package/dist/server/src/config/index.d.ts +3 -0
  6. package/dist/server/src/config/index.d.ts.map +1 -1
  7. package/dist/server/src/config/index.js +30 -1
  8. package/dist/server/src/config/index.js.map +1 -1
  9. package/dist/server/src/mcp/index.d.ts.map +1 -1
  10. package/dist/server/src/mcp/index.js +47 -2
  11. package/dist/server/src/mcp/index.js.map +1 -1
  12. package/dist/server/src/preview/handler.d.ts +39 -0
  13. package/dist/server/src/preview/handler.d.ts.map +1 -0
  14. package/dist/server/src/preview/handler.js +76 -0
  15. package/dist/server/src/preview/handler.js.map +1 -0
  16. package/dist/server/src/preview/index.d.ts +4 -0
  17. package/dist/server/src/preview/index.d.ts.map +1 -0
  18. package/dist/server/src/preview/index.js +8 -0
  19. package/dist/server/src/preview/index.js.map +1 -0
  20. package/dist/server/src/preview-token.d.ts +5 -0
  21. package/dist/server/src/preview-token.d.ts.map +1 -0
  22. package/dist/server/src/preview-token.js +55 -0
  23. package/dist/server/src/preview-token.js.map +1 -0
  24. package/dist/server/src/preview.d.ts +6 -0
  25. package/dist/server/src/preview.d.ts.map +1 -0
  26. package/dist/server/src/preview.js +38 -0
  27. package/dist/server/src/preview.js.map +1 -0
  28. package/dist/server/src/register.d.ts.map +1 -1
  29. package/dist/server/src/register.js +2 -0
  30. package/dist/server/src/register.js.map +1 -1
  31. package/package.json +9 -1
@@ -1,4 +1,9 @@
1
+ import type { BuilderPreviewConfig } from './index';
2
+ export type { BuilderPreviewConfig, BuilderPreviewDocument } from './index';
1
3
  type ConfigValue = Record<string, unknown>;
4
+ export interface BuilderPluginOptions extends ConfigValue {
5
+ preview?: BuilderPreviewConfig | false;
6
+ }
2
7
  export interface BuilderPluginConfig {
3
8
  enabled: boolean;
4
9
  config?: ConfigValue;
@@ -21,7 +26,6 @@ export interface BuilderConfigParams {
21
26
  env: BuilderEnv;
22
27
  }
23
28
  export declare function builderUpload({ env }: BuilderConfigParams): ConfigValue;
24
- export declare function builderPlugins(_params: BuilderConfigParams, builderConfig?: ConfigValue): BuilderPluginConfig;
29
+ export declare function builderPlugins(_params: BuilderConfigParams, builderConfig?: BuilderPluginOptions): BuilderPluginConfig;
25
30
  export declare function builderMiddlewares({ env, }: BuilderConfigParams): BuilderMiddlewareConfig;
26
- export {};
27
31
  //# sourceMappingURL=builder.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../../../../server/src/config/builder.ts"],"names":[],"mappings":"AAAA,KAAK,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAE3C,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,kBAAkB,CAAC;IACzB,MAAM,EAAE;QACN,qBAAqB,EAAE;YACrB,WAAW,EAAE,OAAO,CAAC;YACrB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;SACrC,CAAC;KACH,CAAC;CACH;AAED,MAAM,WAAW,UAAU;IACzB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IAClC,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAAC;IACpE,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC;CACpD;AAED,MAAM,WAAW,mBAAmB;IAClC,GAAG,EAAE,UAAU,CAAC;CACjB;AAED,wBAAgB,aAAa,CAAC,EAAE,GAAG,EAAE,EAAE,mBAAmB,GAAG,WAAW,CA+BvE;AAED,wBAAgB,cAAc,CAC5B,OAAO,EAAE,mBAAmB,EAC5B,aAAa,CAAC,EAAE,WAAW,GAC1B,mBAAmB,CAKrB;AAED,wBAAgB,kBAAkB,CAAC,EACjC,GAAG,GACJ,EAAE,mBAAmB,GAAG,uBAAuB,CAoC/C"}
1
+ {"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../../../../server/src/config/builder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AACpD,YAAY,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAC;AAE5E,KAAK,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAE3C,MAAM,WAAW,oBAAqB,SAAQ,WAAW;IACvD,OAAO,CAAC,EAAE,oBAAoB,GAAG,KAAK,CAAC;CACxC;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,kBAAkB,CAAC;IACzB,MAAM,EAAE;QACN,qBAAqB,EAAE;YACrB,WAAW,EAAE,OAAO,CAAC;YACrB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;SACrC,CAAC;KACH,CAAC;CACH;AAED,MAAM,WAAW,UAAU;IACzB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IAClC,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAAC;IACpE,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC;CACpD;AAED,MAAM,WAAW,mBAAmB;IAClC,GAAG,EAAE,UAAU,CAAC;CACjB;AAED,wBAAgB,aAAa,CAAC,EAAE,GAAG,EAAE,EAAE,mBAAmB,GAAG,WAAW,CAsCvE;AAED,wBAAgB,cAAc,CAC5B,OAAO,EAAE,mBAAmB,EAC5B,aAAa,CAAC,EAAE,oBAAoB,GACnC,mBAAmB,CAKrB;AAED,wBAAgB,kBAAkB,CAAC,EACjC,GAAG,GACJ,EAAE,mBAAmB,GAAG,uBAAuB,CAoC/C"}
@@ -8,6 +8,7 @@ function builderUpload({ env }) {
8
8
  const bucket = env('AWS_BUCKET');
9
9
  if (!bucket)
10
10
  return {};
11
+ const acl = env('AWS_ACL', 'public-read');
11
12
  return {
12
13
  provider: 'aws-s3',
13
14
  providerOptions: {
@@ -24,7 +25,12 @@ function builderUpload({ env }) {
24
25
  region: env('AWS_REGION', undefined),
25
26
  endpoint,
26
27
  forcePathStyle: env.bool('AWS_FORCE_PATH_STYLE', Boolean(endpoint)),
27
- params: { Bucket: bucket },
28
+ params: {
29
+ Bucket: bucket,
30
+ // An own undefined ACL requires @strapi/provider-upload-aws-s3 >=5.36.0.
31
+ // In 5.0–5.35, getOr fills undefined ACL values with public-read.
32
+ ACL: acl === 'none' ? undefined : acl,
33
+ },
28
34
  },
29
35
  },
30
36
  actionOptions: {
@@ -1 +1 @@
1
- {"version":3,"file":"builder.js","sourceRoot":"","sources":["../../../../server/src/config/builder.ts"],"names":[],"mappings":";;AA2BA,sCA+BC;AAED,wCAQC;AAED,gDAsCC;AAjFD,SAAgB,aAAa,CAAC,EAAE,GAAG,EAAuB;IACxD,MAAM,QAAQ,GAAG,GAAG,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;IAChD,MAAM,MAAM,GAAG,GAAG,CAAC,YAAY,CAAC,CAAC;IAEjC,IAAI,CAAC,MAAM;QAAE,OAAO,EAAE,CAAC;IAEvB,OAAO;QACL,QAAQ,EAAE,QAAQ;QAClB,eAAe,EAAE;YACf,OAAO,EAAE,GAAG,CAAC,aAAa,EAAE,SAAS,CAAC;YACtC,SAAS,EAAE;gBACT,GAAG,CAAC,GAAG,CAAC,mBAAmB,CAAC,IAAI,GAAG,CAAC,mBAAmB,CAAC;oBACtD,CAAC,CAAC;wBACE,WAAW,EAAE;4BACX,WAAW,EAAE,GAAG,CAAC,mBAAmB,CAAC;4BACrC,eAAe,EAAE,GAAG,CAAC,mBAAmB,CAAC;yBAC1C;qBACF;oBACH,CAAC,CAAC,EAAE,CAAC;gBACP,MAAM,EAAE,GAAG,CAAC,YAAY,EAAE,SAAS,CAAC;gBACpC,QAAQ;gBACR,cAAc,EAAE,GAAG,CAAC,IAAI,CAAC,sBAAsB,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;gBACnE,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE;aAC3B;SACF;QACD,aAAa,EAAE;YACb,MAAM,EAAE,EAAE;YACV,YAAY,EAAE,EAAE;YAChB,MAAM,EAAE,EAAE;SACX;KACF,CAAC;AACJ,CAAC;AAED,SAAgB,cAAc,CAC5B,OAA4B,EAC5B,aAA2B;IAE3B,OAAO;QACL,OAAO,EAAE,IAAI;QACb,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACpD,CAAC;AACJ,CAAC;AAED,SAAgB,kBAAkB,CAAC,EACjC,GAAG,GACiB;IACpB,MAAM,UAAU,GAAG;QACjB,GAAG,CAAC,aAAa,CAAC;QAClB,GAAG,CAAC,cAAc,CAAC;QACnB,GAAG,CAAC,iBAAiB,CAAC;KACvB;SACE,MAAM,CAAC,CAAC,KAAK,EAAmB,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;SAClD,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QACb,IAAI,CAAC;YACH,OAAO,IAAI,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,KAAK,EAAE,CAAC;iBAClE,IAAI,CAAC;QACV,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,OAAO;QACL,IAAI,EAAE,kBAAkB;QACxB,MAAM,EAAE;YACN,qBAAqB,EAAE;gBACrB,WAAW,EAAE,IAAI;gBACjB,UAAU,EAAE;oBACV,aAAa,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;oBACnC,SAAS,EAAE;wBACT,QAAQ;wBACR,OAAO;wBACP,OAAO;wBACP,yBAAyB;wBACzB,GAAG,UAAU;qBACd;oBACD,WAAW,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,UAAU,CAAC;oBACxD,uBAAuB,EAAE,IAAI;iBAC9B;aACF;SACF;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"builder.js","sourceRoot":"","sources":["../../../../server/src/config/builder.ts"],"names":[],"mappings":";;AAkCA,sCAsCC;AAED,wCAQC;AAED,gDAsCC;AAxFD,SAAgB,aAAa,CAAC,EAAE,GAAG,EAAuB;IACxD,MAAM,QAAQ,GAAG,GAAG,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;IAChD,MAAM,MAAM,GAAG,GAAG,CAAC,YAAY,CAAC,CAAC;IAEjC,IAAI,CAAC,MAAM;QAAE,OAAO,EAAE,CAAC;IAEvB,MAAM,GAAG,GAAG,GAAG,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;IAE1C,OAAO;QACL,QAAQ,EAAE,QAAQ;QAClB,eAAe,EAAE;YACf,OAAO,EAAE,GAAG,CAAC,aAAa,EAAE,SAAS,CAAC;YACtC,SAAS,EAAE;gBACT,GAAG,CAAC,GAAG,CAAC,mBAAmB,CAAC,IAAI,GAAG,CAAC,mBAAmB,CAAC;oBACtD,CAAC,CAAC;wBACE,WAAW,EAAE;4BACX,WAAW,EAAE,GAAG,CAAC,mBAAmB,CAAC;4BACrC,eAAe,EAAE,GAAG,CAAC,mBAAmB,CAAC;yBAC1C;qBACF;oBACH,CAAC,CAAC,EAAE,CAAC;gBACP,MAAM,EAAE,GAAG,CAAC,YAAY,EAAE,SAAS,CAAC;gBACpC,QAAQ;gBACR,cAAc,EAAE,GAAG,CAAC,IAAI,CAAC,sBAAsB,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;gBACnE,MAAM,EAAE;oBACN,MAAM,EAAE,MAAM;oBACd,yEAAyE;oBACzE,kEAAkE;oBAClE,GAAG,EAAE,GAAG,KAAK,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG;iBACtC;aACF;SACF;QACD,aAAa,EAAE;YACb,MAAM,EAAE,EAAE;YACV,YAAY,EAAE,EAAE;YAChB,MAAM,EAAE,EAAE;SACX;KACF,CAAC;AACJ,CAAC;AAED,SAAgB,cAAc,CAC5B,OAA4B,EAC5B,aAAoC;IAEpC,OAAO;QACL,OAAO,EAAE,IAAI;QACb,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACpD,CAAC;AACJ,CAAC;AAED,SAAgB,kBAAkB,CAAC,EACjC,GAAG,GACiB;IACpB,MAAM,UAAU,GAAG;QACjB,GAAG,CAAC,aAAa,CAAC;QAClB,GAAG,CAAC,cAAc,CAAC;QACnB,GAAG,CAAC,iBAAiB,CAAC;KACvB;SACE,MAAM,CAAC,CAAC,KAAK,EAAmB,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;SAClD,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QACb,IAAI,CAAC;YACH,OAAO,IAAI,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,KAAK,EAAE,CAAC;iBAClE,IAAI,CAAC;QACV,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,OAAO;QACL,IAAI,EAAE,kBAAkB;QACxB,MAAM,EAAE;YACN,qBAAqB,EAAE;gBACrB,WAAW,EAAE,IAAI;gBACjB,UAAU,EAAE;oBACV,aAAa,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;oBACnC,SAAS,EAAE;wBACT,QAAQ;wBACR,OAAO;wBACP,OAAO;wBACP,yBAAyB;wBACzB,GAAG,UAAU;qBACd;oBACD,WAAW,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,UAAU,CAAC;oBACxD,uBAAuB,EAAE,IAAI;iBAC9B;aACF;SACF;KACF,CAAC;AACJ,CAAC"}
@@ -1,5 +1,8 @@
1
1
  import type { BlockPopulate } from '../types';
2
+ import type { BuilderPreviewConfig } from '../preview/handler';
3
+ export type { BuilderPreviewConfig, BuilderPreviewDocument, } from '../preview/handler';
2
4
  export interface BuilderConfig {
5
+ preview?: BuilderPreviewConfig | false;
3
6
  blocks: {
4
7
  extra: Record<string, BlockPopulate>;
5
8
  includeInGlobal: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../server/src/config/index.ts"],"names":[],"mappings":"AAkCA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AA2B9C,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE;QACN,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;QACrC,eAAe,EAAE,OAAO,CAAC;KAC1B,CAAC;IACF,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KAAE,CAAC,CAAC;CACpE;AAgED,QAAA,MAAM,MAAM;eACC,aAAa;qBAUP,OAAO,GAAG,IAAI;CAmFhC,CAAC;AAEF,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../server/src/config/index.ts"],"names":[],"mappings":"AAkCA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC/D,YAAY,EACV,oBAAoB,EACpB,sBAAsB,GACvB,MAAM,oBAAoB,CAAC;AA2B5B,MAAM,WAAW,aAAa;IAC5B,OAAO,CAAC,EAAE,oBAAoB,GAAG,KAAK,CAAC;IACvC,MAAM,EAAE;QACN,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;QACrC,eAAe,EAAE,OAAO,CAAC;KAC1B,CAAC;IACF,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KAAE,CAAC,CAAC;CACpE;AAgED,QAAA,MAAM,MAAM;eACC,aAAa;qBAUP,OAAO,GAAG,IAAI;CAyIhC,CAAC;AAEF,eAAe,MAAM,CAAC"}
@@ -119,7 +119,36 @@ const config = {
119
119
  },
120
120
  validator(value) {
121
121
  requireObject(value, 'config');
122
- rejectUnknownKeys(value, ['blocks', 'components'], 'config');
122
+ rejectUnknownKeys(value, ['blocks', 'components', 'preview'], 'config');
123
+ if (value.preview !== undefined && value.preview !== false) {
124
+ requireObject(value.preview, 'config.preview');
125
+ rejectUnknownKeys(value.preview, ['siteUrl', 'secretEnv', 'resolvePath', 'uids'], 'config.preview');
126
+ if (typeof value.preview.siteUrl !== 'string')
127
+ throw new Error('[builder] preview.siteUrl is required');
128
+ const url = new URL(value.preview.siteUrl);
129
+ if (!['http:', 'https:'].includes(url.protocol) ||
130
+ url.username ||
131
+ url.password ||
132
+ url.search ||
133
+ url.hash ||
134
+ url.pathname !== '/')
135
+ throw new Error('[builder] preview.siteUrl must be an HTTP origin');
136
+ if (typeof value.preview.secretEnv !== 'string' ||
137
+ !/^[A-Z][A-Z0-9_]*$/.test(value.preview.secretEnv))
138
+ throw new Error('[builder] preview.secretEnv must name an environment variable');
139
+ if (value.preview.uids !== undefined &&
140
+ (!Array.isArray(value.preview.uids) ||
141
+ !value.preview.uids.every((uid) => typeof uid === 'string' &&
142
+ /^(api|plugin)::[a-z0-9][a-z0-9-]*\.[a-z0-9][a-z0-9-]*$/.test(uid))))
143
+ throw new Error('[builder] preview.uids must contain content-type UIDs');
144
+ if (value.preview.resolvePath !== undefined &&
145
+ typeof value.preview.resolvePath !== 'function')
146
+ throw new Error('[builder] preview.resolvePath must be a function');
147
+ if (Array.isArray(value.preview.uids) &&
148
+ value.preview.uids.length > 0 &&
149
+ typeof value.preview.resolvePath !== 'function')
150
+ throw new Error('[builder] preview.resolvePath is required when preview.uids is non-empty');
151
+ }
123
152
  requireObject(value.blocks, 'config.blocks');
124
153
  rejectUnknownKeys(value.blocks, ['extra', 'includeInGlobal'], 'config.blocks');
125
154
  requireObject(value.blocks.extra, 'config.blocks.extra');
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../server/src/config/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../server/src/config/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../server/src/mcp/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAM,KAAK,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAwE/C,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,GAAG,IAAI,CA8J5D;AAED,OAAO,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../server/src/mcp/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAM,KAAK,IAAI,EAAY,MAAM,gBAAgB,CAAC;AA8EzD,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,GAAG,IAAI,CAuN5D;AAED,OAAO,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC"}
@@ -4,6 +4,7 @@ exports.buildBlocksInputSchema = exports.buildBlockSchemaCatalog = void 0;
4
4
  exports.registerBuilderMcp = registerBuilderMcp;
5
5
  const strapi_1 = require("@strapi/strapi");
6
6
  const utils_1 = require("@strapi/utils");
7
+ const preview_1 = require("../preview");
7
8
  const schema_1 = require("./schema");
8
9
  const PAGE_UID = 'plugin::builder.page';
9
10
  const READ_ACTION = 'plugin::content-manager.explorer.read';
@@ -19,11 +20,11 @@ function ok(data) {
19
20
  structuredContent,
20
21
  };
21
22
  }
22
- function getPermissionChecker(strapi, userAbility) {
23
+ function getPermissionChecker(strapi, userAbility, model = PAGE_UID) {
23
24
  const service = strapi
24
25
  .plugin('content-manager')
25
26
  .service('permission-checker');
26
- return service.create({ userAbility, model: PAGE_UID });
27
+ return service.create({ userAbility, model });
27
28
  }
28
29
  function pageDataSchema(strapi, partial) {
29
30
  const model = strapi.contentTypes[PAGE_UID];
@@ -147,6 +148,50 @@ function registerBuilderMcp(strapi) {
147
148
  return ok(await permissions.sanitizeOutput(document));
148
149
  },
149
150
  }));
151
+ strapi.ai.mcp.registerTool(strapi_1.ai.mcp.defineTool({
152
+ name: 'get_preview_url',
153
+ title: 'Get Builder preview URL',
154
+ description: 'Returns a signed URL valid for five minutes for a saved draft of an allowed preview content type.',
155
+ telemetry: { source: 'builder', name: 'get_preview_url' },
156
+ auth: {
157
+ policies: [
158
+ { action: READ_ACTION, subject: PAGE_UID },
159
+ ...(0, preview_1.getPreviewUids)(strapi)
160
+ .slice(1)
161
+ .map((subject) => ({ action: READ_ACTION, subject })),
162
+ ],
163
+ },
164
+ resolveInputSchema: () => utils_1.z
165
+ .object({
166
+ uid: utils_1.z.enum((0, preview_1.getPreviewUids)(strapi)),
167
+ documentId: utils_1.z.string().min(1),
168
+ locale: utils_1.z.string().min(1).optional(),
169
+ })
170
+ .strict(),
171
+ resolveOutputSchema: outputSchema,
172
+ createHandler: (runtime, context) => async ({ args }) => {
173
+ if (!(0, preview_1.getPreviewUids)(runtime).includes(args.uid))
174
+ throw new utils_1.errors.ForbiddenError();
175
+ const permissions = getPermissionChecker(runtime, context.userAbility, args.uid);
176
+ if (permissions.cannot(READ_ACTION))
177
+ throw new utils_1.errors.ForbiddenError();
178
+ const document = await runtime
179
+ .documents(args.uid)
180
+ .findOne({
181
+ documentId: args.documentId,
182
+ locale: args.locale,
183
+ status: 'draft',
184
+ });
185
+ if (!document)
186
+ throw new utils_1.errors.NotFoundError('Document not found');
187
+ if (permissions.cannot(READ_ACTION, document))
188
+ throw new utils_1.errors.ForbiddenError();
189
+ const url = (0, preview_1.signPreviewDocument)(runtime, args.uid, document);
190
+ if (!url)
191
+ throw new utils_1.errors.ValidationError('Preview unavailable');
192
+ return ok({ url });
193
+ },
194
+ }));
150
195
  strapi.ai.mcp.registerResource(strapi_1.ai.mcp.defineResource({
151
196
  name: 'builder_block_schemas',
152
197
  uri: RESOURCE_URI,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../server/src/mcp/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../server/src/mcp/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,39 @@
1
+ interface PreviewStrapi {
2
+ config: {
3
+ get(key: string): unknown;
4
+ };
5
+ documents(uid: `${'api' | 'plugin'}::${string}.${string}`): {
6
+ findOne(options: {
7
+ documentId: string;
8
+ locale?: string;
9
+ status: 'draft' | 'published';
10
+ }): Promise<unknown>;
11
+ };
12
+ }
13
+ export interface BuilderPreviewDocument {
14
+ documentId: string;
15
+ slug?: string | null;
16
+ locale?: string;
17
+ [key: string]: unknown;
18
+ }
19
+ export interface BuilderPreviewConfig {
20
+ siteUrl: string;
21
+ secretEnv: string;
22
+ /** Additional content-type UIDs; Page and Article remain enabled. */
23
+ uids?: string[];
24
+ resolvePath?: (uid: string, document: BuilderPreviewDocument) => string | null;
25
+ }
26
+ export declare const PREVIEW_UIDS: readonly ["plugin::builder.page", "plugin::builder.article"];
27
+ export interface BuilderPreviewOptions {
28
+ documentId: string;
29
+ locale?: string;
30
+ status?: string;
31
+ }
32
+ export type BuilderPreviewHandler = (uid: string, options: BuilderPreviewOptions) => string | null | Promise<string | null>;
33
+ export declare function getPreviewUids(strapi: PreviewStrapi): string[];
34
+ export declare function getPreviewUrl(strapi: PreviewStrapi, uid: string, { documentId, locale, status }: BuilderPreviewOptions): Promise<string | null>;
35
+ /** Sign the exact document already authorized by the caller. */
36
+ export declare function signPreviewDocument(strapi: PreviewStrapi, uid: string, document: BuilderPreviewDocument, status?: string): string | null;
37
+ export declare function createBuilderPreviewHandler(strapi: PreviewStrapi, fallback?: BuilderPreviewHandler): BuilderPreviewHandler;
38
+ export {};
39
+ //# sourceMappingURL=handler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../../../server/src/preview/handler.ts"],"names":[],"mappings":"AAGA,UAAU,aAAa;IACrB,MAAM,EAAE;QAAE,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAAC;IACtC,SAAS,CAAC,GAAG,EAAE,GAAG,KAAK,GAAG,QAAQ,KAAK,MAAM,IAAI,MAAM,EAAE,GAAG;QAC1D,OAAO,CAAC,OAAO,EAAE;YACf,UAAU,EAAE,MAAM,CAAC;YACnB,MAAM,CAAC,EAAE,MAAM,CAAC;YAChB,MAAM,EAAE,OAAO,GAAG,WAAW,CAAC;SAC/B,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;KACtB,CAAC;CACH;AAED,MAAM,WAAW,sBAAsB;IACrC,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,qEAAqE;IACrE,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,WAAW,CAAC,EAAE,CACZ,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,sBAAsB,KAC7B,MAAM,GAAG,IAAI,CAAC;CACpB;AAED,eAAO,MAAM,YAAY,8DAGf,CAAC;AAEX,MAAM,WAAW,qBAAqB;IACpC,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,MAAM,qBAAqB,GAAG,CAClC,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,qBAAqB,KAC3B,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;AAE5C,wBAAgB,cAAc,CAAC,MAAM,EAAE,aAAa,GAAG,MAAM,EAAE,CAS9D;AAED,wBAAsB,aAAa,CACjC,MAAM,EAAE,aAAa,EACrB,GAAG,EAAE,MAAM,EACX,EAAE,UAAU,EAAE,MAAM,EAAE,MAAgB,EAAE,EAAE,qBAAqB,GAC9D,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAiBxB;AAED,gEAAgE;AAChE,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,aAAa,EACrB,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,sBAAsB,EAChC,MAAM,GAAE,MAAgB,GACvB,MAAM,GAAG,IAAI,CAkCf;AAED,wBAAgB,2BAA2B,CACzC,MAAM,EAAE,aAAa,EACrB,QAAQ,CAAC,EAAE,qBAAqB,GAC/B,qBAAqB,CAKvB"}
@@ -0,0 +1,76 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PREVIEW_UIDS = void 0;
4
+ exports.getPreviewUids = getPreviewUids;
5
+ exports.getPreviewUrl = getPreviewUrl;
6
+ exports.signPreviewDocument = signPreviewDocument;
7
+ exports.createBuilderPreviewHandler = createBuilderPreviewHandler;
8
+ const node_crypto_1 = require("node:crypto");
9
+ const preview_token_1 = require("../preview-token");
10
+ exports.PREVIEW_UIDS = [
11
+ 'plugin::builder.page',
12
+ 'plugin::builder.article',
13
+ ];
14
+ function getPreviewUids(strapi) {
15
+ const config = strapi.config.get('plugin::builder').preview;
16
+ return [
17
+ ...new Set([...exports.PREVIEW_UIDS, ...(config ? (config.uids ?? []) : [])]),
18
+ ];
19
+ }
20
+ async function getPreviewUrl(strapi, uid, { documentId, locale, status = 'draft' }) {
21
+ const config = strapi.config.get('plugin::builder').preview;
22
+ if (!config || !getPreviewUids(strapi).includes(uid))
23
+ return null;
24
+ if (status !== 'draft' && status !== 'published')
25
+ return null;
26
+ if (!process.env[config.secretEnv])
27
+ return null;
28
+ const document = (await strapi
29
+ .documents(uid)
30
+ .findOne({
31
+ documentId,
32
+ locale,
33
+ status,
34
+ }));
35
+ return document ? signPreviewDocument(strapi, uid, document, status) : null;
36
+ }
37
+ /** Sign the exact document already authorized by the caller. */
38
+ function signPreviewDocument(strapi, uid, document, status = 'draft') {
39
+ const config = strapi.config.get('plugin::builder').preview;
40
+ if (!config || !getPreviewUids(strapi).includes(uid))
41
+ return null;
42
+ if (status !== 'draft' && status !== 'published')
43
+ return null;
44
+ const secret = process.env[config.secretEnv];
45
+ if (!secret)
46
+ return null;
47
+ const isDefault = exports.PREVIEW_UIDS.some((defaultUid) => defaultUid === uid);
48
+ const path = config.resolvePath
49
+ ? config.resolvePath(uid, document)
50
+ : isDefault && document.slug
51
+ ? `${uid === 'plugin::builder.article' ? '/articles' : ''}/${encodeURIComponent(document.slug)}`
52
+ : null;
53
+ if (typeof path !== 'string' || !(0, preview_token_1.isSafePreviewPath)(path))
54
+ return null;
55
+ const payload = Buffer.from(JSON.stringify({
56
+ path,
57
+ status,
58
+ exp: Math.floor(Date.now() / 1000) + preview_token_1.PREVIEW_TTL_SECONDS,
59
+ })).toString('base64url');
60
+ const signature = (0, node_crypto_1.createHmac)('sha256', secret)
61
+ .update(payload)
62
+ .digest('base64url');
63
+ const url = new URL('/api/preview', config.siteUrl);
64
+ url.search = new URLSearchParams({
65
+ token: `${payload}.${signature}`,
66
+ path,
67
+ status,
68
+ }).toString();
69
+ return url.toString();
70
+ }
71
+ function createBuilderPreviewHandler(strapi, fallback) {
72
+ return (uid, options) => getPreviewUids(strapi).includes(uid)
73
+ ? getPreviewUrl(strapi, uid, options)
74
+ : (fallback?.(uid, options) ?? null);
75
+ }
76
+ //# sourceMappingURL=handler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../../server/src/preview/handler.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export { createBuilderPreviewHandler } from './handler';
2
+ export type { BuilderPreviewHandler, BuilderPreviewOptions } from './handler';
3
+ export { verifyPreviewToken } from '../preview-token';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../server/src/preview/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,MAAM,WAAW,CAAC;AACxD,YAAY,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAC;AAC9E,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC"}
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.verifyPreviewToken = exports.createBuilderPreviewHandler = void 0;
4
+ var handler_1 = require("./handler");
5
+ Object.defineProperty(exports, "createBuilderPreviewHandler", { enumerable: true, get: function () { return handler_1.createBuilderPreviewHandler; } });
6
+ var preview_token_1 = require("../preview-token");
7
+ Object.defineProperty(exports, "verifyPreviewToken", { enumerable: true, get: function () { return preview_token_1.verifyPreviewToken; } });
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../server/src/preview/index.ts"],"names":[],"mappings":";;;AAAA,qCAAwD;AAA/C,sHAAA,2BAA2B,OAAA;AAEpC,kDAAsD;AAA7C,mHAAA,kBAAkB,OAAA"}
@@ -0,0 +1,5 @@
1
+ export declare const PREVIEW_TTL_SECONDS = 300;
2
+ export declare function isSafePreviewPath(path: string): boolean;
3
+ /** Verify the server-only shared key and bind both redirect and draft status. */
4
+ export declare function verifyPreviewToken(token: string | null, path: string | null, status: string | null, secret?: string | undefined, now?: number): boolean;
5
+ //# sourceMappingURL=preview-token.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"preview-token.d.ts","sourceRoot":"","sources":["../../../server/src/preview-token.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,mBAAmB,MAAM,CAAC;AAEvC,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAQvD;AAED,iFAAiF;AACjF,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,MAAM,GAAG,IAAI,EACpB,IAAI,EAAE,MAAM,GAAG,IAAI,EACnB,MAAM,EAAE,MAAM,GAAG,IAAI,EACrB,MAAM,qBAA6B,EACnC,GAAG,SAAa,GACf,OAAO,CA6CT"}
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PREVIEW_TTL_SECONDS = void 0;
4
+ exports.isSafePreviewPath = isSafePreviewPath;
5
+ exports.verifyPreviewToken = verifyPreviewToken;
6
+ const node_crypto_1 = require("node:crypto");
7
+ exports.PREVIEW_TTL_SECONDS = 300;
8
+ function isSafePreviewPath(path) {
9
+ return (path.startsWith('/') &&
10
+ !path.startsWith('//') &&
11
+ !/[\\#]/.test(path) &&
12
+ !Array.from(path).some((character) => character.charCodeAt(0) <= 32) &&
13
+ !/%(?:2f|5c|0[0-9a-f]|1[0-9a-f]|20)/i.test(path));
14
+ }
15
+ /** Verify the server-only shared key and bind both redirect and draft status. */
16
+ function verifyPreviewToken(token, path, status, secret = process.env.PREVIEW_SECRET, now = Date.now()) {
17
+ if (!secret ||
18
+ !token ||
19
+ !path ||
20
+ !['draft', 'published'].includes(status ?? ''))
21
+ return false;
22
+ if (!isSafePreviewPath(path))
23
+ return false;
24
+ const parts = token.split('.');
25
+ const payload = parts[0];
26
+ const signature = parts[1];
27
+ if (parts.length !== 2 ||
28
+ !payload ||
29
+ !signature ||
30
+ !/^[A-Za-z0-9_-]+$/.test(payload) ||
31
+ !/^[A-Za-z0-9_-]{43}$/.test(signature))
32
+ return false;
33
+ const expected = (0, node_crypto_1.createHmac)('sha256', secret).update(payload).digest();
34
+ const provided = Buffer.from(signature, 'base64url');
35
+ if (provided.length !== expected.length ||
36
+ !(0, node_crypto_1.timingSafeEqual)(provided, expected))
37
+ return false;
38
+ try {
39
+ const claims = JSON.parse(Buffer.from(payload, 'base64url').toString('utf8'));
40
+ if (typeof claims !== 'object' || claims === null)
41
+ return false;
42
+ const value = claims;
43
+ const seconds = Math.floor(now / 1000);
44
+ return (value.path === path &&
45
+ value.status === status &&
46
+ typeof value.exp === 'number' &&
47
+ Number.isInteger(value.exp) &&
48
+ value.exp > seconds &&
49
+ value.exp <= seconds + exports.PREVIEW_TTL_SECONDS);
50
+ }
51
+ catch {
52
+ return false;
53
+ }
54
+ }
55
+ //# sourceMappingURL=preview-token.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"preview-token.js","sourceRoot":"","sources":["../../../server/src/preview-token.ts"],"names":[],"mappings":";;;AAIA,8CAQC;AAGD,gDAmDC;AAlED,6CAA0D;AAE7C,QAAA,mBAAmB,GAAG,GAAG,CAAC;AAEvC,SAAgB,iBAAiB,CAAC,IAAY;IAC5C,OAAO,CACL,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;QACpB,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QACtB,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACpE,CAAC,oCAAoC,CAAC,IAAI,CAAC,IAAI,CAAC,CACjD,CAAC;AACJ,CAAC;AAED,iFAAiF;AACjF,SAAgB,kBAAkB,CAChC,KAAoB,EACpB,IAAmB,EACnB,MAAqB,EACrB,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,EACnC,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE;IAEhB,IACE,CAAC,MAAM;QACP,CAAC,KAAK;QACN,CAAC,IAAI;QACL,CAAC,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,MAAM,IAAI,EAAE,CAAC;QAE9C,OAAO,KAAK,CAAC;IACf,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IAC3C,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC/B,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IACzB,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IAC3B,IACE,KAAK,CAAC,MAAM,KAAK,CAAC;QAClB,CAAC,OAAO;QACR,CAAC,SAAS;QACV,CAAC,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC;QACjC,CAAC,qBAAqB,CAAC,IAAI,CAAC,SAAS,CAAC;QAEtC,OAAO,KAAK,CAAC;IACf,MAAM,QAAQ,GAAG,IAAA,wBAAU,EAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC;IACvE,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;IACrD,IACE,QAAQ,CAAC,MAAM,KAAK,QAAQ,CAAC,MAAM;QACnC,CAAC,IAAA,6BAAe,EAAC,QAAQ,EAAE,QAAQ,CAAC;QAEpC,OAAO,KAAK,CAAC;IACf,IAAI,CAAC;QACH,MAAM,MAAM,GAAY,IAAI,CAAC,KAAK,CAChC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CACnD,CAAC;QACF,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI;YAAE,OAAO,KAAK,CAAC;QAChE,MAAM,KAAK,GAAG,MAAiC,CAAC;QAChD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC;QACvC,OAAO,CACL,KAAK,CAAC,IAAI,KAAK,IAAI;YACnB,KAAK,CAAC,MAAM,KAAK,MAAM;YACvB,OAAO,KAAK,CAAC,GAAG,KAAK,QAAQ;YAC7B,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC;YAC3B,KAAK,CAAC,GAAG,GAAG,OAAO;YACnB,KAAK,CAAC,GAAG,IAAI,OAAO,GAAG,2BAAmB,CAC3C,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC"}
@@ -0,0 +1,6 @@
1
+ import type { Core } from '@strapi/strapi';
2
+ export { createBuilderPreviewHandler, getPreviewUids, getPreviewUrl, signPreviewDocument, PREVIEW_UIDS, } from './preview/handler';
3
+ export type { BuilderPreviewHandler, BuilderPreviewOptions, } from './preview/handler';
4
+ export { isSafePreviewPath, PREVIEW_TTL_SECONDS, verifyPreviewToken, } from './preview-token';
5
+ export declare function registerBuilderPreview(strapi: Core.Strapi): void;
6
+ //# sourceMappingURL=preview.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"preview.d.ts","sourceRoot":"","sources":["../../../server/src/preview.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAK3C,OAAO,EACL,2BAA2B,EAC3B,cAAc,EACd,aAAa,EACb,mBAAmB,EACnB,YAAY,GACb,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EACV,qBAAqB,EACrB,qBAAqB,GACtB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,iBAAiB,CAAC;AAEzB,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,GAAG,IAAI,CA6BhE"}
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.verifyPreviewToken = exports.PREVIEW_TTL_SECONDS = exports.isSafePreviewPath = exports.PREVIEW_UIDS = exports.signPreviewDocument = exports.getPreviewUrl = exports.getPreviewUids = exports.createBuilderPreviewHandler = void 0;
4
+ exports.registerBuilderPreview = registerBuilderPreview;
5
+ const handler_1 = require("./preview/handler");
6
+ var handler_2 = require("./preview/handler");
7
+ Object.defineProperty(exports, "createBuilderPreviewHandler", { enumerable: true, get: function () { return handler_2.createBuilderPreviewHandler; } });
8
+ Object.defineProperty(exports, "getPreviewUids", { enumerable: true, get: function () { return handler_2.getPreviewUids; } });
9
+ Object.defineProperty(exports, "getPreviewUrl", { enumerable: true, get: function () { return handler_2.getPreviewUrl; } });
10
+ Object.defineProperty(exports, "signPreviewDocument", { enumerable: true, get: function () { return handler_2.signPreviewDocument; } });
11
+ Object.defineProperty(exports, "PREVIEW_UIDS", { enumerable: true, get: function () { return handler_2.PREVIEW_UIDS; } });
12
+ var preview_token_1 = require("./preview-token");
13
+ Object.defineProperty(exports, "isSafePreviewPath", { enumerable: true, get: function () { return preview_token_1.isSafePreviewPath; } });
14
+ Object.defineProperty(exports, "PREVIEW_TTL_SECONDS", { enumerable: true, get: function () { return preview_token_1.PREVIEW_TTL_SECONDS; } });
15
+ Object.defineProperty(exports, "verifyPreviewToken", { enumerable: true, get: function () { return preview_token_1.verifyPreviewToken; } });
16
+ function registerBuilderPreview(strapi) {
17
+ const config = strapi.config.get('plugin::builder')
18
+ .preview;
19
+ if (!config)
20
+ return;
21
+ const existing = strapi.config.get('admin.preview');
22
+ strapi.config.set('admin.preview', {
23
+ ...existing,
24
+ enabled: true,
25
+ config: {
26
+ ...existing?.config,
27
+ allowedOrigins: [
28
+ ...new Set([
29
+ ...(existing?.config?.allowedOrigins ?? []),
30
+ new URL(config.siteUrl).origin,
31
+ ]),
32
+ ],
33
+ handler: (0, handler_1.createBuilderPreviewHandler)(strapi, existing?.config?.handler),
34
+ },
35
+ });
36
+ strapi.plugin('content-manager').service('preview-config').register();
37
+ }
38
+ //# sourceMappingURL=preview.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"preview.js","sourceRoot":"","sources":["../../../server/src/preview.ts"],"names":[],"mappings":";;;AAsBA,wDA6BC;AAjDD,+CAAgE;AAGhE,6CAM2B;AALzB,sHAAA,2BAA2B,OAAA;AAC3B,yGAAA,cAAc,OAAA;AACd,wGAAA,aAAa,OAAA;AACb,8GAAA,mBAAmB,OAAA;AACnB,uGAAA,YAAY,OAAA;AAMd,iDAIyB;AAHvB,kHAAA,iBAAiB,OAAA;AACjB,oHAAA,mBAAmB,OAAA;AACnB,mHAAA,kBAAkB,OAAA;AAGpB,SAAgB,sBAAsB,CAAC,MAAmB;IACxD,MAAM,MAAM,GAAI,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,iBAAiB,CAAmB;SACnE,OAAO,CAAC;IACX,IAAI,CAAC,MAAM;QAAE,OAAO;IACpB,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,eAAe,CASrC,CAAC;IACd,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,eAAe,EAAE;QACjC,GAAG,QAAQ;QACX,OAAO,EAAE,IAAI;QACb,MAAM,EAAE;YACN,GAAG,QAAQ,EAAE,MAAM;YACnB,cAAc,EAAE;gBACd,GAAG,IAAI,GAAG,CAAC;oBACT,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,cAAc,IAAI,EAAE,CAAC;oBAC3C,IAAI,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM;iBAC/B,CAAC;aACH;YACD,OAAO,EAAE,IAAA,qCAA2B,EAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC;SACxE;KACF,CAAC,CAAC;IACH,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,QAAQ,EAAE,CAAC;AACxE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"register.d.ts","sourceRoot":"","sources":["../../../server/src/register.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AA+C3C;;;;GAIG;AACH,QAAA,MAAM,QAAQ,GAAI,YAAY;IAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAA;CAAE,SA4GpD,CAAC;AAEF,eAAe,QAAQ,CAAC"}
1
+ {"version":3,"file":"register.d.ts","sourceRoot":"","sources":["../../../server/src/register.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAgD3C;;;;GAIG;AACH,QAAA,MAAM,QAAQ,GAAI,YAAY;IAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAA;CAAE,SA6GpD,CAAC;AAEF,eAAe,QAAQ,CAAC"}
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const path_1 = __importDefault(require("path"));
7
7
  const fs_1 = __importDefault(require("fs"));
8
8
  const mcp_1 = require("./mcp");
9
+ const preview_1 = require("./preview");
9
10
  const PROXY_RATE_LIMIT_WARNING = 'Rate limiting uses request.ip, but server.proxy.koa is not enabled. ' +
10
11
  'When running behind a proxy or CDN, set server: { proxy: { koa: true } } ' +
11
12
  'to prevent all clients from sharing one rate-limit bucket.';
@@ -108,6 +109,7 @@ const register = ({ strapi }) => {
108
109
  Object.assign(component.attributes, extension.attributes);
109
110
  Object.assign(component.__schema__.attributes, extension.attributes);
110
111
  }
112
+ (0, preview_1.registerBuilderPreview)(strapi);
111
113
  (0, mcp_1.registerBuilderMcp)(strapi);
112
114
  };
113
115
  exports.default = register;
@@ -1 +1 @@
1
- {"version":3,"file":"register.js","sourceRoot":"","sources":["../../../server/src/register.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"register.js","sourceRoot":"","sources":["../../../server/src/register.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dani-builder/strapi-plugin-builder",
3
- "version": "0.6.0",
3
+ "version": "0.8.0",
4
4
  "description": "Daniworks Builder — reusable CMS components, content types, and smart API for Strapi v5",
5
5
  "license": "MIT",
6
6
  "strapi": {
@@ -24,6 +24,11 @@
24
24
  "./types": {
25
25
  "types": "./dist/server/src/types/index.d.ts",
26
26
  "default": "./dist/server/src/types/index.js"
27
+ },
28
+ "./preview": {
29
+ "types": "./dist/server/src/preview/index.d.ts",
30
+ "require": "./dist/server/src/preview/index.js",
31
+ "default": "./dist/server/src/preview/index.js"
27
32
  }
28
33
  },
29
34
  "typesVersions": {
@@ -36,6 +41,9 @@
36
41
  ],
37
42
  "types": [
38
43
  "dist/server/src/types/index.d.ts"
44
+ ],
45
+ "preview": [
46
+ "dist/server/src/preview/index.d.ts"
39
47
  ]
40
48
  }
41
49
  },