Skip to content

Feat/ts tools#130

Merged
luarss merged 44 commits into
The-OpenROAD-Project:feat/ts-migrationfrom
kartikloops:feat/ts-tools
Jun 30, 2026
Merged

Feat/ts tools#130
luarss merged 44 commits into
The-OpenROAD-Project:feat/ts-migrationfrom
kartikloops:feat/ts-tools

Conversation

@kartikloops

Copy link
Copy Markdown
Collaborator

The full business logic layer is complete. This covers the PTY session management (spawning OpenROAD processes, reading output, handling termination), all 10 MCP tools with identical input/output schemas to the Python server, the command whitelist with security fixes that go beyond the Python baseline, report image listing and compression, settings, ANSI output cleaning, and path validation.

402 unit tests cover all of the above, plus an integration script that validates the full lifecycle against a real OpenROAD process.

Copilot AI review requested due to automatic review settings June 18, 2026 02:36

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@kartikloops

Copy link
Copy Markdown
Collaborator Author

@luarss Once PR #127 gets merged I will rebase this.

@luarss

luarss commented Jun 26, 2026

Copy link
Copy Markdown
Collaborator

@kartikloops Please rebase when you can

…annot be bypassed via catch/if/foreach or set x [exec ls]
@kartikloops

Copy link
Copy Markdown
Collaborator Author

@luarss re-based, please have a look

Comment thread typescript/src/config/command_whitelist.ts Outdated
Comment thread typescript/src/tools/report_images.ts
Comment thread typescript/src/config/settings.ts Outdated
Comment thread typescript/src/core/manager.ts
Comment thread typescript/src/interactive/session.ts
Comment thread typescript/src/config/command_whitelist.ts Outdated
Comment thread typescript/src/interactive/pty_handler.ts Outdated
Comment thread typescript/src/tools/base.ts
… } or mid-word " cannot hide a trailing statement from the verb check
…le cannot escape the contained run directory
…eue/buffer/chunk sizes, command/idle timeouts) so a 0 cannot silently disable sessions or output
… so a bracket inside a # comment is not rejected as an exec
…l is not misreported dead, only ESRCH counts as gone
@kartikloops kartikloops requested a review from luarss June 27, 2026 04:54
Comment thread typescript/src/config/command_whitelist.ts
Comment thread typescript/src/config/command_whitelist.ts Outdated
…ry other domain model so snake_case is produced only by toSnakeCase at the wire boundary, not hand-written
…scated command like \socket or \x73ocket is matched as the command tcl actually runs, not the literal backslash form
…ituted command ($x or nested [[...]]) is surfaced and rejected by the read-only tool instead of running exec via runtime variable substitution
@kartikloops kartikloops requested a review from luarss June 30, 2026 03:57
…rror message is inserted literally instead of being reinterpreted as a replacement pattern
@luarss luarss merged commit 42f3652 into The-OpenROAD-Project:feat/ts-migration Jun 30, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants