@signal4/s4 2.5.0 → 2.6.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 (60) hide show
  1. package/README.md +15 -0
  2. package/bin/signal4-mcp-http.js +2 -0
  3. package/dist/cli.d.ts.map +1 -1
  4. package/dist/cli.js +582 -98
  5. package/dist/cli.js.map +1 -1
  6. package/dist/client.d.ts +18 -0
  7. package/dist/client.d.ts.map +1 -1
  8. package/dist/client.js +53 -7
  9. package/dist/client.js.map +1 -1
  10. package/dist/format.d.ts +67 -18
  11. package/dist/format.d.ts.map +1 -1
  12. package/dist/format.js +637 -358
  13. package/dist/format.js.map +1 -1
  14. package/dist/handler_types.d.ts +4 -0
  15. package/dist/handler_types.d.ts.map +1 -1
  16. package/dist/handler_types.js +8 -1
  17. package/dist/handler_types.js.map +1 -1
  18. package/dist/handlers/ads.d.ts.map +1 -1
  19. package/dist/handlers/ads.js +11 -0
  20. package/dist/handlers/ads.js.map +1 -1
  21. package/dist/handlers/bookmarks.js +4 -4
  22. package/dist/handlers/bookmarks.js.map +1 -1
  23. package/dist/handlers/claims.d.ts.map +1 -1
  24. package/dist/handlers/claims.js +57 -17
  25. package/dist/handlers/claims.js.map +1 -1
  26. package/dist/handlers/explore.d.ts +2 -1
  27. package/dist/handlers/explore.d.ts.map +1 -1
  28. package/dist/handlers/explore.js +64 -10
  29. package/dist/handlers/explore.js.map +1 -1
  30. package/dist/handlers/registry.d.ts.map +1 -1
  31. package/dist/handlers/registry.js +2 -1
  32. package/dist/handlers/registry.js.map +1 -1
  33. package/dist/handlers/reports.d.ts.map +1 -1
  34. package/dist/handlers/reports.js +53 -31
  35. package/dist/handlers/reports.js.map +1 -1
  36. package/dist/handlers/search.d.ts.map +1 -1
  37. package/dist/handlers/search.js +60 -37
  38. package/dist/handlers/search.js.map +1 -1
  39. package/dist/handlers/timeline.d.ts.map +1 -1
  40. package/dist/handlers/timeline.js +12 -1
  41. package/dist/handlers/timeline.js.map +1 -1
  42. package/dist/http.d.ts +16 -0
  43. package/dist/http.d.ts.map +1 -0
  44. package/dist/http.js +132 -0
  45. package/dist/http.js.map +1 -0
  46. package/dist/index.d.ts +3 -1
  47. package/dist/index.d.ts.map +1 -1
  48. package/dist/index.js +12 -149
  49. package/dist/index.js.map +1 -1
  50. package/dist/provenance.d.ts +41 -0
  51. package/dist/provenance.d.ts.map +1 -0
  52. package/dist/provenance.js +65 -0
  53. package/dist/provenance.js.map +1 -0
  54. package/dist/server_core.d.ts +40 -0
  55. package/dist/server_core.d.ts.map +1 -0
  56. package/dist/server_core.js +174 -0
  57. package/dist/server_core.js.map +1 -0
  58. package/dist/types.d.ts +55 -0
  59. package/dist/types.d.ts.map +1 -1
  60. package/package.json +6 -2
package/dist/format.d.ts CHANGED
@@ -1,14 +1,56 @@
1
- /** Shared formatting utilities — markdown output for MCP tools. */
1
+ /**
2
+ * Shared formatting utilities — markdown output for MCP tools.
3
+ *
4
+ * Implements RESPONSE_SPEC.md (v1). This file is the reference renderer;
5
+ * the golden fixtures in test/drift/ are the byte-authoritative contract for
6
+ * any port. Canonical tokens, truncation markers, and footers all live
7
+ * here — do not invent per-tool vocabulary in handlers.
8
+ */
2
9
  import type { Quote, QuoteSearchResult, ClaimsSearchResult, SpeakerProfile, ChannelProfile, SegmentDetail, AnalysisResult, BriefingResult, AdStats, AdvertiserDetail, TopicCluster, ClaimDetailResult, ClaimObservationsResult, RelatedClaimsResult, TimelineResult, ClaimsTopicAnalysis, ClaimsTrendResult, ClaimsContradictionsResult, ClaimsCompareResult, ChannelDossierResult, ChannelCompareResult, EntitySearchResult, EntityClaimsResult, ClaimGraphResult, TopClaimsResult, Claim } from "./types.js";
3
10
  export declare function parsePoliticalLean(lean: string | undefined): {
4
11
  min?: number;
5
12
  max?: number;
6
13
  };
14
+ export declare function leanLabel(lean: number): string;
15
+ /** `lean:0.72 (right)` — numeric always present (spec §3). */
16
+ export declare function leanToken(lean: number): string;
7
17
  export declare function fmtTime(seconds: number | null | undefined): string;
18
+ /** `t:512.4-598.2s (8:32-9:58)` — raw seconds, humanized in parens (spec §3). */
19
+ export declare function fmtTimeRange(start: number | null | undefined, end: number | null | undefined): string;
8
20
  export declare function fmtHours(seconds: number | null | undefined): string;
9
21
  export declare function fmtDuration(seconds: number | null | undefined): string;
10
- export declare function truncate(text: string | undefined, maxlen?: number): string;
11
22
  export declare function fmtDate(iso: string | null | undefined): string;
23
+ /** `conf:87%` or `conf:unverified` — null is NEVER 0% (spec §3/§9). */
24
+ export declare function confToken(confidence: number | null | undefined): string;
25
+ /** `trend:surging (+340%)` / `trend:new` / `trend:steady (n/a)` (spec §5). */
26
+ export declare function trendToken(direction: string, changePct: number | null | undefined): string;
27
+ /** `lang:es` when non-English; empty string for en/unknown. */
28
+ export declare function langToken(language: string | null | undefined): string;
29
+ export declare const NON_ENGLISH_NOTE = "note: non-English claim extraction is beta (elevated error rate)";
30
+ /** Plain word-boundary truncation with no marker — ONLY for synthesized text
31
+ * where a retrieval pointer exists nearby. Verbatim text must use
32
+ * truncateWithPointer instead. */
33
+ export declare function truncate(text: string | undefined, maxlen?: number): string;
34
+ /** Default budget for verbatim quote text (spec §4). */
35
+ export declare const QUOTE_BUDGET = 600;
36
+ /**
37
+ * Truncation with mandatory marker + retrieval pointer (spec §4):
38
+ * `…[truncated — full text: get_segment seg:42314442]`.
39
+ * When no retrieval pointer exists, the text is NOT cut — nothing is
40
+ * silently unrecoverable.
41
+ */
42
+ export declare function truncateWithPointer(text: string | undefined, pointer: string | undefined, maxlen?: number): string;
43
+ /** Rewrite LLM `{seg_N}` / `{{seg_N}}` citations to the spec token `seg:N`. */
44
+ export declare function rewriteSegCitations(text: string | undefined): string | undefined;
45
+ /** `showing 20 of 249 — offset:20 for more` (spec §7.2). */
46
+ export declare function pagingNote(opts: {
47
+ shown: number;
48
+ total?: number | null;
49
+ offset?: number;
50
+ countCapped?: boolean;
51
+ }): string;
52
+ /** `→ get_claim claim:1499738 include_observations:true · get_segment seg:42314442` */
53
+ export declare function nextCallHint(...calls: Array<string | undefined>): string;
12
54
  export declare function dedupQuotes(quotes: Quote[]): Quote[];
13
55
  export declare function emptyStateSuggestions(params: {
14
56
  topic?: string;
@@ -16,24 +58,26 @@ export declare function emptyStateSuggestions(params: {
16
58
  channel_name?: string;
17
59
  mode?: string;
18
60
  days?: number;
61
+ fullHistory?: boolean;
19
62
  }): string;
20
- export declare function formatQuotes(data: QuoteSearchResult): string;
21
- export declare function formatClaims(data: ClaimsSearchResult): string;
22
- export declare function formatClaimsTopicAnalysis(data: ClaimsTopicAnalysis, topic: string): string;
23
- export declare function formatClaimsTrend(data: ClaimsTrendResult, topic: string): string;
24
- export declare function formatClaimsContradictions(data: ClaimsContradictionsResult, speaker: string, topic: string): string;
25
- export declare function formatClaimsComparison(data: ClaimsCompareResult, topic: string): string;
26
- export declare function formatChannelDossier(data: ChannelDossierResult): string;
27
- export declare function formatChannelClaimsComparison(data: ChannelCompareResult, topic: string): string;
28
- /**
29
- * Per-claim content breakdown. Text (substack) observations are excluded
30
- * from the tool surface, so only the AV episode count is shown.
31
- */
32
- export declare function contentBreakdown(c: Claim): string;
63
+ export declare function formatQuotes(data: QuoteSearchResult, footer?: string, offset?: number): string;
64
+ /** One compact claim line — used on EVERY claim list surface (spec §3). */
65
+ export declare function claimLine(c: Claim & {
66
+ similarity?: number;
67
+ }, idx?: number, opts?: {
68
+ assertDeny?: boolean;
69
+ }): string;
70
+ export declare function formatClaims(data: ClaimsSearchResult, footer?: string, offset?: number): string;
71
+ export declare function formatClaimsTopicAnalysis(data: ClaimsTopicAnalysis, topic: string, footer?: string): string;
72
+ export declare function formatClaimsTrend(data: ClaimsTrendResult, topic: string, footer?: string): string;
73
+ export declare function formatClaimsContradictions(data: ClaimsContradictionsResult, speaker: string, topic: string, footer?: string): string;
74
+ export declare function formatClaimsComparison(data: ClaimsCompareResult, topic: string, footer?: string): string;
75
+ export declare function formatChannelDossier(data: ChannelDossierResult, footer?: string): string;
76
+ export declare function formatChannelClaimsComparison(data: ChannelCompareResult, topic: string, footer?: string): string;
33
77
  export declare function formatEntitySearch(data: EntitySearchResult): string;
34
- export declare function formatEntityClaims(data: EntityClaimsResult): string;
78
+ export declare function formatEntityClaims(data: EntityClaimsResult, footer?: string, offset?: number): string;
35
79
  export declare function formatClaimGraph(data: ClaimGraphResult): string;
36
- export declare function formatTopClaims(data: TopClaimsResult): string;
80
+ export declare function formatTopClaims(data: TopClaimsResult, footer?: string): string;
37
81
  export declare function formatSpeaker(data: SpeakerProfile): string;
38
82
  export declare function formatChannel(data: ChannelProfile): string;
39
83
  export declare function formatSegment(data: SegmentDetail): string;
@@ -59,6 +103,8 @@ export declare function formatChannelAds(data: {
59
103
  total_ad_reads?: number;
60
104
  time_window_days?: number;
61
105
  advertisers: Array<{
106
+ id?: number;
107
+ advertiser_id?: number;
62
108
  name: string;
63
109
  category?: string;
64
110
  is_network_promo?: boolean;
@@ -70,6 +116,8 @@ export declare function formatChannelAds(data: {
70
116
  export declare function formatAdTrends(data: {
71
117
  comparison?: string;
72
118
  advertisers: Array<{
119
+ id?: number;
120
+ advertiser_id?: number;
73
121
  name: string;
74
122
  category?: string;
75
123
  trend: string;
@@ -79,5 +127,6 @@ export declare function formatAdTrends(data: {
79
127
  }>;
80
128
  }): string;
81
129
  export declare function formatClaimDetail(detail: ClaimDetailResult, observations: ClaimObservationsResult | null, related: RelatedClaimsResult | null): string;
82
- export declare function formatTimeline(data: TimelineResult): string;
130
+ /** MCP timeline: `date<TAB>count` rows (spec §5 — bar glyphs retired). */
131
+ export declare function formatTimeline(data: TimelineResult, footer?: string): string;
83
132
  //# sourceMappingURL=format.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"format.d.ts","sourceRoot":"","sources":["../src/format.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"format.d.ts","sourceRoot":"","sources":["../src/format.ts"],"names":[],"mappings":"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"}