Commit Graph

1708 Commits

Author SHA1 Message Date
can1357 7cebe901b7 refactor(coding-agent): narrowed over-exported internal symbols
- 28 symbols across discovery, mcp header policy, agent-hub projection and
  rendering, the agent registry, shell tokenizing and changelog comparison
  were exported but referenced only inside their own module; they are now
  module-private, shrinking the deep-import surface.
- Kept AGENT_PLUGIN_MANIFEST_SCHEMA, AGENT_PLUGIN_MCP_SCHEMA,
  parseAgentPluginManifest, clearAgentPluginRootCache and mergeMCPHeaders
  exported: each is a seam for tests that defend real parsing or header
  precedence behavior.
- Nothing reachable from an explicit exports entry or public barrel changed.
2026-08-08 06:32:01 +02:00
can1357 cafe52cd9f refactor(coding-agent): split github tool into domain modules
- gh.ts held wire types, search, Actions run-watch, PR checkout/push/create,
  PR diff parsing and view fetch/format in 3958 lines.
- Split into gh-types, gh-search, gh-run-watch, gh-pr-checkout, gh-pr-diff,
  gh-view and a gh-common module holding the shared primitives and the single
  process-lifetime default-repo memo pair; gh.ts is now 246 lines.
- All 22 exports stay on gh.ts because tools/index.ts star-exports ./gh, so
  the issue:// and pr:// protocol handlers needed no edits.
2026-08-08 06:32:01 +02:00
can1357 7454b6e78f refactor(coding-agent): split read tool into per-source modules
- ReadTool mixed plain-file reading with archive, sqlite, pdf-image, summary,
  selector, formatting and renderer concerns in one 3763-line module.
- Each now owns a sibling module; read.ts drops to 2020 lines and keeps its
  public exports, including the readToolRenderer re-export required because
  tools/index.ts star-exports ./read through the explicit ./tools entry.
- The pdfImageExtractions map and summaryParseCaches WeakMap stay single
  instances; execute() was deliberately left intact.
2026-08-08 06:32:01 +02:00
can1357 39477ba39b fix(debug): shortened js-debug install hint to the repo download
- Runtime error now just says to download vscode-js-debug from its GitHub repo;
  tarball recipe, extract path, env var, and Mason detail stay in docs/tools/debug.md.
2026-08-07 14:50:17 +02:00
can1357 37849df3e4 Merge PR #7759: docs(coding-agent): clarify js-debug-adapter install is not an npm package (@fcastillo18) 2026-08-07 13:39:54 +02:00
can1357 8b9579c06a fix(bash): preserve escaped newline semantics 2026-08-07 13:39:54 +02:00
can1357 50741716b8 Merge PR #7888: fix(bash): constrain leading cd extraction to a single path token (@roboomp) 2026-08-07 13:39:54 +02:00
can1357 73b91d89d4 Merge PR #7816: fix(coding-agent/tools): preserve native JSON Schema containers (@kimprap) 2026-08-07 13:39:52 +02:00
can1357 b50b05ee39 Merge PR #7790: fix(read): normalize recovery paths (@roboomp) 2026-08-07 13:39:52 +02:00
roboomp 2597244b00 fix(bash): constrain leading cd extraction to a single path token
The `cd <path> && ...` extractor matched everything up to the first `&&`
with a greedy regex, so a redirect or extra argument before the `&&` was
swallowed into the structured cwd. `cd /tmp 2>/dev/null && echo ok` became
cwd `/tmp 2>/dev/null`, which failed fs.stat and killed the command before
the shell ran.

Replace the regex with `extractLeadingCdTarget`, a quote/escape-aware
scanner in shell-tokenize.ts that captures exactly one path token and
bails (leaving the command for the shell) when anything else — a redirect,
extra argument, shell expansion, or a non-`&&` separator — precedes the
top-level `&&`.

Fixes #7883
2026-08-07 06:43:55 +00:00
can1357 2ad61c7b92 feat(discovery): added Agent Plugins 1.0.0 standard support
- New agent-plugins provider discovers packages with a root plugin.json
  targeting the canonical schema (agent-plugins.org) from marketplace
  installs, --plugin-dir, and configured extension roots; skills/ and
  mcp.json load per spec with closed-schema validation,
  ${PLUGIN_ROOT}/${PLUGIN_DATA} expansion, reserved subprocess
  environment, instance-keyed data dirs, and per-component isolation.
- Package-boundary containment (spec §4.1) is enforced before every
  read via the new contained-path helpers, including skill:// resource
  access from the read tool and bash; plugin skill files must
  realpath-resolve inside the plugin root (skills carry containRoot).
- Legacy claude-plugins/omp-plugins providers yield skills and MCP
  surfaces of standard-targeting roots to the new provider and skip
  fatally invalid packages.
2026-08-07 05:59:52 +02:00
kimp cde7f7f30b chore: merge upstream main into strict schema fix 2026-08-07 00:17:51 +07:00
kimp 7dcfd9422a fix(coding-agent/tools): deduplicate JTD primitive detection 2026-08-07 00:17:38 +07:00
kimp 103791f14b fix(coding-agent/tools): preserve native JSON Schema containers 2026-08-06 15:50:22 +07:00
roboomp bfd1e64bf6 fix(read): normalized recovery paths
Used the resolved cwd-relative path in summary recovery selectors, PDF image handles, and notebook diagnostics.

Fixes #7788
2026-08-06 03:40:10 +00:00
Franklin Castillo 3381b4305a docs(coding-agent): correct js-debug runtime + extraction path per review
Two wording fixes for PR #7759 review:
- debug.md no longer requires `node` on PATH; documents that the adapter
  runs under node if available, else the omp Bun host, matching
  resolveDefaultJsDebugAdapter()'s process.execPath fallback.
- The unavailable message and CHANGELOG now say "extract under
  ~/.local/opt" (not "to ~/.local/opt/js-debug/"), so the archive's
  js-debug/src/dapDebugServer.js lands at the auto-discovered path
  instead of one directory too deep.

Refs #7757.
2026-08-05 18:28:28 -04:00
Franklin Castillo 3afc87926b docs(coding-agent): clarify js-debug-adapter install is not an npm package
The "js-debug-adapter not available" message and the debug doc only
mentioned Mason and JS_DEBUG_DAP_SERVER, leaving users to try
`npm i -g js-debug-adapter`, which 404s: js-debug-adapter is the omp
adapter id, not an installable package. Surface the supported installs
(Mason; the standalone vscode-js-debug release tarball extracted to
~/.local/opt/js-debug/, which resolveJsDebugServerPath already
auto-discovers; or JS_DEBUG_DAP_SERVER) in both the error message and
docs/tools/debug.md.

Refs #7757.
2026-08-05 17:59:59 -04:00
can1357 ae84aff853 Merge PR #7675: fix(memory): hide disabled memory protocol (@roboomp) 2026-08-05 22:16:28 +02:00
can1357 c01d18eb57 Merge PR #7657: fix(read): split semicolon-delimited internal URLs (@revofusion) 2026-08-05 21:50:25 +02:00
can1357 f37b06eb3b Merge PR #7680: fix(coding-agent): stringify Bash preview env values (@GratefulDave) 2026-08-05 21:50:24 +02:00
can1357 e6ebfd4d49 Merge PR #7705: fix(coding-agent): validate Linux browser executables before launch (@metaphorics) 2026-08-05 21:50:24 +02:00
can1357 e9888367d1 refactor: migrated packages to internal utility modules and removed external dependencies
- Implemented in-house, zero-dependency utility modules in `pi-utils` covering DOM manipulation, markdown parsing, templating, browser automation helpers, and terminal buffers.
- Migrated packages across the repository to consume the new internal utilities and `omptype` schema validators instead of external dependencies.
- Removed multiple external runtime and development dependencies including Zod, Marked, LRU cache, Turndown, and Puppeteer browser packages.
2026-08-05 13:39:09 +02:00
metaphorics 30bbfd69e7 fix(coding-agent): avoid racing browser probe output 2026-08-05 11:19:38 +00:00
metaphorics e1a7c17c2b fix(coding-agent): bound browser version probes 2026-08-05 11:10:20 +00:00
metaphorics ecb22957cf fix(coding-agent): validate Linux browser executables 2026-08-05 10:50:31 +00:00
Can Bölük 1e492d6ff9 Merge pull request #7354 from brymko/fix/browser-timeout-crash-recovery
Fix/browser timeout crash recovery
2026-08-05 12:39:14 +02:00
brymko 5e28f85627 fix(coding-agent): stabilized browser worker startup
Gave browser worker initialization an infrastructure timeout floor so short navigation budgets do not expire before a loaded runner starts the worker.
2026-08-05 17:34:09 +08:00
brymko adee5b9991 fix(coding-agent): restored lazy CLI imports
Imported postmortem through its direct subpath so browser run-scope loading no longer initializes the pi-utils barrel during CLI startup.
2026-08-05 17:26:29 +08:00
brymko fe086df7bf fix(coding-agent): aborted browser runs before draining
Closed worker and cmux run signals before yielding for floating-rejection drainage. Stale promise continuations can no longer begin page navigation after evaluated code returns.
2026-08-05 16:45:36 +08:00
brymko a51b69ee85 fix(coding-agent): kept unrelated worker failures fatal
Classified only marked browser failures and evaluated-run stack frames as run-owned rejections. Unrelated tab-worker failures now remain on the worker guard's fatal path.
2026-08-05 16:44:41 +08:00
brymko 5c0187dec5 fix(coding-agent): isolated promise combinator tracking
Used a run-scoped Promise subclass instead of mutating native combinator methods. Evaluated code can now freeze its Promise constructor without breaking cleanup or later browser runs.
2026-08-05 16:43:00 +08:00
brymko af35be1105 fix(coding-agent): tracked browser promise combinators
Observed Promise.all and Promise.race results derived from browser calls during each evaluated run. User catch continuations that rethrow browser failures now fail the owning run without changing native await behavior.
2026-08-05 16:43:00 +08:00
brymko bb5d64557d fix(coding-agent): preserved late browser rejections
Logged late user continuation failures in cmux runs and delayed worker rejection folding until request-interception cleanup completed. This closes both windows where missing awaits could be silently dropped.
2026-08-05 15:46:38 +08:00
brymko dd0b7b3176 fix(coding-agent): reported late browser continuations
Logged user continuation rejections that settle after their browser run has ended. This preserves the completed result while making missing awaits visible instead of silently dropping them.
2026-08-05 15:46:38 +08:00
brymko 71c26e5958 fix(coding-agent): reported rethrown browser continuations
Tracked whether user continuation callbacks create each descendant rejection. Browser errors that user code rethrows now fail the owning run instead of being contained as propagated helper failures.
2026-08-05 15:45:17 +08:00
brymko 2fd469de75 fix(coding-agent): corrected browser rejection containment
Scoped browser-error markers to each run and contained only propagated browser failures. Routed floated user continuations into failed runs and added worker coverage for native await plus every continuation method.
2026-08-05 15:45:17 +08:00
David Andrews dff7f8271a fix(coding-agent): stringify preview env values
(cherry picked from commit 2d852c0632116f227b772dbbb646169971bd9398)
2026-08-05 03:07:27 -04:00
brymko 364e13c49e fix(coding-agent): contained browser timeout rejections
Observed every browser facade continuation so fire-and-forget helper
timeouts cannot wedge or kill a tab worker. Preserved native Promise
identity for callers and test matchers.
2026-08-05 14:31:03 +08:00
roboomp 619412c987 fix(memory): hid disabled memory protocol
Made the Read schema session-aware and rejected memory URLs when the calling session has memory disabled.

Fixes #7673
2026-08-05 04:07:40 +00:00
Kyle McCleary 5cc4f5c93a Merge main into refactor/agent-hub-fullscreen 2026-08-04 18:15:42 -07:00
can1357 b0a94a8fc0 chore: cleanup 2026-08-05 03:07:16 +02:00
can1357 e9c5bc9130 fix(browser): preserve Chromium detection precedence
(cherry picked from commit 028c4d3588879306ab208a1e0b5c913a1004651f)
2026-08-05 02:40:45 +02:00
can1357 b2fe308ecf Merge PR #7515: feat(browser): auto-detect Ungoogled Chromium on Linux (@Mustaqeem66)
# Conflicts:
#	packages/coding-agent/test/tools/browser-launch.test.ts
2026-08-05 02:40:28 +02:00
can1357 b0984cd25c Merge PR #7598: fix(coding-agent): split semicolon path lists that trip ENAMETOOLONG (@roboomp) 2026-08-05 01:11:59 +02:00
can1357 abc628b63c fix(read): expose artifact source line totals 2026-08-05 01:11:59 +02:00
can1357 a0f203bfd4 Merge PR #7592: fix(cursor): correct inline read range metadata (@roboomp) 2026-08-05 01:11:58 +02:00
can1357 4da44c5492 Merge PR #7604: fix(browser): honor explicit Chromium executable override (@roboomp) 2026-08-05 01:11:57 +02:00
can1357 ca71858545 Merge PR #7497: fix(tool): exempt piped-stdin stages from bash interceptor (@roboomp) 2026-08-05 01:11:55 +02:00
Revofusion 84c4c58063 fix(read): preserve literal routed URL semicolons 2026-08-04 15:53:58 -06:00
Revofusion 3d6ecf9237 fix(read): split semicolon-delimited internal URLs 2026-08-04 15:41:45 -06:00