taskchef 8.7.1 → 9.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.codex-plugin/plugin.json +7 -10
- package/.mcp.json +3 -2
- package/README.md +31 -158
- package/docs/mcp-app.md +3 -3
- package/docs/spec.md +38 -746
- package/docs/taskchef-next-storage.md +2 -2
- package/index.js +2 -99
- package/package.json +12 -49
- package/skills/delegate/SKILL.md +44 -0
- package/skills/delegate/agents/openai.yaml +4 -0
- package/src/codex-app.js +3 -152
- package/src/codex-session-scanner.js +2 -2
- package/src/file-lock.js +25 -0
- package/src/mcp-app/react/NextTaskDetail.test.tsx +1 -1
- package/src/mcp-app/react/NextTaskDetail.tsx +8 -8
- package/src/mcp-app/react/main.test.tsx +3 -3
- package/src/mcp-app/react/main.tsx +7 -7
- package/src/mcp-app.js +2 -2
- package/src/mcp.js +4 -542
- package/src/next-cache.js +2 -2
- package/src/next-github.js +3 -3
- package/src/next-notifications.js +2 -2
- package/src/{dashboard/react → ui}/components/CardStatusIcons.tsx +1 -1
- package/src/{dashboard/react → ui}/components/GitHubLinks.tsx +1 -1
- package/src/{dashboard/react → ui}/components/LinkedText.tsx +1 -1
- package/src/{dashboard/react → ui}/components/RelativeTime.test.tsx +1 -1
- package/src/{dashboard/react → ui}/components/RelativeTime.tsx +1 -1
- package/src/{dashboard/react → ui}/components/ReplyImagePreview.test.tsx +1 -1
- package/src/{dashboard/react → ui}/components/TaskBoard.tsx +1 -1
- package/src/{dashboard/react → ui}/components/TaskCard.tsx +1 -1
- package/src/{dashboard/react → ui}/components/TurnContent.tsx +1 -1
- package/src/{dashboard/react → ui}/presentation.ts +1 -1
- package/src/version.js +0 -1
- package/BACKLOG.md +0 -48
- package/assets/e2e-benchmark-example.json +0 -50
- package/assets/taskchef-dispatcher-instructions.md +0 -44
- package/bin/taskchef.js +0 -20
- package/docs/advanced-guide.md +0 -497
- package/docs/dashboard-lifecycle.md +0 -149
- package/docs/dashboard-ui.md +0 -40
- package/docs/firstmate-taskchef-comparison.md +0 -283
- package/docs/images/ccusage-token-consumption.png +0 -0
- package/docs/images/dashboard-identity.jpg +0 -0
- package/docs/images/dashboard-token-pending.jpg +0 -0
- package/docs/images/interrupted-turn-recovery.jpg +0 -0
- package/docs/images/notification-event-snapshots.jpg +0 -0
- package/docs/images/readme-board.png +0 -0
- package/docs/images/readme-completed.png +0 -0
- package/docs/images/readme-list.png +0 -0
- package/docs/images/readme-needs-input.png +0 -0
- package/docs/images/readme-roles.png +0 -0
- package/docs/images/reported-work-duration-desktop.jpg +0 -0
- package/docs/images/reported-work-duration-mobile.jpg +0 -0
- package/docs/images/result-history-dashboard.jpg +0 -0
- package/docs/images/taskchef-pr-icon-comparison.jpg +0 -0
- package/docs/images/taskchef-unified-status-popup.jpg +0 -0
- package/docs/workflows.md +0 -476
- package/mcp/dashboard-session.js +0 -51
- package/scripts/benchmark-dispatch-prepare.js +0 -90
- package/scripts/e2e-benchmark.js +0 -206
- package/scripts/roles/resolve_roles.py +0 -293
- package/skills/taskchef-bootstrap/SKILL.md +0 -96
- package/skills/taskchef-bootstrap/agents/openai.yaml +0 -4
- package/skills/taskchef-bootstrap/references/project-index.md +0 -154
- package/skills/taskchef-copilot/SKILL.md +0 -75
- package/skills/taskchef-copilot/agents/openai.yaml +0 -4
- package/skills/taskchef-dashboard/SKILL.md +0 -24
- package/skills/taskchef-dashboard/agents/openai.yaml +0 -4
- package/skills/taskchef-delegate/SKILL.md +0 -102
- package/skills/taskchef-delegate/agents/openai.yaml +0 -4
- package/skills/taskchef-delegate/references/model-roles.md +0 -29
- package/skills/taskchef-executor/SKILL.md +0 -154
- package/skills/taskchef-executor/agents/openai.yaml +0 -4
- package/skills/taskchef-executor/references/compatibility.md +0 -22
- package/skills/taskchef-executor/references/ending-actions.md +0 -26
- package/src/backups.js +0 -359
- package/src/cli.js +0 -733
- package/src/config-audit.js +0 -99
- package/src/config-mutations.js +0 -106
- package/src/dashboard/actions.js +0 -136
- package/src/dashboard/app.js +0 -1172
- package/src/dashboard/dist/app.js +0 -269
- package/src/dashboard/dist/app.js.map +0 -1
- package/src/dashboard/dist/index.html +0 -16
- package/src/dashboard/dist/styles.css +0 -1
- package/src/dashboard/index.html +0 -148
- package/src/dashboard/react/App.test.tsx +0 -346
- package/src/dashboard/react/App.tsx +0 -515
- package/src/dashboard/react/api.test.ts +0 -40
- package/src/dashboard/react/api.ts +0 -103
- package/src/dashboard/react/components/ActivityTimeline.tsx +0 -118
- package/src/dashboard/react/components/ModelSettings.test.tsx +0 -180
- package/src/dashboard/react/components/ModelSettings.tsx +0 -106
- package/src/dashboard/react/components/NotificationCenter.test.tsx +0 -76
- package/src/dashboard/react/components/NotificationCenter.tsx +0 -111
- package/src/dashboard/react/components/PullRequestBadges.tsx +0 -18
- package/src/dashboard/react/components/TaskDetail.test.tsx +0 -255
- package/src/dashboard/react/components/TaskDetail.tsx +0 -271
- package/src/dashboard/react/components/UsagePanel.tsx +0 -96
- package/src/dashboard/react/index.html +0 -15
- package/src/dashboard/react/main.tsx +0 -12
- package/src/dashboard/react/overlay-state.test.ts +0 -110
- package/src/dashboard/react/overlay-state.ts +0 -60
- package/src/dashboard/react/presentation.test.tsx +0 -571
- package/src/dashboard/styles.css +0 -261
- package/src/dashboard-control.js +0 -34
- package/src/dashboard-manager.js +0 -339
- package/src/dashboard-session-process.js +0 -88
- package/src/dashboard-session.js +0 -86
- package/src/dashboard.js +0 -1303
- package/src/delegation.js +0 -277
- package/src/github.js +0 -107
- package/src/model-roles.js +0 -70
- package/src/recorded-usage-tracker.js +0 -92
- package/src/usage-tracker.js +0 -650
- package/src/usage.js +0 -367
- package/src/workspace-path.js +0 -48
- package/src/workspace.js +0 -3629
- /package/src/{dashboard/react → ui}/components/AnimatedUsage.test.tsx +0 -0
- /package/src/{dashboard/react → ui}/components/CardStatusIcons.test.tsx +0 -0
- /package/src/{dashboard/react → ui}/components/ImageGallery.tsx +0 -0
- /package/src/{dashboard/react → ui}/components/OpenChatButton.test.tsx +0 -0
- /package/src/{dashboard/react → ui}/components/OpenChatButton.tsx +0 -0
- /package/src/{dashboard/react → ui}/components/PrGlyph.tsx +0 -0
- /package/src/{dashboard/react → ui}/components/QueuedPrompts.test.tsx +0 -0
- /package/src/{dashboard/react → ui}/components/QueuedPrompts.tsx +0 -0
- /package/src/{dashboard/react → ui}/components/ReplyCover.test.tsx +0 -0
- /package/src/{dashboard/react → ui}/components/ReplyCover.tsx +0 -0
- /package/src/{dashboard/react → ui}/components/ReplyImagePreview.tsx +0 -0
- /package/src/{dashboard/react → ui}/components/ReplyMarkdown.test.tsx +0 -0
- /package/src/{dashboard/react → ui}/components/ReplyMarkdown.tsx +0 -0
- /package/src/{dashboard/react → ui}/components/SavedUsageFormat.test.tsx +0 -0
- /package/src/{dashboard/react → ui}/components/SavedUsageFormat.tsx +0 -0
- /package/src/{dashboard/react → ui}/components/ShimmerText.tsx +0 -0
- /package/src/{dashboard/react → ui}/components/StatsGrid.tsx +0 -0
- /package/src/{dashboard/react → ui}/components/StatusBadge.tsx +0 -0
- /package/src/{dashboard/react → ui}/components/TaskBoard.test.tsx +0 -0
- /package/src/{dashboard/react → ui}/components/TaskCardStats.test.tsx +0 -0
- /package/src/{dashboard/react → ui}/components/TaskCardStats.tsx +0 -0
- /package/src/{dashboard/react → ui}/components/TurnContent.test.tsx +0 -0
- /package/src/{dashboard/react → ui}/fixtures.ts +0 -0
- /package/src/{dashboard → ui}/github-links.js +0 -0
- /package/src/{dashboard/react → ui}/image-cache.test.ts +0 -0
- /package/src/{dashboard/react → ui}/image-cache.ts +0 -0
- /package/src/{dashboard → ui}/state.js +0 -0
- /package/src/{dashboard/react → ui}/styles.css +0 -0
- /package/src/{dashboard/react → ui}/test-setup.ts +0 -0
- /package/src/{dashboard → ui}/time.js +0 -0
- /package/src/{dashboard/react → ui}/types.ts +0 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "taskchef",
|
|
3
|
-
"version": "
|
|
4
|
-
"description": "
|
|
3
|
+
"version": "9.0.0",
|
|
4
|
+
"description": "Native Codex dashboard with lightweight project delegation.",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Favo Yang",
|
|
7
7
|
"url": "https://github.com/favoyang"
|
|
@@ -11,16 +11,16 @@
|
|
|
11
11
|
"license": "Apache-2.0",
|
|
12
12
|
"keywords": [
|
|
13
13
|
"codex",
|
|
14
|
-
"
|
|
15
|
-
"
|
|
14
|
+
"dashboard",
|
|
15
|
+
"usage",
|
|
16
16
|
"tasks"
|
|
17
17
|
],
|
|
18
18
|
"skills": "./skills/",
|
|
19
19
|
"mcpServers": "./.mcp.json",
|
|
20
20
|
"interface": {
|
|
21
21
|
"displayName": "TaskChef",
|
|
22
|
-
"shortDescription": "
|
|
23
|
-
"longDescription": "
|
|
22
|
+
"shortDescription": "See your Codex chats, usage, and pull requests.",
|
|
23
|
+
"longDescription": "A native dashboard for local Codex chats with usage estimates, pull request status, queued prompts, and schedules. Delegate work through native Codex project tools.",
|
|
24
24
|
"developerName": "Favo Yang",
|
|
25
25
|
"category": "Productivity",
|
|
26
26
|
"capabilities": [
|
|
@@ -29,10 +29,7 @@
|
|
|
29
29
|
],
|
|
30
30
|
"websiteURL": "https://github.com/favoyang/taskchef",
|
|
31
31
|
"defaultPrompt": [
|
|
32
|
-
"$taskchef
|
|
33
|
-
"$taskchef-delegate Do X in Y project.",
|
|
34
|
-
"$taskchef-dashboard Ensure and open the TaskChef dashboard.",
|
|
35
|
-
"$taskchef-copilot Summarize recent delegated work and tell me what needs attention."
|
|
32
|
+
"$taskchef:delegate Do X in Y project."
|
|
36
33
|
],
|
|
37
34
|
"brandColor": "#D97706",
|
|
38
35
|
"composerIcon": "./assets/taskchef.svg",
|
package/.mcp.json
CHANGED
package/README.md
CHANGED
|
@@ -1,173 +1,46 @@
|
|
|
1
1
|
# TaskChef
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
A native dashboard for your Codex chats. See running work, questions that need
|
|
4
|
+
answers, queued prompts, usage estimates, schedules, and pull request status.
|
|
5
|
+
Chats appear regardless of how they were started.
|
|
4
6
|
|
|
5
|
-
|
|
6
|
-
find each conversation again, and check which tasks are waiting for you.
|
|
7
|
-
TaskChef gives you one dispatcher conversation as a central place to talk to
|
|
8
|
-
agents and delegate work across projects, plus a dashboard for seeing what
|
|
9
|
-
needs your attention.
|
|
7
|
+
## Install
|
|
10
8
|
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
separate, ordinary Codex tasks in those projects. Each has its own conversation
|
|
15
|
-
and native tools, and tasks can run in parallel.
|
|
9
|
+
Install **TaskChef** from the `favoyang-plugins` Codex marketplace. TaskChef uses
|
|
10
|
+
a local Node.js MCP server; Node.js 22.18+, 23.2+, or 24+ is required. Open **TaskChef**
|
|
11
|
+
from the Codex sidebar. No dispatcher workspace or project indexing is needed.
|
|
16
12
|
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
13
|
+
Codex databases and logs stay on your computer and remain the source of truth.
|
|
14
|
+
TaskChef keeps its own settings, manual Done marks, notification state, and
|
|
15
|
+
rebuildable caches. Optional GitHub authentication provides live PR status;
|
|
16
|
+
usage prices are API-equivalent estimates, not subscription billing.
|
|
20
17
|
|
|
21
|
-
##
|
|
18
|
+
## Delegate
|
|
22
19
|
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
20
|
+
From Codex's floating chat, use `$taskchef:delegate Do X in Y project.` The skill finds
|
|
21
|
+
native projects and creates an ordinary Codex chat. It asks when the destination
|
|
22
|
+
is unclear and returns the chat link. There is no executor skill or separate
|
|
23
|
+
task database. Confirmed project aliases can be retained as small routing notes.
|
|
26
24
|
|
|
27
|
-
|
|
28
|
-
Investigate this issue, fix the cause, and run the relevant tests: https://github.com/example/payments/issues/42
|
|
29
|
-
```
|
|
30
|
-
|
|
31
|
-
TaskChef uses the issue URL's repository to identify the mapped payments
|
|
32
|
-
project. It then opens a separate Codex task there and returns its link. The
|
|
33
|
-
task investigates the issue in its own conversation while other delegated
|
|
34
|
-
tasks can work in recipe-book or other projects.
|
|
35
|
-
|
|
36
|
-
In the same dispatcher conversation, start another task from a rough idea:
|
|
37
|
-
|
|
38
|
-
```text
|
|
39
|
-
In recipe-book, explore an idea for weekly meal planning. Discuss the approach with me before coding.
|
|
40
|
-
```
|
|
41
|
-
|
|
42
|
-
TaskChef selects recipe-book by name and opens a separate task there. Discuss
|
|
43
|
-
the options in that task. If a written plan would help, ask it to save a
|
|
44
|
-
Markdown plan, then ask it to implement the agreed approach in the same task.
|
|
45
|
-
A plan file is created when you request one; it is not a required step for
|
|
46
|
-
every task.
|
|
47
|
-
|
|
48
|
-
The screenshots in this walkthrough use illustrative demo data. Open the
|
|
49
|
-
dashboard beside TaskChef master to see both tasks across your projects.
|
|
50
|
-
In Codex, call `open_taskchef_board` for the [TaskChef sidebar](docs/mcp-app.md).
|
|
51
|
-
It reads local Codex data and groups chats as **Scheduled**, **Running**,
|
|
52
|
-
**Waiting for input/review**, and **Done**. Interrupted chats stay in Waiting with an **Interrupted** tag. Empty board columns remain visible with a short message. Ambiguous records stay
|
|
53
|
-
**Unverified**. Running follows the latest selected turn
|
|
54
|
-
state; these labels do not prove task outcomes. Mark Done writes only TaskChef's separate local state. A new Codex turn
|
|
55
|
-
resets that mark.
|
|
56
|
-
The main dashboard's **Board** groups reported tasks by **Working**,
|
|
57
|
-
**Needs input**, **Completed**, and **Failed** so you can see their status at a glance.
|
|
58
|
-
|
|
59
|
-

|
|
60
|
-
|
|
61
|
-
*Board gives an overview of task status across projects.*
|
|
62
|
-
|
|
63
|
-
If the payments task needs a decision, it might ask, for example, whether to
|
|
64
|
-
show a failed refund beside the original payment or in a separate list. Switch
|
|
65
|
-
to **List** to see each task's request, latest result, and status in rows. Filter
|
|
66
|
-
by **Needs input** to focus on the payments task's question.
|
|
67
|
-
|
|
68
|
-

|
|
69
|
-
|
|
70
|
-
*List shows the payments request and result in the Needs input queue.*
|
|
71
|
-
|
|
72
|
-
Select the payments task and choose **Open chat** to answer in its original
|
|
73
|
-
Codex conversation.
|
|
74
|
-
|
|
75
|
-

|
|
76
|
-
|
|
77
|
-
*Payments task details show the question and the Open chat action.*
|
|
78
|
-
|
|
79
|
-
In that conversation, answer the question and ask the task to finish:
|
|
80
|
-
|
|
81
|
-
```text
|
|
82
|
-
Show failed refunds beside the original payment. Implement it and run the tests.
|
|
83
|
-
```
|
|
84
|
-
|
|
85
|
-
When the work finishes, its result appears on the dashboard; TaskChef does
|
|
86
|
-
not post each result back into the dispatcher chat.
|
|
25
|
+
## Upgrade from the dispatcher
|
|
87
26
|
|
|
88
|
-
|
|
27
|
+
The dispatcher CLI, five old skills, task tracking tools, and web server are
|
|
28
|
+
retired. Existing dispatcher workspaces and task logs are left untouched on
|
|
29
|
+
disk; they are no longer live state. Native settings remain in their existing
|
|
30
|
+
location. See the [native contract](docs/spec.md) and
|
|
31
|
+
[storage notes](docs/taskchef-next-storage.md).
|
|
89
32
|
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
Keep the dashboard beside your conversation in Codex's built-in browser. It
|
|
93
|
-
shows each task's latest request and result. Open a task to see its total
|
|
94
|
-
reported work duration, token usage, and estimated cost, with the same figures
|
|
95
|
-
for each turn in its activity timeline. Duration is reported wall-clock time
|
|
96
|
-
spent on turns; cost is an API-equivalent estimate, not a bill. Token and cost
|
|
97
|
-
figures can be unavailable when usage cannot be mapped to the Codex task.
|
|
98
|
-
Task states normally come from the task's own reports; TaskChef does not
|
|
99
|
-
automatically supervise execution.
|
|
100
|
-
|
|
101
|
-
## Install and delegate your first task
|
|
102
|
-
|
|
103
|
-
You need Node.js 18 or newer, Git, Codex desktop, and local access to the
|
|
104
|
-
projects that will receive work. Install the plugin:
|
|
33
|
+
## Development
|
|
105
34
|
|
|
106
35
|
```sh
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
For the first run, set up the TaskChef dispatcher and import your saved local
|
|
112
|
-
Codex projects:
|
|
113
|
-
|
|
114
|
-
```text
|
|
115
|
-
$taskchef-bootstrap Set up TaskChef and index my local Codex projects.
|
|
116
|
-
```
|
|
117
|
-
|
|
118
|
-
After bootstrap, choose **New chat** in Codex and select the TaskChef dispatcher
|
|
119
|
-
project at `~/.agents/taskchef`. We suggest renaming the new conversation
|
|
120
|
-
**TaskChef master**, then pinning it for easy return. Bootstrap registers and
|
|
121
|
-
opens the project; you create, rename, and pin the conversation yourself.
|
|
122
|
-
Replace `<your-project>` with one of your indexed
|
|
123
|
-
Codex project names and try a read-only first request:
|
|
124
|
-
|
|
125
|
-
```text
|
|
126
|
-
In <your-project>, explain how to run the app and tests. Do not change files.
|
|
36
|
+
npm ci
|
|
37
|
+
npm test
|
|
38
|
+
npm run check:mcp-app
|
|
39
|
+
npm run build:mcp-app
|
|
127
40
|
```
|
|
128
41
|
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
plugin activates. Open the [dashboard link](http://127.0.0.1:3210/) from the
|
|
133
|
-
end of each dispatcher response in Codex's side browser, beside your
|
|
134
|
-
conversation. If the dashboard is unavailable, ask `$taskchef-dashboard` to
|
|
135
|
-
ensure and open it. Use `$taskchef-bootstrap` to add repository mappings or
|
|
136
|
-
refine project descriptions when routing needs more context. If the installed
|
|
137
|
-
skills do not appear, activate or reload the TaskChef plugin in Codex and try
|
|
138
|
-
again.
|
|
139
|
-
|
|
140
|
-
## Choose models for each role
|
|
141
|
-
|
|
142
|
-
In the dashboard's **Settings** page, choose a model and reasoning effort for
|
|
143
|
-
the **Orchestrator**, **Planner**, **Implementer**, and **Reviewer** roles.
|
|
144
|
-
TaskChef saves these preferences in native Codex agent files under
|
|
145
|
-
`~/.codex/agents/` and applies them when it dispatches the corresponding work.
|
|
146
|
-
Set them once for future tasks; a model choice you make explicitly for a task
|
|
147
|
-
takes precedence over its role preference.
|
|
148
|
-
|
|
149
|
-

|
|
150
|
-
|
|
151
|
-
*Settings shows the model and reasoning effort selected for each role.*
|
|
152
|
-
|
|
153
|
-
## More detail
|
|
154
|
-
|
|
155
|
-
Read the [frequently asked questions](https://favoyang.com/taskchef/#faq) for
|
|
156
|
-
answers about delegation, the dashboard, model roles, and local data.
|
|
157
|
-
|
|
158
|
-
The [advanced guide](docs/advanced-guide.md) covers project indexing, routing,
|
|
159
|
-
task reporting, dashboard behavior, recovery, updates, and development. The
|
|
160
|
-
[specification](docs/spec.md) and [workflows](docs/workflows.md) describe the
|
|
161
|
-
implementation contracts. TaskChef was inspired by
|
|
162
|
-
[FirstMate](https://github.com/kunchenguid/firstmate); the
|
|
163
|
-
[comparison](docs/firstmate-taskchef-comparison.md) explains their different
|
|
164
|
-
approaches.
|
|
165
|
-
|
|
166
|
-
## License
|
|
167
|
-
|
|
168
|
-
Copyright 2026 Favo Yang. TaskChef is licensed under the
|
|
169
|
-
[Apache License 2.0](LICENSE).
|
|
42
|
+
Keep the release plugin named **TaskChef** and the separately packaged
|
|
43
|
+
`taskchef-next` plugin named **TaskChef Dev**. See
|
|
44
|
+
[development packaging](docs/mcp-app.md#development-plugin-identity).
|
|
170
45
|
|
|
171
|
-
|
|
172
|
-
are excluded from TaskChef's license; see the
|
|
173
|
-
[Codex asset notice](assets/CODEX_ASSET_NOTICE.md).
|
|
46
|
+
[Native app guide](docs/mcp-app.md) · [GitHub setup](docs/taskchef-next-github.md)
|
package/docs/mcp-app.md
CHANGED
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
The public app name is **TaskChef**. “TaskChef Next” remains the internal project name.
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
The native dashboard requires Node.js 22.18+, 23.2+, or 24+ for local Codex SQLite access.
|
|
6
6
|
|
|
7
|
-
Call `open_taskchef_board` in Codex to open **TaskChef**. In a sidebar or fullscreen host view, it shows the read-only board, filters, and chat details. In an inline chat view, it shows a short recent-chat list with direct **Open chat** actions. The app uses local Codex metadata and does not
|
|
7
|
+
Call `open_taskchef_board` in Codex to open **TaskChef**. In a sidebar or fullscreen host view, it shows the read-only board, filters, and chat details. In an inline chat view, it shows a short recent-chat list with direct **Open chat** actions. The app uses local Codex metadata and does not require a dispatcher workspace.
|
|
8
8
|
|
|
9
9
|
The server reads all eligible top-level chats from `~/.codex/state_5.sqlite` and their latest turn from `~/.codex/thread_history_1.sqlite`. Both SQLite connections are read-only. It excludes typed subagents and Guardian reviews, JSON subagent sources, known `thread_spawn_edges` children, chats with no turn record. Standalone `source=exec` and regular `source=cli` chats remain eligible in the collector, but the view hides them by default. The plugin details page has native switches for Show exec sessions, Show CLI sessions, and Show archived chats. The MCP server stores these choices in `~/.agents/taskchef-next/settings.json`, shared by all TaskChef views. Each visible poll reads the current settings, even when the database snapshot is unchanged. These choices apply to the board, counts, project choices, Details eligibility, and the compact inline view. Archived chats are hidden by default and use their own Archived column when shown. Details shows the recorded lifetime direct child count. Names and titles can contain user text; the app prefers name, then title, then a chat ID fallback.
|
|
10
10
|
|
|
@@ -49,7 +49,7 @@ Cards show the chat title, project, a plain two-line preview, activity time, and
|
|
|
49
49
|
|
|
50
50
|
Details pairs the full recorded latest-turn request and response, each initially capped at three lines with independent Show more/Show less controls. Selected quotes render as Markdown quotes and file/image references as named attachments. Generated request headings and context metadata are hidden in the display. Recorded input remains unchanged. Raw HTML is ignored and relative file links appear as text.
|
|
51
51
|
|
|
52
|
-
Time labels use compact relative dates by default, with calendar dates available in settings. Schedule and PR icons appear in the status line. Queue reasons and lifetime subagent counts remain in Details. See [
|
|
52
|
+
Time labels use compact relative dates by default, with calendar dates available in settings. Schedule and PR icons appear in the status line. Queue reasons and lifetime subagent counts remain in Details. See [the native contract](spec.md) for the product boundary.
|
|
53
53
|
|
|
54
54
|
|
|
55
55
|
|