@qlever-llc/trellis 0.6.1 → 0.7.0-rc.3
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 +6 -2
- package/esm/auth/device_activation.d.ts +194 -0
- package/esm/auth/device_activation.d.ts.map +1 -0
- package/esm/auth/{workload_activation.js → device_activation.js} +85 -60
- package/esm/auth/mod.d.ts +2 -2
- package/esm/auth/mod.d.ts.map +1 -1
- package/esm/auth/mod.js +2 -2
- package/esm/auth/protocol.d.ts +175 -72
- package/esm/auth/protocol.d.ts.map +1 -1
- package/esm/auth/protocol.js +126 -78
- package/esm/contracts/mod.d.ts +19 -3
- package/esm/contracts/mod.d.ts.map +1 -1
- package/esm/contracts/mod.js +28 -4
- package/esm/contracts/protocol.d.ts +34 -0
- package/esm/contracts/protocol.d.ts.map +1 -1
- package/esm/contracts/protocol.js +15 -0
- package/esm/server/deno.d.ts +1 -6
- package/esm/server/deno.d.ts.map +1 -1
- package/esm/server/deno.js +1 -16
- package/esm/server/mod.d.ts +3 -2
- package/esm/server/mod.d.ts.map +1 -1
- package/esm/server/mod.js +2 -2
- package/esm/server/node.d.ts +1 -6
- package/esm/server/node.d.ts.map +1 -1
- package/esm/server/node.js +1 -16
- package/esm/server/service.d.ts +32 -10
- package/esm/server/service.d.ts.map +1 -1
- package/esm/server/service.js +188 -41
- package/esm/server/transfer.d.ts +41 -0
- package/esm/server/transfer.d.ts.map +1 -0
- package/esm/server/transfer.js +418 -0
- package/esm/telemetry/init.d.ts +4 -0
- package/esm/telemetry/init.d.ts.map +1 -0
- package/esm/telemetry/init.js +7 -0
- package/esm/telemetry/mod.d.ts +1 -2
- package/esm/telemetry/mod.d.ts.map +1 -1
- package/esm/telemetry/mod.js +1 -2
- package/esm/telemetry/runtime.d.ts.map +1 -1
- package/esm/telemetry/runtime.js +9 -5
- package/esm/telemetry/trellis.d.ts +0 -1
- package/esm/telemetry/trellis.d.ts.map +1 -1
- package/esm/telemetry/trellis.js +0 -6
- package/esm/trellis/_sdk/auth/api.d.ts.map +1 -1
- package/esm/trellis/_sdk/auth/api.js +132 -110
- package/esm/trellis/_sdk/auth/contract.d.ts +1 -1
- package/esm/trellis/_sdk/auth/contract.d.ts.map +1 -1
- package/esm/trellis/_sdk/auth/contract.js +2 -2
- package/esm/trellis/_sdk/auth/schemas.d.ts +4212 -3069
- package/esm/trellis/_sdk/auth/schemas.d.ts.map +1 -1
- package/esm/trellis/_sdk/auth/schemas.js +144 -125
- package/esm/trellis/_sdk/auth/types.d.ts +417 -267
- package/esm/trellis/_sdk/auth/types.d.ts.map +1 -1
- package/esm/trellis/_sdk/auth/types.js +1 -1
- package/esm/trellis/_sdk/core/contract.d.ts +1 -1
- package/esm/trellis/_sdk/core/contract.d.ts.map +1 -1
- package/esm/trellis/_sdk/core/contract.js +2 -2
- package/esm/trellis/_sdk/core/schemas.d.ts +122 -0
- package/esm/trellis/_sdk/core/schemas.d.ts.map +1 -1
- package/esm/trellis/_sdk/core/schemas.js +4 -4
- package/esm/trellis/_sdk/core/types.d.ts +18 -1
- package/esm/trellis/_sdk/core/types.d.ts.map +1 -1
- package/esm/trellis/_sdk/core/types.js +1 -1
- package/esm/trellis/_sdk/state/_dnt.polyfills.d.ts +12 -0
- package/esm/trellis/_sdk/state/_dnt.polyfills.d.ts.map +1 -0
- package/esm/trellis/_sdk/state/_dnt.polyfills.js +15 -0
- package/esm/trellis/_sdk/state/api.d.ts +10 -0
- package/esm/trellis/_sdk/state/api.d.ts.map +1 -0
- package/esm/trellis/_sdk/state/api.js +71 -0
- package/esm/trellis/_sdk/state/contract.d.ts +8 -0
- package/esm/trellis/_sdk/state/contract.d.ts.map +1 -0
- package/esm/trellis/_sdk/state/contract.js +59 -0
- package/esm/trellis/_sdk/state/mod.d.ts +7 -0
- package/esm/trellis/_sdk/state/mod.d.ts.map +1 -0
- package/esm/trellis/_sdk/state/mod.js +5 -0
- package/esm/trellis/_sdk/state/package.json +3 -0
- package/esm/trellis/_sdk/state/schemas.d.ts +1437 -0
- package/esm/trellis/_sdk/state/schemas.d.ts.map +1 -0
- package/esm/trellis/_sdk/state/schemas.js +62 -0
- package/esm/trellis/_sdk/state/types.d.ts +206 -0
- package/esm/trellis/_sdk/state/types.d.ts.map +1 -0
- package/esm/trellis/_sdk/state/types.js +3 -0
- package/esm/trellis/client_connect.d.ts +53 -0
- package/esm/trellis/client_connect.d.ts.map +1 -0
- package/esm/trellis/client_connect.js +300 -0
- package/esm/trellis/contract.d.ts +1 -7
- package/esm/trellis/contract.d.ts.map +1 -1
- package/esm/trellis/contract.js +1 -12
- package/esm/trellis/device.d.ts +41 -0
- package/esm/trellis/device.d.ts.map +1 -0
- package/esm/trellis/device.js +209 -0
- package/esm/trellis/errors/AuthError.d.ts +1 -1
- package/esm/trellis/errors/AuthError.js +9 -9
- package/esm/trellis/errors/StoreError.d.ts +22 -0
- package/esm/trellis/errors/StoreError.d.ts.map +1 -0
- package/esm/trellis/errors/StoreError.js +41 -0
- package/esm/trellis/errors/TransferError.d.ts +22 -0
- package/esm/trellis/errors/TransferError.d.ts.map +1 -0
- package/esm/trellis/errors/TransferError.js +41 -0
- package/esm/trellis/errors/index.d.ts +8 -0
- package/esm/trellis/errors/index.d.ts.map +1 -1
- package/esm/trellis/errors/index.js +8 -0
- package/esm/trellis/index.d.ts +10 -4
- package/esm/trellis/index.d.ts.map +1 -1
- package/esm/trellis/index.js +6 -4
- package/esm/trellis/kv.d.ts +2 -0
- package/esm/trellis/kv.d.ts.map +1 -1
- package/esm/trellis/kv.js +6 -0
- package/esm/trellis/models/trellis/TrellisError.d.ts +15 -1
- package/esm/trellis/models/trellis/TrellisError.d.ts.map +1 -1
- package/esm/trellis/models/trellis/TrellisError.js +4 -0
- package/esm/trellis/runtime_transport.d.ts +12 -0
- package/esm/trellis/runtime_transport.d.ts.map +1 -0
- package/esm/trellis/runtime_transport.js +35 -0
- package/esm/trellis/sdk/state.d.ts +4 -0
- package/esm/trellis/sdk/state.d.ts.map +1 -0
- package/esm/trellis/sdk/state.js +3 -0
- package/esm/trellis/store.d.ts +51 -0
- package/esm/trellis/store.d.ts.map +1 -0
- package/esm/trellis/store.js +310 -0
- package/esm/trellis/tracing.js +1 -1
- package/esm/trellis/transfer.d.ts +118 -0
- package/esm/trellis/transfer.d.ts.map +1 -0
- package/esm/trellis/transfer.js +357 -0
- package/esm/trellis/trellis.d.ts +3 -0
- package/esm/trellis/trellis.d.ts.map +1 -1
- package/esm/trellis/trellis.js +48 -17
- package/package.json +7 -2
- package/script/auth/device_activation.d.ts +194 -0
- package/script/auth/device_activation.d.ts.map +1 -0
- package/script/auth/{workload_activation.js → device_activation.js} +99 -74
- package/script/auth/mod.d.ts +2 -2
- package/script/auth/mod.d.ts.map +1 -1
- package/script/auth/mod.js +84 -76
- package/script/auth/protocol.d.ts +175 -72
- package/script/auth/protocol.d.ts.map +1 -1
- package/script/auth/protocol.js +129 -81
- package/script/contracts/mod.d.ts +19 -3
- package/script/contracts/mod.d.ts.map +1 -1
- package/script/contracts/mod.js +30 -4
- package/script/contracts/protocol.d.ts +34 -0
- package/script/contracts/protocol.d.ts.map +1 -1
- package/script/contracts/protocol.js +16 -1
- package/script/telemetry/init.d.ts +4 -0
- package/script/telemetry/init.d.ts.map +1 -0
- package/script/telemetry/init.js +11 -0
- package/script/telemetry/mod.d.ts +1 -2
- package/script/telemetry/mod.d.ts.map +1 -1
- package/script/telemetry/mod.js +1 -4
- package/script/telemetry/runtime.d.ts.map +1 -1
- package/script/telemetry/runtime.js +9 -28
- package/script/telemetry/trellis.d.ts +0 -1
- package/script/telemetry/trellis.d.ts.map +1 -1
- package/script/telemetry/trellis.js +0 -7
- package/script/trellis/_sdk/auth/api.d.ts.map +1 -1
- package/script/trellis/_sdk/auth/api.js +132 -110
- package/script/trellis/_sdk/auth/contract.d.ts +1 -1
- package/script/trellis/_sdk/auth/contract.d.ts.map +1 -1
- package/script/trellis/_sdk/auth/contract.js +2 -2
- package/script/trellis/_sdk/auth/schemas.d.ts +4212 -3069
- package/script/trellis/_sdk/auth/schemas.d.ts.map +1 -1
- package/script/trellis/_sdk/auth/schemas.js +144 -125
- package/script/trellis/_sdk/auth/types.d.ts +417 -267
- package/script/trellis/_sdk/auth/types.d.ts.map +1 -1
- package/script/trellis/_sdk/auth/types.js +1 -1
- package/script/trellis/_sdk/core/contract.d.ts +1 -1
- package/script/trellis/_sdk/core/contract.d.ts.map +1 -1
- package/script/trellis/_sdk/core/contract.js +2 -2
- package/script/trellis/_sdk/core/schemas.d.ts +122 -0
- package/script/trellis/_sdk/core/schemas.d.ts.map +1 -1
- package/script/trellis/_sdk/core/schemas.js +4 -4
- package/script/trellis/_sdk/core/types.d.ts +18 -1
- package/script/trellis/_sdk/core/types.d.ts.map +1 -1
- package/script/trellis/_sdk/core/types.js +1 -1
- package/script/trellis/_sdk/state/_dnt.polyfills.d.ts +12 -0
- package/script/trellis/_sdk/state/_dnt.polyfills.d.ts.map +1 -0
- package/script/trellis/_sdk/state/_dnt.polyfills.js +16 -0
- package/script/trellis/_sdk/state/api.d.ts +10 -0
- package/script/trellis/_sdk/state/api.d.ts.map +1 -0
- package/script/trellis/_sdk/state/api.js +74 -0
- package/script/trellis/_sdk/state/contract.d.ts +8 -0
- package/script/trellis/_sdk/state/contract.d.ts.map +1 -0
- package/script/trellis/_sdk/state/contract.js +62 -0
- package/script/trellis/_sdk/state/mod.d.ts +7 -0
- package/script/trellis/_sdk/state/mod.d.ts.map +1 -0
- package/script/trellis/_sdk/state/mod.js +30 -0
- package/script/trellis/_sdk/state/package.json +3 -0
- package/script/trellis/_sdk/state/schemas.d.ts +1437 -0
- package/script/trellis/_sdk/state/schemas.d.ts.map +1 -0
- package/script/trellis/_sdk/state/schemas.js +65 -0
- package/script/trellis/_sdk/state/types.d.ts +206 -0
- package/script/trellis/_sdk/state/types.d.ts.map +1 -0
- package/script/trellis/_sdk/state/types.js +6 -0
- package/script/trellis/client_connect.d.ts +53 -0
- package/script/trellis/client_connect.d.ts.map +1 -0
- package/script/trellis/client_connect.js +304 -0
- package/script/trellis/contract.d.ts +1 -7
- package/script/trellis/contract.d.ts.map +1 -1
- package/script/trellis/contract.js +1 -12
- package/script/trellis/device.d.ts +41 -0
- package/script/trellis/device.d.ts.map +1 -0
- package/script/trellis/device.js +213 -0
- package/script/trellis/errors/AuthError.d.ts +1 -1
- package/script/trellis/errors/AuthError.js +9 -9
- package/script/trellis/errors/StoreError.d.ts +22 -0
- package/script/trellis/errors/StoreError.d.ts.map +1 -0
- package/script/trellis/errors/StoreError.js +48 -0
- package/script/trellis/errors/TransferError.d.ts +22 -0
- package/script/trellis/errors/TransferError.d.ts.map +1 -0
- package/script/trellis/errors/TransferError.js +48 -0
- package/script/trellis/errors/index.d.ts +8 -0
- package/script/trellis/errors/index.d.ts.map +1 -1
- package/script/trellis/errors/index.js +13 -1
- package/script/trellis/index.d.ts +10 -4
- package/script/trellis/index.d.ts.map +1 -1
- package/script/trellis/index.js +17 -6
- package/script/trellis/kv.d.ts +2 -0
- package/script/trellis/kv.d.ts.map +1 -1
- package/script/trellis/kv.js +6 -0
- package/script/trellis/models/trellis/TrellisError.d.ts +15 -1
- package/script/trellis/models/trellis/TrellisError.d.ts.map +1 -1
- package/script/trellis/models/trellis/TrellisError.js +4 -0
- package/script/trellis/runtime_transport.d.ts +12 -0
- package/script/trellis/runtime_transport.d.ts.map +1 -0
- package/script/trellis/runtime_transport.js +37 -0
- package/script/trellis/store.d.ts +51 -0
- package/script/trellis/store.d.ts.map +1 -0
- package/script/trellis/store.js +316 -0
- package/script/trellis/tracing.js +1 -1
- package/script/trellis/transfer.d.ts +118 -0
- package/script/trellis/transfer.d.ts.map +1 -0
- package/script/trellis/transfer.js +367 -0
- package/script/trellis/trellis.d.ts +3 -0
- package/script/trellis/trellis.d.ts.map +1 -1
- package/script/trellis/trellis.js +48 -17
- package/esm/auth/workload_activation.d.ts +0 -192
- package/esm/auth/workload_activation.d.ts.map +0 -1
- package/esm/trellis/workload.d.ts +0 -45
- package/esm/trellis/workload.d.ts.map +0 -1
- package/esm/trellis/workload.js +0 -144
- package/script/auth/workload_activation.d.ts +0 -192
- package/script/auth/workload_activation.d.ts.map +0 -1
- package/script/trellis/workload.d.ts +0 -45
- package/script/trellis/workload.d.ts.map +0 -1
- package/script/trellis/workload.js +0 -172
|
@@ -1,192 +0,0 @@
|
|
|
1
|
-
import type { StaticDecode } from "typebox";
|
|
2
|
-
import { Type } from "typebox";
|
|
3
|
-
import type { NatsAuthTokenV1 } from "./schemas.js";
|
|
4
|
-
import { AuthActivateWorkloadResponseSchema, AuthActivateWorkloadSchema, AuthGetWorkloadActivationStatusResponseSchema, AuthGetWorkloadActivationStatusSchema, AuthGetWorkloadConnectInfoResponseSchema, AuthGetWorkloadConnectInfoSchema, AuthListWorkloadActivationsResponseSchema, AuthListWorkloadActivationsSchema, AuthRevokeWorkloadActivationResponseSchema, AuthRevokeWorkloadActivationSchema, WaitForWorkloadActivationResponseSchema } from "./protocol.js";
|
|
5
|
-
export declare const WorkloadActivationPayloadSchema: Type.TObject<{
|
|
6
|
-
v: Type.TLiteral<1>;
|
|
7
|
-
publicIdentityKey: Type.TString;
|
|
8
|
-
nonce: Type.TString;
|
|
9
|
-
qrMac: Type.TString;
|
|
10
|
-
}>;
|
|
11
|
-
export declare const WorkloadActivationWaitRequestSchema: Type.TObject<{
|
|
12
|
-
publicIdentityKey: Type.TString;
|
|
13
|
-
nonce: Type.TString;
|
|
14
|
-
contractDigest: Type.TOptional<Type.TString>;
|
|
15
|
-
iat: Type.TNumber;
|
|
16
|
-
sig: Type.TString;
|
|
17
|
-
}>;
|
|
18
|
-
export type WorkloadActivationPayload = StaticDecode<typeof WorkloadActivationPayloadSchema>;
|
|
19
|
-
export type WorkloadActivationWaitRequest = StaticDecode<typeof WorkloadActivationWaitRequestSchema>;
|
|
20
|
-
export type WaitForWorkloadActivationResponse = StaticDecode<typeof WaitForWorkloadActivationResponseSchema>;
|
|
21
|
-
export type AuthActivateWorkloadInput = StaticDecode<typeof AuthActivateWorkloadSchema>;
|
|
22
|
-
export type AuthActivateWorkloadOutput = StaticDecode<typeof AuthActivateWorkloadResponseSchema>;
|
|
23
|
-
export type AuthGetWorkloadActivationStatusInput = StaticDecode<typeof AuthGetWorkloadActivationStatusSchema>;
|
|
24
|
-
export type AuthGetWorkloadActivationStatusOutput = StaticDecode<typeof AuthGetWorkloadActivationStatusResponseSchema>;
|
|
25
|
-
export type AuthListWorkloadActivationsInput = StaticDecode<typeof AuthListWorkloadActivationsSchema>;
|
|
26
|
-
export type AuthListWorkloadActivationsOutput = StaticDecode<typeof AuthListWorkloadActivationsResponseSchema>;
|
|
27
|
-
export type AuthRevokeWorkloadActivationInput = StaticDecode<typeof AuthRevokeWorkloadActivationSchema>;
|
|
28
|
-
export type AuthRevokeWorkloadActivationResponse = StaticDecode<typeof AuthRevokeWorkloadActivationResponseSchema>;
|
|
29
|
-
export type GetWorkloadConnectInfoInput = StaticDecode<typeof AuthGetWorkloadConnectInfoSchema>;
|
|
30
|
-
export type GetWorkloadConnectInfoOutput = StaticDecode<typeof AuthGetWorkloadConnectInfoResponseSchema>;
|
|
31
|
-
export type WorkloadIdentity = {
|
|
32
|
-
identitySeed: Uint8Array;
|
|
33
|
-
identitySeedBase64url: string;
|
|
34
|
-
publicIdentityKey: string;
|
|
35
|
-
activationKey: Uint8Array;
|
|
36
|
-
activationKeyBase64url: string;
|
|
37
|
-
};
|
|
38
|
-
type WorkloadActivationRpcMethod = "Auth.ActivateWorkload" | "Auth.GetWorkloadActivationStatus" | "Auth.ListWorkloadActivations" | "Auth.RevokeWorkloadActivation" | "Auth.GetWorkloadConnectInfo";
|
|
39
|
-
type WorkloadActivationRpcInputMap = {
|
|
40
|
-
"Auth.ActivateWorkload": AuthActivateWorkloadInput;
|
|
41
|
-
"Auth.GetWorkloadActivationStatus": AuthGetWorkloadActivationStatusInput;
|
|
42
|
-
"Auth.ListWorkloadActivations": AuthListWorkloadActivationsInput;
|
|
43
|
-
"Auth.RevokeWorkloadActivation": AuthRevokeWorkloadActivationInput;
|
|
44
|
-
"Auth.GetWorkloadConnectInfo": GetWorkloadConnectInfoInput;
|
|
45
|
-
};
|
|
46
|
-
type WorkloadActivationRpcOutputMap = {
|
|
47
|
-
"Auth.ActivateWorkload": AuthActivateWorkloadOutput;
|
|
48
|
-
"Auth.GetWorkloadActivationStatus": AuthGetWorkloadActivationStatusOutput;
|
|
49
|
-
"Auth.ListWorkloadActivations": AuthListWorkloadActivationsOutput;
|
|
50
|
-
"Auth.RevokeWorkloadActivation": AuthRevokeWorkloadActivationResponse;
|
|
51
|
-
"Auth.GetWorkloadConnectInfo": GetWorkloadConnectInfoOutput;
|
|
52
|
-
};
|
|
53
|
-
type RequestClient = {
|
|
54
|
-
requestOrThrow<M extends WorkloadActivationRpcMethod>(method: M, input: WorkloadActivationRpcInputMap[M], opts?: unknown): Promise<WorkloadActivationRpcOutputMap[M]>;
|
|
55
|
-
};
|
|
56
|
-
export type WorkloadActivationTransport = RequestClient;
|
|
57
|
-
export declare function deriveWorkloadIdentity(workloadRootSecret: Uint8Array): Promise<WorkloadIdentity>;
|
|
58
|
-
export declare function deriveWorkloadQrMac(input: {
|
|
59
|
-
activationKey: Uint8Array | string;
|
|
60
|
-
publicIdentityKey: string;
|
|
61
|
-
nonce: string;
|
|
62
|
-
}): Promise<string>;
|
|
63
|
-
export declare function buildWorkloadActivationPayload(input: {
|
|
64
|
-
activationKey: Uint8Array | string;
|
|
65
|
-
publicIdentityKey: string;
|
|
66
|
-
nonce: string;
|
|
67
|
-
}): Promise<WorkloadActivationPayload>;
|
|
68
|
-
export declare function encodeWorkloadActivationPayload(payload: WorkloadActivationPayload): string;
|
|
69
|
-
export declare function parseWorkloadActivationPayload(value: string): WorkloadActivationPayload;
|
|
70
|
-
export declare function buildWorkloadActivationUrl(args: {
|
|
71
|
-
trellisUrl: string;
|
|
72
|
-
payload: WorkloadActivationPayload | string;
|
|
73
|
-
}): string;
|
|
74
|
-
export declare function deriveWorkloadConfirmationCode(input: {
|
|
75
|
-
activationKey: Uint8Array | string;
|
|
76
|
-
publicIdentityKey: string;
|
|
77
|
-
nonce: string;
|
|
78
|
-
}): Promise<string>;
|
|
79
|
-
export declare function verifyWorkloadConfirmationCode(input: {
|
|
80
|
-
activationKey: Uint8Array | string;
|
|
81
|
-
publicIdentityKey: string;
|
|
82
|
-
nonce: string;
|
|
83
|
-
confirmationCode: string;
|
|
84
|
-
}): Promise<boolean>;
|
|
85
|
-
export declare function buildWorkloadWaitProofInput(publicIdentityKey: string, nonce: string, iat: number): Uint8Array;
|
|
86
|
-
export declare function signWorkloadWaitRequest(args: {
|
|
87
|
-
publicIdentityKey: string;
|
|
88
|
-
nonce: string;
|
|
89
|
-
identitySeed: Uint8Array | string;
|
|
90
|
-
contractDigest?: string;
|
|
91
|
-
iat?: number;
|
|
92
|
-
}): Promise<WorkloadActivationWaitRequest>;
|
|
93
|
-
export declare function createWorkloadNatsAuthToken(args: {
|
|
94
|
-
publicIdentityKey: string;
|
|
95
|
-
identitySeed: Uint8Array | string;
|
|
96
|
-
contractDigest: string;
|
|
97
|
-
iat?: number;
|
|
98
|
-
}): Promise<NatsAuthTokenV1 & {
|
|
99
|
-
contractDigest: string;
|
|
100
|
-
}>;
|
|
101
|
-
export declare function waitForWorkloadActivation(args: {
|
|
102
|
-
trellisUrl: string;
|
|
103
|
-
publicIdentityKey: string;
|
|
104
|
-
nonce: string;
|
|
105
|
-
identitySeed: Uint8Array | string;
|
|
106
|
-
contractDigest: string;
|
|
107
|
-
signal?: AbortSignal;
|
|
108
|
-
pollIntervalMs?: number;
|
|
109
|
-
}): Promise<Extract<WaitForWorkloadActivationResponse, {
|
|
110
|
-
status: "activated";
|
|
111
|
-
}>>;
|
|
112
|
-
export declare function getWorkloadConnectInfo(args: {
|
|
113
|
-
trellisUrl: string;
|
|
114
|
-
publicIdentityKey: string;
|
|
115
|
-
identitySeed: Uint8Array | string;
|
|
116
|
-
contractDigest: string;
|
|
117
|
-
iat?: number;
|
|
118
|
-
}): Promise<GetWorkloadConnectInfoOutput>;
|
|
119
|
-
export declare function createWorkloadActivationClient(client: WorkloadActivationTransport): {
|
|
120
|
-
activateWorkload(input: AuthActivateWorkloadInput): Promise<{
|
|
121
|
-
confirmationCode?: string | undefined;
|
|
122
|
-
status: "activated";
|
|
123
|
-
profileId: string;
|
|
124
|
-
instanceId: string;
|
|
125
|
-
activatedAt: string;
|
|
126
|
-
} | {
|
|
127
|
-
status: "pending_review";
|
|
128
|
-
profileId: string;
|
|
129
|
-
instanceId: string;
|
|
130
|
-
reviewId: string;
|
|
131
|
-
requestedAt: string;
|
|
132
|
-
} | {
|
|
133
|
-
reason?: string | undefined;
|
|
134
|
-
status: "rejected";
|
|
135
|
-
}>;
|
|
136
|
-
getWorkloadActivationStatus(input: AuthGetWorkloadActivationStatusInput): Promise<{
|
|
137
|
-
confirmationCode?: string | undefined;
|
|
138
|
-
status: "activated";
|
|
139
|
-
profileId: string;
|
|
140
|
-
instanceId: string;
|
|
141
|
-
activatedAt: string;
|
|
142
|
-
} | {
|
|
143
|
-
status: "pending_review";
|
|
144
|
-
profileId: string;
|
|
145
|
-
instanceId: string;
|
|
146
|
-
reviewId: string;
|
|
147
|
-
requestedAt: string;
|
|
148
|
-
} | {
|
|
149
|
-
reason?: string | undefined;
|
|
150
|
-
status: "rejected";
|
|
151
|
-
}>;
|
|
152
|
-
listWorkloadActivations(input?: AuthListWorkloadActivationsInput): Promise<{
|
|
153
|
-
activations: {
|
|
154
|
-
activatedBy?: {
|
|
155
|
-
id: string;
|
|
156
|
-
origin: string;
|
|
157
|
-
} | undefined;
|
|
158
|
-
profileId: string;
|
|
159
|
-
instanceId: string;
|
|
160
|
-
publicIdentityKey: string;
|
|
161
|
-
state: "activated" | "revoked";
|
|
162
|
-
activatedAt: string;
|
|
163
|
-
revokedAt: string | null;
|
|
164
|
-
}[];
|
|
165
|
-
}>;
|
|
166
|
-
revokeWorkloadActivation(input: AuthRevokeWorkloadActivationInput): Promise<{
|
|
167
|
-
success: boolean;
|
|
168
|
-
}>;
|
|
169
|
-
getWorkloadConnectInfo(input: GetWorkloadConnectInfoInput): Promise<{
|
|
170
|
-
status: "ready";
|
|
171
|
-
connectInfo: {
|
|
172
|
-
contractDigest: string;
|
|
173
|
-
contractId: string;
|
|
174
|
-
profileId: string;
|
|
175
|
-
instanceId: string;
|
|
176
|
-
transport: {
|
|
177
|
-
sentinel: {
|
|
178
|
-
jwt: string;
|
|
179
|
-
seed: string;
|
|
180
|
-
};
|
|
181
|
-
natsServers: string[];
|
|
182
|
-
};
|
|
183
|
-
auth: {
|
|
184
|
-
mode: "workload_identity";
|
|
185
|
-
iatSkewSeconds: number;
|
|
186
|
-
};
|
|
187
|
-
};
|
|
188
|
-
}>;
|
|
189
|
-
};
|
|
190
|
-
export declare function verifyWorkloadWaitSignature(input: WorkloadActivationWaitRequest): Promise<boolean>;
|
|
191
|
-
export {};
|
|
192
|
-
//# sourceMappingURL=workload_activation.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"workload_activation.d.ts","sourceRoot":"","sources":["../../src/auth/workload_activation.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
import { type NatsConnection } from "@nats-io/nats-core";
|
|
2
|
-
import type { ClientOpts } from "./client.js";
|
|
3
|
-
import type { TrellisAPI } from "./contracts.js";
|
|
4
|
-
import type { TrellisAuth, Trellis } from "./trellis.js";
|
|
5
|
-
type WorkloadContract<TApi extends TrellisAPI = TrellisAPI> = {
|
|
6
|
-
CONTRACT_ID: string;
|
|
7
|
-
CONTRACT_DIGEST: string;
|
|
8
|
-
API: {
|
|
9
|
-
trellis: TApi;
|
|
10
|
-
};
|
|
11
|
-
createClient(nats: NatsConnection, auth: TrellisAuth, opts?: ClientOpts): Trellis<TApi>;
|
|
12
|
-
};
|
|
13
|
-
type WorkloadConnectTransport = {
|
|
14
|
-
connect(options: {
|
|
15
|
-
servers: string | string[];
|
|
16
|
-
token?: string;
|
|
17
|
-
authenticator?: unknown;
|
|
18
|
-
inboxPrefix?: string;
|
|
19
|
-
}): Promise<NatsConnection>;
|
|
20
|
-
};
|
|
21
|
-
type WorkloadConnectDeps = {
|
|
22
|
-
loadTransport(): Promise<WorkloadConnectTransport>;
|
|
23
|
-
now(): number;
|
|
24
|
-
};
|
|
25
|
-
export type WorkloadActivationController = {
|
|
26
|
-
url: string;
|
|
27
|
-
waitForOnlineApproval(opts?: {
|
|
28
|
-
signal?: AbortSignal;
|
|
29
|
-
}): Promise<void>;
|
|
30
|
-
acceptConfirmationCode(code: string): Promise<void>;
|
|
31
|
-
};
|
|
32
|
-
export type TrellisWorkloadConnectArgs<TApi extends TrellisAPI = TrellisAPI> = {
|
|
33
|
-
authUrl: string;
|
|
34
|
-
contract: WorkloadContract<TApi>;
|
|
35
|
-
rootSecret: Uint8Array | string;
|
|
36
|
-
onActivationRequired?(activation: WorkloadActivationController): Promise<void>;
|
|
37
|
-
};
|
|
38
|
-
declare function runtimeImport<TModule>(specifier: string): Promise<TModule>;
|
|
39
|
-
export declare function loadDefaultTransport(importModule?: typeof runtimeImport): Promise<WorkloadConnectTransport>;
|
|
40
|
-
export declare function connectWorkloadWithDeps<TApi extends TrellisAPI>(args: TrellisWorkloadConnectArgs<TApi>, deps: WorkloadConnectDeps): Promise<Trellis<TApi>>;
|
|
41
|
-
export declare class TrellisWorkload {
|
|
42
|
-
static connect<TApi extends TrellisAPI>(args: TrellisWorkloadConnectArgs<TApi>): Promise<Trellis<TApi>>;
|
|
43
|
-
}
|
|
44
|
-
export {};
|
|
45
|
-
//# sourceMappingURL=workload.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"workload.d.ts","sourceRoot":"","sources":["../../src/trellis/workload.ts"],"names":[],"mappings":"AACA,OAAO,EAAoB,KAAK,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAY3E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEzD,KAAK,gBAAgB,CAAC,IAAI,SAAS,UAAU,GAAG,UAAU,IAAI;IAC5D,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,GAAG,EAAE;QACH,OAAO,EAAE,IAAI,CAAC;KACf,CAAC;IACF,YAAY,CAAC,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACzF,CAAC;AAEF,KAAK,wBAAwB,GAAG;IAC9B,OAAO,CAAC,OAAO,EAAE;QACf,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;QAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,aAAa,CAAC,EAAE,OAAO,CAAC;QACxB,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;CAC7B,CAAC;AAEF,KAAK,mBAAmB,GAAG;IACzB,aAAa,IAAI,OAAO,CAAC,wBAAwB,CAAC,CAAC;IACnD,GAAG,IAAI,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,4BAA4B,GAAG;IACzC,GAAG,EAAE,MAAM,CAAC;IACZ,qBAAqB,CAAC,IAAI,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACtE,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACrD,CAAC;AAEF,MAAM,MAAM,0BAA0B,CAAC,IAAI,SAAS,UAAU,GAAG,UAAU,IAAI;IAC7E,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,gBAAgB,CAAC,IAAI,CAAC,CAAC;IACjC,UAAU,EAAE,UAAU,GAAG,MAAM,CAAC;IAChC,oBAAoB,CAAC,CAAC,UAAU,EAAE,4BAA4B,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAChF,CAAC;AAqBF,iBAAe,aAAa,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAKzE;AAED,wBAAsB,oBAAoB,CACxC,YAAY,GAAE,OAAO,aAA6B,GACjD,OAAO,CAAC,wBAAwB,CAAC,CAenC;AAgBD,wBAAsB,uBAAuB,CAAC,IAAI,SAAS,UAAU,EACnE,IAAI,EAAE,0BAA0B,CAAC,IAAI,CAAC,EACtC,IAAI,EAAE,mBAAmB,GACxB,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAmGxB;AAED,qBAAa,eAAe;IAC1B,MAAM,CAAC,OAAO,CAAC,IAAI,SAAS,UAAU,EACpC,IAAI,EAAE,0BAA0B,CAAC,IAAI,CAAC,GACrC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;CAG1B"}
|
package/esm/trellis/workload.js
DELETED
|
@@ -1,144 +0,0 @@
|
|
|
1
|
-
import * as dntShim from "../_dnt.shims.js";
|
|
2
|
-
import { jwtAuthenticator } from "@nats-io/nats-core";
|
|
3
|
-
import { base64urlDecode, buildWorkloadActivationPayload, buildWorkloadActivationUrl, createWorkloadNatsAuthToken, deriveWorkloadIdentity, getWorkloadConnectInfo, verifyWorkloadConfirmationCode, waitForWorkloadActivation, } from "./auth.js";
|
|
4
|
-
function normalizeRootSecret(rootSecret) {
|
|
5
|
-
if (typeof rootSecret === "string") {
|
|
6
|
-
const decoded = base64urlDecode(rootSecret.trim());
|
|
7
|
-
if (decoded.length === 0)
|
|
8
|
-
throw new Error("rootSecret must not be empty");
|
|
9
|
-
return decoded;
|
|
10
|
-
}
|
|
11
|
-
if (rootSecret.length === 0)
|
|
12
|
-
throw new Error("rootSecret must not be empty");
|
|
13
|
-
return rootSecret;
|
|
14
|
-
}
|
|
15
|
-
async function signIdentityBytes(identitySeed, data) {
|
|
16
|
-
const { importEd25519PrivateKeyFromSeedBase64url } = await import("../auth/keys.js");
|
|
17
|
-
const { base64urlEncode, toArrayBuffer } = await import("../auth/utils.js");
|
|
18
|
-
const privateKey = await importEd25519PrivateKeyFromSeedBase64url(base64urlEncode(identitySeed));
|
|
19
|
-
return new Uint8Array(await crypto.subtle.sign("Ed25519", privateKey, toArrayBuffer(data)));
|
|
20
|
-
}
|
|
21
|
-
async function runtimeImport(specifier) {
|
|
22
|
-
const load = new Function("specifier", "return import(specifier);");
|
|
23
|
-
return await load(specifier);
|
|
24
|
-
}
|
|
25
|
-
export async function loadDefaultTransport(importModule = runtimeImport) {
|
|
26
|
-
if ("Deno" in dntShim.dntGlobalThis) {
|
|
27
|
-
const mod = await importModule("@nats-io/nats-core");
|
|
28
|
-
return {
|
|
29
|
-
connect: mod.wsconnect,
|
|
30
|
-
};
|
|
31
|
-
}
|
|
32
|
-
const mod = await runtimeImport("@nats-io/transport-node");
|
|
33
|
-
return {
|
|
34
|
-
connect: mod.connect,
|
|
35
|
-
};
|
|
36
|
-
}
|
|
37
|
-
const defaultDeps = {
|
|
38
|
-
loadTransport: loadDefaultTransport,
|
|
39
|
-
now: () => Date.now(),
|
|
40
|
-
};
|
|
41
|
-
function activationRequiredError() {
|
|
42
|
-
return new Error("Workload activation required but no activation handler was provided");
|
|
43
|
-
}
|
|
44
|
-
function isConnectInfoUnavailable(error) {
|
|
45
|
-
const message = error instanceof Error ? error.message : String(error);
|
|
46
|
-
return message.includes("404") || message.includes("unknown_workload");
|
|
47
|
-
}
|
|
48
|
-
export async function connectWorkloadWithDeps(args, deps) {
|
|
49
|
-
const rootSecret = normalizeRootSecret(args.rootSecret);
|
|
50
|
-
const identity = await deriveWorkloadIdentity(rootSecret);
|
|
51
|
-
const contractDigest = args.contract.CONTRACT_DIGEST;
|
|
52
|
-
let connectInfo = null;
|
|
53
|
-
try {
|
|
54
|
-
connectInfo = (await getWorkloadConnectInfo({
|
|
55
|
-
trellisUrl: args.authUrl,
|
|
56
|
-
publicIdentityKey: identity.publicIdentityKey,
|
|
57
|
-
identitySeed: identity.identitySeed,
|
|
58
|
-
contractDigest,
|
|
59
|
-
})).connectInfo;
|
|
60
|
-
}
|
|
61
|
-
catch (error) {
|
|
62
|
-
if (!isConnectInfoUnavailable(error))
|
|
63
|
-
throw error;
|
|
64
|
-
}
|
|
65
|
-
if (!connectInfo) {
|
|
66
|
-
if (!args.onActivationRequired)
|
|
67
|
-
throw activationRequiredError();
|
|
68
|
-
const nonce = crypto.randomUUID();
|
|
69
|
-
const payload = await buildWorkloadActivationPayload({
|
|
70
|
-
activationKey: identity.activationKey,
|
|
71
|
-
publicIdentityKey: identity.publicIdentityKey,
|
|
72
|
-
nonce,
|
|
73
|
-
});
|
|
74
|
-
const activationUrl = buildWorkloadActivationUrl({
|
|
75
|
-
trellisUrl: args.authUrl,
|
|
76
|
-
payload,
|
|
77
|
-
});
|
|
78
|
-
let activationCompleted = false;
|
|
79
|
-
let onlineConnectInfo = null;
|
|
80
|
-
await args.onActivationRequired({
|
|
81
|
-
url: activationUrl,
|
|
82
|
-
waitForOnlineApproval: async (opts) => {
|
|
83
|
-
if (activationCompleted)
|
|
84
|
-
return;
|
|
85
|
-
const activation = await waitForWorkloadActivation({
|
|
86
|
-
trellisUrl: args.authUrl,
|
|
87
|
-
publicIdentityKey: identity.publicIdentityKey,
|
|
88
|
-
nonce,
|
|
89
|
-
identitySeed: identity.identitySeed,
|
|
90
|
-
contractDigest,
|
|
91
|
-
signal: opts?.signal,
|
|
92
|
-
});
|
|
93
|
-
onlineConnectInfo = activation.connectInfo;
|
|
94
|
-
activationCompleted = true;
|
|
95
|
-
},
|
|
96
|
-
acceptConfirmationCode: async (code) => {
|
|
97
|
-
if (activationCompleted)
|
|
98
|
-
return;
|
|
99
|
-
const ok = await verifyWorkloadConfirmationCode({
|
|
100
|
-
activationKey: identity.activationKey,
|
|
101
|
-
publicIdentityKey: identity.publicIdentityKey,
|
|
102
|
-
nonce,
|
|
103
|
-
confirmationCode: code,
|
|
104
|
-
});
|
|
105
|
-
if (!ok) {
|
|
106
|
-
throw new Error("Invalid workload confirmation code");
|
|
107
|
-
}
|
|
108
|
-
activationCompleted = true;
|
|
109
|
-
},
|
|
110
|
-
});
|
|
111
|
-
if (!activationCompleted) {
|
|
112
|
-
throw new Error("Workload activation did not complete");
|
|
113
|
-
}
|
|
114
|
-
connectInfo = onlineConnectInfo ?? (await getWorkloadConnectInfo({
|
|
115
|
-
trellisUrl: args.authUrl,
|
|
116
|
-
publicIdentityKey: identity.publicIdentityKey,
|
|
117
|
-
identitySeed: identity.identitySeed,
|
|
118
|
-
contractDigest,
|
|
119
|
-
})).connectInfo;
|
|
120
|
-
}
|
|
121
|
-
const transport = await deps.loadTransport();
|
|
122
|
-
const iat = Math.floor(deps.now() / 1_000);
|
|
123
|
-
const authToken = await createWorkloadNatsAuthToken({
|
|
124
|
-
publicIdentityKey: identity.publicIdentityKey,
|
|
125
|
-
identitySeed: identity.identitySeed,
|
|
126
|
-
contractDigest,
|
|
127
|
-
iat,
|
|
128
|
-
});
|
|
129
|
-
const nc = await transport.connect({
|
|
130
|
-
servers: connectInfo.transport.natsServers,
|
|
131
|
-
token: JSON.stringify(authToken),
|
|
132
|
-
inboxPrefix: `_INBOX.${identity.publicIdentityKey.slice(0, 16)}`,
|
|
133
|
-
authenticator: jwtAuthenticator(connectInfo.transport.sentinel.jwt, new TextEncoder().encode(connectInfo.transport.sentinel.seed)),
|
|
134
|
-
});
|
|
135
|
-
return args.contract.createClient(nc, {
|
|
136
|
-
sessionKey: identity.publicIdentityKey,
|
|
137
|
-
sign: (data) => signIdentityBytes(identity.identitySeed, data),
|
|
138
|
-
});
|
|
139
|
-
}
|
|
140
|
-
export class TrellisWorkload {
|
|
141
|
-
static connect(args) {
|
|
142
|
-
return connectWorkloadWithDeps(args, defaultDeps);
|
|
143
|
-
}
|
|
144
|
-
}
|
|
@@ -1,192 +0,0 @@
|
|
|
1
|
-
import type { StaticDecode } from "typebox";
|
|
2
|
-
import { Type } from "typebox";
|
|
3
|
-
import type { NatsAuthTokenV1 } from "./schemas.ts";
|
|
4
|
-
import { AuthActivateWorkloadResponseSchema, AuthActivateWorkloadSchema, AuthGetWorkloadActivationStatusResponseSchema, AuthGetWorkloadActivationStatusSchema, AuthGetWorkloadConnectInfoResponseSchema, AuthGetWorkloadConnectInfoSchema, AuthListWorkloadActivationsResponseSchema, AuthListWorkloadActivationsSchema, AuthRevokeWorkloadActivationResponseSchema, AuthRevokeWorkloadActivationSchema, WaitForWorkloadActivationResponseSchema } from "./protocol.ts";
|
|
5
|
-
export declare const WorkloadActivationPayloadSchema: Type.TObject<{
|
|
6
|
-
v: Type.TLiteral<1>;
|
|
7
|
-
publicIdentityKey: Type.TString;
|
|
8
|
-
nonce: Type.TString;
|
|
9
|
-
qrMac: Type.TString;
|
|
10
|
-
}>;
|
|
11
|
-
export declare const WorkloadActivationWaitRequestSchema: Type.TObject<{
|
|
12
|
-
publicIdentityKey: Type.TString;
|
|
13
|
-
nonce: Type.TString;
|
|
14
|
-
contractDigest: Type.TOptional<Type.TString>;
|
|
15
|
-
iat: Type.TNumber;
|
|
16
|
-
sig: Type.TString;
|
|
17
|
-
}>;
|
|
18
|
-
export type WorkloadActivationPayload = StaticDecode<typeof WorkloadActivationPayloadSchema>;
|
|
19
|
-
export type WorkloadActivationWaitRequest = StaticDecode<typeof WorkloadActivationWaitRequestSchema>;
|
|
20
|
-
export type WaitForWorkloadActivationResponse = StaticDecode<typeof WaitForWorkloadActivationResponseSchema>;
|
|
21
|
-
export type AuthActivateWorkloadInput = StaticDecode<typeof AuthActivateWorkloadSchema>;
|
|
22
|
-
export type AuthActivateWorkloadOutput = StaticDecode<typeof AuthActivateWorkloadResponseSchema>;
|
|
23
|
-
export type AuthGetWorkloadActivationStatusInput = StaticDecode<typeof AuthGetWorkloadActivationStatusSchema>;
|
|
24
|
-
export type AuthGetWorkloadActivationStatusOutput = StaticDecode<typeof AuthGetWorkloadActivationStatusResponseSchema>;
|
|
25
|
-
export type AuthListWorkloadActivationsInput = StaticDecode<typeof AuthListWorkloadActivationsSchema>;
|
|
26
|
-
export type AuthListWorkloadActivationsOutput = StaticDecode<typeof AuthListWorkloadActivationsResponseSchema>;
|
|
27
|
-
export type AuthRevokeWorkloadActivationInput = StaticDecode<typeof AuthRevokeWorkloadActivationSchema>;
|
|
28
|
-
export type AuthRevokeWorkloadActivationResponse = StaticDecode<typeof AuthRevokeWorkloadActivationResponseSchema>;
|
|
29
|
-
export type GetWorkloadConnectInfoInput = StaticDecode<typeof AuthGetWorkloadConnectInfoSchema>;
|
|
30
|
-
export type GetWorkloadConnectInfoOutput = StaticDecode<typeof AuthGetWorkloadConnectInfoResponseSchema>;
|
|
31
|
-
export type WorkloadIdentity = {
|
|
32
|
-
identitySeed: Uint8Array;
|
|
33
|
-
identitySeedBase64url: string;
|
|
34
|
-
publicIdentityKey: string;
|
|
35
|
-
activationKey: Uint8Array;
|
|
36
|
-
activationKeyBase64url: string;
|
|
37
|
-
};
|
|
38
|
-
type WorkloadActivationRpcMethod = "Auth.ActivateWorkload" | "Auth.GetWorkloadActivationStatus" | "Auth.ListWorkloadActivations" | "Auth.RevokeWorkloadActivation" | "Auth.GetWorkloadConnectInfo";
|
|
39
|
-
type WorkloadActivationRpcInputMap = {
|
|
40
|
-
"Auth.ActivateWorkload": AuthActivateWorkloadInput;
|
|
41
|
-
"Auth.GetWorkloadActivationStatus": AuthGetWorkloadActivationStatusInput;
|
|
42
|
-
"Auth.ListWorkloadActivations": AuthListWorkloadActivationsInput;
|
|
43
|
-
"Auth.RevokeWorkloadActivation": AuthRevokeWorkloadActivationInput;
|
|
44
|
-
"Auth.GetWorkloadConnectInfo": GetWorkloadConnectInfoInput;
|
|
45
|
-
};
|
|
46
|
-
type WorkloadActivationRpcOutputMap = {
|
|
47
|
-
"Auth.ActivateWorkload": AuthActivateWorkloadOutput;
|
|
48
|
-
"Auth.GetWorkloadActivationStatus": AuthGetWorkloadActivationStatusOutput;
|
|
49
|
-
"Auth.ListWorkloadActivations": AuthListWorkloadActivationsOutput;
|
|
50
|
-
"Auth.RevokeWorkloadActivation": AuthRevokeWorkloadActivationResponse;
|
|
51
|
-
"Auth.GetWorkloadConnectInfo": GetWorkloadConnectInfoOutput;
|
|
52
|
-
};
|
|
53
|
-
type RequestClient = {
|
|
54
|
-
requestOrThrow<M extends WorkloadActivationRpcMethod>(method: M, input: WorkloadActivationRpcInputMap[M], opts?: unknown): Promise<WorkloadActivationRpcOutputMap[M]>;
|
|
55
|
-
};
|
|
56
|
-
export type WorkloadActivationTransport = RequestClient;
|
|
57
|
-
export declare function deriveWorkloadIdentity(workloadRootSecret: Uint8Array): Promise<WorkloadIdentity>;
|
|
58
|
-
export declare function deriveWorkloadQrMac(input: {
|
|
59
|
-
activationKey: Uint8Array | string;
|
|
60
|
-
publicIdentityKey: string;
|
|
61
|
-
nonce: string;
|
|
62
|
-
}): Promise<string>;
|
|
63
|
-
export declare function buildWorkloadActivationPayload(input: {
|
|
64
|
-
activationKey: Uint8Array | string;
|
|
65
|
-
publicIdentityKey: string;
|
|
66
|
-
nonce: string;
|
|
67
|
-
}): Promise<WorkloadActivationPayload>;
|
|
68
|
-
export declare function encodeWorkloadActivationPayload(payload: WorkloadActivationPayload): string;
|
|
69
|
-
export declare function parseWorkloadActivationPayload(value: string): WorkloadActivationPayload;
|
|
70
|
-
export declare function buildWorkloadActivationUrl(args: {
|
|
71
|
-
trellisUrl: string;
|
|
72
|
-
payload: WorkloadActivationPayload | string;
|
|
73
|
-
}): string;
|
|
74
|
-
export declare function deriveWorkloadConfirmationCode(input: {
|
|
75
|
-
activationKey: Uint8Array | string;
|
|
76
|
-
publicIdentityKey: string;
|
|
77
|
-
nonce: string;
|
|
78
|
-
}): Promise<string>;
|
|
79
|
-
export declare function verifyWorkloadConfirmationCode(input: {
|
|
80
|
-
activationKey: Uint8Array | string;
|
|
81
|
-
publicIdentityKey: string;
|
|
82
|
-
nonce: string;
|
|
83
|
-
confirmationCode: string;
|
|
84
|
-
}): Promise<boolean>;
|
|
85
|
-
export declare function buildWorkloadWaitProofInput(publicIdentityKey: string, nonce: string, iat: number): Uint8Array;
|
|
86
|
-
export declare function signWorkloadWaitRequest(args: {
|
|
87
|
-
publicIdentityKey: string;
|
|
88
|
-
nonce: string;
|
|
89
|
-
identitySeed: Uint8Array | string;
|
|
90
|
-
contractDigest?: string;
|
|
91
|
-
iat?: number;
|
|
92
|
-
}): Promise<WorkloadActivationWaitRequest>;
|
|
93
|
-
export declare function createWorkloadNatsAuthToken(args: {
|
|
94
|
-
publicIdentityKey: string;
|
|
95
|
-
identitySeed: Uint8Array | string;
|
|
96
|
-
contractDigest: string;
|
|
97
|
-
iat?: number;
|
|
98
|
-
}): Promise<NatsAuthTokenV1 & {
|
|
99
|
-
contractDigest: string;
|
|
100
|
-
}>;
|
|
101
|
-
export declare function waitForWorkloadActivation(args: {
|
|
102
|
-
trellisUrl: string;
|
|
103
|
-
publicIdentityKey: string;
|
|
104
|
-
nonce: string;
|
|
105
|
-
identitySeed: Uint8Array | string;
|
|
106
|
-
contractDigest: string;
|
|
107
|
-
signal?: AbortSignal;
|
|
108
|
-
pollIntervalMs?: number;
|
|
109
|
-
}): Promise<Extract<WaitForWorkloadActivationResponse, {
|
|
110
|
-
status: "activated";
|
|
111
|
-
}>>;
|
|
112
|
-
export declare function getWorkloadConnectInfo(args: {
|
|
113
|
-
trellisUrl: string;
|
|
114
|
-
publicIdentityKey: string;
|
|
115
|
-
identitySeed: Uint8Array | string;
|
|
116
|
-
contractDigest: string;
|
|
117
|
-
iat?: number;
|
|
118
|
-
}): Promise<GetWorkloadConnectInfoOutput>;
|
|
119
|
-
export declare function createWorkloadActivationClient(client: WorkloadActivationTransport): {
|
|
120
|
-
activateWorkload(input: AuthActivateWorkloadInput): Promise<{
|
|
121
|
-
confirmationCode?: string | undefined;
|
|
122
|
-
status: "activated";
|
|
123
|
-
profileId: string;
|
|
124
|
-
instanceId: string;
|
|
125
|
-
activatedAt: string;
|
|
126
|
-
} | {
|
|
127
|
-
status: "pending_review";
|
|
128
|
-
profileId: string;
|
|
129
|
-
instanceId: string;
|
|
130
|
-
reviewId: string;
|
|
131
|
-
requestedAt: string;
|
|
132
|
-
} | {
|
|
133
|
-
reason?: string | undefined;
|
|
134
|
-
status: "rejected";
|
|
135
|
-
}>;
|
|
136
|
-
getWorkloadActivationStatus(input: AuthGetWorkloadActivationStatusInput): Promise<{
|
|
137
|
-
confirmationCode?: string | undefined;
|
|
138
|
-
status: "activated";
|
|
139
|
-
profileId: string;
|
|
140
|
-
instanceId: string;
|
|
141
|
-
activatedAt: string;
|
|
142
|
-
} | {
|
|
143
|
-
status: "pending_review";
|
|
144
|
-
profileId: string;
|
|
145
|
-
instanceId: string;
|
|
146
|
-
reviewId: string;
|
|
147
|
-
requestedAt: string;
|
|
148
|
-
} | {
|
|
149
|
-
reason?: string | undefined;
|
|
150
|
-
status: "rejected";
|
|
151
|
-
}>;
|
|
152
|
-
listWorkloadActivations(input?: AuthListWorkloadActivationsInput): Promise<{
|
|
153
|
-
activations: {
|
|
154
|
-
activatedBy?: {
|
|
155
|
-
id: string;
|
|
156
|
-
origin: string;
|
|
157
|
-
} | undefined;
|
|
158
|
-
profileId: string;
|
|
159
|
-
instanceId: string;
|
|
160
|
-
publicIdentityKey: string;
|
|
161
|
-
state: "activated" | "revoked";
|
|
162
|
-
activatedAt: string;
|
|
163
|
-
revokedAt: string | null;
|
|
164
|
-
}[];
|
|
165
|
-
}>;
|
|
166
|
-
revokeWorkloadActivation(input: AuthRevokeWorkloadActivationInput): Promise<{
|
|
167
|
-
success: boolean;
|
|
168
|
-
}>;
|
|
169
|
-
getWorkloadConnectInfo(input: GetWorkloadConnectInfoInput): Promise<{
|
|
170
|
-
status: "ready";
|
|
171
|
-
connectInfo: {
|
|
172
|
-
contractDigest: string;
|
|
173
|
-
contractId: string;
|
|
174
|
-
profileId: string;
|
|
175
|
-
instanceId: string;
|
|
176
|
-
transport: {
|
|
177
|
-
sentinel: {
|
|
178
|
-
jwt: string;
|
|
179
|
-
seed: string;
|
|
180
|
-
};
|
|
181
|
-
natsServers: string[];
|
|
182
|
-
};
|
|
183
|
-
auth: {
|
|
184
|
-
mode: "workload_identity";
|
|
185
|
-
iatSkewSeconds: number;
|
|
186
|
-
};
|
|
187
|
-
};
|
|
188
|
-
}>;
|
|
189
|
-
};
|
|
190
|
-
export declare function verifyWorkloadWaitSignature(input: WorkloadActivationWaitRequest): Promise<boolean>;
|
|
191
|
-
export {};
|
|
192
|
-
//# sourceMappingURL=workload_activation.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"workload_activation.d.ts","sourceRoot":"","sources":["../../../../auth/workload_activation.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
import { type NatsConnection } from "@nats-io/nats-core";
|
|
2
|
-
import type { ClientOpts } from "./client.ts";
|
|
3
|
-
import type { TrellisAPI } from "./contracts.ts";
|
|
4
|
-
import type { TrellisAuth, Trellis } from "./trellis.ts";
|
|
5
|
-
type WorkloadContract<TApi extends TrellisAPI = TrellisAPI> = {
|
|
6
|
-
CONTRACT_ID: string;
|
|
7
|
-
CONTRACT_DIGEST: string;
|
|
8
|
-
API: {
|
|
9
|
-
trellis: TApi;
|
|
10
|
-
};
|
|
11
|
-
createClient(nats: NatsConnection, auth: TrellisAuth, opts?: ClientOpts): Trellis<TApi>;
|
|
12
|
-
};
|
|
13
|
-
type WorkloadConnectTransport = {
|
|
14
|
-
connect(options: {
|
|
15
|
-
servers: string | string[];
|
|
16
|
-
token?: string;
|
|
17
|
-
authenticator?: unknown;
|
|
18
|
-
inboxPrefix?: string;
|
|
19
|
-
}): Promise<NatsConnection>;
|
|
20
|
-
};
|
|
21
|
-
type WorkloadConnectDeps = {
|
|
22
|
-
loadTransport(): Promise<WorkloadConnectTransport>;
|
|
23
|
-
now(): number;
|
|
24
|
-
};
|
|
25
|
-
export type WorkloadActivationController = {
|
|
26
|
-
url: string;
|
|
27
|
-
waitForOnlineApproval(opts?: {
|
|
28
|
-
signal?: AbortSignal;
|
|
29
|
-
}): Promise<void>;
|
|
30
|
-
acceptConfirmationCode(code: string): Promise<void>;
|
|
31
|
-
};
|
|
32
|
-
export type TrellisWorkloadConnectArgs<TApi extends TrellisAPI = TrellisAPI> = {
|
|
33
|
-
authUrl: string;
|
|
34
|
-
contract: WorkloadContract<TApi>;
|
|
35
|
-
rootSecret: Uint8Array | string;
|
|
36
|
-
onActivationRequired?(activation: WorkloadActivationController): Promise<void>;
|
|
37
|
-
};
|
|
38
|
-
declare function runtimeImport<TModule>(specifier: string): Promise<TModule>;
|
|
39
|
-
export declare function loadDefaultTransport(importModule?: typeof runtimeImport): Promise<WorkloadConnectTransport>;
|
|
40
|
-
export declare function connectWorkloadWithDeps<TApi extends TrellisAPI>(args: TrellisWorkloadConnectArgs<TApi>, deps: WorkloadConnectDeps): Promise<Trellis<TApi>>;
|
|
41
|
-
export declare class TrellisWorkload {
|
|
42
|
-
static connect<TApi extends TrellisAPI>(args: TrellisWorkloadConnectArgs<TApi>): Promise<Trellis<TApi>>;
|
|
43
|
-
}
|
|
44
|
-
export {};
|
|
45
|
-
//# sourceMappingURL=workload.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"workload.d.ts","sourceRoot":"","sources":["../../../workload.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,KAAK,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAY3E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEzD,KAAK,gBAAgB,CAAC,IAAI,SAAS,UAAU,GAAG,UAAU,IAAI;IAC5D,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,GAAG,EAAE;QACH,OAAO,EAAE,IAAI,CAAC;KACf,CAAC;IACF,YAAY,CAAC,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACzF,CAAC;AAEF,KAAK,wBAAwB,GAAG;IAC9B,OAAO,CAAC,OAAO,EAAE;QACf,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;QAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,aAAa,CAAC,EAAE,OAAO,CAAC;QACxB,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;CAC7B,CAAC;AAEF,KAAK,mBAAmB,GAAG;IACzB,aAAa,IAAI,OAAO,CAAC,wBAAwB,CAAC,CAAC;IACnD,GAAG,IAAI,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,4BAA4B,GAAG;IACzC,GAAG,EAAE,MAAM,CAAC;IACZ,qBAAqB,CAAC,IAAI,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACtE,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACrD,CAAC;AAEF,MAAM,MAAM,0BAA0B,CAAC,IAAI,SAAS,UAAU,GAAG,UAAU,IAAI;IAC7E,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,gBAAgB,CAAC,IAAI,CAAC,CAAC;IACjC,UAAU,EAAE,UAAU,GAAG,MAAM,CAAC;IAChC,oBAAoB,CAAC,CAAC,UAAU,EAAE,4BAA4B,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAChF,CAAC;AAqBF,iBAAe,aAAa,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAKzE;AAED,wBAAsB,oBAAoB,CACxC,YAAY,GAAE,OAAO,aAA6B,GACjD,OAAO,CAAC,wBAAwB,CAAC,CAenC;AAgBD,wBAAsB,uBAAuB,CAAC,IAAI,SAAS,UAAU,EACnE,IAAI,EAAE,0BAA0B,CAAC,IAAI,CAAC,EACtC,IAAI,EAAE,mBAAmB,GACxB,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAmGxB;AAED,qBAAa,eAAe;IAC1B,MAAM,CAAC,OAAO,CAAC,IAAI,SAAS,UAAU,EACpC,IAAI,EAAE,0BAA0B,CAAC,IAAI,CAAC,GACrC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;CAG1B"}
|