praisonai 1.2.2 → 1.2.3
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/agent/simple.js +1 -1
- package/dist/cli/commands/auto.d.ts +12 -0
- package/dist/cli/commands/auto.js +109 -0
- package/dist/cli/commands/autonomy.d.ts +5 -0
- package/dist/cli/commands/autonomy.js +152 -0
- package/dist/cli/commands/cache.d.ts +9 -0
- package/dist/cli/commands/cache.js +143 -0
- package/dist/cli/commands/chat.d.ts +14 -0
- package/dist/cli/commands/chat.js +127 -0
- package/dist/cli/commands/checkpoints.d.ts +5 -0
- package/dist/cli/commands/checkpoints.js +236 -0
- package/dist/cli/commands/context.d.ts +11 -0
- package/dist/cli/commands/context.js +182 -0
- package/dist/cli/commands/cost.d.ts +5 -0
- package/dist/cli/commands/cost.js +146 -0
- package/dist/cli/commands/db.d.ts +9 -0
- package/dist/cli/commands/db.js +149 -0
- package/dist/cli/commands/eval.d.ts +17 -0
- package/dist/cli/commands/eval.js +247 -0
- package/dist/cli/commands/external-agents.d.ts +5 -0
- package/dist/cli/commands/external-agents.js +169 -0
- package/dist/cli/commands/fast-context.d.ts +5 -0
- package/dist/cli/commands/fast-context.js +126 -0
- package/dist/cli/commands/flow.d.ts +5 -0
- package/dist/cli/commands/flow.js +141 -0
- package/dist/cli/commands/git.d.ts +5 -0
- package/dist/cli/commands/git.js +178 -0
- package/dist/cli/commands/graph-rag.d.ts +9 -0
- package/dist/cli/commands/graph-rag.js +131 -0
- package/dist/cli/commands/guardrail.d.ts +11 -0
- package/dist/cli/commands/guardrail.js +156 -0
- package/dist/cli/commands/handoff.d.ts +9 -0
- package/dist/cli/commands/handoff.js +133 -0
- package/dist/cli/commands/help.d.ts +8 -0
- package/dist/cli/commands/help.js +167 -0
- package/dist/cli/commands/image.d.ts +13 -0
- package/dist/cli/commands/image.js +192 -0
- package/dist/cli/commands/interactive.d.ts +6 -0
- package/dist/cli/commands/interactive.js +79 -0
- package/dist/cli/commands/jobs.d.ts +5 -0
- package/dist/cli/commands/jobs.js +282 -0
- package/dist/cli/commands/knowledge.d.ts +9 -0
- package/dist/cli/commands/knowledge.js +226 -0
- package/dist/cli/commands/mcp.d.ts +9 -0
- package/dist/cli/commands/mcp.js +243 -0
- package/dist/cli/commands/memory.d.ts +10 -0
- package/dist/cli/commands/memory.js +198 -0
- package/dist/cli/commands/n8n.d.ts +5 -0
- package/dist/cli/commands/n8n.js +137 -0
- package/dist/cli/commands/observability.d.ts +9 -0
- package/dist/cli/commands/observability.js +145 -0
- package/dist/cli/commands/planning.d.ts +9 -0
- package/dist/cli/commands/planning.js +167 -0
- package/dist/cli/commands/prompt-expand.d.ts +11 -0
- package/dist/cli/commands/prompt-expand.js +100 -0
- package/dist/cli/commands/providers.d.ts +9 -0
- package/dist/cli/commands/providers.js +98 -0
- package/dist/cli/commands/query-rewrite.d.ts +12 -0
- package/dist/cli/commands/query-rewrite.js +102 -0
- package/dist/cli/commands/repo-map.d.ts +5 -0
- package/dist/cli/commands/repo-map.js +151 -0
- package/dist/cli/commands/reranker.d.ts +10 -0
- package/dist/cli/commands/reranker.js +144 -0
- package/dist/cli/commands/research.d.ts +12 -0
- package/dist/cli/commands/research.js +108 -0
- package/dist/cli/commands/router.d.ts +11 -0
- package/dist/cli/commands/router.js +142 -0
- package/dist/cli/commands/run.d.ts +14 -0
- package/dist/cli/commands/run.js +111 -0
- package/dist/cli/commands/sandbox.d.ts +5 -0
- package/dist/cli/commands/sandbox.js +135 -0
- package/dist/cli/commands/scheduler.d.ts +5 -0
- package/dist/cli/commands/scheduler.js +260 -0
- package/dist/cli/commands/session.d.ts +9 -0
- package/dist/cli/commands/session.js +238 -0
- package/dist/cli/commands/skills.d.ts +9 -0
- package/dist/cli/commands/skills.js +256 -0
- package/dist/cli/commands/telemetry.d.ts +9 -0
- package/dist/cli/commands/telemetry.js +146 -0
- package/dist/cli/commands/tools.d.ts +9 -0
- package/dist/cli/commands/tools.js +172 -0
- package/dist/cli/commands/vector.d.ts +10 -0
- package/dist/cli/commands/vector.js +171 -0
- package/dist/cli/commands/version.d.ts +8 -0
- package/dist/cli/commands/version.js +68 -0
- package/dist/cli/commands/voice.d.ts +10 -0
- package/dist/cli/commands/voice.js +162 -0
- package/dist/cli/commands/workflow.d.ts +13 -0
- package/dist/cli/commands/workflow.js +184 -0
- package/dist/cli/config/index.d.ts +6 -0
- package/dist/cli/config/index.js +22 -0
- package/dist/cli/config/load.d.ts +20 -0
- package/dist/cli/config/load.js +229 -0
- package/dist/cli/config/resolve.d.ts +28 -0
- package/dist/cli/config/resolve.js +70 -0
- package/dist/cli/config/schema.d.ts +15 -0
- package/dist/cli/config/schema.js +65 -0
- package/dist/cli/features/autonomy-mode.d.ts +98 -0
- package/dist/cli/features/autonomy-mode.js +266 -0
- package/dist/cli/features/background-jobs.d.ts +155 -0
- package/dist/cli/features/background-jobs.js +416 -0
- package/dist/cli/features/checkpoints.d.ts +126 -0
- package/dist/cli/features/checkpoints.js +288 -0
- package/dist/cli/features/cost-tracker.d.ts +101 -0
- package/dist/cli/features/cost-tracker.js +212 -0
- package/dist/cli/features/external-agents.d.ts +115 -0
- package/dist/cli/features/external-agents.js +294 -0
- package/dist/cli/features/fast-context.d.ts +126 -0
- package/dist/cli/features/fast-context.js +310 -0
- package/dist/cli/features/flow-display.d.ts +100 -0
- package/dist/cli/features/flow-display.js +254 -0
- package/dist/cli/features/git-integration.d.ts +138 -0
- package/dist/cli/features/git-integration.js +374 -0
- package/dist/cli/features/index.d.ts +17 -0
- package/dist/cli/features/index.js +102 -0
- package/dist/cli/features/interactive-tui.d.ts +114 -0
- package/dist/cli/features/interactive-tui.js +326 -0
- package/dist/cli/features/n8n-integration.d.ts +108 -0
- package/dist/cli/features/n8n-integration.js +296 -0
- package/dist/cli/features/repo-map.d.ts +101 -0
- package/dist/cli/features/repo-map.js +350 -0
- package/dist/cli/features/sandbox-executor.d.ts +89 -0
- package/dist/cli/features/sandbox-executor.js +314 -0
- package/dist/cli/features/scheduler.d.ts +111 -0
- package/dist/cli/features/scheduler.js +298 -0
- package/dist/cli/features/slash-commands.d.ts +77 -0
- package/dist/cli/features/slash-commands.js +316 -0
- package/dist/cli/index.d.ts +19 -15
- package/dist/cli/index.js +163 -123
- package/dist/cli/output/errors.d.ts +32 -0
- package/dist/cli/output/errors.js +72 -0
- package/dist/cli/output/index.d.ts +6 -0
- package/dist/cli/output/index.js +22 -0
- package/dist/cli/output/json.d.ts +17 -0
- package/dist/cli/output/json.js +54 -0
- package/dist/cli/output/pretty.d.ts +21 -0
- package/dist/cli/output/pretty.js +106 -0
- package/dist/cli/runtime/env.d.ts +12 -0
- package/dist/cli/runtime/env.js +49 -0
- package/dist/cli/runtime/exit.d.ts +11 -0
- package/dist/cli/runtime/exit.js +49 -0
- package/dist/cli/runtime/index.d.ts +6 -0
- package/dist/cli/runtime/index.js +22 -0
- package/dist/cli/runtime/lazy.d.ts +18 -0
- package/dist/cli/runtime/lazy.js +85 -0
- package/dist/cli/spec/cli-spec.d.ts +87 -0
- package/dist/cli/spec/cli-spec.js +478 -0
- package/dist/cli/spec/index.d.ts +4 -0
- package/dist/cli/spec/index.js +20 -0
- package/dist/index.d.ts +4 -1
- package/dist/index.js +100 -7
- package/dist/memory/auto-memory.d.ts +136 -0
- package/dist/memory/auto-memory.js +301 -0
- package/dist/memory/file-memory.d.ts +88 -0
- package/dist/memory/file-memory.js +287 -0
- package/dist/memory/index.d.ts +2 -0
- package/dist/memory/index.js +11 -1
- package/dist/workflows/loop.d.ts +0 -0
- package/dist/workflows/loop.js +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Tools command - List or manage tools
|
|
4
|
+
*/
|
|
5
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
8
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
9
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
10
|
+
}
|
|
11
|
+
Object.defineProperty(o, k2, desc);
|
|
12
|
+
}) : (function(o, m, k, k2) {
|
|
13
|
+
if (k2 === undefined) k2 = k;
|
|
14
|
+
o[k2] = m[k];
|
|
15
|
+
}));
|
|
16
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
17
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
18
|
+
}) : function(o, v) {
|
|
19
|
+
o["default"] = v;
|
|
20
|
+
});
|
|
21
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
22
|
+
var ownKeys = function(o) {
|
|
23
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
24
|
+
var ar = [];
|
|
25
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
26
|
+
return ar;
|
|
27
|
+
};
|
|
28
|
+
return ownKeys(o);
|
|
29
|
+
};
|
|
30
|
+
return function (mod) {
|
|
31
|
+
if (mod && mod.__esModule) return mod;
|
|
32
|
+
var result = {};
|
|
33
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
34
|
+
__setModuleDefault(result, mod);
|
|
35
|
+
return result;
|
|
36
|
+
};
|
|
37
|
+
})();
|
|
38
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
exports.execute = execute;
|
|
40
|
+
const decorator_1 = require("../../tools/decorator");
|
|
41
|
+
const json_1 = require("../output/json");
|
|
42
|
+
const pretty = __importStar(require("../output/pretty"));
|
|
43
|
+
const cli_spec_1 = require("../spec/cli-spec");
|
|
44
|
+
const errors_1 = require("../output/errors");
|
|
45
|
+
// Built-in tools that are always available
|
|
46
|
+
const BUILTIN_TOOLS = [
|
|
47
|
+
{ name: 'arxiv_search', description: 'Search arXiv for academic papers' },
|
|
48
|
+
{ name: 'web_search', description: 'Search the web for information' },
|
|
49
|
+
{ name: 'calculator', description: 'Perform mathematical calculations' },
|
|
50
|
+
{ name: 'code_executor', description: 'Execute code snippets' },
|
|
51
|
+
{ name: 'file_reader', description: 'Read file contents' },
|
|
52
|
+
{ name: 'file_writer', description: 'Write content to files' }
|
|
53
|
+
];
|
|
54
|
+
async function execute(args, options) {
|
|
55
|
+
const subcommand = args[0] || 'list';
|
|
56
|
+
const outputFormat = options.json ? 'json' : (options.output || 'pretty');
|
|
57
|
+
switch (subcommand) {
|
|
58
|
+
case 'list':
|
|
59
|
+
await listTools(options, outputFormat);
|
|
60
|
+
break;
|
|
61
|
+
case 'info':
|
|
62
|
+
await toolInfo(args.slice(1), options, outputFormat);
|
|
63
|
+
break;
|
|
64
|
+
default:
|
|
65
|
+
if (outputFormat === 'json') {
|
|
66
|
+
(0, json_1.outputJson)((0, json_1.formatError)(errors_1.ERROR_CODES.INVALID_ARGS, `Unknown subcommand: ${subcommand}`));
|
|
67
|
+
}
|
|
68
|
+
else {
|
|
69
|
+
await pretty.error(`Unknown subcommand: ${subcommand}`);
|
|
70
|
+
}
|
|
71
|
+
process.exit(cli_spec_1.EXIT_CODES.INVALID_ARGUMENTS);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
async function listTools(options, outputFormat) {
|
|
75
|
+
// Get registered tools from registry
|
|
76
|
+
const registry = (0, decorator_1.getRegistry)();
|
|
77
|
+
const registeredTools = registry.list();
|
|
78
|
+
// Combine built-in and registered tools
|
|
79
|
+
const allTools = [
|
|
80
|
+
...BUILTIN_TOOLS,
|
|
81
|
+
...registeredTools.map((t) => ({
|
|
82
|
+
name: t.name,
|
|
83
|
+
description: t.description,
|
|
84
|
+
parameters: t.parameters
|
|
85
|
+
}))
|
|
86
|
+
];
|
|
87
|
+
if (outputFormat === 'json') {
|
|
88
|
+
(0, json_1.outputJson)((0, json_1.formatSuccess)({
|
|
89
|
+
tools: allTools.map(t => ({
|
|
90
|
+
name: t.name,
|
|
91
|
+
description: t.description,
|
|
92
|
+
parameters: options.verbose ? t.parameters : undefined
|
|
93
|
+
})),
|
|
94
|
+
count: allTools.length
|
|
95
|
+
}));
|
|
96
|
+
}
|
|
97
|
+
else {
|
|
98
|
+
await pretty.heading('Available Tools');
|
|
99
|
+
await pretty.plain('Built-in Tools:');
|
|
100
|
+
for (const tool of BUILTIN_TOOLS) {
|
|
101
|
+
await pretty.plain(` • ${tool.name}`);
|
|
102
|
+
if (tool.description) {
|
|
103
|
+
await pretty.dim(` ${tool.description}`);
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
if (registeredTools.length > 0) {
|
|
107
|
+
await pretty.newline();
|
|
108
|
+
await pretty.plain('Registered Tools:');
|
|
109
|
+
for (const tool of registeredTools) {
|
|
110
|
+
await pretty.plain(` • ${tool.name}`);
|
|
111
|
+
if (tool.description) {
|
|
112
|
+
await pretty.dim(` ${tool.description}`);
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
await pretty.newline();
|
|
117
|
+
await pretty.info(`Total: ${allTools.length} tools`);
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
async function toolInfo(args, options, outputFormat) {
|
|
121
|
+
const toolName = args[0];
|
|
122
|
+
if (!toolName) {
|
|
123
|
+
if (outputFormat === 'json') {
|
|
124
|
+
(0, json_1.outputJson)((0, json_1.formatError)(errors_1.ERROR_CODES.MISSING_ARG, 'Please provide a tool name'));
|
|
125
|
+
}
|
|
126
|
+
else {
|
|
127
|
+
await pretty.error('Please provide a tool name');
|
|
128
|
+
}
|
|
129
|
+
process.exit(cli_spec_1.EXIT_CODES.INVALID_ARGUMENTS);
|
|
130
|
+
}
|
|
131
|
+
// Look for tool in built-in and registered tools
|
|
132
|
+
const builtinTool = BUILTIN_TOOLS.find(t => t.name === toolName);
|
|
133
|
+
const registry = (0, decorator_1.getRegistry)();
|
|
134
|
+
const registeredTool = registry.get(toolName);
|
|
135
|
+
const tool = builtinTool || (registeredTool ? {
|
|
136
|
+
name: registeredTool.name,
|
|
137
|
+
description: registeredTool.description,
|
|
138
|
+
parameters: registeredTool.parameters
|
|
139
|
+
} : null);
|
|
140
|
+
if (!tool) {
|
|
141
|
+
if (outputFormat === 'json') {
|
|
142
|
+
(0, json_1.outputJson)((0, json_1.formatError)(errors_1.ERROR_CODES.TOOL_NOT_FOUND, `Tool not found: ${toolName}`));
|
|
143
|
+
}
|
|
144
|
+
else {
|
|
145
|
+
await pretty.error(`Tool not found: ${toolName}`);
|
|
146
|
+
}
|
|
147
|
+
process.exit(cli_spec_1.EXIT_CODES.RUNTIME_ERROR);
|
|
148
|
+
}
|
|
149
|
+
if (outputFormat === 'json') {
|
|
150
|
+
(0, json_1.outputJson)((0, json_1.formatSuccess)({
|
|
151
|
+
tool: {
|
|
152
|
+
name: tool.name,
|
|
153
|
+
description: tool.description,
|
|
154
|
+
parameters: tool.parameters,
|
|
155
|
+
type: builtinTool ? 'builtin' : 'registered'
|
|
156
|
+
}
|
|
157
|
+
}));
|
|
158
|
+
}
|
|
159
|
+
else {
|
|
160
|
+
await pretty.heading(`Tool: ${tool.name}`);
|
|
161
|
+
await pretty.keyValue({
|
|
162
|
+
'Name': tool.name,
|
|
163
|
+
'Type': builtinTool ? 'Built-in' : 'Registered',
|
|
164
|
+
'Description': tool.description || 'No description'
|
|
165
|
+
});
|
|
166
|
+
if (tool.parameters && options.verbose) {
|
|
167
|
+
await pretty.newline();
|
|
168
|
+
await pretty.plain('Parameters:');
|
|
169
|
+
await pretty.plain(JSON.stringify(tool.parameters, null, 2));
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Vector command - Vector store management
|
|
3
|
+
*/
|
|
4
|
+
export interface VectorOptions {
|
|
5
|
+
verbose?: boolean;
|
|
6
|
+
output?: 'json' | 'text' | 'pretty';
|
|
7
|
+
json?: boolean;
|
|
8
|
+
store?: string;
|
|
9
|
+
}
|
|
10
|
+
export declare function execute(args: string[], options: VectorOptions): Promise<void>;
|
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Vector command - Vector store management
|
|
4
|
+
*/
|
|
5
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
8
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
9
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
10
|
+
}
|
|
11
|
+
Object.defineProperty(o, k2, desc);
|
|
12
|
+
}) : (function(o, m, k, k2) {
|
|
13
|
+
if (k2 === undefined) k2 = k;
|
|
14
|
+
o[k2] = m[k];
|
|
15
|
+
}));
|
|
16
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
17
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
18
|
+
}) : function(o, v) {
|
|
19
|
+
o["default"] = v;
|
|
20
|
+
});
|
|
21
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
22
|
+
var ownKeys = function(o) {
|
|
23
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
24
|
+
var ar = [];
|
|
25
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
26
|
+
return ar;
|
|
27
|
+
};
|
|
28
|
+
return ownKeys(o);
|
|
29
|
+
};
|
|
30
|
+
return function (mod) {
|
|
31
|
+
if (mod && mod.__esModule) return mod;
|
|
32
|
+
var result = {};
|
|
33
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
34
|
+
__setModuleDefault(result, mod);
|
|
35
|
+
return result;
|
|
36
|
+
};
|
|
37
|
+
})();
|
|
38
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
exports.execute = execute;
|
|
40
|
+
const json_1 = require("../output/json");
|
|
41
|
+
const pretty = __importStar(require("../output/pretty"));
|
|
42
|
+
const cli_spec_1 = require("../spec/cli-spec");
|
|
43
|
+
const errors_1 = require("../output/errors");
|
|
44
|
+
async function execute(args, options) {
|
|
45
|
+
const action = args[0] || 'help';
|
|
46
|
+
const outputFormat = options.json ? 'json' : (options.output || 'pretty');
|
|
47
|
+
try {
|
|
48
|
+
switch (action) {
|
|
49
|
+
case 'providers':
|
|
50
|
+
await listProviders(outputFormat);
|
|
51
|
+
break;
|
|
52
|
+
case 'info':
|
|
53
|
+
await showInfo(outputFormat);
|
|
54
|
+
break;
|
|
55
|
+
case 'help':
|
|
56
|
+
default:
|
|
57
|
+
await showHelp(outputFormat);
|
|
58
|
+
break;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
catch (error) {
|
|
62
|
+
if (outputFormat === 'json') {
|
|
63
|
+
(0, json_1.outputJson)((0, json_1.formatError)(errors_1.ERROR_CODES.UNKNOWN, error instanceof Error ? error.message : String(error)));
|
|
64
|
+
}
|
|
65
|
+
else {
|
|
66
|
+
await pretty.error(error instanceof Error ? error.message : String(error));
|
|
67
|
+
}
|
|
68
|
+
process.exit(cli_spec_1.EXIT_CODES.RUNTIME_ERROR);
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
async function showInfo(outputFormat) {
|
|
72
|
+
const info = {
|
|
73
|
+
feature: 'Vector Stores',
|
|
74
|
+
description: 'Vector database integrations for embeddings and similarity search',
|
|
75
|
+
providers: [
|
|
76
|
+
{ name: 'MemoryVectorStore', description: 'In-memory vector store for development' },
|
|
77
|
+
{ name: 'PineconeVectorStore', description: 'Pinecone cloud vector database' },
|
|
78
|
+
{ name: 'WeaviateVectorStore', description: 'Weaviate vector search engine' },
|
|
79
|
+
{ name: 'QdrantVectorStore', description: 'Qdrant vector database' },
|
|
80
|
+
{ name: 'ChromaVectorStore', description: 'ChromaDB embedding database' }
|
|
81
|
+
],
|
|
82
|
+
sdkUsage: `
|
|
83
|
+
import { createMemoryVectorStore, createPineconeStore } from 'praisonai';
|
|
84
|
+
|
|
85
|
+
// Create a memory vector store
|
|
86
|
+
const store = createMemoryVectorStore('my-store');
|
|
87
|
+
|
|
88
|
+
// Create index
|
|
89
|
+
await store.createIndex({ indexName: 'docs', dimension: 1536 });
|
|
90
|
+
|
|
91
|
+
// Upsert vectors
|
|
92
|
+
await store.upsert({
|
|
93
|
+
indexName: 'docs',
|
|
94
|
+
vectors: [{ id: '1', vector: [...], metadata: { text: 'Hello' } }]
|
|
95
|
+
});
|
|
96
|
+
|
|
97
|
+
// Query
|
|
98
|
+
const results = await store.query({
|
|
99
|
+
indexName: 'docs',
|
|
100
|
+
vector: [...],
|
|
101
|
+
topK: 5
|
|
102
|
+
});
|
|
103
|
+
`
|
|
104
|
+
};
|
|
105
|
+
if (outputFormat === 'json') {
|
|
106
|
+
(0, json_1.outputJson)((0, json_1.formatSuccess)(info));
|
|
107
|
+
}
|
|
108
|
+
else {
|
|
109
|
+
await pretty.heading('Vector Stores');
|
|
110
|
+
await pretty.plain(info.description);
|
|
111
|
+
await pretty.newline();
|
|
112
|
+
await pretty.plain('Available Providers:');
|
|
113
|
+
for (const p of info.providers) {
|
|
114
|
+
await pretty.plain(` • ${p.name}: ${p.description}`);
|
|
115
|
+
}
|
|
116
|
+
await pretty.newline();
|
|
117
|
+
await pretty.dim('Use the SDK for full vector store functionality');
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
async function listProviders(outputFormat) {
|
|
121
|
+
const providers = [
|
|
122
|
+
{ name: 'memory', description: 'In-memory vector store (default)', available: true },
|
|
123
|
+
{ name: 'pinecone', description: 'Pinecone vector database', available: true },
|
|
124
|
+
{ name: 'weaviate', description: 'Weaviate vector database', available: true },
|
|
125
|
+
{ name: 'qdrant', description: 'Qdrant vector database', available: true },
|
|
126
|
+
{ name: 'chroma', description: 'ChromaDB vector database', available: true }
|
|
127
|
+
];
|
|
128
|
+
if (outputFormat === 'json') {
|
|
129
|
+
(0, json_1.outputJson)((0, json_1.formatSuccess)({ providers }));
|
|
130
|
+
}
|
|
131
|
+
else {
|
|
132
|
+
await pretty.heading('Vector Store Providers');
|
|
133
|
+
for (const p of providers) {
|
|
134
|
+
const status = p.available ? '✓' : '✗';
|
|
135
|
+
await pretty.plain(` ${status} ${p.name.padEnd(15)} ${p.description}`);
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
async function showHelp(outputFormat) {
|
|
140
|
+
const help = {
|
|
141
|
+
command: 'vector',
|
|
142
|
+
description: 'Vector store management for embeddings and similarity search',
|
|
143
|
+
subcommands: [
|
|
144
|
+
{ name: 'add <content>', description: 'Add document to vector store' },
|
|
145
|
+
{ name: 'search <query>', description: 'Search vector store' },
|
|
146
|
+
{ name: 'stats', description: 'Show vector store statistics' },
|
|
147
|
+
{ name: 'providers', description: 'List available vector store providers' },
|
|
148
|
+
{ name: 'help', description: 'Show this help' }
|
|
149
|
+
],
|
|
150
|
+
flags: [
|
|
151
|
+
{ name: '--store', description: 'Vector store provider (memory, pinecone, etc.)' }
|
|
152
|
+
]
|
|
153
|
+
};
|
|
154
|
+
if (outputFormat === 'json') {
|
|
155
|
+
(0, json_1.outputJson)((0, json_1.formatSuccess)(help));
|
|
156
|
+
}
|
|
157
|
+
else {
|
|
158
|
+
await pretty.heading('Vector Command');
|
|
159
|
+
await pretty.plain(help.description);
|
|
160
|
+
await pretty.newline();
|
|
161
|
+
await pretty.plain('Subcommands:');
|
|
162
|
+
for (const cmd of help.subcommands) {
|
|
163
|
+
await pretty.plain(` ${cmd.name.padEnd(25)} ${cmd.description}`);
|
|
164
|
+
}
|
|
165
|
+
await pretty.newline();
|
|
166
|
+
await pretty.plain('Flags:');
|
|
167
|
+
for (const flag of help.flags) {
|
|
168
|
+
await pretty.plain(` ${flag.name.padEnd(20)} ${flag.description}`);
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Version command - Show CLI version
|
|
4
|
+
*/
|
|
5
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
8
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
9
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
10
|
+
}
|
|
11
|
+
Object.defineProperty(o, k2, desc);
|
|
12
|
+
}) : (function(o, m, k, k2) {
|
|
13
|
+
if (k2 === undefined) k2 = k;
|
|
14
|
+
o[k2] = m[k];
|
|
15
|
+
}));
|
|
16
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
17
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
18
|
+
}) : function(o, v) {
|
|
19
|
+
o["default"] = v;
|
|
20
|
+
});
|
|
21
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
22
|
+
var ownKeys = function(o) {
|
|
23
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
24
|
+
var ar = [];
|
|
25
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
26
|
+
return ar;
|
|
27
|
+
};
|
|
28
|
+
return ownKeys(o);
|
|
29
|
+
};
|
|
30
|
+
return function (mod) {
|
|
31
|
+
if (mod && mod.__esModule) return mod;
|
|
32
|
+
var result = {};
|
|
33
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
34
|
+
__setModuleDefault(result, mod);
|
|
35
|
+
return result;
|
|
36
|
+
};
|
|
37
|
+
})();
|
|
38
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
exports.execute = execute;
|
|
40
|
+
const cli_spec_1 = require("../spec/cli-spec");
|
|
41
|
+
const json_1 = require("../output/json");
|
|
42
|
+
const pretty = __importStar(require("../output/pretty"));
|
|
43
|
+
async function execute(args, options) {
|
|
44
|
+
const outputFormat = options.json ? 'json' : (options.output || 'pretty');
|
|
45
|
+
// Load package.json for version
|
|
46
|
+
let packageVersion = '0.0.0';
|
|
47
|
+
try {
|
|
48
|
+
const pkg = require('../../../package.json');
|
|
49
|
+
packageVersion = pkg.version;
|
|
50
|
+
}
|
|
51
|
+
catch {
|
|
52
|
+
// Fallback if package.json not found
|
|
53
|
+
}
|
|
54
|
+
const versionInfo = {
|
|
55
|
+
version: packageVersion,
|
|
56
|
+
cli_spec: cli_spec_1.CLI_SPEC_VERSION,
|
|
57
|
+
runtime: 'node',
|
|
58
|
+
node_version: process.version
|
|
59
|
+
};
|
|
60
|
+
if (outputFormat === 'json') {
|
|
61
|
+
(0, json_1.outputJson)((0, json_1.formatSuccess)(versionInfo));
|
|
62
|
+
}
|
|
63
|
+
else {
|
|
64
|
+
await pretty.plain(`praisonai-ts v${packageVersion}`);
|
|
65
|
+
await pretty.dim(`CLI Spec: v${cli_spec_1.CLI_SPEC_VERSION}`);
|
|
66
|
+
await pretty.dim(`Node: ${process.version}`);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Voice command - Text-to-speech and speech-to-text
|
|
3
|
+
*/
|
|
4
|
+
export interface VoiceOptions {
|
|
5
|
+
verbose?: boolean;
|
|
6
|
+
output?: 'json' | 'text' | 'pretty';
|
|
7
|
+
json?: boolean;
|
|
8
|
+
provider?: string;
|
|
9
|
+
}
|
|
10
|
+
export declare function execute(args: string[], options: VoiceOptions): Promise<void>;
|
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Voice command - Text-to-speech and speech-to-text
|
|
4
|
+
*/
|
|
5
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
8
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
9
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
10
|
+
}
|
|
11
|
+
Object.defineProperty(o, k2, desc);
|
|
12
|
+
}) : (function(o, m, k, k2) {
|
|
13
|
+
if (k2 === undefined) k2 = k;
|
|
14
|
+
o[k2] = m[k];
|
|
15
|
+
}));
|
|
16
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
17
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
18
|
+
}) : function(o, v) {
|
|
19
|
+
o["default"] = v;
|
|
20
|
+
});
|
|
21
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
22
|
+
var ownKeys = function(o) {
|
|
23
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
24
|
+
var ar = [];
|
|
25
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
26
|
+
return ar;
|
|
27
|
+
};
|
|
28
|
+
return ownKeys(o);
|
|
29
|
+
};
|
|
30
|
+
return function (mod) {
|
|
31
|
+
if (mod && mod.__esModule) return mod;
|
|
32
|
+
var result = {};
|
|
33
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
34
|
+
__setModuleDefault(result, mod);
|
|
35
|
+
return result;
|
|
36
|
+
};
|
|
37
|
+
})();
|
|
38
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
exports.execute = execute;
|
|
40
|
+
const json_1 = require("../output/json");
|
|
41
|
+
const pretty = __importStar(require("../output/pretty"));
|
|
42
|
+
const cli_spec_1 = require("../spec/cli-spec");
|
|
43
|
+
const errors_1 = require("../output/errors");
|
|
44
|
+
async function execute(args, options) {
|
|
45
|
+
const action = args[0] || 'help';
|
|
46
|
+
const outputFormat = options.json ? 'json' : (options.output || 'pretty');
|
|
47
|
+
try {
|
|
48
|
+
switch (action) {
|
|
49
|
+
case 'providers':
|
|
50
|
+
await listProviders(outputFormat);
|
|
51
|
+
break;
|
|
52
|
+
case 'info':
|
|
53
|
+
await showInfo(outputFormat);
|
|
54
|
+
break;
|
|
55
|
+
case 'help':
|
|
56
|
+
default:
|
|
57
|
+
await showHelp(outputFormat);
|
|
58
|
+
break;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
catch (error) {
|
|
62
|
+
if (outputFormat === 'json') {
|
|
63
|
+
(0, json_1.outputJson)((0, json_1.formatError)(errors_1.ERROR_CODES.UNKNOWN, error instanceof Error ? error.message : String(error)));
|
|
64
|
+
}
|
|
65
|
+
else {
|
|
66
|
+
await pretty.error(error instanceof Error ? error.message : String(error));
|
|
67
|
+
}
|
|
68
|
+
process.exit(cli_spec_1.EXIT_CODES.RUNTIME_ERROR);
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
async function showInfo(outputFormat) {
|
|
72
|
+
const info = {
|
|
73
|
+
feature: 'Voice',
|
|
74
|
+
description: 'Text-to-speech and speech-to-text capabilities',
|
|
75
|
+
providers: [
|
|
76
|
+
{ name: 'OpenAIVoiceProvider', description: 'OpenAI TTS and Whisper' },
|
|
77
|
+
{ name: 'ElevenLabsVoiceProvider', description: 'ElevenLabs voice synthesis' }
|
|
78
|
+
],
|
|
79
|
+
capabilities: [
|
|
80
|
+
'Text-to-speech conversion',
|
|
81
|
+
'Speech-to-text transcription',
|
|
82
|
+
'Multiple voice options',
|
|
83
|
+
'Streaming audio support'
|
|
84
|
+
],
|
|
85
|
+
sdkUsage: `
|
|
86
|
+
import { createOpenAIVoice, createElevenLabsVoice } from 'praisonai';
|
|
87
|
+
|
|
88
|
+
// Create OpenAI voice provider
|
|
89
|
+
const voice = createOpenAIVoice({ apiKey: process.env.OPENAI_API_KEY });
|
|
90
|
+
|
|
91
|
+
// Text to speech
|
|
92
|
+
const audio = await voice.speak({ text: 'Hello world', voice: 'alloy' });
|
|
93
|
+
|
|
94
|
+
// Speech to text
|
|
95
|
+
const text = await voice.listen({ audio: audioBuffer });
|
|
96
|
+
`
|
|
97
|
+
};
|
|
98
|
+
if (outputFormat === 'json') {
|
|
99
|
+
(0, json_1.outputJson)((0, json_1.formatSuccess)(info));
|
|
100
|
+
}
|
|
101
|
+
else {
|
|
102
|
+
await pretty.heading('Voice');
|
|
103
|
+
await pretty.plain(info.description);
|
|
104
|
+
await pretty.newline();
|
|
105
|
+
await pretty.plain('Providers:');
|
|
106
|
+
for (const p of info.providers) {
|
|
107
|
+
await pretty.plain(` • ${p.name}: ${p.description}`);
|
|
108
|
+
}
|
|
109
|
+
await pretty.newline();
|
|
110
|
+
await pretty.plain('Capabilities:');
|
|
111
|
+
for (const cap of info.capabilities) {
|
|
112
|
+
await pretty.plain(` • ${cap}`);
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
async function listProviders(outputFormat) {
|
|
117
|
+
const providers = [
|
|
118
|
+
{ name: 'openai', description: 'OpenAI TTS and Whisper', available: true },
|
|
119
|
+
{ name: 'elevenlabs', description: 'ElevenLabs voice synthesis', available: true }
|
|
120
|
+
];
|
|
121
|
+
if (outputFormat === 'json') {
|
|
122
|
+
(0, json_1.outputJson)((0, json_1.formatSuccess)({ providers }));
|
|
123
|
+
}
|
|
124
|
+
else {
|
|
125
|
+
await pretty.heading('Voice Providers');
|
|
126
|
+
for (const p of providers) {
|
|
127
|
+
const status = p.available ? '✓' : '✗';
|
|
128
|
+
await pretty.plain(` ${status} ${p.name.padEnd(15)} ${p.description}`);
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
async function showHelp(outputFormat) {
|
|
133
|
+
const help = {
|
|
134
|
+
command: 'voice',
|
|
135
|
+
description: 'Text-to-speech and speech-to-text capabilities',
|
|
136
|
+
subcommands: [
|
|
137
|
+
{ name: 'info', description: 'Show voice feature information' },
|
|
138
|
+
{ name: 'providers', description: 'List available voice providers' },
|
|
139
|
+
{ name: 'help', description: 'Show this help' }
|
|
140
|
+
],
|
|
141
|
+
flags: [
|
|
142
|
+
{ name: '--provider', description: 'Voice provider (openai, elevenlabs)' }
|
|
143
|
+
]
|
|
144
|
+
};
|
|
145
|
+
if (outputFormat === 'json') {
|
|
146
|
+
(0, json_1.outputJson)((0, json_1.formatSuccess)(help));
|
|
147
|
+
}
|
|
148
|
+
else {
|
|
149
|
+
await pretty.heading('Voice Command');
|
|
150
|
+
await pretty.plain(help.description);
|
|
151
|
+
await pretty.newline();
|
|
152
|
+
await pretty.plain('Subcommands:');
|
|
153
|
+
for (const cmd of help.subcommands) {
|
|
154
|
+
await pretty.plain(` ${cmd.name.padEnd(20)} ${cmd.description}`);
|
|
155
|
+
}
|
|
156
|
+
await pretty.newline();
|
|
157
|
+
await pretty.plain('Flags:');
|
|
158
|
+
for (const flag of help.flags) {
|
|
159
|
+
await pretty.plain(` ${flag.name.padEnd(20)} ${flag.description}`);
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Workflow command - Execute a multi-agent workflow
|
|
3
|
+
*/
|
|
4
|
+
export interface WorkflowOptions {
|
|
5
|
+
parallel?: boolean;
|
|
6
|
+
model?: string;
|
|
7
|
+
verbose?: boolean;
|
|
8
|
+
profile?: string;
|
|
9
|
+
config?: string;
|
|
10
|
+
output?: 'json' | 'text' | 'pretty';
|
|
11
|
+
json?: boolean;
|
|
12
|
+
}
|
|
13
|
+
export declare function execute(args: string[], options: WorkflowOptions): Promise<void>;
|