@viraatdas/rudder 2.12.8 → 2.12.10
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 +47 -20
- package/dist/backends.js +3 -3
- package/dist/backends.js.map +1 -1
- package/dist/board/board.js +2 -2
- package/dist/board/daemon.d.ts +5 -1
- package/dist/board/daemon.js +21 -2
- package/dist/board/daemon.js.map +1 -1
- package/dist/codex-binary.d.ts +4 -1
- package/dist/codex-binary.js +25 -6
- package/dist/codex-binary.js.map +1 -1
- package/dist/graph.js +1 -0
- package/dist/graph.js.map +1 -1
- package/dist/migration.js +1 -1
- package/dist/migration.js.map +1 -1
- package/dist/native/darwin-arm64/rudder-native +0 -0
- package/dist/native/darwin-x64/rudder-native +0 -0
- package/dist/native/linux-x64/rudder-native +0 -0
- package/dist/native-agents.js +3 -3
- package/dist/native-agents.js.map +1 -1
- package/dist/surfaces.d.ts +15 -0
- package/dist/surfaces.js +8 -0
- package/dist/surfaces.js.map +1 -1
- package/dist/types.d.ts +20 -2
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -13,8 +13,10 @@
|
|
|
13
13
|
|
|
14
14
|
Rudder runs coding agents the way they should be used: several at once,
|
|
15
15
|
isolated, reviewable, and easy to merge. It opens a native three-pane dashboard,
|
|
16
|
-
gives
|
|
17
|
-
processes in the worker pane.
|
|
16
|
+
gives isolated tasks their own jj workspace, and runs real Claude Code or Codex
|
|
17
|
+
processes in the worker pane. Plain requests instead get one end-to-end owner in
|
|
18
|
+
the main checkout, so implementation, release, and deployment do not fall between
|
|
19
|
+
separate agents unless you explicitly ask for a DAG.
|
|
18
20
|
|
|
19
21
|
> **AI agents and contributors:** this README is for using Rudder. If you are
|
|
20
22
|
> an AI agent (or a human) working on the Rudder codebase itself, read
|
|
@@ -53,10 +55,11 @@ rudder
|
|
|
53
55
|
```
|
|
54
56
|
|
|
55
57
|
With no arguments, `rudder` opens the dashboard. Type in the bottom input and
|
|
56
|
-
press `Enter` to
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
58
|
+
press `Enter` to give the request to a single end-to-end main-checkout agent.
|
|
59
|
+
That agent owns implementation, relevant tests, and any push/deploy/install work
|
|
60
|
+
the request explicitly authorizes. Use `/plan <task>` when you want a reviewed
|
|
61
|
+
multi-agent DAG, `/run <task>` for exactly one isolated mergeable worker with no
|
|
62
|
+
DAG, or `/ask <text>` for a separate one-off main-checkout conversation.
|
|
60
63
|
|
|
61
64
|
If a task needs shared local context like API tokens, private URLs, account ids,
|
|
62
65
|
or environment values, save it with `/share <text>` in the task input. Rudder
|
|
@@ -96,7 +99,7 @@ to `~/.rudder/config.json`.
|
|
|
96
99
|
│ task list │ live Claude Code or Codex terminal │
|
|
97
100
|
│ status/model │ DAG-over-orchestrator, scrollback, review │
|
|
98
101
|
├───────────────┴────────────────────────────────────────────┤
|
|
99
|
-
│ task input:
|
|
102
|
+
│ task input: main owner by default, /plan DAG, /run isolated │
|
|
100
103
|
└──────────────────────────────────────────────────────────────┘
|
|
101
104
|
```
|
|
102
105
|
|
|
@@ -120,7 +123,8 @@ your browser. The board is a second control surface, not just a monitor: open a
|
|
|
120
123
|
task to send an update while it runs, or request changes from Review to resume
|
|
121
124
|
the same agent in the same workspace. The task's update thread records your
|
|
122
125
|
directions alongside the latest worker activity. `+ Task` follows the same
|
|
123
|
-
|
|
126
|
+
end-to-end main-owner path as typing in the dashboard task pane; use `/plan` in
|
|
127
|
+
the native dashboard for an explicit DAG.
|
|
124
128
|
|
|
125
129
|
The board also works on its own with `rudder board`: in that mode updates
|
|
126
130
|
redirect or resume the detached worker directly and move revised work back
|
|
@@ -212,18 +216,23 @@ reused next time. Rudder refreshes model metadata from
|
|
|
212
216
|
`https://models.dev/api.json` and falls back to local caches when offline.
|
|
213
217
|
The native Codex picker also reads `~/.codex/models_cache.json`, so account-specific
|
|
214
218
|
models such as the GPT-5.6 Sol/Terra/Luna family appear as soon as Codex exposes them.
|
|
219
|
+
Implementation, review, resume, and shipping Codex sessions keep Codex plugins and
|
|
220
|
+
Computer Use enabled, matching a direct Codex session. Read-only planner sessions
|
|
221
|
+
disable both capabilities so planning cannot cause external side effects.
|
|
215
222
|
|
|
216
223
|
## One-Off and Planning
|
|
217
224
|
|
|
218
225
|
Type a fresh request in the bottom task input. When no plan is active, Rudder
|
|
219
|
-
starts
|
|
220
|
-
|
|
226
|
+
starts or continues one main-checkout agent as the end-to-end owner. It can inspect,
|
|
227
|
+
edit, test, commit, release, and deploy according to the request and the repository's
|
|
228
|
+
instructions. Rudder does not silently split a plain request across a planner and
|
|
229
|
+
workers, which keeps final delivery ownership unambiguous.
|
|
221
230
|
|
|
222
231
|
Use `/ask <text>` for a one-off conversational agent in the main checkout, with
|
|
223
232
|
no DAG and no merge step. Use `/run <task>` for exactly one isolated worker that
|
|
224
233
|
lands in Review and merges back with `m` or `/merge-all`. Use `/plan <text>` when
|
|
225
|
-
you want
|
|
226
|
-
|
|
234
|
+
you want the orchestrator / DAG path: the read-only planner decomposes the task,
|
|
235
|
+
then separate isolated workers implement its nodes.
|
|
227
236
|
|
|
228
237
|
For planned work, Rudder runs a dedicated Claude Code orchestrator PTY with a DAG
|
|
229
238
|
pane above it. The flow stays inside Rudder: the orchestrator researches
|
|
@@ -254,8 +263,9 @@ After launch, typing a new task folds it into the running DAG as a new node. Whe
|
|
|
254
263
|
finishes, Rudder reads back what it did and what work it found remaining (reconstructing it
|
|
255
264
|
from the diff if the agent did not say), so the plan keeps growing on its own. Type a
|
|
256
265
|
sweeping change ("rewrite this in Rust instead") and the plan re-plans around the work
|
|
257
|
-
already done. The queued plan
|
|
258
|
-
|
|
266
|
+
already done. The queued plan and workspaces survive a restart. Closing the dashboard
|
|
267
|
+
marks owned live PTYs `paused` and removes their dead process ids; select a paused row
|
|
268
|
+
and press `Enter` to resume it (reusing its backend session when available).
|
|
259
269
|
|
|
260
270
|
The orchestrator also handles worker operations in natural language. For example, tell it
|
|
261
271
|
"pause the current tasks and resume them on Codex gpt-5.6 at max effort." It resolves the
|
|
@@ -266,12 +276,11 @@ with a handoff to inspect and continue the existing diff.
|
|
|
266
276
|
|
|
267
277
|
## Worktrees and merging
|
|
268
278
|
|
|
269
|
-
Planned worker tasks run in their own
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
listed the next time you open Rudder in that repo.
|
|
279
|
+
Planned and `/run` worker tasks run in their own jj workspaces under a sibling
|
|
280
|
+
`.rudder-worktrees` area, so parallel agents never edit the same checkout. Plain
|
|
281
|
+
main-owner and `/ask` agents intentionally run in the main checkout. Run records
|
|
282
|
+
live under `.rudder/runs/`. If you quit Rudder, live workers become `paused`, keep
|
|
283
|
+
their workspace/session metadata, and stay listed when you reopen the repo.
|
|
275
284
|
|
|
276
285
|
- Press `m` to merge the selected completed agent back into its branch.
|
|
277
286
|
- Press `M` to merge all completed agents. Rudder confirms first.
|
|
@@ -300,6 +309,21 @@ rudder cleanup
|
|
|
300
309
|
`rudder stop` records a durable cancellation request and terminates the native PTY process
|
|
301
310
|
group. Cancellation is terminal: a resulting signal exit cannot be relabeled as a failure.
|
|
302
311
|
|
|
312
|
+
## Shipping and delivery evidence
|
|
313
|
+
|
|
314
|
+
Rudder treats these as different facts: an agent finished, changes merged locally,
|
|
315
|
+
a revision was pushed, and a product was deployed. A task that explicitly asks to
|
|
316
|
+
deploy, publish, release, install, or launch remains `delivery proof needed` until
|
|
317
|
+
its completion report records the target, delivery kind, verification time, and at
|
|
318
|
+
least one real smoke check. Verified web URLs, installed macOS app paths, provider
|
|
319
|
+
deployment ids, revisions, and versions are persisted in `.rudder/runs/<id>/run.json`
|
|
320
|
+
and shown in the native dashboard, web board, and generated `RUDDER.md`.
|
|
321
|
+
|
|
322
|
+
Pushing a commit is never presented as proof that a host deployed it. Likewise,
|
|
323
|
+
building a macOS app is not the same as replacing and launching the installed app.
|
|
324
|
+
If delivery fails or needs credentials/user input, the row says `delivery blocked`
|
|
325
|
+
instead of incorrectly moving to deployed.
|
|
326
|
+
|
|
303
327
|
## Review
|
|
304
328
|
|
|
305
329
|
Press `v` on an agent to toggle a review of its worktree, showing the run's diff.
|
|
@@ -376,6 +400,9 @@ rudder cleanup
|
|
|
376
400
|
- Stale behavior after an upgrade: restart any already-running Rudder dashboards
|
|
377
401
|
so no old `rudder-native` process lingers. New `rudder` launches auto-update
|
|
378
402
|
unless `RUDDER_DISABLE_AUTO_UPDATE=1` is set.
|
|
403
|
+
- Sustained CPU/redraw load: version 2.12.9 and newer cache Codex plan-output scans,
|
|
404
|
+
avoid reparsing unchanged planner JSON, throttle background PTY drains, and redraw
|
|
405
|
+
only dirty frames. Upgrade and restart any dashboard launched by 2.12.8 or older.
|
|
379
406
|
- Trackpad scrolling: confirm your terminal sends scroll events with
|
|
380
407
|
`rudder mouse-test parsed`. Set `RUDDER_WHEEL_SCROLL_ROWS=<n>` to change the
|
|
381
408
|
scroll step, or `RUDDER_MOUSE_DEBUG=1` to inspect routing.
|
package/dist/backends.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { randomUUID } from "node:crypto";
|
|
2
2
|
import { spawn } from "node:child_process";
|
|
3
|
-
import {
|
|
3
|
+
import { CODEX_RUDDER_WORKER_CONFIG_ARGS, codexLaunchEnv, ensureRudderCodexBinary } from "./codex-binary.js";
|
|
4
4
|
import { loadAuthStore, loadConfig, saveRunRecord } from "./state.js";
|
|
5
5
|
import { normalizeEffortForBackend } from "./effort.js";
|
|
6
6
|
import { commandExists, formatMissingToolMessage, isMissingToolSpawnError, isRecord, lineSplitBuffer, MissingToolError, nowIso, parseJsonLine, runCommand, stripRudderPromptWrappers, textFromAssistantMessage, } from "./util.js";
|
|
@@ -168,7 +168,7 @@ function codexBackend() {
|
|
|
168
168
|
"--dangerously-bypass-approvals-and-sandbox",
|
|
169
169
|
"--enable",
|
|
170
170
|
"goals",
|
|
171
|
-
...
|
|
171
|
+
...CODEX_RUDDER_WORKER_CONFIG_ARGS,
|
|
172
172
|
effort ? "-c" : undefined,
|
|
173
173
|
effort ? `model_reasoning_effort="${effort}"` : undefined,
|
|
174
174
|
sessionId,
|
|
@@ -184,7 +184,7 @@ function codexBackend() {
|
|
|
184
184
|
"--dangerously-bypass-approvals-and-sandbox",
|
|
185
185
|
"--enable",
|
|
186
186
|
"goals",
|
|
187
|
-
...
|
|
187
|
+
...CODEX_RUDDER_WORKER_CONFIG_ARGS,
|
|
188
188
|
effort ? "-c" : undefined,
|
|
189
189
|
effort ? `model_reasoning_effort="${effort}"` : undefined,
|
|
190
190
|
`${request.contract}\n\n${prompt}`,
|
package/dist/backends.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"backends.js","sourceRoot":"","sources":["../src/backends.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"backends.js","sourceRoot":"","sources":["../src/backends.ts"],"names":[],"mappings":"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"}
|
package/dist/board/board.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var Q,k,Te,ft,P,we,Ce,Re,oe,K,j,Me,ce,ae,ie,mt,J={},z=[],gt=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i,Z=Array.isArray;function $(e,t){for(var n in t)e[n]=t[n];return e}function de(e){e&&e.parentNode&&e.parentNode.removeChild(e)}function yt(e,t,n){var o,s,i,l={};for(i in t)i=="key"?o=t[i]:i=="ref"?s=t[i]:l[i]=t[i];if(arguments.length>2&&(l.children=arguments.length>3?Q.call(arguments,2):n),typeof e=="function"&&e.defaultProps!=null)for(i in e.defaultProps)l[i]===void 0&&(l[i]=e.defaultProps[i]);return Y(e,l,o,s,null)}function Y(e,t,n,o,s){var i={type:e,props:t,key:n,ref:o,__k:null,__:null,__b:0,__e:null,__c:null,constructor:void 0,__v:s??++Te,__i:-1,__u:0};return s==null&&k.vnode!=null&&k.vnode(i),i}function H(e){return e.children}function G(e,t){this.props=e,this.context=t}function B(e,t){if(t==null)return e.__?B(e.__,e.__i+1):null;for(var n;t<e.__k.length;t++)if((n=e.__k[t])!=null&&n.__e!=null)return n.__e;return typeof e.type=="function"?B(e):null}function vt(e){if(e.__P&&e.__d){var t=e.__v,n=t.__e,o=[],s=[],i=$({},t);i.__v=t.__v+1,k.vnode&&k.vnode(i),ue(e.__P,i,t,e.__n,e.__P.namespaceURI,32&t.__u?[n]:null,o,n??B(t),!!(32&t.__u),s),i.__v=t.__v,i.__.__k[i.__i]=i,Le(o,i,s),t.__e=t.__=null,i.__e!=n&&De(i)}}function De(e){if((e=e.__)!=null&&e.__c!=null)return e.__e=e.__c.base=null,e.__k.some(function(t){if(t!=null&&t.__e!=null)return e.__e=e.__c.base=t.__e}),De(e)}function Ee(e){(!e.__d&&(e.__d=!0)&&P.push(e)&&!X.__r++||we!=k.debounceRendering)&&((we=k.debounceRendering)||Ce)(X)}function X(){try{for(var e,t=1;P.length;)P.length>t&&P.sort(Re),e=P.shift(),t=P.length,vt(e)}finally{P.length=X.__r=0}}function Ae(e,t,n,o,s,i,l,u,d,c,p){var a,_,f,v,h,y,m,g=o&&o.__k||z,w=t.length;for(d=ht(n,t,g,d,w),a=0;a<w;a++)(f=n.__k[a])!=null&&(_=f.__i!=-1&&g[f.__i]||J,f.__i=a,y=ue(e,f,_,s,i,l,u,d,c,p),v=f.__e,f.ref&&_.ref!=f.ref&&(_.ref&&pe(_.ref,null,f),p.push(f.ref,f.__c||v,f)),h==null&&v!=null&&(h=v),(m=!!(4&f.__u))||_.__k===f.__k?(d=Ne(f,d,e,m),m&&_.__e&&(_.__e=null)):typeof f.type=="function"&&y!==void 0?d=y:v&&(d=v.nextSibling),f.__u&=-7);return n.__e=h,d}function ht(e,t,n,o,s){var i,l,u,d,c,p=n.length,a=p,_=0;for(e.__k=new Array(s),i=0;i<s;i++)(l=t[i])!=null&&typeof l!="boolean"&&typeof l!="function"?(typeof l=="string"||typeof l=="number"||typeof l=="bigint"||l.constructor==String?l=e.__k[i]=Y(null,l,null,null,null):Z(l)?l=e.__k[i]=Y(H,{children:l},null,null,null):l.constructor===void 0&&l.__b>0?l=e.__k[i]=Y(l.type,l.props,l.key,l.ref?l.ref:null,l.__v):e.__k[i]=l,d=i+_,l.__=e,l.__b=e.__b+1,u=null,(c=l.__i=bt(l,n,d,a))!=-1&&(a--,(u=n[c])&&(u.__u|=2)),u==null||u.__v==null?(c==-1&&(s>p?_--:s<p&&_++),typeof l.type!="function"&&(l.__u|=4)):c!=d&&(c==d-1?_--:c==d+1?_++:(c>d?_--:_++,l.__u|=4))):e.__k[i]=null;if(a)for(i=0;i<p;i++)(u=n[i])!=null&&!(2&u.__u)&&(u.__e==o&&(o=B(u)),Pe(u,u));return o}function Ne(e,t,n,o){var s,i;if(typeof e.type=="function"){for(s=e.__k,i=0;s&&i<s.length;i++)s[i]&&(s[i].__=e,t=Ne(s[i],t,n,o));return t}e.__e!=t&&(o&&(t&&e.type&&!t.parentNode&&(t=B(e)),n.insertBefore(e.__e,t||null)),t=e.__e);do t=t&&t.nextSibling;while(t!=null&&t.nodeType==8);return t}function bt(e,t,n,o){var s,i,l,u=e.key,d=e.type,c=t[n],p=c!=null&&(2&c.__u)==0;if(c===null&&u==null||p&&u==c.key&&d==c.type)return n;if(o>(p?1:0)){for(s=n-1,i=n+1;s>=0||i<t.length;)if((c=t[l=s>=0?s--:i++])!=null&&!(2&c.__u)&&u==c.key&&d==c.type)return l}return-1}function xe(e,t,n){t[0]=="-"?e.setProperty(t,n??""):e[t]=n==null?"":typeof n!="number"||gt.test(t)?n:n+"px"}function W(e,t,n,o,s){var i,l;e:if(t=="style")if(typeof n=="string")e.style.cssText=n;else{if(typeof o=="string"&&(e.style.cssText=o=""),o)for(t in o)n&&t in n||xe(e.style,t,"");if(n)for(t in n)o&&n[t]==o[t]||xe(e.style,t,n[t])}else if(t[0]=="o"&&t[1]=="n")i=t!=(t=t.replace(Me,"$1")),l=t.toLowerCase(),t=l in e||t=="onFocusOut"||t=="onFocusIn"?l.slice(2):t.slice(2),e.l||(e.l={}),e.l[t+i]=n,n?o?n[j]=o[j]:(n[j]=ce,e.addEventListener(t,i?ie:ae,i)):e.removeEventListener(t,i?ie:ae,i);else{if(s=="http://www.w3.org/2000/svg")t=t.replace(/xlink(H|:h)/,"h").replace(/sName$/,"s");else if(t!="width"&&t!="height"&&t!="href"&&t!="list"&&t!="form"&&t!="tabIndex"&&t!="download"&&t!="rowSpan"&&t!="colSpan"&&t!="role"&&t!="popover"&&t in e)try{e[t]=n??"";break e}catch{}typeof n=="function"||(n==null||n===!1&&t[4]!="-"?e.removeAttribute(t):e.setAttribute(t,t=="popover"&&n==1?"":n))}}function Se(e){return function(t){if(this.l){var n=this.l[t.type+e];if(t[K]==null)t[K]=ce++;else if(t[K]<n[j])return;return n(k.event?k.event(t):t)}}}function ue(e,t,n,o,s,i,l,u,d,c){var p,a,_,f,v,h,y,m,g,w,x,M,V,U,b,R=t.type;if(t.constructor!==void 0)return null;128&n.__u&&(d=!!(32&n.__u),i=[u=t.__e=n.__e]),(p=k.__b)&&p(t);e:if(typeof R=="function")try{if(m=t.props,g=R.prototype&&R.prototype.render,w=(p=R.contextType)&&o[p.__c],x=p?w?w.props.value:p.__:o,n.__c?y=(a=t.__c=n.__c).__=a.__E:(g?t.__c=a=new R(m,x):(t.__c=a=new G(m,x),a.constructor=R,a.render=wt),w&&w.sub(a),a.state||(a.state={}),a.__n=o,_=a.__d=!0,a.__h=[],a._sb=[]),g&&a.__s==null&&(a.__s=a.state),g&&R.getDerivedStateFromProps!=null&&(a.__s==a.state&&(a.__s=$({},a.__s)),$(a.__s,R.getDerivedStateFromProps(m,a.__s))),f=a.props,v=a.state,a.__v=t,_)g&&R.getDerivedStateFromProps==null&&a.componentWillMount!=null&&a.componentWillMount(),g&&a.componentDidMount!=null&&a.__h.push(a.componentDidMount);else{if(g&&R.getDerivedStateFromProps==null&&m!==f&&a.componentWillReceiveProps!=null&&a.componentWillReceiveProps(m,x),t.__v==n.__v||!a.__e&&a.shouldComponentUpdate!=null&&a.shouldComponentUpdate(m,a.__s,x)===!1){t.__v!=n.__v&&(a.props=m,a.state=a.__s,a.__d=!1),t.__e=n.__e,t.__k=n.__k,t.__k.some(function(D){D&&(D.__=t)}),z.push.apply(a.__h,a._sb),a._sb=[],a.__h.length&&l.push(a);break e}a.componentWillUpdate!=null&&a.componentWillUpdate(m,a.__s,x),g&&a.componentDidUpdate!=null&&a.__h.push(function(){a.componentDidUpdate(f,v,h)})}if(a.context=x,a.props=m,a.__P=e,a.__e=!1,M=k.__r,V=0,g)a.state=a.__s,a.__d=!1,M&&M(t),p=a.render(a.props,a.state,a.context),z.push.apply(a.__h,a._sb),a._sb=[];else do a.__d=!1,M&&M(t),p=a.render(a.props,a.state,a.context),a.state=a.__s;while(a.__d&&++V<25);a.state=a.__s,a.getChildContext!=null&&(o=$($({},o),a.getChildContext())),g&&!_&&a.getSnapshotBeforeUpdate!=null&&(h=a.getSnapshotBeforeUpdate(f,v)),U=p!=null&&p.type===H&&p.key==null?$e(p.props.children):p,u=Ae(e,Z(U)?U:[U],t,n,o,s,i,l,u,d,c),a.base=t.__e,t.__u&=-161,a.__h.length&&l.push(a),y&&(a.__E=a.__=null)}catch(D){if(t.__v=null,d||i!=null)if(D.then){for(t.__u|=d?160:128;u&&u.nodeType==8&&u.nextSibling;)u=u.nextSibling;i[i.indexOf(u)]=null,t.__e=u}else{for(b=i.length;b--;)de(i[b]);le(t)}else t.__e=n.__e,t.__k=n.__k,D.then||le(t);k.__e(D,t,n)}else i==null&&t.__v==n.__v?(t.__k=n.__k,t.__e=n.__e):u=t.__e=kt(n.__e,t,n,o,s,i,l,d,c);return(p=k.diffed)&&p(t),128&t.__u?void 0:u}function le(e){e&&(e.__c&&(e.__c.__e=!0),e.__k&&e.__k.some(le))}function Le(e,t,n){for(var o=0;o<n.length;o++)pe(n[o],n[++o],n[++o]);k.__c&&k.__c(t,e),e.some(function(s){try{e=s.__h,s.__h=[],e.some(function(i){i.call(s)})}catch(i){k.__e(i,s.__v)}})}function $e(e){return typeof e!="object"||e==null||e.__b>0?e:Z(e)?e.map($e):e.constructor!==void 0?null:$({},e)}function kt(e,t,n,o,s,i,l,u,d){var c,p,a,_,f,v,h,y=n.props||J,m=t.props,g=t.type;if(g=="svg"?s="http://www.w3.org/2000/svg":g=="math"?s="http://www.w3.org/1998/Math/MathML":s||(s="http://www.w3.org/1999/xhtml"),i!=null){for(c=0;c<i.length;c++)if((f=i[c])&&"setAttribute"in f==!!g&&(g?f.localName==g:f.nodeType==3)){e=f,i[c]=null;break}}if(e==null){if(g==null)return document.createTextNode(m);e=document.createElementNS(s,g,m.is&&m),u&&(k.__m&&k.__m(t,i),u=!1),i=null}if(g==null)y===m||u&&e.data==m||(e.data=m);else{if(i=g=="textarea"&&m.defaultValue!=null?null:i&&Q.call(e.childNodes),!u&&i!=null)for(y={},c=0;c<e.attributes.length;c++)y[(f=e.attributes[c]).name]=f.value;for(c in y)f=y[c],c=="dangerouslySetInnerHTML"?a=f:c=="children"||c in m||c=="value"&&"defaultValue"in m||c=="checked"&&"defaultChecked"in m||W(e,c,null,f,s);for(c in m)f=m[c],c=="children"?_=f:c=="dangerouslySetInnerHTML"?p=f:c=="value"?v=f:c=="checked"?h=f:u&&typeof f!="function"||y[c]===f||W(e,c,f,y[c],s);if(p)u||a&&(p.__html==a.__html||p.__html==e.innerHTML)||(e.innerHTML=p.__html),t.__k=[];else if(a&&(e.innerHTML=""),Ae(t.type=="template"?e.content:e,Z(_)?_:[_],t,n,o,g=="foreignObject"?"http://www.w3.org/1999/xhtml":s,i,l,i?i[0]:n.__k&&B(n,0),u,d),i!=null)for(c=i.length;c--;)de(i[c]);u&&g!="textarea"||(c="value",g=="progress"&&v==null?e.removeAttribute("value"):v!=null&&(v!==e[c]||g=="progress"&&!v||g=="option"&&v!=y[c])&&W(e,c,v,y[c],s),c="checked",h!=null&&h!=e[c]&&W(e,c,h,y[c],s))}return e}function pe(e,t,n){try{if(typeof e=="function"){var o=typeof e.__u=="function";o&&e.__u(),o&&t==null||(e.__u=e(t))}else e.current=t}catch(s){k.__e(s,n)}}function Pe(e,t,n){var o,s;if(k.unmount&&k.unmount(e),(o=e.ref)&&(o.current&&o.current!=e.__e||pe(o,null,t)),(o=e.__c)!=null){if(o.componentWillUnmount)try{o.componentWillUnmount()}catch(i){k.__e(i,t)}o.base=o.__P=null}if(o=e.__k)for(s=0;s<o.length;s++)o[s]&&Pe(o[s],t,n||typeof e.type!="function");n||de(e.__e),e.__c=e.__=e.__e=void 0}function wt(e,t,n){return this.constructor(e,n)}function Ie(e,t,n){var o,s,i,l;t==document&&(t=document.documentElement),k.__&&k.__(e,t),s=(o=typeof n=="function")?null:n&&n.__k||t.__k,i=[],l=[],ue(t,e=(!o&&n||t).__k=yt(H,null,[e]),s||J,J,t.namespaceURI,!o&&n?[n]:s?null:t.firstChild?Q.call(t.childNodes):null,i,!o&&n?n:s?s.__e:t.firstChild,o,l),Le(i,e,l)}Q=z.slice,k={__e:function(e,t,n,o){for(var s,i,l;t=t.__;)if((s=t.__c)&&!s.__)try{if((i=s.constructor)&&i.getDerivedStateFromError!=null&&(s.setState(i.getDerivedStateFromError(e)),l=s.__d),s.componentDidCatch!=null&&(s.componentDidCatch(e,o||{}),l=s.__d),l)return s.__E=s}catch(u){e=u}throw e}},Te=0,ft=function(e){return e!=null&&e.constructor===void 0},G.prototype.setState=function(e,t){var n;n=this.__s!=null&&this.__s!=this.state?this.__s:this.__s=$({},this.state),typeof e=="function"&&(e=e($({},n),this.props)),e&&$(n,e),e!=null&&this.__v&&(t&&this._sb.push(t),Ee(this))},G.prototype.forceUpdate=function(e){this.__v&&(this.__e=!0,e&&this.__h.push(e),Ee(this))},G.prototype.render=H,P=[],Ce=typeof Promise=="function"?Promise.prototype.then.bind(Promise.resolve()):setTimeout,Re=function(e,t){return e.__v.__b-t.__v.__b},X.__r=0,oe=Math.random().toString(8),K="__d"+oe,j="__a"+oe,Me=/(PointerCapture)$|Capture$/i,ce=0,ae=Se(!1),ie=Se(!0),mt=0;var F,S,_e,Ue,te=0,We=[],T=k,Oe=T.__b,Be=T.__r,He=T.diffed,qe=T.__c,je=T.unmount,Fe=T.__;function me(e,t){T.__h&&T.__h(S,e,te||t),te=0;var n=S.__H||(S.__H={__:[],__h:[]});return e>=n.__.length&&n.__.push({}),n.__[e]}function C(e){return te=1,ge(Ye,e)}function ge(e,t,n){var o=me(F++,2);if(o.t=e,!o.__c&&(o.__=[n?n(t):Ye(void 0,t),function(u){var d=o.__N?o.__N[0]:o.__[0],c=o.t(d,u);d!==c&&(o.__N=[c,o.__[1]],o.__c.setState({}))}],o.__c=S,!S.__f)){var s=function(u,d,c){if(!o.__c.__H)return!0;var p=o.__c.__H.__.filter(function(_){return _.__c});if(p.every(function(_){return!_.__N}))return!i||i.call(this,u,d,c);var a=o.__c.props!==u;return p.some(function(_){if(_.__N){var f=_.__[0];_.__=_.__N,_.__N=void 0,f!==_.__[0]&&(a=!0)}}),i&&i.call(this,u,d,c)||a};S.__f=!0;var i=S.shouldComponentUpdate,l=S.componentWillUpdate;S.componentWillUpdate=function(u,d,c){if(this.__e){var p=i;i=void 0,s(u,d,c),i=p}l&&l.call(this,u,d,c)},S.shouldComponentUpdate=s}return o.__N||o.__}function N(e,t){var n=me(F++,3);!T.__s&&Ke(n.__H,t)&&(n.__=e,n.u=t,S.__H.__h.push(n))}function A(e){return te=5,I(function(){return{current:e}},[])}function I(e,t){var n=me(F++,7);return Ke(n.__H,t)&&(n.__=e(),n.__H=t,n.__h=e),n.__}function Et(){for(var e;e=We.shift();){var t=e.__H;if(e.__P&&t)try{t.__h.some(ee),t.__h.some(fe),t.__h=[]}catch(n){t.__h=[],T.__e(n,e.__v)}}}T.__b=function(e){S=null,Oe&&Oe(e)},T.__=function(e,t){e&&t.__k&&t.__k.__m&&(e.__m=t.__k.__m),Fe&&Fe(e,t)},T.__r=function(e){Be&&Be(e),F=0;var t=(S=e.__c).__H;t&&(_e===S?(t.__h=[],S.__h=[],t.__.some(function(n){n.__N&&(n.__=n.__N),n.u=n.__N=void 0})):(t.__h.some(ee),t.__h.some(fe),t.__h=[],F=0)),_e=S},T.diffed=function(e){He&&He(e);var t=e.__c;t&&t.__H&&(t.__H.__h.length&&(We.push(t)!==1&&Ue===T.requestAnimationFrame||((Ue=T.requestAnimationFrame)||xt)(Et)),t.__H.__.some(function(n){n.u&&(n.__H=n.u),n.u=void 0})),_e=S=null},T.__c=function(e,t){t.some(function(n){try{n.__h.some(ee),n.__h=n.__h.filter(function(o){return!o.__||fe(o)})}catch(o){t.some(function(s){s.__h&&(s.__h=[])}),t=[],T.__e(o,n.__v)}}),qe&&qe(e,t)},T.unmount=function(e){je&&je(e);var t,n=e.__c;n&&n.__H&&(n.__H.__.some(function(o){try{ee(o)}catch(s){t=s}}),n.__H=void 0,t&&T.__e(t,n.__v))};var Ve=typeof requestAnimationFrame=="function";function xt(e){var t,n=function(){clearTimeout(o),Ve&&cancelAnimationFrame(t),setTimeout(e)},o=setTimeout(n,35);Ve&&(t=requestAnimationFrame(n))}function ee(e){var t=S,n=e.__c;typeof n=="function"&&(e.__c=void 0,n()),S=t}function fe(e){var t=S;e.__c=e.__(),S=t}function Ke(e,t){return!e||e.length!==t.length||t.some(function(n,o){return n!==e[o]})}function Ye(e,t){return typeof t=="function"?t(e):t}async function q(e){if(!e.ok){let t=await e.text().catch(()=>"");throw new Error(`${e.status} ${e.statusText}${t?`: ${t}`:""}`)}return e.json()}function ne(e){return{"x-rudder-token":typeof window<"u"&&window.__RUDDER_TOKEN__||"",...e??{}}}async function Ge(){return q(await fetch("/api/projects"))}async function Je(e){return q(await fetch(`/api/projects/${encodeURIComponent(e)}/state`))}async function ze(e,t,n=200){let o=await fetch(`/api/projects/${encodeURIComponent(e)}/tasks/${encodeURIComponent(t)}/log?tail=${n}`);if(!o.ok)throw new Error(`${o.status} ${o.statusText}`);return o.text()}async function Xe(e,t){let n=tt();return q(await nt(`/api/projects/${encodeURIComponent(e)}/tasks`,{method:"POST",headers:ne({"content-type":"application/json"}),body:JSON.stringify({prompt:t,requestId:n})}))}async function Qe(e,t){return q(await fetch(`/api/projects/${encodeURIComponent(e)}/tasks/${encodeURIComponent(t)}/merge`,{method:"POST",headers:ne()}))}async function Ze(e,t){let n=await fetch(`/api/projects/${encodeURIComponent(e)}/tasks/${encodeURIComponent(t)}/cancel`,{method:"POST",headers:ne()});if(!n.ok)throw new Error(`${n.status} ${n.statusText}`)}async function et(e,t,n){let o=tt(),s=t==="conductor"?`/api/projects/${encodeURIComponent(e)}/steer`:`/api/projects/${encodeURIComponent(e)}/tasks/${encodeURIComponent(t)}/steer`;return q(await nt(s,{method:"POST",headers:ne({"content-type":"application/json"}),body:JSON.stringify({instruction:n,requestId:o})}))}function tt(){return globalThis.crypto?.randomUUID?.()??`${Date.now().toString(36)}-${Math.random().toString(36).slice(2)}-${Math.random().toString(36).slice(2)}`}async function nt(e,t){try{return await fetch(e,t)}catch{return await new Promise(n=>setTimeout(n,150)),fetch(e,t)}}async function ye(e,t){return q(await fetch(`/api/projects/${encodeURIComponent(e)}/steer-receipts/${encodeURIComponent(t)}`))}function rt(e){return`/api/projects/${encodeURIComponent(e)}/events`}function St(){return{nodes:new Map,edges:[],gates:[],memory:[],activity:[],loaded:!1}}function Tt(e,t){switch(t.type){case"SNAPSHOT":{let n=new Map;for(let o of t.snapshot.nodes)n.set(o.id,o);return{nodes:n,edges:t.snapshot.edges??[],gates:t.snapshot.gates??[],memory:t.snapshot.memory??[],activity:t.snapshot.activity??[],loaded:!0}}case"NODE_UPSERT":{let n=new Map(e.nodes);return n.set(t.node.id,t.node),{...e,nodes:n}}case"NODE_REMOVE":{if(!e.nodes.has(t.id))return e;let n=new Map(e.nodes);return n.delete(t.id),{...e,nodes:n}}case"EDGE_UPSERT":{let n=e.edges.filter(o=>!(o.from===t.edge.from&&o.to===t.edge.to&&o.kind===t.edge.kind));return n.push(t.edge),{...e,edges:n}}case"EDGE_REMOVE":return{...e,edges:e.edges.filter(n=>!(n.from===t.from&&n.to===t.to))};case"MEMORY":return{...e,memory:t.memory};case"ACTIVITY":return{...e,activity:t.activity};default:return e}}function st(e){let[t,n]=ge(Tt,void 0,St),[o,s]=C("connecting"),[i,l]=C(""),u=A(!1);return N(()=>{let d=!1;u.current=!1;async function c(){try{let a=await Je(e);if(d)return;l(a.name||e),n({type:"SNAPSHOT",snapshot:a})}catch{}}c();let p=new EventSource(rt(e));return p.addEventListener("open",()=>{d||(u.current&&c(),u.current=!0,s("live"))}),p.addEventListener("snapshot",a=>{if(!d)try{let _=JSON.parse(a.data);l(_.name||e),n({type:"SNAPSHOT",snapshot:_})}catch{}}),p.addEventListener("node.added",a=>{if(!d)try{n({type:"NODE_UPSERT",node:JSON.parse(a.data)})}catch{}}),p.addEventListener("node.updated",a=>{if(!d)try{n({type:"NODE_UPSERT",node:JSON.parse(a.data)})}catch{}}),p.addEventListener("node.removed",a=>{if(!d)try{let _=JSON.parse(a.data),f=typeof _=="string"?_:_.id;f&&n({type:"NODE_REMOVE",id:f})}catch{}}),p.addEventListener("edge.added",a=>{if(!d)try{n({type:"EDGE_UPSERT",edge:JSON.parse(a.data)})}catch{}}),p.addEventListener("edge.removed",a=>{if(!d)try{let _=JSON.parse(a.data);_?.from&&_?.to&&n({type:"EDGE_REMOVE",from:_.from,to:_.to})}catch{}}),p.addEventListener("memory.updated",a=>{if(!d)try{let _=JSON.parse(a.data),f=Array.isArray(_)?_:_.memory??[];n({type:"MEMORY",memory:f})}catch{}}),p.addEventListener("activity.updated",a=>{if(!d)try{let _=JSON.parse(a.data),f=Array.isArray(_)?_:_.activity??[];n({type:"ACTIVITY",activity:f})}catch{}}),p.addEventListener("error",()=>{d||s(u.current?"reconnecting":"connecting")}),()=>{d=!0,p.close()}},[e]),{state:t,conn:o,name:i}}var Ct=0,tn=Array.isArray;function r(e,t,n,o,s,i){t||(t={});var l,u,d=t;if("ref"in d)for(u in d={},t)u=="ref"?l=t[u]:d[u]=t[u];var c={type:e,props:d,key:n,ref:l,__k:null,__:null,__b:0,__e:null,__c:null,constructor:void 0,__v:--Ct,__i:-1,__u:0,__source:s,__self:i};if(typeof e=="function"&&(l=e.defaultProps))for(u in l)d[u]===void 0&&(d[u]=l[u]);return k.vnode&&k.vnode(c),c}var at=[{key:"todo",label:"Todo"},{key:"running",label:"Running"},{key:"review",label:"Review"},{key:"done",label:"Done"}];function he(e){if(e.merge&&e.merge.status==="merge-conflict")return"conflict";if(e.blocked)return"blocked";switch(e.status){case"running":case"steering":case"verifying":case"created":return"running";case"completed":return"review";case"merged":return"done";case"failed":return"failed";case"cancelled":return"failed";case"merge-conflict":return"conflict";default:return e.column}}function re(e){return e.merge&&e.merge.status==="merge-conflict"?"conflict":e.blocked?"blocked":e.status||e.column}function it(e){return["running","steering","verifying","created"].includes(e.status)}function se(e){return e>=1e3?`${(e/1e3).toFixed(e>=1e4?0:1)}k`:String(e)}function lt(){let[e,t]=C(null),[n,o]=C(null);return N(()=>{let s=!1;return Ge().then(i=>{s||t(i.projects??[])}).catch(i=>{s||o(String(i?.message??i))}),()=>{s=!0}},[]),r("div",{class:"page",children:[r("header",{class:"topbar",children:r("div",{class:"brand",children:[r("span",{class:"brand-mark",children:"\u25B0"}),r("span",{class:"brand-name",children:"Rudder"}),r("span",{class:"brand-sub mono",children:"board"})]})}),r("main",{class:"index-main",children:[r("h1",{class:"index-title",children:"Projects"}),r("p",{class:"index-lede",children:"Local agent runs, projected live. Pick a repo."}),n&&r("div",{class:"banner banner-error mono",children:["failed to load projects: ",n]}),e===null&&!n&&r("div",{class:"tile-grid",children:[r(ve,{}),r(ve,{}),r(ve,{})]}),e!==null&&e.length===0&&r("div",{class:"empty",children:[r("div",{class:"empty-title",children:"no projects yet"}),r("div",{class:"empty-sub mono",children:"start a run in any repo and it registers here"})]}),e!==null&&e.length>0&&r("div",{class:"tile-grid",children:e.map(s=>r(Rt,{project:s},s.slug))})]})]})}function Rt({project:e}){let t=e.counts,n=()=>{window.location.href=`/rudder/${encodeURIComponent(e.slug)}`},o=[{token:"running",label:"running",n:t.running},{token:"review",label:"review",n:t.review},{token:"todo",label:"todo",n:t.todo},{token:"done",label:"done",n:t.done},{token:"blocked",label:"blocked",n:t.blocked},{token:"failed",label:"failed",n:t.failed}];return r("button",{class:"tile",onClick:n,type:"button",children:[r("div",{class:"tile-head",children:r("span",{class:"tile-name",children:e.name})}),r("div",{class:"tile-path mono",children:e.repoRoot}),r("div",{class:"tile-counts",children:o.map(s=>r("span",{class:`count count-${s.token}`,"data-zero":s.n===0,children:[r("span",{class:"count-n mono",children:s.n}),r("span",{class:"count-label",children:s.label})]},s.label))})]})}function ve(){return r("div",{class:"tile tile-skeleton","aria-hidden":"true",children:[r("div",{class:"skel skel-line",style:"width: 52%"}),r("div",{class:"skel skel-line",style:"width: 78%"}),r("div",{class:"skel skel-row"})]})}var ct="rudder.board.view";function Mt(){try{let e=localStorage.getItem(ct);if(e==="board"||e==="nest"||e==="activity"||e==="memory")return e}catch{}return"board"}function dt({slug:e}){let{state:t,conn:n,name:o}=st(e),[s,i]=C(Mt),[l,u]=C(null),d=A(null),c=window.__RUDDER_CONTROL_MODE__??"projector",p=window.__RUDDER_CAN_MUTATE__!==!1,a=h=>{i(h);try{localStorage.setItem(ct,h)}catch{}},_=I(()=>Array.from(t.nodes.values()),[t.nodes]),f=l?t.nodes.get(l)??null:null,v=(h,y)=>{d.current=y,u(h)};return r("div",{class:"page board-page",children:[r(Dt,{slug:e,name:o||e,conn:n,view:s,onView:a,memoryCount:t.memory.length,latestActivity:t.activity.length?t.activity[t.activity.length-1]:null,canMutate:p}),r("main",{class:"board-main",children:!t.loaded&&n!=="reconnecting"?r(Wt,{}):s==="board"?r(Lt,{nodes:_,onOpen:v,selected:l}):s==="nest"?r(Ot,{nodes:_,edges:t.edges,onOpen:v,selected:l}):s==="activity"?r(Ft,{slug:e,activity:t.activity,canSteerConductor:p&&c==="projector"}):r(Vt,{memory:t.memory})}),f&&r(Bt,{slug:e,node:f,onClose:()=>u(null),returnFocus:d.current,canMutate:p})]})}function Dt({slug:e,name:t,conn:n,view:o,onView:s,memoryCount:i,latestActivity:l,canMutate:u}){let[d,c]=C(!1);return r("header",{class:"topbar board-topbar",children:[r("div",{class:"brand",children:[r("a",{class:"brand-link",href:"/rudder",title:"Back to all projects",children:[r("span",{class:"brand-mark",children:"\u25B0"}),r("span",{class:"brand-back",children:"\u2190 all projects"})]}),r("span",{class:"brand-name",children:t}),r(At,{conn:n}),l&&o!=="activity"&&r("button",{type:"button",class:"activity-ticker mono",title:"Latest activity \u2014 click for the full feed",onClick:()=>s("activity"),children:[r("span",{class:"pulse-dot","aria-hidden":"true"}),r("span",{class:"activity-ticker-text",children:l.text})]})]}),r("div",{class:"toolbar-actions",children:[r("div",{class:"view-toggle",role:"group","aria-label":"View",children:[r("button",{type:"button","aria-pressed":o==="board",class:`toggle ${o==="board"?"toggle-on":""}`,onClick:()=>s("board"),children:"Board"}),r("button",{type:"button","aria-pressed":o==="nest",class:`toggle ${o==="nest"?"toggle-on":""}`,onClick:()=>s("nest"),title:"Nest / DAG view",children:"Nest"}),r("button",{type:"button","aria-pressed":o==="activity",class:`toggle ${o==="activity"?"toggle-on":""}`,onClick:()=>s("activity"),title:"Live activity feed",children:"Activity"}),r("button",{type:"button","aria-pressed":o==="memory",class:`toggle ${o==="memory"?"toggle-on":""}`,onClick:()=>s("memory"),children:["Memory",i>0&&r("span",{class:"toggle-badge mono",children:i})]})]}),u?r("button",{type:"button",class:"btn btn-accent",onClick:()=>c(!0),children:"+ Task"}):r("span",{class:"readonly-pill mono",title:"Open this project's own Rudder board to make changes",children:"read-only"})]}),d&&r(Nt,{slug:e,onClose:()=>c(!1)})]})}function At({conn:e}){if(e==="live")return r("span",{class:"conn conn-live",title:"Live",children:[r("span",{class:"conn-dot"}),r("span",{class:"conn-label mono",children:"live"})]});let t=e==="connecting"?"connecting":"reconnecting";return r("span",{class:"conn conn-warn",title:t,children:[r("span",{class:"conn-dot conn-dot-pulse"}),r("span",{class:"conn-label mono",children:t})]})}function Nt({slug:e,onClose:t}){let[n,o]=C(""),[s,i]=C(!1),[l,u]=C(null),[d,c]=C(null),p=A(null),a=A(null),_=A(!1),f=A(t);f.current=t,_.current=s,N(()=>{let y=document.activeElement;p.current?.focus();let m=g=>{if(g.key==="Escape"){g.preventDefault(),_.current||f.current();return}if(g.key!=="Tab"||!a.current)return;let w=Array.from(a.current.querySelectorAll('button:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex="-1"])')),x=w[0],M=w[w.length-1];x&&M&&g.shiftKey&&document.activeElement===x?(g.preventDefault(),M.focus()):x&&M&&!g.shiftKey&&document.activeElement===M&&(g.preventDefault(),x.focus())};return window.addEventListener("keydown",m),()=>{window.removeEventListener("keydown",m),y?.focus()}},[]),N(()=>{if(d?.state!=="queued"||!d.requestId)return;let y=!1,m,g=async()=>{try{let w=await ye(e,d.requestId);if(y)return;if(w.status==="delivered"){c({requestId:w.requestId,state:"delivered",message:"Delivered to the native conductor"});return}if(w.status==="failed"){c(null),u(w.error||"The native conductor could not accept the task");return}}catch{}y||(m=window.setTimeout(g,500))};return m=window.setTimeout(g,250),()=>{y=!0,m!==void 0&&window.clearTimeout(m)}},[e,d?.state,d?.requestId]);let v=async()=>{let y=n.trim();if(!(!y||s)){i(!0),u(null),c(null);try{let m=await Xe(e,y);if(m.status==="queued"){o(""),c({requestId:m.requestId,state:"queued",message:"Queued for the native conductor"}),i(!1);return}if(m.status==="failed")throw new Error("The task could not be delivered to the conductor");t()}catch(m){u(String(m?.message??m)),i(!1)}}};return r("div",{class:"overlay",onClick:()=>{s||t()},children:r("form",{ref:a,class:"composer",onClick:y=>y.stopPropagation(),onSubmit:y=>{y.preventDefault(),v()},role:"dialog","aria-modal":"true","aria-labelledby":"new-task-title","aria-busy":s,children:[r("div",{class:"composer-head",children:[r("span",{class:"composer-title",id:"new-task-title",children:"New task"}),r("span",{class:"composer-hint mono",id:"new-task-hint",children:"\u2318/Ctrl + Enter to run \xB7 Esc to close"})]}),r("label",{class:"sr-only",for:"new-task-prompt",children:"Task description"}),r("textarea",{ref:p,id:"new-task-prompt",class:"composer-input mono",rows:5,placeholder:"Describe the task. The agent decomposes and schedules it.",value:n,"aria-describedby":"new-task-hint",onInput:y=>o(y.target.value),onKeyDown:y=>{(y.metaKey||y.ctrlKey)&&y.key==="Enter"&&(y.preventDefault(),v())},readOnly:s}),l&&r("div",{class:"banner banner-error mono",role:"alert",children:l}),d&&r("div",{class:"banner mono",role:"status",children:d.message}),r("div",{class:"composer-actions",children:[r("button",{type:"button",class:"btn",onClick:t,disabled:s,children:d?"Close":"Cancel"}),r("button",{type:"submit",class:"btn btn-accent",disabled:s||!n.trim(),children:s?"Running\u2026":"Run task"})]})]})})}function Lt({nodes:e,onOpen:t,selected:n}){let o=I(()=>{let s={todo:[],running:[],review:[],done:[]};for(let i of e)(s[i.column]??s.todo).push(i);for(let i of Object.keys(s))s[i].sort((l,u)=>l.updatedAt<u.updatedAt?1:-1);return s},[e]);return r("div",{class:"board",children:at.map(s=>{let i=o[s.key];return r("section",{class:"column","data-column":s.key,children:[r("header",{class:"column-head",children:[r("span",{class:"column-title",children:s.label}),r("span",{class:"column-count mono",children:i.length})]}),r("div",{class:"column-body",children:i.length===0?r("div",{class:"column-empty mono",children:"empty"}):i.map(l=>r($t,{node:l,onOpen:t,selected:n===l.id},l.id))})]},s.key)})})}function $t({node:e,onOpen:t,selected:n}){let o=he(e),s=it(e),i=e.deps.hard.length+e.deps.soft.length;return r("article",{class:`card ${n?"card-selected":""}`,"data-status":o,"data-task-id":e.id,tabIndex:0,role:"button","aria-haspopup":"dialog","aria-expanded":n,onClick:l=>t(e.id,l.currentTarget),onKeyDown:l=>{(l.key==="Enter"||l.key===" ")&&(l.preventDefault(),t(e.id,l.currentTarget))},children:[r("div",{class:"card-spine","data-status":o}),r("div",{class:"card-body",children:[r("div",{class:"card-top",children:[r("span",{class:"card-status mono","data-status":o,children:re(e)}),e.blocked&&r("span",{class:"flag flag-blocked mono",children:"blocked"})]}),r("h3",{class:"card-title",children:e.title}),r("div",{class:"card-meta mono",children:[r("span",{class:"card-backend",children:e.backend}),e.model&&r("span",{class:"card-model",children:e.model}),e.effort&&r("span",{class:"card-effort",children:e.effort})]}),e.lastLine&&r("div",{class:"card-lastline mono",children:[s&&r("span",{class:"pulse-dot","aria-hidden":"true"}),r("span",{class:"lastline-text",children:e.lastLine})]}),r("div",{class:"card-foot",children:[e.tokens&&r("span",{class:"tokens mono",title:"input / output tokens",children:[r("span",{class:"tok-in",children:["\u2193",se(e.tokens.input)]}),r("span",{class:"tok-out",children:["\u2191",se(e.tokens.output)]})]}),i>0&&r("span",{class:"dep-badge mono",title:"upstream dependencies",children:[e.deps.hard.length>0&&r("span",{class:"dep dep-hard",title:`${e.deps.hard.length} hard dependency(ies)`,children:["\u2191",e.deps.hard.length," hard"]}),e.deps.soft.length>0&&r("span",{class:"dep dep-soft",title:`${e.deps.soft.length} soft dependency(ies)`,children:["\u2191",e.deps.soft.length," soft"]})]})]})]})]})}var E={boxW:220,boxH:64,gapX:96,gapY:26,padX:40,padY:40,spineW:5};function Pt(e,t){let n=new Map;for(let l of e)n.set(l.id,l.deps.hard.filter(u=>t.has(u)&&u!==l.id));let o=new Map,s=new Set,i=l=>{let u=o.get(l);if(u!==void 0)return u;if(s.has(l))return 0;s.add(l);let d=n.get(l)??[],c=-1;for(let a of d)c=Math.max(c,i(a));s.delete(l);let p=c+1;return o.set(l,p),p};for(let l of e)i(l.id);return o}function It(e){let t=new Set(e.map(p=>p.id)),n=Pt(e,t),o=new Map;for(let p of e){let a=n.get(p.id)??0,_=o.get(a);_?_.push(p):o.set(a,[p])}let s=new Map,i=Array.from(o.keys()).sort((p,a)=>p-a),l=0;for(let p of i){let a=o.get(p);a.sort((v,h)=>v.createdAt!==h.createdAt?v.createdAt<h.createdAt?-1:1:v.id<h.id?-1:1);let _=E.padX+p*(E.boxW+E.gapX),f=E.padY;for(let v of a)s.set(v.id,{x:_,y:f}),f+=E.boxH+E.gapY;l=Math.max(l,f-E.gapY)}let u=i.length?i[i.length-1]:0,d=E.padX*2+(u+1)*E.boxW+u*E.gapX,c=Math.max(l+E.padY,E.padY*2+E.boxH);return{pos:s,width:d,height:c}}function Ut(e,t){return e.length<=t?e:`${e.slice(0,Math.max(0,t-1)).trimEnd()}\u2026`}function Ot({nodes:e,edges:t,onOpen:n,selected:o}){let s=I(()=>It(e),[e]),i=I(()=>new Set(e.map(d=>d.id)),[e]);if(e.length===0)return r("div",{class:"empty",children:[r("div",{class:"empty-title",children:"no tasks in the graph yet"}),r("div",{class:"empty-sub mono",children:"the dependency DAG renders here once tasks exist"})]});let l=t.filter(d=>i.has(d.from)&&i.has(d.to)),u=d=>{let c=s.pos.get(d.from),p=s.pos.get(d.to);if(!c||!p)return null;let a=c.x+E.boxW,_=c.y+E.boxH/2,f=p.x,v=p.y+E.boxH/2,h=Math.max(28,(f-a)/2);return`M ${a} ${_} C ${a+h} ${_}, ${f-h} ${v}, ${f} ${v}`};return r("div",{class:"nest",children:r("svg",{class:"nest-svg",width:s.width,height:s.height,viewBox:`0 0 ${s.width} ${s.height}`,role:"group","aria-label":"Task dependency graph",children:[r("defs",{children:[r("marker",{id:"arrow",viewBox:"0 0 10 10",refX:"9",refY:"5",markerWidth:"7",markerHeight:"7",orient:"auto-start-reverse",children:r("path",{d:"M 0 0 L 10 5 L 0 10 z",class:"arrow-head"})}),r("marker",{id:"arrow-soft",viewBox:"0 0 10 10",refX:"9",refY:"5",markerWidth:"6",markerHeight:"6",orient:"auto-start-reverse",children:r("path",{d:"M 0 0 L 10 5 L 0 10 z",class:"arrow-head-soft"})})]}),r("g",{class:"nest-edges",children:l.map((d,c)=>{let p=u(d);return p?r("path",{d:p,fill:"none",class:d.kind==="hard"?"edge edge-hard":"edge edge-soft"},`${d.from}->${d.to}:${d.kind}:${c}`):null})}),r("g",{class:"nest-nodes",children:e.map(d=>{let c=s.pos.get(d.id);if(!c)return null;let p=he(d),a=o===d.id,_=f=>n(d.id,f);return r("g",{class:`node ${a?"node-selected":""}`,"data-status":p,"data-task-id":d.id,transform:`translate(${c.x} ${c.y})`,tabIndex:0,role:"button","aria-label":`${re(d)}: ${d.title}`,"aria-haspopup":"dialog","aria-expanded":a,onClick:f=>_(f.currentTarget),onKeyDown:f=>{(f.key==="Enter"||f.key===" ")&&(f.preventDefault(),_(f.currentTarget))},children:[r("rect",{class:"node-box",x:"0",y:"0",width:E.boxW,height:E.boxH}),r("rect",{class:"node-spine",x:"0",y:"0",width:E.spineW,height:E.boxH}),r("text",{class:"node-status mono",x:E.spineW+12,y:"22",children:re(d)}),r("text",{class:"node-title",x:E.spineW+12,y:"44",children:Ut(d.title,30)})]},d.id)})})]})})}function Bt({slug:e,node:t,onClose:n,returnFocus:o,canMutate:s}){let[i,l]=C(null),[u,d]=C(null),[c,p]=C({busy:!1,msg:null,err:null}),a=A(null),_=A(n);_.current=n;let f=he(t),v=it(t),h=t.status==="completed"||t.status==="review",y=h||t.column==="review",m=v||h,g=h&&!v,w=t.runId??t.id,x=`task-update-${t.id.replace(/[^A-Za-z0-9_-]/g,"-")}`;N(()=>{let b=o??document.activeElement,R=window.requestAnimationFrame(()=>{(a.current?.querySelector("[data-autofocus]")??a.current)?.focus()}),D=L=>{if(L.key==="Escape"){L.preventDefault(),_.current();return}if(L.key!=="Tab"||!a.current)return;let O=Array.from(a.current.querySelectorAll('a[href], button:not([disabled]), textarea:not([disabled]), input:not([disabled]), [tabindex]:not([tabindex="-1"])'));if(O.length===0){L.preventDefault(),a.current.focus();return}let be=O[0],ke=O[O.length-1];L.shiftKey&&document.activeElement===be?(L.preventDefault(),ke.focus()):!L.shiftKey&&document.activeElement===ke&&(L.preventDefault(),be.focus())};return window.addEventListener("keydown",D),()=>{window.cancelAnimationFrame(R),window.removeEventListener("keydown",D),b?.isConnected?b.focus():Array.from(document.querySelectorAll("[data-task-id]")).find(O=>O.getAttribute("data-task-id")===t.id)?.focus()}},[t.id]),N(()=>{let b=!1;return l(null),d(null),ze(e,w,200).then(R=>{b||l(R)}).catch(R=>{b||d(String(R?.message??R))}),()=>{b=!0}},[e,w]);let M=I(()=>{let b=i??"";return!t.lastLine||b.trimEnd().endsWith(t.lastLine.trimEnd())?b:b?`${b}
|
|
2
|
-
${t.lastLine}`:t.lastLine},[i,t.lastLine]),V=async()=>{p({busy:!0,msg:null,err:null});try{let b=await Qe(e,w);if(b.status==="merge-conflict"||b.status==="conflict"||b.status==="blocked"){let D=b.conflictedFiles?.length??0;p({busy:!1,msg:null,err:D?`conflict in ${D} file(s)`:"merge conflict"})}else p({busy:!1,msg:b.status,err:null})}catch(b){p({busy:!1,msg:null,err:String(b?.message??b)})}},U=async()=>{p({busy:!0,msg:null,err:null});try{await Ze(e,w),p({busy:!1,msg:"cancel requested",err:null})}catch(b){p({busy:!1,msg:null,err:String(b?.message??b)})}};return r("div",{class:"drawer-overlay",onClick:n,children:r("aside",{ref:a,class:"drawer",onClick:b=>b.stopPropagation(),"data-status":f,role:"dialog","aria-modal":"true","aria-labelledby":"task-detail-title",tabIndex:-1,children:[r("div",{class:"drawer-spine","data-status":f}),r("header",{class:"drawer-head",children:[r("div",{class:"drawer-head-top",children:[r("span",{class:"card-status mono","data-status":f,children:re(t)}),r("button",{type:"button",class:"drawer-close",onClick:n,"aria-label":"Close",children:"\u2715"})]}),r("h2",{class:"drawer-title",id:"task-detail-title",children:t.title}),r("div",{class:"drawer-meta mono",children:[r("span",{children:t.backend}),t.model&&r("span",{children:t.model}),t.effort&&r("span",{children:t.effort}),t.tokens&&r("span",{children:["\u2193",se(t.tokens.input)," \u2191",se(t.tokens.output)]})]}),t.worktree&&r("div",{class:"drawer-worktree mono",title:t.worktree.path,children:t.worktree.workspaceName??t.worktree.path})]}),s&&r("div",{class:"drawer-actions",children:[y&&r("button",{type:"button",class:"btn btn-accent",onClick:V,disabled:c.busy,children:c.busy?"Merging\u2026":"Merge"}),g&&r("button",{type:"button",class:"btn",onClick:()=>document.getElementById(x)?.focus(),disabled:c.busy,children:"Request changes"}),v&&r("button",{type:"button",class:"btn btn-danger",onClick:U,disabled:c.busy,children:c.busy?"Stopping\u2026":"Stop"}),c.msg&&r("span",{class:"action-msg","aria-live":"polite",children:c.msg}),c.err&&r("span",{class:"action-err",role:"alert",children:c.err})]}),r("div",{class:"drawer-scroll",children:[r(Ht,{updates:t.updates??[],lastLine:t.lastLine}),r("div",{class:"drawer-log",children:[r("div",{class:"drawer-log-head mono",children:[r("span",{children:"Worker log"}),v&&r("span",{class:"pulse-dot","aria-hidden":"true"})]}),r(
|
|
1
|
+
var Q,k,Te,mt,P,we,Ce,Re,oe,K,j,Me,ce,ae,ie,gt,J={},z=[],yt=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i,Z=Array.isArray;function $(e,t){for(var n in t)e[n]=t[n];return e}function de(e){e&&e.parentNode&&e.parentNode.removeChild(e)}function vt(e,t,n){var o,s,i,l={};for(i in t)i=="key"?o=t[i]:i=="ref"?s=t[i]:l[i]=t[i];if(arguments.length>2&&(l.children=arguments.length>3?Q.call(arguments,2):n),typeof e=="function"&&e.defaultProps!=null)for(i in e.defaultProps)l[i]===void 0&&(l[i]=e.defaultProps[i]);return Y(e,l,o,s,null)}function Y(e,t,n,o,s){var i={type:e,props:t,key:n,ref:o,__k:null,__:null,__b:0,__e:null,__c:null,constructor:void 0,__v:s??++Te,__i:-1,__u:0};return s==null&&k.vnode!=null&&k.vnode(i),i}function q(e){return e.children}function G(e,t){this.props=e,this.context=t}function B(e,t){if(t==null)return e.__?B(e.__,e.__i+1):null;for(var n;t<e.__k.length;t++)if((n=e.__k[t])!=null&&n.__e!=null)return n.__e;return typeof e.type=="function"?B(e):null}function ht(e){if(e.__P&&e.__d){var t=e.__v,n=t.__e,o=[],s=[],i=$({},t);i.__v=t.__v+1,k.vnode&&k.vnode(i),ue(e.__P,i,t,e.__n,e.__P.namespaceURI,32&t.__u?[n]:null,o,n??B(t),!!(32&t.__u),s),i.__v=t.__v,i.__.__k[i.__i]=i,Le(o,i,s),t.__e=t.__=null,i.__e!=n&&De(i)}}function De(e){if((e=e.__)!=null&&e.__c!=null)return e.__e=e.__c.base=null,e.__k.some(function(t){if(t!=null&&t.__e!=null)return e.__e=e.__c.base=t.__e}),De(e)}function Ee(e){(!e.__d&&(e.__d=!0)&&P.push(e)&&!X.__r++||we!=k.debounceRendering)&&((we=k.debounceRendering)||Ce)(X)}function X(){try{for(var e,t=1;P.length;)P.length>t&&P.sort(Re),e=P.shift(),t=P.length,ht(e)}finally{P.length=X.__r=0}}function Ae(e,t,n,o,s,i,l,u,d,c,p){var a,_,f,v,h,y,m,g=o&&o.__k||z,w=t.length;for(d=bt(n,t,g,d,w),a=0;a<w;a++)(f=n.__k[a])!=null&&(_=f.__i!=-1&&g[f.__i]||J,f.__i=a,y=ue(e,f,_,s,i,l,u,d,c,p),v=f.__e,f.ref&&_.ref!=f.ref&&(_.ref&&pe(_.ref,null,f),p.push(f.ref,f.__c||v,f)),h==null&&v!=null&&(h=v),(m=!!(4&f.__u))||_.__k===f.__k?(d=Ne(f,d,e,m),m&&_.__e&&(_.__e=null)):typeof f.type=="function"&&y!==void 0?d=y:v&&(d=v.nextSibling),f.__u&=-7);return n.__e=h,d}function bt(e,t,n,o,s){var i,l,u,d,c,p=n.length,a=p,_=0;for(e.__k=new Array(s),i=0;i<s;i++)(l=t[i])!=null&&typeof l!="boolean"&&typeof l!="function"?(typeof l=="string"||typeof l=="number"||typeof l=="bigint"||l.constructor==String?l=e.__k[i]=Y(null,l,null,null,null):Z(l)?l=e.__k[i]=Y(q,{children:l},null,null,null):l.constructor===void 0&&l.__b>0?l=e.__k[i]=Y(l.type,l.props,l.key,l.ref?l.ref:null,l.__v):e.__k[i]=l,d=i+_,l.__=e,l.__b=e.__b+1,u=null,(c=l.__i=kt(l,n,d,a))!=-1&&(a--,(u=n[c])&&(u.__u|=2)),u==null||u.__v==null?(c==-1&&(s>p?_--:s<p&&_++),typeof l.type!="function"&&(l.__u|=4)):c!=d&&(c==d-1?_--:c==d+1?_++:(c>d?_--:_++,l.__u|=4))):e.__k[i]=null;if(a)for(i=0;i<p;i++)(u=n[i])!=null&&!(2&u.__u)&&(u.__e==o&&(o=B(u)),Pe(u,u));return o}function Ne(e,t,n,o){var s,i;if(typeof e.type=="function"){for(s=e.__k,i=0;s&&i<s.length;i++)s[i]&&(s[i].__=e,t=Ne(s[i],t,n,o));return t}e.__e!=t&&(o&&(t&&e.type&&!t.parentNode&&(t=B(e)),n.insertBefore(e.__e,t||null)),t=e.__e);do t=t&&t.nextSibling;while(t!=null&&t.nodeType==8);return t}function kt(e,t,n,o){var s,i,l,u=e.key,d=e.type,c=t[n],p=c!=null&&(2&c.__u)==0;if(c===null&&u==null||p&&u==c.key&&d==c.type)return n;if(o>(p?1:0)){for(s=n-1,i=n+1;s>=0||i<t.length;)if((c=t[l=s>=0?s--:i++])!=null&&!(2&c.__u)&&u==c.key&&d==c.type)return l}return-1}function xe(e,t,n){t[0]=="-"?e.setProperty(t,n??""):e[t]=n==null?"":typeof n!="number"||yt.test(t)?n:n+"px"}function W(e,t,n,o,s){var i,l;e:if(t=="style")if(typeof n=="string")e.style.cssText=n;else{if(typeof o=="string"&&(e.style.cssText=o=""),o)for(t in o)n&&t in n||xe(e.style,t,"");if(n)for(t in n)o&&n[t]==o[t]||xe(e.style,t,n[t])}else if(t[0]=="o"&&t[1]=="n")i=t!=(t=t.replace(Me,"$1")),l=t.toLowerCase(),t=l in e||t=="onFocusOut"||t=="onFocusIn"?l.slice(2):t.slice(2),e.l||(e.l={}),e.l[t+i]=n,n?o?n[j]=o[j]:(n[j]=ce,e.addEventListener(t,i?ie:ae,i)):e.removeEventListener(t,i?ie:ae,i);else{if(s=="http://www.w3.org/2000/svg")t=t.replace(/xlink(H|:h)/,"h").replace(/sName$/,"s");else if(t!="width"&&t!="height"&&t!="href"&&t!="list"&&t!="form"&&t!="tabIndex"&&t!="download"&&t!="rowSpan"&&t!="colSpan"&&t!="role"&&t!="popover"&&t in e)try{e[t]=n??"";break e}catch{}typeof n=="function"||(n==null||n===!1&&t[4]!="-"?e.removeAttribute(t):e.setAttribute(t,t=="popover"&&n==1?"":n))}}function Se(e){return function(t){if(this.l){var n=this.l[t.type+e];if(t[K]==null)t[K]=ce++;else if(t[K]<n[j])return;return n(k.event?k.event(t):t)}}}function ue(e,t,n,o,s,i,l,u,d,c){var p,a,_,f,v,h,y,m,g,w,x,M,V,U,b,R=t.type;if(t.constructor!==void 0)return null;128&n.__u&&(d=!!(32&n.__u),i=[u=t.__e=n.__e]),(p=k.__b)&&p(t);e:if(typeof R=="function")try{if(m=t.props,g=R.prototype&&R.prototype.render,w=(p=R.contextType)&&o[p.__c],x=p?w?w.props.value:p.__:o,n.__c?y=(a=t.__c=n.__c).__=a.__E:(g?t.__c=a=new R(m,x):(t.__c=a=new G(m,x),a.constructor=R,a.render=Et),w&&w.sub(a),a.state||(a.state={}),a.__n=o,_=a.__d=!0,a.__h=[],a._sb=[]),g&&a.__s==null&&(a.__s=a.state),g&&R.getDerivedStateFromProps!=null&&(a.__s==a.state&&(a.__s=$({},a.__s)),$(a.__s,R.getDerivedStateFromProps(m,a.__s))),f=a.props,v=a.state,a.__v=t,_)g&&R.getDerivedStateFromProps==null&&a.componentWillMount!=null&&a.componentWillMount(),g&&a.componentDidMount!=null&&a.__h.push(a.componentDidMount);else{if(g&&R.getDerivedStateFromProps==null&&m!==f&&a.componentWillReceiveProps!=null&&a.componentWillReceiveProps(m,x),t.__v==n.__v||!a.__e&&a.shouldComponentUpdate!=null&&a.shouldComponentUpdate(m,a.__s,x)===!1){t.__v!=n.__v&&(a.props=m,a.state=a.__s,a.__d=!1),t.__e=n.__e,t.__k=n.__k,t.__k.some(function(D){D&&(D.__=t)}),z.push.apply(a.__h,a._sb),a._sb=[],a.__h.length&&l.push(a);break e}a.componentWillUpdate!=null&&a.componentWillUpdate(m,a.__s,x),g&&a.componentDidUpdate!=null&&a.__h.push(function(){a.componentDidUpdate(f,v,h)})}if(a.context=x,a.props=m,a.__P=e,a.__e=!1,M=k.__r,V=0,g)a.state=a.__s,a.__d=!1,M&&M(t),p=a.render(a.props,a.state,a.context),z.push.apply(a.__h,a._sb),a._sb=[];else do a.__d=!1,M&&M(t),p=a.render(a.props,a.state,a.context),a.state=a.__s;while(a.__d&&++V<25);a.state=a.__s,a.getChildContext!=null&&(o=$($({},o),a.getChildContext())),g&&!_&&a.getSnapshotBeforeUpdate!=null&&(h=a.getSnapshotBeforeUpdate(f,v)),U=p!=null&&p.type===q&&p.key==null?$e(p.props.children):p,u=Ae(e,Z(U)?U:[U],t,n,o,s,i,l,u,d,c),a.base=t.__e,t.__u&=-161,a.__h.length&&l.push(a),y&&(a.__E=a.__=null)}catch(D){if(t.__v=null,d||i!=null)if(D.then){for(t.__u|=d?160:128;u&&u.nodeType==8&&u.nextSibling;)u=u.nextSibling;i[i.indexOf(u)]=null,t.__e=u}else{for(b=i.length;b--;)de(i[b]);le(t)}else t.__e=n.__e,t.__k=n.__k,D.then||le(t);k.__e(D,t,n)}else i==null&&t.__v==n.__v?(t.__k=n.__k,t.__e=n.__e):u=t.__e=wt(n.__e,t,n,o,s,i,l,d,c);return(p=k.diffed)&&p(t),128&t.__u?void 0:u}function le(e){e&&(e.__c&&(e.__c.__e=!0),e.__k&&e.__k.some(le))}function Le(e,t,n){for(var o=0;o<n.length;o++)pe(n[o],n[++o],n[++o]);k.__c&&k.__c(t,e),e.some(function(s){try{e=s.__h,s.__h=[],e.some(function(i){i.call(s)})}catch(i){k.__e(i,s.__v)}})}function $e(e){return typeof e!="object"||e==null||e.__b>0?e:Z(e)?e.map($e):e.constructor!==void 0?null:$({},e)}function wt(e,t,n,o,s,i,l,u,d){var c,p,a,_,f,v,h,y=n.props||J,m=t.props,g=t.type;if(g=="svg"?s="http://www.w3.org/2000/svg":g=="math"?s="http://www.w3.org/1998/Math/MathML":s||(s="http://www.w3.org/1999/xhtml"),i!=null){for(c=0;c<i.length;c++)if((f=i[c])&&"setAttribute"in f==!!g&&(g?f.localName==g:f.nodeType==3)){e=f,i[c]=null;break}}if(e==null){if(g==null)return document.createTextNode(m);e=document.createElementNS(s,g,m.is&&m),u&&(k.__m&&k.__m(t,i),u=!1),i=null}if(g==null)y===m||u&&e.data==m||(e.data=m);else{if(i=g=="textarea"&&m.defaultValue!=null?null:i&&Q.call(e.childNodes),!u&&i!=null)for(y={},c=0;c<e.attributes.length;c++)y[(f=e.attributes[c]).name]=f.value;for(c in y)f=y[c],c=="dangerouslySetInnerHTML"?a=f:c=="children"||c in m||c=="value"&&"defaultValue"in m||c=="checked"&&"defaultChecked"in m||W(e,c,null,f,s);for(c in m)f=m[c],c=="children"?_=f:c=="dangerouslySetInnerHTML"?p=f:c=="value"?v=f:c=="checked"?h=f:u&&typeof f!="function"||y[c]===f||W(e,c,f,y[c],s);if(p)u||a&&(p.__html==a.__html||p.__html==e.innerHTML)||(e.innerHTML=p.__html),t.__k=[];else if(a&&(e.innerHTML=""),Ae(t.type=="template"?e.content:e,Z(_)?_:[_],t,n,o,g=="foreignObject"?"http://www.w3.org/1999/xhtml":s,i,l,i?i[0]:n.__k&&B(n,0),u,d),i!=null)for(c=i.length;c--;)de(i[c]);u&&g!="textarea"||(c="value",g=="progress"&&v==null?e.removeAttribute("value"):v!=null&&(v!==e[c]||g=="progress"&&!v||g=="option"&&v!=y[c])&&W(e,c,v,y[c],s),c="checked",h!=null&&h!=e[c]&&W(e,c,h,y[c],s))}return e}function pe(e,t,n){try{if(typeof e=="function"){var o=typeof e.__u=="function";o&&e.__u(),o&&t==null||(e.__u=e(t))}else e.current=t}catch(s){k.__e(s,n)}}function Pe(e,t,n){var o,s;if(k.unmount&&k.unmount(e),(o=e.ref)&&(o.current&&o.current!=e.__e||pe(o,null,t)),(o=e.__c)!=null){if(o.componentWillUnmount)try{o.componentWillUnmount()}catch(i){k.__e(i,t)}o.base=o.__P=null}if(o=e.__k)for(s=0;s<o.length;s++)o[s]&&Pe(o[s],t,n||typeof e.type!="function");n||de(e.__e),e.__c=e.__=e.__e=void 0}function Et(e,t,n){return this.constructor(e,n)}function Ie(e,t,n){var o,s,i,l;t==document&&(t=document.documentElement),k.__&&k.__(e,t),s=(o=typeof n=="function")?null:n&&n.__k||t.__k,i=[],l=[],ue(t,e=(!o&&n||t).__k=vt(q,null,[e]),s||J,J,t.namespaceURI,!o&&n?[n]:s?null:t.firstChild?Q.call(t.childNodes):null,i,!o&&n?n:s?s.__e:t.firstChild,o,l),Le(i,e,l)}Q=z.slice,k={__e:function(e,t,n,o){for(var s,i,l;t=t.__;)if((s=t.__c)&&!s.__)try{if((i=s.constructor)&&i.getDerivedStateFromError!=null&&(s.setState(i.getDerivedStateFromError(e)),l=s.__d),s.componentDidCatch!=null&&(s.componentDidCatch(e,o||{}),l=s.__d),l)return s.__E=s}catch(u){e=u}throw e}},Te=0,mt=function(e){return e!=null&&e.constructor===void 0},G.prototype.setState=function(e,t){var n;n=this.__s!=null&&this.__s!=this.state?this.__s:this.__s=$({},this.state),typeof e=="function"&&(e=e($({},n),this.props)),e&&$(n,e),e!=null&&this.__v&&(t&&this._sb.push(t),Ee(this))},G.prototype.forceUpdate=function(e){this.__v&&(this.__e=!0,e&&this.__h.push(e),Ee(this))},G.prototype.render=q,P=[],Ce=typeof Promise=="function"?Promise.prototype.then.bind(Promise.resolve()):setTimeout,Re=function(e,t){return e.__v.__b-t.__v.__b},X.__r=0,oe=Math.random().toString(8),K="__d"+oe,j="__a"+oe,Me=/(PointerCapture)$|Capture$/i,ce=0,ae=Se(!1),ie=Se(!0),gt=0;var F,S,_e,Ue,te=0,We=[],T=k,Oe=T.__b,Be=T.__r,qe=T.diffed,He=T.__c,je=T.unmount,Fe=T.__;function me(e,t){T.__h&&T.__h(S,e,te||t),te=0;var n=S.__H||(S.__H={__:[],__h:[]});return e>=n.__.length&&n.__.push({}),n.__[e]}function C(e){return te=1,ge(Ye,e)}function ge(e,t,n){var o=me(F++,2);if(o.t=e,!o.__c&&(o.__=[n?n(t):Ye(void 0,t),function(u){var d=o.__N?o.__N[0]:o.__[0],c=o.t(d,u);d!==c&&(o.__N=[c,o.__[1]],o.__c.setState({}))}],o.__c=S,!S.__f)){var s=function(u,d,c){if(!o.__c.__H)return!0;var p=o.__c.__H.__.filter(function(_){return _.__c});if(p.every(function(_){return!_.__N}))return!i||i.call(this,u,d,c);var a=o.__c.props!==u;return p.some(function(_){if(_.__N){var f=_.__[0];_.__=_.__N,_.__N=void 0,f!==_.__[0]&&(a=!0)}}),i&&i.call(this,u,d,c)||a};S.__f=!0;var i=S.shouldComponentUpdate,l=S.componentWillUpdate;S.componentWillUpdate=function(u,d,c){if(this.__e){var p=i;i=void 0,s(u,d,c),i=p}l&&l.call(this,u,d,c)},S.shouldComponentUpdate=s}return o.__N||o.__}function N(e,t){var n=me(F++,3);!T.__s&&Ke(n.__H,t)&&(n.__=e,n.u=t,S.__H.__h.push(n))}function A(e){return te=5,I(function(){return{current:e}},[])}function I(e,t){var n=me(F++,7);return Ke(n.__H,t)&&(n.__=e(),n.__H=t,n.__h=e),n.__}function xt(){for(var e;e=We.shift();){var t=e.__H;if(e.__P&&t)try{t.__h.some(ee),t.__h.some(fe),t.__h=[]}catch(n){t.__h=[],T.__e(n,e.__v)}}}T.__b=function(e){S=null,Oe&&Oe(e)},T.__=function(e,t){e&&t.__k&&t.__k.__m&&(e.__m=t.__k.__m),Fe&&Fe(e,t)},T.__r=function(e){Be&&Be(e),F=0;var t=(S=e.__c).__H;t&&(_e===S?(t.__h=[],S.__h=[],t.__.some(function(n){n.__N&&(n.__=n.__N),n.u=n.__N=void 0})):(t.__h.some(ee),t.__h.some(fe),t.__h=[],F=0)),_e=S},T.diffed=function(e){qe&&qe(e);var t=e.__c;t&&t.__H&&(t.__H.__h.length&&(We.push(t)!==1&&Ue===T.requestAnimationFrame||((Ue=T.requestAnimationFrame)||St)(xt)),t.__H.__.some(function(n){n.u&&(n.__H=n.u),n.u=void 0})),_e=S=null},T.__c=function(e,t){t.some(function(n){try{n.__h.some(ee),n.__h=n.__h.filter(function(o){return!o.__||fe(o)})}catch(o){t.some(function(s){s.__h&&(s.__h=[])}),t=[],T.__e(o,n.__v)}}),He&&He(e,t)},T.unmount=function(e){je&&je(e);var t,n=e.__c;n&&n.__H&&(n.__H.__.some(function(o){try{ee(o)}catch(s){t=s}}),n.__H=void 0,t&&T.__e(t,n.__v))};var Ve=typeof requestAnimationFrame=="function";function St(e){var t,n=function(){clearTimeout(o),Ve&&cancelAnimationFrame(t),setTimeout(e)},o=setTimeout(n,35);Ve&&(t=requestAnimationFrame(n))}function ee(e){var t=S,n=e.__c;typeof n=="function"&&(e.__c=void 0,n()),S=t}function fe(e){var t=S;e.__c=e.__(),S=t}function Ke(e,t){return!e||e.length!==t.length||t.some(function(n,o){return n!==e[o]})}function Ye(e,t){return typeof t=="function"?t(e):t}async function H(e){if(!e.ok){let t=await e.text().catch(()=>"");throw new Error(`${e.status} ${e.statusText}${t?`: ${t}`:""}`)}return e.json()}function ne(e){return{"x-rudder-token":typeof window<"u"&&window.__RUDDER_TOKEN__||"",...e??{}}}async function Ge(){return H(await fetch("/api/projects"))}async function Je(e){return H(await fetch(`/api/projects/${encodeURIComponent(e)}/state`))}async function ze(e,t,n=200){let o=await fetch(`/api/projects/${encodeURIComponent(e)}/tasks/${encodeURIComponent(t)}/log?tail=${n}`);if(!o.ok)throw new Error(`${o.status} ${o.statusText}`);return o.text()}async function Xe(e,t){let n=tt();return H(await nt(`/api/projects/${encodeURIComponent(e)}/tasks`,{method:"POST",headers:ne({"content-type":"application/json"}),body:JSON.stringify({prompt:t,requestId:n})}))}async function Qe(e,t){return H(await fetch(`/api/projects/${encodeURIComponent(e)}/tasks/${encodeURIComponent(t)}/merge`,{method:"POST",headers:ne()}))}async function Ze(e,t){let n=await fetch(`/api/projects/${encodeURIComponent(e)}/tasks/${encodeURIComponent(t)}/cancel`,{method:"POST",headers:ne()});if(!n.ok)throw new Error(`${n.status} ${n.statusText}`)}async function et(e,t,n){let o=tt(),s=t==="conductor"?`/api/projects/${encodeURIComponent(e)}/steer`:`/api/projects/${encodeURIComponent(e)}/tasks/${encodeURIComponent(t)}/steer`;return H(await nt(s,{method:"POST",headers:ne({"content-type":"application/json"}),body:JSON.stringify({instruction:n,requestId:o})}))}function tt(){return globalThis.crypto?.randomUUID?.()??`${Date.now().toString(36)}-${Math.random().toString(36).slice(2)}-${Math.random().toString(36).slice(2)}`}async function nt(e,t){try{return await fetch(e,t)}catch{return await new Promise(n=>setTimeout(n,150)),fetch(e,t)}}async function ye(e,t){return H(await fetch(`/api/projects/${encodeURIComponent(e)}/steer-receipts/${encodeURIComponent(t)}`))}function rt(e){return`/api/projects/${encodeURIComponent(e)}/events`}function Tt(){return{nodes:new Map,edges:[],gates:[],memory:[],activity:[],loaded:!1}}function Ct(e,t){switch(t.type){case"SNAPSHOT":{let n=new Map;for(let o of t.snapshot.nodes)n.set(o.id,o);return{nodes:n,edges:t.snapshot.edges??[],gates:t.snapshot.gates??[],memory:t.snapshot.memory??[],activity:t.snapshot.activity??[],loaded:!0}}case"NODE_UPSERT":{let n=new Map(e.nodes);return n.set(t.node.id,t.node),{...e,nodes:n}}case"NODE_REMOVE":{if(!e.nodes.has(t.id))return e;let n=new Map(e.nodes);return n.delete(t.id),{...e,nodes:n}}case"EDGE_UPSERT":{let n=e.edges.filter(o=>!(o.from===t.edge.from&&o.to===t.edge.to&&o.kind===t.edge.kind));return n.push(t.edge),{...e,edges:n}}case"EDGE_REMOVE":return{...e,edges:e.edges.filter(n=>!(n.from===t.from&&n.to===t.to))};case"MEMORY":return{...e,memory:t.memory};case"ACTIVITY":return{...e,activity:t.activity};default:return e}}function st(e){let[t,n]=ge(Ct,void 0,Tt),[o,s]=C("connecting"),[i,l]=C(""),u=A(!1);return N(()=>{let d=!1;u.current=!1;async function c(){try{let a=await Je(e);if(d)return;l(a.name||e),n({type:"SNAPSHOT",snapshot:a})}catch{}}c();let p=new EventSource(rt(e));return p.addEventListener("open",()=>{d||(u.current&&c(),u.current=!0,s("live"))}),p.addEventListener("snapshot",a=>{if(!d)try{let _=JSON.parse(a.data);l(_.name||e),n({type:"SNAPSHOT",snapshot:_})}catch{}}),p.addEventListener("node.added",a=>{if(!d)try{n({type:"NODE_UPSERT",node:JSON.parse(a.data)})}catch{}}),p.addEventListener("node.updated",a=>{if(!d)try{n({type:"NODE_UPSERT",node:JSON.parse(a.data)})}catch{}}),p.addEventListener("node.removed",a=>{if(!d)try{let _=JSON.parse(a.data),f=typeof _=="string"?_:_.id;f&&n({type:"NODE_REMOVE",id:f})}catch{}}),p.addEventListener("edge.added",a=>{if(!d)try{n({type:"EDGE_UPSERT",edge:JSON.parse(a.data)})}catch{}}),p.addEventListener("edge.removed",a=>{if(!d)try{let _=JSON.parse(a.data);_?.from&&_?.to&&n({type:"EDGE_REMOVE",from:_.from,to:_.to})}catch{}}),p.addEventListener("memory.updated",a=>{if(!d)try{let _=JSON.parse(a.data),f=Array.isArray(_)?_:_.memory??[];n({type:"MEMORY",memory:f})}catch{}}),p.addEventListener("activity.updated",a=>{if(!d)try{let _=JSON.parse(a.data),f=Array.isArray(_)?_:_.activity??[];n({type:"ACTIVITY",activity:f})}catch{}}),p.addEventListener("error",()=>{d||s(u.current?"reconnecting":"connecting")}),()=>{d=!0,p.close()}},[e]),{state:t,conn:o,name:i}}var Rt=0,nn=Array.isArray;function r(e,t,n,o,s,i){t||(t={});var l,u,d=t;if("ref"in d)for(u in d={},t)u=="ref"?l=t[u]:d[u]=t[u];var c={type:e,props:d,key:n,ref:l,__k:null,__:null,__b:0,__e:null,__c:null,constructor:void 0,__v:--Rt,__i:-1,__u:0,__source:s,__self:i};if(typeof e=="function"&&(l=e.defaultProps))for(u in l)d[u]===void 0&&(d[u]=l[u]);return k.vnode&&k.vnode(c),c}var at=[{key:"todo",label:"Todo"},{key:"running",label:"Running"},{key:"review",label:"Review"},{key:"done",label:"Done"}];function it(e){let t=e.delivery;return!!(t?.required&&(t.status==="deployed"||t.status==="verified")&&t.kind?.trim()&&t.target?.trim()&&t.verifiedAt?.trim()&&t.checks?.length)}function he(e){if(e.merge&&e.merge.status==="merge-conflict")return"conflict";if(e.blocked)return"blocked";if(e.delivery?.required&&e.status==="completed")return e.delivery.status==="blocked"||e.delivery.status==="failed"?"failed":it(e)?"done":"review";switch(e.status){case"running":case"steering":case"verifying":case"created":return"running";case"completed":return"review";case"merged":return"done";case"failed":return"failed";case"cancelled":return"failed";case"paused":return"done";case"merge-conflict":return"conflict";default:return e.column}}function re(e){return e.merge&&e.merge.status==="merge-conflict"?"conflict":e.blocked?"blocked":e.delivery?.required&&e.status==="completed"?e.delivery.status==="blocked"||e.delivery.status==="failed"?"delivery blocked":it(e)?"deployed":"delivery proof needed":e.status||e.column}function lt(e){return["running","steering","verifying","created"].includes(e.status)}function se(e){return e>=1e3?`${(e/1e3).toFixed(e>=1e4?0:1)}k`:String(e)}function ct(){let[e,t]=C(null),[n,o]=C(null);return N(()=>{let s=!1;return Ge().then(i=>{s||t(i.projects??[])}).catch(i=>{s||o(String(i?.message??i))}),()=>{s=!0}},[]),r("div",{class:"page",children:[r("header",{class:"topbar",children:r("div",{class:"brand",children:[r("span",{class:"brand-mark",children:"\u25B0"}),r("span",{class:"brand-name",children:"Rudder"}),r("span",{class:"brand-sub mono",children:"board"})]})}),r("main",{class:"index-main",children:[r("h1",{class:"index-title",children:"Projects"}),r("p",{class:"index-lede",children:"Local agent runs, projected live. Pick a repo."}),n&&r("div",{class:"banner banner-error mono",children:["failed to load projects: ",n]}),e===null&&!n&&r("div",{class:"tile-grid",children:[r(ve,{}),r(ve,{}),r(ve,{})]}),e!==null&&e.length===0&&r("div",{class:"empty",children:[r("div",{class:"empty-title",children:"no projects yet"}),r("div",{class:"empty-sub mono",children:"start a run in any repo and it registers here"})]}),e!==null&&e.length>0&&r("div",{class:"tile-grid",children:e.map(s=>r(Mt,{project:s},s.slug))})]})]})}function Mt({project:e}){let t=e.counts,n=()=>{window.location.href=`/rudder/${encodeURIComponent(e.slug)}`},o=[{token:"running",label:"running",n:t.running},{token:"review",label:"review",n:t.review},{token:"todo",label:"todo",n:t.todo},{token:"done",label:"done",n:t.done},{token:"blocked",label:"blocked",n:t.blocked},{token:"failed",label:"failed",n:t.failed}];return r("button",{class:"tile",onClick:n,type:"button",children:[r("div",{class:"tile-head",children:r("span",{class:"tile-name",children:e.name})}),r("div",{class:"tile-path mono",children:e.repoRoot}),r("div",{class:"tile-counts",children:o.map(s=>r("span",{class:`count count-${s.token}`,"data-zero":s.n===0,children:[r("span",{class:"count-n mono",children:s.n}),r("span",{class:"count-label",children:s.label})]},s.label))})]})}function ve(){return r("div",{class:"tile tile-skeleton","aria-hidden":"true",children:[r("div",{class:"skel skel-line",style:"width: 52%"}),r("div",{class:"skel skel-line",style:"width: 78%"}),r("div",{class:"skel skel-row"})]})}var dt="rudder.board.view";function Dt(){try{let e=localStorage.getItem(dt);if(e==="board"||e==="nest"||e==="activity"||e==="memory")return e}catch{}return"board"}function ut({slug:e}){let{state:t,conn:n,name:o}=st(e),[s,i]=C(Dt),[l,u]=C(null),d=A(null),c=window.__RUDDER_CONTROL_MODE__??"projector",p=window.__RUDDER_CAN_MUTATE__!==!1,a=h=>{i(h);try{localStorage.setItem(dt,h)}catch{}},_=I(()=>Array.from(t.nodes.values()),[t.nodes]),f=l?t.nodes.get(l)??null:null,v=(h,y)=>{d.current=y,u(h)};return r("div",{class:"page board-page",children:[r(At,{slug:e,name:o||e,conn:n,view:s,onView:a,memoryCount:t.memory.length,latestActivity:t.activity.length?t.activity[t.activity.length-1]:null,canMutate:p}),r("main",{class:"board-main",children:!t.loaded&&n!=="reconnecting"?r(Kt,{}):s==="board"?r($t,{nodes:_,onOpen:v,selected:l}):s==="nest"?r(Bt,{nodes:_,edges:t.edges,onOpen:v,selected:l}):s==="activity"?r(Vt,{slug:e,activity:t.activity,canSteerConductor:p&&c==="projector"}):r(Wt,{memory:t.memory})}),f&&r(qt,{slug:e,node:f,onClose:()=>u(null),returnFocus:d.current,canMutate:p})]})}function At({slug:e,name:t,conn:n,view:o,onView:s,memoryCount:i,latestActivity:l,canMutate:u}){let[d,c]=C(!1);return r("header",{class:"topbar board-topbar",children:[r("div",{class:"brand",children:[r("a",{class:"brand-link",href:"/rudder",title:"Back to all projects",children:[r("span",{class:"brand-mark",children:"\u25B0"}),r("span",{class:"brand-back",children:"\u2190 all projects"})]}),r("span",{class:"brand-name",children:t}),r(Nt,{conn:n}),l&&o!=="activity"&&r("button",{type:"button",class:"activity-ticker mono",title:"Latest activity \u2014 click for the full feed",onClick:()=>s("activity"),children:[r("span",{class:"pulse-dot","aria-hidden":"true"}),r("span",{class:"activity-ticker-text",children:l.text})]})]}),r("div",{class:"toolbar-actions",children:[r("div",{class:"view-toggle",role:"group","aria-label":"View",children:[r("button",{type:"button","aria-pressed":o==="board",class:`toggle ${o==="board"?"toggle-on":""}`,onClick:()=>s("board"),children:"Board"}),r("button",{type:"button","aria-pressed":o==="nest",class:`toggle ${o==="nest"?"toggle-on":""}`,onClick:()=>s("nest"),title:"Nest / DAG view",children:"Nest"}),r("button",{type:"button","aria-pressed":o==="activity",class:`toggle ${o==="activity"?"toggle-on":""}`,onClick:()=>s("activity"),title:"Live activity feed",children:"Activity"}),r("button",{type:"button","aria-pressed":o==="memory",class:`toggle ${o==="memory"?"toggle-on":""}`,onClick:()=>s("memory"),children:["Memory",i>0&&r("span",{class:"toggle-badge mono",children:i})]})]}),u?r("button",{type:"button",class:"btn btn-accent",onClick:()=>c(!0),children:"+ Task"}):r("span",{class:"readonly-pill mono",title:"Open this project's own Rudder board to make changes",children:"read-only"})]}),d&&r(Lt,{slug:e,onClose:()=>c(!1)})]})}function Nt({conn:e}){if(e==="live")return r("span",{class:"conn conn-live",title:"Live",children:[r("span",{class:"conn-dot"}),r("span",{class:"conn-label mono",children:"live"})]});let t=e==="connecting"?"connecting":"reconnecting";return r("span",{class:"conn conn-warn",title:t,children:[r("span",{class:"conn-dot conn-dot-pulse"}),r("span",{class:"conn-label mono",children:t})]})}function Lt({slug:e,onClose:t}){let[n,o]=C(""),[s,i]=C(!1),[l,u]=C(null),[d,c]=C(null),p=A(null),a=A(null),_=A(!1),f=A(t);f.current=t,_.current=s,N(()=>{let y=document.activeElement;p.current?.focus();let m=g=>{if(g.key==="Escape"){g.preventDefault(),_.current||f.current();return}if(g.key!=="Tab"||!a.current)return;let w=Array.from(a.current.querySelectorAll('button:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex="-1"])')),x=w[0],M=w[w.length-1];x&&M&&g.shiftKey&&document.activeElement===x?(g.preventDefault(),M.focus()):x&&M&&!g.shiftKey&&document.activeElement===M&&(g.preventDefault(),x.focus())};return window.addEventListener("keydown",m),()=>{window.removeEventListener("keydown",m),y?.focus()}},[]),N(()=>{if(d?.state!=="queued"||!d.requestId)return;let y=!1,m,g=async()=>{try{let w=await ye(e,d.requestId);if(y)return;if(w.status==="delivered"){c({requestId:w.requestId,state:"delivered",message:"Delivered to the native conductor"});return}if(w.status==="failed"){c(null),u(w.error||"The native conductor could not accept the task");return}}catch{}y||(m=window.setTimeout(g,500))};return m=window.setTimeout(g,250),()=>{y=!0,m!==void 0&&window.clearTimeout(m)}},[e,d?.state,d?.requestId]);let v=async()=>{let y=n.trim();if(!(!y||s)){i(!0),u(null),c(null);try{let m=await Xe(e,y);if(m.status==="queued"){o(""),c({requestId:m.requestId,state:"queued",message:"Queued for the native conductor"}),i(!1);return}if(m.status==="failed")throw new Error("The task could not be delivered to the conductor");t()}catch(m){u(String(m?.message??m)),i(!1)}}};return r("div",{class:"overlay",onClick:()=>{s||t()},children:r("form",{ref:a,class:"composer",onClick:y=>y.stopPropagation(),onSubmit:y=>{y.preventDefault(),v()},role:"dialog","aria-modal":"true","aria-labelledby":"new-task-title","aria-busy":s,children:[r("div",{class:"composer-head",children:[r("span",{class:"composer-title",id:"new-task-title",children:"New task"}),r("span",{class:"composer-hint mono",id:"new-task-hint",children:"\u2318/Ctrl + Enter to run \xB7 Esc to close"})]}),r("label",{class:"sr-only",for:"new-task-prompt",children:"Task description"}),r("textarea",{ref:p,id:"new-task-prompt",class:"composer-input mono",rows:5,placeholder:"Describe the task. The agent decomposes and schedules it.",value:n,"aria-describedby":"new-task-hint",onInput:y=>o(y.target.value),onKeyDown:y=>{(y.metaKey||y.ctrlKey)&&y.key==="Enter"&&(y.preventDefault(),v())},readOnly:s}),l&&r("div",{class:"banner banner-error mono",role:"alert",children:l}),d&&r("div",{class:"banner mono",role:"status",children:d.message}),r("div",{class:"composer-actions",children:[r("button",{type:"button",class:"btn",onClick:t,disabled:s,children:d?"Close":"Cancel"}),r("button",{type:"submit",class:"btn btn-accent",disabled:s||!n.trim(),children:s?"Running\u2026":"Run task"})]})]})})}function $t({nodes:e,onOpen:t,selected:n}){let o=I(()=>{let s={todo:[],running:[],review:[],done:[]};for(let i of e)(s[i.column]??s.todo).push(i);for(let i of Object.keys(s))s[i].sort((l,u)=>l.updatedAt<u.updatedAt?1:-1);return s},[e]);return r("div",{class:"board",children:at.map(s=>{let i=o[s.key];return r("section",{class:"column","data-column":s.key,children:[r("header",{class:"column-head",children:[r("span",{class:"column-title",children:s.label}),r("span",{class:"column-count mono",children:i.length})]}),r("div",{class:"column-body",children:i.length===0?r("div",{class:"column-empty mono",children:"empty"}):i.map(l=>r(Pt,{node:l,onOpen:t,selected:n===l.id},l.id))})]},s.key)})})}function Pt({node:e,onOpen:t,selected:n}){let o=he(e),s=lt(e),i=e.deps.hard.length+e.deps.soft.length;return r("article",{class:`card ${n?"card-selected":""}`,"data-status":o,"data-task-id":e.id,tabIndex:0,role:"button","aria-haspopup":"dialog","aria-expanded":n,onClick:l=>t(e.id,l.currentTarget),onKeyDown:l=>{(l.key==="Enter"||l.key===" ")&&(l.preventDefault(),t(e.id,l.currentTarget))},children:[r("div",{class:"card-spine","data-status":o}),r("div",{class:"card-body",children:[r("div",{class:"card-top",children:[r("span",{class:"card-status mono","data-status":o,children:re(e)}),e.blocked&&r("span",{class:"flag flag-blocked mono",children:"blocked"})]}),r("h3",{class:"card-title",children:e.title}),r("div",{class:"card-meta mono",children:[r("span",{class:"card-backend",children:e.backend}),e.model&&r("span",{class:"card-model",children:e.model}),e.effort&&r("span",{class:"card-effort",children:e.effort})]}),e.delivery?.required&&r("div",{class:"card-lastline mono",children:r("span",{class:"lastline-text",children:["delivery ",e.delivery.status," \xB7 ",e.delivery.target??"target not recorded",e.delivery.checks?.length?` \xB7 ${e.delivery.checks.length} check${e.delivery.checks.length===1?"":"s"}`:""]})}),e.lastLine&&r("div",{class:"card-lastline mono",children:[s&&r("span",{class:"pulse-dot","aria-hidden":"true"}),r("span",{class:"lastline-text",children:e.lastLine})]}),r("div",{class:"card-foot",children:[e.tokens&&r("span",{class:"tokens mono",title:"input / output tokens",children:[r("span",{class:"tok-in",children:["\u2193",se(e.tokens.input)]}),r("span",{class:"tok-out",children:["\u2191",se(e.tokens.output)]})]}),i>0&&r("span",{class:"dep-badge mono",title:"upstream dependencies",children:[e.deps.hard.length>0&&r("span",{class:"dep dep-hard",title:`${e.deps.hard.length} hard dependency(ies)`,children:["\u2191",e.deps.hard.length," hard"]}),e.deps.soft.length>0&&r("span",{class:"dep dep-soft",title:`${e.deps.soft.length} soft dependency(ies)`,children:["\u2191",e.deps.soft.length," soft"]})]})]})]})]})}var E={boxW:220,boxH:64,gapX:96,gapY:26,padX:40,padY:40,spineW:5};function It(e,t){let n=new Map;for(let l of e)n.set(l.id,l.deps.hard.filter(u=>t.has(u)&&u!==l.id));let o=new Map,s=new Set,i=l=>{let u=o.get(l);if(u!==void 0)return u;if(s.has(l))return 0;s.add(l);let d=n.get(l)??[],c=-1;for(let a of d)c=Math.max(c,i(a));s.delete(l);let p=c+1;return o.set(l,p),p};for(let l of e)i(l.id);return o}function Ut(e){let t=new Set(e.map(p=>p.id)),n=It(e,t),o=new Map;for(let p of e){let a=n.get(p.id)??0,_=o.get(a);_?_.push(p):o.set(a,[p])}let s=new Map,i=Array.from(o.keys()).sort((p,a)=>p-a),l=0;for(let p of i){let a=o.get(p);a.sort((v,h)=>v.createdAt!==h.createdAt?v.createdAt<h.createdAt?-1:1:v.id<h.id?-1:1);let _=E.padX+p*(E.boxW+E.gapX),f=E.padY;for(let v of a)s.set(v.id,{x:_,y:f}),f+=E.boxH+E.gapY;l=Math.max(l,f-E.gapY)}let u=i.length?i[i.length-1]:0,d=E.padX*2+(u+1)*E.boxW+u*E.gapX,c=Math.max(l+E.padY,E.padY*2+E.boxH);return{pos:s,width:d,height:c}}function Ot(e,t){return e.length<=t?e:`${e.slice(0,Math.max(0,t-1)).trimEnd()}\u2026`}function Bt({nodes:e,edges:t,onOpen:n,selected:o}){let s=I(()=>Ut(e),[e]),i=I(()=>new Set(e.map(d=>d.id)),[e]);if(e.length===0)return r("div",{class:"empty",children:[r("div",{class:"empty-title",children:"no tasks in the graph yet"}),r("div",{class:"empty-sub mono",children:"the dependency DAG renders here once tasks exist"})]});let l=t.filter(d=>i.has(d.from)&&i.has(d.to)),u=d=>{let c=s.pos.get(d.from),p=s.pos.get(d.to);if(!c||!p)return null;let a=c.x+E.boxW,_=c.y+E.boxH/2,f=p.x,v=p.y+E.boxH/2,h=Math.max(28,(f-a)/2);return`M ${a} ${_} C ${a+h} ${_}, ${f-h} ${v}, ${f} ${v}`};return r("div",{class:"nest",children:r("svg",{class:"nest-svg",width:s.width,height:s.height,viewBox:`0 0 ${s.width} ${s.height}`,role:"group","aria-label":"Task dependency graph",children:[r("defs",{children:[r("marker",{id:"arrow",viewBox:"0 0 10 10",refX:"9",refY:"5",markerWidth:"7",markerHeight:"7",orient:"auto-start-reverse",children:r("path",{d:"M 0 0 L 10 5 L 0 10 z",class:"arrow-head"})}),r("marker",{id:"arrow-soft",viewBox:"0 0 10 10",refX:"9",refY:"5",markerWidth:"6",markerHeight:"6",orient:"auto-start-reverse",children:r("path",{d:"M 0 0 L 10 5 L 0 10 z",class:"arrow-head-soft"})})]}),r("g",{class:"nest-edges",children:l.map((d,c)=>{let p=u(d);return p?r("path",{d:p,fill:"none",class:d.kind==="hard"?"edge edge-hard":"edge edge-soft"},`${d.from}->${d.to}:${d.kind}:${c}`):null})}),r("g",{class:"nest-nodes",children:e.map(d=>{let c=s.pos.get(d.id);if(!c)return null;let p=he(d),a=o===d.id,_=f=>n(d.id,f);return r("g",{class:`node ${a?"node-selected":""}`,"data-status":p,"data-task-id":d.id,transform:`translate(${c.x} ${c.y})`,tabIndex:0,role:"button","aria-label":`${re(d)}: ${d.title}`,"aria-haspopup":"dialog","aria-expanded":a,onClick:f=>_(f.currentTarget),onKeyDown:f=>{(f.key==="Enter"||f.key===" ")&&(f.preventDefault(),_(f.currentTarget))},children:[r("rect",{class:"node-box",x:"0",y:"0",width:E.boxW,height:E.boxH}),r("rect",{class:"node-spine",x:"0",y:"0",width:E.spineW,height:E.boxH}),r("text",{class:"node-status mono",x:E.spineW+12,y:"22",children:re(d)}),r("text",{class:"node-title",x:E.spineW+12,y:"44",children:Ot(d.title,30)})]},d.id)})})]})})}function qt({slug:e,node:t,onClose:n,returnFocus:o,canMutate:s}){let[i,l]=C(null),[u,d]=C(null),[c,p]=C({busy:!1,msg:null,err:null}),a=A(null),_=A(n);_.current=n;let f=he(t),v=lt(t),h=t.status==="completed"||t.status==="review",y=h||t.column==="review",m=v||h,g=h&&!v,w=t.runId??t.id,x=`task-update-${t.id.replace(/[^A-Za-z0-9_-]/g,"-")}`;N(()=>{let b=o??document.activeElement,R=window.requestAnimationFrame(()=>{(a.current?.querySelector("[data-autofocus]")??a.current)?.focus()}),D=L=>{if(L.key==="Escape"){L.preventDefault(),_.current();return}if(L.key!=="Tab"||!a.current)return;let O=Array.from(a.current.querySelectorAll('a[href], button:not([disabled]), textarea:not([disabled]), input:not([disabled]), [tabindex]:not([tabindex="-1"])'));if(O.length===0){L.preventDefault(),a.current.focus();return}let be=O[0],ke=O[O.length-1];L.shiftKey&&document.activeElement===be?(L.preventDefault(),ke.focus()):!L.shiftKey&&document.activeElement===ke&&(L.preventDefault(),be.focus())};return window.addEventListener("keydown",D),()=>{window.cancelAnimationFrame(R),window.removeEventListener("keydown",D),b?.isConnected?b.focus():Array.from(document.querySelectorAll("[data-task-id]")).find(O=>O.getAttribute("data-task-id")===t.id)?.focus()}},[t.id]),N(()=>{let b=!1;return l(null),d(null),ze(e,w,200).then(R=>{b||l(R)}).catch(R=>{b||d(String(R?.message??R))}),()=>{b=!0}},[e,w]);let M=I(()=>{let b=i??"";return!t.lastLine||b.trimEnd().endsWith(t.lastLine.trimEnd())?b:b?`${b}
|
|
2
|
+
${t.lastLine}`:t.lastLine},[i,t.lastLine]),V=async()=>{p({busy:!0,msg:null,err:null});try{let b=await Qe(e,w);if(b.status==="merge-conflict"||b.status==="conflict"||b.status==="blocked"){let D=b.conflictedFiles?.length??0;p({busy:!1,msg:null,err:D?`conflict in ${D} file(s)`:"merge conflict"})}else p({busy:!1,msg:b.status,err:null})}catch(b){p({busy:!1,msg:null,err:String(b?.message??b)})}},U=async()=>{p({busy:!0,msg:null,err:null});try{await Ze(e,w),p({busy:!1,msg:"cancel requested",err:null})}catch(b){p({busy:!1,msg:null,err:String(b?.message??b)})}};return r("div",{class:"drawer-overlay",onClick:n,children:r("aside",{ref:a,class:"drawer",onClick:b=>b.stopPropagation(),"data-status":f,role:"dialog","aria-modal":"true","aria-labelledby":"task-detail-title",tabIndex:-1,children:[r("div",{class:"drawer-spine","data-status":f}),r("header",{class:"drawer-head",children:[r("div",{class:"drawer-head-top",children:[r("span",{class:"card-status mono","data-status":f,children:re(t)}),r("button",{type:"button",class:"drawer-close",onClick:n,"aria-label":"Close",children:"\u2715"})]}),r("h2",{class:"drawer-title",id:"task-detail-title",children:t.title}),r("div",{class:"drawer-meta mono",children:[r("span",{children:t.backend}),t.model&&r("span",{children:t.model}),t.effort&&r("span",{children:t.effort}),t.tokens&&r("span",{children:["\u2193",se(t.tokens.input)," \u2191",se(t.tokens.output)]})]}),t.worktree&&r("div",{class:"drawer-worktree mono",title:t.worktree.path,children:t.worktree.workspaceName??t.worktree.path}),t.delivery?.required&&r("div",{class:"drawer-worktree mono",title:t.delivery.url??t.delivery.appPath??t.delivery.target,children:["delivery ",t.delivery.status," \xB7 ",t.delivery.target??"target not recorded",t.delivery.revision?` \xB7 ${t.delivery.revision}`:""]})]}),s&&r("div",{class:"drawer-actions",children:[y&&r("button",{type:"button",class:"btn btn-accent",onClick:V,disabled:c.busy,children:c.busy?"Merging\u2026":"Merge"}),g&&r("button",{type:"button",class:"btn",onClick:()=>document.getElementById(x)?.focus(),disabled:c.busy,children:"Request changes"}),v&&r("button",{type:"button",class:"btn btn-danger",onClick:U,disabled:c.busy,children:c.busy?"Stopping\u2026":"Stop"}),c.msg&&r("span",{class:"action-msg","aria-live":"polite",children:c.msg}),c.err&&r("span",{class:"action-err",role:"alert",children:c.err})]}),r("div",{class:"drawer-scroll",children:[r(Ht,{updates:t.updates??[],lastLine:t.lastLine}),r("div",{class:"drawer-log",children:[r("div",{class:"drawer-log-head mono",children:[r("span",{children:"Worker log"}),v&&r("span",{class:"pulse-dot","aria-hidden":"true"})]}),r(Ft,{text:M,error:u,loading:i===null&&!u})]})]}),s&&m&&r("div",{class:"drawer-steer",children:r(pt,{slug:e,targetId:w,inputId:x,label:g?"Request changes":"Send update",submitLabel:g?"Request changes":"Send update",placeholder:g?"Describe what should change before this task is merged.":"Add context or redirect this worker.",autoFocus:!0})})]})})}function Ht({updates:e,lastLine:t}){let n=e.filter(o=>o.instruction.trim());return r("section",{class:"task-updates","aria-labelledby":"task-updates-title",children:[r("div",{class:"task-updates-head",children:[r("h3",{id:"task-updates-title",children:"Updates"}),n.length>0&&r("span",{class:"task-updates-count mono",children:n.length})]}),r("div",{class:"task-thread",children:[n.length===0&&!t&&r("p",{class:"task-thread-empty",children:"No updates have been sent yet."}),n.map((o,s)=>r("article",{class:"task-update task-update-user",children:[r("div",{class:"task-update-avatar","aria-hidden":"true",children:"Y"}),r("div",{class:"task-update-body",children:[r("div",{class:"task-update-meta",children:[r("span",{children:jt(o.source)}),r("time",{class:"mono",dateTime:o.ts,children:_t(o.ts)})]}),r("p",{children:o.instruction})]})]},`${o.ts}-${s}`)),t&&r("article",{class:"task-update task-update-agent",children:[r("div",{class:"task-update-avatar task-update-avatar-agent","aria-hidden":"true",children:"R"}),r("div",{class:"task-update-body",children:[r("div",{class:"task-update-meta",children:r("span",{children:"Latest from worker"})}),r("p",{class:"mono",children:t})]})]})]})]})}function jt(e){let t=(e??"").trim().toLowerCase();return!t||t==="user"||t==="web"||t==="operator"||t==="regoal"?"You":t==="steerer"||t==="rudder"?"Rudder":e??"You"}function Ft({text:e,error:t,loading:n}){let o=A(null);return N(()=>{let s=o.current;s&&(s.scrollTop=s.scrollHeight)},[e]),t?r("div",{class:"banner banner-error mono",children:["log unavailable: ",t]}):n?r("div",{class:"log-pre log-loading mono","aria-label":"Loading worker log",children:[r("div",{class:"skel skel-line",style:"width:70%"}),r("div",{class:"skel skel-line",style:"width:90%"}),r("div",{class:"skel skel-line",style:"width:55%"})]}):r("pre",{ref:o,class:"log-pre mono",children:e||"no output yet"})}function ot(e){return e.status==="failed"?e.error||"Delivery failed":e.status==="accepted"?e.mode==="resumed"?"Accepted \xB7 agent is resuming":"Accepted \xB7 agent is restarting":e.status==="delivered"?e.mode==="resumed"?"Delivered \xB7 agent resumed":"Delivered to agent":e.mode==="resumed"?"Queued \xB7 agent is resuming":e.mode==="redirected"?"Queued for the live agent":"Queued for delivery"}function pt({slug:e,targetId:t,inputId:n,label:o,submitLabel:s,placeholder:i,autoFocus:l=!1}){let[u,d]=C(""),[c,p]=C(!1),[a,_]=C(null),[f,v]=C(null);N(()=>{if(a?.state!=="queued"||!a.requestId||window.__RUDDER_CONTROL_MODE__!=="projector")return;let m=!1,g,w=async()=>{try{let x=await ye(e,a.requestId);if(m)return;if(x.status==="delivered"||x.status==="failed"){_(M=>M?.requestId===x.requestId?{...M,state:x.status,message:ot(x)}:M);return}}catch{}m||(g=window.setTimeout(w,500))};return g=window.setTimeout(w,250),()=>{m=!0,g!==void 0&&window.clearTimeout(g)}},[e,a?.state,a?.requestId]);let h=async()=>{let m=u.trim();if(!(!m||c)){p(!0),_({instruction:m,state:"sending",message:"Sending request\u2026"}),v(null);try{let g=await et(e,t,m);d(""),_({instruction:m,requestId:g.requestId,state:g.status,message:ot(g)})}catch(g){_(null),v(String(g?.message??g))}finally{p(!1)}}},y=m=>{(m.metaKey||m.ctrlKey)&&m.key==="Enter"&&(m.preventDefault(),h())};return r("form",{class:"steer",onSubmit:m=>{m.preventDefault(),h()},"aria-busy":c,children:[r("label",{class:"steer-label",for:n,children:o}),r("textarea",{id:n,class:"steer-input",rows:3,maxLength:8e3,placeholder:i,value:u,disabled:c,"data-autofocus":l?"true":void 0,"aria-describedby":`${n}-hint${a?` ${n}-status`:""}`,onInput:m=>{d(m.target.value),f&&v(null)},onKeyDown:y}),r("div",{class:"steer-actions",children:[r("span",{class:"steer-hint",id:`${n}-hint`,children:"\u2318/Ctrl + Enter to send"}),r("button",{type:"submit",class:"btn btn-accent",disabled:c||!u.trim(),children:c?"Sending\u2026":s})]}),a&&r("div",{class:`steer-feedback steer-feedback-${a.state}`,id:`${n}-status`,"aria-live":"polite",children:[r("span",{class:"steer-feedback-state",children:a.message}),r("span",{class:"steer-feedback-text",children:a.instruction})]}),f&&r("div",{class:"action-err steer-error",role:"alert",children:["Could not send: ",f]})]})}function Vt({slug:e,activity:t,canSteerConductor:n}){let o=A(null);return N(()=>{let s=o.current;s&&(s.scrollTop=s.scrollHeight)},[t]),r("div",{class:"activity",children:[n&&r("div",{class:"activity-steer",children:r(pt,{slug:e,targetId:"conductor",inputId:"conductor-update",label:"Message conductor",submitLabel:"Send update",placeholder:"Tell the live orchestrator what to do next."})}),t.length===0?r("div",{class:"empty",children:[r("div",{class:"empty-title",children:"no activity yet"}),r("div",{class:"empty-sub mono",children:"the conductor narrates what it is doing here as work runs"})]}):r("div",{class:"activity-feed",ref:o,children:t.map((s,i)=>r("div",{class:`activity-entry activity-${s.kind}`,children:[r("span",{class:"activity-dot","aria-hidden":"true"}),r("span",{class:"activity-text",children:s.text}),s.ts&&r("span",{class:"activity-ts mono",children:_t(s.ts)})]},`${s.ts??""}-${i}`))})]})}function _t(e){let t=/^\d{10,}$/.test(e.trim())?Number(e):e,n=new Date(t);return Number.isNaN(n.getTime())?"":n.toLocaleTimeString([],{hour:"2-digit",minute:"2-digit",second:"2-digit"})}function Wt({memory:e}){return e.length===0?r("div",{class:"empty",children:[r("div",{class:"empty-title",children:"no decisions recorded yet"}),r("div",{class:"empty-sub mono",children:"agents append cross-cutting decisions here as they work"})]}):r("div",{class:"memory",children:e.map((t,n)=>r("article",{class:"memory-entry",children:[r("div",{class:"memory-bead","aria-hidden":"true"}),r("div",{class:"memory-content",children:[r("p",{class:"memory-text",children:t.text}),r("div",{class:"memory-meta mono",children:[t.owner&&r("span",{class:"memory-owner",children:t.owner}),t.ts&&r("span",{class:"memory-ts",children:t.ts})]})]})]},n))})}function Kt(){return r("div",{class:"board","aria-hidden":"true",children:at.map(e=>r("section",{class:"column",children:[r("header",{class:"column-head",children:[r("span",{class:"column-title",children:e.label}),r("span",{class:"column-count mono",children:"\xB7"})]}),r("div",{class:"column-body",children:[r("div",{class:"card card-skeleton",children:[r("div",{class:"skel skel-line",style:"width:60%"}),r("div",{class:"skel skel-line",style:"width:85%"})]}),e.key==="running"&&r("div",{class:"card card-skeleton",children:[r("div",{class:"skel skel-line",style:"width:70%"}),r("div",{class:"skel skel-line",style:"width:50%"})]})]})]},e.key))})}function Yt(){let e=(window.__RUDDER_SLUG__??"").trim();return e?r(ut,{slug:e}):r(ct,{})}var ft=document.getElementById("app");ft&&Ie(r(Yt,{}),ft);
|
package/dist/board/daemon.d.ts
CHANGED
|
@@ -7,7 +7,7 @@ export declare function getBoardToken(): string;
|
|
|
7
7
|
export declare function isLoopbackHost(req: IncomingMessage): boolean;
|
|
8
8
|
export declare function hasValidToken(req: IncomingMessage): boolean;
|
|
9
9
|
import type { RudderBus } from "../bus.js";
|
|
10
|
-
import type { BoardNode, BoardSnapshot, MemoryEntry, RunStatus } from "../types.js";
|
|
10
|
+
import type { BoardNode, BoardSnapshot, MemoryEntry, RunRecord, RunStatus } from "../types.js";
|
|
11
11
|
export type BoardDaemonHandle = {
|
|
12
12
|
port: number;
|
|
13
13
|
url: string;
|
|
@@ -23,6 +23,10 @@ export declare function startBoardDaemon(opts: {
|
|
|
23
23
|
controlMode?: BoardControlMode;
|
|
24
24
|
}): Promise<BoardDaemonHandle>;
|
|
25
25
|
export declare function columnForStatus(status: RunStatus): BoardNode["column"];
|
|
26
|
+
export declare function hasVerifiedDelivery(run: RunRecord): boolean;
|
|
27
|
+
/** Process completion is terminal for direct/main-checkout work, but a requested
|
|
28
|
+
* delivery remains in review until its structured target + smoke proof exists. */
|
|
29
|
+
export declare function columnForRun(run: RunRecord): BoardNode["column"];
|
|
26
30
|
/**
|
|
27
31
|
* Memory view: parse DECISIONS.md (repo root) into entries. The current format is one
|
|
28
32
|
* `## title` block per decision, with `- **What:**` / `- **Did:**` / `- **Decision:**`
|
package/dist/board/daemon.js
CHANGED
|
@@ -960,11 +960,29 @@ export function columnForStatus(status) {
|
|
|
960
960
|
case "merged":
|
|
961
961
|
case "failed":
|
|
962
962
|
case "cancelled":
|
|
963
|
+
case "paused":
|
|
963
964
|
return "done";
|
|
964
965
|
default:
|
|
965
966
|
return "todo";
|
|
966
967
|
}
|
|
967
968
|
}
|
|
969
|
+
export function hasVerifiedDelivery(run) {
|
|
970
|
+
const delivery = run.delivery;
|
|
971
|
+
return Boolean(delivery?.required &&
|
|
972
|
+
(delivery.status === "deployed" || delivery.status === "verified") &&
|
|
973
|
+
delivery.kind?.trim() &&
|
|
974
|
+
delivery.target?.trim() &&
|
|
975
|
+
delivery.verifiedAt?.trim() &&
|
|
976
|
+
delivery.checks?.length);
|
|
977
|
+
}
|
|
978
|
+
/** Process completion is terminal for direct/main-checkout work, but a requested
|
|
979
|
+
* delivery remains in review until its structured target + smoke proof exists. */
|
|
980
|
+
export function columnForRun(run) {
|
|
981
|
+
if (run.status === "completed" && !run.worktree.enabled) {
|
|
982
|
+
return run.delivery?.required && !hasVerifiedDelivery(run) ? "review" : "done";
|
|
983
|
+
}
|
|
984
|
+
return columnForStatus(run.status);
|
|
985
|
+
}
|
|
968
986
|
function userUpdates(run) {
|
|
969
987
|
const turns = run.turns ?? [];
|
|
970
988
|
const start = turns[0]?.prompt === run.task ? 1 : 0;
|
|
@@ -981,7 +999,7 @@ function projectRunToNode(run, lastLine, graphNode) {
|
|
|
981
999
|
runId: run.id,
|
|
982
1000
|
title: graphNode?.title || run.taskSummary || run.task,
|
|
983
1001
|
status: graphNode?.status ?? run.status,
|
|
984
|
-
column: graphNode ? columnForNodeStatus(graphNode.status) :
|
|
1002
|
+
column: graphNode ? columnForNodeStatus(graphNode.status) : columnForRun(run),
|
|
985
1003
|
blocked: graphNode?.status === "blocked",
|
|
986
1004
|
backend: run.backend,
|
|
987
1005
|
model: run.model,
|
|
@@ -995,6 +1013,7 @@ function projectRunToNode(run, lastLine, graphNode) {
|
|
|
995
1013
|
? { path: run.worktree.path, workspaceName: run.worktree.workspaceName }
|
|
996
1014
|
: null,
|
|
997
1015
|
merge: run.merge ?? null,
|
|
1016
|
+
delivery: run.delivery,
|
|
998
1017
|
updates: userUpdates(run),
|
|
999
1018
|
};
|
|
1000
1019
|
}
|
|
@@ -1110,7 +1129,7 @@ async function buildProjectSummary(project) {
|
|
|
1110
1129
|
counts.failed += 1;
|
|
1111
1130
|
}
|
|
1112
1131
|
else {
|
|
1113
|
-
counts[
|
|
1132
|
+
counts[columnForRun(run)] += 1;
|
|
1114
1133
|
}
|
|
1115
1134
|
const stamp = run.updatedAt || run.createdAt;
|
|
1116
1135
|
if (stamp && stamp > lastActivityAt) {
|