Skip to content

vutoolkit v0.1.0

Choose a tag to compare

@GoatInAHat GoatInAHat released this 16 Sep 20:06
· 15 commits to main since this release

vutoolkit v0.1.0 — first public release

Universal toolkit for Vanderbilt student life, built for AI agents first: zero-step SSO, a live academic record, GPA truth-checking, and a web UI — shipped as one MCP server, an OpenClaw plugin, a CLI, and a browser extension.

Zero-step auth

  • sessions.ensure — returns a cached session or mints one invisibly: OneVU passkey ceremony for Vanderbilt, Entra-carry (identifier-first + KMSI fallback) for Microsoft. The agent's only decision is calling ensure — never how auth happens.
  • Session liveness — cached sessions are probed against the real service; dead-but-unexpired sessions are re-minted automatically, so cookies never fail on first use. Freshly minted sessions skip the probe.
  • sessions.refresh (force re-mint), sessions.forget, sessions.list, sessions.open.
  • Session values live in a file-backed vault (0600, per-IdP domain allowlist, metadata-only tool output). Only two secrets are needed (VANDERBILT_EMAIL, VANDERBILT_PASSKEY) and the Microsoft chain needs none.

Academic record & GPA

  • record.fetch — live YES academic record through seamless auth: the aai shell is walked for the academic-record endpoint and parsed into a chronological transcript. If the session dies mid-fetch, one forced re-mint retry happens before surfacing a failure.
  • gpa.verify — recomputes per-term GPAs from posted marks and compares against the numbers Vanderbilt posted (truncation-aware exact match). Run it before trusting any what-if output.
  • grades.whatif — what-if GPA planning on the synthetic fixture or a live transcript.

Surfaces

  • MCP server (stdio and HTTP) and an OpenClaw plugin (gateway tools + a Control UI tab).
  • CLI (node --import tsx src/toolfactory/cli.ts <operation>).
  • Web UI (shadcn) served by the plugin at /plugins/vutoolkit/web or standalone.
  • Browser extension (Chrome/Firefox/Edge) paired to a kernel over the relay.

Install

  • OpenClaw: openclaw plugins install --link hosts/openclaw from a checkout, or install the released plugin tarball.
  • Local dev: bash .agents/setup, then npx toolfactory check / npm test.
  • After touching web/ or core source on a linked install: npm run relink rebuilds web/dist and refreshes the host plugin in one step.

Quality

61 unit tests across 10 files, toolfactory drift gates (check/build), per-surface upstream validators, and a scripted (no-LLM) end-to-end OpenClaw check run in release CI.

Release engineering status

  • This first cut was published from a verified local build: 61/61 unit tests, drift gates green, npm tarball ships the built web UI, plugin tarball and web bundle attached here.
  • npm registry publication and browser-store submission will ride the tag-driven CI on a subsequent cut once (a) the upstream toolfactory validate scaffold-drift is fixed (openclaw-native/web surfaces, toolfactory lane) and (b) an NPM_TOKEN secret is configured on the repository.
  • Browser-extension zips are not attached in this first cut; they arrive with the first CI-driven release.