@rubytech/taskmaster 1.4.0 → 1.5.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 (45) hide show
  1. package/dist/agents/tool-policy.js +4 -12
  2. package/dist/build-info.json +3 -3
  3. package/dist/cli/daemon-cli/status.gather.js +7 -1
  4. package/dist/commands/doctor-config-flow.js +13 -1
  5. package/dist/config/agent-tools-reconcile.js +67 -0
  6. package/dist/control-ui/assets/{index-BDETQp97.js → index-D-PHW4mO.js} +340 -334
  7. package/dist/control-ui/assets/index-D-PHW4mO.js.map +1 -0
  8. package/dist/control-ui/assets/index-D6WTmXJM.css +1 -0
  9. package/dist/control-ui/index.html +2 -2
  10. package/dist/gateway/call.js +18 -3
  11. package/dist/gateway/server.impl.js +15 -1
  12. package/dist/infra/heartbeat-runner.js +8 -5
  13. package/dist/media/ptt-normalize.js +56 -0
  14. package/dist/memory/manager.js +42 -8
  15. package/dist/tts/tts.js +8 -0
  16. package/dist/web/auto-reply/deliver-reply.js +9 -3
  17. package/dist/web/outbound.js +2 -0
  18. package/extensions/diagnostics-otel/node_modules/.bin/acorn +0 -0
  19. package/extensions/googlechat/node_modules/.bin/taskmaster +0 -0
  20. package/extensions/line/node_modules/.bin/taskmaster +0 -0
  21. package/extensions/matrix/node_modules/.bin/markdown-it +0 -0
  22. package/extensions/matrix/node_modules/.bin/taskmaster +0 -0
  23. package/extensions/memory-lancedb/node_modules/.bin/arrow2csv +0 -0
  24. package/extensions/memory-lancedb/node_modules/.bin/openai +0 -0
  25. package/extensions/msteams/node_modules/.bin/taskmaster +0 -0
  26. package/extensions/nostr/node_modules/.bin/taskmaster +0 -0
  27. package/extensions/nostr/node_modules/.bin/tsc +0 -0
  28. package/extensions/nostr/node_modules/.bin/tsserver +0 -0
  29. package/extensions/zalo/node_modules/.bin/taskmaster +0 -0
  30. package/extensions/zalouser/node_modules/.bin/taskmaster +0 -0
  31. package/package.json +66 -54
  32. package/scripts/install.sh +5 -0
  33. package/scripts/postinstall.js +5 -0
  34. package/dist/control-ui/assets/index-BDETQp97.js.map +0 -1
  35. package/dist/control-ui/assets/index-CPawOl_z.css +0 -1
  36. package/templates/.DS_Store +0 -0
  37. package/templates/customer/.DS_Store +0 -0
  38. package/templates/customer/agents/.DS_Store +0 -0
  39. package/templates/maxy/.DS_Store +0 -0
  40. package/templates/maxy/.gitignore +0 -1
  41. package/templates/maxy/agents/.DS_Store +0 -0
  42. package/templates/maxy/agents/admin/.DS_Store +0 -0
  43. package/templates/maxy/memory/.DS_Store +0 -0
  44. package/templates/maxy/skills/.DS_Store +0 -0
  45. package/templates/taskmaster/.gitignore +0 -1
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rubytech/taskmaster",
3
- "version": "1.4.0",
3
+ "version": "1.5.0",
4
4
  "description": "AI-powered business assistant for small businesses",
5
5
  "publishConfig": {
6
6
  "access": "public"
@@ -77,12 +77,66 @@
77
77
  "dist/filler/**",
78
78
  "dist/license/**"
79
79
  ],
80
+ "scripts": {
81
+ "dev": "node scripts/run-node.mjs",
82
+ "postinstall": "node scripts/postinstall.js",
83
+ "prepack": "pnpm build && pnpm ui:build",
84
+ "docs:list": "node scripts/docs-list.js",
85
+ "docs:bin": "node scripts/build-docs-list.mjs",
86
+ "docs:dev": "cd docs && mint dev",
87
+ "docs:build": "cd docs && pnpm dlx --reporter append-only mint broken-links",
88
+ "build": "tsc -p tsconfig.json && node --import tsx scripts/canvas-a2ui-copy.ts && node --import tsx scripts/copy-hook-metadata.ts && node --import tsx scripts/write-build-info.ts",
89
+ "plugins:sync": "node --import tsx scripts/sync-plugin-versions.ts",
90
+ "release:check": "node --import tsx scripts/release-check.ts",
91
+ "ui:install": "node scripts/ui.js install",
92
+ "ui:dev": "node scripts/ui.js dev",
93
+ "ui:build": "node scripts/ui.js build",
94
+ "start": "node scripts/run-node.mjs",
95
+ "taskmaster": "node scripts/run-node.mjs",
96
+ "gateway:watch": "node scripts/watch-node.mjs gateway --force",
97
+ "logs": "npx tsx scripts/session-viewer.ts",
98
+ "gateway:dev": "TASKMASTER_SKIP_CHANNELS=1 node scripts/run-node.mjs --dev gateway",
99
+ "gateway:dev:reset": "TASKMASTER_SKIP_CHANNELS=1 node scripts/run-node.mjs --dev gateway --reset",
100
+ "tui": "node scripts/run-node.mjs tui",
101
+ "tui:dev": "TASKMASTER_PROFILE=dev node scripts/run-node.mjs tui",
102
+ "taskmaster:rpc": "node scripts/run-node.mjs agent --mode rpc --json",
103
+ "lint": "oxlint --type-aware src test",
104
+ "lint:fix": "pnpm format:fix && oxlint --type-aware --fix src test",
105
+ "format": "oxfmt --check src test",
106
+ "format:fix": "oxfmt --write src test",
107
+ "test": "node scripts/test-parallel.mjs",
108
+ "test:watch": "vitest",
109
+ "test:ui": "pnpm --dir ui test",
110
+ "test:force": "node --import tsx scripts/test-force.ts",
111
+ "test:coverage": "vitest run --coverage",
112
+ "test:e2e": "vitest run --config vitest.e2e.config.ts",
113
+ "test:live": "TASKMASTER_LIVE_TEST=1 vitest run --config vitest.live.config.ts",
114
+ "test:docker:onboard": "bash scripts/e2e/onboard-docker.sh",
115
+ "test:docker:gateway-network": "bash scripts/e2e/gateway-network-docker.sh",
116
+ "test:docker:live-models": "bash scripts/test-live-models-docker.sh",
117
+ "test:docker:live-gateway": "bash scripts/test-live-gateway-models-docker.sh",
118
+ "test:docker:qr": "bash scripts/e2e/qr-import-docker.sh",
119
+ "test:docker:doctor-switch": "bash scripts/e2e/doctor-install-switch-docker.sh",
120
+ "test:docker:plugins": "bash scripts/e2e/plugins-docker.sh",
121
+ "test:docker:cleanup": "bash scripts/test-cleanup-docker.sh",
122
+ "test:docker:all": "pnpm test:docker:live-models && pnpm test:docker:live-gateway && pnpm test:docker:onboard && pnpm test:docker:gateway-network && pnpm test:docker:qr && pnpm test:docker:doctor-switch && pnpm test:docker:plugins && pnpm test:docker:cleanup",
123
+ "test:all": "pnpm lint && pnpm build && pnpm test && pnpm test:e2e && pnpm test:live && pnpm test:docker:all",
124
+ "test:install:e2e": "bash scripts/test-install-sh-e2e-docker.sh",
125
+ "test:install:smoke": "bash scripts/test-install-sh-docker.sh",
126
+ "test:install:e2e:openai": "TASKMASTER_E2E_MODELS=openai bash scripts/test-install-sh-e2e-docker.sh",
127
+ "test:install:e2e:anthropic": "TASKMASTER_E2E_MODELS=anthropic bash scripts/test-install-sh-e2e-docker.sh",
128
+ "protocol:gen": "node --import tsx scripts/protocol-gen.ts",
129
+ "protocol:check": "pnpm protocol:gen && git diff --exit-code -- dist/protocol.schema.json",
130
+ "canvas:a2ui:bundle": "bash scripts/bundle-a2ui.sh",
131
+ "check:loc": "node --import tsx scripts/check-ts-max-loc.ts --max 500"
132
+ },
80
133
  "keywords": [],
81
134
  "author": "",
82
135
  "license": "MIT",
83
136
  "engines": {
84
137
  "node": ">=22.12.0"
85
138
  },
139
+ "packageManager": "pnpm@10.23.0",
86
140
  "dependencies": {
87
141
  "@agentclientprotocol/sdk": "0.13.1",
88
142
  "@aws-sdk/client-bedrock": "^3.975.0",
@@ -103,6 +157,7 @@
103
157
  "@slack/web-api": "^7.13.0",
104
158
  "@whiskeysockets/baileys": "7.0.0-rc.9",
105
159
  "ajv": "^8.17.1",
160
+ "audio-decode": "^2.2.3",
106
161
  "body-parser": "^2.2.2",
107
162
  "chalk": "^5.6.2",
108
163
  "chokidar": "^5.0.0",
@@ -124,6 +179,7 @@
124
179
  "long": "5.3.2",
125
180
  "mammoth": "^1.11.0",
126
181
  "markdown-it": "^14.1.0",
182
+ "music-metadata": "^11.11.1",
127
183
  "node-edge-tts": "^1.2.9",
128
184
  "osc-progress": "^0.3.0",
129
185
  "pdfjs-dist": "^5.4.530",
@@ -173,6 +229,14 @@
173
229
  "vitest": "^4.0.18",
174
230
  "wireit": "^0.14.12"
175
231
  },
232
+ "pnpm": {
233
+ "minimumReleaseAge": 2880,
234
+ "overrides": {
235
+ "@sinclair/typebox": "0.34.47",
236
+ "hono": "4.11.4",
237
+ "tar": "7.5.4"
238
+ }
239
+ },
176
240
  "vitest": {
177
241
  "coverage": {
178
242
  "provider": "v8",
@@ -201,57 +265,5 @@
201
265
  "**/vendor/**",
202
266
  "dist/Taskmaster.app/**"
203
267
  ]
204
- },
205
- "scripts": {
206
- "dev": "node scripts/run-node.mjs",
207
- "postinstall": "node scripts/postinstall.js",
208
- "docs:list": "node scripts/docs-list.js",
209
- "docs:bin": "node scripts/build-docs-list.mjs",
210
- "docs:dev": "cd docs && mint dev",
211
- "docs:build": "cd docs && pnpm dlx --reporter append-only mint broken-links",
212
- "build": "tsc -p tsconfig.json && node --import tsx scripts/canvas-a2ui-copy.ts && node --import tsx scripts/copy-hook-metadata.ts && node --import tsx scripts/write-build-info.ts",
213
- "plugins:sync": "node --import tsx scripts/sync-plugin-versions.ts",
214
- "release:check": "node --import tsx scripts/release-check.ts",
215
- "ui:install": "node scripts/ui.js install",
216
- "ui:dev": "node scripts/ui.js dev",
217
- "ui:build": "node scripts/ui.js build",
218
- "start": "node scripts/run-node.mjs",
219
- "taskmaster": "node scripts/run-node.mjs",
220
- "gateway:watch": "node scripts/watch-node.mjs gateway --force",
221
- "logs": "npx tsx scripts/session-viewer.ts",
222
- "gateway:dev": "TASKMASTER_SKIP_CHANNELS=1 node scripts/run-node.mjs --dev gateway",
223
- "gateway:dev:reset": "TASKMASTER_SKIP_CHANNELS=1 node scripts/run-node.mjs --dev gateway --reset",
224
- "tui": "node scripts/run-node.mjs tui",
225
- "tui:dev": "TASKMASTER_PROFILE=dev node scripts/run-node.mjs tui",
226
- "taskmaster:rpc": "node scripts/run-node.mjs agent --mode rpc --json",
227
- "lint": "oxlint --type-aware src test",
228
- "lint:fix": "pnpm format:fix && oxlint --type-aware --fix src test",
229
- "format": "oxfmt --check src test",
230
- "format:fix": "oxfmt --write src test",
231
- "test": "node scripts/test-parallel.mjs",
232
- "test:watch": "vitest",
233
- "test:ui": "pnpm --dir ui test",
234
- "test:force": "node --import tsx scripts/test-force.ts",
235
- "test:coverage": "vitest run --coverage",
236
- "test:e2e": "vitest run --config vitest.e2e.config.ts",
237
- "test:live": "TASKMASTER_LIVE_TEST=1 vitest run --config vitest.live.config.ts",
238
- "test:docker:onboard": "bash scripts/e2e/onboard-docker.sh",
239
- "test:docker:gateway-network": "bash scripts/e2e/gateway-network-docker.sh",
240
- "test:docker:live-models": "bash scripts/test-live-models-docker.sh",
241
- "test:docker:live-gateway": "bash scripts/test-live-gateway-models-docker.sh",
242
- "test:docker:qr": "bash scripts/e2e/qr-import-docker.sh",
243
- "test:docker:doctor-switch": "bash scripts/e2e/doctor-install-switch-docker.sh",
244
- "test:docker:plugins": "bash scripts/e2e/plugins-docker.sh",
245
- "test:docker:cleanup": "bash scripts/test-cleanup-docker.sh",
246
- "test:docker:all": "pnpm test:docker:live-models && pnpm test:docker:live-gateway && pnpm test:docker:onboard && pnpm test:docker:gateway-network && pnpm test:docker:qr && pnpm test:docker:doctor-switch && pnpm test:docker:plugins && pnpm test:docker:cleanup",
247
- "test:all": "pnpm lint && pnpm build && pnpm test && pnpm test:e2e && pnpm test:live && pnpm test:docker:all",
248
- "test:install:e2e": "bash scripts/test-install-sh-e2e-docker.sh",
249
- "test:install:smoke": "bash scripts/test-install-sh-docker.sh",
250
- "test:install:e2e:openai": "TASKMASTER_E2E_MODELS=openai bash scripts/test-install-sh-e2e-docker.sh",
251
- "test:install:e2e:anthropic": "TASKMASTER_E2E_MODELS=anthropic bash scripts/test-install-sh-e2e-docker.sh",
252
- "protocol:gen": "node --import tsx scripts/protocol-gen.ts",
253
- "protocol:check": "pnpm protocol:gen && git diff --exit-code -- dist/protocol.schema.json",
254
- "canvas:a2ui:bundle": "bash scripts/bundle-a2ui.sh",
255
- "check:loc": "node --import tsx scripts/check-ts-max-loc.ts --max 500"
256
268
  }
257
- }
269
+ }
@@ -150,6 +150,11 @@ if [ "$PLATFORM" = "linux" ]; then
150
150
  echo ""
151
151
  echo "Platform setup..."
152
152
 
153
+ # ffmpeg (PTT voice note normalization)
154
+ as_root apt-get install -y ffmpeg >/dev/null 2>&1 \
155
+ && echo " ffmpeg installed" \
156
+ || echo " ffmpeg install failed (continuing)"
157
+
153
158
  # Avahi / mDNS
154
159
  as_root apt-get install -y avahi-daemon avahi-utils >/dev/null 2>&1 \
155
160
  && echo " avahi-daemon installed" \
@@ -269,6 +269,11 @@ function ensurePlatformDeps() {
269
269
  if (!isGlobal) return;
270
270
 
271
271
  const deps = [
272
+ {
273
+ name: "ffmpeg",
274
+ check: "ffmpeg",
275
+ install: ["apt-get", "install", "-y", "ffmpeg"],
276
+ },
272
277
  {
273
278
  name: "tailscale",
274
279
  check: "tailscale",