roshan
|
b89f63e511
|
feat(usage): add PDF review pack to exports (#13872)
|
2026-08-12 16:30:39 +00:00 |
|
roshan
|
c4e63842a9
|
feat(usage): add per-user attribution to usage report exports (#13843)
|
2026-08-11 22:19:43 +00:00 |
|
roshan
|
92f7966049
|
chore: remove spending limits page and make cost-budget API Enterprise-only (#13862)
|
2026-08-11 19:02:21 +00:00 |
|
roshan
|
74a6878deb
|
fix(admin): prevent date range picker pills from clipping in narrow headers (#13860)
|
2026-08-11 17:52:01 +00:00 |
|
roshan
|
5130422108
|
fix(web): keep native row role on clickable opal Table rows (#13846)
|
2026-08-10 22:30:16 +00:00 |
|
roshan
|
cf9a2d80cf
|
feat(web): rework per-user usage panel (#13806)
|
2026-08-10 21:52:48 +00:00 |
|
roshan
|
63a806d06c
|
test(craft): drive lazy webapp provisioning in the craft integration suites (#13830)
|
2026-08-10 21:10:47 +00:00 |
|
roshan
|
87eca2ddbc
|
feat(usage): extract TokenRateLimitsPanel and rework the limits table (frontend 2/2) (#13784)
|
2026-08-07 20:50:33 +00:00 |
|
roshan
|
a7ba98fef8
|
feat(usage): redesign the create-spending-limit modal (frontend 1/2) (#13783)
|
2026-08-07 19:17:25 +00:00 |
|
roshan
|
08b75ae8c9
|
feat(craft): gate Preview tab on webapp readiness with three-state UX (#13713)
|
2026-08-07 19:10:19 +00:00 |
|
roshan
|
f807785611
|
feat(craft): lazy webapp provisioning on setup and restore (#13712)
|
2026-08-07 18:42:13 +00:00 |
|
roshan
|
1b577de028
|
feat(web): add usage analytics building blocks (#13769)
|
2026-08-07 18:34:27 +00:00 |
|
roshan
|
f2a28e3344
|
feat(usage): cap spending-limit token budgets at one trillion (backend) (#13782)
|
2026-08-07 18:18:41 +00:00 |
|
roshan
|
dbe9b17d13
|
feat(usage): accept a client-supplied report_id for generation (#13771)
|
2026-08-07 18:18:36 +00:00 |
|
roshan
|
a9df89bffa
|
feat(opal): support alignment overrides in Table cells and headers (#13768)
|
2026-08-06 00:11:56 +00:00 |
|
 roshanandOmX
|
fe4c5c3183
|
feat(usage): expose flow and provider detail in usage exports (#13750)
Co-authored-by: OmX <omx@oh-my-codex.dev>
|
2026-08-05 18:05:51 +00:00 |
|
roshan
|
a6c4e42a3e
|
fix(gateway): hide the LLM gateway PAT scope below Enterprise tier (#13753)
|
2026-08-05 17:33:51 +00:00 |
|
 roshanandOmX
|
54286bbde0
|
feat(ee): move the LLM gateway into EE (#13746)
Co-authored-by: OmX <omx@oh-my-codex.dev>
|
2026-08-05 01:43:37 +00:00 |
|
roshan
|
b427760c3d
|
feat(craft): add webapp bootstrap script generator and tool assets (#13711)
|
2026-08-05 00:51:01 +00:00 |
|
 roshanandOmX
|
5bf5a4c7ba
|
fix: normalize API prefixes before middleware gates (#13748)
Co-authored-by: OmX <omx@oh-my-codex.dev>
|
2026-08-05 00:50:40 +00:00 |
|
roshan
|
ff47db741c
|
test(gateway): integration suite driving real Claude Code and Codex through the passthroughs (#13730)
|
2026-08-04 21:54:19 +00:00 |
|
roshan
|
f548bc47d4
|
feat(gateway): serve the OpenAI Responses API natively for true OpenAI models (#13724)
|
2026-08-04 20:07:52 +00:00 |
|
roshan
|
4b9695ba55
|
feat(gateway): native Anthropic passthrough for /v1/messages (#13697)
|
2026-08-04 19:29:04 +00:00 |
|
roshan
|
fa3b6312eb
|
fix(tests): stop celery logging tests leaking third-party log cap state (#13732)
|
2026-08-04 18:36:06 +00:00 |
|
roshan
|
c5cf1e1e3f
|
feat(gateway): support forcing a specific named tool via tool_choice (#13692)
|
2026-08-04 16:40:16 +00:00 |
|
roshan
|
5a92d81c7e
|
feat(gateway): tag PAT gateway traffic with its own LLM flow (#13700)
|
2026-08-03 23:56:22 +00:00 |
|
roshan
|
ae137d579a
|
feat(gateway): pass extended thinking through the Anthropic Messages API (#13691)
|
2026-08-03 23:15:28 +00:00 |
|
roshan
|
073993f625
|
feat(gateway): serve the Anthropic Messages API for Claude Code (#13687)
|
2026-08-03 20:46:18 +00:00 |
|
 roshanandClaude Fable 5
|
c4a7749902
|
feat(craft): bake webapp dev-server env into the sandbox so hand-started servers work (#13699)
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
|
2026-08-03 19:20:17 +00:00 |
|
roshan
|
27e26de8aa
|
feat(gateway): refuse gateway params we cannot honor (#13650)
|
2026-08-01 04:52:28 +00:00 |
|
roshan
|
7a13697053
|
feat(gateway): stream the Responses API output-item lifecycle (#13624)
|
2026-08-01 01:58:03 +00:00 |
|
roshan
|
9c6e4d8b56
|
feat(gateway): serve the OpenAI Responses API for Codex CLI (non-streaming) (#13605)
|
2026-07-31 22:32:02 +00:00 |
|
roshan
|
fc73de040e
|
fix(usage): sort per-model usage breakdown by cost descending (#13676)
|
2026-07-31 21:59:57 +00:00 |
|
roshan
|
6f99562100
|
fix(gateway): open a trace so gateway LLM calls are metered (#13666)
|
2026-07-31 21:09:09 +00:00 |
|
roshan
|
a6cb8d2f5c
|
feat(gateway): let external OpenAI-compatible clients use the LLM gateway (#13604)
|
2026-07-31 01:09:16 +00:00 |
|
roshan
|
f680211865
|
feat(auth): capture per-credential identity for usage attribution (#13606)
|
2026-07-30 20:27:22 +00:00 |
|
roshan
|
24147b4b2d
|
fix(usage): retain user_usage rows when a user is deleted (#13563)
|
2026-07-29 19:16:58 +00:00 |
|
roshan
|
8662ef9122
|
fix(craft): split aggregator providers by vendor in the model picker (#13552)
|
2026-07-29 18:19:24 +00:00 |
|
 roshanandOmX
|
46306b09b8
|
fix(craft): omit unverified limits for unknown models (#13527)
Co-authored-by: OmX <omx@oh-my-codex.dev>
|
2026-07-29 00:11:32 +00:00 |
|
roshan
|
c6a758db2a
|
feat: gateway-backed Craft model picker (#13250)
|
2026-07-25 00:38:25 +00:00 |
|
 roshanandClaude Fable 5
|
a4293ce3d8
|
feat: route Craft sandboxes through the Onyx LLM gateway (#13249)
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
|
2026-07-25 00:09:18 +00:00 |
|
 roshanandClaude Fable 5
|
2164093ae3
|
refactor: consolidate API routing on ONYX_SERVER_URL (#13375)
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
|
2026-07-23 23:13:18 +00:00 |
|
 roshanandClaude Fable 5
|
0f2ba1523a
|
feat(craft): fail fast when SANDBOX_API_SERVER_URL lacks its API path prefix (#13357)
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
|
2026-07-23 18:31:14 +00:00 |
|
roshan
|
bea0b548aa
|
chore(craft): bump sandbox onyx-cli pin to 1.2.3 (#13358)
|
2026-07-23 18:24:11 +00:00 |
|
roshan
|
8479e66bb0
|
fix(image-gen): stream keepalives so LB idle timeouts don't kill slow generations (#13282)
|
2026-07-22 22:40:09 +00:00 |
|
roshan
|
f70694c381
|
feat: OpenAI-compatible Onyx LLM gateway endpoint (#13248)
|
2026-07-22 22:37:24 +00:00 |
|
 roshanandClaude Opus 4.8
|
346deae897
|
fix: persist dark mode toggle across reloads (#12445)
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
|
2026-07-17 16:40:51 +00:00 |
|
 roshanandClaude Fable 5
|
b59005c765
|
feat(pptx-lint): density profiles — dense mode relaxes margin warning to 0.25" (#13103)
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
|
2026-07-17 02:06:29 +00:00 |
|
 roshanandClaude Opus 4.8
|
ee93bd4f20
|
feat(pptx-skill): deck-styled charts and zero-setup icons (#13101)
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-07-17 01:51:56 +00:00 |
|
 roshanandClaude Opus 4.8
|
9314803a2f
|
fix(craft): stop killing slow tool turns + gracefully recover from step timeouts (#13096)
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-07-17 01:37:51 +00:00 |
|
 roshanandClaude Fable 5
|
7301d779ef
|
feat(pptx-skill): reliability fixes — deck-first build order, context discipline, pack-early (#13104)
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
|
2026-07-17 01:28:34 +00:00 |
|
 roshanandClaude Fable 5
|
77abe3409a
|
feat(pptx-skill): composable slide component library (#13079)
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
|
2026-07-16 21:45:49 +00:00 |
|
 roshanandClaude Fable 5
|
dcc4610468
|
feat(pptx-skill): deterministic layout linter as QA step 0 (#13060)
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
|
2026-07-15 23:09:12 +00:00 |
|
 roshanandClaude Fable 5
|
8b940faa6a
|
feat(craft): add SessionOrigin.SLACK for headless Slack sessions (#13050)
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
|
2026-07-15 18:48:23 +00:00 |
|
roshan
|
311bc79c37
|
fix(craft): update image-generation skill description (#12978)
|
2026-07-14 16:54:41 +00:00 |
|
roshan
|
e060b8bac3
|
feat(craft): admin Craft section with editable workspace instructions (#12960)
|
2026-07-13 22:06:49 +00:00 |
|
 roshanandClaude Fable 5
|
62aad2af83
|
fix(craft): hide nextjs.log and nextjs.pid in file explorer (#12926)
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
|
2026-07-13 17:06:56 +00:00 |
|
 roshanandClaude Fable 5
|
44f948b4d8
|
fix(craft): scheduled task runs no longer truncated by the 15-min turn timeout (#12856)
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
|
2026-07-13 16:19:14 +00:00 |
|
 roshanandClaude Fable 5
|
67cec95b11
|
fix(craft): renewable prompt-slot lease so dead runners can't strand sessions (#12819)
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
|
2026-07-10 14:04:24 +00:00 |
|
 roshanandClaude Fable 5
|
3e4a1454ca
|
feat(craft): detect sandbox sleep and wake on user intent (#12661)
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
|
2026-07-07 19:13:16 +00:00 |
|
 roshanandClaude Fable 5
|
265e03e08f
|
test(e2e): de-race scroll-bottom assertions in scroll_behavior spec (#12715)
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
|
2026-07-06 22:20:16 +00:00 |
|
 roshanandClaude Fable 5
|
49f0390cf4
|
fix(sandbox): pin chromium to 149 — trixie-security 150 SIGTRAPs at launch, breaking craft browser CI (#12717)
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
|
2026-07-06 22:20:05 +00:00 |
|
 roshanandClaude Fable 5
|
2bd7024946
|
fix(craft): stop idle-sandbox reaper from killing actively-used pods (#12714)
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
|
2026-07-06 21:54:55 +00:00 |
|
 roshanandClaude Fable 5
|
b587a22a67
|
fix(craft): clean up scheduled task run summary display (#12635)
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
|
2026-07-02 22:09:56 +00:00 |
|
 roshanandClaude Opus 4.8
|
1e7975e57c
|
feat(craft): default ENABLE_BROWSER on to match the sandbox image (#12659)
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
|
2026-07-02 19:59:00 +00:00 |
|
 roshanandClaude Opus 4.8
|
6b10c2c91c
|
feat(craft): context-window usage ring + compaction marker (#12613)
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-07-02 00:22:46 +00:00 |
|
 roshanandClaude Opus 4.8
|
5895337a05
|
feat(craft): give the agent headless browser use via a built-in browser skill (#12564)
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
|
2026-07-01 18:46:01 +00:00 |
|
 roshanandClaude Opus 4.8
|
ffbc517ea7
|
feat(craft): image generation via admin-configured provider + onyx-cli (#12495)
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-06-30 00:24:07 +00:00 |
|
 roshanandClaude Opus 4.8
|
16e57cadb0
|
chore(craft-sandbox): drop google-genai, add requests to sandbox image deps (#12494)
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-06-29 18:56:45 +00:00 |
|
 roshanandClaude Opus 4.8
|
e8e16c95c0
|
fix(craft-cli): point image command at generic /image-generation/generate (#12518)
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-06-29 18:01:36 +00:00 |
|
 roshanandClaude Opus 4.8
|
7884fa6f6e
|
fix(craft): preserve interrupted turn output when sending a new message (#12496)
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-06-29 17:20:09 +00:00 |
|
 roshanandClaude Opus 4.8
|
00fc4a8142
|
feat(craft): pptx built-in templates, fonts, and template-selection guidance (#12484)
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
|
2026-06-29 17:02:30 +00:00 |
|
 roshanandClaude Opus 4.8
|
86b9de07b4
|
feat(craft-cli): add 'onyx-cli image' generate/edit command (#12493)
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-06-29 16:54:01 +00:00 |
|
 roshanandClaude Opus 4.8
|
332b9fd128
|
fix(craft): auto-send queued messages on interrupt; fix multi-queue hang (#12453)
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-06-26 18:46:54 +00:00 |
|
 roshanandClaude Opus 4.8
|
aa1d2e0725
|
feat(craft): use-case suggested prompts and welcome wordmark refresh (#12454)
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-06-26 00:05:20 +00:00 |
|
 roshanandClaude Opus 4.8
|
a6c6c29005
|
fix(craft): open the respective artifact on click in the Artifacts tab (#12452)
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-06-25 21:47:42 +00:00 |
|
 roshanandClaude Opus 4.8
|
40fe0d4cf3
|
fix(craft): keep sandbox-proxy from crash-looping on slow startup (#12402)
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-06-25 01:42:41 +00:00 |
|
 roshanandClaude Opus 4.8
|
4e3fe1670a
|
feat(terraform): make Craft sandbox node group configurable and autoscaling-ready (#12399)
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-06-24 22:54:31 +00:00 |
|
 roshanandClaude Opus 4.8
|
74a3326973
|
fix(craft): raise sandbox-proxy request body cap to 32 MB (#12358)
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-06-23 23:05:45 +00:00 |
|
 roshanandClaude Opus 4.8
|
bccd9a792c
|
feat(craft): add sandbox-pod egress NetworkPolicy (#12334)
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-06-23 22:57:50 +00:00 |
|
 roshanandClaude Opus 4.8
|
23893420c0
|
fix(craft): mark scheduled-task run FAILED on turn timeout (ENG-4234) (#12330)
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-06-23 19:51:47 +00:00 |
|
 roshanandClaude Opus 4.8
|
92795302e9
|
fix(sandbox-proxy): block sandbox egress relay to internal destinations (#12242)
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-06-23 18:33:43 +00:00 |
|
 roshanandClaude Opus 4.8
|
a4ab88fcbc
|
fix(craft): add egress NetworkPolicy on the sandbox proxy (block IMDS/link-local) (#12229)
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-06-23 06:17:37 +00:00 |
|
 roshanandClaude Opus 4.8
|
c59236a7cf
|
fix(craft): preserve contextvars in announce-merge producer threads (#12240)
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-06-22 19:50:38 +00:00 |
|
 roshanandClaude Opus 4.8
|
4299c92af2
|
fix(craft): set readOnlyRootFilesystem on the sandbox egress proxy (#12218)
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-06-19 01:34:03 +00:00 |
|
 roshanandClaude Opus 4.8
|
a17e61a31c
|
fix(craft): send tenant_id to PostHog so Craft flags can target one tenant (#12196)
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-06-18 19:47:26 +00:00 |
|
 roshanandClaude Fable 5
|
f747669c44
|
fix(dev): set ENCRYPTION_KEY_SECRET in .env.k8s.template to match localdev cluster (#12048)
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
|
2026-06-18 16:55:16 +00:00 |
|
 roshanandClaude Opus 4.8
|
62f14fd8f6
|
fix(craft): let celery-worker-heavy create sandbox snapshots (NetworkPolicy + push key) (#12173)
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
|
2026-06-18 01:13:10 +00:00 |
|
 roshanandClaude Opus 4.8
|
4940af0d56
|
feat(skills): add user-managed personal skills (#11923)
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-06-17 05:01:32 +00:00 |
|
 roshanandClaude Fable 5
|
ded7f41e48
|
refactor(craft): move sandbox celery tasks to background/celery/tasks/build (#12033)
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
|
2026-06-16 18:12:36 +00:00 |
|
 roshanandClaude Fable 5
|
447553c8f5
|
fix(craft): accept assignment-form basePath in next.config template test (#12114)
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
|
2026-06-16 17:48:53 +00:00 |
|
 roshanandClaude Fable 5
|
37f9b55ddb
|
refactor(craft): reorganize build package into domain packages (#12032)
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
|
2026-06-16 17:27:55 +00:00 |
|
 roshanandClaude Fable 5
|
22449b1a97
|
fix(craft): mark failing bash commands as failed and persist them (#12050)
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
|
2026-06-16 16:58:16 +00:00 |
|
 roshanandClaude Fable 5
|
52e065bec1
|
fix(ci): unblock craft compose integration after USER_AUTH_SECRET hardening (#12051)
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
|
2026-06-16 00:12:52 +00:00 |
|
 roshanandClaude Fable 5
|
58bd318411
|
feat(craft): background-snapshot RUNNING sandboxes in the idle sweep (#12021)
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
|
2026-06-15 16:28:09 +00:00 |
|
 roshanandClaude Fable 5
|
4e2f1809cb
|
refactor(craft): move shared modules out of build api/ package (#12031)
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
|
2026-06-13 00:24:22 +00:00 |
|
 roshanandClaude Fable 5
|
4661e0330c
|
chore(craft): kind image refresh tooling for local dev (#12034)
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
|
2026-06-13 00:14:18 +00:00 |
|
 roshanandClaude Fable 5
|
24986a7af7
|
refactor(craft): flatten sandbox/manager/ into sandbox/snapshot_manager.py (#12030)
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
|
2026-06-12 23:04:13 +00:00 |
|
 roshanandClaude Fable 5
|
87e2b7e2d2
|
feat(craft): show action description for external app skill commands (#12036)
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
|
2026-06-12 22:23:55 +00:00 |
|
 roshanandClaude Fable 5
|
7fc7c46633
|
refactor(craft): extract sandbox manager factory from base.py (#12029)
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
|
2026-06-12 20:47:09 +00:00 |
|