@rubytech/create-maxy 1.0.442 → 1.0.444
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/package.json +1 -1
- package/payload/maxy/public/assets/{ChatInput-CU1KuGpJ.css → ChatInput-rWA47V05.css} +1 -1
- package/payload/maxy/public/assets/{admin-D-BSLXqy.js → admin-CisU37jg.js} +4 -4
- package/payload/maxy/public/assets/{public-vjAu4hiw.js → public-ClFTMlS3.js} +1 -1
- package/payload/maxy/public/index.html +3 -3
- package/payload/maxy/public/public.html +3 -3
- package/payload/maxy/server.js +16 -16
- package/payload/platform/knowledge/maxy.md +22 -6
- package/payload/platform/plugins/admin/skills/plugin-management/skill.md +1 -1
- package/payload/platform/plugins/admin/skills/public-agent-manager/skill.md +1 -1
- package/payload/platform/plugins/business-assistant/PLUGIN.md +1 -1
- package/payload/platform/plugins/business-assistant/references/crm.md +2 -2
- package/payload/platform/plugins/contacts/PLUGIN.md +1 -1
- package/payload/platform/plugins/docs/PLUGIN.md +1 -1
- package/payload/platform/plugins/email/PLUGIN.md +1 -1
- package/payload/platform/plugins/projects/PLUGIN.md +1 -1
- package/payload/platform/plugins/sales/PLUGIN.md +1 -1
- package/payload/platform/plugins/scheduling/PLUGIN.md +1 -1
- package/payload/platform/plugins/tasks/PLUGIN.md +1 -1
- package/payload/platform/plugins/telegram/PLUGIN.md +2 -2
- package/payload/platform/plugins/telegram/references/setup-guide.md +3 -3
- package/payload/platform/plugins/waitlist/PLUGIN.md +1 -1
- package/payload/platform/plugins/whatsapp/PLUGIN.md +1 -0
- package/payload/platform/plugins/whatsapp/mcp/dist/index.js +4 -1
- package/payload/platform/plugins/whatsapp/mcp/dist/index.js.map +1 -1
- package/payload/platform/plugins/whatsapp/references/channels-whatsapp.md +11 -14
- package/payload/platform/plugins/workflows/PLUGIN.md +1 -1
- /package/payload/maxy/public/assets/{ChatInput-CeiIhy_D.js → ChatInput--kmj83_w.js} +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# WhatsApp Channels
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
The platform supports two WhatsApp connection methods via Baileys multi-account:
|
|
4
4
|
|
|
5
5
|
| Provider | Use Case | Connection |
|
|
6
6
|
|----------|----------|------------|
|
|
@@ -16,7 +16,7 @@ Most users will have two Baileys accounts (two phone numbers, both linked via QR
|
|
|
16
16
|
| **Personal** | Admin self-chat, groups, personal contacts |
|
|
17
17
|
| **Business** | Customer-facing DMs (can be WhatsApp Business app or regular WhatsApp) |
|
|
18
18
|
|
|
19
|
-
WhatsApp Business **app** vs personal WhatsApp is irrelevant from
|
|
19
|
+
WhatsApp Business **app** vs personal WhatsApp is irrelevant from the platform's perspective — Baileys connects to both identically via QR. The Business app just adds business profile, catalog, and labels in the phone UI.
|
|
20
20
|
|
|
21
21
|
**Linked device note:** The primary phone must come online periodically (~every 14 days) to keep the Baileys linked-device session alive. It does NOT need to be on 24/7.
|
|
22
22
|
|
|
@@ -79,19 +79,19 @@ Cloud API requirements: Meta Business Account, System User Access Token, Cloudfl
|
|
|
79
79
|
|
|
80
80
|
Baileys uses the same WebSocket protocol as WhatsApp Web/Desktop linked devices. Meta cannot blanket-block it without breaking their own official clients for hundreds of millions of users.
|
|
81
81
|
|
|
82
|
-
**Responsibility model:**
|
|
82
|
+
**Responsibility model:** The platform and its other users are not at risk — bans are per-number, targeting individual accounts for abusive behaviour. Users should be told: *"Don't use this for bulk messaging or spam. Meta may ban your number for abusive patterns. Normal business conversations are fine."*
|
|
83
83
|
|
|
84
84
|
- Normal conversational use (replies, scheduling, quotes) = effectively zero risk
|
|
85
85
|
- Ack reactions, typing indicators, and reply delays mimic real linked-device behaviour
|
|
86
86
|
- Risk increases only with spam patterns: mass messaging, rapid-fire sends to unknown contacts, broadcasting
|
|
87
|
-
- If a user's number is banned, it's between them and Meta — other
|
|
87
|
+
- If a user's number is banned, it's between them and Meta — other users are unaffected
|
|
88
88
|
- Cloud API code is available as a fallback for enterprise users who want official Meta support
|
|
89
89
|
|
|
90
90
|
## WhatsApp Outbound Policy — No Automated Broadcasts
|
|
91
91
|
|
|
92
92
|
**WhatsApp's Terms of Service explicitly prohibit automated bulk/broadcast messaging.** This applies to both Baileys and Cloud API connections. Violations result in permanent number bans with no appeal.
|
|
93
93
|
|
|
94
|
-
|
|
94
|
+
The platform enforces this at multiple levels:
|
|
95
95
|
|
|
96
96
|
1. **Broadcast action blocked** — The `message broadcast` action (which sends to multiple targets) always excludes WhatsApp as a target channel, regardless of config. This is a hard block that cannot be overridden.
|
|
97
97
|
2. **Agent tool suppression** — When an agent session is on WhatsApp, the `broadcast` action is removed from the message tool schema entirely. Agents cannot invoke it.
|
|
@@ -154,7 +154,7 @@ The Public Agent Settings modal includes a **Model** dropdown that sets the defa
|
|
|
154
154
|
**How it works:**
|
|
155
155
|
1. UI resolves the selected workspace's public agent ID (e.g. `joes-coffee-public`)
|
|
156
156
|
2. On change, writes the model to config via `writeAgentModelToConfig` (two params: agentId + model)
|
|
157
|
-
3. Config stored in `agents.list[{agentId}].model` in
|
|
157
|
+
3. Config stored in `agents.list[{agentId}].model` in `account.json`
|
|
158
158
|
4. No gateway restart needed — `agents` prefix has `kind: "none"` reload rule (read dynamically)
|
|
159
159
|
|
|
160
160
|
**Runtime model resolution — config is the single source of truth.** Every model read (LLM API call, `/status` display, chat UI initial load) calls `loadConfig()` fresh and resolves via `resolveDefaultModelForAgent({ cfg, agentId })`. There are no session-level model overrides — the model is always read from config at the point of use.
|
|
@@ -182,7 +182,7 @@ The Public Agent Settings modal includes a **Thinking** dropdown that sets the d
|
|
|
182
182
|
**How it works:**
|
|
183
183
|
1. UI resolves the selected workspace's public agent ID (e.g. `joes-coffee-public`)
|
|
184
184
|
2. On change, writes the thinking level to config via `writeAgentThinkingToConfig` (two params: agentId + thinkingLevel)
|
|
185
|
-
3. Config stored in `agents.list[{agentId}].thinkingLevel` in
|
|
185
|
+
3. Config stored in `agents.list[{agentId}].thinkingLevel` in `account.json`
|
|
186
186
|
4. No gateway restart needed — `agents` prefix has `kind: "none"` reload rule (read dynamically)
|
|
187
187
|
|
|
188
188
|
**Runtime thinking resolution — config is the single source of truth.** Every thinking level read calls `loadConfig()` fresh and resolves via `resolveThinkingDefault({ cfg, provider, model, catalog, agentId })`. There are no session-level thinking overrides — thinking is always read from config at the point of use.
|
|
@@ -254,22 +254,19 @@ Baileys stores WhatsApp session credentials (linked-device state) on disk. The a
|
|
|
254
254
|
| Priority | Path | When |
|
|
255
255
|
|----------|------|------|
|
|
256
256
|
| 1. Explicit config | `channels.whatsapp.accounts.{id}.authDir` | User overrides in config |
|
|
257
|
-
| 2. Default | `~/.
|
|
258
|
-
| 3. Legacy fallback | `~/.taskmaster/credentials/` | Old single-account installs (only if creds exist here and not at default path) |
|
|
259
|
-
|
|
260
|
-
The state dir (`~/.taskmaster/`) can be overridden via `TASKMASTER_STATE_DIR` env var; the credentials subdirectory via `TASKMASTER_OAUTH_DIR`.
|
|
257
|
+
| 2. Default | `~/.maxy/credentials/whatsapp/{accountId}/` | Normal operation |
|
|
261
258
|
|
|
262
259
|
**Diagnostics on the Pi:**
|
|
263
260
|
|
|
264
261
|
```bash
|
|
265
262
|
# List all WhatsApp auth directories
|
|
266
|
-
ls -la ~/.
|
|
263
|
+
ls -la ~/.maxy/credentials/whatsapp/
|
|
267
264
|
|
|
268
265
|
# Check if credentials exist for an account
|
|
269
|
-
ls ~/.
|
|
266
|
+
ls ~/.maxy/credentials/whatsapp/default/creds.json
|
|
270
267
|
|
|
271
268
|
# Check credential freshness (should be recent if just linked)
|
|
272
|
-
stat ~/.
|
|
269
|
+
stat ~/.maxy/credentials/whatsapp/default/creds.json
|
|
273
270
|
```
|
|
274
271
|
|
|
275
272
|
If `creds.json` is missing, the session was never linked or was deleted. If it exists but WhatsApp rejects it (401), the session was invalidated (cleared from phone, expired after 14 days offline, or account banned).
|
|
@@ -10,7 +10,7 @@ tools:
|
|
|
10
10
|
- workflow-validate
|
|
11
11
|
- workflow-execute
|
|
12
12
|
- workflow-runs
|
|
13
|
-
metadata: {"
|
|
13
|
+
metadata: {"platform":{"always":false,"embed":[],"pluginKey":"workflows","optional":true,"recommended":true}}
|
|
14
14
|
---
|
|
15
15
|
|
|
16
16
|
# Workflows
|
|
File without changes
|