fodda-mcp 1.38.0 → 1.46.31

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 (141) hide show
  1. package/README.md +11 -8
  2. package/dist/brandTemplate.d.ts +1 -1
  3. package/dist/brandTemplate.d.ts.map +1 -1
  4. package/dist/brandTemplate.js +124 -17
  5. package/dist/brandTemplate.js.map +1 -1
  6. package/dist/catalogCache.d.ts +11 -0
  7. package/dist/catalogCache.d.ts.map +1 -1
  8. package/dist/catalogCache.js +28 -8
  9. package/dist/catalogCache.js.map +1 -1
  10. package/dist/coverageRelevance.d.ts +156 -0
  11. package/dist/coverageRelevance.d.ts.map +1 -0
  12. package/dist/coverageRelevance.js +1062 -0
  13. package/dist/coverageRelevance.js.map +1 -0
  14. package/dist/enrichment.d.ts.map +1 -1
  15. package/dist/enrichment.js +51 -1
  16. package/dist/enrichment.js.map +1 -1
  17. package/dist/errorHandling.js +2 -2
  18. package/dist/errorHandling.js.map +1 -1
  19. package/dist/index.d.ts.map +1 -1
  20. package/dist/index.js +118 -21
  21. package/dist/index.js.map +1 -1
  22. package/dist/oauthRegisterShim.d.ts +13 -0
  23. package/dist/oauthRegisterShim.d.ts.map +1 -0
  24. package/dist/oauthRegisterShim.js +83 -0
  25. package/dist/oauthRegisterShim.js.map +1 -0
  26. package/dist/pricingCache.d.ts.map +1 -1
  27. package/dist/pricingCache.js +14 -2
  28. package/dist/pricingCache.js.map +1 -1
  29. package/dist/sessionTracker.d.ts +24 -2
  30. package/dist/sessionTracker.d.ts.map +1 -1
  31. package/dist/sessionTracker.js +198 -4
  32. package/dist/sessionTracker.js.map +1 -1
  33. package/dist/systemPrompt.d.ts +1 -1
  34. package/dist/systemPrompt.d.ts.map +1 -1
  35. package/dist/systemPrompt.js +58 -28
  36. package/dist/systemPrompt.js.map +1 -1
  37. package/dist/test_book_a_call_live.d.ts +2 -0
  38. package/dist/test_book_a_call_live.d.ts.map +1 -0
  39. package/dist/test_book_a_call_live.js +148 -0
  40. package/dist/test_book_a_call_live.js.map +1 -0
  41. package/dist/test_brand_intelligence_endpoint.js +2 -2
  42. package/dist/test_coverage_relevance.d.ts +12 -0
  43. package/dist/test_coverage_relevance.d.ts.map +1 -0
  44. package/dist/test_coverage_relevance.js +121 -0
  45. package/dist/test_coverage_relevance.js.map +1 -0
  46. package/dist/test_dcr_and_legacy_deprecation.d.ts +2 -0
  47. package/dist/test_dcr_and_legacy_deprecation.d.ts.map +1 -0
  48. package/dist/test_dcr_and_legacy_deprecation.js +148 -0
  49. package/dist/test_dcr_and_legacy_deprecation.js.map +1 -0
  50. package/dist/test_financial_snapshot_render.d.ts +2 -0
  51. package/dist/test_financial_snapshot_render.d.ts.map +1 -0
  52. package/dist/test_financial_snapshot_render.js +167 -0
  53. package/dist/test_financial_snapshot_render.js.map +1 -0
  54. package/dist/test_gap_alert.d.ts +12 -0
  55. package/dist/test_gap_alert.d.ts.map +1 -0
  56. package/dist/test_gap_alert.js +43 -0
  57. package/dist/test_gap_alert.js.map +1 -0
  58. package/dist/test_next_moves.d.ts +2 -0
  59. package/dist/test_next_moves.d.ts.map +1 -0
  60. package/dist/test_next_moves.js +349 -0
  61. package/dist/test_next_moves.js.map +1 -0
  62. package/dist/test_next_moves_transcripts.d.ts +2 -0
  63. package/dist/test_next_moves_transcripts.d.ts.map +1 -0
  64. package/dist/test_next_moves_transcripts.js +413 -0
  65. package/dist/test_next_moves_transcripts.js.map +1 -0
  66. package/dist/test_session_next_moves_telemetry.d.ts +2 -0
  67. package/dist/test_session_next_moves_telemetry.d.ts.map +1 -0
  68. package/dist/test_session_next_moves_telemetry.js +100 -0
  69. package/dist/test_session_next_moves_telemetry.js.map +1 -0
  70. package/dist/toolHandlers.d.ts.map +1 -1
  71. package/dist/toolHandlers.js +932 -271
  72. package/dist/toolHandlers.js.map +1 -1
  73. package/dist/tools.d.ts +2 -1
  74. package/dist/tools.d.ts.map +1 -1
  75. package/dist/tools.js +6 -2
  76. package/dist/tools.js.map +1 -1
  77. package/dist/verify_tools_endpoint.js +4 -3
  78. package/dist/verify_tools_endpoint.js.map +1 -1
  79. package/package.json +1 -1
  80. package/server.json +3 -3
  81. package/dist/debug_tools.d.ts +0 -2
  82. package/dist/debug_tools.d.ts.map +0 -1
  83. package/dist/debug_tools.js +0 -19
  84. package/dist/debug_tools.js.map +0 -1
  85. package/dist/inspect_list_graphs.d.ts +0 -2
  86. package/dist/inspect_list_graphs.d.ts.map +0 -1
  87. package/dist/inspect_list_graphs.js +0 -25
  88. package/dist/inspect_list_graphs.js.map +0 -1
  89. package/dist/jobs/jlens_quarterly_sweep.d.ts +0 -62
  90. package/dist/jobs/jlens_quarterly_sweep.d.ts.map +0 -1
  91. package/dist/jobs/jlens_quarterly_sweep.js +0 -160
  92. package/dist/jobs/jlens_quarterly_sweep.js.map +0 -1
  93. package/dist/scratch_test.d.ts.map +0 -1
  94. package/dist/scripts/simulate_gemini.d.ts +0 -2
  95. package/dist/scripts/simulate_gemini.d.ts.map +0 -1
  96. package/dist/scripts/simulate_gemini.js +0 -100
  97. package/dist/scripts/simulate_gemini.js.map +0 -1
  98. package/dist/scripts/verify_registry.d.ts +0 -2
  99. package/dist/scripts/verify_registry.d.ts.map +0 -1
  100. package/dist/scripts/verify_registry.js +0 -77
  101. package/dist/scripts/verify_registry.js.map +0 -1
  102. package/dist/services/notifications.d.ts +0 -49
  103. package/dist/services/notifications.d.ts.map +0 -1
  104. package/dist/services/notifications.js +0 -206
  105. package/dist/services/notifications.js.map +0 -1
  106. package/dist/src/index.d.ts +0 -2
  107. package/dist/src/index.d.ts.map +0 -1
  108. package/dist/src/index.js +0 -332
  109. package/dist/src/index.js.map +0 -1
  110. package/dist/src/tools.d.ts +0 -12
  111. package/dist/src/tools.d.ts.map +0 -1
  112. package/dist/src/tools.js +0 -104
  113. package/dist/src/tools.js.map +0 -1
  114. package/dist/src/types.d.ts +0 -44
  115. package/dist/src/types.d.ts.map +0 -1
  116. package/dist/src/types.js +0 -2
  117. package/dist/src/types.js.map +0 -1
  118. package/dist/src/verify.d.ts +0 -2
  119. package/dist/src/verify.d.ts.map +0 -1
  120. package/dist/src/verify.js +0 -47
  121. package/dist/src/verify.js.map +0 -1
  122. package/dist/src/verify_hmac.d.ts +0 -2
  123. package/dist/src/verify_hmac.d.ts.map +0 -1
  124. package/dist/src/verify_hmac.js +0 -106
  125. package/dist/src/verify_hmac.js.map +0 -1
  126. package/dist/src/verify_tools_endpoint.d.ts +0 -2
  127. package/dist/src/verify_tools_endpoint.d.ts.map +0 -1
  128. package/dist/src/verify_tools_endpoint.js +0 -40
  129. package/dist/src/verify_tools_endpoint.js.map +0 -1
  130. package/dist/test-waverunner-response.d.ts +0 -2
  131. package/dist/test-waverunner-response.d.ts.map +0 -1
  132. package/dist/test-waverunner-response.js +0 -20
  133. package/dist/test-waverunner-response.js.map +0 -1
  134. package/dist/test_coverage_r2.d.ts +0 -2
  135. package/dist/test_coverage_r2.d.ts.map +0 -1
  136. package/dist/test_coverage_scratch.d.ts +0 -2
  137. package/dist/test_coverage_scratch.d.ts.map +0 -1
  138. package/dist/verify_discoverability.d.ts +0 -2
  139. package/dist/verify_discoverability.d.ts.map +0 -1
  140. package/dist/verify_discoverability.js +0 -53
  141. package/dist/verify_discoverability.js.map +0 -1
package/README.md CHANGED
@@ -22,7 +22,7 @@
22
22
  2. In Claude, go to **Settings → Connectors → Add custom connector**, paste the URL, and click **Add**
23
23
  3. Start chatting with your Fodda knowledge graphs
24
24
 
25
- > **Note:** legacy `?api_key=` URLs are no longer accepted (raw keys in URLs leak into logs and browser history). If your connector stops working, just grab a fresh MCP URL at [app.fodda.ai](https://app.fodda.ai). One-click OAuth connect arrives with Fodda's Anthropic Connectors Directory listing.
25
+ > **Note:** legacy `?api_key=` or `?user_id=` query string URLs are deprecated and return HTTP 401 with explicit instructions (`Fodda: this connection URL is outdated. Get your new MCP URL at https://app.fodda.ai...`). Get your fresh MCP URL or connect via OAuth at [app.fodda.ai](https://app.fodda.ai).
26
26
 
27
27
 
28
28
  ### Claude Code (CLI — SSE)
@@ -90,16 +90,19 @@ Connect to the `/mcp` endpoint using HTTP `POST` (Streamable HTTP) with `Authori
90
90
  https://mcp.fodda.ai/mcp
91
91
  ```
92
92
 
93
- ### Gemini CLI
93
+ ### Gemini / Antigravity
94
94
 
95
+ Add to `~/.gemini/config/mcp_config.json`:
95
96
  ```json
96
97
  {
97
- "tools": [{
98
- "type": "mcp",
99
- "name": "fodda",
100
- "url": "https://mcp.fodda.ai/sse",
101
- "headers": { "Authorization": "Bearer YOUR_API_KEY" }
102
- }]
98
+ "mcpServers": {
99
+ "fodda": {
100
+ "serverUrl": "https://mcp.fodda.ai/mcp",
101
+ "headers": {
102
+ "Authorization": "Bearer YOUR_API_KEY"
103
+ }
104
+ }
105
+ }
103
106
  }
104
107
  ```
105
108
 
@@ -10,5 +10,5 @@ export declare function renderBrandWidget(profile: any): Promise<{
10
10
  editorial_context: any;
11
11
  open_slots: string[];
12
12
  }>;
13
- export declare const TEMPLATE = "\n<style>\n:root{--p:#663399;--pl:#F5F0FF;--pm:#9B72CC;--pl-on:#663399;}\n@media(prefers-color-scheme:dark){:root{--p:#9B72CC;--pl:rgba(155,114,204,0.14);--pm:#663399;--pl-on:#C4A7E8;}}\n.w{border:1px solid var(--p);border-top:3px solid var(--p);border-radius:6px;padding:1.25rem;font-family:var(--font-mono);}\n.hd{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.25rem;padding-bottom:1rem;border-bottom:.5px solid var(--color-border-tertiary);}\n.logo{display:flex;align-items:center;gap:10px;}\n.logo img{height:24px;width:auto;display:block;}\n.lt{font-size:13px;font-weight:500;}.ls{font-size:10px;color:var(--color-text-secondary);}\n.bfolio{font-family:var(--font-mono);font-size:10px;letter-spacing:0.18em;text-transform:uppercase;color:var(--color-text-secondary);}\n.bh{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.75rem;}\n.bn{font-family:var(--font-serif);font-style:italic;font-weight:400;font-size:22px;letter-spacing:-0.01em;}\n.vc{font-size:9px;font-weight:700;letter-spacing:0.18em;text-transform:uppercase;padding:3px 8px;border:1px solid currentColor;border-radius:2px;font-family:var(--font-mono);}\n.vc-up{color:var(--color-text-success);}\n.vc-build{color:var(--color-text-info);}\n.vc-steady{color:var(--color-text-secondary);}\n.vc-slow{color:var(--color-text-warning);}\n.pv{font-size:14px;font-family:var(--font-serif);font-style:italic;font-weight:400;line-height:1.65;padding:14px 16px;background:var(--pl);border:1px solid var(--p);border-left-width:3px;border-radius:4px;margin-bottom:1.25rem;color:var(--color-text-primary);}\n.lcb{display:flex;height:8px;border-radius:4px;overflow:hidden;margin-bottom:.75rem;gap:2px;}\n.lcl{display:flex;gap:12px;margin-bottom:1.25rem;flex-wrap:wrap;}\n.lci{display:flex;align-items:center;gap:5px;font-size:10px;color:var(--color-text-secondary);}\n.lcd{width:8px;height:8px;border-radius:2px;}\n.card{background:var(--color-background-primary);border:1px solid var(--color-border-tertiary);border-radius:4px;padding:1rem 1.25rem;margin-bottom:8px;transition:border-color .15s,background .15s;}\n.card:hover{border-color:var(--p);background:var(--pl);}\n.th{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:6px;gap:8px;}\n.tn{font-size:13px;font-weight:500;}\n.ta{display:flex;align-items:center;gap:4px;flex-shrink:0;}\n.td{font-size:12px;color:var(--color-text-secondary);margin-bottom:5px;line-height:1.5;}\n.lb{font-size:9px;font-weight:700;letter-spacing:0.18em;text-transform:uppercase;padding:3px 8px;border:1px solid currentColor;border-radius:2px;white-space:nowrap;font-family:var(--font-mono);background:transparent;}\n.lb-b{color:var(--color-text-info);}\n.lb-e{color:var(--color-text-success);}\n.lb-m{color:var(--color-text-secondary);}\n.lb-f{color:var(--color-text-warning);}\n.bd{font-size:9px;font-weight:700;letter-spacing:0.18em;text-transform:uppercase;padding:3px 8px;border:1px solid currentColor;border-radius:2px;background:transparent;color:var(--color-text-secondary);font-family:var(--font-mono);}\n.bd-fast{font-size:9px;font-weight:700;letter-spacing:0.18em;text-transform:uppercase;padding:3px 8px;border:1px solid currentColor;border-radius:2px;background:transparent;color:#7A4000;font-family:var(--font-mono);}\n.bdp{font-size:10px;padding:2px 8px;border-radius:20px;background:var(--pl);color:var(--pl-on);font-family:var(--font-mono);}\n.brow{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px;}\n.wl{font-size:11px;color:var(--color-text-secondary);margin:1.25rem 0 8px;display:flex;align-items:center;gap:6px;}\n.wd{width:6px;height:6px;border-radius:50%;background:var(--color-text-warning);display:inline-block;}\n.ec{border:1px dashed var(--color-border-tertiary);border-radius:4px;margin-bottom:8px;padding:1rem 1.25rem;}\n.et a{color:var(--color-text-info);text-decoration:none;font-size:13px;font-weight:500;}.et a:hover{text-decoration:underline;}\n.ex{font-size:12px;color:var(--color-text-secondary);line-height:1.5;margin:6px 0 8px;}\n.em{display:flex;gap:6px;flex-wrap:wrap;}\n.cit{font-size:10px;color:var(--color-text-secondary);margin-top:8px;padding-top:8px;border-top:.5px solid var(--color-border-tertiary);}\n.cit a{color:var(--color-text-info);text-decoration:none;}\n.cat-cs{background:var(--color-background-info);color:var(--color-text-info);}\n.cat-si{background:var(--pl);color:var(--p);}\n.cat-me{background:var(--color-background-success);color:var(--color-text-success);}\n.cat-qu{background:var(--color-background-warning);color:var(--color-text-warning);}\n.cat-in{background:var(--color-background-secondary);color:var(--color-text-secondary);}\n.cc{background:var(--color-background-primary);border:1px solid var(--color-border-tertiary);border-radius:4px;padding:.875rem 1.25rem;margin-bottom:6px;display:flex;justify-content:space-between;align-items:center;}\n.cn{font-size:13px;font-weight:500;margin-bottom:3px;}\n.cd{font-size:11px;color:var(--color-text-secondary);}\n.ca{display:flex;flex-direction:column;align-items:flex-end;gap:6px;}\n.pb{font-size:9px;font-weight:700;letter-spacing:0.18em;text-transform:uppercase;padding:3px 8px;border:1px solid currentColor;border-radius:2px;font-family:var(--font-mono);background:transparent;}\n.sl2, .sec{font-size:13px;font-weight:500;color:var(--color-text-primary);margin:1.25rem 0 8px;}.sl2:first-child, .sec:first-child{margin-top:0;}\n.br{display:flex;align-items:center;gap:8px;margin-bottom:5px;font-size:12px;}\n.brl{width:120px;color:var(--color-text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex-shrink:0;}\n.brt{flex:1;height:4px;background:var(--color-background-secondary);border-radius:3px;overflow:hidden;}\n.brf{height:100%;background:var(--p);border-radius:3px;}\n.brc{min-width:44px;text-align:right;color:var(--color-text-secondary);font-size:11px;}\n.sg{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:1rem;}\n.sk{background:var(--color-background-secondary);border-radius:8px;padding:10px 12px;}\n.skl{font-size:10px;color:var(--color-text-secondary);margin-bottom:3px;}\n.skv{font-family:var(--font-serif);font-style:italic;font-size:22px;font-weight:400;}.sks{font-size:10px;color:var(--color-text-secondary);margin-top:2px;}\n.rq{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:.75rem;}\n.rqp{font-size:10px;padding:3px 9px;border-radius:20px;background:var(--color-background-secondary);color:var(--color-text-secondary);border:.5px solid var(--color-border-tertiary);}\n.xb{display:flex;align-items:center;gap:10px;padding:12px 16px;background:var(--color-background-secondary);border:.5px solid var(--color-border-tertiary);border-radius:8px;cursor:pointer;text-align:left;width:100%;margin-bottom:8px;font-family:var(--font-mono);transition:all .15s;}\n.xb:hover{background:var(--pl);border-color:var(--pm);}\n.xi{font-size:11px;width:28px;font-weight:500;flex-shrink:0;color:var(--color-text-secondary);}\n.xd{font-size:11px;color:var(--color-text-secondary);margin-top:2px;}\n.xbl{font-weight:500;font-size:12px;}\n.gf{display:flex;gap:5px;flex-wrap:wrap;margin-top:1.5rem;padding-top:1rem;border-top:.5px solid var(--color-border-tertiary);align-items:center;}\n.gfl{font-size:10px;color:var(--color-text-secondary);margin-right:2px;}\n.gp{font-size:10px;padding:2px 9px;border-radius:20px;background:var(--pl);color:var(--pl-on);border:.5px solid var(--pm);}\n.ap{background:var(--color-background-secondary);border-radius:8px;margin-bottom:6px;padding:.75rem 1rem;display:flex;justify-content:space-between;align-items:center;}\n.an2{font-size:12px;font-weight:500;}\n.am2{font-size:11px;color:var(--color-text-secondary);margin-top:2px;}\n.astar{font-size:11px;color:var(--p);}\n.note{font-size:10px;color:var(--color-text-secondary);margin-bottom:1.25rem;}\n.btn-out{font-size:9px;padding:2px 7px;cursor:pointer;border:.5px solid var(--pm);border-radius:20px;background:var(--pl);color:var(--pl-on);font-family:var(--font-mono);}\n.btn-out:hover{background:var(--p);color:#fff;border-color:var(--p);}\n.cp{font-size:11px;background:var(--pl);color:var(--pl-on);border:.5px solid var(--pm);border-radius:20px;padding:3px 10px;cursor:pointer;font-family:var(--font-mono);transition:all .15s;}\n.cp:hover{background:var(--p);color:#fff;}\n.cv{font-size:10px;background:var(--pl);color:var(--pl-on);border:.5px solid var(--pm);border-radius:20px;padding:2px 8px;cursor:pointer;font-family:var(--font-mono);transition:all .15s;}\n.cv:hover{background:var(--p);color:#fff;}\n.an{font-size:13px;line-height:1.7;color:var(--color-text-primary);}\n.an p{margin:0 0 .75rem;}\n.an strong{font-weight:500;}\n.si{font-size:12px;line-height:1.65;color:var(--color-text-secondary);font-style:italic;margin:0 0 1rem;}\n</style>\n\n<div class=\"w\">\n <div class=\"hd\">\n <div class=\"logo\">\n <img src=\"https://cdn.jsdelivr.net/gh/piers-fawkes/fodda-demo@main/public/fodda-mini-logo-claude.png\" alt=\"Fodda\" style=\"height:24px;width:24px;\"/>\n <div><div class=\"lt\">Fodda</div><div class=\"ls\">Brand Intelligence</div></div>\n </div>\n <div class=\"bfolio\">{{FOLIO}}</div>\n </div>\n\n <div class=\"bh\">\n <div class=\"bn\">{{BRAND_NAME}}</div>\n <span class=\"vc {{VELOCITY_CLASS}}\">{{VELOCITY_LABEL}}</span>\n </div>\n\n <div class=\"pv\">{{ONE_LINER}}</div>\n\n <div class=\"sec\">Case Studies</div>\n {{EVIDENCE_HTML}}\n\n {{EARNINGS_SECTION_HTML}}\n\n <div class=\"sec\">Relevant trends</div>\n {{TREND_FOOTPRINT_INTRO}}\n <div class=\"lcb\">{{LIFECYCLE_BAR}}</div>\n <div class=\"lcl\">{{LIFECYCLE_LEGEND}}</div>\n {{TRENDS_HTML}}\n {{WEAK_SIGNALS_HTML}}\n\n <div class=\"sec\">Competitive</div>\n {{COMPETITOR_LIST_HTML}}\n\n <div class=\"sec\">Market data</div>\n {{MARKET_DATA_INTRO}}\n <div class=\"sl2\">US retail sales \u2014 Census Bureau</div>\n <div class=\"sg\">\n <div class=\"sk\"><div class=\"skl\">{{BEA_STAT_1_LABEL}}</div><div class=\"skv\">{{BEA_STAT_1_VALUE}}</div><div class=\"sks\">{{BEA_STAT_1_SUB}}</div></div>\n <div class=\"sk\"><div class=\"skl\">{{BEA_STAT_2_LABEL}}</div><div class=\"skv\">{{BEA_STAT_2_VALUE}}</div><div class=\"sks\">{{BEA_STAT_2_SUB}}</div></div>\n </div>\n\n {{GT_SECTION_HTML}}\n {{GT_COMPARISON_SECTION_HTML}}\n {{RELATED_QUERIES_SECTION_HTML}}\n\n <div class=\"sl2\">Wikipedia \u2014 avg daily pageviews</div>\n {{WIKI_BARS_HTML}}\n <p class=\"note\">{{WIKI_NOTE}}</p>\n\n <div class=\"sl2\">Amazon footprint</div>\n <div class=\"sg\">\n <div class=\"sk\"><div class=\"skl\">{{AMAZON_STAT_1_LABEL}}</div><div class=\"skv\">{{AMAZON_STAT_1_VALUE}}</div><div class=\"sks\">{{AMAZON_STAT_1_SUB}}</div></div>\n <div class=\"sk\"><div class=\"skl\">{{AMAZON_STAT_2_LABEL}}</div><div class=\"skv\">{{AMAZON_STAT_2_VALUE}}</div><div class=\"sks\">{{AMAZON_STAT_2_SUB}}</div></div>\n <div class=\"sk\"><div class=\"skl\">{{AMAZON_STAT_3_LABEL}}</div><div class=\"skv\">{{AMAZON_STAT_3_VALUE}}</div><div class=\"sks\">{{AMAZON_STAT_3_SUB}}</div></div>\n <div class=\"sk\"><div class=\"skl\">{{AMAZON_STAT_4_LABEL}}</div><div class=\"skv\">{{AMAZON_STAT_4_VALUE}}</div><div class=\"sks\">{{AMAZON_STAT_4_SUB}}</div></div>\n </div>\n {{AMAZON_PRODUCTS_HTML}}\n <p class=\"note\">{{AMAZON_CAPTION}}</p>\n\n {{GEO_SECTION_HTML}}\n\n <div class=\"sec\">Explore further</div>\n {{SUGGESTED_NEXT_HTML}}\n <button class=\"xb\" onclick=\"sendPrompt('{{EXPORT_1_PROMPT}}')\"><span class=\"xi\">\u2197</span><div><div class=\"xbl\">{{EXPORT_1_LABEL}}</div><div class=\"xd\">{{EXPORT_1_DESC}}</div></div></button>\n <button class=\"xb\" onclick=\"sendPrompt('{{EXPORT_2_PROMPT}}')\"><span class=\"xi\">\u2197</span><div><div class=\"xbl\">{{EXPORT_2_LABEL}}</div><div class=\"xd\">{{EXPORT_2_DESC}}</div></div></button>\n <button class=\"xb\" onclick=\"sendPrompt('{{EXPORT_3_PROMPT}}')\"><span class=\"xi\">\u2197</span><div><div class=\"xbl\">{{EXPORT_3_LABEL}}</div><div class=\"xd\">{{EXPORT_3_DESC}}</div></div></button>\n <button class=\"xb\" onclick=\"sendPrompt('{{EXPORT_4_PROMPT}}')\"><span class=\"xi\">\u2197</span><div><div class=\"xbl\">{{EXPORT_4_LABEL}}</div><div class=\"xd\">{{EXPORT_4_DESC}}</div></div></button>\n\n <div class=\"gf\">\n <span class=\"gfl\">Sources:</span>\n {{SOURCE_PILLS_HTML}}\n</div>";
13
+ export declare const TEMPLATE = "\n<style>\n:root{--p:#663399;--pl:#F5F0FF;--pm:#9B72CC;--pl-on:#663399;}\n@media(prefers-color-scheme:dark){:root{--p:#9B72CC;--pl:rgba(155,114,204,0.14);--pm:#663399;--pl-on:#C4A7E8;}}\n.w{border:1px solid var(--p);border-top:3px solid var(--p);border-radius:6px;padding:1.25rem;font-family:var(--font-mono);}\n.hd{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.25rem;padding-bottom:1rem;border-bottom:.5px solid var(--color-border-tertiary);}\n.logo{display:flex;align-items:center;gap:10px;}\n.logo img{height:24px;width:auto;display:block;}\n.lt{font-size:13px;font-weight:500;}.ls{font-size:10px;color:var(--color-text-secondary);}\n.bfolio{font-family:var(--font-mono);font-size:10px;letter-spacing:0.18em;text-transform:uppercase;color:var(--color-text-secondary);}\n.bh{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.75rem;}\n.bn{font-family:var(--font-serif);font-style:italic;font-weight:400;font-size:22px;letter-spacing:-0.01em;}\n.vc{font-size:9px;font-weight:700;letter-spacing:0.18em;text-transform:uppercase;padding:3px 8px;border:1px solid currentColor;border-radius:2px;font-family:var(--font-mono);}\n.vc-up{color:var(--color-text-success);}\n.vc-build{color:var(--color-text-info);}\n.vc-steady{color:var(--color-text-secondary);}\n.vc-slow{color:var(--color-text-warning);}\n.pv{font-size:14px;font-family:var(--font-serif);font-style:italic;font-weight:400;line-height:1.65;padding:14px 16px;background:var(--pl);border:1px solid var(--p);border-left-width:3px;border-radius:4px;margin-bottom:1.25rem;color:var(--color-text-primary);}\n.lcb{display:flex;height:8px;border-radius:4px;overflow:hidden;margin-bottom:.75rem;gap:2px;}\n.lcl{display:flex;gap:12px;margin-bottom:1.25rem;flex-wrap:wrap;}\n.lci{display:flex;align-items:center;gap:5px;font-size:10px;color:var(--color-text-secondary);}\n.lcd{width:8px;height:8px;border-radius:2px;}\n.card{background:var(--color-background-primary);border:1px solid var(--color-border-tertiary);border-radius:4px;padding:1rem 1.25rem;margin-bottom:8px;transition:border-color .15s,background .15s;}\n.card:hover{border-color:var(--p);background:var(--pl);}\n.th{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:6px;gap:8px;}\n.tn{font-size:13px;font-weight:500;}\n.ta{display:flex;align-items:center;gap:4px;flex-shrink:0;}\n.td{font-size:12px;color:var(--color-text-secondary);margin-bottom:5px;line-height:1.5;}\n.lb{font-size:9px;font-weight:700;letter-spacing:0.18em;text-transform:uppercase;padding:3px 8px;border:1px solid currentColor;border-radius:2px;white-space:nowrap;font-family:var(--font-mono);background:transparent;}\n.lb-b{color:var(--color-text-info);}\n.lb-e{color:var(--color-text-success);}\n.lb-m{color:var(--color-text-secondary);}\n.lb-f{color:var(--color-text-warning);}\n.bd{font-size:9px;font-weight:700;letter-spacing:0.18em;text-transform:uppercase;padding:3px 8px;border:1px solid currentColor;border-radius:2px;background:transparent;color:var(--color-text-secondary);font-family:var(--font-mono);}\n.bd-fast{font-size:9px;font-weight:700;letter-spacing:0.18em;text-transform:uppercase;padding:3px 8px;border:1px solid currentColor;border-radius:2px;background:transparent;color:#7A4000;font-family:var(--font-mono);}\n.bdp{font-size:10px;padding:2px 8px;border-radius:20px;background:var(--pl);color:var(--pl-on);font-family:var(--font-mono);}\n.brow{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px;}\n.wl{font-size:11px;color:var(--color-text-secondary);margin:1.25rem 0 8px;display:flex;align-items:center;gap:6px;}\n.wd{width:6px;height:6px;border-radius:50%;background:var(--color-text-warning);display:inline-block;}\n.ec{border:1px dashed var(--color-border-tertiary);border-radius:4px;margin-bottom:8px;padding:1rem 1.25rem;}\n.et a{color:var(--color-text-info);text-decoration:none;font-size:13px;font-weight:500;}.et a:hover{text-decoration:underline;}\n.ex{font-size:12px;color:var(--color-text-secondary);line-height:1.5;margin:6px 0 8px;}\n.em{display:flex;gap:6px;flex-wrap:wrap;}\n.cit{font-size:10px;color:var(--color-text-secondary);margin-top:8px;padding-top:8px;border-top:.5px solid var(--color-border-tertiary);}\n.cit a{color:var(--color-text-info);text-decoration:none;}\n.cat-cs{background:var(--color-background-info);color:var(--color-text-info);}\n.cat-si{background:var(--pl);color:var(--p);}\n.cat-me{background:var(--color-background-success);color:var(--color-text-success);}\n.cat-qu{background:var(--color-background-warning);color:var(--color-text-warning);}\n.cat-in{background:var(--color-background-secondary);color:var(--color-text-secondary);}\n.cc{background:var(--color-background-primary);border:1px solid var(--color-border-tertiary);border-radius:4px;padding:.875rem 1.25rem;margin-bottom:6px;display:flex;justify-content:space-between;align-items:center;}\n.cn{font-size:13px;font-weight:500;margin-bottom:3px;}\n.cd{font-size:11px;color:var(--color-text-secondary);}\n.ca{display:flex;flex-direction:column;align-items:flex-end;gap:6px;}\n.pb{font-size:9px;font-weight:700;letter-spacing:0.18em;text-transform:uppercase;padding:3px 8px;border:1px solid currentColor;border-radius:2px;font-family:var(--font-mono);background:transparent;}\n.sl2, .sec{font-size:13px;font-weight:500;color:var(--color-text-primary);margin:1.25rem 0 8px;}.sl2:first-child, .sec:first-child{margin-top:0;}\n.br{display:flex;align-items:center;gap:8px;margin-bottom:5px;font-size:12px;}\n.brl{width:120px;color:var(--color-text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex-shrink:0;}\n.brt{flex:1;height:4px;background:var(--color-background-secondary);border-radius:3px;overflow:hidden;}\n.brf{height:100%;background:var(--p);border-radius:3px;}\n.brc{min-width:44px;text-align:right;color:var(--color-text-secondary);font-size:11px;}\n.sg{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:1rem;}\n.sk{background:var(--color-background-secondary);border-radius:8px;padding:10px 12px;}\n.skl{font-size:10px;color:var(--color-text-secondary);margin-bottom:3px;}\n.skv{font-family:var(--font-serif);font-style:italic;font-size:22px;font-weight:400;}.sks{font-size:10px;color:var(--color-text-secondary);margin-top:2px;}\n.rq{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:.75rem;}\n.rqp{font-size:10px;padding:3px 9px;border-radius:20px;background:var(--color-background-secondary);color:var(--color-text-secondary);border:.5px solid var(--color-border-tertiary);}\n.xb{display:flex;align-items:center;gap:10px;padding:12px 16px;background:var(--color-background-secondary);border:.5px solid var(--color-border-tertiary);border-radius:8px;cursor:pointer;text-align:left;width:100%;margin-bottom:8px;font-family:var(--font-mono);transition:all .15s;}\n.xb:hover{background:var(--pl);border-color:var(--pm);}\n.xi{font-size:11px;width:28px;font-weight:500;flex-shrink:0;color:var(--color-text-secondary);}\n.xd{font-size:11px;color:var(--color-text-secondary);margin-top:2px;}\n.xbl{font-weight:500;font-size:12px;}\n.gf{display:flex;gap:5px;flex-wrap:wrap;margin-top:1.5rem;padding-top:1rem;border-top:.5px solid var(--color-border-tertiary);align-items:center;}\n.gfl{font-size:10px;color:var(--color-text-secondary);margin-right:2px;}\n.gp{font-size:10px;padding:2px 9px;border-radius:20px;background:var(--pl);color:var(--pl-on);border:.5px solid var(--pm);}\n.ap{background:var(--color-background-secondary);border-radius:8px;margin-bottom:6px;padding:.75rem 1rem;display:flex;justify-content:space-between;align-items:center;}\n.an2{font-size:12px;font-weight:500;}\n.am2{font-size:11px;color:var(--color-text-secondary);margin-top:2px;}\n.astar{font-size:11px;color:var(--p);}\n.note{font-size:10px;color:var(--color-text-secondary);margin-bottom:1.25rem;}\n.btn-out{font-size:9px;padding:2px 7px;cursor:pointer;border:.5px solid var(--pm);border-radius:20px;background:var(--pl);color:var(--pl-on);font-family:var(--font-mono);}\n.btn-out:hover{background:var(--p);color:#fff;border-color:var(--p);}\n.cp{font-size:11px;background:var(--pl);color:var(--pl-on);border:.5px solid var(--pm);border-radius:20px;padding:3px 10px;cursor:pointer;font-family:var(--font-mono);transition:all .15s;}\n.cp:hover{background:var(--p);color:#fff;}\n.cv{font-size:10px;background:var(--pl);color:var(--pl-on);border:.5px solid var(--pm);border-radius:20px;padding:2px 8px;cursor:pointer;font-family:var(--font-mono);transition:all .15s;}\n.cv:hover{background:var(--p);color:#fff;}\n.an{font-size:13px;line-height:1.7;color:var(--color-text-primary);}\n.an p{margin:0 0 .75rem;}\n.an strong{font-weight:500;}\n.si{font-size:12px;line-height:1.65;color:var(--color-text-secondary);font-style:italic;margin:0 0 1rem;}\n</style>\n\n<div class=\"w\">\n <div class=\"hd\">\n <div class=\"logo\">\n <img src=\"https://cdn.jsdelivr.net/gh/piers-fawkes/fodda-demo@main/public/fodda-mini-logo-claude.png\" alt=\"Fodda\" style=\"height:24px;width:24px;\"/>\n <div><div class=\"lt\">Fodda</div><div class=\"ls\">Brand Intelligence</div></div>\n </div>\n <div class=\"bfolio\">{{FOLIO}}</div>\n </div>\n\n <div class=\"bh\">\n <div class=\"bn\">{{BRAND_NAME}}</div>\n <span class=\"vc {{VELOCITY_CLASS}}\">{{VELOCITY_LABEL}}</span>\n </div>\n\n <div class=\"pv\">{{ONE_LINER}}</div>\n\n <div class=\"sec\">Case Studies</div>\n {{EVIDENCE_HTML}}\n\n {{EARNINGS_SECTION_HTML}}\n {{FINANCIAL_SNAPSHOT_SECTION_HTML}}\n\n <div class=\"sec\">Relevant trends</div>\n {{TREND_FOOTPRINT_INTRO}}\n <div class=\"lcb\">{{LIFECYCLE_BAR}}</div>\n <div class=\"lcl\">{{LIFECYCLE_LEGEND}}</div>\n {{TRENDS_HTML}}\n {{WEAK_SIGNALS_HTML}}\n\n <div class=\"sec\">Competitive</div>\n {{COMPETITOR_LIST_HTML}}\n\n <div class=\"sec\">Market data</div>\n {{MARKET_DATA_INTRO}}\n <div class=\"sl2\">US retail sales \u2014 Census Bureau</div>\n <div class=\"sg\">\n <div class=\"sk\"><div class=\"skl\">{{BEA_STAT_1_LABEL}}</div><div class=\"skv\">{{BEA_STAT_1_VALUE}}</div><div class=\"sks\">{{BEA_STAT_1_SUB}}</div></div>\n <div class=\"sk\"><div class=\"skl\">{{BEA_STAT_2_LABEL}}</div><div class=\"skv\">{{BEA_STAT_2_VALUE}}</div><div class=\"sks\">{{BEA_STAT_2_SUB}}</div></div>\n </div>\n\n {{GT_SECTION_HTML}}\n {{GT_COMPARISON_SECTION_HTML}}\n {{RELATED_QUERIES_SECTION_HTML}}\n\n <div class=\"sl2\">Wikipedia \u2014 avg daily pageviews</div>\n {{WIKI_BARS_HTML}}\n <p class=\"note\">{{WIKI_NOTE}}</p>\n\n <div class=\"sl2\">Amazon footprint</div>\n <div class=\"sg\">\n <div class=\"sk\"><div class=\"skl\">{{AMAZON_STAT_1_LABEL}}</div><div class=\"skv\">{{AMAZON_STAT_1_VALUE}}</div><div class=\"sks\">{{AMAZON_STAT_1_SUB}}</div></div>\n <div class=\"sk\"><div class=\"skl\">{{AMAZON_STAT_2_LABEL}}</div><div class=\"skv\">{{AMAZON_STAT_2_VALUE}}</div><div class=\"sks\">{{AMAZON_STAT_2_SUB}}</div></div>\n <div class=\"sk\"><div class=\"skl\">{{AMAZON_STAT_3_LABEL}}</div><div class=\"skv\">{{AMAZON_STAT_3_VALUE}}</div><div class=\"sks\">{{AMAZON_STAT_3_SUB}}</div></div>\n <div class=\"sk\"><div class=\"skl\">{{AMAZON_STAT_4_LABEL}}</div><div class=\"skv\">{{AMAZON_STAT_4_VALUE}}</div><div class=\"sks\">{{AMAZON_STAT_4_SUB}}</div></div>\n </div>\n {{AMAZON_PRODUCTS_HTML}}\n <p class=\"note\">{{AMAZON_CAPTION}}</p>\n\n {{GEO_SECTION_HTML}}\n\n <div class=\"sec\">Explore further</div>\n {{SUGGESTED_NEXT_HTML}}\n <button class=\"xb\" onclick=\"sendPrompt('{{EXPORT_1_PROMPT}}')\"><span class=\"xi\">\u2197</span><div><div class=\"xbl\">{{EXPORT_1_LABEL}}</div><div class=\"xd\">{{EXPORT_1_DESC}}</div></div></button>\n <button class=\"xb\" onclick=\"sendPrompt('{{EXPORT_2_PROMPT}}')\"><span class=\"xi\">\u2197</span><div><div class=\"xbl\">{{EXPORT_2_LABEL}}</div><div class=\"xd\">{{EXPORT_2_DESC}}</div></div></button>\n <button class=\"xb\" onclick=\"sendPrompt('{{EXPORT_3_PROMPT}}')\"><span class=\"xi\">\u2197</span><div><div class=\"xbl\">{{EXPORT_3_LABEL}}</div><div class=\"xd\">{{EXPORT_3_DESC}}</div></div></button>\n <button class=\"xb\" onclick=\"sendPrompt('{{EXPORT_4_PROMPT}}')\"><span class=\"xi\">\u2197</span><div><div class=\"xbl\">{{EXPORT_4_LABEL}}</div><div class=\"xd\">{{EXPORT_4_DESC}}</div></div></button>\n\n <div class=\"gf\">\n <span class=\"gfl\">Sources:</span>\n {{SOURCE_PILLS_HTML}}\n</div>";
14
14
  //# sourceMappingURL=brandTemplate.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"brandTemplate.d.ts","sourceRoot":"","sources":["../src/brandTemplate.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AA6PH,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,GAAG,GAAG,OAAO,CAAC;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,iBAAiB,EAAE,GAAG,CAAC;IAAC,UAAU,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CAkbpI;AAGD,eAAO,MAAM,QAAQ,6iYAiKd,CAAC"}
1
+ {"version":3,"file":"brandTemplate.d.ts","sourceRoot":"","sources":["../src/brandTemplate.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAsSH,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,GAAG,GAAG,OAAO,CAAC;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,iBAAiB,EAAE,GAAG,CAAC;IAAC,UAAU,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CAyfpI;AAGD,eAAO,MAAM,QAAQ,olYAkKd,CAAC"}
@@ -241,6 +241,46 @@ function barRow(label, value, maxValue) {
241
241
  return `<div class="br"><div class="brl">${esc(label)}</div><div class="brt"><div class="brf" style="width:${pct}%"></div></div><div class="brc">${value.toLocaleString()}</div></div>`;
242
242
  }
243
243
  // ---------------------------------------------------------------------------
244
+ // Financial data formatting helpers
245
+ // ---------------------------------------------------------------------------
246
+ function formatFinancialCurrency(val) {
247
+ if (val === undefined || val === null || isNaN(val))
248
+ return '—';
249
+ const abs = Math.abs(val);
250
+ const sign = val < 0 ? '-' : '';
251
+ if (abs >= 1e9) {
252
+ return `${sign}$${(abs / 1e9).toFixed(2)}B`;
253
+ }
254
+ if (abs >= 1e6) {
255
+ return `${sign}$${(abs / 1e6).toFixed(1)}M`;
256
+ }
257
+ if (abs >= 1e3) {
258
+ return `${sign}$${(abs / 1e3).toFixed(1)}K`;
259
+ }
260
+ return `${sign}$${abs.toLocaleString()}`;
261
+ }
262
+ function formatEps(eps, dilutedEps) {
263
+ if ((eps === undefined || eps === null || isNaN(eps)) && (dilutedEps === undefined || dilutedEps === null || isNaN(dilutedEps))) {
264
+ return '—';
265
+ }
266
+ const fmt = (v) => `${v < 0 ? '-' : ''}$${Math.abs(v).toFixed(2)}`;
267
+ if (eps != null && !isNaN(eps) && dilutedEps != null && !isNaN(dilutedEps)) {
268
+ return `${fmt(eps)} (Diluted ${fmt(dilutedEps)})`;
269
+ }
270
+ if (eps != null && !isNaN(eps)) {
271
+ return fmt(eps);
272
+ }
273
+ return `${fmt(dilutedEps)} (diluted)`;
274
+ }
275
+ function formatStockPrice(priceWindow) {
276
+ if (!priceWindow || priceWindow.current_price == null || isNaN(priceWindow.current_price))
277
+ return '';
278
+ const dateStr = priceWindow.as_of_date ? ` (as of ${esc(priceWindow.as_of_date)})` : '';
279
+ const p = priceWindow.current_price;
280
+ const priceFormatted = `${p < 0 ? '-' : ''}$${Math.abs(p).toFixed(2)}`;
281
+ return `${priceFormatted}${dateStr}`;
282
+ }
283
+ // ---------------------------------------------------------------------------
244
284
  // Main render function
245
285
  // ---------------------------------------------------------------------------
246
286
  export async function renderBrandWidget(profile) {
@@ -250,7 +290,14 @@ export async function renderBrandWidget(profile) {
250
290
  const competitors = profile.competitive_context?.co_occurring_brands || [];
251
291
  const crossGraph = profile.cross_graph_presence || [];
252
292
  const supplemental = profile.supplemental_signals || {};
253
- const velocity = velocityClass(profile.summary?.evidence_velocity?.trend || 'stable');
293
+ const lcDist = profile.summary?.lifecycle_distribution || {};
294
+ const buildingCount = (lcDist.building || 0) + (lcDist.emerging || 0);
295
+ const fadingCount = (lcDist.fading || 0) + (lcDist.mature || 0);
296
+ let rawVelocityTrend = profile.summary?.evidence_velocity?.trend || 'stable';
297
+ if (fadingCount > buildingCount && rawVelocityTrend === 'accelerating') {
298
+ rawVelocityTrend = 'decelerating';
299
+ }
300
+ const velocity = velocityClass(rawVelocityTrend);
254
301
  const timeline = profile.activity_timeline || [];
255
302
  // Build set of graphIds the target brand is present in (for sector-aware competitor labels)
256
303
  const brandGraphIds = new Set(crossGraph.map((g) => g.graphId).filter(Boolean));
@@ -267,28 +314,28 @@ export async function renderBrandWidget(profile) {
267
314
  const parts = [];
268
315
  if (truthLayer.headline) {
269
316
  parts.push(`<div class="ec">
270
- <div class="et" style="font-size:13px;font-weight:600;">${esc(truthLayer.company || '')} — ${esc(truthLayer.period || '')}</div>
317
+ <div class="et" style="font-size:13px;font-weight:600;">${esc(truthLayer.company || '')} — ${esc(truthLayer.period || '')} Earnings Call Analysis</div>
271
318
  <div class="ex" style="font-weight:500;margin-top:4px;">${esc(truthLayer.headline)}</div>
272
319
  </div>`);
273
320
  }
274
321
  if (truthLayer.analyst_concerns) {
275
322
  parts.push(`<div class="ec">
276
- <div class="et" style="font-size:11px;font-weight:500;color:var(--color-text-warning);">What Analysts Are Pressing On</div>
323
+ <div class="et" style="font-size:11px;font-weight:600;color:var(--color-text-warning);">Wall Street Analyst Concerns & Q&A Focus</div>
277
324
  <div class="ex">${esc(truthLayer.analyst_concerns)}</div>
278
325
  </div>`);
279
326
  }
280
327
  if (truthLayer.analyst_sentiment) {
281
328
  parts.push(`<div class="ec">
282
- <div class="et" style="font-size:11px;font-weight:500;">Analyst Sentiment</div>
329
+ <div class="et" style="font-size:11px;font-weight:600;">Institutional Analyst Consensus & Sentiment</div>
283
330
  <div class="ex">${esc(truthLayer.analyst_sentiment)}</div>
284
331
  </div>`);
285
332
  }
286
333
  // Activity fields — show if present
287
334
  const activities = [
288
- { key: 'marketing_activity', label: 'Marketing' },
289
- { key: 'retail_activity', label: 'Retail' },
290
- { key: 'technology_activity', label: 'Technology' },
291
- { key: 'sustainability_activity', label: 'Sustainability' },
335
+ { key: 'marketing_activity', label: 'Marketing & Brand Building' },
336
+ { key: 'retail_activity', label: 'Retail & Channel Expansion' },
337
+ { key: 'technology_activity', label: 'Technology & AI Infrastructure' },
338
+ { key: 'sustainability_activity', label: 'ESG & Sustainability' },
292
339
  ];
293
340
  const activityPills = activities
294
341
  .filter(a => truthLayer[a.key])
@@ -296,13 +343,13 @@ export async function renderBrandWidget(profile) {
296
343
  .join('');
297
344
  if (activityPills) {
298
345
  parts.push(`<div class="ec">
299
- <div class="et" style="font-size:11px;font-weight:500;">Strategic Activity</div>
346
+ <div class="et" style="font-size:11px;font-weight:600;">Management Focus & Strategic Investment Areas</div>
300
347
  <div class="rq" style="margin-top:4px;">${activityPills}</div>
301
348
  </div>`);
302
349
  }
303
350
  if (truthLayer.exec_sentiment) {
304
351
  parts.push(`<div class="ec">
305
- <div class="et" style="font-size:11px;font-weight:500;">Executive Sentiment</div>
352
+ <div class="et" style="font-size:11px;font-weight:600;">C-Suite Executive Outlook & Forward Guidance</div>
306
353
  <div class="ex">${esc(truthLayer.exec_sentiment)}${truthLayer.quote_from_ceo ? ` — "${esc(truthLayer.quote_from_ceo)}"` : ''}</div>
307
354
  </div>`);
308
355
  }
@@ -312,7 +359,7 @@ export async function renderBrandWidget(profile) {
312
359
  .map((t) => `<span class="rqp">${esc(t.trend_name)}</span>`)
313
360
  .join('');
314
361
  parts.push(`<div class="ec">
315
- <div class="et" style="font-size:11px;font-weight:500;color:var(--color-text-success);">Validated Consumer Trends</div>
362
+ <div class="et" style="font-size:11px;font-weight:600;color:var(--color-text-success);">Market Trends Confirmed by Executives</div>
316
363
  <div class="rq" style="margin-top:4px;">${trendPills}</div>
317
364
  </div>`);
318
365
  }
@@ -335,6 +382,59 @@ export async function renderBrandWidget(profile) {
335
382
  </div>`;
336
383
  }).join('\n');
337
384
  }
385
+ // ── Institutional Financial Snapshot (Market Data) section ──
386
+ const marketData = profile.market_data;
387
+ let financialSnapshotHtml = '';
388
+ if (marketData && marketData.data_status !== 'no_signal') {
389
+ const symbol = marketData.primary_symbol || marketData.ticker || '';
390
+ const profileInfo = marketData.company_profile;
391
+ const companyName = profileInfo?.company_name || profile.brand || '';
392
+ const sector = profileInfo?.sector || '';
393
+ const industry = profileInfo?.industry || '';
394
+ const priceStr = formatStockPrice(marketData.price_window);
395
+ const quarters = (marketData.quarterly_financials || []).slice(0, 2);
396
+ const hasContent = Boolean(symbol || profileInfo || priceStr || quarters.length > 0);
397
+ if (hasContent) {
398
+ const headerTitle = companyName ? `${esc(companyName)}${symbol ? ` (${esc(symbol)})` : ''}` : esc(symbol);
399
+ const metaTokens = [];
400
+ if (sector)
401
+ metaTokens.push(`Sector: ${esc(sector)}`);
402
+ if (industry)
403
+ metaTokens.push(`Industry: ${esc(industry)}`);
404
+ const metaHtml = metaTokens.length > 0
405
+ ? `<div style="font-size:11px;color:var(--color-text-secondary);margin-top:2px;margin-bottom:8px;">${metaTokens.join(' · ')}</div>`
406
+ : '';
407
+ const priceHtml = priceStr
408
+ ? `<div style="font-size:12px;color:var(--color-text-primary);margin-bottom:8px;font-weight:500;">Stock Price: <span style="font-family:var(--font-mono);font-weight:600;">${priceStr}</span></div>`
409
+ : '';
410
+ let quartersHtml = '';
411
+ if (quarters.length > 0) {
412
+ const qCards = quarters.map((q) => {
413
+ const qPeriod = q.period || q.period_label || 'Quarterly Financials';
414
+ const rev = formatFinancialCurrency(q.revenue);
415
+ const opInc = formatFinancialCurrency(q.operating_income);
416
+ const netInc = formatFinancialCurrency(q.net_income);
417
+ const eps = formatEps(q.eps, q.diluted_eps);
418
+ return `<div style="background:var(--color-background-secondary);border-radius:6px;padding:8px 10px;margin-top:6px;">
419
+ <div style="font-size:11px;font-weight:600;color:var(--color-text-primary);margin-bottom:4px;">${esc(qPeriod)}</div>
420
+ <div style="display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;font-size:11px;">
421
+ <div><span style="color:var(--color-text-secondary);">Revenue:</span> <strong style="font-family:var(--font-mono);">${rev}</strong></div>
422
+ <div><span style="color:var(--color-text-secondary);">Op. Income:</span> <strong style="font-family:var(--font-mono);">${opInc}</strong></div>
423
+ <div><span style="color:var(--color-text-secondary);">Net Income:</span> <strong style="font-family:var(--font-mono);">${netInc}</strong></div>
424
+ <div><span style="color:var(--color-text-secondary);">EPS:</span> <strong style="font-family:var(--font-mono);">${eps}</strong></div>
425
+ </div>
426
+ </div>`;
427
+ }).join('\n');
428
+ quartersHtml = `<div style="margin-top:6px;">${qCards}</div>`;
429
+ }
430
+ financialSnapshotHtml = `<div class="ec">
431
+ <div class="et" style="font-size:13px;font-weight:600;">${headerTitle}</div>
432
+ ${metaHtml}
433
+ ${priceHtml}
434
+ ${quartersHtml}
435
+ </div>`;
436
+ }
437
+ }
338
438
  // Enrich trends with lifecycle if missing
339
439
  trends.forEach((t) => {
340
440
  if (!t.lifecycle || t.lifecycle === 'unknown') {
@@ -342,7 +442,6 @@ export async function renderBrandWidget(profile) {
342
442
  }
343
443
  });
344
444
  // ── Lifecycle bar ──
345
- const lcDist = profile.summary?.lifecycle_distribution || {};
346
445
  const lcTotal = Object.values(lcDist).reduce((a, b) => a + b, 0);
347
446
  const lcColors = { building: 'var(--color-text-info)', emerging: 'var(--color-text-success)', mature: 'var(--color-text-secondary)', fading: 'var(--color-text-warning)' };
348
447
  const lifecycleBar = Object.entries(lcDist)
@@ -515,6 +614,8 @@ export async function renderBrandWidget(profile) {
515
614
  const graphNames = crossGraph.map((g) => g.graphName).filter(Boolean);
516
615
  const sourcePills = [
517
616
  ...graphNames.map((n) => `<span class="gp">${esc(n)}</span>`),
617
+ (earningsSource === 'truth_layer' || earnings.length > 0) ? '<span class="gp">Earnings Intelligence</span>' : '',
618
+ (marketData && marketData.data_status !== 'no_signal') ? '<span class="gp">Financial Snapshot</span>' : '',
518
619
  hasGoogleTrendsData ? '<span class="gp">Google Trends</span>' : '',
519
620
  supplemental?.wikipedia ? '<span class="gp">Wikipedia</span>' : '',
520
621
  supplemental?.amazon ? '<span class="gp">Amazon</span>' : '',
@@ -589,9 +690,12 @@ export async function renderBrandWidget(profile) {
589
690
  'BEA_STAT_2_SUB': beaChangeSub,
590
691
  'GEO_SECTION_HTML': geoBarsHtml ? `<div class="sl2">Geographic spread</div>
591
692
  ${geoBarsHtml}` : '',
592
- 'EARNINGS_SECTION_HTML': earningsHtml ? `<div class="sl2">Earnings intelligence</div>
693
+ 'EARNINGS_SECTION_HTML': earningsHtml ? `<div class="sl2">Quarterly Earnings & Wall Street Intelligence</div>
593
694
  ${earningsHtml}
594
- <p class="note">Source: Fodda Earnings Intelligence.</p>` : '',
695
+ <p class="note">Source: Fodda Institutional Earnings Intelligence (SEC Filings & Executive Earnings Call Transcripts).</p>` : '',
696
+ 'FINANCIAL_SNAPSHOT_SECTION_HTML': financialSnapshotHtml ? `<div class="sl2">Institutional Financial Snapshot</div>
697
+ ${financialSnapshotHtml}
698
+ <p class="note">Source: Institutional SEC & Market Financial Filings.</p>` : '',
595
699
  'SOURCE_PILLS_HTML': sourcePills,
596
700
  'EXPORT_1_LABEL': exportLabels[0].label,
597
701
  'EXPORT_1_DESC': exportLabels[0].desc,
@@ -626,10 +730,12 @@ export async function renderBrandWidget(profile) {
626
730
  fills['GT_CAPTION'] = supplemental?.google_trends ? `12-month search interest for "${brand}". Peak: ${supplemental.google_trends.peak_interest || '—'}, current: ${supplemental.google_trends.latest_value || '—'}. Source: Google Trends.` : `Search interest data for "${brand}". Source: Google Trends.`;
627
731
  fills['RELATED_QUERIES_NOTE'] = supplemental?.google_trends?.related_queries?.length ? `Top related searches when people look for ${brand}.` : '';
628
732
  fills['WIKI_NOTE'] = wikiData.length > 0 ? `Daily Wikipedia pageviews for ${brand}-related articles. Higher = more cultural attention.` : '';
733
+ const safeBrandName = esc(brand).replace(/'/g, "\\'");
734
+ const safeCompName = competitors[0]?.brand ? esc(competitors[0].brand).replace(/'/g, "\\'") : 'top rival';
629
735
  fills['SUGGESTED_NEXT_HTML'] = `<div style="display:flex;flex-wrap:wrap;gap:6px;">
630
- <button class="btn-out" onclick="sendPrompt('What are ${brand.replace(/'/g, "\\'")}'s competitors doing differently?')">Competitive landscape</button>
631
- <button class="btn-out" onclick="sendPrompt('Show me the evidence behind ${brand.replace(/'/g, "\\'")}'s strongest trend')">Deep dive</button>
632
- <button class="btn-out" onclick="sendPrompt('How does ${brand.replace(/'/g, "\\'")}' compare to ${competitors[0]?.brand.replace(/'/g, "\\'") || 'its top competitor'}?')">Head-to-head</button>
736
+ <button class="btn-out" onclick="sendPrompt('What are competitors of ${safeBrandName} doing differently?')">Competitive landscape</button>
737
+ <button class="btn-out" onclick="sendPrompt('Show me the evidence behind the strongest trend for ${safeBrandName}')">Deep dive</button>
738
+ <button class="btn-out" onclick="sendPrompt('Compare ${safeBrandName} vs ${safeCompName}')">Head-to-head</button>
633
739
  </div>`;
634
740
  html = replaceSlots(html, fills);
635
741
  // ── Final cleanup: strip any remaining unfilled {{...}} placeholders ──
@@ -750,6 +856,7 @@ export const TEMPLATE = `
750
856
  {{EVIDENCE_HTML}}
751
857
 
752
858
  {{EARNINGS_SECTION_HTML}}
859
+ {{FINANCIAL_SNAPSHOT_SECTION_HTML}}
753
860
 
754
861
  <div class="sec">Relevant trends</div>
755
862
  {{TREND_FOOTPRINT_INTRO}}
@@ -1 +1 @@
1
- {"version":3,"file":"brandTemplate.js","sourceRoot":"","sources":["../src/brandTemplate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"brandTemplate.js","sourceRoot":"","sources":["../src/brandTemplate.ts"],"names":[],"mappings":"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"}
@@ -48,12 +48,23 @@ export interface CatalogAnalyst {
48
48
  analyst_id: string;
49
49
  name: string;
50
50
  description: string;
51
+ type?: string;
52
+ agent_type?: string;
53
+ kind?: string;
54
+ is_digital_twin?: boolean;
55
+ is_human_agent?: boolean;
56
+ consult_tool?: string;
57
+ price?: string;
58
+ offerings?: any[];
59
+ status?: string;
60
+ Status?: string;
51
61
  }
52
62
  /**
53
63
  * Initialize the catalog cache. Call once at server startup.
54
64
  * Fetches immediately, then sets up hourly refresh.
55
65
  */
56
66
  export declare function initCatalogCache(): Promise<void>;
67
+ export declare function setCachedCatalogForTesting(catalog: CatalogResponse, analysts?: CatalogAnalyst[]): void;
57
68
  /**
58
69
  * Get the cached catalog. Returns null if not yet fetched.
59
70
  */
@@ -1 +1 @@
1
- {"version":3,"file":"catalogCache.d.ts","sourceRoot":"","sources":["../src/catalogCache.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"catalogCache.d.ts","sourceRoot":"","sources":["../src/catalogCache.ts"],"names":[],"mappings":"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"}