[E2E] session.todos_changed event + readSqlTodosWithDependencies#1622
[E2E] session.todos_changed event + readSqlTodosWithDependencies#1622SteveSandersonMS wants to merge 2 commits into
Conversation
…encies Validates the new runtime APIs added in copilot-agent-runtime#10061: - session.todos_changed event fires when the sql tool mutates the prompted todos / todo_deps tables - session.plan.readSqlTodosWithDependencies returns structured rows and dependency edges suitable for progress UIs The generated rpc.ts and session-events.ts diffs were produced by re-running the Node codegen against the runtime PR's generated/ schemas; they will reproduce automatically once the runtime PR ships in the @github/copilot npm package. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This comment has been minimized.
This comment has been minimized.
- Re-runs Node codegen against runtime PR's regenerated schemas so the rows/dependencies arrays use the newly-named PlanTodo / PlanTodoDependency types. - Simplifies the E2E prompt: the runtime already prompts the agent to create the todos / todo_deps tables, so the CREATE TABLE steps were noisy in the captured snapshot (SQLite returned 'table todos already exists'). The agent only needs to INSERT. - Re-records the snapshot. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Cross-SDK Consistency ReviewSummaryThis PR adds two new runtime APIs to the Node.js SDK only:
The draft status and the PR description already acknowledge this gap explicitly: "Only Node codegen was re-run; C#/Python/Go would need the same treatment before this can come out of draft if we want parity coverage." This review documents the scope of work needed for the other five SDKs when promoting from draft. Parity baselineThe predecessor API
All of these are auto-generated ( API naming parity (for reference)When the other SDKs are updated, the expected idiomatic names are:
No action needed nowThe PR correctly scopes the change to Node while it remains a draft. No cross-SDK changes are needed before merge — this comment is purely a tracking note for the parity work to happen before or alongside the draft-to-ready promotion.
|
Adds an E2E test exercising the new runtime APIs being introduced soon:
session.todos_changedevent fires when the agent'ssqltool issues a write touching the promptedtodos/todo_depstables.session.plan.readSqlTodosWithDependenciesreturns the structured rows + dependency edges for progress UIs.Test
nodejs/test/e2e/session_todos_changed.e2e.test.tsruns in default mode (copilot-cli), instructs the agent toCREATE TABLE todos / todo_depsand insert two known rows plus one dependency edge, then asserts:session.todos_changedevent was emitted, andsession.rpc.plan.readSqlTodosWithDependencies()returns ids[alpha, beta]and thebeta -> alphaedge.Locally green against the runtime PR build (~16s). Snapshot captured.
Draft notes
nodejs/src/generated/{rpc,session-events}.tswere produced by re-runningnpm run generate:tsagainst the runtime PR'sgenerated/*.schema.jsonfiles (paths passed as args, no schema files copied). They will reproduce automatically once the runtime PR ships in the@github/copilotnpm package, so the codegen diff in this PR can be regenerated/discarded at that point.@github/copilotbump.