@dani-builder/strapi-plugin-builder 0.7.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.
@@ -1 +1 @@
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,CA+BvE;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"}
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":";;AAkCA,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,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
+ {"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,15 +1,6 @@
1
1
  import type { BlockPopulate } from '../types';
2
- export interface BuilderPreviewDocument {
3
- documentId: string;
4
- slug?: string | null;
5
- locale?: string;
6
- [key: string]: unknown;
7
- }
8
- export interface BuilderPreviewConfig {
9
- siteUrl: string;
10
- secretEnv: string;
11
- resolvePath?: (uid: string, document: BuilderPreviewDocument) => string | null;
12
- }
2
+ import type { BuilderPreviewConfig } from '../preview/handler';
3
+ export type { BuilderPreviewConfig, BuilderPreviewDocument, } from '../preview/handler';
13
4
  export interface BuilderConfig {
14
5
  preview?: BuilderPreviewConfig | false;
15
6
  blocks: {
@@ -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,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,WAAW,CAAC,EAAE,CACZ,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,sBAAsB,KAC7B,MAAM,GAAG,IAAI,CAAC;CACpB;AAED,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;CAmHhC,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"}
@@ -122,7 +122,7 @@ const config = {
122
122
  rejectUnknownKeys(value, ['blocks', 'components', 'preview'], 'config');
123
123
  if (value.preview !== undefined && value.preview !== false) {
124
124
  requireObject(value.preview, 'config.preview');
125
- rejectUnknownKeys(value.preview, ['siteUrl', 'secretEnv', 'resolvePath'], 'config.preview');
125
+ rejectUnknownKeys(value.preview, ['siteUrl', 'secretEnv', 'resolvePath', 'uids'], 'config.preview');
126
126
  if (typeof value.preview.siteUrl !== 'string')
127
127
  throw new Error('[builder] preview.siteUrl is required');
128
128
  const url = new URL(value.preview.siteUrl);
@@ -136,9 +136,18 @@ const config = {
136
136
  if (typeof value.preview.secretEnv !== 'string' ||
137
137
  !/^[A-Z][A-Z0-9_]*$/.test(value.preview.secretEnv))
138
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');
139
144
  if (value.preview.resolvePath !== undefined &&
140
145
  typeof value.preview.resolvePath !== 'function')
141
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');
142
151
  }
143
152
  requireObject(value.blocks, 'config.blocks');
144
153
  rejectUnknownKeys(value.blocks, ['extra', 'includeInGlobal'], 'config.blocks');
@@ -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;AA6E/C,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,GAAG,IAAI,CA6M5D;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"}
@@ -151,27 +151,33 @@ function registerBuilderMcp(strapi) {
151
151
  strapi.ai.mcp.registerTool(strapi_1.ai.mcp.defineTool({
152
152
  name: 'get_preview_url',
153
153
  title: 'Get Builder preview URL',
154
- description: 'Returns a signed URL valid for five minutes for a saved Page or Article draft.',
154
+ description: 'Returns a signed URL valid for five minutes for a saved draft of an allowed preview content type.',
155
155
  telemetry: { source: 'builder', name: 'get_preview_url' },
156
156
  auth: {
157
157
  policies: [
158
158
  { action: READ_ACTION, subject: PAGE_UID },
159
- { action: READ_ACTION, subject: 'plugin::builder.article' },
159
+ ...(0, preview_1.getPreviewUids)(strapi)
160
+ .slice(1)
161
+ .map((subject) => ({ action: READ_ACTION, subject })),
160
162
  ],
161
163
  },
162
164
  resolveInputSchema: () => utils_1.z
163
165
  .object({
164
- uid: utils_1.z.enum(preview_1.PREVIEW_UIDS),
166
+ uid: utils_1.z.enum((0, preview_1.getPreviewUids)(strapi)),
165
167
  documentId: utils_1.z.string().min(1),
166
168
  locale: utils_1.z.string().min(1).optional(),
167
169
  })
168
170
  .strict(),
169
171
  resolveOutputSchema: outputSchema,
170
172
  createHandler: (runtime, context) => async ({ args }) => {
173
+ if (!(0, preview_1.getPreviewUids)(runtime).includes(args.uid))
174
+ throw new utils_1.errors.ForbiddenError();
171
175
  const permissions = getPermissionChecker(runtime, context.userAbility, args.uid);
172
176
  if (permissions.cannot(READ_ACTION))
173
177
  throw new utils_1.errors.ForbiddenError();
174
- const document = await runtime.documents(args.uid).findOne({
178
+ const document = await runtime
179
+ .documents(args.uid)
180
+ .findOne({
175
181
  documentId: args.documentId,
176
182
  locale: args.locale,
177
183
  status: 'draft',
@@ -180,7 +186,7 @@ function registerBuilderMcp(strapi) {
180
186
  throw new utils_1.errors.NotFoundError('Document not found');
181
187
  if (permissions.cannot(READ_ACTION, document))
182
188
  throw new utils_1.errors.ForbiddenError();
183
- const url = await (0, preview_1.getPreviewUrl)(runtime, args.uid, args);
189
+ const url = (0, preview_1.signPreviewDocument)(runtime, args.uid, document);
184
190
  if (!url)
185
191
  throw new utils_1.errors.ValidationError('Preview unavailable');
186
192
  return ok({ url });
@@ -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"}
@@ -1,11 +1,6 @@
1
1
  import type { Core } from '@strapi/strapi';
2
- export declare const PREVIEW_TTL_SECONDS = 300;
3
- export declare const PREVIEW_UIDS: readonly ["plugin::builder.page", "plugin::builder.article"];
4
- export declare function isSafePreviewPath(path: string): boolean;
5
- export declare function getPreviewUrl(strapi: Core.Strapi, uid: string, { documentId, locale, status, }: {
6
- documentId: string;
7
- locale?: string;
8
- status?: string;
9
- }): Promise<string | null>;
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';
10
5
  export declare function registerBuilderPreview(strapi: Core.Strapi): void;
11
6
  //# sourceMappingURL=preview.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"preview.d.ts","sourceRoot":"","sources":["../../../server/src/preview.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAG3C,eAAO,MAAM,mBAAmB,MAAM,CAAC;AACvC,eAAO,MAAM,YAAY,8DAGf,CAAC;AAEX,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAQvD;AAED,wBAAsB,aAAa,CACjC,MAAM,EAAE,IAAI,CAAC,MAAM,EACnB,GAAG,EAAE,MAAM,EACX,EACE,UAAU,EACV,MAAM,EACN,MAAgB,GACjB,EAAE;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GAC1D,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAmCxB;AAED,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,GAAG,IAAI,CAgBhE"}
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"}
@@ -1,73 +1,38 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PREVIEW_UIDS = exports.PREVIEW_TTL_SECONDS = void 0;
4
- exports.isSafePreviewPath = isSafePreviewPath;
5
- exports.getPreviewUrl = getPreviewUrl;
3
+ exports.verifyPreviewToken = exports.PREVIEW_TTL_SECONDS = exports.isSafePreviewPath = exports.PREVIEW_UIDS = exports.signPreviewDocument = exports.getPreviewUrl = exports.getPreviewUids = exports.createBuilderPreviewHandler = void 0;
6
4
  exports.registerBuilderPreview = registerBuilderPreview;
7
- const node_crypto_1 = require("node:crypto");
8
- exports.PREVIEW_TTL_SECONDS = 300;
9
- exports.PREVIEW_UIDS = [
10
- 'plugin::builder.page',
11
- 'plugin::builder.article',
12
- ];
13
- function isSafePreviewPath(path) {
14
- return (path.startsWith('/') &&
15
- !path.startsWith('//') &&
16
- !/[\\#]/.test(path) &&
17
- !Array.from(path).some((character) => character.charCodeAt(0) <= 32) &&
18
- !/%(?:2f|5c|0[0-9a-f]|1[0-9a-f]|20)/i.test(path));
19
- }
20
- async function getPreviewUrl(strapi, uid, { documentId, locale, status = 'draft', }) {
21
- const config = strapi.config.get('plugin::builder')
22
- .preview;
23
- if (!config || !exports.PREVIEW_UIDS.includes(uid))
24
- return null;
25
- if (status !== 'draft' && status !== 'published')
26
- return null;
27
- const secret = process.env[config.secretEnv];
28
- if (!secret)
29
- return null;
30
- const document = (await strapi
31
- .documents(uid)
32
- .findOne({ documentId, locale, status }));
33
- if (!document)
34
- return null;
35
- const path = config.resolvePath
36
- ? config.resolvePath(uid, document)
37
- : document.slug
38
- ? `${uid === 'plugin::builder.article' ? '/articles' : ''}/${encodeURIComponent(document.slug)}`
39
- : null;
40
- if (!path || !isSafePreviewPath(path))
41
- return null;
42
- const payload = Buffer.from(JSON.stringify({
43
- path,
44
- status,
45
- exp: Math.floor(Date.now() / 1000) + exports.PREVIEW_TTL_SECONDS,
46
- })).toString('base64url');
47
- const signature = (0, node_crypto_1.createHmac)('sha256', secret)
48
- .update(payload)
49
- .digest('base64url');
50
- const url = new URL('/api/preview', config.siteUrl);
51
- url.search = new URLSearchParams({
52
- token: `${payload}.${signature}`,
53
- path,
54
- status,
55
- }).toString();
56
- return url.toString();
57
- }
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; } });
58
16
  function registerBuilderPreview(strapi) {
59
17
  const config = strapi.config.get('plugin::builder')
60
18
  .preview;
61
19
  if (!config)
62
20
  return;
21
+ const existing = strapi.config.get('admin.preview');
63
22
  strapi.config.set('admin.preview', {
23
+ ...existing,
64
24
  enabled: true,
65
25
  config: {
66
- allowedOrigins: [new URL(config.siteUrl).origin],
67
- handler: (uid, options) => getPreviewUrl(strapi, uid, options),
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),
68
34
  },
69
35
  });
70
- // Content Manager may register before Builder; apply its CSP setup now too.
71
36
  strapi.plugin('content-manager').service('preview-config').register();
72
37
  }
73
38
  //# sourceMappingURL=preview.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"preview.js","sourceRoot":"","sources":["../../../server/src/preview.ts"],"names":[],"mappings":"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"}
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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dani-builder/strapi-plugin-builder",
3
- "version": "0.7.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
  },