Skip to content

[Core] Add Factory Pause Checkpoints - #2537

Draft
MRayermannMSFT wants to merge 3 commits into
mainfrom
mrayermannmsft-factory-pause-sdk
Draft

[Core] Add Factory Pause Checkpoints#2537
MRayermannMSFT wants to merge 3 commits into
mainfrom
mrayermannmsft-factory-pause-sdk

Conversation

@MRayermannMSFT

Copy link
Copy Markdown
Contributor

What

Adds token-scoped factory pause and durable checkpoint APIs to the Node.js SDK after the runtime contract lands. A paused attempt settles its waiter while resume preserves invocation limit overrides and execution identity.

Why

Factory authors need a safe checkpoint that stops spend without losing completed work. Token-scoped aborts stop an old attempt from cancelling a resumed attempt with the same run ID.

MRayermannMSFT and others added 3 commits September 3, 2026 12:48
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
@github-actions

github-actions Bot commented Sep 4, 2026

Copy link
Copy Markdown
Contributor

SDK Consistency Review

Scope of PR #2537: Adds pause support (a ctx.pause(key) durable checkpoint, session.factory.pause(runId), and a paused terminal-ish run status) plus a rename of FactoryLimitsFactoryLimitOverrides, exclusively in the Node.js/TypeScript SDK (nodejs/src/factory.ts, nodejs/src/session.ts, nodejs/src/index.ts, generated RPC types, and tests).

Cross-SDK check: The Agent Factories feature (session.factory.*, defineFactory, FactoryContext, etc.) currently only has a full client-side implementation in the Node.js SDK. Python, Go, .NET, and Rust have no factory-related source files at all. Java only contains generated RPC schema types under java/sdk/src/generated/java/.../rpc/ (e.g., FactoryRunResult, FactoryDeclaredLimits) — there is no hand-written SessionFactoryApi-equivalent client surface in Java's main/java source, and it does not yet expose an equivalent to pause/FactoryContext.pause.

Conclusion: This PR extends an already Node.js-only (experimental) feature area rather than introducing a new cross-language asymmetry — the other SDKs (Python, Go, .NET, Rust, and Java's hand-written client) did not have factory pause/limits parity before this PR, and still don't, but that gap pre-dates this change. No inline consistency issues to flag for this PR specifically.

Suggestion (non-blocking): Since Agent Factories is marked @experimental and evolving quickly (this PR alone adds pause, changes abort to be per-execution-token, and renames FactoryLimits), it may be worth tracking a follow-up item for bringing Java (and eventually other SDKs) up to parity with the Node.js factory client surface before the feature graduates out of experimental status.

Generated by SDK Consistency Review Agent for #2537 · copilot · sonnet50 · 27.6 AIC · ⌖ 12 AIC · ⊞ 9.7K ·

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.

1 participant