natroc 0.0.4 → 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.
- package/README.md +343 -0
- package/package.json +1 -1
- package/server/dist/app.js +7 -11
- package/server/dist/app.js.map +1 -1
- package/server/dist/channels/channel-runtime.d.ts +3 -4
- package/server/dist/channels/channel-runtime.js +5 -15
- package/server/dist/channels/channel-runtime.js.map +1 -1
- package/server/dist/cli/agent-deliver.d.ts +0 -2
- package/server/dist/cli/agent-deliver.js +1 -14
- package/server/dist/cli/agent-deliver.js.map +1 -1
- package/server/dist/cli/cli-token.js +0 -5
- package/server/dist/cli/cli-token.js.map +1 -1
- package/server/dist/cli/daemon.d.ts +2 -16
- package/server/dist/cli/daemon.js +5 -37
- package/server/dist/cli/daemon.js.map +1 -1
- package/server/dist/cli/setup.d.ts +0 -1
- package/server/dist/cli/setup.js +2 -20
- package/server/dist/cli/setup.js.map +1 -1
- package/server/dist/gateway/agent-service.d.ts +4 -4
- package/server/dist/gateway/agent-service.js +27 -7
- package/server/dist/gateway/agent-service.js.map +1 -1
- package/server/dist/gateway/connection.d.ts +6 -15
- package/server/dist/gateway/connection.js +12 -23
- package/server/dist/gateway/connection.js.map +1 -1
- package/server/dist/gateway/gateway.d.ts +2 -31
- package/server/dist/gateway/gateway.js +6 -34
- package/server/dist/gateway/gateway.js.map +1 -1
- package/server/dist/gateway/index.d.ts +0 -1
- package/server/dist/gateway/index.js +0 -1
- package/server/dist/gateway/index.js.map +1 -1
- package/server/dist/gateway/protocol.d.ts +12 -22
- package/server/dist/gateway/protocol.js +1 -4
- package/server/dist/gateway/protocol.js.map +1 -1
- package/server/dist/gateway/rpc/agent.d.ts +0 -1
- package/server/dist/gateway/rpc/agent.js +0 -1
- package/server/dist/gateway/rpc/agent.js.map +1 -1
- package/server/dist/gateway/rpc/auth.d.ts +0 -1
- package/server/dist/gateway/rpc/auth.js +0 -1
- package/server/dist/gateway/rpc/auth.js.map +1 -1
- package/server/dist/gateway/rpc/channels.js +0 -1
- package/server/dist/gateway/rpc/channels.js.map +1 -1
- package/server/dist/gateway/rpc/conversations.d.ts +0 -1
- package/server/dist/gateway/rpc/conversations.js +0 -1
- package/server/dist/gateway/rpc/conversations.js.map +1 -1
- package/server/dist/gateway/rpc/projects.d.ts +0 -1
- package/server/dist/gateway/rpc/projects.js +0 -1
- package/server/dist/gateway/rpc/projects.js.map +1 -1
- package/server/dist/gateway/rpc/providers.d.ts +0 -1
- package/server/dist/gateway/rpc/providers.js +0 -1
- package/server/dist/gateway/rpc/providers.js.map +1 -1
- package/server/dist/gateway/types.d.ts +1 -19
- package/server/dist/gateway/types.js +1 -5
- package/server/dist/gateway/types.js.map +1 -1
- package/server/dist/gateway/ws-server.d.ts +0 -6
- package/server/dist/gateway/ws-server.js +2 -6
- package/server/dist/gateway/ws-server.js.map +1 -1
- package/server/dist/runtime.d.ts +3 -3
- package/server/dist/storage/auth-repository.d.ts +1 -5
- package/server/dist/storage/auth-repository.js +1 -5
- package/server/dist/storage/auth-repository.js.map +1 -1
- package/server/dist/storage/channel-repository.d.ts +4 -4
- package/server/dist/storage/channel-repository.js +2 -2
- package/server/dist/storage/conversation-repository.d.ts +13 -0
- package/server/dist/storage/conversation-repository.js +83 -17
- package/server/dist/storage/conversation-repository.js.map +1 -1
- package/server/dist/storage/database.d.ts +1 -5
- package/server/dist/storage/database.js +4 -5
- package/server/dist/storage/database.js.map +1 -1
- package/server/dist/storage/tool-call-repository.d.ts +2 -0
- package/server/dist/storage/tool-call-repository.js +9 -6
- package/server/dist/storage/tool-call-repository.js.map +1 -1
- package/ui/dist/assets/{index-DKaFmZNO.js → index-BiVH3g6R.js} +2 -2
- 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
package/server/dist/app.js
CHANGED
|
@@ -6,12 +6,9 @@ import staticPlugin from "@fastify/static";
|
|
|
6
6
|
import Fastify from "fastify";
|
|
7
7
|
import { ZodError } from "zod";
|
|
8
8
|
import { createGateway, registerGatewayWebSocket } from "./gateway/index.js";
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
* <prefix>/lib/node_modules/natroc/ui/dist/index.html <-- yang dilayani
|
|
13
|
-
* Dari `server/dist/app.js`, ui/dist relatif = `../../ui/dist`.
|
|
14
|
-
*/
|
|
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/`.
|
|
15
12
|
const MODULE_DIR = dirname(fileURLToPath(import.meta.url));
|
|
16
13
|
const UI_DIST_DIR = join(MODULE_DIR, "..", "..", "ui", "dist");
|
|
17
14
|
export function buildApp(options = {}) {
|
|
@@ -46,8 +43,8 @@ export function buildApp(options = {}) {
|
|
|
46
43
|
status: "not_implemented",
|
|
47
44
|
message: "A2UI surface is not yet implemented.",
|
|
48
45
|
}));
|
|
49
|
-
// Serve Web UI
|
|
50
|
-
//
|
|
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.
|
|
51
48
|
const hasUiBundle = existsSync(join(UI_DIST_DIR, "index.html"));
|
|
52
49
|
if (hasUiBundle) {
|
|
53
50
|
app.register(staticPlugin, {
|
|
@@ -56,8 +53,8 @@ export function buildApp(options = {}) {
|
|
|
56
53
|
wildcard: false,
|
|
57
54
|
decorateReply: true,
|
|
58
55
|
});
|
|
59
|
-
// SPA history fallback
|
|
60
|
-
//
|
|
56
|
+
// SPA history fallback — non-API GETs that miss the static root resolve
|
|
57
|
+
// to index.html so the client router can handle them.
|
|
61
58
|
app.setNotFoundHandler((request, reply) => {
|
|
62
59
|
if (request.method !== "GET" || isApiPath(request.url)) {
|
|
63
60
|
return reply.code(404).send({
|
|
@@ -71,7 +68,6 @@ export function buildApp(options = {}) {
|
|
|
71
68
|
}
|
|
72
69
|
return app;
|
|
73
70
|
}
|
|
74
|
-
/** Path yang TIDAK boleh di-fallback ke `index.html` (harus 404 betulan). */
|
|
75
71
|
function isApiPath(url) {
|
|
76
72
|
return (url.startsWith("/gateway") ||
|
|
77
73
|
url.startsWith("/__natroc__/") ||
|
package/server/dist/app.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AACpC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAExC,OAAO,IAAI,MAAM,eAAe,CAAA;AAChC,OAAO,YAAY,MAAM,iBAAiB,CAAA;AAC1C,OAAO,OAAO,MAAM,SAAS,CAAA;AAC7B,OAAO,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAA;AAG9B,OAAO,EAAE,aAAa,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAA;AAM5E
|
|
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
|
-
*
|
|
14
|
-
*
|
|
15
|
-
* session
|
|
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
|
-
*
|
|
93
|
-
*
|
|
94
|
-
* session
|
|
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
|
|
462
|
-
//
|
|
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 });
|