diff --git a/components.d.ts b/components.d.ts index 3e65c3cc5..dfc6512c7 100644 --- a/components.d.ts +++ b/components.d.ts @@ -11,6 +11,7 @@ declare module '@vue/runtime-core' { export interface GlobalComponents { '404.page': typeof import('./src/pages/404.page.vue')['default'] About: typeof import('./src/pages/About.vue')['default'] + AiPromptSplitter: typeof import('./src/tools/ai-prompt-splitter/ai-prompt-splitter.vue')['default'] App: typeof import('./src/App.vue')['default'] AsciiTextDrawer: typeof import('./src/tools/ascii-text-drawer/ascii-text-drawer.vue')['default'] 'Base.layout': typeof import('./src/layouts/base.layout.vue')['default'] diff --git a/locales/en.yml b/locales/en.yml index b195dbd85..e782d1227 100644 --- a/locales/en.yml +++ b/locales/en.yml @@ -392,3 +392,7 @@ tools: text-to-binary: title: Text to ASCII binary description: Convert text to its ASCII binary representation and vice-versa. + + ai-prompt-splitter: + title: AI prompt splitter + description: Split up large prompts into smaller, manageable segments based on a set character limit for AI chat prompts. diff --git a/src/tools/ai-prompt-splitter/ai-prompt-splitter.vue b/src/tools/ai-prompt-splitter/ai-prompt-splitter.vue new file mode 100644 index 000000000..445a01a54 --- /dev/null +++ b/src/tools/ai-prompt-splitter/ai-prompt-splitter.vue @@ -0,0 +1,282 @@ + + + + + + + + + + + + + + + Split ({{ numberOfSplits }}) + + + Clear + + + + + + + + + + + + Copy Instructions + + + Copy Full Prompt + + + Copy Final Command + + + + + + + + Copy Part {{ index + 1 }} + + + + + + + diff --git a/src/tools/ai-prompt-splitter/index.ts b/src/tools/ai-prompt-splitter/index.ts new file mode 100644 index 000000000..b525c55c2 --- /dev/null +++ b/src/tools/ai-prompt-splitter/index.ts @@ -0,0 +1,12 @@ +import { Messages } from '@vicons/tabler'; +import { defineTool } from '../tool'; + +export const tool = defineTool({ + name: 'Ai prompt splitter', + path: '/ai-prompt-splitter', + description: '', + keywords: ['ai', 'prompt', 'splitter'], + component: () => import('./ai-prompt-splitter.vue'), + icon: Messages, + createdAt: new Date('2024-10-18'), +}); diff --git a/src/tools/index.ts b/src/tools/index.ts index 388cfaf49..c1026e1ef 100644 --- a/src/tools/index.ts +++ b/src/tools/index.ts @@ -1,6 +1,7 @@ import { tool as base64FileConverter } from './base64-file-converter'; import { tool as base64StringConverter } from './base64-string-converter'; import { tool as basicAuthGenerator } from './basic-auth-generator'; +import { tool as aiPromptSplitter } from './ai-prompt-splitter'; import { tool as emailNormalizer } from './email-normalizer'; import { tool as asciiTextDrawer } from './ascii-text-drawer'; @@ -184,6 +185,7 @@ export const toolsByCategory: ToolCategory[] = [ textDiff, numeronymGenerator, asciiTextDrawer, + aiPromptSplitter, ], }, {