nothumanallowed 11.5.4 → 11.6.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.
- package/package.json +2 -2
- package/src/cli.mjs +10 -0
- package/src/constants.mjs +1 -1
- package/src/services/llm.mjs +3 -2
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "nothumanallowed",
|
|
3
|
-
"version": "11.
|
|
4
|
-
"description": "NotHumanAllowed — 38 AI agents,
|
|
3
|
+
"version": "11.6.1",
|
|
4
|
+
"description": "NotHumanAllowed — 38 AI agents, 70 tools. Email, calendar, browser automation, screen capture, canvas, cron/heartbeat, Alexandria E2E messaging, GitHub, Notion, Slack, voice chat, free AI (Liara), 28 languages. Zero-dependency CLI.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
7
7
|
"nha": "./bin/nha.mjs",
|
package/src/cli.mjs
CHANGED
|
@@ -32,6 +32,16 @@ export async function main(argv) {
|
|
|
32
32
|
if (cmd === 'setup') return; // setup was the goal
|
|
33
33
|
}
|
|
34
34
|
|
|
35
|
+
// ── Telemetry ping (anonymous, fire-and-forget, non-blocking) ────────────
|
|
36
|
+
if (cmd !== 'help' && cmd !== 'version' && cmd !== '--help' && cmd !== '-h') {
|
|
37
|
+
fetch('https://nothumanallowed.com/api/v1/telemetry/ping', {
|
|
38
|
+
method: 'POST',
|
|
39
|
+
headers: { 'Content-Type': 'application/json' },
|
|
40
|
+
body: JSON.stringify({ platform: 'cli', version: VERSION }),
|
|
41
|
+
signal: AbortSignal.timeout(5000),
|
|
42
|
+
}).catch(() => {});
|
|
43
|
+
}
|
|
44
|
+
|
|
35
45
|
// ── Background update check (non-blocking) ──────────────────────────────
|
|
36
46
|
if (cmd !== 'update' && cmd !== 'help' && cmd !== 'version') {
|
|
37
47
|
checkForUpdates().then(updates => {
|
package/src/constants.mjs
CHANGED
|
@@ -5,7 +5,7 @@ import { fileURLToPath } from 'url';
|
|
|
5
5
|
const __filename = fileURLToPath(import.meta.url);
|
|
6
6
|
const __dirname = path.dirname(__filename);
|
|
7
7
|
|
|
8
|
-
export const VERSION = '11.
|
|
8
|
+
export const VERSION = '11.6.1';
|
|
9
9
|
export const BASE_URL = 'https://nothumanallowed.com/cli';
|
|
10
10
|
export const API_BASE = 'https://nothumanallowed.com/api/v1';
|
|
11
11
|
|
package/src/services/llm.mjs
CHANGED
|
@@ -262,7 +262,8 @@ export async function callNHA(apiKey, model, systemPrompt, userMessage, stream =
|
|
|
262
262
|
stream,
|
|
263
263
|
chat_template_kwargs: { enable_thinking: thinkingEnabled },
|
|
264
264
|
};
|
|
265
|
-
|
|
265
|
+
// Route through NHA server proxy (SENTINEL protection) instead of direct to Hetzner
|
|
266
|
+
const res = await fetch('https://nothumanallowed.com/api/v1/liara/chat', {
|
|
266
267
|
method: 'POST',
|
|
267
268
|
headers: {
|
|
268
269
|
'Content-Type': 'application/json',
|
|
@@ -511,7 +512,7 @@ function buildRequestBody(provider, model, systemPrompt, userMessage, stream) {
|
|
|
511
512
|
/** Get provider API URL */
|
|
512
513
|
function getProviderUrl(provider, model, apiKey) {
|
|
513
514
|
const urls = {
|
|
514
|
-
nha: 'https://
|
|
515
|
+
nha: 'https://nothumanallowed.com/api/v1/liara/chat',
|
|
515
516
|
anthropic: 'https://api.anthropic.com/v1/messages',
|
|
516
517
|
openai: 'https://api.openai.com/v1/chat/completions',
|
|
517
518
|
deepseek: 'https://api.deepseek.com/v1/chat/completions',
|