🎩 You're Invited:Meet the Socket team at Black Hat in Las Vegas, August 3-6.RSVP
Sign In

@ttctl/core

Package Overview
Dependencies
Maintainers
1
Versions
23
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@ttctl/core

Core library for Toptal Talent platform integration: API client, auth, services

latest
Source
npmnpm
Version
0.2.0
Version published
Weekly downloads
25
-60.94%
Maintainers
1
Weekly downloads
 
Created
Source

@ttctl/core

npm License

Core library for the TTCtl toolkit — Toptal Talent platform API client, auth, transport, and service namespaces.

Unofficial. TTCtl is NOT affiliated with, endorsed by, or supported by Toptal LLC. See the project README for the full use policy and disclaimer.

Audience

Library consumers who want programmatic access to the surfaces the ttctl CLI exposes — including the typed GraphQL clients, the bearer-token auth lifecycle, the Chrome-TLS-impersonating transport for Cloudflare-protected endpoints, and the YAML config loader.

End users should install the ttctl umbrella package instead — it ships the CLI binary and the MCP server.

Install

npm install @ttctl/core

Requires Node.js ≥ 22.19.0, ESM only.

API Surface

  • ConfigresolveConfig, loadConfigFile, ConfigError, ConfigLoadSchema, ConfigWriteSchema, discoverConfigPath
  • Config writerwriteNewConfig (bootstrap), persistAuthToken / clearAuthToken (atomic single-file token lifecycle), AuthTokenPersistError, acquireConfigLock
  • AuthsignIn, signOut, getAuthStatus, resolveCredentials, SignInError, AuthRevokedError, TtctlError
  • TransportstockTransport (mobile gateway), impersonatedTransport / impersonatedMultipartTransport (Chrome-TLS impersonation for Cloudflare-protected surfaces), callSurface, Cf403Error, Cf403PersistentError, RedirectError (no-follow redirect policy, issue #268), SchedulerBearerExpired, IMPERSONATE_PROFILE, getRedirectLocation, buildDryRunPreview, buildGraphQLMultipart
  • ResilienceTransportError, readTransportConfig, resetTransportConfigCache
  • Service namespacesprofile, applications, contracts, engagements, availability, jobs, payments, surveys, timesheet
  • 1PasswordresolveOnePasswordReference, OnePasswordError
  • DiagnosticssetDiagnosticLogger / getDiagnosticLogger / resetDiagnosticLogger, logTransportRequest, logTransportResponse
  • RedactionredactBody, redactHeaders, containsBearerToken, BEARER_PATTERN, BEARER_PATTERN_SOURCE, SECRET_BODY_FIELD_NAMES, SECRET_HEADER_NAMES
  • UtilitiesparseDateInput, DateInputError, splitParagraphs

The full export list lives in src/index.ts.

Example

import { resolveConfig, getAuthStatus, profile } from "@ttctl/core";

// Resolve config from --config arg / TTCTL_CONFIG_FILE env / ~/.ttctl.yaml
const { config } = resolveConfig();
const token = config.auth.token ?? "";

const status = await getAuthStatus(token);
if (status.status !== "valid") {
  throw new Error(`Not signed in: ${status.status}`);
}

// Use a service sub-namespace — `profile` splits into `basic`, `skills`,
// `employment`, `education`, … (see `src/services/profile/index.ts`).
const me = await profile.basic.show(token);
console.log(me.viewer?.viewerRole.fullName);

License

AGPL-3.0-only. Importing @ttctl/core into your own code means the combined work is covered by AGPL-3.0; distribution triggers source-disclosure under AGPL § 13 if the combined work is offered as a network service. See the project README's License section for the maintainer's posture.

Keywords

toptal-talent

FAQs

Package last updated on 11 Jul 2026

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts