Luigit
repositories / pi-ext

pi-ext

bugabingas pi extensions

owned by admin

TODO.md

Raw
Rendered preview

TODO

klaus: self-contained-package exception (approved)

  • klaus's @anthropic-ai/claude-agent-sdk is a large per-platform native binary that cannot bundle and cannot ship as a single prebuilt tree. It is declared consumeExternals (pi-ext), so the published package ships no baked node_modules; Pi's git-install npm install resolves the correct per-platform binary. This deliberately breaks the architecture's "runs without ancestor node_modules / self-contained" rule for klaus only.
  • Version is derived from the installed SDK (src/sdk-version.ts), not pinned; binary checksums were removed (npm lockfile integrity is sufficient).
  • PENDING VERIFICATION on win32 and android/Termux (built + tested on linux-x64 only). Android now only locates the installed claude-agent-sdk-linux-arm64 binary and wraps it in a grun glibc shim (bionic has neither glibc nor musl); the on-device npm pack fallback was removed. Note: npm skips the SDK's os: linux packages on an android platform, so the arm64 binary may need manual install there; if android breaks, restore the pack path from git history.

Temporary dependency deviations (revert to */latest when resolved)

  • typescript pinned to next (7.1 nightly): stable 7.0.2 panics on isolatedDeclarations (native declaration-emit bug). Revert to * once TS 7.1 reaches the latest tag.
  • Dropped the typescript programmatic compiler API (not shipped in native TS7); structural checks now parse via oxc-parser (scripts/lib/esast.ts). Reconsider if TS7 publishes a JS API.

Skills

  • fix crome-cdp

Extensions

  • nushell instead bash: models might be ready
  • research claudes/codex "run in bg" tools
# TODO

## klaus: self-contained-package exception (approved)

- klaus's `@anthropic-ai/claude-agent-sdk` is a large per-platform native binary that cannot bundle and cannot ship as a single prebuilt tree. It is declared `consumeExternals` (pi-ext), so the published package ships no baked `node_modules`; Pi's git-install `npm install` resolves the correct per-platform binary. This deliberately breaks the architecture's "runs without ancestor node_modules / self-contained" rule for klaus only.
- Version is derived from the installed SDK (`src/sdk-version.ts`), not pinned; binary checksums were removed (npm lockfile integrity is sufficient).
- PENDING VERIFICATION on win32 and android/Termux (built + tested on linux-x64 only). Android now only locates the installed `claude-agent-sdk-linux-arm64` binary and wraps it in a `grun` glibc shim (bionic has neither glibc nor musl); the on-device `npm pack` fallback was removed. Note: npm skips the SDK's `os: linux` packages on an `android` platform, so the arm64 binary may need manual install there; if android breaks, restore the pack path from git history.

## Temporary dependency deviations (revert to `*`/latest when resolved)

- `typescript` pinned to `next` (7.1 nightly): stable `7.0.2` panics on `isolatedDeclarations` (native declaration-emit bug). Revert to `*` once TS 7.1 reaches the `latest` tag.
- Dropped the `typescript` programmatic compiler API (not shipped in native TS7); structural checks now parse via `oxc-parser` (`scripts/lib/esast.ts`). Reconsider if TS7 publishes a JS API.

## Skills

- fix crome-cdp

## Extensions

- nushell instead bash: models might be ready
- research claudes/codex "run in bg" tools