Commit Graph

77 Commits

Author SHA1 Message Date
Kit Langton ce62190978 test(httpapi): add route exerciser 2026-05-02 20:31:21 -04:00
Dax Raad e8138070e9 core: remove @effect/language-service plugin and optimize hot path type performance
- Removed @effect/language-service from both packages/core and packages/opencode tsconfig files and dependencies

- Wrapped mergeDeep calls in config loading and LLM streaming to avoid expensive remeda conditional merge type instantiations in hot paths

- Narrowed Drizzle migrate() overload signature to avoid expensive variance checks during database initialization

These changes reduce TypeScript type-checking overhead and improve startup and runtime performance for config loading, LLM streaming, and database migrations.
2026-04-30 23:21:05 -04:00
Kit Langton 584064d2c9 Prepare Effect HttpApi backend parity (#24853) 2026-04-29 09:34:50 -04:00
James Long 247e4688a6 feat(core): store relative path for sessions (#24704) 2026-04-28 11:51:24 -04:00
Dax 07ac891a99 refactor: remove module barrels (#24554) 2026-04-27 14:33:33 -04:00
Dax Raad 9031b8f108 core: move Global module to @opencode-ai/core for centralized path management
Move the Global module from packages/opencode/src/global to packages/core/src/global
to provide a unified location for managing XDG directories and application paths.
This eliminates duplicate path definitions across packages and ensures consistent
access to data, config, cache, state, log, and bin directories throughout the codebase.
2026-04-25 13:52:32 -04:00
Dax Raad 6bc94f94b1 core: consolidate shared infrastructure into core package
Moves effect logging, observability, runtime utilities, flags, installation
version info, and process utilities from opencode to core package. This
enables better code sharing across packages and establishes core as the
single source of truth for foundational utilities.

All internal imports updated to use @opencode-ai/core paths for consistency.
2026-04-25 13:30:37 -04:00
Dax 1865f4fc5f refactor: rename shared package to core (#24309) 2026-04-25 10:59:17 -04:00
Brendan Allan 916b85152a feat(project): add icon_url_override field to projects (#23955) 2026-04-23 18:57:04 +08:00
Kit Langton 58db5dfccd fix: remove 7 unnecessary as any casts in opencode core (#22840) 2026-04-16 15:07:02 -04:00
Dax 8a41e28f5b CLI perf: reduce deps (#22652) 2026-04-16 02:03:03 -04:00
Kit Langton 97d87eac9f feat: unwrap storage namespaces to flat exports + barrel (#22747) 2026-04-15 23:30:49 -04:00
Kit Langton 949ac8ed15 feat: enable type-aware no-floating-promises rule, fix all 177 violations (#22741)
publish-github-action / publish (push) Has been cancelled
2026-04-15 23:27:32 -04:00
Kit Langton d2ec847f0c feat: unwrap 11 util namespaces to flat exports + barrel (#22739) 2026-04-15 23:15:58 -04:00
Kit Langton 7159d09978 feat: unwrap InstanceState + EffectBridge namespaces to flat exports + barrel (#22721) 2026-04-16 02:45:45 +00:00
Kit Langton 228636345a fix: resolve oxlint warnings — suppress false positives, remove unused imports (#22687)
publish-github-action / publish (push) Has been cancelled
2026-04-15 21:33:54 -04:00
Dax 780c051059 shared package (#22626) 2026-04-15 14:26:20 +00:00
Kit Langton 0a790bc740 refactor(effect): upgrade opencode to beta.46 context APIs (#21977) 2026-04-10 23:06:28 -04:00
Kit Langton bf4c363d64 refactor: destroy Storage facades (#21956) 2026-04-10 21:21:02 -04:00
Kit Langton 28a6be5a1d refactor(effect): use Git service in file and storage (#21803) 2026-04-09 22:49:36 -04:00
Dax Raad f11c20a60e core: enable prod channel to use shared production database
Ensures users on the prod channel have their data persisted to the same
database as latest and beta channels, preventing data fragmentation
across different release channels.
2026-04-09 21:34:52 -04:00
Brendan Allan 30d17b3b82 Remove CLI from electron app (#17803)
Co-authored-by: LukeParkerDev <10430890+Hona@users.noreply.github.com>
2026-04-09 13:18:46 +08:00
Shoubhit Dash cf23c87965 feat: restore git-backed review modes (#20845) 2026-04-03 09:54:57 -05:00
Kit Langton 9f35ffe300 test: migrate prompt tests to HTTP mock LLM server (#20304) 2026-03-31 19:14:32 -04:00
Kit Langton af252ebc18 refactor(storage): effectify Storage service (#20132) 2026-03-31 01:16:02 +00:00
Shoubhit Dash b8222bf1fb revert: roll back git-backed review modes (#19295) 2026-03-26 10:14:57 -04:00
Shoubhit Dash 973ad436e1 feat: restore git-backed review modes with effectful git service (#18900) 2026-03-25 21:09:53 +05:30
James Long 87d41cd5ac feat(core): initial implementation of syncing (#17814) 2026-03-25 10:47:40 -04:00
Dax Raad cb807850b5 allow customizing DB location 2026-03-20 22:49:55 -04:00
Dax ed094f2196 refactor: abstract SQLite behind runtime-conditional #db import (#18316) 2026-03-19 21:15:35 -04:00
Aiden Cline d210d67f1e ignore: revert 3 commits that broke dev branch (#18260) 2026-03-19 11:15:07 -05:00
Shoubhit Dash 1725f7bb2e feat: add git-backed session review modes (#17961) 2026-03-19 19:29:29 +05:30
Dax f56e6684a6 core: make account login upgrades safe while adding multi-account workspace auth (#15487)
Co-authored-by: Kit Langton <kit.langton@gmail.com>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-10 12:53:47 -04:00
Dax 89f4344882 refactor(opencode): replace Bun shell in core flows (#16286) 2026-03-09 15:19:50 -04:00
Dax Raad f6c48cf6b2 core: allow beta channel to share database with stable channel 2026-03-07 18:53:29 -05:00
Dax Raad 35e1142383 core: add OPENCODE_SKIP_MIGRATIONS flag to bypass database migrations
Allows users to skip automatic database migrations by setting the
OPENCODE_SKIP_MIGRATIONS environment variable. Useful for testing
scenarios or when manually managing database state.
2026-03-07 16:17:00 -05:00
Luke Parker 3ca580177b fix(opencode): sanitize preview database filenames (#16430) 2026-03-07 04:34:29 +00:00
Dax Raad 9f34ffff3d chore(storage): update drizzle and channel db handling 2026-03-06 10:58:19 -05:00
James Long a5c224f2ae feat(core): basic implementation of remote workspace support (#15120) 2026-02-27 15:36:39 -05:00
Luke Parker cd2e2d6292 fix(test): harden preload cleanup against Windows EBUSY (#14895) 2026-02-24 21:59:14 +10:00
Dax f03cb504c4 refactor: migrate from Bun.Glob to npm glob package (#14317) 2026-02-19 13:40:09 -05:00
Dax Raad 350a377fca Revert "refactor: migrate from Bun.Glob to npm glob package"
This reverts commit 25917459f0.
2026-02-19 12:48:43 -05:00
Dax Raad 25917459f0 refactor: migrate from Bun.Glob to npm glob package
Replace Bun.Glob usage with a new Glob utility wrapper around the npm 'glob' package.
This moves us off Bun-specific APIs toward standard Node.js compatible solutions.

Changes:
- Add new src/util/glob.ts utility module with scan(), scanSync(), and match()
- Default include option is 'file' (only returns files, not directories)
- Add symlink option (default: false) to control symlink following
- Migrate all 12 files using Bun.Glob to use the new Glob utility
- Add comprehensive tests for the glob utility

Breaking changes:
- Removed support for include: 'dir' option (use include: 'all' and filter manually)
- symlink now defaults to false (was true in most Bun.Glob usages)

Files migrated:
- src/util/log.ts
- src/util/filesystem.ts
- src/tool/truncation.ts
- src/session/instruction.ts
- src/storage/json-migration.ts
- src/storage/storage.ts
- src/project/project.ts
- src/cli/cmd/tui/context/theme.tsx
- src/config/config.ts
- src/tool/registry.ts
- src/skill/skill.ts
- src/file/ignore.ts
2026-02-19 12:34:18 -05:00
Dax 019134be58 Remove use of Bun.file (#14215) 2026-02-19 11:32:32 -05:00
Dax Raad 1567fa548c Revert: all refactor commits migrating from Bun.file() to Filesystem module 2026-02-18 19:41:14 -05:00
Dax d64cacad6b refactor: migrate src/storage/storage.ts from Bun.file()/Bun.write() to Filesystem module (#14122) 2026-02-18 19:21:21 -05:00
Dax 9dd856849b refactor: migrate src/storage/json-migration.ts from Bun.file() to Filesystem module (#14123) 2026-02-18 19:20:40 -05:00
Dax 45d66763ea refactor: migrate src/storage/db.ts from Bun.file() to statSync (#14124) 2026-02-18 19:20:03 -05:00
Dax Raad d53ded7e9f core: add db command for database inspection and querying 2026-02-14 20:37:17 -05:00
Dax Raad 69f47bbead fix: derive all IDs from file paths during json migration
Earlier migrations moved data to new directories without updating JSON
fields. Now consistently derives all IDs from file paths:

- Projects: id from filename
- Sessions: id from filename, projectID from parent directory
- Messages: id from filename, sessionID from parent directory
- Parts: id from filename, messageID from parent directory

This ensures migrated data matches the actual file layout regardless of
stale values in JSON content.
2026-02-14 20:37:17 -05:00