Skip to content

Add standalone TypeScript MicroApp client - #11

Open
xaviablaza wants to merge 1 commit into
mainfrom
feat/standalone-typescript-client
Open

Add standalone TypeScript MicroApp client#11
xaviablaza wants to merge 1 commit into
mainfrom
feat/standalone-typescript-client

Conversation

@xaviablaza

Copy link
Copy Markdown
Contributor

Summary

  • add a standalone Node.js 20+ TypeScript SDK and nvg micro-apps CLI under typescript/
  • implement MicroApp create/list/show plus direct archive upload, publication creation/finalization/polling, and write-only environment setup
  • package directories as deterministic tar.gz archives and compute Active Storage Base64 MD5 plus publication SHA-256 checksums
  • preserve the existing Rust CLI profile format and keep API bearer credentials isolated from storage uploads
  • publish typed ESM output as @hostari/nvg with CLI and library documentation

Commands

  • nvg micro-apps list|show|create|publish
  • nvg micro-apps publications list|show|finalize
  • nvg micro-apps environment set (JSON secrets from stdin only)

Verification

  • npm run check — typecheck, 7 tests, production ESM/DTS build
  • packed tarball installed into a clean temporary npm project
  • packed nvg --version returned 0.1.0
  • packed SDK import and API request smoke test passed
  • npm audit --omit=dev — 0 vulnerabilities
  • existing Rust cargo test — passed
  • independent pre-commit review — no remaining merge blockers
  • git diff --check — passed

Dependency

The MicroApp endpoints are introduced by hostari/navegante_web#1472. This client follows that PR’s docs/micro-app-cli-api.md contract, including canonical app_port manifest fields and machine-readable error codes.

Notes

The existing Rust implementation remains unchanged. cargo fmt --check currently reports formatting differences in pre-existing Rust files; this PR does not touch those files.

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.

1 participant