@ai-stack/payloadcms 3.0.0-beta.95.1 → 3.2.1-beta

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 (194) hide show
  1. package/LICENSE.md +2 -2
  2. package/README.md +19 -17
  3. package/dist/ai/models/anthropic/generateRichText.d.ts.map +1 -1
  4. package/dist/ai/models/anthropic/generateRichText.js +2 -2
  5. package/dist/ai/models/anthropic/generateRichText.js.map +1 -1
  6. package/dist/ai/models/anthropic/index.d.ts.map +1 -1
  7. package/dist/ai/models/anthropic/index.js +8 -32
  8. package/dist/ai/models/anthropic/index.js.map +1 -1
  9. package/dist/ai/models/elevenLabs/generateVoice.d.ts +1 -1
  10. package/dist/ai/models/elevenLabs/index.d.ts.map +1 -1
  11. package/dist/ai/models/elevenLabs/index.js +4 -3
  12. package/dist/ai/models/elevenLabs/index.js.map +1 -1
  13. package/dist/ai/models/openai/generateImage.d.ts +1 -1
  14. package/dist/ai/models/openai/generateRichText.js +2 -2
  15. package/dist/ai/models/openai/generateRichText.js.map +1 -1
  16. package/dist/ai/models/openai/generateVoice.d.ts +1 -1
  17. package/dist/ai/models/openai/index.d.ts.map +1 -1
  18. package/dist/ai/models/openai/index.js +9 -35
  19. package/dist/ai/models/openai/index.js.map +1 -1
  20. package/dist/ai/prompts.d.ts +1 -1
  21. package/dist/ai/prompts.d.ts.map +1 -1
  22. package/dist/ai/prompts.js +6 -3
  23. package/dist/ai/prompts.js.map +1 -1
  24. package/dist/ai/schemas/lexicalJsonSchema.d.ts +2 -0
  25. package/dist/ai/schemas/lexicalJsonSchema.d.ts.map +1 -0
  26. package/dist/ai/schemas/lexicalJsonSchema.js +317 -0
  27. package/dist/ai/schemas/lexicalJsonSchema.js.map +1 -0
  28. package/dist/ai/utils/generateFileNameByPrompt.js.map +1 -1
  29. package/dist/ai/utils/systemGenerate.d.ts +5 -0
  30. package/dist/ai/utils/systemGenerate.d.ts.map +1 -0
  31. package/dist/ai/utils/{generateSeedPrompt.js → systemGenerate.js} +2 -2
  32. package/dist/ai/utils/systemGenerate.js.map +1 -0
  33. package/dist/collections/Instructions.d.ts +1 -1
  34. package/dist/collections/Instructions.d.ts.map +1 -1
  35. package/dist/collections/Instructions.js +177 -85
  36. package/dist/collections/Instructions.js.map +1 -1
  37. package/dist/defaults.d.ts +1 -1
  38. package/dist/defaults.d.ts.map +1 -1
  39. package/dist/defaults.js +1 -1
  40. package/dist/defaults.js.map +1 -1
  41. package/dist/endpoints/fetchFields.d.ts +3 -0
  42. package/dist/endpoints/fetchFields.d.ts.map +1 -0
  43. package/dist/endpoints/fetchFields.js +21 -0
  44. package/dist/endpoints/fetchFields.js.map +1 -0
  45. package/dist/endpoints/index.d.ts.map +1 -1
  46. package/dist/endpoints/index.js +12 -18
  47. package/dist/endpoints/index.js.map +1 -1
  48. package/dist/exports/client.d.ts +0 -1
  49. package/dist/exports/client.d.ts.map +1 -1
  50. package/dist/exports/client.js +0 -1
  51. package/dist/exports/client.js.map +1 -1
  52. package/dist/exports/fields.d.ts +2 -0
  53. package/dist/exports/fields.d.ts.map +1 -1
  54. package/dist/exports/fields.js +2 -0
  55. package/dist/exports/fields.js.map +1 -1
  56. package/dist/fields/ComposeField/ComposeField.d.ts +3 -0
  57. package/dist/fields/ComposeField/ComposeField.d.ts.map +1 -0
  58. package/dist/fields/ComposeField/ComposeField.js +24 -0
  59. package/dist/fields/ComposeField/ComposeField.js.map +1 -0
  60. package/dist/fields/LexicalEditor/ComposeFeatureComponent.d.ts +2 -0
  61. package/dist/fields/LexicalEditor/ComposeFeatureComponent.d.ts.map +1 -0
  62. package/dist/fields/LexicalEditor/ComposeFeatureComponent.js +28 -0
  63. package/dist/fields/LexicalEditor/ComposeFeatureComponent.js.map +1 -0
  64. package/dist/fields/LexicalEditor/feature.client.d.ts +4 -1
  65. package/dist/fields/LexicalEditor/feature.client.d.ts.map +1 -1
  66. package/dist/fields/LexicalEditor/feature.client.js +15 -7
  67. package/dist/fields/LexicalEditor/feature.client.js.map +1 -1
  68. package/dist/fields/PromptEditorField/PromptEditorField.d.ts +2 -2
  69. package/dist/fields/PromptEditorField/PromptEditorField.d.ts.map +1 -1
  70. package/dist/fields/PromptEditorField/PromptEditorField.js +4 -8
  71. package/dist/fields/PromptEditorField/PromptEditorField.js.map +1 -1
  72. package/dist/fields/SelectField/SelectField.d.ts +3 -2
  73. package/dist/fields/SelectField/SelectField.d.ts.map +1 -1
  74. package/dist/fields/SelectField/SelectField.js +2 -3
  75. package/dist/fields/SelectField/SelectField.js.map +1 -1
  76. package/dist/index.d.ts +1 -6
  77. package/dist/index.d.ts.map +1 -1
  78. package/dist/index.js +1 -6
  79. package/dist/index.js.map +1 -1
  80. package/dist/init.d.ts +2 -1
  81. package/dist/init.d.ts.map +1 -1
  82. package/dist/init.js +22 -21
  83. package/dist/init.js.map +1 -1
  84. package/dist/libraries/autocomplete/AutocompleteTextArea.js +9 -7
  85. package/dist/libraries/autocomplete/AutocompleteTextArea.js.map +1 -1
  86. package/dist/libraries/handlebars/asyncHandlebars.js +1 -1
  87. package/dist/libraries/handlebars/asyncHandlebars.js.map +1 -1
  88. package/dist/libraries/handlebars/helpers.js.map +1 -1
  89. package/dist/plugin.d.ts.map +1 -1
  90. package/dist/plugin.js +30 -41
  91. package/dist/plugin.js.map +1 -1
  92. package/dist/providers/FieldProvider/FieldProvider.d.ts +15 -0
  93. package/dist/providers/FieldProvider/FieldProvider.d.ts.map +1 -0
  94. package/dist/providers/FieldProvider/FieldProvider.js +33 -0
  95. package/dist/providers/FieldProvider/FieldProvider.js.map +1 -0
  96. package/dist/providers/FieldProvider/useFieldProps.d.ts +6 -0
  97. package/dist/providers/FieldProvider/useFieldProps.d.ts.map +1 -0
  98. package/dist/providers/FieldProvider/useFieldProps.js +12 -0
  99. package/dist/providers/FieldProvider/useFieldProps.js.map +1 -0
  100. package/dist/providers/InstructionsProvider/InstructionsProvider.d.ts +5 -1
  101. package/dist/providers/InstructionsProvider/InstructionsProvider.d.ts.map +1 -1
  102. package/dist/providers/InstructionsProvider/InstructionsProvider.js +12 -7
  103. package/dist/providers/InstructionsProvider/InstructionsProvider.js.map +1 -1
  104. package/dist/providers/InstructionsProvider/useInstructions.d.ts +2 -2
  105. package/dist/providers/InstructionsProvider/useInstructions.d.ts.map +1 -1
  106. package/dist/providers/InstructionsProvider/useInstructions.js +17 -4
  107. package/dist/providers/InstructionsProvider/useInstructions.js.map +1 -1
  108. package/dist/types.d.ts +9 -41
  109. package/dist/types.d.ts.map +1 -1
  110. package/dist/types.js +1 -4
  111. package/dist/types.js.map +1 -1
  112. package/dist/ui/Compose/Compose.d.ts +9 -0
  113. package/dist/ui/Compose/Compose.d.ts.map +1 -0
  114. package/dist/ui/{Actions/Actions.js → Compose/Compose.js} +49 -39
  115. package/dist/ui/Compose/Compose.js.map +1 -0
  116. package/dist/ui/{Actions → Compose}/UndoRedoActions.d.ts.map +1 -1
  117. package/dist/ui/{Actions → Compose}/UndoRedoActions.js +15 -2
  118. package/dist/ui/Compose/UndoRedoActions.js.map +1 -0
  119. package/dist/ui/{Actions → Compose}/hooks/menu/Item.d.ts +1 -1
  120. package/dist/ui/{Actions → Compose}/hooks/menu/Item.d.ts.map +1 -1
  121. package/dist/ui/{Actions → Compose}/hooks/menu/Item.js +2 -2
  122. package/dist/ui/{Actions → Compose}/hooks/menu/Item.js.map +1 -1
  123. package/dist/ui/Compose/hooks/menu/TranslateMenu.d.ts.map +1 -0
  124. package/dist/ui/{Actions → Compose}/hooks/menu/TranslateMenu.js +11 -11
  125. package/dist/ui/Compose/hooks/menu/TranslateMenu.js.map +1 -0
  126. package/dist/ui/{Actions → Compose}/hooks/menu/items.d.ts +8 -8
  127. package/dist/ui/{Actions → Compose}/hooks/menu/items.d.ts.map +1 -1
  128. package/dist/ui/{Actions → Compose}/hooks/menu/items.js.map +1 -1
  129. package/dist/ui/{Actions → Compose}/hooks/menu/itemsMap.d.ts +1 -1
  130. package/dist/ui/Compose/hooks/menu/itemsMap.d.ts.map +1 -0
  131. package/dist/ui/{Actions → Compose}/hooks/menu/itemsMap.js +1 -2
  132. package/dist/ui/Compose/hooks/menu/itemsMap.js.map +1 -0
  133. package/dist/ui/Compose/hooks/menu/useMenu.d.ts.map +1 -0
  134. package/dist/ui/{Actions → Compose}/hooks/menu/useMenu.js +2 -1
  135. package/dist/ui/Compose/hooks/menu/useMenu.js.map +1 -0
  136. package/dist/ui/{Actions → Compose}/hooks/useGenerate.d.ts +3 -1
  137. package/dist/ui/Compose/hooks/useGenerate.d.ts.map +1 -0
  138. package/dist/ui/{Actions → Compose}/hooks/useGenerate.js +19 -24
  139. package/dist/ui/Compose/hooks/useGenerate.js.map +1 -0
  140. package/dist/ui/Compose/hooks/useHistory.d.ts.map +1 -0
  141. package/dist/ui/{Actions → Compose}/hooks/useHistory.js +6 -3
  142. package/dist/ui/Compose/hooks/useHistory.js.map +1 -0
  143. package/dist/utilities/setSafeLexicalState.d.ts +2 -2
  144. package/dist/utilities/setSafeLexicalState.d.ts.map +1 -1
  145. package/dist/utilities/setSafeLexicalState.js +5 -12
  146. package/dist/utilities/setSafeLexicalState.js.map +1 -1
  147. package/dist/utilities/updateFieldsConfig.d.ts.map +1 -1
  148. package/dist/utilities/updateFieldsConfig.js +18 -6
  149. package/dist/utilities/updateFieldsConfig.js.map +1 -1
  150. package/package.json +32 -37
  151. package/dist/ai/schemas/lexical.schema.d.ts +0 -31
  152. package/dist/ai/schemas/lexical.schema.d.ts.map +0 -1
  153. package/dist/ai/schemas/lexical.schema.js +0 -102
  154. package/dist/ai/schemas/lexical.schema.js.map +0 -1
  155. package/dist/ai/utils/generateSeedPrompt.d.ts +0 -5
  156. package/dist/ai/utils/generateSeedPrompt.d.ts.map +0 -1
  157. package/dist/ai/utils/generateSeedPrompt.js.map +0 -1
  158. package/dist/fields/DescriptionField/DescriptionField.d.ts +0 -2
  159. package/dist/fields/DescriptionField/DescriptionField.d.ts.map +0 -1
  160. package/dist/fields/DescriptionField/DescriptionField.js +0 -16
  161. package/dist/fields/DescriptionField/DescriptionField.js.map +0 -1
  162. package/dist/fields/DescriptionField/DescriptionFieldComponent.d.ts +0 -3
  163. package/dist/fields/DescriptionField/DescriptionFieldComponent.d.ts.map +0 -1
  164. package/dist/fields/DescriptionField/DescriptionFieldComponent.js +0 -19
  165. package/dist/fields/DescriptionField/DescriptionFieldComponent.js.map +0 -1
  166. package/dist/fields/LexicalEditor/ActionsFeatureComponent.d.ts +0 -2
  167. package/dist/fields/LexicalEditor/ActionsFeatureComponent.d.ts.map +0 -1
  168. package/dist/fields/LexicalEditor/ActionsFeatureComponent.js +0 -15
  169. package/dist/fields/LexicalEditor/ActionsFeatureComponent.js.map +0 -1
  170. package/dist/ui/Actions/Actions.d.ts +0 -5
  171. package/dist/ui/Actions/Actions.d.ts.map +0 -1
  172. package/dist/ui/Actions/Actions.js.map +0 -1
  173. package/dist/ui/Actions/UndoRedoActions.js.map +0 -1
  174. package/dist/ui/Actions/hooks/menu/TranslateMenu.d.ts.map +0 -1
  175. package/dist/ui/Actions/hooks/menu/TranslateMenu.js.map +0 -1
  176. package/dist/ui/Actions/hooks/menu/itemsMap.d.ts.map +0 -1
  177. package/dist/ui/Actions/hooks/menu/itemsMap.js.map +0 -1
  178. package/dist/ui/Actions/hooks/menu/useMenu.d.ts.map +0 -1
  179. package/dist/ui/Actions/hooks/menu/useMenu.js.map +0 -1
  180. package/dist/ui/Actions/hooks/useGenerate.d.ts.map +0 -1
  181. package/dist/ui/Actions/hooks/useGenerate.js.map +0 -1
  182. package/dist/ui/Actions/hooks/useHistory.d.ts.map +0 -1
  183. package/dist/ui/Actions/hooks/useHistory.js.map +0 -1
  184. package/dist/utilities/jsonToZod.d.ts +0 -3
  185. package/dist/utilities/jsonToZod.d.ts.map +0 -1
  186. package/dist/utilities/jsonToZod.js +0 -33
  187. package/dist/utilities/jsonToZod.js.map +0 -1
  188. /package/dist/ui/{Actions → Compose}/UndoRedoActions.d.ts +0 -0
  189. /package/dist/ui/{Actions/actions.module.scss → Compose/compose.module.scss} +0 -0
  190. /package/dist/ui/{Actions → Compose}/hooks/menu/TranslateMenu.d.ts +0 -0
  191. /package/dist/ui/{Actions → Compose}/hooks/menu/items.js +0 -0
  192. /package/dist/ui/{Actions → Compose}/hooks/menu/menu.module.scss +0 -0
  193. /package/dist/ui/{Actions → Compose}/hooks/menu/useMenu.d.ts +0 -0
  194. /package/dist/ui/{Actions → Compose}/hooks/useHistory.d.ts +0 -0
@@ -0,0 +1,24 @@
1
+ 'use client';
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ import React from 'react';
4
+ import { FieldProvider } from '../../providers/FieldProvider/FieldProvider.js';
5
+ import { useInstructions } from '../../providers/InstructionsProvider/useInstructions.js';
6
+ import { Compose } from '../../ui/Compose/Compose.js';
7
+ export const ComposeField = (props)=>{
8
+ const { id: instructionId } = useInstructions({
9
+ schemaPath: props?.schemaPath
10
+ });
11
+ return /*#__PURE__*/ _jsx(FieldProvider, {
12
+ context: {
13
+ type: props?.field.type,
14
+ path: props?.path,
15
+ schemaPath: props?.schemaPath
16
+ },
17
+ children: /*#__PURE__*/ _jsx(Compose, {
18
+ descriptionProps: props,
19
+ instructionId: instructionId
20
+ })
21
+ });
22
+ };
23
+
24
+ //# sourceMappingURL=ComposeField.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/fields/ComposeField/ComposeField.tsx"],"sourcesContent":["'use client'\n\nimport type { FieldDescriptionServerProps } from 'payload'\n\nimport React from 'react'\n\nimport { FieldProvider } from '../../providers/FieldProvider/FieldProvider.js'\nimport { useInstructions } from '../../providers/InstructionsProvider/useInstructions.js'\nimport { Compose } from '../../ui/Compose/Compose.js'\n\nexport const ComposeField = (props: FieldDescriptionServerProps) => {\n const { id: instructionId } = useInstructions({\n schemaPath: props?.schemaPath,\n })\n\n return (\n <FieldProvider\n context={{\n type: props?.field.type,\n path: props?.path,\n schemaPath: props?.schemaPath,\n }}\n >\n <Compose descriptionProps={props as any} instructionId={instructionId} />\n </FieldProvider>\n )\n}\n"],"names":["React","FieldProvider","useInstructions","Compose","ComposeField","props","id","instructionId","schemaPath","context","type","field","path","descriptionProps"],"mappings":"AAAA;;AAIA,OAAOA,WAAW,QAAO;AAEzB,SAASC,aAAa,QAAQ,iDAAgD;AAC9E,SAASC,eAAe,QAAQ,0DAAyD;AACzF,SAASC,OAAO,QAAQ,8BAA6B;AAErD,OAAO,MAAMC,eAAe,CAACC;IAC3B,MAAM,EAAEC,IAAIC,aAAa,EAAE,GAAGL,gBAAgB;QAC5CM,YAAYH,OAAOG;IACrB;IAEA,qBACE,KAACP;QACCQ,SAAS;YACPC,MAAML,OAAOM,MAAMD;YACnBE,MAAMP,OAAOO;YACbJ,YAAYH,OAAOG;QACrB;kBAEA,cAAA,KAACL;YAAQU,kBAAkBR;YAAcE,eAAeA;;;AAG9D,EAAC"}
@@ -0,0 +1,2 @@
1
+ export declare const ComposeFeatureComponent: (props: any) => import("react/jsx-runtime").JSX.Element;
2
+ //# sourceMappingURL=ComposeFeatureComponent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ComposeFeatureComponent.d.ts","sourceRoot":"","sources":["../../../src/fields/LexicalEditor/ComposeFeatureComponent.tsx"],"names":[],"mappings":"AAMA,eAAO,MAAM,uBAAuB,UAAW,GAAG,4CAwBjD,CAAA"}
@@ -0,0 +1,28 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import React from 'react';
3
+ import { FieldProvider } from '../../providers/FieldProvider/FieldProvider.js';
4
+ import { useInstructions } from '../../providers/InstructionsProvider/useInstructions.js';
5
+ import { Compose } from '../../ui/Compose/Compose.js';
6
+ export const ComposeFeatureComponent = (props)=>{
7
+ const { id: instructionId } = useInstructions({
8
+ schemaPath: props?.clientProps?.schemaPath
9
+ });
10
+ return /*#__PURE__*/ _jsx(FieldProvider, {
11
+ context: {
12
+ type: props?.clientProps?.field?.type,
13
+ path: props?.clientProps?.path,
14
+ schemaPath: props?.clientProps?.schemaPath
15
+ },
16
+ children: /*#__PURE__*/ _jsx(Compose, {
17
+ descriptionProps: {
18
+ field: props?.clientProps?.field,
19
+ path: props?.clientProps?.path,
20
+ schemaPath: props?.clientProps?.schemaPath,
21
+ ...props?.clientProps
22
+ },
23
+ instructionId: instructionId
24
+ })
25
+ });
26
+ };
27
+
28
+ //# sourceMappingURL=ComposeFeatureComponent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/fields/LexicalEditor/ComposeFeatureComponent.tsx"],"sourcesContent":["import React from 'react'\n\nimport { FieldProvider } from '../../providers/FieldProvider/FieldProvider.js'\nimport { useInstructions } from '../../providers/InstructionsProvider/useInstructions.js'\nimport { Compose } from '../../ui/Compose/Compose.js'\n\nexport const ComposeFeatureComponent = (props: any) => {\n const { id: instructionId } = useInstructions({\n schemaPath: props?.clientProps?.schemaPath,\n })\n\n return (\n <FieldProvider\n context={{\n type: props?.clientProps?.field?.type,\n path: props?.clientProps?.path,\n schemaPath: props?.clientProps?.schemaPath,\n }}\n >\n <Compose\n descriptionProps={{\n field: props?.clientProps?.field,\n path: props?.clientProps?.path,\n schemaPath: props?.clientProps?.schemaPath,\n ...props?.clientProps,\n }}\n instructionId={instructionId}\n />\n </FieldProvider>\n )\n}\n"],"names":["React","FieldProvider","useInstructions","Compose","ComposeFeatureComponent","props","id","instructionId","schemaPath","clientProps","context","type","field","path","descriptionProps"],"mappings":";AAAA,OAAOA,WAAW,QAAO;AAEzB,SAASC,aAAa,QAAQ,iDAAgD;AAC9E,SAASC,eAAe,QAAQ,0DAAyD;AACzF,SAASC,OAAO,QAAQ,8BAA6B;AAErD,OAAO,MAAMC,0BAA0B,CAACC;IACtC,MAAM,EAAEC,IAAIC,aAAa,EAAE,GAAGL,gBAAgB;QAC5CM,YAAYH,OAAOI,aAAaD;IAClC;IAEA,qBACE,KAACP;QACCS,SAAS;YACPC,MAAMN,OAAOI,aAAaG,OAAOD;YACjCE,MAAMR,OAAOI,aAAaI;YAC1BL,YAAYH,OAAOI,aAAaD;QAClC;kBAEA,cAAA,KAACL;YACCW,kBAAkB;gBAChBF,OAAOP,OAAOI,aAAaG;gBAC3BC,MAAMR,OAAOI,aAAaI;gBAC1BL,YAAYH,OAAOI,aAAaD;gBAChC,GAAGH,OAAOI,WAAW;YACvB;YACAF,eAAeA;;;AAIvB,EAAC"}
@@ -1,5 +1,8 @@
1
- export declare const LexicalEditorFeatureClient: import("react").FC<{
1
+ export declare const LexicalEditorFeatureClient: import("@payloadcms/richtext-lexical").FeatureProviderProviderClient<undefined, {
2
2
  featureKey: string;
3
3
  order: number;
4
+ field: import("payload").RichTextFieldClient;
5
+ path: string;
6
+ schemaPath: string;
4
7
  }>;
5
8
  //# sourceMappingURL=feature.client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"feature.client.d.ts","sourceRoot":"","sources":["../../../src/fields/LexicalEditor/feature.client.tsx"],"names":[],"mappings":"AAMA,eAAO,MAAM,0BAA0B;;;EAOrC,CAAA"}
1
+ {"version":3,"file":"feature.client.d.ts","sourceRoot":"","sources":["../../../src/fields/LexicalEditor/feature.client.tsx"],"names":[],"mappings":"AAMA,eAAO,MAAM,0BAA0B;;;;;;EAerC,CAAA"}
@@ -1,13 +1,21 @@
1
1
  'use client';
2
2
  import { createClientFeature } from '@payloadcms/richtext-lexical/client';
3
- import { ActionsFeatureComponent } from './ActionsFeatureComponent.js';
4
- export const LexicalEditorFeatureClient = createClientFeature({
5
- plugins: [
6
- {
7
- Component: ActionsFeatureComponent,
8
- position: 'belowContainer'
3
+ import { ComposeFeatureComponent } from './ComposeFeatureComponent.js';
4
+ export const LexicalEditorFeatureClient = createClientFeature((props)=>{
5
+ return {
6
+ plugins: [
7
+ {
8
+ Component: ComposeFeatureComponent,
9
+ position: 'belowContainer'
10
+ }
11
+ ],
12
+ sanitizedClientFeatureProps: {
13
+ field: props.field,
14
+ path: props.field?.name,
15
+ schemaPath: props.schemaPath,
16
+ ...props?.props
9
17
  }
10
- ]
18
+ };
11
19
  });
12
20
 
13
21
  //# sourceMappingURL=feature.client.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/fields/LexicalEditor/feature.client.tsx"],"sourcesContent":["'use client'\n\nimport { createClientFeature } from '@payloadcms/richtext-lexical/client'\n\nimport { ActionsFeatureComponent } from './ActionsFeatureComponent.js'\n\nexport const LexicalEditorFeatureClient = createClientFeature({\n plugins: [\n {\n Component: ActionsFeatureComponent,\n position: 'belowContainer',\n },\n ],\n})\n"],"names":["createClientFeature","ActionsFeatureComponent","LexicalEditorFeatureClient","plugins","Component","position"],"mappings":"AAAA;AAEA,SAASA,mBAAmB,QAAQ,sCAAqC;AAEzE,SAASC,uBAAuB,QAAQ,+BAA8B;AAEtE,OAAO,MAAMC,6BAA6BF,oBAAoB;IAC5DG,SAAS;QACP;YACEC,WAAWH;YACXI,UAAU;QACZ;KACD;AACH,GAAE"}
1
+ {"version":3,"sources":["../../../src/fields/LexicalEditor/feature.client.tsx"],"sourcesContent":["'use client'\n\nimport { createClientFeature } from '@payloadcms/richtext-lexical/client'\n\nimport { ComposeFeatureComponent } from './ComposeFeatureComponent.js'\n\nexport const LexicalEditorFeatureClient = createClientFeature((props) => {\n return {\n plugins: [\n {\n Component: ComposeFeatureComponent,\n position: 'belowContainer',\n },\n ],\n sanitizedClientFeatureProps: {\n field: props.field,\n path: props.field?.name,\n schemaPath: props.schemaPath,\n ...props?.props,\n },\n }\n})\n"],"names":["createClientFeature","ComposeFeatureComponent","LexicalEditorFeatureClient","props","plugins","Component","position","sanitizedClientFeatureProps","field","path","name","schemaPath"],"mappings":"AAAA;AAEA,SAASA,mBAAmB,QAAQ,sCAAqC;AAEzE,SAASC,uBAAuB,QAAQ,+BAA8B;AAEtE,OAAO,MAAMC,6BAA6BF,oBAAoB,CAACG;IAC7D,OAAO;QACLC,SAAS;YACP;gBACEC,WAAWJ;gBACXK,UAAU;YACZ;SACD;QACDC,6BAA6B;YAC3BC,OAAOL,MAAMK,KAAK;YAClBC,MAAMN,MAAMK,KAAK,EAAEE;YACnBC,YAAYR,MAAMQ,UAAU;YAC5B,GAAGR,OAAOA,KAAK;QACjB;IACF;AACF,GAAE"}
@@ -1,4 +1,4 @@
1
- import type { TextareaFieldProps } from 'payload';
1
+ import type { TextareaFieldClientProps } from 'payload';
2
2
  import React from 'react';
3
- export declare const PromptEditorField: React.FC<TextareaFieldProps>;
3
+ export declare const PromptEditorField: React.FC<TextareaFieldClientProps>;
4
4
  //# sourceMappingURL=PromptEditorField.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PromptEditorField.d.ts","sourceRoot":"","sources":["../../../src/fields/PromptEditorField/PromptEditorField.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAA;AAGjD,OAAO,KAAK,MAAM,OAAO,CAAA;AAMzB,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CA4B1D,CAAA"}
1
+ {"version":3,"file":"PromptEditorField.d.ts","sourceRoot":"","sources":["../../../src/fields/PromptEditorField/PromptEditorField.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,SAAS,CAAA;AAGvD,OAAO,KAAK,MAAM,OAAO,CAAA;AAMzB,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,wBAAwB,CAyBhE,CAAA"}
@@ -1,24 +1,20 @@
1
1
  'use client';
2
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
- import { FieldLabel, useField, useFieldProps } from '@payloadcms/ui';
3
+ import { FieldLabel, useField } from '@payloadcms/ui';
4
4
  import React from 'react';
5
- import { useInstructions } from '../../providers/InstructionsProvider/useInstructions.js';
6
5
  import { AutocompleteTextField } from '../../libraries/autocomplete/AutocompleteTextArea.js';
6
+ import { useInstructions } from '../../providers/InstructionsProvider/useInstructions.js';
7
7
  //NOTE: HMR does not work for plugin components anymore, I think it has to do with importMap/ string path
8
8
  export const PromptEditorField = (props)=>{
9
- const { field } = props;
10
- const { path: pathFromContext } = useFieldProps();
9
+ const { field, path: pathFromContext } = props;
11
10
  const { setValue, value } = useField({
12
11
  path: pathFromContext
13
12
  });
14
- const { promptEditorSuggestions } = useInstructions({
15
- path: pathFromContext
16
- });
13
+ const { promptEditorSuggestions } = useInstructions();
17
14
  return /*#__PURE__*/ _jsxs("div", {
18
15
  className: "field-type textarea",
19
16
  children: [
20
17
  /*#__PURE__*/ _jsx(FieldLabel, {
21
- field: field,
22
18
  label: field.label
23
19
  }),
24
20
  /*#__PURE__*/ _jsx(AutocompleteTextField, {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/fields/PromptEditorField/PromptEditorField.tsx"],"sourcesContent":["'use client'\n\nimport type { TextareaFieldProps } from 'payload'\n\nimport { FieldLabel, useField, useFieldProps } from '@payloadcms/ui'\nimport React from 'react'\n\nimport { useInstructions } from '../../providers/InstructionsProvider/useInstructions.js'\nimport { AutocompleteTextField } from '../../libraries/autocomplete/AutocompleteTextArea.js'\n\n//NOTE: HMR does not work for plugin components anymore, I think it has to do with importMap/ string path\nexport const PromptEditorField: React.FC<TextareaFieldProps> = (props) => {\n const { field } = props\n const { path: pathFromContext } = useFieldProps()\n\n const { setValue, value } = useField<string>({\n path: pathFromContext,\n })\n\n const { promptEditorSuggestions } = useInstructions({\n path: pathFromContext,\n })\n\n return (\n <div className=\"field-type textarea\">\n <FieldLabel field={field} label={field.label} />\n <AutocompleteTextField\n changeOnSelect={(trigger, selected) => {\n return trigger + selected + ' }}'\n }}\n onChange={(val: string) => {\n setValue(val)\n }}\n options={promptEditorSuggestions}\n trigger={['{{ ']}\n value={value}\n />\n </div>\n )\n}\n"],"names":["FieldLabel","useField","useFieldProps","React","useInstructions","AutocompleteTextField","PromptEditorField","props","field","path","pathFromContext","setValue","value","promptEditorSuggestions","div","className","label","changeOnSelect","trigger","selected","onChange","val","options"],"mappings":"AAAA;;AAIA,SAASA,UAAU,EAAEC,QAAQ,EAAEC,aAAa,QAAQ,iBAAgB;AACpE,OAAOC,WAAW,QAAO;AAEzB,SAASC,eAAe,QAAQ,0DAAyD;AACzF,SAASC,qBAAqB,QAAQ,uDAAsD;AAE5F,yGAAyG;AACzG,OAAO,MAAMC,oBAAkD,CAACC;IAC9D,MAAM,EAAEC,KAAK,EAAE,GAAGD;IAClB,MAAM,EAAEE,MAAMC,eAAe,EAAE,GAAGR;IAElC,MAAM,EAAES,QAAQ,EAAEC,KAAK,EAAE,GAAGX,SAAiB;QAC3CQ,MAAMC;IACR;IAEA,MAAM,EAAEG,uBAAuB,EAAE,GAAGT,gBAAgB;QAClDK,MAAMC;IACR;IAEA,qBACE,MAACI;QAAIC,WAAU;;0BACb,KAACf;gBAAWQ,OAAOA;gBAAOQ,OAAOR,MAAMQ,KAAK;;0BAC5C,KAACX;gBACCY,gBAAgB,CAACC,SAASC;oBACxB,OAAOD,UAAUC,WAAW;gBAC9B;gBACAC,UAAU,CAACC;oBACTV,SAASU;gBACX;gBACAC,SAAST;gBACTK,SAAS;oBAAC;iBAAM;gBAChBN,OAAOA;;;;AAIf,EAAC"}
1
+ {"version":3,"sources":["../../../src/fields/PromptEditorField/PromptEditorField.tsx"],"sourcesContent":["'use client'\n\nimport type { TextareaFieldClientProps } from 'payload'\n\nimport { FieldLabel, useField } from '@payloadcms/ui'\nimport React from 'react'\n\nimport { AutocompleteTextField } from '../../libraries/autocomplete/AutocompleteTextArea.js'\nimport { useInstructions } from '../../providers/InstructionsProvider/useInstructions.js'\n\n//NOTE: HMR does not work for plugin components anymore, I think it has to do with importMap/ string path\nexport const PromptEditorField: React.FC<TextareaFieldClientProps> = (props) => {\n const { field, path: pathFromContext } = props\n\n const { setValue, value } = useField<string>({\n path: pathFromContext,\n })\n\n const { promptEditorSuggestions } = useInstructions()\n\n return (\n <div className=\"field-type textarea\">\n <FieldLabel label={field.label} />\n <AutocompleteTextField\n changeOnSelect={(trigger, selected) => {\n return trigger + selected + ' }}'\n }}\n onChange={(val: string) => {\n setValue(val)\n }}\n options={promptEditorSuggestions}\n trigger={['{{ ']}\n value={value}\n />\n </div>\n )\n}\n"],"names":["FieldLabel","useField","React","AutocompleteTextField","useInstructions","PromptEditorField","props","field","path","pathFromContext","setValue","value","promptEditorSuggestions","div","className","label","changeOnSelect","trigger","selected","onChange","val","options"],"mappings":"AAAA;;AAIA,SAASA,UAAU,EAAEC,QAAQ,QAAQ,iBAAgB;AACrD,OAAOC,WAAW,QAAO;AAEzB,SAASC,qBAAqB,QAAQ,uDAAsD;AAC5F,SAASC,eAAe,QAAQ,0DAAyD;AAEzF,yGAAyG;AACzG,OAAO,MAAMC,oBAAwD,CAACC;IACpE,MAAM,EAAEC,KAAK,EAAEC,MAAMC,eAAe,EAAE,GAAGH;IAEzC,MAAM,EAAEI,QAAQ,EAAEC,KAAK,EAAE,GAAGV,SAAiB;QAC3CO,MAAMC;IACR;IAEA,MAAM,EAAEG,uBAAuB,EAAE,GAAGR;IAEpC,qBACE,MAACS;QAAIC,WAAU;;0BACb,KAACd;gBAAWe,OAAOR,MAAMQ,KAAK;;0BAC9B,KAACZ;gBACCa,gBAAgB,CAACC,SAASC;oBACxB,OAAOD,UAAUC,WAAW;gBAC9B;gBACAC,UAAU,CAACC;oBACTV,SAASU;gBACX;gBACAC,SAAST;gBACTK,SAAS;oBAAC;iBAAM;gBAChBN,OAAOA;;;;AAIf,EAAC"}
@@ -1,4 +1,4 @@
1
- import type { SelectFieldProps } from 'payload';
1
+ import type { SelectFieldClientProps } from 'payload';
2
2
  export declare const SelectField: (props: {
3
3
  filterByField: string;
4
4
  options: {
@@ -6,5 +6,6 @@ export declare const SelectField: (props: {
6
6
  label: string;
7
7
  value: string;
8
8
  }[];
9
- } & SelectFieldProps) => import("react/jsx-runtime").JSX.Element;
9
+ path: string;
10
+ } & SelectFieldClientProps) => import("react/jsx-runtime").JSX.Element;
10
11
  //# sourceMappingURL=SelectField.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SelectField.d.ts","sourceRoot":"","sources":["../../../src/fields/SelectField/SelectField.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAgB,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAM7D,eAAO,MAAM,WAAW,UACf;IACL,aAAa,EAAE,MAAM,CAAA;IACrB,OAAO,EAAE;QAAE,MAAM,EAAE,MAAM,EAAE,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;CAC9D,GAAG,gBAAgB,4CAqCrB,CAAA"}
1
+ {"version":3,"file":"SelectField.d.ts","sourceRoot":"","sources":["../../../src/fields/SelectField/SelectField.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAgB,sBAAsB,EAAE,MAAM,SAAS,CAAA;AAMnE,eAAO,MAAM,WAAW,UACf;IACL,aAAa,EAAE,MAAM,CAAA;IACrB,OAAO,EAAE;QAAE,MAAM,EAAE,MAAM,EAAE,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;IAC7D,IAAI,EAAE,MAAM,CAAA;CACb,GAAG,sBAAsB,4CAoC3B,CAAA"}
@@ -1,11 +1,10 @@
1
1
  'use client';
2
2
  import { jsx as _jsx } from "react/jsx-runtime";
3
- import { SelectInput, useField, useFieldProps } from '@payloadcms/ui';
3
+ import { SelectInput, useField } from '@payloadcms/ui';
4
4
  import React, { useEffect, useState } from 'react';
5
5
  // Use to filter model options in settings based on field types
6
6
  export const SelectField = (props)=>{
7
- const { field, filterByField, options } = props;
8
- const { path } = useFieldProps();
7
+ const { field, filterByField, options, path } = props;
9
8
  const { value: relatedField } = useField({
10
9
  path: filterByField
11
10
  });
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/fields/SelectField/SelectField.tsx"],"sourcesContent":["'use client'\n\nimport type { OptionObject, SelectFieldProps } from 'payload'\n\nimport { SelectInput, useField, useFieldProps } from '@payloadcms/ui'\nimport React, { useEffect, useState } from 'react'\n\n// Use to filter model options in settings based on field types\nexport const SelectField = (\n props: {\n filterByField: string\n options: { fields: string[]; label: string; value: string }[]\n } & SelectFieldProps,\n) => {\n const { field, filterByField, options } = props\n const { path } = useFieldProps()\n const { value: relatedField } = useField<string>({\n path: filterByField,\n })\n\n const [filterOptions, setFilterOptions] = useState<OptionObject[]>([])\n\n useEffect(() => {\n if (!Array.isArray(options)) return\n\n const opts = options.filter((option) => {\n if (!relatedField || !option.fields) return true\n\n if (Array.isArray(option.fields)) {\n return option.fields.includes(relatedField)\n }\n })\n setFilterOptions(opts)\n }, [relatedField, options])\n\n const { setValue, value: selectValue } = useField<string>({ path })\n\n return (\n <SelectInput\n label={field.label}\n name={path}\n onChange={(e: OptionObject) => {\n setValue(e.value)\n }}\n options={filterOptions}\n path={path}\n value={selectValue}\n />\n )\n}\n"],"names":["SelectInput","useField","useFieldProps","React","useEffect","useState","SelectField","props","field","filterByField","options","path","value","relatedField","filterOptions","setFilterOptions","Array","isArray","opts","filter","option","fields","includes","setValue","selectValue","label","name","onChange","e"],"mappings":"AAAA;;AAIA,SAASA,WAAW,EAAEC,QAAQ,EAAEC,aAAa,QAAQ,iBAAgB;AACrE,OAAOC,SAASC,SAAS,EAAEC,QAAQ,QAAQ,QAAO;AAElD,+DAA+D;AAC/D,OAAO,MAAMC,cAAc,CACzBC;IAKA,MAAM,EAAEC,KAAK,EAAEC,aAAa,EAAEC,OAAO,EAAE,GAAGH;IAC1C,MAAM,EAAEI,IAAI,EAAE,GAAGT;IACjB,MAAM,EAAEU,OAAOC,YAAY,EAAE,GAAGZ,SAAiB;QAC/CU,MAAMF;IACR;IAEA,MAAM,CAACK,eAAeC,iBAAiB,GAAGV,SAAyB,EAAE;IAErED,UAAU;QACR,IAAI,CAACY,MAAMC,OAAO,CAACP,UAAU;QAE7B,MAAMQ,OAAOR,QAAQS,MAAM,CAAC,CAACC;YAC3B,IAAI,CAACP,gBAAgB,CAACO,OAAOC,MAAM,EAAE,OAAO;YAE5C,IAAIL,MAAMC,OAAO,CAACG,OAAOC,MAAM,GAAG;gBAChC,OAAOD,OAAOC,MAAM,CAACC,QAAQ,CAACT;YAChC;QACF;QACAE,iBAAiBG;IACnB,GAAG;QAACL;QAAcH;KAAQ;IAE1B,MAAM,EAAEa,QAAQ,EAAEX,OAAOY,WAAW,EAAE,GAAGvB,SAAiB;QAAEU;IAAK;IAEjE,qBACE,KAACX;QACCyB,OAAOjB,MAAMiB,KAAK;QAClBC,MAAMf;QACNgB,UAAU,CAACC;YACTL,SAASK,EAAEhB,KAAK;QAClB;QACAF,SAASI;QACTH,MAAMA;QACNC,OAAOY;;AAGb,EAAC"}
1
+ {"version":3,"sources":["../../../src/fields/SelectField/SelectField.tsx"],"sourcesContent":["'use client'\n\nimport type { OptionObject, SelectFieldClientProps } from 'payload'\n\nimport { SelectInput, useField } from '@payloadcms/ui'\nimport React, { useEffect, useState } from 'react'\n\n// Use to filter model options in settings based on field types\nexport const SelectField = (\n props: {\n filterByField: string\n options: { fields: string[]; label: string; value: string }[]\n path: string\n } & SelectFieldClientProps,\n) => {\n const { field, filterByField, options, path } = props\n const { value: relatedField } = useField<string>({\n path: filterByField,\n })\n\n const [filterOptions, setFilterOptions] = useState<OptionObject[]>([])\n\n useEffect(() => {\n if (!Array.isArray(options)) return\n\n const opts = options.filter((option) => {\n if (!relatedField || !option.fields) return true\n\n if (Array.isArray(option.fields)) {\n return option.fields.includes(relatedField)\n }\n })\n setFilterOptions(opts)\n }, [relatedField, options])\n\n const { setValue, value: selectValue } = useField<string>({ path })\n\n return (\n <SelectInput\n label={field.label}\n name={path}\n onChange={(e: OptionObject) => {\n setValue(e.value)\n }}\n options={filterOptions}\n path={path}\n value={selectValue}\n />\n )\n}\n"],"names":["SelectInput","useField","React","useEffect","useState","SelectField","props","field","filterByField","options","path","value","relatedField","filterOptions","setFilterOptions","Array","isArray","opts","filter","option","fields","includes","setValue","selectValue","label","name","onChange","e"],"mappings":"AAAA;;AAIA,SAASA,WAAW,EAAEC,QAAQ,QAAQ,iBAAgB;AACtD,OAAOC,SAASC,SAAS,EAAEC,QAAQ,QAAQ,QAAO;AAElD,+DAA+D;AAC/D,OAAO,MAAMC,cAAc,CACzBC;IAMA,MAAM,EAAEC,KAAK,EAAEC,aAAa,EAAEC,OAAO,EAAEC,IAAI,EAAE,GAAGJ;IAChD,MAAM,EAAEK,OAAOC,YAAY,EAAE,GAAGX,SAAiB;QAC/CS,MAAMF;IACR;IAEA,MAAM,CAACK,eAAeC,iBAAiB,GAAGV,SAAyB,EAAE;IAErED,UAAU;QACR,IAAI,CAACY,MAAMC,OAAO,CAACP,UAAU;QAE7B,MAAMQ,OAAOR,QAAQS,MAAM,CAAC,CAACC;YAC3B,IAAI,CAACP,gBAAgB,CAACO,OAAOC,MAAM,EAAE,OAAO;YAE5C,IAAIL,MAAMC,OAAO,CAACG,OAAOC,MAAM,GAAG;gBAChC,OAAOD,OAAOC,MAAM,CAACC,QAAQ,CAACT;YAChC;QACF;QACAE,iBAAiBG;IACnB,GAAG;QAACL;QAAcH;KAAQ;IAE1B,MAAM,EAAEa,QAAQ,EAAEX,OAAOY,WAAW,EAAE,GAAGtB,SAAiB;QAAES;IAAK;IAEjE,qBACE,KAACV;QACCwB,OAAOjB,MAAMiB,KAAK;QAClBC,MAAMf;QACNgB,UAAU,CAACC;YACTL,SAASK,EAAEhB,KAAK;QAClB;QACAF,SAASI;QACTH,MAAMA;QACNC,OAAOY;;AAGb,EAAC"}
package/dist/index.d.ts CHANGED
@@ -1,10 +1,5 @@
1
1
  /**
2
- * @license This software is licensed under the MIT License. For commercial use,
3
- * redistribution, or embedding in proprietary systems, please refer to the
4
- * COMMERCIAL-LICENSE.md. Unauthorized commercial use or resale of modified versions
5
- * without appropriate licensing is prohibited.
2
+ * @license This software is licensed under the MIT License.
6
3
  */
7
4
  export { payloadAiPlugin } from './plugin.js';
8
- export { PayloadAiPluginLexicalEditorFeature } from './fields/LexicalEditor/feature.server.js';
9
- export { LexicalBaseNode } from './ai/schemas/lexical.schema.js';
10
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAC7C,OAAO,EAAE,mCAAmC,EAAE,MAAM,0CAA0C,CAAA;AAC9F,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA"}
package/dist/index.js CHANGED
@@ -1,10 +1,5 @@
1
1
  /**
2
- * @license This software is licensed under the MIT License. For commercial use,
3
- * redistribution, or embedding in proprietary systems, please refer to the
4
- * COMMERCIAL-LICENSE.md. Unauthorized commercial use or resale of modified versions
5
- * without appropriate licensing is prohibited.
2
+ * @license This software is licensed under the MIT License.
6
3
  */ export { payloadAiPlugin } from './plugin.js';
7
- export { PayloadAiPluginLexicalEditorFeature } from './fields/LexicalEditor/feature.server.js';
8
- export { LexicalBaseNode } from './ai/schemas/lexical.schema.js';
9
4
 
10
5
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts"],"sourcesContent":["/**\n * @license This software is licensed under the MIT License. For commercial use,\n * redistribution, or embedding in proprietary systems, please refer to the\n * COMMERCIAL-LICENSE.md. Unauthorized commercial use or resale of modified versions\n * without appropriate licensing is prohibited.\n */\n\nexport { payloadAiPlugin } from './plugin.js'\nexport { PayloadAiPluginLexicalEditorFeature } from './fields/LexicalEditor/feature.server.js'\nexport { LexicalBaseNode } from './ai/schemas/lexical.schema.js'\n"],"names":["payloadAiPlugin","PayloadAiPluginLexicalEditorFeature","LexicalBaseNode"],"mappings":"AAAA;;;;;CAKC,GAED,SAASA,eAAe,QAAQ,cAAa;AAC7C,SAASC,mCAAmC,QAAQ,2CAA0C;AAC9F,SAASC,eAAe,QAAQ,iCAAgC"}
1
+ {"version":3,"sources":["../src/index.ts"],"sourcesContent":["/**\n * @license This software is licensed under the MIT License.\n */\n\nexport { payloadAiPlugin } from './plugin.js'\n"],"names":["payloadAiPlugin"],"mappings":"AAAA;;CAEC,GAED,SAASA,eAAe,QAAQ,cAAa"}
package/dist/init.d.ts CHANGED
@@ -1,3 +1,4 @@
1
1
  import type { Payload } from 'payload';
2
- export declare const init: (payload: Payload, fieldSchemaPaths: any) => Promise<void>;
2
+ import type { PluginConfig } from './types.js';
3
+ export declare const init: (payload: Payload, fieldSchemaPaths: any, pluginConfig: PluginConfig) => Promise<void>;
3
4
  //# sourceMappingURL=init.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../src/init.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AAOtC,eAAO,MAAM,IAAI,YAAmB,OAAO,yCAoF1C,CAAA"}
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../src/init.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AAEtC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAO9C,eAAO,MAAM,IAAI,YAAmB,OAAO,uCAAkC,YAAY,kBAuFxF,CAAA"}
package/dist/init.js CHANGED
@@ -1,17 +1,17 @@
1
1
  import { GenerationModels } from './ai/models/index.js';
2
2
  import { seedPrompts } from './ai/prompts.js';
3
- import { generateSeedPrompt } from './ai/utils/generateSeedPrompt.js';
4
- import { PLUGIN_INSTRUCTIONS_MAP_GLOBAL, PLUGIN_INSTRUCTIONS_TABLE } from './defaults.js';
5
- export const init = async (payload, fieldSchemaPaths)=>{
3
+ import { systemGenerate } from './ai/utils/systemGenerate.js';
4
+ import { PLUGIN_INSTRUCTIONS_TABLE } from './defaults.js';
5
+ export const init = async (payload, fieldSchemaPaths, pluginConfig)=>{
6
6
  payload.logger.info(`— AI Plugin: Initializing...`);
7
7
  const paths = Object.keys(fieldSchemaPaths);
8
8
  const fieldInstructionsMap = {};
9
9
  for(let i = 0; i < paths.length; i++){
10
10
  const path = paths[i];
11
- const { type: fieldType, label: fieldLabel } = fieldSchemaPaths[path];
12
- //TODO: if global is broken the plugin doesn't know and does not run reindexing
11
+ const { type: fieldType, label: fieldLabel, relationTo } = fieldSchemaPaths[path];
13
12
  const entry = await payload.find({
14
13
  collection: PLUGIN_INSTRUCTIONS_TABLE,
14
+ pagination: false,
15
15
  where: {
16
16
  'field-type': {
17
17
  equals: fieldType
@@ -28,11 +28,14 @@ export const init = async (payload, fieldSchemaPaths)=>{
28
28
  fieldType,
29
29
  path
30
30
  });
31
- const generatedPrompt = await generateSeedPrompt({
32
- prompt,
33
- system
34
- });
35
- payload.logger.info(`\nPrompt generated for "${fieldLabel}" field:\nprompt: ${generatedPrompt}\n\n`);
31
+ let generatedPrompt = '{{ title }}';
32
+ if (pluginConfig.generatePromptOnInit) {
33
+ generatedPrompt = await systemGenerate({
34
+ prompt,
35
+ system
36
+ });
37
+ payload.logger.info(`\nPrompt generated for "${fieldLabel}" field:\nprompt: ${generatedPrompt}\n\n`);
38
+ }
36
39
  const instructions = await payload.create({
37
40
  collection: PLUGIN_INSTRUCTIONS_TABLE,
38
41
  data: {
@@ -41,10 +44,11 @@ export const init = async (payload, fieldSchemaPaths)=>{
41
44
  return a.fields.includes(fieldType);
42
45
  })?.id,
43
46
  prompt: generatedPrompt,
47
+ 'relation-to': relationTo,
44
48
  'schema-path': path
45
49
  }
46
- }).then((a)=>a).catch((a)=>{
47
- console.log('err-', a);
50
+ }).then((a)=>a).catch((err)=>{
51
+ console.log('— AI Plugin: Error creating Compose settings-', err);
48
52
  });
49
53
  // @ts-expect-error
50
54
  if (instructions?.id) {
@@ -61,16 +65,13 @@ export const init = async (payload, fieldSchemaPaths)=>{
61
65
  };
62
66
  }
63
67
  }
64
- payload.logger.info(`— AI Plugin: Enabled fieldMap: ${JSON.stringify(fieldInstructionsMap, null, 2)}`);
65
- await payload.updateGlobal({
66
- slug: PLUGIN_INSTRUCTIONS_MAP_GLOBAL,
67
- data: {
68
- map: fieldInstructionsMap
69
- },
70
- depth: 2
71
- });
68
+ if (pluginConfig.debugging) {
69
+ payload.logger.info(`— AI Plugin: Enabled fields map: ${JSON.stringify(fieldInstructionsMap, null, 2)}`);
70
+ }
72
71
  payload.logger.info(`— AI Plugin: Initialized!`);
73
- payload.logger.info('\n\n-AI Plugin: Example prompts are added to get you started, Now go break some code 🚀🚀🚀\n\n');
72
+ if (pluginConfig.generatePromptOnInit) {
73
+ payload.logger.info('\n\n-AI Plugin: Example prompts are added to get you started, Now go break some code 🚀🚀🚀\n\n');
74
+ }
74
75
  };
75
76
 
76
77
  //# sourceMappingURL=init.js.map
package/dist/init.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/init.ts"],"sourcesContent":["import type { Payload } from 'payload'\n\nimport { GenerationModels } from './ai/models/index.js'\nimport { seedPrompts } from './ai/prompts.js'\nimport { generateSeedPrompt } from './ai/utils/generateSeedPrompt.js'\nimport { PLUGIN_INSTRUCTIONS_MAP_GLOBAL, PLUGIN_INSTRUCTIONS_TABLE } from './defaults.js'\n\nexport const init = async (payload: Payload, fieldSchemaPaths) => {\n payload.logger.info(`— AI Plugin: Initializing...`)\n\n const paths = Object.keys(fieldSchemaPaths)\n\n const fieldInstructionsMap = {}\n for (let i = 0; i < paths.length; i++) {\n const path = paths[i]\n const { type: fieldType, label: fieldLabel } = fieldSchemaPaths[path]\n //TODO: if global is broken the plugin doesn't know and does not run reindexing\n const entry = await payload.find({\n collection: PLUGIN_INSTRUCTIONS_TABLE,\n where: {\n 'field-type': {\n equals: fieldType,\n },\n 'schema-path': {\n equals: path,\n },\n },\n })\n\n if (!entry?.docs?.length) {\n const { prompt, system } = seedPrompts({\n fieldLabel,\n fieldSchemaPaths,\n fieldType,\n path,\n })\n const generatedPrompt = await generateSeedPrompt({\n prompt,\n system,\n })\n payload.logger.info(\n `\\nPrompt generated for \"${fieldLabel}\" field:\\nprompt: ${generatedPrompt}\\n\\n`,\n )\n const instructions = await payload\n .create({\n collection: PLUGIN_INSTRUCTIONS_TABLE,\n data: {\n 'field-type': fieldType,\n 'model-id': GenerationModels.find((a) => {\n return a.fields.includes(fieldType)\n })?.id,\n prompt: generatedPrompt,\n 'schema-path': path,\n },\n })\n .then((a) => a)\n .catch((a) => {\n console.log('err-', a)\n })\n\n // @ts-expect-error\n if (instructions?.id) {\n fieldInstructionsMap[path] = {\n id: instructions.id,\n fieldType,\n }\n }\n } else {\n const [instructions] = entry.docs\n fieldInstructionsMap[path] = {\n id: instructions.id,\n fieldType,\n }\n }\n }\n\n payload.logger.info(\n `— AI Plugin: Enabled fieldMap: ${JSON.stringify(fieldInstructionsMap, null, 2)}`,\n )\n await payload.updateGlobal({\n slug: PLUGIN_INSTRUCTIONS_MAP_GLOBAL, // required\n data: {\n map: fieldInstructionsMap,\n },\n depth: 2,\n })\n\n payload.logger.info(`— AI Plugin: Initialized!`)\n payload.logger.info(\n '\\n\\n-AI Plugin: Example prompts are added to get you started, Now go break some code 🚀🚀🚀\\n\\n',\n )\n}\n"],"names":["GenerationModels","seedPrompts","generateSeedPrompt","PLUGIN_INSTRUCTIONS_MAP_GLOBAL","PLUGIN_INSTRUCTIONS_TABLE","init","payload","fieldSchemaPaths","logger","info","paths","Object","keys","fieldInstructionsMap","i","length","path","type","fieldType","label","fieldLabel","entry","find","collection","where","equals","docs","prompt","system","generatedPrompt","instructions","create","data","a","fields","includes","id","then","catch","console","log","JSON","stringify","updateGlobal","slug","map","depth"],"mappings":"AAEA,SAASA,gBAAgB,QAAQ,uBAAsB;AACvD,SAASC,WAAW,QAAQ,kBAAiB;AAC7C,SAASC,kBAAkB,QAAQ,mCAAkC;AACrE,SAASC,8BAA8B,EAAEC,yBAAyB,QAAQ,gBAAe;AAEzF,OAAO,MAAMC,OAAO,OAAOC,SAAkBC;IAC3CD,QAAQE,MAAM,CAACC,IAAI,CAAC,CAAC,4BAA4B,CAAC;IAElD,MAAMC,QAAQC,OAAOC,IAAI,CAACL;IAE1B,MAAMM,uBAAuB,CAAC;IAC9B,IAAK,IAAIC,IAAI,GAAGA,IAAIJ,MAAMK,MAAM,EAAED,IAAK;QACrC,MAAME,OAAON,KAAK,CAACI,EAAE;QACrB,MAAM,EAAEG,MAAMC,SAAS,EAAEC,OAAOC,UAAU,EAAE,GAAGb,gBAAgB,CAACS,KAAK;QACrE,+EAA+E;QAC/E,MAAMK,QAAQ,MAAMf,QAAQgB,IAAI,CAAC;YAC/BC,YAAYnB;YACZoB,OAAO;gBACL,cAAc;oBACZC,QAAQP;gBACV;gBACA,eAAe;oBACbO,QAAQT;gBACV;YACF;QACF;QAEA,IAAI,CAACK,OAAOK,MAAMX,QAAQ;YACxB,MAAM,EAAEY,MAAM,EAAEC,MAAM,EAAE,GAAG3B,YAAY;gBACrCmB;gBACAb;gBACAW;gBACAF;YACF;YACA,MAAMa,kBAAkB,MAAM3B,mBAAmB;gBAC/CyB;gBACAC;YACF;YACAtB,QAAQE,MAAM,CAACC,IAAI,CACjB,CAAC,wBAAwB,EAAEW,WAAW,kBAAkB,EAAES,gBAAgB,IAAI,CAAC;YAEjF,MAAMC,eAAe,MAAMxB,QACxByB,MAAM,CAAC;gBACNR,YAAYnB;gBACZ4B,MAAM;oBACJ,cAAcd;oBACd,YAAYlB,iBAAiBsB,IAAI,CAAC,CAACW;wBACjC,OAAOA,EAAEC,MAAM,CAACC,QAAQ,CAACjB;oBAC3B,IAAIkB;oBACJT,QAAQE;oBACR,eAAeb;gBACjB;YACF,GACCqB,IAAI,CAAC,CAACJ,IAAMA,GACZK,KAAK,CAAC,CAACL;gBACNM,QAAQC,GAAG,CAAC,QAAQP;YACtB;YAEF,mBAAmB;YACnB,IAAIH,cAAcM,IAAI;gBACpBvB,oBAAoB,CAACG,KAAK,GAAG;oBAC3BoB,IAAIN,aAAaM,EAAE;oBACnBlB;gBACF;YACF;QACF,OAAO;YACL,MAAM,CAACY,aAAa,GAAGT,MAAMK,IAAI;YACjCb,oBAAoB,CAACG,KAAK,GAAG;gBAC3BoB,IAAIN,aAAaM,EAAE;gBACnBlB;YACF;QACF;IACF;IAEAZ,QAAQE,MAAM,CAACC,IAAI,CACjB,CAAC,+BAA+B,EAAEgC,KAAKC,SAAS,CAAC7B,sBAAsB,MAAM,GAAG,CAAC;IAEnF,MAAMP,QAAQqC,YAAY,CAAC;QACzBC,MAAMzC;QACN6B,MAAM;YACJa,KAAKhC;QACP;QACAiC,OAAO;IACT;IAEAxC,QAAQE,MAAM,CAACC,IAAI,CAAC,CAAC,yBAAyB,CAAC;IAC/CH,QAAQE,MAAM,CAACC,IAAI,CACjB;AAEJ,EAAC"}
1
+ {"version":3,"sources":["../src/init.ts"],"sourcesContent":["import type { Payload } from 'payload'\n\nimport type { PluginConfig } from './types.js'\n\nimport { GenerationModels } from './ai/models/index.js'\nimport { seedPrompts } from './ai/prompts.js'\nimport { systemGenerate } from './ai/utils/systemGenerate.js'\nimport { PLUGIN_INSTRUCTIONS_TABLE } from './defaults.js'\n\nexport const init = async (payload: Payload, fieldSchemaPaths, pluginConfig: PluginConfig) => {\n payload.logger.info(`— AI Plugin: Initializing...`)\n\n const paths = Object.keys(fieldSchemaPaths)\n\n const fieldInstructionsMap = {}\n for (let i = 0; i < paths.length; i++) {\n const path = paths[i]\n const { type: fieldType, label: fieldLabel, relationTo } = fieldSchemaPaths[path]\n const entry = await payload.find({\n collection: PLUGIN_INSTRUCTIONS_TABLE,\n pagination: false,\n where: {\n 'field-type': {\n equals: fieldType,\n },\n 'schema-path': {\n equals: path,\n },\n },\n })\n\n if (!entry?.docs?.length) {\n const { prompt, system } = seedPrompts({\n fieldLabel,\n fieldSchemaPaths,\n fieldType,\n path,\n })\n\n let generatedPrompt = '{{ title }}'\n if (pluginConfig.generatePromptOnInit) {\n generatedPrompt = await systemGenerate({\n prompt,\n system,\n })\n payload.logger.info(\n `\\nPrompt generated for \"${fieldLabel}\" field:\\nprompt: ${generatedPrompt}\\n\\n`,\n )\n }\n\n const instructions = await payload\n .create({\n collection: PLUGIN_INSTRUCTIONS_TABLE,\n data: {\n 'field-type': fieldType,\n 'model-id': GenerationModels.find((a) => {\n return a.fields.includes(fieldType)\n })?.id,\n prompt: generatedPrompt,\n 'relation-to': relationTo,\n 'schema-path': path,\n },\n })\n .then((a) => a)\n .catch((err) => {\n console.log('— AI Plugin: Error creating Compose settings-', err)\n })\n\n // @ts-expect-error\n if (instructions?.id) {\n fieldInstructionsMap[path] = {\n id: instructions.id,\n fieldType,\n }\n }\n } else {\n const [instructions] = entry.docs\n fieldInstructionsMap[path] = {\n id: instructions.id,\n fieldType,\n }\n }\n }\n\n if (pluginConfig.debugging) {\n payload.logger.info(\n `— AI Plugin: Enabled fields map: ${JSON.stringify(fieldInstructionsMap, null, 2)}`,\n )\n }\n\n payload.logger.info(`— AI Plugin: Initialized!`)\n if (pluginConfig.generatePromptOnInit) {\n payload.logger.info(\n '\\n\\n-AI Plugin: Example prompts are added to get you started, Now go break some code 🚀🚀🚀\\n\\n',\n )\n }\n}\n"],"names":["GenerationModels","seedPrompts","systemGenerate","PLUGIN_INSTRUCTIONS_TABLE","init","payload","fieldSchemaPaths","pluginConfig","logger","info","paths","Object","keys","fieldInstructionsMap","i","length","path","type","fieldType","label","fieldLabel","relationTo","entry","find","collection","pagination","where","equals","docs","prompt","system","generatedPrompt","generatePromptOnInit","instructions","create","data","a","fields","includes","id","then","catch","err","console","log","debugging","JSON","stringify"],"mappings":"AAIA,SAASA,gBAAgB,QAAQ,uBAAsB;AACvD,SAASC,WAAW,QAAQ,kBAAiB;AAC7C,SAASC,cAAc,QAAQ,+BAA8B;AAC7D,SAASC,yBAAyB,QAAQ,gBAAe;AAEzD,OAAO,MAAMC,OAAO,OAAOC,SAAkBC,kBAAkBC;IAC7DF,QAAQG,MAAM,CAACC,IAAI,CAAC,CAAC,4BAA4B,CAAC;IAElD,MAAMC,QAAQC,OAAOC,IAAI,CAACN;IAE1B,MAAMO,uBAAuB,CAAC;IAC9B,IAAK,IAAIC,IAAI,GAAGA,IAAIJ,MAAMK,MAAM,EAAED,IAAK;QACrC,MAAME,OAAON,KAAK,CAACI,EAAE;QACrB,MAAM,EAAEG,MAAMC,SAAS,EAAEC,OAAOC,UAAU,EAAEC,UAAU,EAAE,GAAGf,gBAAgB,CAACU,KAAK;QACjF,MAAMM,QAAQ,MAAMjB,QAAQkB,IAAI,CAAC;YAC/BC,YAAYrB;YACZsB,YAAY;YACZC,OAAO;gBACL,cAAc;oBACZC,QAAQT;gBACV;gBACA,eAAe;oBACbS,QAAQX;gBACV;YACF;QACF;QAEA,IAAI,CAACM,OAAOM,MAAMb,QAAQ;YACxB,MAAM,EAAEc,MAAM,EAAEC,MAAM,EAAE,GAAG7B,YAAY;gBACrCmB;gBACAd;gBACAY;gBACAF;YACF;YAEA,IAAIe,kBAAkB;YACtB,IAAIxB,aAAayB,oBAAoB,EAAE;gBACrCD,kBAAkB,MAAM7B,eAAe;oBACrC2B;oBACAC;gBACF;gBACAzB,QAAQG,MAAM,CAACC,IAAI,CACjB,CAAC,wBAAwB,EAAEW,WAAW,kBAAkB,EAAEW,gBAAgB,IAAI,CAAC;YAEnF;YAEA,MAAME,eAAe,MAAM5B,QACxB6B,MAAM,CAAC;gBACNV,YAAYrB;gBACZgC,MAAM;oBACJ,cAAcjB;oBACd,YAAYlB,iBAAiBuB,IAAI,CAAC,CAACa;wBACjC,OAAOA,EAAEC,MAAM,CAACC,QAAQ,CAACpB;oBAC3B,IAAIqB;oBACJV,QAAQE;oBACR,eAAeV;oBACf,eAAeL;gBACjB;YACF,GACCwB,IAAI,CAAC,CAACJ,IAAMA,GACZK,KAAK,CAAC,CAACC;gBACNC,QAAQC,GAAG,CAAC,iDAAiDF;YAC/D;YAEF,mBAAmB;YACnB,IAAIT,cAAcM,IAAI;gBACpB1B,oBAAoB,CAACG,KAAK,GAAG;oBAC3BuB,IAAIN,aAAaM,EAAE;oBACnBrB;gBACF;YACF;QACF,OAAO;YACL,MAAM,CAACe,aAAa,GAAGX,MAAMM,IAAI;YACjCf,oBAAoB,CAACG,KAAK,GAAG;gBAC3BuB,IAAIN,aAAaM,EAAE;gBACnBrB;YACF;QACF;IACF;IAEA,IAAIX,aAAasC,SAAS,EAAE;QAC1BxC,QAAQG,MAAM,CAACC,IAAI,CACjB,CAAC,iCAAiC,EAAEqC,KAAKC,SAAS,CAAClC,sBAAsB,MAAM,IAAI;IAEvF;IAEAR,QAAQG,MAAM,CAACC,IAAI,CAAC,CAAC,yBAAyB,CAAC;IAC/C,IAAIF,aAAayB,oBAAoB,EAAE;QACrC3B,QAAQG,MAAM,CAACC,IAAI,CACjB;IAEJ;AACF,EAAC"}
@@ -3,7 +3,7 @@
3
3
  * Github: https://github.com/yury-dymov/react-autocomplete-input
4
4
  *
5
5
  * Modified to only be use for PromptEditorField
6
- */ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
6
+ */ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
7
7
  import * as inputSelection from 'get-input-selection';
8
8
  import isEqual from 'lodash.isequal';
9
9
  import React, { useCallback, useEffect, useRef, useState } from 'react';
@@ -159,8 +159,10 @@ export const AutocompleteTextField = (props)=>{
159
159
  matchAny
160
160
  ]);
161
161
  const updateCaretPosition = useCallback((newCaret)=>{
162
- setCaret(newCaret);
163
- inputSelection.default.setCaretPosition(inputRef.current, newCaret);
162
+ requestAnimationFrame(()=>{
163
+ setCaret(newCaret);
164
+ inputSelection.default.setCaretPosition(inputRef.current, newCaret);
165
+ });
164
166
  }, []);
165
167
  const updateHelper = useCallback((str, caretPos, helperOptions)=>{
166
168
  const slug = getMatch(str, caretPos, helperOptions);
@@ -183,6 +185,7 @@ export const AutocompleteTextField = (props)=>{
183
185
  }
184
186
  resetHelper();
185
187
  }
188
+ updateCaretPosition(caretPos);
186
189
  } else {
187
190
  resetHelper();
188
191
  }
@@ -190,7 +193,8 @@ export const AutocompleteTextField = (props)=>{
190
193
  getMatch,
191
194
  minChars,
192
195
  requestOnlyIfNoOptions,
193
- onRequestOptions
196
+ onRequestOptions,
197
+ updateCaretPosition
194
198
  ]);
195
199
  const resetHelper = useCallback(()=>{
196
200
  setHelperVisible(false);
@@ -203,8 +207,6 @@ export const AutocompleteTextField = (props)=>{
203
207
  setHelperVisible(false);
204
208
  }
205
209
  recentValue.current = str;
206
- setCaret(caretPos);
207
- setValue(e.target.value);
208
210
  if (!str.length || !caretPos) {
209
211
  return onChange(e.target.value);
210
212
  }
@@ -348,7 +350,7 @@ export const AutocompleteTextField = (props)=>{
348
350
  if (!val.startsWith(text)) {
349
351
  return text;
350
352
  }
351
- return /*#__PURE__*/ _jsxs(_Fragment, {
353
+ return /*#__PURE__*/ _jsxs(React.Fragment, {
352
354
  children: [
353
355
  text.slice(0, highlightStart),
354
356
  /*#__PURE__*/ _jsx("strong", {