AbsoluteJS

HCSS

@absolutejs/hcssv0.1.0betaCommerce & Growth

Typed HCSS HeavyJob read client with client credentials, bounded transport, and validated pagination.

#Installation

BASH
bun add @absolutejs/hcss

#Capabilities

Overview

Read-only HeavyJob client for Bun / fetch-compatible runtimes. No Dirt Tracker business rules.

Supports business units, jobs, v2 cursor-paginated cost codes, job materials, and material advanced budgets. Uses only heavyjob:read. Tokens are cached in memory, with concurrent acquisition coalesced. HTTP bodies, requests, pagination and item counts are bounded; redirects are rejected; errors never include credentials or provider bodies. No automatic retries. A failed or truncated read never returns a partial list. Create a client per credential set. Do not expose it to browsers.

HCSS sandbox is a separate company credential context, not an assumed different API hostname. The caller must establish the correct company and authorization. Unknown units are preserved verbatim. Missing amounts and flags remain null, never zero/false. Budget IDs identify cost-code/material/purchase-order-detail relationships. Unknown response fields are discarded. This initial release has contract tests; live sandbox validation is pending access. No write endpoints are provided.

Show 1 more

Sources: credentials, business units, jobs, cost codes, materials, budgets.

Outcomes

What you can build

Overview

Read-only HeavyJob client for Bun / fetch-compatible runtimes. No Dirt Tracker business rules.

Hardening checklist

Production guidance

Make every external boundary explicitPin the deployed @absolutejs/hcss version, replace example or memory-backed dependencies with durable implementations, bound external calls, protect credentials, and emit enough evidence to retry or recover safely.

Follow in order

Troubleshooting path

1
Trace from the first failed boundary
Reproduce the smallest canonical @absolutejs/hcss example, confirm the supported entry point and version in the API explorer, then inspect the first boundary that did not produce its documented result.

#@absolutejs/hcss quick start

Partial snippet

# @absolutejs/hcss

TS
import { createHcssClient } from '@absolutejs/hcss';
const hcss = createHcssClient({ clientId: process.env.HCSS_CLIENT_ID!, clientSecret: process.env.HCSS_CLIENT_SECRET! });
const units = await hcss.businessUnits();
const jobs = await hcss.jobs(units[0]!.id);

#Public entry points

Supported entry points declared by this project’s package manifest. Internal dist paths are not part of the package contract.

@absolutejs/hcssPublic package entry point declared in package.json.

#Package commands

Scripts declared by this project’s package manifest.

bun run buildbun build src/index.ts --outdir dist --target=bun && tsc -p tsconfig.build.json
bun run testbun test
bun run typechecktsc --noEmit

#API reference

Search the declarations exported by the current package type files. Expand a symbol to inspect its source-backed signature.

9 symbols
HcssErrorclassPermalink

HCSS HeavyJob read API. Raw provider units are intentionally preserved.

TS
class HcssError extends Error {
    readonly code: 'INVALID_INPUT' | 'INVALID_RESPONSE' | 'UNAVAILABLE' | 'UNAUTHORIZED' | 'FORBIDDEN' | 'RATE_LIMITED' | 'LIMIT_EXCEEDED';
    readonly httpStatus?: number | undefined;
    constructor(code: 'INVALID_INPUT' | 'INVALID_RESPONSE' | 'UNAVAILABLE' | 'UNAUTHORIZED' | 'FORBIDDEN' | 'RATE_LIMITED' | 'LIMIT_EXCEEDED', httpStatus?: number | undefined);
}
Exported from @absolutejs/hcss