wispy-ai 0.6.0 → 0.6.1
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 +167 -145
- package/dist/channels/telegram/adapter.d.ts +14 -1
- package/dist/channels/telegram/adapter.d.ts.map +1 -1
- package/dist/channels/telegram/adapter.js +294 -4
- package/dist/channels/telegram/adapter.js.map +1 -1
- package/dist/cli/ui/banner.js +1 -1
- package/dist/gateway/server.js +2 -2
- package/dist/gateway/server.js.map +1 -1
- package/dist/marathon/executor.d.ts.map +1 -1
- package/dist/marathon/executor.js +20 -10
- package/dist/marathon/executor.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,27 +1,75 @@
|
|
|
1
1
|
# Wispy ☁️👀
|
|
2
2
|
|
|
3
|
-
**Autonomous AI Agent Platform powered by Google Gemini**
|
|
3
|
+
**Autonomous AI Agent Platform powered by Google Gemini 3**
|
|
4
4
|
|
|
5
|
-
Wispy is an open-source, self-hostable autonomous AI agent
|
|
5
|
+
Wispy is an open-source, self-hostable autonomous AI agent with **Marathon Mode** — multi-day task execution with self-verification and recovery. Control it from your phone via Telegram, get real-time progress updates, and let it work autonomously while you sleep.
|
|
6
6
|
|
|
7
|
-
Built for the **Google
|
|
7
|
+
Built for the **Google Gemini 3 Hackathon** — showcasing the "Action Era" of autonomous AI agents.
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## Marathon Mode — The Killer Feature
|
|
12
|
+
|
|
13
|
+
Marathon Mode enables truly autonomous multi-day task execution:
|
|
14
|
+
|
|
15
|
+
```
|
|
16
|
+
/marathon Build a full-stack e-commerce app with Next.js, Stripe, and Postgres
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
**What happens:**
|
|
20
|
+
1. **Ultra Thinking (65K tokens)** — Deep planning decomposes your goal into milestones
|
|
21
|
+
2. **Autonomous Execution** — Each milestone is executed, verified, and checkpointed
|
|
22
|
+
3. **Self-Recovery** — If something fails, it analyzes the error and tries a different approach
|
|
23
|
+
4. **Real-time Updates** — Get Telegram/Discord/Slack notifications on progress
|
|
24
|
+
5. **Resume Anytime** — Pause, resume, or restore from checkpoints
|
|
25
|
+
|
|
26
|
+
### Telegram Integration
|
|
27
|
+
|
|
28
|
+
Control your AI agent from your phone:
|
|
29
|
+
|
|
30
|
+
| Command | Description |
|
|
31
|
+
|---------|-------------|
|
|
32
|
+
| `/marathon <goal>` | Start autonomous task |
|
|
33
|
+
| `/status` | Check progress with visual milestones |
|
|
34
|
+
| `/pause` | Pause current marathon |
|
|
35
|
+
| `/resume` | Continue where you left off |
|
|
36
|
+
| `/abort` | Stop the marathon |
|
|
37
|
+
| `/list` | View all marathons |
|
|
38
|
+
|
|
39
|
+
**Example workflow:**
|
|
40
|
+
```
|
|
41
|
+
You: /marathon Create a React dashboard with charts and auth
|
|
42
|
+
|
|
43
|
+
Wispy: 🏃 Starting Marathon...
|
|
44
|
+
Planning with ultra thinking...
|
|
45
|
+
|
|
46
|
+
[2 hours later]
|
|
47
|
+
|
|
48
|
+
Wispy: ✅ Milestone Completed: Set up Next.js project
|
|
49
|
+
Progress: 1/6 (17%)
|
|
50
|
+
|
|
51
|
+
[4 hours later]
|
|
52
|
+
|
|
53
|
+
Wispy: 🎉 Marathon Completed!
|
|
54
|
+
Goal: Create a React dashboard
|
|
55
|
+
Milestones: 6/6
|
|
56
|
+
Artifacts: 24 files created
|
|
57
|
+
```
|
|
8
58
|
|
|
9
59
|
---
|
|
10
60
|
|
|
11
61
|
## Features
|
|
12
62
|
|
|
13
|
-
- **
|
|
14
|
-
- **
|
|
15
|
-
- **
|
|
16
|
-
- **
|
|
17
|
-
- **
|
|
18
|
-
- **
|
|
19
|
-
- **
|
|
20
|
-
- **
|
|
21
|
-
- **
|
|
22
|
-
- **
|
|
23
|
-
- **Auto-Start** — Boot on login (Windows Task Scheduler, macOS launchd, Linux systemd)
|
|
24
|
-
- **7-Layer Security** — Device identity, AES-256-GCM encryption, API key scanning, action guards, session isolation
|
|
63
|
+
- **Marathon Mode** — Autonomous multi-day task execution with self-verification
|
|
64
|
+
- **Ultra Thinking** — 65K token budget for complex planning and reasoning
|
|
65
|
+
- **Telegram Control** — Start, pause, resume marathons from your phone
|
|
66
|
+
- **Multi-Agent System** — 8 specialized agents that collaborate on complex tasks
|
|
67
|
+
- **27+ Integrations** — Google, Discord, Slack, GitHub, Notion, and more
|
|
68
|
+
- **Interactive CLI** — Claude Code-level REPL with markdown rendering
|
|
69
|
+
- **Voice Mode** — Whisper STT + Piper TTS for hands-free interaction
|
|
70
|
+
- **MCP Server** — Model Context Protocol for IDE integration
|
|
71
|
+
- **Memory System** — Vector embeddings with long-term recall
|
|
72
|
+
- **7-Layer Security** — Device identity, AES-256-GCM encryption, session isolation
|
|
25
73
|
|
|
26
74
|
---
|
|
27
75
|
|
|
@@ -39,16 +87,12 @@ npm i -g wispy-ai
|
|
|
39
87
|
wispy setup
|
|
40
88
|
```
|
|
41
89
|
|
|
42
|
-
This launches the interactive setup wizard where you pick your AI model, select agents, connect integrations, and configure voice mode.
|
|
43
|
-
|
|
44
90
|
### Run
|
|
45
91
|
|
|
46
92
|
```bash
|
|
47
|
-
wispy chat
|
|
48
|
-
wispy
|
|
49
|
-
wispy
|
|
50
|
-
wispy gateway # Start full gateway (WebSocket + REST + A2A)
|
|
51
|
-
wispy mcp-server # MCP server for Antigravity / VS Code
|
|
93
|
+
wispy chat # Interactive REPL
|
|
94
|
+
wispy marathon "Build a todo app" # Start a marathon
|
|
95
|
+
wispy gateway # Full gateway with Telegram
|
|
52
96
|
```
|
|
53
97
|
|
|
54
98
|
### From source
|
|
@@ -65,161 +109,137 @@ node bin/wispy.js setup
|
|
|
65
109
|
|
|
66
110
|
---
|
|
67
111
|
|
|
68
|
-
##
|
|
69
|
-
|
|
70
|
-
| Category | Integrations |
|
|
71
|
-
|----------|-------------|
|
|
72
|
-
| **Google** | Calendar, Gmail, Drive, Docs, Sheets, Meet, Maps, Search, YouTube |
|
|
73
|
-
| **Chat** | Discord, Slack, WhatsApp |
|
|
74
|
-
| **AI Models** | OpenAI, Anthropic, Ollama (local) |
|
|
75
|
-
| **Productivity** | Notion, Obsidian, GitHub, Linear |
|
|
76
|
-
| **Music** | Spotify |
|
|
77
|
-
| **Smart Home** | Philips Hue, Home Assistant |
|
|
78
|
-
| **Tools** | Browser, Webhooks, Weather |
|
|
79
|
-
| **Social** | Twitter/X, Email (SMTP) |
|
|
112
|
+
## CLI Commands
|
|
80
113
|
|
|
81
|
-
|
|
114
|
+
### Marathon Commands
|
|
82
115
|
|
|
83
|
-
|
|
116
|
+
```
|
|
117
|
+
wispy marathon "goal" Start a new marathon
|
|
118
|
+
wispy marathon status Check current marathon
|
|
119
|
+
wispy marathon pause Pause active marathon
|
|
120
|
+
wispy marathon resume Resume paused marathon
|
|
121
|
+
wispy marathon abort Stop marathon
|
|
122
|
+
wispy marathon list List all marathons
|
|
123
|
+
```
|
|
84
124
|
|
|
85
|
-
|
|
125
|
+
### REPL Commands
|
|
86
126
|
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
| **Security** | Audit, vulnerability scanning |
|
|
96
|
-
| **Planner** | Task breakdown, project planning |
|
|
127
|
+
```
|
|
128
|
+
/marathon <goal> Start marathon from REPL
|
|
129
|
+
/status Marathon/system status
|
|
130
|
+
/help Show all commands
|
|
131
|
+
/voice on Start voice mode
|
|
132
|
+
/model pro Switch model
|
|
133
|
+
/clear Clear screen
|
|
134
|
+
```
|
|
97
135
|
|
|
98
136
|
---
|
|
99
137
|
|
|
100
|
-
##
|
|
101
|
-
|
|
102
|
-
| Model | Use |
|
|
103
|
-
|-------|-----|
|
|
104
|
-
| Gemini 2.5 Pro | Reasoning, planning, analysis |
|
|
105
|
-
| Gemini 2.5 Flash | Quick tasks, classification |
|
|
106
|
-
| Gemini Pro Image | Image generation |
|
|
107
|
-
| text-embedding-004 | Vector memory embeddings |
|
|
108
|
-
| Gemma 3 (via Ollama) | Local/private inference |
|
|
138
|
+
## Thinking Levels
|
|
109
139
|
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
## CLI Commands
|
|
140
|
+
Wispy uses Gemini 3's thinking capabilities strategically:
|
|
113
141
|
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
wispy integrations list List all 27+ integrations
|
|
122
|
-
wispy integrations enable <id>
|
|
123
|
-
wispy autostart install Auto-start on boot
|
|
124
|
-
wispy mcp-server MCP server for IDE integration
|
|
125
|
-
wispy sessions list List sessions
|
|
126
|
-
wispy memory search <q> Search memory
|
|
127
|
-
wispy skills list List skills
|
|
128
|
-
wispy wallet status Wallet balance
|
|
129
|
-
wispy peers list A2A peers
|
|
130
|
-
wispy cron list Scheduled tasks
|
|
131
|
-
wispy config show Show configuration
|
|
132
|
-
```
|
|
133
|
-
|
|
134
|
-
### REPL Slash Commands
|
|
135
|
-
|
|
136
|
-
```
|
|
137
|
-
/help Show commands
|
|
138
|
-
/status System status
|
|
139
|
-
/integrations List integrations
|
|
140
|
-
/voice on Start voice mode
|
|
141
|
-
/tokens Token usage stats
|
|
142
|
-
/memory <q> Search memory
|
|
143
|
-
/model pro Switch model
|
|
144
|
-
/session <key> Switch session
|
|
145
|
-
/history Conversation history
|
|
146
|
-
/skills List skills
|
|
147
|
-
/wallet Wallet status
|
|
148
|
-
/peers A2A peers
|
|
149
|
-
/export Export as markdown
|
|
150
|
-
/clear Clear screen
|
|
151
|
-
/exit Quit
|
|
152
|
-
```
|
|
142
|
+
| Level | Token Budget | Use Case |
|
|
143
|
+
|-------|--------------|----------|
|
|
144
|
+
| minimal | 128 | Quick responses |
|
|
145
|
+
| low | 1,024 | Simple tasks |
|
|
146
|
+
| medium | 4,096 | Standard operations |
|
|
147
|
+
| high | 16,384 | Complex reasoning |
|
|
148
|
+
| **ultra** | **65,536** | Marathon planning |
|
|
153
149
|
|
|
154
150
|
---
|
|
155
151
|
|
|
156
152
|
## Architecture
|
|
157
153
|
|
|
158
154
|
```
|
|
159
|
-
User Goal →
|
|
160
|
-
|
|
161
|
-
|
|
155
|
+
User Goal → Ultra Thinking → Milestone Plan → Autonomous Execution
|
|
156
|
+
↓
|
|
157
|
+
Self-Verification
|
|
158
|
+
↓
|
|
159
|
+
✅ or 🔄 Recovery
|
|
160
|
+
↓
|
|
161
|
+
Next Milestone...
|
|
162
162
|
```
|
|
163
163
|
|
|
164
|
-
###
|
|
164
|
+
### Marathon Flow
|
|
165
165
|
|
|
166
166
|
```
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
│
|
|
171
|
-
│
|
|
172
|
-
│
|
|
173
|
-
│
|
|
174
|
-
│
|
|
175
|
-
│
|
|
176
|
-
│
|
|
177
|
-
│
|
|
178
|
-
│
|
|
179
|
-
│
|
|
180
|
-
│
|
|
181
|
-
│
|
|
182
|
-
│
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
167
|
+
┌─────────────────────────────────────────────────────────────┐
|
|
168
|
+
│ MARATHON MODE │
|
|
169
|
+
├─────────────────────────────────────────────────────────────┤
|
|
170
|
+
│ │
|
|
171
|
+
│ 📝 Goal: "Build e-commerce app" │
|
|
172
|
+
│ │
|
|
173
|
+
│ 🧠 Ultra Thinking (65K tokens) │
|
|
174
|
+
│ └─→ Decompose into milestones │
|
|
175
|
+
│ │
|
|
176
|
+
│ 📋 Milestones: │
|
|
177
|
+
│ ✅ 1. Set up Next.js project │
|
|
178
|
+
│ ✅ 2. Create database schema │
|
|
179
|
+
│ 🔄 3. Build product catalog ← Current │
|
|
180
|
+
│ ⏳ 4. Implement cart system │
|
|
181
|
+
│ ⏳ 5. Add Stripe payments │
|
|
182
|
+
│ ⏳ 6. Deploy to Vercel │
|
|
183
|
+
│ │
|
|
184
|
+
│ 📱 Telegram: Real-time updates to your phone │
|
|
185
|
+
│ 💾 Checkpoints: Restore to any milestone │
|
|
186
|
+
│ 🔁 Recovery: Auto-retry with different approach │
|
|
187
|
+
│ │
|
|
188
|
+
└─────────────────────────────────────────────────────────────┘
|
|
187
189
|
```
|
|
188
190
|
|
|
189
|
-
### Two-Directory Design
|
|
190
|
-
|
|
191
|
-
- **`wispy/`** — Soul & identity files (version-controlled): SOUL.md, IDENTITY.md, AGENTS.md, skills/
|
|
192
|
-
- **`.wispy/`** — Runtime data (gitignored): config.yaml, device identity, sessions, vector DB, credentials
|
|
193
|
-
|
|
194
191
|
---
|
|
195
192
|
|
|
196
|
-
##
|
|
197
|
-
|
|
198
|
-
```
|
|
199
|
-
> /voice on
|
|
193
|
+
## Multi-Agent System
|
|
200
194
|
|
|
201
|
-
|
|
202
|
-
|
|
195
|
+
| Agent | Role |
|
|
196
|
+
|-------|------|
|
|
197
|
+
| **Coder** | Code generation, debugging, refactoring |
|
|
198
|
+
| **Researcher** | Web search, analysis, summarization |
|
|
199
|
+
| **Writer** | Content creation, copywriting, docs |
|
|
200
|
+
| **DevOps** | CI/CD, deployment, infrastructure |
|
|
201
|
+
| **Designer** | UI/UX design, accessibility |
|
|
202
|
+
| **Data** | SQL, data analysis, visualization |
|
|
203
|
+
| **Security** | Audit, vulnerability scanning |
|
|
204
|
+
| **Planner** | Task breakdown, project planning |
|
|
203
205
|
|
|
204
|
-
|
|
205
|
-
Wispy: "I'll create a UserProfile component..."
|
|
206
|
+
---
|
|
206
207
|
|
|
207
|
-
|
|
208
|
-
```
|
|
208
|
+
## Integrations (27+)
|
|
209
209
|
|
|
210
|
-
|
|
210
|
+
| Category | Integrations |
|
|
211
|
+
|----------|-------------|
|
|
212
|
+
| **Google** | Calendar, Gmail, Drive, Docs, Sheets, Meet, Maps, YouTube |
|
|
213
|
+
| **Chat** | Discord, Slack, WhatsApp, **Telegram** |
|
|
214
|
+
| **AI Models** | Gemini 3, OpenAI, Anthropic, Ollama |
|
|
215
|
+
| **Productivity** | Notion, Obsidian, GitHub, Linear |
|
|
216
|
+
| **Payments** | x402 USDC Wallet |
|
|
211
217
|
|
|
212
218
|
---
|
|
213
219
|
|
|
214
220
|
## Tech Stack
|
|
215
221
|
|
|
216
222
|
- **Runtime**: TypeScript, Node.js 20+
|
|
217
|
-
- **AI**: Google
|
|
218
|
-
- **CLI**: Commander.js, Chalk, Ora
|
|
219
|
-
- **
|
|
220
|
-
- **
|
|
221
|
-
- **
|
|
222
|
-
- **
|
|
223
|
+
- **AI**: Google Gemini 3 with Ultra Thinking
|
|
224
|
+
- **CLI**: Commander.js, Chalk, Ora
|
|
225
|
+
- **Telegram**: grammy
|
|
226
|
+
- **Protocols**: MCP, A2A (Ed25519), x402 (ethers.js)
|
|
227
|
+
- **Data**: SQLite + vector embeddings
|
|
228
|
+
- **Security**: AES-256-GCM, Ed25519
|
|
229
|
+
|
|
230
|
+
---
|
|
231
|
+
|
|
232
|
+
## Why Marathon Mode Wins
|
|
233
|
+
|
|
234
|
+
| Traditional Agents | Wispy Marathon Mode |
|
|
235
|
+
|-------------------|---------------------|
|
|
236
|
+
| Single task → done | Multi-day autonomous execution |
|
|
237
|
+
| Fails → stops | Fails → analyzes → recovers |
|
|
238
|
+
| No verification | Self-verification at each step |
|
|
239
|
+
| Manual monitoring | Real-time Telegram updates |
|
|
240
|
+
| Lost context on pause | Thought signatures preserve state |
|
|
241
|
+
|
|
242
|
+
**This is the "Action Era"** — AI that works autonomously while you sleep.
|
|
223
243
|
|
|
224
244
|
---
|
|
225
245
|
|
|
@@ -229,4 +249,6 @@ MIT
|
|
|
229
249
|
|
|
230
250
|
---
|
|
231
251
|
|
|
232
|
-
Built for the Google
|
|
252
|
+
**Built for the Google Gemini 3 Hackathon** ☁️👀
|
|
253
|
+
|
|
254
|
+
*Control your AI agent from Telegram. Let it work while you sleep.*
|
|
@@ -1,3 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Telegram Adapter
|
|
3
|
+
* Full integration with Marathon Mode - control your AI agent from your phone
|
|
4
|
+
*/
|
|
5
|
+
import { Bot, type Context } from "grammy";
|
|
1
6
|
import type { Agent } from "../../core/agent.js";
|
|
2
|
-
|
|
7
|
+
/**
|
|
8
|
+
* Send a message to a specific chat (for notifications)
|
|
9
|
+
*/
|
|
10
|
+
export declare function sendTelegramMessage(chatId: string, message: string): Promise<boolean>;
|
|
11
|
+
export declare function startTelegram(token: string, agent: Agent, runtimeDir: string, apiKey?: string): Bot<Context, import("grammy").Api<import("grammy").RawApi>>;
|
|
12
|
+
/**
|
|
13
|
+
* Get the bot instance for external use
|
|
14
|
+
*/
|
|
15
|
+
export declare function getTelegramBot(): Bot | null;
|
|
3
16
|
//# sourceMappingURL=adapter.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../src/channels/telegram/adapter.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../src/channels/telegram/adapter.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,GAAG,EAAE,KAAK,OAAO,EAAE,MAAM,QAAQ,CAAC;AAG3C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAcjD;;GAEG;AACH,wBAAsB,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAY3F;AAqED,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,+DAiT7F;AAED;;GAEG;AACH,wBAAgB,cAAc,IAAI,GAAG,GAAG,IAAI,CAE3C"}
|
|
@@ -1,36 +1,319 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Telegram Adapter
|
|
3
|
+
* Full integration with Marathon Mode - control your AI agent from your phone
|
|
4
|
+
*/
|
|
1
5
|
import { Bot } from "grammy";
|
|
2
6
|
import { registerChannel, updateChannelStatus } from "../dock.js";
|
|
3
7
|
import { isPaired, pairUser } from "../../security/auth.js";
|
|
4
8
|
import { createLogger } from "../../infra/logger.js";
|
|
9
|
+
import { MarathonService, formatDuration } from "../../marathon/service.js";
|
|
10
|
+
import { getPlanProgress } from "../../marathon/planner.js";
|
|
5
11
|
const log = createLogger("telegram");
|
|
6
|
-
|
|
12
|
+
// Global bot instance for sending notifications
|
|
13
|
+
let botInstance = null;
|
|
14
|
+
let marathonService = null;
|
|
15
|
+
let agentInstance = null;
|
|
16
|
+
let apiKeyInstance = null;
|
|
17
|
+
/**
|
|
18
|
+
* Send a message to a specific chat (for notifications)
|
|
19
|
+
*/
|
|
20
|
+
export async function sendTelegramMessage(chatId, message) {
|
|
21
|
+
if (!botInstance) {
|
|
22
|
+
log.warn("Telegram bot not initialized, cannot send notification");
|
|
23
|
+
return false;
|
|
24
|
+
}
|
|
25
|
+
try {
|
|
26
|
+
await botInstance.api.sendMessage(chatId, message, { parse_mode: "Markdown" });
|
|
27
|
+
return true;
|
|
28
|
+
}
|
|
29
|
+
catch (err) {
|
|
30
|
+
log.error({ err }, "Failed to send Telegram message");
|
|
31
|
+
return false;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Format marathon status for Telegram
|
|
36
|
+
*/
|
|
37
|
+
function formatStatusForTelegram(state) {
|
|
38
|
+
const progress = getPlanProgress(state.plan);
|
|
39
|
+
const statusEmoji = {
|
|
40
|
+
planning: "📋",
|
|
41
|
+
executing: "⚡",
|
|
42
|
+
verifying: "🔍",
|
|
43
|
+
paused: "⏸️",
|
|
44
|
+
completed: "✅",
|
|
45
|
+
failed: "❌",
|
|
46
|
+
waiting_human: "👤",
|
|
47
|
+
};
|
|
48
|
+
let msg = `${statusEmoji[state.status] || "❓"} *Marathon Status*\n\n`;
|
|
49
|
+
msg += `*Goal:* ${state.plan.goal}\n`;
|
|
50
|
+
msg += `*Status:* ${state.status.toUpperCase()}\n`;
|
|
51
|
+
msg += `*Progress:* ${progress.completed}/${progress.total} (${progress.percentage}%)\n`;
|
|
52
|
+
msg += `*ETA:* ${formatDuration(progress.estimatedRemainingMinutes)}\n\n`;
|
|
53
|
+
msg += `*Milestones:*\n`;
|
|
54
|
+
for (const m of state.plan.milestones) {
|
|
55
|
+
const icons = {
|
|
56
|
+
pending: "⏳",
|
|
57
|
+
in_progress: "🔄",
|
|
58
|
+
completed: "✅",
|
|
59
|
+
failed: "❌",
|
|
60
|
+
skipped: "⏭️",
|
|
61
|
+
};
|
|
62
|
+
msg += `${icons[m.status] || "❓"} ${m.title}\n`;
|
|
63
|
+
}
|
|
64
|
+
if (state.logs.length > 0) {
|
|
65
|
+
msg += `\n*Latest:* ${state.logs[state.logs.length - 1].message}`;
|
|
66
|
+
}
|
|
67
|
+
return msg;
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Format marathon list for Telegram
|
|
71
|
+
*/
|
|
72
|
+
function formatMarathonList(marathons) {
|
|
73
|
+
if (marathons.length === 0) {
|
|
74
|
+
return "📭 No marathons found. Start one with:\n`/marathon Build a React todo app`";
|
|
75
|
+
}
|
|
76
|
+
let msg = "🏃 *Your Marathons*\n\n";
|
|
77
|
+
for (const m of marathons.slice(0, 5)) {
|
|
78
|
+
const statusEmoji = {
|
|
79
|
+
planning: "📋",
|
|
80
|
+
executing: "⚡",
|
|
81
|
+
paused: "⏸️",
|
|
82
|
+
completed: "✅",
|
|
83
|
+
failed: "❌",
|
|
84
|
+
};
|
|
85
|
+
const progress = getPlanProgress(m.plan);
|
|
86
|
+
msg += `${statusEmoji[m.status] || "❓"} *${m.plan.goal.slice(0, 40)}*${m.plan.goal.length > 40 ? "..." : ""}\n`;
|
|
87
|
+
msg += ` ID: \`${m.id}\` | ${progress.percentage}%\n\n`;
|
|
88
|
+
}
|
|
89
|
+
return msg;
|
|
90
|
+
}
|
|
91
|
+
export function startTelegram(token, agent, runtimeDir, apiKey) {
|
|
7
92
|
const bot = new Bot(token);
|
|
93
|
+
botInstance = bot;
|
|
94
|
+
agentInstance = agent;
|
|
95
|
+
apiKeyInstance = apiKey || process.env.GEMINI_API_KEY || "";
|
|
96
|
+
marathonService = new MarathonService(runtimeDir);
|
|
97
|
+
// /start - Welcome message with commands
|
|
8
98
|
bot.command("start", async (ctx) => {
|
|
9
99
|
const userId = String(ctx.from?.id || "");
|
|
10
100
|
if (!isPaired(runtimeDir, "telegram", userId)) {
|
|
11
101
|
pairUser(runtimeDir, "telegram", userId);
|
|
12
102
|
}
|
|
13
|
-
|
|
103
|
+
const welcomeMsg = `☁️ *Welcome to Wispy!*
|
|
104
|
+
|
|
105
|
+
Your autonomous AI companion with Marathon Mode.
|
|
106
|
+
|
|
107
|
+
*Chat Commands:*
|
|
108
|
+
Just send any message to chat with me!
|
|
109
|
+
|
|
110
|
+
*Marathon Commands:*
|
|
111
|
+
/marathon <goal> - Start autonomous task
|
|
112
|
+
/status - Check marathon progress
|
|
113
|
+
/pause - Pause current marathon
|
|
114
|
+
/resume - Resume paused marathon
|
|
115
|
+
/abort - Stop current marathon
|
|
116
|
+
/list - View all marathons
|
|
117
|
+
|
|
118
|
+
*Example:*
|
|
119
|
+
\`/marathon Build a React calculator app with tests\`
|
|
120
|
+
|
|
121
|
+
I'll work autonomously and keep you updated! 🚀`;
|
|
122
|
+
await ctx.reply(welcomeMsg, { parse_mode: "Markdown" });
|
|
123
|
+
});
|
|
124
|
+
// /marathon <goal> - Start a new marathon
|
|
125
|
+
bot.command("marathon", async (ctx) => {
|
|
126
|
+
const userId = String(ctx.from?.id || "");
|
|
127
|
+
const chatId = String(ctx.chat?.id || "");
|
|
128
|
+
if (!isPaired(runtimeDir, "telegram", userId)) {
|
|
129
|
+
await ctx.reply("Please send /start first to pair with Wispy.");
|
|
130
|
+
return;
|
|
131
|
+
}
|
|
132
|
+
const goal = ctx.message?.text?.replace(/^\/marathon\s*/i, "").trim();
|
|
133
|
+
if (!goal) {
|
|
134
|
+
await ctx.reply("🎯 Please provide a goal!\n\n" +
|
|
135
|
+
"*Usage:* `/marathon <your goal>`\n\n" +
|
|
136
|
+
"*Examples:*\n" +
|
|
137
|
+
"• `/marathon Build a React todo app`\n" +
|
|
138
|
+
"• `/marathon Create a REST API with Node.js`\n" +
|
|
139
|
+
"• `/marathon Set up a blog with Next.js`", { parse_mode: "Markdown" });
|
|
140
|
+
return;
|
|
141
|
+
}
|
|
142
|
+
if (!agentInstance || !apiKeyInstance) {
|
|
143
|
+
await ctx.reply("❌ Agent not properly initialized. Please restart Wispy.");
|
|
144
|
+
return;
|
|
145
|
+
}
|
|
146
|
+
await ctx.reply(`🏃 *Starting Marathon*\n\n` +
|
|
147
|
+
`*Goal:* ${goal}\n\n` +
|
|
148
|
+
`Planning with ultra thinking... This may take a moment.`, { parse_mode: "Markdown" });
|
|
149
|
+
try {
|
|
150
|
+
// Start marathon in background
|
|
151
|
+
marathonService.start(goal, agentInstance, apiKeyInstance, {
|
|
152
|
+
notifications: {
|
|
153
|
+
enabled: true,
|
|
154
|
+
channels: { telegram: { chatId } },
|
|
155
|
+
notifyOn: {
|
|
156
|
+
milestoneComplete: true,
|
|
157
|
+
milestoneFailure: true,
|
|
158
|
+
humanInputNeeded: true,
|
|
159
|
+
marathonComplete: true,
|
|
160
|
+
dailySummary: false,
|
|
161
|
+
},
|
|
162
|
+
},
|
|
163
|
+
}).then(async (finalState) => {
|
|
164
|
+
// Marathon completed
|
|
165
|
+
const result = marathonService.getResult(finalState.id);
|
|
166
|
+
if (result?.success) {
|
|
167
|
+
await sendTelegramMessage(chatId, `🎉 *Marathon Completed!*\n\n` +
|
|
168
|
+
`*Goal:* ${finalState.plan.goal}\n` +
|
|
169
|
+
`*Milestones:* ${result.completedMilestones}/${result.totalMilestones}\n` +
|
|
170
|
+
`*Time:* ${formatDuration(result.totalTime)}\n\n` +
|
|
171
|
+
`${result.artifacts.length > 0 ? `*Artifacts:*\n${result.artifacts.map(a => `• ${a}`).join("\n")}` : ""}`);
|
|
172
|
+
}
|
|
173
|
+
else {
|
|
174
|
+
await sendTelegramMessage(chatId, `❌ *Marathon Failed*\n\n` +
|
|
175
|
+
`*Goal:* ${finalState.plan.goal}\n` +
|
|
176
|
+
`*Completed:* ${result?.completedMilestones || 0}/${result?.totalMilestones || 0}\n\n` +
|
|
177
|
+
`Use /status for details.`);
|
|
178
|
+
}
|
|
179
|
+
}).catch(async (err) => {
|
|
180
|
+
log.error({ err }, "Marathon execution error");
|
|
181
|
+
await sendTelegramMessage(chatId, `❌ Marathon error: ${err.message}`);
|
|
182
|
+
});
|
|
183
|
+
// Immediate response
|
|
184
|
+
await ctx.reply(`✅ Marathon started!\n\n` +
|
|
185
|
+
`I'll notify you on progress. Use /status to check anytime.`, { parse_mode: "Markdown" });
|
|
186
|
+
}
|
|
187
|
+
catch (err) {
|
|
188
|
+
const errMsg = err instanceof Error ? err.message : String(err);
|
|
189
|
+
log.error({ err }, "Failed to start marathon");
|
|
190
|
+
await ctx.reply(`❌ Failed to start marathon: ${errMsg}`);
|
|
191
|
+
}
|
|
192
|
+
});
|
|
193
|
+
// /status - Get current marathon status
|
|
194
|
+
bot.command("status", async (ctx) => {
|
|
195
|
+
const userId = String(ctx.from?.id || "");
|
|
196
|
+
if (!isPaired(runtimeDir, "telegram", userId)) {
|
|
197
|
+
await ctx.reply("Please send /start first to pair with Wispy.");
|
|
198
|
+
return;
|
|
199
|
+
}
|
|
200
|
+
const state = marathonService.getStatus();
|
|
201
|
+
if (!state) {
|
|
202
|
+
await ctx.reply("📭 No active marathon.\n\nStart one with:\n`/marathon <your goal>`", { parse_mode: "Markdown" });
|
|
203
|
+
return;
|
|
204
|
+
}
|
|
205
|
+
await ctx.reply(formatStatusForTelegram(state), { parse_mode: "Markdown" });
|
|
206
|
+
});
|
|
207
|
+
// /pause - Pause active marathon
|
|
208
|
+
bot.command("pause", async (ctx) => {
|
|
209
|
+
const userId = String(ctx.from?.id || "");
|
|
210
|
+
if (!isPaired(runtimeDir, "telegram", userId)) {
|
|
211
|
+
await ctx.reply("Please send /start first to pair with Wispy.");
|
|
212
|
+
return;
|
|
213
|
+
}
|
|
214
|
+
marathonService.pause();
|
|
215
|
+
await ctx.reply("⏸️ Marathon paused.\n\nUse /resume to continue.", { parse_mode: "Markdown" });
|
|
216
|
+
});
|
|
217
|
+
// /resume - Resume paused marathon
|
|
218
|
+
bot.command("resume", async (ctx) => {
|
|
219
|
+
const userId = String(ctx.from?.id || "");
|
|
220
|
+
const chatId = String(ctx.chat?.id || "");
|
|
221
|
+
if (!isPaired(runtimeDir, "telegram", userId)) {
|
|
222
|
+
await ctx.reply("Please send /start first to pair with Wispy.");
|
|
223
|
+
return;
|
|
224
|
+
}
|
|
225
|
+
const state = marathonService.getStatus();
|
|
226
|
+
if (!state) {
|
|
227
|
+
await ctx.reply("📭 No marathon to resume.");
|
|
228
|
+
return;
|
|
229
|
+
}
|
|
230
|
+
if (state.status !== "paused") {
|
|
231
|
+
await ctx.reply(`Marathon is ${state.status}, not paused.`);
|
|
232
|
+
return;
|
|
233
|
+
}
|
|
234
|
+
if (!agentInstance || !apiKeyInstance) {
|
|
235
|
+
await ctx.reply("❌ Agent not properly initialized.");
|
|
236
|
+
return;
|
|
237
|
+
}
|
|
238
|
+
await ctx.reply("▶️ Resuming marathon...", { parse_mode: "Markdown" });
|
|
239
|
+
try {
|
|
240
|
+
marathonService.resume(state.id, agentInstance, apiKeyInstance)
|
|
241
|
+
.then(async (finalState) => {
|
|
242
|
+
const result = marathonService.getResult(finalState.id);
|
|
243
|
+
await sendTelegramMessage(chatId, result?.success
|
|
244
|
+
? `🎉 *Marathon Completed!*\n\n${finalState.plan.goal}`
|
|
245
|
+
: `❌ *Marathon ended*\n\nStatus: ${finalState.status}`);
|
|
246
|
+
})
|
|
247
|
+
.catch(async (err) => {
|
|
248
|
+
await sendTelegramMessage(chatId, `❌ Error: ${err.message}`);
|
|
249
|
+
});
|
|
250
|
+
}
|
|
251
|
+
catch (err) {
|
|
252
|
+
const errMsg = err instanceof Error ? err.message : String(err);
|
|
253
|
+
await ctx.reply(`❌ Failed to resume: ${errMsg}`);
|
|
254
|
+
}
|
|
255
|
+
});
|
|
256
|
+
// /abort - Stop current marathon
|
|
257
|
+
bot.command("abort", async (ctx) => {
|
|
258
|
+
const userId = String(ctx.from?.id || "");
|
|
259
|
+
if (!isPaired(runtimeDir, "telegram", userId)) {
|
|
260
|
+
await ctx.reply("Please send /start first to pair with Wispy.");
|
|
261
|
+
return;
|
|
262
|
+
}
|
|
263
|
+
marathonService.abort();
|
|
264
|
+
await ctx.reply("🛑 Marathon aborted.", { parse_mode: "Markdown" });
|
|
14
265
|
});
|
|
266
|
+
// /list - List all marathons
|
|
267
|
+
bot.command("list", async (ctx) => {
|
|
268
|
+
const userId = String(ctx.from?.id || "");
|
|
269
|
+
if (!isPaired(runtimeDir, "telegram", userId)) {
|
|
270
|
+
await ctx.reply("Please send /start first to pair with Wispy.");
|
|
271
|
+
return;
|
|
272
|
+
}
|
|
273
|
+
const marathons = marathonService.listMarathons();
|
|
274
|
+
await ctx.reply(formatMarathonList(marathons), { parse_mode: "Markdown" });
|
|
275
|
+
});
|
|
276
|
+
// Regular text messages - Chat with Wispy
|
|
15
277
|
bot.on("message:text", async (ctx) => {
|
|
16
278
|
const userId = String(ctx.from?.id || "");
|
|
17
279
|
const text = ctx.message?.text || "";
|
|
280
|
+
// Skip if it's a command
|
|
281
|
+
if (text.startsWith("/"))
|
|
282
|
+
return;
|
|
18
283
|
if (!isPaired(runtimeDir, "telegram", userId)) {
|
|
19
284
|
await ctx.reply("Please send /start first to pair with Wispy.");
|
|
20
285
|
return;
|
|
21
286
|
}
|
|
22
287
|
try {
|
|
288
|
+
// Show typing indicator
|
|
289
|
+
await ctx.api.sendChatAction(ctx.chat.id, "typing");
|
|
23
290
|
const result = await agent.chat(text, userId, "telegram", "main");
|
|
24
|
-
|
|
291
|
+
// Split long messages (Telegram limit is 4096 chars)
|
|
292
|
+
const responseText = result.text || "...";
|
|
293
|
+
if (responseText.length > 4000) {
|
|
294
|
+
const chunks = responseText.match(/.{1,4000}/gs) || [];
|
|
295
|
+
for (const chunk of chunks) {
|
|
296
|
+
await ctx.reply(chunk, { parse_mode: "Markdown" }).catch(() => {
|
|
297
|
+
// Fallback without markdown if parsing fails
|
|
298
|
+
ctx.reply(chunk);
|
|
299
|
+
});
|
|
300
|
+
}
|
|
301
|
+
}
|
|
302
|
+
else {
|
|
303
|
+
await ctx.reply(responseText, { parse_mode: "Markdown" }).catch(() => {
|
|
304
|
+
ctx.reply(responseText);
|
|
305
|
+
});
|
|
306
|
+
}
|
|
25
307
|
}
|
|
26
308
|
catch (err) {
|
|
27
309
|
log.error({ err }, "Telegram chat error");
|
|
28
310
|
await ctx.reply("Sorry, something went wrong. Please try again.");
|
|
29
311
|
}
|
|
30
312
|
});
|
|
313
|
+
// Start the bot
|
|
31
314
|
bot.start({
|
|
32
315
|
onStart: () => {
|
|
33
|
-
log.info("Telegram bot started");
|
|
316
|
+
log.info("Telegram bot started with Marathon support");
|
|
34
317
|
registerChannel({
|
|
35
318
|
name: "telegram",
|
|
36
319
|
type: "telegram",
|
|
@@ -52,5 +335,12 @@ export function startTelegram(token, agent, runtimeDir) {
|
|
|
52
335
|
log.error({ err }, "Telegram bot error");
|
|
53
336
|
updateChannelStatus("telegram", "error", String(err));
|
|
54
337
|
});
|
|
338
|
+
return bot;
|
|
339
|
+
}
|
|
340
|
+
/**
|
|
341
|
+
* Get the bot instance for external use
|
|
342
|
+
*/
|
|
343
|
+
export function getTelegramBot() {
|
|
344
|
+
return botInstance;
|
|
55
345
|
}
|
|
56
346
|
//# sourceMappingURL=adapter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../../src/channels/telegram/adapter.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../../src/channels/telegram/adapter.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/ui/banner.js
CHANGED
package/dist/gateway/server.js
CHANGED
|
@@ -109,10 +109,10 @@ export async function startGateway(opts) {
|
|
|
109
109
|
const { startRestApi } = await import("../channels/rest/adapter.js");
|
|
110
110
|
startRestApi(restPort, agent, config);
|
|
111
111
|
}
|
|
112
|
-
// Start Telegram
|
|
112
|
+
// Start Telegram (with apiKey for Marathon support)
|
|
113
113
|
if (config.channels.telegram?.enabled && config.channels.telegram.token) {
|
|
114
114
|
const { startTelegram } = await import("../channels/telegram/adapter.js");
|
|
115
|
-
startTelegram(config.channels.telegram.token, agent, runtimeDir);
|
|
115
|
+
startTelegram(config.channels.telegram.token, agent, runtimeDir, apiKey);
|
|
116
116
|
}
|
|
117
117
|
// Start A2A server
|
|
118
118
|
const a2aPort = 4002;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/gateway/server.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/gateway/server.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../../src/marathon/executor.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAQH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,KAAK,EACV,aAAa,EAKd,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../../src/marathon/executor.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAQH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,KAAK,EACV,aAAa,EAKd,MAAM,YAAY,CAAC;AAkEpB,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,KAAK,CAAQ;IACrB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,KAAK,CAAgB;IAC7B,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,MAAM,CAAS;gBAEX,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa;IAMxD,GAAG,IAAI,OAAO,CAAC,aAAa,CAAC;YAyCrB,gBAAgB;YA6EhB,eAAe;YAmCf,eAAe;YA2Cf,gBAAgB;YAiBhB,aAAa;IAY3B,OAAO,CAAC,uBAAuB;IA2B/B,OAAO,CAAC,sBAAsB;IAO9B,OAAO,CAAC,GAAG;YAyBG,uBAAuB;YAavB,sBAAsB;YAatB,iBAAiB;IA4C/B,OAAO,CAAC,iBAAiB;IAQzB,OAAO,CAAC,YAAY;IAcpB,OAAO,CAAC,KAAK;IAIb,KAAK,IAAI,IAAI;IAIb,KAAK,IAAI,IAAI;IAIb,QAAQ,IAAI,aAAa;CAG1B"}
|
|
@@ -8,8 +8,9 @@ import { existsSync, readFileSync, writeFileSync } from "fs";
|
|
|
8
8
|
import { resolve } from "path";
|
|
9
9
|
import { nanoid } from "nanoid";
|
|
10
10
|
import { generateWithThinking } from "../ai/gemini.js";
|
|
11
|
-
import { updateMilestoneStatus, getNextMilestone } from "./planner.js";
|
|
11
|
+
import { updateMilestoneStatus, getNextMilestone, getPlanProgress } from "./planner.js";
|
|
12
12
|
import { createHash } from "crypto";
|
|
13
|
+
import { sendTelegramMessage } from "../channels/telegram/adapter.js";
|
|
13
14
|
const execAsync = promisify(exec);
|
|
14
15
|
const EXECUTION_PROMPT = `You are an autonomous AI agent executing a specific milestone in a larger project.
|
|
15
16
|
|
|
@@ -285,8 +286,11 @@ export class MarathonExecutor {
|
|
|
285
286
|
return;
|
|
286
287
|
if (!this.state.notifications.notifyOn.milestoneComplete)
|
|
287
288
|
return;
|
|
288
|
-
const
|
|
289
|
-
|
|
289
|
+
const progress = getPlanProgress(this.state.plan);
|
|
290
|
+
const message = `✅ *Milestone Completed*\n\n` +
|
|
291
|
+
`*${milestone.title}*\n\n` +
|
|
292
|
+
`Progress: ${progress.completed}/${progress.total} (${progress.percentage}%)\n` +
|
|
293
|
+
`Remaining: ~${progress.estimatedRemainingMinutes}min`;
|
|
290
294
|
await this.sendNotifications(message);
|
|
291
295
|
}
|
|
292
296
|
async notifyMilestoneFailure(milestone, error) {
|
|
@@ -294,9 +298,11 @@ export class MarathonExecutor {
|
|
|
294
298
|
return;
|
|
295
299
|
if (!this.state.notifications.notifyOn.milestoneFailure)
|
|
296
300
|
return;
|
|
297
|
-
const
|
|
298
|
-
|
|
299
|
-
|
|
301
|
+
const progress = getPlanProgress(this.state.plan);
|
|
302
|
+
const message = `❌ *Milestone Failed*\n\n` +
|
|
303
|
+
`*${milestone.title}*\n\n` +
|
|
304
|
+
`Error: ${error.slice(0, 200)}\n` +
|
|
305
|
+
`Progress: ${progress.completed}/${progress.total}`;
|
|
300
306
|
await this.sendNotifications(message);
|
|
301
307
|
}
|
|
302
308
|
async sendNotifications(message) {
|
|
@@ -304,8 +310,10 @@ export class MarathonExecutor {
|
|
|
304
310
|
// Telegram notification
|
|
305
311
|
if (channels.telegram?.chatId) {
|
|
306
312
|
try {
|
|
307
|
-
|
|
308
|
-
|
|
313
|
+
const sent = await sendTelegramMessage(channels.telegram.chatId, message);
|
|
314
|
+
if (sent) {
|
|
315
|
+
this.log("info", "Telegram notification sent");
|
|
316
|
+
}
|
|
309
317
|
}
|
|
310
318
|
catch (e) {
|
|
311
319
|
this.log("warn", "Failed to send Telegram notification");
|
|
@@ -317,8 +325,9 @@ export class MarathonExecutor {
|
|
|
317
325
|
await fetch(channels.discord.webhookUrl, {
|
|
318
326
|
method: "POST",
|
|
319
327
|
headers: { "Content-Type": "application/json" },
|
|
320
|
-
body: JSON.stringify({ content: message }),
|
|
328
|
+
body: JSON.stringify({ content: message.replace(/\*/g, "**") }),
|
|
321
329
|
});
|
|
330
|
+
this.log("info", "Discord notification sent");
|
|
322
331
|
}
|
|
323
332
|
catch (e) {
|
|
324
333
|
this.log("warn", "Failed to send Discord notification");
|
|
@@ -330,8 +339,9 @@ export class MarathonExecutor {
|
|
|
330
339
|
await fetch(channels.slack.webhookUrl, {
|
|
331
340
|
method: "POST",
|
|
332
341
|
headers: { "Content-Type": "application/json" },
|
|
333
|
-
body: JSON.stringify({ text: message }),
|
|
342
|
+
body: JSON.stringify({ text: message.replace(/\*/g, "*") }),
|
|
334
343
|
});
|
|
344
|
+
this.log("info", "Slack notification sent");
|
|
335
345
|
}
|
|
336
346
|
catch (e) {
|
|
337
347
|
this.log("warn", "Failed to send Slack notification");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"executor.js","sourceRoot":"","sources":["../../src/marathon/executor.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"executor.js","sourceRoot":"","sources":["../../src/marathon/executor.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED