Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
45 commits
Select commit Hold shift + click to select a range
478b32e
fix(web-ui): keep inline edit keys with IME
QZQ-go Aug 17, 2026
a3a840f
feat(dsh-acp): offer a per-session model picker
wgqqqqq Aug 17, 2026
4bcd4de
fix(dsh-acp): list a model reachable by two routes once
wgqqqqq Aug 18, 2026
4011c87
feat(flow-chat): give the ACP mode a picker of its own
wgqqqqq Aug 18, 2026
69c751a
feat(cli): add app-server stdio host command
zvzuola Aug 17, 2026
4d21dc1
fix(rollback): disambiguate local workspace identity
wgqqqqq Aug 19, 2026
5008985
fix(review): correct GitCode pull request change stats
guantw Aug 19, 2026
b662f29
fix(review): handle truncated GitCode file responses
bobleer Aug 20, 2026
0b8415d
fix(config): persist review team concurrency config fields
guantw Aug 21, 2026
b35ee1f
perf(cargo): enforce third-party capability ownership
limityan Aug 21, 2026
bcfbfee
perf(ci): skip Rust validation for proven Web-only changes
limityan Aug 21, 2026
0854eff
perf(app-server): isolate TypeScript generation from RPC
limityan Aug 21, 2026
fd10198
chore(skills): sync create-bitfun-skin contract
kev1n77 Aug 20, 2026
623aaed
feat(miniapp-market): funnel visitors without BitFun to the download …
bobleer Aug 21, 2026
1f6063c
feat(skin-market): funnel visitors without BitFun to the download page
bobleer Aug 21, 2026
ca810d9
chore(skills): refresh appearance lifecycle states
kev1n77 Aug 21, 2026
04ab915
fix(skin-market): include pnpm patches in image build
bobleer Aug 21, 2026
cd41f13
fix(agent-runtime): persist evidence ledger
zvzuola Aug 22, 2026
45cd503
fix(agent-runtime): prune evidence ledger on revert and restore
zvzuola Aug 24, 2026
bb34bbd
fix(agent-runtime): preserve evidence ledger during staged revert
zvzuola Aug 24, 2026
71bf8f5
fix(agent-runtime): copy evidence ledger on branch and converge sidec…
zvzuola Aug 24, 2026
5eef57b
feat(sdk): bind local model for text queries
limityan Aug 24, 2026
9b36b0d
feat(sdk): resolve the package-local host
limityan Aug 24, 2026
f8af3b5
feat(sdk): complete local application integration
limityan Aug 24, 2026
12571d7
feat(sdk): resume durable agent sessions
limityan Aug 25, 2026
d90fa57
test(sdk): align process fixture protocol version
limityan Aug 25, 2026
99e13a9
fix(review): load GitCode PR files as one bounded response
guantw Aug 24, 2026
d0d5bb2
fix(review): keep GitCode provider change stats on capped review targets
cursoragent Aug 24, 2026
9379e6c
fix(skills): align cinematic plan with explore registry
kev1n77 Aug 25, 2026
cfff834
chore(capabilities): refresh ACP interaction inventory
wgqqqqq Aug 25, 2026
c75a3f4
feat: integrate managed opencode plugin host
Aug 11, 2026
477e9e4
fix(plugin-host): gate execution and close lifecycle gaps
limityan Aug 21, 2026
198b943
fix(desktop): await WebView recovery cleanup
wsp1911 Aug 25, 2026
9a9763a
fix(plugin-host): preserve explore runtime boundaries
Aug 25, 2026
9268767
test(runtime): define headless capability boundary
limityan Aug 25, 2026
c9f5460
refactor(runtime): enforce product workflow boundaries
limityan Aug 25, 2026
a7e0605
feat(sdk): add image input and turn usage
limityan Aug 25, 2026
ce53866
fix(config): preserve models with newer telemetry settings
limityan Aug 25, 2026
6c37ad3
chore: bump version to 0.2.19
wgqqqqq Aug 21, 2026
c126144
docs(architecture): refine 4+1 product views
limityan Aug 25, 2026
dd8abee
fix(ci): select predictive validation without PR packages
wgqqqqq Aug 25, 2026
c2f9996
fix(build): refresh synchronized generated metadata
wgqqqqq Aug 25, 2026
d50f3aa
fix(sync): preserve explore build contracts
limityan Aug 25, 2026
8faf821
fix(ci): deduplicate Linux Node setup
wgqqqqq Aug 25, 2026
a31df55
fix(web): align ACP mode menu with surface contract
wgqqqqq Aug 25, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
19 changes: 17 additions & 2 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -141,7 +141,6 @@ jobs:
sudo apt-get install -y --no-install-recommends \
pkg-config \
build-essential \
libssl-dev \
libxcb1-dev \
libxcb-render0-dev \
libxcb-shape0-dev \
Expand Down Expand Up @@ -526,12 +525,22 @@ jobs:
- name: Validate interactive capability contract
run: pnpm run capabilities:check && pnpm run capabilities:test && pnpm run website:test && pnpm run website:build

- name: Test core boundary contracts
run: pnpm run check:core-boundaries:test

- name: Check core boundaries
run: node --test scripts/check-core-boundaries.test.mjs
run: pnpm run check:core-boundaries

- name: Install dependencies
run: pnpm install --frozen-lockfile

- name: Setup Bun for package resource preflight
if: needs.build-impact.outputs.frontend_required != 'false'
uses: oven-sh/setup-bun@v2
with:
bun-version: "1.3.14"
no-cache: true

- name: Setup Rust for release projection preflight
if: needs.build-impact.outputs.frontend_required != 'false'
uses: dtolnay/rust-toolchain@stable
Expand All @@ -540,6 +549,12 @@ jobs:
if: needs.build-impact.outputs.frontend_required != 'false'
run: cargo metadata --locked --no-deps

- name: Build plugin Host resources
if: needs.build-impact.outputs.frontend_required != 'false'
run: |
bun install --cwd src/apps/extension-host --frozen-lockfile
bun run --cwd src/apps/extension-host build

- name: Generate web API bindings
if: needs.build-impact.outputs.frontend_required != 'false'
run: pnpm --dir src/web-ui run gen:types
Expand Down
11 changes: 10 additions & 1 deletion .github/workflows/cli-package-manual.yml
Original file line number Diff line number Diff line change
Expand Up @@ -127,6 +127,16 @@ jobs:
with:
ref: ${{ needs.prepare.outputs.checkout_ref }}

- name: Setup Bun
uses: oven-sh/setup-bun@v2
with:
bun-version: "1.3.14"

- name: Build plugin Host resources
run: |
bun install --cwd src/apps/extension-host --frozen-lockfile
bun run --cwd src/apps/extension-host build

- name: Install Linux system dependencies
if: runner.os == 'Linux'
shell: bash
Expand All @@ -135,7 +145,6 @@ jobs:
sudo apt-get install -y --no-install-recommends \
pkg-config \
build-essential \
libssl-dev \
libxcb1-dev \
libxcb-render0-dev \
libxcb-shape0-dev \
Expand Down
10 changes: 10 additions & 0 deletions .github/workflows/cli-package.yml
Original file line number Diff line number Diff line change
Expand Up @@ -105,6 +105,16 @@ jobs:
with:
ref: ${{ needs.prepare.outputs.checkout_ref }}

- name: Setup Bun
uses: oven-sh/setup-bun@v2
with:
bun-version: "1.3.14"

- name: Build plugin Host resources
run: |
bun install --cwd src/apps/extension-host --frozen-lockfile
bun run --cwd src/apps/extension-host build

- name: Setup Rust toolchain
uses: dtolnay/rust-toolchain@stable
with:
Expand Down
12 changes: 11 additions & 1 deletion .github/workflows/linux-binaries.yml
Original file line number Diff line number Diff line change
Expand Up @@ -79,12 +79,23 @@ jobs:
with:
ref: ${{ inputs.checkout_ref }}

- name: Setup Bun
uses: oven-sh/setup-bun@v2
with:
bun-version: "1.3.14"
no-cache: true

- name: Setup Node.js
uses: actions/setup-node@v5
with:
node-version-file: package.json
package-manager-cache: false

- name: Build plugin Host resources
run: |
bun install --cwd src/apps/extension-host --frozen-lockfile
bun run --cwd src/apps/extension-host build

- name: Install Linux system dependencies
shell: bash
run: |
Expand All @@ -94,7 +105,6 @@ jobs:
clang \
cmake \
curl \
libssl-dev \
libxcb1-dev \
libxcb-render0-dev \
libxcb-shape0-dev \
Expand Down
11 changes: 11 additions & 0 deletions .github/workflows/nightly-artifacts.yml
Original file line number Diff line number Diff line change
Expand Up @@ -89,6 +89,12 @@ jobs:
with:
ref: ${{ inputs.checkout_ref }}

- name: Setup Bun
uses: oven-sh/setup-bun@v2
with:
bun-version: "1.3.14"
no-cache: true

- name: Install Linux system dependencies (Tauri bundler)
if: runner.os == 'Linux'
shell: bash
Expand Down Expand Up @@ -172,6 +178,11 @@ jobs:
exit 1
fi

- name: Build plugin Host resources
run: |
bun install --cwd src/apps/extension-host --frozen-lockfile
bun run --cwd src/apps/extension-host build

- name: Generate web API bindings
run: pnpm --dir src/web-ui run gen:types

Expand Down
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,9 @@ sdk/typescript/src/internal/wire-validators.ts
# The deployable Rust services use the workspace lockfile for reproducible
# container builds.
!Cargo.lock
# The standalone Installer resolves against the shared source tree and owns a
# generated lockfile that must not be committed.
/BitFun-Installer/src-tauri/Cargo.lock

# Monaco Editor - copied from node_modules
public/monaco-editor/
Expand Down Expand Up @@ -95,6 +98,7 @@ external/
/.flashgrep-index-engine/

.design/
.pnpm-store/

# KMP shared mobile core and the platform apps that include it (Gradle).
# Written per-directory rather than as a bare `local.properties` so the pattern
Expand Down
2 changes: 1 addition & 1 deletion AGENTS-CN.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ Stable Contracts and Security Control Plane 的边界以
| 2 | 产品组装层 | `src/crates/assembly` | 兼容导出、产品能力选择、product-full 接线、不可变内置 Agent 内容、adapter/service 注册和生态无关的来源协调 | `agent-content`, `core`, `external-sources`, `product-capabilities` | [AGENTS.md](src/crates/assembly/AGENTS.md) |
| 3 | 适配层 | `src/crates/adapters` | AI/transport/WebDriver 协议 adapter、外部 AI work source adapter(OpenCode/Claude Code/Codex)和外部 provider 转换 | `agent-runtime-ipc`、`ai-adapters`, `opencode-adapter`, `claude-code-adapter`, `codex-adapter`, `static-hook-support`, `transport`, `webdriver` | [AGENTS.md](src/crates/adapters/AGENTS.md) |
| 4 | 服务实现层 | `src/crates/services` | 可复用 OS、filesystem、terminal、MCP、remote、git、watch、process、session persistence primitives、network 和 MiniApp runtime IO 实现 | `services-core`, `services-integrations`, `relay-service`, `page-function-runtime`, `terminal` | [AGENTS.md](src/crates/services/AGENTS.md) |
| 5 | 执行原语层 | `src/crates/execution` | 可移植 agent、harness、stream、DeepReview policy/report、插件运行时客户端、typed-service、tool-contract、tool-group 和 tool-execution 构件 | `agent-runtime`, `agent-stream`, `tool-contracts`, `harness`, `plugin-runtime-client`, `runtime-services`, `tool-provider-groups`, `tool-execution`, `tool-call-jsonrepair` | [AGENTS.md](src/crates/execution/AGENTS.md) |
| 5 | 执行原语层 | `src/crates/execution` | 可移植 agent、命名工作流策略、harness、stream、DeepReview policy/report、插件运行时客户端、typed-service、tool-contract、tool-group 和 tool-execution 构件 | `agent-runtime`, `agent-workflows`, `agent-stream`, `tool-contracts`, `harness`, `plugin-runtime-client`, `runtime-services`, `tool-provider-groups`, `tool-execution`, `tool-call-jsonrepair` | [AGENTS.md](src/crates/execution/AGENTS.md) |
| 6 | 稳定契约与产品领域层 | `src/crates/contracts` | 跨层共享 DTO、事件形状、runtime port、产品领域契约和策略 | `core-types`, `events`, `runtime-ports`, `product-domains` | [AGENTS.md](src/crates/contracts/AGENTS.md) |

边界规则:
Expand Down
2 changes: 1 addition & 1 deletion AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ Keep crate dependencies inside each layer to the smallest set needed.
| 2 | Product assembly | `src/crates/assembly` | Compatibility exports, product capability selection, product-full wiring, immutable built-in Agent content, adapter/service registration, and ecosystem-neutral source coordination | `agent-content`, `core`, `external-sources`, `product-capabilities` | [AGENTS.md](src/crates/assembly/AGENTS.md) |
| 3 | Adapters | `src/crates/adapters` | AI/transport/WebDriver protocol adapters, external AI work source adapters (OpenCode/Claude Code/Codex), and external-provider translation | `agent-runtime-ipc`, `ai-adapters`, `opencode-adapter`, `claude-code-adapter`, `codex-adapter`, `static-hook-support`, `transport`, `webdriver` | [AGENTS.md](src/crates/adapters/AGENTS.md) |
| 4 | Services | `src/crates/services` | Reusable OS, filesystem, terminal, MCP, remote, git, watch, process, session persistence primitives, MiniApp runtime IO, and network implementations | `services-core`, `services-integrations`, `miniapp-market-service`, `relay-service`, `page-function-runtime`, `terminal` | [AGENTS.md](src/crates/services/AGENTS.md) |
| 5 | Execution primitives | `src/crates/execution` | Portable agent, harness, stream, DeepReview policy/report, plugin runtime client, typed-service, tool-contract, tool-group, and tool-execution building blocks | `agent-runtime`, `agent-stream`, `tool-contracts`, `harness`, `plugin-runtime-client`, `runtime-services`, `tool-provider-groups`, `tool-execution`, `tool-call-jsonrepair` | [AGENTS.md](src/crates/execution/AGENTS.md) |
| 5 | Execution primitives | `src/crates/execution` | Portable agent, named-workflow policy, harness, stream, DeepReview policy/report, plugin runtime client, typed-service, tool-contract, tool-group, and tool-execution building blocks | `agent-runtime`, `agent-workflows`, `agent-stream`, `tool-contracts`, `harness`, `plugin-runtime-client`, `runtime-services`, `tool-provider-groups`, `tool-execution`, `tool-call-jsonrepair` | [AGENTS.md](src/crates/execution/AGENTS.md) |
| 6 | Stable contracts and product domains | `src/crates/contracts` | Shared DTOs, event shapes, runtime ports, and product domain contracts/policies | `core-types`, `events`, `runtime-ports`, `product-domains` | [AGENTS.md](src/crates/contracts/AGENTS.md) |

Boundary rules:
Expand Down
4 changes: 2 additions & 2 deletions BitFun-Installer/package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion BitFun-Installer/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "bitfun-installer",
"version": "0.2.18",
"version": "0.2.19",
"private": true,
"type": "module",
"description": "BitFun Custom Installer - Modern branded installation experience",
Expand Down
2 changes: 1 addition & 1 deletion BitFun-Installer/scripts/sync-model-i18n.cjs
Original file line number Diff line number Diff line change
Expand Up @@ -209,7 +209,7 @@ function syncOne(languageTag) {
'locales',
localeDir,
'settings',
'ai-model.json'
'models.json'
);
const sourceComponentsPath = path.join(
PROJECT_ROOT,
Expand Down
6 changes: 3 additions & 3 deletions BitFun-Installer/scripts/sync-theme-i18n.cjs
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ function writeJson(filePath, data) {
}

function extractThemeNames(source, sourceLabel) {
// Theme preset names live under settings/basics.json → appearance.presets (formerly theme.json → theme.presets).
// Theme preset names live under settings/application.json → appearance.presets (formerly theme.json → theme.presets).
const presets = source?.appearance?.presets;
if (!presets || typeof presets !== "object") {
throw new Error(`Invalid appearance.presets in ${sourceLabel}`);
Expand Down Expand Up @@ -63,7 +63,7 @@ function main() {
"locales",
"en-US",
"settings",
"basics.json"
"application.json"
);
const sourceZhPath = path.join(
PROJECT_ROOT,
Expand All @@ -73,7 +73,7 @@ function main() {
"locales",
"zh-CN",
"settings",
"basics.json"
"application.json"
);

const targetEnPath = path.join(
Expand Down
Loading
Loading