hermoso 0.1.227 → 0.1.228

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.
Files changed (2) hide show
  1. package/mcp/tools.mjs +5 -2
  2. package/package.json +1 -1
package/mcp/tools.mjs CHANGED
@@ -2601,7 +2601,10 @@ function buildTools(rawServer, opts = {}, sink = null) {
2601
2601
  const desc = String(h.description || '');
2602
2602
  let score = 0;
2603
2603
  if (q) {
2604
- const words = q.split(/[\s,]+/).map(expandQueryWord).filter(Boolean);
2604
+ // A NAME-SHAPED ASK IS ALSO ITS WORDS (2026-09-12). Agents search the name they guess (list_meta_campaigns,
2605
+ // update_meta_ad, edit_meta): kept as one literal token it matched nothing and filed a dead end, while its parts
2606
+ // (meta + campaigns, update + meta) name real tools. The literal still scores first when it exists.
2607
+ const words = q.split(/[\s,]+/).flatMap((r) => (r.includes('_') ? [r, ...r.split('_').filter((p) => p.length >= 2)] : [r])).map(expandQueryWord).filter(Boolean);
2605
2608
  const descLc = desc.toLowerCase();
2606
2609
  const nameTokens = name.split('_');
2607
2610
  let nameHits = 0, covered = 0;
@@ -18377,7 +18380,7 @@ function memoryNoteVerdict(text) {
18377
18380
  residual: z.any().optional().describe('source-branding sweep result ({clean, note})'),
18378
18381
  },
18379
18382
  annotations: { readOnlyHint: false, destructiveHint: false, idempotentHint: false, openWorldHint: false },
18380
- }, cloneStaticHandler);
18383
+ }, (a, extra) => cloneStaticHandler(a, extra)); // its OWN function object: the registry stamps each handler with one tool name, and a shared one ended up named remix_static for both
18381
18384
 
18382
18385
  server.registerTool('mine_angles', {
18383
18386
  title: 'Mine customer angles',
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hermoso",
3
- "version": "0.1.227",
3
+ "version": "0.1.228",
4
4
  "mcpName": "io.github.hermoso-ai/hermoso",
5
5
  "description": "AI ad studio and marketing MCP server with 825 tools. Research the ads already running in any market, generate finished image, video and UGC avatar ads, publish and schedule them to your own channels, build and manage the ad campaigns behind them, and read what they achieved. AD PLATFORMS: Meta, Google Ads, TikTok Ads, LinkedIn Ads, Reddit Ads, X Ads, Pinterest Ads, Snapchat Ads, Microsoft Advertising, Apple Search Ads and ChatGPT Ads, plus product feeds in Google Merchant Center. PUBLISHING AND SCHEDULING: Facebook, Instagram, Threads, TikTok, YouTube, X, LinkedIn, Pinterest, Bluesky and Telegram. AD RESEARCH: the Meta, Google and LinkedIn ad libraries plus organic TikTok, Instagram, YouTube, Threads and Reddit. ANALYTICS: Google Analytics 4, Google Search Console and every connected platform's own post and campaign insights. Also brand onboarding, 50+ image and video generation models, ad scoring, competitor teardowns, Google Drive and OneDrive, a CLI and installable Claude skills.",
6
6
  "type": "module",