@tankpkg/sdk 0.0.0-nightly.20260401.49863f7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,53 @@
1
+ import type { DownloadOptions, Permissions, SearchResponse, SkillContent, SkillInfoResponse, TankClientOptions, UserInfo, VersionDetail } from './types.js';
2
+ export declare class TankClient {
3
+ private readonly token;
4
+ private readonly registryUrl;
5
+ private readonly maxRetries;
6
+ private readonly timeoutMs;
7
+ constructor(options?: TankClientOptions);
8
+ private readStreamWithLimit;
9
+ private headers;
10
+ private request;
11
+ private json;
12
+ search(query: string, options?: {
13
+ page?: number;
14
+ limit?: number;
15
+ }): Promise<SearchResponse>;
16
+ info(name: string): Promise<SkillInfoResponse>;
17
+ versions(name: string): Promise<{
18
+ name: string;
19
+ versions: Array<{
20
+ version: string;
21
+ integrity: string;
22
+ auditScore: number | null;
23
+ auditStatus: string;
24
+ publishedAt: string;
25
+ }>;
26
+ }>;
27
+ download(name: string, version: string, options?: DownloadOptions): Promise<ReadableStream | Buffer | void>;
28
+ audit(name: string, version?: string): Promise<VersionDetail>;
29
+ permissions(name: string, version?: string): Promise<Permissions | null>;
30
+ whoami(): Promise<UserInfo | null>;
31
+ startLoginFlow(): Promise<{
32
+ authUrl: string;
33
+ sessionCode: string;
34
+ }>;
35
+ exchangeLoginCode(sessionCode: string, state: string): Promise<{
36
+ token: string;
37
+ user: {
38
+ name: string | null;
39
+ email: string | null;
40
+ };
41
+ } | null>;
42
+ listFiles(name: string, version?: string): Promise<string[]>;
43
+ readFile(name: string, version: string, filePath: string): Promise<string>;
44
+ private batchRead;
45
+ readSkill(name: string, version?: string): Promise<SkillContent>;
46
+ getStarCount(name: string): Promise<{
47
+ count: number;
48
+ isStarred: boolean;
49
+ }>;
50
+ star(name: string): Promise<void>;
51
+ unstar(name: string): Promise<void>;
52
+ }
53
+ //# sourceMappingURL=client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EACV,eAAe,EACf,WAAW,EACX,cAAc,EACd,YAAY,EACZ,iBAAiB,EACjB,iBAAiB,EACjB,QAAQ,EACR,aAAa,EACd,MAAM,YAAY,CAAC;AAyDpB,qBAAa,UAAU;IACrB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAqB;IAC3C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IACrC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;gBAEvB,OAAO,GAAE,iBAAsB;YAQ7B,mBAAmB;IAiBjC,OAAO,CAAC,OAAO;YAaD,OAAO;YAwCP,IAAI;IAsBZ,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,cAAc,CAAC;IAO3F,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAI9C,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;QACpC,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,KAAK,CAAC;YACd,OAAO,EAAE,MAAM,CAAC;YAChB,SAAS,EAAE,MAAM,CAAC;YAClB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;YAC1B,WAAW,EAAE,MAAM,CAAC;YACpB,WAAW,EAAE,MAAM,CAAC;SACrB,CAAC,CAAC;KACJ,CAAC;IAII,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,GAAG,MAAM,GAAG,IAAI,CAAC;IAsD3G,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAU7D,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;IAKxE,MAAM,IAAI,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;IAUlC,cAAc,IAAI,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;IAKnE,iBAAiB,CACrB,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE;YAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;YAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;SAAE,CAAA;KAAE,GAAG,IAAI,CAAC;IASnF,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAO5D,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;YAalE,SAAS;IAqBjB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IA4BhE,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,OAAO,CAAA;KAAE,CAAC;IAI1E,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIjC,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAG1C"}
@@ -0,0 +1,9 @@
1
+ export { LEGACY_LOCKFILE_FILENAME, LEGACY_MANIFEST_FILENAME, LOCKFILE_FILENAME, LOCKFILE_VERSION, MANIFEST_FILENAME, MAX_DESCRIPTION_LENGTH, MAX_FILE_COUNT, MAX_NAME_LENGTH, MAX_PACKAGE_SIZE, REGISTRY_API_VERSION, REGISTRY_URL, REGISTRY_URL as DEFAULT_REGISTRY_URL } from '@internals/schemas';
2
+ export declare const SDK_VERSION = "0.10.6";
3
+ export declare const DEFAULT_CONFIG_DIR = "~/.tank";
4
+ export declare const DEFAULT_MAX_RETRIES = 3;
5
+ export declare const DEFAULT_TIMEOUT_MS = 30000;
6
+ export declare const SUPPORTED_AGENTS: readonly ["opencode", "cursor", "windsurf", "claude-code", "codex"];
7
+ export type SupportedAgent = (typeof SUPPORTED_AGENTS)[number];
8
+ export declare const AGENT_PATHS: Record<SupportedAgent, string>;
9
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,wBAAwB,EACxB,wBAAwB,EACxB,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,EACjB,sBAAsB,EACtB,cAAc,EACd,eAAe,EACf,gBAAgB,EAChB,oBAAoB,EACpB,YAAY,EACZ,YAAY,IAAI,oBAAoB,EACrC,MAAM,oBAAoB,CAAC;AAE5B,eAAO,MAAM,WAAW,WAAW,CAAC;AACpC,eAAO,MAAM,kBAAkB,YAAY,CAAC;AAC5C,eAAO,MAAM,mBAAmB,IAAI,CAAC;AACrC,eAAO,MAAM,kBAAkB,QAAS,CAAC;AAEzC,eAAO,MAAM,gBAAgB,qEAAsE,CAAC;AACpG,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE/D,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,cAAc,EAAE,MAAM,CAMtD,CAAC"}
@@ -0,0 +1,57 @@
1
+ /**
2
+ * Base error for all Tank SDK errors.
3
+ * All typed errors extend this — catch TankError to handle any SDK failure.
4
+ */
5
+ export declare class TankError extends Error {
6
+ /** HTTP status code (if applicable) */
7
+ readonly status?: number;
8
+ /** Original cause of the error */
9
+ readonly cause?: Error;
10
+ constructor(message: string, options?: {
11
+ status?: number;
12
+ cause?: Error;
13
+ });
14
+ }
15
+ /** Thrown when authentication fails (401). */
16
+ export declare class TankAuthError extends TankError {
17
+ constructor(message?: string);
18
+ }
19
+ /** Thrown when a requested resource is not found (404). */
20
+ export declare class TankNotFoundError extends TankError {
21
+ /** The skill name that was not found (if applicable) */
22
+ readonly skillName?: string;
23
+ constructor(message: string, skillName?: string);
24
+ }
25
+ /** Thrown when the user lacks permission for an action (403). */
26
+ export declare class TankPermissionError extends TankError {
27
+ /** Required permissions that exceeded the budget */
28
+ readonly required?: Record<string, unknown>;
29
+ /** Allowed permissions in the project budget */
30
+ readonly allowed?: Record<string, unknown>;
31
+ constructor(message: string, details?: {
32
+ required?: Record<string, unknown>;
33
+ allowed?: Record<string, unknown>;
34
+ });
35
+ }
36
+ /** Thrown when a network request fails (connection, timeout, DNS). */
37
+ export declare class TankNetworkError extends TankError {
38
+ constructor(message: string, cause?: Error);
39
+ }
40
+ /** Thrown when SHA-512 integrity verification fails. */
41
+ export declare class TankIntegrityError extends TankError {
42
+ /** Expected integrity hash */
43
+ readonly expected?: string;
44
+ /** Actual computed hash */
45
+ readonly actual?: string;
46
+ constructor(message: string, details?: {
47
+ expected?: string;
48
+ actual?: string;
49
+ });
50
+ }
51
+ /** Thrown when dependency resolution encounters a conflict. */
52
+ export declare class TankConflictError extends TankError {
53
+ /** Details about the resolution failure */
54
+ readonly details?: string;
55
+ constructor(message: string, details?: string);
56
+ }
57
+ //# sourceMappingURL=errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,qBAAa,SAAU,SAAQ,KAAK;IAClC,uCAAuC;IACvC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,kCAAkC;IAClC,SAAkB,KAAK,CAAC,EAAE,KAAK,CAAC;gBAEpB,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,KAAK,CAAA;KAAE;CAQ1E;AAED,8CAA8C;AAC9C,qBAAa,aAAc,SAAQ,SAAS;gBAC9B,OAAO,SAAmD;CAIvE;AAED,2DAA2D;AAC3D,qBAAa,iBAAkB,SAAQ,SAAS;IAC9C,wDAAwD;IACxD,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;gBAEhB,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM;CAKhD;AAED,iEAAiE;AACjE,qBAAa,mBAAoB,SAAQ,SAAS;IAChD,oDAAoD;IACpD,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC5C,gDAAgD;IAChD,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;gBAE/B,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE;CAMjH;AAED,sEAAsE;AACtE,qBAAa,gBAAiB,SAAQ,SAAS;gBACjC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK;CAI3C;AAED,wDAAwD;AACxD,qBAAa,kBAAmB,SAAQ,SAAS;IAC/C,8BAA8B;IAC9B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,2BAA2B;IAC3B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;gBAEb,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE;CAM9E;AAED,+DAA+D;AAC/D,qBAAa,iBAAkB,SAAQ,SAAS;IAC9C,2CAA2C;IAC3C,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;gBAEd,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM;CAK9C"}
@@ -0,0 +1,7 @@
1
+ export { TankClient } from './client.js';
2
+ export type { SupportedAgent } from './constants.js';
3
+ export { AGENT_PATHS, DEFAULT_CONFIG_DIR, DEFAULT_MAX_RETRIES, DEFAULT_REGISTRY_URL, DEFAULT_TIMEOUT_MS, LOCKFILE_FILENAME, MANIFEST_FILENAME, SDK_VERSION, SUPPORTED_AGENTS } from './constants.js';
4
+ export { TankAuthError, TankConflictError, TankError, TankIntegrityError, TankNetworkError, TankNotFoundError, TankPermissionError } from './errors.js';
5
+ export * from './install/index.js';
6
+ export type { DownloadOptions, ExtractResult, InstallOptions, InstallResult, LinkOptions, LinkResult, Permissions, ProgressEvent, RemoveResult, SearchResponse, SearchResult, SkillContent, SkillInfoResponse, SkillsJson, SkillsLock, TankClientOptions, UpdateResult, UserInfo, VersionDetail } from './types.js';
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,YAAY,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EACL,WAAW,EACX,kBAAkB,EAClB,mBAAmB,EACnB,oBAAoB,EACpB,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,EACjB,WAAW,EACX,gBAAgB,EACjB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,aAAa,EACb,iBAAiB,EACjB,SAAS,EACT,kBAAkB,EAClB,gBAAgB,EAChB,iBAAiB,EACjB,mBAAmB,EACpB,MAAM,aAAa,CAAC;AAErB,cAAc,oBAAoB,CAAC;AAEnC,YAAY,EACV,eAAe,EACf,aAAa,EACb,cAAc,EACd,aAAa,EACb,WAAW,EACX,UAAU,EACV,WAAW,EACX,aAAa,EACb,YAAY,EACZ,cAAc,EACd,YAAY,EACZ,YAAY,EACZ,iBAAiB,EACjB,UAAU,EACV,UAAU,EACV,iBAAiB,EACjB,YAAY,EACZ,QAAQ,EACR,aAAa,EACd,MAAM,YAAY,CAAC"}