Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
41 commits
Select commit Hold shift + click to select a range
7c9f04b
feat(webui): add Run/Stop button to control agent from dashboard
TONresistor Feb 22, 2026
26f06f3
fix(webui): amélioration UI setup wizard
TONresistor Feb 22, 2026
fd5aab3
feat(mcp): upgrade to Streamable HTTP transport with SSE fallback
TONresistor Feb 22, 2026
b207bba
feat(mcp): live mcpServers getter + streamable-http type
TONresistor Feb 23, 2026
cc02d47
fix(sdk): sendJetton robustness + decimals safety
TONresistor Feb 23, 2026
187747d
fix(webui): neutralize btn-danger and alert colors
TONresistor Feb 23, 2026
51e7381
docs: update changelog [Unreleased]
TONresistor Feb 23, 2026
c268ab2
docs: add logo as banner above title in README
TONresistor Feb 23, 2026
516a620
docs: add TON badge
TONresistor Feb 23, 2026
77fb97f
docs: replace DeepWiki badge with official docs + update provider/too…
TONresistor Feb 23, 2026
442d3a5
chore: bump to v0.7.1
TONresistor Feb 23, 2026
8a71e2a
fix(webui): plugins route now reflects runtime-loaded plugins
TONresistor Feb 23, 2026
6f4fa10
chore: bump to v0.7.2
TONresistor Feb 23, 2026
c8a9bb5
fix(ton): TEP-74 encoding, infra robustness and tests
TONresistor Feb 24, 2026
b9b27cc
feat(provider): add claude-code provider with auto-detected credentials
TONresistor Feb 24, 2026
c9c0f2b
feat(auth): support Telegram anonymous numbers (+888) via Fragment
TONresistor Feb 24, 2026
c526571
fix: replace deprecated claude-3-5-haiku with claude-haiku-4-5 + fix …
TONresistor Feb 24, 2026
d0d6ee0
feat(context): inject reply-to message context into LLM prompt
TONresistor Feb 24, 2026
95bc8cb
chore: bump to v0.7.3
TONresistor Feb 24, 2026
526ce2c
fix(webui): render Select dropdown via portal to fix z-index stacking
TONresistor Feb 24, 2026
853d975
fix(deps): update hono 4.11.9→4.12.2 and ajv 8.17.1→8.18.0
TONresistor Feb 24, 2026
c7bffcc
feat(telegram): add 7 new tools + voice auto-transcription + bump pi-ai
TONresistor Feb 24, 2026
a6b95be
feat(dashboard): gated provider switch with API key validation + shar…
TONresistor Feb 24, 2026
59fd7c0
fix(setup): move model selection into provider step + fix async log p…
TONresistor Feb 24, 2026
ddeae05
ci: add Telegram notifications for commits and releases
TONresistor Feb 24, 2026
5261345
fix: remove extra blank lines in Telegram commit notifications
TONresistor Feb 24, 2026
4a3f51e
refactor(setup): reorder wizard flow + clean up wallet & modules steps
TONresistor Feb 25, 2026
a5c78db
refactor(webui): reorganize Dashboard & Config pages
TONresistor Feb 25, 2026
0ca00e0
feat(webui): expand configurable keys + new dashboard features
TONresistor Feb 25, 2026
8c0a523
fix: pass session path to DealBot + Soul editor layout
TONresistor Feb 25, 2026
1ecd53e
style(webui): use accent blue for toggle switches
TONresistor Feb 25, 2026
922ab5f
v0.7.4
TONresistor Feb 25, 2026
010025e
docs: update CHANGELOG for v0.7.2, v0.7.3, v0.7.4
TONresistor Feb 25, 2026
72a5d8d
feat(tools): add channel username management tools
TONresistor Feb 25, 2026
8fd9f5a
refactor(webui): harmonize config page UX
TONresistor Feb 25, 2026
9597973
chore: gitignore specs, docs/plans, TODOS
TONresistor Feb 25, 2026
42b3f7c
feat(ton): add Toncenter API key + centralize TonClient caching
TONresistor Feb 26, 2026
c5392d8
fix(tools): migrate Ston.fi to SDK v2, harden SendMode, add tx locking
TONresistor Feb 26, 2026
ac3dbbb
fix(bot): persistent typing indicator, retry & dedup hardening
TONresistor Feb 26, 2026
7fe0d17
refactor(webui): redesign dashboard, tools & plugins
TONresistor Feb 26, 2026
2a7f57c
docs: add GroypFi MCP integration for perps trading & token launches …
zeronox79-ui Feb 27, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
81 changes: 81 additions & 0 deletions .github/workflows/telegram-notify.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
name: Telegram Notify

on:
push:
branches: [main]
tags: ["v*"]

jobs:
# ---- Commit notification ----
commit:
if: startsWith(github.ref, 'refs/heads/')
runs-on: ubuntu-latest
steps:
- name: Split commit message
id: msg
run: |
FULL="${{ github.event.head_commit.message }}"
TITLE=$(echo "$FULL" | head -1)
BODY=$(echo "$FULL" | tail -n +3)
echo "title=$TITLE" >> "$GITHUB_OUTPUT"
{
echo "body<<EOF"
echo "$BODY"
echo "EOF"
} >> "$GITHUB_OUTPUT"

- name: Build message
id: fmt
run: |
BODY="${{ steps.msg.outputs.body }}"
if [ -n "$BODY" ]; then
MSG="<b>${{ steps.msg.outputs.title }}</b>

$BODY

<a href=\"${{ github.event.head_commit.url }}\">View commit</a>"
else
MSG="<b>${{ steps.msg.outputs.title }}</b>

<a href=\"${{ github.event.head_commit.url }}\">View commit</a>"
fi
{
echo "text<<EOF"
echo "$MSG"
echo "EOF"
} >> "$GITHUB_OUTPUT"

- name: Send commit to Telegram
uses: appleboy/telegram-action@master
with:
to: ${{ secrets.TELEGRAM_CHAT_ID }}
token: ${{ secrets.TELEGRAM_BOT_TOKEN }}
format: html
disable_web_page_preview: true
message: ${{ steps.fmt.outputs.text }}

# ---- Release notification ----
release:
if: startsWith(github.ref, 'refs/tags/v')
runs-on: ubuntu-latest
steps:
- name: Extract version
id: ver
run: echo "version=${GITHUB_REF_NAME#v}" >> "$GITHUB_OUTPUT"

- name: Send release to Telegram
uses: appleboy/telegram-action@master
with:
to: ${{ secrets.TELEGRAM_CHAT_ID }}
token: ${{ secrets.TELEGRAM_BOT_TOKEN }}
format: html
disable_web_page_preview: true
message: |
🚀 <b>New Release ${{ github.ref_name }}</b>

Teleton ${{ steps.ver.outputs.version }} is now available on npm.
Update your agents:

<code>npm i -g teleton@latest</code>

<a href="https://github.com/${{ github.repository }}/releases/tag/${{ github.ref_name }}">View release</a>
5 changes: 5 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,11 @@ telegram_session.txt
telegram-offset.json
.reference/

# Specs & working docs (local only)
specs/
docs/plans/
TODOS/

# TTS voice models (large binaries)
piper-voices/

63 changes: 62 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,63 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

## [Unreleased]

## [0.7.4] - 2026-02-25

### Added
- **Configurable keys overhaul**: Array type support (admin_ids, allow_from, group_allow_from), labels and option labels on all keys, new keys for Telegram rate limits, Deals params, Embedding model, Cocoon port, Agent base_url
- **ArrayInput component**: Tag-style input for managing array config values in the dashboard
- **Memory sources browser**: List indexed knowledge sources with entry counts, expand to view individual chunks with line ranges
- **Workspace image preview**: Serve raw images with correct MIME type, 5MB limit, SVG sandboxing
- **Tool RAG persistence**: RAG config (enabled, topK, alwaysInclude, skipUnlimitedProviders) now persists to YAML
- **Tasks bulk clean**: Clean tasks by terminal status (done, failed, cancelled) instead of just done
- **GramJS bot session persistence**: Save/load MTProto session string to avoid re-auth on restart

### Changed
- **Remove "pairing" DM policy**: Simplified to open/allowlist/disabled — pairing was unused
- Dashboard Config page reorganized with Telegram settings section, Cocoon port panel, extended Tool RAG controls
- Setup wizard flow reordered, wallet and modules steps cleaned up
- Dashboard and Config pages restructured for better UX
- Soul editor textarea fills available height

### Fixed
- Select dropdown renders via portal (z-index stacking fix)
- Model selection moved into Provider step (no longer separate Config step)
- Async log pollution during CLI setup suppressed
- Telegram commit notification extra blank lines removed
- owner_id auto-syncs to admin_ids on save

## [0.7.3] - 2026-02-24

### Added
- **Claude Code provider**: Auto-detect OAuth tokens from local Claude Code installation (~/.claude/.credentials.json on Linux/Windows, macOS Keychain) with intelligent caching and 401 retry
- **Reply-to context**: Inject quoted message context into LLM prompt when user replies to a message
- **Fragment auth**: Support Telegram anonymous numbers (+888) via Fragment.com verification
- **7 new Telegram tools** (66 → 73): transcribe-audio, get/delete-scheduled-messages, send-scheduled-now, get-collectible-info, get-admined-channels, set-personal-channel
- **Voice auto-transcription**: Automatic transcription of voice/audio messages in handler
- **Gated provider switch**: Dashboard provider change requires API key validation before applying
- **Shared model catalog**: 60+ models across 11 providers, extracted to `model-catalog.ts` (eliminates ~220 duplicated lines)

### Fixed
- **TEP-74 encoding**: Correct jetton transfer payload encoding and infrastructure robustness
- Replace deprecated `claude-3-5-haiku` with `claude-haiku-4-5`
- Seed phrase display in CLI setup
- Bump pi-ai 0.52 → 0.54, hono 4.11.9 → 4.12.2, ajv 8.17.1 → 8.18.0

## [0.7.2] - 2026-02-23

### Fixed
- **Plugins route**: WebUI now reflects runtime-loaded plugins instead of static config

## [0.7.1] - 2026-02-23

### Added
- **Agent Run/Stop control**: Separate agent lifecycle from WebUI — start/stop the agent at runtime without killing the server. New `AgentLifecycle` state machine (`stopped/starting/running/stopping`), REST endpoints (`POST /api/agent/start`, `/stop`, `GET /api/agent/status`), SSE endpoint (`GET /api/agent/events`) for real-time state push, `useAgentStatus` hook (SSE + polling fallback), and `AgentControl` sidebar component with confirmation dialog
- **MCP Streamable HTTP transport**: `StreamableHTTPClientTransport` as primary transport for URL-based MCP servers, with automatic fallback to `SSEClientTransport` on failure. `mcpServers` list is now a lazy function for live status. Resource cleanup (AbortController, sockets) on fallback. Improved error logging with stack traces

### Fixed
- **WebUI setup wizard**: Neutralize color accent overuse — selection states, warning cards, tag pills, step dots all moved to neutral white/grey palette; security notice collapsed into `<details>`; "Optional Integrations" renamed to "Optional API Keys"; bot token marked as "(recommended)"
- **Jetton send**: Wrap entire `sendJetton` flow in try/catch for consistent `PluginSDKError` propagation; remove `SendMode.IGNORE_ERRORS` (errors are no longer silently swallowed); fix `||` → `??` on jetton decimals (prevents `0` decimals being replaced by `9`)

## [0.7.0] - 2026-02-21

### Added
Expand Down Expand Up @@ -268,7 +325,11 @@ Git history rewritten to fix commit attribution (email update from `tonresistor@
- Professional distribution (npm, Docker, CI/CD)
- Pre-commit hooks and linting infrastructure

[Unreleased]: https://github.com/TONresistor/teleton-agent/compare/v0.7.0...HEAD
[Unreleased]: https://github.com/TONresistor/teleton-agent/compare/v0.7.4...HEAD
[0.7.4]: https://github.com/TONresistor/teleton-agent/compare/v0.7.3...v0.7.4
[0.7.3]: https://github.com/TONresistor/teleton-agent/compare/v0.7.2...v0.7.3
[0.7.2]: https://github.com/TONresistor/teleton-agent/compare/v0.7.1...v0.7.2
[0.7.1]: https://github.com/TONresistor/teleton-agent/compare/v0.7.0...v0.7.1
[0.7.0]: https://github.com/TONresistor/teleton-agent/compare/v0.6.0...v0.7.0
[0.6.0]: https://github.com/TONresistor/teleton-agent/compare/v0.5.2...v0.6.0
[0.5.2]: https://github.com/TONresistor/teleton-agent/compare/v0.5.1...v0.5.2
Expand Down
Loading