@pickaxe/driftstone 1.0.6
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.
- package/LICENSE +1 -0
- package/README.md +102 -0
- package/dist/client.d.ts +30 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +147 -0
- package/dist/client.js.map +1 -0
- package/dist/errors.d.ts +18 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +29 -0
- package/dist/errors.js.map +1 -0
- package/dist/index.d.ts +10 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +7 -0
- package/dist/index.js.map +1 -0
- package/dist/internal/constants.d.ts +2 -0
- package/dist/internal/constants.d.ts.map +1 -0
- package/dist/internal/constants.js +2 -0
- package/dist/internal/constants.js.map +1 -0
- package/dist/internal/transport.d.ts +23 -0
- package/dist/internal/transport.d.ts.map +1 -0
- package/dist/internal/transport.js +89 -0
- package/dist/internal/transport.js.map +1 -0
- package/dist/internal/validation.d.ts +9 -0
- package/dist/internal/validation.d.ts.map +1 -0
- package/dist/internal/validation.js +61 -0
- package/dist/internal/validation.js.map +1 -0
- package/dist/models/index.d.ts +2 -0
- package/dist/models/index.d.ts.map +1 -0
- package/dist/models/index.js +2 -0
- package/dist/models/index.js.map +1 -0
- package/dist/models/repository.d.ts +75 -0
- package/dist/models/repository.d.ts.map +1 -0
- package/dist/models/repository.js +2 -0
- package/dist/models/repository.js.map +1 -0
- package/dist/resources/base.d.ts +9 -0
- package/dist/resources/base.d.ts.map +1 -0
- package/dist/resources/base.js +14 -0
- package/dist/resources/base.js.map +1 -0
- package/dist/resources/index.d.ts +3 -0
- package/dist/resources/index.d.ts.map +1 -0
- package/dist/resources/index.js +2 -0
- package/dist/resources/index.js.map +1 -0
- package/dist/resources/repositories.d.ts +52 -0
- package/dist/resources/repositories.d.ts.map +1 -0
- package/dist/resources/repositories.js +150 -0
- package/dist/resources/repositories.js.map +1 -0
- package/dist/version.d.ts +2 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/version.js +2 -0
- package/dist/version.js.map +1 -0
- package/package.json +51 -0
package/LICENSE
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
UNLICENSED
|
package/README.md
ADDED
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
# Driftstone TypeScript
|
|
2
|
+
|
|
3
|
+
TypeScript SDK for the Driftstone repository API.
|
|
4
|
+
|
|
5
|
+
## Install
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
npm install driftstone
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Quick Start
|
|
12
|
+
|
|
13
|
+
```ts
|
|
14
|
+
import { Driftstone } from "driftstone";
|
|
15
|
+
|
|
16
|
+
const client = new Driftstone({ apiKey: "dk-..." });
|
|
17
|
+
|
|
18
|
+
const repo = await client.repos.create("hello-world");
|
|
19
|
+
|
|
20
|
+
const upload = await client.repos.createUpload("hello-world", {
|
|
21
|
+
storageDir: "ver-1234abcd",
|
|
22
|
+
branch: "main",
|
|
23
|
+
files: [{ name: "README.md", hash: "64-character-sha256-or-client-hash" }],
|
|
24
|
+
});
|
|
25
|
+
|
|
26
|
+
await client.uploadFiles(upload, upload.uploadUrls, ".");
|
|
27
|
+
await client.repos.completeUpload("hello-world", upload.uploadId);
|
|
28
|
+
|
|
29
|
+
const download = await client.repos.createDownload("hello-world", {
|
|
30
|
+
type: "main",
|
|
31
|
+
files: [{ path: "ver-1234abcd/README.md" }],
|
|
32
|
+
});
|
|
33
|
+
|
|
34
|
+
console.log(repo.id, download.downloadUrls);
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
## Configuration
|
|
38
|
+
|
|
39
|
+
```ts
|
|
40
|
+
const client = new Driftstone({
|
|
41
|
+
apiKey: "dk-...",
|
|
42
|
+
version: "v1",
|
|
43
|
+
timeout: 30_000,
|
|
44
|
+
baseUrl: "https://api.driftstone.ai",
|
|
45
|
+
});
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
The default base URL mirrors the Python SDK. Set `baseUrl` when targeting a custom deployment or the public custom domain.
|
|
49
|
+
|
|
50
|
+
## Repositories
|
|
51
|
+
|
|
52
|
+
```ts
|
|
53
|
+
await client.repos.create("hello-world");
|
|
54
|
+
await client.repos.list({ page: 1, pageSize: 10 });
|
|
55
|
+
await client.repos.get("hello-world");
|
|
56
|
+
await client.repos.delete("hello-world");
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
## Branches
|
|
60
|
+
|
|
61
|
+
```ts
|
|
62
|
+
await client.repos.createBranch("hello-world", "feature-readme", {
|
|
63
|
+
storageDir: "state-123",
|
|
64
|
+
transforms: {
|
|
65
|
+
"README.md": "# Example Repo\nUpdated content.\n",
|
|
66
|
+
},
|
|
67
|
+
});
|
|
68
|
+
|
|
69
|
+
await client.repos.listBranches("hello-world");
|
|
70
|
+
await client.repos.getBranch("hello-world", "feature-readme");
|
|
71
|
+
await client.repos.deleteBranch("hello-world", "feature-readme");
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
## Uploads And Downloads
|
|
75
|
+
|
|
76
|
+
```ts
|
|
77
|
+
const upload = await client.repos.createUpload("hello-world", {
|
|
78
|
+
storageDir: "ver-1234abcd",
|
|
79
|
+
files: [{ name: "README.md", hash: "sha256-or-client-hash" }],
|
|
80
|
+
});
|
|
81
|
+
|
|
82
|
+
await client.uploadFiles(upload, upload.uploadUrls, ".");
|
|
83
|
+
await client.repos.completeUpload("hello-world", upload.uploadId);
|
|
84
|
+
|
|
85
|
+
const files = await client.repos.createDirectoryDownload("hello-world", {
|
|
86
|
+
type: "main",
|
|
87
|
+
directory: "ver-1234abcd",
|
|
88
|
+
});
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
## Directory Copies
|
|
92
|
+
|
|
93
|
+
```ts
|
|
94
|
+
const copy = await client.repos.copyDirectory("hello-world", {
|
|
95
|
+
sourceDir: "ver-1234abcd",
|
|
96
|
+
destDir: "state-456",
|
|
97
|
+
sourceBranch: "main",
|
|
98
|
+
destBranch: "feature-readme",
|
|
99
|
+
});
|
|
100
|
+
|
|
101
|
+
const status = await client.repos.getCopyStatus("hello-world", copy.runId);
|
|
102
|
+
```
|
package/dist/client.d.ts
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { type Method, type ApiResponse } from "./internal/transport.js";
|
|
2
|
+
import type { DriftstoneUpload, DriftstoneUploadFile, DriftstoneUploadUrl } from "./models/index.js";
|
|
3
|
+
import { DriftstoneRepositories } from "./resources/index.js";
|
|
4
|
+
export type DriftstoneVersion = "v1";
|
|
5
|
+
export interface DriftstoneOptions {
|
|
6
|
+
apiKey: string;
|
|
7
|
+
version?: DriftstoneVersion;
|
|
8
|
+
timeout?: number;
|
|
9
|
+
debug?: boolean;
|
|
10
|
+
baseUrl?: string;
|
|
11
|
+
fetch?: typeof fetch;
|
|
12
|
+
headers?: HeadersInit;
|
|
13
|
+
}
|
|
14
|
+
export type DriftstoneFileInput = string | URL | Uint8Array | ArrayBuffer | Blob | ReadableStream<Uint8Array>;
|
|
15
|
+
export declare class Driftstone {
|
|
16
|
+
#private;
|
|
17
|
+
readonly apiKey: string;
|
|
18
|
+
readonly version: DriftstoneVersion;
|
|
19
|
+
readonly timeout: number;
|
|
20
|
+
readonly debug: boolean;
|
|
21
|
+
readonly baseUrl: string;
|
|
22
|
+
readonly repositories: DriftstoneRepositories;
|
|
23
|
+
readonly repos: DriftstoneRepositories;
|
|
24
|
+
constructor(apiKeyOrOptions: string | DriftstoneOptions);
|
|
25
|
+
close(): void;
|
|
26
|
+
_request<T>(method: Method, requestPath: string, payload?: Record<string, unknown>): Promise<ApiResponse<T>>;
|
|
27
|
+
uploadFile(url: string, file: DriftstoneFileInput): Promise<boolean>;
|
|
28
|
+
uploadFiles(upload: DriftstoneUpload, files: DriftstoneUploadFile[] | DriftstoneUploadUrl[], root: string | URL): Promise<boolean>;
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,MAAM,EAAa,KAAK,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAGnF,OAAO,KAAK,EACV,gBAAgB,EAChB,oBAAoB,EACpB,mBAAmB,EACpB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAG9D,MAAM,MAAM,iBAAiB,GAAG,IAAI,CAAC;AAErC,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,iBAAiB,CAAC;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC;IACrB,OAAO,CAAC,EAAE,WAAW,CAAC;CACvB;AAED,MAAM,MAAM,mBAAmB,GAC3B,MAAM,GACN,GAAG,GACH,UAAU,GACV,WAAW,GACX,IAAI,GACJ,cAAc,CAAC,UAAU,CAAC,CAAC;AAE/B,qBAAa,UAAU;;IACrB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,iBAAiB,CAAC;IACpC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,YAAY,EAAE,sBAAsB,CAAC;IAC9C,QAAQ,CAAC,KAAK,EAAE,sBAAsB,CAAC;gBAK3B,eAAe,EAAE,MAAM,GAAG,iBAAiB;IA+BvD,KAAK,IAAI,IAAI;IAIP,QAAQ,CAAC,CAAC,EACd,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAChC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAIpB,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,mBAAmB,GAAG,OAAO,CAAC,OAAO,CAAC;IA8BpE,WAAW,CACf,MAAM,EAAE,gBAAgB,EACxB,KAAK,EAAE,oBAAoB,EAAE,GAAG,mBAAmB,EAAE,EACrD,IAAI,EAAE,MAAM,GAAG,GAAG,GACjB,OAAO,CAAC,OAAO,CAAC;CAgCpB"}
|
package/dist/client.js
ADDED
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
import { readFile, stat } from "node:fs/promises";
|
|
2
|
+
import path from "node:path";
|
|
3
|
+
import { fileURLToPath } from "node:url";
|
|
4
|
+
import { DEFAULT_API_BASE_URL } from "./internal/constants.js";
|
|
5
|
+
import { Transport } from "./internal/transport.js";
|
|
6
|
+
import { requireNonEmptyString } from "./internal/validation.js";
|
|
7
|
+
import { DriftstoneError, DriftstoneHTTPError } from "./errors.js";
|
|
8
|
+
import { DriftstoneRepositories } from "./resources/index.js";
|
|
9
|
+
import { VERSION } from "./version.js";
|
|
10
|
+
export class Driftstone {
|
|
11
|
+
apiKey;
|
|
12
|
+
version;
|
|
13
|
+
timeout;
|
|
14
|
+
debug;
|
|
15
|
+
baseUrl;
|
|
16
|
+
repositories;
|
|
17
|
+
repos;
|
|
18
|
+
#transport;
|
|
19
|
+
#fetch;
|
|
20
|
+
constructor(apiKeyOrOptions) {
|
|
21
|
+
const options = typeof apiKeyOrOptions === "string"
|
|
22
|
+
? { apiKey: apiKeyOrOptions }
|
|
23
|
+
: apiKeyOrOptions;
|
|
24
|
+
const apiKey = requireNonEmptyString(options.apiKey, "apiKey");
|
|
25
|
+
if (!apiKey.startsWith("dk-")) {
|
|
26
|
+
throw new DriftstoneError("Invalid Driftstone API key");
|
|
27
|
+
}
|
|
28
|
+
this.apiKey = apiKey;
|
|
29
|
+
this.version = options.version ?? "v1";
|
|
30
|
+
this.timeout = options.timeout ?? 30_000;
|
|
31
|
+
this.debug = options.debug ?? false;
|
|
32
|
+
this.baseUrl = `${(options.baseUrl ?? DEFAULT_API_BASE_URL).replace(/\/+$/g, "")}/${this.version}`;
|
|
33
|
+
this.#transport = new Transport({
|
|
34
|
+
baseUrl: this.baseUrl,
|
|
35
|
+
apiKey: this.apiKey,
|
|
36
|
+
timeout: this.timeout,
|
|
37
|
+
userAgent: `Driftstone-typescript/${VERSION}`,
|
|
38
|
+
...(options.fetch ? { fetch: options.fetch } : {}),
|
|
39
|
+
...(options.headers ? { headers: options.headers } : {}),
|
|
40
|
+
});
|
|
41
|
+
this.#fetch = options.fetch ?? globalThis.fetch;
|
|
42
|
+
this.repositories = new DriftstoneRepositories(this);
|
|
43
|
+
this.repos = this.repositories;
|
|
44
|
+
}
|
|
45
|
+
close() {
|
|
46
|
+
// Native fetch does not hold a client handle. This mirrors the Python SDK API.
|
|
47
|
+
}
|
|
48
|
+
async _request(method, requestPath, payload) {
|
|
49
|
+
return this.#transport.request(method, requestPath, payload);
|
|
50
|
+
}
|
|
51
|
+
async uploadFile(url, file) {
|
|
52
|
+
const uploadUrl = requireNonEmptyString(url, "url");
|
|
53
|
+
const content = await readUploadInput(file);
|
|
54
|
+
try {
|
|
55
|
+
const response = await this.#fetch(uploadUrl, {
|
|
56
|
+
method: "PUT",
|
|
57
|
+
body: content,
|
|
58
|
+
headers: {
|
|
59
|
+
"Content-Type": "application/octet-stream",
|
|
60
|
+
},
|
|
61
|
+
});
|
|
62
|
+
if (response.status >= 400) {
|
|
63
|
+
throw new DriftstoneHTTPError(`File upload failed with status ${response.status}`);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
catch (error) {
|
|
67
|
+
if (error instanceof DriftstoneHTTPError) {
|
|
68
|
+
throw error;
|
|
69
|
+
}
|
|
70
|
+
throw new DriftstoneHTTPError(`File upload failed: ${String(error)}`, {
|
|
71
|
+
cause: error,
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
return true;
|
|
75
|
+
}
|
|
76
|
+
async uploadFiles(upload, files, root) {
|
|
77
|
+
if (!isUpload(upload)) {
|
|
78
|
+
throw new DriftstoneError("upload must be a DriftstoneUpload");
|
|
79
|
+
}
|
|
80
|
+
const rootPath = path.resolve(pathFromStringOrUrl(root));
|
|
81
|
+
const rootStats = await stat(rootPath).catch(() => undefined);
|
|
82
|
+
if (!rootStats?.isDirectory()) {
|
|
83
|
+
throw new DriftstoneError(`root must be an existing directory: ${rootPath}`);
|
|
84
|
+
}
|
|
85
|
+
const uploadUrls = new Map(upload.uploadUrls.map((uploadUrl) => [uploadUrl.name, uploadUrl.url]));
|
|
86
|
+
const payloadFiles = normalizeUploadFileNames(files);
|
|
87
|
+
for (const file of payloadFiles) {
|
|
88
|
+
const uploadUrl = uploadUrls.get(file.name);
|
|
89
|
+
if (!uploadUrl) {
|
|
90
|
+
throw new DriftstoneError(`Missing upload URL for file '${file.name}'`);
|
|
91
|
+
}
|
|
92
|
+
const filePath = path.resolve(rootPath, file.name);
|
|
93
|
+
if (!isPathInside(rootPath, filePath)) {
|
|
94
|
+
throw new DriftstoneError(`file path must stay within root: ${file.name}`);
|
|
95
|
+
}
|
|
96
|
+
await this.uploadFile(uploadUrl, filePath);
|
|
97
|
+
}
|
|
98
|
+
return true;
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
async function readUploadInput(file) {
|
|
102
|
+
if (typeof file === "string" || file instanceof URL) {
|
|
103
|
+
const filePath = pathFromStringOrUrl(file);
|
|
104
|
+
const fileStats = await stat(filePath).catch(() => undefined);
|
|
105
|
+
if (!fileStats?.isFile()) {
|
|
106
|
+
throw new DriftstoneError(`file must be an existing file: ${filePath}`);
|
|
107
|
+
}
|
|
108
|
+
const bytes = await readFile(filePath);
|
|
109
|
+
return new Blob([bytes]);
|
|
110
|
+
}
|
|
111
|
+
if (file instanceof Uint8Array) {
|
|
112
|
+
return new Blob([file]);
|
|
113
|
+
}
|
|
114
|
+
if (file instanceof ArrayBuffer) {
|
|
115
|
+
return new Blob([file]);
|
|
116
|
+
}
|
|
117
|
+
return file;
|
|
118
|
+
}
|
|
119
|
+
function pathFromStringOrUrl(value) {
|
|
120
|
+
if (value instanceof URL) {
|
|
121
|
+
if (value.protocol !== "file:") {
|
|
122
|
+
throw new DriftstoneError("file URL must use the file: protocol");
|
|
123
|
+
}
|
|
124
|
+
return fileURLToPath(value);
|
|
125
|
+
}
|
|
126
|
+
return value;
|
|
127
|
+
}
|
|
128
|
+
function isPathInside(rootPath, filePath) {
|
|
129
|
+
const relative = path.relative(rootPath, filePath);
|
|
130
|
+
return relative === "" || (!relative.startsWith("..") && !path.isAbsolute(relative));
|
|
131
|
+
}
|
|
132
|
+
function isUpload(value) {
|
|
133
|
+
return (value !== null &&
|
|
134
|
+
typeof value === "object" &&
|
|
135
|
+
typeof value.repoId === "string" &&
|
|
136
|
+
typeof value.uploadId === "string" &&
|
|
137
|
+
Array.isArray(value.uploadUrls));
|
|
138
|
+
}
|
|
139
|
+
function normalizeUploadFileNames(files) {
|
|
140
|
+
if (!Array.isArray(files) || files.length === 0) {
|
|
141
|
+
throw new DriftstoneError("files must be a non-empty array");
|
|
142
|
+
}
|
|
143
|
+
return files.map((file) => ({
|
|
144
|
+
name: requireNonEmptyString(file.name, "file name"),
|
|
145
|
+
}));
|
|
146
|
+
}
|
|
147
|
+
//# sourceMappingURL=client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
package/dist/errors.d.ts
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export declare class DriftstoneError extends Error {
|
|
2
|
+
constructor(message: string, options?: ErrorOptions);
|
|
3
|
+
}
|
|
4
|
+
export declare class DriftstoneHTTPError extends DriftstoneError {
|
|
5
|
+
constructor(message: string, options?: ErrorOptions);
|
|
6
|
+
}
|
|
7
|
+
export declare class DriftstoneResponseError extends DriftstoneError {
|
|
8
|
+
constructor(message: string, options?: ErrorOptions);
|
|
9
|
+
}
|
|
10
|
+
export declare class DriftstoneAPIError extends DriftstoneError {
|
|
11
|
+
readonly status: number;
|
|
12
|
+
readonly payload: unknown;
|
|
13
|
+
constructor(message: string, options: {
|
|
14
|
+
status: number;
|
|
15
|
+
payload: unknown;
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=errors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,qBAAa,eAAgB,SAAQ,KAAK;gBAC5B,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY;CAIpD;AAED,qBAAa,mBAAoB,SAAQ,eAAe;gBAC1C,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY;CAIpD;AAED,qBAAa,uBAAwB,SAAQ,eAAe;gBAC9C,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY;CAIpD;AAED,qBAAa,kBAAmB,SAAQ,eAAe;IACrD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;gBAEd,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE;CAM3E"}
|
package/dist/errors.js
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
export class DriftstoneError extends Error {
|
|
2
|
+
constructor(message, options) {
|
|
3
|
+
super(message, options);
|
|
4
|
+
this.name = "DriftstoneError";
|
|
5
|
+
}
|
|
6
|
+
}
|
|
7
|
+
export class DriftstoneHTTPError extends DriftstoneError {
|
|
8
|
+
constructor(message, options) {
|
|
9
|
+
super(message, options);
|
|
10
|
+
this.name = "DriftstoneHTTPError";
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
export class DriftstoneResponseError extends DriftstoneError {
|
|
14
|
+
constructor(message, options) {
|
|
15
|
+
super(message, options);
|
|
16
|
+
this.name = "DriftstoneResponseError";
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
export class DriftstoneAPIError extends DriftstoneError {
|
|
20
|
+
status;
|
|
21
|
+
payload;
|
|
22
|
+
constructor(message, options) {
|
|
23
|
+
super(message);
|
|
24
|
+
this.name = "DriftstoneAPIError";
|
|
25
|
+
this.status = options.status;
|
|
26
|
+
this.payload = options.payload;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=errors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,eAAgB,SAAQ,KAAK;IACxC,YAAY,OAAe,EAAE,OAAsB;QACjD,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACxB,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;IAChC,CAAC;CACF;AAED,MAAM,OAAO,mBAAoB,SAAQ,eAAe;IACtD,YAAY,OAAe,EAAE,OAAsB;QACjD,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACxB,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAC;IACpC,CAAC;CACF;AAED,MAAM,OAAO,uBAAwB,SAAQ,eAAe;IAC1D,YAAY,OAAe,EAAE,OAAsB;QACjD,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACxB,IAAI,CAAC,IAAI,GAAG,yBAAyB,CAAC;IACxC,CAAC;CACF;AAED,MAAM,OAAO,kBAAmB,SAAQ,eAAe;IAC5C,MAAM,CAAS;IACf,OAAO,CAAU;IAE1B,YAAY,OAAe,EAAE,OAA6C;QACxE,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAC;QACjC,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IACjC,CAAC;CACF"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Driftstone } from "./client.js";
|
|
2
|
+
export { Driftstone } from "./client.js";
|
|
3
|
+
export type { DriftstoneFileInput, DriftstoneOptions, DriftstoneVersion, } from "./client.js";
|
|
4
|
+
export { DriftstoneAPIError, DriftstoneError, DriftstoneHTTPError, DriftstoneResponseError, } from "./errors.js";
|
|
5
|
+
export type { DriftstoneBranch, DriftstoneCopy, DriftstoneCopyRunStatus, DriftstoneCopyStatus, DriftstoneDeleteResult, DriftstoneDownload, DriftstoneDownloadFile, DriftstoneDownloadType, DriftstoneDownloadUrl, DriftstoneRepository, DriftstoneTransforms, DriftstoneUpload, DriftstoneUploadComplete, DriftstoneUploadFile, DriftstoneUploadUrl, } from "./models/index.js";
|
|
6
|
+
export { DriftstoneRepositories, } from "./resources/index.js";
|
|
7
|
+
export type { CopyDirectoryOptions, CreateBranchOptions, CreateDirectoryDownloadOptions, CreateDownloadOptions, CreateUploadOptions, DriftstonePaginationOptions, } from "./resources/index.js";
|
|
8
|
+
export { VERSION } from "./version.js";
|
|
9
|
+
export default Driftstone;
|
|
10
|
+
//# 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;AAEzC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,YAAY,EACV,mBAAmB,EACnB,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,kBAAkB,EAClB,eAAe,EACf,mBAAmB,EACnB,uBAAuB,GACxB,MAAM,aAAa,CAAC;AACrB,YAAY,EACV,gBAAgB,EAChB,cAAc,EACd,uBAAuB,EACvB,oBAAoB,EACpB,sBAAsB,EACtB,kBAAkB,EAClB,sBAAsB,EACtB,sBAAsB,EACtB,qBAAqB,EACrB,oBAAoB,EACpB,oBAAoB,EACpB,gBAAgB,EAChB,wBAAwB,EACxB,oBAAoB,EACpB,mBAAmB,GACpB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,sBAAsB,GACvB,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EACV,oBAAoB,EACpB,mBAAmB,EACnB,8BAA8B,EAC9B,qBAAqB,EACrB,mBAAmB,EACnB,2BAA2B,GAC5B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,eAAe,UAAU,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { Driftstone } from "./client.js";
|
|
2
|
+
export { Driftstone } from "./client.js";
|
|
3
|
+
export { DriftstoneAPIError, DriftstoneError, DriftstoneHTTPError, DriftstoneResponseError, } from "./errors.js";
|
|
4
|
+
export { DriftstoneRepositories, } from "./resources/index.js";
|
|
5
|
+
export { VERSION } from "./version.js";
|
|
6
|
+
export default Driftstone;
|
|
7
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAMzC,OAAO,EACL,kBAAkB,EAClB,eAAe,EACf,mBAAmB,EACnB,uBAAuB,GACxB,MAAM,aAAa,CAAC;AAkBrB,OAAO,EACL,sBAAsB,GACvB,MAAM,sBAAsB,CAAC;AAS9B,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,eAAe,UAAU,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/internal/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,oBAAoB,4DAC0B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/internal/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,oBAAoB,GAC/B,yDAAyD,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
export type Method = "GET" | "POST" | "PUT" | "PATCH" | "DELETE";
|
|
2
|
+
export interface TransportOptions {
|
|
3
|
+
baseUrl: string;
|
|
4
|
+
apiKey: string;
|
|
5
|
+
timeout: number;
|
|
6
|
+
userAgent: string;
|
|
7
|
+
fetch?: typeof fetch;
|
|
8
|
+
headers?: HeadersInit;
|
|
9
|
+
}
|
|
10
|
+
export interface ApiResponse<T> {
|
|
11
|
+
success?: boolean;
|
|
12
|
+
data?: T;
|
|
13
|
+
error?: unknown;
|
|
14
|
+
message?: unknown;
|
|
15
|
+
}
|
|
16
|
+
export declare class Transport {
|
|
17
|
+
#private;
|
|
18
|
+
readonly baseUrl: string;
|
|
19
|
+
readonly headers: Headers;
|
|
20
|
+
constructor(options: TransportOptions);
|
|
21
|
+
request<T>(method: Method, path: string, payload?: Record<string, unknown>): Promise<ApiResponse<T>>;
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=transport.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transport.d.ts","sourceRoot":"","sources":["../../src/internal/transport.ts"],"names":[],"mappings":"AAMA,MAAM,MAAM,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,CAAC;AAEjE,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC;IACrB,OAAO,CAAC,EAAE,WAAW,CAAC;CACvB;AAED,MAAM,WAAW,WAAW,CAAC,CAAC;IAC5B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,CAAC,CAAC;IACT,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,qBAAa,SAAS;;IACpB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;gBAKd,OAAO,EAAE,gBAAgB;IAkB/B,OAAO,CAAC,CAAC,EACb,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GACpC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;CAoE3B"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import { DriftstoneAPIError, DriftstoneHTTPError, DriftstoneResponseError, } from "../errors.js";
|
|
2
|
+
export class Transport {
|
|
3
|
+
baseUrl;
|
|
4
|
+
headers;
|
|
5
|
+
#fetch;
|
|
6
|
+
#timeout;
|
|
7
|
+
constructor(options) {
|
|
8
|
+
this.baseUrl = options.baseUrl.replace(/\/+$/g, "");
|
|
9
|
+
this.#fetch = options.fetch ?? globalThis.fetch;
|
|
10
|
+
this.#timeout = options.timeout;
|
|
11
|
+
if (typeof this.#fetch !== "function") {
|
|
12
|
+
throw new DriftstoneHTTPError("No fetch implementation is available. Use Node.js 18+ or pass a custom fetch.");
|
|
13
|
+
}
|
|
14
|
+
this.headers = new Headers(options.headers);
|
|
15
|
+
this.headers.set("Authorization", `Bearer ${options.apiKey}`);
|
|
16
|
+
this.headers.set("Content-Type", "application/json");
|
|
17
|
+
this.headers.set("Accept", "application/json");
|
|
18
|
+
this.headers.set("User-Agent", options.userAgent);
|
|
19
|
+
}
|
|
20
|
+
async request(method, path, payload = {}) {
|
|
21
|
+
const controller = new AbortController();
|
|
22
|
+
const timeout = setTimeout(() => controller.abort(), this.#timeout);
|
|
23
|
+
try {
|
|
24
|
+
const url = this.#buildUrl(path, method === "GET" ? payload : undefined);
|
|
25
|
+
const response = await this.#fetch(url, {
|
|
26
|
+
method,
|
|
27
|
+
headers: this.headers,
|
|
28
|
+
signal: controller.signal,
|
|
29
|
+
...(method === "GET" ? {} : { body: JSON.stringify(payload) }),
|
|
30
|
+
});
|
|
31
|
+
const data = await parseJsonResponse(response);
|
|
32
|
+
if (response.status >= 400) {
|
|
33
|
+
throw new DriftstoneAPIError(`Driftstone API returned error status ${response.status}: ${JSON.stringify(data)}`, { status: response.status, payload: data });
|
|
34
|
+
}
|
|
35
|
+
if (data.success === false) {
|
|
36
|
+
const message = typeof data.error === "string"
|
|
37
|
+
? data.error
|
|
38
|
+
: typeof data.message === "string"
|
|
39
|
+
? data.message
|
|
40
|
+
: "Request failed";
|
|
41
|
+
throw new DriftstoneAPIError(`Driftstone API error: ${message}`, {
|
|
42
|
+
status: response.status,
|
|
43
|
+
payload: data,
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
return data;
|
|
47
|
+
}
|
|
48
|
+
catch (error) {
|
|
49
|
+
if (error instanceof DriftstoneAPIError || error instanceof DriftstoneResponseError) {
|
|
50
|
+
throw error;
|
|
51
|
+
}
|
|
52
|
+
if (error instanceof Error && error.name === "AbortError") {
|
|
53
|
+
throw new DriftstoneHTTPError(`HTTP request timed out after ${this.#timeout}ms`, { cause: error });
|
|
54
|
+
}
|
|
55
|
+
throw new DriftstoneHTTPError(`HTTP request failed: ${String(error)}`, {
|
|
56
|
+
cause: error,
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
finally {
|
|
60
|
+
clearTimeout(timeout);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
#buildUrl(path, params) {
|
|
64
|
+
const normalizedPath = path.startsWith("/") ? path : `/${path}`;
|
|
65
|
+
const url = new URL(`${this.baseUrl}${normalizedPath}`);
|
|
66
|
+
if (params) {
|
|
67
|
+
for (const [key, value] of Object.entries(params)) {
|
|
68
|
+
if (value !== undefined && value !== null) {
|
|
69
|
+
url.searchParams.set(key, String(value));
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
return url.toString();
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
async function parseJsonResponse(response) {
|
|
77
|
+
let decoded;
|
|
78
|
+
try {
|
|
79
|
+
decoded = await response.json();
|
|
80
|
+
}
|
|
81
|
+
catch (error) {
|
|
82
|
+
throw new DriftstoneResponseError(`Driftstone API returned non-JSON response (status=${response.status})`, { cause: error });
|
|
83
|
+
}
|
|
84
|
+
if (decoded === null || typeof decoded !== "object" || Array.isArray(decoded)) {
|
|
85
|
+
throw new DriftstoneResponseError("Driftstone API returned an unexpected response payload");
|
|
86
|
+
}
|
|
87
|
+
return decoded;
|
|
88
|
+
}
|
|
89
|
+
//# sourceMappingURL=transport.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transport.js","sourceRoot":"","sources":["../../src/internal/transport.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export declare function requireNonEmptyString(value: unknown, name: string): string;
|
|
2
|
+
export declare function optionalNonEmptyString(value: string | undefined | null, name: string): string | undefined;
|
|
3
|
+
export declare function requireRouteSegment(value: unknown, name: string): string;
|
|
4
|
+
export declare function encodeRepo(repo: unknown): string;
|
|
5
|
+
export declare function requireSimpleName(value: unknown, name: string): string;
|
|
6
|
+
export declare function requireDirectoryPath(value: unknown, name: string): string;
|
|
7
|
+
export declare function requirePositiveInteger(value: unknown, name: string): number;
|
|
8
|
+
export declare function assertPlainObject(value: unknown, name: string): asserts value is Record<string, unknown>;
|
|
9
|
+
//# sourceMappingURL=validation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../src/internal/validation.ts"],"names":[],"mappings":"AAEA,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAK1E;AAED,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,EAChC,IAAI,EAAE,MAAM,GACX,MAAM,GAAG,SAAS,CAKpB;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAMxE;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,CAMhD;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAMtE;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAYzE;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAK3E;AAED,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,OAAO,EACd,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAQ1C"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { DriftstoneError } from "../errors.js";
|
|
2
|
+
export function requireNonEmptyString(value, name) {
|
|
3
|
+
if (typeof value !== "string" || value.trim() === "") {
|
|
4
|
+
throw new DriftstoneError(`${name} must be a non-empty string`);
|
|
5
|
+
}
|
|
6
|
+
return value.trim();
|
|
7
|
+
}
|
|
8
|
+
export function optionalNonEmptyString(value, name) {
|
|
9
|
+
if (value == null) {
|
|
10
|
+
return undefined;
|
|
11
|
+
}
|
|
12
|
+
return requireNonEmptyString(value, name);
|
|
13
|
+
}
|
|
14
|
+
export function requireRouteSegment(value, name) {
|
|
15
|
+
const normalized = requireNonEmptyString(value, name);
|
|
16
|
+
if (normalized.includes("/") || normalized.includes("\\")) {
|
|
17
|
+
throw new DriftstoneError(`${name} cannot contain / or \\`);
|
|
18
|
+
}
|
|
19
|
+
return encodeURIComponent(normalized);
|
|
20
|
+
}
|
|
21
|
+
export function encodeRepo(repo) {
|
|
22
|
+
const normalized = requireNonEmptyString(repo, "repo").replace(/^\/+|\/+$/g, "");
|
|
23
|
+
if (normalized === "") {
|
|
24
|
+
throw new DriftstoneError("repo must be a non-empty string");
|
|
25
|
+
}
|
|
26
|
+
return encodeURIComponent(normalized);
|
|
27
|
+
}
|
|
28
|
+
export function requireSimpleName(value, name) {
|
|
29
|
+
const normalized = requireNonEmptyString(value, name);
|
|
30
|
+
if (normalized.includes("/") || normalized.includes("\\")) {
|
|
31
|
+
throw new DriftstoneError(`${name} cannot contain / or \\`);
|
|
32
|
+
}
|
|
33
|
+
return normalized;
|
|
34
|
+
}
|
|
35
|
+
export function requireDirectoryPath(value, name) {
|
|
36
|
+
const normalized = requireNonEmptyString(value, name).replace(/^\/+|\/+$/g, "");
|
|
37
|
+
if (normalized === "") {
|
|
38
|
+
throw new DriftstoneError(`${name} must be a non-empty string`);
|
|
39
|
+
}
|
|
40
|
+
if (normalized.includes("\\")) {
|
|
41
|
+
throw new DriftstoneError(`${name} cannot contain \\`);
|
|
42
|
+
}
|
|
43
|
+
if (normalized.split("/").some((part) => part === "" || part === "." || part === "..")) {
|
|
44
|
+
throw new DriftstoneError(`${name} contains an invalid path segment`);
|
|
45
|
+
}
|
|
46
|
+
return normalized;
|
|
47
|
+
}
|
|
48
|
+
export function requirePositiveInteger(value, name) {
|
|
49
|
+
if (!Number.isInteger(value) || typeof value !== "number" || value < 1) {
|
|
50
|
+
throw new DriftstoneError(`${name} must be a positive integer`);
|
|
51
|
+
}
|
|
52
|
+
return value;
|
|
53
|
+
}
|
|
54
|
+
export function assertPlainObject(value, name) {
|
|
55
|
+
if (value === null ||
|
|
56
|
+
typeof value !== "object" ||
|
|
57
|
+
Array.isArray(value)) {
|
|
58
|
+
throw new DriftstoneError(`${name} must be an object`);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
//# sourceMappingURL=validation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validation.js","sourceRoot":"","sources":["../../src/internal/validation.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export type { DriftstoneBranch, DriftstoneCopy, DriftstoneCopyRunStatus, DriftstoneCopyStatus, DriftstoneDeleteResult, DriftstoneDownload, DriftstoneDownloadFile, DriftstoneDownloadType, DriftstoneDownloadUrl, DriftstoneRepository, DriftstoneTransforms, DriftstoneUpload, DriftstoneUploadComplete, DriftstoneUploadFile, DriftstoneUploadUrl, } from "./repository.js";
|
|
2
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/models/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,gBAAgB,EAChB,cAAc,EACd,uBAAuB,EACvB,oBAAoB,EACpB,sBAAsB,EACtB,kBAAkB,EAClB,sBAAsB,EACtB,sBAAsB,EACtB,qBAAqB,EACrB,oBAAoB,EACpB,oBAAoB,EACpB,gBAAgB,EAChB,wBAAwB,EACxB,oBAAoB,EACpB,mBAAmB,GACpB,MAAM,iBAAiB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/models/index.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
export type DriftstoneDownloadType = "main" | "branch";
|
|
2
|
+
export type DriftstoneCopyRunStatus = "running" | "completed" | "failed" | string;
|
|
3
|
+
export type DriftstoneTransforms = Record<string, unknown>;
|
|
4
|
+
export interface DriftstoneRepository {
|
|
5
|
+
id: string;
|
|
6
|
+
orgId: string;
|
|
7
|
+
name: string;
|
|
8
|
+
slug: string;
|
|
9
|
+
branch: string;
|
|
10
|
+
storagePath?: string | null;
|
|
11
|
+
headIdentifier?: string | null;
|
|
12
|
+
createdAt?: string | null;
|
|
13
|
+
updatedAt?: string | null;
|
|
14
|
+
}
|
|
15
|
+
export interface DriftstoneBranch {
|
|
16
|
+
id: string;
|
|
17
|
+
repoId: string;
|
|
18
|
+
name: string;
|
|
19
|
+
storagePath?: string | null;
|
|
20
|
+
runId?: string | null;
|
|
21
|
+
status?: string | null;
|
|
22
|
+
createdAt?: string | null;
|
|
23
|
+
updatedAt?: string | null;
|
|
24
|
+
}
|
|
25
|
+
export interface DriftstoneDeleteResult {
|
|
26
|
+
repoId: string;
|
|
27
|
+
status: string;
|
|
28
|
+
branch?: string | null;
|
|
29
|
+
}
|
|
30
|
+
export interface DriftstoneUploadFile {
|
|
31
|
+
name: string;
|
|
32
|
+
hash: string;
|
|
33
|
+
}
|
|
34
|
+
export interface DriftstoneUploadUrl {
|
|
35
|
+
name: string;
|
|
36
|
+
url: string;
|
|
37
|
+
}
|
|
38
|
+
export interface DriftstoneUpload {
|
|
39
|
+
repoId: string;
|
|
40
|
+
uploadId: string;
|
|
41
|
+
uploadUrls: DriftstoneUploadUrl[];
|
|
42
|
+
}
|
|
43
|
+
export interface DriftstoneUploadComplete {
|
|
44
|
+
repoId: string;
|
|
45
|
+
uploadId: string;
|
|
46
|
+
status: string;
|
|
47
|
+
}
|
|
48
|
+
export interface DriftstoneDownloadFile {
|
|
49
|
+
path: string;
|
|
50
|
+
}
|
|
51
|
+
export interface DriftstoneDownloadUrl {
|
|
52
|
+
path: string;
|
|
53
|
+
url: string;
|
|
54
|
+
}
|
|
55
|
+
export interface DriftstoneDownload {
|
|
56
|
+
repoId: string;
|
|
57
|
+
directory?: string;
|
|
58
|
+
downloadUrls: DriftstoneDownloadUrl[];
|
|
59
|
+
}
|
|
60
|
+
export interface DriftstoneCopy {
|
|
61
|
+
repoId: string;
|
|
62
|
+
runId: string;
|
|
63
|
+
status: DriftstoneCopyRunStatus;
|
|
64
|
+
sourceDir?: string | null;
|
|
65
|
+
destDir?: string | null;
|
|
66
|
+
sourceBranch?: string | null;
|
|
67
|
+
destBranch?: string | null;
|
|
68
|
+
}
|
|
69
|
+
export interface DriftstoneCopyStatus {
|
|
70
|
+
repoId: string;
|
|
71
|
+
runId: string;
|
|
72
|
+
status: DriftstoneCopyRunStatus;
|
|
73
|
+
result?: Record<string, unknown> | null;
|
|
74
|
+
}
|
|
75
|
+
//# sourceMappingURL=repository.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"repository.d.ts","sourceRoot":"","sources":["../../src/models/repository.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,sBAAsB,GAAG,MAAM,GAAG,QAAQ,CAAC;AACvD,MAAM,MAAM,uBAAuB,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,GAAG,MAAM,CAAC;AAElF,MAAM,MAAM,oBAAoB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAE3D,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,mBAAmB,EAAE,CAAC;CACnC;AAED,MAAM,WAAW,wBAAwB;IACvC,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,qBAAqB,EAAE,CAAC;CACvC;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,uBAAuB,CAAC;IAChC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAED,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,uBAAuB,CAAC;IAChC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;CACzC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"repository.js","sourceRoot":"","sources":["../../src/models/repository.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { Driftstone } from "../client.js";
|
|
2
|
+
export declare abstract class ResourceBase {
|
|
3
|
+
protected readonly client: Driftstone;
|
|
4
|
+
constructor(client: Driftstone);
|
|
5
|
+
protected requireData<T>(response: {
|
|
6
|
+
data?: T;
|
|
7
|
+
}, message: string): T;
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=base.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/resources/base.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE/C,8BAAsB,YAAY;IAChC,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;gBAE1B,MAAM,EAAE,UAAU;IAI9B,SAAS,CAAC,WAAW,CAAC,CAAC,EAAE,QAAQ,EAAE;QAAE,IAAI,CAAC,EAAE,CAAC,CAAA;KAAE,EAAE,OAAO,EAAE,MAAM,GAAG,CAAC;CAMrE"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { DriftstoneResponseError } from "../errors.js";
|
|
2
|
+
export class ResourceBase {
|
|
3
|
+
client;
|
|
4
|
+
constructor(client) {
|
|
5
|
+
this.client = client;
|
|
6
|
+
}
|
|
7
|
+
requireData(response, message) {
|
|
8
|
+
if (response.data === undefined) {
|
|
9
|
+
throw new DriftstoneResponseError(message);
|
|
10
|
+
}
|
|
11
|
+
return response.data;
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=base.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/resources/base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AAGvD,MAAM,OAAgB,YAAY;IACb,MAAM,CAAa;IAEtC,YAAY,MAAkB;QAC5B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAES,WAAW,CAAI,QAAsB,EAAE,OAAe;QAC9D,IAAI,QAAQ,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAChC,MAAM,IAAI,uBAAuB,CAAC,OAAO,CAAC,CAAC;QAC7C,CAAC;QACD,OAAO,QAAQ,CAAC,IAAI,CAAC;IACvB,CAAC;CACF"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export { DriftstoneRepositories, normalizeUploadFiles, } from "./repositories.js";
|
|
2
|
+
export type { CopyDirectoryOptions, CreateBranchOptions, CreateDirectoryDownloadOptions, CreateDownloadOptions, CreateUploadOptions, DriftstonePaginationOptions, } from "./repositories.js";
|
|
3
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/resources/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,EACtB,oBAAoB,GACrB,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EACV,oBAAoB,EACpB,mBAAmB,EACnB,8BAA8B,EAC9B,qBAAqB,EACrB,mBAAmB,EACnB,2BAA2B,GAC5B,MAAM,mBAAmB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/resources/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,EACtB,oBAAoB,GACrB,MAAM,mBAAmB,CAAC"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import type { DriftstoneBranch, DriftstoneCopy, DriftstoneCopyStatus, DriftstoneDeleteResult, DriftstoneDownload, DriftstoneDownloadFile, DriftstoneDownloadType, DriftstoneRepository, DriftstoneTransforms, DriftstoneUpload, DriftstoneUploadComplete, DriftstoneUploadFile } from "../models/index.js";
|
|
2
|
+
import { ResourceBase } from "./base.js";
|
|
3
|
+
export interface DriftstonePaginationOptions {
|
|
4
|
+
page?: number;
|
|
5
|
+
pageSize?: number;
|
|
6
|
+
}
|
|
7
|
+
export interface CreateBranchOptions {
|
|
8
|
+
storageDir: string;
|
|
9
|
+
message?: string | null;
|
|
10
|
+
transforms?: DriftstoneTransforms;
|
|
11
|
+
archive?: boolean;
|
|
12
|
+
}
|
|
13
|
+
export interface CreateUploadOptions {
|
|
14
|
+
files: DriftstoneUploadFile[];
|
|
15
|
+
storageDir: string;
|
|
16
|
+
branch?: string;
|
|
17
|
+
}
|
|
18
|
+
export interface CreateDownloadOptions {
|
|
19
|
+
type: DriftstoneDownloadType;
|
|
20
|
+
files: DriftstoneDownloadFile[];
|
|
21
|
+
}
|
|
22
|
+
export interface CreateDirectoryDownloadOptions {
|
|
23
|
+
type: DriftstoneDownloadType;
|
|
24
|
+
directory: string;
|
|
25
|
+
}
|
|
26
|
+
export interface CopyDirectoryOptions {
|
|
27
|
+
sourceDir: string;
|
|
28
|
+
destDir: string;
|
|
29
|
+
sourceBranch?: string;
|
|
30
|
+
destBranch?: string;
|
|
31
|
+
transforms?: DriftstoneTransforms;
|
|
32
|
+
archive?: boolean;
|
|
33
|
+
}
|
|
34
|
+
export declare class DriftstoneRepositories extends ResourceBase {
|
|
35
|
+
create(name: string): Promise<DriftstoneRepository>;
|
|
36
|
+
list(options?: DriftstonePaginationOptions): Promise<DriftstoneRepository[]>;
|
|
37
|
+
get(repo: string): Promise<DriftstoneRepository>;
|
|
38
|
+
retrieve(repo: string): Promise<DriftstoneRepository>;
|
|
39
|
+
delete(repo: string): Promise<DriftstoneDeleteResult>;
|
|
40
|
+
listBranches(repo: string, options?: DriftstonePaginationOptions): Promise<DriftstoneBranch[]>;
|
|
41
|
+
getBranch(repo: string, branch: string): Promise<DriftstoneBranch>;
|
|
42
|
+
createBranch(repo: string, name: string, options: CreateBranchOptions): Promise<DriftstoneBranch>;
|
|
43
|
+
deleteBranch(repo: string, branch: string): Promise<DriftstoneDeleteResult>;
|
|
44
|
+
createUpload(repo: string, options: CreateUploadOptions): Promise<DriftstoneUpload>;
|
|
45
|
+
createDownload(repo: string, options: CreateDownloadOptions): Promise<DriftstoneDownload>;
|
|
46
|
+
createDirectoryDownload(repo: string, options: CreateDirectoryDownloadOptions): Promise<DriftstoneDownload>;
|
|
47
|
+
copyDirectory(repo: string, options: CopyDirectoryOptions): Promise<DriftstoneCopy>;
|
|
48
|
+
getCopyStatus(repo: string, runId: string): Promise<DriftstoneCopyStatus>;
|
|
49
|
+
completeUpload(repo: string, uploadId: string): Promise<DriftstoneUploadComplete>;
|
|
50
|
+
}
|
|
51
|
+
export declare function normalizeUploadFiles(files: DriftstoneUploadFile[]): DriftstoneUploadFile[];
|
|
52
|
+
//# sourceMappingURL=repositories.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"repositories.d.ts","sourceRoot":"","sources":["../../src/resources/repositories.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,gBAAgB,EAChB,cAAc,EACd,oBAAoB,EACpB,sBAAsB,EACtB,kBAAkB,EAClB,sBAAsB,EACtB,sBAAsB,EACtB,oBAAoB,EACpB,oBAAoB,EACpB,gBAAgB,EAChB,wBAAwB,EACxB,oBAAoB,EACrB,MAAM,oBAAoB,CAAC;AAW5B,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAEzC,MAAM,WAAW,2BAA2B;IAC1C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,mBAAmB;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,UAAU,CAAC,EAAE,oBAAoB,CAAC;IAClC,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,oBAAoB,EAAE,CAAC;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,sBAAsB,CAAC;IAC7B,KAAK,EAAE,sBAAsB,EAAE,CAAC;CACjC;AAED,MAAM,WAAW,8BAA8B;IAC7C,IAAI,EAAE,sBAAsB,CAAC;IAC7B,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,oBAAoB,CAAC;IAClC,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,qBAAa,sBAAuB,SAAQ,YAAY;IAChD,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAQnD,IAAI,CAAC,OAAO,GAAE,2BAAgC,GAAG,OAAO,CAAC,oBAAoB,EAAE,CAAC;IAehF,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAQhD,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAIrD,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAQrD,YAAY,CAChB,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,2BAAgC,GACxC,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAexB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAQlE,YAAY,CAChB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC,gBAAgB,CAAC;IA8BtB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAQ3E,YAAY,CAChB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC,gBAAgB,CAAC;IActB,cAAc,CAClB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,qBAAqB,GAC7B,OAAO,CAAC,kBAAkB,CAAC;IAgBxB,uBAAuB,CAC3B,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,8BAA8B,GACtC,OAAO,CAAC,kBAAkB,CAAC;IAgBxB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,cAAc,CAAC;IA4BnF,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAQzE,cAAc,CAClB,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,wBAAwB,CAAC;CAOrC;AASD,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,oBAAoB,EAAE,GAAG,oBAAoB,EAAE,CAS1F"}
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
import { DriftstoneError, DriftstoneResponseError } from "../errors.js";
|
|
2
|
+
import { assertPlainObject, encodeRepo, optionalNonEmptyString, requireDirectoryPath, requireNonEmptyString, requirePositiveInteger, requireRouteSegment, requireSimpleName, } from "../internal/validation.js";
|
|
3
|
+
import { ResourceBase } from "./base.js";
|
|
4
|
+
export class DriftstoneRepositories extends ResourceBase {
|
|
5
|
+
async create(name) {
|
|
6
|
+
const normalizedName = requireNonEmptyString(name, "name");
|
|
7
|
+
const response = await this.client._request("POST", "/repos", {
|
|
8
|
+
name: normalizedName,
|
|
9
|
+
});
|
|
10
|
+
return this.requireData(response, "Expected repository response data");
|
|
11
|
+
}
|
|
12
|
+
async list(options = {}) {
|
|
13
|
+
const response = await this.client._request("GET", "/repos", paginationPayload(options));
|
|
14
|
+
const data = this.requireData(response, "Expected repository list response data");
|
|
15
|
+
if (!Array.isArray(data)) {
|
|
16
|
+
throw new DriftstoneResponseError("Expected repository list response data to be an array");
|
|
17
|
+
}
|
|
18
|
+
return data;
|
|
19
|
+
}
|
|
20
|
+
async get(repo) {
|
|
21
|
+
const response = await this.client._request("GET", `/repos/${encodeRepo(repo)}`);
|
|
22
|
+
return this.requireData(response, "Expected repository response data");
|
|
23
|
+
}
|
|
24
|
+
async retrieve(repo) {
|
|
25
|
+
return this.get(repo);
|
|
26
|
+
}
|
|
27
|
+
async delete(repo) {
|
|
28
|
+
const response = await this.client._request("DELETE", `/repos/${encodeRepo(repo)}`);
|
|
29
|
+
return this.requireData(response, "Expected repository delete response data");
|
|
30
|
+
}
|
|
31
|
+
async listBranches(repo, options = {}) {
|
|
32
|
+
const response = await this.client._request("GET", `/repos/${encodeRepo(repo)}/branches`, paginationPayload(options));
|
|
33
|
+
const data = this.requireData(response, "Expected branch list response data");
|
|
34
|
+
if (!Array.isArray(data)) {
|
|
35
|
+
throw new DriftstoneResponseError("Expected branch list response data to be an array");
|
|
36
|
+
}
|
|
37
|
+
return data;
|
|
38
|
+
}
|
|
39
|
+
async getBranch(repo, branch) {
|
|
40
|
+
const response = await this.client._request("GET", `/repos/${encodeRepo(repo)}/branches/${requireRouteSegment(branch, "branch")}`);
|
|
41
|
+
return this.requireData(response, "Expected branch response data");
|
|
42
|
+
}
|
|
43
|
+
async createBranch(repo, name, options) {
|
|
44
|
+
const normalizedName = requireSimpleName(name, "name");
|
|
45
|
+
const normalizedStorageDir = requireSimpleName(options.storageDir, "storageDir");
|
|
46
|
+
const normalizedMessage = optionalNonEmptyString(options.message, "message");
|
|
47
|
+
if (options.transforms !== undefined) {
|
|
48
|
+
assertPlainObject(options.transforms, "transforms");
|
|
49
|
+
}
|
|
50
|
+
const payload = {
|
|
51
|
+
name: normalizedName,
|
|
52
|
+
storageDir: normalizedStorageDir,
|
|
53
|
+
archive: options.archive ?? true,
|
|
54
|
+
};
|
|
55
|
+
if (normalizedMessage !== undefined) {
|
|
56
|
+
payload.message = normalizedMessage;
|
|
57
|
+
}
|
|
58
|
+
if (options.transforms !== undefined) {
|
|
59
|
+
payload.transforms = options.transforms;
|
|
60
|
+
}
|
|
61
|
+
const response = await this.client._request("POST", `/repos/${encodeRepo(repo)}/branches`, payload);
|
|
62
|
+
return this.requireData(response, "Expected branch response data");
|
|
63
|
+
}
|
|
64
|
+
async deleteBranch(repo, branch) {
|
|
65
|
+
const response = await this.client._request("DELETE", `/repos/${encodeRepo(repo)}/branches/${requireRouteSegment(branch, "branch")}`);
|
|
66
|
+
return this.requireData(response, "Expected branch delete response data");
|
|
67
|
+
}
|
|
68
|
+
async createUpload(repo, options) {
|
|
69
|
+
const payload = {
|
|
70
|
+
branch: requireSimpleName(options.branch ?? "main", "branch"),
|
|
71
|
+
storageDir: requireNonEmptyString(options.storageDir, "storageDir"),
|
|
72
|
+
files: normalizeUploadFiles(options.files),
|
|
73
|
+
};
|
|
74
|
+
const response = await this.client._request("POST", `/repos/${encodeRepo(repo)}/uploads`, payload);
|
|
75
|
+
return this.requireData(response, "Expected upload response data");
|
|
76
|
+
}
|
|
77
|
+
async createDownload(repo, options) {
|
|
78
|
+
if (options.type !== "main" && options.type !== "branch") {
|
|
79
|
+
throw new DriftstoneError("type must be either 'main' or 'branch'");
|
|
80
|
+
}
|
|
81
|
+
const response = await this.client._request("POST", `/repos/${encodeRepo(repo)}/downloads`, {
|
|
82
|
+
type: options.type,
|
|
83
|
+
files: normalizeDownloadFiles(options.files),
|
|
84
|
+
});
|
|
85
|
+
return this.requireData(response, "Expected download response data");
|
|
86
|
+
}
|
|
87
|
+
async createDirectoryDownload(repo, options) {
|
|
88
|
+
if (options.type !== "main" && options.type !== "branch") {
|
|
89
|
+
throw new DriftstoneError("type must be either 'main' or 'branch'");
|
|
90
|
+
}
|
|
91
|
+
const response = await this.client._request("POST", `/repos/${encodeRepo(repo)}/downloads/directory`, {
|
|
92
|
+
type: options.type,
|
|
93
|
+
directory: requireDirectoryPath(options.directory, "directory"),
|
|
94
|
+
});
|
|
95
|
+
return this.requireData(response, "Expected directory download response data");
|
|
96
|
+
}
|
|
97
|
+
async copyDirectory(repo, options) {
|
|
98
|
+
const sourceDir = requireSimpleName(options.sourceDir, "sourceDir");
|
|
99
|
+
const destDir = requireSimpleName(options.destDir, "destDir");
|
|
100
|
+
const sourceBranch = requireSimpleName(options.sourceBranch ?? "main", "sourceBranch");
|
|
101
|
+
const destBranch = requireSimpleName(options.destBranch ?? "main", "destBranch");
|
|
102
|
+
if (sourceDir === destDir && sourceBranch === destBranch) {
|
|
103
|
+
throw new DriftstoneError("source and destination must be different");
|
|
104
|
+
}
|
|
105
|
+
if (options.transforms !== undefined) {
|
|
106
|
+
assertPlainObject(options.transforms, "transforms");
|
|
107
|
+
}
|
|
108
|
+
const response = await this.client._request("POST", `/repos/${encodeRepo(repo)}/copies`, {
|
|
109
|
+
sourceDir,
|
|
110
|
+
destDir,
|
|
111
|
+
sourceBranch,
|
|
112
|
+
destBranch,
|
|
113
|
+
transforms: options.transforms ?? {},
|
|
114
|
+
archive: options.archive ?? true,
|
|
115
|
+
});
|
|
116
|
+
return this.requireData(response, "Expected copy response data");
|
|
117
|
+
}
|
|
118
|
+
async getCopyStatus(repo, runId) {
|
|
119
|
+
const response = await this.client._request("GET", `/repos/${encodeRepo(repo)}/copies/${requireRouteSegment(runId, "runId")}`);
|
|
120
|
+
return this.requireData(response, "Expected copy status response data");
|
|
121
|
+
}
|
|
122
|
+
async completeUpload(repo, uploadId) {
|
|
123
|
+
const response = await this.client._request("POST", `/repos/${encodeRepo(repo)}/uploads/${requireRouteSegment(uploadId, "uploadId")}/complete`);
|
|
124
|
+
return this.requireData(response, "Expected upload completion response data");
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
function paginationPayload(options) {
|
|
128
|
+
return {
|
|
129
|
+
page: requirePositiveInteger(options.page ?? 1, "page"),
|
|
130
|
+
pageSize: requirePositiveInteger(options.pageSize ?? 10, "pageSize"),
|
|
131
|
+
};
|
|
132
|
+
}
|
|
133
|
+
export function normalizeUploadFiles(files) {
|
|
134
|
+
if (!Array.isArray(files) || files.length === 0) {
|
|
135
|
+
throw new DriftstoneError("files must be a non-empty array");
|
|
136
|
+
}
|
|
137
|
+
return files.map((file) => ({
|
|
138
|
+
name: requireNonEmptyString(file.name, "file name"),
|
|
139
|
+
hash: requireNonEmptyString(file.hash, "file hash"),
|
|
140
|
+
}));
|
|
141
|
+
}
|
|
142
|
+
function normalizeDownloadFiles(files) {
|
|
143
|
+
if (!Array.isArray(files) || files.length === 0) {
|
|
144
|
+
throw new DriftstoneError("files must be a non-empty array");
|
|
145
|
+
}
|
|
146
|
+
return files.map((file) => ({
|
|
147
|
+
path: requireNonEmptyString(file.path, "file path"),
|
|
148
|
+
}));
|
|
149
|
+
}
|
|
150
|
+
//# sourceMappingURL=repositories.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"repositories.js","sourceRoot":"","sources":["../../src/resources/repositories.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO,UAAU,CAAC"}
|
package/dist/version.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,OAAO,GAAG,OAAO,CAAC"}
|
package/package.json
ADDED
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@pickaxe/driftstone",
|
|
3
|
+
"version": "1.0.6",
|
|
4
|
+
"description": "TypeScript SDK for the Driftstone API.",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"license": "UNLICENSED",
|
|
7
|
+
"author": "Driftstone",
|
|
8
|
+
"homepage": "https://www.driftstone.ai/",
|
|
9
|
+
"repository": {
|
|
10
|
+
"type": "git",
|
|
11
|
+
"url": "git+https://github.com/driftstone/driftstone.git",
|
|
12
|
+
"directory": "typescript/driftstone"
|
|
13
|
+
},
|
|
14
|
+
"bugs": {
|
|
15
|
+
"url": "https://github.com/driftstone/driftstone/issues"
|
|
16
|
+
},
|
|
17
|
+
"keywords": [
|
|
18
|
+
"driftstone",
|
|
19
|
+
"sdk",
|
|
20
|
+
"api-client",
|
|
21
|
+
"typescript"
|
|
22
|
+
],
|
|
23
|
+
"sideEffects": false,
|
|
24
|
+
"files": [
|
|
25
|
+
"dist",
|
|
26
|
+
"README.md",
|
|
27
|
+
"LICENSE"
|
|
28
|
+
],
|
|
29
|
+
"exports": {
|
|
30
|
+
".": {
|
|
31
|
+
"types": "./dist/index.d.ts",
|
|
32
|
+
"import": "./dist/index.js"
|
|
33
|
+
},
|
|
34
|
+
"./package.json": "./package.json"
|
|
35
|
+
},
|
|
36
|
+
"main": "./dist/index.js",
|
|
37
|
+
"types": "./dist/index.d.ts",
|
|
38
|
+
"engines": {
|
|
39
|
+
"node": ">=18"
|
|
40
|
+
},
|
|
41
|
+
"scripts": {
|
|
42
|
+
"build": "tsc -p tsconfig.json",
|
|
43
|
+
"check": "tsc -p tsconfig.json --noEmit",
|
|
44
|
+
"test": "npm run build && node --test test",
|
|
45
|
+
"prepack": "npm run build"
|
|
46
|
+
},
|
|
47
|
+
"devDependencies": {
|
|
48
|
+
"@types/node": "^20.17.10",
|
|
49
|
+
"typescript": "^5.7.2"
|
|
50
|
+
}
|
|
51
|
+
}
|