Skip to content

chore: Sync upstream repo - #9

Merged
matyascimbulka merged 232 commits into
masterfrom
chore/sync-upstream
Sep 8, 2025
Merged

chore: Sync upstream repo#9
matyascimbulka merged 232 commits into
masterfrom
chore/sync-upstream

Conversation

@matyascimbulka

Copy link
Copy Markdown
Collaborator

No description provided.

seynadio and others added 30 commits July 23, 2025 10:31
…17605)

* Add internal notes support to Gorgias OAuth integration

- Add channel prop to create-ticket-message action with internal-note support
- Add conditional logic to skip sender/receiver validation for internal notes
- Create internal-note-created webhook source for monitoring internal note events
- Add JSDoc documentation to all methods
- Update package.json version

* Fix processHistoricalEvent error in internal-note-created source

Add empty deploy() hook to prevent base class from attempting to process
historical events, matching the pattern used in ticket-message-created source.
This resolves the "processHistoricalEvent is not implemented" error.

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

Co-Authored-By: Claude <noreply@anthropic.com>

* Fix linting errors in Gorgias OAuth components

- Fix multiline-ternary formatting in create-ticket-message.mjs
- Remove unused constants import from internal-note-created.mjs
- Add missing newline at end of internal-note-created.mjs

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

Co-Authored-By: Claude <noreply@anthropic.com>

* updates

* pnpm-lock.yaml

---------

Co-authored-by: Job Nijenhuis <job@neople.io>
Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Michelle Bergeron <michelle.bergeron@gmail.com>
* [Components] Pingback PipedreamHQ#17674
Actions
 - Create Subscriber
 - Get Subscriber
 - Update Subscriber
 - Add Subscriber To Segmentation Lists
 - Remove Subscriber From Segmentation List

* pnpm update

* pnpm update

* Refactor Pingback actions to simplify data handling and improve code consistency. Updated Add, Create, Remove, and Update Subscriber actions to use a unified data structure. Introduced parseCustomFields utility for better custom fields management.
* new components

* pnpm-lock.yaml
… items (PipedreamHQ#17611)

* Enhance Shopify order queries with complete order data including line items

- Updated GET_ORDER query to include comprehensive order information:
  - Complete line items with product and variant details
  - Shipping and billing addresses
  - Fulfillment tracking information
  - Payment transactions and refunds
  - Tax lines and discount allocations
  - All financial breakdowns (subtotal, shipping, tax, discounts)

- Updated LIST_ORDERS query to include:
  - Line items with product information
  - Order status and fulfillment details
  - Customer and shipping information
  - Essential financial data

This provides complete order data including all items, customer info, shipping details, and fulfillment tracking when retrieving orders.

* versions

* pnpm-lock.yaml

* Fix Shopify GraphQL query field errors

- Replace deprecated acceptsMarketing with emailMarketingConsent in Customer object
- Update ProductVariant weight fields to use inventoryItem.measurement.weight structure
- Replace requestedFulfillmentServiceId with requestedFulfillmentService object
- Update fulfillment service object to include correct fields (id, serviceName, handle)

These changes align with the current Shopify GraphQL API schema and fix the "Field doesn't exist" errors.

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

Co-Authored-By: Claude <noreply@anthropic.com>

* Remove emailMarketingConsent field causing GraphQL errors

Fix selectionMismatch error by removing emailMarketingConsent from customer queries in GET_ORDER and LIST_ORDERS.

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

Co-Authored-By: Claude <noreply@anthropic.com>

* update queries

* update queries

---------

Co-authored-by: Michelle Bergeron <michelle.bergeron@gmail.com>
Co-authored-by: Job Nijenhuis <job@neople.io>
Co-authored-by: Claude <noreply@anthropic.com>
* onelogin init

* some adjusts

* pnpm update

* [Components] onelogin PipedreamHQ#15147
Sources
 - New User Created
 - New Login Attempt
 - New Directory Sync

Actions
 - Create User
 - Update User
 - Revoke User Session

* pnpm update

* Add new event source and refactor API paths in OneLogin component

- Introduced a new event source for emitting events in OneLogin.
- Added event type selection with dynamic options based on available event types.
- Refactored API paths in the OneLogin app to remove redundant '/api' prefix.
- Implemented a utility function to convert snake_case to Title Case for better display of event types.
* new components

* pnpm-lock.yaml

* versions

* updates
…Q#17762)

* add includeChanges prop

* pnpm-lock.yaml

* remove console.log

* revert updated-page.mjs

* updated-page-by-timestamp source
* package version bump

* Adding new actions and adjusting minor things

* Description improvements

* Adding sources

* Version bumps

* Checking for undefined values on formData

* Adjusting pagination for 'list message templates'

* pnpm

* Updating sources to timestamp-based

* Adjusting timestamp setting

* Adding syncDir prop

* Re-adding sortBy and sortOrder

* Re-adding missing filterFn calls

* Adjusting form data checking

* Fixing bug on sources

* Adjusting inboxIds array format

* Timestamp fix for event emission
* [Components] Rewiser PipedreamHQ#17699
Actions
 - Create Transaction

Sources
 - New Transaction

* pnpm update

* Update components/rewiser/actions/create-transaction/create-transaction.mjs

Co-authored-by: Guilherme Falcão <48412907+GTFalcao@users.noreply.github.com>

* Add new source for Rewiser: New Transaction Created

- Implemented a new source that emits events when a new transaction is created in Rewiser.
- Added methods to manage the last processed transaction date and emit new transactions.
- Included a sample event for testing purposes.

* Update components/rewiser/actions/create-transaction/create-transaction.mjs

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

---------

Co-authored-by: Guilherme Falcão <48412907+GTFalcao@users.noreply.github.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
* update pagination

* pnpm-lock.yaml
* new components

* pnpm-lock.yaml

* versions

* fix props
* wip

* updates

* pnpm-lock.yaml

* version

* pnpm-lock.yaml

* pnpm-lock.yaml

* pnpm-lock.yaml

* switch base_url to production
* new components

* pnpm-lock.yaml

* versions

* pnpm-lock.yaml

* pnpm-lock.yaml

* pnpm-lock.yaml

* pnpm-lock.yaml

* updates

* update type field
…pedreamHQ#17613)

* Implement comprehensive Trustpilot integration with polling sources

## Overview
Complete Trustpilot integration using polling approach (webhooks not supported by Trustpilot API).

## Features Implemented

### Authentication & Core App
- Enhanced trustpilot.app.ts with OAuth and API key authentication
- Added comprehensive API methods for reviews, products, and conversations
- Support for both public and private endpoints
- Proper error handling, validation, and retry logic with rate limiting

### Actions (6 total)
- **fetch-service-reviews** - Get service reviews with filtering and pagination
- **fetch-service-review-by-id** - Get specific service review
- **fetch-product-reviews** - Get product reviews with filtering and pagination
- **fetch-product-review-by-id** - Get specific product review
- **reply-to-service-review** - Reply to service reviews
- **reply-to-product-review** - Reply to product reviews

### Polling Sources (8 total)
- **new-service-reviews** - New service reviews (public + private endpoints)
- **updated-service-reviews** - Updated/revised service reviews
- **new-product-reviews** - New product reviews
- **updated-product-reviews** - Updated/revised product reviews
- **new-service-review-replies** - New replies to service reviews
- **new-product-review-replies** - New replies to product reviews
- **new-conversations** - New conversations started
- **updated-conversations** - Updated conversations (new messages)

### Technical Implementation
- 15-minute polling intervals following Google Drive pattern
- Smart deduplication by reviewId + timestamp
- Business unit filtering (optional)
- 24-hour lookback on first run
- Comprehensive constants and utilities
- Proper pagination and error handling

## API Endpoints Used
- `/business-units/{businessUnitId}/reviews` (public)
- `/private/business-units/{businessUnitId}/reviews` (private service)
- `/private/product-reviews/business-units/{businessUnitId}/reviews` (products)
- `/private/conversations` (conversations)
- All reply endpoints for posting responses

Addresses all requirements from https://developers.trustpilot.com/introduction/

* Apply patches: Update pnpm-lock.yaml and fix security vulnerabilities in Trustpilot integration

* Address PR feedback: Update dependencies, improve code quality, and follow best practices

- Update @pipedream/platform to ^3.1.0
- Add authentication validation in _getAuthHeaders
- Extract common review fetching logic to reduce duplication (DRY)
- Remove unnecessary try/catch from _makeRequest
- Use ConfigurationError for user input errors
- Remove publishedAt from all components
- Update polling descriptions to be more generic
- Improve code maintainability and error handling

Co-Authored-By: Claude <noreply@anthropic.com>

* Fix CI/CD failures: bump component version, update lockfile, fix TypeScript errors

- Increment trustpilot component version from 0.0.1 to 0.1.0
- Update pnpm lockfile to sync @pipedream/platform dependency (^3.0.0 -> ^3.1.0)
- Fix TypeScript compilation errors by adding proper type annotations
- Fix crypto import to use ES module syntax

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

Co-Authored-By: Claude <noreply@anthropic.com>

* typescript issues

* Update components/trustpilot/app/trustpilot.app.ts

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* Update components/trustpilot/app/trustpilot.app.ts

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* Update trustpilot.app.ts

* Rename app

* add back app

* ts --> js

* fixes

* delete .gitignore, update package.json

* pnpm-lock.yaml

---------

Co-authored-by: Job Nijenhuis <job@neople.io>
Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Job <9075380+Afstkla@users.noreply.github.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Co-authored-by: Michelle Bergeron <michelle.bergeron@gmail.com>
* new components

* pnpm-lock.yaml

* pnpm-lock.yaml

* versions
* new component: alttextlab

* new component: alttextlab

* eslint updates

* version

* pnpm-lock.yaml

* app slug

* pnpm-lock.yaml

* pnpm-lock.yaml

---------

Co-authored-by: Michelle Bergeron <michelle.bergeron@gmail.com>
* update import

* pnpm-lock.yaml
michelle0927 and others added 18 commits September 1, 2025 12:24
* updates

* package.json

* pnpm-lock.yaml

* updates
* new components

* pnpm-lock.yaml

* fix typo

* remove subscription actions
* migrate components

* pnpm-lock.yaml

* update package.json

* pnpm-lock.yaml
* Fix PipedreamHQ#18220 (airtable_oauth): normalize fallback events and retry getting record

- Always wrap fallback emissions as { originalPayload } for consistent shape
- Guard against missing/empty changedTablesById in field & record emitters
- Add shared withRetry() (exponential backoff,) in common/utils
- Use withRetry for getRecord in record emitter; on failure, emit empty fields

* Bump package versions
* wip

* new components

* pnpm-lock.yaml

* pnpm-lock.yaml

* update description
* Added Databricks SQL Warehouses API actions

- Added create SQL warehouse action
- Added list SQL warehouses action
- Added get SQL warehouse action
- Added edit SQL warehouse action
- Added delete SQL warehouse action
- Added start/stop SQL warehouse actions
- Added get/set SQL warehouse config actions
- Added get/set SQL warehouse permissions actions

Implements 11 SQL Warehouses endpoints as discussed in the enhancement issue.

* Update Databricks SQL Warehouse docs URLs

* fix(databricks): bump component versions and apply lint fixes

* fix(databricks): addressed requested changes

* addressed coderabbit review feedback

* resolved the linting issues

* addressed all test failures

* addressed coderabbit review feedback

* resolved the linting issues

* addressed coderabbit review feedback

* addressed coderabbit review feedback

* resolved the linting issues

* updates

* Add default value for maxNumClusters

* create and edit sql warehouses fixes

* create and edit sql warehouse fixes

* updates

---------

Co-authored-by: Michelle Bergeron <michelle.bergeron@gmail.com>
Co-authored-by: Leo Vu <vunguyenhung@outlook.com>
* Configure Vite to abort if there are compile-time errors
* Use explicit types from the Connect SDK (i.e. `@pipedream/sdk`) to
  make the v2 migration easier
* Fix pre-existing compile-time errors
* Bump version
* Use the SDK version published in the NPM registry instead of the one
  that lives in this repo (it'll be easier to switch)
* Fix compilation errors in the example app
* Delete the outdated examples
* Fix linter issues

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Update PlentyONE component: Bump version to 0.1.0, add new actions for order management, and enhance prop definitions. Introduced methods for creating, retrieving, and managing orders, including adding notes and fetching order items and documents. Added constants for order types and payment statuses. Improved utility functions for better data handling.

* pnpm update

* Fix package.json formatting by adding a newline at the end of the file.

* Add statusId prop definition to create-order action and implement getOrderStatuses method in PlentyONE component. Enhanced order creation by parsing order items and related properties for improved data handling.
@matyascimbulka matyascimbulka self-assigned this Sep 5, 2025

@drobnikj drobnikj left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

:yolo:

@matyascimbulka
matyascimbulka merged commit cd804ba into master Sep 8, 2025
6 of 7 checks passed
@matyascimbulka
matyascimbulka deleted the chore/sync-upstream branch September 8, 2025 13:04
@matyascimbulka
matyascimbulka restored the chore/sync-upstream branch September 8, 2025 13:16
matyascimbulka added a commit that referenced this pull request Sep 8, 2025
@matyascimbulka
matyascimbulka deleted the chore/sync-upstream branch September 8, 2025 13:31
matyascimbulka added a commit that referenced this pull request Sep 24, 2025
* feat(apify): Show list of built tags in actor run action

* feat(apify): Allow selecting actor search source for run Actor action and change how Actor or task name is displayed

* feat(apif): Remove wait for finish prop in run Actor action

* fix(apify): Fix PR issues

* fix(apif): Fix PR issues

* fix(scrape-single-url): return the only dataset item after the run is finished (#3)

* fix(scrape-single-url): return the only dataset item after the run is finished

* fix(scrape-single-url): version up

* fix(scrape-single-url): version up

* fix(scrape-single-url): version up

* fix(scrape-single-url): introduce a job status constant, expand a list of terminal statuses to stop the loop

* fix(scrape-single-url): import constants from package, decrease delay in between calls

* Migrate to use Apify client (#6)

* feat(apify): Replace Axios with Apify client

* fix(general): adding custom headers to client()=> preserve whole config to be passed to Axios later

* feat(general): add linter script

* fix(apify-get-dataset-items): a function for getting items and parsing of a result

* fix(apify-run-actor): working sync and async, dynamic input schema injection, KVS output retrieval tested only string

* fix(general): change maxResults for limit as an input field

* fix(run-task-sync): move items retrieval to the component, add waitSecs determined by input or plan to prevent blunt timeout error, have the item retrieval logic be connected to run status, clean return value

* fix(apify-scrape-single-url): incorporate timeouts, rework the whole API interaction logic

* fix(apify-set-key-value-store-record): detection of content type, fixed API interaction

* fix(apify-scrape-single-url): remove waiting timeout, return only dataset item, remove extra input fields connected to WCC run

* fix(apify-run-actor): success message

* fix(apify-run-task-synchronously): remove waiting for run to finish timeout

* fix(app): remove paidPlan input filed config

---------

Co-authored-by: Matyas Cimbulka <matyas.cimbulka@apify.com>

* fix(apify-get-dataset-items) 6: change input parameters (#8)

* chore(apify): Bump component versions

* chore: Sync upstream repo (#9)

* feat(apify): Prefill values from the input schema (#7)

* Revert "chore: Sync upstream repo (#9)"

This reverts commit cd804ba.

* Revert "chore(apify): Bump component versions"

This reverts commit 6040822 which for some reason bumped version of the wrong components.

* fix(apify): Fix build tag

* fix(apify): Address issues in run task synchronously action

* feat(apify): Add default crawler type to scrape single url

* fix(apify): Address issues from PR

* chore(apify): Change component versions

* fix(apify): Fix run Actor action

* fix(apify): Fix run get dataset items action

* fix(apify): Fix typos for PR

---------

Co-authored-by: Oleksandra Valko <oleksandra.valko@apify.com>
drobnikj pushed a commit that referenced this pull request Sep 3, 2026
* feat(super_carl) add new components

Summary
Fixes review comments from PipedreamHQ#21252 since we are unable to make the changes directly in their fork as maintainerContribution is disabled by the submitted user.

* Changes with respect to description and coderabbit review comment

Changes with respect to description and coderabbit review comment

* changes with respect to description and utils file

changes with respect to description and utils file

* Changes with respect to review comment

Changes with respect to review comment

* Add field selection to search actions, auto-generate draft session id

- search-people/search-companies/search-jobs/search-posts: add an
  additive `fields` prop to return only named fields per row, since
  full rows carry deep connection/evidence metadata large enough to
  exceed the MCP output ceiling on a single call.
- create-communication-draft: make agentSessionId optional and
  auto-generate one when omitted, since callers have no way to know
  what a valid session id looks like.
- search-people/search-jobs: description guidance clarifying the
  people database is read-only (no delete/edit) and that job location
  filters scope the hiring company/people, not the job posting.

* Add field selection to check-communication-capabilities

Each channel entry carries verbose reason/relationship metadata that
pushed this tool's output to ~9k chars average, flagged by the eval
suite's oversized-output check. Add the same additive `fields` prop
already used by the search actions, scoped to the `channels` array.

* Changes with respect to coderabbit review

Changes with respect to coderabbit review

* Removed communication-draft component and added ai-optimised

Removed communication-draft component and added ai-optimised

* Update readme file

Update readme file

* Strip search-people's internal debug telemetry from every response

Evals #1/#9 in evals/super_carl kept hitting the 25k-token MCP ceiling
even with `fields` + `limit:1`. Traced it to `search_metadata` (45-55k
chars) and `entity_resolution` (~10k chars) — Elasticsearch execution
internals (query embeddings, bitmap counts, raw es_response, filter
provenance) that ship at the top level of every people-search response
regardless of `fields`, which only scopes each row in `users`. Neither
field is documented or actionable for a caller, so both are dropped
unconditionally rather than gated behind an opt-in.

* Fix search-posts people bloat, correct wrong Fields examples

- search-posts: drop matched_posts from each deduped person row
  unconditionally (~60% of that row's size, measured 1004/1687 bytes on
  a real response, and redundant with `results` which already has the
  matching posts) - `fields` alone couldn't fix this since it only
  scoped `results`, and people/post field vocabularies don't overlap
  anyway. Contributed to evals #4/#9 hitting the MCP output ceiling
  even with `fields` set on the posts side.
- search-posts, search-jobs: description examples named nested paths
  (`author.name`, `company.name`) that don't exist - the real fields
  are flat (`author_name`, `company_name`). Confirmed from real
  responses: the model tried the documented dot-path first, got a
  silently empty field, and burned a retry figuring out the flat name
  each time (evals #3, #4).
- search-people: evals #1 and #9 each hit the ceiling on a first
  attempt that combined Preview off + `relationshipDetail: intro_paths`
  + `evidenceFormat` with no Fields, then recovered on retry once
  Fields was added. Description now says to pass Fields proactively
  with that combination instead of waiting for a truncated first call.

* addressing coderaabit internal review comment

addressing coderaabit internal review comment

* Addressed review comments

Addressed review comments

* Updated description

Updated description

* fix(super_carl): stop search-people from blowing the MCP output ceiling

search-people's raw API response carries a search_metadata field with
internal search-engine telemetry (query execution plans, raw Elasticsearch
response, bitmap counts) that measured 46KB on a single-row response,
independent of limit/fields/preview. Strip it the same way entity_resolution
already is.

Also add a safe default field set for preview:false combined with
relationshipDetail/evidenceFormat, which the tool's own description already
warns can exceed the size limit even for one row (measured ~15KB/row). This
only applies when the caller passed no explicit fields, so it's a fallback,
not a behavior change for anyone already using fields.

Verified via eval re-runs: fixed the two evals that were hitting the ceiling
outright (network sync status check, engineering jobs search timing out from
retries). The remaining two evals that exercise this path could not be
re-verified after this last change - Super Carl's free-tier API credits
(5/30-day cycle) were exhausted by the debugging session's own probing.

* fix(super_carl): prevent search-people truncation and steer search-companies away from resolveOnly for size/description

search-people's truncation safety net only applied when preview was
explicitly false, missing the preview:true + relationshipDetail:summary
combination that also exceeds the MCP output ceiling — broaden it to
trigger on relationshipDetail alone.

search-companies' resolveOnly mode returns identity-disambiguation data
only; the model was using it for "size and what they do" questions and
had no tool-grounded data to answer with. Description now says explicitly
what resolveOnly does and doesn't return, and to use resultMode: detailed
instead.

Found via eval-driven testing (evals/super_carl/evals.yaml, PR PipedreamHQ#21630).
drobnikj pushed a commit that referenced this pull request Sep 3, 2026
…1826)

* feat(dappier): AI-optimized Dappier action set for MCP (real-time search, recommendations, analytics)

Initial AI-optimized Dappier components for the MCP tool surface, covering
issue PipedreamHQ#21660 (real-time web search, AI content recommendations, data-model
querying) plus the four Analytics API endpoints. Iterated against the MCP
eval suite (evals/dappier) — 9/10 green on Sonnet 5 (trials: 1); the one
failure is an upstream HTTP 500 on POST /app/v2/search, not a component
defect. agent-audit: 100/100.

- search-real-time-data (new, 0.0.1): real-time web/data search via a Dappier
  AI model (am_ id); returns a synthesized answer. Eval #9 passes.
- get-ai-recommendations (new, 0.0.1): AI-ranked content recommendations for a
  data model (dm_ id); optional additive `fields` projection trims large
  article payloads. Eval #10 blocked by an upstream 500 (server-side).
- get-ask-ai-analytics (new, 0.0.1): aggregate Ask AI widget analytics. Evals #1/#4/#5 pass.
- get-ask-ai-logs (new, 0.0.1): raw Ask AI conversation logs with page/limit
  pagination + paging guidance. Evals #2/#6 pass.
- get-sponsored-conversations-analytics (new, 0.0.1): sponsored-conversation
  (ad campaign) analytics. Eval #7 passes.
- get-session-intelligence (new, 0.0.1): session intent/topic breakdowns. Evals #3/#8 pass.
- dappier.app.mjs: shared analytics prop definitions + GET request methods.
- common/utils.mjs: validateDateRange (365-day cap) + pluckFields projection helper.
- common/constants.mjs: analytics interaction types, range + page-size bounds.

App package.json bumped 0.0.1 -> 0.1.0 (minor -- new actions).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* fix(dappier): add trailing newline to package.json (eol-last)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* fix(dappier): address review — numArticlesRef max, own-prop projection, date default wording

- get-ai-recommendations: numArticlesRef description said max 1000 but schema is max 100; corrected the doc.
- common/utils.mjs: pluckFields now uses Object.hasOwn so a requested field name that collides with an inherited prop (e.g. toString) is not copied; own result fields still are.
- dappier.app.mjs: reworded startDate default from the brittle/off-by-one '7 days before today' to 'the last 7 days (UTC), i.e. today and the six prior days', matching observed API behavior.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* fix(dappier): resolve one-sided analytics date windows before sending

Verified against the live API: omitting either start_date or end_date makes
Dappier reset BOTH bounds to its default trailing-7-day window, silently
discarding the bound the caller supplied — so a one-sided range returned the
wrong period. resolveDateRange() now fills the missing bound (missing end ->
today UTC; missing start -> 6 days before the end) and always sends both, so a
supplied bound is honored; both-omitted still defers to the API default. All
four analytics actions use it; start/end prop docs updated.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* fix(dappier): match analytics date-range cap to the API (inclusive days)

Probed the live API: it accepts a 364-day start/end difference (365 inclusive
days) and returns 400 at a 365-day difference (366 inclusive days).
validateDateRange used '> 365 days difference', so a 365-day-difference window
slipped past the fail-fast and hit a raw API 400. Now counts inclusive days
(difference + 1) and caps at 365, matching the API exactly.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* docs(dappier): note session_intelligence wrapper in get-session-intelligence description

The API nests all six breakdowns under a single top-level `session_intelligence`
object (verified live). The description listed them as if they were root keys,
so an agent would look for them at the root and miss the `session_intelligence.`
prefix. Description-only; no behavior change.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* docs(dappier): use camelCase widgetId in session-intelligence example

The example told the agent to pass `widget_id`, but the input prop is
`widgetId` (run() maps it to the `widget_id` query param). Match the example
to the prop the agent actually sets. Description-only.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* docs(dappier): use camelCase prop names in remaining action examples

Same fix as get-session-intelligence, applied to the sibling descriptions:
the agent-facing 'Example:' hints used API param names (start_date, end_date,
campaign_id, data_model_id) instead of the camelCase input props (startDate,
endDate, campaignId, dataModelId). API-mapping mentions stay snake_case.
Description-only; no behavior change.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* docs(dappier): camelCase input-guidance for model-id props

The 'Provide a ...' input guidance used API param names — get-ai-recommendations
said 'Provide a data_model_id' (prop is dataModelId) and search-real-time-data
said 'Provide an ai_model_id' (prop is aiModelId). Use the camelCase input keys;
snake_case is retained only where describing the API request mapping
(query param / path template). Description-only.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* Adding missing dependencies field

---------

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-authored-by: GTFalcao <gtfalcao96@gmail.com>
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.