nothumanallowed 13.5.103 → 13.5.104
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/commands/ui.mjs +23 -0
- package/src/constants.mjs +1 -1
- package/src/services/tool-executor.mjs +1 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "nothumanallowed",
|
|
3
|
-
"version": "13.5.
|
|
3
|
+
"version": "13.5.104",
|
|
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/commands/ui.mjs
CHANGED
|
@@ -3145,6 +3145,29 @@ ${rawText.slice(0, 18000)}`;
|
|
|
3145
3145
|
}
|
|
3146
3146
|
} catch (e) { toolData += (toolData ? '\n\n' : '') + `## Search "${q}" failed: ${e.message}`; }
|
|
3147
3147
|
}
|
|
3148
|
+
|
|
3149
|
+
// After all searches: extract URLs from results and fetch booking/info portals directly
|
|
3150
|
+
// This is critical for travel/restaurant/accommodation tasks where portals have internal search
|
|
3151
|
+
const isBookingTask = /(ristorante|restaurant|b&b|hotel|albergo|prenotaz|booking|vacanz|romantico|sushi|menu|disponib|soggiorno|weekend|cena|dinner|accommodation)/i.test(task + ' ' + stepPrompt);
|
|
3152
|
+
if (isBookingTask && toolData.length > 100) {
|
|
3153
|
+
// Extract URLs found in search results
|
|
3154
|
+
const foundUrls = [...new Set((toolData.match(/https?:\/\/[^\s"'\n<>)]+/g) || []))];
|
|
3155
|
+
// Prioritize booking/info portals
|
|
3156
|
+
const portalDomains = ['thefork', 'theforkmanger', 'booking.com', 'tripadvisor', 'yelp', 'zomato', 'airbnb', 'agriturismo', 'expedia', 'hotel', 'b-b.it', 'bed-and-breakfast', 'locanda', 'osteria', 'ristorante', 'viaggi'];
|
|
3157
|
+
const portalUrls = foundUrls.filter(u => portalDomains.some(d => u.toLowerCase().includes(d))).slice(0, 3);
|
|
3158
|
+
if (portalUrls.length > 0) {
|
|
3159
|
+
sendToken(`[Reading ${portalUrls.length} portal page(s)...] `);
|
|
3160
|
+
for (const pu of portalUrls) {
|
|
3161
|
+
try {
|
|
3162
|
+
const pfetch = await withTimeout(executeTool('fetch_url', { url: pu }, config), 20000);
|
|
3163
|
+
const pfetchStr = typeof pfetch === 'string' ? pfetch : JSON.stringify(pfetch);
|
|
3164
|
+
if (pfetchStr && pfetchStr.length > 200) {
|
|
3165
|
+
toolData += '\n\n## Portal page: ' + pu + '\n' + pfetchStr.slice(0, 5000);
|
|
3166
|
+
}
|
|
3167
|
+
} catch {}
|
|
3168
|
+
}
|
|
3169
|
+
}
|
|
3170
|
+
}
|
|
3148
3171
|
} catch (e) { toolData = toolData || `Web search failed: ${e.message}`; }
|
|
3149
3172
|
|
|
3150
3173
|
} else if (agent === 'BrowserAgent') {
|
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 = '13.5.
|
|
8
|
+
export const VERSION = '13.5.104';
|
|
9
9
|
export const BASE_URL = 'https://nothumanallowed.com/cli';
|
|
10
10
|
export const API_BASE = 'https://nothumanallowed.com/api/v1';
|
|
11
11
|
|
|
@@ -1469,7 +1469,7 @@ export async function executeTool(action, params, config) {
|
|
|
1469
1469
|
for (const dr of result.deepResults) {
|
|
1470
1470
|
lines.push(`--- ${dr.title} ---`);
|
|
1471
1471
|
lines.push(`URL: ${dr.url}`);
|
|
1472
|
-
lines.push(dr.content.slice(0,
|
|
1472
|
+
lines.push(dr.content.slice(0, 4000));
|
|
1473
1473
|
lines.push('');
|
|
1474
1474
|
}
|
|
1475
1475
|
|