Add Super Carl app package, search, and communication actions#21252
Add Super Carl app package, search, and communication actions#21252mdale wants to merge 8 commits into
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub. 1 Skipped Deployment
|
|
Thank you so much for submitting this! We've added it to our backlog to review, and our team has been notified. |
|
Thanks for submitting this PR! When we review PRs, we follow the Pipedream component guidelines. If you're not familiar, here's a quick checklist:
|
|
Private development publish in the Super Carl workspace currently reaches the workspace but is blocked on app registration: Workspace/project setup is otherwise in place for testing:
To unblock private publish and managed auth testing, Pipedream needs to register the |
|
Note Reviews pausedIt looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the Use the following commands to manage reviews:
Use the checkboxes below for quick actions:
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: ASSERTIVE Plan: Pro Run ID: 📒 Files selected for processing (2)
📝 WalkthroughWalkthroughThis PR adds a new Super Carl Pipedream package, shared utilities, setup docs, and actions for network summary, search, and communication workflows. ChangesSuper Carl integration
Estimated code review effort: 4 (Complex) | ~60 minutes Suggested reviewers: 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 9
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@components/super_carl/actions/get-network-summary/get-network-summary.mjs`:
- Line 7: The component description in get-network-summary is too terse for
agent/workflow use and needs the full agent-friendly structure. Update the
description on the getNetworkSummary action to cover its primary purpose, when
the agent should use it, any relevant cross-tool references, parameter guidance,
and gotchas, while still ending with the required documentation link. Use the
existing getNetworkSummary symbol to locate the description string and keep the
final docs link intact.
In `@components/super_carl/actions/search-companies/search-companies.mjs`:
- Around line 40-74: The company-search prop descriptions in
searchCompaniesAction are too abstract for agent use and need inline examples.
Update the non-obvious fields in the action’s props schema—especially
resolveOnly, resultMode, and rankMode—to show concrete example values or
payloads directly in their descriptions, such as a sample domain or LinkedIn
company URL for resolveOnly and explicit enum examples for resultMode/rankMode.
Keep the descriptions focused on the expected format and usage so an agent can
choose the correct input without guessing.
In `@components/super_carl/actions/search-jobs/search-jobs.mjs`:
- Line 12: Update the description in search-jobs.mjs so it points to the jobs
search reference page instead of the docs homepage, and expand the wording to
include brief agent-facing guidance on when to use this action versus the other
Super Carl search tools. Keep the description concise, but make sure it ends
with a documentation link in the required format and reference the search-jobs
action’s description field so it is easy to locate.
In `@components/super_carl/actions/search-people/search-people.mjs`:
- Line 12: The top-level description in search-people.mjs is too terse and
should be expanded to guide agent selection and setup. Update the action
description so it covers the purpose, when to use it, the key parameter guidance
around preview versus evidenceFormat, and the gotcha that evidenceFormat only
applies when preview is disabled; keep the docs link and make the guidance
explicit in the description field for the searchPeople action.
In `@components/super_carl/actions/search-posts/search-posts.mjs`:
- Line 12: The SearchPostsAction description is too generic and links to the
docs root instead of the posts search API reference. Update the description in
search-posts.mjs to mention the specific posts search endpoint and include brief
agent-oriented usage guidance, then end it with the correct API reference link
using the required “[See the documentation](https://...)” format. Use the
SearchPostsAction component description as the unique place to update.
- Around line 41-49: The `previewLimit` field in `search-posts` is being
redefined inline instead of using the shared app-level prop definition, which
duplicates metadata that should live in the app’s `propDefinitions`. Update the
`search-posts` action to reference the shared `previewLimit` `propDefinition`
from the app (as done in `search-jobs`) and only override any posts-specific
behavior or labels that truly differ, keeping the field definition centralized.
In `@components/super_carl/common/utils.mjs`:
- Around line 26-54: The emptiness handling in isEmptyValue and cleanObject is
only shallow, so nested blank objects like { title: "" } still count as
non-empty and slip past requireQueryOrFilters. Update the helpers in utils.mjs
to recursively treat nested objects/arrays as empty only when all contained
values are empty, and ensure cleanObject prunes those nested empty fields before
building the result. Keep requireQueryOrFilters using the improved isEmptyValue
so search actions validate and clean payloads consistently.
In `@components/super_carl/super_carl.app.mjs`:
- Around line 18-24: Update the shared propDefinitions in super_carl.app.mjs to
make the agent-facing descriptions concrete and unambiguous. In the prop
descriptors for filters, delegateUserId, and the enum-based props in the same
block, add short examples and plain-language meaning for accepted values. Make
filters include a sample JSON shape, make delegateUserId explain that the ID
comes from the team-seat/user record the API key owner can delegate to, and
expand enum descriptions to spell out each allowed value and when to use it.
- Around line 110-117: The shared request helper in _makeRequest currently
concatenates the base URL into url, which breaks the app-file request pattern;
update it to pass baseURL from this._baseUrl() and keep url as path so the
existing header and option merging stays centralized. Make the change in
_makeRequest and preserve the current this._headers(headers) handling while
following the repo’s HTTP request convention.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: ASSERTIVE
Plan: Pro
Run ID: 66041eae-4d08-45cc-a138-014ef6853ddf
⛔ Files ignored due to path filters (1)
pnpm-lock.yamlis excluded by!**/pnpm-lock.yaml
📒 Files selected for processing (9)
components/super_carl/README.mdcomponents/super_carl/actions/get-network-summary/get-network-summary.mjscomponents/super_carl/actions/search-companies/search-companies.mjscomponents/super_carl/actions/search-jobs/search-jobs.mjscomponents/super_carl/actions/search-people/search-people.mjscomponents/super_carl/actions/search-posts/search-posts.mjscomponents/super_carl/common/utils.mjscomponents/super_carl/package.jsoncomponents/super_carl/super_carl.app.mjs
| export default { | ||
| key: "super_carl-search-posts", | ||
| name: "Search Posts", | ||
| description: "Search posts, comments, likes, reactions, company mentions, and public activity signals. [See the documentation](https://supercarl.ai/docs)", |
There was a problem hiding this comment.
📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win
Use the posts search API doc here, not the generic docs root.
Like the jobs action, Line 12 points at the homepage rather than the relevant reference page and leaves out the short agent-oriented usage guidance the component guidelines call for. Please make this description specific to the posts search endpoint.
As per coding guidelines, "Component descriptions must end with a documentation link formatted as [See the documentation](https://...) pointing to the relevant API reference page."
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@components/super_carl/actions/search-posts/search-posts.mjs` at line 12, The
SearchPostsAction description is too generic and links to the docs root instead
of the posts search API reference. Update the description in search-posts.mjs to
mention the specific posts search endpoint and include brief agent-oriented
usage guidance, then end it with the correct API reference link using the
required “[See the documentation](https://...)” format. Use the
SearchPostsAction component description as the unique place to update.
Sources: Coding guidelines, Path instructions
|
@mdale - Can you kindly address the comment give my coderabbit |
There was a problem hiding this comment.
Actionable comments posted: 4
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@components/super_carl/actions/get-network-summary/get-network-summary.mjs`:
- Line 7: The cross-reference text in the action description uses generic
downstream labels instead of the actual bold tool names. Update the description
in get-network-summary.mjs to either reference the real action names exposed
under components/super_carl/actions/** using bold formatting, or remove the
cross-reference entirely if no exact matching actions exist; also replace the
non-matching “warm-intro searches” wording with the correct tool name if one
exists.
In `@components/super_carl/actions/search-jobs/search-jobs.mjs`:
- Line 12: The cross-reference in the search-jobs tool description uses plain
text instead of the required tool-reference style. Update the description in
search-jobs.mjs so the mention of Search People is bolded as **Search People**,
keeping the rest of the wording unchanged and matching the app’s tool naming
convention.
In `@components/super_carl/actions/search-people/search-people.mjs`:
- Line 12: The description text in search-people.mjs needs the cross-tool
reference format corrected. Update the mention of Search Companies in the
description to use the exact tool name wrapped in bold, matching the
agent-facing cross-tool reference rule, and keep the rest of the guidance
unchanged.
In `@components/super_carl/actions/search-posts/search-posts.mjs`:
- Line 12: The tool description in search-posts.mjs needs to format the
cross-tool reference consistently with the agent-facing tool naming rule. Update
the description in the SearchPosts component so the reference to Search People
is bolded as the exact tool name used elsewhere in the app, matching the
existing pattern for tool cross-references and keeping the rest of the
description unchanged.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: ASSERTIVE
Plan: Pro
Run ID: a24309cf-615d-4913-8a66-ca442425849f
📒 Files selected for processing (7)
components/super_carl/actions/get-network-summary/get-network-summary.mjscomponents/super_carl/actions/search-companies/search-companies.mjscomponents/super_carl/actions/search-jobs/search-jobs.mjscomponents/super_carl/actions/search-people/search-people.mjscomponents/super_carl/actions/search-posts/search-posts.mjscomponents/super_carl/common/utils.mjscomponents/super_carl/super_carl.app.mjs
|
@vetrivigneshwaran / Pipedream team: could you confirm the next step for completing the managed app provisioning for this PR? The component code references the new app slug pd publish components/super_carl/actions/get-network-summary/get-network-summary.mjs --profile supercarl --connect-environment development --devCurrent response: {"error":"Invalid app slug(s) in configurableProps: super_carl"}Requested app auth shape:
Can you confirm whether |
|
@vetrivigneshwaran / Pipedream team: we have addressed the latest CodeRabbit review items and updated the title/PR body. CodeRabbit is rerunning on commit Could you also queue or confirm the Super Carl app representation/provisioning in Pipedream’s SaaS/app directory set so the component can be tested and published end-to-end? Requested app representation:
Current provisioning blocker remains: {"error":"Invalid app slug(s) in configurableProps: super_carl"}That error occurs when running: pd publish components/super_carl/actions/get-network-summary/get-network-summary.mjs --profile supercarl --connect-environment development --devPlease let us know if you need logo assets, app category metadata, or any additional SaaS listing fields from Super Carl to provision the app representation. |
|
@vetrivigneshwaran quick ping: CodeRabbit is now green on the latest branch head, and we addressed the requested review items. When you have a chance, could you re-review / clear the stale changes-requested state? The only remaining external blocker we see is app provisioning for the new |
|
Update for reviewers: this PR now includes Super Carl communication actions in addition to the search/read actions. Added actions:
Safety/scope notes: Send Communication defaults to Dry Run enabled, and live sends require explicitly setting Dry Run to false. Communication actions require a Super Carl API key with the |
There was a problem hiding this comment.
Actionable comments posted: 2
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@components/super_carl/actions/cancel-communication/cancel-communication.mjs`:
- Line 7: The description in cancelCommunication references a nonexistent action
via the bolded “Send Communication” text, so update the text to remove or
replace that cross-tool reference with a valid existing action name from the
super_carl package. Make the wording in the cancel-communication action
description self-contained and ensure any bolded tool name matches a real
action, similar to the fix needed in the sibling capabilities-check description.
In
`@components/super_carl/actions/check-communication-capabilities/check-communication-capabilities.mjs`:
- Line 10: The action description in check-communication-capabilities.mjs
references bolded tool names that do not exist in the current super_carl action
set, so update the description to remove or replace those cross-references with
only real action names. Keep the guidance focused on available actions by
matching the actual name values exposed in this app’s actions directory, and
ensure any bolded tool references correspond to existing tools such as
check-communication-capabilities or cancel-communication.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: ASSERTIVE
Plan: Pro
Run ID: 80c5b1b4-e2eb-4792-a516-334ef9c35948
📒 Files selected for processing (3)
components/super_carl/README.mdcomponents/super_carl/actions/cancel-communication/cancel-communication.mjscomponents/super_carl/actions/check-communication-capabilities/check-communication-capabilities.mjs
|
@mdale - As supercarl doesn't have base integration with pipedream. kindly raise a request using below ticket. |
|
Opened the requested base app / service integration issue for Super Carl here: #21309 It references this PR and includes the requested app slug/auth details ( |
Summary
X-API-Key.Notes
searchscope.communicationsscope.Dry Runenabled; live sends require explicitly settingDry Runto false.super_carlbefore marketplace publication.pd publishnow reaches the Super Carl workspace, but is blocked until thesuper_carlapp slug is registered:Invalid app slug(s) in configurableProps: super_carl.Checklist
0.0.1for a new app package.super_carlwith API-key auth exposed asthis.$auth.api_key.Validation
pnpm exec eslint components/super_carl/**/*.mjsnode scripts/generate-package-report.js --package=super_carl --verbosenode --checkoncomponents/super_carl/super_carl.app.mjs,components/super_carl/common/utils.mjs, and allcomponents/super_carl/actions/*/*.mjsfilesSummary by CodeRabbit