Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
42 commits
Select commit Hold shift + click to select a range
b0e0b94
fix: replace deprecated tsconfig baseUrl with explicit paths entries
Aug 23, 2026
30da7cb
feat: run host terminal sessions on both Node and Bun runtimes
Aug 23, 2026
c7a54b3
chore: apply safe oxlint auto-fixes across non-engine packages
Aug 23, 2026
f7ea48d
feat: add experimental Bun single-file native build
Aug 23, 2026
7a961e1
ci: gate an experimental linux-x64 Bun native bundle job
Aug 23, 2026
6f188bf
refactor: use nullish coalescing where operands cannot be falsy
Aug 23, 2026
ddbcf2f
test: cover the Bun embedded asset source
Aug 23, 2026
5c410fc
chore: drop stray debug log from TUI startup path
Aug 23, 2026
02b9cf4
docs: describe the experimental Bun native build in contributing guides
Aug 23, 2026
fb46b8c
fix: guard corrupt-input paths in minidb
Aug 23, 2026
f9acfbf
refactor: replace explicit any with precise types across packages
Aug 23, 2026
2959f2d
fix: surface the real error when agent creation fails
Aug 23, 2026
d5141ee
test: pin headless prompt error surfacing via e2e
Aug 23, 2026
e0c15dc
fix: guard wire-dispatch and provider-input paths in klient
Aug 23, 2026
906eb30
refactor: tighten agent-core-v2 typings and hoist notes onto exports
Aug 24, 2026
fa75038
fix: stream-decode host terminal output on the Bun runtime
Aug 24, 2026
5af1cfd
docs: spell out the AgentSwarm resume_agent_ids record shape
Aug 24, 2026
8edbdc8
feat: restore packaged native helpers under Bun and ship node-pty bin…
Aug 24, 2026
a098022
feat: make staged self-updates engine-aware
Aug 24, 2026
aeaf0a3
fix: keep URL-fetch SSRF semantics identical across runtimes
Aug 24, 2026
c651ac4
feat: show packaging engine and native tools on /status
Aug 24, 2026
5434fd3
chore: sweep stale Bun entry extractions and add a startup benchmark
Aug 24, 2026
0feb622
feat: build the experimental Bun native bundle on all release targets
Aug 24, 2026
c603540
fix: tolerate node-pty's doubled path separators in the binding redirect
Aug 24, 2026
1eccaa8
fix: resolve node-pty from the packaged asset cache in host terminal …
Aug 24, 2026
d50079a
fix: try the packaged native-asset cache first for pi-tui helpers
Aug 24, 2026
36204ac
feat: load node-pty from the asset cache and drop the dead module hook
Aug 24, 2026
40112fc
ci: run native bundle matrix on feat/bun-migration pushes
Aug 24, 2026
c222617
ci(native): build kimi-agent addon in bundle matrix and fix darwin na…
Aug 24, 2026
c29f95d
fix(native): harden bun bundle defaults
Aug 24, 2026
aed00d1
chore(build): remove stale nested pnpm workspace override
Aug 24, 2026
b9183f8
docs: refresh bun migration status and roadmap
Aug 24, 2026
fb0b417
fix(native): stage pi-tui platform helper beside the executable
Aug 24, 2026
bf3e99d
fix(native): always force adhoc re-sign on darwin
Aug 24, 2026
46dc1ee
fix(native): use the NODE_SEA macho segment name for SEA injection
Aug 24, 2026
d25592f
feat: fold media reads into Read and harden the Bun native pipeline
Aug 24, 2026
0b77349
chore: add Bun as a coexisting package manager (pnpm to Bun, phase 1)
Aug 24, 2026
35ed2b2
docs(read): finish the media-read rename across docs and add changeset
Aug 24, 2026
390c99f
build: switch scripts, CI, and lockfiles from pnpm to Bun
Aug 24, 2026
423fa5e
docs: finish the pnpm to Bun sweep across docs, agents guides, and to…
Aug 24, 2026
98f6f25
fix(vis): use cwd-relative paths in build:deps
Aug 24, 2026
dc89273
fix(nix): correct the proxy impure-env attribute path
Aug 24, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .agents/skills/agent-core-dev/config.md
Original file line number Diff line number Diff line change
Expand Up @@ -287,7 +287,7 @@ When `KIMI_MODEL_NAME` is set, the `kosongConfig` wrapper's `kimiModelEnvOverlay
The authoritative, always-current list of registered sections — rendered in the on-disk `config.toml` shape, with owner file, scope, defaults, env bindings, and schema fields — is generated from the live registry:

- `packages/agent-core-v2/docs/config-manifest.toml` (checked in; do not edit by hand).
- Regenerate with `pnpm --filter @moonshot-ai/agent-core-v2 gen:config-manifest` (add `--check` for a freshness check; `test/app/config/configManifest.test.ts` enforces it in CI).
- Regenerate with `(cd packages/agent-core-v2 && bun run gen:config-manifest)` (add `--check` for a freshness check; `test/app/config/configManifest.test.ts` enforces it in CI).

`config` must not import from any of these owner domains; that is the whole reason the schemas, TOML normalization, and env overlays live with their owners.

Expand Down
10 changes: 5 additions & 5 deletions .agents/skills/agent-core-dev/server-align.md
Original file line number Diff line number Diff line change
Expand Up @@ -204,11 +204,11 @@ Where the route mirrors v1, the test is the regression guard for the schema-fide

### 7. Verify

- `pnpm -C packages/kap-server test` — server routes green.
- `pnpm -C packages/kap-server test` — server routes green (incl. any wire-schema guards).
- `pnpm -C packages/agent-core-v2 test` — native + Legacy Service tests green.
- `pnpm -C packages/agent-core-v2 run lint:imports` — the import boundaries (v1 ban, kosong subtree) still hold for a LegacyService.
- `pnpm -C packages/klient test` (optionally with `KIMI_SERVER_URL` for the live legacy suites) when a v1 parity scenario exists.
- `(cd packages/kap-server && bun run test)` — server routes green.
- `(cd packages/kap-server && bun run test)` — server routes green (incl. any wire-schema guards).
- `(cd packages/agent-core-v2 && bun run test)` — native + Legacy Service tests green.
- `(cd packages/agent-core-v2 && bun run lint:imports)` — the import boundaries (v1 ban, kosong subtree) still hold for a LegacyService.
- `(cd packages/klient && bun run test)` (optionally with `KIMI_SERVER_URL` for the live legacy suites) when a v1 parity scenario exists.

## Worked example — porting v1 `/sessions/:sid/prompts`

Expand Down
8 changes: 4 additions & 4 deletions .agents/skills/agent-core-dev/verify.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,11 @@ Run the guards and re-scan the red lines before submitting.

## Commands

Run from the package (or with `--filter @moonshot-ai/agent-core-v2`):
Run from the package (or with `bun run --filter @moonshot-ai/agent-core-v2 <script>`):

- `pnpm --filter @moonshot-ai/agent-core-v2 lint:imports` — import-boundary guard (`scripts/check-import-boundaries.mjs`). Catches v1 imports (`@moonshot-ai/agent-core`) and kosong subtree violations.
- `pnpm --filter @moonshot-ai/agent-core-v2 typecheck` — `tsc -p tsconfig.json --noEmit`.
- `pnpm --filter @moonshot-ai/agent-core-v2 test` — `vitest run`.
- `cd packages/agent-core-v2 && bun run lint:imports` — import-boundary guard (`scripts/check-import-boundaries.mjs`). Catches v1 imports (`@moonshot-ai/agent-core`) and kosong subtree violations.
- `cd packages/agent-core-v2 && bun run typecheck` — `tsc -p tsconfig.json --noEmit`.
- `cd packages/agent-core-v2 && bun run test` — `vitest run`.

## Changesets (when the change ships through the CLI)

Expand Down
2 changes: 1 addition & 1 deletion .agents/skills/translate-docs/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ When non-changelog pages change in either locale, sync the mirror before release
4. **Verify**

- `git diff docs/` — scan for terminology drift or punctuation regressions.
- Run the docs build if available (`pnpm --filter docs run build` or equivalent) to catch broken links and Markdown errors.
- Run the docs build if available (`cd docs && bun run build` or equivalent) to catch broken links and Markdown errors.

## Rules and conventions

Expand Down
24 changes: 12 additions & 12 deletions .changeset/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ This repository uses [changesets](https://github.com/changesets/changesets) to m

## Package Publishing Strategy

This repository uses an **independent, manually-selected publishing** strategy. When generating a changeset, only select the publishable packages that this change actually affects. The repository's `.changeset/config.json` already filters out internal workspace packages via `ignore`, so only the publishable packages listed below should appear in the `pnpm changeset` prompt.
This repository uses an **independent, manually-selected publishing** strategy. When generating a changeset, only select the publishable packages that this change actually affects. The repository's `.changeset/config.json` already filters out internal workspace packages via `ignore`, so only the publishable packages listed below should appear in the `bun run changeset` prompt.

Current publishable packages:

Expand Down Expand Up @@ -72,7 +72,7 @@ Complete code, tests, and documentation changes as usual. A changeset is require
From the repository root:

```sh
pnpm changeset
bun run changeset
```

Follow the prompts to choose:
Expand Down Expand Up @@ -102,37 +102,37 @@ Once the changeset file is merged into `main`, `.github/workflows/release.yml` u

The release PR runs:

- `pnpm changeset version`: bumps publishable package versions and updates changelogs;
- `bun run changeset version`: bumps publishable package versions and updates changelogs;
- Deletes the consumed `.changeset/*.md` files;
- Uses the title `[CI]: Release packages`.

### 5. Merge the release PR

Once the release PR is merged into `main`, the same workflow runs:

- `pnpm install --frozen-lockfile`
- `pnpm build`
- `pnpm changeset publish`
- `bun install --frozen-lockfile`
- `bun run build`
- `bun run changeset publish`

The packages are then published via npm Trusted Publishing, and a GitHub Release is created.

## Manual Publishing (Not Recommended)

Only publish manually when CI is unavailable. Before publishing manually, make sure you are logged into npm locally and using the Node.js and pnpm versions required by the repository.
Only publish manually when CI is unavailable. Before publishing manually, make sure you are logged into npm locally and using the Node.js and Bun versions required by the repository.

```sh
pnpm run version
pnpm run publish
bun run version
bun run publish
```

The underlying changesets commands are:

```sh
pnpm changeset version
pnpm changeset publish
bun run changeset version
bun run changeset publish
```

The root-level `pnpm run publish` first runs typecheck, lint, sherif, test, build, and package lint, then runs `changeset publish`.
The root-level `bun run publish` first runs typecheck, lint, sherif, test, build, and package lint, then runs `changeset publish`.

## Notes

Expand Down
5 changes: 5 additions & 0 deletions .changeset/bun-no-autoload-bytecode-off.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@moonshot-ai/kimi-code": patch
---

Bun single-file binaries no longer autoload `.env`/`bunfig.toml` from the current directory at runtime, and Bun bytecode is no longer embedded by default; set `KIMI_CODE_BUN_ENABLE_BYTECODE=1` to opt back in.
5 changes: 5 additions & 0 deletions .changeset/bun-nodepty-bindings.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@moonshot-ai/kimi-code": patch
---

Ship node-pty with its PTY bindings through the packaged-build asset pipeline and load it from the extracted cache in single-file builds on both engines; the release smoke now dlopens the binding.
5 changes: 5 additions & 0 deletions .changeset/bun-pitui-helper.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@moonshot-ai/kimi-code": patch
---

Restore native terminal input handling in packaged single-file builds by resolving pi-tui's platform helper from the extracted asset cache at load time.
5 changes: 5 additions & 0 deletions .changeset/bun-self-update.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@moonshot-ai/kimi-code": patch
---

Fix the built-in updater refusing to download updates in Bun single-file builds.
5 changes: 5 additions & 0 deletions .changeset/bun-status-runtime-row.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@moonshot-ai/kimi-code": patch
---

Show the packaging engine and native-tools implementation on the `/status` report (`Runtime bun · rust`), and clean up superseded Bun entry extractions left behind by older versions.
5 changes: 5 additions & 0 deletions .changeset/bun-terminal-utf8.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@moonshot-ai/kimi-code": patch
---

Fix garbled multi-byte characters in terminal session output when running on the Bun runtime.
5 changes: 5 additions & 0 deletions .changeset/bun-updater-engine-aware.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@moonshot-ai/kimi-code": patch
---

Make the staged self-updater engine-aware: a Bun packaged binary now downloads the release's Bun build from the manifest's optional `bun` section and refuses to silently swap itself to the Node SEA binary when that release ships none.
5 changes: 5 additions & 0 deletions .changeset/bun-webfetch-undici.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@moonshot-ai/kimi-code": patch
---

Keep built-in URL-fetch SSRF guard semantics identical across Node and Bun runtimes by defaulting to the bundled undici fetch, whose pinned-DNS dispatcher option Bun's global fetch silently ignores.
5 changes: 5 additions & 0 deletions .changeset/read-folds-in-media.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@moonshot-ai/kimi-code": minor
---

Merged image and video reading into the Read tool: Read now accepts `region` and `full_resolution` for images, and the separate media-read tool is no longer offered (existing sessions and permission rules keep working).
Loading
Loading