Repository navigation
ci(platform): sync the webhook event types from production every hour - #336
Merged
Merged
Conversation
A sibling of sync-asyncapi.yml. Each hour it adds the event types the production Outbound Webhooks spec publishes to webhook-event-types.json, regenerates every type from the published schemas, and keeps one rolling PR open when that changes anything, so new events and changed schemas both reach the SDK. Two changes let that PR pass without hand edits: the server entrypoint re-exports every generated data type instead of naming each one, and the type test no longer pins the full list of event types. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Contributor
🚀 Package Preview Available! (
|
Contributor
🚀 Package Preview Available!Install this PR's preview build with npm: npm i @base44-preview/sdk@0.8.54-pr.336.059c4cdPrefer not to change any import paths? Install using npm alias so your code still imports npm i "@base44/sdk@npm:@base44-preview/sdk@0.8.54-pr.336.059c4cd"Or add it to your {
"dependencies": {
"@base44/sdk": "npm:@base44-preview/sdk@0.8.54-pr.336.059c4cd"
}
}
Preview published to npm registry — try new features instantly! |
amitbardos
approved these changes
Oct 18, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds
sync-webhook-events.yml, a sibling ofsync-asyncapi.ymlfor the server webhooks module. It runs hourly at :45, apart from the asyncapi sync's :15. Each run:npm run sync:webhooksappends toscripts/webhook-event-types.jsonevery event type in thewebhookssection of https://app.base44.com/api/v1/outbound-webhooks/openapi.json. It only adds: a retired type leaves the spec, but endpoints that selected it keep receiving it, so the SDK keeps its type.npm run generate:webhooksregenerateswebhooks.events.generated.tsfrom https://base44.com/webhooks/schemas on every run, so a changed schema is picked up even when the list didn't change.bot/platform-webhook-events-sync. With no change, it closes a stale one. This is the same mechanics as the asyncapi sync.Two changes so the bot's PR passes without hand edits:
src/server/index.tsre-exports every generated data type withexport type *instead of naming each one. Before this, a new event's type wasn't exported, and TypeDoc (treatWarningsAsErrors) failed the docs build.tests/types/webhooks.types.tsno longer pins the full list of known types in itsdefaultbranch. It also dropsowner_service_external_idfrom theapp.created.v1fixture: that field was removed from every event in base44-dev/apper#30148.The first run, verified locally, will:
builder.turn_started.v1andbuilder.turn_ended.v1;owner_service_external_idfrom the existing events, matching the published schemas.That's both an added event and an edited one. I ran the workflow's steps against prod: the sync, the generation,
create-docsandnpm test(82 passed). This PR leaves those changes to the bot, so its first PR proves both paths.🤖 Generated with Claude Code