@ai-stack/payloadcms 3.0.0-beta.104
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE.md +21 -0
- package/README.md +137 -0
- package/dist/ai/analyse.d.ts +2 -0
- package/dist/ai/analyse.d.ts.map +1 -0
- package/dist/ai/analyse.js +3 -0
- package/dist/ai/analyse.js.map +1 -0
- package/dist/ai/models/anthropic/generateRichText.d.ts +2 -0
- package/dist/ai/models/anthropic/generateRichText.d.ts.map +1 -0
- package/dist/ai/models/anthropic/generateRichText.js +38 -0
- package/dist/ai/models/anthropic/generateRichText.js.map +1 -0
- package/dist/ai/models/anthropic/index.d.ts +3 -0
- package/dist/ai/models/anthropic/index.d.ts.map +1 -0
- package/dist/ai/models/anthropic/index.js +112 -0
- package/dist/ai/models/anthropic/index.js.map +1 -0
- package/dist/ai/models/elevenLabs/generateVoice.d.ts +10 -0
- package/dist/ai/models/elevenLabs/generateVoice.d.ts.map +1 -0
- package/dist/ai/models/elevenLabs/generateVoice.js +20 -0
- package/dist/ai/models/elevenLabs/generateVoice.js.map +1 -0
- package/dist/ai/models/elevenLabs/index.d.ts +3 -0
- package/dist/ai/models/elevenLabs/index.d.ts.map +1 -0
- package/dist/ai/models/elevenLabs/index.js +129 -0
- package/dist/ai/models/elevenLabs/index.js.map +1 -0
- package/dist/ai/models/elevenLabs/voices.d.ts +4 -0
- package/dist/ai/models/elevenLabs/voices.d.ts.map +1 -0
- package/dist/ai/models/elevenLabs/voices.js +24 -0
- package/dist/ai/models/elevenLabs/voices.js.map +1 -0
- package/dist/ai/models/example-prompt-rich-text.md +47 -0
- package/dist/ai/models/example.d.ts +73 -0
- package/dist/ai/models/example.d.ts.map +1 -0
- package/dist/ai/models/example.js +126 -0
- package/dist/ai/models/example.js.map +1 -0
- package/dist/ai/models/index.d.ts +3 -0
- package/dist/ai/models/index.d.ts.map +1 -0
- package/dist/ai/models/index.js +11 -0
- package/dist/ai/models/index.js.map +1 -0
- package/dist/ai/models/openai/generateImage.d.ts +10 -0
- package/dist/ai/models/openai/generateImage.d.ts.map +1 -0
- package/dist/ai/models/openai/generateImage.js +20 -0
- package/dist/ai/models/openai/generateImage.js.map +1 -0
- package/dist/ai/models/openai/generateRichText.d.ts +2 -0
- package/dist/ai/models/openai/generateRichText.d.ts.map +1 -0
- package/dist/ai/models/openai/generateRichText.js +38 -0
- package/dist/ai/models/openai/generateRichText.js.map +1 -0
- package/dist/ai/models/openai/generateVoice.d.ts +7 -0
- package/dist/ai/models/openai/generateVoice.d.ts.map +1 -0
- package/dist/ai/models/openai/generateVoice.js +19 -0
- package/dist/ai/models/openai/generateVoice.js.map +1 -0
- package/dist/ai/models/openai/index.d.ts +3 -0
- package/dist/ai/models/openai/index.d.ts.map +1 -0
- package/dist/ai/models/openai/index.js +276 -0
- package/dist/ai/models/openai/index.js.map +1 -0
- package/dist/ai/prompts.d.ts +25 -0
- package/dist/ai/prompts.d.ts.map +1 -0
- package/dist/ai/prompts.js +214 -0
- package/dist/ai/prompts.js.map +1 -0
- package/dist/ai/schemas/lexical.schema.d.ts +31 -0
- package/dist/ai/schemas/lexical.schema.d.ts.map +1 -0
- package/dist/ai/schemas/lexical.schema.js +102 -0
- package/dist/ai/schemas/lexical.schema.js.map +1 -0
- package/dist/ai/utils/generateFileNameByPrompt.d.ts +2 -0
- package/dist/ai/utils/generateFileNameByPrompt.d.ts.map +1 -0
- package/dist/ai/utils/generateFileNameByPrompt.js +21 -0
- package/dist/ai/utils/generateFileNameByPrompt.js.map +1 -0
- package/dist/ai/utils/generateSeedPrompt.d.ts +5 -0
- package/dist/ai/utils/generateSeedPrompt.d.ts.map +1 -0
- package/dist/ai/utils/generateSeedPrompt.js +23 -0
- package/dist/ai/utils/generateSeedPrompt.js.map +1 -0
- package/dist/collections/Instructions.d.ts +3 -0
- package/dist/collections/Instructions.d.ts.map +1 -0
- package/dist/collections/Instructions.js +109 -0
- package/dist/collections/Instructions.js.map +1 -0
- package/dist/defaults.d.ts +10 -0
- package/dist/defaults.d.ts.map +1 -0
- package/dist/defaults.js +13 -0
- package/dist/defaults.js.map +1 -0
- package/dist/endpoints/index.d.ts +3 -0
- package/dist/endpoints/index.d.ts.map +1 -0
- package/dist/endpoints/index.js +141 -0
- package/dist/endpoints/index.js.map +1 -0
- package/dist/exports/client.d.ts +3 -0
- package/dist/exports/client.d.ts.map +1 -0
- package/dist/exports/client.js +4 -0
- package/dist/exports/client.js.map +1 -0
- package/dist/exports/fields.d.ts +4 -0
- package/dist/exports/fields.d.ts.map +1 -0
- package/dist/exports/fields.js +5 -0
- package/dist/exports/fields.js.map +1 -0
- package/dist/exports/types.d.ts +3 -0
- package/dist/exports/types.d.ts.map +1 -0
- package/dist/exports/types.js +3 -0
- package/dist/exports/types.js.map +1 -0
- package/dist/fields/ComposeField/ComposeField.d.ts +4 -0
- package/dist/fields/ComposeField/ComposeField.d.ts.map +1 -0
- package/dist/fields/ComposeField/ComposeField.js +18 -0
- package/dist/fields/ComposeField/ComposeField.js.map +1 -0
- package/dist/fields/LexicalEditor/ComposeFeatureComponent.d.ts +2 -0
- package/dist/fields/LexicalEditor/ComposeFeatureComponent.d.ts.map +1 -0
- package/dist/fields/LexicalEditor/ComposeFeatureComponent.js +15 -0
- package/dist/fields/LexicalEditor/ComposeFeatureComponent.js.map +1 -0
- package/dist/fields/LexicalEditor/feature.client.d.ts +2 -0
- package/dist/fields/LexicalEditor/feature.client.d.ts.map +1 -0
- package/dist/fields/LexicalEditor/feature.client.js +13 -0
- package/dist/fields/LexicalEditor/feature.client.js.map +1 -0
- package/dist/fields/LexicalEditor/feature.server.d.ts +2 -0
- package/dist/fields/LexicalEditor/feature.server.d.ts.map +1 -0
- package/dist/fields/LexicalEditor/feature.server.js +12 -0
- package/dist/fields/LexicalEditor/feature.server.js.map +1 -0
- package/dist/fields/PromptEditorField/PromptEditorField.d.ts +4 -0
- package/dist/fields/PromptEditorField/PromptEditorField.d.ts.map +1 -0
- package/dist/fields/PromptEditorField/PromptEditorField.js +41 -0
- package/dist/fields/PromptEditorField/PromptEditorField.js.map +1 -0
- package/dist/fields/SelectField/SelectField.d.ts +10 -0
- package/dist/fields/SelectField/SelectField.d.ts.map +1 -0
- package/dist/fields/SelectField/SelectField.js +41 -0
- package/dist/fields/SelectField/SelectField.js.map +1 -0
- package/dist/index.d.ts +10 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +10 -0
- package/dist/index.js.map +1 -0
- package/dist/init.d.ts +4 -0
- package/dist/init.d.ts.map +1 -0
- package/dist/init.js +81 -0
- package/dist/init.js.map +1 -0
- package/dist/libraries/autocomplete/AutocompleteTextArea.d.ts +8 -0
- package/dist/libraries/autocomplete/AutocompleteTextArea.d.ts.map +1 -0
- package/dist/libraries/autocomplete/AutocompleteTextArea.js +437 -0
- package/dist/libraries/autocomplete/AutocompleteTextArea.js.map +1 -0
- package/dist/libraries/autocomplete/AutocompleteTextArea.module.scss +35 -0
- package/dist/libraries/handlebars/asyncHandlebars.d.ts +2 -0
- package/dist/libraries/handlebars/asyncHandlebars.d.ts.map +1 -0
- package/dist/libraries/handlebars/asyncHandlebars.js +5 -0
- package/dist/libraries/handlebars/asyncHandlebars.js.map +1 -0
- package/dist/libraries/handlebars/helpers.d.ts +2 -0
- package/dist/libraries/handlebars/helpers.d.ts.map +1 -0
- package/dist/libraries/handlebars/helpers.js +22 -0
- package/dist/libraries/handlebars/helpers.js.map +1 -0
- package/dist/libraries/handlebars/helpersMap.d.ts +12 -0
- package/dist/libraries/handlebars/helpersMap.d.ts.map +1 -0
- package/dist/libraries/handlebars/helpersMap.js +13 -0
- package/dist/libraries/handlebars/helpersMap.js.map +1 -0
- package/dist/libraries/handlebars/replacePlaceholders.d.ts +2 -0
- package/dist/libraries/handlebars/replacePlaceholders.d.ts.map +1 -0
- package/dist/libraries/handlebars/replacePlaceholders.js +8 -0
- package/dist/libraries/handlebars/replacePlaceholders.js.map +1 -0
- package/dist/plugin.d.ts +5 -0
- package/dist/plugin.d.ts.map +1 -0
- package/dist/plugin.js +121 -0
- package/dist/plugin.js.map +1 -0
- package/dist/providers/InstructionsProvider/InstructionsProvider.d.ts +6 -0
- package/dist/providers/InstructionsProvider/InstructionsProvider.d.ts.map +1 -0
- package/dist/providers/InstructionsProvider/InstructionsProvider.js +31 -0
- package/dist/providers/InstructionsProvider/InstructionsProvider.js.map +1 -0
- package/dist/providers/InstructionsProvider/useInstructions.d.ts +4 -0
- package/dist/providers/InstructionsProvider/useInstructions.d.ts.map +1 -0
- package/dist/providers/InstructionsProvider/useInstructions.js +38 -0
- package/dist/providers/InstructionsProvider/useInstructions.js.map +1 -0
- package/dist/styles.d.js +2 -0
- package/dist/styles.d.js.map +1 -0
- package/dist/translations/en.json +4 -0
- package/dist/translations/es.json +4 -0
- package/dist/translations/fa.json +4 -0
- package/dist/translations/fr.json +4 -0
- package/dist/translations/index.d.ts +38 -0
- package/dist/translations/index.d.ts.map +1 -0
- package/dist/translations/index.js +36 -0
- package/dist/translations/index.js.map +1 -0
- package/dist/translations/pl.json +4 -0
- package/dist/translations/ru.json +4 -0
- package/dist/translations/translation-schema.json +16 -0
- package/dist/translations/uk.json +4 -0
- package/dist/types.d.ts +94 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +6 -0
- package/dist/types.js.map +1 -0
- package/dist/ui/Compose/Compose.d.ts +9 -0
- package/dist/ui/Compose/Compose.d.ts.map +1 -0
- package/dist/ui/Compose/Compose.js +176 -0
- package/dist/ui/Compose/Compose.js.map +1 -0
- package/dist/ui/Compose/UndoRedoActions.d.ts +4 -0
- package/dist/ui/Compose/UndoRedoActions.d.ts.map +1 -0
- package/dist/ui/Compose/UndoRedoActions.js +56 -0
- package/dist/ui/Compose/UndoRedoActions.js.map +1 -0
- package/dist/ui/Compose/compose.module.scss +19 -0
- package/dist/ui/Compose/hooks/menu/Item.d.ts +5 -0
- package/dist/ui/Compose/hooks/menu/Item.d.ts.map +1 -0
- package/dist/ui/Compose/hooks/menu/Item.js +32 -0
- package/dist/ui/Compose/hooks/menu/Item.js.map +1 -0
- package/dist/ui/Compose/hooks/menu/TranslateMenu.d.ts +4 -0
- package/dist/ui/Compose/hooks/menu/TranslateMenu.d.ts.map +1 -0
- package/dist/ui/Compose/hooks/menu/TranslateMenu.js +78 -0
- package/dist/ui/Compose/hooks/menu/TranslateMenu.js.map +1 -0
- package/dist/ui/Compose/hooks/menu/items.d.ts +9 -0
- package/dist/ui/Compose/hooks/menu/items.d.ts.map +1 -0
- package/dist/ui/Compose/hooks/menu/items.js +12 -0
- package/dist/ui/Compose/hooks/menu/items.js.map +1 -0
- package/dist/ui/Compose/hooks/menu/itemsMap.d.ts +11 -0
- package/dist/ui/Compose/hooks/menu/itemsMap.d.ts.map +1 -0
- package/dist/ui/Compose/hooks/menu/itemsMap.js +68 -0
- package/dist/ui/Compose/hooks/menu/itemsMap.js.map +1 -0
- package/dist/ui/Compose/hooks/menu/menu.module.scss +109 -0
- package/dist/ui/Compose/hooks/menu/useMenu.d.ts +11 -0
- package/dist/ui/Compose/hooks/menu/useMenu.d.ts.map +1 -0
- package/dist/ui/Compose/hooks/menu/useMenu.js +93 -0
- package/dist/ui/Compose/hooks/menu/useMenu.js.map +1 -0
- package/dist/ui/Compose/hooks/useGenerate.d.ts +11 -0
- package/dist/ui/Compose/hooks/useGenerate.d.ts.map +1 -0
- package/dist/ui/Compose/hooks/useGenerate.js +175 -0
- package/dist/ui/Compose/hooks/useGenerate.js.map +1 -0
- package/dist/ui/Compose/hooks/useHistory.d.ts +9 -0
- package/dist/ui/Compose/hooks/useHistory.d.ts.map +1 -0
- package/dist/ui/Compose/hooks/useHistory.js +171 -0
- package/dist/ui/Compose/hooks/useHistory.js.map +1 -0
- package/dist/ui/Icons/Icons.d.ts +45 -0
- package/dist/ui/Icons/Icons.d.ts.map +1 -0
- package/dist/ui/Icons/Icons.js +154 -0
- package/dist/ui/Icons/Icons.js.map +1 -0
- package/dist/ui/Icons/LottieAnimation.d.ts +5 -0
- package/dist/ui/Icons/LottieAnimation.d.ts.map +1 -0
- package/dist/ui/Icons/LottieAnimation.js +100 -0
- package/dist/ui/Icons/LottieAnimation.js.map +1 -0
- package/dist/ui/Icons/icons.module.css +26 -0
- package/dist/utilities/getFieldBySchemaPath.d.ts +3 -0
- package/dist/utilities/getFieldBySchemaPath.d.ts.map +1 -0
- package/dist/utilities/getFieldBySchemaPath.js +37 -0
- package/dist/utilities/getFieldBySchemaPath.js.map +1 -0
- package/dist/utilities/getFieldInfo.d.ts +3 -0
- package/dist/utilities/getFieldInfo.d.ts.map +1 -0
- package/dist/utilities/getFieldInfo.js +14 -0
- package/dist/utilities/getFieldInfo.js.map +1 -0
- package/dist/utilities/isPluginActivated.d.ts +2 -0
- package/dist/utilities/isPluginActivated.d.ts.map +1 -0
- package/dist/utilities/isPluginActivated.js +5 -0
- package/dist/utilities/isPluginActivated.js.map +1 -0
- package/dist/utilities/jsonToZod.d.ts +3 -0
- package/dist/utilities/jsonToZod.d.ts.map +1 -0
- package/dist/utilities/jsonToZod.js +33 -0
- package/dist/utilities/jsonToZod.js.map +1 -0
- package/dist/utilities/lexicalToHTML.d.ts +4 -0
- package/dist/utilities/lexicalToHTML.d.ts.map +1 -0
- package/dist/utilities/lexicalToHTML.js +11 -0
- package/dist/utilities/lexicalToHTML.js.map +1 -0
- package/dist/utilities/setSafeLexicalState.d.ts +5 -0
- package/dist/utilities/setSafeLexicalState.d.ts.map +1 -0
- package/dist/utilities/setSafeLexicalState.js +20 -0
- package/dist/utilities/setSafeLexicalState.js.map +1 -0
- package/dist/utilities/updateFieldsConfig.d.ts +8 -0
- package/dist/utilities/updateFieldsConfig.d.ts.map +1 -0
- package/dist/utilities/updateFieldsConfig.js +89 -0
- package/dist/utilities/updateFieldsConfig.js.map +1 -0
- package/package.json +124 -0
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
export declare const exampleOutput: {
|
|
2
|
+
root: {
|
|
3
|
+
type: string;
|
|
4
|
+
children: ({
|
|
5
|
+
type: string;
|
|
6
|
+
children: {
|
|
7
|
+
type: string;
|
|
8
|
+
format: number;
|
|
9
|
+
text: string;
|
|
10
|
+
}[];
|
|
11
|
+
listType?: undefined;
|
|
12
|
+
start?: undefined;
|
|
13
|
+
tag?: undefined;
|
|
14
|
+
} | {
|
|
15
|
+
type: string;
|
|
16
|
+
children: ({
|
|
17
|
+
type: string;
|
|
18
|
+
children: {
|
|
19
|
+
type: string;
|
|
20
|
+
text: string;
|
|
21
|
+
}[];
|
|
22
|
+
value: number;
|
|
23
|
+
checked?: undefined;
|
|
24
|
+
} | {
|
|
25
|
+
type: string;
|
|
26
|
+
checked: boolean;
|
|
27
|
+
children: {
|
|
28
|
+
type: string;
|
|
29
|
+
text: string;
|
|
30
|
+
}[];
|
|
31
|
+
value: number;
|
|
32
|
+
})[];
|
|
33
|
+
listType: string;
|
|
34
|
+
start: number;
|
|
35
|
+
tag: string;
|
|
36
|
+
} | {
|
|
37
|
+
type: string;
|
|
38
|
+
children: {
|
|
39
|
+
type: string;
|
|
40
|
+
text: string;
|
|
41
|
+
}[];
|
|
42
|
+
tag: string;
|
|
43
|
+
listType?: undefined;
|
|
44
|
+
start?: undefined;
|
|
45
|
+
} | {
|
|
46
|
+
type: string;
|
|
47
|
+
children: ({
|
|
48
|
+
type: string;
|
|
49
|
+
text: string;
|
|
50
|
+
id?: undefined;
|
|
51
|
+
children?: undefined;
|
|
52
|
+
fields?: undefined;
|
|
53
|
+
} | {
|
|
54
|
+
id: string;
|
|
55
|
+
type: string;
|
|
56
|
+
children: {
|
|
57
|
+
type: string;
|
|
58
|
+
text: string;
|
|
59
|
+
}[];
|
|
60
|
+
fields: {
|
|
61
|
+
linkType: string;
|
|
62
|
+
newTab: boolean;
|
|
63
|
+
url: string;
|
|
64
|
+
};
|
|
65
|
+
text?: undefined;
|
|
66
|
+
})[];
|
|
67
|
+
listType?: undefined;
|
|
68
|
+
start?: undefined;
|
|
69
|
+
tag?: undefined;
|
|
70
|
+
})[];
|
|
71
|
+
};
|
|
72
|
+
};
|
|
73
|
+
//# sourceMappingURL=example.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"example.d.ts","sourceRoot":"","sources":["../../../src/ai/models/example.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2HzB,CAAA"}
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
export const exampleOutput = {
|
|
2
|
+
root: {
|
|
3
|
+
type: 'root',
|
|
4
|
+
children: [
|
|
5
|
+
{
|
|
6
|
+
type: 'paragraph',
|
|
7
|
+
children: [
|
|
8
|
+
{
|
|
9
|
+
type: 'text',
|
|
10
|
+
format: 0,
|
|
11
|
+
text: 'This is an example of text '
|
|
12
|
+
}
|
|
13
|
+
]
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
type: 'paragraph',
|
|
17
|
+
children: [
|
|
18
|
+
{
|
|
19
|
+
type: 'text',
|
|
20
|
+
format: 0,
|
|
21
|
+
text: 'This text has example of '
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
type: 'text',
|
|
25
|
+
format: 1,
|
|
26
|
+
text: 'bold,'
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
type: 'text',
|
|
30
|
+
format: 2,
|
|
31
|
+
text: 'italic,'
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
type: 'text',
|
|
35
|
+
format: 8,
|
|
36
|
+
text: 'underline,'
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
type: 'text',
|
|
40
|
+
format: 4,
|
|
41
|
+
text: 'strikethrough,'
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
type: 'text',
|
|
45
|
+
format: 16,
|
|
46
|
+
text: 'code'
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
type: 'text',
|
|
50
|
+
format: 0,
|
|
51
|
+
text: ' text types. Use these to highlight and emphasis specific content as needed.'
|
|
52
|
+
}
|
|
53
|
+
]
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
type: 'list',
|
|
57
|
+
children: [
|
|
58
|
+
{
|
|
59
|
+
type: 'listitem',
|
|
60
|
+
children: [
|
|
61
|
+
{
|
|
62
|
+
type: 'text',
|
|
63
|
+
text: 'This is a checklist item #1'
|
|
64
|
+
}
|
|
65
|
+
],
|
|
66
|
+
value: 1
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
type: 'listitem',
|
|
70
|
+
checked: true,
|
|
71
|
+
children: [
|
|
72
|
+
{
|
|
73
|
+
type: 'text',
|
|
74
|
+
text: 'This checklist item is checked'
|
|
75
|
+
}
|
|
76
|
+
],
|
|
77
|
+
value: 2
|
|
78
|
+
}
|
|
79
|
+
],
|
|
80
|
+
listType: 'check',
|
|
81
|
+
start: 1,
|
|
82
|
+
tag: 'ul'
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
type: 'heading',
|
|
86
|
+
children: [
|
|
87
|
+
{
|
|
88
|
+
type: 'text',
|
|
89
|
+
text: 'Heading level 1'
|
|
90
|
+
}
|
|
91
|
+
],
|
|
92
|
+
tag: 'h1'
|
|
93
|
+
},
|
|
94
|
+
{
|
|
95
|
+
type: 'paragraph',
|
|
96
|
+
children: [
|
|
97
|
+
{
|
|
98
|
+
type: 'text',
|
|
99
|
+
text: 'This paragraph has a '
|
|
100
|
+
},
|
|
101
|
+
{
|
|
102
|
+
id: 'unique-id-1',
|
|
103
|
+
type: 'link',
|
|
104
|
+
children: [
|
|
105
|
+
{
|
|
106
|
+
type: 'text',
|
|
107
|
+
text: 'link'
|
|
108
|
+
}
|
|
109
|
+
],
|
|
110
|
+
fields: {
|
|
111
|
+
linkType: 'custom',
|
|
112
|
+
newTab: true,
|
|
113
|
+
url: 'https://example.com'
|
|
114
|
+
}
|
|
115
|
+
},
|
|
116
|
+
{
|
|
117
|
+
type: 'text',
|
|
118
|
+
text: ' that opens in a new tab.'
|
|
119
|
+
}
|
|
120
|
+
]
|
|
121
|
+
}
|
|
122
|
+
]
|
|
123
|
+
}
|
|
124
|
+
};
|
|
125
|
+
|
|
126
|
+
//# sourceMappingURL=example.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/ai/models/example.ts"],"sourcesContent":["export const exampleOutput = {\n root: {\n type: 'root',\n children: [\n {\n type: 'paragraph',\n children: [\n {\n type: 'text',\n format: 0,\n text: 'This is an example of text ',\n },\n ],\n },\n {\n type: 'paragraph',\n children: [\n {\n type: 'text',\n format: 0,\n text: 'This text has example of ',\n },\n {\n type: 'text',\n format: 1,\n text: 'bold,',\n },\n {\n type: 'text',\n format: 2,\n text: 'italic,',\n },\n {\n type: 'text',\n format: 8,\n text: 'underline,',\n },\n {\n type: 'text',\n format: 4,\n text: 'strikethrough,',\n },\n {\n type: 'text',\n format: 16,\n text: 'code',\n },\n {\n type: 'text',\n format: 0,\n text: ' text types. Use these to highlight and emphasis specific content as needed.',\n },\n ],\n },\n {\n type: 'list',\n children: [\n {\n type: 'listitem',\n children: [\n {\n type: 'text',\n text: 'This is a checklist item #1',\n },\n ],\n value: 1,\n },\n {\n type: 'listitem',\n checked: true,\n children: [\n {\n type: 'text',\n text: 'This checklist item is checked',\n },\n ],\n value: 2,\n },\n ],\n listType: 'check',\n start: 1,\n tag: 'ul',\n },\n {\n type: 'heading',\n children: [\n {\n type: 'text',\n text: 'Heading level 1',\n },\n ],\n tag: 'h1',\n },\n {\n type: 'paragraph',\n children: [\n {\n type: 'text',\n text: 'This paragraph has a ',\n },\n {\n id: 'unique-id-1',\n type: 'link',\n children: [\n {\n type: 'text',\n text: 'link',\n },\n ],\n fields: {\n linkType: 'custom',\n newTab: true,\n url: 'https://example.com',\n },\n },\n {\n type: 'text',\n text: ' that opens in a new tab.',\n },\n ],\n },\n ],\n },\n}\n"],"names":["exampleOutput","root","type","children","format","text","value","checked","listType","start","tag","id","fields","linkType","newTab","url"],"mappings":"AAAA,OAAO,MAAMA,gBAAgB;IAC3BC,MAAM;QACJC,MAAM;QACNC,UAAU;YACR;gBACED,MAAM;gBACNC,UAAU;oBACR;wBACED,MAAM;wBACNE,QAAQ;wBACRC,MAAM;oBACR;iBACD;YACH;YACA;gBACEH,MAAM;gBACNC,UAAU;oBACR;wBACED,MAAM;wBACNE,QAAQ;wBACRC,MAAM;oBACR;oBACA;wBACEH,MAAM;wBACNE,QAAQ;wBACRC,MAAM;oBACR;oBACA;wBACEH,MAAM;wBACNE,QAAQ;wBACRC,MAAM;oBACR;oBACA;wBACEH,MAAM;wBACNE,QAAQ;wBACRC,MAAM;oBACR;oBACA;wBACEH,MAAM;wBACNE,QAAQ;wBACRC,MAAM;oBACR;oBACA;wBACEH,MAAM;wBACNE,QAAQ;wBACRC,MAAM;oBACR;oBACA;wBACEH,MAAM;wBACNE,QAAQ;wBACRC,MAAM;oBACR;iBACD;YACH;YACA;gBACEH,MAAM;gBACNC,UAAU;oBACR;wBACED,MAAM;wBACNC,UAAU;4BACR;gCACED,MAAM;gCACNG,MAAM;4BACR;yBACD;wBACDC,OAAO;oBACT;oBACA;wBACEJ,MAAM;wBACNK,SAAS;wBACTJ,UAAU;4BACR;gCACED,MAAM;gCACNG,MAAM;4BACR;yBACD;wBACDC,OAAO;oBACT;iBACD;gBACDE,UAAU;gBACVC,OAAO;gBACPC,KAAK;YACP;YACA;gBACER,MAAM;gBACNC,UAAU;oBACR;wBACED,MAAM;wBACNG,MAAM;oBACR;iBACD;gBACDK,KAAK;YACP;YACA;gBACER,MAAM;gBACNC,UAAU;oBACR;wBACED,MAAM;wBACNG,MAAM;oBACR;oBACA;wBACEM,IAAI;wBACJT,MAAM;wBACNC,UAAU;4BACR;gCACED,MAAM;gCACNG,MAAM;4BACR;yBACD;wBACDO,QAAQ;4BACNC,UAAU;4BACVC,QAAQ;4BACRC,KAAK;wBACP;oBACF;oBACA;wBACEb,MAAM;wBACNG,MAAM;oBACR;iBACD;YACH;SACD;IACH;AACF,EAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ai/models/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAMrD,eAAO,MAAM,gBAAgB,EAAE,eAAe,EAI7C,CAAA"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import * as process from 'node:process';
|
|
2
|
+
import { AnthropicConfig } from './anthropic/index.js';
|
|
3
|
+
import { ElevenLabsConfig } from './elevenLabs/index.js';
|
|
4
|
+
import { OpenAIConfig } from './openai/index.js';
|
|
5
|
+
export const GenerationModels = [
|
|
6
|
+
...process.env.OPENAI_API_KEY ? OpenAIConfig.models : [],
|
|
7
|
+
...process.env.ANTHROPIC_API_KEY ? AnthropicConfig.models : [],
|
|
8
|
+
...process.env.ELEVENLABS_API_KEY ? ElevenLabsConfig.models : []
|
|
9
|
+
];
|
|
10
|
+
|
|
11
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/ai/models/index.ts"],"sourcesContent":["import * as process from 'node:process'\n\nimport type { GenerationModel } from '../../types.js'\n\nimport { AnthropicConfig } from './anthropic/index.js'\nimport { ElevenLabsConfig } from './elevenLabs/index.js'\nimport { OpenAIConfig } from './openai/index.js'\n\nexport const GenerationModels: GenerationModel[] = [\n ...(process.env.OPENAI_API_KEY ? OpenAIConfig.models : []),\n ...(process.env.ANTHROPIC_API_KEY ? AnthropicConfig.models : []),\n ...(process.env.ELEVENLABS_API_KEY ? ElevenLabsConfig.models : []),\n]\n"],"names":["process","AnthropicConfig","ElevenLabsConfig","OpenAIConfig","GenerationModels","env","OPENAI_API_KEY","models","ANTHROPIC_API_KEY","ELEVENLABS_API_KEY"],"mappings":"AAAA,YAAYA,aAAa,eAAc;AAIvC,SAASC,eAAe,QAAQ,uBAAsB;AACtD,SAASC,gBAAgB,QAAQ,wBAAuB;AACxD,SAASC,YAAY,QAAQ,oBAAmB;AAEhD,OAAO,MAAMC,mBAAsC;OAC7CJ,QAAQK,GAAG,CAACC,cAAc,GAAGH,aAAaI,MAAM,GAAG,EAAE;OACrDP,QAAQK,GAAG,CAACG,iBAAiB,GAAGP,gBAAgBM,MAAM,GAAG,EAAE;OAC3DP,QAAQK,GAAG,CAACI,kBAAkB,GAAGP,iBAAiBK,MAAM,GAAG,EAAE;CAClE,CAAA"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { ImageGenerateParams } from 'openai/resources/images';
|
|
2
|
+
export declare const generateImage: (prompt: string, { size, style, version, }?: {
|
|
3
|
+
size?: ImageGenerateParams["size"];
|
|
4
|
+
style?: ImageGenerateParams["style"];
|
|
5
|
+
version?: ImageGenerateParams["model"];
|
|
6
|
+
}) => Promise<{
|
|
7
|
+
alt: string;
|
|
8
|
+
buffer: Buffer;
|
|
9
|
+
}>;
|
|
10
|
+
//# sourceMappingURL=generateImage.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generateImage.d.ts","sourceRoot":"","sources":["../../../../src/ai/models/openai/generateImage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAA;AAIlE,eAAO,MAAM,aAAa,WAChB,MAAM,8BAKX;IACD,IAAI,CAAC,EAAE,mBAAmB,CAAC,MAAM,CAAC,CAAA;IAClC,KAAK,CAAC,EAAE,mBAAmB,CAAC,OAAO,CAAC,CAAA;IACpC,OAAO,CAAC,EAAE,mBAAmB,CAAC,OAAO,CAAC,CAAA;CACvC;;;EAkBF,CAAA"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import OpenAI from 'openai';
|
|
2
|
+
export const generateImage = async (prompt, { size = '1024x1024', style = 'natural', version = 'dall-e-3' } = {})=>{
|
|
3
|
+
const openaiAPI = new OpenAI();
|
|
4
|
+
console.log('generateImage: ', size, style, version, prompt);
|
|
5
|
+
const response = await openaiAPI.images.generate({
|
|
6
|
+
model: version,
|
|
7
|
+
n: 1,
|
|
8
|
+
prompt,
|
|
9
|
+
response_format: 'b64_json',
|
|
10
|
+
size,
|
|
11
|
+
style
|
|
12
|
+
});
|
|
13
|
+
const { b64_json, revised_prompt } = response.data[0] || {};
|
|
14
|
+
return {
|
|
15
|
+
alt: revised_prompt,
|
|
16
|
+
buffer: Buffer.from(b64_json, 'base64')
|
|
17
|
+
};
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
//# sourceMappingURL=generateImage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/ai/models/openai/generateImage.ts"],"sourcesContent":["import type { ImageGenerateParams } from 'openai/resources/images'\n\nimport OpenAI from 'openai'\n\nexport const generateImage = async (\n prompt: string,\n {\n size = '1024x1024',\n style = 'natural',\n version = 'dall-e-3',\n }: {\n size?: ImageGenerateParams['size']\n style?: ImageGenerateParams['style']\n version?: ImageGenerateParams['model']\n } = {},\n) => {\n const openaiAPI = new OpenAI()\n console.log('generateImage: ', size, style, version, prompt)\n const response = await openaiAPI.images.generate({\n model: version,\n n: 1,\n prompt,\n response_format: 'b64_json',\n size,\n style,\n })\n\n const { b64_json, revised_prompt } = response.data[0] || {}\n return {\n alt: revised_prompt,\n buffer: Buffer.from(b64_json, 'base64'),\n }\n}\n"],"names":["OpenAI","generateImage","prompt","size","style","version","openaiAPI","console","log","response","images","generate","model","n","response_format","b64_json","revised_prompt","data","alt","buffer","Buffer","from"],"mappings":"AAEA,OAAOA,YAAY,SAAQ;AAE3B,OAAO,MAAMC,gBAAgB,OAC3BC,QACA,EACEC,OAAO,WAAW,EAClBC,QAAQ,SAAS,EACjBC,UAAU,UAAU,EAKrB,GAAG,CAAC,CAAC;IAEN,MAAMC,YAAY,IAAIN;IACtBO,QAAQC,GAAG,CAAC,mBAAmBL,MAAMC,OAAOC,SAASH;IACrD,MAAMO,WAAW,MAAMH,UAAUI,MAAM,CAACC,QAAQ,CAAC;QAC/CC,OAAOP;QACPQ,GAAG;QACHX;QACAY,iBAAiB;QACjBX;QACAC;IACF;IAEA,MAAM,EAAEW,QAAQ,EAAEC,cAAc,EAAE,GAAGP,SAASQ,IAAI,CAAC,EAAE,IAAI,CAAC;IAC1D,OAAO;QACLC,KAAKF;QACLG,QAAQC,OAAOC,IAAI,CAACN,UAAU;IAChC;AACF,EAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generateRichText.d.ts","sourceRoot":"","sources":["../../../../src/ai/models/openai/generateRichText.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,gBAAgB,SAAgB,MAAM,WAAW,GAAG,sBAgChE,CAAA"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { openai } from '@ai-sdk/openai';
|
|
2
|
+
import { streamObject } from 'ai';
|
|
3
|
+
import { exampleOutput } from '../example.js';
|
|
4
|
+
export const generateRichText = async (text, options)=>{
|
|
5
|
+
const streamResult = await streamObject({
|
|
6
|
+
model: openai(options.model),
|
|
7
|
+
prompt: text,
|
|
8
|
+
schema: options.editorSchema,
|
|
9
|
+
system: `${options.system}
|
|
10
|
+
|
|
11
|
+
RULES:
|
|
12
|
+
- Generate original and unique content based on the given topic.
|
|
13
|
+
- Strictly adhere to the specified layout and formatting instructions.
|
|
14
|
+
- Utilize the provided rich text editor tools for appropriate formatting.
|
|
15
|
+
- Ensure the output follows the structure of the sample output object.
|
|
16
|
+
- Produce valid JSON with no undefined or null values.
|
|
17
|
+
|
|
18
|
+
LAYOUT INSTRUCTIONS:
|
|
19
|
+
${options.layout}
|
|
20
|
+
|
|
21
|
+
RICH TEXT EDITOR TOOLS:
|
|
22
|
+
- Use appropriate formatting tools such as bold, italic, or underline for emphasis where needed.
|
|
23
|
+
- Apply correct heading levels (h1, h2, h3) for hierarchical structure.
|
|
24
|
+
- Utilize bullet points or numbered lists as required by the layout.
|
|
25
|
+
|
|
26
|
+
SAMPLE OUTPUT OBJECT:
|
|
27
|
+
${JSON.stringify(exampleOutput)}
|
|
28
|
+
|
|
29
|
+
ADDITIONAL GUIDELINES:
|
|
30
|
+
- Ensure coherence and logical flow between all sections.
|
|
31
|
+
- Maintain a consistent tone and style throughout the content.
|
|
32
|
+
- Use clear and concise language appropriate for the target audience.
|
|
33
|
+
- Double-check that all JSON fields are properly filled and formatted.`
|
|
34
|
+
});
|
|
35
|
+
return streamResult.toTextStreamResponse();
|
|
36
|
+
};
|
|
37
|
+
|
|
38
|
+
//# sourceMappingURL=generateRichText.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/ai/models/openai/generateRichText.ts"],"sourcesContent":["import { openai } from '@ai-sdk/openai'\nimport { streamObject } from 'ai'\n\nimport { exampleOutput } from '../example.js'\n\nexport const generateRichText = async (text: string, options: any) => {\n const streamResult = await streamObject({\n model: openai(options.model),\n prompt: text,\n schema: options.editorSchema,\n system: `${options.system}\n\nRULES:\n- Generate original and unique content based on the given topic.\n- Strictly adhere to the specified layout and formatting instructions.\n- Utilize the provided rich text editor tools for appropriate formatting.\n- Ensure the output follows the structure of the sample output object.\n- Produce valid JSON with no undefined or null values.\n\nLAYOUT INSTRUCTIONS:\n${options.layout}\n\nRICH TEXT EDITOR TOOLS:\n- Use appropriate formatting tools such as bold, italic, or underline for emphasis where needed.\n- Apply correct heading levels (h1, h2, h3) for hierarchical structure.\n- Utilize bullet points or numbered lists as required by the layout.\n\nSAMPLE OUTPUT OBJECT:\n${JSON.stringify(exampleOutput)}\n\nADDITIONAL GUIDELINES:\n- Ensure coherence and logical flow between all sections.\n- Maintain a consistent tone and style throughout the content.\n- Use clear and concise language appropriate for the target audience.\n- Double-check that all JSON fields are properly filled and formatted.`,\n })\n return streamResult.toTextStreamResponse()\n}\n"],"names":["openai","streamObject","exampleOutput","generateRichText","text","options","streamResult","model","prompt","schema","editorSchema","system","layout","JSON","stringify","toTextStreamResponse"],"mappings":"AAAA,SAASA,MAAM,QAAQ,iBAAgB;AACvC,SAASC,YAAY,QAAQ,KAAI;AAEjC,SAASC,aAAa,QAAQ,gBAAe;AAE7C,OAAO,MAAMC,mBAAmB,OAAOC,MAAcC;IACnD,MAAMC,eAAe,MAAML,aAAa;QACtCM,OAAOP,OAAOK,QAAQE,KAAK;QAC3BC,QAAQJ;QACRK,QAAQJ,QAAQK,YAAY;QAC5BC,QAAQ,CAAC,EAAEN,QAAQM,MAAM,CAAC;;;;;;;;;;AAU9B,EAAEN,QAAQO,MAAM,CAAC;;;;;;;;AAQjB,EAAEC,KAAKC,SAAS,CAACZ,eAAe;;;;;;sEAMsC,CAAC;IACrE;IACA,OAAOI,aAAaS,oBAAoB;AAC1C,EAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { SpeechCreateParams } from 'openai/resources/audio/speech';
|
|
2
|
+
type OpenAITextToSpeechOptions = Exclude<SpeechCreateParams, 'input'>;
|
|
3
|
+
export declare const generateVoice: (text: string, options: OpenAITextToSpeechOptions) => Promise<{
|
|
4
|
+
buffer: Buffer;
|
|
5
|
+
}>;
|
|
6
|
+
export {};
|
|
7
|
+
//# sourceMappingURL=generateVoice.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generateVoice.d.ts","sourceRoot":"","sources":["../../../../src/ai/models/openai/generateVoice.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAA;AAIvE,KAAK,yBAAyB,GAAG,OAAO,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAA;AAErE,eAAO,MAAM,aAAa,SAAgB,MAAM,WAAW,yBAAyB;;EAiBnF,CAAA"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import OpenAI from 'openai';
|
|
2
|
+
export const generateVoice = async (text, options)=>{
|
|
3
|
+
const openai = new OpenAI();
|
|
4
|
+
const mp3 = await openai.audio.speech.create({
|
|
5
|
+
input: text,
|
|
6
|
+
model: options.model,
|
|
7
|
+
response_format: options.response_format,
|
|
8
|
+
speed: options.speed,
|
|
9
|
+
voice: options.voice
|
|
10
|
+
});
|
|
11
|
+
if (mp3.ok) {
|
|
12
|
+
const audioBuffer = Buffer.from(await mp3.arrayBuffer());
|
|
13
|
+
return {
|
|
14
|
+
buffer: audioBuffer
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
//# sourceMappingURL=generateVoice.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/ai/models/openai/generateVoice.ts"],"sourcesContent":["import type { SpeechCreateParams } from 'openai/resources/audio/speech'\n\nimport OpenAI from 'openai'\n\ntype OpenAITextToSpeechOptions = Exclude<SpeechCreateParams, 'input'>\n\nexport const generateVoice = async (text: string, options: OpenAITextToSpeechOptions) => {\n const openai = new OpenAI()\n const mp3 = await openai.audio.speech.create({\n input: text,\n model: options.model,\n response_format: options.response_format,\n speed: options.speed,\n voice: options.voice,\n })\n\n if (mp3.ok) {\n const audioBuffer = Buffer.from(await mp3.arrayBuffer())\n\n return {\n buffer: audioBuffer,\n }\n }\n}\n"],"names":["OpenAI","generateVoice","text","options","openai","mp3","audio","speech","create","input","model","response_format","speed","voice","ok","audioBuffer","Buffer","from","arrayBuffer","buffer"],"mappings":"AAEA,OAAOA,YAAY,SAAQ;AAI3B,OAAO,MAAMC,gBAAgB,OAAOC,MAAcC;IAChD,MAAMC,SAAS,IAAIJ;IACnB,MAAMK,MAAM,MAAMD,OAAOE,KAAK,CAACC,MAAM,CAACC,MAAM,CAAC;QAC3CC,OAAOP;QACPQ,OAAOP,QAAQO,KAAK;QACpBC,iBAAiBR,QAAQQ,eAAe;QACxCC,OAAOT,QAAQS,KAAK;QACpBC,OAAOV,QAAQU,KAAK;IACtB;IAEA,IAAIR,IAAIS,EAAE,EAAE;QACV,MAAMC,cAAcC,OAAOC,IAAI,CAAC,MAAMZ,IAAIa,WAAW;QAErD,OAAO;YACLC,QAAQJ;QACV;IACF;AACF,EAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/ai/models/openai/index.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AASzD,eAAO,MAAM,YAAY,EAAE,gBAkO1B,CAAA"}
|
|
@@ -0,0 +1,276 @@
|
|
|
1
|
+
import { openai } from '@ai-sdk/openai';
|
|
2
|
+
import { streamText } from 'ai';
|
|
3
|
+
import { generateFileNameByPrompt } from '../../utils/generateFileNameByPrompt.js';
|
|
4
|
+
import { generateImage } from './generateImage.js';
|
|
5
|
+
import { generateRichText } from './generateRichText.js';
|
|
6
|
+
import { generateVoice } from './generateVoice.js';
|
|
7
|
+
import { defaultSystemPrompt } from '../../prompts.js';
|
|
8
|
+
//TODO: Simplify this file by moving the handlers to separate files and remove duplicate code
|
|
9
|
+
export const OpenAIConfig = {
|
|
10
|
+
models: [
|
|
11
|
+
{
|
|
12
|
+
id: 'openai-gpt-text',
|
|
13
|
+
name: 'OpenAI GPT Text',
|
|
14
|
+
fields: [
|
|
15
|
+
'text',
|
|
16
|
+
'textarea'
|
|
17
|
+
],
|
|
18
|
+
handler: async (prompt, options)=>{
|
|
19
|
+
const streamTextResult = await streamText({
|
|
20
|
+
model: openai(options.model),
|
|
21
|
+
prompt,
|
|
22
|
+
system: options.system || defaultSystemPrompt
|
|
23
|
+
});
|
|
24
|
+
return streamTextResult.toDataStreamResponse();
|
|
25
|
+
},
|
|
26
|
+
output: 'text',
|
|
27
|
+
settings: {
|
|
28
|
+
name: 'openai-gpt-text-settings',
|
|
29
|
+
type: 'group',
|
|
30
|
+
admin: {
|
|
31
|
+
condition (data) {
|
|
32
|
+
return data['model-id'] === 'openai-gpt-text';
|
|
33
|
+
}
|
|
34
|
+
},
|
|
35
|
+
fields: [
|
|
36
|
+
{
|
|
37
|
+
name: 'model',
|
|
38
|
+
type: 'select',
|
|
39
|
+
defaultValue: 'gpt-4o-mini',
|
|
40
|
+
label: 'Model',
|
|
41
|
+
options: [
|
|
42
|
+
'gpt-4o',
|
|
43
|
+
'gpt-4-turbo',
|
|
44
|
+
'gpt-4o-mini',
|
|
45
|
+
'gpt-3.5-turbo'
|
|
46
|
+
]
|
|
47
|
+
}
|
|
48
|
+
],
|
|
49
|
+
label: 'OpenAI GPT Settings'
|
|
50
|
+
}
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
id: 'dall-e',
|
|
54
|
+
name: 'OpenAI DALL-E',
|
|
55
|
+
fields: [
|
|
56
|
+
'upload'
|
|
57
|
+
],
|
|
58
|
+
handler: async (prompt, options)=>{
|
|
59
|
+
const imageData = await generateImage(prompt, options);
|
|
60
|
+
return {
|
|
61
|
+
data: {
|
|
62
|
+
alt: imageData.alt
|
|
63
|
+
},
|
|
64
|
+
file: {
|
|
65
|
+
name: `image_${generateFileNameByPrompt(imageData.alt || prompt)}.jpeg`,
|
|
66
|
+
data: imageData.buffer,
|
|
67
|
+
mimetype: 'image/jpeg',
|
|
68
|
+
size: imageData.buffer.byteLength
|
|
69
|
+
}
|
|
70
|
+
};
|
|
71
|
+
},
|
|
72
|
+
output: 'image',
|
|
73
|
+
settings: {
|
|
74
|
+
name: 'dalle-e-settings',
|
|
75
|
+
type: 'group',
|
|
76
|
+
admin: {
|
|
77
|
+
condition (data) {
|
|
78
|
+
return data['model-id'] === 'dall-e';
|
|
79
|
+
}
|
|
80
|
+
},
|
|
81
|
+
fields: [
|
|
82
|
+
{
|
|
83
|
+
name: 'version',
|
|
84
|
+
type: 'select',
|
|
85
|
+
defaultValue: 'dall-e-3',
|
|
86
|
+
label: 'Version',
|
|
87
|
+
options: [
|
|
88
|
+
'dall-e-3',
|
|
89
|
+
'dall-e-2'
|
|
90
|
+
]
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
type: 'row',
|
|
94
|
+
fields: [
|
|
95
|
+
{
|
|
96
|
+
name: 'size',
|
|
97
|
+
type: 'select',
|
|
98
|
+
defaultValue: '1024x1024',
|
|
99
|
+
label: 'Size',
|
|
100
|
+
options: [
|
|
101
|
+
'256x256',
|
|
102
|
+
'512x512',
|
|
103
|
+
'1024x1024',
|
|
104
|
+
'1792x1024',
|
|
105
|
+
'1024x1792'
|
|
106
|
+
]
|
|
107
|
+
},
|
|
108
|
+
{
|
|
109
|
+
name: 'style',
|
|
110
|
+
type: 'select',
|
|
111
|
+
defaultValue: 'natural',
|
|
112
|
+
label: 'Style',
|
|
113
|
+
options: [
|
|
114
|
+
'vivid',
|
|
115
|
+
'natural'
|
|
116
|
+
]
|
|
117
|
+
}
|
|
118
|
+
]
|
|
119
|
+
},
|
|
120
|
+
{
|
|
121
|
+
name: 'enable-prompt-optimization',
|
|
122
|
+
type: 'checkbox',
|
|
123
|
+
label: 'Optimize prompt'
|
|
124
|
+
}
|
|
125
|
+
],
|
|
126
|
+
label: 'OpenAI DALL-E Settings'
|
|
127
|
+
}
|
|
128
|
+
},
|
|
129
|
+
{
|
|
130
|
+
id: 'tts',
|
|
131
|
+
name: 'OpenAI Text-to-Speech',
|
|
132
|
+
fields: [
|
|
133
|
+
'upload'
|
|
134
|
+
],
|
|
135
|
+
handler: async (text, options)=>{
|
|
136
|
+
//TODO: change it to open ai text to speech api
|
|
137
|
+
const voiceData = await generateVoice(text, options);
|
|
138
|
+
return {
|
|
139
|
+
data: {
|
|
140
|
+
alt: text
|
|
141
|
+
},
|
|
142
|
+
file: {
|
|
143
|
+
name: `voice_${generateFileNameByPrompt(text)}.mp3`,
|
|
144
|
+
data: voiceData.buffer,
|
|
145
|
+
mimetype: 'audio/mp3',
|
|
146
|
+
size: voiceData.buffer.byteLength
|
|
147
|
+
}
|
|
148
|
+
};
|
|
149
|
+
},
|
|
150
|
+
output: 'audio',
|
|
151
|
+
settings: {
|
|
152
|
+
name: 'openai-tts-settings',
|
|
153
|
+
type: 'group',
|
|
154
|
+
admin: {
|
|
155
|
+
condition (data) {
|
|
156
|
+
return data['model-id'] === 'tts';
|
|
157
|
+
}
|
|
158
|
+
},
|
|
159
|
+
fields: [
|
|
160
|
+
{
|
|
161
|
+
name: 'voice',
|
|
162
|
+
type: 'select',
|
|
163
|
+
defaultValue: 'alloy',
|
|
164
|
+
label: 'Voice',
|
|
165
|
+
options: [
|
|
166
|
+
'alloy',
|
|
167
|
+
'echo',
|
|
168
|
+
'fable',
|
|
169
|
+
'onyx',
|
|
170
|
+
'nova',
|
|
171
|
+
'shimmer'
|
|
172
|
+
]
|
|
173
|
+
},
|
|
174
|
+
{
|
|
175
|
+
name: 'model',
|
|
176
|
+
type: 'select',
|
|
177
|
+
defaultValue: 'tts-1',
|
|
178
|
+
label: 'Model',
|
|
179
|
+
options: [
|
|
180
|
+
'tts-1',
|
|
181
|
+
'tts-1-hd'
|
|
182
|
+
]
|
|
183
|
+
},
|
|
184
|
+
{
|
|
185
|
+
name: 'response_format',
|
|
186
|
+
type: 'select',
|
|
187
|
+
defaultValue: 'mp3',
|
|
188
|
+
label: 'Response Format',
|
|
189
|
+
options: [
|
|
190
|
+
'mp3',
|
|
191
|
+
'opus',
|
|
192
|
+
'aac',
|
|
193
|
+
'flac',
|
|
194
|
+
'wav',
|
|
195
|
+
'pcm'
|
|
196
|
+
]
|
|
197
|
+
},
|
|
198
|
+
{
|
|
199
|
+
name: 'speed',
|
|
200
|
+
type: 'number',
|
|
201
|
+
defaultValue: 1,
|
|
202
|
+
label: 'Speed',
|
|
203
|
+
max: 4,
|
|
204
|
+
min: 0.25
|
|
205
|
+
}
|
|
206
|
+
],
|
|
207
|
+
label: 'OpenAI Text-to-Speech Settings'
|
|
208
|
+
}
|
|
209
|
+
},
|
|
210
|
+
{
|
|
211
|
+
id: 'openai-gpt-object',
|
|
212
|
+
name: 'OpenAI GPT',
|
|
213
|
+
fields: [
|
|
214
|
+
'richText'
|
|
215
|
+
],
|
|
216
|
+
handler: (text, options)=>{
|
|
217
|
+
return generateRichText(text, options);
|
|
218
|
+
},
|
|
219
|
+
output: 'text',
|
|
220
|
+
settings: {
|
|
221
|
+
name: 'openai-gpt-object-settings',
|
|
222
|
+
type: 'group',
|
|
223
|
+
admin: {
|
|
224
|
+
condition (data) {
|
|
225
|
+
return data['model-id'] === 'openai-gpt-object';
|
|
226
|
+
}
|
|
227
|
+
},
|
|
228
|
+
fields: [
|
|
229
|
+
{
|
|
230
|
+
name: 'model',
|
|
231
|
+
type: 'select',
|
|
232
|
+
defaultValue: 'gpt-4o-2024-08-06',
|
|
233
|
+
label: 'Model',
|
|
234
|
+
options: [
|
|
235
|
+
'gpt-4o',
|
|
236
|
+
'gpt-4-turbo',
|
|
237
|
+
'gpt-4o-mini',
|
|
238
|
+
'gpt-4o-2024-08-06'
|
|
239
|
+
]
|
|
240
|
+
},
|
|
241
|
+
{
|
|
242
|
+
name: 'system',
|
|
243
|
+
type: 'textarea',
|
|
244
|
+
defaultValue: `INSTRUCTIONS:
|
|
245
|
+
You are a highly skilled and professional blog writer,
|
|
246
|
+
renowned for crafting engaging and well-organized articles.
|
|
247
|
+
When given a title, you meticulously create blogs that are not only
|
|
248
|
+
informative and accurate but also captivating and beautifully structured.`,
|
|
249
|
+
label: 'System prompt'
|
|
250
|
+
},
|
|
251
|
+
{
|
|
252
|
+
/**TODO's:
|
|
253
|
+
* - Layouts can be saved in as an array
|
|
254
|
+
* - user can add their own layout to collections and use it later for generate specific rich text
|
|
255
|
+
* - user can select previously added layout
|
|
256
|
+
*/ name: 'layout',
|
|
257
|
+
type: 'textarea',
|
|
258
|
+
defaultValue: `[paragraph] - Write a concise introduction (2-3 sentences) that outlines the main topic.
|
|
259
|
+
[horizontalrule] - Insert a horizontal rule to separate the introduction from the main content.
|
|
260
|
+
[list] - Create a list with 3-5 items. Each list item should contain:
|
|
261
|
+
a. [heading] - A brief, descriptive heading (up to 5 words)
|
|
262
|
+
b. [paragraph] - A short explanation or elaboration (1-2 sentences)
|
|
263
|
+
[horizontalrule] - Insert another horizontal rule to separate the main content from the conclusion.
|
|
264
|
+
[paragraph] - Compose a brief conclusion (2-3 sentences) summarizing the key points.
|
|
265
|
+
[quote] - Include a relevant quote from a famous person, directly related to the topic. Format: "Quote text." - Author Name`,
|
|
266
|
+
label: 'Layout'
|
|
267
|
+
}
|
|
268
|
+
],
|
|
269
|
+
label: 'OpenAI GPT Settings'
|
|
270
|
+
}
|
|
271
|
+
}
|
|
272
|
+
],
|
|
273
|
+
provider: 'OpenAI'
|
|
274
|
+
};
|
|
275
|
+
|
|
276
|
+
//# sourceMappingURL=index.js.map
|