@signal4/s4 2.6.1 → 2.7.0

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 (75) hide show
  1. package/README.md +33 -0
  2. package/dist/cli.d.ts.map +1 -1
  3. package/dist/cli.js +317 -176
  4. package/dist/cli.js.map +1 -1
  5. package/dist/cli_args.d.ts +24 -0
  6. package/dist/cli_args.d.ts.map +1 -0
  7. package/dist/cli_args.js +130 -0
  8. package/dist/cli_args.js.map +1 -0
  9. package/dist/client.d.ts +77 -3
  10. package/dist/client.d.ts.map +1 -1
  11. package/dist/client.js +123 -22
  12. package/dist/client.js.map +1 -1
  13. package/dist/format.d.ts +76 -2
  14. package/dist/format.d.ts.map +1 -1
  15. package/dist/format.js +197 -44
  16. package/dist/format.js.map +1 -1
  17. package/dist/handler_types.d.ts +10 -0
  18. package/dist/handler_types.d.ts.map +1 -1
  19. package/dist/handler_types.js +25 -0
  20. package/dist/handler_types.js.map +1 -1
  21. package/dist/handlers/ads.js +4 -4
  22. package/dist/handlers/ads.js.map +1 -1
  23. package/dist/handlers/analyze.d.ts.map +1 -1
  24. package/dist/handlers/analyze.js +22 -6
  25. package/dist/handlers/analyze.js.map +1 -1
  26. package/dist/handlers/bookmarks.js +2 -2
  27. package/dist/handlers/bookmarks.js.map +1 -1
  28. package/dist/handlers/claim_detail.js +2 -2
  29. package/dist/handlers/claim_detail.js.map +1 -1
  30. package/dist/handlers/claims.d.ts.map +1 -1
  31. package/dist/handlers/claims.js +60 -24
  32. package/dist/handlers/claims.js.map +1 -1
  33. package/dist/handlers/count.d.ts +7 -0
  34. package/dist/handlers/count.d.ts.map +1 -0
  35. package/dist/handlers/count.js +146 -0
  36. package/dist/handlers/count.js.map +1 -0
  37. package/dist/handlers/explore.d.ts.map +1 -1
  38. package/dist/handlers/explore.js +53 -14
  39. package/dist/handlers/explore.js.map +1 -1
  40. package/dist/handlers/registry.d.ts.map +1 -1
  41. package/dist/handlers/registry.js +5 -1
  42. package/dist/handlers/registry.js.map +1 -1
  43. package/dist/handlers/reports.d.ts +1 -0
  44. package/dist/handlers/reports.d.ts.map +1 -1
  45. package/dist/handlers/reports.js +41 -12
  46. package/dist/handlers/reports.js.map +1 -1
  47. package/dist/handlers/search.d.ts.map +1 -1
  48. package/dist/handlers/search.js +67 -21
  49. package/dist/handlers/search.js.map +1 -1
  50. package/dist/handlers/timeline.d.ts.map +1 -1
  51. package/dist/handlers/timeline.js +14 -8
  52. package/dist/handlers/timeline.js.map +1 -1
  53. package/dist/http.js +25 -3
  54. package/dist/http.js.map +1 -1
  55. package/dist/index.js +2 -2
  56. package/dist/index.js.map +1 -1
  57. package/dist/provenance.d.ts +29 -2
  58. package/dist/provenance.d.ts.map +1 -1
  59. package/dist/provenance.js +63 -4
  60. package/dist/provenance.js.map +1 -1
  61. package/dist/server_core.d.ts +8 -1
  62. package/dist/server_core.d.ts.map +1 -1
  63. package/dist/server_core.js +90 -8
  64. package/dist/server_core.js.map +1 -1
  65. package/dist/speed.d.ts +40 -0
  66. package/dist/speed.d.ts.map +1 -0
  67. package/dist/speed.js +196 -0
  68. package/dist/speed.js.map +1 -0
  69. package/dist/surface.d.ts +7 -0
  70. package/dist/surface.d.ts.map +1 -0
  71. package/dist/surface.js +18 -0
  72. package/dist/surface.js.map +1 -0
  73. package/dist/types.d.ts +151 -8
  74. package/dist/types.d.ts.map +1 -1
  75. package/package.json +3 -2
package/dist/client.d.ts CHANGED
@@ -1,6 +1,29 @@
1
1
  /** HTTP client wrapping the Signal4 REST API. */
2
- import type { QuoteSearchResult, TrendResult, TopicVolumeResult, SpeakerProfile, SpeakerSearchResult, SpeakerSegmentsResult, ChannelProfile, EpisodeDetail, TranscriptResult, SegmentDetail, ThreadResult, SegmentSentencesResult, AnalysisResult, BriefingResult, PlatformStats, ProjectStats, TopSpeaker, TopChannel, NetworkResult, AdStats, AdvertiserDetail, Bookmark, WhoamiResult, TopicCluster, ClaimsSearchResult, ClaimDetailResult, ClaimObservationsResult, RelatedClaimsResult, TimelineResult, ClaimsTopicAnalysis, ClaimsTrendResult, ClaimsContradictionsResult, ClaimsCompareResult, ChannelDossierResult, ChannelCompareResult, EntitySearchResult, EntityClaimsResult, ClaimGraphResult, TopClaimsResult } from "./types.js";
2
+ import type { QuoteSearchResult, TrendResult, TopicVolumeResult, SpeakerProfile, SpeakerSearchResult, SpeakerSegmentsResult, ChannelProfile, EpisodeDetail, TranscriptResult, SegmentDetail, ThreadResult, SegmentSentencesResult, AnalysisResult, BriefingResult, PlatformStats, ProjectStats, TopSpeaker, TopChannel, NetworkResult, AdStats, AdvertiserDetail, Bookmark, WhoamiResult, TopicCluster, ClaimsSearchResult, ClaimDetailResult, ClaimObservationsResult, RelatedClaimsResult, TimelineResult, CountResult, ClaimsTopicAnalysis, ClaimsTrendResult, ClaimsContradictionsResult, ClaimsCompareResult, ChannelDossierResult, ChannelCompareResult, EntitySearchResult, EntityClaimsResult, ClaimGraphResult, TopClaimsResult } from "./types.js";
3
3
  export declare function withApiKey<T>(key: string, fn: () => T): T;
4
+ export declare function setUserAgent(ua: string): void;
5
+ /**
6
+ * One readable line for a failed response, prefixed `HTTP <status>: ` (handlers match on it).
7
+ *
8
+ * A JSON body's string `detail` is the message. A list `detail` (FastAPI validation)
9
+ * stays JSON so translate422 can render it. An HTML body is never passed through: it is
10
+ * a proxy's error page — Cloudflare replaces an origin 502/504 with its own, and a slow
11
+ * request can hit its 524 — and dumping it gave agents a page of markup instead of the
12
+ * one thing to do next (signal4#226).
13
+ */
14
+ export declare function describeHttpError(status: number, body: string, contentType?: string): string;
15
+ /**
16
+ * Search the corpus for quotes.
17
+ *
18
+ * `project` is optional and there is NO default. It used to default to
19
+ * "Big_Channels" here and in eleven sibling functions below, which quietly cut
20
+ * the searchable corpus to one curated project — measured at 50 matching
21
+ * segments in, 13 out — with nothing in the request or the response saying so
22
+ * (signal4-core#563). Omitting it now means the whole corpus; the response's
23
+ * `scope` says which applied, and every formatter prints it.
24
+ *
25
+ * Do not reintroduce a default here. If a caller wants one project, they say so.
26
+ */
4
27
  export declare function searchQuotes(params: {
5
28
  topic?: string;
6
29
  speaker_name?: string;
@@ -52,6 +75,8 @@ export declare function detectTrend(params: {
52
75
  country?: string;
53
76
  political_lean_min?: number;
54
77
  political_lean_max?: number;
78
+ start_date?: string;
79
+ end_date?: string;
55
80
  }): Promise<TrendResult>;
56
81
  export declare function searchClaims(params: {
57
82
  topic?: string;
@@ -154,6 +179,18 @@ export declare function getDiscourseSummary(params: {
154
179
  max_topics?: number;
155
180
  }): Promise<BriefingResult>;
156
181
  export declare function getReportStats(days?: number): Promise<PlatformStats>;
182
+ export interface CollectionsResult {
183
+ collections: Array<{
184
+ key: string;
185
+ label?: string;
186
+ description?: string;
187
+ channels?: number;
188
+ enabled?: boolean;
189
+ }>;
190
+ aliases?: Record<string, string>;
191
+ default?: string;
192
+ }
193
+ export declare function getCollections(): Promise<CollectionsResult>;
157
194
  export declare function getProjectStats(): Promise<ProjectStats>;
158
195
  export declare function getTopChannels(params: {
159
196
  days?: number;
@@ -163,6 +200,9 @@ export declare function getTopChannels(params: {
163
200
  political_lean_min?: number;
164
201
  political_lean_max?: number;
165
202
  topic?: string;
203
+ project?: string;
204
+ start_date?: string;
205
+ end_date?: string;
166
206
  }): Promise<TopChannel[] | {
167
207
  channels?: TopChannel[];
168
208
  results?: TopChannel[];
@@ -190,6 +230,8 @@ export declare function getTopSpeakers(params: {
190
230
  topic?: string;
191
231
  country?: string;
192
232
  project?: string;
233
+ start_date?: string;
234
+ end_date?: string;
193
235
  }): Promise<TopSpeaker[] | {
194
236
  speakers?: TopSpeaker[];
195
237
  results?: TopSpeaker[];
@@ -284,6 +326,8 @@ export declare function analyzeTopicClaims(params: {
284
326
  language?: string;
285
327
  days?: number;
286
328
  min_observations?: number;
329
+ start_date?: string;
330
+ end_date?: string;
287
331
  }): Promise<ClaimsTopicAnalysis>;
288
332
  /** Detect whether a topic is surging/fading by claim volume — recent vs baseline window. */
289
333
  export declare function detectTrendClaims(params: {
@@ -292,6 +336,7 @@ export declare function detectTrendClaims(params: {
292
336
  recent_days?: number;
293
337
  baseline_days?: number;
294
338
  min_similarity?: number;
339
+ language?: string;
295
340
  }): Promise<ClaimsTrendResult>;
296
341
  /** Find a speaker's contradictory claims on a topic via stance + entity overlap. */
297
342
  export declare function checkContradictionsClaims(params: {
@@ -299,6 +344,8 @@ export declare function checkContradictionsClaims(params: {
299
344
  speaker_name: string;
300
345
  project?: string;
301
346
  days?: number;
347
+ start_date?: string;
348
+ end_date?: string;
302
349
  }): Promise<ClaimsContradictionsResult>;
303
350
  /** Compare 2-5 speakers' claims on a topic — side-by-side stance breakdown. */
304
351
  export declare function compareSpeakersClaims(params: {
@@ -306,6 +353,9 @@ export declare function compareSpeakersClaims(params: {
306
353
  speaker_names: string[];
307
354
  project?: string;
308
355
  days?: number;
356
+ start_date?: string;
357
+ end_date?: string;
358
+ language?: string;
309
359
  }): Promise<ClaimsCompareResult>;
310
360
  /** Claims dossier for one or more channels (shows) on a topic. */
311
361
  export declare function buildChannelDossier(params: {
@@ -344,8 +394,8 @@ export declare function getEntityClaims(params: {
344
394
  offset?: number;
345
395
  project?: string;
346
396
  }): Promise<EntityClaimsResult>;
347
- /** A claim's parent, children, and sibling (variant) claims. */
348
- export declare function getClaimGraph(claimId: number): Promise<ClaimGraphResult>;
397
+ /** A claim's parent, children, and sibling (variant) claims, optionally within one collection. */
398
+ export declare function getClaimGraph(claimId: number, project?: string): Promise<ClaimGraphResult>;
349
399
  /** Leaderboard of the most widely-spread or most-contested claims. */
350
400
  export declare function getTopClaims(params: {
351
401
  metric?: string;
@@ -354,6 +404,9 @@ export declare function getTopClaims(params: {
354
404
  min_observations?: number;
355
405
  limit?: number;
356
406
  project?: string;
407
+ start_date?: string;
408
+ end_date?: string;
409
+ language?: string;
357
410
  }): Promise<TopClaimsResult>;
358
411
  export declare function getTimeline(params: {
359
412
  topic: string;
@@ -366,6 +419,27 @@ export declare function getTimeline(params: {
366
419
  granularity?: string;
367
420
  min_similarity?: number;
368
421
  }): Promise<TimelineResult>;
422
+ export declare function countMentions(params: {
423
+ topic?: string;
424
+ topics?: string[];
425
+ mode?: "semantic" | "keyword";
426
+ group_by?: string;
427
+ days?: number;
428
+ start_date?: string;
429
+ end_date?: string;
430
+ project?: string;
431
+ speaker_name?: string;
432
+ speaker_id?: number;
433
+ channel_names?: string[];
434
+ language?: string[];
435
+ country?: string;
436
+ political_lean_min?: number;
437
+ political_lean_max?: number;
438
+ min_similarity?: number;
439
+ limit?: number;
440
+ offset?: number;
441
+ order?: "segments" | "date";
442
+ }): Promise<CountResult>;
369
443
  export declare function whoami(): Promise<WhoamiResult>;
370
444
  export interface ManifestTool {
371
445
  name: string;
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
package/dist/client.js CHANGED
@@ -19,16 +19,57 @@ function getApiKey() {
19
19
  function getClientId() {
20
20
  return process.env.SIGNAL4_CLIENT_ID ?? "";
21
21
  }
22
+ // Default UA covers both MCP entry points; the CLI overrides at startup so
23
+ // backend usage stats can tell interactive MCP from scripted CLI traffic.
24
+ let userAgent = "Signal4-MCP/1.0";
25
+ export function setUserAgent(ua) {
26
+ userAgent = ua;
27
+ }
22
28
  function headers(extra) {
23
29
  const h = {
24
30
  "X-API-Key": getApiKey(),
25
- "User-Agent": "Signal4-MCP/1.0",
31
+ "User-Agent": userAgent,
26
32
  };
27
33
  const clientId = getClientId();
28
34
  if (clientId)
29
35
  h["X-Client-Id"] = clientId;
30
36
  return { ...h, ...extra };
31
37
  }
38
+ /**
39
+ * One readable line for a failed response, prefixed `HTTP <status>: ` (handlers match on it).
40
+ *
41
+ * A JSON body's string `detail` is the message. A list `detail` (FastAPI validation)
42
+ * stays JSON so translate422 can render it. An HTML body is never passed through: it is
43
+ * a proxy's error page — Cloudflare replaces an origin 502/504 with its own, and a slow
44
+ * request can hit its 524 — and dumping it gave agents a page of markup instead of the
45
+ * one thing to do next (signal4#226).
46
+ */
47
+ export function describeHttpError(status, body, contentType = "") {
48
+ const text = body.trim();
49
+ if (/json/i.test(contentType) || text.startsWith("{")) {
50
+ try {
51
+ const j = JSON.parse(text);
52
+ if (typeof j.detail === "string")
53
+ return `HTTP ${status}: ${j.detail}`;
54
+ if (typeof j.error === "string")
55
+ return `HTTP ${status}: ${j.error}`;
56
+ if (j.detail !== undefined)
57
+ return `HTTP ${status}: ${JSON.stringify({ detail: j.detail }).slice(0, 600)}`;
58
+ }
59
+ catch { /* not JSON after all */ }
60
+ }
61
+ if (/html/i.test(contentType) || /^<(!doctype|html|head|body)/i.test(text)) {
62
+ if (status === 504 || status === 524) {
63
+ return `HTTP ${status}: the request ran past the gateway time limit before the API answered. ` +
64
+ "Narrow start_date/end_date, add a speaker, channel or collection filter, or use mode='keyword'.";
65
+ }
66
+ if (status === 502 || status === 503 || status === 520 || status === 521 || status === 522) {
67
+ return `HTTP ${status}: the Signal4 API is unreachable or restarting — try again in a minute.`;
68
+ }
69
+ return `HTTP ${status}: the gateway returned an error page instead of an API response.`;
70
+ }
71
+ return `HTTP ${status}: ${text.replace(/\s+/g, " ").slice(0, 300)}`;
72
+ }
32
73
  function stripNone(obj) {
33
74
  const out = {};
34
75
  for (const [k, v] of Object.entries(obj)) {
@@ -59,7 +100,7 @@ async function request(method, path, body, timeout = DEFAULT_TIMEOUT) {
59
100
  }
60
101
  if (!resp.ok) {
61
102
  const text = await resp.text().catch(() => "");
62
- throw new Error(`HTTP ${resp.status}: ${text.slice(0, 300)}`);
103
+ throw new Error(describeHttpError(resp.status, text, resp.headers.get("content-type") ?? ""));
63
104
  }
64
105
  return (await resp.json());
65
106
  }
@@ -90,12 +131,24 @@ function delay(ms) {
90
131
  // ---------------------------------------------------------------------------
91
132
  // Search
92
133
  // ---------------------------------------------------------------------------
134
+ /**
135
+ * Search the corpus for quotes.
136
+ *
137
+ * `project` is optional and there is NO default. It used to default to
138
+ * "Big_Channels" here and in eleven sibling functions below, which quietly cut
139
+ * the searchable corpus to one curated project — measured at 50 matching
140
+ * segments in, 13 out — with nothing in the request or the response saying so
141
+ * (signal4-core#563). Omitting it now means the whole corpus; the response's
142
+ * `scope` says which applied, and every formatter prints it.
143
+ *
144
+ * Do not reintroduce a default here. If a caller wants one project, they say so.
145
+ */
93
146
  export async function searchQuotes(params) {
94
147
  return request("POST", "/api/v1/search/quotes", stripNone({
95
- project: params.project ?? "Big_Channels",
148
+ project: params.project,
96
149
  topic: params.topic,
97
150
  speaker_name: params.speaker_name,
98
- speaker_identity_id: params.speaker_identity_id,
151
+ canonical_speaker_id: params.speaker_identity_id,
99
152
  channel_names: params.channel_names,
100
153
  channel_ids: params.channel_ids,
101
154
  start_date: params.start_date,
@@ -125,7 +178,7 @@ export async function searchQuotes(params) {
125
178
  */
126
179
  export async function getTopicVolume(params) {
127
180
  return request("POST", "/api/v1/search/quotes/volume", stripNone({
128
- project: params.project ?? "Big_Channels",
181
+ project: params.project,
129
182
  topic: params.topic,
130
183
  language: params.language,
131
184
  recent_days: params.recent_days ?? 7,
@@ -135,7 +188,9 @@ export async function getTopicVolume(params) {
135
188
  }
136
189
  export async function detectTrend(params) {
137
190
  return request("POST", "/api/v1/search/quotes/trend", stripNone({
138
- project: params.project ?? "Big_Channels",
191
+ project: params.project,
192
+ start_date: params.start_date,
193
+ end_date: params.end_date,
139
194
  topic: params.topic,
140
195
  speaker_name: params.speaker_name,
141
196
  channel_names: params.channel_names,
@@ -150,7 +205,7 @@ export async function detectTrend(params) {
150
205
  }
151
206
  export async function searchClaims(params) {
152
207
  return request("POST", "/api/v1/search/claims", stripNone({
153
- project: params.project ?? "Big_Channels",
208
+ project: params.project,
154
209
  source: params.source,
155
210
  topic: params.topic,
156
211
  entity: params.entity,
@@ -190,7 +245,7 @@ export async function getSpeakerByName(name) {
190
245
  }
191
246
  export async function getSpeakerSegments(params) {
192
247
  const qs = new URLSearchParams(stripNone({
193
- identity_id: String(params.identity_id),
248
+ canonical_speaker_id: String(params.identity_id),
194
249
  days: String(params.days ?? 30),
195
250
  limit: String(params.limit ?? 50),
196
251
  offset: String(params.offset ?? 0),
@@ -271,7 +326,6 @@ export async function analyze(params) {
271
326
  const body = stripNone({
272
327
  query: params.query,
273
328
  workflow: params.workflow ?? "simple_rag",
274
- dashboard_id: params.project ?? "big_channels",
275
329
  projects: params.project ? [params.project] : undefined,
276
330
  speaker_name: params.speaker_name,
277
331
  speaker_names: params.speaker_names,
@@ -297,7 +351,7 @@ export async function analyze(params) {
297
351
  });
298
352
  if (!resp.ok) {
299
353
  const text = await resp.text().catch(() => "");
300
- throw new Error(`HTTP ${resp.status}: ${text.slice(0, 300)}`);
354
+ throw new Error(describeHttpError(resp.status, text, resp.headers.get("content-type") ?? ""));
301
355
  }
302
356
  let themes = [];
303
357
  let summary = "";
@@ -429,7 +483,8 @@ export async function analyze(params) {
429
483
  // ---------------------------------------------------------------------------
430
484
  export async function getDiscourseSummary(params) {
431
485
  const qs = new URLSearchParams(stripNone({
432
- projects: params.project ?? "Big_Channels",
486
+ // The endpoint requires a value; "all" is its own token for the whole corpus.
487
+ projects: params.project ?? "all",
433
488
  days: String(params.days ?? 3),
434
489
  max_topics: params.max_topics ? String(params.max_topics) : undefined,
435
490
  }));
@@ -441,11 +496,17 @@ export async function getDiscourseSummary(params) {
441
496
  export async function getReportStats(days = 30) {
442
497
  return request("GET", `/api/v1/report/stats?days=${days}`);
443
498
  }
499
+ export async function getCollections() {
500
+ return request("GET", "/api/v1/collections");
501
+ }
444
502
  export async function getProjectStats() {
445
503
  return request("GET", "/api/v1/report/project-stats");
446
504
  }
447
505
  export async function getTopChannels(params) {
448
506
  const qs = new URLSearchParams(stripNone({
507
+ collections: params.project,
508
+ start_date: params.start_date,
509
+ end_date: params.end_date,
449
510
  days: String(params.days ?? 30),
450
511
  limit: String(params.limit ?? 15),
451
512
  language: params.language,
@@ -465,6 +526,8 @@ export async function getChannelOverview(params) {
465
526
  }
466
527
  export async function getTopSpeakers(params) {
467
528
  const qs = new URLSearchParams(stripNone({
529
+ start_date: params.start_date,
530
+ end_date: params.end_date,
468
531
  days: String(params.days ?? 30),
469
532
  limit: String(params.limit ?? 15),
470
533
  ranking: params.ranking,
@@ -567,7 +630,9 @@ export async function getRelatedClaims(claimId) {
567
630
  /** Analyze a topic over canonical claims — themes grouped by category with observation stats. */
568
631
  export async function analyzeTopicClaims(params) {
569
632
  return request("POST", "/api/v1/analysis/claims/topic", stripNone({
570
- project: params.project ?? "Big_Channels",
633
+ project: params.project,
634
+ start_date: params.start_date,
635
+ end_date: params.end_date,
571
636
  topic: params.topic,
572
637
  speaker_name: params.speaker_name,
573
638
  channel_names: params.channel_names,
@@ -579,7 +644,8 @@ export async function analyzeTopicClaims(params) {
579
644
  /** Detect whether a topic is surging/fading by claim volume — recent vs baseline window. */
580
645
  export async function detectTrendClaims(params) {
581
646
  return request("POST", "/api/v1/analysis/claims/trend", stripNone({
582
- project: params.project ?? "Big_Channels",
647
+ project: params.project,
648
+ language: params.language,
583
649
  topic: params.topic,
584
650
  recent_days: params.recent_days ?? 7,
585
651
  baseline_days: params.baseline_days ?? 30,
@@ -589,7 +655,9 @@ export async function detectTrendClaims(params) {
589
655
  /** Find a speaker's contradictory claims on a topic via stance + entity overlap. */
590
656
  export async function checkContradictionsClaims(params) {
591
657
  return request("POST", "/api/v1/analysis/claims/contradictions", stripNone({
592
- project: params.project ?? "Big_Channels",
658
+ project: params.project,
659
+ start_date: params.start_date,
660
+ end_date: params.end_date,
593
661
  topic: params.topic,
594
662
  speaker_name: params.speaker_name,
595
663
  days: params.days ?? 365,
@@ -598,7 +666,10 @@ export async function checkContradictionsClaims(params) {
598
666
  /** Compare 2-5 speakers' claims on a topic — side-by-side stance breakdown. */
599
667
  export async function compareSpeakersClaims(params) {
600
668
  return request("POST", "/api/v1/analysis/claims/compare", stripNone({
601
- project: params.project ?? "Big_Channels",
669
+ project: params.project,
670
+ start_date: params.start_date,
671
+ end_date: params.end_date,
672
+ language: params.language,
602
673
  topic: params.topic,
603
674
  speaker_names: params.speaker_names,
604
675
  days: params.days ?? 90,
@@ -607,7 +678,7 @@ export async function compareSpeakersClaims(params) {
607
678
  /** Claims dossier for one or more channels (shows) on a topic. */
608
679
  export async function buildChannelDossier(params) {
609
680
  return request("POST", "/api/v1/analysis/claims/channel-dossier", stripNone({
610
- project: params.project ?? "Big_Channels",
681
+ project: params.project,
611
682
  topic: params.topic,
612
683
  channel_names: params.channel_names,
613
684
  days: params.days ?? 180,
@@ -616,7 +687,7 @@ export async function buildChannelDossier(params) {
616
687
  /** Compare 2-5 channels' claims on a topic — stance breakdown + speaker overlap. */
617
688
  export async function compareChannelsClaims(params) {
618
689
  return request("POST", "/api/v1/analysis/claims/channel-compare", stripNone({
619
- project: params.project ?? "Big_Channels",
690
+ project: params.project,
620
691
  topic: params.topic,
621
692
  channel_names: params.channel_names,
622
693
  days: params.days ?? 90,
@@ -625,7 +696,7 @@ export async function compareChannelsClaims(params) {
625
696
  /** Contradictory claims a channel platforms on a topic (both sides aired). */
626
697
  export async function checkChannelContradictionsClaims(params) {
627
698
  return request("POST", "/api/v1/analysis/claims/channel-contradictions", stripNone({
628
- project: params.project ?? "Big_Channels",
699
+ project: params.project,
629
700
  topic: params.topic,
630
701
  channel_names: params.channel_names,
631
702
  days: params.days ?? 365,
@@ -655,13 +726,17 @@ export async function getEntityClaims(params) {
655
726
  }));
656
727
  return request("GET", `/api/v1/claims/entity/${encodeURIComponent(params.name)}?${qs}`);
657
728
  }
658
- /** A claim's parent, children, and sibling (variant) claims. */
659
- export async function getClaimGraph(claimId) {
660
- return request("GET", `/api/v1/claims/${claimId}/graph`);
729
+ /** A claim's parent, children, and sibling (variant) claims, optionally within one collection. */
730
+ export async function getClaimGraph(claimId, project) {
731
+ const qs = project ? `?${new URLSearchParams({ collection: project })}` : "";
732
+ return request("GET", `/api/v1/claims/${claimId}/graph${qs}`);
661
733
  }
662
734
  /** Leaderboard of the most widely-spread or most-contested claims. */
663
735
  export async function getTopClaims(params) {
664
736
  const qs = new URLSearchParams(stripNone({
737
+ start_date: params.start_date,
738
+ end_date: params.end_date,
739
+ language: params.language,
665
740
  metric: params.metric ?? "spread",
666
741
  days: String(params.days ?? 30),
667
742
  category: params.category,
@@ -676,7 +751,7 @@ export async function getTopClaims(params) {
676
751
  // ---------------------------------------------------------------------------
677
752
  export async function getTimeline(params) {
678
753
  return request("POST", "/api/v1/search/quotes/timeline", stripNone({
679
- project: params.project ?? "Big_Channels",
754
+ project: params.project,
680
755
  topic: params.topic,
681
756
  speaker_name: params.speaker_name,
682
757
  channel_names: params.channel_names,
@@ -688,6 +763,32 @@ export async function getTimeline(params) {
688
763
  }));
689
764
  }
690
765
  // ---------------------------------------------------------------------------
766
+ // Count
767
+ // ---------------------------------------------------------------------------
768
+ export async function countMentions(params) {
769
+ return request("POST", "/api/v1/search/quotes/count", stripNone({
770
+ project: params.project,
771
+ topic: params.topic,
772
+ topics: params.topics,
773
+ mode: params.mode,
774
+ group_by: params.group_by,
775
+ days: params.days,
776
+ start_date: params.start_date,
777
+ end_date: params.end_date,
778
+ speaker_name: params.speaker_name,
779
+ speaker_id: params.speaker_id,
780
+ channel_names: params.channel_names,
781
+ language: params.language,
782
+ country: params.country,
783
+ political_lean_min: params.political_lean_min,
784
+ political_lean_max: params.political_lean_max,
785
+ min_similarity: params.min_similarity,
786
+ limit: params.limit,
787
+ offset: params.offset,
788
+ order: params.order,
789
+ }));
790
+ }
791
+ // ---------------------------------------------------------------------------
691
792
  // Auth / Identity
692
793
  // ---------------------------------------------------------------------------
693
794
  export async function whoami() {