@planckspace/core
v0.2.4
Published
Shared types, constants, and utilities consumed by the backend, CLI, extension, and frontend.
Downloads
980
Readme
@planckspace/core
Shared types, constants, and utilities consumed by the backend, CLI, extension, and frontend.
Exports
Types
TelemetryPayload
Session metadata captured by the scraper and extension. Contains only metadata — never prompt or response text.
| Field | Type | Description |
|---|---|---|
| sessionId | string | Unique session identifier |
| tool | "claude_code" \| "cursor" \| "windsurf" \| "antigravity" | AI coding tool used |
| model | string | Model name (e.g. claude-sonnet-4-6) |
| startedAt / endedAt | string | ISO 8601 timestamps |
| inputTokens / outputTokens | number | Token counts |
| cacheReadTokens / cacheWriteTokens | number | Prompt cache token counts |
| costUsd | number | Computed dollar cost |
| repoName | string | Repository name |
| gitBranch | string \| null | Current branch |
| gitAuthorEmail | string \| null | Git author email |
| outcome | "shipped" \| "abandoned" \| "errored" \| "partial" \| "unknown" | Session outcome |
| turnCount | number | Number of conversation turns |
| filesTouchedCount | number | Number of files modified |
| source | "scraper" \| "extension" | Data collection source |
| workspaceId | string | Planckspace workspace ID |
PlanckConfig
Schema for ~/.planckspace/config.json, shared by the CLI and extension.
{
apiUrl: string;
token: string | null;
workspaceId: string | null;
workspaceName: string | null;
pausedWorkspaces: string[];
}SkillRecRequest / SkillRecResponse
Request/response types for the skill recommendation API.
type SkillRecRequest = {
workspaceId: string;
detectedStack: string[];
recentActivityHints: string[];
};
type SkillRecResponse = {
recommendations: Array<{
skillName: string;
reason: string;
estimatedMonthlySavingsUsd: number;
}>;
};Constants
MODEL_PRICING
Per-million-token pricing keyed by model name. Fields: input, output, cacheRead, cacheWrite.
Note: Verify current pricing at docs.claude.com before shipping.
Functions
computeCostUsd(usage, model): number
Computes dollar cost from token counts using MODEL_PRICING. Returns 0 for unknown models.
import { computeCostUsd } from "@planckspace/core";
const cost = computeCostUsd(
{ inputTokens: 10_000, outputTokens: 2_000, cacheReadTokens: 5_000, cacheWriteTokens: 0 },
"claude-sonnet-4-6"
);Development
npm install
npm run build # compiles to dist/
npm test # runs unit testsPublishing
npm publish # runs prepublishOnly (build) then publishes to npmThe package is scoped to @planckspace and published with "access": "public". Ensure you are authenticated (npm login) and have publish rights to the planckspace-dev org before running npm publish.
