@lov3kaizen/agentsea-cli 0.3.1 → 0.5.1

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.
Files changed (54) hide show
  1. package/dist/cli.js +815 -39
  2. package/dist/cli.js.map +1 -1
  3. package/dist/commands/agent.js.map +1 -1
  4. package/dist/commands/costs.d.ts +19 -0
  5. package/dist/commands/costs.d.ts.map +1 -0
  6. package/dist/commands/costs.js +290 -0
  7. package/dist/commands/costs.js.map +1 -0
  8. package/dist/commands/crews.d.ts +16 -0
  9. package/dist/commands/crews.d.ts.map +1 -0
  10. package/dist/commands/crews.js +266 -0
  11. package/dist/commands/crews.js.map +1 -0
  12. package/dist/commands/embeddings.d.ts +19 -0
  13. package/dist/commands/embeddings.d.ts.map +1 -0
  14. package/dist/commands/embeddings.js +332 -0
  15. package/dist/commands/embeddings.js.map +1 -0
  16. package/dist/commands/evaluate.d.ts +18 -0
  17. package/dist/commands/evaluate.d.ts.map +1 -0
  18. package/dist/commands/evaluate.js +284 -0
  19. package/dist/commands/evaluate.js.map +1 -0
  20. package/dist/commands/gateway.d.ts +27 -0
  21. package/dist/commands/gateway.d.ts.map +1 -0
  22. package/dist/commands/gateway.js +256 -0
  23. package/dist/commands/gateway.js.map +1 -0
  24. package/dist/commands/guardrails.d.ts +17 -0
  25. package/dist/commands/guardrails.d.ts.map +1 -0
  26. package/dist/commands/guardrails.js +280 -0
  27. package/dist/commands/guardrails.js.map +1 -0
  28. package/dist/commands/ingest.d.ts +22 -0
  29. package/dist/commands/ingest.d.ts.map +1 -0
  30. package/dist/commands/ingest.js +317 -0
  31. package/dist/commands/ingest.js.map +1 -0
  32. package/dist/commands/init.d.ts.map +1 -1
  33. package/dist/commands/init.js.map +1 -1
  34. package/dist/commands/memory.d.ts +16 -0
  35. package/dist/commands/memory.d.ts.map +1 -0
  36. package/dist/commands/memory.js +280 -0
  37. package/dist/commands/memory.js.map +1 -0
  38. package/dist/commands/prompts.d.ts +22 -0
  39. package/dist/commands/prompts.d.ts.map +1 -0
  40. package/dist/commands/prompts.js +274 -0
  41. package/dist/commands/prompts.js.map +1 -0
  42. package/dist/commands/provider.js.map +1 -1
  43. package/dist/commands/surf.d.ts +16 -0
  44. package/dist/commands/surf.d.ts.map +1 -0
  45. package/dist/commands/surf.js +259 -0
  46. package/dist/commands/surf.js.map +1 -0
  47. package/dist/config/manager.d.ts +11 -0
  48. package/dist/config/manager.d.ts.map +1 -1
  49. package/dist/config/manager.js +13 -0
  50. package/dist/config/manager.js.map +1 -1
  51. package/dist/utils/logger.d.ts +1 -1
  52. package/dist/utils/logger.d.ts.map +1 -1
  53. package/dist/utils/logger.js.map +1 -1
  54. package/package.json +3 -3
@@ -0,0 +1 @@
1
+ {"version":3,"file":"evaluate.d.ts","sourceRoot":"","sources":["../../src/commands/evaluate.ts"],"names":[],"mappings":"AAkFA,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAKD,wBAAsB,uBAAuB,IAAI,OAAO,CAAC,IAAI,CAAC,CA+F7D;AAKD,wBAAgB,gBAAgB,IAAI,IAAI,CAwBvC;AAKD,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAmCjD;AAKD,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAyBnE;AAKD,wBAAgB,kBAAkB,IAAI,IAAI,CAoBzC;AAKD,wBAAgB,iBAAiB,IAAI,IAAI,CAUxC;AAKD,wBAAgB,wBAAwB,IAAI,IAAI,CAU/C"}
@@ -0,0 +1,284 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.createEvalConfigCommand = createEvalConfigCommand;
7
+ exports.listEvalsCommand = listEvalsCommand;
8
+ exports.getEvalCommand = getEvalCommand;
9
+ exports.deleteEvalCommand = deleteEvalCommand;
10
+ exports.showMetricsCommand = showMetricsCommand;
11
+ exports.showJudgesCommand = showJudgesCommand;
12
+ exports.showFeedbackTypesCommand = showFeedbackTypesCommand;
13
+ const chalk_1 = __importDefault(require("chalk"));
14
+ const inquirer_1 = __importDefault(require("inquirer"));
15
+ const table_1 = require("table");
16
+ const manager_1 = require("../config/manager");
17
+ const logger_1 = require("../utils/logger");
18
+ const METRICS = {
19
+ accuracy: {
20
+ name: 'Accuracy',
21
+ category: 'correctness',
22
+ description: 'Measure response correctness',
23
+ },
24
+ relevance: {
25
+ name: 'Relevance',
26
+ category: 'quality',
27
+ description: 'Measure response relevance to query',
28
+ },
29
+ coherence: {
30
+ name: 'Coherence',
31
+ category: 'quality',
32
+ description: 'Measure logical consistency',
33
+ },
34
+ faithfulness: {
35
+ name: 'Faithfulness',
36
+ category: 'rag',
37
+ description: 'Check grounding in source documents',
38
+ },
39
+ 'context-relevance': {
40
+ name: 'Context Relevance',
41
+ category: 'rag',
42
+ description: 'Measure context usefulness for query',
43
+ },
44
+ toxicity: {
45
+ name: 'Toxicity',
46
+ category: 'safety',
47
+ description: 'Detect harmful content',
48
+ },
49
+ };
50
+ const JUDGES = {
51
+ 'llm-judge': {
52
+ name: 'LLM Judge',
53
+ description: 'Use an LLM to evaluate responses',
54
+ },
55
+ 'rubric-judge': {
56
+ name: 'Rubric Judge',
57
+ description: 'Score against a defined rubric',
58
+ },
59
+ 'comparative-judge': {
60
+ name: 'Comparative Judge',
61
+ description: 'Compare multiple responses',
62
+ },
63
+ 'consensus-judge': {
64
+ name: 'Consensus Judge',
65
+ description: 'Multiple judges reach consensus',
66
+ },
67
+ };
68
+ const FEEDBACK_TYPES = [
69
+ { name: 'Thumbs', value: 'thumbs', description: 'Simple thumbs up/down' },
70
+ { name: 'Rating', value: 'rating', description: 'Star rating (1-5)' },
71
+ {
72
+ name: 'Multi-Criteria',
73
+ value: 'multi-criteria',
74
+ description: 'Rate multiple aspects',
75
+ },
76
+ {
77
+ name: 'Preference',
78
+ value: 'preference',
79
+ description: 'Compare response pairs',
80
+ },
81
+ {
82
+ name: 'Correction',
83
+ value: 'correction',
84
+ description: 'Provide corrections',
85
+ },
86
+ ];
87
+ async function createEvalConfigCommand() {
88
+ logger_1.logger.heading('Create Evaluation Configuration');
89
+ const answers = await inquirer_1.default.prompt([
90
+ {
91
+ type: 'input',
92
+ name: 'name',
93
+ message: 'Evaluation name:',
94
+ validate: (input) => {
95
+ if (!input.trim())
96
+ return 'Name is required';
97
+ const config = manager_1.configManager.getConfig();
98
+ if (config.evaluations?.[input])
99
+ return 'Evaluation with this name already exists';
100
+ return true;
101
+ },
102
+ },
103
+ {
104
+ type: 'input',
105
+ name: 'description',
106
+ message: 'Description:',
107
+ default: 'An evaluation pipeline',
108
+ },
109
+ {
110
+ type: 'checkbox',
111
+ name: 'metrics',
112
+ message: 'Select metrics to evaluate:',
113
+ choices: Object.entries(METRICS).map(([key, metric]) => ({
114
+ name: `${metric.name} (${metric.category}) - ${metric.description}`,
115
+ value: key,
116
+ })),
117
+ validate: (input) => input.length >= 1 || 'Select at least one metric',
118
+ },
119
+ {
120
+ type: 'list',
121
+ name: 'judgeType',
122
+ message: 'Judge type:',
123
+ choices: Object.entries(JUDGES).map(([key, judge]) => ({
124
+ name: `${judge.name} - ${judge.description}`,
125
+ value: key,
126
+ })),
127
+ },
128
+ {
129
+ type: 'input',
130
+ name: 'judgeModel',
131
+ message: 'Judge model (for LLM judge):',
132
+ default: 'claude-sonnet-4-20250514',
133
+ when: (answers) => answers.judgeType === 'llm-judge',
134
+ },
135
+ {
136
+ type: 'list',
137
+ name: 'feedbackType',
138
+ message: 'Feedback collection type:',
139
+ choices: [
140
+ { name: 'None', value: undefined },
141
+ ...FEEDBACK_TYPES.map((f) => ({
142
+ name: `${f.name} - ${f.description}`,
143
+ value: f.value,
144
+ })),
145
+ ],
146
+ },
147
+ {
148
+ type: 'input',
149
+ name: 'datasetPath',
150
+ message: 'Evaluation dataset path (optional):',
151
+ },
152
+ {
153
+ type: 'number',
154
+ name: 'threshold',
155
+ message: 'Pass threshold (0-1):',
156
+ default: 0.8,
157
+ },
158
+ ]);
159
+ const evalConfig = {
160
+ name: answers.name,
161
+ description: answers.description,
162
+ metrics: answers.metrics,
163
+ judgeType: answers.judgeType,
164
+ judgeModel: answers.judgeModel,
165
+ feedbackType: answers.feedbackType,
166
+ datasetPath: answers.datasetPath || undefined,
167
+ threshold: answers.threshold,
168
+ };
169
+ const config = manager_1.configManager.getConfig();
170
+ if (!config.evaluations) {
171
+ config.evaluations = {};
172
+ }
173
+ config.evaluations[answers.name] = evalConfig;
174
+ manager_1.configManager.setConfig(config);
175
+ logger_1.logger.success(`Evaluation "${answers.name}" configured with ${answers.metrics.length} metrics`);
176
+ }
177
+ function listEvalsCommand() {
178
+ const config = manager_1.configManager.getConfig();
179
+ const evals = config.evaluations || {};
180
+ if (Object.keys(evals).length === 0) {
181
+ logger_1.logger.warn('No evaluations configured');
182
+ logger_1.logger.info('Run `sea evaluate create` to create an evaluation');
183
+ return;
184
+ }
185
+ logger_1.logger.heading('Configured Evaluations');
186
+ const data = [
187
+ ['Name', 'Metrics', 'Judge', 'Threshold', 'Description'],
188
+ ...Object.values(evals).map((eval_) => [
189
+ eval_.name,
190
+ eval_.metrics.length.toString(),
191
+ eval_.judgeType,
192
+ eval_.threshold?.toString() || '-',
193
+ eval_.description || '-',
194
+ ]),
195
+ ];
196
+ console.log((0, table_1.table)(data));
197
+ }
198
+ function getEvalCommand(name) {
199
+ const config = manager_1.configManager.getConfig();
200
+ const eval_ = config.evaluations?.[name];
201
+ if (!eval_) {
202
+ logger_1.logger.error(`Evaluation "${name}" not found`);
203
+ return;
204
+ }
205
+ const judge = JUDGES[eval_.judgeType];
206
+ logger_1.logger.heading(`Evaluation: ${eval_.name}`);
207
+ logger_1.logger.keyValue('Description', eval_.description || '-');
208
+ logger_1.logger.keyValue('Judge Type', judge?.name || eval_.judgeType);
209
+ logger_1.logger.keyValue('Judge Model', eval_.judgeModel || '-');
210
+ logger_1.logger.keyValue('Feedback Type', eval_.feedbackType || 'None');
211
+ logger_1.logger.keyValue('Dataset Path', eval_.datasetPath || 'None');
212
+ logger_1.logger.keyValue('Pass Threshold', eval_.threshold?.toString() || '-');
213
+ logger_1.logger.blank();
214
+ logger_1.logger.subheading('Metrics');
215
+ const data = [
216
+ ['Metric', 'Category', 'Description'],
217
+ ...eval_.metrics.map((metricId) => {
218
+ const metric = METRICS[metricId];
219
+ return [
220
+ metric?.name || metricId,
221
+ metric?.category || '-',
222
+ metric?.description || '-',
223
+ ];
224
+ }),
225
+ ];
226
+ console.log((0, table_1.table)(data));
227
+ }
228
+ async function deleteEvalCommand(name) {
229
+ const config = manager_1.configManager.getConfig();
230
+ if (!config.evaluations?.[name]) {
231
+ logger_1.logger.error(`Evaluation "${name}" not found`);
232
+ return;
233
+ }
234
+ const { confirm } = await inquirer_1.default.prompt([
235
+ {
236
+ type: 'confirm',
237
+ name: 'confirm',
238
+ message: `Are you sure you want to delete evaluation "${name}"?`,
239
+ default: false,
240
+ },
241
+ ]);
242
+ if (!confirm) {
243
+ logger_1.logger.info('Cancelled');
244
+ return;
245
+ }
246
+ delete config.evaluations[name];
247
+ manager_1.configManager.setConfig(config);
248
+ logger_1.logger.success(`Evaluation "${name}" deleted`);
249
+ }
250
+ function showMetricsCommand() {
251
+ logger_1.logger.heading('Available Metrics');
252
+ const categories = ['correctness', 'quality', 'rag', 'safety'];
253
+ categories.forEach((category) => {
254
+ logger_1.logger.blank();
255
+ logger_1.logger.subheading(category.charAt(0).toUpperCase() + category.slice(1));
256
+ const metrics = Object.entries(METRICS).filter(([_, metric]) => metric.category === category);
257
+ const data = [
258
+ ['ID', 'Name', 'Description'],
259
+ ...metrics.map(([id, metric]) => [id, metric.name, metric.description]),
260
+ ];
261
+ console.log((0, table_1.table)(data));
262
+ });
263
+ }
264
+ function showJudgesCommand() {
265
+ logger_1.logger.heading('Judge Types');
266
+ logger_1.logger.blank();
267
+ Object.entries(JUDGES).forEach(([key, judge]) => {
268
+ console.log(chalk_1.default.bold.cyan(` ${judge.name}`));
269
+ console.log(chalk_1.default.gray(` ID: ${key}`));
270
+ console.log(chalk_1.default.white(` ${judge.description}`));
271
+ logger_1.logger.blank();
272
+ });
273
+ }
274
+ function showFeedbackTypesCommand() {
275
+ logger_1.logger.heading('Feedback Collection Types');
276
+ logger_1.logger.blank();
277
+ FEEDBACK_TYPES.forEach((feedback) => {
278
+ console.log(chalk_1.default.bold.cyan(` ${feedback.name}`));
279
+ console.log(chalk_1.default.gray(` ID: ${feedback.value}`));
280
+ console.log(chalk_1.default.white(` ${feedback.description}`));
281
+ logger_1.logger.blank();
282
+ });
283
+ }
284
+ //# sourceMappingURL=evaluate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"evaluate.js","sourceRoot":"","sources":["../../src/commands/evaluate.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ export interface GatewayConfig {
2
+ name: string;
3
+ description?: string;
4
+ port: number;
5
+ strategy: string;
6
+ providers: Array<{
7
+ name: string;
8
+ apiKey?: string;
9
+ priority: number;
10
+ weight?: number;
11
+ rateLimit?: number;
12
+ }>;
13
+ caching?: {
14
+ enabled: boolean;
15
+ ttl: number;
16
+ };
17
+ logging?: {
18
+ enabled: boolean;
19
+ level: string;
20
+ };
21
+ }
22
+ export declare function createGatewayConfigCommand(): Promise<void>;
23
+ export declare function listGatewaysCommand(): void;
24
+ export declare function getGatewayCommand(name: string): void;
25
+ export declare function deleteGatewayCommand(name: string): Promise<void>;
26
+ export declare function showStrategiesCommand(): void;
27
+ //# sourceMappingURL=gateway.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gateway.d.ts","sourceRoot":"","sources":["../../src/commands/gateway.ts"],"names":[],"mappings":"AAsCA,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,KAAK,CAAC;QACf,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC,CAAC;IACH,OAAO,CAAC,EAAE;QACR,OAAO,EAAE,OAAO,CAAC;QACjB,GAAG,EAAE,MAAM,CAAC;KACb,CAAC;IACF,OAAO,CAAC,EAAE;QACR,OAAO,EAAE,OAAO,CAAC;QACjB,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;CACH;AAKD,wBAAsB,0BAA0B,IAAI,OAAO,CAAC,IAAI,CAAC,CAiJhE;AAKD,wBAAgB,mBAAmB,IAAI,IAAI,CAyB1C;AAKD,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAwCpD;AAKD,wBAAsB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAyBtE;AAKD,wBAAgB,qBAAqB,IAAI,IAAI,CAU5C"}
@@ -0,0 +1,256 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.createGatewayConfigCommand = createGatewayConfigCommand;
7
+ exports.listGatewaysCommand = listGatewaysCommand;
8
+ exports.getGatewayCommand = getGatewayCommand;
9
+ exports.deleteGatewayCommand = deleteGatewayCommand;
10
+ exports.showStrategiesCommand = showStrategiesCommand;
11
+ const chalk_1 = __importDefault(require("chalk"));
12
+ const inquirer_1 = __importDefault(require("inquirer"));
13
+ const table_1 = require("table");
14
+ const manager_1 = require("../config/manager");
15
+ const logger_1 = require("../utils/logger");
16
+ const ROUTING_STRATEGIES = {
17
+ 'round-robin': {
18
+ name: 'Round Robin',
19
+ description: 'Distribute requests evenly across providers',
20
+ },
21
+ failover: {
22
+ name: 'Failover',
23
+ description: 'Use backup providers when primary fails',
24
+ },
25
+ 'cost-optimized': {
26
+ name: 'Cost Optimized',
27
+ description: 'Route to cheapest available provider',
28
+ },
29
+ 'latency-optimized': {
30
+ name: 'Latency Optimized',
31
+ description: 'Route to fastest available provider',
32
+ },
33
+ };
34
+ const GATEWAY_PROVIDERS = [
35
+ 'openai',
36
+ 'anthropic',
37
+ 'google',
38
+ 'azure',
39
+ 'ollama',
40
+ 'groq',
41
+ 'together',
42
+ ];
43
+ async function createGatewayConfigCommand() {
44
+ logger_1.logger.heading('Create Gateway Configuration');
45
+ const answers = await inquirer_1.default.prompt([
46
+ {
47
+ type: 'input',
48
+ name: 'name',
49
+ message: 'Gateway name:',
50
+ validate: (input) => {
51
+ if (!input.trim())
52
+ return 'Name is required';
53
+ const config = manager_1.configManager.getConfig();
54
+ if (config.gateways?.[input])
55
+ return 'Gateway with this name already exists';
56
+ return true;
57
+ },
58
+ },
59
+ {
60
+ type: 'input',
61
+ name: 'description',
62
+ message: 'Description:',
63
+ default: 'An API gateway',
64
+ },
65
+ {
66
+ type: 'number',
67
+ name: 'port',
68
+ message: 'Gateway port:',
69
+ default: 8080,
70
+ },
71
+ {
72
+ type: 'list',
73
+ name: 'strategy',
74
+ message: 'Routing strategy:',
75
+ choices: Object.entries(ROUTING_STRATEGIES).map(([key, strategy]) => ({
76
+ name: `${strategy.name} - ${strategy.description}`,
77
+ value: key,
78
+ })),
79
+ },
80
+ {
81
+ type: 'checkbox',
82
+ name: 'providers',
83
+ message: 'Select providers to include:',
84
+ choices: GATEWAY_PROVIDERS,
85
+ validate: (input) => input.length >= 1 || 'Select at least one provider',
86
+ },
87
+ {
88
+ type: 'confirm',
89
+ name: 'enableCaching',
90
+ message: 'Enable response caching?',
91
+ default: true,
92
+ },
93
+ {
94
+ type: 'number',
95
+ name: 'cacheTtl',
96
+ message: 'Cache TTL (seconds):',
97
+ default: 3600,
98
+ when: (answers) => answers.enableCaching,
99
+ },
100
+ {
101
+ type: 'confirm',
102
+ name: 'enableLogging',
103
+ message: 'Enable request logging?',
104
+ default: true,
105
+ },
106
+ {
107
+ type: 'list',
108
+ name: 'logLevel',
109
+ message: 'Log level:',
110
+ choices: ['debug', 'info', 'warn', 'error'],
111
+ default: 'info',
112
+ when: (answers) => answers.enableLogging,
113
+ },
114
+ ]);
115
+ const providers = [];
116
+ for (const providerName of answers.providers) {
117
+ logger_1.logger.blank();
118
+ logger_1.logger.subheading(`Configure ${providerName}`);
119
+ const providerAnswers = await inquirer_1.default.prompt([
120
+ {
121
+ type: 'password',
122
+ name: 'apiKey',
123
+ message: `${providerName} API key (leave empty if using env var):`,
124
+ },
125
+ {
126
+ type: 'number',
127
+ name: 'priority',
128
+ message: 'Priority (lower = higher priority):',
129
+ default: providers.length + 1,
130
+ },
131
+ {
132
+ type: 'number',
133
+ name: 'weight',
134
+ message: 'Weight for round-robin:',
135
+ default: 1,
136
+ when: () => answers.strategy === 'round-robin',
137
+ },
138
+ {
139
+ type: 'number',
140
+ name: 'rateLimit',
141
+ message: 'Rate limit (requests/min, 0 = unlimited):',
142
+ default: 0,
143
+ },
144
+ ]);
145
+ providers.push({
146
+ name: providerName,
147
+ apiKey: providerAnswers.apiKey || undefined,
148
+ priority: providerAnswers.priority,
149
+ weight: providerAnswers.weight,
150
+ rateLimit: providerAnswers.rateLimit || undefined,
151
+ });
152
+ }
153
+ const gatewayConfig = {
154
+ name: answers.name,
155
+ description: answers.description,
156
+ port: answers.port,
157
+ strategy: answers.strategy,
158
+ providers,
159
+ caching: answers.enableCaching
160
+ ? { enabled: true, ttl: answers.cacheTtl }
161
+ : { enabled: false, ttl: 0 },
162
+ logging: answers.enableLogging
163
+ ? { enabled: true, level: answers.logLevel }
164
+ : { enabled: false, level: 'info' },
165
+ };
166
+ const config = manager_1.configManager.getConfig();
167
+ if (!config.gateways) {
168
+ config.gateways = {};
169
+ }
170
+ config.gateways[answers.name] = gatewayConfig;
171
+ manager_1.configManager.setConfig(config);
172
+ logger_1.logger.success(`Gateway "${answers.name}" configured with ${providers.length} providers`);
173
+ }
174
+ function listGatewaysCommand() {
175
+ const config = manager_1.configManager.getConfig();
176
+ const gateways = config.gateways || {};
177
+ if (Object.keys(gateways).length === 0) {
178
+ logger_1.logger.warn('No gateways configured');
179
+ logger_1.logger.info('Run `sea gateway create` to create a gateway');
180
+ return;
181
+ }
182
+ logger_1.logger.heading('Configured Gateways');
183
+ const data = [
184
+ ['Name', 'Port', 'Strategy', 'Providers', 'Caching', 'Description'],
185
+ ...Object.values(gateways).map((gw) => [
186
+ gw.name,
187
+ gw.port.toString(),
188
+ gw.strategy,
189
+ gw.providers.length.toString(),
190
+ gw.caching?.enabled ? 'Yes' : 'No',
191
+ gw.description || '-',
192
+ ]),
193
+ ];
194
+ console.log((0, table_1.table)(data));
195
+ }
196
+ function getGatewayCommand(name) {
197
+ const config = manager_1.configManager.getConfig();
198
+ const gateway = config.gateways?.[name];
199
+ if (!gateway) {
200
+ logger_1.logger.error(`Gateway "${name}" not found`);
201
+ return;
202
+ }
203
+ const strategy = ROUTING_STRATEGIES[gateway.strategy];
204
+ logger_1.logger.heading(`Gateway: ${gateway.name}`);
205
+ logger_1.logger.keyValue('Description', gateway.description || '-');
206
+ logger_1.logger.keyValue('Port', gateway.port.toString());
207
+ logger_1.logger.keyValue('Strategy', strategy?.name || gateway.strategy);
208
+ logger_1.logger.keyValue('Caching', gateway.caching?.enabled ? `Yes (TTL: ${gateway.caching.ttl}s)` : 'No');
209
+ logger_1.logger.keyValue('Logging', gateway.logging?.enabled ? `Yes (${gateway.logging.level})` : 'No');
210
+ logger_1.logger.blank();
211
+ logger_1.logger.subheading('Providers');
212
+ const data = [
213
+ ['Provider', 'Priority', 'Weight', 'Rate Limit', 'API Key'],
214
+ ...gateway.providers.map((p) => [
215
+ p.name,
216
+ p.priority.toString(),
217
+ p.weight?.toString() || '-',
218
+ p.rateLimit ? `${p.rateLimit}/min` : 'Unlimited',
219
+ p.apiKey ? '****' : 'Env var',
220
+ ]),
221
+ ];
222
+ console.log((0, table_1.table)(data));
223
+ }
224
+ async function deleteGatewayCommand(name) {
225
+ const config = manager_1.configManager.getConfig();
226
+ if (!config.gateways?.[name]) {
227
+ logger_1.logger.error(`Gateway "${name}" not found`);
228
+ return;
229
+ }
230
+ const { confirm } = await inquirer_1.default.prompt([
231
+ {
232
+ type: 'confirm',
233
+ name: 'confirm',
234
+ message: `Are you sure you want to delete gateway "${name}"?`,
235
+ default: false,
236
+ },
237
+ ]);
238
+ if (!confirm) {
239
+ logger_1.logger.info('Cancelled');
240
+ return;
241
+ }
242
+ delete config.gateways[name];
243
+ manager_1.configManager.setConfig(config);
244
+ logger_1.logger.success(`Gateway "${name}" deleted`);
245
+ }
246
+ function showStrategiesCommand() {
247
+ logger_1.logger.heading('Routing Strategies');
248
+ logger_1.logger.blank();
249
+ Object.entries(ROUTING_STRATEGIES).forEach(([key, strategy]) => {
250
+ console.log(chalk_1.default.bold.cyan(` ${strategy.name}`));
251
+ console.log(chalk_1.default.gray(` ID: ${key}`));
252
+ console.log(chalk_1.default.white(` ${strategy.description}`));
253
+ logger_1.logger.blank();
254
+ });
255
+ }
256
+ //# sourceMappingURL=gateway.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gateway.js","sourceRoot":"","sources":["../../src/commands/gateway.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ export interface GuardrailConfig {
2
+ name: string;
3
+ description?: string;
4
+ guards: Array<{
5
+ type: string;
6
+ enabled: boolean;
7
+ config: Record<string, unknown>;
8
+ }>;
9
+ failAction: 'block' | 'warn' | 'redact';
10
+ }
11
+ export declare function listGuardsCommand(): void;
12
+ export declare function createGuardrailCommand(): Promise<void>;
13
+ export declare function listGuardrailsCommand(): void;
14
+ export declare function getGuardrailCommand(name: string): void;
15
+ export declare function deleteGuardrailCommand(name: string): Promise<void>;
16
+ export declare function testGuardrailCommand(pipelineName?: string): Promise<void>;
17
+ //# sourceMappingURL=guardrails.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"guardrails.d.ts","sourceRoot":"","sources":["../../src/commands/guardrails.ts"],"names":[],"mappings":"AA6FA,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,KAAK,CAAC;QACZ,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,OAAO,CAAC;QACjB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACjC,CAAC,CAAC;IACH,UAAU,EAAE,OAAO,GAAG,MAAM,GAAG,QAAQ,CAAC;CACzC;AAKD,wBAAgB,iBAAiB,IAAI,IAAI,CAsBxC;AAKD,wBAAsB,sBAAsB,IAAI,OAAO,CAAC,IAAI,CAAC,CAkE5D;AAKD,wBAAgB,qBAAqB,IAAI,IAAI,CAuB5C;AAKD,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CA8BtD;AAKD,wBAAsB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAyBxE;AAKD,wBAAsB,oBAAoB,CACxC,YAAY,CAAC,EAAE,MAAM,GACpB,OAAO,CAAC,IAAI,CAAC,CAiDf"}