@rubytech/taskmaster 1.12.1 → 1.12.3

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 (32) hide show
  1. package/dist/agents/taskmaster-tools.js +5 -3
  2. package/dist/agents/tool-policy.js +1 -1
  3. package/dist/agents/tools/authorize-admin-tool.js +58 -17
  4. package/dist/agents/tools/bootstrap-tool.js +51 -0
  5. package/dist/agents/tools/cron-tool.js +20 -7
  6. package/dist/build-info.json +3 -3
  7. package/dist/commands/agents.config.js +1 -0
  8. package/dist/control-ui/assets/{index-4h8fLLNN.js → index-CP9IoaZp.js} +81 -70
  9. package/dist/control-ui/assets/index-CP9IoaZp.js.map +1 -0
  10. package/dist/control-ui/index.html +1 -1
  11. package/dist/gateway/protocol/schema/cron.js +8 -0
  12. package/dist/gateway/server-channels.js +6 -2
  13. package/dist/gateway/server-methods/cron.js +32 -0
  14. package/dist/gateway/server-methods/tailscale.js +9 -0
  15. package/dist/gateway/server-methods/workspaces.js +52 -0
  16. package/dist/web/auto-reply/monitor.js +3 -0
  17. package/package.json +1 -1
  18. package/skills/tailscale/SKILL.md +37 -9
  19. package/templates/beagle-taxi/agents/admin/AGENTS.md +25 -0
  20. package/templates/beagle-taxi/agents/admin/IDENTITY.md +9 -0
  21. package/templates/beagle-taxi/agents/admin/SOUL.md +31 -0
  22. package/templates/beagle-taxi/agents/public/AGENTS.md +54 -0
  23. package/templates/beagle-taxi/agents/public/IDENTITY.md +10 -0
  24. package/templates/beagle-taxi/agents/public/SOUL.md +32 -0
  25. package/templates/beagle-taxi/memory/public/knowledge-base.md +177 -0
  26. package/templates/beagle-taxi/skills/beagle-taxi/SKILL.md +44 -0
  27. package/templates/customer/agents/admin/BOOTSTRAP.md +2 -2
  28. package/templates/education-hero/agents/admin/BOOTSTRAP.md +2 -2
  29. package/templates/maxy/agents/admin/BOOTSTRAP.md +2 -3
  30. package/templates/taskmaster/agents/admin/BOOTSTRAP.md +2 -2
  31. package/templates/tradesupport/agents/admin/BOOTSTRAP.md +2 -2
  32. package/dist/control-ui/assets/index-4h8fLLNN.js.map +0 -1
@@ -0,0 +1,177 @@
1
+ # Beagle Knowledge Base
2
+
3
+ Public-facing information about the Beagle business — suitable for investors, potential partners, journalists, and general enquiries.
4
+
5
+ ---
6
+
7
+ ## About Beagle
8
+
9
+ Beagle is a WhatsApp-based ride matching company. It connects travellers with local self-drive taxi owners in tourist destinations — negotiating fair fares, verifying pickups, and confirming bookings, all within a WhatsApp conversation.
10
+
11
+ - **Live in:** Zanzibar
12
+ - **Model:** Traveller messages on WhatsApp → Beagle's agent contacts local drivers → negotiates competing fares → presents the best offer → traveller confirms with a small booking fee → ride happens
13
+ - **Revenue:** 5% booking fee ($2 minimum), paid by the traveller at booking time
14
+ - **Driver economics:** Drivers keep 95% of the agreed fare. No sign-up fee, no app, no commission deduction.
15
+ - **Distribution:** WhatsApp — 2+ billion users, already installed, no onboarding friction
16
+
17
+ ---
18
+
19
+ ## How the Service Works
20
+
21
+ ### For Travellers
22
+ 1. Message Beagle on WhatsApp with where you're going, when, and how many people
23
+ 2. Beagle's agent contacts local drivers and negotiates on your behalf in the local language
24
+ 3. Compare up to 3 offers — fare, driver rating, vehicle type
25
+ 4. Confirm and pay a small booking fee via secure card payment
26
+ 5. Receive driver details — name, car, plate number, and a pickup PIN
27
+ 6. Meet your driver — verify with the PIN, enjoy the ride
28
+ 7. Pay the rest directly to your driver at the end of the journey
29
+
30
+ ### For Drivers
31
+ 1. Beagle messages you on WhatsApp with a fare request — like a normal booking enquiry
32
+ 2. Quote your fare for the route
33
+ 3. If selected, Beagle confirms the booking with passenger details and a QR code
34
+ 4. Meet the passenger at the pickup point. They verify with a PIN.
35
+ 5. Complete the ride and receive payment directly from the passenger
36
+
37
+ ---
38
+
39
+ ## Business Model & Economics
40
+
41
+ ### Revenue
42
+ - 5% booking fee on every confirmed ride ($2 minimum)
43
+ - Paid by the traveller via Stripe at booking time
44
+ - Non-refundable — acts as a commitment device
45
+
46
+ ### Unit Economics
47
+ - **Driver receives:** 95% of the negotiated fare, paid directly by the traveller
48
+ - **Beagle receives:** 5% booking fee
49
+ - **Compare:** Ride-hailing apps take 25-30%. Hotel transfers mark up ~50%. Beagle takes 5%.
50
+
51
+ ### Expansion Economics
52
+ - No app to build or maintain
53
+ - No mapping infrastructure needed
54
+ - Each new market requires: driver WhatsApp numbers + local geographic knowledge
55
+ - Setup measured in days, not months
56
+ - WhatsApp is already the dominant messaging platform in target markets
57
+
58
+ ---
59
+
60
+ ## Market Opportunity
61
+
62
+ ### Why Tourist Transport
63
+ - Tourists have the highest willingness to pay but the least local knowledge
64
+ - Language barriers make direct negotiation unfair
65
+ - Existing ride-hailing apps have poor coverage in many tourist destinations
66
+ - WhatsApp is already how locals communicate — zero adoption friction
67
+
68
+ ### Zanzibar (Live Market)
69
+ - 600,000+ international tourists per year
70
+ - Airport transfers are the first booking for nearly every arrival
71
+ - No dominant ride-hailing platform
72
+ - WhatsApp is the primary communication channel
73
+ - Self-drive taxi owners are the backbone of ground transport
74
+
75
+ ### Target Markets
76
+ Markets that share the Zanzibar pattern: high tourist volume, fragmented taxi supply, WhatsApp-dominant communication, no entrenched ride-hailing platform.
77
+
78
+ ---
79
+
80
+ ## Comparison
81
+
82
+ | | Going Direct | Hotel Transfer | Ride-hailing App | Beagle |
83
+ |---|---|---|---|---|
84
+ | Fair price | Tourist markup* | ~50% markup | Algorithm-set** | Market-set |
85
+ | Pre-arrival booking | Sometimes | Yes | Yes | Yes |
86
+ | Driver rated | No | No | Yes | Yes |
87
+ | Verified pickup | No | No | Yes | Yes |
88
+ | Driver's share | 100%* | ~50% | 70-75% | 95% |
89
+ | Language barrier | High | Medium | Low | None |
90
+ | App required | No | No | Yes | No |
91
+ | Works on WhatsApp | No | No | No | Yes |
92
+
93
+ \* Going direct: driver keeps 100% but charges inflated tourist markup — you're negotiating without local knowledge, language, or leverage.
94
+
95
+ \*\* Ride-hailing apps set prices algorithmically — fairer for passengers than going direct, but drivers lose 25-30% to the platform.
96
+
97
+ ---
98
+
99
+ ## Trust & Safety
100
+
101
+ - **Verified pickup:** 4-digit PIN sent to traveller, QR code sent to driver. Works offline — no internet needed at the airport.
102
+ - **WhatsApp trail:** Every interaction recorded in the chat. Fare agreed, driver confirmed, pickup details sent.
103
+ - **Driver ratings:** After every ride, travellers rate drivers on cleanliness, politeness, safety, local knowledge, and punctuality.
104
+ - **Driver selection:** Ratings, response rates, and trip history determine which drivers receive fare requests. Consistently poor drivers are deprioritised.
105
+
106
+ ---
107
+
108
+ ## Zanzibar — Market Detail
109
+
110
+ ### Common Routes
111
+
112
+ | Route | Typical Fare Range | Journey Time |
113
+ |-------|-------------------|-------------|
114
+ | Airport ↔ Stone Town | $15–25 | 30–45 min |
115
+ | Airport ↔ Nungwi / Kendwa (north) | $45–65 | 60–90 min |
116
+ | Airport ↔ Paje / Jambiani (east) | $35–50 | 45–75 min |
117
+ | Airport ↔ Kizimkazi (south) | $40–55 | 50–70 min |
118
+ | Airport ↔ Matemwe (northeast) | $40–60 | 60–80 min |
119
+
120
+ *Fares are approximate and vary by vehicle type, time of day, and season. The market sets the price — these ranges reflect what independent drivers typically charge.*
121
+
122
+ ### Popular Destinations
123
+ - **Stone Town** — hotels, restaurants, harbour, historical tours
124
+ - **Nungwi Beach** — north coast, popular with tourists, lively nightlife
125
+ - **Kendwa Beach** — north coast, calmer, full moon parties
126
+ - **Paje Beach** — east coast, kite surfing, backpacker-friendly
127
+ - **Jambiani** — east coast, quieter, local village feel
128
+ - **Kizimkazi** — south coast, dolphin tours
129
+ - **Jozani Forest** — red colobus monkey habitat, central island
130
+
131
+ ### Seasonal Patterns
132
+ - **High season:** June–October, December–February. More tourists, drivers busier, book earlier.
133
+ - **Low season:** March–May. Fewer tourists but still operational. Drivers more available.
134
+ - **Long rains:** March–May. Some roads rough, journey times may increase.
135
+
136
+ ---
137
+
138
+ ## Frequently Asked Questions
139
+
140
+ ### About the Business
141
+
142
+ **What is Beagle?**
143
+ A WhatsApp-based ride matching company. We connect travellers with local self-drive taxi owners, negotiate fair fares, and confirm bookings — entirely via WhatsApp.
144
+
145
+ **How does Beagle make money?**
146
+ A 5% booking fee ($2 minimum) paid by the traveller when they confirm a ride. The driver keeps 95%.
147
+
148
+ **How is this different from Uber?**
149
+ No app. No algorithmic pricing. No 25-30% commission. Beagle runs on WhatsApp, fares are set by competing drivers, and drivers keep nearly everything. It's built for markets where ride-hailing apps don't fit.
150
+
151
+ **How does Beagle expand to new markets?**
152
+ Each market needs driver WhatsApp numbers and local geographic knowledge. No app infrastructure, no mapping systems. Setup takes days, not months.
153
+
154
+ ### About the Service
155
+
156
+ **Do I need to download an app?**
157
+ No. Everything happens on WhatsApp. If you can send a message, you can book a ride.
158
+
159
+ **How do I know the price is fair?**
160
+ You see up to 3 competing offers from independent drivers. You compare fare, driver rating, and vehicle type. Competition sets the price, not an algorithm.
161
+
162
+ **Is it safe?**
163
+ Every ride has a verified pickup (offline PIN check), a WhatsApp trail, and driver ratings from previous passengers. You always know who's driving you.
164
+
165
+ **How much does it cost?**
166
+ A 5% booking fee ($2 minimum) paid by card when you confirm. The rest goes directly to your driver at the end of the ride — cash, card, or mobile money.
167
+
168
+ ### For Drivers
169
+
170
+ **How do I join?**
171
+ Message Beagle on WhatsApp. No sign-up fee, no app, no commission — just a 5% booking fee from the passenger's side.
172
+
173
+ **How much do I keep?**
174
+ 95% of the agreed fare. The 5% comes from the traveller, not you.
175
+
176
+ **What is Beagle Dispatcher?**
177
+ An AI-powered assistant that negotiates fares and manages bookings on your behalf — even while you're mid-journey. Coming soon.
@@ -0,0 +1,44 @@
1
+ ---
2
+ name: beagle-taxi
3
+ description: "Guides how the agent represents the Beagle business — handling enquiries from investors, partners, travellers, and drivers via the corporate site."
4
+ metadata: {"taskmaster":{"always":true}}
5
+ ---
6
+
7
+ # Beagle Corporate — Enquiry Handling
8
+
9
+ ## Your Role
10
+
11
+ You represent the Beagle business on its corporate site. You answer questions, explain the model, and capture interest. You do not book rides or manage operations.
12
+
13
+ ## Knowledge Source
14
+
15
+ Your business knowledge lives in `memory/public/knowledge-base.md`. This is your single source of truth for facts, figures, FAQs, routes, and market data. Search memory before answering any factual question.
16
+
17
+ If the knowledge base doesn't cover what's being asked, say so. Don't invent figures or extrapolate beyond what's documented.
18
+
19
+ ## Handling Different Audiences
20
+
21
+ **Investors and partners** — Focus on the model, economics, and expansion story. Be honest about what's live vs planned. Don't overstate traction. If they express interest, capture their details for operator follow-up.
22
+
23
+ **Travellers** — Explain how the service works from their perspective. If they want to book a ride, direct them to the Beagle WhatsApp number for their market. You don't handle bookings.
24
+
25
+ **Drivers** — Explain the economics (95% retention, no fees, no app). If they want to join, direct them to the Beagle WhatsApp number. You don't onboard drivers.
26
+
27
+ **General curiosity** — Answer from the knowledge base. Keep it concise. Don't volunteer the full pitch unprompted.
28
+
29
+ ## Capturing Interest
30
+
31
+ When someone expresses interest in investing, partnering, or joining as a driver in a new market:
32
+
33
+ 1. Acknowledge their interest
34
+ 2. Collect: name, contact method, what they're interested in
35
+ 3. Store in memory for operator follow-up
36
+ 4. Don't make commitments, discuss terms, or quote financials beyond what's in the knowledge base
37
+
38
+ ## What You Never Do
39
+
40
+ - Book rides or manage operational workflows
41
+ - Share internal data not in the knowledge base
42
+ - Make investment commitments or discuss terms
43
+ - Overstate what Beagle has achieved
44
+ - Invent numbers when you don't have them
@@ -105,9 +105,9 @@ Tell them:
105
105
  - Messages from their authorized phone number will reach you (the admin assistant) instead
106
106
  - You'll learn their business as you go
107
107
 
108
- ## Step 11: Delete This File
108
+ ## Step 11: Complete Setup
109
109
 
110
- Once setup is complete, create a file called `.bootstrap-done` in this directory (empty content is fine), then delete this file. The `.bootstrap-done` marker prevents this onboarding from reappearing.
110
+ Once all steps are done, call the `bootstrap_complete` tool (no parameters needed). It will mark setup as complete so this guide never appears again.
111
111
 
112
112
  ---
113
113
 
@@ -105,9 +105,9 @@ Tell them:
105
105
  - Messages from their authorized phone number will reach you (the admin assistant) instead
106
106
  - You'll learn their business as you go
107
107
 
108
- ## Step 11: Delete This File
108
+ ## Step 11: Complete Setup
109
109
 
110
- Once setup is complete, create a file called `.bootstrap-done` in this directory (empty content is fine), then delete this file. The `.bootstrap-done` marker prevents this onboarding from reappearing.
110
+ Once all steps are done, call the `bootstrap_complete` tool (no parameters needed). It will mark setup as complete so this guide never appears again.
111
111
 
112
112
  ---
113
113
 
@@ -25,6 +25,5 @@ If they want to set up admin access from specific devices, help them do that now
25
25
 
26
26
  ## Step 5: Complete
27
27
 
28
- 1. Delete this file
29
- 2. Create `.bootstrap-done` sentinel file
30
- 3. Confirm setup is complete
28
+ 1. Call the `bootstrap_complete` tool (no parameters). It marks setup complete so this guide never appears again.
29
+ 2. Confirm to the user that setup is done.
@@ -30,9 +30,9 @@ If yes, use the `authorize_admin` tool with the phone number (international form
30
30
  - Prospects can message anytime — they'll get helpful info but can't access config
31
31
  - Admin can update anything via self-chat or authorized devices
32
32
 
33
- ## Step 5: Delete This File
33
+ ## Step 5: Complete Setup
34
34
 
35
- Once setup is complete, create a file called `.bootstrap-done` in this directory (empty content is fine), then delete this file. The `.bootstrap-done` marker prevents this onboarding from reappearing.
35
+ Once all steps are done, call the `bootstrap_complete` tool (no parameters needed). It will mark setup as complete so this guide never appears again.
36
36
 
37
37
  ---
38
38
 
@@ -66,9 +66,9 @@ Tell them:
66
66
  - They (admin) get full access to configure everything
67
67
  - You'll learn their business as you go
68
68
 
69
- ## Step 8: Delete This File
69
+ ## Step 8: Complete Setup
70
70
 
71
- Once setup is complete, create a file called `.bootstrap-done` in this directory (empty content is fine), then delete this file. The `.bootstrap-done` marker prevents this onboarding from reappearing.
71
+ Once all steps are done, call the `bootstrap_complete` tool (no parameters needed). It will mark setup as complete so this guide never appears again.
72
72
 
73
73
  ---
74
74