Commit Graph
2193 Commits
Author SHA1 Message Date
can1357 90f68431bf Fix local URL resolution for bash destinations 2026-02-23 01:51:54 +01:00
can1357 b8a231f2d2 chore: bump version to 13.1.0 2026-02-23 01:44:28 +01:00
can1357 5696e9799a chore: renamed job polling tool to await
- Renamed `poll_jobs` tool to `await` for clarity.
- Updated all related files, prompts, and type definitions.
2026-02-23 01:44:03 +01:00
can1357 c5dafa28f5 docs(prompts): clarified task tool and system prompt documentation structure
- Restructured task tool documentation for clarity, moving parameter definitions into a dedicated section and consolidating guidance on context, assignments, and parallelization.
- Reformatted system prompt template to use markdown headings instead of XML tags for skills, preloaded skills, and rules sections.
2026-02-23 01:40:44 +01:00
can1357andCan Bölük ac76b6623e perf: accepting #142 with changes 2026-02-23 01:18:24 +01:00
can1357 330334b972 Deduplicate intent field description to save tokens
Move agent__intent description from per-tool JSON schema injection (repeated
once per tool) into a single conditional block in the system prompt template.
Token savings scale with tool count.

- agent-loop: remove description from intent schema injection
- system-prompt.md: add intentTracing/intentField template block
- sdk: compute intentField once, pass through to prompt builder
- system-prompt.ts: thread intentField option into template context
2026-02-23 01:05:48 +01:00
can1357 a96178494a refactor(coding-agent): restructured tool schemas for consistency and clarity
- Renamed `file` parameter to `path` in edit tool schemas and all test cases for consistency.
- Removed `file` property fallback from EditRenderArgs interface and path resolution methods.
- Refactored browser viewport schema to use snake_case `device_scale_factor` with explicit camelCase mapping for Puppeteer API.
- Added hashline edit rule requiring `end` tag to include closing braces/brackets when replacing blocks.
- Refactored INTENT_FIELD injection logic to conditionally reorder schema properties and update required array.
2026-02-23 00:23:53 +01:00
can1357 33235bbb6b chore: bump version to 13.0.2 2026-02-23 00:01:36 +01:00
can1357 801c13d141 fix(patch): corrected property access from text to lines in applyHashlineEdits
- Corrected property access from `result.text` to `result.lines` to match actual return type of `applyHashlineEdits()`.
2026-02-22 23:48:08 +01:00
can1357 0e1a4ef15a feat: strict mode + simplified hashline edit operations
- Consolidated `replace` operations and removed `insert`.
- Improved line hash collision resistance for symbol-only text.
2026-02-22 23:45:01 +01:00
can1357 768ee7a269 fix(coding-agent): corrected XML tag indent stripping to preserve nested tag whitespace
- Corrected XML tag indent stripping to only apply to top-level closing tags, preventing incorrect whitespace removal from nested tags.
- Implemented depth-aware tag tracking using a stack to distinguish top-level from nested XML elements.
- Updated formatting rule documentation to clarify that indent stripping applies only to top-level closing tags.
2026-02-22 19:59:57 +01:00
can1357 ad20818e35 chore: bump version to 13.0.1 2026-02-22 19:58:30 +01:00
can1357 399202b8d2 refactor(patch): antigravity friendly schema 2026-02-22 19:56:58 +01:00
can1357 c9d345369d chore: bump version to 13.0.0 2026-02-22 19:27:17 +01:00
can1357 ae07ab7e76 docs(patch): clarified examples 2026-02-22 19:26:40 +01:00
can1357 0d628857c1 refactor(patch): consolidated edits into replace op 2026-02-22 19:24:55 +01:00
can1357 0298a88601 feat(coding-agent): added in-memory todo phase management to ToolSession API
- Added getTodoPhases() and setTodoPhases() methods to ToolSession API for in-memory todo phase management.
- Added getLatestTodoPhasesFromEntries() export to retrieve todo phases from session history entries.
- Changed todo state management from file-based (todos.json) to in-memory session cache with automatic persistence.
- Changed todo phases to sync from session branch history during branching and rewriting operations.
- Removed file-based todo loading logic and replaced with session-based todo phase retrieval throughout codebase.
2026-02-22 19:11:24 +01:00
can1357 95ecf8ad1a refactor(coding-agent): simplified URL resolution and template formatting
- Removed try-catch wrapper around URL resolution in expandInternalUrls, allowing errors to propagate to caller.
- Simplified template formatting in subagent-user-prompt.md by collapsing context block to single line.
2026-02-22 18:44:50 +01:00
can1357 dfcc0958c7 fix: update abort handling / compaction tests 2026-02-22 18:44:25 +01:00
can1357 1ec9d4d0f4 chore: reorder internal protocol exports 2026-02-22 18:35:21 +01:00
can1357 4a72bd659e feat(grep): improve grouped output and round-robin limiting 2026-02-22 18:35:19 +01:00
can1357 2574d4c977 feat(todo): add phased todo ops and task statuses 2026-02-22 18:35:06 +01:00
can1357 5f75455b91 feat: add blocking flag to bundled agents 2026-02-22 18:34:54 +01:00
can1357 666a71e7b0 feat: add developer message role support 2026-02-22 18:34:49 +01:00
can1357 cd5c9655aa refactor: renamed notes protocol to local
- Renamed the `notes://` protocol to `local://` for better clarity.
- Updated all internal references, prompts, and tool documentation.
- Migrated plan storage paths to use the new `local://` scheme.
2026-02-22 18:05:22 +01:00
can1357 4e8a3773c9 refactor(coding-agent): restructured XML tags to kebab-case format
- Renamed XML tags from underscore to kebab-case format for consistency across prompts and system messages.
- Updated context tag from `swarm_context` to `context` in render logic and test assertions.
- Consolidated conditional logic in subagent user prompt by removing duplicate assignment blocks.
- Updated system prompt documentation to reflect kebab-case naming convention for XML tags.
2026-02-22 17:57:52 +01:00
can1357 563d6a0ab9 feat(coding-agent): introduced notes:// protocol for session-scoped artifact storage
- Replaced plan:// protocol with notes:// for session-scoped artifact storage and plan finalization.
- Added title parameter to exit_plan_mode tool to enable plan file renaming during approval workflow.
- Implemented NotesProtocolHandler for notes:// URL scheme with path traversal protection and session fallback.
- Added renameApprovedPlanFile function to handle plan artifact finalization with validation and error handling.
- Updated system prompt documentation to reference notes:// protocol and internal URL schemes for artifact access.
2026-02-22 17:41:01 +01:00
can1357 49a3b170c5 refactor(coding-agent): migrated internal protocol from docs:// to pi:// scheme
- Renamed internal documentation protocol from docs:// to pi:// across all modules and prompts.
- Renamed DocsProtocolHandler class to PiProtocolHandler and updated scheme registration.
- Renamed docs-protocol.ts file to pi-protocol.ts to reflect new protocol naming.
- Updated all internal URL references and JSDoc comments to use pi:// protocol consistently.
2026-02-22 17:15:06 +01:00
can1357 8276390877 refactor(coding-agent): standardized XML tags and RFC 2119 keywords across prompts
- Standardized XML tag naming from snake_case to kebab-case across 50+ prompt files for consistency.
- Replaced imperative language with RFC 2119 keywords (MUST/SHOULD/MAY/MUST NOT) throughout system and tool prompts for clarity.
- Removed artifactsDir parameter from Python executor and simplified environment variable handling to use PI_SESSION_FILE only.
- Renamed read_path.md to read-path.md and updated memory guidance with hierarchy rules and conflict resolution workflow.
- Added noEscape option to bash URL expansion and extracted cwd parameter from leading cd commands for improved path handling.
- Exported NO_PAGER_ENV constant from bash-interactive module for centralized environment variable management.
2026-02-22 17:12:27 +01:00
can1357 5f9a2050f7 chore: bump version to 12.19.3 2026-02-22 16:59:35 +01:00
can1357 d912e692d8 feat(coding-agent): added per-command PTY control to bash tool
- Added per-command `pty` parameter to bash tool for fine-grained PTY mode control.
- Removed global `bash.virtualTerminal` setting in favor of per-command PTY parameter.
- Fixed potential deadlock in shell session cleanup by replacing blocking lock with non-blocking try_lock.
- Updated async session key generation to include jobId for improved session isolation.
2026-02-22 16:58:46 +01:00
can1357 0197693cb1 fix(test): removed autocorrect heuristic tests for deleted functionality 2026-02-22 16:24:32 +01:00
can1357 c22f06d665 fix(session): corrected orphaned async tasks on session branch
- Added cancellation of pending async jobs before branching session to prevent orphaned tasks.
2026-02-22 16:12:51 +01:00
can1357 545fda2d6e chore: bump version to 12.19.2 2026-02-22 16:12:25 +01:00
can1357 0af9704d3f fix(session): corrected orphaned async tasks during session reset
- Added cancellation of async jobs during session reset to prevent orphaned tasks.
2026-02-22 16:12:09 +01:00
can1357 8044bafed9 chore: bump version to 12.19.1 2026-02-22 16:10:30 +01:00
can1357 4459c47e81 Version bumps. 2026-02-22 16:08:53 +01:00
can1357 d746edcd4b refactor(patch): removed experimental hashline utilities
- Removed replaceText edit operation and content-replace logic from hashline module.
- Removed autocorrect heuristics including line merge detection and whitespace normalization.
- Simplified edit operations to line-anchor-based methods (delete, rename, prepend, append, insert).
- Removed HL_REPLACE_ENABLED feature flag and related conditional logic.
2026-02-22 16:03:22 +01:00
can1357 d0520ec210 chore: bump version to 12.19.0 2026-02-22 15:35:13 +01:00
can1357 2a35d016fd style(coding-agent): reformatted imports and array literals for consistency
- Reformatted import statements and array literal for consistency.
2026-02-22 15:34:51 +01:00
can1357 61ed0fd5aa feat(coding-agent): added poll_jobs tool and task concurrency control for parallel execution
- Added poll_jobs tool for blocking until background jobs complete without manual polling loops.
- Added task.maxConcurrency setting to limit concurrent subagent task execution with semaphore-based control.
- Enhanced task progress tracking to report per-task status with individual timing and token metrics.
- Improved parallel task execution to schedule multiple background jobs independently for true concurrent execution.
- Updated bash and task tool documentation to recommend poll_jobs instead of polling read jobs:// in loops.
2026-02-22 15:23:07 +01:00
can1357 fc8d527d0a fix(coding-agent): improved progress rendering logic
- Prevented rendering an empty progress section.
- Ensured progress displays for initial states without results.
2026-02-22 15:23:07 +01:00
Miroslav DrbalandCan Bölük 8231ec3a7d fix(edit): do not strip leading '-' from replacement content
DIFF_PLUS_RE matched both '+' and '-' (unified-diff markers), but '-'
is also a valid Markdown/YAML list prefix. When all replacement lines
start with '- ', the 50%-threshold heuristic in stripNewLinePrefixes
fires and strips every leading '-', corrupting list-item content.

Narrow the regex to match only '+' (added-line markers), which is the
stated intent of the docstring and the safe strip target. Removed
lines ('-') are never valid replacement content in any case.

Reproducer: passing content=["- [x] item"] as a bare string to a
set/replace op — the '-' is silently dropped, writing ' [x] item'.
Passing content as string[] bypasses stripNewLinePrefixes entirely and
was the workaround, but the root cause should be fixed.
2026-02-22 15:22:34 +01:00
can1357 14634ab4e5 fix(task): corrected task progress display and async execution tracking
- Fixed task progress display to hide tool count and token metrics when zero, reducing visual clutter in status output.
- Refactored async task execution to use job progress reporting API instead of direct update callbacks, improving progress tracking accuracy.
- Implemented pre-allocation of unique IDs for batch tasks to prevent artifact collisions across concurrent executions.
- Extracted async details builder into reusable function to consolidate state construction logic.
2026-02-22 13:06:28 +01:00
can1357 4b7232c49c feat(task): enabled independent parallel execution with per-task progress tracking
- Improved parallel task execution to schedule multiple background jobs independently instead of batching all tasks into a single job, enabling true concurrent execution.
- Enhanced task progress tracking to report per-task status (pending, running, completed, failed, aborted) with individual timing and token metrics for each background task.
- Updated background task messaging to provide real-time progress counts (e.g., '2/5 finished') and distinguish between single and multiple task jobs.
- Refactored task scheduling loop to track per-task progress state and emit granular async updates during execution.
2026-02-22 13:02:57 +01:00
can1357 8b17a91a74 feat(coding-agent): introduced stripInternalArgs utility to filter harness-internal keys
- Added stripInternalArgs() utility function to filter harness-internal keys from tool arguments.
- Hidden agent__intent parameter from UI and log displays across agent, session, MCP, and tool-execution components.
- Implemented HIDDEN_ARG_KEYS constant to centrally manage internal argument filtering.
- Updated formatArgsInline() to exclude internal keys when rendering tool arguments.
2026-02-22 12:56:21 +01:00
can1357 23f472e44d fix status-line gap fill when right segments are present 2026-02-22 12:48:02 +01:00
can1357 84edd931ff fix async job disposal pending state and cancelAll test ordering 2026-02-22 12:47:51 +01:00
can1357 b0dd430754 feat(tools): added markdown rendering support for Python cell output
- Added support for rendering markdown output from Python cells with proper formatting and theme styling.
- Updated Python tool to detect and handle markdown display output separately from plain text.
- Extended KernelDisplayOutput type to include markdown output type.
- Modified formatCellOutputLines to render markdown content using Markdown component when detected.
2026-02-22 12:46:27 +01:00
can1357 476b858b3a feat(coding-agent): added async background job execution with configurable concurrency limits
- Added async background job execution for bash and task tools with configurable concurrency limits and automatic result delivery.
- Added cancel_job tool and /jobs slash command to manage and inspect running background jobs with status display.
- Added jobs:// internal protocol handler for querying job status and retrieving job execution details.
- Added async.enabled and async.maxJobs settings to control background job execution behavior.
- Enhanced status line to display count of running background jobs with visual indicator.
- Implemented AsyncJobManager with exponential backoff retry delivery, job lifecycle tracking, and automatic eviction.

Fixes #56.
2026-02-22 12:44:57 +01:00