Commit Graph

247 Commits

Author SHA1 Message Date
usr-bin-roygbiv 9ceebb2a4d fix(workers): isolate compiled host selectors 2026-07-25 08:31:54 +00:00
usr-bin-roygbiv 237692deab fix(computer-use): re-enter single worker host 2026-07-25 07:45:56 +00:00
usr-bin-roygbiv a7e988b604 fix(computer-use): isolate worker process entry 2026-07-25 07:13:12 +00:00
can1357 59619623e1 feat: enabled cargo target caching and conditional validation in workflows
- Add scripts/ci-target-cache.ts to snapshot and restore Cargo target directories to S3 storage on omp-kata runners.
- Update .github/actions/build-native/action.yml to support target cache restoration, saving, and compiler launcher configurations.
- Add skip_validation input in GitHub workflow actions to bypass clippy and Rust test checks on release runs.
2026-07-25 02:34:14 +02:00
can1357 0babb55fbd ci: retried test chunks when bun crashes due to GC bugs
- Detect bun crash exits (signals 132-139) and retry up to MAX_CHUNK_ATTEMPTS in a fresh heap.
- Add `retries` field to ChunkOutcome and surface crash retries in progress output.
- Fix test assertion expecting `stopReason: "aborted"` to use `toolUse` (aborted turns are dropped from context).
2026-07-23 14:40:28 +02:00
can1357 7d404686c2 chore: updated changelogs + remove summarization marker 2026-07-22 23:59:32 +02:00
can1357 59877a01bd fix(update): fetch musl release asset on musl hosts and align musl release test
- omp update's getBinaryName now detects a musl Linux host (Alpine release file or /lib/ld-musl-* loader, mirroring scripts/install.sh) and downloads omp-linux-musl-<arch>, so self-update no longer replaces a musl install with the glibc build.
- Updated musl-release dry-run assertions to the Bun.build output format the binaries script now emits; promoted the musl changelog entry to [Unreleased].
2026-07-22 23:12:24 +02:00
can1357 6a517cfbbc Merge farm/b12a11bd: feat(release): add musl-linked linux builds
# Conflicts:
#	package.json
2026-07-22 23:08:42 +02:00
can1357 8a9aa0342d chore: format evaluator fix commits and suppress intentional DAP placeholder lint 2026-07-22 21:16:38 +02:00
can1357 b5b645c921 fix(installer): fall back to /usr/sbin/sysctl when sysctl is not on PATH 2026-07-22 21:12:20 +02:00
can1357 87e55d10d7 Merge PR #6269: fix(installer): avoid mismatched bun architecture on apple silicon (@roboomp) 2026-07-22 21:12:20 +02:00
can1357 945ccf4bb0 fix(release): only fingerprint source bullets consumed by summarization
Recording fingerprints for bullets the model preserved verbatim made the
next runChangelogFixer pass (release.ts step 5) treat the still-valid
Unreleased bullet as already consumed and drop it from the release notes.
Record after applyRewrite and skip items whose exact text survives in the
rewritten section; add a verbatim-keep regression.
2026-07-22 21:12:20 +02:00
can1357 91a5364fb8 Merge PR #6232: fix(release): preserve changelog source fingerprints (@roboomp) 2026-07-22 21:12:20 +02:00
roboomp 6efcdfb66e feat(release): added musl-linked linux builds
Built x64 and arm64 musl release artifacts with matching native addons, Alpine smoke coverage, and installer detection.

Fixes #3367
2026-07-22 19:06:20 +00:00
roboomp 329db086f4 fix(installer): avoid mismatched bun architecture on apple silicon
The default install path only checked whether bun existed, so an
x86_64 bun running under Rosetta installed an x86_64 omp on Apple
Silicon (AVX warning, ~11s startup). Compare bun's process.arch to
the host, detecting Apple Silicon via `sysctl -in hw.optional.arm64`
so Rosetta can't spoof it, and fall back to the prebuilt native
binary on mismatch; `--source` now errors actionably. install_binary
also derives the arch from the real host instead of the
Rosetta-translated `uname -m`.

Fixes #6268
2026-07-22 07:11:40 +00:00
Victor Araújo ad36bbeae3 test(ci): run release publish coverage 2026-07-22 00:58:29 -03:00
Victor Araújo 7f0b82f577 fix(release): preserve older npm conflict code 2026-07-21 23:25:45 -03:00
Victor Araújo 9169a70184 fix(release): retain npm duplicate-version fallback 2026-07-21 23:24:11 -03:00
Victor Araújo 91443501fb fix(release): make package publish reruns idempotent 2026-07-21 23:24:11 -03:00
roboomp 29ff6bebb4 fix(release): preserved changelog source fingerprints
- Recorded source-item SHA-256 fingerprints before changelog summarization.

- Used provenance fingerprints during normal and recovery deduplication so stale original wording cannot be released again.

- Added regression coverage for a stale merge after summarized wording replaced the source bullet.

Fixes #6157
2026-07-21 21:56:55 +00:00
can1357 5ff277349c refactor(coding-agent): consolidated tool surface onto xd:// devices and hub
- Added the `xd://` virtual device protocol (`internal-urls/xd-protocol.ts`, `tools/xdev.ts`): tools declaring `loadMode: "discoverable"` are unmounted from the request tools array and driven via `read xd://` (list/docs+schema) and `write xd://<tool>` (execute), gated by the `tools.xdev` setting (default on) and inlined into the system prompt.
- Merged the `irc`, `job`, and `launch` tools into a single `hub` tool (`tools/hub/`, `async/job-manager.ts`): messaging keeps `send`/`inbox`/`list`, job control maps to `wait`/`cancel`/`jobs`, process supervision keeps `start`/`logs`/`stop`/`restart`/`describe` with `ps`, and the unified `wait` races background jobs against peer messages; SDK `IrcTool`/`JobTool`/`LaunchTool` are replaced by `HubTool`.
- Removed the hidden `resolve` tool in favor of the `xd://resolve`/`xd://reject`/`xd://propose` resolution devices, auto-including `write` whenever a deferrable tool or plan mode is present.
- Removed the BM25 tool-discovery system: the `search_tool_bm25` tool, the `tool-discovery` module, the `tools.discoveryMode`/`mcp.discoveryMode`/`mcp.discoveryDefaultServers`/`tools.essentialOverride` settings, per-tool MCP selection, and the `mcp_tool_selection` message type.
- Unified tool presentation on `ToolLoadMode` (`essential`|`discoverable`), replacing the custom-tool `xdev?: boolean` opt-out; custom, extension, MCP, RPC host, image-generation, and TTS tools now default to `discoverable`, and added a `satisfies` predicate to `SoftToolRequirement`.
- Removed the standalone `ssh` command tool and `ssh/ssh-executor` (the `ssh://` read/write/search protocol stays), and made `--tools` address hidden built-ins.
- Updated collab-web to render `xd://` dispatches and `hub` op families, dropped the `search_tool_bm25`/`ssh`/`report-finding` renderers, refreshed tool docs and prompts, and migrated the affected tests and changelogs.
2026-07-15 15:16:29 +02:00
can1357 55f5ebec49 chore: reformat 2026-07-15 00:08:50 +02:00
can1357 c69c048361 ci: stabilized test runs by resetting settings and shrinking UI/TUI chunks
- Initialized in-memory settings in the repro issue test by resetting settings before theme setup.
- Reduced the UI/TUI CI test bucket chunk size from 10 to 5 to avoid cumulative Bun GC heap aborts.
2026-07-13 18:51:34 +02:00
can1357 4181ef18b5 build(coding-agent): prevented embedding native runtime dependencies
- Standardized `fastembed` and `onnxruntime-node` as external dependencies for all compiled binaries.
- Removed manual exclusion logic from individual build scripts in favor of a centralized configuration.
- Updated release build dry-run output to reflect consistent external dependency handling.

Fixes #5195
2026-07-11 20:35:02 +02:00
can1357 8a510052af feat(tools): implemented command extraction and filtering logic
- Implemented a regex-based utility to extract and clean bash commands from tool call logs.
- Introduced an exclusion set to filter non-utility tokens from command analysis.
- Optimized the command reporting logic to produce more accurate utility usage statistics.
2026-07-11 18:36:56 +02:00
roboomp bc7a143c1e fix(setup): used portable native install artifacts
- Built the generic Windows release binary with Bun's baseline x64 runtime so older Windows 10 CPUs do not hit the AVX2-only modern executable.

- Forced pi-natives release builds to link PCRE2 statically so macOS installs do not depend on Homebrew's libpcre2 dylib.

- Added release dry-run and native-build regression coverage for the portable artifact contracts.

Fixes #5172
2026-07-11 09:47:37 +00:00
can1357 d469064d1a fix: handle stale tests 2026-07-11 07:54:19 +02:00
can1357 33c161d9dd refactor(coding-agent): restructured plugin system and build logic
- Migrated legacy static bundled-module registry to a dynamic Bun-based in-memory plugin system.
- Removed over 4,000 lines of manually maintained registry files to reduce maintenance overhead.
- Implemented CJS absolute path rewriting and native-addon load hooks to improve FFI dependency resolution.
- Standardized binary build processes by centralizing compilation logic into shared utilities.
2026-07-11 07:33:22 +02:00
can1357 d435385ab1 feat: introduced max reasoning effort tier across model and rpc systems
- Introduced `Max` as a first-class reasoning effort tier across all packages, including AI providers, coding agent configurations, and RPC protocols.
- Refactored model effort ladders to use wire-exact mappings and removed legacy effort aliasing (e.g., `max-to-xhigh` mapping).
- Updated model registry and provider configurations to support `Max` tier routing, color themes, and UI icon associations.
- Expanded test suites to provide end-to-end coverage for the new reasoning tier, including updated compatibility and fallback scenarios.
2026-07-10 13:39:42 +02:00
can1357 336e1edf7a chore: organized test scripts in CI workspace and package configuration
- Added scripts/fix-dts-extensions.test.ts to the test:scripts npm script.
- Included the .d.ts extension rewrite test in the CI workspace test suite.
- Updated repoScriptTests list in scripts/ci-test-ts.ts to ensure consistent tracking.
2026-07-05 16:01:51 +02:00
can1357 8722985965 Merge PR #4282: fix(install): add network timeouts to install script downloads (@metaphorics) 2026-07-05 13:25:24 +02:00
can1357 541b299375 style: formatted dts extension test with biome 2026-07-05 13:05:02 +02:00
can1357 f4d43c1819 fix dts extension rewrite edge cases 2026-07-05 13:03:09 +02:00
Matt Wilkinson c7961d249b fix(build): emit NodeNext-consumable .d.ts (explicit .js on relative re-exports)
The declaration emit runs under moduleResolution: Bundler, so published .d.ts carried extensionless relative specifiers (export * from "./sdk") that a node16/nodenext consumer can't resolve — the package root failed with TS2834/TS2305. The publish pipeline now rewrites emitted relative specifiers to explicit .js across every package's dist/types.

Co-Authored-By: seal <noreply@sealedsecurity.com>
2026-07-03 11:42:54 -04:00
can1357 5c171b2860 chore: refactored failure reporting and update quiet mode output
- Extracted failure formatting logic into a reusable `formatChunkFailure` function.
- Updated quiet mode to display detailed failure output immediately when a test chunk fails.
- Adjusted final failure summary to improve output readability and conditional flow.
2026-07-03 00:47:56 +02:00
can1357 83176e159f chore: implemented watchdog and stabilize GC for test execution
- Added a per-chunk watchdog that terminates wedged test processes with SIGKILL after a configurable timeout.
- Implemented incremental stream draining to capture test output even when a process is forcibly killed.
- Stabilized test execution by forcing single-threaded GC markers (`BUN_JSC_numberOfGCMarkers=1`) to prevent segmentation faults during heap-heavy operations.
2026-07-03 00:46:46 +02:00
metaphorics 165a33eece fix(install): add network timeouts to install script downloads
The GitHub API and binary download calls in `install_binary()` (`scripts/install.sh`) and `Install-Binary` (`scripts/install.ps1`) could hang indefinitely on stalled connections. Added curl `--connect-timeout`/`--max-time` to the release metadata calls and `--connect-timeout`/`--speed-limit`/`--speed-time` to the binary download, plus `-TimeoutSec` to the PowerShell `Invoke-RestMethod`/`Invoke-WebRequest` calls. Verified `bash -n scripts/install.sh` passes; no TypeScript typecheck is affected.

Closes #4253
2026-07-02 17:30:53 +09:00
can1357 388534802c chore(repo): corrected invalid test script paths in ci configuration
- Replaced the non-existent `ci-test-ts.test.ts` with the active `link-omp.test.ts` in `package.json` and `ci-test-ts.ts`.
- Documented that the invalid test path was previously ignored silently by the bun test runner.
2026-07-02 02:40:07 +02:00
can1357 3ff65ead6b feat(wire): bumped collaborative protocol to version 3
- Bumped the collaborative protocol version (`COLLAB_PROTO`) from 2 to 3.
- Required protocol-3 to coordinate `ui-request`, `ui-request-end`, and `ui-response` frames.
- Rejected older protocol-2 guests at handshake to prevent host-asked requests from hanging.
- Updated verification tests and CI installation check scripts to expect protocol version 3.
2026-07-02 01:51:09 +02:00
can1357 5f1ed0fcde chore: reformat 2026-07-01 23:14:36 +02:00
can1357 8bc597b61f test setup omp link fallback 2026-07-01 21:42:24 +02:00
can1357 58ec27257a Merge PR #3702: fix(setup): harden global omp symlink against bun pm -g bin failure (@roboomp) 2026-07-01 21:42:24 +02:00
can1357 8687899728 ci: disabled concurrent garbage collection in test environment
- Set the `BUN_JSC_useConcurrentGC` environment variable to `"0"` in the child process environment built for test suites.
2026-07-01 00:07:03 +02:00
can1357 cbb471b666 chore: standardized code quality and formatting for tooling scripts
- Added `scripts/**/*.ts` to the linter and formatter inclusion list in `biome.json`.
- Replaced manual array index searches with standard `indexOf` operations.
- Cleaned up unused variables, obsolete helpers, and command-line flags.
- Applied consistent formatting and code style across tooling scripts.
2026-06-30 23:51:16 +02:00
can1357 6d0569788c ci: formatted test runner progress, summary, and failure parsing to match bun style
- Refactored `formatProgressLine` to display passes and failures in the visual style of `bun test` including elapsed time.
- Implemented `extractFailingTests` to parse individual test failures and their raw output details out of captured stdout/stderr.
- Added a `formatSummaryFooter` to output a clean concluding tally of passed/failed chunks and the total wall time.
2026-06-30 21:27:41 +02:00
can1357 bd77bd507c feat: introduced a unified local runner for rust and typescript tests
- Added `local` and `local-ts` modes to `ci-test-ts.ts` to coordinate full local runs of TypeScript and Rust packages in a single progress stream.
- Implemented a quiet output formatter that displays a one-line progress entry and defers verbose output until failure.
- Included previously skipped workspace packages `packages/mnemopi` and `python/robomp/web` in the local testing scope.
- Configured colorized ANSI formatting for progress logs when running in interactive TTY terminals.
- Bound repo-level scripts and rust task orchestration command under the consolidated runner.
2026-06-30 20:39:32 +02:00
can1357 e3b956275f Merge remote-tracking branch 'origin/farm/3d40f8e4/homebrew-darwin-arm64-tiny-runtime' 2026-06-30 17:59:39 +02:00
roboomp 083d1f5a8e fix(release): pinned tiny transformers version
- Added the Transformers.js version define to release-built binaries.
- Covered the release dry-run command so Homebrew assets keep the tiny runtime pin.

Fixes #3904
2026-06-30 14:30:23 +00:00
can1357 467f46b190 perf(scripts/session-stats): added composite index on tool call timestamp and name
- Added a composite index `ss_tc_ts_tool` on the `timestamp` and `tool_name` columns of the `ss_tool_calls` table to optimize query performance.
2026-06-30 07:01:32 +02:00
can1357 b5544b3f19 feat(coding-agent): implemented path recovery for mismatched section tags
- Added `recoverSectionPathFromTag` to reconcile bare or mismatched `[basename#tag]` paths using existing session snapshots.
- Implemented `readSectionForPreview` to fallback to recovered file paths when the authored path is absent.
- Updated `computeHashlineSectionDiff` to use the path recovery logic during preview content acquisition.
- Removed obsolete regression test file `issue-1765-repro.test.ts`.
2026-06-28 17:28:53 +02:00