@sentilis/core
v1.1.0
Published
Sentilis Core SDK — isomorphic TypeScript client and Markdown parsing for the Sentilis platform.
Maintainers
Readme
Description
The @sentilis/core library provides the foundational APIs, models, and HTTP clients to programmatically interact with the Sentilis platform.
Designed to be isomorphic — runs in Node, browsers, Deno, Bun, and edge runtimes (Cloudflare Workers, Vercel Edge, etc.) with zero Node-specific runtime imports.
Installation
$ npm install @sentilis/coreQuick Start
import { RestClient } from "@sentilis/core";
const client = new RestClient(process.env.SENTILIS_TOKEN!, "prod", {
// Optional: inject caller-supplied headers (e.g. client name/version)
headers: {
"X-Client-Name": "my-app",
"X-Client-Version": "1.0.0",
},
});
const { data, pagination } = await client.listPress({ visibility: ["public"] });
console.log(data, pagination);Core Modules
RestClient: Isomorphic HTTP wrapper for the Sentilis REST API. Accepts caller-supplied identification headers viaRestClientOptions.validateToken: Verify an authentication token and resolve its owning username.bio: Profile / resume parsing with multi-language variant support.press: Markdown validation and parsing for press resources and their attachments.market: Product schema validation, parsing, and upload payload helpers.workspace:discoverWorkspacewalks abio/+press/+market/tree and returns the entries to push.
Submodule entry points
| Import | What it gives you |
|---|---|
| @sentilis/core | RestClient, validateToken, response types |
| @sentilis/core/bio | Bio types, upload helpers |
| @sentilis/core/press | Press types, upload helpers |
| @sentilis/core/market | Market types, upload helpers |
| @sentilis/core/workspace | discoverWorkspace and the WorkspaceTree / WorkspaceEntry types |
| @sentilis/core/{bio,press,market}/markdown | Frontmatter parsing & metadata builders |
Runtime Compatibility
This package has no Node-only runtime imports. All Node-specific behaviour (OS info, process metadata, package.json lookup) is delegated to the caller via RestClientOptions.headers.
- Node 18+
- Modern browsers (uses
fetchandbtoa) - Deno, Bun
- Edge runtimes (Cloudflare Workers, Vercel Edge, Netlify Edge)
DEBUG=1 is honoured if a process global with env.DEBUG is present; in browsers it is silently ignored.
Development
$ npm install
$ npm run build # tsc → dist/The build emits ESM JavaScript with TypeScript declarations.
Stay in touch
- Website - https://about.sentilis.me
- X - https://x.com/SentilisMe
License
Sentilis Core is AGPL-3.0-only.
