@signal4/s4 2.2.0 → 2.4.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 (50) hide show
  1. package/README.md +145 -17
  2. package/bin/s4.js +0 -0
  3. package/bin/signal4-mcp.js +0 -0
  4. package/dist/cli.d.ts.map +1 -1
  5. package/dist/cli.js +412 -36
  6. package/dist/cli.js.map +1 -1
  7. package/dist/client.d.ts +114 -5
  8. package/dist/client.d.ts.map +1 -1
  9. package/dist/client.js +162 -6
  10. package/dist/client.js.map +1 -1
  11. package/dist/format.d.ts +23 -1
  12. package/dist/format.d.ts.map +1 -1
  13. package/dist/format.js +454 -8
  14. package/dist/format.js.map +1 -1
  15. package/dist/handlers/ads.d.ts.map +1 -1
  16. package/dist/handlers/ads.js +20 -2
  17. package/dist/handlers/ads.js.map +1 -1
  18. package/dist/handlers/analyze.d.ts +1 -0
  19. package/dist/handlers/analyze.d.ts.map +1 -1
  20. package/dist/handlers/analyze.js +28 -6
  21. package/dist/handlers/analyze.js.map +1 -1
  22. package/dist/handlers/claim_detail.d.ts +4 -0
  23. package/dist/handlers/claim_detail.d.ts.map +1 -0
  24. package/dist/handlers/claim_detail.js +29 -0
  25. package/dist/handlers/claim_detail.js.map +1 -0
  26. package/dist/handlers/claims.d.ts +12 -1
  27. package/dist/handlers/claims.d.ts.map +1 -1
  28. package/dist/handlers/claims.js +189 -12
  29. package/dist/handlers/claims.js.map +1 -1
  30. package/dist/handlers/explore.d.ts.map +1 -1
  31. package/dist/handlers/explore.js +103 -20
  32. package/dist/handlers/explore.js.map +1 -1
  33. package/dist/handlers/registry.d.ts.map +1 -1
  34. package/dist/handlers/registry.js +18 -2
  35. package/dist/handlers/registry.js.map +1 -1
  36. package/dist/handlers/reports.d.ts.map +1 -1
  37. package/dist/handlers/reports.js +69 -10
  38. package/dist/handlers/reports.js.map +1 -1
  39. package/dist/handlers/search.d.ts.map +1 -1
  40. package/dist/handlers/search.js +24 -10
  41. package/dist/handlers/search.js.map +1 -1
  42. package/dist/handlers/timeline.d.ts +4 -0
  43. package/dist/handlers/timeline.d.ts.map +1 -0
  44. package/dist/handlers/timeline.js +28 -0
  45. package/dist/handlers/timeline.js.map +1 -0
  46. package/dist/index.js +9 -1
  47. package/dist/index.js.map +1 -1
  48. package/dist/types.d.ts +251 -0
  49. package/dist/types.d.ts.map +1 -1
  50. package/package.json +13 -1
@@ -1,11 +1,12 @@
1
- /** Claims handler: search_claims */
1
+ /** Claims handlers: search_claims + claims analysis (analyze/trend/contradict/compare) */
2
2
  import * as client from "../client.js";
3
- import { formatClaims } from "../format.js";
3
+ import { formatClaims, formatClaimsTopicAnalysis, formatClaimsTrend, formatClaimsContradictions, formatClaimsComparison, formatEntityClaims, formatClaimGraph, formatTopClaims, formatChannelDossier, formatChannelClaimsComparison, formatEntitySearch, } from "../format.js";
4
4
  export async function handleSearchClaims(params) {
5
5
  const topic = params.topic;
6
6
  const entity = params.entity;
7
- const speakerName = params.speaker_name;
8
- const channelName = params.channel_name;
7
+ const speakerName = (params.speaker ?? params.speaker_name);
8
+ const channelName = (params.channel ?? params.channel_name);
9
+ const channelNames = channelName?.split(",").map(s => s.trim()).filter(Boolean);
9
10
  const category = params.category;
10
11
  const stance = params.stance;
11
12
  const language = params.language;
@@ -16,11 +17,13 @@ export async function handleSearchClaims(params) {
16
17
  const mode = params.mode ?? "semantic";
17
18
  const sort = params.sort ?? "relevance";
18
19
  const minObs = params.min_observations ?? 1;
20
+ const minSimilarity = params.min_similarity;
21
+ const source = params.source;
19
22
  const limit = params.limit ?? 20;
20
23
  const offset = params.offset ?? 0;
21
24
  if (!topic && !entity && !speakerName && !channelName && !category) {
22
25
  return {
23
- content: [{ type: "text", text: "Error: provide at least one of topic, entity, speaker_name, channel_name, or category. Use sort='spread' to find the most widely repeated claims." }],
26
+ content: [{ type: "text", text: "Error: provide at least one of topic, entity, speaker, channel, or category. Use sort='spread' to find the most widely repeated claims." }],
24
27
  };
25
28
  }
26
29
  const startDate = params.start_date ?? new Date(Date.now() - days * 86400000).toISOString().slice(0, 10);
@@ -29,8 +32,8 @@ export async function handleSearchClaims(params) {
29
32
  topic,
30
33
  entity,
31
34
  speaker_name: speakerName,
32
- channel_names: channelName ? [channelName] : undefined,
33
- primary_topic: category,
35
+ channel_names: channelNames,
36
+ category,
34
37
  stance,
35
38
  start_date: startDate,
36
39
  end_date: endDate,
@@ -38,16 +41,190 @@ export async function handleSearchClaims(params) {
38
41
  country,
39
42
  political_lean_min: politicalLeanMin,
40
43
  political_lean_max: politicalLeanMax,
41
- days,
42
44
  mode,
43
45
  sort,
44
46
  min_observations: minObs > 1 ? minObs : undefined,
47
+ min_similarity: minSimilarity,
48
+ source,
45
49
  limit,
46
50
  offset,
47
51
  });
48
- const text = data.claims?.length
49
- ? formatClaims(data)
50
- : "No claims found matching your search criteria.";
51
- return { content: [{ type: "text", text }] };
52
+ if (!data.claims?.length) {
53
+ const suggestions = ["No claims found matching your search criteria."];
54
+ if (mode === "keyword")
55
+ suggestions.push("- Try mode='semantic' for broader matching");
56
+ if (days < 90)
57
+ suggestions.push("- Try a wider time window: days=90");
58
+ if (minObs > 1)
59
+ suggestions.push("- Lower min_observations to 1 to include single-source claims");
60
+ suggestions.push("- Use search_quotes for transcript-level search (claims are extracted summaries)");
61
+ return { content: [{ type: "text", text: suggestions.join("\n") }] };
62
+ }
63
+ return { content: [{ type: "text", text: formatClaims(data) }] };
64
+ }
65
+ // ---------------------------------------------------------------------------
66
+ // Claims analysis — backed by /api/v1/analysis/claims/*
67
+ // ---------------------------------------------------------------------------
68
+ export async function handleAnalyzeClaims(params) {
69
+ const topic = (params.topic ?? params.query);
70
+ if (!topic)
71
+ return { content: [{ type: "text", text: "Error: topic is required." }], isError: true };
72
+ const channelParam = params.channel;
73
+ const channels = params.channels
74
+ ?? channelParam?.split(",").map(s => s.trim()).filter(Boolean);
75
+ const data = await client.analyzeTopicClaims({
76
+ topic,
77
+ speaker_name: (params.speaker ?? params.speaker_name),
78
+ channel_names: channels,
79
+ language: params.language,
80
+ days: params.days,
81
+ min_observations: params.min_observations,
82
+ });
83
+ return { content: [{ type: "text", text: formatClaimsTopicAnalysis(data, topic) }] };
84
+ }
85
+ export async function handleTrendClaims(params) {
86
+ const topic = (params.topic ?? params.query);
87
+ if (!topic)
88
+ return { content: [{ type: "text", text: "Error: topic is required." }], isError: true };
89
+ const data = await client.detectTrendClaims({
90
+ topic,
91
+ recent_days: params.recent_days,
92
+ baseline_days: params.baseline_days,
93
+ min_similarity: params.min_similarity,
94
+ });
95
+ return { content: [{ type: "text", text: formatClaimsTrend(data, topic) }] };
96
+ }
97
+ export async function handleContradictClaims(params) {
98
+ const topic = (params.topic ?? params.query);
99
+ const speakerName = (params.speaker ?? params.speaker_name);
100
+ if (!topic || !speakerName) {
101
+ return { content: [{ type: "text", text: "Error: both topic and speaker are required." }], isError: true };
102
+ }
103
+ const data = await client.checkContradictionsClaims({
104
+ topic,
105
+ speaker_name: speakerName,
106
+ days: params.days,
107
+ });
108
+ return { content: [{ type: "text", text: formatClaimsContradictions(data, speakerName, topic) }] };
109
+ }
110
+ export async function handleCompareClaims(params) {
111
+ const topic = (params.topic ?? params.query);
112
+ const speakers = params.speakers
113
+ ?? params.speaker_names;
114
+ if (!topic || !speakers?.length) {
115
+ return { content: [{ type: "text", text: "Error: topic and 2-5 speakers are required." }], isError: true };
116
+ }
117
+ if (speakers.length < 2)
118
+ return { content: [{ type: "text", text: "Error: compare_claims requires at least 2 speakers." }], isError: true };
119
+ if (speakers.length > 5)
120
+ return { content: [{ type: "text", text: "Error: compare_claims supports at most 5 speakers." }], isError: true };
121
+ const data = await client.compareSpeakersClaims({
122
+ topic,
123
+ speaker_names: speakers,
124
+ days: params.days,
125
+ });
126
+ return { content: [{ type: "text", text: formatClaimsComparison(data, topic) }] };
127
+ }
128
+ function channelNamesFrom(params) {
129
+ const list = params.channels ?? params.channel_names;
130
+ if (list?.length)
131
+ return list;
132
+ const single = (params.channel ?? params.channel_name);
133
+ return single?.split(",").map(s => s.trim()).filter(Boolean);
134
+ }
135
+ export async function handleChannelDossier(params) {
136
+ const topic = (params.topic ?? params.query);
137
+ const channels = channelNamesFrom(params);
138
+ if (!topic || !channels?.length) {
139
+ return { content: [{ type: "text", text: "Error: both topic and channel are required." }], isError: true };
140
+ }
141
+ const data = await client.buildChannelDossier({
142
+ topic,
143
+ channel_names: channels,
144
+ days: params.days,
145
+ });
146
+ return { content: [{ type: "text", text: formatChannelDossier(data) }] };
147
+ }
148
+ export async function handleCompareChannels(params) {
149
+ const topic = (params.topic ?? params.query);
150
+ const channels = channelNamesFrom(params);
151
+ if (!topic || !channels?.length) {
152
+ return { content: [{ type: "text", text: "Error: topic and 2-5 channels are required." }], isError: true };
153
+ }
154
+ if (channels.length < 2)
155
+ return { content: [{ type: "text", text: "Error: compare_channels requires at least 2 channels." }], isError: true };
156
+ if (channels.length > 5)
157
+ return { content: [{ type: "text", text: "Error: compare_channels supports at most 5 channels." }], isError: true };
158
+ const data = await client.compareChannelsClaims({
159
+ topic,
160
+ channel_names: channels,
161
+ days: params.days,
162
+ });
163
+ return { content: [{ type: "text", text: formatChannelClaimsComparison(data, topic) }] };
164
+ }
165
+ export async function handleCheckChannelContradictions(params) {
166
+ const topic = (params.topic ?? params.query);
167
+ const channels = channelNamesFrom(params);
168
+ if (!topic || !channels?.length) {
169
+ return { content: [{ type: "text", text: "Error: both topic and channel are required." }], isError: true };
170
+ }
171
+ const data = await client.checkChannelContradictionsClaims({
172
+ topic,
173
+ channel_names: channels,
174
+ days: params.days,
175
+ });
176
+ return { content: [{ type: "text", text: formatClaimsContradictions(data, channels.join(", "), topic) }] };
177
+ }
178
+ // ---------------------------------------------------------------------------
179
+ // Claims graph — entity-centric, hierarchy/relations, leaderboard
180
+ // ---------------------------------------------------------------------------
181
+ export async function handleFindEntities(params) {
182
+ const query = (params.query ?? params.name ?? params.entity);
183
+ if (!query)
184
+ return { content: [{ type: "text", text: "Error: query is required." }], isError: true };
185
+ const data = await client.searchEntities({
186
+ query,
187
+ entity_type: params.entity_type,
188
+ limit: params.limit,
189
+ });
190
+ return { content: [{ type: "text", text: formatEntitySearch(data) }] };
191
+ }
192
+ export async function handleEntityClaims(params) {
193
+ const name = (params.entity ?? params.name);
194
+ if (!name)
195
+ return { content: [{ type: "text", text: "Error: entity name is required." }], isError: true };
196
+ const data = await client.getEntityClaims({
197
+ name,
198
+ sort: params.sort,
199
+ stance: params.stance,
200
+ limit: params.limit,
201
+ offset: params.offset,
202
+ });
203
+ return { content: [{ type: "text", text: formatEntityClaims(data) }] };
204
+ }
205
+ export async function handleClaimGraph(params) {
206
+ const claimId = params.claim_id;
207
+ if (!claimId)
208
+ return { content: [{ type: "text", text: "Error: claim_id is required (numeric, from search_claims results)." }], isError: true };
209
+ try {
210
+ const data = await client.getClaimGraph(claimId);
211
+ return { content: [{ type: "text", text: formatClaimGraph(data) }] };
212
+ }
213
+ catch (err) {
214
+ if (err instanceof Error && err.message.includes("404")) {
215
+ return { content: [{ type: "text", text: `Error: Claim ${claimId} not found.` }], isError: true };
216
+ }
217
+ throw err;
218
+ }
219
+ }
220
+ export async function handleTopClaims(params) {
221
+ const data = await client.getTopClaims({
222
+ metric: params.metric,
223
+ days: params.days,
224
+ category: params.category,
225
+ min_observations: params.min_observations,
226
+ limit: params.limit,
227
+ });
228
+ return { content: [{ type: "text", text: formatTopClaims(data) }] };
52
229
  }
53
230
  //# sourceMappingURL=claims.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"claims.js","sourceRoot":"","sources":["../../src/handlers/claims.ts"],"names":[],"mappings":"AAAA,oCAAoC;AAEpC,OAAO,KAAK,MAAM,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAG5C,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,MAA+B;IACtE,MAAM,KAAK,GAAG,MAAM,CAAC,KAA2B,CAAC;IACjD,MAAM,MAAM,GAAG,MAAM,CAAC,MAA4B,CAAC;IACnD,MAAM,WAAW,GAAG,MAAM,CAAC,YAAkC,CAAC;IAC9D,MAAM,WAAW,GAAG,MAAM,CAAC,YAAkC,CAAC;IAC9D,MAAM,QAAQ,GAAG,MAAM,CAAC,QAA8B,CAAC;IACvD,MAAM,MAAM,GAAG,MAAM,CAAC,MAA4B,CAAC;IACnD,MAAM,QAAQ,GAAG,MAAM,CAAC,QAA8B,CAAC;IACvD,MAAM,OAAO,GAAG,MAAM,CAAC,OAA6B,CAAC;IACrD,MAAM,gBAAgB,GAAG,MAAM,CAAC,kBAAwC,CAAC;IACzE,MAAM,gBAAgB,GAAG,MAAM,CAAC,kBAAwC,CAAC;IACzE,MAAM,IAAI,GAAI,MAAM,CAAC,IAAe,IAAI,EAAE,CAAC;IAC3C,MAAM,IAAI,GAAI,MAAM,CAAC,IAAe,IAAI,UAAU,CAAC;IACnD,MAAM,IAAI,GAAI,MAAM,CAAC,IAAe,IAAI,WAAW,CAAC;IACpD,MAAM,MAAM,GAAI,MAAM,CAAC,gBAA2B,IAAI,CAAC,CAAC;IACxD,MAAM,KAAK,GAAI,MAAM,CAAC,KAAgB,IAAI,EAAE,CAAC;IAC7C,MAAM,MAAM,GAAI,MAAM,CAAC,MAAiB,IAAI,CAAC,CAAC;IAE9C,IAAI,CAAC,KAAK,IAAI,CAAC,MAAM,IAAI,CAAC,WAAW,IAAI,CAAC,WAAW,IAAI,CAAC,QAAQ,EAAE,CAAC;QACnE,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,mJAAmJ,EAAE,CAAC;SACvL,CAAC;IACJ,CAAC;IAED,MAAM,SAAS,GAAI,MAAM,CAAC,UAAqB,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,GAAG,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACrH,MAAM,OAAO,GAAI,MAAM,CAAC,QAAmB,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAErF,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC;QACrC,KAAK;QACL,MAAM;QACN,YAAY,EAAE,WAAW;QACzB,aAAa,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS;QACtD,aAAa,EAAE,QAAQ;QACvB,MAAM;QACN,UAAU,EAAE,SAAS;QACrB,QAAQ,EAAE,OAAO;QACjB,QAAQ;QACR,OAAO;QACP,kBAAkB,EAAE,gBAAgB;QACpC,kBAAkB,EAAE,gBAAgB;QACpC,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,gBAAgB,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;QACjD,KAAK;QACL,MAAM;KACP,CAAC,CAAC;IAEH,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,MAAM;QAC9B,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC;QACpB,CAAC,CAAC,gDAAgD,CAAC;IACrD,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;AAC/C,CAAC"}
1
+ {"version":3,"file":"claims.js","sourceRoot":"","sources":["../../src/handlers/claims.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"explore.d.ts","sourceRoot":"","sources":["../../src/handlers/explore.ts"],"names":[],"mappings":"AAAA,sGAAsG;AAItG,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE1D,wBAAsB,kBAAkB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC,CAgBjG;AAED,wBAAsB,gBAAgB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC,CAgB/F;AAED,wBAAsB,gBAAgB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC,CAY/F;AAED,wBAAsB,gBAAgB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC,CA6C/F;AAED,wBAAsB,gBAAgB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC,CAM/F;AAED,wBAAsB,eAAe,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC,CAkB9F"}
1
+ {"version":3,"file":"explore.d.ts","sourceRoot":"","sources":["../../src/handlers/explore.ts"],"names":[],"mappings":"AAAA,sGAAsG;AAItG,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE1D,wBAAsB,kBAAkB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC,CAgBjG;AAED,wBAAsB,gBAAgB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC,CA0B/F;AAED,wBAAsB,gBAAgB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC,CAuB/F;AAED,wBAAsB,gBAAgB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC,CAqD/F;AAED,wBAAsB,gBAAgB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC,CAc/F;AAED,wBAAsB,eAAe,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC,CA4D9F"}
@@ -10,7 +10,7 @@ export async function handleFindSpeakers(params) {
10
10
  const lines = [`**${results.length} speakers found:**\n`];
11
11
  for (const s of results) {
12
12
  const name = s.name ?? s.primary_name ?? "?";
13
- const sid = s.identity_id ?? s.id ?? "?";
13
+ const sid = s.canonical_speaker_id ?? s.identity_id ?? s.id ?? "?";
14
14
  const count = s.appearance_count ?? s.appearances ?? "";
15
15
  const occ = s.occupation ? ` — ${s.occupation}` : "";
16
16
  lines.push(`- **${name}** (ID: ${sid}, ${count} appearances${occ})`);
@@ -19,35 +19,67 @@ export async function handleFindSpeakers(params) {
19
19
  }
20
20
  export async function handleGetSpeaker(params) {
21
21
  const speakerId = params.speaker_id;
22
- const speakerName = (params.speaker_name ?? params.name);
22
+ const speakerName = (params.speaker ?? params.speaker_name ?? params.name);
23
23
  const sections = params.sections ?? "all";
24
24
  if (!speakerId && !speakerName) {
25
- return { content: [{ type: "text", text: "Error: provide either speaker_id (numeric) or speaker_name (text). Use find_speakers to look up IDs by name." }] };
25
+ return { content: [{ type: "text", text: "Error: provide either speaker_id (numeric) or speaker (text). Use find_speakers to look up IDs by name." }] };
26
26
  }
27
27
  let data;
28
- if (speakerName && !speakerId) {
29
- data = await client.getSpeakerByName(speakerName);
28
+ try {
29
+ if (speakerName && !speakerId) {
30
+ data = await client.getSpeakerByName(speakerName);
31
+ }
32
+ else {
33
+ data = await client.getSpeaker(speakerId, sections);
34
+ }
30
35
  }
31
- else {
32
- data = await client.getSpeaker(speakerId, sections);
36
+ catch (err) {
37
+ if (err instanceof Error && err.message.includes("404")) {
38
+ const hint = speakerId
39
+ ? `Speaker ID ${speakerId} not found. IDs come from find_speakers results — try find_speakers first, or pass a name with the speaker parameter instead.`
40
+ : `Speaker "${speakerName}" not found. Try find_speakers to search by name fragment.`;
41
+ return { content: [{ type: "text", text: `Error: ${hint}` }] };
42
+ }
43
+ throw err;
33
44
  }
34
45
  return { content: [{ type: "text", text: formatSpeaker(data) }] };
35
46
  }
36
47
  export async function handleGetChannel(params) {
37
48
  const channelId = params.channel_id;
38
- const channelName = params.channel_name;
49
+ const channelName = (params.channel ?? params.channel_name);
39
50
  if (!channelId && !channelName) {
40
- return { content: [{ type: "text", text: "Error: provide either channel_id (numeric) or channel_name (text). Channel IDs appear in search results and speaker profiles." }] };
51
+ return { content: [{ type: "text", text: "Error: provide either channel_id (numeric) or channel (text). Channel IDs appear in search results and speaker profiles." }] };
52
+ }
53
+ let data;
54
+ try {
55
+ data = channelId
56
+ ? await client.getChannel(channelId)
57
+ : await client.getChannelByName(channelName);
58
+ }
59
+ catch (err) {
60
+ if (err instanceof Error && err.message.includes("404")) {
61
+ const hint = channelId
62
+ ? `Channel ID ${channelId} not found. Channel IDs appear in search results and speaker profiles.`
63
+ : `Channel "${channelName}" not found. Try a shorter or partial name, or use search_quotes to find content from a channel.`;
64
+ return { content: [{ type: "text", text: `Error: ${hint}` }] };
65
+ }
66
+ throw err;
41
67
  }
42
- const data = channelId
43
- ? await client.getChannel(channelId)
44
- : await client.getChannelByName(channelName);
45
68
  return { content: [{ type: "text", text: formatChannel(data) }] };
46
69
  }
47
70
  export async function handleGetEpisode(params) {
48
71
  const contentId = params.content_id;
49
72
  const includeTranscript = params.include_transcript ?? false;
50
- const data = await client.getEpisode(contentId);
73
+ let data;
74
+ try {
75
+ data = await client.getEpisode(contentId);
76
+ }
77
+ catch (err) {
78
+ if (err instanceof Error && err.message.includes("404")) {
79
+ return { content: [{ type: "text", text: `Error: Episode "${contentId}" not found. Content IDs look like "pod_8f1e55513f70" — check the ID from your search results.` }] };
80
+ }
81
+ throw err;
82
+ }
51
83
  const lines = [`# ${data.title ?? "Episode"}`];
52
84
  const meta = [];
53
85
  if (data.channel_name)
@@ -93,7 +125,16 @@ export async function handleGetEpisode(params) {
93
125
  }
94
126
  export async function handleGetSegment(params) {
95
127
  const segmentId = params.segment_id;
96
- const data = await client.getSegment(segmentId);
128
+ let data;
129
+ try {
130
+ data = await client.getSegment(segmentId);
131
+ }
132
+ catch (err) {
133
+ if (err instanceof Error && err.message.includes("404")) {
134
+ return { content: [{ type: "text", text: `Error: Segment ${segmentId} not found. Segment IDs come from search_quotes results.` }] };
135
+ }
136
+ throw err;
137
+ }
97
138
  if (data.error)
98
139
  return { content: [{ type: "text", text: `Error: ${data.error}` }] };
99
140
  return { content: [{ type: "text", text: formatSegment(data) }] };
@@ -101,20 +142,62 @@ export async function handleGetSegment(params) {
101
142
  export async function handleGetThread(params) {
102
143
  const segmentId = params.segment_id;
103
144
  const n = params.n ?? 5;
104
- const data = await client.getSegmentThread(segmentId, n);
145
+ const maxChars = params.max_chars ?? 0;
146
+ let data;
147
+ try {
148
+ data = await client.getSegmentThread(segmentId, n);
149
+ }
150
+ catch (err) {
151
+ if (err instanceof Error && err.message.includes("404")) {
152
+ return { content: [{ type: "text", text: `Error: Segment ${segmentId} not found. Segment IDs come from search_quotes results.` }] };
153
+ }
154
+ throw err;
155
+ }
105
156
  if (data.error)
106
157
  return { content: [{ type: "text", text: `Error: ${data.error}` }] };
107
158
  if (!data.turns?.length)
108
- return { content: [{ type: "text", text: `No conversation context found for segment ${segmentId}` }] };
159
+ return { content: [{ type: "text", text: `No conversation context found for segment ${segmentId}.` }] };
109
160
  const title = data.title ?? "Episode";
110
- const lines = [`**Thread: ${title}** (showing ${data.turns.length} turns)\n`];
111
- for (const turn of data.turns) {
161
+ const header = `**Thread: ${title}** (showing ${data.turns.length} turns)\n`;
162
+ const turnLines = [];
163
+ let targetIdx = -1;
164
+ for (let i = 0; i < data.turns.length; i++) {
165
+ const turn = data.turns[i];
112
166
  const speaker = turn.speaker_name ?? "Unknown";
113
167
  const timeStr = turn.start_time != null ? `[${fmtTime(turn.start_time)}] ` : "";
114
168
  const marker = turn.is_target ? ">>> " : " ";
115
169
  const text = (turn.text ?? "").trim();
116
- lines.push(`${marker}${timeStr}${speaker}: ${text}\n`);
170
+ const line = `${marker}${timeStr}${speaker}: ${text}\n`;
171
+ turnLines.push(line);
172
+ if (turn.is_target)
173
+ targetIdx = i;
117
174
  }
118
- return { content: [{ type: "text", text: lines.join("\n") }] };
175
+ let result = header + "\n" + turnLines.join("\n");
176
+ if (maxChars > 0 && result.length > maxChars && targetIdx >= 0) {
177
+ const budget = maxChars - header.length - 40;
178
+ const selected = [turnLines[targetIdx]];
179
+ let charCount = selected[0].length;
180
+ let before = targetIdx - 1;
181
+ let after = targetIdx + 1;
182
+ while (before >= 0 || after < turnLines.length) {
183
+ let added = false;
184
+ if (before >= 0 && charCount + turnLines[before].length < budget) {
185
+ selected.unshift(turnLines[before]);
186
+ charCount += turnLines[before].length;
187
+ before--;
188
+ added = true;
189
+ }
190
+ if (after < turnLines.length && charCount + turnLines[after].length < budget) {
191
+ selected.push(turnLines[after]);
192
+ charCount += turnLines[after].length;
193
+ after++;
194
+ added = true;
195
+ }
196
+ if (!added)
197
+ break;
198
+ }
199
+ result = header + "\n" + selected.join("\n") + `\n\n(truncated to ~${maxChars} chars)`;
200
+ }
201
+ return { content: [{ type: "text", text: result }] };
119
202
  }
120
203
  //# sourceMappingURL=explore.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"explore.js","sourceRoot":"","sources":["../../src/handlers/explore.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"explore.js","sourceRoot":"","sources":["../../src/handlers/explore.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/handlers/registry.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAE/D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AASnD,eAAO,MAAM,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAuB5C,CAAC"}
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/handlers/registry.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAE/D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAWnD,eAAO,MAAM,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAqC5C,CAAC"}
@@ -1,15 +1,27 @@
1
1
  /** Handler registry — maps tool names to handler functions. */
2
2
  import { handleSearchQuotes, handleDetectTrend } from "./search.js";
3
3
  import { handleFindSpeakers, handleGetSpeaker, handleGetChannel, handleGetEpisode, handleGetSegment, handleGetThread } from "./explore.js";
4
- import { handleAnalyzeTopic, handleCompareSpeakers, handleBuildDossier, handleCheckContradictions, handleGetBriefing } from "./analyze.js";
4
+ import { handleAnalyzeTopic, handleCompareFrames, handleCompareSpeakers, handleBuildDossier, handleCheckContradictions, handleGetBriefing } from "./analyze.js";
5
5
  import { handleGetPlatformStats, handleGetProjectStats, handleGetTopChannels, handleGetTopSpeakers, handleGetSpeakerNetwork, handleGetTopics } from "./reports.js";
6
6
  import { handleGetAdAnalytics } from "./ads.js";
7
7
  import { handleManageBookmarks } from "./bookmarks.js";
8
- import { handleSearchClaims } from "./claims.js";
8
+ import { handleSearchClaims, handleAnalyzeClaims, handleTrendClaims, handleContradictClaims, handleCompareClaims, handleEntityClaims, handleClaimGraph, handleTopClaims, handleChannelDossier, handleCompareChannels, handleCheckChannelContradictions, handleFindEntities } from "./claims.js";
9
+ import { handleGetClaim } from "./claim_detail.js";
10
+ import { handleGetTimeline } from "./timeline.js";
9
11
  export const HANDLERS = {
10
12
  search_quotes: handleSearchQuotes,
11
13
  detect_trend: handleDetectTrend,
12
14
  search_claims: handleSearchClaims,
15
+ analyze_claims: handleAnalyzeClaims,
16
+ trend_claims: handleTrendClaims,
17
+ contradict_claims: handleContradictClaims,
18
+ compare_claims: handleCompareClaims,
19
+ find_entities: handleFindEntities,
20
+ entity_claims: handleEntityClaims,
21
+ claim_graph: handleClaimGraph,
22
+ top_claims: handleTopClaims,
23
+ get_claim: handleGetClaim,
24
+ get_timeline: handleGetTimeline,
13
25
  find_speakers: handleFindSpeakers,
14
26
  get_speaker: handleGetSpeaker,
15
27
  get_channel: handleGetChannel,
@@ -17,9 +29,13 @@ export const HANDLERS = {
17
29
  get_segment: handleGetSegment,
18
30
  get_thread: handleGetThread,
19
31
  analyze_topic: handleAnalyzeTopic,
32
+ compare_frames: handleCompareFrames,
20
33
  compare_speakers: handleCompareSpeakers,
21
34
  build_dossier: handleBuildDossier,
22
35
  check_contradictions: handleCheckContradictions,
36
+ channel_dossier: handleChannelDossier,
37
+ compare_channels: handleCompareChannels,
38
+ check_channel_contradictions: handleCheckChannelContradictions,
23
39
  get_briefing: handleGetBriefing,
24
40
  get_platform_stats: handleGetPlatformStats,
25
41
  get_project_stats: handleGetProjectStats,
@@ -1 +1 @@
1
- {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/handlers/registry.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAG/D,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AACpE,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC3I,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,yBAAyB,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAC3I,OAAO,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACnK,OAAO,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAChD,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAEjD,MAAM,CAAC,MAAM,QAAQ,GAA4B;IAC/C,aAAa,EAAE,kBAAkB;IACjC,YAAY,EAAE,iBAAiB;IAC/B,aAAa,EAAE,kBAAkB;IACjC,aAAa,EAAE,kBAAkB;IACjC,WAAW,EAAE,gBAAgB;IAC7B,WAAW,EAAE,gBAAgB;IAC7B,WAAW,EAAE,gBAAgB;IAC7B,WAAW,EAAE,gBAAgB;IAC7B,UAAU,EAAE,eAAe;IAC3B,aAAa,EAAE,kBAAkB;IACjC,gBAAgB,EAAE,qBAAqB;IACvC,aAAa,EAAE,kBAAkB;IACjC,oBAAoB,EAAE,yBAAyB;IAC/C,YAAY,EAAE,iBAAiB;IAC/B,kBAAkB,EAAE,sBAAsB;IAC1C,iBAAiB,EAAE,qBAAqB;IACxC,gBAAgB,EAAE,oBAAoB;IACtC,gBAAgB,EAAE,oBAAoB;IACtC,mBAAmB,EAAE,uBAAuB;IAC5C,UAAU,EAAE,eAAe;IAC3B,gBAAgB,EAAE,oBAAoB;IACtC,gBAAgB,EAAE,qBAAqB;CACxC,CAAC"}
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/handlers/registry.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAG/D,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AACpE,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC3I,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,yBAAyB,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAChK,OAAO,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACnK,OAAO,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAChD,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,eAAe,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,gCAAgC,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAChS,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAElD,MAAM,CAAC,MAAM,QAAQ,GAA4B;IAC/C,aAAa,EAAE,kBAAkB;IACjC,YAAY,EAAE,iBAAiB;IAC/B,aAAa,EAAE,kBAAkB;IACjC,cAAc,EAAE,mBAAmB;IACnC,YAAY,EAAE,iBAAiB;IAC/B,iBAAiB,EAAE,sBAAsB;IACzC,cAAc,EAAE,mBAAmB;IACnC,aAAa,EAAE,kBAAkB;IACjC,aAAa,EAAE,kBAAkB;IACjC,WAAW,EAAE,gBAAgB;IAC7B,UAAU,EAAE,eAAe;IAC3B,SAAS,EAAE,cAAc;IACzB,YAAY,EAAE,iBAAiB;IAC/B,aAAa,EAAE,kBAAkB;IACjC,WAAW,EAAE,gBAAgB;IAC7B,WAAW,EAAE,gBAAgB;IAC7B,WAAW,EAAE,gBAAgB;IAC7B,WAAW,EAAE,gBAAgB;IAC7B,UAAU,EAAE,eAAe;IAC3B,aAAa,EAAE,kBAAkB;IACjC,cAAc,EAAE,mBAAmB;IACnC,gBAAgB,EAAE,qBAAqB;IACvC,aAAa,EAAE,kBAAkB;IACjC,oBAAoB,EAAE,yBAAyB;IAC/C,eAAe,EAAE,oBAAoB;IACrC,gBAAgB,EAAE,qBAAqB;IACvC,4BAA4B,EAAE,gCAAgC;IAC9D,YAAY,EAAE,iBAAiB;IAC/B,kBAAkB,EAAE,sBAAsB;IAC1C,iBAAiB,EAAE,qBAAqB;IACxC,gBAAgB,EAAE,oBAAoB;IACtC,gBAAgB,EAAE,oBAAoB;IACtC,mBAAmB,EAAE,uBAAuB;IAC5C,UAAU,EAAE,eAAe;IAC3B,gBAAgB,EAAE,oBAAoB;IACtC,gBAAgB,EAAE,qBAAqB;CACxC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"reports.d.ts","sourceRoot":"","sources":["../../src/handlers/reports.ts"],"names":[],"mappings":"AAAA,yFAAyF;AAIzF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAiB1D,wBAAsB,sBAAsB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC,CAkBrG;AAED,wBAAsB,qBAAqB,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC,CAqBrG;AAED,wBAAsB,oBAAoB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC,CAoCnG;AAED,wBAAsB,oBAAoB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC,CAsCnG;AAED,wBAAsB,uBAAuB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC,CAiCtG;AAED,wBAAsB,eAAe,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC,CAW9F"}
1
+ {"version":3,"file":"reports.d.ts","sourceRoot":"","sources":["../../src/handlers/reports.ts"],"names":[],"mappings":"AAAA,yFAAyF;AAIzF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAiB1D,wBAAsB,sBAAsB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC,CAkBrG;AAED,wBAAsB,qBAAqB,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC,CAqBrG;AAED,wBAAsB,oBAAoB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC,CAsDnG;AAED,wBAAsB,oBAAoB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC,CAwDnG;AAED,wBAAsB,uBAAuB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC,CAqCtG;AAED,wBAAsB,eAAe,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC,CAqB9F"}