Commit Graph

252 Commits

Author SHA1 Message Date
Rahul Tarak b3e5df565e fix(cli): patch BetterSwiftAX constants for binary builds (#3347)
## Summary
- Broaden the Beeper iMessage macOS build patch so BetterSwiftAX
`kAX...` constants compile on GitHub `macos-15`/`macos-15-intel`.
- Pin the fixed `platform-imessage` submodule source and add Swift 6.2 /
Peekaboo dependency patching for the CLI binary workflow.
- Package and verify macOS local-tool sidecars plus `release-tag.txt` in
CLI release zips.
- Fix installed beta metadata/upgrade behavior so `--version`, update
checks, and beta-default experimental flags use the installed release
tag.
- Let `LOCAL_*` execution bypass remote auth/project/schema validation.
- Add runtime self-heal for missing installed `local-tools-binaries`: if
an old upgrader installs the fixed beta binary without sidecars, first
local-tool execution downloads the matching release zip, verifies
checksum when available, and restores the sidecars.

## Validation
- `pnpm --filter @composio/cli-local-tools build:beeper-imessage --
--target darwin-arm64`
- `pnpm --filter @composio/cli-local-tools build:beeper-imessage --
--target darwin-x64`
- `pnpm --filter @composio/cli-local-tools build:peekaboo -- --target
darwin-arm64`
- `pnpm --filter @composio/cli-local-tools build:peekaboo -- --target
darwin-x64`
- `pnpm --filter @composio/cli-local-tools typecheck:tsc`
- `pnpm --filter @composio/cli-local-tools test`
- `pnpm --filter @composio/cli typecheck:tsc`
- `pnpm --filter @composio/cli build:binary`
- Targeted CLI tests for execute/config/upgrade/version/update-check
paths.
- Packaged binary smoke test confirmed bundled Beeper sidecar works.
- Repair smoke test: copied only the new `composio` binary plus
`release-tag.txt` into a temp install with no `local-tools-binaries`;
`execute LOCAL_BEEPER_IMESSAGE_VERSION -d '{}'` restored sidecars from
`@composio/cli@0.2.29-beta.235` and succeeded.

## Release workflow
- Beta build run `25405049712` succeeded for commit
`9d0910c909b7b257d0f17b6d082980952d1e6c59` and published
`@composio/cli@0.2.29-beta.235`.
- This PR now includes one follow-up commit (`2c32cff4c`) to cover the
old-upgrader/missing-sidecars incremental upgrade path; normal branch CI
and beta build run `25406984535` are running again.
2026-05-05 16:45:50 -07:00
Rahul Tarak 79ac22053f feat(cli): add local tools foundation (#3340)
## Summary
- Add experimental CLI local tools behind `local_tools` (beta-on,
stable-off unless `composio config experimental local_tools on`).
- Add reusable `@composio/cli-local-tools` package: declarations,
metadata, readiness, command/MCP/native/FFI runtimes, bundled-binary
resolution, and Tool Router search/execute/schema integration.
- Add first-class local toolkits for:
- `BEEPER_IMESSAGE` backed by `imessage-cli` from the ComposioHQ
`platform-imessage` fork.
- `CHROME_DEVTOOLS` backed by the official `chrome-devtools-mcp@0.24.0`
npm/npx package.
  - `PEEKABOO` backed by upstream Peekaboo CLI.
- Remove generated native executables from git: Beeper and Peekaboo
binaries are now ignored, pinned via git submodules, and generated
during CLI binary release jobs.
- Update CLI binary workflow so Linux artifacts skip native sidecars,
while macOS artifacts run on macOS runners and build only the matching
`darwin-x64` or `darwin-arm64` Beeper/Peekaboo sidecars before
packaging.

## Native binary policy
- No generated `imessage-cli` or `peekaboo` binary blobs are committed
in this PR history.
- Beeper source is pinned as
`ts/packages/cli-local-tools/vendor/platform-imessage` at
`364445a1b3089ad9fe293d5951efe160c5677c42` from
`https://github.com/ComposioHQ/platform-imessage`.
- Peekaboo source is pinned as
`ts/packages/cli-local-tools/vendor/peekaboo` at
`31e66e8d02656141d18f60bf3b46b24c2b9bc785` from
`https://github.com/steipete/Peekaboo`.
- Build commands:
- `pnpm --filter @composio/cli-local-tools build:local-tool-binaries --
--target darwin-arm64`
- `pnpm --filter @composio/cli-local-tools build:local-tool-binaries --
--target darwin-x64`
- Chrome DevTools is an npm/npx integration and is pinned as a dev
dependency (`chrome-devtools-mcp@0.24.0`) instead of using native
sidecars.

## Validation
- `pnpm --filter @composio/cli-local-tools build:local-tool-binaries --
--target darwin-arm64`
- `pnpm --filter @composio/cli-local-tools build:peekaboo -- --target
darwin-x64`
- `pnpm --filter @composio/cli-local-tools build:beeper-imessage --
--target darwin-x64`
- `pnpm --filter @composio/cli-local-tools typecheck:tsc`
- `pnpm --filter @composio/cli-local-tools test`
- `COMPOSIO_REAL_LOCAL_TOOLS_TESTS=1 pnpm --filter
@composio/cli-local-tools test -- src/toolkits/beeper-imessage.test.ts
src/toolkits/peekaboo.test.ts`
- `pnpm --filter @composio/cli typecheck:tsc`
- `pnpm --filter @composio/cli build`
- `COMPOSIO_CACHE_DIR=<tmp-config-with-local_tools-enabled> bun
ts/packages/cli/dist/bin.mjs local-tools doctor --json`
- `pnpm turbo build`
- Verified rewritten branch has no >1MB objects relative to
`origin/next` and no native executable paths in the PR diff.

## Notes / risks
- Beeper iMessage and Peekaboo are macOS-only and depend on local
permissions.
- Peekaboo requires macOS 15+; GUI tools require Screen Recording,
Accessibility, and sometimes Automation.
- Beeper send/reaction behavior can still depend on upstream Messages
automation reliability.
- Chrome DevTools can inspect/modify browser contents; avoid sensitive
browser sessions.
2026-05-05 00:10:38 -07:00
Rahul Tarak 6c6ac9fea1 ci: route hosted tool bugs to support (#3308)
## Summary
- Update issue triage classifier guidance so hosted integration/tool
bugs that are not SDK/CLI/docs/Python code defects route to `support`.
- Add GitHub #3291 / `SPOTIFY_GET_PLAYLIST_ITEMS` as an explicit example
that should be `support` + bug and forwarded to Plain.
- Clarify broken existing tools are never `tool-request`, and should
route to Plain when they need backend/tool-catalog/support follow-up.

## Tests
- `ruby -e "require 'yaml'; data =
YAML.load_file('.github/workflows/issue-triage.yml'); abort 'bad name'
unless data['name'] == 'Issue Triage'; puts 'YAML OK'"`

## Notes
- The existing workflow already forwards `support` issues to Plain; this
change makes the classifier choose that path for non-SDK hosted tool
bugs.
2026-04-28 11:08:13 -07:00
Rahul Tarak fc3da74b5f fix: route support-like issues to Plain (#3284)
## Summary
- add a `support` triage category for product/support/configuration
issues that are not SDK bugs
- avoid applying `bug`/`ts` labels or assigning Alberto for
support-classified issues
- create/use a `support` GitHub label and forward support issues to
Plain via the GraphQL API when `PLAIN_API_KEY` is configured

## Tests
- `ruby -e 'require "yaml";
YAML.load_file(".github/workflows/issue-triage.yml"); puts "yaml
ok"'`\n- `git diff --check`\n\n## Notes\n- Plain forwarding uses
`secrets.PLAIN_API_KEY` and optional `vars.PLAIN_SUPPORT_EMAIL`
(defaults to `github-support@composio.dev`).\n- `actionlint` was not
installed locally, so workflow syntax validation was limited to YAML
parsing.
2026-04-24 23:48:08 -07:00
Rahul Tarak 5a349e6ac1 Fix triage classification for broken tools (#3248)
## Summary
- Normalize triage output so bug reports are never classified as
`tool-request`.
- Treat broken existing integrations or tools as bugs instead of new
integration requests.
- Preserve existing label, assignee, and auto-close behavior for genuine
tool requests.

## Testing
- Not run (workflow-only change).
- Reviewed the updated triage logic to confirm bug reports fall back to
`other` when the classifier emits `tool-request`.
- Verified the issue comment and close-path behavior remain unchanged
for valid tool requests.
2026-04-20 21:53:44 -07:00
Sushmitha Mallesh bce69e5860 ci: allow more bots to trigger Claude review workflows (#3227)
## Summary
- Adds `decimal-pr-bot[bot]`, `github-actions[bot]`, `dependabot[bot]`,
and `zen-agent` to `allowed_bots` in both `.github/workflows/claude.yml`
and `.github/workflows/claude-code-doc-review.yml`.
- So Claude review runs on PRs opened by our CI bots (docs/SDK
auto-update, dep bumps) and by the decimal and zen agents.

Motivation: #3224 (decimal-pr-bot) did not get a Claude review because
it wasn't in the allowlist.

## Test plan
- [ ] Merge and confirm Claude review fires on the next
`github-actions[bot]` docs-update PR.
- [ ] Retrigger Claude on #3224 (or wait for the next decimal-pr-bot PR)
and confirm it runs.
- [ ] Confirm it runs on the next dependabot PR.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-17 01:07:53 +05:30
Rahul Tarak 8d7f8934ba Make tool-request auto-comment friendlier
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-13 17:44:41 -07:00
Rahul Tarak 564e07bb35 Drop classifier note from tool-request close comment
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-13 17:44:12 -07:00
Rahul Tarak 35228fb7b8 Surface Claude CLI stderr in issue triage
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-13 17:41:33 -07:00
Rahul Tarak 6744e9993b Invoke Claude Code CLI directly for issue triage
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-13 17:39:22 -07:00
Rahul Tarak 67aec0cd07 Raise issue triage turn cap to 10
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-13 17:18:06 -07:00
Rahul Tarak 3fb3ed5dec Cap issue triage classifier to one agent turn
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-13 17:17:57 -07:00
Rahul Tarak 27fecdcc56 Show full output from issue triage classifier
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-13 17:08:34 -07:00
Rahul Tarak 668a560658 Enable verbose output in issue triage classifier
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-13 17:08:22 -07:00
Rahul Tarak 9b32416fd5 Grant id-token write to issue triage workflow
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-13 17:00:52 -07:00
Rahul Tarak c711ef2429 Add AI issue triage workflow (#3203)
## Summary
- Add a new GitHub issue triage workflow that classifies incoming issues
with Claude Sonnet into `docs`, `py`, `ts`, `cli`, `tool-request`, or
`other`.
- Automatically applies labels and assignees for the matching area, and
closes `tool-request` issues after posting a redirect comment.
- Update `CODEOWNERS` to reflect current ownership for docs, TS, and
Python.
- Tighten the stale workflow messaging and close issues immediately
after the stale period.

## Testing
- Not run (workflow and config changes only).
- Verified the new workflow YAML is syntactically structured and uses
strict JSON classification output.
- Reviewed the stale workflow diff to confirm the stale/close timing and
message text changes.
2026-04-13 16:57:26 -07:00
Sushmitha Mallesh b14810b3a4 docs: dual API version reference (v3.1 + v3.0) (#3179) 2026-04-11 15:26:24 -07:00
Rahul Tarak 7f1548bc18 fix: replace bash 4+ mapfile with POSIX-compatible shell in CI
macOS runners ship bash 3.2 which lacks mapfile, causing
"command not found" failures in the bundled support files test.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-07 21:30:26 -07:00
Rahul Tarak a8071e0d35 Add channel-aware Composio CLI skill builds (#3127)
## Summary
- Add a generated `composio-cli` skill source that can render stable and
beta variants from a single channel-aware definition.
- Introduce build and validation scripts to generate the skill output
and verify channel-specific content, references, and reproducibility.
- Update the CLI packaging workflow to validate skills and package the
correct release-channel build for beta vs stable releases.
- Expand the skill content with clearer top-level CLI guidance,
troubleshooting, developer-project workflows, and beta-only power-user
examples.
- Tighten CLI install/upgrade behavior and add tests covering skill
installation behavior.
- Add example validation to the repo test flow and align example package
metadata with workspace expectations.

## Testing
- Not run locally.
- Added `ts/packages/cli/scripts/validate-skills.ts` checks for
stable/beta markers, channel-specific content, and required reference
files.
- Added `ts/packages/cli/test/src/effects/install-skill.test.ts`
coverage for skill installation behavior.
- Added `ts/scripts/validate-examples.ts` to validate example package
manifests during `pnpm test`.
- CI workflow now runs `pnpm run validate:skills` before packaging CLI
skill files.
2026-04-07 01:02:45 -07:00
Rahul Tarak 7d2ccf8c48 Add experimental feature config support to the CLI (#3126)
## Summary
- Adds a persisted CLI user config file for experimental feature flags,
artifact directory overrides, and experimental subagent target
selection.
- Wires config-aware command visibility into root command construction,
help text, and validation error handling so experimental commands only
appear when enabled.
- Updates runtime helpers and session artifact resolution to honor the
new CLI config values.
- Expands installation workflow checks and adds tests for the new CLI
config service.

## Testing
- `pnpm test ts/packages/cli/test/src/services/cli-user-config.test.ts`
- `pnpm test ts/packages/cli/test/src/commands/$default.cmd.test.ts`
- Not run: full repo test suite
- Not run: install workflow end-to-end in this environment

---------

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-07 00:34:02 -07:00
Rahul Tarak 12ef3d3a50 ci: simplify CLI binary release workflow (#3121)
## Summary

- **Auto-beta on push to `next`**: any merge touching
`ts/packages/cli/**` automatically builds binaries and creates a
`@composio/cli@X.Y.Z-beta.<run_number>` prerelease. Version = latest
stable + patch bump.
- **Stable on version bump**: if `ts/packages/cli/package.json` version
changed in the push commit (i.e. changeset "Release: update version"
merge), creates a stable release instead.
- **`workflow_dispatch` build-beta**: build a beta from any branch on
demand.
- **`workflow_dispatch` promote-stable**: promote an existing beta tag
to stable (unchanged).
- Removes the old PR-title-gated flow (`pull_request` trigger with title
check).

## Test plan

- [ ] Merge into `next` with a CLI change → verify beta release is
created
- [ ] Trigger `workflow_dispatch` with `build-beta` on a feature branch
→ verify beta release
- [ ] Merge a changeset "Release: update version" PR → verify stable
release is created
- [ ] Trigger `workflow_dispatch` with `promote-stable` + existing beta
tag → verify stable release

🤖 Generated with [Claude Code](https://claude.com/claude-code)

---------

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 01:22:28 -07:00
Sushmithamallesh 53aa4c51f8 fix: prevent docs-update-data workflow failure on reviewer step
When triggered by repository_dispatch, github.actor is a bot that
can't be added as a reviewer, causing the workflow to fail. Fall back
to adding Sushmithamallesh and use continue-on-error so the workflow
always succeeds.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-05 21:23:03 -07:00
Rahul Tarak fd97f77e7e fix: fix bash heredoc syntax error in build-cli-binaries workflow
The indented PY heredoc delimiters weren't matched because <<'PY'
requires an unindented terminator. Replace with python3 -c one-liners.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-01 00:51:54 -07:00
Rahul Tarak 59844b5809 Add beta-channel CLI release promotion flow (#3089)
## Summary
- Add support for beta CLI releases in the binary publish workflow,
including beta tag validation and promotion to stable from an existing
prerelease tag.
- Update `composio upgrade` to support a `--beta` flag that stays on the
prerelease channel.
- Refresh release documentation and CLI README to describe the new
beta/stable release model.
- Expand upgrade binary tests to cover prerelease resolution and
channel-specific behavior.

## Testing
- Not run (PR content generation only).
- Checked the workflow and CLI changes for beta/stable tag handling
paths.
- Reviewed updated release documentation for the new promotion flow.
2026-03-31 16:23:27 -07:00
Rahul Tarak 456ee40e58 fix(cli): bundle mcp server into subagent helper (#3049)
## Summary
- replace runtime MCP SDK path resolution with static imports in the
structured-output helper
- ensure the helper works when shipped next to the standalone CLI binary
without repo-local node_modules

## Verification
- pnpm --filter @composio/cli run typecheck:src
- pnpm --filter @composio/cli test
test/src/services/run-subagent-acp.test.ts
- built and executed the bundled helper from a temp directory outside
the repo
2026-03-27 10:12:09 -07:00
Rahul Tarak 9538903fc6 feat: fix bundling for run (#3040)
run bundling was not working for some shared scripts in certain envs

---------

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 03:21:13 -07:00
Rahul Tarak 603b8e4930 [codex] fix CLI binary release workflow (#3041)
## What changed

- make `build:binary:cross` emit the `run-subagent-*.mjs` companion
modules alongside the compiled CLI binary
- update the `Build CLI Binaries` workflow to include those companion
modules in the published release archives
- make `install.sh` copy companion modules when they are present, while
remaining backward compatible with older archives that only contain
`composio`
- fix the CLI installation workflow assertions to match the actual
installer behavior and paths

## Why

`composio run` launches a separate Bun runtime that imports the
`run-subagent-*` helpers from disk. The main binary alone is not
sufficient. The previous release workflow zipped only the `composio`
binary, so prerelease assets installed successfully but failed at
runtime with missing-module errors.

The installation test workflow also had stale expectations for
`~/.composio/bin/composio` and `COMPOSIO_INSTALL`, which caused false
negatives even when installation itself succeeded.

## Impact

- newly built CLI release assets will contain the files required for
`composio run`
- `install.sh` will install sidecars for new releases and ignore them
for older releases
- the installation workflow will validate the real install layout
instead of the stale `bin/` path

## Validation

- `pnpm --filter @composio/cli run build:binary:cross --target
bun-darwin-arm64` from the existing checkout emitted:
  - `dist/binaries/composio-darwin-aarch64`
  - `dist/binaries/companions/run-subagent-shared.mjs`
  - `dist/binaries/companions/run-subagent-acp.mjs`
  - `dist/binaries/companions/run-subagent-legacy.mjs`
- simulated the GitHub Actions archive step and verified the zip
contains `composio` plus all three companion modules
- earlier local binary/package validation on the main fix branch
confirmed the extracted binary runs `composio run
'console.log("hello")'` successfully once those files are packaged
2026-03-27 02:56:30 -07:00
Rahul Tarak 8fcb46bd8b feat: adding cli touchups here (#3035)
## Summary

- **Skill installer**: New `installSkill` effect that downloads and
installs the `composio-cli` skill for Claude Code during `composio
login`. Downloads `composio-skill.zip` from the matching GitHub release,
extracts to `~/.agents/skills/composio-cli/`, and creates a symlink at
`~/.claude/skills/composio-cli`. Non-fatal — wrapped in
`installSkillSafe` so failures don't block login. Adds
`--no-skill-install` flag to skip.
- **Root help improvements**: Added `composio files` subcommand help,
richer examples (multi-query search, parallel execute, multi-step `run`
scripts), and inline FILES section in main help output.
- **Contextual help on errors**: When a CLI command fails or receives
unknown arguments, the relevant subcommand help text is now printed
alongside the error message.
- **Session artifacts hardening**: `resolveArtifactsRoot()` now respects
`COMPOSIO_SESSION_DIR` / `COMPOSIO_CACHE_DIR` env vars and falls back to
`os.tmpdir()`. All filesystem operations (mkdirSync, appendFileSync,
writeFileSync) are wrapped in try/catch to avoid crashes in sandboxed
environments.
- **Analytics dir creation**: Wrapped `mkdirSync` for the analytics
directory in try/catch (non-fatal in sandboxed environments).
- **Consumer cache hardening**: Added error handling for cache
read/write in sandboxed environments.
- **FetchHttpClient layer**: Added `FetchHttpClient.layer` to production
layers so `installSkill` HTTP requests work correctly.
- **Symlink fix**: Fixed stale/broken symlink handling in
`install-skill.ts` — uses `lstatSync` instead of `existsSync` to
correctly detect and remove broken symlinks and directories.
- **TS fix**: Changed `detectMaster` parameter type from
`NodeJS.ProcessEnv` to `Record<string, string | undefined>` to avoid
type conflict from bun env augmentation.
- **Cleanup**: Removed accidentally committed `workdir/temp.md`.

## Test plan
- [ ] `composio login` installs skill to
`~/.agents/skills/composio-cli/` and creates symlink at
`~/.claude/skills/composio-cli`
- [ ] `composio login --no-skill-install` skips skill installation
- [ ] `composio --help` shows updated examples and FILES section
- [ ] Passing an unknown flag to a command prints contextual help
alongside error
- [ ] CLI works in sandboxed environments where `$TMPDIR` or
`~/.composio/` may not be writable
- [ ] `pnpm typecheck` passes with no errors

🤖 Generated with [Claude Code](https://claude.com/claude-code)

---------

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-26 23:26:31 -07:00
Musthaq Ahamad 462cbf8031 Fix broken github release workflow YAML (#2976) 2026-03-21 07:17:37 +05:30
jkomyno 1cc9555bf0 fix(ci): harden ts release Slack version lookup 2026-03-20 20:05:12 +04:00
jkomyno 4d74c104e0 fix(ci): escape multiline Slack release payload 2026-03-20 19:20:32 +04:00
jkomyno 4039cab9c3 fix(ci): fetch history for ts release version diff 2026-03-20 17:37:37 +04:00
haxzie 175191145b fix: capture bumped package versions in Slack release notification
Modified the TS release workflow to use the publishedPackages output from changesets/action.
Previously, it relied on 'pnpm changeset status' which is empty after publishing.
Added logic to fetch the previous version from the repository history to show the bump.

Made-with: Cursor
2026-03-19 12:18:01 +05:30
Sushmitha Mallesh 643cb99484 fix: add allowed_tools to claude-code-action workflows
Claude was getting 15 permission denials because the default sandbox
blocks file writes. Add allowed_tools to let Claude read/edit docs files.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-13 19:05:32 -07:00
Sushmitha Mallesh 1efb55eb85 fix: handle empty BEFORE/AFTER on workflow_dispatch
On manual trigger, github.event.before and github.event.after are empty.
Fall back to HEAD and HEAD~1 respectively.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-13 18:36:37 -07:00
Sushmitha Mallesh daa63cca78 fix: add workflow_dispatch to SDK change sync workflow
Allows manual triggering of the docs SDK sync workflow from the Actions UI.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-13 18:35:05 -07:00
Sushmitha Mallesh 347ac35869 fix: add id-token: write permission for claude-code-action workflows
claude-code-action requires OIDC token access (id-token: write) to function.
Both docs.sync-connect-clients.yml and docs.sdk-change-sync.yml were missing
this permission, causing the connect clients sync to fail.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-13 18:29:38 -07:00
Sushmitha Mallesh 1d56b64d3c feat: auto-assign PR reviewer to the person who triggered the workflow
All docs automation workflows now request a review from github.actor
(the person who pushed, dispatched, or manually triggered the run).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-13 18:07:55 -07:00
Sushmitha Mallesh ec67eed72f fix: handle unreachable BEFORE ref in sdk-change-sync
Fall back to HEAD~1 when the before SHA is either null or not
reachable (e.g., after a force-push).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-13 18:05:21 -07:00
Sushmitha Mallesh 59f5a0aae5 fix: address audit findings in docs sync workflows
- Handle null SHA on force-push/first push in sdk-change-sync
- Add error handling for empty/failed fetches in sync-connect-clients
- Remove unnecessary id-token:write permission from both workflows
- Write diff directly to file instead of shell variable

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-13 17:55:53 -07:00
Sushmitha Mallesh e7587d0d20 fix: use full push range for SDK diff instead of HEAD~1
Use github.event.before..after to capture all SDK changes in
multi-commit pushes, not just the last commit.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-13 17:53:22 -07:00
Sushmitha Mallesh f42c132b9b refactor: use peter-evans/create-pull-request for docs sync workflows
Replace manual git/gh PR creation with peter-evans/create-pull-request
in both sync-connect-clients and sdk-change-sync workflows, matching
the pattern used by docs-update-data and generate-sdk-docs.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-13 17:45:54 -07:00
Sushmitha Mallesh 52071785b3 fix: prevent script injection via client_payload in docs-update-data
Pass repository_dispatch payload values through env variables instead
of inline ${{ }} expansion in run: blocks.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-13 17:44:24 -07:00
Sushmitha Mallesh 2dadc7bcde fix: prevent script injection via client_payload in sync workflow
Pass repository_dispatch payload values through env variables instead
of inline ${{ }} expansion in run: blocks.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-13 17:43:53 -07:00
Sushmitha Mallesh 9aa5ac0b94 feat: add workflow to sync docs guides on SDK source changes
When SDK source code changes land on next, Claude reviews the diff
and updates any guides, FAQs, or examples that reference the changed
APIs. Auto-generated reference pages are handled separately.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-13 17:39:12 -07:00
Sushmitha Mallesh e095aaf7f2 docs: improve PR descriptions in docs automation workflows
Add structured summaries and what-changed sections to auto-generated
PRs from docs-update-data and generate-sdk-docs workflows.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-13 17:34:30 -07:00
Sushmitha Mallesh a0f08e480e fix: sync connect clients via repository_dispatch from dashboard deploys
Instead of polling on cron and failing silently because Claude can't
access the private dashboard repo, accept repository_dispatch events
from dashboard production deploys with client definitions in the
payload. Falls back to CI_BOT_TOKEN fetch for manual triggers.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-13 17:07:49 -07:00
Sushmitha Mallesh 3cbc4536d9 fix: resolve merge conflicts with next branch
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-13 16:02:09 -07:00
Sushmitha Mallesh a7ea119d19 fix: allow devin bot in claude-code-action workflows
The claude-code-action rejects PRs from non-human actors by default.
Add devin-ai-integration[bot] to allowed_bots so the doc review
workflow can run on Devin's PRs.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-13 15:57:13 -07:00
Musthaq Ahamad d644f55d1a fix: use correct install path ~/.composio for GITHUB_PATH (#2887) 2026-03-11 16:10:30 +05:30