Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
136 commits
Select commit Hold shift + click to select a range
61699b2
feat(web-shell): add session workflow cockpit
yiliang114 Aug 5, 2026
30fd65a
feat(web-shell): add session workflow cockpit demo
yiliang114 Aug 5, 2026
83047ee
fix(web-shell): integrate cockpit with shell layout
yiliang114 Aug 5, 2026
f23809e
fix(web-shell): unify cockpit with app theme
yiliang114 Aug 5, 2026
75d3463
fix(web-shell): finish cockpit demo experience
yiliang114 Aug 5, 2026
ddaad6e
fix(web-shell): integrate cockpit navigation
yiliang114 Aug 5, 2026
a8d340e
style(web-shell): normalize the session workflow cockpit's design tokens
yiliang114 Aug 5, 2026
ca2e25e
Merge remote-tracking branch 'origin/main' into codex/session-workflo…
yiliang114 Aug 5, 2026
2561abb
feat(session-workflow): complete experimental cockpit data flow
yiliang114 Aug 5, 2026
bfbf57d
Merge remote-tracking branch 'origin/main' into codex/session-workflo…
yiliang114 Aug 5, 2026
579da08
style(web-shell): size the plan dialog to its graph and unify node edges
yiliang114 Aug 6, 2026
ca0e3cd
fix(web-shell): polish session workflow review UI
yiliang114 Aug 6, 2026
8296587
Merge remote-tracking branch 'origin/main' into codex/session-workflo…
yiliang114 Aug 8, 2026
6d82a50
fix(web-shell): polish session workflow interactions
yiliang114 Aug 8, 2026
7811fbd
Merge remote-tracking branch 'origin/main' into codex/session-workflo…
yiliang114 Aug 8, 2026
679ce62
fix(web-shell): polish session workflow interactions
yiliang114 Aug 8, 2026
8f51e7e
fix(web-shell): keep complex cockpit plans readable
yiliang114 Aug 8, 2026
c6d2f43
fix(web-shell): refine cockpit layout and dag geometry
yiliang114 Aug 8, 2026
fc854ec
Merge commit '39fc769d3a49a883d250914d8f705b6b3735720c' into fix/8583…
yiliang114 Aug 19, 2026
40e52f6
refactor(web-shell): unify session workflow views
yiliang114 Aug 19, 2026
ce36ab1
fix(web-shell): make the plan graph legible under load
yiliang114 Aug 20, 2026
02b397b
refactor(web-shell): tighten the workflow page hierarchy and graph re…
yiliang114 Aug 20, 2026
80aa051
fix(web-shell): explain a skipped plan graph and trace it from the ke…
yiliang114 Aug 20, 2026
c145be6
fix(cli): freeze approved workflow revision
yiliang114 Aug 20, 2026
29304b2
Merge remote-tracking branch 'origin/main' into codex/session-workflo…
yiliang114 Aug 20, 2026
c4e1c01
test(cli): enter plan mode for revision restore
yiliang114 Aug 20, 2026
411ee40
Merge remote-tracking branch 'origin/main' into codex/session-workflo…
yiliang114 Aug 20, 2026
18d7054
fix(cli): preserve reviewable workflow revision
yiliang114 Aug 20, 2026
35aae79
fix(cli): close workflow runtime boundaries
yiliang114 Aug 20, 2026
33b0449
test(cli): type workflow runtime mock
yiliang114 Aug 20, 2026
91ae55d
fix(cli): synchronize workflow runtime state
yiliang114 Aug 20, 2026
b4af0a2
fix(core): split replaced workflow plans
yiliang114 Aug 20, 2026
15cc8d4
fix(web-shell): resolve the R1 review round on the session workflow path
yiliang114 Aug 20, 2026
26728b2
fix(serve): apply the effective session-workflow value only on the pr…
yiliang114 Aug 21, 2026
2dce6d9
merge: origin/main into codex/session-workflow-cockpit-demo
yiliang114 Aug 21, 2026
00f36e4
fix(core): checkpoint of in-progress R2-1/R2-5 fixes; tests follow
yiliang114 Aug 21, 2026
f3fea6a
fix(cli): checkpoint of in-progress R2-2/R2-3/R2-4 fixes; tests follow
yiliang114 Aug 21, 2026
8d96322
fix(web-shell): checkpoint of in-progress R2-6/R2-7/R2-8/R2-15 fixes;…
yiliang114 Aug 21, 2026
548b16a
test(cli): pin R2-2/R2-3 semantics (mutation-verified)
yiliang114 Aug 21, 2026
d9669ed
test(cli): pin R2-4 effective-value push on the qualified settings route
yiliang114 Aug 21, 2026
fc628d3
test(core): pin R2-11 cold-resume clearing of stats/recentActivities
yiliang114 Aug 21, 2026
0776b03
test(core): pin R2-5 hot-continuation clearing of stats/recentActivities
yiliang114 Aug 21, 2026
9c62fb0
test(web-shell): pin R2-8 vertical locate + R2-12 floored progress
yiliang114 Aug 21, 2026
9228168
fix(cli): guard same-value Session Workflow writes from re-clearing p…
yiliang114 Aug 22, 2026
9d36b0a
fix(web-shell): keep the submit guard armed against stale request rej…
yiliang114 Aug 22, 2026
e656745
fix(web-shell): strip cockpit deep link when a controlled host takes …
yiliang114 Aug 22, 2026
f45520b
test(cli): pin R2-10 setMode exit-plan revision clear (mutation-verif…
yiliang114 Aug 23, 2026
e08a5d8
test(web-shell): pin R2-13 cockpit eviction on disabled revalidation …
yiliang114 Aug 23, 2026
733cf31
fix(cli): skip Session Workflow gate clears when live sessions alread…
yiliang114 Aug 23, 2026
a859f2b
test(cli): pin Session Workflow reload no-op against a stale settings…
yiliang114 Aug 23, 2026
11dc051
fix(web-shell): mark the locate button as plan-interactive for host k…
yiliang114 Aug 23, 2026
f70ed9a
fix(web-shell): add the data-plan-interactive marker on the locate bu…
yiliang114 Aug 23, 2026
7d555a4
fix(core): write subagent Session Workflow revision mutations through…
yiliang114 Aug 23, 2026
e71abcf
fix(web-shell): rethrow main-chat approval submission rejections so t…
yiliang114 Aug 23, 2026
6152b18
fix(web-shell): strip a stale cockpit deep link when a controlled spl…
yiliang114 Aug 23, 2026
2ce2651
fix(core): keep the Session Workflow gate check a pure read
yiliang114 Aug 23, 2026
45d5754
fix(core): write InProcessBackend per-agent revision mutations throug…
yiliang114 Aug 23, 2026
9ca547e
fix(core): cast the per-agent runtime context through unknown in the …
yiliang114 Aug 23, 2026
539b23c
fix(cli): pin the session Session Workflow gate at construction inste…
yiliang114 Aug 23, 2026
2b56809
fix(cli): apply the reloaded Session Workflow gate to live sessions u…
yiliang114 Aug 23, 2026
29f4493
fix(cli): serialize the Session Workflow settings write, readback, an…
yiliang114 Aug 23, 2026
d754ad1
fix(web-shell): include edge identity in the plan graph measure-skip …
yiliang114 Aug 23, 2026
8689951
test(cli): report the effective Session Workflow gate in workspace re…
yiliang114 Aug 23, 2026
1ecaeef
Merge remote-tracking branch 'origin/main' into codex/session-workflo…
yiliang114 Aug 23, 2026
9641b8b
fix(core): write workflow dir-scoped and schema Config overrides thro…
yiliang114 Aug 23, 2026
1f58275
fix(web-shell): count the Active agents strip from the same execution…
yiliang114 Aug 23, 2026
16f72b4
chore(ci): refresh the cd-cua-driver.yml size baseline
yiliang114 Aug 23, 2026
b9a3ac2
fix(cli): apply the reloaded approval mode to live sessions unconditi…
yiliang114 Aug 23, 2026
dd28ecb
fix(web-shell): keep cockpit entry focus under StrictMode effect replay
yiliang114 Aug 24, 2026
abbd107
fix(web-shell): tally cockpit attention stats from the queue's own su…
yiliang114 Aug 24, 2026
2ea15c5
Merge remote-tracking branch 'origin/main' into HEAD
yiliang114 Aug 24, 2026
4b186b9
feat(web-shell): add workflow inspector
yiliang114 Aug 24, 2026
3a0f3f5
fix(cli): reject stale workflow plan approvals
yiliang114 Aug 24, 2026
1214ed4
test: cover workflow approval transitions
yiliang114 Aug 24, 2026
28054d3
feat(web-shell): prioritize workflow step progress
yiliang114 Aug 24, 2026
2546ad7
fix(core): drop preserved todo deps removed by the same update
yiliang114 Aug 25, 2026
b419d52
fix(web-shell): unify strip and inspector active agent tally
yiliang114 Aug 25, 2026
61d818c
fix(web-shell): repair theme, type, and state defects in session work…
yiliang114 Aug 25, 2026
3a3cd19
fix(web-shell): give the workflow activity time a machine-readable value
yiliang114 Aug 25, 2026
9a3d76d
fix(cli): apply reloaded approval mode only when the file value changed
yiliang114 Aug 25, 2026
5b3853e
fix(cli): notify settings observers when the live Session Workflow pu…
yiliang114 Aug 25, 2026
860bf67
refactor(web-shell): drop the unrelated ToggleGroupItem ref conversion
yiliang114 Aug 25, 2026
f6786cd
fix(core): let todo updates reverse dependency chains with preserved …
yiliang114 Aug 25, 2026
840955f
fix(cli): pin the Session Workflow gate at session publication, not c…
yiliang114 Aug 25, 2026
9a0045d
fix(cli): converge approval-mode reload on the boot parser and restri…
yiliang114 Aug 25, 2026
4f6365b
fix(core): preserve agent summary after failed revive
yiliang114 Aug 25, 2026
9945384
fix(web-shell): keep workflow tab during approval
yiliang114 Aug 25, 2026
229a183
fix(cli): advance the reload approval-mode baseline only on full conv…
yiliang114 Aug 26, 2026
e8c6672
fix(web-shell): keep the floating drawer autofocus to genuine opens (…
yiliang114 Aug 26, 2026
bfbd48f
fix(cli): give the AgentTool test mock the full SubagentManager surfa…
yiliang114 Aug 26, 2026
26b18c7
fix(cli): keep reload from converging sessions on an approval mode bo…
yiliang114 Aug 26, 2026
5052b1b
fix(web-shell): close the inspector drawer only when the cockpit open…
yiliang114 Aug 26, 2026
1725a61
fix(web-shell): scope cockpit button reset to its own buttons (#8583)
yiliang114 Aug 26, 2026
dea5716
fix(web-shell): anchor tasks dialog tools separately from workflow su…
yiliang114 Aug 26, 2026
fc363c7
Merge remote-tracking branch 'origin/main' into codex/session-workflo…
qwen-code-ci-bot Aug 26, 2026
9635b67
Merge remote-tracking branch 'origin/main' into resolve-8583
yiliang114 Aug 26, 2026
c023390
fix(cli): track reload approval-mode convergence per session (#8583)
qwen-code-ci-bot Aug 26, 2026
a33be64
fix(web-shell): keep inspector styles from defeating their own button…
qwen-code-ci-bot Aug 26, 2026
a5a81aa
Merge branch 'codex/session-workflow-cockpit-demo' of https://github.…
qwen-code-dev-bot Aug 26, 2026
ff135be
Merge remote-tracking branch 'origin/main' into codex/session-workflo…
yiliang114 Aug 27, 2026
d2c8b0c
fix(core): stamp Session Workflow revisions approved on plan exit (#8…
yiliang114 Aug 27, 2026
dce1887
Merge remote-tracking branch 'origin/main' into codex/session-workflo…
yiliang114 Aug 27, 2026
45d4246
fix(serve): fan user-scope Session Workflow writes to sibling workspa…
yiliang114 Aug 27, 2026
86a84c6
Merge remote-tracking branch 'origin/main' into codex/session-workflo…
qwen-code-dev-bot Aug 28, 2026
6e51950
Merge remote-tracking branch 'origin/main' into codex/session-workflo…
qwen-code-dev-bot Aug 28, 2026
66a01a6
fix(test): raise AppContainer state-suite timeouts under heavy parall…
qwen-code-dev-bot Aug 28, 2026
e9a335f
Merge branch 'main' into codex/session-workflow-cockpit-demo
yiliang114 Aug 28, 2026
1f47d77
Merge origin/main into codex/session-workflow-cockpit-demo
yiliang114 Aug 28, 2026
f41e74a
Merge branch 'main' into codex/session-workflow-cockpit-demo
qwen-code-dev-bot Aug 28, 2026
7b10967
Merge origin/main into codex/session-workflow-cockpit-demo
yiliang114 Aug 29, 2026
0fda787
Merge remote codex/session-workflow-cockpit-demo updates into merge b…
yiliang114 Aug 29, 2026
172dbf3
chore: merge latest main
yiliang114 Aug 29, 2026
c165ccf
Merge branch 'main' into codex/session-workflow-cockpit-demo
yiliang114 Aug 29, 2026
ac740a3
Merge remote-tracking branch 'origin/codex/session-workflow-cockpit-d…
yiliang114 Aug 29, 2026
4f9d084
Merge branch 'main' into codex/session-workflow-cockpit-demo
wenshao Aug 30, 2026
ad527a4
Merge remote-tracking branch 'origin/main' into codex/session-workflo…
yiliang114 Aug 30, 2026
0f9639d
Merge commit '4f9d08445e7ef561e1f0555929965600120e002f' of https://gi…
yiliang114 Aug 30, 2026
a510434
Merge branch 'main' into codex/session-workflow-cockpit-demo
yiliang114 Aug 30, 2026
91fcbb1
chore: merge latest main
yiliang114 Aug 31, 2026
b0db6f7
Merge remote branch updates into main-merge
yiliang114 Aug 31, 2026
963d2a4
Merge remote-tracking branch 'origin/main' into resolve-8583-v2
yiliang114 Aug 31, 2026
26e421d
Merge remote-tracking branch 'origin/codex/session-workflow-cockpit-d…
yiliang114 Aug 31, 2026
082a383
Merge remote-tracking branch 'origin/main' into resolve-8583-v3
yiliang114 Aug 31, 2026
345b5a4
Merge remote-tracking branch 'origin/main' into resolve-8583-v4
yiliang114 Aug 31, 2026
f2c2601
chore(sdk): bump the browser daemon bundle budget to 217KB
yiliang114 Aug 31, 2026
b217fc7
Merge origin/main into codex/session-workflow-cockpit-demo
yiliang114 Aug 31, 2026
c23ea12
Merge concurrent branch updates into main sync
yiliang114 Aug 31, 2026
40391a2
Merge remote-tracking branch 'origin/main' into codex/session-workflo…
yiliang114 Sep 1, 2026
232c7c7
Merge remote-tracking branch 'origin/main' into codex/session-workflo…
yiliang114 Sep 1, 2026
e22836c
fix(workflow): resolve plan review feedback
yiliang114 Sep 1, 2026
c7cf8c5
Merge remote-tracking branch 'origin/main' into codex/session-workflo…
yiliang114 Sep 1, 2026
5882659
Merge branch 'main' into codex/session-workflow-cockpit-demo
yiliang114 Sep 1, 2026
4c91084
Merge remote-tracking branch 'origin/main' into codex/session-workflo…
yiliang114 Sep 1, 2026
cda5c50
Merge remote-tracking branch 'origin/main' into codex/session-workflo…
yiliang114 Sep 1, 2026
0a82ef6
Merge remote-tracking branch 'origin/main' into codex/session-workflo…
yiliang114 Sep 1, 2026
64f867f
Merge remote-tracking branch 'origin/main' into codex/session-workflo…
yiliang114 Sep 1, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
50 changes: 44 additions & 6 deletions docs/design/experimental-session-plan-review.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,9 @@ and the existing permission lifecycle.

## Rollout

`experimental.sessionWorkflow` is disabled by default. When disabled, the Web
Shell keeps the existing Todo list and Plan Mode behavior but does not render
the Workflow DAG or rename Plan Mode. The setting changes presentation only;
it does not register tools, alter Todo semantics, or create another approval
mode.
`experimental.sessionWorkflow` is disabled by default. When disabled, Core,
the ACP session, and the Web Shell retain their existing Todo, Agent, approval,
and split-view behavior. No Workflow marker or revision context is created.

When enabled, the existing `plan` mode is presented as **Plan & Review**. Plan
Mode remains the execution gate: read-only investigation is allowed, mutating
Expand Down Expand Up @@ -40,11 +38,51 @@ approving exits Plan Mode.
Todo list.
- Reuse the existing plan ID lineage so later snapshots and Agent executions
continue updating the same Workflow without another store.
- Mark Todo output only while the experimental setting and Plan/revision
context are both active. The Web Shell ignores ordinary Todo snapshots.
- After approval, require top-level Agent calls to use a `todo_id` from the
approved revision. Nested Agents and ordinary sessions keep existing rules.
- Fall back to the existing text-only approval when no matching snapshot is
available.

### Phase 3: current-session Workflow

- Add Workflow to the existing right-panel tab system. Clicking the floating
Todo summary or the Session header opens this inspector without replacing
Chat.
- Reuse the active Todo snapshot, daemon task polling, linked Agent tools, and
the existing artifact panel instead of introducing another workflow model.
- Keep a matching `exit_plan_mode` approval in Chat. After approval, the user
can open Workflow for observation at any time.
- Put the progress summary, attention items, ordered steps, selected-step
context, recent Agent activity, and deliverables in the inspector. Agent and
artifact links open sibling tabs in the same right-panel controller.
- Keep the dependency graph out of the narrow inspector. An explicit **Expand
dependency graph** action opens the existing full-page canvas while the
inspector becomes the selected-node detail surface.
- Keep Chat mounted while either Workflow surface is visible so observation
does not interrupt execution or discard composer state.
- Let a selected step show its upstream and downstream relationships plus the
linked Agent's latest activity and runtime metrics. Opening an Agent continues
into the existing transcript and artifact panel.
- Show Session artifacts from the existing artifact store and keep current
permission decisions in the existing Chat approval component.
- Keep the Workflow entry available after completion, later chat turns, and
session resume by reading marked Todo snapshots from the transcript. Opening
the Session normally restores the entry when a marked snapshot exists.
- Preserve an active Todo's existing dependencies when an update for the same
ID omits `blockedBy`; an explicit empty array removes dependencies.

## Boundaries

The Workflow remains observational. It does not schedule dependencies, retry
Agents, propagate completion, or add a Workflow store. `blockedBy` and
`todo_id` remain optional for sessions outside Plan & Review.
`todo_id` remain optional for sessions outside Plan & Review. Skill versions
and a durable decision ledger are not claimed because the current transcript
does not provide them.

The standalone cockpit mock remains a product reference rather than a second
application embedded through an iframe. The Web Shell uses a context-preserving
inspector for routine checks and reserves the full-page surface for the DAG.
DataWorks-specific scheduling, retry, and approval queues remain with their
owning product.
57 changes: 57 additions & 0 deletions docs/design/session-workflow-cockpit-demo.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
# Session Workflow Demo

## Purpose

This branch turns the collaboration-cockpit reference into a native Web Shell workflow inspector and dependency canvas without introducing another workflow engine. Both surfaces are projected from the persisted session transcript and daemon task snapshot.

## Data and control flow

- A `todo_write` snapshot marked inside an enabled Plan/revision context supplies stable Todo IDs, status, content, and `blockedBy` dependencies. Ordinary Todo snapshots are ignored by Workflow.
- Agent calls are linked to a Todo through `todo_id`; daemon task snapshots supply live status, activity, usage, and persisted transcript/output paths.
- `exit_plan_mode` remains the execution gate. When the experimental Session Workflow setting is enabled, its revision-bound approval stays in the existing Chat approval flow.
- Approval uses the existing permission API. Workflow does not schedule, pause, or persist tasks itself.
- The floating Todo summary and Session header open Workflow as a tab in the existing right panel. Chat remains visible and usable.
- The inspector shows the summary, items needing attention, ordered steps, selected-step dependencies, Agent activity, and deliverables. Agent and deliverable actions open sibling tabs in the existing panel.
- **Expand dependency graph** opens the dedicated canvas. Graph selection stays synchronized with the inspector's selected step.
- `?view=cockpit` keeps the dependency canvas directly addressable and browser navigation returns to Chat.
- A completed Session restores its Workflow entry from the marked Todo snapshot when the Session is opened normally.

## Demo

From the repository root, start the daemon and Web Shell in separate terminals. Generate the daemon token in the first terminal and copy the printed value for the browser URL below:

Terminal 1:

```bash
export QWEN_SERVER_TOKEN="$(openssl rand -hex 32)"
printf 'Demo token: %s\n' "$QWEN_SERVER_TOKEN"
npm run dev -- serve --port 4293 --workspace "$PWD" --no-web
```

Terminal 2:

```bash
QWEN_DAEMON_URL=http://127.0.0.1:4293 npm run dev --workspace @qwen-code/web-shell -- --host 127.0.0.1 --port 5294
```

Enable **Experimental → Session Workflow Plan & Review**, enter Plan & Review mode, and send:

> Prepare a five-bullet repository orientation. Before doing any inspection, call todo_write with exactly these pending steps and dependency IDs: inspect-readme; inspect-package; compare-findings blocked by inspect-readme and inspect-package; write-summary blocked by compare-findings. Immediately call exit_plan_mode. After approval, launch exactly two Explore subagents in parallel: one reads only README.md and returns at most three bullets; the other reads only package.json and returns at most three bullets. Pass todo_id inspect-readme and inspect-package to the matching Agent calls. Do not run shell commands or edit files. Update the Todo statuses as each phase completes and return at most five bullets.

The cockpit is also directly addressable after the Session exists:

```text
http://127.0.0.1:5294/session/<session-id>?token=<copied-token>&view=cockpit
```

Expected flow:

1. The pending `exit_plan_mode` request shows the existing in-flow plan approval in Chat.
2. Approval starts execution; clicking the Todo summary opens the Workflow inspector without interrupting the conversation.
3. Selecting a step shows its dependencies and linked Agent; selecting the Agent opens its persisted transcript in a sibling right-panel tab.
4. **Expand dependency graph** opens the full canvas, where selecting a graph node updates the inspector detail.
5. Returning to Chat keeps the inspector available. The header or Todo summary reopens the completed workflow later, and `?view=cockpit` opens the graph directly.

## Deliberate boundary

The reference design's synthetic organization-wide queues, policy engine, scheduler, Skill version catalog, and durable decision ledger are not reproduced. “待我处理” is derived from real failed/cancelled Agent tasks; permission requests remain in Chat, so the page does not claim data the daemon does not provide.
1 change: 1 addition & 0 deletions packages/acp-bridge/src/status.ts
Original file line number Diff line number Diff line change
Expand Up @@ -177,6 +177,7 @@ export const SERVE_CONTROL_EXT_METHODS = {
workspaceAgentGenerate: 'qwen/control/workspace/agents/generate',
workspaceGenerationStart: 'qwen/control/workspace/generation/start',
workspaceGenerationCancel: 'qwen/control/workspace/generation/cancel',
workspaceSessionWorkflow: 'qwen/control/workspace/session-workflow',
workspaceMemoryRememberAvailability:
'qwen/control/workspace/memory/remember/availability',
workspaceMemoryRemember: 'qwen/control/workspace/memory/remember',
Expand Down
2 changes: 2 additions & 0 deletions packages/acp-bridge/src/transcript-replay.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -1422,6 +1422,7 @@ describe('createTranscriptReplayMachine', () => {
resultDisplay: {
type: 'todo_list',
planId: 'plan-1',
sessionWorkflow: true,
todos: [
{
id: 'ship',
Expand All @@ -1447,6 +1448,7 @@ describe('createTranscriptReplayMachine', () => {
},
],
_meta: {
qwenSessionWorkflow: true,
stats: {
promptTokens: 5,
candidateTokens: 3,
Expand Down
15 changes: 15 additions & 0 deletions packages/acp-bridge/src/transcript-replay.ts
Original file line number Diff line number Diff line change
Expand Up @@ -141,6 +141,7 @@ export interface TranscriptTodoItem {

export interface TranscriptTodoPlan {
readonly planId?: string;
readonly sessionWorkflow?: boolean;
readonly todos: TranscriptTodoItem[];
}

Expand Down Expand Up @@ -903,6 +904,14 @@ class DefaultTranscriptReplayMachine implements TranscriptReplayMachine {
...meta,
planToolCallId: callId,
todoPlanId: plan.planId,
...(plan.sessionWorkflow
? {
extra: {
Comment thread
yiliang114 marked this conversation as resolved.
...meta.extra,
qwenSessionWorkflow: true,
},
}
: {}),
}),
);
}
Expand Down Expand Up @@ -1534,6 +1543,9 @@ function extractTodoPlanFromDisplay(value: unknown): TranscriptTodoPlan | null {
...(typeof value['planId'] === 'string'
? { planId: value['planId'] }
: {}),
...(value['sessionWorkflow'] === true
? { sessionWorkflow: true }
: {}),
todos: normalizeTodos(value['todos']),
}
: null;
Expand All @@ -1548,6 +1560,9 @@ function extractTodoPlanFromDisplay(value: unknown): TranscriptTodoPlan | null {
...(typeof parsed['planId'] === 'string'
? { planId: parsed['planId'] }
: {}),
...(parsed['sessionWorkflow'] === true
? { sessionWorkflow: true }
: {}),
todos: normalizeTodos(parsed['todos']),
}
: null;
Expand Down
Loading
Loading