Big News: Socket raises $60M Series C at a $1B valuation to secure software supply chains for AI-driven development.Announcement
Sign In

@socketsecurity/sdk

Package Overview
Dependencies
Maintainers
2
Versions
185
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@socketsecurity/sdk - npm Package Compare versions

Comparing version
3.3.0
to
3.3.1
+10
-2
CHANGELOG.md

@@ -7,2 +7,12 @@ # Changelog

## [3.3.1](https://github.com/SocketDev/socket-sdk-js/releases/tag/v3.3.1) - 2026-03-03
### Changed
- **createRepository**: Now requires `repoSlug` as second parameter with typed options including `workspace`, `visibility`, `homepage`, `archived`, `default_branch`, and `description`
### Added
- New API endpoints from OpenAPI sync: CSV/PDF export for full scans, delete triage alerts, new alert types
## [3.3.0](https://github.com/SocketDev/socket-sdk-js/releases/tag/v3.3.0) - 2026-01-25

@@ -346,4 +356,2 @@

See [docs/migration-v3.md](./docs/migration-v3.md) and [docs/when-to-use-what.md](./docs/when-to-use-what.md) for migration guidance.
## [2.0.7](https://github.com/SocketDev/socket-sdk-js/releases/tag/v2.0.7) - 2025-10-22

@@ -350,0 +358,0 @@

@@ -15,2 +15,6 @@ {

},
"createFullScan": {
"quota": 0,
"permissions": ["full-scans:create"]
},
"createOrgFullScan": {

@@ -231,4 +235,20 @@ "quota": 0,

"permissions": []
},
"batchOrgPackageFetch": {
"quota": 100,
"permissions": ["packages:list"]
},
"exportOpenVEX": {
"quota": 0,
"permissions": ["report:read"]
},
"getOrgAlertFullScans": {
"quota": 10,
"permissions": ["alerts:list"]
},
"rescanFullScan": {
"quota": 0,
"permissions": ["full-scans:create"]
}
}
}
+1
-1

@@ -16,2 +16,2 @@ import type { ALERT_ACTION } from './types';

export declare const httpAgentNames: Set<string>;
export declare const publicPolicy: Map<"ambiguousClassifier" | "badEncoding" | "badSemver" | "badSemverDependency" | "bidi" | "binScriptConfusion" | "chromeContentScript" | "chromeHostPermission" | "chromePermission" | "chromeWildcardHostPermission" | "chronoAnomaly" | "compromisedSSHKey" | "copyleftLicense" | "criticalCVE" | "cve" | "debugAccess" | "deprecated" | "deprecatedException" | "deprecatedLicense" | "didYouMean" | "dynamicRequire" | "emptyPackage" | "envVars" | "explicitlyUnlicensedItem" | "extraneousDependency" | "fileDependency" | "filesystemAccess" | "floatingDependency" | "generic" | "ghaArgToEnv" | "ghaArgToOutput" | "ghaArgToSink" | "ghaContextToEnv" | "ghaContextToOutput" | "ghaContextToSink" | "ghaEnvToSink" | "gitDependency" | "gitHubDependency" | "gptAnomaly" | "gptDidYouMean" | "gptMalware" | "gptSecurity" | "hasNativeCode" | "highEntropyStrings" | "homoglyphs" | "httpDependency" | "installScripts" | "invalidPackageJSON" | "invisibleChars" | "licenseChange" | "licenseException" | "licenseSpdxDisj" | "longStrings" | "majorRefactor" | "malware" | "manifestConfusion" | "mediumCVE" | "mildCVE" | "minifiedFile" | "miscLicenseIssues" | "missingAuthor" | "missingDependency" | "missingLicense" | "missingTarball" | "mixedLicense" | "modifiedException" | "modifiedLicense" | "networkAccess" | "newAuthor" | "noAuthorData" | "noBugTracker" | "noLicenseFound" | "noREADME" | "noRepository" | "noTests" | "noV1" | "noWebsite" | "nonOSILicense" | "nonSPDXLicense" | "nonpermissiveLicense" | "notice" | "obfuscatedFile" | "obfuscatedRequire" | "peerDependency" | "potentialVulnerability" | "recentlyPublished" | "semverAnomaly" | "shellAccess" | "shellScriptOverride" | "shrinkwrap" | "socketUpgradeAvailable" | "suspiciousStarActivity" | "suspiciousString" | "telemetry" | "tooManyFiles" | "trivialPackage" | "troll" | "typeModuleCompatibility" | "uncaughtOptionalDependency" | "unclearLicense" | "unidentifiedLicense" | "unmaintained" | "unpopularPackage" | "unpublished" | "unresolvedRequire" | "unsafeCopyright" | "unstableOwnership" | "unusedDependency" | "urlStrings" | "usesEval" | "vsxActivationWildcard" | "vsxDebuggerContribution" | "vsxExtensionDependency" | "vsxExtensionPack" | "vsxProposedApiUsage" | "vsxUntrustedWorkspaceSupported" | "vsxVirtualWorkspaceSupported" | "vsxWebviewContribution" | "vsxWorkspaceContainsActivation" | "zeroWidth", ALERT_ACTION>;
export declare const publicPolicy: Map<"ambiguousClassifier" | "badEncoding" | "badSemver" | "badSemverDependency" | "bidi" | "binScriptConfusion" | "chromeContentScript" | "chromeHostPermission" | "chromePermission" | "chromeWildcardHostPermission" | "chronoAnomaly" | "compromisedSSHKey" | "copyleftLicense" | "criticalCVE" | "cve" | "debugAccess" | "deprecated" | "deprecatedException" | "deprecatedLicense" | "didYouMean" | "dynamicRequire" | "emptyPackage" | "envVars" | "explicitlyUnlicensedItem" | "extraneousDependency" | "fileDependency" | "filesystemAccess" | "floatingDependency" | "generic" | "ghaArgToEnv" | "ghaArgToOutput" | "ghaArgToSink" | "ghaContextToEnv" | "ghaContextToOutput" | "ghaContextToSink" | "ghaEnvToSink" | "gitDependency" | "gitHubDependency" | "gptAnomaly" | "gptDidYouMean" | "gptMalware" | "gptSecurity" | "hasNativeCode" | "highEntropyStrings" | "homoglyphs" | "httpDependency" | "installScripts" | "invalidPackageJSON" | "invisibleChars" | "licenseChange" | "licenseException" | "licenseSpdxDisj" | "longStrings" | "majorRefactor" | "malware" | "manifestConfusion" | "mediumCVE" | "mildCVE" | "minifiedFile" | "miscLicenseIssues" | "missingAuthor" | "missingDependency" | "missingLicense" | "missingTarball" | "mixedLicense" | "modifiedException" | "modifiedLicense" | "networkAccess" | "newAuthor" | "noAuthorData" | "noBugTracker" | "noLicenseFound" | "noREADME" | "noRepository" | "noTests" | "noV1" | "noWebsite" | "nonOSILicense" | "nonSPDXLicense" | "nonpermissiveLicense" | "notice" | "obfuscatedFile" | "obfuscatedRequire" | "peerDependency" | "potentialVulnerability" | "recentlyPublished" | "semverAnomaly" | "shellAccess" | "shellScriptOverride" | "shrinkwrap" | "skillAutonomyAbuse" | "skillCommandInjection" | "skillDataExfiltration" | "skillDiscoveryAbuse" | "skillHardcodedSecrets" | "skillObfuscation" | "skillPromptInjection" | "skillResourceAbuse" | "skillSupplyChain" | "skillToolAbuse" | "skillToolChaining" | "skillTransitiveTrust" | "socketUpgradeAvailable" | "suspiciousStarActivity" | "suspiciousString" | "telemetry" | "tooManyFiles" | "trivialPackage" | "troll" | "typeModuleCompatibility" | "uncaughtOptionalDependency" | "unclearLicense" | "unidentifiedLicense" | "unmaintained" | "unpopularPackage" | "unpublished" | "unresolvedRequire" | "unsafeCopyright" | "unstableOwnership" | "unusedDependency" | "urlStrings" | "usesEval" | "vsxActivationWildcard" | "vsxDebuggerContribution" | "vsxExtensionDependency" | "vsxExtensionPack" | "vsxProposedApiUsage" | "vsxUntrustedWorkspaceSupported" | "vsxVirtualWorkspaceSupported" | "vsxWebviewContribution" | "vsxWorkspaceContainsActivation" | "zeroWidth", ALERT_ACTION>;

@@ -19,2 +19,3 @@ /**

response: IncomingMessage;
url?: string | undefined;
/**

@@ -24,3 +25,3 @@ * Create a new ResponseError from an HTTP response.

*/
constructor(response: IncomingMessage, message?: string);
constructor(response: IncomingMessage, message?: string, url?: string | undefined);
}

@@ -79,3 +80,3 @@ /**

*/
export declare function getResponseJson(response: IncomingMessage, method?: string | undefined): Promise<JsonValue | undefined>;
export declare function getResponseJson(response: IncomingMessage, method?: string | undefined, url?: string | undefined): Promise<JsonValue | undefined>;
/**

@@ -82,0 +83,0 @@ * Create DELETE request with automatic retry logic.

@@ -12,5 +12,5 @@ /**

export type { ALERT_ACTION, ALERT_TYPE, Agent, ArtifactPatches, BatchPackageFetchResultType, BatchPackageStreamOptions, CompactSocketArtifact, CompactSocketArtifactAlert, CreateDependenciesSnapshotOptions, CreateOrgFullScanOptions, CreateScanFromFilepathsOptions, CustomResponseType, Entitlement, EntitlementsResponse, FileValidationCallback, FileValidationResult, GetOptions, GotOptions, HeadersRecord, PatchFile, PatchRecord, PatchViewResponse, TelemetryConfig, PostOrgTelemetryPayload, PostOrgTelemetryResponse, QueryParams, RequestInfo, RequestOptions, RequestOptionsWithHooks, ResponseInfo, SecurityAlert, SendMethod, SendOptions, SocketArtifact, SocketArtifactAlert, SocketArtifactWithExtras, SocketId, SocketMetricSchema, SocketSdkArrayElement, SocketSdkData, SocketSdkErrorResult, SocketSdkGenericResult, SocketSdkOperations, SocketSdkOptions, SocketSdkResult, SocketSdkSuccessResult, StreamOrgFullScanOptions, UploadManifestFilesError, UploadManifestFilesOptions, UploadManifestFilesResponse, UploadManifestFilesReturnType, Vulnerability, } from './types';
export type { CreateFullScanOptions, DeleteRepositoryLabelResult, DeleteResult, FullScanItem, FullScanListData, FullScanListResult, FullScanResult, GetRepositoryOptions, ListFullScansOptions, ListRepositoriesOptions, OrganizationItem, OrganizationsResult, RepositoriesListData, RepositoriesListResult, RepositoryItem, RepositoryLabelItem, RepositoryLabelResult, RepositoryLabelsListData, RepositoryLabelsListResult, RepositoryResult, StreamFullScanOptions, StrictErrorResult, StrictResult, } from './types-strict';
export type { CreateFullScanOptions, DeleteRepositoryLabelResult, DeleteResult, FullScanItem, FullScanListData, FullScanListResult, FullScanResult, GetRepositoryOptions, ListFullScansOptions, ListRepositoriesOptions, OrganizationItem, OrganizationsResult, RepositoriesListData, RepositoriesListResult, RepositoryItem, RepositoryLabelItem, RepositoryLabelResult, RepositoryLabelsListData, RepositoryLabelsListResult, RepositoryListItem, RepositoryResult, StreamFullScanOptions, StrictErrorResult, StrictResult, } from './types-strict';
export { createUserAgentFromPkgJson } from './user-agent';
export { calculateWordSetSimilarity, filterRedundantCause, normalizeBaseUrl, promiseWithResolvers, queryToSearchParams, resolveAbsPaths, resolveBasePath, shouldOmitReason, };
export { DEFAULT_USER_AGENT, httpAgentNames, publicPolicy };

@@ -115,3 +115,3 @@ import type { ArtifactPatches, BatchPackageFetchResultType, BatchPackageStreamOptions, CreateDependenciesSnapshotOptions, Entitlement, GetOptions, PatchViewResponse, PostOrgTelemetryPayload, PostOrgTelemetryResponse, QueryParams, SendOptions, SocketSdkGenericResult, SocketSdkOptions, SocketSdkResult, StreamOrgFullScanOptions, UploadManifestFilesError, UploadManifestFilesOptions, UploadManifestFilesReturnType } from './types';

* @apiEndpoint POST /orgs/{org_slug}/full-scans
* @quota 1 unit
* @quota 0 units
* @scopes full-scans:create

@@ -125,5 +125,38 @@ * @throws {Error} When server returns 5xx status codes

*
* @param orgSlug - Organization identifier
* @param options - Diff scan creation options
* @param options.after - ID of the after/head full scan (newer)
* @param options.before - ID of the before/base full scan (older)
* @param options.description - Description of the diff scan
* @param options.external_href - External URL to associate with the diff scan
* @param options.merge - Set true for merged commits, false for open PR diffs
* @returns Diff scan details
*
* @example
* ```typescript
* const result = await sdk.createOrgDiffScanFromIds('my-org', {
* before: 'scan-id-1',
* after: 'scan-id-2',
* description: 'Compare versions',
* merge: false
* })
*
* if (result.success) {
* console.log('Diff scan created:', result.data.diff_scan.id)
* }
* ```
*
* @see https://docs.socket.dev/reference/createorgdiffscanfromids
* @apiEndpoint POST /orgs/{org_slug}/diff-scans/from-ids
* @quota 0 units
* @scopes diff-scans:create, full-scans:list
* @throws {Error} When server returns 5xx status codes
*/
createOrgDiffScanFromIds(orgSlug: string, queryParams?: QueryParams | undefined): Promise<SocketSdkResult<'createOrgDiffScanFromIds'>>;
createOrgDiffScanFromIds(orgSlug: string, options: {
after: string;
before: string;
description?: string | undefined;
external_href?: string | undefined;
merge?: boolean | undefined;
}): Promise<SocketSdkResult<'createOrgDiffScanFromIds'>>;
/**

@@ -182,3 +215,10 @@ * Create a full scan from an archive file (.tar, .tar.gz/.tgz, or .zip).

* @param orgSlug - Organization identifier
* @param params - Repository configuration (name, description, homepage, etc.)
* @param repoSlug - Repository name/slug
* @param params - Additional repository configuration
* @param params.archived - Whether the repository is archived
* @param params.default_branch - Default branch of the repository
* @param params.description - Description of the repository
* @param params.homepage - Homepage URL of the repository
* @param params.visibility - Visibility setting ('public' or 'private')
* @param params.workspace - Workspace of the repository
* @returns Created repository details

@@ -188,6 +228,6 @@ *

* ```typescript
* const result = await sdk.createRepository('my-org', {
* name: 'my-repo',
* const result = await sdk.createRepository('my-org', 'my-repo', {
* description: 'My project repository',
* homepage: 'https://example.com'
* homepage: 'https://example.com',
* visibility: 'private'
* })

@@ -202,7 +242,14 @@ *

* @apiEndpoint POST /orgs/{org_slug}/repos
* @quota 1 unit
* @quota 0 units
* @scopes repo:write
* @throws {Error} When server returns 5xx status codes
*/
createRepository(orgSlug: string, params?: QueryParams | undefined): Promise<RepositoryResult | StrictErrorResult>;
createRepository(orgSlug: string, repoSlug: string, params?: {
archived?: boolean | undefined;
default_branch?: null | string | undefined;
description?: null | string | undefined;
homepage?: null | string | undefined;
visibility?: 'private' | 'public' | undefined;
workspace?: string | undefined;
} | undefined): Promise<RepositoryResult | StrictErrorResult>;
/**

@@ -229,3 +276,3 @@ * Create a new repository label for an organization.

* @apiEndpoint POST /orgs/{org_slug}/repos/labels
* @quota 1 unit
* @quota 0 units
* @scopes repo-label:create

@@ -255,3 +302,3 @@ * @throws {Error} When server returns 5xx status codes

* @apiEndpoint DELETE /orgs/{org_slug}/full-scans/{full_scan_id}
* @quota 1 unit
* @quota 0 units
* @scopes full-scans:delete

@@ -300,3 +347,3 @@ * @throws {Error} When server returns 5xx status codes

* @apiEndpoint DELETE /orgs/{org_slug}/repos/{repo_slug}
* @quota 1 unit
* @quota 0 units
* @scopes repo:write

@@ -326,3 +373,3 @@ * @throws {Error} When server returns 5xx status codes

* @apiEndpoint DELETE /orgs/{org_slug}/repos/labels/{label_id}
* @quota 1 unit
* @quota 0 units
* @scopes repo-label:delete

@@ -414,3 +461,3 @@ * @throws {Error} When server returns 5xx status codes

* @apiEndpoint GET /orgs/{org_slug}/export/openvex/{id}
* @quota 1 unit
* @quota 0 units
* @scopes report:read

@@ -461,2 +508,31 @@ * @throws {Error} When server returns 5xx status codes

/**
* Get GitHub-flavored markdown comments for a diff scan.
* Returns dependency overview and alert comments suitable for pull requests.
*
* @param orgSlug - Organization identifier
* @param diffScanId - Diff scan identifier
* @param options - Optional query parameters
* @param options.github_installation_id - GitHub installation ID for settings
* @returns Diff scan metadata with formatted markdown comments
*
* @example
* ```typescript
* const result = await sdk.getDiffScanGfm('my-org', 'diff-scan-id')
*
* if (result.success) {
* console.log(result.data.dependency_overview_comment)
* console.log(result.data.dependency_alert_comment)
* }
* ```
*
* @see https://docs.socket.dev/reference/getdiffscangfm
* @apiEndpoint GET /orgs/{org_slug}/diff-scans/{diff_scan_id}/gfm
* @quota 0 units
* @scopes diff-scans:list
* @throws {Error} When server returns 5xx status codes
*/
getDiffScanGfm(orgSlug: string, diffScanId: string, options?: {
github_installation_id?: string | undefined;
} | undefined): Promise<SocketSdkResult<'GetDiffScanGfm'>>;
/**
* Retrieve the enabled entitlements for an organization.

@@ -497,3 +573,3 @@ *

* @apiEndpoint GET /orgs/{org_slug}/full-scans/{full_scan_id}
* @quota 1 unit
* @quota 0 units
* @scopes full-scans:list

@@ -525,3 +601,3 @@ * @throws {Error} When server returns 5xx status codes

* @apiEndpoint GET /orgs/{org_slug}/full-scans/{full_scan_id}/metadata
* @quota 1 unit
* @quota 0 units
* @scopes full-scans:list

@@ -749,3 +825,3 @@ * @throws {Error} When server returns 5xx status codes

* @apiEndpoint GET /orgs/{org_slug}/repos/{repo_slug}
* @quota 1 unit
* @quota 0 units
* @scopes repo:read

@@ -777,3 +853,3 @@ * @throws {Error} When server returns 5xx status codes

* @apiEndpoint GET /orgs/{org_slug}/repos/labels/{label_id}
* @quota 1 unit
* @quota 0 units
* @scopes repo-label:list

@@ -791,5 +867,34 @@ * @throws {Error} When server returns 5xx status codes

/**
* Get list of supported file types for full scan generation.
* Returns glob patterns for supported manifest files, lockfiles, and configuration formats.
*
* Files whose names match the patterns returned by this endpoint can be uploaded
* for report generation. Examples include `package.json`, `package-lock.json`, and `yarn.lock`.
*
* @param orgSlug - Organization identifier
* @returns Nested object with environment and file type patterns
*
* @example
* ```typescript
* const result = await sdk.getSupportedFiles('my-org')
*
* if (result.success) {
* console.log('NPM patterns:', result.data.NPM)
* console.log('PyPI patterns:', result.data.PyPI)
* }
* ```
*
* @see https://docs.socket.dev/reference/getsupportedfiles
* @apiEndpoint GET /orgs/{org_slug}/supported-files
* @quota 0 units
* @scopes No scopes required, but authentication is required
* @throws {Error} When server returns 5xx status codes
*/
getSupportedFiles(orgSlug: string): Promise<SocketSdkResult<'getSupportedFiles'>>;
/**
* Get list of file types and formats supported for scanning.
* Returns supported manifest files, lockfiles, and configuration formats.
*
* @deprecated Use getSupportedFiles() instead. This endpoint has been deprecated
* since 2023-01-15 and now uses the /report/supported endpoint.
* @throws {Error} When server returns 5xx status codes

@@ -825,3 +930,3 @@ */

* @apiEndpoint GET /orgs/{org_slug}/full-scans
* @quota 1 unit
* @quota 0 units
* @scopes full-scans:list

@@ -851,3 +956,3 @@ * @throws {Error} When server returns 5xx status codes

* @apiEndpoint GET /organizations
* @quota 1 unit
* @quota 0 units
* @throws {Error} When server returns 5xx status codes

@@ -889,3 +994,3 @@ */

* @apiEndpoint GET /orgs/{org_slug}/repos
* @quota 1 unit
* @quota 0 units
* @scopes repo:list

@@ -918,3 +1023,3 @@ * @throws {Error} When server returns 5xx status codes

* @apiEndpoint GET /orgs/{org_slug}/repos/labels
* @quota 1 unit
* @quota 0 units
* @scopes repo-label:list

@@ -1001,3 +1106,3 @@ * @throws {Error} When server returns 5xx status codes

* @apiEndpoint POST /orgs/{org_slug}/full-scans/{full_scan_id}/rescan
* @quota 1 unit
* @quota 0 units
* @scopes full-scans:create

@@ -1053,3 +1158,3 @@ * @throws {Error} When server returns 5xx status codes

* @apiEndpoint GET /orgs/{org_slug}/full-scans/{full_scan_id}
* @quota 1 unit
* @quota 0 units
* @scopes full-scans:list

@@ -1147,3 +1252,3 @@ * @throws {Error} When server returns 5xx status codes

* @apiEndpoint POST /orgs/{org_slug}/repos/{repo_slug}
* @quota 1 unit
* @quota 0 units
* @scopes repo:write

@@ -1175,3 +1280,3 @@ * @throws {Error} When server returns 5xx status codes

* @apiEndpoint PUT /orgs/{org_slug}/repos/labels/{label_id}
* @quota 1 unit
* @quota 0 units
* @scopes repo-label:update

@@ -1178,0 +1283,0 @@ * @throws {Error} When server returns 5xx status codes

@@ -53,2 +53,3 @@ /**

scan_state?: 'pending' | 'precrawl' | 'resolve' | 'scan' | null | undefined;
scan_type?: string | null | undefined;
updated_at: string;

@@ -83,2 +84,3 @@ workspace?: string | undefined;

repo?: string | undefined;
scan_type?: string | undefined;
sort?: 'name' | 'created_at' | undefined;

@@ -114,5 +116,48 @@ startAfterCursor?: string | undefined;

nextPage?: number | null | undefined;
results: RepositoryItem[];
results: RepositoryListItem[];
};
/**
* Strict type for repository list item.
*/
export type RepositoryListItem = {
archived: boolean;
created_at: string;
default_branch: string | null;
description: string | null;
head_full_scan_id: string | null;
homepage: string | null;
id: string;
integration_meta?: {
/** @enum {string} */
type?: 'github';
value?: {
/**
* @description The GitHub installation_id of the active associated Socket GitHub App
* @default
*/
installation_id: string;
/**
* @description The GitHub login name that the active Socket GitHub App installation is installed to
* @default
*/
installation_login: string;
/**
* @description The name of the associated GitHub repo.
* @default
*/
repo_name: string | null;
/**
* @description The id of the associated GitHub repo.
* @default
*/
repo_id: string | null;
};
} | null | undefined;
name: string;
slug: string;
updated_at: string;
visibility: 'public' | 'private';
workspace: string;
};
/**
* Strict type for repository item.

@@ -155,3 +200,3 @@ */

name: string;
slig?: string | undefined;
slig: string;
slug: string;

@@ -158,0 +203,0 @@ updated_at: string;

@@ -143,2 +143,3 @@ /**

success: false;
url?: string | undefined;
_operation?: T | undefined;

@@ -172,2 +173,3 @@ };

success: false;
url?: string | undefined;
};

@@ -273,10 +275,9 @@ /**

/**
* Number of retry attempts on failure (default: 0, retries disabled).
* Retries are opt-in following Node.js fs.rm() pattern.
* Recommended: 3 for production, 0 for testing.
* Number of retry attempts on failure (default: 3).
* Uses exponential backoff between retries.
*/
retries?: number | undefined;
/**
* Initial delay in milliseconds between retries (default: 100).
* Uses exponential backoff: 100ms, 200ms, 400ms, etc.
* Initial delay in milliseconds between retries (default: 1000).
* Uses exponential backoff: 1000ms, 2000ms, 4000ms, etc.
*/

@@ -283,0 +284,0 @@ retryDelay?: number | undefined;

{
"name": "@socketsecurity/sdk",
"version": "3.3.0",
"packageManager": "pnpm@10.28.1",
"version": "3.3.1",
"packageManager": "pnpm@10.30.3",
"license": "MIT",

@@ -60,3 +60,3 @@ "description": "SDK for the Socket API client",

"@socketregistry/packageurl-js": "1.3.5",
"@socketsecurity/lib": "5.5.3",
"@socketsecurity/lib": "5.7.0",
"form-data": "4.0.5"

@@ -70,5 +70,6 @@ },

"@biomejs/biome": "2.2.4",
"@dotenvx/dotenvx": "^1.51.4",
"@dotenvx/dotenvx": "^1.52.0",
"@eslint/compat": "1.3.2",
"@eslint/js": "9.35.0",
"@sveltejs/acorn-typescript": "1.0.8",
"@types/babel__traverse": "7.28.0",

@@ -78,3 +79,2 @@ "@types/node": "24.9.2",

"@vitest/coverage-v8": "4.0.3",
"@sveltejs/acorn-typescript": "1.0.8",
"acorn": "8.15.0",

@@ -102,4 +102,3 @@ "del": "8.0.1",

"typescript-eslint": "8.44.1",
"vitest": "4.0.3",
"yoctocolors-cjs": "2.1.3"
"vitest": "4.0.3"
},

@@ -106,0 +105,0 @@ "pnpm": {

@@ -5,3 +5,3 @@ # @socketsecurity/sdk

[![CI](https://github.com/SocketDev/socket-sdk-js/actions/workflows/ci.yml/badge.svg)](https://github.com/SocketDev/socket-sdk-js/actions/workflows/ci.yml)
![Coverage](https://img.shields.io/badge/coverage-80%25-brightgreen)
![Coverage](https://img.shields.io/badge/coverage-40%25-orange)

@@ -39,3 +39,3 @@ [![Follow @SocketSecurity](https://img.shields.io/twitter/follow/SocketSecurity?style=social)](https://twitter.com/SocketSecurity)

if (result.success) {
console.log(`Security Score: ${result.data.score}/100`)
console.log(`Dependency Score: ${result.data.depscore}`)
}

@@ -56,20 +56,7 @@

|-------|-------------|
| **[Getting Started](./docs/getting-started.md)** | Quick start for contributors (5 min setup) |
| **[API Reference](./docs/api-reference.md)** | Complete API method documentation |
| **[Usage Examples](./docs/usage-examples.md)** | Real-world patterns and code samples |
| **[Quota Management](./docs/quota-management.md)** | Cost tiers (0/10/100) and utilities |
| **[Testing Guide](./docs/dev/testing.md)** | Test helpers, fixtures, and patterns |
| **[Method Reference](./docs/when-to-use-what.md)** | Quick method selection guide |
## Examples
See **[usage-examples.md](./docs/usage-examples.md)** for complete examples including:
- Package security analysis
- Batch operations
- Full scans with SBOM
- Policy management
- Quota planning
## License
MIT

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display