prompts-conductor
Version:
⚡ Wire up your AI prompts - The ultimate CLI for AI workflow orchestration. Create, manage, and chain prompts across 400+ AI platforms with enterprise security, version control, and automation. Includes comprehensive CLI documentation.
91 lines (80 loc) • 2.79 kB
text/typescript
// Example: Using Prompts Conductor as a Node.js module (TypeScript)
import {
substituteVariables,
parseVariables,
validateRequiredVariables,
} from '../src/core/variable-substitution';
// Example 1: Simple variable substitution
console.log('=== Simple Variable Substitution ===');
const simpleText = 'Hello {{name}}, welcome to {{platform}}!';
const simpleContext = {
variables: { name: 'John', platform: 'prompts-conductor' },
};
const simpleResult = substituteVariables(simpleText, simpleContext);
console.log('Input:', simpleText);
console.log('Output:', simpleResult.text);
console.log('Errors:', simpleResult.errors);
console.log('Warnings:', simpleResult.warnings);
// Example 2: Nested object access
console.log('\n=== Nested Object Access ===');
const nestedText =
'User: {{user.name}}, Email: {{user.email}}, Level: {{user.account.level}}';
const nestedContext = {
variables: {
user: {
name: 'Jane Doe',
email: 'jane@example.com',
account: {
level: 'premium',
},
},
},
};
const nestedResult = substituteVariables(nestedText, nestedContext);
console.log('Input:', nestedText);
console.log('Output:', nestedResult.text);
// Example 3: Variable parsing
console.log('\n=== Variable Parsing ===');
const complexText =
'{{greeting}} {{user.name}}! You have {{count}} messages. Active: {{active}}';
const variables = parseVariables(complexText);
console.log('Text:', complexText);
console.log('Parsed variables:', variables);
// Example 4: Template with validation
console.log('\n=== Template with Validation ===');
const templateText =
'Create a {{component_name}} with {{feature_count}} features.';
const templateContext = {
variables: { component_name: 'Button', feature_count: 'not a number' },
template: {
variables: [
{ name: 'component_name', type: 'string', required: true } as any,
{ name: 'feature_count', type: 'number', required: true } as any,
],
},
};
const templateResult = substituteVariables(templateText, templateContext);
console.log('Input:', templateText);
console.log('Output:', templateResult.text);
console.log('Errors:', templateResult.errors);
// Example 5: Default values
console.log('\n=== Default Values ===');
const defaultText = 'Hello {{name}}! Your level is {{level}}.';
const defaultContext = {
variables: { name: 'Alice' },
template: {
variables: [
{ name: 'name', type: 'string', required: true } as any,
{
name: 'level',
type: 'string',
required: false,
default: 'basic',
} as any,
],
},
};
const defaultResult = substituteVariables(defaultText, defaultContext);
console.log('Input:', defaultText);
console.log('Output:', defaultResult.text);
console.log('Warnings:', defaultResult.warnings);