@rubytech/taskmaster 1.11.1 → 1.12.0

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 (30) hide show
  1. package/dist/agents/skills/workspace.js +3 -0
  2. package/dist/agents/taskmaster-tools.js +14 -0
  3. package/dist/agents/tool-policy.js +18 -0
  4. package/dist/agents/tools/brand-settings-tool.js +106 -0
  5. package/dist/agents/tools/channel-settings-tool.js +130 -0
  6. package/dist/agents/tools/logs-read-tool.js +67 -0
  7. package/dist/agents/tools/public-chat-settings-tool.js +138 -0
  8. package/dist/agents/tools/skill-manage-tool.js +105 -0
  9. package/dist/agents/tools/system-status-tool.js +82 -0
  10. package/dist/agents/tools/usage-report-tool.js +46 -0
  11. package/dist/build-info.json +3 -3
  12. package/dist/config/port-defaults.js +0 -8
  13. package/dist/config/zod-schema.js +6 -1
  14. package/dist/control-ui/assets/{index-YAjVyXqJ.js → index-DpMaqt-b.js} +657 -677
  15. package/dist/control-ui/assets/index-DpMaqt-b.js.map +1 -0
  16. package/dist/control-ui/index.html +1 -1
  17. package/dist/gateway/control-ui.js +2 -2
  18. package/dist/gateway/public-chat/deliver-otp.js +54 -18
  19. package/dist/gateway/public-chat/deliver-sms.js +96 -24
  20. package/dist/gateway/public-chat-api.js +12 -7
  21. package/dist/gateway/server-methods/public-chat.js +11 -6
  22. package/package.json +1 -1
  23. package/skills/brevo/SKILL.md +9 -8
  24. package/skills/brevo/references/browser-setup.md +13 -3
  25. package/skills/brevo/references/sms-credits.md +76 -0
  26. package/skills/system-admin/SKILL.md +68 -0
  27. package/skills/twilio/SKILL.md +14 -11
  28. package/skills/twilio/references/browser-setup.md +15 -24
  29. package/taskmaster-docs/USER-GUIDE.md +51 -8
  30. package/dist/control-ui/assets/index-YAjVyXqJ.js.map +0 -1
@@ -1,29 +1,32 @@
1
1
  ---
2
2
  name: twilio
3
- description: Guide users through getting Twilio SMS credentials for phone verification fallback.
4
- metadata: {"taskmaster":{"emoji":"🔑"}}
3
+ description: Guide users through getting Twilio credentials for the voice-call extension.
4
+ metadata: {"taskmaster":{"emoji":"📞"}}
5
5
  ---
6
6
 
7
- # Twilio Setup
7
+ # Twilio Setup (Voice Calling)
8
8
 
9
- Walks users through creating a Twilio account and obtaining SMS credentials (Account SID, Auth Token, and a phone number). Unlike Tavily or Google AI, Twilio signup requires identity verification guide the user with clear instructions rather than browser automation.
9
+ Walks users through creating a Twilio account and obtaining credentials for the voice-call extension. Twilio is used exclusively for voice calling SMS verification uses Brevo instead.
10
10
 
11
11
  ## When to activate
12
12
 
13
- - User enables Phone OTP or Visitor Chooses mode for Public Chat and SMS fallback is not configured
14
- - User asks about SMS verification or Twilio setup
15
- - User gets "No verification channel available" error and WhatsApp is not connected
13
+ - User wants to set up the voice-call extension with Twilio as the telephony provider
14
+ - User asks about Twilio setup for voice calling
15
+ - BOOTSTRAP detects missing Twilio credentials when voice-call extension is configured with Twilio provider
16
+
17
+ ## Important
18
+
19
+ Twilio is NOT used for SMS verification. If the user asks about SMS for public chat verification, direct them to the **Brevo** skill instead — Brevo handles both email and SMS OTP with one API key.
16
20
 
17
21
  ## What it unlocks
18
22
 
19
- - SMS fallback for phone verification when WhatsApp is unavailable
20
- - Verification codes delivered via text message to any mobile phone
21
- - Free trial includes credit for testing; pay-as-you-go after that
23
+ - Inbound and outbound voice calls via the voice-call extension
24
+ - Twilio as a telephony provider alongside Plivo and Telnyx
22
25
 
23
26
  ## References
24
27
 
25
28
  | Task | When to use | Reference |
26
29
  |------|-------------|-----------|
27
- | Guided setup | User wants help getting Twilio credentials | `references/browser-setup.md` |
30
+ | Guided setup | User wants help getting Twilio credentials for voice calling | `references/browser-setup.md` |
28
31
 
29
32
  Load the reference and follow its instructions.
@@ -1,12 +1,15 @@
1
- # Twilio SMS Credentials — Guided Setup
1
+ # Twilio Voice — Guided Setup
2
2
 
3
- Walk the user through getting Twilio credentials themselves. Unlike Tavily or Google AI, Twilio signup requires identity verification and personal details — guide with clear instructions rather than browser automation.
3
+ Walk the user through getting Twilio credentials for the voice-call extension. Twilio signup requires identity verification — guide with clear instructions rather than browser automation.
4
+
5
+ **Important:** This skill is for voice calling only. If the user needs SMS verification for public chat, direct them to the Brevo skill — Brevo handles both email and SMS OTP.
4
6
 
5
7
  ---
6
8
 
7
9
  ## Prerequisites
8
10
 
9
11
  - User has an email address and phone number
12
+ - User wants to use Twilio as their voice-call telephony provider
10
13
  - Chat channel for sending instructions
11
14
 
12
15
  ---
@@ -15,7 +18,7 @@ Walk the user through getting Twilio credentials themselves. Unlike Tavily or Go
15
18
 
16
19
  Tell the user what Twilio is and why they need it:
17
20
 
18
- > "When WhatsApp isn't connected, we can send verification codes by text message instead. Twilio is the standard service for sending SMS. There's a free trial with enough credit to get started — no payment needed upfront.
21
+ > "Twilio is a telephony provider that lets your assistant make and receive phone calls. There's a free trial with enough credit to get started — no payment needed upfront.
19
22
  >
20
23
  > I'll walk you through the setup. You'll need to create the account yourself since Twilio asks for some personal details, but I'll tell you exactly what to do at each step."
21
24
 
@@ -35,13 +38,13 @@ Wait for the user to confirm they've completed signup.
35
38
 
36
39
  If the user asks about onboarding questions Twilio shows after signup:
37
40
 
38
- > "Those are just survey questions — pick anything. You can select **SMS**, **Notifications**, and **No code**. They don't affect your account."
41
+ > "Those are just survey questions — pick anything. You can select **Voice**, **Notifications**, and **No code**. They don't affect your account."
39
42
 
40
43
  ## Step 4: Get a phone number
41
44
 
42
45
  > "On the Twilio dashboard, you should see a **trial phone number** offered to you. Click **'Get this number'** to claim it.
43
46
  >
44
- > If you don't see one, go to **Phone Numbers → Manage → Buy a number** in the left sidebar and get one with SMS capability.
47
+ > If you don't see one, go to **Phone Numbers → Manage → Buy a number** in the left sidebar and get one with Voice capability.
45
48
  >
46
49
  > Copy the phone number — it should look like **+15551234567**. Send it to me."
47
50
 
@@ -60,28 +63,15 @@ Wait for the user to send the credentials.
60
63
 
61
64
  ## Step 6: Save to Taskmaster
62
65
 
63
- Once you have all three values (Account SID, Auth Token, phone number):
64
-
65
- > "Now open your Taskmaster setup page:
66
- >
67
- > 1. Make sure **Public Chat** is enabled with **Phone OTP** or **Visitor chooses** mode
68
- > 2. Click **'Edit'** on the **SMS Fallback** row
69
- > 3. Paste in your **Account SID**, **Auth Token**, and **From Number**
70
- > 4. Click **Save**
71
- >
72
- > Let me know when it's done!"
73
-
74
- ## Step 7: Confirm
75
-
76
- Once the user confirms:
66
+ Once you have all three values (Account SID, Auth Token, phone number), save them as Twilio credentials for the voice-call extension using the appropriate configuration tool.
77
67
 
78
- > "SMS fallback is now configured. When WhatsApp is unavailable, verification codes will be sent by text message. Your visitors will always be able to verify their phone number."
68
+ > "I've saved your Twilio credentials. The voice-call extension can now make and receive calls through Twilio."
79
69
 
80
70
  ---
81
71
 
82
72
  ## If the user already has Twilio credentials
83
73
 
84
- Skip to Step 5 — just ask for the Account SID, Auth Token, and a Twilio phone number with SMS capability.
74
+ Skip to Step 5 — just ask for the Account SID, Auth Token, and a Twilio phone number with Voice capability.
85
75
 
86
76
  ---
87
77
 
@@ -89,7 +79,8 @@ Skip to Step 5 — just ask for the Account SID, Auth Token, and a Twilio phone
89
79
 
90
80
  | Question | Answer |
91
81
  |----------|--------|
92
- | "Is it free?" | The trial includes credit for ~100+ SMS messages. No card required. After that it's pay-as-you-go, about $0.008 per SMS in the US. |
93
- | "Can I send to any number?" | On the free trial, you can only send to numbers you've verified in Twilio. Upgrade to a paid account to send to any number. |
82
+ | "Is it free?" | The trial includes credit for testing. No card required. After that it's pay-as-you-go. |
83
+ | "Can I use Twilio for SMS too?" | Twilio is used for voice calling only in Taskmaster. For SMS verification codes, use Brevo instead it handles both email and SMS with one API key. |
94
84
  | "Where do I find my credentials later?" | Always at **console.twilio.com** — the Account SID and Auth Token are on the main dashboard. |
95
- | "I already have Twilio but use it for something else" | That's fine — the same credentials work. Just make sure the phone number has SMS capability enabled. |
85
+ | "I already have Twilio but use it for something else" | That's fine — the same credentials work. Just make sure the phone number has Voice capability enabled. |
86
+ | "Can I use a different telephony provider?" | Yes — Taskmaster also supports Plivo and Telnyx for voice calling. |
@@ -557,6 +557,31 @@ Your assistant can manage who has admin access — the same as using the Admins
557
557
  - "Who are my current admins?"
558
558
  - "Remove the old number ending in 789 from admins"
559
559
 
560
+ ### System Administration
561
+
562
+ Your assistant can check and manage many system settings directly through chat — the same things you'd normally check in the Setup page on the control panel. Think of it as a shortcut: instead of opening the control panel and navigating to the right setting, just ask.
563
+
564
+ | Capability | Description |
565
+ |------------|-------------|
566
+ | System status | Check gateway health, WhatsApp/iMessage connections, Claude authentication, license, software version |
567
+ | Usage and cost | See how many tokens you've used and what it's costing, broken down by provider |
568
+ | Channel settings | Change the AI model, thinking level, DM policy, or group chat policy for your WhatsApp accounts |
569
+ | Branding | Update your accent or background colour |
570
+ | Public chat | Enable or disable the public chat widget, change the greeting, set visitor verification |
571
+ | Skills | List, create, delete, or toggle skills |
572
+ | Logs | Review system and session logs for troubleshooting |
573
+
574
+ **Try asking:**
575
+ - "How's the system doing?"
576
+ - "What's my usage this month?"
577
+ - "Is WhatsApp connected?"
578
+ - "Switch WhatsApp to a cheaper model"
579
+ - "Change the accent colour to blue"
580
+ - "Enable public chat"
581
+ - "Show me the recent logs"
582
+
583
+ > **Note:** Some things still need the control panel: scanning WhatsApp QR codes, uploading logos, WiFi setup, Tailscale remote access, and PIN management. Your assistant will tell you when to open the control panel and where to go.
584
+
560
585
  ### Web Browsing
561
586
 
562
587
  Your assistant can open and interact with websites in a built-in browser — filling in forms, clicking buttons, and navigating pages. You can watch what it's doing on the **Browser** page in real time, and take over if it needs help (for example, to complete a CAPTCHA or log in to a site).
@@ -1001,6 +1026,21 @@ If the Pi checks pass but the control panel still doesn't load from another devi
1001
1026
  2. **Check you're on the same subnet** — mDNS only works between devices on the same network subnet. It won't work across separate subnets, VLANs, or guest networks. A common cause: the Pi is on Ethernet while your device is on WiFi, and your router assigns them to different subnets. Check by comparing the first three groups of your IP addresses (e.g. if the Pi is `192.168.88.4` and your laptop is `192.168.10.172`, they're on different subnets).
1002
1027
  3. **Contact support** with: what you changed (port/hostname), the output of `hostname`, `grep 127.0.1.1 /etc/hosts`, and `taskmaster daemon status`.
1003
1028
 
1029
+ #### Hostname changed to `taskmaster-2.local` (or similar)
1030
+
1031
+ If your control panel URL suddenly stops working and you notice the hostname has a `-2` (or `-3`) suffix, the Pi detected a name conflict on the network and renamed itself.
1032
+
1033
+ **When this happens:** If you unplug the Ethernet cable while the Pi is already running on WiFi, the Pi briefly had two network connections active at the same time. Its hostname detection saw its own name coming from the Ethernet side and treated it as a conflict, adding a `-2` suffix.
1034
+
1035
+ **Fix:**
1036
+
1037
+ 1. Power the Pi off completely (not just restart — fully power off)
1038
+ 2. Wait at least 2 minutes (this lets the mDNS name cache clear on all devices on the network)
1039
+ 3. Power the Pi back on
1040
+ 4. Access the control panel using your normal URL
1041
+
1042
+ **To avoid this in future:** Connect via WiFi first, then remove the Ethernet cable — don't unplug Ethernet while the Pi is running with both cables connected.
1043
+
1004
1044
  ### Static IP Address
1005
1045
 
1006
1046
  You don't need to assign a static IP address — Taskmaster uses a `.local` hostname that resolves automatically via mDNS, even if the IP changes after a reboot or DHCP renewal. You'll always find your control panel at the same `.local` address.
@@ -1467,16 +1507,19 @@ By default, anyone who opens the public chat can start a conversation immediatel
1467
1507
  1. Go to the **Setup** page
1468
1508
  2. Find the **Public Chat** status card
1469
1509
  3. Click the settings icon to open the verification settings modal
1470
- 4. Choose a verification method:
1510
+ 4. Choose an auth mode: **Anonymous** (no verification), **Verified** (must verify before chatting), or **Visitor chooses** (can chat immediately or verify for cross-device continuity)
1511
+ 5. Select which verification channels to enable — three independent checkboxes:
1512
+
1513
+ | Channel | How it works | What you need |
1514
+ |---------|-------------|---------------|
1515
+ | **WhatsApp** | Verification code sent via WhatsApp | A connected WhatsApp account |
1516
+ | **SMS** | Verification code sent by text message | Same [Brevo](https://brevo.com) API key as email, plus prepaid SMS credits in your Brevo account |
1517
+ | **Email** | Verification code sent by email | A [Brevo](https://brevo.com) API key and a verified sender (free, no credit card) |
1471
1518
 
1472
- | Method | How it works | What you need |
1473
- |--------|-------------|---------------|
1474
- | **Anonymous** | No verification — visitors chat immediately | Nothing (default) |
1475
- | **Email OTP** | Visitors enter their email, receive a one-time code | A [Brevo](https://brevo.com) API key and a verified sender (free, no credit card). The sender address is configured in Brevo, not in Taskmaster. |
1476
- | **SMS OTP** | Visitors enter their phone number, receive a one-time code | [Twilio](https://twilio.com) account SID, auth token, and a Twilio phone number |
1519
+ When both WhatsApp and SMS are enabled, phone verification tries WhatsApp first and falls back to SMS. To use SMS only, uncheck WhatsApp.
1477
1520
 
1478
- 5. Enter your provider credentials — for email, add the Brevo API key in the **API Keys** section on the Setup page; for SMS, enter Twilio credentials in the SMS Fallback fields
1479
- 6. Settings auto-save when you leave each field
1521
+ 6. Enter your provider credentials — add the Brevo API key in the **API Keys** section on the Setup page. The same key serves both email and SMS verification. For SMS, purchase SMS credits in your Brevo dashboard.
1522
+ 7. Settings auto-save when you change a checkbox or leave a field
1480
1523
 
1481
1524
  Once enabled, visitors must authenticate before they can send their first message. Verified contact details are stored and available to the agent via the `verify_contact` tool, so your assistant knows who it's talking to.
1482
1525