Commit graph

1046 commits

Author SHA1 Message Date
Aiden Cline
e2fac991dc
better permissions ux when denying (#1747) 2025-08-09 11:03:33 -05:00
Dax Raad
7bbc643600 remove synthetic message in plan mode, fixes being confused in build mode 2025-08-08 20:45:24 -04:00
Dax Raad
53630ebdce gpt-5 lower verbosity 2025-08-08 20:42:22 -04:00
Dax Raad
4f164c53d2 temporary fix for max output token 2025-08-07 22:54:59 -04:00
Dax Raad
8750744068 renable todo tool 2025-08-07 21:47:37 -04:00
Dax
c34aec060f
Merge agent and mode into one (#1689)
The concept of mode has been deprecated, there is now only the agent field in the config.

An agent can be cycled through as your primary agent with <tab> or you can spawn a subagent by @ mentioning it. if you include a description of when to use it, the primary agent will try to automatically use it

Full docs here: https://opencode.ai/docs/agents/
2025-08-07 16:32:12 -04:00
Aiden Cline
a48274f82b
permissions disallow support (#1627) 2025-08-05 19:14:28 -05:00
Timo Clasen
49aa48ce58
fix: prevent title regeneration on auto compact (#1628) 2025-08-05 17:15:50 -05:00
Dax Raad
857a3cd522 hint back to llm when tool does not exist 2025-08-05 15:58:12 -04:00
Timo Clasen
4957fca718
fix(plugins): improve session idle event (#1615) 2025-08-05 05:16:43 -05:00
Mahamed-Belkheir
5bf7691ea6
fix: default value for models with no cost object (#1601) 2025-08-04 16:45:35 -05:00
Dax Raad
0a42068fbb hack to return tool call errors back to model 2025-08-04 12:15:24 -04:00
Aiden Cline
edda26ab33
tweak: filter out duplicate instructions (#1567) 2025-08-03 15:10:21 -04:00
Dax Raad
21c52fd5cb fix bash tool getting stuck on interactive commands 2025-08-03 13:52:50 -04:00
Dax Raad
06830327e7 more efficient snapshots in parallel toolcalls 2025-08-03 12:12:28 -04:00
Dax Raad
ca031278ca wip: plugins 2025-08-02 18:50:19 -04:00
Dax Raad
e1b7e25f4d make top_p configurable 2025-08-01 17:03:33 -04:00
Dax Raad
3aa6eeb426 do not mark errored tool calls as aborted 2025-07-31 21:45:40 -04:00
Dax Raad
a2191ce6fb wip: permissions 2025-07-31 16:38:37 -04:00
Aiden Cline
f5f55062f1
fix: session ordering (#1474) 2025-07-31 14:17:47 -05:00
adamdotdevin
5500698734
wip: tui permissions 2025-07-31 09:59:17 -05:00
Aiden Cline
3c49a9b7dd
fix: process revert cleanup before creating new messages (#1448) 2025-07-31 05:07:59 -05:00
Dax
18888351e9
use treesitter to parse bash commands and catch commands that go outside of cwd (#1443) 2025-07-30 20:57:52 -04:00
Dax Raad
6ef4cfa2fa lower max retries to 3 - ai sdk currently cannot abort during a retry delay so things appear to be frozen 2025-07-30 15:08:25 -04:00
Dax Raad
8bf36d174b update beast prompt for openai models 2025-07-29 22:15:13 -04:00
Dax Raad
df03e182d2 strip todo tool instructions from non anthropic models 2025-07-29 11:56:53 -04:00
Dax Raad
9cb0f21b4e trim opencode title 2025-07-28 23:24:38 -04:00
Dax Raad
9c9cbb3e81 wip: undo properly remove messages from UI 2025-07-28 22:58:31 -04:00
Dax Raad
c24fbb4292 wip: snapshot 2025-07-28 22:58:31 -04:00
Dax Raad
f2bdb8159f fix phantom tool call failed messages and empty text parts with some models 2025-07-28 12:19:38 -04:00
Aiden Cline
b18b646f8e
fix: attachment bugs (#1335) 2025-07-27 12:21:31 -05:00
Aiden Cline
ad8a4bc744
fix: strip thinking blocks from title (#1325) 2025-07-26 08:29:04 -05:00
Didier Durand
2c924b9fdb
fixing various typos in text. (#1185) 2025-07-25 20:20:01 -04:00
Dax Raad
10ae43a121 wip: sync 2025-07-25 15:52:27 -04:00
Dax Raad
c85b970903 wip: drop 2025-07-25 15:51:02 -04:00
Dax Raad
7044662cfa handle uploaded text/plain 2025-07-25 15:48:42 -04:00
kehanzhang
92656fdf29
fix(headless): respect mode passed to /message endpoint (#1300) 2025-07-25 15:26:49 -04:00
Dax Raad
e97613ef9f allow temperature to be configured per mode 2025-07-25 13:29:44 -04:00
Dax Raad
7ed05962db fix issue with trailing whitespace error in assistant message 2025-07-25 10:56:16 -04:00
Dax Raad
250a86ec52 fix reading model from config 2025-07-25 10:53:37 -04:00
Dax Raad
8e5607f9c0 fix double system prompt 2025-07-25 10:28:42 -04:00
Dax Raad
8dcd39f5b7 real life totally configurabl ai subasians 2025-07-24 21:21:02 -04:00
Filip
01f75839a9
Fix: added environment() to summarize() (#1290) 2025-07-24 18:24:54 -04:00
Dax Raad
284c01018e wip: more snapshot stuff 2025-07-24 17:38:11 -04:00
Filip
e9074e60cf
fix: add custom() to system prompt on summarize (#1289) 2025-07-24 16:48:17 -04:00
Dax Raad
2c82ee592c wip: always force create snapshot 2025-07-23 20:46:43 -04:00
Dax
96866e52ce
basic undo feature (#1268)
Co-authored-by: adamdotdevin <2363879+adamdottv@users.noreply.github.com>
Co-authored-by: Jay V <air@live.ca>
Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com>
Co-authored-by: Andrew Joslin <andrew@ajoslin.com>
Co-authored-by: GitHub Action <action@github.com>
Co-authored-by: Tobias Walle <9933601+tobias-walle@users.noreply.github.com>
2025-07-23 20:30:46 -04:00
Yihui Khuu
507c975e92
feat: pass mode into task tool (#1248) 2025-07-23 20:29:59 -04:00
Aiden Cline
b7b0cdbd7c
tweak: ensure most recently interacted with session appears at the top (#1239) 2025-07-22 22:37:36 -05:00
Dax Raad
2d84dadc0c fix broken attachments 2025-07-21 15:38:41 -04:00
Dax Raad
45c0578b22 fix title generation bug 2025-07-21 15:23:47 -04:00
Dax
1ded535175
message queuing (#1200) 2025-07-21 15:14:54 -04:00
adamdotdevin
2bf9d5d4ec
wip: file part source in server/api (optional) 2025-07-20 05:39:18 -05:00
Aiden Cline
03de0c406d
fix: title generation for certain providers (#1159) 2025-07-19 20:01:55 -05:00
Dax Raad
8f64c4b312 disable todo tools when running as task 2025-07-19 15:54:11 -04:00
Dax Raad
86d5b25d18 pass through model.options properly without having to nest it under provider name. you may have to update your configs see https://opencode.ai/docs/models/#openrouter for an example 2025-07-19 12:41:58 -04:00
Dax
d56dec4ba7
wip: optional IDs in api (#1128) 2025-07-18 13:42:50 -04:00
Mike Wallio
99b9390d80
Update to a customized beast mode v3 for opencode. (#1109) 2025-07-17 20:10:06 -05:00
Aiden Cline
a4664e2344
fix: generate title should use same options as model it uses to gen (#1064) 2025-07-16 12:46:52 -05:00
Aiden Cline
70229b150c
Fix: better title generation (needs to change due to small models) (#1059) 2025-07-16 11:47:56 -05:00
Dax Raad
05bb127a8e enable bash tool in plan mode 2025-07-15 21:28:03 -04:00
aron
1bbd84008f
move spoof prompt to support anthropic with custom modes (#1031) 2025-07-15 21:16:27 -04:00
Stephen Murray
fdfd4d69d3
add support for modified gemini-cli system prompt (#1033)
Co-authored-by: Dax Raad <d@ironbay.co>
2025-07-15 21:13:11 -04:00
Dax Raad
b1ab641905 add small model for title generation 2025-07-15 14:00:52 -04:00
adamdotdevin
6b98acb7be
chore: update stainless defs 2025-07-15 10:03:11 -05:00
Dax Raad
bcf952bc8a upgrade ai sdk 2025-07-15 09:06:35 -04:00
Dax Raad
4b2ce14ff3 bring back task tool 2025-07-15 00:05:54 -04:00
Jase Kraft
294a11752e
fix: --continue pull the latest session id consistently (#918)
Co-authored-by: Dax Raad <d@ironbay.co>
2025-07-14 20:32:00 -04:00
Dax Raad
b4e4c3f662 wip: snapshot 2025-07-14 15:29:08 -04:00
Dax Raad
31e0326f78 fix init command and escape to cancel 2025-07-14 10:48:17 -04:00
Dax Raad
53bb6b4c4f fix missing tokens 2025-07-13 22:56:29 -04:00
Dax
90d6c4ab41
Part data model (#950) 2025-07-13 17:22:11 -04:00
opencode-agent[bot]
736396fc70
Added sharing config with auto/disabled options (#951)
Co-authored-by: opencode-agent[bot] <opencode-agent[bot]@users.noreply.github.com>
Co-authored-by: thdxr <thdxr@users.noreply.github.com>
2025-07-13 16:43:58 -04:00
Aiden Cline
bb28b70700
Fix: title generation (#949) 2025-07-13 14:46:36 -05:00
Sergii Kozak
b4950a157c
fix(session): add fallback for undefined output token limit (#860)
Co-authored-by: opencode <noreply@opencode.ai>
2025-07-11 10:55:13 -04:00
alexz
dfbef066c7
fix: ENAMETOOLONG: name too long when adding custom mode (#881) 2025-07-11 10:54:52 -04:00
Dax Raad
c056b0add9 add step finish part 2025-07-10 16:25:38 -04:00
Aiden Cline
8b2a909e1f
fix: encode & decode file paths (#843) 2025-07-10 11:19:54 -05:00
Dax Raad
469f667774 set max output token limit to 32_000 2025-07-10 11:25:37 -04:00
adamdottv
5dc1920a4c
feat: mode flag in cli run command 2025-07-10 10:13:15 -05:00
adamdottv
ce4cb820f7
feat(tui): modes 2025-07-10 10:06:51 -05:00
Dax Raad
f478f89a68 temporary grok 4 patch 2025-07-10 07:57:55 -04:00
Dax Raad
1515efc77c fix session is busy error 2025-07-10 07:27:03 -04:00
adamdottv
85dbfeb314
feat(tui): @symbol attachments 2025-07-10 05:53:00 -05:00
Dax Raad
8404a97c3e better detection of prettier formatter 2025-07-09 22:37:31 -04:00
Dax Raad
0ee3b1ede2 do not wait for LSP to be fully ready 2025-07-09 21:59:38 -04:00
Dax Raad
a826936702 modes concept 2025-07-09 21:59:38 -04:00
Mike Wallio
1f6efc6b94
Add gpt-4.1 beast prompt (#778)
Co-authored-by: Dax Raad <d@ironbay.co>
2025-07-09 12:11:54 -04:00
Timo Clasen
1e07384364
fix: make compact command interruptible (#691)
Co-authored-by: GitHub Action <action@github.com>
2025-07-08 15:37:25 -05:00
adamdottv
f31cbf2744
fix: image reading 2025-07-08 13:02:13 -05:00
Aiden Cline
8322f18e03
fix: display errors when using opencode run ... (#751) 2025-07-08 10:38:11 -05:00
Dax Raad
c7a59ee2b1 better handling of aborting sessions 2025-07-07 20:59:00 -04:00
Dax Raad
0d50c867ff fix mcp tools corrupting session 2025-07-07 17:05:16 -04:00
Dax Raad
b478e5655c fix interrupt 2025-07-07 16:12:47 -04:00
Dax
f884766445
v2 message format and upgrade to ai sdk v5 (#743)
Co-authored-by: GitHub Action <action@github.com>
Co-authored-by: Liang-Shih Lin <liangshihlin@proton.me>
Co-authored-by: Dominik Engelhardt <dominikengelhardt@ymail.com>
Co-authored-by: Jay V <air@live.ca>
Co-authored-by: adamdottv <2363879+adamdottv@users.noreply.github.com>
2025-07-07 15:53:43 -04:00
Dax Raad
ea6bfef21a use full filepath 2025-07-04 17:58:03 -04:00
Dax Raad
45b139390c make file attachments work good like 2025-07-04 16:21:26 -04:00
Dax Raad
06dba28bd6 wip: fix media type 2025-07-04 12:50:52 -04:00
Dax Raad
ee01f01271 file attachments 2025-07-04 12:24:01 -04:00
Dax Raad
ed4f862b49 fix /unshare 2025-07-03 15:34:04 -04:00
Dax Raad
2528d8cb88 increase max retries to 10 2025-07-03 10:32:55 -04:00
Adi Yeroslav
701107cda4
Update prompt reference from CLAUDE.md to AGENTS.md (#623) 2025-07-02 23:27:22 -04:00
Aiden Cline
b99565959b
feat: configurable instructions (#624) 2025-07-02 23:27:04 -04:00
Dax Raad
35d6273fb3 wip: session revert/unrevert 2025-07-02 13:10:36 -04:00
Dax Raad
26dcb85de1 add file watcher 2025-07-01 13:45:25 -04:00
Dax Raad
dd5736fe5f add back in file hierarchy in system prompt but limit to 200 items 2025-06-30 14:46:46 -04:00
Dax Raad
248325925f fix issue with costs resetting once chat is completed 2025-06-29 19:43:03 -04:00
Dax Raad
ca48a4f0fb better amazon bedrock caching with anthropic models 2025-06-29 19:27:07 -04:00
Dax Raad
3a9584a419 fix context display 2025-06-28 21:01:53 -04:00
adamdottv
79bbf90b72
chore: rework openapi spec and use stainless sdk 2025-06-27 14:26:25 -05:00
Dax Raad
2ec0611f42 lazy load formatters 2025-06-27 11:33:37 -04:00
Dax Raad
ed8d277e49 fix formatting output going into tui 2025-06-27 07:29:41 -04:00
Dax Raad
f8b78f08b4 add auto formatting and experimental hooks feature 2025-06-26 22:17:08 -04:00
Juhani Pelli
f4c0d2d2fd
fix: guard against large output limit causing infinite summarize loop (#399) 2025-06-25 19:39:51 -04:00
Dax Raad
2f8d23ec66 ignore: typo 2025-06-25 11:02:57 -04:00
Dax Raad
77ae3fb9b9 add output length errors 2025-06-25 11:02:09 -04:00
Adam
6f18475428
feat: delete sessions (#362)
Co-authored-by: adamdottv <2363879+adamdottv@users.noreply.github.com>
2025-06-24 11:07:41 -05:00
Dax Raad
3664b09812 remove debug code writing to /tmp/message.json 2025-06-24 11:16:17 -04:00
adamdottv
8d3b2fb821
feat(tui): optimistically render user messages 2025-06-23 12:30:20 -05:00
phantomreactor
28bc49ad17
fix: invisible html tags and compact long delay (#304) 2025-06-22 06:29:04 -05:00
Márk Magyar
137e964131
fix: session title generation (#293) 2025-06-21 14:32:11 -05:00
Dax Raad
1684042fb6 huge optimization for token usage with anthropic 2025-06-20 22:43:04 -04:00
Dax Raad
b72e17a8b7 fix issue with conversations hanging 2025-06-20 15:49:49 -04:00
Dax Raad
61160dc220 docs: readme 2025-06-20 15:22:41 -04:00
Dax Raad
98734ff28c Consolidate session context handling and add global config support
Refactored context file discovery by removing separate SessionContext module and integrating functionality into SystemPrompt.context(). Added support for finding AGENTS.md and CLAUDE.md files in global config directories.

🤖 Generated with [opencode](https://opencode.ai)

Co-Authored-By: opencode <noreply@opencode.ai>
2025-06-20 15:14:12 -04:00
Josh
9991352663
feat: forward provider options from model config (#202)
Co-authored-by: Dax Raad <d@ironbay.co>
2025-06-20 15:03:41 -04:00
adamdottv
f7e8dd2ff8
chore: fix typescript issues 2025-06-20 07:48:42 -05:00
Dax Raad
b99d4650ec temporarily disable project details in system prompt 2025-06-19 17:37:23 -04:00
Dax Raad
97c4815444 fix task agent performance issues 2025-06-19 13:00:57 -04:00
Dax Raad
f1a2b2eba4 support token caching for anthropic via openrouter 2025-06-19 10:32:14 -04:00
Dax Raad
4a06e164d2 ensure session.info is synced when shared 2025-06-19 09:41:11 -04:00
Dax Raad
e5e9b3e3c0 rework config 2025-06-18 23:01:19 -04:00
Dax Raad
658067186a ignore: share page stuff 2025-06-18 16:13:33 -04:00
Dax Raad
d4157d9a96 ctrl+c should gracefully clean up pending sessions 2025-06-18 14:11:49 -04:00
Dax Raad
f99904bc1c track version on session info 2025-06-18 13:40:36 -04:00
Dax Raad
e6ddb474fc ignore: sync 2025-06-18 08:36:25 -04:00
Dax Raad
b470466e30 integrate cache read/write data 2025-06-17 20:51:39 -04:00
Dax Raad
ee91f31313 fix issue with tool schemas and google 2025-06-17 11:27:07 -04:00
Dax Raad
57b3051024 fix agent getting caught in summary loop 2025-06-17 10:50:03 -04:00
Dax Raad
b5a4439704 Add autoshare configuration and improve run command UI
Enables automatic session sharing via global config or flag, enhances UI with logo display and provider/model info positioning.

🤖 Generated with [opencode](https://opencode.ai)

Co-Authored-By: opencode <noreply@opencode.ai>
2025-06-17 01:45:32 -04:00
Dax Raad
8131bee49a ignore: logs 2025-06-16 16:02:45 -04:00
Dax Raad
63996c4189 limit to 4 system prompts cached 2025-06-16 14:51:59 -04:00
Dax Raad
06af406146 properly track cache token counts 2025-06-16 12:43:22 -04:00
Dax Raad
0e3458b112 fix cache-control 2025-06-16 12:07:01 -04:00
Dax Raad
1a553e525f enable prompt caching for anthropic 2025-06-16 11:41:54 -04:00
Dax Raad
fe05edaa79 enhance ripgrep files function with query filtering and limit support
🤖 Generated with [opencode](https://opencode.ai)

Co-Authored-By: opencode <noreply@opencode.ai>
2025-06-15 21:26:32 -04:00
Dax Raad
7d174767b0 first pass making system prompt less fast 2025-06-15 20:25:04 -04:00
Dax Raad
0e035b3115 fix aborting issue 2025-06-14 21:23:57 -04:00
Dax Raad
b855511d9a fix issue with follow up tool calls and cancelation 2025-06-14 21:03:44 -04:00
Dax Raad
783faf554d fix issue continuing session after aborted 2025-06-14 20:24:50 -04:00
Dax Raad
fa1266263d downgrade to ai sdk v4.x 2025-06-14 18:44:08 -04:00
Dax Raad
d7aca6230d naming fixes 2025-06-14 01:54:28 -04:00
Dax Raad
0f9c2c5c27 Add flag system and auto-share functionality
- Add Flag module for environment variable configuration
- Implement OPENCODE_AUTO_SHARE flag to automatically share new sessions
- Update session creation to conditionally auto-share based on flag

🤖 Generated with [OpenCode](https://opencode.ai)

Co-Authored-By: OpenCode <noreply@opencode.ai>
2025-06-14 01:51:04 -04:00
Dax Raad
df13b155f9 disable autoshare 2025-06-13 17:30:17 -04:00
Dax Raad
29a6603a89 Update CLI run command and session handling
🤖 Generated with [OpenCode](https://opencode.ai)

Co-Authored-By: OpenCode <noreply@opencode.ai>
2025-06-12 18:07:31 -04:00
Dax Raad
a454ba8895 subagent 2025-06-12 18:07:31 -04:00
Dax Raad
888105e60f sync 2025-06-12 11:00:37 -04:00
Dax Raad
b7b490f67c Add postinstall script and update session/release configuration
🤖 Generated with [OpenCode](https://opencode.ai)

Co-Authored-By: OpenCode <noreply@opencode.ai>
2025-06-12 00:50:49 -04:00
Dax Raad
29142eb940 add title temp 2025-06-11 19:09:08 -04:00
Dax Raad
468cec545a sync 2025-06-11 18:19:21 -04:00
Dax Raad
6cf8784ecf sync 2025-06-11 12:44:21 -04:00
Dax Raad
979bad3e64 sync 2025-06-11 12:35:20 -04:00
Dax Raad
300d0474a3 sync 2025-06-11 11:41:10 -04:00
Dax Raad
d4379c8c93 turn on tool call streaming 2025-06-11 11:36:12 -04:00
Dax Raad
14dcf43246 add abort signals 2025-06-10 17:56:05 -04:00
Dax Raad
fdaa7f287c aborted toolcalls should be cleaned up 2025-06-09 20:48:50 -04:00
Dax Raad
fed659c582 properly support codex mini 2025-06-09 20:24:18 -04:00
Dax Raad
a2884b08cc improve AGENTS.md 2025-06-09 15:28:06 -04:00
Dax Raad
3c23b92bea optional 2025-06-09 14:02:58 -04:00
Dax Raad
021fd3fcb5 sync 2025-06-09 14:01:11 -04:00
Dax Raad
9147108675 fix webfetch 2025-06-05 15:59:17 -04:00
Dax Raad
4a6e36a404 fix cost 2025-06-05 15:06:42 -04:00
Dax Raad
299a74061a sync 2025-06-05 13:51:18 -04:00
Dax Raad
02e326f87f fixed 2025-06-05 11:58:04 -04:00
Dax Raad
35b03e4cb3 claude oauth support 2025-06-05 11:51:06 -04:00
Dax Raad
f3e31130ba fix cost 2025-06-05 02:23:11 -04:00
Dax Raad
d334ead84a sync 2025-06-04 20:49:33 -04:00
Dax Raad
05974ea109 rework 2025-06-04 18:03:04 -04:00
Dax Raad
6cfce1e4da track errors 2025-06-04 17:55:14 -04:00
Dax Raad
7f8f46f9fe Refactor session module structure and improve error handling
- Rename session.ts to index.ts for cleaner module imports
- Update all imports to use new session module structure
- Add error metadata tracking to message schema
- Improve error handling in session stream processing

🤖 Generated with [OpenCode](https://opencode.ai)

Co-Authored-By: OpenCode <noreply@opencode.ai>
2025-06-04 17:38:54 -04:00
Dax Raad
53b0a25085 implemented todo tool 2025-06-04 15:09:50 -04:00
Dax Raad
d13822d26e tool updates 2025-06-04 13:12:48 -04:00
Dax Raad
37c34fd39c mcp support 2025-06-03 15:57:48 -04:00
Dax Raad
caf9fdc893 initialized 2025-06-03 14:24:45 -04:00
Dax Raad
be4155a838 max output tokens 2025-06-03 13:46:39 -04:00
Dax Raad
4cf0aebb2e do not list files if not git 2025-06-03 13:19:44 -04:00
Dax Raad
a5a39dada7 include env 2025-06-03 13:18:42 -04:00
Dax Raad
e5b06a2d95 initialzie 2025-06-03 12:38:48 -04:00
Dax Raad
bfb36a8566 Refactor app context system to use Zod schemas and sync access pattern
🤖 Generated with opencode
Co-Authored-By: opencode <noreply@opencode.ai>
2025-06-03 11:59:03 -04:00
Dax Raad
786db364d2 add permission system 2025-06-02 19:51:37 -04:00
Dax Raad
526a8ea19a Refactor application path handling and data storage architecture
Replace simple directory-based path system with git-aware data management that uses global data directories and proper workspace detection.

🤖 Generated with opencode
Co-Authored-By: opencode <noreply@opencode.ai>
2025-06-01 14:40:44 -04:00
Dax Raad
b4f809559e tool rework 2025-05-31 17:12:16 -04:00
Dax Raad
f072ab3276 lazy load LLMs even harder 2025-05-31 16:05:12 -04:00
Dax Raad
3b746162d2 run formatter 2025-05-31 14:41:00 -04:00
Dax Raad
6df19f1828 Standardize code style to no semicolons and remove unused @types/node dependency
🤖 Generated with opencode
Co-Authored-By: opencode <noreply@opencode.ai>
2025-05-30 22:14:09 -04:00
Dax Raad
f3da73553c sync 2025-05-30 20:48:36 -04:00