@runflow-ai/cli 0.2.34 → 0.2.36
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/commands/create/code-generator.js +157 -146
- package/dist/commands/create/code-generator.js.map +1 -1
- package/package.json +1 -1
- package/static/dist-test/assets/main-BSOmdwZa.css +1 -0
- package/static/dist-test/assets/main-CQQ-Gu_h.css +1 -0
- package/static/dist-test/assets/main-Cle8CQ3-.js +59 -0
- package/static/dist-test/assets/main-D8GGdXDN.js +68 -0
- package/static/dist-test/assets/main-DVwOzbXX.js +59 -0
- package/static/dist-test/assets/main-Dix5w906.css +1 -0
- package/static/dist-test/index-test.html +2 -2
|
@@ -11,6 +11,7 @@ function generateAgentCode(config) {
|
|
|
11
11
|
{ path: 'prompts/index.ts', content: generatePromptsIndex(agentName) },
|
|
12
12
|
{ path: 'package.json', content: generatePackageJson(agentSlug) },
|
|
13
13
|
{ path: 'tsconfig.json', content: generateTsConfig() },
|
|
14
|
+
{ path: '.gitignore', content: generateGitignore() },
|
|
14
15
|
{ path: 'README.md', content: generateReadme(agentName, agentSlug) },
|
|
15
16
|
];
|
|
16
17
|
if (template === 'rag') {
|
|
@@ -20,14 +21,15 @@ function generateAgentCode(config) {
|
|
|
20
21
|
}
|
|
21
22
|
function generateMainTs(config) {
|
|
22
23
|
const { agentName, provider, model } = config;
|
|
23
|
-
return `import { Agent, ${provider} } from '@runflow-ai/sdk';
|
|
24
|
-
// import { identify } from '@runflow-ai/sdk';
|
|
24
|
+
return `import { Agent, log, ${provider}, track } from '@runflow-ai/sdk';
|
|
25
|
+
// import { identify } from '@runflow-ai/sdk';
|
|
26
|
+
// import { connector } from '@runflow-ai/sdk';
|
|
25
27
|
import { tools } from './tools';
|
|
26
28
|
import { systemPrompt } from './prompts';
|
|
27
29
|
|
|
28
30
|
/**
|
|
29
31
|
* ${agentName} - AI Agent powered by Runflow SDK
|
|
30
|
-
*
|
|
32
|
+
*
|
|
31
33
|
* Provider: ${provider}
|
|
32
34
|
* Model: ${model}
|
|
33
35
|
*/
|
|
@@ -38,11 +40,15 @@ const agent = new Agent({
|
|
|
38
40
|
tools,
|
|
39
41
|
|
|
40
42
|
// Memory - stores conversation history per session
|
|
41
|
-
//
|
|
43
|
+
// sessionId is automatically provided by rf test and execution engine
|
|
42
44
|
memory: {
|
|
43
|
-
maxTurns: 10,
|
|
45
|
+
maxTurns: 10,
|
|
44
46
|
},
|
|
45
47
|
|
|
48
|
+
// Observability - traces every LLM call, tool execution and memory access
|
|
49
|
+
// 'full' is the default; change to 'standard' (truncated) or 'minimal' (off)
|
|
50
|
+
observability: 'full',
|
|
51
|
+
|
|
46
52
|
// Uncomment to enable RAG (Retrieval Augmented Generation)
|
|
47
53
|
// rag: {
|
|
48
54
|
// vectorStore: 'my-knowledge-base',
|
|
@@ -54,22 +60,53 @@ const agent = new Agent({
|
|
|
54
60
|
// debug: true,
|
|
55
61
|
});
|
|
56
62
|
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
63
|
+
// ---------------------------------------------------------------------------
|
|
64
|
+
// Main entry point - called by Runflow runtime
|
|
65
|
+
//
|
|
66
|
+
// Input:
|
|
67
|
+
// message - User's message (required)
|
|
68
|
+
// sessionId - Conversation identifier (auto-generated by rf test)
|
|
69
|
+
//
|
|
70
|
+
// Memory works automatically:
|
|
71
|
+
// Same sessionId = same conversation | Different sessionId = fresh start
|
|
72
|
+
// ---------------------------------------------------------------------------
|
|
73
|
+
export async function main(input: { message: string; sessionId?: string }) {
|
|
74
|
+
const { message, sessionId } = validateInput(input);
|
|
75
|
+
|
|
76
|
+
// --- User identity (uncomment to bind memory to a user instead of session) ---
|
|
77
|
+
// identify('+5511999999999'); // phone
|
|
78
|
+
// identify('user@email.com'); // email
|
|
79
|
+
// identify({ type: 'hubspot_contact', value: 'cid_123' });// CRM
|
|
80
|
+
|
|
81
|
+
log('Processing message', { sessionId, messageLength: message.length });
|
|
82
|
+
|
|
83
|
+
const result = await agent.process({ message, sessionId });
|
|
84
|
+
|
|
85
|
+
// --- Connector example (uncomment to call an external service) ---
|
|
86
|
+
// const lead = await connector('hubspot', 'create-contact', {
|
|
87
|
+
// body: { email: 'user@email.com', firstname: 'John' },
|
|
88
|
+
// });
|
|
89
|
+
|
|
90
|
+
track('message_processed', {
|
|
91
|
+
model: '${model}',
|
|
92
|
+
hasSession: !!sessionId,
|
|
93
|
+
});
|
|
94
|
+
|
|
95
|
+
return result;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
// ---------------------------------------------------------------------------
|
|
99
|
+
// Input validation
|
|
100
|
+
// ---------------------------------------------------------------------------
|
|
60
101
|
function validateInput(input: unknown): { message: string; sessionId?: string } {
|
|
61
102
|
if (!input || typeof input !== 'object') {
|
|
62
|
-
throw new Error('Input must be an object');
|
|
103
|
+
throw new Error('Input must be an object with a "message" field');
|
|
63
104
|
}
|
|
64
105
|
|
|
65
106
|
const { message, sessionId } = input as Record<string, unknown>;
|
|
66
107
|
|
|
67
|
-
if (!message || typeof message !== 'string') {
|
|
68
|
-
throw new Error('message is required and must be a string');
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
if (message.trim().length === 0) {
|
|
72
|
-
throw new Error('message cannot be empty');
|
|
108
|
+
if (!message || typeof message !== 'string' || message.trim().length === 0) {
|
|
109
|
+
throw new Error('message is required and must be a non-empty string');
|
|
73
110
|
}
|
|
74
111
|
|
|
75
112
|
return {
|
|
@@ -78,59 +115,20 @@ function validateInput(input: unknown): { message: string; sessionId?: string }
|
|
|
78
115
|
};
|
|
79
116
|
}
|
|
80
117
|
|
|
81
|
-
/**
|
|
82
|
-
* Main entry point - called by Runflow runtime
|
|
83
|
-
*
|
|
84
|
-
* The input object contains:
|
|
85
|
-
* - message: User's message (required)
|
|
86
|
-
* - sessionId: Unique session identifier (auto-generated by rf test)
|
|
87
|
-
*
|
|
88
|
-
* Memory works automatically:
|
|
89
|
-
* - Same sessionId = same conversation history
|
|
90
|
-
* - Different sessionId = fresh conversation
|
|
91
|
-
*/
|
|
92
|
-
export async function main(input: { message: string; sessionId?: string }) {
|
|
93
|
-
try {
|
|
94
|
-
// Validate input
|
|
95
|
-
const validatedInput = validateInput(input);
|
|
96
|
-
|
|
97
|
-
// Uncomment to identify user for memory persistence across channels
|
|
98
|
-
// This creates a stable memory key based on user identity instead of session
|
|
99
|
-
// identify('+5511999999999'); // Auto-detects type (phone)
|
|
100
|
-
// identify('user@email.com'); // Auto-detects type (email)
|
|
101
|
-
// identify({ type: 'phone', value: '+5511999999999' });
|
|
102
|
-
// identify({ type: 'email', value: 'user@email.com' });
|
|
103
|
-
// identify({ type: 'hubspot_contact', value: 'contact_123' });
|
|
104
|
-
|
|
105
|
-
// Process message
|
|
106
|
-
const result = await agent.process(validatedInput);
|
|
107
|
-
|
|
108
|
-
return result;
|
|
109
|
-
} catch (error) {
|
|
110
|
-
// Log error for debugging
|
|
111
|
-
console.error('[${agentName}] Error:', error instanceof Error ? error.message : error);
|
|
112
|
-
|
|
113
|
-
// Return structured error response
|
|
114
|
-
return {
|
|
115
|
-
success: false,
|
|
116
|
-
error: error instanceof Error ? error.message : 'An unexpected error occurred',
|
|
117
|
-
};
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
|
|
121
118
|
export default main;
|
|
122
119
|
`;
|
|
123
120
|
}
|
|
124
121
|
function generateMainTsWithRag(config) {
|
|
125
122
|
const { agentName, provider, model } = config;
|
|
126
|
-
return `import { Agent, ${provider} } from '@runflow-ai/sdk';
|
|
127
|
-
// import { identify } from '@runflow-ai/sdk';
|
|
123
|
+
return `import { Agent, log, ${provider}, track } from '@runflow-ai/sdk';
|
|
124
|
+
// import { identify } from '@runflow-ai/sdk';
|
|
125
|
+
// import { connector } from '@runflow-ai/sdk';
|
|
128
126
|
import { tools } from './tools';
|
|
129
127
|
import { systemPrompt } from './prompts';
|
|
130
128
|
|
|
131
129
|
/**
|
|
132
130
|
* ${agentName} - RAG-enabled AI Agent powered by Runflow SDK
|
|
133
|
-
*
|
|
131
|
+
*
|
|
134
132
|
* Provider: ${provider}
|
|
135
133
|
* Model: ${model}
|
|
136
134
|
* RAG: Enabled
|
|
@@ -153,26 +151,55 @@ const agent = new Agent({
|
|
|
153
151
|
threshold: 0.7,
|
|
154
152
|
},
|
|
155
153
|
|
|
154
|
+
// Observability - traces every LLM call, tool execution and memory access
|
|
155
|
+
// 'full' is the default; change to 'standard' (truncated) or 'minimal' (off)
|
|
156
|
+
observability: 'full',
|
|
157
|
+
|
|
156
158
|
// Uncomment to enable debug logging
|
|
157
159
|
// debug: true,
|
|
158
160
|
});
|
|
159
161
|
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
162
|
+
// ---------------------------------------------------------------------------
|
|
163
|
+
// Main entry point - called by Runflow runtime
|
|
164
|
+
// ---------------------------------------------------------------------------
|
|
165
|
+
export async function main(input: { message: string; sessionId?: string }) {
|
|
166
|
+
const { message, sessionId } = validateInput(input);
|
|
167
|
+
|
|
168
|
+
// --- User identity (uncomment to bind memory to a user instead of session) ---
|
|
169
|
+
// identify('+5511999999999'); // phone
|
|
170
|
+
// identify('user@email.com'); // email
|
|
171
|
+
// identify({ type: 'hubspot_contact', value: 'cid_123' });// CRM
|
|
172
|
+
|
|
173
|
+
log('Processing message', { sessionId, messageLength: message.length });
|
|
174
|
+
|
|
175
|
+
const result = await agent.process({ message, sessionId });
|
|
176
|
+
|
|
177
|
+
// --- Connector example (uncomment to call an external service) ---
|
|
178
|
+
// const lead = await connector('hubspot', 'create-contact', {
|
|
179
|
+
// body: { email: 'user@email.com', firstname: 'John' },
|
|
180
|
+
// });
|
|
181
|
+
|
|
182
|
+
track('message_processed', {
|
|
183
|
+
model: '${model}',
|
|
184
|
+
hasSession: !!sessionId,
|
|
185
|
+
ragEnabled: true,
|
|
186
|
+
});
|
|
187
|
+
|
|
188
|
+
return result;
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
// ---------------------------------------------------------------------------
|
|
192
|
+
// Input validation
|
|
193
|
+
// ---------------------------------------------------------------------------
|
|
163
194
|
function validateInput(input: unknown): { message: string; sessionId?: string } {
|
|
164
195
|
if (!input || typeof input !== 'object') {
|
|
165
|
-
throw new Error('Input must be an object');
|
|
196
|
+
throw new Error('Input must be an object with a "message" field');
|
|
166
197
|
}
|
|
167
198
|
|
|
168
199
|
const { message, sessionId } = input as Record<string, unknown>;
|
|
169
200
|
|
|
170
|
-
if (!message || typeof message !== 'string') {
|
|
171
|
-
throw new Error('message is required and must be a string');
|
|
172
|
-
}
|
|
173
|
-
|
|
174
|
-
if (message.trim().length === 0) {
|
|
175
|
-
throw new Error('message cannot be empty');
|
|
201
|
+
if (!message || typeof message !== 'string' || message.trim().length === 0) {
|
|
202
|
+
throw new Error('message is required and must be a non-empty string');
|
|
176
203
|
}
|
|
177
204
|
|
|
178
205
|
return {
|
|
@@ -181,32 +208,6 @@ function validateInput(input: unknown): { message: string; sessionId?: string }
|
|
|
181
208
|
};
|
|
182
209
|
}
|
|
183
210
|
|
|
184
|
-
/**
|
|
185
|
-
* Main entry point - called by Runflow runtime
|
|
186
|
-
*/
|
|
187
|
-
export async function main(input: { message: string; sessionId?: string }) {
|
|
188
|
-
try {
|
|
189
|
-
// Validate input
|
|
190
|
-
const validatedInput = validateInput(input);
|
|
191
|
-
|
|
192
|
-
// Uncomment to identify user for memory persistence across channels
|
|
193
|
-
// identify('+5511999999999');
|
|
194
|
-
// identify({ type: 'email', value: 'user@email.com' });
|
|
195
|
-
|
|
196
|
-
// Process message
|
|
197
|
-
const result = await agent.process(validatedInput);
|
|
198
|
-
|
|
199
|
-
return result;
|
|
200
|
-
} catch (error) {
|
|
201
|
-
console.error('[${agentName}] Error:', error instanceof Error ? error.message : error);
|
|
202
|
-
|
|
203
|
-
return {
|
|
204
|
-
success: false,
|
|
205
|
-
error: error instanceof Error ? error.message : 'An unexpected error occurred',
|
|
206
|
-
};
|
|
207
|
-
}
|
|
208
|
-
}
|
|
209
|
-
|
|
210
211
|
export default main;
|
|
211
212
|
`;
|
|
212
213
|
}
|
|
@@ -392,12 +393,11 @@ function generatePackageJson(agentSlug) {
|
|
|
392
393
|
main: 'main.ts',
|
|
393
394
|
type: 'module',
|
|
394
395
|
scripts: {
|
|
395
|
-
dev: 'rf dev',
|
|
396
396
|
test: 'rf test',
|
|
397
397
|
deploy: 'rf agents deploy',
|
|
398
398
|
},
|
|
399
399
|
dependencies: {
|
|
400
|
-
'@runflow-ai/sdk': '^1.0.
|
|
400
|
+
'@runflow-ai/sdk': '^1.0.95',
|
|
401
401
|
zod: '^3.23.0',
|
|
402
402
|
},
|
|
403
403
|
devDependencies: {
|
|
@@ -427,96 +427,107 @@ function generateReadme(agentName, agentSlug) {
|
|
|
427
427
|
|
|
428
428
|
AI agent built with [Runflow SDK](https://docs.runflow.ai).
|
|
429
429
|
|
|
430
|
-
## Features
|
|
431
|
-
|
|
432
|
-
- **Weather Tool**: Check real-time weather for any city worldwide (powered by [Open-Meteo](https://open-meteo.com/))
|
|
433
|
-
- **Conversational AI**: Helpful assistant with memory and context awareness
|
|
434
|
-
- **Extensible**: Easy to add new tools and capabilities
|
|
435
|
-
|
|
436
430
|
## Quick Start
|
|
437
431
|
|
|
438
432
|
\`\`\`bash
|
|
439
|
-
# Install dependencies
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
# Test locally with interactive UI
|
|
443
|
-
rf test
|
|
444
|
-
|
|
445
|
-
# Deploy to production
|
|
446
|
-
rf agents deploy
|
|
433
|
+
npm install # Install dependencies
|
|
434
|
+
rf test # Test locally with interactive UI
|
|
435
|
+
rf agents deploy # Deploy to production
|
|
447
436
|
\`\`\`
|
|
448
437
|
|
|
449
438
|
## Project Structure
|
|
450
439
|
|
|
451
440
|
\`\`\`
|
|
452
441
|
${agentSlug}/
|
|
453
|
-
├── main.ts #
|
|
442
|
+
├── main.ts # Entry point - agent config, track, log
|
|
454
443
|
├── tools/
|
|
455
444
|
│ ├── index.ts # Tools registry
|
|
456
|
-
│ └── weather.ts #
|
|
445
|
+
│ └── weather.ts # Example tool (Open-Meteo API)
|
|
457
446
|
├── prompts/
|
|
458
|
-
│ └── index.ts # System
|
|
447
|
+
│ └── index.ts # System prompt and templates
|
|
459
448
|
├── .runflow/
|
|
460
|
-
│ └── rf.json # Runflow configuration
|
|
449
|
+
│ └── rf.json # Runflow configuration (auto-generated)
|
|
461
450
|
├── package.json
|
|
462
451
|
└── tsconfig.json
|
|
463
452
|
\`\`\`
|
|
464
453
|
|
|
465
|
-
##
|
|
454
|
+
## SDK Features Used
|
|
466
455
|
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
Agent
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
- Conditions: Clear sky
|
|
479
|
-
- Humidity: 45%
|
|
480
|
-
- Wind: 8 km/h
|
|
481
|
-
\`\`\`
|
|
456
|
+
| Feature | Status | Description |
|
|
457
|
+
|---------|--------|-------------|
|
|
458
|
+
| **Agent** | Active | Core AI agent with tool calling |
|
|
459
|
+
| **Memory** | Active | Conversation history per session |
|
|
460
|
+
| **Tools** | Active | Custom tools with Zod validation |
|
|
461
|
+
| **Observability** | Active | Full tracing of LLM, tools and memory |
|
|
462
|
+
| **track()** | Active | Business event tracking |
|
|
463
|
+
| **log()** | Active | Custom observability logs |
|
|
464
|
+
| **identify()** | Commented | Bind memory to user identity (phone, email, CRM) |
|
|
465
|
+
| **connector()** | Commented | Call external services (HubSpot, Slack, etc.) |
|
|
466
|
+
| **RAG** | Commented | Retrieval Augmented Generation |
|
|
482
467
|
|
|
483
|
-
## Adding
|
|
484
|
-
|
|
485
|
-
1. Create a new file in \`tools/\` (e.g., \`tools/my-tool.ts\`)
|
|
486
|
-
2. Use \`createTool\` from the SDK:
|
|
468
|
+
## Adding Tools
|
|
487
469
|
|
|
488
470
|
\`\`\`typescript
|
|
471
|
+
// tools/my-tool.ts
|
|
489
472
|
import { createTool } from '@runflow-ai/sdk';
|
|
490
473
|
import { z } from 'zod';
|
|
491
474
|
|
|
492
475
|
export const myTool = createTool({
|
|
493
476
|
id: 'my_tool',
|
|
494
|
-
description: '
|
|
477
|
+
description: 'What this tool does',
|
|
495
478
|
inputSchema: z.object({
|
|
496
479
|
param: z.string().describe('Parameter description'),
|
|
497
480
|
}),
|
|
498
481
|
execute: async ({ context }) => {
|
|
499
|
-
|
|
500
|
-
// Your logic here
|
|
501
|
-
return { result: 'success' };
|
|
482
|
+
return { result: context.param };
|
|
502
483
|
},
|
|
503
484
|
});
|
|
504
485
|
\`\`\`
|
|
505
486
|
|
|
506
|
-
|
|
487
|
+
Then register in \`tools/index.ts\`:
|
|
507
488
|
|
|
508
489
|
\`\`\`typescript
|
|
509
490
|
import { myTool } from './my-tool';
|
|
510
|
-
|
|
511
|
-
export const tools = {
|
|
512
|
-
get_weather: getWeather,
|
|
513
|
-
my_tool: myTool, // Add here
|
|
514
|
-
};
|
|
491
|
+
export const tools = { get_weather: getWeather, my_tool: myTool };
|
|
515
492
|
\`\`\`
|
|
516
493
|
|
|
517
|
-
##
|
|
494
|
+
## Docs
|
|
495
|
+
|
|
496
|
+
- [Agents](https://docs.runflow.ai/core-concepts/agents)
|
|
497
|
+
- [Tools](https://docs.runflow.ai/core-concepts/tools)
|
|
498
|
+
- [Memory](https://docs.runflow.ai/core-concepts/memory)
|
|
499
|
+
- [Connectors](https://docs.runflow.ai/core-concepts/connectors)
|
|
500
|
+
- [Observability](https://docs.runflow.ai/core-concepts/observability)
|
|
501
|
+
`;
|
|
502
|
+
}
|
|
503
|
+
function generateGitignore() {
|
|
504
|
+
return `# Dependencies
|
|
505
|
+
node_modules/
|
|
506
|
+
|
|
507
|
+
# Build output
|
|
508
|
+
dist/
|
|
509
|
+
|
|
510
|
+
# Runflow local config
|
|
511
|
+
.runflow/
|
|
512
|
+
|
|
513
|
+
# Environment variables
|
|
514
|
+
.env
|
|
515
|
+
.env.*
|
|
516
|
+
|
|
517
|
+
# OS files
|
|
518
|
+
.DS_Store
|
|
519
|
+
Thumbs.db
|
|
520
|
+
|
|
521
|
+
# IDE
|
|
522
|
+
.vscode/
|
|
523
|
+
.idea/
|
|
524
|
+
|
|
525
|
+
# Logs
|
|
526
|
+
*.log
|
|
527
|
+
npm-debug.log*
|
|
518
528
|
|
|
519
|
-
|
|
529
|
+
# TypeScript build info
|
|
530
|
+
*.tsbuildinfo
|
|
520
531
|
`;
|
|
521
532
|
}
|
|
522
533
|
function slugify(text) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"code-generator.js","sourceRoot":"","sources":["../../../src/commands/create/code-generator.ts"],"names":[],"mappings":";;AAsBA,
|
|
1
|
+
{"version":3,"file":"code-generator.js","sourceRoot":"","sources":["../../../src/commands/create/code-generator.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@runflow-ai/cli",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.36",
|
|
4
4
|
"description": "Official CLI for RunFlow AI platform - manage agents, deploy code, and interact with AI workflows from your terminal",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|