@nolgard/webapps-colors
v0.1.1
Published
Autonomous same-origin API client for Pinecone color variables.
Readme
@nolgard/webapps-colors
License
Copyright (c) 2026 Johan Lindqvist. Use of material not already licensed requires prior written permission. See LICENSE.txt. Previously granted MIT and third-party rights remain unchanged.
Autonomous, same-origin Pinecone REST client; no editor, Svelte or DOM dependency.
import { createColorClient } from '@nolgard/webapps-colors'
const client = createColorClient({ apiBase, apiKey })
const colors = await client.list({ source: 'system', includeVariants: true, signal })source is system (default), theme or both. System variants use the
server's existing generated scale, not a separate client-side calculation.
Theme colors use the active theme's --pc-theme-* names; value and
dark_value are resolved previews, not separate selectable variables.
The actual theme variable remains responsible for CSS color-scheme switching.
Requires authenticated GET access to color-variables in REST v1.
Scoped keys need color-variables.read.
Pass an API key at runtime; no credentials are embedded by this package.
Default API base is inferred from the current origin and Pinecone path.
Other installations can supply an explicit same-origin apiBase.
location, fetch and timeoutMs (default 10000) can be injected.
Responses are validated and bounded to 2 MB / 10000 variables; unknown
payload properties are not exposed. Duplicate/invalid variables are errors.
ColorClientError exposes sanitized code and HTTP status, never raw
server errors or credentials. Abort and timeout also cover response reading.
Redirects are rejected so runtime API keys cannot be forwarded off-site.
There is no shared cache, so retries and newly opened configuration forms
always read current system values.
Run npm test in this package.
