@lostintangent/toy-box 0.1.12 → 0.1.15

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 (3) hide show
  1. package/README.md +15 -13
  2. package/package.json +61 -44
  3. package/toy-box +0 -0
package/README.md CHANGED
@@ -1,26 +1,28 @@
1
1
  # 🧸 Toy Box
2
2
 
3
+ Toy Box is a self-hosted agent server for running agentic tasks from anywhere. It includes an easy-to-use web app for starting, observing, and controlling sessions from both your desktop and phone while keeping all connected clients synchronized.
4
+
5
+ Beyond simple session management, Toy Box provides several helpful workflows that make everyday tasks simpler: scheduled automations, editable artifacts, child session orchestration, an Inbox for asynchronous tasks, and an integrated terminal.
6
+
3
7
  <img width="1000" src="https://github.com/user-attachments/assets/7964dab2-ca7c-4bc4-8e00-cbb85afa9c8b" />
4
8
 
5
9
  ## Features
6
10
 
7
- 1. Start + resume agentic coding sessions against your local dev box
8
- 1. CMD+click sessions to open a grid of sessions (up to 4)
9
- 1. Sessions track in-progress/unread state, which is synced across all clients
10
- 1. Integrated terminal allows running shell commands as needed
11
- 1. PWA/responsive layout makes working on sessions from your phone a breeze
12
- 1. Automated sessions allow you to schedule recurring tasks
11
+ - **Real-time sessions:** Start or resume work and watch responses, reasoning, tool calls, and progress stream in while queuing follow-ups during a run.
12
+ - **Rich composer:** Choose the model and reasoning effort, attach images, invoke skills, dictate by voice, and start sessions in a working directory or isolated Git worktree.
13
+ - **Multi-pane workspace:** Open up to four sessions, artifacts, or agent-provided canvases together, with live previews and an adaptive mobile layout.
14
+ - **Multi-agent orchestration:** Delegate parallel work to child sessions and use the floating Hyper workspace for a dedicated orchestration thread.
15
+ - **Cross-device sync:** Install Toy Box as a PWA and keep real-time session status—including running and unread—synchronized across every connected desktop and mobile client.
16
+ - **Bidirectional artifacts:** Agent changes appear in editable Markdown, HTML, and SVG views, while your edits are saved to disk and notify the agent; custom viewers can support other formats.
17
+ - **Focused Inbox:** Dispatch asynchronous tasks from Toy Box or directly from any webpage with the browser extension, then get notified when concise results and editable artifacts are ready.
18
+ - **Scheduled automations:** Configure recurring prompts that automate routine work and produce reviewable artifacts such as reports, analyses, and news digests.
19
+ - **Integrated terminal:** Run shell commands from a configurable terminal that works on your desktop and phone and reconnects seamlessly without losing your scrollback.
13
20
 
14
21
  ## Getting Started
15
22
 
16
23
  1. Install the Copilot CLI and authenticate with your GitHub account
17
- 1. `cd` into the project directory you want to work on remotely
18
- 1. Run `npx @lostintangent/toy-box` (or `bunx @lostintangent/toy-box`)
19
- 1. Start running agentic tasks on your machine 🚀
20
-
21
- If you'd also like to be able to access your toy box server from your phone and/or other devices, then simply setup [Tailscale](https://tailscale.com/) and access the UI via `http://<machine-ip-or-dns-name>:3000`.
22
-
23
- > Note: You can also install the Toy Box CLI globally and run it via `toy-box`.
24
+ 1. Install Toy Box globally: `npm install -g @lostintangent/toy-box`
25
+ 1. Start it in any directory: `toy-box <path>`
24
26
 
25
27
  ## Developing
26
28
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lostintangent/toy-box",
3
- "version": "0.1.12",
3
+ "version": "0.1.15",
4
4
  "description": "Your personal coding agent server",
5
5
  "bin": {
6
6
  "toy-box": "toy-box"
@@ -19,76 +19,93 @@
19
19
  "access": "public"
20
20
  },
21
21
  "scripts": {
22
- "dev": "concurrently --kill-others --names \"app,ws\" --prefix-colors \"blue,green\" \"TERMINAL_WS_PORT=3101 vite dev --port 3100\" \"TERMINAL_WS_PORT=3101 bun run terminal-server/index.ts\"",
22
+ "dev": "TERMINAL_WS_PORT=3101 bun run --parallel \"dev:*\"",
23
+ "dev:app": "vite dev --port 3100",
24
+ "dev:terminal": "bun run src/server/terminal/dev.ts",
23
25
  "build": "vite build",
24
- "build:cli": "bun run build && bun build --compile --target=bun-darwin-arm64 ./cli/index.ts --outfile toy-box",
25
- "check": "tsc --noEmit",
26
+ "build:cli": "bun run build && bun run cli/build.ts",
27
+ "check": "tsc",
26
28
  "format": "oxfmt",
27
29
  "lint": "oxlint",
28
30
  "prepare": "lefthook install"
29
31
  },
30
32
  "dependencies": {},
31
33
  "devDependencies": {
32
- "@github/copilot-sdk": "^1.0.1",
33
- "@radix-ui/react-alert-dialog": "^1.1.17",
34
- "@radix-ui/react-dialog": "^1.1.17",
35
- "@radix-ui/react-dropdown-menu": "^2.1.18",
36
- "@radix-ui/react-popover": "^1.1.17",
37
- "@radix-ui/react-scroll-area": "^1.2.12",
38
- "@radix-ui/react-select": "^2.3.1",
39
- "@radix-ui/react-separator": "^1.1.10",
40
- "@radix-ui/react-slot": "^1.3.0",
41
- "@radix-ui/react-tooltip": "^1.2.10",
34
+ "@babel/core": "^8.0.1",
35
+ "@github/copilot-sdk": "^1.0.8",
36
+ "@lostintangent/documint": "^0.0.34",
37
+ "@lostintangent/leafnode": "^0.0.1",
38
+ "@radix-ui/react-alert-dialog": "^1.1.23",
39
+ "@radix-ui/react-dialog": "^1.1.23",
40
+ "@radix-ui/react-dropdown-menu": "^2.1.24",
41
+ "@radix-ui/react-popover": "^1.1.23",
42
+ "@radix-ui/react-scroll-area": "^1.2.18",
43
+ "@radix-ui/react-select": "^2.3.7",
44
+ "@radix-ui/react-separator": "^1.1.15",
45
+ "@radix-ui/react-slot": "^1.3.3",
46
+ "@radix-ui/react-tooltip": "^1.2.16",
47
+ "@rolldown/plugin-babel": "^0.2.3",
42
48
  "@streamdown/code": "^1.1.1",
49
+ "@tailwindcss/oxide": "^4.3.3",
43
50
  "@tailwindcss/typography": "^0.5.20",
44
- "@tailwindcss/vite": "^4.3.1",
45
- "@tanstack/devtools-vite": "^0.7.0",
46
- "@tanstack/react-devtools": "^0.10.5",
51
+ "@tailwindcss/vite": "^4.3.3",
52
+ "@tanstack/ai": "^0.42.0",
53
+ "@tanstack/ai-openai": "^0.17.1",
54
+ "@tanstack/ai-react": "^0.18.1",
55
+ "@tanstack/devtools-vite": "^0.7.2",
56
+ "@tanstack/eslint-plugin-query": "5.101.2",
57
+ "@tanstack/eslint-plugin-router": "1.162.0",
58
+ "@tanstack/pacer": "^0.21.1",
59
+ "@tanstack/react-devtools": "^0.10.9",
47
60
  "@tanstack/react-hotkeys": "^0.10.0",
48
- "@tanstack/react-query": "^5.101.0",
49
- "@tanstack/react-router": "^1.170.15",
50
- "@tanstack/react-router-devtools": "^1.167.0",
61
+ "@tanstack/react-pacer": "^0.22.1",
62
+ "@tanstack/react-query": "^5.101.4",
63
+ "@tanstack/react-router": "^1.170.19",
64
+ "@tanstack/react-router-devtools": "^1.167.1",
51
65
  "@tanstack/react-router-ssr-query": "^1.167.1",
52
- "@tanstack/react-start": "^1.168.25",
53
- "@tanstack/router-plugin": "^1.168.18",
66
+ "@tanstack/react-start": "^1.168.36",
67
+ "@tanstack/react-store": "^0.11.0",
68
+ "@tanstack/router-plugin": "^1.168.24",
69
+ "@tanstack/store": "^0.11.0",
54
70
  "@tanstack/zod-adapter": "^1.167.0",
55
- "@types/node": "^25.9.3",
56
- "@types/react": "^19.2.17",
57
- "@types/react-dom": "^19.2.3",
58
- "@vitejs/plugin-react": "^6.0.2",
71
+ "@types/node": "^25.9.5",
72
+ "@types/react": "^19.2.18",
73
+ "@types/react-dom": "^19.2.4",
74
+ "@vitejs/plugin-react": "^6.0.5",
75
+ "@xmldom/xmldom": "^0.9.10",
59
76
  "@xterm/addon-fit": "^0.11.0",
60
77
  "@xterm/addon-unicode11": "^0.9.0",
61
78
  "@xterm/addon-webgl": "^0.19.0",
62
79
  "@xterm/xterm": "^6.0.0",
80
+ "app-typescript": "npm:typescript@^5.9.3",
81
+ "babel-plugin-react-compiler": "^1.0.0",
63
82
  "bun-types": "^1.3.14",
64
83
  "citty": "^0.2.2",
65
84
  "class-variance-authority": "^0.7.1",
66
85
  "clsx": "^2.1.1",
67
86
  "cmdk": "^1.1.1",
68
- "concurrently": "^10.0.3",
69
- "cron-parser": "^5.5.0",
70
- "db0": "^0.3.4",
71
- "jotai": "^2.20.1",
72
- "lefthook": "^2.1.9",
73
- "lucide-react": "^1.18.0",
74
- "nitro": "npm:nitro-nightly@^3.0.1-20260611-123640-7765bcb7",
87
+ "cron-parser": "^5.7.0",
88
+ "crossws": "^0.4.10",
89
+ "json-schema-to-ts": "^3.1.1",
90
+ "lefthook": "^2.1.10",
91
+ "lucide-react": "^1.28.0",
92
+ "nitro": "npm:nitro-nightly@^3.0.1-20260731-205209-52abde8a",
75
93
  "open": "^11.0.0",
76
- "oxfmt": "^0.55.0",
77
- "oxlint": "^1.70.0",
78
- "radix-ui": "^1.6.0",
79
- "react": "^19.2.7",
80
- "react-dom": "^19.2.7",
94
+ "oxfmt": "^0.62.0",
95
+ "oxlint": "^1.77.0",
96
+ "radix-ui": "^1.6.7",
97
+ "react": "^19.2.8",
98
+ "react-dom": "^19.2.8",
81
99
  "react-resizable-panels": "^2.1.9",
82
- "shiki": "^4.2.0",
100
+ "shiki": "^3.23.0",
83
101
  "streamdown": "^2.5.0",
84
102
  "tailwind-merge": "^3.6.0",
85
- "tailwindcss": "^4.3.1",
103
+ "tailwindcss": "^4.3.3",
86
104
  "tw-animate-css": "^1.4.0",
87
- "typescript": "^6.0.3",
105
+ "typescript": "^7.0.2",
88
106
  "use-stick-to-bottom": "^1.1.6",
89
107
  "vaul": "^1.1.2",
90
- "vite": "^8.0.16",
108
+ "vite": "^8.2.0",
91
109
  "zod": "^4.4.3"
92
- },
93
- "//": "Feedback: this batch includes several major-version bumps (typescript 6, vite 8, @vitejs/plugin-react 6, shiki 4, lucide-react 1, @types/node 25, concurrently 10) — smoke-test build/dev before merging. Also note vite-tsconfig-paths was removed, so confirm tsconfig path aliases still resolve via vite.config.ts."
110
+ }
94
111
  }
package/toy-box CHANGED
Binary file