@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.
- package/README.md +15 -0
- package/bin/signal4-mcp-http.js +2 -0
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +582 -98
- package/dist/cli.js.map +1 -1
- package/dist/client.d.ts +18 -0
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +53 -7
- package/dist/client.js.map +1 -1
- package/dist/format.d.ts +67 -18
- package/dist/format.d.ts.map +1 -1
- package/dist/format.js +637 -358
- package/dist/format.js.map +1 -1
- package/dist/handler_types.d.ts +4 -0
- package/dist/handler_types.d.ts.map +1 -1
- package/dist/handler_types.js +8 -1
- package/dist/handler_types.js.map +1 -1
- package/dist/handlers/ads.d.ts.map +1 -1
- package/dist/handlers/ads.js +11 -0
- package/dist/handlers/ads.js.map +1 -1
- package/dist/handlers/bookmarks.js +4 -4
- package/dist/handlers/bookmarks.js.map +1 -1
- package/dist/handlers/claims.d.ts.map +1 -1
- package/dist/handlers/claims.js +57 -17
- package/dist/handlers/claims.js.map +1 -1
- package/dist/handlers/explore.d.ts +2 -1
- package/dist/handlers/explore.d.ts.map +1 -1
- package/dist/handlers/explore.js +64 -10
- package/dist/handlers/explore.js.map +1 -1
- package/dist/handlers/registry.d.ts.map +1 -1
- package/dist/handlers/registry.js +2 -1
- package/dist/handlers/registry.js.map +1 -1
- package/dist/handlers/reports.d.ts.map +1 -1
- package/dist/handlers/reports.js +53 -31
- package/dist/handlers/reports.js.map +1 -1
- package/dist/handlers/search.d.ts.map +1 -1
- package/dist/handlers/search.js +60 -37
- package/dist/handlers/search.js.map +1 -1
- package/dist/handlers/timeline.d.ts.map +1 -1
- package/dist/handlers/timeline.js +12 -1
- package/dist/handlers/timeline.js.map +1 -1
- package/dist/http.d.ts +16 -0
- package/dist/http.d.ts.map +1 -0
- package/dist/http.js +132 -0
- package/dist/http.js.map +1 -0
- package/dist/index.d.ts +3 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +12 -149
- package/dist/index.js.map +1 -1
- package/dist/provenance.d.ts +41 -0
- package/dist/provenance.d.ts.map +1 -0
- package/dist/provenance.js +65 -0
- package/dist/provenance.js.map +1 -0
- package/dist/server_core.d.ts +40 -0
- package/dist/server_core.d.ts.map +1 -0
- package/dist/server_core.js +174 -0
- package/dist/server_core.js.map +1 -0
- package/dist/types.d.ts +55 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +6 -2
package/dist/format.d.ts
CHANGED
|
@@ -1,14 +1,56 @@
|
|
|
1
|
-
/**
|
|
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
|
-
|
|
22
|
-
export declare function
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
export declare function
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
export declare function
|
|
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
|
-
|
|
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
|
package/dist/format.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"format.d.ts","sourceRoot":"","sources":["../src/format.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"format.d.ts","sourceRoot":"","sources":["../src/format.ts"],"names":[],"mappings":"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"}
|