Repository navigation
Update the Scalekit description - #218
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configuration
📒 Files selected for processing (1)
Included review availability: This review used your included allowance. 3 included reviews remain after this review. Your included PR review attempts over the past 7 days set your current allowance at 5 reviews per hour. WalkthroughThe README now describes Scalekit’s connectors and tools, and the Python SDK’s support for B2B authentication and agentic workflows. ChangesREADME description
Priority: ⬇️ Low Estimated code review effort: 1 (Trivial) | ~3 minutes Change: Other Merge Risk: ⚪ Minimal · up to This README-only update describes capabilities supported by the SDK documentation. The aggregate figures remain unverified in checked-in documentation, but no concrete merge-blocking issue is established. 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
A rabbit reads the README with care Comment |
#221) * Update the Scalekit description. (#218) * chore(release): add CHANGELOG and release-notes folder (#213) * chore(release): release tool, release.toml and seeded CHANGELOG Vendored from scalekit-sdks-wrapper/tools/release. The matching workflow changes (release-checks.yml, release.yml, build.yml workflow_call) ship in a separate commit because they need a push credential with the GitHub 'workflow' scope. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_017ANmBCXNdijNmAJ49zFRPv * chore(release): drive releases from scalekit-sdks-wrapper The release tool and its config now live only in the wrapper (tools/release). This repo keeps CHANGELOG.md and .changes/unreleased/ (release notes waiting for the next release). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_017ANmBCXNdijNmAJ49zFRPv * ci(release): approval-gated release workflow - release.yml (workflow_dispatch, version input): validates the version against the source, the tags and CHANGELOG.md; reuses build.yml as CI; builds; waits for the 'release' environment approval; tags with the release app; publishes; creates the GitHub Release from the CHANGELOG; verifies the registry. dry_run rehearses without tagging or publishing. - build.yml: add workflow_call so the release reuses the exact PR CI. Generated by scalekit-sdks-wrapper/tools/release/templates/workflows/generate.py. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_017ANmBCXNdijNmAJ49zFRPv * docs: describe how this repo's existing release workflow is started Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_017ANmBCXNdijNmAJ49zFRPv * ci(release): keep the existing release workflow Restores .github/workflows as on main: releases keep using the existing workflow (or stay manual), started from scalekit-sdks-wrapper after release.py preflight; every PR already has to pass build.yml. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_017ANmBCXNdijNmAJ49zFRPv * docs: describe release notes and the release workflow Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_017ANmBCXNdijNmAJ49zFRPv * docs(changelog): add the latest release and simplify the header Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * docs(changelog): fix typos and defaults in imported release history Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * docs(changelog): drop leftover contributor handles, reword the import note Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> --------- Co-authored-by: Claude <noreply@anthropic.com> * feat(mcp): mint session tokens for a connection's MCP server Add create_connection_session_token to client.mcp and client.actions.mcp. It mints a session token for the MCP server of one connection, identified by connection name, with the same optional expiry and access level as create_session_token. Existing methods are unchanged. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * docs(mcp): clarify connection session token docstrings Describe the no-active-account case as configuration-dependent, note that connection_name is matched against the stored name including case, and state that expires_at on the parsed response is a naive UTC datetime. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * docs(mcp): correct connection_name casing note The connection is matched without regard to case and the token is issued for the MCP server URL built from the stored name; only that URL is case-sensitive. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * docs(mcp): align connection session token examples and errors Use one example across docstrings, AGENTKIT.md and the release note, and list the bad-request cases in the AGENTKIT.md entry. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * feat(mcp): mint connection tokens through create_session_token Fold the connection case into create_session_token on both McpClient and client.actions.mcp: pass exactly one of mcp_config_id or the new keyword-only connection_name (sent as key_id). Existing positional and keyword calls with mcp_config_id are unchanged. Both/neither target, a blank target or a missing identifier raise ValueError before any request. Typing overloads describe the two valid call shapes, and McpClient's return annotation now matches the (response, call) tuple it returns. Remove create_connection_session_token, which was never released. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * fix(mcp): keep session-token annotations importable on older Pythons Use typing.Optional and typing.Tuple instead of PEP 604 unions and built-in generics, and show client.mcp.create_session_token's tuple return type in AGENTKIT.md. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * fix(mcp): keep the config-ID session-token path as in v2.20.0 Limit the new client-side checks to the connection form of create_session_token. With mcp_config_id and no connection_name: - client.mcp builds the request from the arguments as given, as before: an empty, whitespace or None config ID and an empty identifier go to the server. A private sentinel default for mcp_config_id lets an explicit None still reach the server; only a call that passes neither mcp_config_id nor connection_name raises ValueError. - client.actions.mcp keeps its previous checks and messages ("mcp_config_id is required", "identifier is required"). With connection_name: passing mcp_config_id too, an empty connection_name, or a missing or empty identifier raises ValueError before any request; a whitespace name or identifier goes to the server. Annotations in the changed code use X | None and tuple[...] again, since the package already requires Python 3.10. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * docs(mcp): note the pending connected account for connection tokens When the environment does not require an active connected account, the server creates a pending connected account for the identifier before minting a connection session token. Say so in the create_session_token docstrings and AGENTKIT.md. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * docs(mcp): pending connected account is created only when none exists The server reuses the identifier's existing connected account on the connection and creates a pending one only when there is none. Say so in the create_session_token docstrings and AGENTKIT.md. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> --------- Co-authored-by: saif-at-scalekit <saif.shaik@scalekit.com> Co-authored-by: srinivaskarre-sk <153999054+srinivaskarre-sk@users.noreply.github.com> Co-authored-by: Claude <noreply@anthropic.com>
Summary
The intro now says:
Scalekit provides auth and actions on behalf of users, with 500+ connectors and 20,000+ tools.
Evidence
After: the intro states auth and actions on behalf of users, 500+ connectors, and 20,000+ tools.
Merge Danger
Door: two-way
Revert this pull request to restore the old line.
Blast Radius: copy
Readers of scalekit-inc/scalekit-sdk-python see the new description. No code runs.
Need help on this PR? Tag
@codesmith-botwith what you need. Autofix is disabled.Summary by CodeRabbit