natroc 0.0.3 → 0.0.5

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 (73) hide show
  1. package/README.md +343 -0
  2. package/package.json +2 -1
  3. package/server/dist/app.js +37 -0
  4. package/server/dist/app.js.map +1 -1
  5. package/server/dist/channels/channel-runtime.d.ts +3 -4
  6. package/server/dist/channels/channel-runtime.js +5 -15
  7. package/server/dist/channels/channel-runtime.js.map +1 -1
  8. package/server/dist/cli/agent-deliver.d.ts +0 -2
  9. package/server/dist/cli/agent-deliver.js +1 -14
  10. package/server/dist/cli/agent-deliver.js.map +1 -1
  11. package/server/dist/cli/cli-token.js +0 -5
  12. package/server/dist/cli/cli-token.js.map +1 -1
  13. package/server/dist/cli/daemon.d.ts +2 -16
  14. package/server/dist/cli/daemon.js +5 -37
  15. package/server/dist/cli/daemon.js.map +1 -1
  16. package/server/dist/cli/setup.d.ts +0 -1
  17. package/server/dist/cli/setup.js +2 -20
  18. package/server/dist/cli/setup.js.map +1 -1
  19. package/server/dist/gateway/agent-service.d.ts +4 -4
  20. package/server/dist/gateway/agent-service.js +27 -7
  21. package/server/dist/gateway/agent-service.js.map +1 -1
  22. package/server/dist/gateway/connection.d.ts +6 -15
  23. package/server/dist/gateway/connection.js +12 -23
  24. package/server/dist/gateway/connection.js.map +1 -1
  25. package/server/dist/gateway/gateway.d.ts +2 -31
  26. package/server/dist/gateway/gateway.js +6 -34
  27. package/server/dist/gateway/gateway.js.map +1 -1
  28. package/server/dist/gateway/index.d.ts +0 -1
  29. package/server/dist/gateway/index.js +0 -1
  30. package/server/dist/gateway/index.js.map +1 -1
  31. package/server/dist/gateway/protocol.d.ts +12 -22
  32. package/server/dist/gateway/protocol.js +1 -4
  33. package/server/dist/gateway/protocol.js.map +1 -1
  34. package/server/dist/gateway/rpc/agent.d.ts +0 -1
  35. package/server/dist/gateway/rpc/agent.js +0 -1
  36. package/server/dist/gateway/rpc/agent.js.map +1 -1
  37. package/server/dist/gateway/rpc/auth.d.ts +0 -1
  38. package/server/dist/gateway/rpc/auth.js +0 -1
  39. package/server/dist/gateway/rpc/auth.js.map +1 -1
  40. package/server/dist/gateway/rpc/channels.js +0 -1
  41. package/server/dist/gateway/rpc/channels.js.map +1 -1
  42. package/server/dist/gateway/rpc/conversations.d.ts +0 -1
  43. package/server/dist/gateway/rpc/conversations.js +0 -1
  44. package/server/dist/gateway/rpc/conversations.js.map +1 -1
  45. package/server/dist/gateway/rpc/projects.d.ts +0 -1
  46. package/server/dist/gateway/rpc/projects.js +0 -1
  47. package/server/dist/gateway/rpc/projects.js.map +1 -1
  48. package/server/dist/gateway/rpc/providers.d.ts +0 -1
  49. package/server/dist/gateway/rpc/providers.js +0 -1
  50. package/server/dist/gateway/rpc/providers.js.map +1 -1
  51. package/server/dist/gateway/types.d.ts +1 -19
  52. package/server/dist/gateway/types.js +1 -5
  53. package/server/dist/gateway/types.js.map +1 -1
  54. package/server/dist/gateway/ws-server.d.ts +0 -6
  55. package/server/dist/gateway/ws-server.js +2 -6
  56. package/server/dist/gateway/ws-server.js.map +1 -1
  57. package/server/dist/runtime.d.ts +3 -3
  58. package/server/dist/storage/auth-repository.d.ts +1 -5
  59. package/server/dist/storage/auth-repository.js +1 -5
  60. package/server/dist/storage/auth-repository.js.map +1 -1
  61. package/server/dist/storage/channel-repository.d.ts +4 -4
  62. package/server/dist/storage/channel-repository.js +2 -2
  63. package/server/dist/storage/conversation-repository.d.ts +13 -0
  64. package/server/dist/storage/conversation-repository.js +83 -17
  65. package/server/dist/storage/conversation-repository.js.map +1 -1
  66. package/server/dist/storage/database.d.ts +1 -5
  67. package/server/dist/storage/database.js +4 -5
  68. package/server/dist/storage/database.js.map +1 -1
  69. package/server/dist/storage/tool-call-repository.d.ts +2 -0
  70. package/server/dist/storage/tool-call-repository.js +9 -6
  71. package/server/dist/storage/tool-call-repository.js.map +1 -1
  72. package/ui/dist/assets/{index-DKaFmZNO.js → index-BiVH3g6R.js} +2 -2
  73. package/ui/dist/index.html +1 -1
package/README.md CHANGED
@@ -0,0 +1,343 @@
1
+ # Natroc
2
+
3
+ > Personal AI Gateway — an always-on local daemon that bridges messaging channels (Telegram, WhatsApp) and a Web/CLI client to LLM providers (OpenRouter, Ollama). One global install, no native dependencies.
4
+
5
+ ---
6
+
7
+ ## Requirements
8
+
9
+ - **Node.js 24+** — required for `node:sqlite` and the global `WebSocket` runtime
10
+ - **macOS, Linux, WSL, or Windows**
11
+ - ~50 MB for the package + ~10 MB for runtime state under `~/.natroc/`
12
+
13
+ ---
14
+
15
+ ## Install
16
+
17
+ ### Quick start (one command)
18
+
19
+ **Linux / macOS / WSL**
20
+
21
+ ```sh
22
+ curl -fsSL https://natroc.ai/install.sh | sh
23
+ ```
24
+
25
+ **Windows (PowerShell)**
26
+
27
+ ```powershell
28
+ powershell -c "irm https://natroc.ai/install.ps1 | iex"
29
+ ```
30
+
31
+ ### Direct npm install
32
+
33
+ If Node 24+ is already on your PATH:
34
+
35
+ ```sh
36
+ npm install -g natroc
37
+ ```
38
+
39
+ ### Install from source (developer mode)
40
+
41
+ The installer can clone, build, and link from the GitHub repo in one step:
42
+
43
+ ```sh
44
+ NATROC_INSTALL_METHOD=git curl -fsSL https://natroc.ai/install.sh | sh
45
+ ```
46
+
47
+ Or do it manually:
48
+
49
+ ```sh
50
+ git clone https://github.com/Licentora/Natroc.git
51
+ cd Natroc
52
+ npm install
53
+ npm run all:install
54
+ npm run all:build
55
+ npm link
56
+ ```
57
+
58
+ ### Install behind a restricted environment
59
+
60
+ If you cannot write to the global `npm` prefix:
61
+
62
+ ```sh
63
+ npm config set prefix "$HOME/.local"
64
+ export PATH="$HOME/.local/bin:$PATH"
65
+ npm install -g natroc
66
+ ```
67
+
68
+ ---
69
+
70
+ ## First run
71
+
72
+ ```sh
73
+ natroc setup
74
+ ```
75
+
76
+ One command does everything:
77
+
78
+ 1. Initializes `~/.natroc/` (database, vault, sessions, logs)
79
+ 2. Migrates the schema
80
+ 3. Installs a platform service (systemd user unit on Linux, LaunchAgent on macOS, scheduled task on Windows)
81
+ 4. Starts the gateway on `127.0.0.1:37789`
82
+ 5. Prints the Web UI URL and returns to your shell
83
+
84
+ The service then runs in the background. Open **http://127.0.0.1:37789** in your browser to create your account and configure providers.
85
+
86
+ Re-running `natroc setup` is **idempotent** — it skips steps that are already done.
87
+
88
+ ---
89
+
90
+ ## What gets installed
91
+
92
+ ### Package files
93
+
94
+ | Path | Purpose |
95
+ |---|---|
96
+ | `<npm-prefix>/lib/node_modules/natroc/` | Package code (server, UI bundle, CLI) |
97
+ | `<npm-prefix>/bin/natroc` | CLI symlink |
98
+
99
+ ### Runtime state (`~/.natroc/`)
100
+
101
+ | Path | Purpose |
102
+ |---|---|
103
+ | `data/natroc.sqlite` | All app state — users, conversations, memories, providers, channel bindings, usage logs |
104
+ | `vault/master.key` | Master encryption key for all secrets |
105
+ | `vault/` | Encrypted provider tokens (OpenRouter, etc.) |
106
+ | `home/` | Markdown context files surfaced to the agent (`USER.md`, `MEMORY.md`, …) |
107
+ | `sessions/whatsapp-<accountId>/` | Baileys auth state for each WhatsApp account |
108
+ | `sessions/telegram-<botId>/` | Bot metadata for each Telegram bot |
109
+ | `logs/` | Service stdout / stderr |
110
+ | `cli-token` | Optional CLI session token, created on demand by `natroc cli-token` |
111
+
112
+ ### Platform service files
113
+
114
+ | OS | Location |
115
+ |---|---|
116
+ | Linux / WSL | `~/.config/systemd/user/natroc.service` |
117
+ | macOS | `~/Library/LaunchAgents/ai.natroc.gateway.plist` |
118
+ | Windows | Scheduled Task `Natroc` |
119
+
120
+ ---
121
+
122
+ ## CLI commands
123
+
124
+ | Command | Description |
125
+ |---|---|
126
+ | `natroc setup` | One-shot init + service install + start (idempotent) |
127
+ | `natroc doctor` | Runtime diagnostics |
128
+ | `natroc server [--host H] [--port P]` | Run the gateway in the foreground (bypasses the service) |
129
+ | `natroc daemon install\|uninstall\|status` | Manage the platform service manually |
130
+ | `natroc cli-token` | Generate a session token for `natroc agent` |
131
+ | `natroc agent --message "..."` | Talk to the running daemon via WebSocket |
132
+ | `natroc agent --message "..." --to PEER --account ID` | Talk and deliver the reply to a channel peer |
133
+ | `natroc chat "message"` | Talk locally (no daemon required) |
134
+ | `natroc providers list\|connect-ollama\|connect-openrouter\|active` | Manage LLM providers |
135
+ | `natroc memory [--query TEXT]` | Inspect memory entries |
136
+ | `natroc improve [conversation-id]` | Generate improvement proposals |
137
+ | `natroc proposals list\|approve\|reject` | Manage proposals |
138
+ | `natroc home path\|show <file>` | Inspect home context files |
139
+
140
+ ---
141
+
142
+ ## Configuration
143
+
144
+ Natroc reads four environment variables. Everything else is stored encrypted in the vault and configured through the Web UI.
145
+
146
+ | Variable | Default | Purpose |
147
+ |---|---|---|
148
+ | `NATROC_HOME` | `~/.natroc` | Root directory for runtime state |
149
+ | `NATROC_SERVER_HOST` | `127.0.0.1` | Gateway bind address |
150
+ | `NATROC_SERVER_PORT` | `37789` | Gateway port |
151
+ | `NATROC_TOKEN` | — | Session token override for `natroc agent` |
152
+
153
+ ---
154
+
155
+ ## Channels
156
+
157
+ ### Telegram
158
+
159
+ 1. Talk to `@BotFather` on Telegram and create a bot to obtain a token.
160
+ 2. In the Web UI: **Config → Channels → Add Telegram account**; paste the token.
161
+ 3. Click **Connect**. The bot starts long-polling immediately.
162
+ 4. Add a binding (peer → agent) and message your bot.
163
+
164
+ ### WhatsApp
165
+
166
+ 1. In the Web UI: **Config → Channels → Add WhatsApp account**.
167
+ 2. Click **Connect**. A QR code appears in the account details.
168
+ 3. On your phone: WhatsApp → **Linked Devices → Link a device**, then scan the QR.
169
+ 4. Add a binding and message the linked number.
170
+
171
+ Auth state is stored per account in `~/.natroc/sessions/`. Removing a session folder forces a fresh QR scan or token rotation on next connect.
172
+
173
+ ---
174
+
175
+ ## Updating
176
+
177
+ ```sh
178
+ npm install -g natroc@latest
179
+ natroc daemon uninstall
180
+ natroc setup
181
+ ```
182
+
183
+ Data in `~/.natroc/` persists across upgrades.
184
+
185
+ ---
186
+
187
+ ## Uninstall — full wipe
188
+
189
+ > **⚠️ Warning:** removing `~/.natroc/` is irreversible. Provider tokens, conversations, memories, and channel sessions are unrecoverable without the master key in `~/.natroc/vault/`.
190
+
191
+ ### One-liner
192
+
193
+ **Linux / macOS / WSL**
194
+
195
+ ```sh
196
+ natroc daemon uninstall 2>/dev/null || true
197
+ npm uninstall -g natroc 2>/dev/null || true
198
+ rm -rf ~/.natroc
199
+ echo "Natroc fully removed."
200
+ ```
201
+
202
+ **Windows (PowerShell)**
203
+
204
+ ```powershell
205
+ natroc daemon uninstall 2>$null
206
+ npm uninstall -g natroc 2>$null
207
+ Remove-Item -Recurse -Force $HOME\.natroc -ErrorAction SilentlyContinue
208
+ Write-Host "Natroc fully removed."
209
+ ```
210
+
211
+ ### Step by step
212
+
213
+ #### 1. Stop and remove the service
214
+
215
+ ```sh
216
+ natroc daemon uninstall
217
+ ```
218
+
219
+ If the `natroc` binary is missing or broken, remove the service manually:
220
+
221
+ **Linux / WSL**
222
+
223
+ ```sh
224
+ systemctl --user disable --now natroc.service 2>/dev/null || true
225
+ rm -f ~/.config/systemd/user/natroc.service
226
+ systemctl --user daemon-reload
227
+ ```
228
+
229
+ **macOS**
230
+
231
+ ```sh
232
+ launchctl bootout "gui/$(id -u)/ai.natroc.gateway" 2>/dev/null || true
233
+ launchctl unload ~/Library/LaunchAgents/ai.natroc.gateway.plist 2>/dev/null || true
234
+ rm -f ~/Library/LaunchAgents/ai.natroc.gateway.plist
235
+ ```
236
+
237
+ **Windows (PowerShell)**
238
+
239
+ ```powershell
240
+ schtasks /End /TN Natroc 2>$null
241
+ schtasks /Delete /F /TN Natroc 2>$null
242
+ ```
243
+
244
+ #### 2. Uninstall the global package
245
+
246
+ ```sh
247
+ npm uninstall -g natroc
248
+ ```
249
+
250
+ #### 3. Remove all data
251
+
252
+ **Linux / macOS / WSL**
253
+
254
+ ```sh
255
+ rm -rf ~/.natroc
256
+ ```
257
+
258
+ **Windows (PowerShell)**
259
+
260
+ ```powershell
261
+ Remove-Item -Recurse -Force $HOME\.natroc
262
+ ```
263
+
264
+ #### 4. Verify
265
+
266
+ **Linux / WSL**
267
+
268
+ ```sh
269
+ which natroc # not found
270
+ systemctl --user list-units 'natroc*' # 0 loaded units
271
+ ls ~/.config/systemd/user/natroc.service # No such file
272
+ ls ~/.natroc # No such file
273
+ ss -tlnp | grep 37789 # empty
274
+ ```
275
+
276
+ **macOS**
277
+
278
+ ```sh
279
+ which natroc # not found
280
+ launchctl list ai.natroc.gateway # service not found
281
+ ls ~/Library/LaunchAgents/ai.natroc.gateway.plist
282
+ ls ~/.natroc
283
+ lsof -i :37789 # empty
284
+ ```
285
+
286
+ **Windows (PowerShell)**
287
+
288
+ ```powershell
289
+ Get-Command natroc # CommandNotFoundException
290
+ schtasks /Query /TN Natroc # cannot find
291
+ Test-Path $HOME\.natroc # False
292
+ Get-NetTCPConnection -LocalPort 37789 # empty
293
+ ```
294
+
295
+ #### 5. (Optional) Clear the npm cache
296
+
297
+ ```sh
298
+ npm cache clean --force
299
+ ```
300
+
301
+ ---
302
+
303
+ ## Development
304
+
305
+ ```sh
306
+ git clone https://github.com/Licentora/Natroc.git
307
+ cd Natroc
308
+ npm install
309
+ npm run all:install
310
+ npm run all:build
311
+ node server/dist/cli.js setup
312
+ ```
313
+
314
+ For UI development with hot reload:
315
+
316
+ ```sh
317
+ cd ui && npm run dev # Vite at :5173, proxies /gateway to :37789
318
+ ```
319
+
320
+ Type-check both projects:
321
+
322
+ ```sh
323
+ npm run server:typecheck
324
+ npm run ui:typecheck
325
+ ```
326
+
327
+ ---
328
+
329
+ ## Architecture
330
+
331
+ A single long-running gateway daemon binds to `127.0.0.1:37789` and serves:
332
+
333
+ - **WebSocket RPC** at `/gateway` — frame protocol `{ type: connect | req | res | event | cancel }`
334
+ - **Static Web UI** at `/` with SPA history fallback
335
+ - Placeholder canvas / A2UI surfaces at `/__natroc__/canvas/` and `/__natroc__/a2ui/`
336
+
337
+ The daemon owns all messaging channel sessions (Telegram via grammy, WhatsApp via Baileys) and routes inbound messages through the agent loop, applying DM/group policies and shared memory injection before calling the configured LLM provider.
338
+
339
+ ---
340
+
341
+ ## License
342
+
343
+ MIT
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "natroc",
3
- "version": "0.0.3",
3
+ "version": "0.0.5",
4
4
  "description": "Ultimate Personal AI Agent that can perform complex tasks and even become a Personal Assistant",
5
5
  "type": "module",
6
6
  "bin": {
@@ -37,6 +37,7 @@
37
37
  "dependencies": {
38
38
  "@clack/prompts": "^1.4.0",
39
39
  "@fastify/cors": "^11.2.0",
40
+ "@fastify/static": "^9.1.3",
40
41
  "@fastify/websocket": "^11.2.0",
41
42
  "@openrouter/agent": "^0.7.0",
42
43
  "@openrouter/sdk": "^0.12.35",
@@ -1,7 +1,16 @@
1
+ import { existsSync } from "node:fs";
2
+ import { dirname, join } from "node:path";
3
+ import { fileURLToPath } from "node:url";
1
4
  import cors from "@fastify/cors";
5
+ import staticPlugin from "@fastify/static";
2
6
  import Fastify from "fastify";
3
7
  import { ZodError } from "zod";
4
8
  import { createGateway, registerGatewayWebSocket } from "./gateway/index.js";
9
+ // From the compiled `server/dist/app.js`, the built Web UI lives two
10
+ // directories up at `../../ui/dist`. This holds both in the repo and after
11
+ // `npm install -g`, where the package root is `lib/node_modules/natroc/`.
12
+ const MODULE_DIR = dirname(fileURLToPath(import.meta.url));
13
+ const UI_DIST_DIR = join(MODULE_DIR, "..", "..", "ui", "dist");
5
14
  export function buildApp(options = {}) {
6
15
  const app = Fastify({
7
16
  logger: process.env.NODE_ENV !== "test",
@@ -34,6 +43,34 @@ export function buildApp(options = {}) {
34
43
  status: "not_implemented",
35
44
  message: "A2UI surface is not yet implemented.",
36
45
  }));
46
+ // Serve the built Web UI when present. In dev (no `ui/dist`) this step is
47
+ // skipped; the API and WebSocket routes work either way.
48
+ const hasUiBundle = existsSync(join(UI_DIST_DIR, "index.html"));
49
+ if (hasUiBundle) {
50
+ app.register(staticPlugin, {
51
+ root: UI_DIST_DIR,
52
+ prefix: "/",
53
+ wildcard: false,
54
+ decorateReply: true,
55
+ });
56
+ // SPA history fallback — non-API GETs that miss the static root resolve
57
+ // to index.html so the client router can handle them.
58
+ app.setNotFoundHandler((request, reply) => {
59
+ if (request.method !== "GET" || isApiPath(request.url)) {
60
+ return reply.code(404).send({
61
+ error: "Not Found",
62
+ message: `Route ${request.method}:${request.url} not found`,
63
+ statusCode: 404,
64
+ });
65
+ }
66
+ return reply.type("text/html").sendFile("index.html");
67
+ });
68
+ }
37
69
  return app;
38
70
  }
71
+ function isApiPath(url) {
72
+ return (url.startsWith("/gateway") ||
73
+ url.startsWith("/__natroc__/") ||
74
+ url.startsWith("/api/"));
75
+ }
39
76
  //# sourceMappingURL=app.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,eAAe,CAAC;AACjC,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAC;AAG/B,OAAO,EAAE,aAAa,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAM7E,MAAM,UAAU,QAAQ,CAAC,UAA2B,EAAE;IACpD,MAAM,GAAG,GAAG,OAAO,CAAC;QAClB,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,MAAM;KACxC,CAAC,CAAC;IAEH,GAAG,CAAC,eAAe,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE;QAC5C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAEzB,IAAI,KAAK,YAAY,QAAQ,EAAE,CAAC;YAC9B,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;gBAC1B,KAAK,EAAE,uBAAuB;gBAC9B,MAAM,EAAE,KAAK,CAAC,MAAM;aACrB,CAAC,CAAC;QACL,CAAC;QAED,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;YAC1B,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,wBAAwB;SACzE,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE;QACjB,MAAM,EAAE,IAAI;KACb,CAAC,CAAC;IAEH,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACpB,wBAAwB,CAAC,GAAG,EAAE,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;IAChE,CAAC;IAED,GAAG,CAAC,GAAG,CAAC,qBAAqB,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;QAC1C,IAAI,EAAE,QAAQ;QACd,MAAM,EAAE,iBAAiB;QACzB,OAAO,EAAE,wCAAwC;KAClD,CAAC,CAAC,CAAC;IACJ,GAAG,CAAC,GAAG,CAAC,mBAAmB,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;QACxC,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,iBAAiB;QACzB,OAAO,EAAE,sCAAsC;KAChD,CAAC,CAAC,CAAC;IAEJ,OAAO,GAAG,CAAC;AACb,CAAC"}
1
+ {"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"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"}
@@ -7,12 +7,11 @@ export declare class ChannelRuntimeManager {
7
7
  startEnabledAccounts(): Promise<void>;
8
8
  connectAccount(userId: string, accountId: string): Promise<ChannelAccountRecord>;
9
9
  disconnectAccount(userId: string, accountId: string): Promise<ChannelAccountRecord>;
10
- /** Memancarkan event broadcast `health` saat status channel berubah. */
11
10
  private emitHealth;
12
11
  /**
13
- * Mengirim pesan outbound via session yang sudah connected. Memecah pesan
14
- * sesuai `policy.textChunkLimit`, mencatat log outbound. Melempar kalau
15
- * session belum siap.
12
+ * Send an outbound message through an already-connected session. Splits
13
+ * the text per `policy.textChunkLimit` and logs the result. Throws when
14
+ * no session exists for the account.
16
15
  */
17
16
  sendOutbound(input: {
18
17
  userId: string;
@@ -78,7 +78,6 @@ export class ChannelRuntimeManager {
78
78
  this.emitHealth(updated);
79
79
  return updated;
80
80
  }
81
- /** Memancarkan event broadcast `health` saat status channel berubah. */
82
81
  emitHealth(account) {
83
82
  this.runtime.broadcaster?.broadcast("health", {
84
83
  accountId: account.id,
@@ -89,9 +88,9 @@ export class ChannelRuntimeManager {
89
88
  });
90
89
  }
91
90
  /**
92
- * Mengirim pesan outbound via session yang sudah connected. Memecah pesan
93
- * sesuai `policy.textChunkLimit`, mencatat log outbound. Melempar kalau
94
- * session belum siap.
91
+ * Send an outbound message through an already-connected session. Splits
92
+ * the text per `policy.textChunkLimit` and logs the result. Throws when
93
+ * no session exists for the account.
95
94
  */
96
95
  async sendOutbound(input) {
97
96
  const account = this.requireAccount(input.userId, input.accountId);
@@ -378,10 +377,6 @@ export class ChannelRuntimeManager {
378
377
  function sessionKey(userId, accountId) {
379
378
  return `${userId}:${accountId}`;
380
379
  }
381
- /**
382
- * Evaluasi policy gabungan: DM-vs-group + dmPolicy/groupPolicy +
383
- * allowlist + requireMention. Mengembalikan keputusan + alasan untuk log.
384
- */
385
380
  function evaluatePolicy(account, policy, incoming, binding) {
386
381
  if (incoming.kind === "group") {
387
382
  if (policy.groupPolicy === "disabled") {
@@ -397,7 +392,6 @@ function evaluatePolicy(account, policy, incoming, binding) {
397
392
  }
398
393
  return { allow: true };
399
394
  }
400
- // DM
401
395
  switch (policy.dmPolicy) {
402
396
  case "disabled":
403
397
  return { allow: false, reason: "DMs are disabled." };
@@ -421,7 +415,6 @@ function evaluatePolicy(account, policy, incoming, binding) {
421
415
  return { allow: false, reason: "Peer is not on the DM allowlist." };
422
416
  }
423
417
  }
424
- /** Memecah teks panjang ke beberapa potongan agar lolos batas channel. */
425
418
  function chunkText(text, limit) {
426
419
  if (!text)
427
420
  return [text];
@@ -433,19 +426,16 @@ function chunkText(text, limit) {
433
426
  }
434
427
  return chunks;
435
428
  }
436
- /** Kirim balasan dalam potongan jika melewati `textChunkLimit`. */
437
429
  async function sendChunked(reply, text, limit) {
438
430
  for (const chunk of chunkText(text, limit)) {
439
431
  await reply(chunk);
440
432
  }
441
433
  }
442
- /** Cek apakah teks Telegram menyebut bot via `@<botUsername>`. */
443
434
  function detectTelegramMention(text, botUsername) {
444
435
  if (!botUsername)
445
436
  return false;
446
437
  return text.toLowerCase().includes(`@${botUsername.toLowerCase()}`);
447
438
  }
448
- /** Cek apakah pesan WhatsApp menyebut JID milik bot. */
449
439
  function detectWhatsappMention(message, ownJid) {
450
440
  if (!ownJid || !message || typeof message !== "object")
451
441
  return false;
@@ -458,8 +448,8 @@ function detectWhatsappMention(message, ownJid) {
458
448
  const mentioned = contextInfo.mentionedJid;
459
449
  if (!Array.isArray(mentioned))
460
450
  return false;
461
- // Baileys kadang menyimpan `<phone>:<device>@s.whatsapp.net`,
462
- // sedangkan mentionedJid tanpa device bandingkan keduanya.
451
+ // Baileys sometimes stores `<phone>:<device>@s.whatsapp.net` while
452
+ // `mentionedJid` strips the device portion, so compare both forms.
463
453
  const normalizedOwn = ownJid.split(":")[0];
464
454
  return mentioned.some((entry) => typeof entry === "string" &&
465
455
  (entry === ownJid ||
@@ -1 +1 @@
1
- {"version":3,"file":"channel-runtime.js","sourceRoot":"","sources":["../../src/channels/channel-runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"channel-runtime.js","sourceRoot":"","sources":["../../src/channels/channel-runtime.ts"],"names":[],"mappings":"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"}
@@ -6,9 +6,7 @@ type AgentDeliverOptions = {
6
6
  host?: string;
7
7
  port?: number;
8
8
  token?: string;
9
- /** Verbose: cetak setiap event antara (text/reasoning) saat streaming. */
10
9
  verbose?: boolean;
11
10
  };
12
- /** Entrypoint sub-command. */
13
11
  export declare function runAgentDeliver(options: AgentDeliverOptions): Promise<void>;
14
12
  export {};
@@ -1,12 +1,7 @@
1
- /**
2
- * Token didapat dari (urutan): `--token <t>`, env `NATROC_TOKEN`, atau file
3
- * `~/.natroc/cli-token`. Buat dengan `natroc cli-token`.
4
- */
5
1
  import { randomUUID } from "node:crypto";
6
2
  import { readFile } from "node:fs/promises";
7
3
  import { join } from "node:path";
8
4
  import { getNatrocPaths } from "../config/natroc-home.js";
9
- /** Entrypoint sub-command. */
10
5
  export async function runAgentDeliver(options) {
11
6
  if (!options.message) {
12
7
  throw new Error("`--message` is required.");
@@ -44,7 +39,6 @@ export async function runAgentDeliver(options) {
44
39
  client.close();
45
40
  }
46
41
  }
47
- /** Helper: hasilkan teks balasan dari payload `agent.chat`. */
48
42
  function extractAgentText(payload) {
49
43
  if (!payload || typeof payload !== "object")
50
44
  return "";
@@ -55,7 +49,6 @@ function extractAgentText(payload) {
55
49
  return record.text.trim();
56
50
  return "";
57
51
  }
58
- /** Membaca CLI token dari (--token | NATROC_TOKEN | file `~/.natroc/cli-token`). */
59
52
  async function resolveCliToken(explicit) {
60
53
  if (explicit)
61
54
  return explicit;
@@ -72,10 +65,7 @@ async function resolveCliToken(explicit) {
72
65
  return null;
73
66
  }
74
67
  }
75
- /**
76
- * Klien WebSocket gateway minimal untuk Node CLI. Memakai global WebSocket
77
- * (Node 22+); tidak butuh library tambahan.
78
- */
68
+ /** Minimal WebSocket gateway client backed by Node's global WebSocket. */
79
69
  class GatewayWsClient {
80
70
  ws;
81
71
  pending = new Map();
@@ -93,7 +83,6 @@ class GatewayWsClient {
93
83
  close() {
94
84
  this.ws.close();
95
85
  }
96
- /** RPC unary — resolve dengan `payload` dari frame `res`. */
97
86
  async unary(method, params) {
98
87
  const id = randomUUID();
99
88
  return new Promise((resolve, reject) => {
@@ -101,7 +90,6 @@ class GatewayWsClient {
101
90
  this.send({ type: "req", id, method, params });
102
91
  });
103
92
  }
104
- /** RPC streaming — onEvent dipanggil per event antara; resolve di `res` final. */
105
93
  async stream(method, params, onEvent) {
106
94
  const id = randomUUID();
107
95
  return new Promise((resolve, reject) => {
@@ -162,7 +150,6 @@ class GatewayWsClient {
162
150
  }
163
151
  }
164
152
  }
165
- /** Promise wrapper untuk event `open`/`error` pada WebSocket. */
166
153
  function waitFor(ws, eventName) {
167
154
  return new Promise((resolve, reject) => {
168
155
  ws.addEventListener(eventName, () => resolve(), { once: true });