Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
546 commits
Select commit Hold shift + click to select a range
8a500bd
Slack integration initial commit (#2569)
kunyuchen Jul 15, 2026
e3a47fe
fix(pi-native): share one response_id across a turn's running/idle st…
serena-ruan Jul 15, 2026
a955198
feat(web): show project name in pinned session hover flyout (#2595)
serena-ruan Jul 15, 2026
a1865e8
fix(web): align sidebar rows to a consistent two-column grid (#2596)
serena-ruan Jul 15, 2026
a0752d4
fix: faster host-bound session cold start + keep "Working…" lit on th…
daniellok-db Jul 15, 2026
beaae92
fix(web): disable pinned-project hover flyout on mobile (#2599)
serena-ruan Jul 15, 2026
8dde336
fix(pi-native): pair agent_start/agent_end response_id so queued mess…
TomeHirata Jul 15, 2026
67ea20d
feat(db): ScheduledTasks persistence foundation (schema + store) (#2247)
rahulrav1 Jul 15, 2026
9d0fe1d
feat(web): add wrap-lines toggle and fold diff-viewer controls into a…
serena-ruan Jul 15, 2026
d2f685b
test(e2e-ui): add a populated-sidebar visual snapshot (#2601)
serena-ruan Jul 15, 2026
780bb6b
feat(omnidev): skip gitignored files on reload, add --debug, pager lo…
fanzeyi Jul 15, 2026
579c28f
fix(web): show project picker in place in mobile session kebab (#2602)
serena-ruan Jul 15, 2026
94bb858
refactor(hindsight): rename memory extra to hindsight; gate tools on …
fanzeyi Jul 15, 2026
9271292
fix(spawn): allow to specify model in sys_session_create (#2603)
TomeHirata Jul 15, 2026
8cb610a
feat(desktop): add deep link omnigent:// (#2607)
fanzeyi Jul 15, 2026
81ab40f
fix(claude-native): send image tool results as blocks on cold resume …
serena-ruan Jul 15, 2026
b4f6662
perf(web): reduce GET /sessions calls on initial page load (5 → 3) (#…
TomeHirata Jul 15, 2026
9bad92f
feat(telemetry): add X-Omnigent-Client header for precise client surf…
TomeHirata Jul 15, 2026
b95e41e
feat(cli): add omnigent uninstall workflow (#2550)
PattaraS Jul 15, 2026
73e6ac7
fix(model-catalog): stop misreporting cli-config and cursor workers a…
samarmstrong Jul 15, 2026
223950d
fix(web): bound stream-reconnect 404 retries instead of treating the…
gitnocknock Jul 15, 2026
123e576
[examples] Add aws-analyst agent (Redshift + S3 Tables via AWS Labs M…
antonyprasad-db Jul 15, 2026
00e7759
fix(web): hide native Chat/Terminal bar over sidebar kebab menu on mo…
serena-ruan Jul 15, 2026
f54025b
perf(web): enrich session-discovered agents in background after initi…
TomeHirata Jul 15, 2026
2461185
fix(web): swap folder icon for chevron on project header hover (#2618)
serena-ruan Jul 15, 2026
ffc1b37
Add project filter to the Archived sessions view (#2134)
btli Jul 15, 2026
498db00
test(e2e_ui): deflake MCP startup band lifecycle (#2620)
serena-ruan Jul 15, 2026
5c4028b
feat(benchmarks): measure real UI cold start via a host daemon (#2611)
daniellok-db Jul 15, 2026
9b56016
fix(cli): dispatch all registered native harnesses (#2379)
cabra-arretado Jul 15, 2026
cc4b31b
Revert "perf(web): enrich session-discovered agents in background aft…
TomeHirata Jul 15, 2026
a872e57
fix(web): make Monaco find a real toggle and suppress its keyboard-hi…
serena-ruan Jul 15, 2026
aec7dbc
fix(web): ignore a stale response terminal so it can't downgrade a li…
manfredcalvo Jul 15, 2026
055107e
fix(tests): make subagent resolution tests pass on hosts without bwra…
EnesYilmazcode Jul 15, 2026
7438518
perf(web): enrich session-discovered agents in background after initi…
TomeHirata Jul 15, 2026
1e30c66
perf(web): drop 15s polling from child-sessions tree views (#2622)
TomeHirata Jul 15, 2026
e650971
feat(opencode): add web model selector (#2519)
vscunha Jul 15, 2026
ad9d4d3
fix(cli): hide sessions from host status by default (#2606)
TomeHirata Jul 15, 2026
ba872fa
fix(telemetry): rename opt-out env var OMNIGENT_TELEMETRY to OMNIGENT…
TomeHirata Jul 15, 2026
0171bd0
fix(web): ignore IME composition Enter in rename and new-project inpu…
nakaneshin Jul 15, 2026
3710eae
🐛 fix(web): Follow app theme in file editor (#2594)
anthonyivn2 Jul 15, 2026
6afe05f
fix: harden polly test count reconciliation (#2140)
peterphitran Jul 15, 2026
8450c9d
fix(sessions): guard terminal snapshot against null runner_client (#2…
TomeHirata Jul 15, 2026
7252635
feat(web): add opt-in setting to hide unconfigured harnesses in the p…
marko-k0 Jul 15, 2026
6cbd72b
feat(web): prefill the new-session composer from the project's newest…
btli Jul 15, 2026
03f910e
docs: document optional install extras (#2640)
PattaraS Jul 15, 2026
0a2a33d
🐛 fix(openai): parse use_responses config flags (#2641)
PattaraS Jul 15, 2026
10c326c
fix(harnesses): close cold-spawn vs release/shutdown race in process …
SabhyaC26 Jul 15, 2026
7b389c4
feat(db): store ids as 16-byte binary uuids, drop legacy prefixes (#2…
aravind-segu Jul 15, 2026
56412f5
fix(web): migrate legacy pinned-session ids to bare hex (#2651)
aravind-segu Jul 15, 2026
0134d11
✨ feat(ui): Add guided custom theme editor (#2650)
SabhyaC26 Jul 15, 2026
62cb299
feat(ci): deterministic release pipeline (release, finalize, homebrew…
dhruv0811 Jul 15, 2026
bc9216e
fix(web): keep manually-collapsed project closed when clicking a pinn…
wahajmasood Jul 15, 2026
0b4ef5e
[ui] Add randomize option to theme color pickers (#2653)
SabhyaC26 Jul 15, 2026
1e27fc9
fix(ci): release branches follow the existing release/vX.Y.0 conventi…
dhruv0811 Jul 15, 2026
0f6e82f
docs(release): the secure publish is write-only — no already-publishe…
dhruv0811 Jul 16, 2026
155dfc7
ci(homebrew): auto-PR the homebrew-tap formula on release (#2654)
fanzeyi Jul 16, 2026
cece34a
docs(release): post-publish validation is manual — the CI validate jo…
dhruv0811 Jul 16, 2026
50d8414
[cli] Import Claude Code and Codex chats (#2649)
SabhyaC26 Jul 16, 2026
6282d69
feat(db): add created_at to conversation_items pk for partition-readi…
aravind-segu Jul 16, 2026
13da60c
feat(telemetry): propagate host installation ID to SessionCreatedEven…
TomeHirata Jul 16, 2026
046246f
perf(web): drop /health bulk poll from NewChatLandingScreen (#2635)
TomeHirata Jul 16, 2026
5777031
fix(pi-native): route non-Claude models to correct providers in model…
TomeHirata Jul 16, 2026
f9e36b0
fix(policies): show all policies in Add Global Policy dialog (#2668)
TomeHirata Jul 16, 2026
8649f34
feat(scheduled): switch scheduled_tasks trigger from cron to RRULE (s…
rahulrav1 Jul 16, 2026
191fbe7
Automatic Desktop Updates (#2275)
zhengwin Jul 16, 2026
28b6996
feat(web): add find-in-file to the markdown rich-text editor (#2628)
serena-ruan Jul 16, 2026
7e0cdda
feat(web): preview PDF files inline with PDF.js (#2619)
kevin-lyn Jul 16, 2026
d4a4e2f
fix(codex): resolve gateway host from the profile so token & base URL…
serena-ruan Jul 16, 2026
d09b1c4
feat(web): add find-in-file to the markdown & notebook preview (#2674)
serena-ruan Jul 16, 2026
449278d
fix(policies): show all policies in Add Policy session dialog (#2670)
TomeHirata Jul 16, 2026
f8c89e3
feat(codex-native): surface Codex plans in the TodoPanel (#2678)
serena-ruan Jul 16, 2026
dbf3bef
fix(web): surface harness token-expiration errors in the live transcr…
TomeHirata Jul 16, 2026
f9df63d
perf(web): reduce GET /v1/sessions calls on session detail page (#2679)
TomeHirata Jul 16, 2026
7e86b54
feat(scheduled tasks): task scheduler engine (#2614)
rahulrav1 Jul 16, 2026
9b474f7
fix(claude): back off failed cost forwarding (#2453)
dosenr Jul 16, 2026
b07bddb
feat(ci): draft feature-blog posts at release cut (#2682)
serena-ruan Jul 16, 2026
74529d9
fix(web): keep mobile comment box above the iOS keyboard (#2694)
serena-ruan Jul 16, 2026
57ec0e1
feat(files): serve session filesystem from host when runner is offlin…
serena-ruan Jul 16, 2026
c87e95b
perf(web): replace GET /v1/hosts 10s poll with WS push (#2695)
TomeHirata Jul 16, 2026
9069d8e
ci(benchmarks): add PR and release benchmark gate workflows (#2683)
TomeHirata Jul 16, 2026
cc841b0
ci(benchmark): allow dispatching against a specific commit SHA (#2700)
serena-ruan Jul 16, 2026
ae8878a
fix(server): ask the host if a runner is coming before the connect gr…
daniellok-db Jul 16, 2026
ea1647a
ci: require DCO in merge ready (#2707)
PattaraS Jul 16, 2026
1e0e422
feat(codex-native): stream command output to web (#2652)
shantanudeshp Jul 16, 2026
7341295
fix(web): keep terminal session links in-app (#2639)
PattaraS Jul 16, 2026
50383ad
feat(web): collapsible dropdown for nested subagents (#975)
mvanhorn Jul 16, 2026
0beca0b
fix(cli): surface clean errors when binding a session runner times ou…
da-luce Jul 16, 2026
38595d2
Add cross-replica live-state mirror for the session sidebar (#2574)
Edwinhe03 Jul 16, 2026
9df2abd
feat(cli): add bounded batch chat imports (#2724)
SabhyaC26 Jul 16, 2026
3f1084d
♻️ refactor(ui): Generalize goal mode controls (#2728)
SabhyaC26 Jul 16, 2026
6594028
## Related issue (#2661)
fanzeyi Jul 16, 2026
5f5d16e
fix(cli): drop the OpenRouter example from the Gateway setup option (…
dhruv0811 Jul 16, 2026
7c997db
fix(electron): remove macOS WebAuthn platform authenticator (fixes Yu…
abhay-jalisatgi-db Jul 16, 2026
68c4539
chore: centralize "session not found" NOT_FOUND errors behind a facto…
agharsallah Jul 17, 2026
6abce78
fix: macOS seatbelt sandbox blocks claude-sdk subscription runs (Bun …
rauldogoodwork Jul 17, 2026
c297974
fix(sandbox): keep bwrap helper spawnable when interpreter lives unde…
yours-aditya Jul 17, 2026
690eeff
fix(server): key HostRegistry by canonical host id so legacy host_<he…
dhruv0811 Jul 17, 2026
cfcc076
perf(policies): remove unused trajectory DB read from policy evaluati…
TomeHirata Jul 17, 2026
ac756cf
fix(sandbox): grant exec-chain symlink hops + launcher target in seat…
dhruv0811 Jul 17, 2026
1039967
fix(claude-sdk): degrade instead of crashing when the CLI wrap is inf…
dhruv0811 Jul 17, 2026
4c51613
fix(claude-sdk): evict the cached client when a turn is cancelled (#2…
EnesYilmazcode Jul 17, 2026
6364d0b
[cursor] Clarify CLI setup readiness (#2733)
SabhyaC26 Jul 17, 2026
2192b0f
fix(cursor): fail closed in the policy hook when evaluation is unavai…
EnesYilmazcode Jul 17, 2026
7053a5b
fix(harnesses): run cursor bridge in the declared workspace cwd (#2244)
isabella0428 Jul 17, 2026
8114578
fix(benchmark-pr): continue-on-error for PR comment step on fork PRs …
TomeHirata Jul 17, 2026
6200a25
✨ feat(cli): Add Hermes setup installer (#2751)
SabhyaC26 Jul 17, 2026
3de0196
feat(web): add PDF text selection comments with highlight overlays (#…
kevin-lyn Jul 17, 2026
59aa761
fix: use world-writable /tmp safely in modal sandbox and test guardra…
agharsallah Jul 17, 2026
e177a15
fix(sandbox): grant the private scratch tmpdir before the spawn-time …
dhruv0811 Jul 17, 2026
3cd67bc
docs(releases): narrative, prose-driven website release posts (#2764)
serena-ruan Jul 17, 2026
a12bd79
fix(deps): cap openai for agents sdk compatibility (#2713)
PattaraS Jul 17, 2026
7b41efe
test(terminals): de-flake control-bridge burst-then-exit tail test (#…
PattaraS Jul 17, 2026
d499489
fix(policies): wire PolicyStore in Docker entrypoint; thread session …
TomeHirata Jul 17, 2026
143dc8a
docs(releases): curated feature posts with auto-linked docs sections …
serena-ruan Jul 17, 2026
598f3b8
fix(runner): thread session workspace cwd into spawned harness subpro…
astasdf1 Jul 17, 2026
f466201
feat(auth): read the OIDC email identity from a configurable id_token…
dosenr Jul 17, 2026
698f71f
Slack integration with auth support (#2739)
kunyuchen Jul 17, 2026
f8acee6
test(proc): de-flake process_alive nondestructive-probe PID-recycling…
PattaraS Jul 17, 2026
00d6b23
refactor(ci): reuse run-omnigent-agent action in feature-blog workflo…
serena-ruan Jul 17, 2026
c9f6a5f
✨ feat(benchmarks): Add cold restart journey (#2761)
daniellok-db Jul 17, 2026
46d10a4
fix(runner): recover cold-resume context when server GET returns null…
TomeHirata Jul 17, 2026
c1ab8fc
fix(fork): drop CLI-specific launch args when a fork switches harness…
serena-ruan Jul 17, 2026
09d02d9
fix(policies): thread turn-initiating created_by as policy actor via …
TomeHirata Jul 17, 2026
4d6f42c
perf(policies): skip engine build in evaluate_policy when no policies…
TomeHirata Jul 17, 2026
134b484
fix(ci): prettier-format drafted blog files before committing (#2786)
serena-ruan Jul 17, 2026
9238787
fix(ci): drafter writes only the post page, not blog infra (#2791)
serena-ruan Jul 17, 2026
3028c61
feat(ci): let feature-blog dispatch pick how many posts to draft (#2792)
serena-ruan Jul 17, 2026
e725156
fix(web): use correct query key when invalidating session items cache…
TomeHirata Jul 17, 2026
9da9d2b
fix(claude-native): bound subagent_delivery_not_confirmed 503 retries…
abedegno Jul 17, 2026
50555b8
fix(ci): emit MDX comment for the demo marker, guard against HTML com…
serena-ruan Jul 17, 2026
4a92f35
feat(ci): list drafted blog PR links in the feature-blog job summary …
serena-ruan Jul 17, 2026
4004cf7
fix(sessions): stop running child sub-agents, not just the parent, be…
gitnocknock Jul 17, 2026
ca26128
fix(inner): default the terminal pane to a UTF-8 locale for native TU…
abhay-codes07 Jul 17, 2026
0b8cb87
feat(benchmarks): track server CPU and memory usage in nightly benchm…
TomeHirata Jul 17, 2026
3481126
feat(UI): Show per-file line-change counts in changed-files panel (#2…
anthonyivn2 Jul 17, 2026
ade8ee9
chore(ci): stop the Reviewer SLA scheduled sweep (#2799)
serena-ruan Jul 17, 2026
0998bd2
fix(ci): make feature-blog drafts read user-facing, not machine-gener…
serena-ruan Jul 17, 2026
c4f46e8
chore(ci): update area owners in areas.json (#2801)
serena-ruan Jul 17, 2026
f2dfe1c
fix(claude-native): ack message delivery via hooks, not just the inpu…
isabella0428 Jul 17, 2026
18c782f
fix(codex,claude): resolve CLI binary beyond the daemon's frozen PATH…
PattaraS Jul 17, 2026
4a3c0fa
feat(ci): drafter emits BlogPostHeader instead of a plain H1 (#2804)
serena-ruan Jul 17, 2026
f97e5cb
fix(fs): forward per-file line counts on the host-served changed-file…
serena-ruan Jul 17, 2026
ebf8d43
feat(web): cache chat transcripts for instant switch-back (#2688)
AryaBuddha Jul 17, 2026
df4ca2a
fix(web): wrap loose inline runs so markdown files with bare images o…
jennsun Jul 17, 2026
372e22d
test(runtime): add coverage for the model-change respawn happy path (…
gitnocknock Jul 17, 2026
764afb6
Revert "feat(web): cache chat transcripts for instant switch-back (#2…
hzub Jul 17, 2026
617e4b8
feat(policies): show config-file policies in admin policy page (#2807)
TomeHirata Jul 17, 2026
c1d58c7
fix(claude-sdk): compaction error when resuming sessions with attachm…
zhengwin Jul 17, 2026
143595d
fix(electron): use public npm registry in lockfile to fix Windows CI …
fanzeyi Jul 17, 2026
c4682ba
feat(web): add QR code for opening a session in the mobile app (#2824)
fanzeyi Jul 17, 2026
1ab4dda
feat(android): floating server switcher pill with dropdown menu (#2829)
fanzeyi Jul 17, 2026
2347ed4
fix(web): hide "Create custom agent" on a managed sandbox (#2826)
Edwinhe03 Jul 17, 2026
f9b2c73
ci(android): build unsigned release AAB in CI for local signing (#2830)
fanzeyi Jul 17, 2026
6b765a5
ci(android): add version-code input to bundle workflow (#2835)
fanzeyi Jul 17, 2026
bc8c500
(feat) Make the agent info panel appear on hover over the (i) button,…
mateiz Jul 17, 2026
d52fd15
docs: add finishing-task and deprecation guidance to AGENTS.md (#2836)
fanzeyi Jul 17, 2026
a93c624
feat(cli): friendly crash handler with pre-filled GitHub issue filing…
fanzeyi Jul 18, 2026
e2fbcd9
🔨 chore(repo): Remove Playwright output (#2844)
SabhyaC26 Jul 18, 2026
a5b6241
Slack integration to support approval / elicitation flow (#2820)
kunyuchen Jul 18, 2026
f8b333b
Add automatic session titles (#2778)
zhengwin Jul 18, 2026
e03c01a
chore: remove accidentally committed local session notes (#2858)
btli Jul 18, 2026
3fea769
🔨 chore(repo): Remove Playwright output (#2861)
SabhyaC26 Jul 18, 2026
afee478
fix(web): stop double-prefixing the basename on query/hash paths (#2839)
bbqiu Jul 19, 2026
126bac5
Revert "fix(claude-native): ack message delivery via hooks, not just …
daniellok-db Jul 19, 2026
091fabf
feat(web): gate sidebar row actions on ownership, not permission leve…
bbqiu Jul 19, 2026
038bba6
fix(acp): make prompt timeout configurable (#2817)
dosenr Jul 19, 2026
831fc95
fix: bound session stream subscriber queues (#2466)
GautamSharma99 Jul 19, 2026
4f2edef
fix(runtime): drop parallel tool-call batches atomically in Layer-3 c…
gitnocknock Jul 19, 2026
ef52984
fix(runner): clear in-flight marker on a live-turn context overflow (…
gitnocknock Jul 19, 2026
e738ea7
fix: derive sub-agent snapshot metadata from child spec (#2408)
leveragedloop Jul 19, 2026
7da3263
Clarify parallel subagent title requirements (#2860)
anthonyivn2 Jul 19, 2026
4581b77
fix(harness): resolve CLI binaries off the daemon's frozen PATH in re…
PattaraS Jul 20, 2026
a0b23b1
✅ test(e2e-ui): stabilize nightly journeys (#2896)
PattaraS Jul 20, 2026
559680a
feat(sandbox): inject omnigent host config into managed sandboxes at …
btli Jul 20, 2026
fa3a420
fix(opencode): carry user config model default into synthesized confi…
dgokeeffe Jul 20, 2026
79fadd7
fix(cli): respect max_chars<=2 budget in _host_shorten (#2420)
gitnocknock Jul 20, 2026
cecc8c9
test(e2e): de-flake custom-theme randomize color picker (#2902)
serena-ruan Jul 20, 2026
2d00b60
fix(web): show busy spinner on new-session Send while create is in fl…
serena-ruan Jul 20, 2026
d906938
fix: avoid shared e2e policy allow response (#508)
BradGroux Jul 20, 2026
1cf7d0a
fix(sessions): don't show runner_disconnected error on intentional st…
serena-ruan Jul 20, 2026
315b08d
perf(runtime): speed up changed-files git status on large repos (#2905)
serena-ruan Jul 20, 2026
6078e84
feat(ci): auto-generate a hero image for each feature-blog post (#2908)
serena-ruan Jul 20, 2026
908d3be
feat(ci): auto-assign the maintainer with most context on a feature b…
serena-ruan Jul 20, 2026
4ac6e0f
fix(ci): point feature-blog footer to releases page (#2913)
serena-ruan Jul 20, 2026
01f1db3
[host] Refresh harness readiness without reconnect (#2828)
SabhyaC26 Jul 20, 2026
2c628b8
slack integration refactoring, user experience improvements and docum…
kunyuchen Jul 20, 2026
001193c
perf(db): drop the redundant conversations created_at/updated_at inde…
aravind-segu Jul 20, 2026
62064ca
perf(db): index conversation title uniqueness by a 16-byte hash (#2928)
aravind-segu Jul 20, 2026
624216a
feat(scheduled tasks): wire scheduler fire path (#2720)
rahulrav1 Jul 20, 2026
971b199
perf(db): make the conversation_items position index plain (drop UNIQ…
aravind-segu Jul 20, 2026
a35773f
fix(codex): bridge global agent instructions (#2809)
craiuconstantintiberiu Jul 20, 2026
6438d1f
refactor(db): merge agent_configuration back into conversations (#2931)
aravind-segu Jul 20, 2026
5fd0012
docs(readme): add telemetry disclosure section (#2934)
fanzeyi Jul 20, 2026
09656ca
perf(db): drop the unused ix_conversation_metadata_kind index (#2936)
aravind-segu Jul 20, 2026
c555ba9
feat(config): per-harness startup command/args overrides + OMNIGENT_*…
fanzeyi Jul 20, 2026
c905acb
fix(deps): restore memory extra as backwards-compat alias for hindsig…
fanzeyi Jul 20, 2026
e8e95e9
perf(db): drop the unused ix_scheduled_tasks_state index (#2937)
aravind-segu Jul 20, 2026
2e20f72
Disable automatic session rename out of the box (#2944)
fanzeyi Jul 20, 2026
e19209e
fix(repl): treat /model show|list|status|current as display, not a sw…
simtsc Jul 20, 2026
91d720a
fix(sandbox): detach managed BoxLite boxes (#2846)
tim-mcdonnell Jul 20, 2026
d83d13e
refactor(db): store opaque policy/host text columns as CompressedText…
aravind-segu Jul 21, 2026
f2696fc
docs(openshell): use uv instead of pip in install instructions (#2948)
terrytangyuan Jul 21, 2026
2a2dfcd
fix(release): stop release-workflow self-poisoning and benchmark fail…
fanzeyi Jul 21, 2026
de79983
feat(routing): server-side smart routing via external routes:select g…
lilly-luo Jul 21, 2026
943bafe
Bump version to 0.7.0.dev0 (#2950)
omnigent-ci[bot] Jul 21, 2026
dc64952
perf(benchmark): bulk-insert the SQLite seed corpus in one transactio…
fanzeyi Jul 21, 2026
f70085d
[auth] Reuse delegated credentials in host runners (#2762)
daniellok-db Jul 21, 2026
8be0606
test(cli): assert crash-report version against VERSION, not a hardcod…
aravind-segu Jul 21, 2026
c02ca4b
fix(benchmarks): make the perf harness resilient to HTTP failures (#2…
daniellok-db Jul 21, 2026
d82d0aa
Add rahulrav1 to maintainers (#2957)
fanzeyi Jul 21, 2026
fd3f64c
perf(db): drop the unused ix_files_created_at index (#2954)
aravind-segu Jul 21, 2026
ec94437
perf(db): fold conversation_id into the comments primary key (#2955)
aravind-segu Jul 21, 2026
e18d7e3
docs(readme): restore Telemetry section, drop Configuration section (…
fanzeyi Jul 21, 2026
dcaeaaf
chore(electron): bump desktop shell to 0.6.0 (#2964)
fanzeyi Jul 21, 2026
6441f3b
⚡ perf(runner): Coalesce session initialization (#2793)
daniellok-db Jul 21, 2026
d6b3bf1
perf(db): consolidate policies listing indexes; drop name unique key …
aravind-segu Jul 21, 2026
fc5ab1c
fix(server): key HostRegistry by (workspace_id, host_id) (#2969)
aravind-segu Jul 21, 2026
005e632
fix(telemetry): track sdk harness name in SessionCreatedEvent (#2968)
TomeHirata Jul 21, 2026
524d117
fix(web): trust server session.status so "Working…" clears on idle (#…
daniellok-db Jul 21, 2026
044766e
perf(db): drop the hosts token_hash unique constraint (#2971)
aravind-segu Jul 21, 2026
cc87a41
deps(policies): migrate CEL evaluation from cel-expr-python to cel-py…
TomeHirata Jul 21, 2026
e3bc0fc
⚡ perf(runner): Defer untracked cache setup (#2976)
daniellok-db Jul 21, 2026
2a8ff39
feat(electron): shell-owned desktop update overlay + banner-safe web …
fanzeyi Jul 21, 2026
34857ab
fix(ci): install web dependencies with matching peer mode (#2980)
fanzeyi Jul 21, 2026
829fdd5
refactor(db): unify session-owner identity columns to user_id (#2978)
aravind-segu Jul 21, 2026
5ff4c9d
feat(scheduled tasks): make workspace/host optional on create (#2946)
rahulrav1 Jul 21, 2026
f35726a
fix(ci): format desktop update test (#2982)
fanzeyi Jul 21, 2026
8d15110
perf(web): lazy-load Shiki so it leaves the main bundle (#2886)
simtsc Jul 21, 2026
77d0908
perf(runtime): bump default idle-reap window to 1 hour (#2986)
daniellok-db Jul 21, 2026
a077eb6
feat(session-ui): HTTP headers support for MCP servers in session UI …
TomeHirata Jul 21, 2026
723d2cb
perf(conv-store): batch FTS deletes in delete_conversation (#2999)
TomeHirata Jul 21, 2026
b51b3f1
feat(runner): log the exit reason on every hookable shutdown path (#2…
daniellok-db Jul 21, 2026
a19b08c
perf(db): drop conversations title-unique index + title_hash column (…
aravind-segu Jul 21, 2026
a063839
[codex] Surface native subagents in Agents UI (#3028)
SabhyaC26 Jul 21, 2026
2af7e2a
📝 docs: Remove accidental Codex screenshot (#3031)
SabhyaC26 Jul 21, 2026
d344ac9
fix(sessions): serialize explicit /compact per session (#2585)
SabhyaC26 Jul 21, 2026
5260339
fix(async-inbox): use handle_id as the canonical sys_call_async ident…
SabhyaC26 Jul 21, 2026
91d2439
fix(runner): reject non-object tool arguments in execute_tool (#2587)
SabhyaC26 Jul 21, 2026
7443647
fix(runner): count async tools, timers, and approvals as active work …
SabhyaC26 Jul 21, 2026
336d1fb
feat: server-side streaming dictation for the composer mic button (#2…
jbfly Jul 21, 2026
886f9d4
fix(sessions): avoid GeneratorExit on SSE stream disconnect cleanup (…
SabhyaC26 Jul 21, 2026
de7cc8d
feat(scheduled tasks): run-completion tracking + run-history endpoint…
rahulrav1 Jul 22, 2026
a944270
feat(dictation): remote worker engine for offloading speech-to-text (…
kerryspchang Jul 22, 2026
a1c6608
fix(runner): fail closed when tool policies fail to resolve (#2589)
SabhyaC26 Jul 22, 2026
8adf530
perf(store): batch FTS inserts in append and fork_conversation (#2998)
TomeHirata Jul 22, 2026
8ee18e9
perf(permission-store): eliminate N+1 queries in reassign_user_grants…
TomeHirata Jul 22, 2026
b221bb9
fix(web): don't queue messages while only background work is running …
serena-ruan Jul 22, 2026
9b9d331
feat(server): install a missing harness onto a connected host from th…
xq-yin Jul 22, 2026
2483190
feat: import Qwen, Kiro, Pi, and Kimi chats (#3032)
SabhyaC26 Jul 22, 2026
ba9c7dd
fix(setup): avoid termios setup crash on Windows
scwf Jul 6, 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
  •  
  •  
  •  
7 changes: 7 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -1,2 +1,9 @@
# Treat the AppIcon bundle's contents as binary and never merge them.
web/electron/icons/AppIcon.icon/** binary -merge

# Protobuf bindings regenerated by scripts/gen_routing_pb2.py from the .proto
# schema. Mark them generated so review/code-quality tooling skips them (ruff
# and mypy already exclude them in pyproject.toml); the protoc output isn't
# hand-editable, so its unused-import/global artifacts are expected.
omnigent/api/**/*_pb2.py linguist-generated=true
omnigent/api/**/*_pb2.pyi linguist-generated=true
2 changes: 2 additions & 0 deletions .github/MAINTAINER
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,11 @@ mahesh-venkatachalam
mateiz
newfront
PattaraS
rahulrav1
SabhyaC26
serena-ruan
shivam5
TomeHirata
xq-yin
hzub
zhengwin
124 changes: 124 additions & 0 deletions .github/actions/run-omnigent-agent/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,124 @@
name: Run Omnigent agent
description: >-
Set up uv + the Claude Code CLI + an Omnigent gateway provider, run a tools-less
Omnigent agent headlessly on a prompt file, and secret-scan its output. Shared by
the release-cut (draft-release-notes) and publish (publish-changelog) workflows so
the LLM-runner scaffold lives in one place. The caller mints no write-token until
after this action returns — the only secret here is the model key.

inputs:
workdir:
description: >-
Repo checkout dir relative to the workspace (`.` when checked out at the
root, `omnigent` when checked out into a subdir). Drives the venv path, the
cache key, and the uv --project / agent paths.
required: false
default: "."
agent:
description: Agent directory name under <workdir>/.github/agents/.
required: true
prompt-file:
description: Absolute path to the file holding the agent prompt.
required: true
output-file:
description: Absolute path to write the agent's stdout to.
required: true
stderr-file:
description: Absolute path to write the agent's stderr to.
required: false
default: /tmp/omnigent-agent-stderr.log
gateway-base-url:
description: Base URL of the Anthropic-compatible gateway.
required: true
llm-api-key:
description: Model API key (referenced by the provider config, used to scan output).
required: true
claude-code-version:
description: "@anthropic-ai/claude-code npm version to install."
required: false
default: 2.1.170

runs:
using: composite
steps:
- name: Set up uv
uses: astral-sh/setup-uv@fac544c07dec837d0ccb6301d7b5580bf5edae39 # v8.2.0
with:
enable-cache: true

- name: Cache virtualenv
uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5
with:
path: ${{ inputs.workdir }}/.venv
key: venv-${{ runner.os }}-${{ hashFiles(format('{0}/.python-version', inputs.workdir)) }}-${{ hashFiles(format('{0}/uv.lock', inputs.workdir)) }}

- name: Install dependencies
shell: bash
working-directory: ${{ inputs.workdir }}
run: uv sync --extra all --extra dev

- name: Install Claude Code CLI
shell: bash
env:
NPM_CONFIG_REGISTRY: https://registry.npmjs.org/
CLAUDE_CODE_VERSION: ${{ inputs.claude-code-version }}
run: |
set -euo pipefail
mkdir -p "${GITHUB_WORKSPACE}/.cc-cli"
cd "${GITHUB_WORKSPACE}/.cc-cli"
npm install --ignore-scripts --no-audit --no-fund "@anthropic-ai/claude-code@${CLAUDE_CODE_VERSION}"
node node_modules/@anthropic-ai/claude-code/install.cjs
echo "${GITHUB_WORKSPACE}/.cc-cli/node_modules/.bin" >> "$GITHUB_PATH"

- name: Write Omnigent provider config
shell: bash
env:
GATEWAY_BASE_URL: ${{ inputs.gateway-base-url }}
run: |
set -euo pipefail
mkdir -p "$HOME/.omnigent"
python3 -c "
import pathlib, os, json
gw = os.environ['GATEWAY_BASE_URL']
cfg = {'providers': {'databricks-gateway': {
'kind': 'gateway', 'default': ['anthropic'],
'anthropic': {
'base_url': gw + '/anthropic',
'api_key_ref': 'env:LLM_API_KEY',
'models': {'default': 'databricks-claude-opus-4-8'},
}}}}
pathlib.Path.home().joinpath('.omnigent', 'config.yaml').write_text(json.dumps(cfg, indent=2))
"

- name: Run the agent
shell: bash
env:
LLM_API_KEY: ${{ inputs.llm-api-key }}
WORKDIR: ${{ inputs.workdir }}
AGENT: ${{ inputs.agent }}
PROMPT_FILE: ${{ inputs.prompt-file }}
OUTPUT_FILE: ${{ inputs.output-file }}
STDERR_FILE: ${{ inputs.stderr-file }}
run: |
set -euo pipefail
project="${GITHUB_WORKSPACE}/${WORKDIR}"
prompt="$(cat "$PROMPT_FILE")"
uv run --project "$project" omnigent run \
"${project}/.github/agents/${AGENT}" \
-p "$prompt" --no-session \
2>"$STDERR_FILE" | tee "$OUTPUT_FILE" \
|| { echo "::warning::agent exited non-zero — caller keeps its fallback"; cat "$STDERR_FILE"; }

# ::add-mask:: only redacts rendered logs; the caller still redacts artifact
# files before upload. This aborts the run outright if the key leaked to stdout.
- name: Scan agent output for secrets
shell: bash
env:
LLM_API_KEY: ${{ inputs.llm-api-key }}
OUTPUT_FILE: ${{ inputs.output-file }}
run: |
set -euo pipefail
if [ -n "${LLM_API_KEY:-}" ] && grep -qF "$LLM_API_KEY" "$OUTPUT_FILE" 2>/dev/null; then
echo "::error::Agent output contains LLM_API_KEY — aborting."
exit 1
fi
37 changes: 31 additions & 6 deletions .github/agents/doc-drafter/config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,9 @@ prompt: |
Read `DIFF_FILE` (with `sys_os_read`) carefully — it is your source of truth.
Pull exact facts (flags, defaults, harness ids, CLI names, config keys) from the
diff itself. Never invent a fact; if the diff doesn't settle something a doc must
state, flag it for manual review rather than guessing.
state, flag it for manual review rather than guessing. Note whether the PR
**adds**, **changes**, or **removes/deprecates** a user-facing feature — that
decides whether you add, edit, or delete docs (Step 3).

## Step 2 — Inspect the live site and decide placement
This is why you have the whole site checked out. Read
Expand All @@ -116,7 +118,23 @@ prompt: |
## Step 3 — Write the edit (scoped, grounded, in-style)
Make the change. Editing an existing `page.mdx` in place is best when one fits;
otherwise create the new page and wire it into the nav. Keep the change scoped
to what this PR introduced. Be accurate and concise — no marketing fluff.
to what this PR introduced, changed, or removed. Be accurate and concise — no
marketing fluff.

When the PR **removes or deprecates** a user-facing feature, the docs must
shrink to match — treat this as first-class as adding docs, never as a no-op:
- **Feature removed**: delete the now-untrue content. If a whole page documented
only that feature, delete the `page.mdx` (with `sys_os_shell` `git rm`) AND
remove its entry from the `SECTIONS` array in
`components/DocsSidebarFull.js`. If it was one section of a larger page, cut
that section and any references, table rows, or links pointing at it. Leave
no dangling nav entry or cross-link to a page you deleted.
- **Feature deprecated (not yet gone)**: keep the page but mark it deprecated in
the site's usual style and state the replacement/removal timeline if the diff
gives one; don't delete prematurely.
Ground the removal in the diff: only delete docs for what the PR actually
removed. If you're unsure whether a doc references the removed feature elsewhere
on the site, flag it under "Manual review needed" rather than guessing.

Match the site's conventions by mirroring a real file:
- **Existing page**: preserve its `pageMeta(...)` frontmatter and JSX component
Expand All @@ -141,10 +159,17 @@ prompt: |
the affected `<img>` (MDX supports JSX comments; the build is unaffected).

## Output contract (your final assistant text)
After a line containing exactly `<!-- DOC_DRAFT_SUMMARY -->`, emit:
- `## Changes documented` — one bullet per file you created or edited (pages and
`components/DocsSidebarFull.js`): `path — what changed`. If you made no edits,
write `_No edits made._` and explain under the next section.
On the line IMMEDIATELY BEFORE `<!-- DOC_DRAFT_SUMMARY -->`, emit a single
`DOC_PR_TITLE:` line — a concise, imperative summary of what the docs now cover,
grounded in the diff (e.g. `DOC_PR_TITLE: document SMALLINT enum-column storage`).
Keep it under 60 characters, no trailing period, and do NOT prefix it with
`docs:` (the workflow adds that). This becomes the docs PR title.

Then, after a line containing exactly `<!-- DOC_DRAFT_SUMMARY -->`, emit:
- `## Changes documented` — one bullet per file you created, edited, or deleted
(pages and `components/DocsSidebarFull.js`): `path — what changed` (say
"deleted" / "removed section" for removals). If you made no edits, write
`_No edits made._` and explain under the next section.
- `## Manual review needed` — a checklist: `- [ ] <doc path or area> — <why>`.
Use this for things you genuinely cannot do well: stale screenshots/GIFs (you
can't regenerate binaries), or a placement decision you're truly unsure about.
Expand Down
Loading
Loading