Skip to content

Add full Composio managed-auth toolkit catalog - #1093

Merged
senamakel merged 2 commits into
tinyhumansai:mainfrom
senamakel:feat/composio-managed-auth-catalog
May 2, 2026
Merged

senamakel merged 2 commits into
tinyhumansai:mainfrom
senamakel:feat/composio-managed-auth-catalog

Conversation

@senamakel

@senamakel senamakel commented May 1, 2026 •

Copy link
Copy Markdown
Member

Summary

  • Expand the frontend Composio fallback catalog from a small hand-curated set to the full 118-toolkit managed-auth list documented by Composio.
  • Replace the static icon mapping with Composio-hosted logo rendering plus a safe generic fallback so provider cards stay branded without breaking on logo misses.
  • Clarify the Composio connect modal copy so provider access and OpenHuman's own read/write/admin agent permissions are visually distinct.
  • Add/update targeted Vitest coverage for the managed-auth catalog fallback and Skills page grouping.

Problem

Solution

  • Rework app/src/components/composio/toolkitMeta.tsx into a managed-auth catalog sourced from Composio's current 118-toolkit docs list.
  • Derive stable names, categories, descriptions, logo URLs, and permission-summary labels from that catalog while preserving canonical slug normalization.
  • Update ComposioConnectModal to label these as managed-auth connections and explain provider data access separately from OpenHuman agent permission toggles.
  • Add a focused metadata test and broaden the Skills catalog fallback test to cover the expanded surface.

Submission Checklist

  • Tests added or updated (happy path + at least one failure / edge case) per docs/TESTING-STRATEGY.md
  • Coverage matrix updated — added/removed/renamed feature rows in docs/TEST-COVERAGE-MATRIX.md reflect this change (or N/A: behaviour-only change)
  • All affected feature IDs from the matrix are listed in the PR description under ## Related
  • No new external network dependencies introduced (mock backend used per docs/TESTING-STRATEGY.md)
  • Manual smoke checklist updated if this touches release-cut surfaces (docs/RELEASE-MANUAL-SMOKE.md)
  • Linked issue closed via Closes #NNN in the ## Related section

Checklist notes:

  • Coverage matrix: N/A: behaviour-only change to an existing Skills/Composio surface; no feature rows were added, removed, or renamed.
  • Manual smoke checklist: N/A: no release manual smoke checklist entries changed for this catalog/UI copy update.

Impact

  • Desktop Skills UI now surfaces a much broader managed-auth integration catalog before or alongside backend allowlist expansion.
  • Provider cards and connect modals render branded logos more consistently, with graceful fallback when a logo is unavailable.
  • No Rust core or transport behaviour changed.

Related

Summary by CodeRabbit

Release Notes

  • New Features

    • Expanded managed authentication provider catalog with additional integrations available.
    • Provider logos now dynamically loaded from integration service with fallback support.
  • UI Improvements

    • Enhanced authorization flow messaging with clearer hosted authorization details.
    • Refined permission and scope display with explicit agent permission controls and provider access information.

@senamakel
senamakel requested a review from a team May 1, 2026 22:26
@coderabbitai

coderabbitai Bot commented May 1, 2026 •

Copy link
Copy Markdown
Contributor

Warning

Rate limit exceeded

@senamakel has exceeded the limit for the number of commits that can be reviewed per hour. Please wait 2 minutes and 21 seconds before requesting another review.

To keep reviews running without waiting, you can enable usage-based add-on for your organization. This allows additional reviews beyond the hourly cap. Account admins can enable it under billing.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 9e28242a-b4a6-4b89-b241-0ddbaee3097c

📥 Commits

Reviewing files that changed from the base of the PR and between 647e4d4 and 1ed71f4.

📒 Files selected for processing (2)
  • app/src/pages/__tests__/Skills.third-party-notion-debug-tools.test.tsx
  • app/src/test/setup.ts
📝 Walkthrough

Walkthrough

The changes expand Composio toolkit coverage with a curated catalog of 118 managed-auth toolkits, update the connect modal UI to highlight hosted authorization and provider permissions, dynamically load toolkit logos from Composio's API with fallback handling, and introduce comprehensive test coverage for metadata generation and catalog discovery.

Changes

Cohort / File(s) Summary
Connect Modal UI
app/src/components/composio/ComposioConnectModal.tsx
Updates idle-state copy and UI to reflect managed auth flow; adds "managed auth" badge, clarifies hosted authorization in browser, and includes new "Provider access" callout describing provider capabilities and permission controls via read/write/admin toggles.
Toolkit Metadata System
app/src/components/composio/toolkitMeta.tsx
Introduces local catalog of 118 managed-auth toolkits (MANAGED_COMPOSIO_TOOLKITS) derived from Composio's managed auth list; extends ComposioToolkitMeta interface with logoUrl and permissionLabel; replaces static per-provider icons with dynamic logo loading from https://logos.composio.dev/api/{slug} via ComposioLogoBadge component with fallback to GenericIntegrationIcon; generates metadata via map lookup or slug prettification for unknown entries.
Metadata & Catalog Tests
app/src/components/composio/toolkitMeta.test.tsx
Adds three test cases: validates KNOWN_COMPOSIO_TOOLKITS length (118) and expected slug presence; confirms canonical display names and permission labels via composioToolkitMeta(); verifies slug normalization (e.g., google_calendar → googlecalendar) and fallback behavior for unknown toolkit slugs.
Catalog Fallback Test
app/src/pages/__tests__/Skills.composio-catalog.test.tsx
Updates test expectations to require Chat and Platform category headings; adds toolkit assertions for Discord, Supabase, and Zoom; removes Notion expectation under fallback conditions.

Sequence Diagram

sequenceDiagram
    participant User
    participant Modal as ComposioConnectModal
    participant Meta as toolkitMeta
    participant LogoAPI as logos.composio.dev
    participant Fallback as GenericIcon

    User->>Modal: Open toolkit selector
    Modal->>Meta: composioToolkitMeta(slug)
    Meta->>Meta: Lookup in MANAGED_COMPOSIO_TOOLKITS
    Meta->>Meta: Generate metadata & permissionLabel
    Meta->>Modal: Return ComposioToolkitMeta + logoUrl
    Modal->>LogoAPI: Load logo from /api/{slug}
    LogoAPI-->>Modal: Image loaded ✓
    Modal->>User: Render toolkit with logo + managed auth UI
    
    Note over LogoAPI,Fallback: On image load failure:
    LogoAPI--XModal: Image 404/error
    Modal->>Fallback: Fallback to GenericIntegrationIcon
    Fallback-->>Modal: Icon component ✓
    Modal->>User: Render toolkit with fallback icon
Loading

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~45 minutes

Possibly related PRs

Poem

🐰 One hundred and eighteen toolkits now bloom,
With logos that dance in the digital room,
No more static icons—they fetch from on high,
Composio's managed auth reaching the sky! 🌟
The rabbit rejoices, OAuth looks neat,
Scaled integrations make the picture complete! ✨

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately describes the main change: adding the full Composio managed-auth toolkit catalog (expanding from a small hand-curated list to 118 toolkits).
Linked Issues check ✅ Passed The PR implements direct coding work toward issue #1063: expands frontend catalog from curated subset to full 118-toolkit Composio managed-auth list, replaces static icons with Composio-hosted logo rendering, updates connect modal UX to distinguish provider access from agent permissions, and adds test coverage.
Out of Scope Changes check ✅ Passed All changes align with stated PR objectives: ComposioConnectModal UI updates, toolkitMeta catalog expansion and metadata enrichment, test additions for coverage, and Skills catalog fallback test updates. No unrelated modifications detected.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Review rate limit: 0/5 reviews remaining, refill in 2 minutes and 21 seconds.

Comment @coderabbitai help to get the list of available commands and usage tips.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹 Nitpick comments (2)
app/src/components/composio/toolkitMeta.tsx (1)

244-263: 💤 Low value

Consider resetting error state when slug changes.

If ComposioLogoBadge fails to load a logo and later the same component instance receives a different slug prop, it will remain in the failed state and show the fallback icon instead of attempting to load the new logo.

This is a minor edge case since cards are typically not reused across different toolkits, but adding a reset improves robustness.

♻️ Proposed fix
 function ComposioLogoBadge({ slug, name }: { slug: string; name: string }) {
   const [failed, setFailed] = useState(false);
   const logoUrl = composioLogoUrl(slug);
+
+  // Reset failed state when slug changes so we retry loading the new logo
+  const [prevSlug, setPrevSlug] = useState(slug);
+  if (slug !== prevSlug) {
+    setPrevSlug(slug);
+    setFailed(false);
+  }

   if (failed) {
     return <GenericIntegrationIcon />;
   }
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@app/src/components/composio/toolkitMeta.tsx` around lines 244 - 263,
ComposioLogoBadge currently keeps failed=true across prop changes so when the
slug prop changes it won't retry; update the component (ComposioLogoBadge) to
reset the failed state whenever slug changes by adding a useEffect that watches
slug and calls setFailed(false) so the new logo URL (composioLogoUrl(slug)) will
be retried instead of stuck on the GenericIntegrationIcon.
app/src/components/composio/toolkitMeta.test.tsx (1)

14-25: 💤 Low value

Semantic mismatch in Gmail's permission label.

The test asserts gmail.permissionLabel is 'Docs, files, tasks, and workspace data', which is technically correct per the implementation (Gmail matches PRODUCTIVITY_KEYWORDS → Productivity category). However, this label doesn't accurately describe email access.

Consider either:

  1. Adding a 'Communication' or 'Email' category with an appropriate permission label, or
  2. Accepting this as acceptable grouping since Gmail is part of Google Workspace

Not blocking since the current behavior is intentional, but worth noting for UX clarity.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@app/src/components/composio/toolkitMeta.test.tsx` around lines 14 - 25, The
test reveals Gmail's permissionLabel is semantically incorrect; update
composioToolkitMeta to classify 'gmail' into a new Communication/Email category
instead of PRODUCTIVITY_KEYWORDS so it returns an appropriate permissionLabel
(e.g., "Email, contacts, and workspace data"); modify the category mapping and
any relevant keyword sets (e.g., PRODUCTIVITY_KEYWORDS) or add a new
EMAIL_KEYWORDS constant and ensure composioToolkitMeta('gmail') returns the new
label and still preserves name/logo/slug behavior.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Nitpick comments:
In `@app/src/components/composio/toolkitMeta.test.tsx`:
- Around line 14-25: The test reveals Gmail's permissionLabel is semantically
incorrect; update composioToolkitMeta to classify 'gmail' into a new
Communication/Email category instead of PRODUCTIVITY_KEYWORDS so it returns an
appropriate permissionLabel (e.g., "Email, contacts, and workspace data");
modify the category mapping and any relevant keyword sets (e.g.,
PRODUCTIVITY_KEYWORDS) or add a new EMAIL_KEYWORDS constant and ensure
composioToolkitMeta('gmail') returns the new label and still preserves
name/logo/slug behavior.

In `@app/src/components/composio/toolkitMeta.tsx`:
- Around line 244-263: ComposioLogoBadge currently keeps failed=true across prop
changes so when the slug prop changes it won't retry; update the component
(ComposioLogoBadge) to reset the failed state whenever slug changes by adding a
useEffect that watches slug and calls setFailed(false) so the new logo URL
(composioLogoUrl(slug)) will be retried instead of stuck on the
GenericIntegrationIcon.

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: cfbda2c4-4709-499c-b71f-d167511a62e2

📥 Commits

Reviewing files that changed from the base of the PR and between a084ebf and 647e4d4.

📒 Files selected for processing (4)
  • app/src/components/composio/ComposioConnectModal.tsx
  • app/src/components/composio/toolkitMeta.test.tsx
  • app/src/components/composio/toolkitMeta.tsx
  • app/src/pages/__tests__/Skills.composio-catalog.test.tsx

@senamakel
senamakel merged commit 3c292b2 into tinyhumansai:main May 2, 2026
12 checks passed
jwalin-shah added a commit to jwalin-shah/openhuman that referenced this pull request May 5, 2026
* feat(remotion): Ghosty character library with transparent MOV variants (tinyhumansai#1059)

Co-authored-by: WOZCODE <contact@withwoz.com>

* feat(composio/gmail): sync into memory tree (Slack-parity) (tinyhumansai#1056)

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* feat(scheduler-gate): throttle background AI on battery / busy CPU (tinyhumansai#1062)

* fix(core,cef): run core in-process and stop orphaning CEF helpers on Cmd+Q (tinyhumansai#1061)

* ci: add dedicated staging release workflow (tinyhumansai#1066)

* fix(sentry): Rust source context + per-release deploy marker (tinyhumansai#405) (tinyhumansai#1067)

* fix(welcome): re-enable OAuth buttons with focus/timeout recovery (tinyhumansai#1049) (tinyhumansai#1069)

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* chore(dependencies): update pnpm-lock.yaml and Cargo.lock for package… (tinyhumansai#1082)

* fix(onboarding): personalize welcome agent greeting with user identity (tinyhumansai#1078)

* fix(chat): make agent message bubbles fit content width (tinyhumansai#1083)

* Feat/dmg checks (tinyhumansai#1084)

* fix(linux): Add X11 platform flags to .deb package launcher (tinyhumansai#1087)

Co-authored-by: unn-Known1 <unn-known1@users.noreply.github.com>

* fix(sentry): auto-send React events; collapse core→tauri for desktop (tinyhumansai#1086)

Co-authored-by: Steven Enamakel <enamakel@tinyhumans.ai>

* fix(cef): run blank reload guard on the CEF UI thread (tinyhumansai#1092)

* fix(app): reload webview instead of restart_app in dev mode (tinyhumansai#1068) (tinyhumansai#1071)

* fix(linux): deliver X11 ozone flags via custom .desktop template (tinyhumansai#1091)

* fix(webview-accounts): retry data-dir purge so CEF handle race doesn't leak cookies (tinyhumansai#1076) (tinyhumansai#1081)

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Co-authored-by: Steven Enamakel <enamakel@tinyhumans.ai>

* fix(webview/slack): media perms + deep-link isolation (tinyhumansai#1074) (tinyhumansai#1080)

Co-authored-by: Steven Enamakel <enamakel@tinyhumans.ai>

* ci(release): split staging vs production workflows; promote staging tags (tinyhumansai#1094)

* Update release-staging.yml (tinyhumansai#1097)

* chore(staging): v0.53.5

* chore(staging): v0.53.6

* ci(staging): cut staging from main; add act local-debug helper (tinyhumansai#1099)

* chore(staging): v0.53.7

* fix(ci): correct sentry-cli download URL and trap scope (tinyhumansai#1100)

* chore(staging): v0.53.8

* feat(chat): forward thread_id to backend for KV cache locality (tinyhumansai#1095)

* fix(ci): bump pinned sentry-cli to 3.4.1 (2.34.2 was never published) (tinyhumansai#1102)

* chore(staging): v0.53.9

* fix(ci): drop bash trap in upload_sentry_symbols.sh; inline cleanup (tinyhumansai#1103)

* chore(staging): v0.53.10

* refactor(session): flatten session_raw/, switch md to YYYY_MM_DD (tinyhumansai#1098)

* Add full Composio managed-auth toolkit catalog (tinyhumansai#1093)

* ci: add diff-aware 80% coverage gate (Vitest + cargo-llvm-cov) (tinyhumansai#1104)

* feat(scripts): pnpm work + pnpm debug for agent-driven workflows (tinyhumansai#1105)

* ci: pull pnpm into CI image, drop redundant setup steps (tinyhumansai#1107)

* docs: add Cursor Cloud specific instructions to AGENTS.md (tinyhumansai#1106)

Co-authored-by: Cursor Agent <cursoragent@cursor.com>

* chore(staging): v0.53.11

* docs: surface 80% coverage gate and scripts/debug runners (tinyhumansai#1108)

* feat(app): show Composio integrations as sorted icon grid on Skills (tinyhumansai#1109)

Co-authored-by: Cursor Agent <cursoragent@cursor.com>

* feat(composio): client-side trigger enable/disable toggles (tinyhumansai#1110)

* feat(skills): channels grid + integrations card polish; tolerant Composio trigger decode (tinyhumansai#1112)

* chore(staging): v0.53.12

* feat(home): early-bird banner + assistant→agent terminology (tinyhumansai#1113)

* feat(updater): in-app auto-update with auto-download + restart prompt (tinyhumansai#677) (tinyhumansai#1114)

* chore(claude): add ship-and-babysit slash command (tinyhumansai#1115)

* feat(home): EarlyBirdyBanner + agent terminology + LinkedIn enrichment model pin (tinyhumansai#1118)

* fix(chat): single onboarding thread in sidebar after wizard (tinyhumansai#1116)

Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Co-authored-by: Steven Enamakel <senamakel@users.noreply.github.com>

* fix: filter out global namespace from citation chips (tinyhumansai#1124)

Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
Co-authored-by: senamakel-droid <281415773+senamakel-droid@users.noreply.github.com>

* feat(nav): enable Memory tab in BottomTabBar (tinyhumansai#1125)

* feat(memory): singleton ingestion + status RPC + UI pill (tinyhumansai#1126)

* feat(human): mascot tab with viseme-driven lipsync (staging only) (tinyhumansai#1127)

* Fix CEF zombie processes on full app close and restart (tinyhumansai#1128)

Co-authored-by: senamakel-droid <281415773+senamakel-droid@users.noreply.github.com>
Co-authored-by: Steven Enamakel <enamakel@tinyhumans.ai>

* Update issue templates for GitHub issue types (tinyhumansai#1146)

* feat(human): expand mascot expressions and tighten reply-speech state machine (tinyhumansai#1147)

* feat(memory): ingestion pipeline + tree-architecture docs + ops/schemas split (tinyhumansai#1142)

* feat(threads): surface live subagent work in parent thread (tinyhumansai#1122) (tinyhumansai#1159)

* fix(human): keep mascot mouth animating when TTS ships no viseme data (tinyhumansai#1160)

* feat(composio): consume backend markdownFormatted for LLM output (tinyhumansai#1165)

* fix(subagent): lazy-register toolkit actions filtered out of fuzzy top-K (tinyhumansai#1162)

* feat(memory): user-facing long-term memory window preset (tinyhumansai#1137) (tinyhumansai#1161)

* fix(tauri-shell): proactively kill stale openhuman RPC on startup (tinyhumansai#1166)

* chore(staging): v0.53.13

* fix(composio): per-action tool consumes backend markdownFormatted (tinyhumansai#1167)

* fix(threads): persist selectedThreadId across reloads (tinyhumansai#1168)

* feat(memory_tree): switch embed model to bge-m3 (1024-dim, 8K context) (tinyhumansai#1174)

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* fix(agent): drop redundant [Memory context] recall injection (tinyhumansai#1173)

* chore(memory_tree): drop body-read timeouts on Ollama HTTP calls (tinyhumansai#1171)

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* feat(transcript): emit thread_id + fix orchestrator missing cost (tinyhumansai#1169)

* fix(composio/gmail): phase out html2md, prefer text/plain MIME part (tinyhumansai#1170)

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* feat(tools): markdown output for internal tool results (tinyhumansai#1172)

* feat(security): enforce prompt-injection guard before model and tool execution (tinyhumansai#1175)

* fix(cef): popup paint dies after first frame — skip blank-page guard for popups (tinyhumansai#1079) (tinyhumansai#1182)

Co-authored-by: Steven Enamakel <31011319+senamakel@users.noreply.github.com>

* chore(sentry): rename OPENHUMAN_SENTRY_DSN → OPENHUMAN_CORE_SENTRY_DSN (tinyhumansai#1186)

* feat(remotion): add yellow mascot character with all animation variants (tinyhumansai#1193)

Co-authored-by: Neel Mistry <neelmistry@Neels-MacBook-Pro.local>
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>

* refactor(composio): hide raw connection ID, derive friendly label (tinyhumansai#1153) (tinyhumansai#1185)

Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>

* fix(windows): align install.ps1 MSI with per-machine scope (tinyhumansai#913) (tinyhumansai#1187)

Co-authored-by: Cursor <cursoragent@cursor.com>

* fix(tauri): deterministic CEF teardown on full app close (tinyhumansai#1120) (tinyhumansai#1189)

Co-authored-by: Cursor <cursoragent@cursor.com>

* fix(composio): cap Gmail HTML body before strip (crash mitigation) (tinyhumansai#1191)

Co-authored-by: Cursor <cursoragent@cursor.com>

* fix(auth): stop stale chat threads after signup (tinyhumansai#1192)

Co-authored-by: Cursor <cursoragent@cursor.com>

* feat(sentry): staging-only "Trigger Sentry Test" button (tinyhumansai#1072) (tinyhumansai#1183)

* chore(staging): v0.53.14

* chore(staging): v0.53.15

* feat(composio): format trigger slugs into human-readable labels (tinyhumansai#1129) (tinyhumansai#1179)

Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>

* fix(ui): hide unsupported permission UI on non-macOS for Screen Intelligence (tinyhumansai#1194)

Co-authored-by: Cursor <cursoragent@cursor.com>

* chore(tauri-shell): retire embedded Gmail webview-account flow (tinyhumansai#1181)

* feat(onboarding): replace welcome-agent bot with react-joyride walkthrough (tinyhumansai#1180)

* chore(release): v0.53.16

* fix(threads): preserve selectedThreadId on cold-boot identity hydration (tinyhumansai#1196)

* feat(core): version/shutdown/update RPCs + mid-thread integration refresh (tinyhumansai#1195)

* fix(mascot): swap to yellow mascot via @remotion/player (tinyhumansai#1200)

* feat(memory_tree): cloud-default LLM, queue priority, entity filter, Memory tab UI (tinyhumansai#1198)

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* Persist turn state + restore conversation history on cold-boot (tinyhumansai#1202)

* feat(mascot): floating desktop mascot via native NSPanel + WKWebView (macOS) (tinyhumansai#1203)

* fix(memory/tree): emit summary children as Obsidian wikilinks (tinyhumansai#1210)

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* feat(tools): coding-harness baseline primitives (tinyhumansai#1205) (tinyhumansai#1208)

* docs: add Codex PR checklist for remote agents

---------

Co-authored-by: Steven Enamakel <31011319+senamakel@users.noreply.github.com>
Co-authored-by: WOZCODE <contact@withwoz.com>
Co-authored-by: sanil-23 <sanil@vezures.xyz>
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Co-authored-by: Cyrus Gray <144336577+graycyrus@users.noreply.github.com>
Co-authored-by: CodeGhost21 <164498022+CodeGhost21@users.noreply.github.com>
Co-authored-by: oxoxDev <164490987+oxoxDev@users.noreply.github.com>
Co-authored-by: Mega Mind <146339422+M3gA-Mind@users.noreply.github.com>
Co-authored-by: Gaurang Patel <ptelgm.yt@gmail.com>
Co-authored-by: unn-Known1 <unn-known1@users.noreply.github.com>
Co-authored-by: Steven Enamakel <enamakel@tinyhumans.ai>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Co-authored-by: Steven Enamakel <senamakel@users.noreply.github.com>
Co-authored-by: Steven Enamakel's Droid <enamakel.agent@tinyhumans.ai>
Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
Co-authored-by: senamakel-droid <281415773+senamakel-droid@users.noreply.github.com>
Co-authored-by: YellowSnnowmann <167776381+YellowSnnowmann@users.noreply.github.com>
Co-authored-by: Neil <neil@maha.xyz>
Co-authored-by: Neel Mistry <neelmistry@Neels-MacBook-Pro.local>
Co-authored-by: obchain <167975049+obchain@users.noreply.github.com>
Co-authored-by: Jwalin Shah <jshah1331@gmail.com>
AusAgentSmith pushed a commit to AusAgentSmith/openhuman that referenced this pull request May 23, 2026
senamakel added a commit to nocstah/openhuman that referenced this pull request Sep 11, 2026
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.

[Feature] Scale OAuth integrations toward Composio-class managed auth coverage

1 participant