Skip to content

[sdk-sync] Sync with copilot-sdk: ignore cliPath when cliUrl is set#44

Merged
kawax merged 1 commit intomainfrom
sdk-sync/ignore-cli-path-when-cli-url-set-b5fd51b813fc4213
Mar 11, 2026
Merged

[sdk-sync] Sync with copilot-sdk: ignore cliPath when cliUrl is set#44
kawax merged 1 commit intomainfrom
sdk-sync/ignore-cli-path-when-cli-url-set-b5fd51b813fc4213

Conversation

@github-actions
Copy link
Copy Markdown
Contributor

Official SDK Changes

Syncing official github/copilot-sdk commits 27f487f..062b61c:

  • ab8cc5a — [nodejs] Ignore cliPath if cliUrl is set (#787)
  • 062b61c — Update cross-repo-issue-analysis.lock.yml (CI only)

Compare: https://github.com/github/copilot-sdk/compare/27f487f9a65b7b39dbb96d0a13fbedc9c65cbcb1..062b61c8aa63b9b5d45fa1d7b01723e6660ffa83

Summary of Changes

The official SDK now explicitly sets cliPath = undefined when cliUrl is provided, preventing the bundled CLI path from being resolved unnecessarily. It also adds a guard that throws a descriptive error if cliPath is missing when trying to start the stdio process.

The Laravel SDK already handles this correctly via TCP mode separation (when cli_url is set, ProcessManager is never instantiated). The alignment needed was in ProcessManager::startProcess():

  • Before: Used ExecutableFinder with default: 'copilot', which would silently fall back to the string 'copilot' even when the binary doesn't exist, causing a less informative error later during proc_open
  • After: Uses ExecutableFinder without a default, then throws a clear RuntimeException if no CLI binary is found — matching the official SDK's error message pattern

Laravel Files Modified

File Change
copilot-sdk Submodule pointer updated to 062b61c
src/Process/ProcessManager.php Improved error when CLI binary not found

Breaking Changes

None. The error message is now more descriptive, but the only behavior change is when copilot binary is not found — previously this would fail later during proc_open, now it fails earlier with a clearer message.

Generated by SDK Sync ·

When cli_url is provided, cliPath should not be resolved.
The Laravel SDK already handles this correctly via TCP mode, but
now ProcessManager throws a descriptive error when the CLI binary
cannot be found, matching the official SDK behavior.

Official SDK: ab8cc5a [nodejs] Ignore `cliPath` if `cliUrl` is set (#787)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@kawax kawax marked this pull request as ready for review March 11, 2026 22:42
@kawax kawax merged commit 033a2e2 into main Mar 11, 2026
1 check passed
@kawax kawax deleted the sdk-sync/ignore-cli-path-when-cli-url-set-b5fd51b813fc4213 branch March 11, 2026 22:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant