feat: add copilot-sdk engine front matter field#35936
Conversation
Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
|
Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Done in b251421:
|
|
@copilot copilot-sdk is installed by default with copilot-cli so the step does not need to be added when the copilot engine is used. |
Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Done in the latest commit — removed the |
|
@copilot merge main and recompile |
…-to-engine Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Checked on |
|
|
|
@copilot when the copilot-sdk is enabled, the copilot harness should start and stop a copilot cli process in headless mode with the correct port. |
|
@copilot review all changes apply DRY / SOLID |
Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
| // GHAWCopilotSDKEnvVar is the internal signal variable set by the compiler to tell | ||
| // the harness that copilot-sdk mode is active. The harness starts and stops the | ||
| // Copilot CLI headless sidecar and ensures COPILOT_SDK_URI is forwarded to child processes. | ||
| GHAWCopilotSDKEnvVar = "GH_AW_COPILOT_SDK" |
There was a problem hiding this comment.
@copilot this one is not needed, use copilot_sdk_uri
There was a problem hiding this comment.
Fixed in a028e1a — removed the extra GH_AW_COPILOT_SDK signal and now use COPILOT_SDK_URI as the copilot-sdk activation signal in the compiler, harness helpers, and tests.
|
@copilot merge main, recompile, fix conflicts |
Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
|
|
|
Please refresh the branch, rerun checks, and summarize any remaining blockers.
|
Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
|
|
|
@copilot mark as experimental |
Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
|
|
|
|
Adds a
copilot-sdkboolean field to the Copilot engine front matter. When enabled, the harness starts and stops a separate headless Copilot CLI sidecar on the configured localhost port and propagatesCOPILOT_SDK_URIto child processes. The@github/copilot-sdkpackage is already bundled with the Copilot CLI, so no additional installation step is required. The feature is marked as experimental: the schema labels it accordingly and the compiler emits an experimental warning whenengine.copilot-sdkis enabled.Constants
DefaultCopilotSDKPort = 3002inconstants.goCopilotSDKURIEnvVar(COPILOT_SDK_URI) inengine_constants.goCompiler / workflow engine
copilot_engine_execution.go): injectsCOPILOT_SDK_URI=http://127.0.0.1:3002into the step env, without changing the main Copilot CLI invocation into transport modemain_workflow_schema.json):copilot-sdkboolean added to the extended engine config object with updated behavior description and experimental labelingcompiler_validators.go): emitsUsing experimental feature: engine.copilot-sdkwhen the field is enabledJS harnesses
process_runner.cjs: exportedbuildCopilotSDKEnv()helper returns{ COPILOT_SDK_URI }whenCOPILOT_SDK_URIis set,{}otherwisecopilot_sdk_sidecar.cjs: owns the Copilot SDK sidecar URL/port parsing plus spawn, readiness, and shutdown helperscopilot_harness.cjs: starts a separate headless Copilot CLI sidecar with--headless --no-auto-update --port <configured-port>, waits for the port to become ready, forwardsCOPILOT_SDK_URIto child processes, and stops the sidecar when the run completes> Generated by 👨🍳 PR Sous Chef · gpt54 23.8M · ◷