Skip to content

BOX-146: custom runner#150

Merged
CahidArda merged 7 commits into
mainfrom
BOX-146
May 11, 2026
Merged

BOX-146: custom runner#150
CahidArda merged 7 commits into
mainfrom
BOX-146

Conversation

@buggyhunter
Copy link
Copy Markdown
Contributor

No description provided.

@linear
Copy link
Copy Markdown

linear Bot commented May 8, 2026

BOX-146

Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Adds support for custom agent runners to the @upstash/box SDK by introducing a new custom harness, wiring request payloads to include custom runner configuration, and providing a helper for implementing runner processes that emit Box’s SSE protocol.

Changes:

  • Introduces Agent.Custom plus new CustomRunnerConfig / CustomAgentConfig types to represent custom runner configuration in the SDK.
  • Updates the SDK client to serialize custom runner configuration (custom_runner) and adds Box.configureCustomRunner(...).
  • Adds runCustomRunner(...) helper + tests, and extends CLI model options to include “Custom”.

Reviewed changes

Copilot reviewed 10 out of 10 changed files in this pull request and generated 5 comments.

Show a summary per file
File Description
packages/sdk/src/types.ts Adds Agent.Custom, defines CustomRunnerConfig, and extends AgentConfig/BoxData typing for custom runners.
packages/sdk/src/index.ts Exports runCustomRunner and related custom-runner types from the SDK entrypoint.
packages/sdk/src/custom-runner.ts New helper for implementing a custom runner process that emits box-sse-v1 SSE events.
packages/sdk/src/client.ts Adds custom-runner request serialization, custom harness inference, and configureCustomRunner.
packages/sdk/src/tests/custom-runner.test.ts Tests runCustomRunner arg parsing and SSE emission.
packages/sdk/src/tests/box-from-snapshot.test.ts Verifies fromSnapshot sends custom_runner configuration.
packages/sdk/src/tests/box-create.test.ts Verifies create sends custom_runner, omits agent API key, defaults model, and errors when missing runner config.
packages/sdk/src/tests/box-config-model.test.ts Adds test coverage for configureCustomRunner.
packages/cli/src/models.ts Adds CLI model list entry for Agent.Custom.
.changeset/custom-runner-sdk.md Changeset bump for adding SDK support for custom runners.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread packages/sdk/src/custom-runner.ts Outdated
Comment thread packages/sdk/src/types.ts Outdated
Comment on lines +223 to +226
}
| { harness: Agent.Cursor; model: CursorModel; provider?: never; runner?: never }
| { harness: Exclude<string, "custom">; model: string; provider?: never; runner?: never }
| {
Comment thread packages/sdk/src/types.ts Outdated
}
| {
/** @deprecated Use `harness` instead. */
runner: Exclude<string, "custom">;
Comment thread packages/sdk/src/client.ts
Comment thread packages/sdk/src/client.ts Outdated
buggyhunter and others added 5 commits May 8, 2026 14:41
for harness, Agent.Custom should be used. string options are needed in order to support future models without having to release SDK versions

see AI review for more context about the original change #150 (comment)
@CahidArda CahidArda merged commit 065290a into main May 11, 2026
3 checks passed
@CahidArda CahidArda deleted the BOX-146 branch May 11, 2026 12:38
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