Commit Graph

32 Commits

Author SHA1 Message Date
a6e1026aef Merge remote-tracking branch 'origin/codex/production-intelligence-terminal' into codex/issue-2-stale-alerts
All checks were successful
Codex Template Compliance / template-compliance (pull_request) Successful in 6s
Build / test-and-image (pull_request) Successful in 52s
2026-05-17 18:56:32 +02:00
MrSphay
83c55df3a9 feat: add scenario watchlist
All checks were successful
Codex Template Compliance / template-compliance (pull_request) Successful in 5s
Build / test-and-image (pull_request) Successful in 51s
2026-05-17 14:49:05 +02:00
e574ad1c3d feat: alert operators on stale data
All checks were successful
Codex Template Compliance / template-compliance (pull_request) Successful in 5s
Build / test-and-image (pull_request) Successful in 53s
2026-05-17 13:58:32 +02:00
85f97bb2a6 feat: harden intelligence runtime and llm providers 2026-05-16 21:18:34 +02:00
calesthio
1b80539cdc feat(markets): surface gold and silver across dashboard and briefs 2026-03-28 22:53:23 -07:00
calesthio
1fb50939ce fix(grok): align token caps and docs 2026-03-28 22:36:33 -07:00
3byss
457dba2800 Fixed any issues with the PR 2026-03-27 22:22:21 -06:00
3byss
9028d42a39 Merge remote-tracking branch 'upstream/master' 2026-03-27 22:13:37 -06:00
Calesthio
53f6d81d5e Merge pull request #68 from schergr/fix/osint-signal-truncation
Fix remaining OSINT signal text truncation
2026-03-25 10:21:02 -07:00
calesthio
5c08355e38 Fix Telegram dedup identity and legacy Markdown escaping 2026-03-24 18:48:55 -07:00
Greg Scher
b7322f1c7e Fix HTML entity decoding and broaden OSINT dedup window
- Replace single ' handler with generic numeric/hex entity decoder
  so ' and other unpadded entities are properly converted
- Dedup urgent OSINT posts against all hot memory runs (last 3 sweeps)
  instead of only the previous sweep, preventing posts that drop out
  of one sweep from reappearing as "new" in the next

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-23 13:01:32 -04:00
Greg Scher
31c305cbbb Escape Markdown in alert signals and cap OSINT text in ideas prompt
Addresses PR review: escape Markdown-sensitive characters in
_formatTieredAlert signal bullets to prevent Telegram Bot API
rejections, and add a 1500-char budget for URGENT_OSINT in
compactSweepForLLM to bound prompt size while keeping full text upstream.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-23 12:57:37 -04:00
3byss
caf4430284 Merge branch 'master' into master 2026-03-21 16:17:13 -06:00
Greg Scher
2d166c20e8 Remove remaining text truncation across delta engine, memory, and ideas
The prior fix (753c676) only removed truncation at source ingestion and
alert formatting. Signals were still being cut to 120 chars in the delta
engine, 80 chars in memory snapshots, and 120 chars in the ideas LLM
context — so OSINT posts arrived at the alerter already truncated.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-21 12:59:30 -04:00
3byss
cb275759bb Fixed types and created tests 2026-03-20 16:26:30 -06:00
R4V3N
38046367a9 Resolve merge conflicts with Mistral provider
Include both Mistral and Ollama providers in factory,
config, and env docs.
2026-03-20 22:37:35 +01:00
Greg Scher
753c6766a0 Remove text truncation limits from Telegram posts
Posts were being cut to 300 chars (source ingestion) and 150 chars
(alert evaluation), losing valuable OSINT context. The sendMessage
chunker already handles the 4096-char Telegram API limit.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-20 16:49:58 -04:00
3byss
17b8d9ed87 Finished the Grok LLM implementation 2026-03-20 00:46:44 -06:00
nirae
05b63a68af use mistral-large-latest instead of mistral-medium 2026-03-19 08:04:08 -07:00
nirae
4af53ab25a Add Mistral AI as LLM provider 2026-03-19 08:04:08 -07:00
Calesthio
3fed206e59 feat(i18n): Add internationalization support with English and French locales (#1)
feat(i18n): Add internationalization support with English and French locales
2026-03-19 08:00:40 -07:00
Calesthio
2c9174bdae Fix telegram (#29)
Fix telegram
2026-03-19 08:00:24 -07:00
David
9b395b6aa5 feat(i18n): Add internationalization support
- Add i18n module with locale loading and translation helpers
- Add English (en) and French (fr) locale files with comprehensive translations
- Inject locale data into dashboard HTML via server
- Add /api/locales endpoint for locale info
- Add t() translation function to dashboard

Translated elements:
- Boot sequence (initialization, connecting, sweep complete)
- Header pills (sweep, sources, delta, risk indicators)
- Left rail panels (sensor grid, nuclear watch, risk gauges, space watch)
- Layer names and descriptions
- Map legend items
- Lower panels (news ticker, sweep delta, macro+markets, trade ideas)
- Right rail (OSINT stream)
- Badges and status indicators

Supported languages: English (default), French
Set CRUCIX_LANG=fr to switch to French
2026-03-18 21:43:57 +01:00
R4V3N
06514fb5e4 Add Ollama provider for self-hosted LLM inference
Adds LLM_PROVIDER=ollama for fully local, zero-cost inference
via Ollama's OpenAI-compatible API. No API key required.
Configurable base URL via OLLAMA_BASE_URL env var.
2026-03-18 17:13:16 +01:00
satoshipanic
801293356c fix(telegram): restore command auth boundary and scope command registration
Restrict command handling to TELEGRAM_CHAT_ID again to prevent arbitrary private chats from executing privileged bot commands. Keep reply routing, @BotName parsing, and long-message chunking while scoping setMyCommands to the configured chat only.

Made-with: Cursor
2026-03-18 08:20:32 +01:00
calesthio
3e2d1a3b5d Merge master into feature/openrouter-support 2026-03-17 14:27:06 -07:00
satoshipanic
28121298cf fix(telegram): split long messages at 4096 chars to avoid truncation
- Add TELEGRAM_MAX_TEXT and _chunkText(); send multiple messages when over limit
- Prefer newline boundaries to avoid breaking Markdown

Made-with: Cursor
2026-03-17 14:41:47 +01:00
satoshipanic
2a0b73e5a6 fix(telegram): register slash commands and support DM/group two-way bot
- Call setMyCommands on startup for private and group chat scopes
- Parse /cmd@BotName in groups; reply to originating chat
- Allow sendMessage chatId override for command replies

Made-with: Cursor
2026-03-17 14:41:47 +01:00
dan
ea2e13e0c5 feat(llm): add OpenRouter provider implementation 2026-03-16 20:16:43 +00:00
Octopus
6f41c2ff3d feat: add MiniMax as LLM provider
Add MiniMax (api.minimax.io) as a fifth LLM provider option alongside
Anthropic, OpenAI, Gemini, and Codex. MiniMax offers an
OpenAI-compatible Chat Completions API with the M2.5 model (204K
context window).

Changes:
- lib/llm/minimax.mjs: new provider using raw fetch (no SDK)
- lib/llm/index.mjs: register MiniMax in the factory
- .env.example, crucix.config.mjs, README.md: document the new option
- test/llm-minimax.test.mjs: 10 unit tests (node:test)
- test/llm-minimax-integration.test.mjs: live API integration test

Usage:
  LLM_PROVIDER=minimax
  LLM_API_KEY=sk-...
  LLM_MODEL=MiniMax-M2.5          # optional, this is the default
2026-03-16 08:45:35 -05:00
calesthio
3674fcb4f7 Crucix — agent with dashboard, delta engine, Telegram/Discord bots 2026-03-14 00:35:31 -07:00
calesthio
ef2c6470fb Initial release — Crucix Intelligence Engine v2.0.0
26-source OSINT intelligence engine with live Jarvis dashboard,
auto-refresh via SSE, optional LLM layer (4 providers), delta/memory
system, and Telegram breaking news alerts.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 23:45:46 -07:00