@signal4/s4 2.0.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 (64) hide show
  1. package/README.md +92 -0
  2. package/bin/s4.js +7 -0
  3. package/bin/signal4-mcp.js +2 -0
  4. package/dist/cli.d.ts +3 -0
  5. package/dist/cli.d.ts.map +1 -0
  6. package/dist/cli.js +737 -0
  7. package/dist/cli.js.map +1 -0
  8. package/dist/client.d.ts +194 -0
  9. package/dist/client.d.ts.map +1 -0
  10. package/dist/client.js +397 -0
  11. package/dist/client.js.map +1 -0
  12. package/dist/config.d.ts +4 -0
  13. package/dist/config.d.ts.map +1 -0
  14. package/dist/config.js +37 -0
  15. package/dist/config.js.map +1 -0
  16. package/dist/format.d.ts +60 -0
  17. package/dist/format.d.ts.map +1 -0
  18. package/dist/format.js +682 -0
  19. package/dist/format.js.map +1 -0
  20. package/dist/handler_types.d.ts +11 -0
  21. package/dist/handler_types.d.ts.map +1 -0
  22. package/dist/handler_types.js +3 -0
  23. package/dist/handler_types.js.map +1 -0
  24. package/dist/handlers/ads.d.ts +4 -0
  25. package/dist/handlers/ads.d.ts.map +1 -0
  26. package/dist/handlers/ads.js +42 -0
  27. package/dist/handlers/ads.js.map +1 -0
  28. package/dist/handlers/analyze.d.ts +8 -0
  29. package/dist/handlers/analyze.d.ts.map +1 -0
  30. package/dist/handlers/analyze.js +77 -0
  31. package/dist/handlers/analyze.js.map +1 -0
  32. package/dist/handlers/bookmarks.d.ts +4 -0
  33. package/dist/handlers/bookmarks.d.ts.map +1 -0
  34. package/dist/handlers/bookmarks.js +42 -0
  35. package/dist/handlers/bookmarks.js.map +1 -0
  36. package/dist/handlers/claims.d.ts +4 -0
  37. package/dist/handlers/claims.d.ts.map +1 -0
  38. package/dist/handlers/claims.js +47 -0
  39. package/dist/handlers/claims.js.map +1 -0
  40. package/dist/handlers/explore.d.ts +9 -0
  41. package/dist/handlers/explore.d.ts.map +1 -0
  42. package/dist/handlers/explore.js +120 -0
  43. package/dist/handlers/explore.js.map +1 -0
  44. package/dist/handlers/registry.d.ts +4 -0
  45. package/dist/handlers/registry.d.ts.map +1 -0
  46. package/dist/handlers/registry.js +33 -0
  47. package/dist/handlers/registry.js.map +1 -0
  48. package/dist/handlers/reports.d.ts +9 -0
  49. package/dist/handlers/reports.d.ts.map +1 -0
  50. package/dist/handlers/reports.js +160 -0
  51. package/dist/handlers/reports.js.map +1 -0
  52. package/dist/handlers/search.d.ts +5 -0
  53. package/dist/handlers/search.d.ts.map +1 -0
  54. package/dist/handlers/search.js +128 -0
  55. package/dist/handlers/search.js.map +1 -0
  56. package/dist/index.d.ts +8 -0
  57. package/dist/index.d.ts.map +1 -0
  58. package/dist/index.js +97 -0
  59. package/dist/index.js.map +1 -0
  60. package/dist/types.d.ts +482 -0
  61. package/dist/types.d.ts.map +1 -0
  62. package/dist/types.js +3 -0
  63. package/dist/types.js.map +1 -0
  64. package/package.json +52 -0
package/README.md ADDED
@@ -0,0 +1,92 @@
1
+ # @signal4/s4
2
+
3
+ Media intelligence CLI and MCP server for AI agents.
4
+
5
+ Search quotes, analyze discourse, track trends, and explore speakers across thousands of podcasts and media channels.
6
+
7
+ ## CLI
8
+
9
+ ```bash
10
+ # Install globally
11
+ npm install -g @signal4/s4
12
+
13
+ # Or run directly
14
+ npx @signal4/s4 search "tariffs" --speaker "Trudeau" --days 7
15
+ ```
16
+
17
+ ### Setup
18
+
19
+ ```bash
20
+ s4 setup # Save your API key
21
+ s4 whoami # Verify access
22
+ ```
23
+
24
+ ### Commands
25
+
26
+ ```bash
27
+ # Search
28
+ s4 search "immigration" --speaker "Tucker Carlson"
29
+ s4 claims "AI regulation" --entity "OpenAI"
30
+ s4 trend "tariffs"
31
+
32
+ # Explore
33
+ s4 speaker "Joe Rogan"
34
+ s4 speaker "Tucker Carlson" "economy" # discourse search
35
+ s4 channel "Power & Politics"
36
+ s4 episode pod_8f1e55513f70 --transcript
37
+ s4 segment 28553756
38
+ s4 thread 28553756
39
+
40
+ # Analyze
41
+ s4 analyze "carbon tax" --days 14
42
+ s4 compare "tariffs" --speakers "Trump,Biden"
43
+ s4 dossier "immigration" --speaker "Carlson"
44
+ s4 contradictions "vaccines" --speaker "Trump"
45
+ s4 briefing
46
+
47
+ # Reports
48
+ s4 stats
49
+ s4 top-speakers --ranking talkative
50
+ s4 top-channels
51
+ s4 network
52
+ s4 topics
53
+
54
+ # Ads
55
+ s4 ads --trending
56
+
57
+ # Bookmarks
58
+ s4 bookmarks
59
+ s4 bookmarks add segment 12345 --note "key quote"
60
+ ```
61
+
62
+ All commands support `--json` for raw JSON output.
63
+
64
+ ## MCP Server
65
+
66
+ For Claude Desktop, Cursor, or other MCP clients:
67
+
68
+ ```json
69
+ {
70
+ "mcpServers": {
71
+ "signal4": {
72
+ "command": "npx",
73
+ "args": ["-y", "@signal4/s4", "--mcp"],
74
+ "env": {
75
+ "SIGNAL4_API_KEY": "your-api-key"
76
+ }
77
+ }
78
+ }
79
+ }
80
+ ```
81
+
82
+ Tool definitions are loaded dynamically from the API based on your key's access level.
83
+
84
+ ## Requirements
85
+
86
+ - Node.js 18+
87
+ - A Signal4 API key ([signal4.ca](https://signal4.ca))
88
+
89
+ ## Links
90
+
91
+ - [Signal4](https://signal4.ca)
92
+ - [API docs](https://signal4.ca/docs/api)
package/bin/s4.js ADDED
@@ -0,0 +1,7 @@
1
+ #!/usr/bin/env node
2
+ const args = process.argv.slice(2);
3
+ if (args[0] === "mcp" || args.includes("--mcp")) {
4
+ await import("../dist/index.js");
5
+ } else {
6
+ await import("../dist/cli.js");
7
+ }
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env node
2
+ import "../dist/index.js";
package/dist/cli.d.ts ADDED
@@ -0,0 +1,3 @@
1
+ /** Signal4 CLI — terminal interface sharing handlers with the MCP server. */
2
+ export declare function main(): Promise<void>;
3
+ //# sourceMappingURL=cli.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAkpB7E,wBAAsB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAwD1C"}