toolroll 0.8.2 → 0.9.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/CHANGELOG.md +31 -0
- package/dist/agent-onboard.d.ts +3 -0
- package/dist/agent-onboard.js +3 -0
- package/dist/browser/workspace.js +21 -20
- package/dist/browser-workspace.d.ts +10 -0
- package/dist/chat-delivery.js +51 -3
- package/dist/chat-quiet.d.ts +28 -0
- package/dist/chat-quiet.js +161 -0
- package/dist/cli.d.ts +1 -1
- package/dist/cli.js +3 -0
- package/dist/digest-times.d.ts +3 -0
- package/dist/digest-times.js +7 -0
- package/dist/dispose.js +2 -0
- package/dist/export.js +1 -1
- package/dist/integrations-ui.d.ts +13 -0
- package/dist/integrations-ui.js +65 -0
- package/dist/integrations.d.ts +113 -0
- package/dist/integrations.js +526 -0
- package/dist/operate.d.ts +5 -2
- package/dist/operate.js +151 -4
- package/dist/project-delete.js +1 -0
- package/dist/publish.d.ts +11 -0
- package/dist/publish.js +9 -2
- package/dist/pull-request-flow.d.ts +140 -0
- package/dist/pull-request-flow.js +440 -0
- package/dist/pull-request-schema.d.ts +5 -0
- package/dist/pull-request-schema.js +21 -0
- package/dist/pull-request-ui.d.ts +23 -0
- package/dist/pull-request-ui.js +55 -0
- package/dist/pulls.d.ts +5 -0
- package/dist/pulls.js +11 -0
- package/dist/serve.d.ts +6 -0
- package/dist/serve.js +264 -16
- package/dist/setup-guide.d.ts +2 -2
- package/dist/store.d.ts +61 -0
- package/dist/store.js +142 -3
- package/dist/surface.js +2 -0
- package/dist/telegram-progress.d.ts +1 -0
- package/dist/telegram-progress.js +1 -1
- package/dist/telegram.js +95 -15
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,37 @@
|
|
|
2
2
|
|
|
3
3
|
## Unreleased
|
|
4
4
|
|
|
5
|
+
## 0.9.0 — 2026-09-30
|
|
6
|
+
|
|
7
|
+
- **Chat pings only when you're needed.** In Telegram, Slack, Discord and
|
|
8
|
+
Teams each task is one message, updated in place from filed to Ready (and
|
|
9
|
+
tasks filed within a minute share one). A new message arrives only when
|
|
10
|
+
something needs you: a result Ready for review, a question or approval, a
|
|
11
|
+
failure that needs a decision, a sign-in or plan-limit pause, or a security
|
|
12
|
+
alert. Choose Only when I'm needed (the default) or Every step, and an
|
|
13
|
+
optional evening digest, in Settings → Notifications or with
|
|
14
|
+
`toolroll notifications quiet|all|digest <HH:MM>|digest off`. Delivery
|
|
15
|
+
receipts and the console's activity are unchanged.
|
|
16
|
+
- **Complete opens a pull request, and Merge is one step.** Turn on pull
|
|
17
|
+
requests once per project (Projects → Pull requests, or
|
|
18
|
+
`toolroll publish setup`): Toolroll checks the GitHub remote, the default
|
|
19
|
+
branch, `gh` sign-in and push rights, and says what to fix. Complete then
|
|
20
|
+
offers "Complete and open a pull request" beside "Complete only"; the pull
|
|
21
|
+
request opens from the exact completed commit. The task shows the PR link
|
|
22
|
+
and its CI. Green reads Ready to merge with one Merge (behind your
|
|
23
|
+
password; Telegram and Slack link to it), which squashes by default,
|
|
24
|
+
deletes the branch and records the merge commit in the ledger. Red files
|
|
25
|
+
one revision with the failing check's name and a fenced log excerpt, at
|
|
26
|
+
most twice per task, then asks you. "Merge when checks pass" is an
|
|
27
|
+
opt-in project setting.
|
|
28
|
+
- **Settings → Integrations: what works, what's broken.** One list of
|
|
29
|
+
Telegram, Slack, Discord, Teams, GitHub, Linear, email, each project's MCP
|
|
30
|
+
tools, monitoring destinations, Claude and Codex. Each says Connected, Not
|
|
31
|
+
set up or Broken, with its last success and last error, what uses it, and
|
|
32
|
+
one action: Set up, Send test, or Fix in plain words. Checks are read-only,
|
|
33
|
+
run in the background and never hold up a page; `toolroll integrations`
|
|
34
|
+
shows the same, and `toolroll status` adds a line when something is broken.
|
|
35
|
+
|
|
5
36
|
## 0.8.2 — 2026-09-30
|
|
6
37
|
|
|
7
38
|
- **Task checkouts stop using space nobody wants.** A finished task's clean
|
package/dist/agent-onboard.d.ts
CHANGED
|
@@ -119,6 +119,9 @@ export type OnboardIo = {
|
|
|
119
119
|
message: string;
|
|
120
120
|
}>;
|
|
121
121
|
checkConnection: (agent: OnboardAgent) => Promise<ProviderConnection>;
|
|
122
|
+
/** Whether the project can open pull requests at Complete, in one line: on, the one command that turns it on, or
|
|
123
|
+
* what to fix first. Turning it on stays a person's password step. */
|
|
124
|
+
pullRequests?: (repo: string) => Promise<string>;
|
|
122
125
|
};
|
|
123
126
|
/** Why a found repository cannot be the project, or null when it can. */
|
|
124
127
|
export declare function projectRefusal(found: {
|
package/dist/agent-onboard.js
CHANGED
|
@@ -333,6 +333,7 @@ export async function runOnboard(io) {
|
|
|
333
333
|
const handoff = buildHandoff({ url: io.url, login: io.login });
|
|
334
334
|
const mcp = agents.map(agent => ({ agent, command: mcpLine(agent) }));
|
|
335
335
|
const projectData = project.state === "added" || project.state === "already" ? { path: project.path, added: project.state === "added" } : null;
|
|
336
|
+
const pullRequests = projectData === null || io.pullRequests === undefined ? null : await io.pullRequests(projectData.path);
|
|
336
337
|
const projectProblem = (() => {
|
|
337
338
|
switch (project.state) {
|
|
338
339
|
case "none": return "not inside a git repository";
|
|
@@ -349,6 +350,7 @@ export async function runOnboard(io) {
|
|
|
349
350
|
command,
|
|
350
351
|
project: projectData,
|
|
351
352
|
...(projectProblem === null ? {} : { projectProblem }),
|
|
353
|
+
...(pullRequests === null ? {} : { pullRequests }),
|
|
352
354
|
agents: reports,
|
|
353
355
|
skill: skillData,
|
|
354
356
|
mcp,
|
|
@@ -361,6 +363,7 @@ export async function runOnboard(io) {
|
|
|
361
363
|
: project.state === "none" ? "project none added: run onboard inside the repository you want to hand off" : `project ${projectProblem}`;
|
|
362
364
|
io.write([
|
|
363
365
|
projectLine,
|
|
366
|
+
...(pullRequests === null ? [] : [`pull requests ${pullRequests}`]),
|
|
364
367
|
`agents ${reports.map(one => `${one.name}: ${[one.words, one.plan].filter(Boolean).join(" · ")}`).join("; ")}`,
|
|
365
368
|
skillLine(),
|
|
366
369
|
...mcp.map((one, index) => `${index === 0 ? "tools " : " "} ${one.command} (add Toolroll as tools; not run)`),
|