@barekey/sdk 0.1.2 → 0.2.0
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/README.md +9 -3
- package/dist/client.d.ts +2 -3
- package/dist/client.d.ts.map +1 -1
- package/dist/index.d.ts +3 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/internal/node-runtime.d.ts +2 -1
- package/dist/internal/node-runtime.d.ts.map +1 -1
- package/dist/internal/node-runtime.js +7 -4
- package/dist/internal/public-runtime.d.ts +14 -0
- package/dist/internal/public-runtime.d.ts.map +1 -0
- package/dist/internal/public-runtime.js +78 -0
- package/dist/internal/typegen.d.ts +5 -0
- package/dist/internal/typegen.d.ts.map +1 -1
- package/dist/internal/typegen.js +44 -13
- package/dist/key-types.typecheck.d.ts +13 -0
- package/dist/key-types.typecheck.d.ts.map +1 -0
- package/dist/key-types.typecheck.js +5 -0
- package/dist/public-client.d.ts +35 -0
- package/dist/public-client.d.ts.map +1 -0
- package/dist/public-client.js +150 -0
- package/dist/public-types.d.ts +27 -0
- package/dist/public-types.d.ts.map +1 -0
- package/dist/public-types.js +1 -0
- package/dist/public.d.ts +6 -0
- package/dist/public.d.ts.map +1 -0
- package/dist/public.js +3 -0
- package/dist/server.d.ts +5 -0
- package/dist/server.d.ts.map +1 -0
- package/dist/server.js +3 -0
- package/dist/types.d.ts +6 -1
- package/dist/types.d.ts.map +1 -1
- package/generated.public.d.ts +8 -0
- package/generated.server.d.ts +8 -0
- package/index.d.ts +0 -1
- package/package.json +18 -3
- package/public.d.ts +2 -0
- package/server.d.ts +2 -0
- package/src/client.ts +3 -3
- package/src/index.ts +10 -0
- package/src/internal/node-runtime.ts +9 -5
- package/src/internal/public-runtime.ts +123 -0
- package/src/internal/typegen.ts +68 -13
- package/src/key-types.typecheck.ts +68 -0
- package/src/public-client.ts +231 -0
- package/src/public-types.ts +63 -0
- package/src/public.ts +71 -0
- package/src/server.ts +62 -0
- package/src/types.ts +8 -1
- package/generated.d.ts +0 -16
package/dist/server.d.ts
ADDED
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export { BarekeyClient } from "./client.js";
|
|
2
|
+
export { BarekeyEnvHandle } from "./handle.js";
|
|
3
|
+
export { BarekeyError, BillingUnavailableError, CoerceFailedError, DeviceCodeExpiredError, DeviceCodeNotFoundError, EvaluationFailedError, FsNotAvailableError, InvalidConfigurationProvidedError, InvalidCredentialsProvidedError, InvalidDynamicOptionsError, InvalidJsonError, InvalidOrgScopeError, InvalidRefreshTokenError, InvalidRequestError, NetworkError, NoConfigurationProvidedError, NoCredentialsProvidedError, OrgScopeInvalidError, RequirementsValidationFailedError, SdkModuleNotFoundError, TemporalNotAvailableError, TypegenReadFailedError, TypegenUnsupportedSdkError, TypegenWriteFailedError, UnauthorizedError, UnknownError, UsageLimitExceededError, UserCodeInvalidError, VariableNotFoundError, createBarekeyErrorFromCode, docsUrlForErrorCode, formatBarekeyErrorMessage, isBarekeyErrorCode, normalizeErrorCode, } from "./errors.js";
|
|
4
|
+
export type { AB, BarekeyClientOptions, BarekeyCoerceTarget, BarekeyDeclaredType, BarekeyErrorCode, BarekeyGeneratedTypeMap, BarekeyGetOptions, BarekeyJsonConfig, BarekeyKey, BarekeyLiteralString, BarekeyKnownKey, BarekeyResolvedKind, BarekeyRolloutMilestone, BarekeyStandardSchemaV1, BarekeyTemporalInstant, BarekeyTemporalInstantLike, BarekeyTtlInput, BarekeyTypegenResult, Env, Linear, Secret, } from "./types.js";
|
|
5
|
+
//# sourceMappingURL=server.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EACL,YAAY,EACZ,uBAAuB,EACvB,iBAAiB,EACjB,sBAAsB,EACtB,uBAAuB,EACvB,qBAAqB,EACrB,mBAAmB,EACnB,iCAAiC,EACjC,+BAA+B,EAC/B,0BAA0B,EAC1B,gBAAgB,EAChB,oBAAoB,EACpB,wBAAwB,EACxB,mBAAmB,EACnB,YAAY,EACZ,4BAA4B,EAC5B,0BAA0B,EAC1B,oBAAoB,EACpB,iCAAiC,EACjC,sBAAsB,EACtB,yBAAyB,EACzB,sBAAsB,EACtB,0BAA0B,EAC1B,uBAAuB,EACvB,iBAAiB,EACjB,YAAY,EACZ,uBAAuB,EACvB,oBAAoB,EACpB,qBAAqB,EACrB,0BAA0B,EAC1B,mBAAmB,EACnB,yBAAyB,EACzB,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,aAAa,CAAC;AAErB,YAAY,EACV,EAAE,EACF,oBAAoB,EACpB,mBAAmB,EACnB,mBAAmB,EACnB,gBAAgB,EAChB,uBAAuB,EACvB,iBAAiB,EACjB,iBAAiB,EACjB,UAAU,EACV,oBAAoB,EACpB,eAAe,EACf,mBAAmB,EACnB,uBAAuB,EACvB,uBAAuB,EACvB,sBAAsB,EACtB,0BAA0B,EAC1B,eAAe,EACf,oBAAoB,EACpB,GAAG,EACH,MAAM,EACN,MAAM,GACP,MAAM,YAAY,CAAC"}
|
package/dist/server.js
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export { BarekeyClient } from "./client.js";
|
|
2
|
+
export { BarekeyEnvHandle } from "./handle.js";
|
|
3
|
+
export { BarekeyError, BillingUnavailableError, CoerceFailedError, DeviceCodeExpiredError, DeviceCodeNotFoundError, EvaluationFailedError, FsNotAvailableError, InvalidConfigurationProvidedError, InvalidCredentialsProvidedError, InvalidDynamicOptionsError, InvalidJsonError, InvalidOrgScopeError, InvalidRefreshTokenError, InvalidRequestError, NetworkError, NoConfigurationProvidedError, NoCredentialsProvidedError, OrgScopeInvalidError, RequirementsValidationFailedError, SdkModuleNotFoundError, TemporalNotAvailableError, TypegenReadFailedError, TypegenUnsupportedSdkError, TypegenWriteFailedError, UnauthorizedError, UnknownError, UsageLimitExceededError, UserCodeInvalidError, VariableNotFoundError, createBarekeyErrorFromCode, docsUrlForErrorCode, formatBarekeyErrorMessage, isBarekeyErrorCode, normalizeErrorCode, } from "./errors.js";
|
package/dist/types.d.ts
CHANGED
|
@@ -23,16 +23,19 @@ export type EaseInOut<TMilestones extends ReadonlyArray<readonly [string, number
|
|
|
23
23
|
readonly kind: "ease_in_out";
|
|
24
24
|
readonly milestones: TMilestones;
|
|
25
25
|
};
|
|
26
|
-
export type Env<TMode, TValue, TFunction = never> = TValue & {
|
|
26
|
+
export type Env<TMode, TValue, TFunction = never, V = never> = TValue & {
|
|
27
27
|
readonly __barekey?: {
|
|
28
28
|
readonly mode: TMode;
|
|
29
29
|
readonly function: TFunction;
|
|
30
|
+
readonly visibility: V;
|
|
30
31
|
};
|
|
31
32
|
};
|
|
32
33
|
export type BarekeyCoerceTarget = "string" | "boolean" | "int64" | "float" | "date" | "json";
|
|
33
34
|
export interface BarekeyGeneratedTypeMap {
|
|
34
35
|
}
|
|
35
36
|
export type BarekeyKnownKey = Extract<keyof BarekeyGeneratedTypeMap, string>;
|
|
37
|
+
export type BarekeyLiteralString = string & {};
|
|
38
|
+
export type BarekeyKey = BarekeyKnownKey | BarekeyLiteralString;
|
|
36
39
|
export type BarekeyRolloutMilestone = {
|
|
37
40
|
at: string;
|
|
38
41
|
percentage: number;
|
|
@@ -117,6 +120,8 @@ type BarekeyBaseClientOptions = {
|
|
|
117
120
|
export type BarekeyTypegenResult = {
|
|
118
121
|
written: boolean;
|
|
119
122
|
path: string;
|
|
123
|
+
serverPath: string;
|
|
124
|
+
publicPath: string;
|
|
120
125
|
manifestVersion: string;
|
|
121
126
|
};
|
|
122
127
|
export type BarekeyClientOptions = (BarekeyBaseClientOptions & {
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,mBAAmB,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,CAAC;AAEnE,MAAM,MAAM,mBAAmB,GAAG,QAAQ,GAAG,SAAS,GAAG,OAAO,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC;AAE7F,MAAM,MAAM,sBAAsB,GAAG;IACnC,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,MAAM,IAAI,MAAM,CAAC;IACjB,QAAQ,IAAI,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAAG;IACvC,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;CACpC,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,IAAI,GAAG,0BAA0B,CAAC;AAEzE,MAAM,MAAM,MAAM,GAAG,QAAQ,CAAC;AAE9B,MAAM,MAAM,EAAE,GAAG,IAAI,CAAC;AAEtB,MAAM,MAAM,MAAM,CAChB,WAAW,SAAS,aAAa,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAAG,aAAa,CAC1E,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAC1B,IACC;IACF,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB,QAAQ,CAAC,UAAU,EAAE,WAAW,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,IAAI,CACd,WAAW,SAAS,aAAa,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAAG,aAAa,CAC1E,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAC1B,IACC;IACF,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,UAAU,EAAE,WAAW,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,SAAS,CACnB,WAAW,SAAS,aAAa,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAAG,aAAa,CAC1E,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAC1B,IACC;IACF,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAC7B,QAAQ,CAAC,UAAU,EAAE,WAAW,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,GAAG,KAAK,IAAI,MAAM,GAAG;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/index.d.ts
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@barekey/sdk",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.2.0",
|
|
4
4
|
"description": "Barekey TypeScript SDK",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -11,18 +11,33 @@
|
|
|
11
11
|
"import": "./dist/index.js",
|
|
12
12
|
"default": "./dist/index.js"
|
|
13
13
|
},
|
|
14
|
+
"./public": {
|
|
15
|
+
"types": "./public.d.ts",
|
|
16
|
+
"import": "./dist/public.js",
|
|
17
|
+
"default": "./dist/public.js"
|
|
18
|
+
},
|
|
19
|
+
"./server": {
|
|
20
|
+
"types": "./server.d.ts",
|
|
21
|
+
"import": "./dist/server.js",
|
|
22
|
+
"default": "./dist/server.js"
|
|
23
|
+
},
|
|
14
24
|
"./package.json": "./package.json"
|
|
15
25
|
},
|
|
16
26
|
"files": [
|
|
17
27
|
"dist",
|
|
18
|
-
"generated.d.ts",
|
|
28
|
+
"generated.public.d.ts",
|
|
29
|
+
"generated.server.d.ts",
|
|
19
30
|
"index.d.ts",
|
|
31
|
+
"public.d.ts",
|
|
32
|
+
"server.d.ts",
|
|
20
33
|
"src"
|
|
21
34
|
],
|
|
22
35
|
"scripts": {
|
|
23
36
|
"build": "tsc -p tsconfig.json",
|
|
24
|
-
"typecheck": "tsc -p tsconfig.json --noEmit"
|
|
37
|
+
"typecheck": "tsc -p tsconfig.json --noEmit",
|
|
38
|
+
"test": "bun test test"
|
|
25
39
|
},
|
|
40
|
+
"packageManager": "bun@1.2.22",
|
|
26
41
|
"devDependencies": {
|
|
27
42
|
"@types/node": "^24.10.1",
|
|
28
43
|
"typescript": "^5.9.3"
|
package/public.d.ts
ADDED
package/server.d.ts
ADDED
package/src/client.ts
CHANGED
|
@@ -28,6 +28,7 @@ import type {
|
|
|
28
28
|
BarekeyGeneratedTypeMap,
|
|
29
29
|
BarekeyGetOptions,
|
|
30
30
|
BarekeyJsonConfig,
|
|
31
|
+
BarekeyKey,
|
|
31
32
|
BarekeyKnownKey,
|
|
32
33
|
BarekeyTypegenResult,
|
|
33
34
|
BarekeyVariableDefinition,
|
|
@@ -107,11 +108,10 @@ export class BarekeyClient {
|
|
|
107
108
|
this.fetchFn = createDefaultFetch();
|
|
108
109
|
}
|
|
109
110
|
|
|
110
|
-
get<TKey extends
|
|
111
|
+
get<TKey extends BarekeyKey>(
|
|
111
112
|
name: TKey,
|
|
112
113
|
options?: BarekeyGetOptions,
|
|
113
|
-
): BarekeyEnvHandle<BarekeyGeneratedTypeMap[TKey]>;
|
|
114
|
-
get(name: string, options?: BarekeyGetOptions): BarekeyEnvHandle<unknown>;
|
|
114
|
+
): BarekeyEnvHandle<TKey extends BarekeyKnownKey ? BarekeyGeneratedTypeMap[TKey] : unknown>;
|
|
115
115
|
get(name: string, options?: BarekeyGetOptions): BarekeyEnvHandle<unknown> {
|
|
116
116
|
return new BarekeyEnvHandle(
|
|
117
117
|
async () => await this.resolveEvaluatedValue(name, options),
|
package/src/index.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export { BarekeyClient } from "./client.js";
|
|
2
|
+
export { PublicBarekeyClient } from "./public-client.js";
|
|
2
3
|
export { BarekeyEnvHandle } from "./handle.js";
|
|
3
4
|
export {
|
|
4
5
|
BarekeyError,
|
|
@@ -46,6 +47,8 @@ export type {
|
|
|
46
47
|
BarekeyGeneratedTypeMap,
|
|
47
48
|
BarekeyGetOptions,
|
|
48
49
|
BarekeyJsonConfig,
|
|
50
|
+
BarekeyKey,
|
|
51
|
+
BarekeyLiteralString,
|
|
49
52
|
BarekeyKnownKey,
|
|
50
53
|
BarekeyResolvedKind,
|
|
51
54
|
BarekeyRolloutMilestone,
|
|
@@ -58,3 +61,10 @@ export type {
|
|
|
58
61
|
Linear,
|
|
59
62
|
Secret,
|
|
60
63
|
} from "./types.js";
|
|
64
|
+
|
|
65
|
+
export type {
|
|
66
|
+
BarekeyPublicGeneratedTypeMap,
|
|
67
|
+
BarekeyPublicKey,
|
|
68
|
+
BarekeyPublicKnownKey,
|
|
69
|
+
PublicBarekeyClientOptions,
|
|
70
|
+
} from "./public-types.js";
|
|
@@ -476,7 +476,8 @@ function isMissingModuleError(error: unknown): boolean {
|
|
|
476
476
|
|
|
477
477
|
type InstalledSdkTypegenTarget = {
|
|
478
478
|
packageRoot: string;
|
|
479
|
-
|
|
479
|
+
serverGeneratedTypesPath: string;
|
|
480
|
+
publicGeneratedTypesPath: string;
|
|
480
481
|
typegenMetadataPath: string;
|
|
481
482
|
};
|
|
482
483
|
|
|
@@ -508,19 +509,22 @@ export async function resolveInstalledSdkTypegenTarget(): Promise<InstalledSdkTy
|
|
|
508
509
|
const candidatePackageJson = runtime.path.join(current, "package.json");
|
|
509
510
|
const rawPackageJson = await readJsonFile<Record<string, unknown>>(runtime, candidatePackageJson);
|
|
510
511
|
if (rawPackageJson !== null && rawPackageJson.name === "@barekey/sdk") {
|
|
511
|
-
const
|
|
512
|
+
const serverGeneratedTypesPath = runtime.path.join(current, "generated.server.d.ts");
|
|
513
|
+
const publicGeneratedTypesPath = runtime.path.join(current, "generated.public.d.ts");
|
|
512
514
|
try {
|
|
513
|
-
await runtime.fs.access(
|
|
515
|
+
await runtime.fs.access(serverGeneratedTypesPath);
|
|
516
|
+
await runtime.fs.access(publicGeneratedTypesPath);
|
|
514
517
|
} catch (error: unknown) {
|
|
515
518
|
throw new TypegenUnsupportedSdkError({
|
|
516
|
-
message: `The installed @barekey/sdk module at ${current} does not include generated.d.ts.`,
|
|
519
|
+
message: `The installed @barekey/sdk module at ${current} does not include generated.server.d.ts and generated.public.d.ts.`,
|
|
517
520
|
cause: error,
|
|
518
521
|
});
|
|
519
522
|
}
|
|
520
523
|
|
|
521
524
|
return {
|
|
522
525
|
packageRoot: current,
|
|
523
|
-
|
|
526
|
+
serverGeneratedTypesPath,
|
|
527
|
+
publicGeneratedTypesPath,
|
|
524
528
|
typegenMetadataPath: runtime.path.join(current, "typegen.json"),
|
|
525
529
|
};
|
|
526
530
|
}
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
import {
|
|
2
|
+
FsNotAvailableError,
|
|
3
|
+
InvalidConfigurationProvidedError,
|
|
4
|
+
NoConfigurationProvidedError,
|
|
5
|
+
} from "../errors.js";
|
|
6
|
+
import type { PublicBarekeyClientOptions } from "../public-types.js";
|
|
7
|
+
import type { BarekeyJsonConfig, BarekeyStandardSchemaV1 } from "../types.js";
|
|
8
|
+
import { normalizeBaseUrl } from "./http.js";
|
|
9
|
+
import { isFilesystemAvailable, loadBarekeyJsonConfig } from "./node-runtime.js";
|
|
10
|
+
|
|
11
|
+
const DEFAULT_BAREKEY_API_URL = "https://api.barekey.dev";
|
|
12
|
+
|
|
13
|
+
type BarekeyResolvedScope = {
|
|
14
|
+
organization: string;
|
|
15
|
+
project: string;
|
|
16
|
+
environment: string;
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
export type BarekeyPublicRuntimeContext = BarekeyResolvedScope & {
|
|
20
|
+
baseUrl: string;
|
|
21
|
+
requirements?: BarekeyStandardSchemaV1;
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
function readConfigString(value: unknown): string | undefined {
|
|
25
|
+
return typeof value === "string" ? value.trim() : undefined;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
function normalizeScope(input: {
|
|
29
|
+
organization?: unknown;
|
|
30
|
+
project?: unknown;
|
|
31
|
+
environment?: unknown;
|
|
32
|
+
source: string;
|
|
33
|
+
}): BarekeyResolvedScope {
|
|
34
|
+
const organization = readConfigString(input.organization) ?? "";
|
|
35
|
+
const project = readConfigString(input.project) ?? "";
|
|
36
|
+
const environment = readConfigString(input.environment) ?? "";
|
|
37
|
+
if (organization.length === 0 || project.length === 0 || environment.length === 0) {
|
|
38
|
+
throw new InvalidConfigurationProvidedError({
|
|
39
|
+
message: `${input.source} must provide organization, project, and environment.`,
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
return {
|
|
44
|
+
organization,
|
|
45
|
+
project,
|
|
46
|
+
environment,
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
function normalizeJsonConfig(
|
|
51
|
+
input: BarekeyJsonConfig | Record<string, unknown>,
|
|
52
|
+
source: string,
|
|
53
|
+
): BarekeyResolvedScope {
|
|
54
|
+
return normalizeScope({
|
|
55
|
+
organization: input.organization ?? input.org,
|
|
56
|
+
project: input.project,
|
|
57
|
+
environment: input.environment ?? input.stage,
|
|
58
|
+
source,
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
async function resolveScope(options: PublicBarekeyClientOptions): Promise<BarekeyResolvedScope> {
|
|
63
|
+
const explicitOrganization = "organization" in options ? options.organization : undefined;
|
|
64
|
+
const explicitProject = "project" in options ? options.project : undefined;
|
|
65
|
+
const explicitEnvironment = "environment" in options ? options.environment : undefined;
|
|
66
|
+
const explicitJson = "json" in options ? options.json : undefined;
|
|
67
|
+
|
|
68
|
+
const explicitCount =
|
|
69
|
+
Number(explicitOrganization !== undefined) +
|
|
70
|
+
Number(explicitProject !== undefined) +
|
|
71
|
+
Number(explicitEnvironment !== undefined);
|
|
72
|
+
|
|
73
|
+
if (explicitJson !== undefined && explicitCount > 0) {
|
|
74
|
+
throw new InvalidConfigurationProvidedError({
|
|
75
|
+
message: "Pass either json or organization/project/environment, not both.",
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
if (explicitCount > 0 && explicitCount < 3) {
|
|
80
|
+
throw new InvalidConfigurationProvidedError({
|
|
81
|
+
message: "organization, project, and environment must be provided together.",
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
if (explicitJson !== undefined) {
|
|
86
|
+
return normalizeJsonConfig(explicitJson, "The provided json configuration");
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
if (explicitCount === 3) {
|
|
90
|
+
return normalizeScope({
|
|
91
|
+
organization: explicitOrganization,
|
|
92
|
+
project: explicitProject,
|
|
93
|
+
environment: explicitEnvironment,
|
|
94
|
+
source: "The provided Barekey configuration",
|
|
95
|
+
});
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
const loadedConfig = await loadBarekeyJsonConfig();
|
|
99
|
+
if (loadedConfig === null) {
|
|
100
|
+
if (!(await isFilesystemAvailable())) {
|
|
101
|
+
throw new FsNotAvailableError();
|
|
102
|
+
}
|
|
103
|
+
throw new NoConfigurationProvidedError({
|
|
104
|
+
message: "No Barekey configuration was found and no barekey.json file could be loaded.",
|
|
105
|
+
});
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
return normalizeJsonConfig(
|
|
109
|
+
loadedConfig.json,
|
|
110
|
+
`The barekey.json file at ${loadedConfig.path}`,
|
|
111
|
+
);
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
export async function resolvePublicRuntimeContext(
|
|
115
|
+
options: PublicBarekeyClientOptions,
|
|
116
|
+
): Promise<BarekeyPublicRuntimeContext> {
|
|
117
|
+
const scope = await resolveScope(options);
|
|
118
|
+
return {
|
|
119
|
+
...scope,
|
|
120
|
+
baseUrl: normalizeBaseUrl(options.baseUrl?.trim() || DEFAULT_BAREKEY_API_URL),
|
|
121
|
+
requirements: options.requirements,
|
|
122
|
+
};
|
|
123
|
+
}
|
package/src/internal/typegen.ts
CHANGED
|
@@ -11,6 +11,7 @@ import type {
|
|
|
11
11
|
|
|
12
12
|
export type TypegenManifestVariable = {
|
|
13
13
|
name: string;
|
|
14
|
+
visibility: "private" | "public";
|
|
14
15
|
kind: "secret" | "ab_roll" | "rollout";
|
|
15
16
|
declaredType: "string" | "boolean" | "int64" | "float" | "date" | "json";
|
|
16
17
|
required: boolean;
|
|
@@ -77,19 +78,30 @@ function renderRolloutMetadataType(row: TypegenManifestVariable): string {
|
|
|
77
78
|
|
|
78
79
|
function renderVariableType(row: TypegenManifestVariable): string {
|
|
79
80
|
if (row.kind === "secret") {
|
|
80
|
-
return `Env<Secret, ${row.typeScriptType}>`;
|
|
81
|
+
return `Env<Secret, ${row.typeScriptType}, never, ${JSON.stringify(row.visibility)}>`;
|
|
81
82
|
}
|
|
82
83
|
|
|
83
84
|
if (row.kind === "ab_roll") {
|
|
84
|
-
return `Env<AB, ${row.typeScriptType}>`;
|
|
85
|
+
return `Env<AB, ${row.typeScriptType}, never, ${JSON.stringify(row.visibility)}>`;
|
|
85
86
|
}
|
|
86
87
|
|
|
87
|
-
return `Env<AB, ${row.typeScriptType}, ${renderRolloutMetadataType(
|
|
88
|
+
return `Env<AB, ${row.typeScriptType}, ${renderRolloutMetadataType(
|
|
89
|
+
row,
|
|
90
|
+
)}, ${JSON.stringify(row.visibility)}>`;
|
|
88
91
|
}
|
|
89
92
|
|
|
90
|
-
function buildGeneratedTypesContents(
|
|
93
|
+
function buildGeneratedTypesContents(
|
|
94
|
+
manifest: TypegenManifest,
|
|
95
|
+
input: {
|
|
96
|
+
typeModulePath: "./dist/types.js" | "./dist/public-types.js";
|
|
97
|
+
declaredModulePath: "./dist/types.js" | "./dist/public-types.js";
|
|
98
|
+
interfaceName: "BarekeyGeneratedTypeMap" | "BarekeyPublicGeneratedTypeMap";
|
|
99
|
+
include: (row: TypegenManifestVariable) => boolean;
|
|
100
|
+
},
|
|
101
|
+
): string {
|
|
91
102
|
const mapLines = manifest.variables
|
|
92
103
|
.slice()
|
|
104
|
+
.filter(input.include)
|
|
93
105
|
.sort((left, right) => left.name.localeCompare(right.name))
|
|
94
106
|
.map((row) => ` ${JSON.stringify(row.name)}: ${renderVariableType(row)};`)
|
|
95
107
|
.join("\n");
|
|
@@ -98,10 +110,10 @@ function buildGeneratedTypesContents(manifest: TypegenManifest): string {
|
|
|
98
110
|
/* This file is generated by barekey typegen. */
|
|
99
111
|
/* barekey-manifest-version: ${manifest.manifestVersion} */
|
|
100
112
|
|
|
101
|
-
import type { AB, EaseInOut, Env, Linear, Secret, Step } from "
|
|
113
|
+
import type { AB, EaseInOut, Env, Linear, Secret, Step } from "${input.typeModulePath}";
|
|
102
114
|
|
|
103
|
-
declare module "
|
|
104
|
-
interface
|
|
115
|
+
declare module "${input.declaredModulePath}" {
|
|
116
|
+
interface ${input.interfaceName} {
|
|
105
117
|
${mapLines.length > 0 ? mapLines : ""}
|
|
106
118
|
}
|
|
107
119
|
}
|
|
@@ -191,7 +203,27 @@ function buildTypegenMetadataContents(
|
|
|
191
203
|
|
|
192
204
|
export async function resolveInstalledSdkGeneratedTypesPath(): Promise<string | null> {
|
|
193
205
|
const target = await resolveInstalledSdkTypegenTarget();
|
|
194
|
-
return target?.
|
|
206
|
+
return target?.serverGeneratedTypesPath ?? null;
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
export function renderGeneratedTypesForManifest(manifest: TypegenManifest): {
|
|
210
|
+
serverContents: string;
|
|
211
|
+
publicContents: string;
|
|
212
|
+
} {
|
|
213
|
+
return {
|
|
214
|
+
serverContents: buildGeneratedTypesContents(manifest, {
|
|
215
|
+
typeModulePath: "./dist/types.js",
|
|
216
|
+
declaredModulePath: "./dist/types.js",
|
|
217
|
+
interfaceName: "BarekeyGeneratedTypeMap",
|
|
218
|
+
include: () => true,
|
|
219
|
+
}),
|
|
220
|
+
publicContents: buildGeneratedTypesContents(manifest, {
|
|
221
|
+
typeModulePath: "./dist/public-types.js",
|
|
222
|
+
declaredModulePath: "./dist/public-types.js",
|
|
223
|
+
interfaceName: "BarekeyPublicGeneratedTypeMap",
|
|
224
|
+
include: (row) => row.visibility === "public",
|
|
225
|
+
}),
|
|
226
|
+
};
|
|
195
227
|
}
|
|
196
228
|
|
|
197
229
|
export async function hasFreshInstalledSdkTypegen(
|
|
@@ -229,31 +261,54 @@ export async function writeInstalledSdkGeneratedTypes(
|
|
|
229
261
|
return {
|
|
230
262
|
written: false,
|
|
231
263
|
path: "",
|
|
264
|
+
serverPath: "",
|
|
265
|
+
publicPath: "",
|
|
232
266
|
manifestVersion: manifest.manifestVersion,
|
|
233
267
|
};
|
|
234
268
|
}
|
|
235
269
|
|
|
236
|
-
const
|
|
237
|
-
|
|
270
|
+
const [existingServerContents, existingPublicContents] = await Promise.all([
|
|
271
|
+
readTextFile(target.serverGeneratedTypesPath),
|
|
272
|
+
readTextFile(target.publicGeneratedTypesPath),
|
|
273
|
+
]);
|
|
274
|
+
if (
|
|
275
|
+
readManifestVersion(existingServerContents) === manifest.manifestVersion &&
|
|
276
|
+
readManifestVersion(existingPublicContents) === manifest.manifestVersion
|
|
277
|
+
) {
|
|
238
278
|
await writeTextFileAtomic(
|
|
239
279
|
target.typegenMetadataPath,
|
|
240
280
|
buildTypegenMetadataContents(new Date(), identity),
|
|
241
281
|
);
|
|
242
282
|
return {
|
|
243
283
|
written: false,
|
|
244
|
-
path: target.
|
|
284
|
+
path: target.serverGeneratedTypesPath,
|
|
285
|
+
serverPath: target.serverGeneratedTypesPath,
|
|
286
|
+
publicPath: target.publicGeneratedTypesPath,
|
|
245
287
|
manifestVersion: manifest.manifestVersion,
|
|
246
288
|
};
|
|
247
289
|
}
|
|
248
290
|
|
|
249
|
-
|
|
291
|
+
const rendered = renderGeneratedTypesForManifest(manifest);
|
|
292
|
+
|
|
293
|
+
await Promise.all([
|
|
294
|
+
writeTextFileAtomic(
|
|
295
|
+
target.serverGeneratedTypesPath,
|
|
296
|
+
rendered.serverContents,
|
|
297
|
+
),
|
|
298
|
+
writeTextFileAtomic(
|
|
299
|
+
target.publicGeneratedTypesPath,
|
|
300
|
+
rendered.publicContents,
|
|
301
|
+
),
|
|
302
|
+
]);
|
|
250
303
|
await writeTextFileAtomic(
|
|
251
304
|
target.typegenMetadataPath,
|
|
252
305
|
buildTypegenMetadataContents(new Date(), identity),
|
|
253
306
|
);
|
|
254
307
|
return {
|
|
255
308
|
written: true,
|
|
256
|
-
path: target.
|
|
309
|
+
path: target.serverGeneratedTypesPath,
|
|
310
|
+
serverPath: target.serverGeneratedTypesPath,
|
|
311
|
+
publicPath: target.publicGeneratedTypesPath,
|
|
257
312
|
manifestVersion: manifest.manifestVersion,
|
|
258
313
|
};
|
|
259
314
|
}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import type { BarekeyClient } from "./client.js";
|
|
2
|
+
import type { BarekeyEnvHandle } from "./handle.js";
|
|
3
|
+
import type { PublicBarekeyClient } from "./public-client.js";
|
|
4
|
+
import type { Env, Secret } from "./types.js";
|
|
5
|
+
import type {
|
|
6
|
+
BarekeyGeneratedTypeMap,
|
|
7
|
+
BarekeyKey,
|
|
8
|
+
BarekeyKnownKey,
|
|
9
|
+
BarekeyLiteralString,
|
|
10
|
+
} from "./types.js";
|
|
11
|
+
import type {
|
|
12
|
+
BarekeyPublicGeneratedTypeMap,
|
|
13
|
+
BarekeyPublicKey,
|
|
14
|
+
BarekeyPublicKnownKey,
|
|
15
|
+
} from "./public-types.js";
|
|
16
|
+
|
|
17
|
+
declare module "./types.js" {
|
|
18
|
+
interface BarekeyGeneratedTypeMap {
|
|
19
|
+
PRIVATE_TOKEN: Env<Secret, string, never, "private">;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
declare module "./public-types.js" {
|
|
24
|
+
interface BarekeyPublicGeneratedTypeMap {
|
|
25
|
+
PUBLIC_THEME: Env<Secret, "light" | "dark", never, "public">;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
type Assert<T extends true> = T;
|
|
30
|
+
|
|
31
|
+
type IsEqual<TLeft, TRight> = (<TValue>() => TValue extends TLeft ? 1 : 2) extends <
|
|
32
|
+
TValue,
|
|
33
|
+
>() => TValue extends TRight ? 1 : 2
|
|
34
|
+
? true
|
|
35
|
+
: false;
|
|
36
|
+
|
|
37
|
+
type UnwrapHandle<TValue> = TValue extends BarekeyEnvHandle<infer TResolved> ? TResolved : never;
|
|
38
|
+
|
|
39
|
+
declare const client: BarekeyClient;
|
|
40
|
+
declare const publicClient: PublicBarekeyClient;
|
|
41
|
+
|
|
42
|
+
const privateKnownHandle = client.get("PRIVATE_TOKEN");
|
|
43
|
+
const privateUnknownHandle = client.get("SOME_RUNTIME_KEY");
|
|
44
|
+
const publicKnownHandle = publicClient.get("PUBLIC_THEME");
|
|
45
|
+
const publicUnknownHandle = publicClient.get("SOME_RUNTIME_KEY");
|
|
46
|
+
|
|
47
|
+
type _barekeyKnownKeyStillExact = Assert<IsEqual<BarekeyKnownKey, "PRIVATE_TOKEN">>;
|
|
48
|
+
type _barekeyPublicKnownKeyStillExact = Assert<IsEqual<BarekeyPublicKnownKey, "PUBLIC_THEME">>;
|
|
49
|
+
type _barekeyKeyAllowsStrings = Assert<
|
|
50
|
+
IsEqual<BarekeyKey, BarekeyKnownKey | BarekeyLiteralString>
|
|
51
|
+
>;
|
|
52
|
+
type _barekeyPublicKeyAllowsStrings = Assert<
|
|
53
|
+
IsEqual<BarekeyPublicKey, BarekeyPublicKnownKey | BarekeyLiteralString>
|
|
54
|
+
>;
|
|
55
|
+
type _privateKnownHandleKeepsGeneratedValue = Assert<
|
|
56
|
+
IsEqual<UnwrapHandle<typeof privateKnownHandle>, BarekeyGeneratedTypeMap["PRIVATE_TOKEN"]>
|
|
57
|
+
>;
|
|
58
|
+
type _privateUnknownHandleFallsBackToUnknown = Assert<
|
|
59
|
+
IsEqual<UnwrapHandle<typeof privateUnknownHandle>, unknown>
|
|
60
|
+
>;
|
|
61
|
+
type _publicKnownHandleKeepsGeneratedValue = Assert<
|
|
62
|
+
IsEqual<UnwrapHandle<typeof publicKnownHandle>, BarekeyPublicGeneratedTypeMap["PUBLIC_THEME"]>
|
|
63
|
+
>;
|
|
64
|
+
type _publicUnknownHandleFallsBackToUnknown = Assert<
|
|
65
|
+
IsEqual<UnwrapHandle<typeof publicUnknownHandle>, unknown>
|
|
66
|
+
>;
|
|
67
|
+
|
|
68
|
+
export {};
|