2
0
Files
bot/packages/forge/blocks/anthropic/auth.ts

18 lines
494 B
TypeScript
Raw Normal View History

✨ Add Anthropic block (#1336) Hello @baptisteArno, As we discussed in issue #1315 we created a basic implementation of Anthropic’s Claude AI block. This block is based on the OpenAI block and shares a similar structure. The most notable changes in this PR are: - Added the Claude AI block. - Added relevant documentation for the new block. - Formatted some other source files in order to pass git pre-hook checks. Some notes to be made: - Currently there is no way to dynamically fetch the model’s versions since there is no endpoint provided by the SDK. - All pre version-3 Claude models are hard-coded constant variables. - We have opened an issue for that on the SDK repository [here](https://github.com/anthropics/anthropic-sdk-typescript/issues/313). - We can implement in a new PR Claude’s new [Vision system](https://docs.anthropic.com/claude/docs/vision) which allows for image analysis and understanding. - This can be done in a later phase, given that you agree of course. <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Introduced the Anthropic block for creating chat messages with Claude AI in Typebot. - Added functionality to create chat messages using Anthropic AI SDK with configurable options. - Implemented encrypted credentials for Anthropic account integration. - Added constants and helpers for better handling of chat messages with Anthropic models. - Included Anthropic block in the list of enabled and forged blocks for broader access. <!-- end of auto-generated comment: release notes by coderabbit.ai --> --------- Co-authored-by: Retr0-01 <contact@retr0.dev> Co-authored-by: Baptiste Arnaud <baptiste.arnaud95@gmail.com> Co-authored-by: Baptiste Arnaud <contact@baptiste-arnaud.fr>
2024-03-12 19:53:33 +02:00
import { option, AuthDefinition } from '@typebot.io/forge'
export const auth = {
type: 'encryptedCredentials',
name: 'Anthropic account',
schema: option.object({
apiKey: option.string.layout({
label: 'API key',
isRequired: true,
inputType: 'password',
helperText:
'You can generate an API key [here](https://console.anthropic.com/settings/keys).',
placeholder: 'sk-...',
withVariableButton: false,
}),
}),
} satisfies AuthDefinition