@rubytech/taskmaster 1.0.63 → 1.0.65
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/dist/agents/pi-embedded-runner/compact.js +1 -1
- package/dist/agents/pi-embedded-runner/history.js +57 -15
- package/dist/agents/pi-embedded-runner/run/attempt.js +23 -5
- package/dist/agents/pi-embedded-runner/run.js +6 -31
- package/dist/agents/pi-embedded-runner.js +1 -1
- package/dist/agents/system-prompt.js +20 -0
- package/dist/agents/taskmaster-tools.js +4 -0
- package/dist/agents/tool-policy.js +2 -0
- package/dist/agents/tools/message-history-tool.js +436 -0
- package/dist/agents/tools/sessions-history-tool.js +1 -0
- package/dist/build-info.json +3 -3
- package/dist/config/zod-schema.js +10 -0
- package/dist/control-ui/assets/index-DmifehTc.css +1 -0
- package/dist/control-ui/assets/index-o5Xs9S4u.js +3166 -0
- package/dist/control-ui/assets/index-o5Xs9S4u.js.map +1 -0
- package/dist/control-ui/index.html +2 -2
- package/dist/gateway/config-reload.js +1 -0
- package/dist/gateway/control-ui.js +173 -0
- package/dist/gateway/net.js +16 -0
- package/dist/gateway/protocol/client-info.js +1 -0
- package/dist/gateway/protocol/schema/logs-chat.js +3 -0
- package/dist/gateway/protocol/schema/sessions-transcript.js +1 -3
- package/dist/gateway/public-chat/deliver-otp.js +9 -0
- package/dist/gateway/public-chat/otp.js +60 -0
- package/dist/gateway/public-chat/session.js +45 -0
- package/dist/gateway/server/ws-connection/message-handler.js +17 -4
- package/dist/gateway/server-chat.js +22 -0
- package/dist/gateway/server-http.js +21 -3
- package/dist/gateway/server-methods/chat.js +38 -5
- package/dist/gateway/server-methods/public-chat.js +110 -0
- package/dist/gateway/server-methods/sessions-transcript.js +29 -46
- package/dist/gateway/server-methods.js +17 -0
- package/dist/hooks/bundled/conversation-archive/handler.js +23 -6
- package/dist/infra/session-recovery.js +1 -3
- package/dist/plugins/runtime/index.js +2 -0
- package/dist/utils/message-channel.js +3 -0
- package/package.json +1 -1
- package/taskmaster-docs/USER-GUIDE.md +185 -5
- package/dist/control-ui/assets/index-BPvR6pln.js +0 -3021
- package/dist/control-ui/assets/index-BPvR6pln.js.map +0 -1
- package/dist/control-ui/assets/index-mweBpmCT.css +0 -1
|
@@ -394,18 +394,25 @@ All outreach messages are sent as your assistant — customers reply normally an
|
|
|
394
394
|
|
|
395
395
|
### Conversations & Sessions
|
|
396
396
|
|
|
397
|
-
Your assistant
|
|
397
|
+
Your assistant has full access to conversation history across all channels — WhatsApp, webchat, iMessage, and group chats. It can find specific messages, review entire conversations, and give you an overview of all activity.
|
|
398
398
|
|
|
399
399
|
| Capability | Description |
|
|
400
400
|
|------------|-------------|
|
|
401
|
-
| List conversations | See who has been messaging and when |
|
|
401
|
+
| List conversations | See who has been messaging and when — across all channels |
|
|
402
402
|
| Review history | Read back through past conversations with a specific contact |
|
|
403
|
+
| Search messages | Find messages containing specific words or topics |
|
|
404
|
+
| Filter by channel | Show only WhatsApp, webchat, or iMessage messages |
|
|
405
|
+
| Filter by time | Narrow results to a specific date or time range |
|
|
406
|
+
| All activity | Get a summary of messages across all customers and groups at once |
|
|
403
407
|
| Send between sessions | Send a message to a customer outside of an active conversation |
|
|
404
|
-
| Check session status | See whether your assistant is currently in a conversation |
|
|
405
408
|
|
|
406
409
|
**Try asking:**
|
|
407
|
-
- "Who messaged today?"
|
|
408
|
-
- "What did Sarah ask about yesterday?"
|
|
410
|
+
- "Who messaged today?" — lists all conversations with recent activity
|
|
411
|
+
- "What did Sarah ask about yesterday?" — reviews a specific contact's history
|
|
412
|
+
- "Find any messages that mention boiler" — searches across conversations
|
|
413
|
+
- "Show me all WhatsApp messages from today" — filters by channel
|
|
414
|
+
- "What happened between 9am and 10am?" — filters by time range
|
|
415
|
+
- "Show me all customer messages from today" — aggregates across all conversations
|
|
409
416
|
- "Send a follow-up to the customer who asked about the boiler"
|
|
410
417
|
|
|
411
418
|
### Admin Management
|
|
@@ -624,6 +631,179 @@ You can filter by:
|
|
|
624
631
|
|
|
625
632
|
Both views support **auto-follow** (keeps the view scrolled to the latest entries) and **export** to download a log file.
|
|
626
633
|
|
|
634
|
+
### Changing Network Settings
|
|
635
|
+
|
|
636
|
+
You might need to change two network settings after your Pi is deployed:
|
|
637
|
+
|
|
638
|
+
- **Port** — The number at the end of your control panel URL (e.g., `http://taskmaster.local:18789`)
|
|
639
|
+
- **mDNS hostname** — The friendly name before `.local` (e.g., `taskmaster` in `taskmaster.local`)
|
|
640
|
+
|
|
641
|
+
#### What is the port and why would I change it?
|
|
642
|
+
|
|
643
|
+
The port is like an apartment number for your Taskmaster server. The default is 18789.
|
|
644
|
+
|
|
645
|
+
**When to change it:**
|
|
646
|
+
- Another device on your network is already using port 18789
|
|
647
|
+
- Your router or firewall blocks that port
|
|
648
|
+
- You're running multiple Taskmaster instances and need them on different ports
|
|
649
|
+
|
|
650
|
+
**What happens when you change it:** Your control panel URL changes. If you set the port to 19000, you'll access Taskmaster at `http://taskmaster.local:19000`.
|
|
651
|
+
|
|
652
|
+
#### What is the mDNS hostname and why would I change it?
|
|
653
|
+
|
|
654
|
+
The mDNS hostname is the friendly name you use to access your Pi on your local network. The default is `taskmaster`, so your control panel is at `taskmaster.local`.
|
|
655
|
+
|
|
656
|
+
**When to change it:**
|
|
657
|
+
- You're running multiple Taskmaster instances on the same network (they'll conflict if they all use `taskmaster.local`)
|
|
658
|
+
- You want custom branding (e.g., `dave.local`, `assistant.local`, `plumbing-helper.local`)
|
|
659
|
+
|
|
660
|
+
**What happens when you change it:** Your control panel URL changes. If you set the hostname to `dave`, you'll access Taskmaster at `http://dave.local:18789`.
|
|
661
|
+
|
|
662
|
+
#### How to make these changes
|
|
663
|
+
|
|
664
|
+
You have two options for accessing your Pi:
|
|
665
|
+
|
|
666
|
+
**Option 1: Direct Access (Keyboard + Monitor)**
|
|
667
|
+
1. Plug a keyboard and monitor into your Pi
|
|
668
|
+
2. Log in (default user: `taskmaster`, password: `taskmaster`)
|
|
669
|
+
3. Follow the instructions below
|
|
670
|
+
|
|
671
|
+
**Option 2: SSH (from another computer)**
|
|
672
|
+
1. Open Terminal (Mac/Linux) or PowerShell (Windows)
|
|
673
|
+
2. Connect to your Pi: `ssh admin@taskmaster.local`
|
|
674
|
+
3. Enter the password when prompted (default: `password`)
|
|
675
|
+
4. Follow the instructions below
|
|
676
|
+
|
|
677
|
+
#### Changing the Port
|
|
678
|
+
|
|
679
|
+
Once you're logged in (either method):
|
|
680
|
+
|
|
681
|
+
**Step 1:** Update the configuration
|
|
682
|
+
|
|
683
|
+
```bash
|
|
684
|
+
taskmaster config set gateway.port 19000
|
|
685
|
+
```
|
|
686
|
+
|
|
687
|
+
(Replace `19000` with whatever port you want)
|
|
688
|
+
|
|
689
|
+
**Step 2:** Reinstall the daemon service (this rewrites the service file with the new port)
|
|
690
|
+
|
|
691
|
+
```bash
|
|
692
|
+
taskmaster daemon install --force
|
|
693
|
+
```
|
|
694
|
+
|
|
695
|
+
> **Important:** Do not use `taskmaster daemon restart` here — that restarts the service with the old port. You must use `taskmaster daemon install --force` to pick up the new port from the configuration.
|
|
696
|
+
|
|
697
|
+
**Step 3:** Access the control panel at the new URL: `http://taskmaster.local:19000` (use your new port number)
|
|
698
|
+
|
|
699
|
+
#### Changing the mDNS Hostname
|
|
700
|
+
|
|
701
|
+
Once you're logged in (either method):
|
|
702
|
+
|
|
703
|
+
**Step 1:** Set the new hostname
|
|
704
|
+
|
|
705
|
+
```bash
|
|
706
|
+
sudo hostnamectl set-hostname dave
|
|
707
|
+
```
|
|
708
|
+
|
|
709
|
+
(Replace `dave` with whatever name you want — letters and hyphens only, no spaces)
|
|
710
|
+
|
|
711
|
+
> You will see a warning on every `sudo` command until Step 2 completes: `sudo: unable to resolve host dave: Name or service not known`. This is normal — the hostname was changed but the system hasn't been told where to find it yet. Every command still succeeds despite the warning.
|
|
712
|
+
|
|
713
|
+
**Step 2:** Update `/etc/hosts` to match
|
|
714
|
+
|
|
715
|
+
```bash
|
|
716
|
+
sudo sed -i "s/127\.0\.1\.1.*/127.0.1.1\tdave/" /etc/hosts
|
|
717
|
+
```
|
|
718
|
+
|
|
719
|
+
(Replace `dave` with the same name you used in Step 1. You'll see the same warning one last time — after this command, it's gone.)
|
|
720
|
+
|
|
721
|
+
**Step 3:** Restart the mDNS service
|
|
722
|
+
|
|
723
|
+
```bash
|
|
724
|
+
sudo systemctl restart avahi-daemon
|
|
725
|
+
```
|
|
726
|
+
|
|
727
|
+
> **If you're connected via SSH**, your connection will stop working after this step because the old hostname is no longer valid. Reconnect using the new hostname: `ssh admin@dave.local`
|
|
728
|
+
|
|
729
|
+
**Step 4:** Access the control panel at the new URL: `http://dave.local:18789` (use your new hostname)
|
|
730
|
+
|
|
731
|
+
> **Note:** This changes the hostname for the entire Pi, not just Taskmaster.
|
|
732
|
+
|
|
733
|
+
#### Changing Both
|
|
734
|
+
|
|
735
|
+
If you need to change both the port and hostname:
|
|
736
|
+
|
|
737
|
+
1. Change the port first (Steps 1–2 under "Changing the Port")
|
|
738
|
+
2. Change the hostname (Steps 1–2 under "Changing the mDNS Hostname")
|
|
739
|
+
3. Access the control panel at the new combined URL: `http://dave.local:19000` (use your new hostname + new port)
|
|
740
|
+
|
|
741
|
+
#### Verifying Your Changes
|
|
742
|
+
|
|
743
|
+
After completing the steps above, run these checks **on the Pi** to confirm everything is correct.
|
|
744
|
+
|
|
745
|
+
**Check the hostname is set:**
|
|
746
|
+
|
|
747
|
+
```bash
|
|
748
|
+
hostname
|
|
749
|
+
```
|
|
750
|
+
|
|
751
|
+
This should print your new hostname (e.g. `dave`).
|
|
752
|
+
|
|
753
|
+
**Check `/etc/hosts` matches:**
|
|
754
|
+
|
|
755
|
+
```bash
|
|
756
|
+
grep 127.0.1.1 /etc/hosts
|
|
757
|
+
```
|
|
758
|
+
|
|
759
|
+
This should show `127.0.1.1` followed by your new hostname (e.g. `127.0.1.1 dave`).
|
|
760
|
+
|
|
761
|
+
**Check avahi is broadcasting the new hostname:**
|
|
762
|
+
|
|
763
|
+
```bash
|
|
764
|
+
avahi-resolve -n dave.local
|
|
765
|
+
```
|
|
766
|
+
|
|
767
|
+
(Replace `dave` with your hostname.) This should print your Pi's IP address. If it says "Failed to resolve", restart avahi: `sudo systemctl restart avahi-daemon` and try again.
|
|
768
|
+
|
|
769
|
+
**Check the gateway is running on the correct port:**
|
|
770
|
+
|
|
771
|
+
```bash
|
|
772
|
+
taskmaster daemon status
|
|
773
|
+
```
|
|
774
|
+
|
|
775
|
+
This shows the port the gateway is listening on. Confirm it matches what you set.
|
|
776
|
+
|
|
777
|
+
**Test locally on the Pi:**
|
|
778
|
+
|
|
779
|
+
```bash
|
|
780
|
+
curl -s -o /dev/null -w "%{http_code}" http://localhost:18789
|
|
781
|
+
```
|
|
782
|
+
|
|
783
|
+
(Use your new port number.) If this prints `200`, the gateway is running. If it fails, restart: `taskmaster daemon restart`.
|
|
784
|
+
|
|
785
|
+
#### Flushing DNS Cache on Other Devices
|
|
786
|
+
|
|
787
|
+
The Pi broadcasts its new hostname immediately, but the device you're browsing from (your phone, laptop, etc.) may have cached the old name. If the control panel doesn't load from another device after the Pi checks above all pass, flush the DNS cache on that device:
|
|
788
|
+
|
|
789
|
+
| Device | Command |
|
|
790
|
+
|--------|---------|
|
|
791
|
+
| **Mac** | `sudo dscacheutil -flushcache && sudo killall -HUP mDNSResponder` |
|
|
792
|
+
| **Windows** | `ipconfig /flushdns` (run in PowerShell or Command Prompt) |
|
|
793
|
+
| **Linux** | `avahi-resolve -n dave.local` (probes directly, bypasses cache) |
|
|
794
|
+
| **iPhone / iPad** | Toggle Airplane Mode on and off, or toggle WiFi off and on |
|
|
795
|
+
| **Android** | Toggle WiFi off and on |
|
|
796
|
+
|
|
797
|
+
After flushing, open your browser and navigate to the new URL (e.g. `http://dave.local:19000`). If you still can't connect, try a hard refresh (Ctrl+Shift+R or Cmd+Shift+R) or open a new private/incognito window to rule out browser caching.
|
|
798
|
+
|
|
799
|
+
#### Still Can't Connect?
|
|
800
|
+
|
|
801
|
+
If the Pi checks pass but the control panel still doesn't load from another device:
|
|
802
|
+
|
|
803
|
+
1. **Use the IP address directly** — on the Pi, run `hostname -I` to get its IP address, then open `http://192.168.1.XXX:18789` (use your IP and port) from the other device. If this works, the problem is mDNS resolution, not the gateway.
|
|
804
|
+
2. **Check you're on the same network** — mDNS only works between devices on the same WiFi/LAN. It won't work across VLANs or guest networks.
|
|
805
|
+
3. **Contact support** with: what you changed (port/hostname), the output of `hostname`, `grep 127.0.1.1 /etc/hosts`, and `taskmaster daemon status`.
|
|
806
|
+
|
|
627
807
|
---
|
|
628
808
|
|
|
629
809
|
## Troubleshooting
|