Commit Graph

117 Commits

Author SHA1 Message Date
can1357 43c1b245e7 chore: bump version to 17.2.10 2026-08-06 13:32:34 +02:00
can1357 9e738dc880 chore: reformat + rewrite changelogs 2026-08-06 13:30:08 +02:00
can1357 0b0e7dd530 chore: normalized changelogs after merging 20 pull requests 2026-08-05 21:50:46 +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
can1357 d5861c2c66 chore: bump version to 17.2.2 2026-07-31 20:56:49 +02:00
can1357 2c85a74cd4 chore: rewrite changelog 2026-07-31 20:40:52 +02:00
can1357 161073a79e docs(natives): moved workspace addon fix note to unreleased 2026-07-31 19:43:17 +02:00
can1357 19cd9fad1b Merge PR #6990: fix(collab-web): make host state authoritative for guest liveness (@metaphorics) 2026-07-31 19:41:44 +02:00
can1357 3d6b5b7ac8 chore: bump version to 17.2.0 2026-07-30 07:58:50 +02:00
robomp-bot a2b7a4c8ad Merge remote-tracking branch 'upstream/main' into fix/collab-web-liveness-state 2026-07-30 08:06:32 +09:00
can1357 93eb95b3b1 chore: rewrite changelogs 2026-07-29 23:34:04 +02:00
robomp-bot 9db6fb770e docs(collab-web): add PR attribution
(cherry picked from commit c059d6fe0f3dc96ef6719cd83e084db75ad82f19)
2026-07-29 23:08:53 +02:00
robomp-bot a54b11f4c3 fix(collab-web): surface terminal auto_retry_end failures
(cherry picked from commit 6a6c4014158d9636ed0e030837633ad313c1aa5a)
2026-07-29 23:08:53 +02:00
robomp-bot d7effea3c2 docs(collab-web): clarify liveness recovery comment 2026-07-29 20:49:51 +09:00
robomp-bot 12d0363b75 fix(collab-web): make host state authoritative for guest liveness 2026-07-29 18:41:36 +09:00
can1357 5e63cc5696 chore: bump version to 17.1.0 2026-07-24 02:49:18 +02:00
can1357 6cf5b25399 chore: update changelogs 2026-07-24 02:38:32 +02:00
roboomp 839ba1ce02 fix(collab-web): restore resolve/reject/propose cards after xdev unwrap
After the resolve tool became xd:// devices, ToolView.executeXdevDispatch
unwraps xd://resolve/reject/propose writes so the card model lives on the
unwrapped inner details and the device name, but tools/resolve.tsx still
read action/reason from args, rendering a "?"/warn badge. The renderer now
derives the card kind (apply/discard/propose) from inner details first,
falling back to args and to the device-name default for running cards, and
surfaces propose plan metadata. registry.ts also registers reject/propose
and the historical hub-family aliases (irc, job, await, poll, cancel_job)
so those transcript names stop falling back to generic JSON.

Fixes #5640
2026-07-23 19:23:27 +00:00
can1357 9b54d9e9ac chore: bump version to 17.0.8 2026-07-23 00:41:54 +02:00
can1357 7d404686c2 chore: updated changelogs + remove summarization marker 2026-07-22 23:59:32 +02:00
can1357 0002905ec5 chore: untrack node_modules symlinks and harden ignore pattern
- An eval-worktree cherry-pick swept 16 packages/*/node_modules symlinks into the index; 'node_modules/' with a trailing slash only matches directories, so symlinked installs bypassed the ignore. Dropped the slash and removed the tracked links.
2026-07-22 21:43:22 +02:00
can1357 9485f48297 Merge PR #6229: fix(collab-web): guard composer submit against IME composition (@roboomp) 2026-07-22 21:13:22 +02:00
can1357 b9072f1991 fix(extensibility): validate Type.Unsafe against the draft-2020-12 upgraded schema
Aligns the shim's runtime safeParse/__validator with the wire/tool-call
path, so legacy draft-07 documents (tuple items) accept the same values
validateToolArguments does. Adds a regression test.
2026-07-22 21:13:21 +02:00
roboomp 27df758721 fix(collab-web): guard composer submit against IME composition
Both onKeyDown handlers in Composer.tsx committed on Enter without checking
IME composition state, so confirming a Korean/Japanese/Chinese composition
with Enter re-committed the composing character (한글 -> 한글글).

Extract a shouldSubmitOnEnter predicate that returns false while
nativeEvent.isComposing or a composing ref is set, and a useCompositionGuard
hook that tracks compositionstart/compositionend with a deferred reset for
the WebKit case where the confirming Enter keydown fires after
compositionend. Wire both AskEditor and Composer to it.

Fixes #6163
2026-07-21 21:48:53 +00:00
can1357 9fd19696e2 chore: bump version to 17.0.1 2026-07-16 04:56:03 +02:00
can1357 5e9d03f152 chore: normalized changelog entries misfiled by union merges 2026-07-16 03:52:19 +02:00
can1357 8485309ff9 merged PR #5560: fix(collab-web): render user and host messages as markdown 2026-07-16 03:31:54 +02:00
can1357 1c9291b6e6 chore: bump version to 17.0.0 2026-07-15 19:17:34 +02:00
can1357 34bfa9ad50 chore: rewrite changelogs 2026-07-15 18:51:23 +02: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
roboomp 707046b689 fix(collab-web): rendered transcript messages as markdown
- Routed user and custom message text through the sanitized Markdown renderer.
- Increased spacing between adjacent assistant content blocks.
- Added host and guest Markdown regression coverage.

Fixes #5559
2026-07-15 09:34:36 +00:00
can1357 14b5da76a9 chore: bump version to 16.5.1 2026-07-14 19:21:54 +02:00
can1357 eccf030a75 chore: tldr changelog 2026-07-14 19:19:12 +02:00
roboomp 8480a84b3c fix(collab-web): preserve active transcript args
- Render deduped active tool cards with the execution args carried by ActiveTool.
- Covered differing raw assistant args and effective active args in the transcript regression test.

Fixes #4948
2026-07-09 17:04:32 +00:00
roboomp 70316a7f8b fix(collab-web): dedup active transcript tools
- Dedup active tools against committed assistant tool calls as well as the stream ghost.
- Hide the working shimmer while active tools are rendering, preserving it for between-tool model work.
- Added focused Transcript regression coverage for duplicate cards and stale shimmer.

Fixes #4948
2026-07-09 16:47:24 +00:00
can1357 0ca345185c chore: bump version to 16.3.7 2026-07-05 16:58:53 +02:00
can1357 34aea528a3 chore: update changelogs 2026-07-05 14:35:17 +02:00
can1357 d226a97b9c fix(collab-web): advanced stale version metadata to current 16.3.6 release line 2026-07-05 12:44:19 +02:00
roboomp f1e6a119e8 fix(metadata): corrected collab package contracts
Updated collab-web package metadata to the current published version and aligned swarm-extension with the matching pi-coding-agent major.

Documented the pi-uu-grep clap-only fields with dead_code allow reasons so the lint exceptions remain intentional.

Fixes #4549
2026-07-04 19:02:39 +00:00
can1357 afc79e4cda chore: bump version to 16.3.3 2026-07-03 00:57:22 +02:00
can1357 c983918c30 chore: update changelogs 2026-07-02 23:49:32 +02:00
can1357 2c8daf0578 feat: implemented dynamic coercion for legacy tool argument aliases
- Added `normalizeSingleStringField` to dynamically map misplaced string inputs to required schema fields for single-argument tools.
- Integrated argument normalization into `validateToolArguments` to handle model-specific variations in JSON payloads during validation passes.
- Updated `coding-agent` streaming and rendering components to recognize `_input` as a legacy alias for `input` across various UI paths and logic flows.
- Refactored `hashlineEditParamsSchema` to strictly enforce the `input` field while maintaining support for legacy aliases via runtime coercion rather than schema definition.
- Corrected unit tests to reflect that `_input` is rejected by the strict schema but handled gracefully by the validation layer.
2026-07-02 23:32:35 +02:00
can1357 0ea6ea630b chore: bump version to 16.3.1 2026-07-02 09:00:04 +02:00
can1357 95b91c7f73 feat(coding-agent/tools)!: replaced paths arrays with path strings
- Replaced `grep`, `glob`, and `ast_grep` `paths` inputs with optional single `path` strings while preserving default workspace-root behavior.
- Added shared `toPathList` normalization for legacy arrays and JSON-encoded arrays across tool execution and TUI renderers.
- Updated prompts, fixtures, shims, transcript summaries, and tests to send and display the new `path` argument.
- Updated collab-web search tool cards to read `path` while falling back to legacy `paths` for historical transcripts.
- Recorded the contiguous coding-agent changelog run for the tool-path breaking change and adjacent TTS entries.
2026-07-02 08:30:33 +02:00
can1357 36cfb54e92 chore: bump version to 16.3.0 2026-07-02 04:12:21 +02:00
can1357 c4c0331345 fix(coding-agent/session): prevented data loss in session serialization
- Persist signed message blocks (`text`, `thinking`, `toolCall`) and encrypted reasoning payloads verbatim during session serialization instead of clearing or truncating them.
- Preserve signature keys instead of replacing them with empty strings when they exceed persistence size limits.
- Exempt official first-party OpenAI and Anthropic API endpoints from the leaked-thinking stream healing wrapper to prevent misfires on legitimate visible text fences.
2026-07-02 03:58:10 +02:00
can1357 3128eab271 chore: update changelogs 2026-07-02 03:08:59 +02:00
can1357 5dcf2ad197 chore: cleanup 2026-07-02 03:08:16 +02:00
can1357 e7be361148 fix(collab): isolated editor state to preserve draft input
- Extracted `AskEditor` into a standalone, key-bound component keyed by `reqId`.
- Preserved user-typed draft state across duplicate incoming host requests of the same ID.
- Reset the editor draft state only when a genuinely new request ID arrives.
- Simplified `Composer` autosizing logic and state orchestration by isolating editor-specific hooks.
- Adjusted integration tests to match HTML structure changes of the submit action.
2026-07-02 02:40:08 +02:00
can1357 22bfccfda8 fix(collab-web): terminated guest connections immediately on pre-welcome errors
- Prevents connection hangs during initial join by immediately failing when a host rejects a guest prior to welcome.
- Short-circuits the connection welcome timeout upon receiving a pre-welcome error frame.
- Surfaces exact protocol mismatch and hello rejection reasons directly to the joining guest interface.
- Ensures `CollabGuestLink` and `GuestClient` transition immediately to ended/failed states with host error details.
2026-07-02 01:51:09 +02:00