@rubytech/taskmaster 1.12.3 → 1.13.1

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 (115) hide show
  1. package/dist/agents/auth-profiles/consolidate.js +72 -0
  2. package/dist/agents/auth-profiles/oauth.js +0 -24
  3. package/dist/agents/auth-profiles/paths.js +4 -4
  4. package/dist/agents/auth-profiles/store.js +8 -100
  5. package/dist/agents/model-fallback.js +26 -1
  6. package/dist/agents/pi-embedded-runner/run/payloads.js +8 -0
  7. package/dist/agents/session-transcript-repair.js +3 -2
  8. package/dist/agents/system-prompt.js +1 -0
  9. package/dist/agents/taskmaster-tools.js +2 -0
  10. package/dist/agents/tool-policy.js +2 -0
  11. package/dist/agents/tools/opening-hours-tool.js +92 -0
  12. package/dist/agents/tools/web-fetch.js +8 -3
  13. package/dist/agents/tools/web-search.js +7 -4
  14. package/dist/agents/workspace-migrations.js +47 -0
  15. package/dist/build-info.json +3 -3
  16. package/dist/commands/agents.commands.add.js +1 -32
  17. package/dist/config/defaults.js +1 -1
  18. package/dist/config/legacy.migrations.part-3.js +25 -4
  19. package/dist/config/sessions/transcript.js +31 -0
  20. package/dist/config/types.business.js +1 -0
  21. package/dist/config/zod-schema.js +33 -0
  22. package/dist/control-ui/assets/{index-CpaEIgQy.css → index-B8I8lMfz.css} +1 -1
  23. package/dist/control-ui/assets/{index-CP9IoaZp.js → index-BWqMMgRV.js} +537 -425
  24. package/dist/control-ui/assets/index-BWqMMgRV.js.map +1 -0
  25. package/dist/control-ui/index.html +2 -2
  26. package/dist/gateway/config-reload.js +1 -0
  27. package/dist/gateway/server-close.js +8 -0
  28. package/dist/gateway/server-methods/business.js +31 -0
  29. package/dist/gateway/server-methods/network.js +19 -6
  30. package/dist/gateway/server-methods/update.js +20 -3
  31. package/dist/gateway/server-methods.js +5 -1
  32. package/dist/gateway/server.impl.js +42 -0
  33. package/dist/infra/heartbeat-infra-alert.js +54 -0
  34. package/dist/infra/update-runner.js +27 -2
  35. package/dist/memory/manager.js +5 -5
  36. package/dist/web/auto-reply/monitor/process-message.js +24 -0
  37. package/dist/web/inbound/access-control.js +2 -1
  38. package/dist/web/inbound/monitor.js +32 -10
  39. package/dist/web/inbound/owner-mirror.js +35 -0
  40. package/package.json +1 -1
  41. package/skills/anthropic/SKILL.md +30 -0
  42. package/skills/anthropic/references/setup-guide.md +146 -0
  43. package/skills/google-ai/SKILL.md +3 -2
  44. package/skills/google-ai/references/setup-guide.md +94 -0
  45. package/skills/log-review/SKILL.md +45 -0
  46. package/skills/log-review/cron-template.json +21 -0
  47. package/skills/log-review/references/review-protocol.md +65 -0
  48. package/skills/openai/SKILL.md +28 -0
  49. package/skills/openai/references/setup-guide.md +122 -0
  50. package/taskmaster-docs/USER-GUIDE.md +31 -2
  51. package/templates/beagle-taxi/memory/public/investors-knowledge-base.md +230 -0
  52. package/templates/beagle-taxi/skills/beagle-taxi/SKILL.md +3 -1
  53. package/templates/customer/agents/admin/BOOTSTRAP.md +14 -2
  54. package/templates/customer/agents/public/AGENTS.md +15 -0
  55. package/templates/education-hero/agents/admin/BOOTSTRAP.md +14 -2
  56. package/templates/real-agent/agents/admin/AGENTS.md +139 -0
  57. package/templates/real-agent/agents/admin/HEARTBEAT.md +12 -0
  58. package/templates/real-agent/agents/admin/IDENTITY.md +11 -0
  59. package/templates/real-agent/agents/admin/SOUL.md +38 -0
  60. package/templates/real-agent/agents/public/AGENTS.md +183 -0
  61. package/templates/real-agent/agents/public/IDENTITY.md +8 -0
  62. package/templates/real-agent/agents/public/SOUL.md +75 -0
  63. package/templates/real-agent/memory/admin/.gitkeep +0 -0
  64. package/templates/real-agent/memory/public/contributors/adam-mackay.md +7 -0
  65. package/templates/real-agent/memory/public/contributors/alex-pelosi-buchanan.md +7 -0
  66. package/templates/real-agent/memory/public/contributors/jamie-fisher.md +7 -0
  67. package/templates/real-agent/memory/public/contributors/john-savage.md +7 -0
  68. package/templates/real-agent/memory/public/contributors/melanie-attwater.md +7 -0
  69. package/templates/real-agent/memory/public/contributors/regina-mangan.md +7 -0
  70. package/templates/real-agent/memory/public/contributors/richard-rawlings.md +7 -0
  71. package/templates/real-agent/memory/public/contributors/roger-black.md +7 -0
  72. package/templates/real-agent/memory/public/contributors/steve-backley.md +7 -0
  73. package/templates/real-agent/memory/public/courses/agency-blueprint/.gitkeep +0 -0
  74. package/templates/real-agent/memory/public/courses/podcast/.gitkeep +0 -0
  75. package/templates/real-agent/memory/public/courses/real-business/.gitkeep +0 -0
  76. package/templates/real-agent/memory/public/courses/real-coaching/.gitkeep +0 -0
  77. package/templates/real-agent/memory/public/courses/real-marketing/.gitkeep +0 -0
  78. package/templates/real-agent/memory/public/resources/.gitkeep +0 -0
  79. package/templates/real-agent/memory/shared/.gitkeep +0 -0
  80. package/templates/real-agent/memory/users/.gitkeep +0 -0
  81. package/templates/real-agent/skills/bespoke-coaching/SKILL.md +29 -0
  82. package/templates/real-agent/skills/bespoke-coaching/references/coaching-boundaries.md +56 -0
  83. package/templates/real-agent/skills/bespoke-coaching/references/feedback-framework.md +61 -0
  84. package/templates/real-agent/skills/bootstrap/SKILL.md +27 -0
  85. package/templates/real-agent/skills/bootstrap/references/onboarding-flow.md +63 -0
  86. package/templates/real-agent/skills/content-directory/SKILL.md +40 -0
  87. package/templates/real-agent/skills/content-directory/references/module-delivery.md +65 -0
  88. package/templates/real-agent/skills/content-directory/references/progress-tracking.md +47 -0
  89. package/templates/tradesupport/agents/admin/BOOTSTRAP.md +14 -2
  90. package/templates/zanzi-taxi/agents/admin/AGENTS.md +58 -0
  91. package/templates/zanzi-taxi/agents/admin/HEARTBEAT.md +12 -0
  92. package/templates/zanzi-taxi/agents/admin/IDENTITY.md +9 -0
  93. package/templates/zanzi-taxi/agents/admin/SOUL.md +33 -0
  94. package/templates/zanzi-taxi/agents/public/AGENTS.md +71 -0
  95. package/templates/zanzi-taxi/agents/public/IDENTITY.md +8 -0
  96. package/templates/zanzi-taxi/agents/public/SOUL.md +58 -0
  97. package/templates/zanzi-taxi/memory/public/knowledge-base.md +156 -0
  98. package/templates/zanzi-taxi/skills/zanzi-taxi/SKILL.md +39 -0
  99. package/templates/zanzi-taxi/skills/zanzi-taxi/references/local-knowledge.md +32 -0
  100. package/templates/zanzi-taxi/skills/zanzi-taxi/references/post-ride.md +42 -0
  101. package/templates/zanzi-taxi/skills/zanzi-taxi/references/ride-matching.md +74 -0
  102. package/dist/control-ui/assets/index-CP9IoaZp.js.map +0 -1
  103. package/extensions/diagnostics-otel/node_modules/.bin/acorn +0 -21
  104. package/extensions/googlechat/node_modules/.bin/taskmaster +0 -21
  105. package/extensions/line/node_modules/.bin/taskmaster +0 -21
  106. package/extensions/matrix/node_modules/.bin/markdown-it +0 -21
  107. package/extensions/matrix/node_modules/.bin/taskmaster +0 -21
  108. package/extensions/memory-lancedb/node_modules/.bin/arrow2csv +0 -21
  109. package/extensions/memory-lancedb/node_modules/.bin/openai +0 -21
  110. package/extensions/msteams/node_modules/.bin/taskmaster +0 -21
  111. package/extensions/nostr/node_modules/.bin/taskmaster +0 -21
  112. package/extensions/nostr/node_modules/.bin/tsc +0 -21
  113. package/extensions/nostr/node_modules/.bin/tsserver +0 -21
  114. package/extensions/zalo/node_modules/.bin/taskmaster +0 -21
  115. package/extensions/zalouser/node_modules/.bin/taskmaster +0 -21
@@ -0,0 +1,42 @@
1
+ # Post-Ride — Feedback Collection
2
+
3
+ ## When to Trigger
4
+
5
+ After the estimated journey completion time (pickup time + estimated route duration), follow up with the tourist.
6
+
7
+ ## How to Collect Feedback
8
+
9
+ 1. **Check in naturally.** "How was your ride with [driver first name]?" — not a formal survey.
10
+
11
+ 2. **If the ride went well,** ask for a quick rating. Explain it helps future travellers and rewards good drivers.
12
+
13
+ 3. **If something went wrong,** listen first. Understand what happened before asking for ratings. Store the details for operator review.
14
+
15
+ 4. **Collect ratings on 5 dimensions:**
16
+ - Cleanliness
17
+ - Politeness
18
+ - Safety
19
+ - Local knowledge
20
+ - Punctuality
21
+
22
+ Don't present these as a list of 5 questions. Ask naturally: "How was the driver? Was the car clean and comfortable? Did they arrive on time?" Then map responses to the 5 dimensions.
23
+
24
+ 5. **Optional comment.** If the tourist wants to say more, store it. Don't push for a written review.
25
+
26
+ ## After Collection
27
+
28
+ - Store the rating against the booking and driver record
29
+ - Thank the tourist
30
+ - If they have more rides planned during their trip, offer to help book: "Need transport for anything else while you're here?"
31
+
32
+ ## Negative Feedback
33
+
34
+ If the tourist reports a serious issue (safety concern, fare dispute, driver misconduct):
35
+ - Acknowledge it immediately and take it seriously
36
+ - Store the full details in memory for operator review
37
+ - Don't promise specific outcomes ("we'll remove the driver") — explain that the operator reviews all feedback
38
+ - Offer to help with their next ride if they need one
39
+
40
+ ## Timing
41
+
42
+ Don't follow up too quickly (they might still be at their destination) or too late (they've moved on). A reasonable window is 30–60 minutes after estimated arrival.
@@ -0,0 +1,74 @@
1
+ # Ride Matching — Booking Flow
2
+
3
+ ## Phase 1: Capture the Request
4
+
5
+ When a tourist messages about a ride, gather:
6
+
7
+ 1. **Pickup location** — airport, hotel name, area
8
+ 2. **Destination** — where they're going
9
+ 3. **Date and time** — when they need the ride
10
+ 4. **Passengers** — how many people
11
+
12
+ Ask naturally, not as a form. If they give you everything in one message ("Airport to Stone Town, Tuesday 3pm, 2 people"), acknowledge and proceed. If anything is missing, ask for it conversationally.
13
+
14
+ Check the knowledge base to confirm you know the route. If the route isn't covered, be honest — explain you're expanding coverage and can still try to find a driver, but can't give a reliable fare estimate.
15
+
16
+ ## Phase 2: Driver Negotiation
17
+
18
+ Before contacting drivers:
19
+ - Check driver states — only contact drivers marked as `idle`
20
+ - Select ~3 drivers based on: rating, response rate, route familiarity, availability
21
+ - Prepend every message with the job ID: `[BGL-XXXX]`
22
+
23
+ Negotiate in Swahili. The driver quotes their fare for the route. Collect responses and compare.
24
+
25
+ Tell the tourist you're finding them offers. Set expectations: "Let me contact drivers now. I'll have offers for you shortly."
26
+
27
+ If no drivers respond within a reasonable time, tell the tourist honestly. Offer to try again or suggest an alternative time.
28
+
29
+ ## Phase 3: Present Offers
30
+
31
+ Show up to 3 competing offers. For each:
32
+ - **Fare** (what the tourist pays the driver)
33
+ - **Driver rating** (aggregate score and trip count)
34
+ - **Vehicle** (type, AC availability)
35
+ - **Estimated journey time**
36
+
37
+ Do NOT reveal: driver name, phone number, plate number, or personal details. These are gated by payment.
38
+
39
+ Frame it as a choice: "Here are your options — which works best?" Don't pressure toward one option unless the tourist asks for a recommendation.
40
+
41
+ If only one driver responded, present it honestly: "One driver available for this route. Here's the offer."
42
+
43
+ ## Phase 4: Booking Confirmation
44
+
45
+ When the tourist chooses an offer:
46
+ 1. Confirm the details: route, time, fare, vehicle
47
+ 2. Explain the booking fee: "A small booking fee of [amount] confirms your ride. You pay [remaining fare] directly to your driver at the end."
48
+ 3. Send the Stripe payment link
49
+ 4. Wait for payment confirmation — do not proceed until Stripe confirms
50
+
51
+ ## Phase 5: Post-Payment
52
+
53
+ Once payment clears, send the tourist:
54
+ - Driver name
55
+ - Driver phone number
56
+ - Vehicle description and plate number
57
+ - Pickup PIN (4-digit code)
58
+ - Explanation: "Your driver has a QR code. Scan it with your phone camera to see the PIN, or ask the driver to quote it. If it matches your PIN, you've got the right driver. Works offline — no internet needed."
59
+
60
+ Confirm the driver has received:
61
+ - Passenger name
62
+ - Pickup time and location
63
+ - Fare confirmed
64
+ - QR code (encodes the tourist's PIN)
65
+
66
+ ## Edge Cases
67
+
68
+ **Tourist wants to cancel after payment:** Explain the booking fee is non-refundable (commitment device for both sides). Offer to reschedule at no extra charge.
69
+
70
+ **Driver cancels:** Immediately notify the tourist. Attempt to find a replacement driver. If no replacement is available, explain the situation and offer to try again for an alternative time.
71
+
72
+ **Tourist requests a route you don't know:** Be honest. Check the knowledge base. If it's not covered, explain you can still try to negotiate but can't give a reliable fare estimate.
73
+
74
+ **Multiple bookings in one thread:** Track each booking separately by job ID. Confirm which booking the tourist is referring to when context is ambiguous.