toolroll 0.5.0 → 0.7.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.
- package/README.md +38 -24
- package/dist/accent-colors.d.ts +6 -3
- package/dist/accent-colors.js +9 -4
- package/dist/browser/workspace.css +2 -2
- package/dist/browser/workspace.js +23 -23
- package/dist/browser-workspace.d.ts +46 -0
- package/dist/builder.d.ts +18 -1
- package/dist/builder.js +177 -5
- package/dist/chat-delivery.js +6 -4
- package/dist/claim.d.ts +15 -1
- package/dist/claim.js +30 -2
- package/dist/control-ui.js +1 -1
- package/dist/daemon.d.ts +9 -0
- package/dist/daemon.js +21 -0
- package/dist/decision.d.ts +6 -0
- package/dist/decision.js +12 -0
- package/dist/desktop-update.d.ts +1 -1
- package/dist/dispatch.d.ts +3 -1
- package/dist/dispatch.js +13 -0
- package/dist/dispose.js +11 -7
- package/dist/exhaustion.d.ts +14 -0
- package/dist/exhaustion.js +35 -0
- package/dist/install-method.d.ts +17 -0
- package/dist/install-method.js +61 -0
- package/dist/invoke.js +26 -0
- package/dist/lead-status.d.ts +7 -0
- package/dist/lead-status.js +15 -2
- package/dist/mate.js +5 -2
- package/dist/operate.d.ts +5 -0
- package/dist/operate.js +109 -15
- package/dist/provider-auth.d.ts +138 -0
- package/dist/provider-auth.js +291 -0
- package/dist/provider.d.ts +2 -0
- package/dist/provider.js +8 -1
- package/dist/releases.d.ts +76 -0
- package/dist/releases.js +225 -0
- package/dist/serve.d.ts +4 -0
- package/dist/serve.js +207 -76
- package/dist/setup-guide.d.ts +2 -2
- package/dist/setup-guide.js +2 -0
- package/dist/skills.d.ts +6 -0
- package/dist/skills.js +8 -0
- package/dist/store.d.ts +2 -2
- package/dist/store.js +13 -4
- package/dist/subscription-chat.js +3 -0
- package/dist/update-notice.d.ts +5 -0
- package/dist/update-notice.js +4 -0
- package/dist/work-index.js +22 -4
- package/dist/worktree.d.ts +13 -0
- package/dist/worktree.js +55 -29
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,36 +1,55 @@
|
|
|
1
1
|
<div align="center">
|
|
2
2
|
|
|
3
3
|
<picture>
|
|
4
|
-
<source media="(prefers-color-scheme: dark)" srcset="
|
|
5
|
-
<img src="
|
|
4
|
+
<source media="(prefers-color-scheme: dark)" srcset="docs/media/wordmark-dark.svg">
|
|
5
|
+
<img src="docs/media/wordmark-light.svg" alt="Toolroll — a control plane for unattended coding agents" width="440">
|
|
6
6
|
</picture>
|
|
7
7
|
|
|
8
|
-
|
|
9
|
-
interrupted only for decisions that genuinely need a human.**
|
|
8
|
+
### Your agents build. You decide.
|
|
10
9
|
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-

|
|
14
|
-
[](LICENSE)
|
|
10
|
+
Queue the work, approve the exact terms once, and come back to results that
|
|
11
|
+
prove themselves — interrupted only for decisions that need a person.
|
|
15
12
|
|
|
16
|
-
[
|
|
13
|
+
[](https://github.com/ap9000/toolroll/actions/workflows/ci.yml)
|
|
14
|
+
[](https://www.npmjs.com/package/toolroll)
|
|
15
|
+
[](https://github.com/ap9000/homebrew-toolroll)
|
|
16
|
+

|
|
17
|
+
[](LICENSE)
|
|
17
18
|
|
|
18
|
-
|
|
19
|
+
**[Website](https://toolroll.dev)** · [Install](https://toolroll.dev/install) · [Use cases](https://toolroll.dev/use-cases) · [Integrations](https://toolroll.dev/integrations) · [Guides](docs/guide/README.md) · [Contributing](CONTRIBUTING.md)
|
|
19
20
|
|
|
20
|
-
<
|
|
21
|
+
<picture>
|
|
22
|
+
<source media="(prefers-color-scheme: dark)" srcset="docs/media/ui/tasks-dark.png">
|
|
23
|
+
<img src="docs/media/ui/tasks-light.png" alt="The Toolroll console's Tasks view: plan windows and budget at the top, then every task with what it needs from you and the one action that settles it." width="920">
|
|
24
|
+
</picture>
|
|
25
|
+
|
|
26
|
+
<sub>Tasks across every project: what's building, what's Ready, and the one thing each needs from you. (Demo workspace.)</sub>
|
|
21
27
|
|
|
22
28
|
</div>
|
|
23
29
|
|
|
24
30
|
## Quick start
|
|
25
31
|
|
|
26
32
|
```sh
|
|
27
|
-
|
|
33
|
+
npx toolroll up
|
|
28
34
|
```
|
|
29
35
|
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
36
|
+
That starts the app and a builder for your projects, then opens the console
|
|
37
|
+
at http://127.0.0.1:4180. Runs on macOS or Linux with Node.js 22.13+ and git.
|
|
38
|
+
Try the seeded sandbox first with `npx toolroll demo` — it never spends and
|
|
39
|
+
never reaches outside.
|
|
40
|
+
|
|
41
|
+
| Install with | Command |
|
|
42
|
+
|---|---|
|
|
43
|
+
| npm | `npm install -g toolroll` |
|
|
44
|
+
| Homebrew | `brew install ap9000/toolroll/toolroll` |
|
|
45
|
+
| bun | `bun add -g toolroll` |
|
|
46
|
+
| pnpm | `pnpm add -g toolroll` |
|
|
47
|
+
| yarn | `yarn global add toolroll` |
|
|
48
|
+
| script | `curl -fsSL https://raw.githubusercontent.com/ap9000/toolroll/main/install.sh \| sh` |
|
|
49
|
+
|
|
50
|
+
Then read [Getting started](docs/guide/getting-started.md), [Flows](docs/guide/flows.md)
|
|
51
|
+
and [Security](docs/guide/security.md). Coming from Standing Orders? It's the
|
|
52
|
+
same product renamed; the `standing-orders` command and your data keep working.
|
|
34
53
|
|
|
35
54
|
## One command center, the whole loop
|
|
36
55
|
|
|
@@ -48,9 +67,9 @@ you open them. Before execution, the approval card restates the goal,
|
|
|
48
67
|
boundaries, evidence requirements, model, and permissions.
|
|
49
68
|
|
|
50
69
|
<div align="center">
|
|
51
|
-
<img src="
|
|
70
|
+
<img src="docs/media/ui/tasks-mobile.png" alt="The Tasks view on a phone: each task with its status and the one action that settles it." width="260">
|
|
52
71
|
|
|
53
|
-
<img src="
|
|
72
|
+
<img src="docs/media/ui/scope-approval.png" alt="The scope you approve: goal, what is out of bounds, the files it may touch, acceptance criteria with their evidence, quality, permissions and the agents that will build it." width="640">
|
|
54
73
|
</div>
|
|
55
74
|
|
|
56
75
|
### One lead, durable crew work
|
|
@@ -218,11 +237,6 @@ failed when a result is marked complete.
|
|
|
218
237
|
The lead or user marks Complete after inspection. Failed checks stay failed;
|
|
219
238
|
absent optional historical assessments do not block completion.
|
|
220
239
|
|
|
221
|
-
<div align="center">
|
|
222
|
-
<img src="https://raw.githubusercontent.com/ap9000/standing-orders/main/docs/media/ui/verified-result.png" alt="A verified Toolroll result card with checks, follow-up notes, and evidence-backed completion details." width="720">
|
|
223
|
-
<br>
|
|
224
|
-
<sub>Inspect the saved result and actual checks, then mark Complete or request changes.</sub>
|
|
225
|
-
</div>
|
|
226
240
|
|
|
227
241
|
## Install
|
|
228
242
|
|
|
@@ -507,7 +521,7 @@ Windows' native command shell. The scheduled-task definition follows the Task
|
|
|
507
521
|
Scheduler XML schema and every `schtasks` interaction is covered by scripted
|
|
508
522
|
tests. A physical Windows install has not yet been certified; the exact
|
|
509
523
|
real-provider and post-reboot checklist is in the
|
|
510
|
-
[Never Stuck release certification](https://github.com/ap9000/
|
|
524
|
+
[Never Stuck release certification](https://github.com/ap9000/toolroll/blob/main/docs/CERTIFICATION.md).
|
|
511
525
|
|
|
512
526
|
### Unattended permissions
|
|
513
527
|
|
package/dist/accent-colors.d.ts
CHANGED
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* The accent a person can choose (Settings → Appearance): the signal colour
|
|
3
3
|
* that marks what waits on a person. Any colour from the picker, with
|
|
4
|
-
* Pantone's Colours of the Year as presets
|
|
4
|
+
* Pantone's Colours of the Year as presets. The default is ink — no hue, like Vercel, Linear and GitHub:
|
|
5
|
+
* the page is black, white and grey, and colour is left to status (building, complete, warning, danger).
|
|
6
|
+
* Chart magenta (the default until 2026-09-30) and violet stay presets. The default's tokens are set by
|
|
7
|
+
* hand in serve.ts (ink and near-white), not derived: derivation would stop at a mid grey in dark.
|
|
5
8
|
* A per-browser preference, like the theme: it lives in the person's
|
|
6
9
|
* `so-accent` cookie (six hex digits) and never in the database.
|
|
7
10
|
*
|
|
@@ -29,8 +32,8 @@ export type AccentPreset = {
|
|
|
29
32
|
year: number | null;
|
|
30
33
|
hex: string;
|
|
31
34
|
};
|
|
32
|
-
export declare const DEFAULT_ACCENT = "#
|
|
33
|
-
/**
|
|
35
|
+
export declare const DEFAULT_ACCENT = "#171717";
|
|
36
|
+
/** Ink (the default), violet, chart magenta, then Pantone's colours of the year, newest first. The greys and whites (Sand Dollar 2006,
|
|
34
37
|
* Ultimate Gray 2021, Cloud Dancer 2026) are left out: a grey can't mark what needs a person here. */
|
|
35
38
|
export declare const ACCENT_PRESETS: AccentPreset[];
|
|
36
39
|
export declare function contrast(a: string, b: string): number;
|
package/dist/accent-colors.js
CHANGED
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* The accent a person can choose (Settings → Appearance): the signal colour
|
|
3
3
|
* that marks what waits on a person. Any colour from the picker, with
|
|
4
|
-
* Pantone's Colours of the Year as presets
|
|
4
|
+
* Pantone's Colours of the Year as presets. The default is ink — no hue, like Vercel, Linear and GitHub:
|
|
5
|
+
* the page is black, white and grey, and colour is left to status (building, complete, warning, danger).
|
|
6
|
+
* Chart magenta (the default until 2026-09-30) and violet stay presets. The default's tokens are set by
|
|
7
|
+
* hand in serve.ts (ink and near-white), not derived: derivation would stop at a mid grey in dark.
|
|
5
8
|
* A per-browser preference, like the theme: it lives in the person's
|
|
6
9
|
* `so-accent` cookie (six hex digits) and never in the database.
|
|
7
10
|
*
|
|
@@ -16,12 +19,14 @@
|
|
|
16
19
|
* Preset names are Pantone LLC's; the hex values are the published screen
|
|
17
20
|
* approximations. Pantone is not affiliated with Toolroll.
|
|
18
21
|
*/
|
|
19
|
-
export const DEFAULT_ACCENT = "#
|
|
22
|
+
export const DEFAULT_ACCENT = "#171717";
|
|
20
23
|
const PAPER_LIGHT = "#ffffff", FRAME_LIGHT = "#efefef", PAPER_DARK = "#161616", INK_DARK = "#0a0a0a";
|
|
21
|
-
/**
|
|
24
|
+
/** Ink (the default), violet, chart magenta, then Pantone's colours of the year, newest first. The greys and whites (Sand Dollar 2006,
|
|
22
25
|
* Ultimate Gray 2021, Cloud Dancer 2026) are left out: a grey can't mark what needs a person here. */
|
|
23
26
|
export const ACCENT_PRESETS = [
|
|
24
|
-
[null, "
|
|
27
|
+
[null, "Ink", DEFAULT_ACCENT],
|
|
28
|
+
[null, "Violet", "#6e56cf"],
|
|
29
|
+
[null, "Chart magenta", "#c0267e"],
|
|
25
30
|
[2025, "Mocha Mousse", "#a47864"], [2024, "Peach Fuzz", "#ffbe98"], [2023, "Viva Magenta", "#bb2649"],
|
|
26
31
|
[2022, "Very Peri", "#6667ab"], [2021, "Illuminating", "#f5df4d"], [2020, "Classic Blue", "#0f4c81"],
|
|
27
32
|
[2019, "Living Coral", "#ff6f61"], [2018, "Ultra Violet", "#5f4b8b"], [2017, "Greenery", "#88b04b"],
|