@apppilot/node
v1.0.0
Published
Server SDK for AppPilot AI — signed end-user sessions, webhook verification, and a typed REST client.
Maintainers
Readme
AppPilot SDKs
| Package | Install | Use |
| --- | --- | --- |
| @apppilot/widget | npm i @apppilot/widget | Vanilla JS / any framework |
| @apppilot/react | npm i @apppilot/react | React 18/19, Next.js, Vite |
| @apppilot/node | npm i @apppilot/node | Server: signed sessions, webhook verification, REST |
No npm account needed? Import the self-hosted ESM builds instead:
import { loadAppPilot } from "https://apppilot.tech/sdk/v1/widget.mjs";Local development
bun run build:sdk # bundles ESM builds into public/sdk/v1/
bun run build:packages # builds npm dist/ output for all three packagesReleasing (automated)
Releases run through GitHub Actions — never publish by hand.
- Own the
@apppilotorg on npmjs.com and create an automation token. - Add it as the repository secret
NPM_TOKEN(Settings → Secrets → Actions). - Run the Release SDK workflow (Actions tab → Run workflow) and choose the
bump (
patch/minor/major/ explicit1.2.3), the npm dist-tag, and whether it is a dry run.
The workflow: typechecks → bumps every version in lockstep → builds npm dist and
the hosted ESM bundles → runs scripts/smoke-sdk.mjs against the built
artifacts → verifies each tarball with npm pack --dry-run → generates the
changelog from Conventional Commits → publishes all three packages with
provenance → commits, tags sdk-v<version> and opens a GitHub release.
Any failing smoke test aborts the run before anything is published.
.github/workflows/sdk-ci.yml runs the same build + smoke suite on every PR
touching packages/, and fails if the versions drift out of sync.
Local equivalents
bun run sdk:version patch # bump every version (packages, widget source, app endpoint)
bun run sdk:smoke # build npm + ESM output, then run the release smoke tests
bun run sdk:changelog 1.1.0 # prepend release notes to CHANGELOG.mdCommit messages follow Conventional Commits (feat(react): …, fix(node): …);
the changelog generator groups them and flags ! / BREAKING CHANGE commits.
