Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
99 commits
Select commit Hold shift + click to select a range
bf074aa
Add Copilot SDK support
zortos293 Apr 18, 2026
c96f5a0
Include copilot in provider registry test
zortos293 Apr 18, 2026
f4cb5ff
Guard Copilot session bootstrap callbacks
zortos293 Apr 18, 2026
1fa1643
Refactor Copilot adapter to use Effect deferreds
zortos293 Apr 20, 2026
8562969
Use copilot icon in model picker
zortos293 Apr 20, 2026
b397a9f
Reuse Copilot git text clients
zortos293 Apr 20, 2026
91b2828
Delete apps/web/src/components/chat/providerIconUtils.test.ts
zortos293 Apr 20, 2026
7b6bbd4
Render Copilot task completion as assistant text
zortos293 Apr 22, 2026
d4e4ae4
Complete Copilot send failure lifecycle
zortos293 May 7, 2026
c630e8f
Fix Copilot rebase fallout
zortos293 May 7, 2026
a5e4165
Remove unused Copilot provider service
zortos293 May 8, 2026
6ce0bd5
Handle empty Copilot tool progress messages
zortos293 May 11, 2026
3d778cd
Emit Copilot fallback message for tool-only turns
zortos293 May 16, 2026
7df478a
Fix Copilot integration after main rebase
huxcrux May 31, 2026
bb45e50
Handle invalid Copilot CLI paths safely
huxcrux May 31, 2026
21c0b1a
Refine Copilot provider auth labels
huxcrux May 31, 2026
a34d500
Preserve Copilot auth status labels
huxcrux Jun 1, 2026
f637060
Adapt Copilot changes to latest main
huxcrux Jun 8, 2026
caa970a
Fix Copilot CLI launch in desktop
huxcrux Jun 8, 2026
36faef2
Update Copilot SDK runtime integration
huxcrux Jun 8, 2026
13ac897
Add Copilot context window selection
huxcrux Jun 8, 2026
f26222d
Label Copilot none reasoning effort
huxcrux Jun 8, 2026
f60abcd
Refresh Copilot provider timestamps
huxcrux Jun 8, 2026
6f6a11c
Clear Copilot permission bindings on reply
huxcrux Jun 8, 2026
36d1576
Drain Copilot events before teardown
huxcrux Jun 8, 2026
5db6220
Clean up Copilot regression tests
huxcrux Jun 8, 2026
317165d
Add Copilot max reasoning effort
huxcrux Jun 8, 2026
850aeca
Align Copilot command tool rendering
huxcrux Jun 8, 2026
769bb32
fix(web): stabilize context window snapshots
huxcrux Jun 8, 2026
e6f6b34
Handle stale Copilot resume cursors
huxcrux Jun 8, 2026
1808bff
Emit Copilot file-change turn diffs
huxcrux Jun 8, 2026
efd38c3
Skip Copilot first-turn text generation
huxcrux Jun 8, 2026
95310c8
Propagate thread metadata shell updates
huxcrux Jun 8, 2026
9aeca56
Warn on Copilot mode sync failures
huxcrux Jun 8, 2026
76b3450
Fix Copilot approval resolution
huxcrux Jun 9, 2026
25ac136
Ensure Copilot task completions snapshot diffs
huxcrux Jun 9, 2026
b1e8549
Fix first-turn title generation draining
huxcrux Jun 10, 2026
3cfe0a8
Align Copilot provider format
huxcrux Jun 11, 2026
4baf968
Wire Copilot tasks into task list
huxcrux Jun 11, 2026
3b53d42
Handle missing Copilot background task list
huxcrux Jun 11, 2026
ee0c25d
Fix Copilot diff markers
huxcrux Jun 11, 2026
87c2d62
Filter Copilot command-only completion fallback
huxcrux Jun 11, 2026
754b848
Filter Copilot task-agent completion fallback
huxcrux Jun 11, 2026
7d1a77d
Filter Copilot task-completed generic fallback
huxcrux Jun 11, 2026
e17c246
Stop emitting empty Copilot diffs
huxcrux Jun 12, 2026
0918fb9
Normalize Copilot user input answers
huxcrux Jun 12, 2026
336754e
Stream Copilot fallback assistant text
huxcrux Jun 12, 2026
7cc7050
Add Copilot provider refs
huxcrux Jun 12, 2026
29abf56
Share provider tool classification
huxcrux Jun 12, 2026
3572339
Normalize provider plan updates
huxcrux Jun 12, 2026
e3c54c1
Project provider reasoning deltas
huxcrux Jun 12, 2026
ed80a46
Project provider tool output deltas
huxcrux Jun 12, 2026
52daf8d
Guard duplicate Copilot completions
huxcrux Jun 12, 2026
2e24b2a
Fix queued Copilot turn idle handling
huxcrux Jun 13, 2026
c26c434
Suppress Copilot generic completion fallbacks
huxcrux Jun 14, 2026
90232aa
Trigger Copilot diff checkpoints for tool completions
huxcrux Jun 14, 2026
2df6988
Make checkpoint revert rollback-safe
huxcrux Jun 14, 2026
c7399a9
Restore Copilot first-turn branch naming
huxcrux Jun 14, 2026
953b0c9
Filter empty Copilot diff turns
huxcrux Jun 14, 2026
6968b98
Ignore Copilot shell completion lines in diffs
huxcrux Jun 14, 2026
d299c68
Fix Copilot session error turn completion
huxcrux Jun 14, 2026
2250348
Fix Copilot adapter formatting
huxcrux Jun 14, 2026
ea383a2
Fix web search approval classification
huxcrux Jun 14, 2026
00e1e68
Fix checkpoint revert rollback ordering
huxcrux Jun 14, 2026
892122b
Fix file-read tool name classification
huxcrux Jun 14, 2026
69cd9fc
Invalidate workspace cache on rollback recovery failure
huxcrux Jun 14, 2026
e76aa5f
Fix Copilot provider permission handling
huxcrux Jun 15, 2026
07d3f61
Fix Copilot runtime after rebase
huxcrux Jun 15, 2026
6098a5c
Fix Copilot review issues
huxcrux Jun 15, 2026
6da4183
Fix Copilot test vitest imports
huxcrux Jun 15, 2026
ed9e88c
Fix Copilot mock test imports
huxcrux Jun 15, 2026
1781b71
fix copilot settings patch trimming
huxcrux Jun 16, 2026
fce49c9
Use active turn IDs for Copilot diffs
huxcrux Jun 16, 2026
19fdc58
Tighten composer prompt effort descriptors
huxcrux Jun 16, 2026
5f64f23
Handle provider completions without turn ids
huxcrux Jun 18, 2026
864acb7
Normalize Copilot tool lifecycle classification
huxcrux Jun 18, 2026
5a9e731
Render Copilot task completion as assistant text
huxcrux Jun 18, 2026
43bdfba
Fix Copilot adapter test formatting
huxcrux Jun 18, 2026
c6d54fc
Refactor Copilot provider cleanup helpers
huxcrux Jun 18, 2026
f30a352
Mark Copilot provider early access
huxcrux Jun 18, 2026
3e9c90c
Clean up Copilot adapter internals
huxcrux Jun 18, 2026
05fe4d9
Fix provider review issues
huxcrux Jun 19, 2026
68d164a
Fix CI review follow-ups
huxcrux Jun 19, 2026
8c3ff29
Fix unscoped provider turn completion
huxcrux Jun 19, 2026
7c7106e
Fix Copilot task and abort event handling
huxcrux Jun 19, 2026
5311adb
fix: align copilot branch with latest main
huxcrux Jun 30, 2026
e3a12a6
fix: match mobile title seed truncation
huxcrux Jun 30, 2026
706e092
fix: address copilot review feedback
huxcrux Jun 30, 2026
1f31b00
fix: address copilot follow-up review
huxcrux Jun 30, 2026
8a7c026
fix: address copilot review follow-ups
huxcrux Jun 30, 2026
0e8b1d1
fix: structure copilot cli resolution errors
huxcrux Jun 30, 2026
a356db1
fix: address copilot runtime review comments
huxcrux Jun 30, 2026
84ce33f
fix: align copilot binary path resolution
huxcrux Jun 30, 2026
2d3501f
Add Copilot text generation context tier
huxcrux Jul 1, 2026
41a54ee
Skip Copilot first-turn title generation
huxcrux Jul 1, 2026
3dc1d0a
Move Copilot title fallback into provider
huxcrux Jul 1, 2026
7e42706
Fix Copilot follow-up turn completion
huxcrux Jul 3, 2026
18d8a5f
Address Copilot provider review comments
huxcrux Jul 3, 2026
790af4a
Fix Copilot text generation formatting
huxcrux Jul 3, 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
56 changes: 56 additions & 0 deletions apps/server/integration/orchestrationEngine.integration.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -266,6 +266,62 @@ it.live("runs a single turn end-to-end and persists checkpoint state in sqlite +
),
);

it.live(
"settles session when turn completion arrives without turn id but provider is already settled",
() =>
withHarness((harness) =>
Effect.gen(function* () {
yield* seedProjectAndThread(harness);

const turnResponse: TestTurnResponse = {
events: [
{
type: "turn.started",
...runtimeBase("evt-missing-turn-id-1", "2026-02-24T10:00:10.000Z"),
threadId: THREAD_ID,
turnId: FIXTURE_TURN_ID,
},
{
type: "message.delta",
...runtimeBase("evt-missing-turn-id-2", "2026-02-24T10:00:10.050Z"),
threadId: THREAD_ID,
turnId: FIXTURE_TURN_ID,
delta: "Completion without turn id should still settle.\n",
},
{
type: "turn.completed",
...runtimeBase("evt-missing-turn-id-3", "2026-02-24T10:00:10.100Z"),
threadId: THREAD_ID,
status: "completed",
},
],
};

yield* harness.adapterHarness!.queueTurnResponseForNextSession(turnResponse);
yield* startTurn({
harness,
commandId: "cmd-turn-start-missing-turn-id-completion",
messageId: "msg-user-missing-turn-id-completion",
text: "Trigger missing completion turn id",
});

const thread = yield* harness.waitForThread(
THREAD_ID,
(entry) =>
entry.session?.status === "ready" &&
entry.latestTurn?.state === "completed" &&
entry.messages.some(
(message) =>
message.role === "assistant" &&
message.text === "Completion without turn id should still settle.\n",
),
);
assert.equal(thread.session?.status, "ready");
assert.equal(thread.latestTurn?.state, "completed");
}),
),
);

it.live.skipIf(!process.env.CODEX_BINARY_PATH)(
"keeps the same Codex provider thread across runtime mode switches",
() =>
Expand Down
2 changes: 2 additions & 0 deletions apps/server/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,8 @@
"@effect/platform-node-shared": "catalog:",
"@effect/sql-sqlite-bun": "catalog:",
"@ff-labs/fff-node": "0.9.4",
"@github/copilot": "1.0.60",
"@github/copilot-sdk": "1.0.0",
"@opencode-ai/sdk": "^1.3.15",
"@pierre/diffs": "catalog:",
"effect": "catalog:",
Expand Down
Loading
Loading