diff --git a/packages/backend/src/apps/openai/actions/check-moderation/index.ts b/packages/backend/src/apps/openai/actions/check-moderation/index.ts new file mode 100644 index 00000000..af5a84f7 --- /dev/null +++ b/packages/backend/src/apps/openai/actions/check-moderation/index.ts @@ -0,0 +1,29 @@ +import defineAction from '../../../../helpers/define-action'; + +export default defineAction({ + name: 'Check moderation', + key: 'checkModeration', + description: 'Checks for hate, hate/threatening, self-harm, sexual, sexual/minors, violence, or violence/graphic content in the given text.', + arguments: [ + { + label: 'Input', + key: 'input', + type: 'string' as const, + required: true, + variables: true, + description: 'The text to analyze.' + }, + ], + + async run($) { + const { data } = await $.http.post('/v1/moderations', { + input: $.step.parameters.input as string, + }); + + const result = data?.results[0]; + + $.setActionItem({ + raw: result, + }); + }, +}); diff --git a/packages/backend/src/apps/openai/actions/index.ts b/packages/backend/src/apps/openai/actions/index.ts new file mode 100644 index 00000000..41a12e54 --- /dev/null +++ b/packages/backend/src/apps/openai/actions/index.ts @@ -0,0 +1,3 @@ +import checkModeration from './check-moderation'; + +export default [checkModeration]; diff --git a/packages/backend/src/apps/openai/index.ts b/packages/backend/src/apps/openai/index.ts index 4f8405aa..9eb9e595 100644 --- a/packages/backend/src/apps/openai/index.ts +++ b/packages/backend/src/apps/openai/index.ts @@ -1,6 +1,7 @@ import defineApp from '../../helpers/define-app'; import addAuthHeader from './common/add-auth-header'; import auth from './auth'; +import actions from './actions'; export default defineApp({ name: 'OpenAI', @@ -13,4 +14,5 @@ export default defineApp({ supportsConnections: true, beforeRequest: [addAuthHeader], auth, + actions, });