2025-10-23 20:14:59 -06:00
#!/usr/bin/env bash
2025-12-12 09:10:50 -07:00
CURRENT_VERSION = $( grep '^version = ' pyproject.toml | sed 's/version = "\(.*\)"/\1/' )
2025-10-24 19:47:53 -06:00
fern generate --group ts-sdk --log-level debug --version " $CURRENT_VERSION " --preview
2025-11-07 12:30:43 -07:00
mkdir -p skyvern-ts/client
2025-12-10 11:12:47 -07:00
mv skyvern-ts/client/src/library skyvern-ts/library
rm -rf skyvern-ts/client
mkdir -p skyvern-ts/client/src/library
mv skyvern-ts/library skyvern-ts/client/src/
2025-10-28 18:14:54 -06:00
cp -rf fern/.preview/fern-typescript-sdk/* skyvern-ts/client/
# Post-processing: Update repository references the monorepo
sed -i.bak 's|Skyvern-AI/skyvern-typescript|Skyvern-AI/skyvern|g' skyvern-ts/client/package.json
sed -i.bak 's|https://github.com/Skyvern-AI/skyvern-typescript/blob/HEAD/./reference.md|https://www.skyvern.com/docs/api-reference/api-reference|g' skyvern-ts/client/README.md
2025-12-10 11:12:47 -07:00
rm -f skyvern-ts/client/package.json.bak skyvern-ts/client/README.md.bak
# Export library classes from main index
cat >> skyvern-ts/client/src/index.ts << 'EOF'
export { Skyvern, SkyvernBrowser, SkyvernBrowserPageAgent, SkyvernBrowserPageAi } from "./library/index.js" ;
export type { SkyvernOptions, SkyvernBrowserPage } from "./library/index.js" ;
EOF
# Rename the API namespace to avoid conflict with Skyvern class
sed -i.bak 's/export \* as Skyvern from/export * as SkyvernApi from/g' skyvern-ts/client/src/index.ts
rm -f skyvern-ts/client/src/index.ts.bak
( cd skyvern-ts/client \
&& rm -rf node_modules package-lock.json \
&& npm install \
&& npx tsc --project ./tsconfig.cjs.json \
&& npx tsc --project ./tsconfig.esm.json \
&& node scripts/rename-to-esm-files.js dist/esm)
pre-commit run --all-files