Skip to content

chore: sync strands-agents/sdk-typescript into monorepo#2363

Merged
zastrowm merged 5 commits into
strands-agents:mainfrom
zastrowm:sync-upstream-repos
May 29, 2026
Merged

chore: sync strands-agents/sdk-typescript into monorepo#2363
zastrowm merged 5 commits into
strands-agents:mainfrom
zastrowm:sync-upstream-repos

Conversation

@zastrowm
Copy link
Copy Markdown
Member

Caution

DO NOT squash or rebase — this must be merged with a merge commit to preserve commit history.

Description

Sync the latest strands-agents/sdk-typescript commits into the monorepo. Three new commits since the initial TypeScript merge (#2350):

  • fix: revert MCP from JSON to update node imports (#1113)
  • feat(wit): align type names with TS SDK (#1107)
  • feat: add per-invocation limits (turns / outputTokens / totalTokens) (#1106)

No new commits on strands-agents/docs since the docs merge.

Conflict resolutions:

File Resolution
typescript-pr-and-push.yml Keep workflow_call (ours), add new wasm-* paths and call-py-check job (theirs)
strands-py-wasm/pyproject.toml Take git URL for pgrayy-wasmtime (theirs), keep botocore dep (ours)
ci.yml Add .github/workflows/wasm-* to typescript path filter

Related Issues

#2286

Documentation PR

N/A

Type of Change

Other (please describe): Monorepo sync — merging upstream TypeScript SDK commits.

Testing

  • I ran hatch run prepare

Checklist

  • I have read the CONTRIBUTING document
  • I have added any necessary tests that prove my fix is effective or my feature works
  • I have updated the documentation accordingly
  • I have added an appropriate example to the documentation to outline the feature, or no new docs are needed
  • My changes generate no new warnings
  • Any dependent changes have been merged and published

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

@zastrowm zastrowm changed the title Sync strands-agents/sdk-typescript into monorepo chore: sync strands-agents/sdk-typescript into monorepo May 28, 2026
@codecov
Copy link
Copy Markdown

codecov Bot commented May 28, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@github-actions
Copy link
Copy Markdown
Contributor

Assessment: Approve

Clean monorepo sync — the hand-written changes (CI wiring, strandly CLI compilation switch, Python SDK surface refactor) are well-structured and internally consistent. The vast majority of changed lines are machine-generated code appropriately excluded from lint/format rules.

Review Notes
  • CI: Path triggers, workflow delegation, and the new wasm-py-check.yml are correctly wired. The brew install wasm-tools step ties this to macos-latest which is fine for the WASM toolchain requirement.
  • Build: The tsx → compiled JS migration for strandly is clean; prepare: tsc ensures dist/cli.js exists after npm ci.
  • Python surface: The refactor from a single monolithic _generated.py to a multi-module _generated/ package with a curated types.py re-export layer is a good architectural improvement for maintainability.
  • Dependencies: The git URL pin for pgrayy-wasmtime is at a specific commit hash and documented with allow-direct-references — appropriate for the alpha stage.

No blocking issues found.

Merge latest typescript/main (3 commits):
- fix: revert MCP from JSON to update node imports (strands-agents#1113)
- feat(wit): align type names with TS SDK (strands-agents#1107)
- feat: add per-invocation limits (turns / outputTokens / totalTokens) (strands-agents#1106)

Conflict resolutions:
- AGENTS.md: keep monorepo version (ours)
- typescript-pr-and-push.yml: keep workflow_call (ours), incorporate
  new wasm-* paths and call-py-check job (theirs)
- strands-py-wasm/pyproject.toml: take git URL for pgrayy-wasmtime
  (theirs), keep botocore dep (ours)
- ci.yml: add .github/workflows/wasm-* to typescript path filter
Comment thread .github/workflows/typescript-pr-and-push.yml Outdated
Comment thread .github/workflows/typescript-pr-and-push.yml Outdated
@github-actions
Copy link
Copy Markdown
Contributor

Assessment: Comment (one minor fix needed)

Clean monorepo sync. The single actionable issue is a missing || github.sha fallback in the call-py-check job ref (line 39 of typescript-pr-and-push.yml), which would break on push-to-main events. All other hand-written changes are well-structured and internally consistent.

Review Notes
  • CI: The new wasm-py-check.yml workflow is correctly wired with appropriate toolchain setup (brew install wasm-tools → macOS runner). Path triggers are consistent across ci.yml and typescript-pr-and-push.yml.
  • Build: The strandly tsx → compiled JS migration is clean; prepare: tsc ensures dist/cli.js is available after npm ci.
  • Python surface: The refactor to a multi-module _generated/ package with a curated types.py re-export layer (using _DROPPED set) is a good architectural improvement. The _wrap helper with MRO traversal is well-designed for SDK ergonomics.
  • Dependencies: Git URL pin for pgrayy-wasmtime at a specific commit hash with allow-direct-references is appropriate for the alpha stage.

- Format strands-py-wasm/_runtime.py with ruff
- Add missing || github.sha fallback for call-py-check ref
@github-actions
Copy link
Copy Markdown
Contributor

Assessment: Approve

Clean monorepo sync with well-structured hand-written code. No blocking issues found.

Review Notes

Note on prior review comments: The earlier automated reviews flagged a "missing || github.sha fallback" on line 39 of typescript-pr-and-push.yml. However, examining the current state of the branch, line 39 already includes || github.sha:

ref: ${{ github.event.pull_request.head.sha || github.sha }}

This appears to have been corrected between force-pushes. No bug exists in the current code.

strands-py diff: The branch-to-main diff shows strands-py changes (removing the Limits feature from #2360). This is expected — the branch diverges from a pre-#2360 state. Since this PR uses a merge commit (as required), git's three-way merge will preserve the limits feature from main.

Code quality observations:

  • CI: wasm-py-check.yml is well-structured with correct toolchain setup. Path triggers in ci.yml properly include .github/workflows/wasm-*.
  • Build: The strandly tsx → compiled JS migration is clean — prepare: tsc ensures the binary is available after npm ci, and removing the tsx runtime dependency reduces the install footprint.
  • Python surface: The refactor from monolithic _generated.py to a multi-module _generated/ package with types.py as the curated re-export layer is a good architectural improvement. The _DROPPED set provides a clean mechanism for excluding WASI plumbing types. The _wrap helper with MRO traversal enables ergonomic subclassing.
  • Runtime: call_async for all WASM function invocations enables true cooperative concurrency without thread pools — solid improvement over the prior run_in_executor approach.
  • Dependencies: Git URL pin for pgrayy-wasmtime at a specific commit hash with allow-direct-references is appropriate for the alpha stage.

@strands-agents strands-agents deleted a comment from github-actions Bot May 29, 2026
@strands-agents strands-agents deleted a comment from github-actions Bot May 29, 2026
@github-actions
Copy link
Copy Markdown
Contributor

Assessment: Request Changes

This PR silently reverts the Python SDK Limits feature (#2360) without any mention in the commit message or PR description. This needs clarification before merge.

Review Details
  • Critical: The strands-py/ changes remove the Limits TypedDict, _validate_limits, _check_limits, limit_* stop reasons, and test_agent_limits.py — all added just 1 commit prior in feat: add Limits and support it during invoke/stream #2360. The commit message only mentions ruff formatting and a CI ref fix. If intentional (Python limits superseded by WASM/TS runtime), document it. If accidental, restore the code.
  • Prior review false positive: All 4 earlier automated reviews flagged a "missing || github.sha" issue that has already been fixed in the latest force-push of this branch. That issue is resolved.
  • Architecture: The non-controversial changes (WASM surface refactor, _runtime.py async migration, WIT type alignment, strandly tsx→compiled JS, CI additions) are all well-structured and correct.

The TS SDK and Python WASM surface changes look great — just need clarity on the Python SDK limits revert.

@zastrowm zastrowm merged commit 5e7ba42 into strands-agents:main May 29, 2026
33 of 35 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants