Commit Graph

282 Commits

Author SHA1 Message Date
Matt Silverlock 4e510bd94f fix(auth): normalize trailing slashes in auth login URLs (#15874) 2026-03-03 13:35:49 -05:00
James Long 039b68e12d Change keybindings to navigate between child sessions (#14814) 2026-02-27 09:41:23 -05:00
Sebastian e0d78a4445 split tui/server config (#13968) 2026-02-25 23:53:09 +01:00
Luke Parker c10388cb99 fix(opencode): disable config bun cache in CI (#14985) 2026-02-25 11:38:23 +10:00
Luke Parker e0474520a1 fix(win32): normalize backslash paths in config rel() and file ignore (#14903) 2026-02-24 22:42:48 +10:00
Luke Parker fa24663269 fix(win32): fix plugin resolution with createRequire fallback (#14898) 2026-02-24 22:20:57 +10:00
Luke Parker f03025d369 fix(win32): handle CRLF line endings in markdown frontmatter parsing (#14886) 2026-02-24 20:33:22 +10:00
Matt Silverlock c032681cad fix(cli): missing plugin deps cause TUI to black screen (#14432) 2026-02-20 07:39:15 -05: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
opencode-agent[bot] 41faa69de3 chore: generate 2026-02-19 05:19:18 +00:00
Ariane Emory a0c7dd68b4 fix: token substitution in OPENCODE_CONFIG_CONTENT (alternate take) (#14047) 2026-02-18 23:18:24 -06:00
Dax cf25de510c refactor: migrate config/markdown.ts from Bun.file() to Filesystem module (#14151) 2026-02-18 12:35:32 -05:00
Dax fdc707d73a refactor: migrate file/ripgrep.ts from Bun.file()/Bun.write() to Filesystem module (#14159) 2026-02-18 12:10:42 -05:00
Dax 3010323ee0 sqlite again (#10597)
Co-authored-by: Github Action <action@github.com>
Co-authored-by: opencode-agent[bot] <opencode-agent[bot]@users.noreply.github.com>
Co-authored-by: Brendan Allan <git@brendonovich.dev>
2026-02-14 04:19:02 +00:00
Aiden Cline 231fcfe6fd Revert "fix: token substitution in OPENCODE_CONFIG_CONTENT" (#13429) 2026-02-12 23:24:31 -06:00
Ariane Emory b833c4de7d fix: token substitution in OPENCODE_CONFIG_CONTENT (#13384) 2026-02-12 16:59:44 -06:00
Aiden Cline 61c5e8ab80 fix(core): ensure compaction is more reliable, add reserve token buffer to ensure that input window has enough room to compact (#12924)
Co-authored-by: James Lal <james@littlebearlabs.io>
2026-02-10 19:55:22 -06:00
opencode-agent[bot] 53103458df chore: generate 2026-02-06 23:47:25 +00:00
Tommy D. Rossi 602a505183 feat: add models.dev schema ref for model autocomplete in opencode.json (#12528) 2026-02-06 17:46:31 -06:00
Dax Raad 3ae16bccba feat(skill): add skill discovery from URLs via well-known RFC
Implement the Agent Skills Discovery RFC to allow fetching skills from URLs:
- Add 'urls' field to config.skills for specifying skill registry URLs
- Create Discovery namespace in skill/discovery.ts with pull() function
- Download skills from /.well-known/skills/index.json endpoints
- Cache downloaded skills to ~/.cache/opencode/skills/
- Skip re-downloading existing files for efficiency

Users can now configure:
{
  "skills": {
    "urls": ["https://example.com/.well-known/skills/"]
  }
}

Implements: https://github.com/cloudflare/agent-skills-discovery-rfc
2026-02-06 00:36:11 -05:00
Hank Stoever 965c8bb8aa fix(config): handle $ character with {file:} pattern (#12390)
Co-authored-by: Hank Stoever <1109058+hstove@users.noreply.github.com>
2026-02-05 20:10:35 -06:00
Dax Raad 9689a1e058 core: silently ignore proxy command failures to prevent config initialization crashes 2026-02-05 12:47:32 -05:00
Dax Raad 61ca69317a core: bundle GitLab auth plugin directly instead of dynamic install
Remove dynamic installation of built-in plugins. GitLab auth is now imported

directly as an internal plugin, eliminating network requests during startup

and simplifying the plugin loading logic.

Removes the need for test mocks since plugins are no longer

dynamically installed at runtime.
2026-02-05 11:29:00 -05:00
Dax Raad f4db8e4808 core: fix plugin installation to use direct package.json manipulation instead of bun add
This ensures plugins install more reliably by writing dependencies directly
to package.json rather than relying on bun add commands which can fail
in certain environments. Also adds a small delay to ensure filesystem
operations complete before proceeding.
2026-02-05 10:07:59 -05:00
Aiden Cline 33e4898811 Revert: feat: add models.dev schema ref for model autocomplete in ope… (#12242) 2026-02-05 00:31:08 -06:00
Tommy D. Rossi 5d1d1e0a5d feat: add models.dev schema ref for model autocomplete in opencode.json (#12112) 2026-02-05 00:08:08 -06:00
Dax 9235ad6196 fix: wait for dependencies before loading custom tools and plugins (#12227) 2026-02-05 03:25:43 +00:00
Ariane Emory 1fb442dd7e feat: Allow the function to hide or show thinking blocks to be bound to a key (resolves #12168) (#12171) 2026-02-04 18:29:46 -06:00
Shantur Rathore 294b72e0ea fix(core): skip dependency install in read-only config dirs (#12128) 2026-02-04 14:45:59 -06:00
Aiden Cline 329b41ce95 fix: ensure that plugin installs use --no-cache when using http proxy to prevent random hangs (see bun issue) (#12161) 2026-02-04 12:01:00 -06:00
Idris Gadi a14fecd516 feat(tui): allow theme colors in agent customization (#11444) 2026-02-03 15:09:21 -06:00
Filip 129f6c1481 fix(core): plugins are always reinstalled (#9675) 2026-02-03 00:47:52 -06:00
Luiz Guilherme D'Abruzzo Pereira 4d66e9db31 feat(server): add --mdns-domain flag to customize mDNS hostname (#11796) 2026-02-02 14:52:32 -06:00
OpeOginni 7b1c46d811 fix(opencode): give OPENCODE_CONFIG_CONTENT proper priority for setting config based on docs (#11670) 2026-02-01 23:11:25 -06:00
neavo 7e13e7230a fix(opencode): scope agent variant to model (#11410) 2026-02-01 14:12:30 -06:00
Idris Gadi fae12ff5c1 chore(tui): remove unused experimental keys (#11195) 2026-01-30 12:16:01 -06:00
Mikhail Levchenko caac41a423 feat(config): add managed settings support for enterprise deployments (#6441)
Co-authored-by: Dax <mail@thdxr.com>
2026-01-29 22:56:25 +00:00
Spoon 4adb37da41 feat: support config skill registration (#9640)
Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com>
2026-01-29 11:47:06 -06:00
Aiden Cline d1ec50b488 tweak: add 'skill' to permissions config section so that ides will show it as autocomplete option (this is already a respected setting) 2026-01-29 10:55:39 -06:00
Aiden Cline 584709516d fix: frontmatter was adding newlines in some cases causing invalid model ids (#11095)
Co-authored-by: aptdnfapt <aptdnfapt@users.noreply.github.com>
2026-01-28 23:40:59 -06:00
adamelmore eeac5c0b70 chore: cleanup 2026-01-28 07:28:03 -06:00
adamelmore ab0a58ea84 wip(app): global config 2026-01-28 07:28:03 -06:00
Kenny fce5f6cad1 feat: add OPENCODE_DISABLE_PROJECT_CONFIG env var (#8093)
Co-authored-by: Aiden Cline <aidenpcline@gmail.com>
2026-01-20 23:36:42 -06:00
Adam 161f9e6e32 wip(app): settings 2026-01-20 07:33:44 -06:00
Nathan Flurry cd0a77dec9 feat: bind vim-style line-by-line scrolling (#8980)
Co-authored-by: Aiden Cline <aidenpcline@gmail.com>
2026-01-17 21:54:26 -06:00
Aiden Cline 863461c394 core: prevent env variables in config from being replaced with actual values
When opencode.json was missing a $schema, the config loader would add it
and write the file back - but with env variables like {env:API_KEY} replaced
with their actual secret values. This made it impossible to safely commit
opencode.json to version control.

Now the original config text is preserved when adding $schema, keeping
variable placeholders intact.
2026-01-17 20:59:50 -06:00
Aiden Cline 7dd7c7690b Revert "feat(mcp): add OAuth redirect URI configuration for MCP servers (#7379)"
This reverts commit 3c8765e4c4.
2026-01-16 22:17:33 -06:00
Aiden Cline c5f73ec09e fix: use dynamic import for session event in config.ts to avoid circular dep 2026-01-16 11:39:22 -06:00