Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
297 commits
Select commit Hold shift + click to select a range
12a814d
fix(core): preserve unknown context window in selections
deepagent-ai Sep 23, 2026
11c365b
feat(deepagent-code): add durable V2 event turn runner
deepagent-ai Sep 23, 2026
1a2d683
feat(deepagent-code): admit context proxy requests into queued V2 lanes
deepagent-ai Sep 23, 2026
ce9a058
fix(core): fence prompt admission by revert epoch
deepagent-ai Sep 23, 2026
ab8a4f6
feat(deepagent-code): gate V2 event DAG dispatch by flag
deepagent-ai Sep 23, 2026
29fb2ae
feat(deepagent-code): stream context replies and reconcile exact retries
deepagent-ai Sep 23, 2026
62c0225
feat(core): persist full proxy tier permission policy
deepagent-ai Sep 23, 2026
ee7f5af
test(deepagent-code): prove DAG replay and lease recovery
deepagent-ai Sep 23, 2026
d04154a
feat(core): add audited PR merge undo
deepagent-ai Sep 23, 2026
2a61b81
feat(knowledge): group review inbox by reason
deepagent-ai Sep 23, 2026
95d7587
fix(deepagent-code): fence broad DAG scopes and release retry claims
deepagent-ai Sep 23, 2026
e777576
feat(deepagent-code): refresh V2 MCP tools on lifecycle changes
deepagent-ai Sep 23, 2026
92c58c7
feat(deepagent-code): reconcile MCP tools after config file edits
deepagent-ai Sep 23, 2026
b2dd50a
feat(deepagent-code): refresh plugin tools and verify trusted signatures
deepagent-ai Sep 23, 2026
884a301
feat(deepagent-code): add proxy admin and Responses API
deepagent-ai Sep 23, 2026
8d3c94b
test(deepagent-code): cover V2 DAG git lineage and handoff
deepagent-ai Sep 23, 2026
49944ee
feat(deepagent-code): finish proxy tenant revocation and tariff accou…
deepagent-ai Sep 23, 2026
cecb7da
fix(deepagent-code): drain proxy audit events without session lookup
deepagent-ai Sep 23, 2026
c0bc1af
test(deepagent-code): cover proxy through official OpenAI SDK
deepagent-ai Sep 23, 2026
8313fa7
test(deepagent-code): cover DAG crash and concurrent worktree oracles
deepagent-ai Sep 23, 2026
c4f244a
feat(server): expose Core V2 session lookup
deepagent-ai Sep 23, 2026
ab8c285
fix(deepagent-code): fail closed on DAG security resolver defects
deepagent-ai Sep 23, 2026
9594346
test(deepagent-code): assert proxy audit deliveries resolve
deepagent-ai Sep 23, 2026
05fe3e1
feat(deepagent-code): add V2 DAG event execution lane
deepagent-ai Sep 23, 2026
bb15cb5
feat(deepagent-code): add tenant-gated transparent proxy
deepagent-ai Sep 23, 2026
37c1a38
chore(core): repin manifest after proxy migration merge
deepagent-ai Sep 23, 2026
3a8d34e
fix(deepagent-code): arbitrate DAG waves before admitting turns
deepagent-ai Sep 23, 2026
3641bc0
fix(deepagent-code): rotate proxy lane on tier change
deepagent-ai Sep 23, 2026
f0f88ca
feat(deepagent-code): route V4 event families through DAG ingress
deepagent-ai Sep 23, 2026
a60b506
fix(deepagent-code): freeze small reviewer model in durable identity
deepagent-ai Sep 23, 2026
9193035
feat(deepagent-code): persist learning generations across lifecycle b…
deepagent-ai Sep 23, 2026
5363fe2
feat(deepagent-code): complete durable learning lifecycle triggers
deepagent-ai Sep 23, 2026
1428d4e
fix(deepagent-code): preserve prefixed V2 admission message IDs
deepagent-ai Sep 23, 2026
3352336
fix(deepagent-code): preserve prefixed V2 admission message IDs
deepagent-ai Sep 23, 2026
c5871c3
feat(core): mark V2 session authority and reject legacy writes
deepagent-ai Sep 23, 2026
7ce40c3
feat(session): route compatibility writes through V2 authority
deepagent-ai Sep 23, 2026
0a511d2
docs(core): clarify capability budget rejection contract
deepagent-ai Sep 23, 2026
fc7c1f4
feat(session): enforce V2 authority across compatibility writes
deepagent-ai Sep 23, 2026
c12a4a5
feat(deepagent-code): reopen business runtime after incident restore
deepagent-ai Sep 23, 2026
47983cc
feat(deepagent-code): reopen business runtime after incident restore
deepagent-ai Sep 23, 2026
c182658
feat(session): retain event DAG workspaces with durable receipts
deepagent-ai Sep 23, 2026
bfc712c
feat(session): preserve rich V2 prompt admission context
deepagent-ai Sep 23, 2026
03d0471
feat(client): admit app and TUI prompts through V2 API
deepagent-ai Sep 23, 2026
bcbf22c
feat(core): define long-context model hard-gate policy
deepagent-ai Sep 23, 2026
0da960e
test(session): cover event DAG families and durable replay
deepagent-ai Sep 23, 2026
ce6e22a
fix(event): reject unsynchronized outbox registrations
deepagent-ai Sep 23, 2026
739e10a
fix(session): reclaim failed event worktree settlements
deepagent-ai Sep 23, 2026
1969695
fix(session): reclaim orphaned event workspaces after lease expiry
deepagent-ai Sep 23, 2026
e8e6cef
feat(session): complete durable event DAG workspaces
deepagent-ai Sep 23, 2026
5f3e021
fix(ci): stabilize macOS unit logging and validation fixture
deepagent-ai Sep 23, 2026
b00612c
fix(core): route document governance through revisioned authority
deepagent-ai Sep 23, 2026
9b31076
feat(core): record V2 activity progress from settled provider turns
deepagent-ai Sep 23, 2026
8afaf7a
chore(core): repin manifest after event workspace migration
deepagent-ai Sep 23, 2026
2ef9b95
feat(client): route CLI and ACP prompts through V2 admission
deepagent-ai Sep 23, 2026
206f758
refactor(session): separate standalone test layers from production root
deepagent-ai Sep 23, 2026
9c48579
fix(core): restore finite runtime backpressure gate
deepagent-ai Sep 23, 2026
c8a1bc8
refactor(session): close remaining V1 session update writer
deepagent-ai Sep 23, 2026
17a9ea0
fix(cli): render V2 terminal read errors in JSON output
deepagent-ai Sep 23, 2026
36665af
test(cli): require readable JSON errors for V2 prompt failures
deepagent-ai Sep 23, 2026
508d3a6
feat(session): add verified portable ZIP bundles and share host
deepagent-ai Sep 23, 2026
bf9ed86
feat(app): expose ZIP export, import, and sharing flows
deepagent-ai Sep 23, 2026
8475285
test(session): verify bundle checksums and redaction boundaries
deepagent-ai Sep 23, 2026
bacb901
fix(test): align V2 and governance fixtures with authority guards
deepagent-ai Sep 23, 2026
652c1d4
feat(tool): register query_log on V2 host tool authority
deepagent-ai Sep 23, 2026
be8194a
feat(session): add portable session sharing
deepagent-ai Sep 23, 2026
e1b4c24
feat(session): converge client prompts on V2 admission
deepagent-ai Sep 23, 2026
2ef462c
test(session): lock production V2 root composition
deepagent-ai Sep 23, 2026
1233fbe
fix(app): type V2 prompt attachment fixture
deepagent-ai Sep 23, 2026
30f6fe3
feat(session): resume V2 no-progress activity through durable permiss…
deepagent-ai Sep 23, 2026
517be54
chore: sync X-04 permission branch with v2.0.2
deepagent-ai Sep 23, 2026
059df82
feat(core): enforce managed long-context hard gates
deepagent-ai Sep 23, 2026
36de5fd
feat(core): enforce long-context request gates
deepagent-ai Sep 23, 2026
104f255
fix(core): defer prompt selection until admission succeeds
deepagent-ai Sep 23, 2026
a13e32a
test(session): cover V2 challenge replay and workspace revisions
deepagent-ai Sep 23, 2026
af596cd
fix(permission): return typed refusal for stale V2 challenge replies
deepagent-ai Sep 23, 2026
1086324
chore(sdk): expose long-context checkpoint events
deepagent-ai Sep 23, 2026
a3330fb
fix(core): project prompt selection atomically with admission
deepagent-ai Sep 23, 2026
6eeda35
fix(session): bound actual ZIP expansion during import
deepagent-ai Sep 23, 2026
0cff8c6
test(proxy): record single-tenant DeepSeek soak metrics
deepagent-ai Sep 23, 2026
e0c3b0a
fix(core): apply queued prompt selection at promotion
deepagent-ai Sep 23, 2026
7a50f91
fix(core): surface V2 tool storage failures as typed errors
deepagent-ai Sep 23, 2026
8ebce43
fix(deepagent-code): close V2 import and dev workflow gaps
deepagent-ai Sep 23, 2026
6924e49
fix(session): bind prompt selection to durable promotion
deepagent-ai Sep 23, 2026
cc3a9bb
fix(share): bind share host to private interface by default
deepagent-ai Sep 23, 2026
9a25d81
fix(permission): recover V2 challenges across client reconnects
deepagent-ai Sep 23, 2026
cb3ffc1
feat(session): resume durable V2 no-progress challenges
deepagent-ai Sep 23, 2026
e13a9d6
fix(core): close V2 import and tool storage gaps
deepagent-ai Sep 23, 2026
3625b46
fix(server): bind permission resume to route session runtime
deepagent-ai Sep 23, 2026
1bc5daa
fix(session): fence rejected V2 progress resumes
deepagent-ai Sep 23, 2026
4308d18
feat(share): prepare aly share host deployment
deepagent-ai Sep 23, 2026
c3b59c7
test(proxy): fence disabled gateway without audit residue
deepagent-ai Sep 23, 2026
c9f1649
fix(session): enforce V2 authority for internal fork and removal
deepagent-ai Sep 23, 2026
836a4a5
test(core): classify v2.0.2 production caller entries
deepagent-ai Sep 23, 2026
c36fff7
fix(server): fold provider recovery reasons into legacy HTTP errors
deepagent-ai Sep 23, 2026
3725b12
fix(app): add read-only escape for failed migration
deepagent-ai Sep 23, 2026
1b928dd
test(runtime): cover federation kill switch in entry processes
deepagent-ai Sep 23, 2026
cee0dc8
fix(app): keep failed-migration inspection read-only
deepagent-ai Sep 23, 2026
e3ae078
fix(core): recover from failed log streams
deepagent-ai Sep 23, 2026
f2147c6
fix(core): adjudicate RI-94 mutable-state backlog
deepagent-ai Sep 23, 2026
a3571e2
test(core): cover four managed model hard gates
deepagent-ai Sep 23, 2026
1a06059
fix(event): repair replay mirrors and terminal dead receipts
deepagent-ai Sep 23, 2026
355786e
fix(event): fence claimed replay mirror repairs
deepagent-ai Sep 23, 2026
fed5b2e
fix(deepagent-code): exercise V2 DAG in live V4 runtime
deepagent-ai Sep 23, 2026
fc4c10f
fix(deepagent-code): qualify durable learning reviewer and project sw…
deepagent-ai Sep 23, 2026
7e52e59
fix(core): bind provider protocol identity before dispatch
deepagent-ai Sep 23, 2026
611c3eb
fix(tui): show manual compaction refusal reason
deepagent-ai Sep 23, 2026
7969a73
test(deepagent-code): track new live ownership and tool surface
deepagent-ai Sep 23, 2026
99fc1d0
fix(proxy): reject replay when execution binding changes
deepagent-ai Sep 23, 2026
2d4ff0e
fix(plugin): cover signature-like package files in digest
deepagent-ai Sep 23, 2026
e6f0f29
test(composition): compare live harness with scoped production root
deepagent-ai Sep 23, 2026
47983e8
fix(proxy): serialize tenant token accounting at admission
deepagent-ai Sep 23, 2026
ef6ffdc
fix(core): commit managed model policy with provider attempt
deepagent-ai Sep 23, 2026
e5c8d3e
fix(core): reject mismatched model policy bindings
deepagent-ai Sep 23, 2026
8c777f9
test(proxy): dispose gateway handlers before removing databases
deepagent-ai Sep 23, 2026
a2f6ed4
fix(proxy): validate transport before durable admission
deepagent-ai Sep 23, 2026
4c814b7
docs(core): clarify model policy receipt identity
deepagent-ai Sep 23, 2026
895d6f5
feat(proxy): export durable tenant audit events
deepagent-ai Sep 23, 2026
1d59ff5
test(core): share hermetic database with project layers
deepagent-ai Sep 23, 2026
6c752ae
test(core): capture managed model policy with canonical providers
deepagent-ai Sep 23, 2026
90834b8
test(composition): gate gateway services in server root
deepagent-ai Sep 23, 2026
b01f947
test(deepagent-code): preserve plugin tool history after restart
deepagent-ai Sep 23, 2026
9b2d151
test(core): verify managed policy through tool calls and switches
deepagent-ai Sep 23, 2026
2973bf0
fix(desktop): wait for settings UI in prevent-sleep smoke
deepagent-ai Sep 23, 2026
1cbe0cc
chore(ci): allow macOS unit suite to finish
deepagent-ai Sep 23, 2026
89f3b0e
test(core): stabilize macOS unit suite
deepagent-ai Sep 23, 2026
01f4607
test(ci): allow full macOS unit matrix to finish
deepagent-ai Sep 23, 2026
09c1379
test(core): make task outbox backoff assertion clock safe
deepagent-ai Sep 23, 2026
e5404c5
test(core): stabilize concurrent macOS unit oracles
deepagent-ai Sep 23, 2026
5523a3d
test(server): bound maintenance status probes during listener handoff
deepagent-ai Sep 23, 2026
2a3b0c3
test(session): diagnose durable cancel stages under load
deepagent-ai Sep 23, 2026
93b1cca
test(deepagent-code): create V2 sessions in plan budget fixture
deepagent-ai Sep 23, 2026
8cd69ca
fix(proxy): honor durable provider completion before timeout
deepagent-ai Sep 23, 2026
2d8edd1
test(proxy): prove completed terminal survives delayed settlement poll
deepagent-ai Sep 23, 2026
e33c0a2
feat(deepagent-code): register app-owned tools in V2
deepagent-ai Sep 23, 2026
04dccb7
fix(deepagent-code): close doom loop recovery and auto-interrupt paths
deepagent-ai Sep 23, 2026
b8afabb
test(server): cover public session context and event cursor HTTP routes
deepagent-ai Sep 23, 2026
1d84cb2
fix(core): expose typed EventV2 commit hook failures
deepagent-ai Sep 23, 2026
3e65315
fix(core): persist complete long-context policy receipts
deepagent-ai Sep 23, 2026
3b866e0
feat(core): project bounded four-graph provenance into model turns
deepagent-ai Sep 23, 2026
9364860
test(core): pin loaded-only capability budget audit
deepagent-ai Sep 23, 2026
ddaf2e6
test(core): keep V2 model catalog with V1 plugins disabled
deepagent-ai Sep 23, 2026
8daf333
test(deepagent-code): pin default host tool roster in V2 request
deepagent-ai Sep 23, 2026
2f0e3e1
chore(core): re-pin ordered migration registry digest
deepagent-ai Sep 23, 2026
0d60ea5
chore(core): re-pin v2.0.2 manifest digest
deepagent-ai Sep 23, 2026
63fd570
fix(core): reclassify proxy audit and await legacy gate
deepagent-ai Sep 23, 2026
b0d19ae
fix(app): translate session bundle import settings
deepagent-ai Sep 23, 2026
cb95137
test(core): isolate event fixtures from developer database
deepagent-ai Sep 23, 2026
d1f2636
fix(core): reanchor RI-94 runtime state reviews
deepagent-ai Sep 23, 2026
df7fb08
test(cli): distinguish harness timeout from run errors
deepagent-ai Sep 23, 2026
d1dc7b8
feat(gateway): bind service inventory to composition digest
deepagent-ai Sep 23, 2026
7887f95
fix(core): preserve typed session commit refusals
deepagent-ai Sep 23, 2026
b1d7053
test(gateway): prove full tier blocks denied tool effects
deepagent-ai Sep 23, 2026
6bfe713
test(gateway): smoke real serve process with OpenAI SDK
deepagent-ai Sep 23, 2026
234407f
fix(ci): mint release owner before building binaries
deepagent-ai Sep 23, 2026
a37a3ee
test(gateway): prove DeepSeek through real serve process
deepagent-ai Sep 23, 2026
83b4e75
fix(session): fence admitted event turn replay before provider drain
deepagent-ai Sep 24, 2026
00c8323
fix(core): bind blocked policy receipts to full provenance
deepagent-ai Sep 24, 2026
cc6169c
fix(core): bind packaged runs to exact runtime evidence
deepagent-ai Sep 24, 2026
7f98eb4
fix(core): reconcile execution claims after event rollback
deepagent-ai Sep 24, 2026
d87b1c5
fix(gateway): account for every provider turn in enhanced usage
deepagent-ai Sep 24, 2026
49d3f31
fix(ci): defer CLI release uploads until evidence gate passes
deepagent-ai Sep 24, 2026
857d293
fix(ci): include owner authorization in release archives
deepagent-ai Sep 24, 2026
e670ed6
fix(core): retain and verify release ledger inputs
deepagent-ai Sep 24, 2026
0bfed8a
test(cli): serialize full CLI subprocess cases on CI
deepagent-ai Sep 24, 2026
00deb01
test(session): await settled provider turn before bash cancel
deepagent-ai Sep 24, 2026
7823945
fix(core): require gate input for passed release evidence
deepagent-ai Sep 24, 2026
6135d0c
fix(deepagent-code): ignore stale config watcher events
deepagent-ai Sep 24, 2026
2d53f30
fix(core): preserve interruption while retrying file locks
deepagent-ai Sep 24, 2026
3680dfd
fix(core): bind release runs to the packaged CLI binary
deepagent-ai Sep 24, 2026
c29cacd
fix(deepagent-code): watch config removal in plugin-named projects
deepagent-ai Sep 24, 2026
5417d29
chore(core): classify config watchers in runtime inventory
deepagent-ai Sep 24, 2026
148b862
fix(release): freeze candidate identity across build and publish
deepagent-ai Sep 24, 2026
29ded78
test(release): pin prepared files in candidate tree oracle
deepagent-ai Sep 24, 2026
da59d7d
fix(release): rebuild SDK and guard candidate retries
deepagent-ai Sep 24, 2026
8993050
fix(release): keep beta preview builds off publish path
deepagent-ai Sep 24, 2026
50225a0
fix(core): skip plan observation without a state root
deepagent-ai Sep 24, 2026
be50a1f
test(deepagent-code): include app tools in live composition oracle
deepagent-ai Sep 24, 2026
39fbd1d
fix(deepagent-code): bind proxy lanes to tenant tool policy
deepagent-ai Sep 24, 2026
243f58c
test(deepagent-code): allow cold indexing in gateway policy oracle
deepagent-ai Sep 24, 2026
646cca0
fix(deepagent-code): settle proxy streams after client disconnect
deepagent-ai Sep 24, 2026
e2ae71f
fix(release): bind qualification and final assets to candidate ledger
deepagent-ai Sep 24, 2026
89fe866
fix(release): reject unknown staged asset kinds
deepagent-ai Sep 24, 2026
c723204
fix(deepagent-code): ignore synthetic notices when choosing revert an…
deepagent-ai Sep 24, 2026
01bc24e
test(deepagent-code): allow cold wiki query startup in CI
deepagent-ai Sep 24, 2026
c42d35c
fix(deepagent-code): fence DAG replay after durable admission
deepagent-ai Sep 24, 2026
9f4bd58
fix(deepagent-code): redact environment values from shared bundles
deepagent-ai Sep 24, 2026
0e725f4
fix(deepagent-code): sanitize legacy live share payloads
deepagent-ai Sep 24, 2026
d99ff1f
fix(core): scope IM send dedupe to assistant turn
deepagent-ai Sep 24, 2026
2e571c1
fix(core): rotate expired no-progress permission owner
deepagent-ai Sep 24, 2026
9db7c28
fix(core): reject conflicting IM send retries
deepagent-ai Sep 24, 2026
7d6d6f0
chore(core): repin revert inventory after anchor fix
deepagent-ai Sep 24, 2026
8a34731
fix(core): compare flock staleness with filesystem wall time
deepagent-ai Sep 24, 2026
0f0a413
fix(core): recover stale flock after system sleep
deepagent-ai Sep 24, 2026
f9cf18a
fix(deepagent-code): classify shared sanitizer in live routes
deepagent-ai Sep 24, 2026
841e2f6
test(deepagent-code): close history sync fixture stream
deepagent-ai Sep 24, 2026
fbf48a8
test(core): align concurrent database open oracle with owner fencing
deepagent-ai Sep 24, 2026
8294120
test(deepagent-code): assert V2 activity progress durability
deepagent-ai Sep 24, 2026
09d5eab
fix(release): require all desktop architecture assets
deepagent-ai Sep 24, 2026
c12ab3d
test(session): build recovery fixtures through activity lifecycle
deepagent-ai Sep 24, 2026
cc8e489
test(core): use admission path for activity fixtures
deepagent-ai Sep 24, 2026
b7bfa29
test(cli): check private file mode only on POSIX
deepagent-ai Sep 24, 2026
cfa1d4d
fix(release): verify updater sources and draft readback before publish
deepagent-ai Sep 24, 2026
817608b
fix(release): archive updater readback evidence with candidate ledger…
deepagent-ai Sep 24, 2026
af04edd
test(app): align Playwright session oracles with current UI
deepagent-ai Sep 24, 2026
83b5975
fix(desktop): reject cross-volume paths in workspace guard
deepagent-ai Sep 24, 2026
2ec92e7
fix(session): restore worktree root in V2 wire projection
deepagent-ai Sep 24, 2026
41c6bcc
fix(deepagent-code): settle passthrough streams after client disconnect
deepagent-ai Sep 24, 2026
73a7bee
fix(core): enforce physical budget for compaction summaries
deepagent-ai Sep 24, 2026
dcfed86
fix(deepagent-code): gate PR collaboration on complete event DAG
deepagent-ai Sep 24, 2026
dee0a24
fix(core): report manual compaction budget refusal
deepagent-ai Sep 24, 2026
74b1a1f
fix(deepagent-code): close legacy message mutation routes
deepagent-ai Sep 24, 2026
306d87a
test(deepagent-code): allow production HTTP flows to settle on slow h…
deepagent-ai Sep 24, 2026
8b0509a
fix(deepagent-code): redact shared session cookie headers
deepagent-ai Sep 24, 2026
7701c0a
fix: surface manual compaction failures
deepagent-ai Sep 24, 2026
ea78171
fix(deepagent-code): guard legacy share routes with V2 authority
deepagent-ai Sep 24, 2026
8a86c53
fix(deepagent-code): redact encoded share credentials
deepagent-ai Sep 24, 2026
313eab1
fix(app): surface share mutation conflicts in UI
deepagent-ai Sep 24, 2026
ddb2d1b
fix(deepagent-code): redact escaped share headers
deepagent-ai Sep 24, 2026
ae72234
fix(slack): reject revoked outbound bindings
deepagent-ai Sep 24, 2026
a97c181
fix(slack): reject incomplete outbound allowlists
deepagent-ai Sep 24, 2026
5f965e4
fix(release): recheck draft identity before publish mutations
deepagent-ai Sep 24, 2026
1c096ab
fix(release): pin asset uploads to draft release ID
deepagent-ai Sep 24, 2026
8198f9a
test(deepagent-code): cover V2 session events through SDK stream
deepagent-ai Sep 24, 2026
52a67a1
fix(share): close public sharing by default for 2.0.2
deepagent-ai Sep 24, 2026
c179890
fix(cli): suppress deferred public sharing commands
deepagent-ai Sep 24, 2026
bac1347
test(deepagent-code): retain V1 share adoption oracle with opt-in
deepagent-ai Sep 24, 2026
bfc196c
feat(core): add reviewed release qualification producer
deepagent-ai Sep 24, 2026
68cec60
fix(core): require qualification producer run identity
deepagent-ai Sep 24, 2026
92e21f8
fix(release): limit targets to x64 and macOS ARM
deepagent-ai Sep 24, 2026
e41f3f5
fix(core): reanchor runtime state inventory after CLI changes
deepagent-ai Sep 24, 2026
e18f3e9
chore(release): set product packages to 2.0.2
deepagent-ai Sep 24, 2026
287d6af
chore(core): repin manifest for 2.0.2 package versions
deepagent-ai Sep 24, 2026
1757560
fix(desktop): find packaged app for both mac architectures
deepagent-ai Sep 24, 2026
6b3d3a1
test(deepagent-code): align help snapshots with local-only sharing
deepagent-ai Sep 24, 2026
7d243e3
fix(app): read plugin settings from server context
deepagent-ai Sep 24, 2026
5e91d3c
fix(core): use Node file APIs for desktop tool artifacts
deepagent-ai Sep 24, 2026
351da04
test(deepagent-code): check research key file path in live oracle
deepagent-ai Sep 25, 2026
2e5c87d
fix(v2): close session and DeepSeek acceptance gaps
deepagent-ai Sep 25, 2026
4614908
fix(app): refresh V2 desktop chats from directory journal
deepagent-ai Sep 25, 2026
e141c8c
fix(app): surface intelligence prepare failures instead of silently s…
deepagent-ai Sep 25, 2026
b6551aa
fix(provider): bridge drifted official provider ids to renamed catalo…
deepagent-ai Sep 25, 2026
cd98e33
fix(deepagent-code): tolerate the Core V2 providers key in config files
deepagent-ai Sep 25, 2026
f200f02
fix(ui): give the settings dialog a close affordance and heal stale d…
deepagent-ai Sep 25, 2026
7731def
fix(app): retry provider-recovery list fetches instead of bricking th…
deepagent-ai Sep 25, 2026
a9b2e8e
fix(core): bridge renamed official provider ids inside mergeVendored
deepagent-ai Sep 25, 2026
3db4bf3
fix(app): mark server-side prepare degrades and fix stream timer leaks
deepagent-ai Sep 25, 2026
7fae399
fix(core): strip the V2 providers key before the V1 config decode
deepagent-ai Sep 25, 2026
94ae170
fix(ui): stop counting closing dialogs as active
deepagent-ai Sep 25, 2026
4afee6c
fix(app): give dead servers a real offline state instead of a mislabe…
deepagent-ai Sep 25, 2026
10e3515
docs: add 2.0.2 changelog
deepagent-ai Sep 26, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
69 changes: 33 additions & 36 deletions .github/workflows/desktop-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -75,26 +75,20 @@ jobs:
EVENT_NAME: ${{ github.event_name }}
GIT_REF: ${{ github.ref }}
run: |
# Keep one artifact per OS to stay under the repo's tight artifact quota.
# macOS arm64 only - Apple Silicon covers current Macs. The Intel (macos-13)
# runner is queue-starved and the x64 cross-compile is unreliable, so it is dropped.
mac='{"host":"macos-14","target":"darwin-arm64","platform_flag":"--mac dmg zip --arm64","group":"mac"}'
mac_arm64='{"host":"macos-14","target":"darwin-arm64","platform_flag":"--mac dmg zip --arm64","group":"mac"}'
mac_x64='{"host":"macos-26-intel","target":"darwin-x64","platform_flag":"--mac dmg zip --x64","group":"mac"}'
linux='{"host":"ubuntu-24.04","target":"linux-amd64","platform_flag":"--linux deb --x64","group":"linux"}'
# W-01 §2.2.6 win-arm64: both Windows arches are packaged in ONE electron-builder
# invocation so a single latest.yml lists both installers — electron-updater then
# serves x64 and arm64 machines from the same feed (a per-arch matrix split would
# produce two latest.yml files and silently drop one arch from the update feed).
win='{"host":"windows-2025","target":"win-x64-arm64","platform_flag":"--win nsis --x64 --arm64","group":"win"}'
win='{"host":"windows-2025","target":"win-x64","platform_flag":"--win nsis --x64","group":"win"}'
# Dev mainline pushes exercise only the Windows packaging path (the newest and
# least-runner-covered one); everything else follows the platforms selection.
if [ "$EVENT_NAME" = "push" ] && [ "$GIT_REF" = "refs/heads/dev" ]; then
items="$win"
else
case "$PLATFORMS" in
mac) items="$mac" ;;
mac) items="$mac_arm64,$mac_x64" ;;
linux) items="$linux" ;;
windows) items="$win" ;;
*) items="$mac,$linux,$win" ;;
*) items="$mac_arm64,$mac_x64,$linux,$win" ;;
esac
fi
echo "matrix={\"include\":[$items]}" >> "$GITHUB_OUTPUT"
Expand Down Expand Up @@ -149,18 +143,6 @@ jobs:
tenant-id: ${{ secrets.AZURE_TRUSTED_SIGNING_TENANT_ID }}
subscription-id: ${{ secrets.AZURE_TRUSTED_SIGNING_SUBSCRIPTION_ID }}

# Cross-arch packaging: bun only installs the runner's own platform binaries,
# so the arm64 app asar would silently miss its prebuilt native modules
# (@lydell/node-pty-win32-arm64 for the terminal, @parcel/watcher-win32-arm64
# for file watching). electron-builder filters node_modules by the target
# os/cpu when copying, so installing both here yields each artifact its
# matching set. Versions must match packages/desktop/package.json
# optionalDependencies.
- name: Install arm64 Windows platform packages
if: matrix.group == 'win'
shell: pwsh
run: npm install --no-save --no-package-lock --no-audit --no-fund "@lydell/node-pty-win32-arm64@1.2.0-beta.12" "@parcel/watcher-win32-arm64@2.5.1"

# bun run build invokes the package prebuild lifecycle before electron-vite.
- name: Build renderer
working-directory: packages/desktop
Expand Down Expand Up @@ -192,25 +174,21 @@ jobs:
AZURE_TRUSTED_SIGNING_CERTIFICATE_PROFILE: ${{ secrets.AZURE_TRUSTED_SIGNING_CERTIFICATE_PROFILE }}
run: npx electron-builder ${{ matrix.platform_flag }} --publish never --config electron-builder.config.ts

# W-01 §2.2.6 Windows smoke floor: the packaged exe launch below proves the
# x64 app boots, but NSIS-specific regressions (installer script, per-arch
# payload, signing hook) would otherwise only surface on a physical machine.
# Assert both per-arch installers exist, and when Trusted Signing ran,
# assert the installer signature actually validates on Windows.
# Assert that packaging produced the supported x64 installer and, when
# Trusted Signing ran, that its signature validates on Windows.
- name: Assert NSIS installers and signatures
if: matrix.group == 'win'
working-directory: packages/desktop
shell: pwsh
run: |
$installers = Get-ChildItem -Path dist -Filter "deepagent-code-desktop-win-*.exe" -File
$x64 = $installers | Where-Object { $_.Name -eq "deepagent-code-desktop-win-x64.exe" }
$arm64 = $installers | Where-Object { $_.Name -eq "deepagent-code-desktop-win-arm64.exe" }
if (-not $x64 -or -not $arm64) {
Write-Error "NSIS installers missing: expected win-x64 and win-arm64, found: $($installers.Name -join ', ')"
if (-not $x64 -or $installers.Count -ne 1) {
Write-Error "NSIS installers mismatch: expected only win-x64, found: $($installers.Name -join ', ')"
exit 1
}
if ($env:HAS_TRUSTED_SIGNING -eq "true") {
foreach ($installer in @($x64, $arm64)) {
foreach ($installer in @($x64)) {
$signature = Get-AuthenticodeSignature -FilePath $installer.FullName
if ($signature.Status -ne "Valid") {
Write-Error "$($installer.Name) signature status '$($signature.Status)': $($signature.StatusMessage)"
Expand All @@ -226,7 +204,7 @@ jobs:
if: matrix.group == 'mac'
working-directory: packages/desktop
run: |
executable=$(find dist/mac-arm64 -maxdepth 4 -type f -path '*/Contents/MacOS/DeepAgent Code*' -perm +111 -print -quit)
executable=$(find dist -maxdepth 5 -type f -path '*/Contents/MacOS/DeepAgent Code*' -perm +111 -print -quit)
test -n "$executable"
DEEPAGENT_CODE_DESKTOP_EXECUTABLE="$executable" bun run test:subagents-cold-start

Expand All @@ -241,9 +219,7 @@ jobs:
working-directory: packages/desktop
shell: pwsh
run: |
# win-unpacked holds the x64 app (the arch the x64 runner can execute;
# arm64 lands in win-arm64-unpacked and is covered by the installer
# assertion above). Wildcard matches both prod ("DeepAgent Code.exe")
# win-unpacked holds the x64 app. Wildcard matches both prod ("DeepAgent Code.exe")
# and beta ("DeepAgent Code Beta.exe") artifact names so the beta build
# cannot silently fail this smoke because of an exact name filter.
$exe = Get-ChildItem -Path "dist/win-unpacked" -Filter "*DeepAgent Code*.exe" -Recurse -File | Select-Object -First 1
Expand Down Expand Up @@ -277,12 +253,26 @@ jobs:
steps:
- uses: actions/checkout@v4

- uses: oven-sh/setup-bun@0c5077e51419868618aeaa5fe8019c62421857d6 # v2.2.0
with:
bun-version-file: package.json

- uses: actions/download-artifact@v4
with:
pattern: deepagent-code-desktop-*
path: release-assets
merge-multiple: true

- uses: actions/download-artifact@v4
with:
name: deepagent-code-desktop-darwin-arm64
path: /tmp/latest-yml-aarch64-apple-darwin

- uses: actions/download-artifact@v4
with:
name: deepagent-code-desktop-darwin-x64
path: /tmp/latest-yml-x86_64-apple-darwin

- name: Publish latest desktop release
env:
GH_TOKEN: ${{ github.token }}
Expand All @@ -293,6 +283,13 @@ jobs:
version=$(node -p 'require("./packages/desktop/package.json").version.replace(/-.*/, "")')
tag="app-v${version}-main.${GITHUB_RUN_NUMBER}"

# The two native Mac jobs each write latest-mac.yml; publish one feed
# containing both supported architectures instead of whichever artifact
# happened to win the merge-multiple download.
LATEST_YML_DIR=/tmp GH_REPO="$REPOSITORY" DEEPAGENT_CODE_VERSION="$version" \
RUNNER_TEMP="$RUNNER_TEMP" bun packages/desktop/scripts/finalize-latest-yml.ts --dry-run
cp "$RUNNER_TEMP/latest-mac.yml" release-assets/latest-mac.yml

mapfile -t assets < <(find release-assets -type f \( -name 'latest*.yml' -o -name '*.blockmap' -o -name '*.dmg' -o -name '*.zip' -o -name '*.deb' -o -name '*.exe' \) | sort)
if [ "${#assets[@]}" -eq 0 ]; then
echo "No desktop release assets found"
Expand Down
Loading
Loading