Commit Graph

341 Commits

Author SHA1 Message Date
Imanol Maiztegui b6523c0d91 resolve merge conflicts 2026-05-22 09:01:40 +02:00
Imanol Maiztegui f7816a9eeb refactor: kilo compat for v1.14.41 2026-05-21 14:48:36 +02:00
marius-kilocode 371b7e8ae6 fix(cli): resolve packaged tree-sitter wasm paths 2026-05-20 22:44:05 +02:00
Imanol Maiztegui e68fd6781d resolve merge conflicts 2026-05-15 13:13:17 +02:00
Imanol Maiztegui b7a7ecf449 refactor: kilo compat for v1.14.34 2026-05-15 09:25:13 +02:00
Mark IJbema a2bb05726f Merge remote-tracking branch 'origin/main' into markijbema/kilo-opencode-v1.14.33 2026-05-07 10:44:08 +02:00
Mark IJbema 5f5853a2e3 fix: align Kilo source/tests with v1.14.33 API renames
Mechanical follow-up to the v1.14.33 merge:

- src/server/routes/ui.ts: remove dead proxy fallback (proxy/createHash/csp were intentionally commented out by Kilo; the Effect/Promise paths still referenced them)
- src/kilocode/{plan-followup,session/prompt}.ts: pass Instance.current to Session.plan(input, instance)
- src/server/routes/instance/httpapi/handlers/session.ts: cast PromptPayload spread to PromptInput (readonly→mutable schema/runtime mismatch)
- src/plugin/index.ts: cast external @opencode-ai/plugin auth plugins through unknown to bridge to local @kilocode/plugin types
- script/build.ts: drop duplicate sourcemap key (Kilo's release-aware version wins)
- test/kilocode/indexing-{startup,worktree}.test.ts: switch from Instance.disposeAll/InstanceBootstrap-as-effect to disposeAllInstances/getBootstrapRunEffect
- test/kilocode/model-cache-org.test.ts: convert Instance.provide init from async fn to Effect
- test/kilocode/kilo-loader-auth.test.ts: drop ModelsDev.Data.reset() (no longer exists)
- test/kilocode/plan-exit-detection.test.ts, plan-followup.test.ts: pass Instance.current to Session.plan
- test/kilocode/{plan-followup,session-list}.test.ts: replace Session.list() with AppRuntime.runPromise(Session.Service.use((svc) => svc.list()))
2026-05-06 21:53:19 +02:00
Mark IJbema 1ea9ad2af0 resolve merge conflicts 2026-05-06 21:32:26 +02:00
Catriel Müller f40970557f refactor: renegare sdk 2026-05-06 14:26:06 -03:00
Mark IJbema a77843cbab refactor: kilo compat for v1.14.33 2026-05-06 12:13:06 +02:00
Catriel Müller 0de07760a7 ci: bump actions to Node 24 and surface flaky tests to the UI
- Bump all active workflows to action versions that natively target Node 24:
  checkout@v6, setup-node@v6, cache@v5, upload-artifact@v7, download-artifact@v8.
  Resolves the "Node.js 20 is deprecated" warning in CI logs. The kept
  `FORCE_JAVASCRIPT_ACTIONS_TO_NODE24` env stays as a no-op safety net (also
  in upstream OpenCode).
- test-runner: when running under GitHub Actions, emit a `::warning::`
  annotation per flaky file and append a markdown table to
  `$GITHUB_STEP_SUMMARY`. mikepenz/action-junit-report already surfaces
  failures from the JUnit XML, but flakies pass cleanly on retry and were
  invisible in the UI.
2026-05-05 12:53:03 -03:00
Catriel Müller 3f5ed52cd3 refactor: include quarantine on the same runner file 2026-05-05 12:53:03 -03:00
Catriel Müller c21a1b855f fix(cli): produce well-formed JUnit when bun emits nested testsuites
The per-file JUnit merge was walking `<testsuite>` tags by hand and closing
on the first `</testsuite>` it found. Bun's junit reporter nests one
`<testsuite>` per `describe` block inside an outer `<testsuite>` for the
file itself, so the inner close was matched and the outer one got dropped.
Every file contributed one unclosed `<testsuite>` to the merged output,
pushing XML depth up until mikepenz/action-junit-report's sax parser
failed with "Unexpected close tag" (and xmllint with "Excessive depth").

Switch to grabbing everything between the outer `<testsuites ...>` and
`</testsuites>` of each file's XML — nested structure is preserved
verbatim, no custom walking needed. Read aggregate counts from the root
`<testsuites>` attributes so nested `tests="..."` attrs don't get
double-counted either.

Validated locally: `xmllint --noout` passes on the merged output for a
mix of files with and without nested describes.
2026-05-05 12:53:03 -03:00
Catriel Müller 3d063eb47f test(cli): stabilize flaky unit test CI
- Lower default runner concurrency from `os.cpus().length` to `min(4, cpus)`.
  The bottleneck in CI is shared resources (OAuth callback ports, global
  filesystem like `~/.local/share/kilo`), not CPU, so eight parallel Bun
  processes were triggering port/FS races instead of going faster.
- Raise per-test timeout from 30s to 60s. Slow `spawn` on Windows was
  tripping the 30s limit on tests that were just slow, not broken
  (e.g. `session/prompt.test.ts` at ~86s, `provider/provider.test.ts` at ~54s).
- Retry failing files once and surface them as FLAKY in the summary plus a
  dedicated section. Bugs still fail on every attempt; contention recovers.
- Drop CI runners from 8vcpu to 4vcpu to match upstream OpenCode — with
  concurrency capped at 4, the extra cores bought us nothing.
2026-05-05 12:53:03 -03:00
marius-kilocode c0c982befd test(cli): allow explicit quarantined test runs 2026-05-05 13:47:34 +02:00
marius-kilocode 279a86c2b6 test(cli): quarantine flaky MCP OAuth browser tests 2026-05-05 13:43:00 +02:00
Imanol Maiztegui 6cd26f31c6 fix(cli): skip web UI embed when packages/app is missing
The upstream build script tries to bundle packages/app/ which was removed in #9845. Guard the embed step so the CLI build still works, and revert the --skip-embed-web-ui workaround from #9885 since it is no longer needed.
2026-05-05 10:10:03 +02:00
kiloconnect[bot] 325bdae8a4 chore(cli): annotate MCP OAuth fix 2026-05-04 14:29:05 +00:00
kiloconnect[bot] acc30a6458 feat(mcp): defer oauth callback server startup
Move the initialization of the MCP OAuth callback server from the layer setup to the point where browser authentication is actually required. This prevents unnecessary port binding when authentication is not needed.

Additionally, improve the test runner's XML parsing to correctly handle multiple testsuite attributes and ensure tags are matched accurately.

- Update `packages/opencode/src/mcp/index.ts` to call `McpOAuthCallback.ensureRunning` only upon `UnauthorizedError`.
- Refactor `packages/opencode/script/test-runner.ts` to use a more robust `open` and `sum` logic for test results.
- Add verification to `packages/opencode/test/mcp/oauth-auto-connect.test.ts` to ensure the callback server remains inactive when not needed.
2026-05-04 14:14:09 +00:00
Mark IJbema 3f7037549e resolve merge conflicts 2026-04-30 16:25:46 +02:00
Dax Raad 8ba374fefa ci: enable sourcemaps for beta releases
Generate linked sourcemaps when building beta releases to help users
debug issues with readable stack traces.
2026-04-30 00:42:22 -04:00
Mark IJbema 7d375b93ee refactor: kilo compat for v1.14.29 2026-04-29 17:24:20 +02:00
kiloconnect[bot] 6458b593c0 build(cli): shrink publish artifact to unblock build-vscode download
The kilo-cli artifact ballooned from ~1 GB to 1.83 GB after the codebase
indexing PR started emitting external sourcemaps and copying tree-sitter
wasms per target. The resulting 1.83 GB artifact triggered a silent
partial-extract in actions/download-artifact@v4 during build-vscode,
causing the 2026-04-29 publish run to fail with 'CLI binary not found'.

- Skip external sourcemaps in release builds (~620 MB saved across
  12 targets); dev builds still emit maps for local debugging.
- Exclude any stray .map files from the CI artifact and skip zstd
  compression on binaries (saves ~60 s on upload and reduces the
  chance of partial-extract bugs on the download side).

Refs: PR #6966 (commit f74d54c4), run 25096325401
2026-04-29 09:06:16 +00:00
Mark IJbema cbe55103b1 fix(cli): publish docker image to ghcr.io/kilo-org/kilocode
The image was still being pushed as ghcr.io/kilo-org/kilo, which GHCR
links to the archived Kilo-Org/kilo repo. Rename to kilocode so future
releases create a package under the active repo, and document the
one-time GHCR package-visibility/repo-link follow-up in RELEASING.md.
2026-04-28 17:29:31 +02:00
Marian Alexandru Alecu 5bd891cea0 Merge branch 'main' into feat/cli-local-run 2026-04-28 10:07:32 +03:00
Dax f25f1485d5 refactor: remove module barrels (#24554) 2026-04-27 14:33:33 -04:00
Josh Holmer f74d54c431 feat: implement codebase indexing (#6966)
* feat(core): implement codebase indexing

* feat(core): gate indexing behind experimental flag

* fix: improvements to slow provider startups and indexing init blocking the world

* test(cli): stabilize indexing startup tests

* test(cli): avoid indexing startup hang

* test(cli): avoid CI startup leaks

* test(cli): annotate provider test change

* fix(indexing): tighten dependency surface

* refactor(cli): move indexing logic into kilocode paths

* test(cli): skip flaky shell cancel prompt cases

* fix(cli): tolerate slow Windows worktree cleanup

* fix(vscode): authenticate indexing status fetch

---------

Co-authored-by: Marius <marius@kilocode.ai>
2026-04-27 17:43:27 +02:00
Alex Alecu 034f4d4e8d Merge remote-tracking branch 'origin/main' into feat/cli-local-run
# Conflicts:
#	package.json
2026-04-27 15:08:21 +03:00
Alex Alecu e04dd779e6 fix(cli): make dev-setup work from local builds and hide it in releases
The `Installation.isLocal()` gate in dev-setup rejected locally-built
binaries because KILO_CHANNEL bakes the git branch name, not "local".
`detectRepo()` also failed inside a Bun single-file executable where
`import.meta.url` resolves to a `/$bunfs/` virtual path.

Introduce a build-time `KILO_BUILD_KIND` flag (source/release) derived
from `Script.release`, guard dev-setup/dev-alias registration on it,
and rewrite `detectRepo()` to try KILO_DEV_REPO, `import.meta.url`
(skipping bunfs), `process.execPath`, then `process.cwd()`.
2026-04-24 19:02:05 +03:00
Imanol Maiztegui 5e519256d2 resolve merge conflicts 2026-04-24 16:58:05 +02:00
Imanol Maiztegui 5bd50c6fe2 refactor: kilo compat for v1.14.22 2026-04-24 14:18:25 +02:00
Imanol Maiztegui 7d1c046f10 resolve merge conflicts 2026-04-24 10:06:31 +02:00
Imanol Maiztegui 3f507b9427 refactor: kilo compat for v1.14.17 2026-04-23 15:22:41 +02:00
Imanol Maiztegui 9cde05f934 resolve merge conflicts 2026-04-23 11:25:43 +02:00
Imanol Maiztegui aeb800dd47 refactor: kilo compat for v1.4.9 2026-04-22 16:17:14 +02:00
Kit Langton ecc06a3d8f refactor(core): make Config.Info canonical Effect Schema (#23716) 2026-04-21 14:06:47 -04:00
Imanol Maiztegui d5357f3961 resolve merge conflicts 2026-04-21 18:03:34 +02:00
opencode-agent[bot] bd1bdc4f04 chore: generate 2026-04-20 18:29:48 +00:00
James Long debcff2b6b feat(core): add debug workspace server (#23590) 2026-04-20 18:27:58 +00:00
Imanol Maiztegui bf6f499b24 refactor: kilo compat for v1.4.7 2026-04-20 13:49:07 +02:00
Imanol Maiztegui aa4deb520c resolve merge conflicts 2026-04-20 11:04:03 +02:00
Imanol Maiztegui c4a516f3cf refactor: kilo compat for v1.4.6 2026-04-20 10:45:43 +02:00
Dax Raad 48acab48ad ci: skip Docker builds during preview releases to save time 2026-04-19 19:47:29 -04:00
Shoubhit Dash 889087c966 fix(ripgrep): restore native rg backend (#22773)
Co-authored-by: LukeParkerDev <10430890+Hona@users.noreply.github.com>
2026-04-19 06:58:15 +00:00
Dax Raad d183568644 core: ensure executable permissions are set before Docker builds
Fixes an issue where GitHub artifact downloads could strip executable bits
from binaries, causing Docker builds to fail when using unpacked dist files
directly rather than published tarballs. The chmod now runs before the
publish check to guarantee binaries are executable.
2026-04-18 22:32:53 -04:00
Kit Langton 24fb9b1296 fix: stop rewriting dev during release publish (#22982) 2026-04-18 02:53:19 +00:00
Kit Langton c51f3e35ca chore: retire namespace migration tooling + document module shape (#23010) 2026-04-17 02:48:40 +00:00
Kit Langton 4f8986aa48 refactor: unwrap Question namespace + fix script to emit "." for index.ts (#22992) 2026-04-17 01:51:02 +00:00
Kit Langton c0bfccc15e tooling: add unwrap-and-self-reexport + batch-unwrap-pr scripts (#22929) 2026-04-16 20:11:17 -04:00
Kit Langton e0d71f124e tooling: add collapse-barrel.ts for single-namespace barrel migration (#22887) 2026-04-16 16:12:46 -04:00