Add kind: "llm" and publish first-party llm packages - #232
Conversation
SDK types, verifier (spec/llm.md § Verification) with tests, store disclosure of tier, data handling, model licence and setup token permissions, and twelve generated packages: eight free hosted endpoints and four open-weight models on pinned llama.cpp in a private Actions sandbox. build-catalog --only now accepts folder packages. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01QwYWVPse8spRrfMMcuTJPv
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
Vercel Generated by Claude Code |
🚀 Deploying Preview to Cloudflare 🚀Preview Deployments by commit
|
OpenCode security review |
|
Both red
I'll re-check once the remaining runs report. Generated by Claude Code |
|
CodeQL The OpenCode security review reported "unavailable" because Generated by Claude Code |
|
Update on Generated by Claude Code |
There was a problem hiding this comment.
Sorry @HereLiesAz, your pull request is larger than the review limit of 150,000 diff characters
Implements
spec/llm.md(still Proposed) and puts llm packages on the store.What changed
packages/sdk/src/llm.ts,public.ts):LlmManifesttypes;Kindnow includes"llm";Manifestgains anllmblock.packages/azp/src/llm.ts):validateLlmManifestcovers every rule in § Verification, andverifyAzpcalls it forkind:"llm".roleandworkflowpackages now refuse anllmblock.submit-checkaccepts the kind. Tests are inllm.test.ts.export-catalogand the Worker type now carry thellmblock.registry/local/com.hereliesaz.azphalt.llm.*, generated from one table bypnpm --filter @azphalt/storefront gen-llm-packages.dataHandlingsaysmay-trainonly where that is documented (Kilo, OpenRouter free, Mistral free tier). The rest sayunknown.setup/setup.shdownloads each file and checks its sha256, failing closed. It re-checks a restored cache too.setup/run.pyimplements the runner protocol: check-run progress, theazphalt-llm-resultartifact, and rolling-delimiter translation with HMAC tags. It rejects output that contains a tag.setup/workflow.ymlpins its actions to SHAs. Its permissions arecontents: read, checks: write, identical torun.permissions.--onlynow accepts a folder package's id (it used to demand a lockfile entry).llm/<id>/), the task JSON, and howsessionKeyand base32 are encoded. Thedocs/specsmirror is synced.Verification
azp128/128,submit-check12/12,storefront-worker32/32 andstorefront5/5 tests pass. Typecheck is clean on all touched packages.verifyAzppasses on all 12 built.azpfiles.<|im_start|>: completed.build-catalog --check: the 12 llm entries match. It still reports 3 remote packages as stale (hello-lut, cool-noir, teal-orange); they were already stale onmain, and this PR doesn't touch them.Not in this PR
storefront-cmp) does not show the llm disclosure yet."llm"registry profile or conformance profile yet.🤖 Generated with Claude Code
https://claude.ai/code/session_01QwYWVPse8spRrfMMcuTJPv
Generated by Claude Code