This PR was opened by the [Changesets
release](https://github.com/changesets/action) GitHub action. When
you're ready to do a release, you can merge this and the packages will
be published to npm automatically. If you're not ready to do a release
yet, that's fine, whenever you add more changesets to next, this PR will
be updated.
# Releases
## @composio/core@0.27.0
### Minor Changes
- c2bbfa8: Add session hooks. A hook can block a tool call before it
runs, or block its result before the agent sees it.
`create()` and `update()` accept `hooks`. On `update()`, `hooks`
replaces the whole list and `null` removes every hook. `hooks` cannot be
combined with `experimental.sessionConfigId`.
```ts
const session = await composio.create('user_123', {
hooks: [
{
type: 'before_execute',
id: 'no_external_email',
name: 'No external email',
appliesTo: { toolkits: ['gmail'] },
handler: {
type: 'condition_check',
condition: 'Sending email to anyone outside example.org',
action: 'block',
},
},
],
});
```
A blocked call comes back from `session.execute()` and
`session.executeMeta()` with `resultType: 'blocked'`, empty `data`, the
hook's message in `error`, and `blockReason`. Provider integrations hand
it to the agent as a failed call with that message. Every result also
carries `hookResults` when a hook applied.
`session.proxyExecute()` and `ctx.proxyExecute()` now return
`resultType: 'completed'` or `resultType: 'blocked'`. A blocked request
has no HTTP response, so TypeScript code that reads `status` has to
check `resultType` first.
## @composio/slim@0.27.0
### Minor Changes
- c2bbfa8: Add session hooks. A hook can block a tool call before it
runs, or block its result before the agent sees it.
`create()` and `update()` accept `hooks`. On `update()`, `hooks`
replaces the whole list and `null` removes every hook. `hooks` cannot be
combined with `experimental.sessionConfigId`.
```ts
const session = await composio.create('user_123', {
hooks: [
{
type: 'before_execute',
id: 'no_external_email',
name: 'No external email',
appliesTo: { toolkits: ['gmail'] },
handler: {
type: 'condition_check',
condition: 'Sending email to anyone outside example.org',
action: 'block',
},
},
],
});
```
A blocked call comes back from `session.execute()` and
`session.executeMeta()` with `resultType: 'blocked'`, empty `data`, the
hook's message in `error`, and `blockReason`. Provider integrations hand
it to the agent as a failed call with that message. Every result also
carries `hookResults` when a hook applied.
`session.proxyExecute()` and `ctx.proxyExecute()` now return
`resultType: 'completed'` or `resultType: 'blocked'`. A blocked request
has no HTTP response, so TypeScript code that reads `status` has to
check `resultType` first.
## @composio/anthropic@0.11.6
### Patch Changes
- ba7c9a1: Remove the unused `@mastra/mcp` peer dependency. The provider
never imported it, but package managers that install peers automatically
pulled in about 234 extra packages.
## @e2e-tests/cf-workers-basic@0.0.11
### Patch Changes
- Updated dependencies [c2bbfa8]
- @composio/core@0.27.0
## @e2e-tests/cf-workers-files@0.0.11
### Patch Changes
- Updated dependencies [c2bbfa8]
- @composio/core@0.27.0
## @e2e-tests/cf-workers-tool-router-ai@0.0.11
### Patch Changes
- Updated dependencies [c2bbfa8]
- @composio/core@0.27.0
- @composio/vercel@0.13.0
## @e2e-tests/node-claude-agent-sdk@0.0.11
### Patch Changes
- Updated dependencies [c2bbfa8]
- @composio/core@0.27.0
- @composio/claude-agent-sdk@0.13.0
## @e2e-tests/node-custom-tools@0.0.11
### Patch Changes
- Updated dependencies [c2bbfa8]
- @composio/core@0.27.0
## @e2e-tests/node-mastra-tool-router-zod-v3@0.0.11
### Patch Changes
- Updated dependencies [c2bbfa8]
- @composio/core@0.27.0
- @composio/mastra@0.10.6
## @e2e-tests/node-mastra-tool-router-zod-v4@0.0.11
### Patch Changes
- Updated dependencies [c2bbfa8]
- @composio/core@0.27.0
- @composio/mastra@0.10.6
## @e2e-tests/node-tool-router-files@0.0.11
### Patch Changes
- Updated dependencies [c2bbfa8]
- @composio/core@0.27.0
## @e2e-tests/node-tool-router-pagination@0.0.11
### Patch Changes
- Updated dependencies [c2bbfa8]
- @composio/core@0.27.0
## @e2e-tests/node-tool-router-proxy-execute@0.0.4
### Patch Changes
- Updated dependencies [c2bbfa8]
- @composio/core@0.27.0
## @e2e-tests/node-tool-router-session-update@0.0.7
### Patch Changes
- Updated dependencies [c2bbfa8]
- @composio/core@0.27.0
## anthropic-example@0.1.11
### Patch Changes
- Updated dependencies [ba7c9a1]
- Updated dependencies [c2bbfa8]
- @composio/anthropic@0.11.6
- @composio/core@0.27.0
- @composio/claude-agent-sdk@0.13.0
## approvals-example@0.0.2
### Patch Changes
- Updated dependencies [c2bbfa8]
- @composio/core@0.27.0
## cloudflare-wrangler-example@0.0.10
### Patch Changes
- Updated dependencies [c2bbfa8]
- @composio/core@0.27.0
## connected-accounts-example@0.1.20
### Patch Changes
- Updated dependencies [c2bbfa8]
- @composio/core@0.27.0
## error-handling-example@0.1.20
### Patch Changes
- Updated dependencies [c2bbfa8]
- @composio/core@0.27.0
## file-handling-example@0.1.11
### Patch Changes
- Updated dependencies [c2bbfa8]
- @composio/core@0.27.0
## google-example@0.1.11
### Patch Changes
- Updated dependencies [c2bbfa8]
- @composio/core@0.27.0
- @composio/google@0.12.0
## json-schema-to-zod-example@0.1.11
### Patch Changes
- Updated dependencies [c2bbfa8]
- @composio/core@0.27.0
## langchain-example@0.1.20
### Patch Changes
- Updated dependencies [c2bbfa8]
- @composio/core@0.27.0
- @composio/langchain@0.11.2
## llamaindex-example@0.1.11
### Patch Changes
- Updated dependencies [c2bbfa8]
- @composio/core@0.27.0
- @composio/llamaindex@0.11.2
## mastra-example@0.1.11
### Patch Changes
- Updated dependencies [c2bbfa8]
- @composio/core@0.27.0
- @composio/mastra@0.10.6
## mcp-example@0.1.11
### Patch Changes
- Updated dependencies [c2bbfa8]
- @composio/core@0.27.0
- @composio/vercel@0.13.0
## modifiers-example@0.1.20
### Patch Changes
- Updated dependencies [c2bbfa8]
- @composio/core@0.27.0
- @composio/vercel@0.13.0
## openai-example@0.1.20
### Patch Changes
- Updated dependencies [c2bbfa8]
- @composio/core@0.27.0
- @composio/openai@0.13.0
- @composio/openai-agents@0.11.2
## session-management-example@0.1.11
### Patch Changes
- Updated dependencies [c2bbfa8]
- @composio/core@0.27.0
## tool-router-example@1.0.21
### Patch Changes
- Updated dependencies [c2bbfa8]
- @composio/core@0.27.0
- @composio/claude-agent-sdk@0.13.0
- @composio/openai-agents@0.11.2
- @composio/vercel@0.13.0
## toolkits-example@0.1.20
### Patch Changes
- Updated dependencies [c2bbfa8]
- @composio/core@0.27.0
- @composio/vercel@0.13.0
## tools-example@0.1.11
### Patch Changes
- Updated dependencies [c2bbfa8]
- @composio/core@0.27.0
- @composio/vercel@0.13.0
## triggers-example@0.1.11
### Patch Changes
- Updated dependencies [c2bbfa8]
- @composio/core@0.27.0
## typesafe-example@0.0.9
### Patch Changes
- Updated dependencies [c2bbfa8]
- @composio/core@0.27.0
- @composio/openai@0.13.0
- @composio/typesafe@0.1.1
## vercel-example@0.1.20
### Patch Changes
- Updated dependencies [c2bbfa8]
- @composio/core@0.27.0
- @composio/vercel@0.13.0
## versioning-example@0.1.11
### Patch Changes
- Updated dependencies [c2bbfa8]
- @composio/core@0.27.0
Co-authored-by: sdkrelease[bot] <294075132+sdkrelease[bot]@users.noreply.github.com>