iris-relay 1.1.3 → 1.1.4
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 +19 -0
- package/dist/cli.js +289 -11
- package/dist/cli.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -225,9 +225,28 @@ Set `XERO_DRY_RUN=true` in `.env` to log messages to console instead of sending
|
|
|
225
225
|
|
|
226
226
|
---
|
|
227
227
|
|
|
228
|
+
## Getting Started
|
|
229
|
+
|
|
230
|
+
```bash
|
|
231
|
+
npx iris-relay init
|
|
232
|
+
```
|
|
233
|
+
|
|
234
|
+
The setup wizard will:
|
|
235
|
+
1. Ask for your **Bot Token** (from @BotFather)
|
|
236
|
+
2. Ask for your **Chat ID** (from @userinfobot)
|
|
237
|
+
3. Optionally enable **dry run mode**
|
|
238
|
+
4. Optionally generate a **GitHub Actions workflow**
|
|
239
|
+
5. Write your `.env` and add it to `.gitignore`
|
|
240
|
+
6. Send a **test message** to verify everything works
|
|
241
|
+
|
|
242
|
+
---
|
|
243
|
+
|
|
228
244
|
## CLI
|
|
229
245
|
|
|
230
246
|
```bash
|
|
247
|
+
# Interactive setup
|
|
248
|
+
npx iris-relay init
|
|
249
|
+
|
|
231
250
|
# Send a message
|
|
232
251
|
npx iris-relay "Deploy complete ✅"
|
|
233
252
|
|
package/dist/cli.js
CHANGED
|
@@ -2,20 +2,21 @@
|
|
|
2
2
|
import { config } from "dotenv";
|
|
3
3
|
import { relay } from "./relay.js";
|
|
4
4
|
import { relayFile } from "./file.js";
|
|
5
|
-
|
|
5
|
+
import { createInterface } from "node:readline/promises";
|
|
6
|
+
import { writeFileSync, existsSync, readFileSync, mkdirSync } from "node:fs";
|
|
7
|
+
import { join } from "node:path";
|
|
8
|
+
config({ quiet: true });
|
|
6
9
|
const args = process.argv.slice(2);
|
|
7
10
|
function printHelp() {
|
|
8
11
|
console.log(`
|
|
9
|
-
iris-relay —
|
|
12
|
+
iris-relay — Telegram message relay for developers
|
|
10
13
|
|
|
11
|
-
|
|
12
|
-
iris-relay
|
|
13
|
-
iris-relay
|
|
14
|
-
iris-relay --
|
|
15
|
-
iris-relay --html "<b>Bold</b> message"
|
|
14
|
+
Commands:
|
|
15
|
+
iris-relay init Interactive setup wizard
|
|
16
|
+
iris-relay "message" Send a text message
|
|
17
|
+
iris-relay --file <path> Send a file
|
|
16
18
|
|
|
17
19
|
Options:
|
|
18
|
-
--file <path> Send a file instead of a text message
|
|
19
20
|
--silent Send without notification sound
|
|
20
21
|
--html Parse message as HTML
|
|
21
22
|
--markdown Parse message as Markdown
|
|
@@ -24,9 +25,289 @@ Options:
|
|
|
24
25
|
Environment:
|
|
25
26
|
XERO_BOT_TOKEN Your Telegram bot token
|
|
26
27
|
XERO_CHAT_ID Your Telegram chat ID
|
|
28
|
+
XERO_DRY_RUN Set to "true" to log instead of send
|
|
27
29
|
`);
|
|
28
30
|
}
|
|
31
|
+
// ─── Helpers ─────────────────────────────────────────────────
|
|
32
|
+
function yn(answer) {
|
|
33
|
+
return answer.toLowerCase() === "y" || answer.toLowerCase() === "yes";
|
|
34
|
+
}
|
|
35
|
+
function detectPackageManager() {
|
|
36
|
+
if (existsSync(join(process.cwd(), "pnpm-lock.yaml")))
|
|
37
|
+
return "pnpm";
|
|
38
|
+
if (existsSync(join(process.cwd(), "yarn.lock")))
|
|
39
|
+
return "yarn";
|
|
40
|
+
if (existsSync(join(process.cwd(), "bun.lockb")))
|
|
41
|
+
return "bun";
|
|
42
|
+
return "npm";
|
|
43
|
+
}
|
|
44
|
+
function detectFramework() {
|
|
45
|
+
const pkgPath = join(process.cwd(), "package.json");
|
|
46
|
+
if (!existsSync(pkgPath))
|
|
47
|
+
return null;
|
|
48
|
+
const pkg = JSON.parse(readFileSync(pkgPath, "utf-8"));
|
|
49
|
+
const allDeps = { ...pkg.dependencies, ...pkg.devDependencies };
|
|
50
|
+
if (allDeps["next"])
|
|
51
|
+
return "next";
|
|
52
|
+
if (allDeps["express"])
|
|
53
|
+
return "express";
|
|
54
|
+
if (allDeps["fastify"])
|
|
55
|
+
return "fastify";
|
|
56
|
+
if (allDeps["hono"])
|
|
57
|
+
return "hono";
|
|
58
|
+
if (allDeps["koa"])
|
|
59
|
+
return "koa";
|
|
60
|
+
return null;
|
|
61
|
+
}
|
|
62
|
+
// ─── Interactive Setup ───────────────────────────────────────
|
|
63
|
+
async function runInit() {
|
|
64
|
+
const rl = createInterface({ input: process.stdin, output: process.stdout });
|
|
65
|
+
const pm = detectPackageManager();
|
|
66
|
+
const framework = detectFramework();
|
|
67
|
+
console.log(`
|
|
68
|
+
╔══════════════════════════════════════════╗
|
|
69
|
+
║ 🛰️ iris-relay setup wizard ║
|
|
70
|
+
╚══════════════════════════════════════════╝
|
|
71
|
+
`);
|
|
72
|
+
if (framework)
|
|
73
|
+
console.log(` Detected: ${framework} project (${pm})\n`);
|
|
74
|
+
// ── Step 1: Credentials ──────────────────────
|
|
75
|
+
console.log("Step 1 — Telegram Credentials\n");
|
|
76
|
+
console.log(" Get bot token → https://t.me/BotFather");
|
|
77
|
+
console.log(" Get chat ID → https://t.me/userinfobot\n");
|
|
78
|
+
const botToken = (await rl.question(" XERO_BOT_TOKEN: ")).trim();
|
|
79
|
+
if (!botToken) {
|
|
80
|
+
console.error("\n❌ Bot token is required.");
|
|
81
|
+
rl.close();
|
|
82
|
+
process.exit(1);
|
|
83
|
+
}
|
|
84
|
+
const chatId = (await rl.question(" XERO_CHAT_ID: ")).trim();
|
|
85
|
+
if (!chatId) {
|
|
86
|
+
console.error("\n❌ Chat ID is required.");
|
|
87
|
+
rl.close();
|
|
88
|
+
process.exit(1);
|
|
89
|
+
}
|
|
90
|
+
// ── Step 2: Features ─────────────────────────
|
|
91
|
+
console.log("\nStep 2 — Features to enable\n");
|
|
92
|
+
const enableCrashWatch = yn(await rl.question(" 🛡️ Auto-report crashes to Telegram? (Y/n): ") || "y");
|
|
93
|
+
const enableHeartbeat = yn(await rl.question(" 💓 Send periodic heartbeat pings? (y/N): "));
|
|
94
|
+
let heartbeatInterval = 60;
|
|
95
|
+
let appName = "";
|
|
96
|
+
if (enableHeartbeat) {
|
|
97
|
+
appName = (await rl.question(" App name (for heartbeat label): ")).trim() || "My App";
|
|
98
|
+
const intervalStr = (await rl.question(" Interval in seconds (default: 60): ")).trim();
|
|
99
|
+
heartbeatInterval = parseInt(intervalStr) || 60;
|
|
100
|
+
}
|
|
101
|
+
const enableMiddleware = framework === "express" || framework === "fastify" || framework === "koa"
|
|
102
|
+
? yn(await rl.question(` 🔌 Add ${framework} error/slow-request middleware? (Y/n): `) || "y")
|
|
103
|
+
: false;
|
|
104
|
+
const enableDryRun = yn(await rl.question(" 🧪 Enable dry run mode for now? (y/N): "));
|
|
105
|
+
// ── Step 3: Scaffolding ──────────────────────
|
|
106
|
+
console.log("\nStep 3 — Project scaffolding\n");
|
|
107
|
+
const generateStarter = yn(await rl.question(" 📄 Generate a starter file (iris.ts / iris.js)? (Y/n): ") || "y");
|
|
108
|
+
const generateCI = yn(await rl.question(" 🚀 Generate GitHub Actions deploy notification? (y/N): "));
|
|
109
|
+
const generateDocker = yn(await rl.question(" 🐳 Add XERO_ env vars to docker-compose.yml? (y/N): "));
|
|
110
|
+
rl.close();
|
|
111
|
+
// ── Write .env ───────────────────────────────
|
|
112
|
+
console.log("\n── Writing files ──\n");
|
|
113
|
+
const envPath = join(process.cwd(), ".env");
|
|
114
|
+
let envContent = "";
|
|
115
|
+
if (existsSync(envPath)) {
|
|
116
|
+
const existing = readFileSync(envPath, "utf-8");
|
|
117
|
+
envContent = existing
|
|
118
|
+
.split("\n")
|
|
119
|
+
.filter((line) => !line.startsWith("XERO_BOT_TOKEN=") &&
|
|
120
|
+
!line.startsWith("XERO_CHAT_ID=") &&
|
|
121
|
+
!line.startsWith("XERO_DRY_RUN="))
|
|
122
|
+
.join("\n")
|
|
123
|
+
.trimEnd();
|
|
124
|
+
if (envContent)
|
|
125
|
+
envContent += "\n\n";
|
|
126
|
+
}
|
|
127
|
+
envContent += `# iris-relay config\n`;
|
|
128
|
+
envContent += `XERO_BOT_TOKEN=${botToken}\n`;
|
|
129
|
+
envContent += `XERO_CHAT_ID=${chatId}\n`;
|
|
130
|
+
if (enableDryRun) {
|
|
131
|
+
envContent += `XERO_DRY_RUN=true\n`;
|
|
132
|
+
}
|
|
133
|
+
writeFileSync(envPath, envContent);
|
|
134
|
+
console.log(`✅ .env → ${envPath}`);
|
|
135
|
+
// ── .gitignore ───────────────────────────────
|
|
136
|
+
const gitignorePath = join(process.cwd(), ".gitignore");
|
|
137
|
+
if (existsSync(gitignorePath)) {
|
|
138
|
+
const gitignore = readFileSync(gitignorePath, "utf-8");
|
|
139
|
+
if (!gitignore.includes(".env")) {
|
|
140
|
+
writeFileSync(gitignorePath, gitignore.trimEnd() + "\n.env\n");
|
|
141
|
+
console.log("✅ .env added to .gitignore");
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
else {
|
|
145
|
+
writeFileSync(gitignorePath, "node_modules\n.env\n");
|
|
146
|
+
console.log("✅ .gitignore created");
|
|
147
|
+
}
|
|
148
|
+
// ── Starter file ─────────────────────────────
|
|
149
|
+
if (generateStarter) {
|
|
150
|
+
const isTS = existsSync(join(process.cwd(), "tsconfig.json"));
|
|
151
|
+
const ext = isTS ? "ts" : "js";
|
|
152
|
+
const starterPath = join(process.cwd(), `iris.${ext}`);
|
|
153
|
+
let starter = "";
|
|
154
|
+
if (isTS) {
|
|
155
|
+
starter += `import { relay, relayError, relayDeploy } from "iris-relay";\n`;
|
|
156
|
+
}
|
|
157
|
+
else {
|
|
158
|
+
starter += `const { relay, relayError, relayDeploy } = require("iris-relay");\n`;
|
|
159
|
+
}
|
|
160
|
+
starter += `\n`;
|
|
161
|
+
if (enableCrashWatch) {
|
|
162
|
+
if (isTS) {
|
|
163
|
+
starter += `import { watchProcess } from "iris-relay";\n`;
|
|
164
|
+
}
|
|
165
|
+
else {
|
|
166
|
+
starter += `const { watchProcess } = require("iris-relay");\n`;
|
|
167
|
+
}
|
|
168
|
+
starter += `\n// Auto-report uncaught exceptions & unhandled rejections\n`;
|
|
169
|
+
starter += `watchProcess();\n\n`;
|
|
170
|
+
}
|
|
171
|
+
if (enableHeartbeat) {
|
|
172
|
+
if (isTS) {
|
|
173
|
+
starter += `import { startHeartbeat } from "iris-relay";\n`;
|
|
174
|
+
}
|
|
175
|
+
else {
|
|
176
|
+
starter += `const { startHeartbeat } = require("iris-relay");\n`;
|
|
177
|
+
}
|
|
178
|
+
starter += `\n// Send periodic heartbeat (every ${heartbeatInterval}s)\n`;
|
|
179
|
+
starter += `const stopHeartbeat = startHeartbeat({\n`;
|
|
180
|
+
starter += ` interval: ${heartbeatInterval * 1000},\n`;
|
|
181
|
+
starter += ` app: "${appName}",\n`;
|
|
182
|
+
starter += `});\n\n`;
|
|
183
|
+
}
|
|
184
|
+
if (enableMiddleware && framework === "express") {
|
|
185
|
+
if (isTS) {
|
|
186
|
+
starter += `import { irisMiddleware, irisErrorHandler } from "iris-relay";\n`;
|
|
187
|
+
}
|
|
188
|
+
else {
|
|
189
|
+
starter += `const { irisMiddleware, irisErrorHandler } = require("iris-relay");\n`;
|
|
190
|
+
}
|
|
191
|
+
starter += `\n// Add to your Express app:\n`;
|
|
192
|
+
starter += `// app.use(irisMiddleware({ slowThreshold: 3000 }));\n`;
|
|
193
|
+
starter += `// app.use(irisErrorHandler()); // after all routes\n\n`;
|
|
194
|
+
}
|
|
195
|
+
starter += `// ── Examples ──\n\n`;
|
|
196
|
+
starter += `// Send a message\n`;
|
|
197
|
+
starter += `// await relay("Server started 🚀");\n\n`;
|
|
198
|
+
starter += `// Report an error\n`;
|
|
199
|
+
starter += `// try { ... } catch (err) { await relayError(err); }\n\n`;
|
|
200
|
+
starter += `// Deploy notification (auto-reads git info)\n`;
|
|
201
|
+
starter += `// await relayDeploy({ app: "${appName || "my-app"}", env: "production" });\n`;
|
|
202
|
+
writeFileSync(starterPath, starter);
|
|
203
|
+
console.log(`✅ iris.${ext} → ${starterPath}`);
|
|
204
|
+
}
|
|
205
|
+
// ── GitHub Actions ───────────────────────────
|
|
206
|
+
if (generateCI) {
|
|
207
|
+
const workflowDir = join(process.cwd(), ".github", "workflows");
|
|
208
|
+
const workflowPath = join(workflowDir, "iris-notify.yml");
|
|
209
|
+
const workflowContent = `# iris-relay deploy notification
|
|
210
|
+
# Add XERO_BOT_TOKEN and XERO_CHAT_ID as repository secrets
|
|
211
|
+
|
|
212
|
+
name: Deploy Notification
|
|
213
|
+
|
|
214
|
+
on:
|
|
215
|
+
push:
|
|
216
|
+
branches: [main]
|
|
217
|
+
|
|
218
|
+
jobs:
|
|
219
|
+
notify:
|
|
220
|
+
runs-on: ubuntu-latest
|
|
221
|
+
steps:
|
|
222
|
+
- uses: actions/checkout@v4
|
|
223
|
+
|
|
224
|
+
- uses: actions/setup-node@v4
|
|
225
|
+
with:
|
|
226
|
+
node-version: "20"
|
|
227
|
+
|
|
228
|
+
- run: ${pm} install iris-relay
|
|
229
|
+
|
|
230
|
+
- name: Send deploy notification
|
|
231
|
+
env:
|
|
232
|
+
XERO_BOT_TOKEN: \${{ secrets.XERO_BOT_TOKEN }}
|
|
233
|
+
XERO_CHAT_ID: \${{ secrets.XERO_CHAT_ID }}
|
|
234
|
+
run: npx iris-relay "🚀 Deployed \${{ github.repository }}@\${{ github.sha }}"
|
|
235
|
+
`;
|
|
236
|
+
mkdirSync(workflowDir, { recursive: true });
|
|
237
|
+
writeFileSync(workflowPath, workflowContent);
|
|
238
|
+
console.log(`✅ GitHub Actions → ${workflowPath}`);
|
|
239
|
+
console.log(" ⚠️ Add XERO_BOT_TOKEN and XERO_CHAT_ID as repo secrets!");
|
|
240
|
+
}
|
|
241
|
+
// ── Docker Compose ───────────────────────────
|
|
242
|
+
if (generateDocker) {
|
|
243
|
+
const composePath = join(process.cwd(), "docker-compose.yml");
|
|
244
|
+
if (existsSync(composePath)) {
|
|
245
|
+
const existing = readFileSync(composePath, "utf-8");
|
|
246
|
+
if (!existing.includes("XERO_BOT_TOKEN")) {
|
|
247
|
+
const envBlock = `\n # iris-relay\n environment:\n - XERO_BOT_TOKEN=\${XERO_BOT_TOKEN}\n - XERO_CHAT_ID=\${XERO_CHAT_ID}\n`;
|
|
248
|
+
console.log(`\n📋 Add this to your service in docker-compose.yml:\n${envBlock}`);
|
|
249
|
+
}
|
|
250
|
+
}
|
|
251
|
+
else {
|
|
252
|
+
const composeContent = `version: "3.8"
|
|
253
|
+
|
|
254
|
+
services:
|
|
255
|
+
app:
|
|
256
|
+
build: .
|
|
257
|
+
env_file:
|
|
258
|
+
- .env
|
|
259
|
+
environment:
|
|
260
|
+
- XERO_BOT_TOKEN=\${XERO_BOT_TOKEN}
|
|
261
|
+
- XERO_CHAT_ID=\${XERO_CHAT_ID}
|
|
262
|
+
`;
|
|
263
|
+
writeFileSync(composePath, composeContent);
|
|
264
|
+
console.log(`✅ docker-compose.yml → ${composePath}`);
|
|
265
|
+
}
|
|
266
|
+
}
|
|
267
|
+
// ── Test connection ──────────────────────────
|
|
268
|
+
console.log("\n🧪 Testing connection...");
|
|
269
|
+
process.env.XERO_BOT_TOKEN = botToken;
|
|
270
|
+
process.env.XERO_CHAT_ID = chatId;
|
|
271
|
+
const result = await relay("✅ iris-relay connected successfully!");
|
|
272
|
+
if (result.success) {
|
|
273
|
+
console.log("✅ Test message sent! Check your Telegram.");
|
|
274
|
+
}
|
|
275
|
+
else {
|
|
276
|
+
console.error(`⚠️ Test failed: ${result.error}`);
|
|
277
|
+
console.log(" .env was still saved — double-check your token and chat ID.");
|
|
278
|
+
}
|
|
279
|
+
// ── Summary ──────────────────────────────────
|
|
280
|
+
const features = [];
|
|
281
|
+
if (enableCrashWatch)
|
|
282
|
+
features.push("crash watcher");
|
|
283
|
+
if (enableHeartbeat)
|
|
284
|
+
features.push(`heartbeat (${heartbeatInterval}s)`);
|
|
285
|
+
if (enableMiddleware)
|
|
286
|
+
features.push(`${framework} middleware`);
|
|
287
|
+
if (enableDryRun)
|
|
288
|
+
features.push("dry run mode");
|
|
289
|
+
console.log(`
|
|
290
|
+
╔══════════════════════════════════════════╗
|
|
291
|
+
║ 🎉 Setup complete! ║
|
|
292
|
+
╚══════════════════════════════════════════╝
|
|
293
|
+
|
|
294
|
+
Features: ${features.length > 0 ? features.join(", ") : "core only"}
|
|
295
|
+
|
|
296
|
+
Quick start:
|
|
297
|
+
import { relay } from "iris-relay";
|
|
298
|
+
await relay("Hello from my server! 🚀");
|
|
299
|
+
|
|
300
|
+
CLI:
|
|
301
|
+
npx iris-relay "Quick message"
|
|
302
|
+
`);
|
|
303
|
+
}
|
|
304
|
+
// ─── Message / File Sending ──────────────────────────────────
|
|
29
305
|
async function main() {
|
|
306
|
+
const command = args[0];
|
|
307
|
+
if (command === "init") {
|
|
308
|
+
await runInit();
|
|
309
|
+
return;
|
|
310
|
+
}
|
|
30
311
|
if (args.length === 0 || args.includes("--help") || args.includes("-h")) {
|
|
31
312
|
printHelp();
|
|
32
313
|
process.exit(0);
|
|
@@ -35,12 +316,10 @@ async function main() {
|
|
|
35
316
|
const html = args.includes("--html");
|
|
36
317
|
const markdown = args.includes("--markdown");
|
|
37
318
|
const fileIdx = args.indexOf("--file");
|
|
38
|
-
// Filter out flags to get the message
|
|
39
319
|
const messageArgs = args.filter((a, i) => !a.startsWith("--") && !(i === fileIdx + 1 && fileIdx >= 0));
|
|
40
320
|
const message = messageArgs.join(" ");
|
|
41
321
|
const parseMode = html ? "HTML" : markdown ? "Markdown" : undefined;
|
|
42
322
|
try {
|
|
43
|
-
// File mode
|
|
44
323
|
if (fileIdx >= 0) {
|
|
45
324
|
const filePath = args[fileIdx + 1];
|
|
46
325
|
if (!filePath) {
|
|
@@ -60,7 +339,6 @@ async function main() {
|
|
|
60
339
|
}
|
|
61
340
|
return;
|
|
62
341
|
}
|
|
63
|
-
// Message mode
|
|
64
342
|
if (!message) {
|
|
65
343
|
console.error("Error: No message provided");
|
|
66
344
|
printHelp();
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED