nothumanallowed 14.2.6 → 14.2.7
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 +1 -1
- package/src/cli.mjs +23 -3
- package/src/constants.mjs +1 -1
- package/src/services/tool-executor.mjs +6 -3
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "nothumanallowed",
|
|
3
|
-
"version": "14.2.
|
|
3
|
+
"version": "14.2.7",
|
|
4
4
|
"description": "NotHumanAllowed — 38 AI agents, 80 tools, Studio (visual agentic workflows). 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": {
|
package/src/cli.mjs
CHANGED
|
@@ -200,14 +200,34 @@ export async function main(argv) {
|
|
|
200
200
|
return cmdHelp();
|
|
201
201
|
|
|
202
202
|
default: {
|
|
203
|
-
// Check if a plugin handles this command before falling through
|
|
203
|
+
// Check if a plugin handles this command before falling through
|
|
204
204
|
const pluginMatch = await findPluginForCommand(cmd);
|
|
205
205
|
if (pluginMatch && pluginMatch.plugin.run) {
|
|
206
206
|
const { cmdPlugin: runPlugin } = await import('./commands/plugin.mjs');
|
|
207
207
|
return runPlugin(['run', cmd, ...args]);
|
|
208
208
|
}
|
|
209
|
-
// Try as Legion command passthrough
|
|
210
|
-
|
|
209
|
+
// Try as Legion command passthrough (only if legion is installed)
|
|
210
|
+
try {
|
|
211
|
+
const { LEGION_FILE } = await import('./constants.mjs');
|
|
212
|
+
const { existsSync } = await import('fs');
|
|
213
|
+
if (existsSync(LEGION_FILE)) {
|
|
214
|
+
return spawnCore('legion', [cmd, ...args]);
|
|
215
|
+
}
|
|
216
|
+
} catch {}
|
|
217
|
+
// Unknown command — show helpful error
|
|
218
|
+
fail(`Unknown command: ${cmd}`);
|
|
219
|
+
console.log('');
|
|
220
|
+
info('Common commands:');
|
|
221
|
+
console.log(' nha chat Chat with AI');
|
|
222
|
+
console.log(' nha ui Open web UI');
|
|
223
|
+
console.log(' nha start Start ops daemon (Telegram/Discord)');
|
|
224
|
+
console.log(' nha stop Stop ops daemon');
|
|
225
|
+
console.log(' nha restart Restart ops daemon');
|
|
226
|
+
console.log(' nha status Check daemon status');
|
|
227
|
+
console.log(' nha update Update agents + npm package');
|
|
228
|
+
console.log(' nha config set <k> <v> Set configuration');
|
|
229
|
+
console.log(' nha help Full command list');
|
|
230
|
+
return;
|
|
211
231
|
}
|
|
212
232
|
}
|
|
213
233
|
}
|
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 = '14.2.
|
|
8
|
+
export const VERSION = '14.2.7';
|
|
9
9
|
export const BASE_URL = 'https://nothumanallowed.com/cli';
|
|
10
10
|
export const API_BASE = 'https://nothumanallowed.com/api/v1';
|
|
11
11
|
|
|
@@ -161,8 +161,10 @@ TOOLS:
|
|
|
161
161
|
NEVER use calendar_find with month names — use calendar_month instead.
|
|
162
162
|
|
|
163
163
|
14. calendar_create(summary: string, start: string, end: string, attendees?: string[], description?: string)
|
|
164
|
-
Create a calendar event. start/end are ISO 8601 datetime strings.
|
|
165
|
-
|
|
164
|
+
Create a NEW calendar event. start/end are ISO 8601 datetime strings.
|
|
165
|
+
Use this when the user says: "inserisci", "aggiungi", "crea", "metti", "fissa", "prenota", "add", "create", "schedule", "book".
|
|
166
|
+
IMPORTANT: When user says "inserisci appuntamento" or "crea evento" → use calendar_create, NOT calendar_find.
|
|
167
|
+
Extract the summary, date, and time from the user message. If end time is not specified, default to 1 hour after start.
|
|
166
168
|
|
|
167
169
|
15. calendar_move(eventId: string, newStart: string, newEnd: string)
|
|
168
170
|
Reschedule an event. ALWAYS confirm before moving.
|
|
@@ -625,7 +627,8 @@ RULES:
|
|
|
625
627
|
- For write/send/delete operations (gmail_send, gmail_reply, gmail_delete, calendar_create, calendar_move, calendar_update, contact_delete, task_done, notify_remind, file_write), DESCRIBE what you're about to do and include the JSON block so the system can ask the user for confirmation.
|
|
626
628
|
- For schedule_meeting and schedule_draft_email, execute immediately — these are read operations that suggest slots.
|
|
627
629
|
- When presenting email results, show From, Subject, Date, and a brief snippet. Never dump raw JSON.
|
|
628
|
-
- When presenting calendar events, show Time, Title, Location/Link. Format times in a human-readable way.
|
|
630
|
+
- When presenting calendar events, show Time, Title, Location/Link. Format times in a human-readable way. NEVER show raw eventId to the user — it's internal.
|
|
631
|
+
- When confirming a created event, say something like "Ho creato l'appuntamento 'X' per il giorno Y alle ore Z." — natural, human, no IDs.
|
|
629
632
|
- When presenting tasks, show ID, Description, Priority, Status.
|
|
630
633
|
- When presenting slot proposals, show day, date, time range, and travel info clearly.
|
|
631
634
|
- If you need multiple actions in sequence (e.g., read an email then reply), do them ONE AT A TIME — wait for the result of each before proceeding.
|