draken 0.1.4 → 0.1.6
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/cli.js +91 -0
- package/dist/cli.js.map +1 -1
- package/package.json +1 -1
package/dist/cli.js
CHANGED
|
@@ -40,6 +40,95 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
40
40
|
const path_1 = __importDefault(require("path"));
|
|
41
41
|
const fs_1 = __importDefault(require("fs"));
|
|
42
42
|
const os_1 = __importDefault(require("os"));
|
|
43
|
+
const https_1 = __importDefault(require("https"));
|
|
44
|
+
const pkg = JSON.parse(fs_1.default.readFileSync(path_1.default.join(__dirname, '../package.json'), 'utf-8'));
|
|
45
|
+
const currentVersion = pkg.version;
|
|
46
|
+
/**
|
|
47
|
+
* Check for updates (non-blocking, cached for 24h)
|
|
48
|
+
*/
|
|
49
|
+
async function checkForUpdates() {
|
|
50
|
+
const dataDir = process.env.DRAKEN_DATA_DIR || path_1.default.join(os_1.default.homedir(), '.draken');
|
|
51
|
+
const cacheFile = path_1.default.join(dataDir, '.update-check');
|
|
52
|
+
// Check cache (24 hour TTL)
|
|
53
|
+
try {
|
|
54
|
+
if (fs_1.default.existsSync(cacheFile)) {
|
|
55
|
+
const cache = JSON.parse(fs_1.default.readFileSync(cacheFile, 'utf-8'));
|
|
56
|
+
const age = Date.now() - cache.timestamp;
|
|
57
|
+
if (age < 24 * 60 * 60 * 1000) {
|
|
58
|
+
// Cache still valid
|
|
59
|
+
if (cache.latest && cache.latest !== currentVersion) {
|
|
60
|
+
showUpdateMessage(cache.latest);
|
|
61
|
+
}
|
|
62
|
+
return;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
catch { }
|
|
67
|
+
// Fetch latest version from npm
|
|
68
|
+
return new Promise((resolve) => {
|
|
69
|
+
const req = https_1.default.get('https://registry.npmjs.org/draken/latest', { timeout: 3000 }, (res) => {
|
|
70
|
+
let data = '';
|
|
71
|
+
res.on('data', chunk => data += chunk);
|
|
72
|
+
res.on('end', () => {
|
|
73
|
+
try {
|
|
74
|
+
const latest = JSON.parse(data).version;
|
|
75
|
+
// Save to cache
|
|
76
|
+
if (!fs_1.default.existsSync(dataDir)) {
|
|
77
|
+
fs_1.default.mkdirSync(dataDir, { recursive: true });
|
|
78
|
+
}
|
|
79
|
+
fs_1.default.writeFileSync(cacheFile, JSON.stringify({ latest, timestamp: Date.now() }));
|
|
80
|
+
if (latest !== currentVersion) {
|
|
81
|
+
showUpdateMessage(latest);
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
catch { }
|
|
85
|
+
resolve();
|
|
86
|
+
});
|
|
87
|
+
});
|
|
88
|
+
req.on('error', () => resolve());
|
|
89
|
+
req.on('timeout', () => { req.destroy(); resolve(); });
|
|
90
|
+
});
|
|
91
|
+
}
|
|
92
|
+
function showUpdateMessage(latest) {
|
|
93
|
+
console.log(`\n 📦 Update available: ${currentVersion} → ${latest}`);
|
|
94
|
+
console.log(` Run: npm i -g draken@latest\n`);
|
|
95
|
+
}
|
|
96
|
+
// Handle --version and --help before anything else
|
|
97
|
+
const args = process.argv.slice(2);
|
|
98
|
+
if (args.includes('--version') || args.includes('-v')) {
|
|
99
|
+
console.log(`draken v${currentVersion}`);
|
|
100
|
+
checkForUpdates().then(() => process.exit(0));
|
|
101
|
+
}
|
|
102
|
+
else if (args.includes('--help') || args.includes('-h')) {
|
|
103
|
+
}
|
|
104
|
+
else if (args.includes('--help') || args.includes('-h')) {
|
|
105
|
+
console.log(`
|
|
106
|
+
Draken v${currentVersion} - Claude Code Dashboard
|
|
107
|
+
|
|
108
|
+
Usage: draken [options]
|
|
109
|
+
|
|
110
|
+
Options:
|
|
111
|
+
-v, --version Show version
|
|
112
|
+
-h, --help Show this help
|
|
113
|
+
|
|
114
|
+
Environment Variables:
|
|
115
|
+
DRAKEN_USERNAME Username for dashboard auth
|
|
116
|
+
DRAKEN_PASSWORD Password for dashboard auth
|
|
117
|
+
DRAKEN_JWT_SECRET Secret for JWT tokens
|
|
118
|
+
DRAKEN_NO_AUTH Set to 'true' to disable auth
|
|
119
|
+
DRAKEN_PORT Server port (default: 40333)
|
|
120
|
+
DRAKEN_DATA_DIR Data directory (default: ~/.draken)
|
|
121
|
+
|
|
122
|
+
Claude Authentication (one required):
|
|
123
|
+
ANTHROPIC_API_KEY API key for Claude
|
|
124
|
+
- or run: claude login
|
|
125
|
+
|
|
126
|
+
Examples:
|
|
127
|
+
DRAKEN_NO_AUTH=true draken
|
|
128
|
+
DRAKEN_USERNAME=admin DRAKEN_PASSWORD=secret DRAKEN_JWT_SECRET=xyz draken
|
|
129
|
+
`);
|
|
130
|
+
process.exit(0);
|
|
131
|
+
}
|
|
43
132
|
// Check for required environment variables
|
|
44
133
|
const noAuth = process.env.DRAKEN_NO_AUTH === 'true';
|
|
45
134
|
if (!noAuth) {
|
|
@@ -65,6 +154,8 @@ if (!hasOAuth && !hasApiKey) {
|
|
|
65
154
|
console.log(' 2. Set: ANTHROPIC_API_KEY=your-key\n');
|
|
66
155
|
process.exit(1);
|
|
67
156
|
}
|
|
157
|
+
// Check for updates in background (non-blocking)
|
|
158
|
+
checkForUpdates();
|
|
68
159
|
// Import and start the server
|
|
69
160
|
Promise.resolve().then(() => __importStar(require('./server')));
|
|
70
161
|
//# sourceMappingURL=cli.js.map
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA,gDAAwB;AACxB,4CAAoB;AACpB,4CAAoB;
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|