import { type PromptMetadata } from '../metadata';
import { type RawMetadataShape } from '../types';
import { tokenFactory } from './base.tokens';

export const FrontMcpPromptTokens = {
  type: tokenFactory.type('prompt'),
  name: tokenFactory.meta('name'),
  title: tokenFactory.meta('title'),
  arguments: tokenFactory.meta('arguments'),
  description: tokenFactory.meta('description'),
  icons: tokenFactory.meta('icons'),
  availableWhen: tokenFactory.meta('availableWhen'),
  metadata: tokenFactory.meta('metadata'), // used in prompt({}) construction
} as const satisfies RawMetadataShape<PromptMetadata, ExtendFrontMcpPromptMetadata>;

export const extendedPromptMetadata = tokenFactory.meta('extendedPromptMetadata');
