@defai.digital/ax-cli 3.4.5 → 3.5.2
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/LICENSE +2 -6
- package/README.md +91 -3
- package/dist/analyzers/ast/parser.d.ts +59 -0
- package/dist/analyzers/ast/parser.js +293 -0
- package/dist/analyzers/ast/parser.js.map +1 -0
- package/dist/analyzers/ast/types.d.ts +107 -0
- package/dist/analyzers/ast/types.js +7 -0
- package/dist/analyzers/ast/types.js.map +1 -0
- package/dist/analyzers/code-smells/base-smell-detector.d.ts +30 -0
- package/dist/analyzers/code-smells/base-smell-detector.js +44 -0
- package/dist/analyzers/code-smells/base-smell-detector.js.map +1 -0
- package/dist/analyzers/code-smells/code-smell-analyzer.d.ts +30 -0
- package/dist/analyzers/code-smells/code-smell-analyzer.js +167 -0
- package/dist/analyzers/code-smells/code-smell-analyzer.js.map +1 -0
- package/dist/analyzers/code-smells/detectors/data-clumps-detector.d.ts +11 -0
- package/dist/analyzers/code-smells/detectors/data-clumps-detector.js +66 -0
- package/dist/analyzers/code-smells/detectors/data-clumps-detector.js.map +1 -0
- package/dist/analyzers/code-smells/detectors/dead-code-detector.d.ts +11 -0
- package/dist/analyzers/code-smells/detectors/dead-code-detector.js +53 -0
- package/dist/analyzers/code-smells/detectors/dead-code-detector.js.map +1 -0
- package/dist/analyzers/code-smells/detectors/duplicate-code-detector.d.ts +11 -0
- package/dist/analyzers/code-smells/detectors/duplicate-code-detector.js +51 -0
- package/dist/analyzers/code-smells/detectors/duplicate-code-detector.js.map +1 -0
- package/dist/analyzers/code-smells/detectors/feature-envy-detector.d.ts +11 -0
- package/dist/analyzers/code-smells/detectors/feature-envy-detector.js +64 -0
- package/dist/analyzers/code-smells/detectors/feature-envy-detector.js.map +1 -0
- package/dist/analyzers/code-smells/detectors/inappropriate-intimacy-detector.d.ts +11 -0
- package/dist/analyzers/code-smells/detectors/inappropriate-intimacy-detector.js +56 -0
- package/dist/analyzers/code-smells/detectors/inappropriate-intimacy-detector.js.map +1 -0
- package/dist/analyzers/code-smells/detectors/large-class-detector.d.ts +13 -0
- package/dist/analyzers/code-smells/detectors/large-class-detector.js +58 -0
- package/dist/analyzers/code-smells/detectors/large-class-detector.js.map +1 -0
- package/dist/analyzers/code-smells/detectors/long-method-detector.d.ts +12 -0
- package/dist/analyzers/code-smells/detectors/long-method-detector.js +52 -0
- package/dist/analyzers/code-smells/detectors/long-method-detector.js.map +1 -0
- package/dist/analyzers/code-smells/detectors/long-parameter-list-detector.d.ts +12 -0
- package/dist/analyzers/code-smells/detectors/long-parameter-list-detector.js +50 -0
- package/dist/analyzers/code-smells/detectors/long-parameter-list-detector.js.map +1 -0
- package/dist/analyzers/code-smells/detectors/magic-numbers-detector.d.ts +12 -0
- package/dist/analyzers/code-smells/detectors/magic-numbers-detector.js +54 -0
- package/dist/analyzers/code-smells/detectors/magic-numbers-detector.js.map +1 -0
- package/dist/analyzers/code-smells/detectors/nested-conditionals-detector.d.ts +13 -0
- package/dist/analyzers/code-smells/detectors/nested-conditionals-detector.js +71 -0
- package/dist/analyzers/code-smells/detectors/nested-conditionals-detector.js.map +1 -0
- package/dist/analyzers/code-smells/index.d.ts +16 -0
- package/dist/analyzers/code-smells/index.js +19 -0
- package/dist/analyzers/code-smells/index.js.map +1 -0
- package/dist/analyzers/code-smells/types.d.ts +82 -0
- package/dist/analyzers/code-smells/types.js +30 -0
- package/dist/analyzers/code-smells/types.js.map +1 -0
- package/dist/analyzers/dependency/circular-detector.d.ts +17 -0
- package/dist/analyzers/dependency/circular-detector.js +71 -0
- package/dist/analyzers/dependency/circular-detector.js.map +1 -0
- package/dist/analyzers/dependency/coupling-calculator.d.ts +24 -0
- package/dist/analyzers/dependency/coupling-calculator.js +86 -0
- package/dist/analyzers/dependency/coupling-calculator.js.map +1 -0
- package/dist/analyzers/dependency/dependency-analyzer.d.ts +40 -0
- package/dist/analyzers/dependency/dependency-analyzer.js +214 -0
- package/dist/analyzers/dependency/dependency-analyzer.js.map +1 -0
- package/dist/analyzers/dependency/dependency-graph.d.ts +57 -0
- package/dist/analyzers/dependency/dependency-graph.js +186 -0
- package/dist/analyzers/dependency/dependency-graph.js.map +1 -0
- package/dist/analyzers/dependency/index.d.ts +8 -0
- package/dist/analyzers/dependency/index.js +8 -0
- package/dist/analyzers/dependency/index.js.map +1 -0
- package/dist/analyzers/dependency/types.d.ts +105 -0
- package/dist/analyzers/dependency/types.js +5 -0
- package/dist/analyzers/dependency/types.js.map +1 -0
- package/dist/analyzers/git/churn-calculator.d.ts +34 -0
- package/dist/analyzers/git/churn-calculator.js +214 -0
- package/dist/analyzers/git/churn-calculator.js.map +1 -0
- package/dist/analyzers/git/git-analyzer.d.ts +19 -0
- package/dist/analyzers/git/git-analyzer.js +71 -0
- package/dist/analyzers/git/git-analyzer.js.map +1 -0
- package/dist/analyzers/git/hotspot-detector.d.ts +34 -0
- package/dist/analyzers/git/hotspot-detector.js +170 -0
- package/dist/analyzers/git/hotspot-detector.js.map +1 -0
- package/dist/analyzers/git/index.d.ts +7 -0
- package/dist/analyzers/git/index.js +7 -0
- package/dist/analyzers/git/index.js.map +1 -0
- package/dist/analyzers/git/types.d.ts +88 -0
- package/dist/analyzers/git/types.js +5 -0
- package/dist/analyzers/git/types.js.map +1 -0
- package/dist/analyzers/metrics/halstead-calculator.d.ts +30 -0
- package/dist/analyzers/metrics/halstead-calculator.js +150 -0
- package/dist/analyzers/metrics/halstead-calculator.js.map +1 -0
- package/dist/analyzers/metrics/index.d.ts +9 -0
- package/dist/analyzers/metrics/index.js +9 -0
- package/dist/analyzers/metrics/index.js.map +1 -0
- package/dist/analyzers/metrics/maintainability-calculator.d.ts +17 -0
- package/dist/analyzers/metrics/maintainability-calculator.js +46 -0
- package/dist/analyzers/metrics/maintainability-calculator.js.map +1 -0
- package/dist/analyzers/metrics/metrics-analyzer.d.ts +32 -0
- package/dist/analyzers/metrics/metrics-analyzer.js +140 -0
- package/dist/analyzers/metrics/metrics-analyzer.js.map +1 -0
- package/dist/analyzers/metrics/types.d.ts +67 -0
- package/dist/analyzers/metrics/types.js +5 -0
- package/dist/analyzers/metrics/types.js.map +1 -0
- package/dist/analyzers/security/base-detector.d.ts +58 -0
- package/dist/analyzers/security/base-detector.js +104 -0
- package/dist/analyzers/security/base-detector.js.map +1 -0
- package/dist/analyzers/security/detectors/command-injection-detector.d.ts +12 -0
- package/dist/analyzers/security/detectors/command-injection-detector.js +84 -0
- package/dist/analyzers/security/detectors/command-injection-detector.js.map +1 -0
- package/dist/analyzers/security/detectors/hardcoded-secrets-detector.d.ts +16 -0
- package/dist/analyzers/security/detectors/hardcoded-secrets-detector.js +140 -0
- package/dist/analyzers/security/detectors/hardcoded-secrets-detector.js.map +1 -0
- package/dist/analyzers/security/detectors/insecure-deserialization-detector.d.ts +12 -0
- package/dist/analyzers/security/detectors/insecure-deserialization-detector.js +109 -0
- package/dist/analyzers/security/detectors/insecure-deserialization-detector.js.map +1 -0
- package/dist/analyzers/security/detectors/insecure-random-detector.d.ts +12 -0
- package/dist/analyzers/security/detectors/insecure-random-detector.js +61 -0
- package/dist/analyzers/security/detectors/insecure-random-detector.js.map +1 -0
- package/dist/analyzers/security/detectors/path-traversal-detector.d.ts +12 -0
- package/dist/analyzers/security/detectors/path-traversal-detector.js +82 -0
- package/dist/analyzers/security/detectors/path-traversal-detector.js.map +1 -0
- package/dist/analyzers/security/detectors/sql-injection-detector.d.ts +12 -0
- package/dist/analyzers/security/detectors/sql-injection-detector.js +88 -0
- package/dist/analyzers/security/detectors/sql-injection-detector.js.map +1 -0
- package/dist/analyzers/security/detectors/weak-crypto-detector.d.ts +12 -0
- package/dist/analyzers/security/detectors/weak-crypto-detector.js +104 -0
- package/dist/analyzers/security/detectors/weak-crypto-detector.js.map +1 -0
- package/dist/analyzers/security/detectors/xss-detector.d.ts +12 -0
- package/dist/analyzers/security/detectors/xss-detector.js +90 -0
- package/dist/analyzers/security/detectors/xss-detector.js.map +1 -0
- package/dist/analyzers/security/index.d.ts +16 -0
- package/dist/analyzers/security/index.js +18 -0
- package/dist/analyzers/security/index.js.map +1 -0
- package/dist/analyzers/security/security-analyzer.d.ts +38 -0
- package/dist/analyzers/security/security-analyzer.js +215 -0
- package/dist/analyzers/security/security-analyzer.js.map +1 -0
- package/dist/analyzers/security/types.d.ts +95 -0
- package/dist/analyzers/security/types.js +7 -0
- package/dist/analyzers/security/types.js.map +1 -0
- package/dist/commands/memory.js +1 -1
- package/dist/commands/memory.js.map +1 -1
- package/dist/commands/setup.js +6 -1
- package/dist/commands/setup.js.map +1 -1
- package/dist/hooks/use-enhanced-input.d.ts +0 -1
- package/dist/hooks/use-enhanced-input.js.map +1 -1
- package/dist/mcp/health.js +4 -2
- package/dist/mcp/health.js.map +1 -1
- package/dist/mcp/validation.js +12 -6
- package/dist/mcp/validation.js.map +1 -1
- package/dist/tools/analysis-tools.d.ts +73 -0
- package/dist/tools/analysis-tools.js +422 -0
- package/dist/tools/analysis-tools.js.map +1 -0
- package/dist/tools/bash.js +2 -1
- package/dist/tools/bash.js.map +1 -1
- package/dist/ui/components/chat-history.js +1 -1
- package/dist/ui/components/chat-history.js.map +1 -1
- package/dist/ui/components/chat-interface.js +3 -2
- package/dist/ui/components/chat-interface.js.map +1 -1
- package/dist/ui/components/confirmation-dialog.js +1 -1
- package/dist/ui/components/confirmation-dialog.js.map +1 -1
- package/dist/ui/components/welcome-panel.js +1 -1
- package/dist/ui/components/welcome-panel.js.map +1 -1
- package/dist/ui/hooks/use-chat-reducer.d.ts +61 -0
- package/dist/ui/hooks/use-chat-reducer.js +118 -0
- package/dist/ui/hooks/use-chat-reducer.js.map +1 -0
- package/dist/ui/hooks/use-enhanced-input.d.ts +40 -0
- package/dist/ui/hooks/use-enhanced-input.js +254 -0
- package/dist/ui/hooks/use-enhanced-input.js.map +1 -0
- package/dist/ui/hooks/use-input-handler.d.ts +46 -0
- package/dist/ui/hooks/use-input-handler.js +1434 -0
- package/dist/ui/hooks/use-input-handler.js.map +1 -0
- package/dist/ui/hooks/use-input-history.d.ts +9 -0
- package/dist/ui/hooks/use-input-history.js +117 -0
- package/dist/ui/hooks/use-input-history.js.map +1 -0
- package/dist/utils/config-loader.js +3 -3
- package/dist/utils/config-loader.js.map +1 -1
- package/dist/utils/parallel-analyzer.js +7 -11
- package/dist/utils/parallel-analyzer.js.map +1 -1
- package/dist/utils/paste-collapse.d.ts +46 -0
- package/dist/utils/paste-collapse.js +77 -0
- package/dist/utils/paste-collapse.js.map +1 -0
- package/dist/utils/settings-manager.js +16 -2
- package/dist/utils/settings-manager.js.map +1 -1
- package/dist/utils/streaming-analyzer.js +9 -21
- package/dist/utils/streaming-analyzer.js.map +1 -1
- package/package.json +5 -5
- package/vitest.config.ts +1 -0
- package/dist/commands/weather.d.ts +0 -8
- package/dist/commands/weather.js +0 -160
- package/dist/commands/weather.js.map +0 -1
- package/dist/grok/client.d.ts +0 -144
- package/dist/grok/client.js +0 -237
- package/dist/grok/client.js.map +0 -1
- package/dist/grok/tools.d.ts +0 -8
- package/dist/grok/tools.js +0 -318
- package/dist/grok/tools.js.map +0 -1
- package/dist/grok/types.d.ts +0 -291
- package/dist/grok/types.js +0 -127
- package/dist/grok/types.js.map +0 -1
- package/dist/tools/morph-editor.d.ts +0 -36
- package/dist/tools/morph-editor.js +0 -308
- package/dist/tools/morph-editor.js.map +0 -1
- package/dist/ui/components/session-recovery.d.ts +0 -12
- package/dist/ui/components/session-recovery.js +0 -93
- package/dist/ui/components/session-recovery.js.map +0 -1
- package/dist/utils/model-config.d.ts +0 -28
- package/dist/utils/model-config.js +0 -43
- package/dist/utils/model-config.js.map +0 -1
- package/dist/utils/tool-helpers.d.ts +0 -25
- package/dist/utils/tool-helpers.js +0 -79
- package/dist/utils/tool-helpers.js.map +0 -1
- /package/{automatosx.config.json → ax.config.json} +0 -0
- /package/{config → config-defaults}/messages.yaml +0 -0
- /package/{config → config-defaults}/models.yaml +0 -0
- /package/{config → config-defaults}/prompts.yaml +0 -0
- /package/{config → config-defaults}/settings.yaml +0 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@defai.digital/ax-cli",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.5.2",
|
|
4
4
|
"description": "Enterprise-Class AI Command Line Interface - Primary support for GLM (General Language Model) with multi-provider AI orchestration powered by AutomatosX.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"workspaces": [
|
|
@@ -26,20 +26,20 @@
|
|
|
26
26
|
},
|
|
27
27
|
"files": [
|
|
28
28
|
"dist",
|
|
29
|
-
"config",
|
|
29
|
+
"config-defaults",
|
|
30
30
|
"packages/schemas/dist",
|
|
31
31
|
"packages/schemas/package.json",
|
|
32
32
|
".ax-cli",
|
|
33
33
|
"LICENSE",
|
|
34
34
|
"README.md",
|
|
35
|
-
"
|
|
35
|
+
"ax.config.json",
|
|
36
36
|
"eslint.config.js",
|
|
37
37
|
"vitest.config.ts"
|
|
38
38
|
],
|
|
39
39
|
"scripts": {
|
|
40
|
-
"build": "npm run build:schemas && tsc",
|
|
40
|
+
"build": "npm run build:schemas && tsc && chmod +x dist/index.js",
|
|
41
41
|
"build:schemas": "cd packages/schemas && npm run build",
|
|
42
|
-
"build:bun": "bun run tsc",
|
|
42
|
+
"build:bun": "bun run tsc && chmod +x dist/index.js",
|
|
43
43
|
"dev": "bun run src/index.ts",
|
|
44
44
|
"dev:node": "tsx src/index.ts",
|
|
45
45
|
"start": "node dist/index.js",
|
package/vitest.config.ts
CHANGED
package/dist/commands/weather.js
DELETED
|
@@ -1,160 +0,0 @@
|
|
|
1
|
-
import { Command } from 'commander';
|
|
2
|
-
import chalk from 'chalk';
|
|
3
|
-
import { BashTool } from '../tools/bash.js';
|
|
4
|
-
/**
|
|
5
|
-
* Create the weather command
|
|
6
|
-
*
|
|
7
|
-
* Uses curl to fetch weather data from OpenWeatherMap API
|
|
8
|
-
* Requires OPENWEATHER_API_KEY environment variable
|
|
9
|
-
*/
|
|
10
|
-
export function createWeatherCommand() {
|
|
11
|
-
const weatherCommand = new Command('weather');
|
|
12
|
-
weatherCommand.description('Get weather information for a location');
|
|
13
|
-
// Get weather command
|
|
14
|
-
weatherCommand
|
|
15
|
-
.command('get')
|
|
16
|
-
.description('Get current weather for a location')
|
|
17
|
-
.argument('<location>', 'Location to get weather for (e.g., "Toronto", "New York, US")')
|
|
18
|
-
.option('-d, --days <number>', 'Number of days to forecast (1-5)', '1')
|
|
19
|
-
.option('-f, --forecast', 'Show forecast instead of current weather', false)
|
|
20
|
-
.option('-k, --api-key <key>', 'OpenWeatherMap API key (overrides environment variable)')
|
|
21
|
-
.action(async (location, options) => {
|
|
22
|
-
try {
|
|
23
|
-
const apiKey = options.apiKey || process.env.OPENWEATHER_API_KEY;
|
|
24
|
-
if (!apiKey) {
|
|
25
|
-
console.error(chalk.red('❌ OpenWeatherMap API key is required'));
|
|
26
|
-
console.log(chalk.yellow('Set OPENWEATHER_API_KEY environment variable or use --api-key option'));
|
|
27
|
-
console.log(chalk.gray('Get a free API key at: https://openweathermap.org/api'));
|
|
28
|
-
process.exit(1);
|
|
29
|
-
}
|
|
30
|
-
const days = Math.min(Math.max(parseInt(options.days) || 1, 1), 5);
|
|
31
|
-
const endpoint = options.forecast ? 'forecast' : 'weather';
|
|
32
|
-
// Build the API URL
|
|
33
|
-
let url = `https://api.openweathermap.org/data/2.5/${endpoint}?q=${encodeURIComponent(location)}&appid=${apiKey}&units=metric`;
|
|
34
|
-
// If forecast and more than 1 day, use the 5 day / 3 hour forecast endpoint
|
|
35
|
-
if (options.forecast && days > 1) {
|
|
36
|
-
url = `https://api.openweathermap.org/data/2.5/forecast?q=${encodeURIComponent(location)}&appid=${apiKey}&units=metric`;
|
|
37
|
-
}
|
|
38
|
-
console.log(chalk.blue(`🌤️ Fetching weather data for ${location}...`));
|
|
39
|
-
const bashTool = new BashTool();
|
|
40
|
-
const result = await bashTool.execute(`curl -s "${url}"`);
|
|
41
|
-
if (result.error) {
|
|
42
|
-
console.error(chalk.red('❌ Error fetching weather data:'), result.error);
|
|
43
|
-
process.exit(1);
|
|
44
|
-
}
|
|
45
|
-
try {
|
|
46
|
-
const weatherData = JSON.parse(result.output || '{}');
|
|
47
|
-
if (weatherData.cod && weatherData.cod !== "200") {
|
|
48
|
-
console.error(chalk.red('❌ Weather API error:'), weatherData.message || 'Unknown error');
|
|
49
|
-
process.exit(1);
|
|
50
|
-
}
|
|
51
|
-
if (options.forecast) {
|
|
52
|
-
displayForecast(weatherData, location, days);
|
|
53
|
-
}
|
|
54
|
-
else {
|
|
55
|
-
displayCurrentWeather(weatherData, location);
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
catch (parseError) {
|
|
59
|
-
console.error(chalk.red('❌ Error parsing weather data:'), parseError instanceof Error ? parseError.message : 'Unknown error');
|
|
60
|
-
process.exit(1);
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
catch (error) {
|
|
64
|
-
console.error(chalk.red('❌ Error:'), error instanceof Error ? error.message : 'Unknown error');
|
|
65
|
-
process.exit(1);
|
|
66
|
-
}
|
|
67
|
-
});
|
|
68
|
-
return weatherCommand;
|
|
69
|
-
}
|
|
70
|
-
function displayCurrentWeather(data, location) {
|
|
71
|
-
const { main, weather, wind, clouds, name } = data;
|
|
72
|
-
console.log(chalk.bold.blue(`\n🌤️ Current Weather for ${name || location}\n`));
|
|
73
|
-
if (weather && weather.length > 0) {
|
|
74
|
-
const icon = getWeatherIcon(weather[0].main);
|
|
75
|
-
console.log(`${icon} ${weather[0].description.charAt(0).toUpperCase() + weather[0].description.slice(1)}`);
|
|
76
|
-
}
|
|
77
|
-
if (main) {
|
|
78
|
-
console.log(`🌡️ Temperature: ${Math.round(main.temp)}°C (feels like ${Math.round(main.feels_like)}°C)`);
|
|
79
|
-
console.log(`💧 Humidity: ${main.humidity}%`);
|
|
80
|
-
console.log(`📊 Pressure: ${main.pressure} hPa`);
|
|
81
|
-
}
|
|
82
|
-
if (wind) {
|
|
83
|
-
console.log(`💨 Wind: ${wind.speed} m/s${wind.deg ? ` (${getWindDirection(wind.deg)})` : ''}`);
|
|
84
|
-
}
|
|
85
|
-
if (clouds) {
|
|
86
|
-
console.log(`☁️ Cloudiness: ${clouds.all}%`);
|
|
87
|
-
}
|
|
88
|
-
console.log();
|
|
89
|
-
}
|
|
90
|
-
function displayForecast(data, location, days) {
|
|
91
|
-
console.log(chalk.bold.blue(`\n📅 Weather Forecast for ${location} (${days} day${days > 1 ? 's' : ''})\n`));
|
|
92
|
-
if (data.list && Array.isArray(data.list)) {
|
|
93
|
-
// Group forecasts by day
|
|
94
|
-
const dailyForecasts = {};
|
|
95
|
-
data.list.forEach((item) => {
|
|
96
|
-
const date = new Date(item.dt * 1000).toLocaleDateString();
|
|
97
|
-
if (!dailyForecasts[date]) {
|
|
98
|
-
dailyForecasts[date] = [];
|
|
99
|
-
}
|
|
100
|
-
dailyForecasts[date].push(item);
|
|
101
|
-
});
|
|
102
|
-
// Display each day's forecast
|
|
103
|
-
Object.entries(dailyForecasts).slice(0, days).forEach(([date, forecasts]) => {
|
|
104
|
-
console.log(chalk.bold(date));
|
|
105
|
-
// Get midday forecast (or first available)
|
|
106
|
-
const middayForecast = forecasts.find((f) => {
|
|
107
|
-
const hour = new Date(f.dt * 1000).getHours();
|
|
108
|
-
return hour >= 12 && hour <= 15;
|
|
109
|
-
}) || forecasts[0];
|
|
110
|
-
if (middayForecast) {
|
|
111
|
-
const { main, weather, wind } = middayForecast;
|
|
112
|
-
const time = new Date(middayForecast.dt * 1000).toLocaleTimeString([], { hour: '2-digit', minute: '2-digit' });
|
|
113
|
-
if (weather && weather.length > 0) {
|
|
114
|
-
const icon = getWeatherIcon(weather[0].main);
|
|
115
|
-
console.log(` ${icon} ${time} - ${weather[0].description.charAt(0).toUpperCase() + weather[0].description.slice(1)}`);
|
|
116
|
-
}
|
|
117
|
-
if (main) {
|
|
118
|
-
console.log(` 🌡️ ${Math.round(main.temp)}°C (feels like ${Math.round(main.feels_like)}°C)`);
|
|
119
|
-
console.log(` 💧 ${main.humidity}%`);
|
|
120
|
-
}
|
|
121
|
-
if (wind) {
|
|
122
|
-
console.log(` 💨 ${wind.speed} m/s`);
|
|
123
|
-
}
|
|
124
|
-
}
|
|
125
|
-
console.log();
|
|
126
|
-
});
|
|
127
|
-
}
|
|
128
|
-
else if (data.main && data.weather) {
|
|
129
|
-
// Single day forecast (current weather endpoint with forecast data)
|
|
130
|
-
displayCurrentWeather(data, location);
|
|
131
|
-
}
|
|
132
|
-
else {
|
|
133
|
-
console.log(chalk.yellow('⚠️ No forecast data available'));
|
|
134
|
-
}
|
|
135
|
-
}
|
|
136
|
-
function getWeatherIcon(condition) {
|
|
137
|
-
const icons = {
|
|
138
|
-
'Clear': '☀️',
|
|
139
|
-
'Clouds': '☁️',
|
|
140
|
-
'Rain': '🌧️',
|
|
141
|
-
'Drizzle': '🌦️',
|
|
142
|
-
'Thunderstorm': '⛈️',
|
|
143
|
-
'Snow': '❄️',
|
|
144
|
-
'Mist': '🌫️',
|
|
145
|
-
'Fog': '🌫️',
|
|
146
|
-
'Haze': '🌫️',
|
|
147
|
-
'Dust': '🌫️',
|
|
148
|
-
'Sand': '🌫️',
|
|
149
|
-
'Ash': '🌋',
|
|
150
|
-
'Squall': '💨',
|
|
151
|
-
'Tornado': '🌪️'
|
|
152
|
-
};
|
|
153
|
-
return icons[condition] || '🌤️';
|
|
154
|
-
}
|
|
155
|
-
function getWindDirection(degrees) {
|
|
156
|
-
const directions = ['N', 'NE', 'E', 'SE', 'S', 'SW', 'W', 'NW'];
|
|
157
|
-
const index = Math.round(degrees / 45) % 8;
|
|
158
|
-
return directions[index];
|
|
159
|
-
}
|
|
160
|
-
//# sourceMappingURL=weather.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"weather.js","sourceRoot":"","sources":["../../src/commands/weather.ts"],"names":[],"mappings":"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"}
|
package/dist/grok/client.d.ts
DELETED
|
@@ -1,144 +0,0 @@
|
|
|
1
|
-
import type { ChatCompletionMessageParam } from "openai/resources/chat";
|
|
2
|
-
import type { ChatOptions, GLM46StreamChunk } from "./types.js";
|
|
3
|
-
export type GrokMessage = ChatCompletionMessageParam;
|
|
4
|
-
export interface GrokTool {
|
|
5
|
-
type: "function";
|
|
6
|
-
function: {
|
|
7
|
-
name: string;
|
|
8
|
-
description: string;
|
|
9
|
-
parameters: {
|
|
10
|
-
type: "object";
|
|
11
|
-
properties: Record<string, any>;
|
|
12
|
-
required: string[];
|
|
13
|
-
};
|
|
14
|
-
};
|
|
15
|
-
}
|
|
16
|
-
export interface GrokToolCall {
|
|
17
|
-
id: string;
|
|
18
|
-
type: "function";
|
|
19
|
-
function: {
|
|
20
|
-
name: string;
|
|
21
|
-
arguments: string;
|
|
22
|
-
};
|
|
23
|
-
}
|
|
24
|
-
export interface SearchParameters {
|
|
25
|
-
mode?: "auto" | "on" | "off";
|
|
26
|
-
}
|
|
27
|
-
export interface SearchOptions {
|
|
28
|
-
search_parameters?: SearchParameters;
|
|
29
|
-
}
|
|
30
|
-
export interface GrokResponse {
|
|
31
|
-
choices: Array<{
|
|
32
|
-
message: {
|
|
33
|
-
role: string;
|
|
34
|
-
content: string | null;
|
|
35
|
-
reasoning_content?: string;
|
|
36
|
-
tool_calls?: GrokToolCall[];
|
|
37
|
-
};
|
|
38
|
-
finish_reason: string;
|
|
39
|
-
}>;
|
|
40
|
-
usage?: {
|
|
41
|
-
prompt_tokens: number;
|
|
42
|
-
completion_tokens: number;
|
|
43
|
-
total_tokens: number;
|
|
44
|
-
reasoning_tokens?: number;
|
|
45
|
-
};
|
|
46
|
-
}
|
|
47
|
-
/**
|
|
48
|
-
* GrokClient - Enhanced client for GLM-4.6 API
|
|
49
|
-
*
|
|
50
|
-
* Supports advanced features including:
|
|
51
|
-
* - Thinking/reasoning mode
|
|
52
|
-
* - Configurable temperature (0.6-1.0 for GLM-4.6)
|
|
53
|
-
* - Extended context windows (up to 200K tokens)
|
|
54
|
-
* - Multiple model support
|
|
55
|
-
*/
|
|
56
|
-
export declare class GrokClient {
|
|
57
|
-
private client;
|
|
58
|
-
private currentModel;
|
|
59
|
-
private defaultMaxTokens;
|
|
60
|
-
private defaultTemperature;
|
|
61
|
-
constructor(apiKey: string, model?: string, baseURL?: string);
|
|
62
|
-
/**
|
|
63
|
-
* Validate and normalize model name
|
|
64
|
-
*/
|
|
65
|
-
private validateModel;
|
|
66
|
-
/**
|
|
67
|
-
* Validate temperature for current model
|
|
68
|
-
*/
|
|
69
|
-
private validateTemperature;
|
|
70
|
-
/**
|
|
71
|
-
* Validate max tokens for current model
|
|
72
|
-
*/
|
|
73
|
-
private validateMaxTokens;
|
|
74
|
-
/**
|
|
75
|
-
* Validate thinking configuration for current model
|
|
76
|
-
*/
|
|
77
|
-
private validateThinking;
|
|
78
|
-
setModel(model: string): void;
|
|
79
|
-
getCurrentModel(): string;
|
|
80
|
-
getModelConfig(): {
|
|
81
|
-
name: string;
|
|
82
|
-
contextWindow: number;
|
|
83
|
-
maxOutputTokens: number;
|
|
84
|
-
defaultMaxTokens: number;
|
|
85
|
-
supportsThinking: boolean;
|
|
86
|
-
defaultTemperature: number;
|
|
87
|
-
temperatureRange: {
|
|
88
|
-
min: number;
|
|
89
|
-
max: number;
|
|
90
|
-
};
|
|
91
|
-
tokenEfficiency: number;
|
|
92
|
-
};
|
|
93
|
-
/**
|
|
94
|
-
* Chat completion with GLM-4.6 support
|
|
95
|
-
*
|
|
96
|
-
* @param messages - Conversation messages
|
|
97
|
-
* @param tools - Available tools/functions
|
|
98
|
-
* @param options - Chat options including temperature, thinking mode, etc.
|
|
99
|
-
* @returns Promise<GrokResponse>
|
|
100
|
-
*
|
|
101
|
-
* @example
|
|
102
|
-
* ```typescript
|
|
103
|
-
* const response = await client.chat(messages, tools, {
|
|
104
|
-
* model: 'glm-4.6',
|
|
105
|
-
* temperature: 0.7,
|
|
106
|
-
* thinking: { type: 'enabled' },
|
|
107
|
-
* maxTokens: 8192
|
|
108
|
-
* });
|
|
109
|
-
* ```
|
|
110
|
-
*/
|
|
111
|
-
chat(messages: GrokMessage[], tools?: GrokTool[], options?: ChatOptions): Promise<GrokResponse>;
|
|
112
|
-
/**
|
|
113
|
-
* Streaming chat completion with GLM-4.6 support
|
|
114
|
-
*
|
|
115
|
-
* Yields chunks including reasoning_content when thinking is enabled
|
|
116
|
-
*
|
|
117
|
-
* @param messages - Conversation messages
|
|
118
|
-
* @param tools - Available tools/functions
|
|
119
|
-
* @param options - Chat options including temperature, thinking mode, etc.
|
|
120
|
-
* @returns AsyncGenerator yielding GLM46StreamChunk
|
|
121
|
-
*
|
|
122
|
-
* @example
|
|
123
|
-
* ```typescript
|
|
124
|
-
* const stream = client.chatStream(messages, tools, {
|
|
125
|
-
* thinking: { type: 'enabled' }
|
|
126
|
-
* });
|
|
127
|
-
*
|
|
128
|
-
* for await (const chunk of stream) {
|
|
129
|
-
* if (chunk.choices[0]?.delta?.reasoning_content) {
|
|
130
|
-
* console.log('Reasoning:', chunk.choices[0].delta.reasoning_content);
|
|
131
|
-
* }
|
|
132
|
-
* if (chunk.choices[0]?.delta?.content) {
|
|
133
|
-
* console.log('Content:', chunk.choices[0].delta.content);
|
|
134
|
-
* }
|
|
135
|
-
* }
|
|
136
|
-
* ```
|
|
137
|
-
*/
|
|
138
|
-
chatStream(messages: GrokMessage[], tools?: GrokTool[], options?: ChatOptions): AsyncGenerator<GLM46StreamChunk, void, unknown>;
|
|
139
|
-
/**
|
|
140
|
-
* Search with web context (deprecated - use chat with searchOptions)
|
|
141
|
-
* @deprecated Use chat() with searchOptions parameter instead
|
|
142
|
-
*/
|
|
143
|
-
search(query: string, searchParameters?: SearchParameters): Promise<GrokResponse>;
|
|
144
|
-
}
|
package/dist/grok/client.js
DELETED
|
@@ -1,237 +0,0 @@
|
|
|
1
|
-
import OpenAI from "openai";
|
|
2
|
-
import { safeValidateGrokResponse } from "../schemas/api-schemas.js";
|
|
3
|
-
import { ErrorCategory, createErrorMessage } from "../utils/error-handler.js";
|
|
4
|
-
import { GLM_MODELS, DEFAULT_MODEL } from "../constants.js";
|
|
5
|
-
/**
|
|
6
|
-
* GrokClient - Enhanced client for GLM-4.6 API
|
|
7
|
-
*
|
|
8
|
-
* Supports advanced features including:
|
|
9
|
-
* - Thinking/reasoning mode
|
|
10
|
-
* - Configurable temperature (0.6-1.0 for GLM-4.6)
|
|
11
|
-
* - Extended context windows (up to 200K tokens)
|
|
12
|
-
* - Multiple model support
|
|
13
|
-
*/
|
|
14
|
-
export class GrokClient {
|
|
15
|
-
client;
|
|
16
|
-
currentModel;
|
|
17
|
-
defaultMaxTokens;
|
|
18
|
-
defaultTemperature;
|
|
19
|
-
constructor(apiKey, model, baseURL) {
|
|
20
|
-
this.client = new OpenAI({
|
|
21
|
-
apiKey,
|
|
22
|
-
baseURL: baseURL || process.env.GROK_BASE_URL || "https://api.x.ai/v1",
|
|
23
|
-
timeout: 360000,
|
|
24
|
-
});
|
|
25
|
-
// Set model with validation
|
|
26
|
-
this.currentModel = this.validateModel(model || DEFAULT_MODEL);
|
|
27
|
-
// Get model configuration
|
|
28
|
-
const modelConfig = GLM_MODELS[this.currentModel];
|
|
29
|
-
// Set defaults from environment or model config
|
|
30
|
-
const envMax = Number(process.env.GROK_MAX_TOKENS);
|
|
31
|
-
this.defaultMaxTokens = Number.isFinite(envMax) && envMax > 0
|
|
32
|
-
? Math.min(envMax, modelConfig.maxOutputTokens)
|
|
33
|
-
: modelConfig.defaultMaxTokens;
|
|
34
|
-
const envTemp = Number(process.env.GROK_TEMPERATURE);
|
|
35
|
-
this.defaultTemperature = Number.isFinite(envTemp) &&
|
|
36
|
-
envTemp >= modelConfig.temperatureRange.min &&
|
|
37
|
-
envTemp <= modelConfig.temperatureRange.max
|
|
38
|
-
? envTemp
|
|
39
|
-
: modelConfig.defaultTemperature;
|
|
40
|
-
}
|
|
41
|
-
/**
|
|
42
|
-
* Validate and normalize model name
|
|
43
|
-
*/
|
|
44
|
-
validateModel(model) {
|
|
45
|
-
if (model in GLM_MODELS) {
|
|
46
|
-
return model;
|
|
47
|
-
}
|
|
48
|
-
console.warn(`Unknown model "${model}", using default: ${DEFAULT_MODEL}`);
|
|
49
|
-
return DEFAULT_MODEL;
|
|
50
|
-
}
|
|
51
|
-
/**
|
|
52
|
-
* Validate temperature for current model
|
|
53
|
-
*/
|
|
54
|
-
validateTemperature(temperature, model) {
|
|
55
|
-
const config = GLM_MODELS[model];
|
|
56
|
-
const { min, max } = config.temperatureRange;
|
|
57
|
-
if (temperature < min || temperature > max) {
|
|
58
|
-
throw new Error(`Temperature ${temperature} is out of range for model ${model}. ` +
|
|
59
|
-
`Valid range: ${min} - ${max}`);
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
/**
|
|
63
|
-
* Validate max tokens for current model
|
|
64
|
-
*/
|
|
65
|
-
validateMaxTokens(maxTokens, model) {
|
|
66
|
-
const config = GLM_MODELS[model];
|
|
67
|
-
if (maxTokens > config.maxOutputTokens) {
|
|
68
|
-
throw new Error(`Max tokens ${maxTokens} exceeds limit for model ${model}. ` +
|
|
69
|
-
`Maximum: ${config.maxOutputTokens}`);
|
|
70
|
-
}
|
|
71
|
-
if (maxTokens < 1) {
|
|
72
|
-
throw new Error(`Max tokens must be at least 1, got ${maxTokens}`);
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
/**
|
|
76
|
-
* Validate thinking configuration for current model
|
|
77
|
-
*/
|
|
78
|
-
validateThinking(thinking, model) {
|
|
79
|
-
if (thinking && thinking.type === "enabled") {
|
|
80
|
-
const config = GLM_MODELS[model];
|
|
81
|
-
if (!config.supportsThinking) {
|
|
82
|
-
throw new Error(`Thinking mode is not supported by model ${model}. ` +
|
|
83
|
-
`Use glm-4.6 for thinking capabilities.`);
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
setModel(model) {
|
|
88
|
-
this.currentModel = this.validateModel(model);
|
|
89
|
-
}
|
|
90
|
-
getCurrentModel() {
|
|
91
|
-
return this.currentModel;
|
|
92
|
-
}
|
|
93
|
-
getModelConfig() {
|
|
94
|
-
return GLM_MODELS[this.currentModel];
|
|
95
|
-
}
|
|
96
|
-
/**
|
|
97
|
-
* Chat completion with GLM-4.6 support
|
|
98
|
-
*
|
|
99
|
-
* @param messages - Conversation messages
|
|
100
|
-
* @param tools - Available tools/functions
|
|
101
|
-
* @param options - Chat options including temperature, thinking mode, etc.
|
|
102
|
-
* @returns Promise<GrokResponse>
|
|
103
|
-
*
|
|
104
|
-
* @example
|
|
105
|
-
* ```typescript
|
|
106
|
-
* const response = await client.chat(messages, tools, {
|
|
107
|
-
* model: 'glm-4.6',
|
|
108
|
-
* temperature: 0.7,
|
|
109
|
-
* thinking: { type: 'enabled' },
|
|
110
|
-
* maxTokens: 8192
|
|
111
|
-
* });
|
|
112
|
-
* ```
|
|
113
|
-
*/
|
|
114
|
-
async chat(messages, tools, options) {
|
|
115
|
-
try {
|
|
116
|
-
// Merge options with defaults
|
|
117
|
-
const model = this.validateModel(options?.model || this.currentModel);
|
|
118
|
-
const temperature = options?.temperature ?? this.defaultTemperature;
|
|
119
|
-
const maxTokens = options?.maxTokens ?? this.defaultMaxTokens;
|
|
120
|
-
const thinking = options?.thinking;
|
|
121
|
-
const searchOptions = options?.searchOptions;
|
|
122
|
-
// Validate parameters
|
|
123
|
-
this.validateTemperature(temperature, model);
|
|
124
|
-
this.validateMaxTokens(maxTokens, model);
|
|
125
|
-
this.validateThinking(thinking, model);
|
|
126
|
-
const requestPayload = {
|
|
127
|
-
model,
|
|
128
|
-
messages,
|
|
129
|
-
tools: tools || [],
|
|
130
|
-
tool_choice: tools && tools.length > 0 ? "auto" : undefined,
|
|
131
|
-
temperature,
|
|
132
|
-
max_tokens: maxTokens,
|
|
133
|
-
};
|
|
134
|
-
// Add GLM-4.6 thinking parameter if specified
|
|
135
|
-
if (thinking) {
|
|
136
|
-
requestPayload.thinking = thinking;
|
|
137
|
-
}
|
|
138
|
-
// Add search parameters if specified
|
|
139
|
-
if (searchOptions?.search_parameters) {
|
|
140
|
-
requestPayload.search_parameters = searchOptions.search_parameters;
|
|
141
|
-
}
|
|
142
|
-
const response = await this.client.chat.completions.create(requestPayload);
|
|
143
|
-
// Validate response structure
|
|
144
|
-
const validationResult = safeValidateGrokResponse(response);
|
|
145
|
-
if (!validationResult.success) {
|
|
146
|
-
console.warn(createErrorMessage(ErrorCategory.VALIDATION, 'Grok API response validation', validationResult.error || 'Invalid response structure'));
|
|
147
|
-
// Return response anyway for backward compatibility, but log warning
|
|
148
|
-
}
|
|
149
|
-
return response;
|
|
150
|
-
}
|
|
151
|
-
catch (error) {
|
|
152
|
-
// Enhance error message with context
|
|
153
|
-
const modelInfo = options?.model || this.currentModel;
|
|
154
|
-
throw new Error(`Grok API error (model: ${modelInfo}): ${error.message}`);
|
|
155
|
-
}
|
|
156
|
-
}
|
|
157
|
-
/**
|
|
158
|
-
* Streaming chat completion with GLM-4.6 support
|
|
159
|
-
*
|
|
160
|
-
* Yields chunks including reasoning_content when thinking is enabled
|
|
161
|
-
*
|
|
162
|
-
* @param messages - Conversation messages
|
|
163
|
-
* @param tools - Available tools/functions
|
|
164
|
-
* @param options - Chat options including temperature, thinking mode, etc.
|
|
165
|
-
* @returns AsyncGenerator yielding GLM46StreamChunk
|
|
166
|
-
*
|
|
167
|
-
* @example
|
|
168
|
-
* ```typescript
|
|
169
|
-
* const stream = client.chatStream(messages, tools, {
|
|
170
|
-
* thinking: { type: 'enabled' }
|
|
171
|
-
* });
|
|
172
|
-
*
|
|
173
|
-
* for await (const chunk of stream) {
|
|
174
|
-
* if (chunk.choices[0]?.delta?.reasoning_content) {
|
|
175
|
-
* console.log('Reasoning:', chunk.choices[0].delta.reasoning_content);
|
|
176
|
-
* }
|
|
177
|
-
* if (chunk.choices[0]?.delta?.content) {
|
|
178
|
-
* console.log('Content:', chunk.choices[0].delta.content);
|
|
179
|
-
* }
|
|
180
|
-
* }
|
|
181
|
-
* ```
|
|
182
|
-
*/
|
|
183
|
-
async *chatStream(messages, tools, options) {
|
|
184
|
-
try {
|
|
185
|
-
// Merge options with defaults
|
|
186
|
-
const model = this.validateModel(options?.model || this.currentModel);
|
|
187
|
-
const temperature = options?.temperature ?? this.defaultTemperature;
|
|
188
|
-
const maxTokens = options?.maxTokens ?? this.defaultMaxTokens;
|
|
189
|
-
const thinking = options?.thinking;
|
|
190
|
-
const searchOptions = options?.searchOptions;
|
|
191
|
-
// Validate parameters
|
|
192
|
-
this.validateTemperature(temperature, model);
|
|
193
|
-
this.validateMaxTokens(maxTokens, model);
|
|
194
|
-
this.validateThinking(thinking, model);
|
|
195
|
-
const requestPayload = {
|
|
196
|
-
model,
|
|
197
|
-
messages,
|
|
198
|
-
tools: tools || [],
|
|
199
|
-
tool_choice: tools && tools.length > 0 ? "auto" : undefined,
|
|
200
|
-
temperature,
|
|
201
|
-
max_tokens: maxTokens,
|
|
202
|
-
stream: true,
|
|
203
|
-
};
|
|
204
|
-
// Add GLM-4.6 thinking parameter if specified
|
|
205
|
-
if (thinking) {
|
|
206
|
-
requestPayload.thinking = thinking;
|
|
207
|
-
}
|
|
208
|
-
// Add search parameters if specified
|
|
209
|
-
if (searchOptions?.search_parameters) {
|
|
210
|
-
requestPayload.search_parameters = searchOptions.search_parameters;
|
|
211
|
-
}
|
|
212
|
-
const stream = (await this.client.chat.completions.create(requestPayload));
|
|
213
|
-
for await (const chunk of stream) {
|
|
214
|
-
yield chunk;
|
|
215
|
-
}
|
|
216
|
-
}
|
|
217
|
-
catch (error) {
|
|
218
|
-
const modelInfo = options?.model || this.currentModel;
|
|
219
|
-
throw new Error(`Grok API streaming error (model: ${modelInfo}): ${error.message}`);
|
|
220
|
-
}
|
|
221
|
-
}
|
|
222
|
-
/**
|
|
223
|
-
* Search with web context (deprecated - use chat with searchOptions)
|
|
224
|
-
* @deprecated Use chat() with searchOptions parameter instead
|
|
225
|
-
*/
|
|
226
|
-
async search(query, searchParameters) {
|
|
227
|
-
const searchMessage = {
|
|
228
|
-
role: "user",
|
|
229
|
-
content: query,
|
|
230
|
-
};
|
|
231
|
-
const searchOptions = {
|
|
232
|
-
search_parameters: searchParameters || { mode: "on" },
|
|
233
|
-
};
|
|
234
|
-
return this.chat([searchMessage], [], { searchOptions });
|
|
235
|
-
}
|
|
236
|
-
}
|
|
237
|
-
//# sourceMappingURL=client.js.map
|
package/dist/grok/client.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/grok/client.ts"],"names":[],"mappings":"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"}
|
package/dist/grok/tools.d.ts
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { GrokTool } from "./client.js";
|
|
2
|
-
import { MCPManager, MCPTool } from "../mcp/client.js";
|
|
3
|
-
export declare const GROK_TOOLS: GrokTool[];
|
|
4
|
-
export declare function getMCPManager(): MCPManager;
|
|
5
|
-
export declare function initializeMCPServers(): Promise<void>;
|
|
6
|
-
export declare function convertMCPToolToGrokTool(mcpTool: MCPTool): GrokTool;
|
|
7
|
-
export declare function addMCPToolsToGrokTools(baseTools: GrokTool[]): GrokTool[];
|
|
8
|
-
export declare function getAllGrokTools(): Promise<GrokTool[]>;
|