@rubytech/taskmaster 1.0.32 → 1.0.34

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/README.md CHANGED
@@ -14,7 +14,7 @@ taskmaster provision
14
14
  Or one command on a fresh device:
15
15
 
16
16
  ```bash
17
- curl -fsSL https://taskmaster.bot/install.sh | sudo bash
17
+ curl -fsSL https://taskmaster.bot/install.sh | bash
18
18
  ```
19
19
 
20
20
  After install, open the setup wizard in your browser:
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "1.0.32",
3
- "commit": "4a1c736fb041d902af68b5139766f66d0edfc3f8",
4
- "builtAt": "2026-02-16T10:03:32.512Z"
2
+ "version": "1.0.34",
3
+ "commit": "9d9f0a075ff62bb27bc61f36fb5a253ea6d3be13",
4
+ "builtAt": "2026-02-16T10:24:26.564Z"
5
5
  }
@@ -76,6 +76,7 @@ async function runProvision(opts) {
76
76
  console.log(` URL: http://${hostname}.local:${port}/setup`);
77
77
  console.log("");
78
78
  console.log("Next: open the URL above in a browser to complete setup.");
79
+ console.log(" (It may take a minute or two for the page to become available.)");
79
80
  console.log("");
80
81
  }
81
82
  // ---------------------------------------------------------------------------
@@ -17,7 +17,7 @@ const multiselectStyled = (params) => multiselect({
17
17
  function buildScopeSelection(opts) {
18
18
  const hadExplicit = Boolean(opts.all || opts.purge || opts.service || opts.state || opts.workspace || opts.app);
19
19
  const scopes = new Set();
20
- if (opts.all || opts.purge || opts.service)
20
+ if (!opts.skipService && (opts.all || opts.purge || opts.service))
21
21
  scopes.add("service");
22
22
  if (opts.all || opts.purge || opts.state)
23
23
  scopes.add("state");
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.0.32",
3
+ "version": "1.0.34",
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",
@@ -172,6 +226,14 @@
172
226
  "vitest": "^4.0.18",
173
227
  "wireit": "^0.14.12"
174
228
  },
229
+ "pnpm": {
230
+ "minimumReleaseAge": 2880,
231
+ "overrides": {
232
+ "@sinclair/typebox": "0.34.47",
233
+ "hono": "4.11.4",
234
+ "tar": "7.5.4"
235
+ }
236
+ },
175
237
  "vitest": {
176
238
  "coverage": {
177
239
  "provider": "v8",
@@ -200,57 +262,5 @@
200
262
  "**/vendor/**",
201
263
  "dist/Taskmaster.app/**"
202
264
  ]
203
- },
204
- "scripts": {
205
- "dev": "node scripts/run-node.mjs",
206
- "postinstall": "node scripts/postinstall.js",
207
- "docs:list": "node scripts/docs-list.js",
208
- "docs:bin": "node scripts/build-docs-list.mjs",
209
- "docs:dev": "cd docs && mint dev",
210
- "docs:build": "cd docs && pnpm dlx --reporter append-only mint broken-links",
211
- "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",
212
- "plugins:sync": "node --import tsx scripts/sync-plugin-versions.ts",
213
- "release:check": "node --import tsx scripts/release-check.ts",
214
- "ui:install": "node scripts/ui.js install",
215
- "ui:dev": "node scripts/ui.js dev",
216
- "ui:build": "node scripts/ui.js build",
217
- "start": "node scripts/run-node.mjs",
218
- "taskmaster": "node scripts/run-node.mjs",
219
- "gateway:watch": "node scripts/watch-node.mjs gateway --force",
220
- "logs": "npx tsx scripts/session-viewer.ts",
221
- "gateway:dev": "TASKMASTER_SKIP_CHANNELS=1 node scripts/run-node.mjs --dev gateway",
222
- "gateway:dev:reset": "TASKMASTER_SKIP_CHANNELS=1 node scripts/run-node.mjs --dev gateway --reset",
223
- "tui": "node scripts/run-node.mjs tui",
224
- "tui:dev": "TASKMASTER_PROFILE=dev node scripts/run-node.mjs tui",
225
- "taskmaster:rpc": "node scripts/run-node.mjs agent --mode rpc --json",
226
- "lint": "oxlint --type-aware src test",
227
- "lint:fix": "pnpm format:fix && oxlint --type-aware --fix src test",
228
- "format": "oxfmt --check src test",
229
- "format:fix": "oxfmt --write src test",
230
- "test": "node scripts/test-parallel.mjs",
231
- "test:watch": "vitest",
232
- "test:ui": "pnpm --dir ui test",
233
- "test:force": "node --import tsx scripts/test-force.ts",
234
- "test:coverage": "vitest run --coverage",
235
- "test:e2e": "vitest run --config vitest.e2e.config.ts",
236
- "test:live": "TASKMASTER_LIVE_TEST=1 vitest run --config vitest.live.config.ts",
237
- "test:docker:onboard": "bash scripts/e2e/onboard-docker.sh",
238
- "test:docker:gateway-network": "bash scripts/e2e/gateway-network-docker.sh",
239
- "test:docker:live-models": "bash scripts/test-live-models-docker.sh",
240
- "test:docker:live-gateway": "bash scripts/test-live-gateway-models-docker.sh",
241
- "test:docker:qr": "bash scripts/e2e/qr-import-docker.sh",
242
- "test:docker:doctor-switch": "bash scripts/e2e/doctor-install-switch-docker.sh",
243
- "test:docker:plugins": "bash scripts/e2e/plugins-docker.sh",
244
- "test:docker:cleanup": "bash scripts/test-cleanup-docker.sh",
245
- "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",
246
- "test:all": "pnpm lint && pnpm build && pnpm test && pnpm test:e2e && pnpm test:live && pnpm test:docker:all",
247
- "test:install:e2e": "bash scripts/test-install-sh-e2e-docker.sh",
248
- "test:install:smoke": "bash scripts/test-install-sh-docker.sh",
249
- "test:install:e2e:openai": "TASKMASTER_E2E_MODELS=openai bash scripts/test-install-sh-e2e-docker.sh",
250
- "test:install:e2e:anthropic": "TASKMASTER_E2E_MODELS=anthropic bash scripts/test-install-sh-e2e-docker.sh",
251
- "protocol:gen": "node --import tsx scripts/protocol-gen.ts",
252
- "protocol:check": "pnpm protocol:gen && git diff --exit-code -- dist/protocol.schema.json",
253
- "canvas:a2ui:bundle": "bash scripts/bundle-a2ui.sh",
254
- "check:loc": "node --import tsx scripts/check-ts-max-loc.ts --max 500"
255
265
  }
256
- }
266
+ }
@@ -4,10 +4,10 @@ set -euo pipefail
4
4
  # Taskmaster — one-command install for fresh devices (Pi or Mac).
5
5
  #
6
6
  # Usage:
7
- # curl -fsSL https://taskmaster.bot/install.sh | sudo bash
7
+ # curl -fsSL https://taskmaster.bot/install.sh | bash
8
8
  #
9
9
  # With custom port:
10
- # curl -fsSL https://taskmaster.bot/install.sh | sudo bash -s -- --port 19000
10
+ # curl -fsSL https://taskmaster.bot/install.sh | bash -s -- --port 19000
11
11
 
12
12
  PORT=""
13
13
  for arg in "$@"; do
@@ -99,7 +99,11 @@ fi
99
99
 
100
100
  echo ""
101
101
  echo "Installing Taskmaster..."
102
- npm install -g @rubytech/taskmaster
102
+ if [ "$(id -u)" = "0" ]; then
103
+ npm install -g @rubytech/taskmaster
104
+ else
105
+ sudo npm install -g @rubytech/taskmaster
106
+ fi
103
107
 
104
108
  # Verify
105
109
  if ! command -v taskmaster >/dev/null 2>&1; then
@@ -39,7 +39,7 @@ You'll need a monitor, keyboard, and mouse connected to the Pi.
39
39
  2. Run:
40
40
 
41
41
  ```bash
42
- curl -fsSL https://taskmaster.bot/install.sh | sudo bash
42
+ curl -fsSL https://taskmaster.bot/install.sh | bash
43
43
  ```
44
44
 
45
45
  3. Wait for it to finish (a few minutes — it installs Node.js if needed)
@@ -52,7 +52,7 @@ curl -fsSL https://taskmaster.bot/install.sh | sudo bash
52
52
  Open **Terminal** (search for "Terminal" in Spotlight) and run:
53
53
 
54
54
  ```bash
55
- curl -fsSL https://taskmaster.bot/install.sh | sudo bash
55
+ curl -fsSL https://taskmaster.bot/install.sh | bash
56
56
  ```
57
57
 
58
58
  This installs Node.js (if needed), Taskmaster, and sets up the background service. Once finished, open your browser and go to: **http://taskmaster.local:18789/setup**
@@ -60,7 +60,7 @@ This installs Node.js (if needed), Taskmaster, and sets up the background servic
60
60
  **Custom port:** If you're running multiple Taskmaster instances (e.g., one on a Pi and one on a Mac), give each a different port:
61
61
 
62
62
  ```bash
63
- curl -fsSL https://taskmaster.bot/install.sh | sudo bash -s -- --port 19000
63
+ curl -fsSL https://taskmaster.bot/install.sh | bash -s -- --port 19000
64
64
  ```
65
65
 
66
66
  When using a custom port, the hostname includes the port to avoid conflicts. The setup URL becomes `http://taskmaster-19000.local:19000/setup`.
Binary file
Binary file
Binary file
@@ -1 +0,0 @@
1
- .DS_Store