chat-parameters-utils
v1.0.0
Published
A utility library for processing and managing chat parameters, prompts, and suggested questions
Downloads
4
Maintainers
Readme
Chat Parameters Utils
A utility library for processing and managing chat parameters, prompts, suggested questions, and conversation configuration.
Installation
npm install chat-parameters-utilsUsage
import {
processParametersNoDify,
processParameters,
extractSuggestedQuestions,
extractOpeningStatement,
formatSuggestedQuestions,
createPromptMessage,
updateMessagesWithPrompt,
validateParameters,
mergeParameters,
createReactiveObject
} from 'chat-parameters-utils';
// Create reactive objects
const PROMPT_MESSAGE = createReactiveObject('');
const messages = createReactiveObject([]);
// Process parameters without Dify API
const containerProps = {
firstwrod: 'Welcome!',
cuewordlist: ['How can I help?', 'What would you like to know?']
};
await processParametersNoDify(containerProps, PROMPT_MESSAGE, messages);
// Process parameters from API response
const apiResponse = await fetch('/api/parameters');
await processParameters(apiResponse, PROMPT_MESSAGE, messages);
// Extract and format suggested questions
const parameters = await apiResponse.json();
const questions = extractSuggestedQuestions(parameters);
const formattedTips = formatSuggestedQuestions(questions);
// Create and update prompt message
const prompt = createPromptMessage('New prompt message');
updateMessagesWithPrompt(messages.value, prompt);
// Validate parameters
const isValid = validateParameters(parameters);
// Merge multiple parameters
const merged = mergeParameters(param1, param2, param3);API Reference
Core Processing Functions
processParametersNoDify(ContainerProps, PROMPT_MESSAGE, messages)- Process parameters without Dify APIprocessParameters(parameters, PROMPT_MESSAGE, messages)- Process parameters from API response
Extraction Functions
extractSuggestedQuestions(parameters)- Extract suggested questions from parametersextractOpeningStatement(parameters)- Extract opening statement from parametersformatSuggestedQuestions(questions)- Format suggested questions as tips
Message Management
createPromptMessage(text)- Create a default prompt message objectupdateMessagesWithPrompt(messages, promptMessage, index)- Update messages array with prompt
Validation & Utilities
validateParameters(parameters)- Validate parameters object structuremergeParameters(...parameters)- Merge multiple parameters objectscreateReactiveObject(value)- Create a simple reactive object (Vue compatibility)
Features
- Dual Processing: Support for both API-based and local parameter processing
- Parameter Extraction: Easy extraction of opening statements and suggested questions
- Message Management: Comprehensive prompt message creation and management
- Validation: Robust parameter validation
- Merging: Ability to merge multiple parameters objects
- Error Handling: Comprehensive error handling with detailed logging
- Vue Compatibility: Helper functions for Vue reactivity patterns
Parameter Structure
Expected parameters object structure:
{
opening_statement: string, // Opening statement/text
suggested_questions: string[], // Array of suggested questions
cuewordlist: string[], // Array of cue words
firstwrod: string // First word/text
}Use Cases
- Chat Initialization: Process initial parameters for chat sessions
- Dynamic Prompts: Update prompts based on user context or API responses
- Suggested Questions: Manage and display suggested questions to users
- Parameter Validation: Validate incoming parameter objects
- Configuration Management: Handle chat configuration parameters
Error Handling
All functions include comprehensive error handling:
try {
await processParameters(apiResponse, PROMPT_MESSAGE, messages);
} catch (error) {
console.error('Parameter processing failed:', error);
// Fallback to default parameters
}Browser Support
This library requires modern browser features:
- ES6 Modules
- Fetch API (for processParameters)
- Console API for error logging
License
MIT
