@slopus/happy-agent-client 0.0.37 → 0.0.39
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 +36 -0
- package/dist/cloudEncryption.d.ts +27 -0
- package/dist/cloudEncryption.d.ts.map +1 -0
- package/dist/cloudEncryption.js +180 -0
- package/dist/cloudEncryption.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/protocol/bootstrap.d.ts +39 -0
- package/dist/protocol/bootstrap.d.ts.map +1 -1
- package/dist/protocol/cloud.d.ts +246 -1
- package/dist/protocol/cloud.d.ts.map +1 -1
- package/dist/protocol/cloud.js +28 -6
- package/dist/protocol/cloud.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -81,6 +81,42 @@ Tool calls expose the complete `ToolPresentation` discriminated union — explor
|
|
|
81
81
|
background-terminal interaction, file diff, and web/X search — together with an exported TypeBox
|
|
82
82
|
schema for each variant and `toolPresentationSchema` for the whole set.
|
|
83
83
|
|
|
84
|
+
Cloud key setup uses two-secret key derivation inspired by 1Password. The caller supplies 16 bytes
|
|
85
|
+
from a cryptographically secure random source, stores the canonical generated secret, and combines
|
|
86
|
+
it with the person's password. Passwords are trimmed, normalized with Unicode NFKD, and stretched
|
|
87
|
+
with PBKDF2-HMAC-SHA-256; the generated factor uses HKDF-SHA-256. Independent encryption and
|
|
88
|
+
authentication results can be passed directly to the create or restore mutation.
|
|
89
|
+
|
|
90
|
+
The versioned generated-secret format is
|
|
91
|
+
`H1-XXXXX-XXXXX-XXXXX-XXXXX-XXXXXX`. Its 26 body characters are the big-endian base-31 encoding
|
|
92
|
+
of the 16-byte seed using `23456789ABCDEFGHJKLMNPQRSTVWXYZ`; the dashes and `H1` prefix are not
|
|
93
|
+
part of the seed. For each of the `encryption` and `authentication` purposes, H1 performs:
|
|
94
|
+
|
|
95
|
+
```text
|
|
96
|
+
password = UTF8(NFKD(trim(input)))
|
|
97
|
+
salt = HKDF-SHA-256(seed, "happy-agent-cloud-keys/H1",
|
|
98
|
+
"happy-agent-cloud-keys/H1/password-salt/<purpose>", 32)
|
|
99
|
+
passwordPart = PBKDF2-HMAC-SHA-256(password, salt, 650000, 32)
|
|
100
|
+
generatedPart = HKDF-SHA-256(seed, "happy-agent-cloud-keys/H1",
|
|
101
|
+
"happy-agent-cloud-keys/H1/generated-factor/<purpose>", 32)
|
|
102
|
+
result = passwordPart XOR generatedPart
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
Results are unpadded base64url. The `encryption` result is `encryptionKey`; the `authentication`
|
|
106
|
+
result is `authHash`. The design follows 1Password's published
|
|
107
|
+
[password preprocessing and two-secret derivation](https://agilebits.github.io/security-design/deepKeys.html)
|
|
108
|
+
and [human-readable Secret Key](https://agilebits.github.io/security-design/apsk.html), but H1 is a
|
|
109
|
+
separate Happy format and is not an A3-compatible 1Password Secret Key.
|
|
110
|
+
|
|
111
|
+
```ts
|
|
112
|
+
const seed = crypto.getRandomValues(new Uint8Array(CLOUD_GENERATED_SECRET_SEED_BYTES));
|
|
113
|
+
const generatedSecret = stringifyCloudGeneratedSecret(seed);
|
|
114
|
+
seed.fill(0);
|
|
115
|
+
|
|
116
|
+
const keys = await deriveCloudKeys(generatedSecret, password);
|
|
117
|
+
await client.createCloudKeys(keys);
|
|
118
|
+
```
|
|
119
|
+
|
|
84
120
|
Focused agent responses and agent bootstrap include the current module-contributed slash-command
|
|
85
121
|
catalog. `invokeSlashCommand` executes one through its owning module, while
|
|
86
122
|
`agent.slash_commands.updated` carries complete catalog replacements discovered at turn time.
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { type Static } from "@sinclair/typebox";
|
|
2
|
+
/** The number of cryptographically secure random bytes encoded by an H1 generated secret. */
|
|
3
|
+
export declare const CLOUD_GENERATED_SECRET_SEED_BYTES = 16;
|
|
4
|
+
/** A canonical, versioned H1 generated secret. */
|
|
5
|
+
export declare const cloudGeneratedSecretSchema: import("@sinclair/typebox").TString;
|
|
6
|
+
export type CloudGeneratedSecret = Static<typeof cloudGeneratedSecretSchema>;
|
|
7
|
+
/** The two derived values accepted by the Cloud key create and restore mutations. */
|
|
8
|
+
export declare const cloudDerivedKeysSchema: import("@sinclair/typebox").TObject<{
|
|
9
|
+
authHash: import("@sinclair/typebox").TString;
|
|
10
|
+
encryptionKey: import("@sinclair/typebox").TString;
|
|
11
|
+
}>;
|
|
12
|
+
export type CloudDerivedKeys = Static<typeof cloudDerivedKeysSchema>;
|
|
13
|
+
/**
|
|
14
|
+
* Removes surrounding Unicode whitespace and applies the NFKD normalization
|
|
15
|
+
* used by 1Password before password key derivation.
|
|
16
|
+
*/
|
|
17
|
+
export declare function normalizeCloudPassword(password: string): string;
|
|
18
|
+
/** Encodes a caller-provided 128-bit secure random seed as a canonical H1 generated secret. */
|
|
19
|
+
export declare function stringifyCloudGeneratedSecret(seed: Uint8Array): CloudGeneratedSecret;
|
|
20
|
+
/** Decodes one canonical H1 generated secret into a new 128-bit seed buffer. */
|
|
21
|
+
export declare function parseCloudGeneratedSecret(secret: string): Uint8Array<ArrayBuffer>;
|
|
22
|
+
/**
|
|
23
|
+
* Combines the generated and password factors into independent Cloud bundle
|
|
24
|
+
* encryption and authentication values.
|
|
25
|
+
*/
|
|
26
|
+
export declare function deriveCloudKeys(generatedSecret: CloudGeneratedSecret, password: string): Promise<CloudDerivedKeys>;
|
|
27
|
+
//# sourceMappingURL=cloudEncryption.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cloudEncryption.d.ts","sourceRoot":"","sources":["../sources/cloudEncryption.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,KAAK,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAoBtD,6FAA6F;AAC7F,eAAO,MAAM,iCAAiC,KAAK,CAAC;AAEpD,kDAAkD;AAClD,eAAO,MAAM,0BAA0B,qCAIrC,CAAC;AACH,MAAM,MAAM,oBAAoB,GAAG,MAAM,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAE7E,qFAAqF;AACrF,eAAO,MAAM,sBAAsB;;;EAMlC,CAAC;AACF,MAAM,MAAM,gBAAgB,GAAG,MAAM,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAOrE;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAS/D;AAED,+FAA+F;AAC/F,wBAAgB,6BAA6B,CAAC,IAAI,EAAE,UAAU,GAAG,oBAAoB,CAoBpF;AAED,gFAAgF;AAChF,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,CAAC,WAAW,CAAC,CAejF;AAED;;;GAGG;AACH,wBAAsB,eAAe,CACjC,eAAe,EAAE,oBAAoB,EACrC,QAAQ,EAAE,MAAM,GACjB,OAAO,CAAC,gBAAgB,CAAC,CAmB3B"}
|
|
@@ -0,0 +1,180 @@
|
|
|
1
|
+
import { Type } from "@sinclair/typebox";
|
|
2
|
+
import { Value } from "@sinclair/typebox/value";
|
|
3
|
+
import { cloudKeyValueSchema } from "./protocol/cloud.js";
|
|
4
|
+
const exact = { additionalProperties: false };
|
|
5
|
+
const encoder = new TextEncoder();
|
|
6
|
+
const GENERATED_SECRET_ALPHABET = "23456789ABCDEFGHJKLMNPQRSTVWXYZ";
|
|
7
|
+
const GENERATED_SECRET_BASE = BigInt(GENERATED_SECRET_ALPHABET.length);
|
|
8
|
+
const GENERATED_SECRET_BODY_CHARACTERS = 26;
|
|
9
|
+
const GENERATED_SECRET_PATTERN = "^H1-[2-9A-HJ-NP-TV-Z]{5}-[2-9A-HJ-NP-TV-Z]{5}-[2-9A-HJ-NP-TV-Z]{5}-[2-9A-HJ-NP-TV-Z]{5}-[2-9A-HJ-NP-TV-Z]{6}$";
|
|
10
|
+
const GENERATED_SECRET_PREFIX = "H1";
|
|
11
|
+
const GENERATED_SECRET_VALUE_LIMIT = 1n << 128n;
|
|
12
|
+
const KEY_BYTES = 32;
|
|
13
|
+
const PBKDF2_ITERATIONS = 650_000;
|
|
14
|
+
const KDF_SALT = encoder.encode("happy-agent-cloud-keys/H1");
|
|
15
|
+
const passwordInputSchema = Type.String();
|
|
16
|
+
const normalizedPasswordSchema = Type.String({ minLength: 1 });
|
|
17
|
+
/** The number of cryptographically secure random bytes encoded by an H1 generated secret. */
|
|
18
|
+
export const CLOUD_GENERATED_SECRET_SEED_BYTES = 16;
|
|
19
|
+
/** A canonical, versioned H1 generated secret. */
|
|
20
|
+
export const cloudGeneratedSecretSchema = Type.String({
|
|
21
|
+
minLength: 33,
|
|
22
|
+
maxLength: 33,
|
|
23
|
+
pattern: GENERATED_SECRET_PATTERN,
|
|
24
|
+
});
|
|
25
|
+
/** The two derived values accepted by the Cloud key create and restore mutations. */
|
|
26
|
+
export const cloudDerivedKeysSchema = Type.Object({
|
|
27
|
+
authHash: cloudKeyValueSchema,
|
|
28
|
+
encryptionKey: cloudKeyValueSchema,
|
|
29
|
+
}, exact);
|
|
30
|
+
const cloudGeneratedSecretSeedSchema = Type.Uint8Array({
|
|
31
|
+
maxByteLength: CLOUD_GENERATED_SECRET_SEED_BYTES,
|
|
32
|
+
minByteLength: CLOUD_GENERATED_SECRET_SEED_BYTES,
|
|
33
|
+
});
|
|
34
|
+
/**
|
|
35
|
+
* Removes surrounding Unicode whitespace and applies the NFKD normalization
|
|
36
|
+
* used by 1Password before password key derivation.
|
|
37
|
+
*/
|
|
38
|
+
export function normalizeCloudPassword(password) {
|
|
39
|
+
if (!Value.Check(passwordInputSchema, password)) {
|
|
40
|
+
throw new TypeError("Password must be a string.");
|
|
41
|
+
}
|
|
42
|
+
const normalized = password.trim().normalize("NFKD");
|
|
43
|
+
if (!Value.Check(normalizedPasswordSchema, normalized)) {
|
|
44
|
+
throw new TypeError("Password must not be empty after trimming.");
|
|
45
|
+
}
|
|
46
|
+
return normalized;
|
|
47
|
+
}
|
|
48
|
+
/** Encodes a caller-provided 128-bit secure random seed as a canonical H1 generated secret. */
|
|
49
|
+
export function stringifyCloudGeneratedSecret(seed) {
|
|
50
|
+
if (!Value.Check(cloudGeneratedSecretSeedSchema, seed)) {
|
|
51
|
+
throw new TypeError(`Generated secret seed must contain exactly ${CLOUD_GENERATED_SECRET_SEED_BYTES} bytes.`);
|
|
52
|
+
}
|
|
53
|
+
let value = bytesToInteger(seed);
|
|
54
|
+
let body = "";
|
|
55
|
+
for (let index = 0; index < GENERATED_SECRET_BODY_CHARACTERS; index += 1) {
|
|
56
|
+
body = GENERATED_SECRET_ALPHABET[Number(value % GENERATED_SECRET_BASE)] + body;
|
|
57
|
+
value /= GENERATED_SECRET_BASE;
|
|
58
|
+
}
|
|
59
|
+
if (value !== 0n)
|
|
60
|
+
throw new TypeError("Generated secret seed is out of range.");
|
|
61
|
+
const formatted = `${GENERATED_SECRET_PREFIX}-${body.slice(0, 5)}-${body.slice(5, 10)}-${body.slice(10, 15)}-${body.slice(15, 20)}-${body.slice(20)}`;
|
|
62
|
+
if (!Value.Check(cloudGeneratedSecretSchema, formatted)) {
|
|
63
|
+
throw new TypeError("Generated secret could not be encoded.");
|
|
64
|
+
}
|
|
65
|
+
return formatted;
|
|
66
|
+
}
|
|
67
|
+
/** Decodes one canonical H1 generated secret into a new 128-bit seed buffer. */
|
|
68
|
+
export function parseCloudGeneratedSecret(secret) {
|
|
69
|
+
if (!Value.Check(cloudGeneratedSecretSchema, secret)) {
|
|
70
|
+
throw new TypeError("Generated secret is not a canonical H1 secret.");
|
|
71
|
+
}
|
|
72
|
+
const body = secret.slice(GENERATED_SECRET_PREFIX.length + 1).replaceAll("-", "");
|
|
73
|
+
let value = 0n;
|
|
74
|
+
for (const character of body) {
|
|
75
|
+
value =
|
|
76
|
+
value * GENERATED_SECRET_BASE + BigInt(GENERATED_SECRET_ALPHABET.indexOf(character));
|
|
77
|
+
}
|
|
78
|
+
if (value >= GENERATED_SECRET_VALUE_LIMIT) {
|
|
79
|
+
throw new TypeError("Generated secret is outside the H1 value range.");
|
|
80
|
+
}
|
|
81
|
+
return integerToBytes(value, CLOUD_GENERATED_SECRET_SEED_BYTES);
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Combines the generated and password factors into independent Cloud bundle
|
|
85
|
+
* encryption and authentication values.
|
|
86
|
+
*/
|
|
87
|
+
export async function deriveCloudKeys(generatedSecret, password) {
|
|
88
|
+
const normalizedPassword = normalizeCloudPassword(password);
|
|
89
|
+
const seed = parseCloudGeneratedSecret(generatedSecret);
|
|
90
|
+
const passwordBytes = encoder.encode(normalizedPassword);
|
|
91
|
+
let encryptionKey;
|
|
92
|
+
let authHash;
|
|
93
|
+
try {
|
|
94
|
+
encryptionKey = await deriveCombinedKey(seed, passwordBytes, "encryption");
|
|
95
|
+
authHash = await deriveCombinedKey(seed, passwordBytes, "authentication");
|
|
96
|
+
return {
|
|
97
|
+
authHash: encodeBase64Url(authHash),
|
|
98
|
+
encryptionKey: encodeBase64Url(encryptionKey),
|
|
99
|
+
};
|
|
100
|
+
}
|
|
101
|
+
finally {
|
|
102
|
+
encryptionKey?.fill(0);
|
|
103
|
+
authHash?.fill(0);
|
|
104
|
+
seed.fill(0);
|
|
105
|
+
passwordBytes.fill(0);
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
async function deriveCombinedKey(seed, password, purpose) {
|
|
109
|
+
const passwordSalt = await deriveHkdf(seed, `password-salt/${purpose}`);
|
|
110
|
+
let generatedPart;
|
|
111
|
+
let passwordPart;
|
|
112
|
+
try {
|
|
113
|
+
generatedPart = await deriveHkdf(seed, `generated-factor/${purpose}`);
|
|
114
|
+
passwordPart = await derivePbkdf2(password, passwordSalt);
|
|
115
|
+
const combined = new Uint8Array(KEY_BYTES);
|
|
116
|
+
for (let index = 0; index < combined.length; index += 1) {
|
|
117
|
+
combined[index] = passwordPart[index] ^ generatedPart[index];
|
|
118
|
+
}
|
|
119
|
+
return combined;
|
|
120
|
+
}
|
|
121
|
+
finally {
|
|
122
|
+
passwordSalt.fill(0);
|
|
123
|
+
generatedPart?.fill(0);
|
|
124
|
+
passwordPart?.fill(0);
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
async function deriveHkdf(seed, info) {
|
|
128
|
+
const key = await globalThis.crypto.subtle.importKey("raw", seed, "HKDF", false, [
|
|
129
|
+
"deriveBits",
|
|
130
|
+
]);
|
|
131
|
+
return new Uint8Array(await globalThis.crypto.subtle.deriveBits({
|
|
132
|
+
hash: "SHA-256",
|
|
133
|
+
info: encoder.encode(`happy-agent-cloud-keys/H1/${info}`),
|
|
134
|
+
name: "HKDF",
|
|
135
|
+
salt: KDF_SALT,
|
|
136
|
+
}, key, KEY_BYTES * 8));
|
|
137
|
+
}
|
|
138
|
+
async function derivePbkdf2(password, salt) {
|
|
139
|
+
const key = await globalThis.crypto.subtle.importKey("raw", password, "PBKDF2", false, [
|
|
140
|
+
"deriveBits",
|
|
141
|
+
]);
|
|
142
|
+
return new Uint8Array(await globalThis.crypto.subtle.deriveBits({
|
|
143
|
+
hash: "SHA-256",
|
|
144
|
+
iterations: PBKDF2_ITERATIONS,
|
|
145
|
+
name: "PBKDF2",
|
|
146
|
+
salt,
|
|
147
|
+
}, key, KEY_BYTES * 8));
|
|
148
|
+
}
|
|
149
|
+
function bytesToInteger(bytes) {
|
|
150
|
+
let value = 0n;
|
|
151
|
+
for (const byte of bytes)
|
|
152
|
+
value = (value << 8n) | BigInt(byte);
|
|
153
|
+
return value;
|
|
154
|
+
}
|
|
155
|
+
function integerToBytes(value, length) {
|
|
156
|
+
const bytes = new Uint8Array(length);
|
|
157
|
+
for (let index = bytes.length - 1; index >= 0; index -= 1) {
|
|
158
|
+
bytes[index] = Number(value & 0xffn);
|
|
159
|
+
value >>= 8n;
|
|
160
|
+
}
|
|
161
|
+
return bytes;
|
|
162
|
+
}
|
|
163
|
+
function encodeBase64Url(bytes) {
|
|
164
|
+
const alphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_";
|
|
165
|
+
let encoded = "";
|
|
166
|
+
let bits = 0;
|
|
167
|
+
let buffer = 0;
|
|
168
|
+
for (const byte of bytes) {
|
|
169
|
+
buffer = (buffer << 8) | byte;
|
|
170
|
+
bits += 8;
|
|
171
|
+
while (bits >= 6) {
|
|
172
|
+
bits -= 6;
|
|
173
|
+
encoded += alphabet[(buffer >>> bits) & 0x3f];
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
if (bits > 0)
|
|
177
|
+
encoded += alphabet[(buffer << (6 - bits)) & 0x3f];
|
|
178
|
+
return encoded;
|
|
179
|
+
}
|
|
180
|
+
//# sourceMappingURL=cloudEncryption.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cloudEncryption.js","sourceRoot":"","sources":["../sources/cloudEncryption.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -11,6 +11,8 @@ export type { SseFrame } from "./readSseFrames.js";
|
|
|
11
11
|
export type { HappyAgentUpdate, HappyAgentUpdatesOptions } from "./updates.js";
|
|
12
12
|
export { endpointUrl } from "./endpointUrl.js";
|
|
13
13
|
export type { QueryParameters, QueryValue } from "./endpointUrl.js";
|
|
14
|
+
export { CLOUD_GENERATED_SECRET_SEED_BYTES, cloudDerivedKeysSchema, cloudGeneratedSecretSchema, deriveCloudKeys, normalizeCloudPassword, parseCloudGeneratedSecret, stringifyCloudGeneratedSecret, } from "./cloudEncryption.js";
|
|
15
|
+
export type { CloudDerivedKeys, CloudGeneratedSecret } from "./cloudEncryption.js";
|
|
14
16
|
export { applyMessageDelta } from "./applyMessageDelta.js";
|
|
15
17
|
export type { MessageDeltaApplication } from "./applyMessageDelta.js";
|
|
16
18
|
export * from "./requestOptions.js";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../sources/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,YAAY,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AACrE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,YAAY,EACR,mBAAmB,EACnB,yBAAyB,EACzB,uBAAuB,EACvB,0BAA0B,GAC7B,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EACR,sBAAsB,EACtB,sBAAsB,EACtB,sBAAsB,EACtB,iBAAiB,GACpB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,YAAY,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,wBAAwB,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACjF,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,YAAY,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACnD,YAAY,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAC;AAC/E,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,YAAY,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,YAAY,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACtE,cAAc,qBAAqB,CAAC;AAEpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AACxC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,yBAAyB,CAAC;AACxC,cAAc,qBAAqB,CAAC;AACpC,cAAc,0BAA0B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../sources/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,YAAY,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AACrE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,YAAY,EACR,mBAAmB,EACnB,yBAAyB,EACzB,uBAAuB,EACvB,0BAA0B,GAC7B,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EACR,sBAAsB,EACtB,sBAAsB,EACtB,sBAAsB,EACtB,iBAAiB,GACpB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,YAAY,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,wBAAwB,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACjF,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,YAAY,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACnD,YAAY,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAC;AAC/E,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,YAAY,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACpE,OAAO,EACH,iCAAiC,EACjC,sBAAsB,EACtB,0BAA0B,EAC1B,eAAe,EACf,sBAAsB,EACtB,yBAAyB,EACzB,6BAA6B,GAChC,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AACnF,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,YAAY,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACtE,cAAc,qBAAqB,CAAC;AAEpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AACxC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,yBAAyB,CAAC;AACxC,cAAc,qBAAqB,CAAC;AACpC,cAAc,0BAA0B,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -4,6 +4,7 @@ export { HappyAgentApiError } from "./HappyAgentApiError.js";
|
|
|
4
4
|
export { EventStreamProtocolError, readEventStream } from "./readEventStream.js";
|
|
5
5
|
export { readSseFrames } from "./readSseFrames.js";
|
|
6
6
|
export { endpointUrl } from "./endpointUrl.js";
|
|
7
|
+
export { CLOUD_GENERATED_SECRET_SEED_BYTES, cloudDerivedKeysSchema, cloudGeneratedSecretSchema, deriveCloudKeys, normalizeCloudPassword, parseCloudGeneratedSecret, stringifyCloudGeneratedSecret, } from "./cloudEncryption.js";
|
|
7
8
|
export { applyMessageDelta } from "./applyMessageDelta.js";
|
|
8
9
|
export * from "./requestOptions.js";
|
|
9
10
|
export * from "./protocol/agents.js";
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../sources/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAajD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAE7D,OAAO,EAAE,wBAAwB,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACjF,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAGnD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAE3D,cAAc,qBAAqB,CAAC;AAEpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AACxC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,yBAAyB,CAAC;AACxC,cAAc,qBAAqB,CAAC;AACpC,cAAc,0BAA0B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../sources/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAajD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAE7D,OAAO,EAAE,wBAAwB,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACjF,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAGnD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,OAAO,EACH,iCAAiC,EACjC,sBAAsB,EACtB,0BAA0B,EAC1B,eAAe,EACf,sBAAsB,EACtB,yBAAyB,EACzB,6BAA6B,GAChC,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAE3D,cAAc,qBAAqB,CAAC;AAEpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AACxC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,yBAAyB,CAAC;AACxC,cAAc,qBAAqB,CAAC;AACpC,cAAc,0BAA0B,CAAC"}
|
|
@@ -180,6 +180,19 @@ export declare const desktopBootstrapResponseSchema: import("@sinclair/typebox")
|
|
|
180
180
|
cloud: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{
|
|
181
181
|
updatedAt: import("@sinclair/typebox").TInteger;
|
|
182
182
|
version: import("@sinclair/typebox").TString;
|
|
183
|
+
enrollment: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{
|
|
184
|
+
status: import("@sinclair/typebox").TLiteral<"inactive">;
|
|
185
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
186
|
+
status: import("@sinclair/typebox").TLiteral<"checking">;
|
|
187
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
188
|
+
status: import("@sinclair/typebox").TLiteral<"required">;
|
|
189
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
190
|
+
status: import("@sinclair/typebox").TLiteral<"enrolling">;
|
|
191
|
+
username: import("@sinclair/typebox").TString;
|
|
192
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
193
|
+
status: import("@sinclair/typebox").TLiteral<"enrolled">;
|
|
194
|
+
username: import("@sinclair/typebox").TString;
|
|
195
|
+
}>]>>;
|
|
183
196
|
keys: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{
|
|
184
197
|
status: import("@sinclair/typebox").TLiteral<"inactive">;
|
|
185
198
|
}>, import("@sinclair/typebox").TObject<{
|
|
@@ -201,6 +214,19 @@ export declare const desktopBootstrapResponseSchema: import("@sinclair/typebox")
|
|
|
201
214
|
}>, import("@sinclair/typebox").TObject<{
|
|
202
215
|
updatedAt: import("@sinclair/typebox").TInteger;
|
|
203
216
|
version: import("@sinclair/typebox").TString;
|
|
217
|
+
enrollment: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{
|
|
218
|
+
status: import("@sinclair/typebox").TLiteral<"inactive">;
|
|
219
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
220
|
+
status: import("@sinclair/typebox").TLiteral<"checking">;
|
|
221
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
222
|
+
status: import("@sinclair/typebox").TLiteral<"required">;
|
|
223
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
224
|
+
status: import("@sinclair/typebox").TLiteral<"enrolling">;
|
|
225
|
+
username: import("@sinclair/typebox").TString;
|
|
226
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
227
|
+
status: import("@sinclair/typebox").TLiteral<"enrolled">;
|
|
228
|
+
username: import("@sinclair/typebox").TString;
|
|
229
|
+
}>]>>;
|
|
204
230
|
keys: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{
|
|
205
231
|
status: import("@sinclair/typebox").TLiteral<"inactive">;
|
|
206
232
|
}>, import("@sinclair/typebox").TObject<{
|
|
@@ -222,6 +248,19 @@ export declare const desktopBootstrapResponseSchema: import("@sinclair/typebox")
|
|
|
222
248
|
}>, import("@sinclair/typebox").TObject<{
|
|
223
249
|
updatedAt: import("@sinclair/typebox").TInteger;
|
|
224
250
|
version: import("@sinclair/typebox").TString;
|
|
251
|
+
enrollment: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{
|
|
252
|
+
status: import("@sinclair/typebox").TLiteral<"inactive">;
|
|
253
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
254
|
+
status: import("@sinclair/typebox").TLiteral<"checking">;
|
|
255
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
256
|
+
status: import("@sinclair/typebox").TLiteral<"required">;
|
|
257
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
258
|
+
status: import("@sinclair/typebox").TLiteral<"enrolling">;
|
|
259
|
+
username: import("@sinclair/typebox").TString;
|
|
260
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
261
|
+
status: import("@sinclair/typebox").TLiteral<"enrolled">;
|
|
262
|
+
username: import("@sinclair/typebox").TString;
|
|
263
|
+
}>]>>;
|
|
225
264
|
keys: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{
|
|
226
265
|
status: import("@sinclair/typebox").TLiteral<"inactive">;
|
|
227
266
|
}>, import("@sinclair/typebox").TObject<{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bootstrap.d.ts","sourceRoot":"","sources":["../../sources/protocol/bootstrap.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAE7E,OAAO,EAAE,KAAK,MAAM,EAAQ,MAAM,mBAAmB,CAAC;AAEtD,OAAO,KAAK,EAAE,KAAK,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAG/F,OAAO,EAAE,KAAK,WAAW,EAAqB,MAAM,aAAa,CAAC;AAGlE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAGxD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAGrD;;;;;;GAMG;AACH,MAAM,WAAW,sBACb,SAAQ,kBAAkB,EAAE,iBAAiB,EAAE,aAAa,EAAE,kBAAkB;IAChF,gFAAgF;IAChF,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,0FAA0F;IAC1F,SAAS,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAChC,mFAAmF;IACnF,SAAS,CAAC,EAAE,KAAK,EAAE,CAAC;IACpB,MAAM,EAAE,WAAW,CAAC;CACvB;AAED;;;;;;GAMG;AACH,eAAO,MAAM,8BAA8B;IACvC,6EAA6E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAG7E;;;OAGG;;IAEH,oFAAoF
|
|
1
|
+
{"version":3,"file":"bootstrap.d.ts","sourceRoot":"","sources":["../../sources/protocol/bootstrap.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAE7E,OAAO,EAAE,KAAK,MAAM,EAAQ,MAAM,mBAAmB,CAAC;AAEtD,OAAO,KAAK,EAAE,KAAK,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAG/F,OAAO,EAAE,KAAK,WAAW,EAAqB,MAAM,aAAa,CAAC;AAGlE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAGxD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAGrD;;;;;;GAMG;AACH,MAAM,WAAW,sBACb,SAAQ,kBAAkB,EAAE,iBAAiB,EAAE,aAAa,EAAE,kBAAkB;IAChF,gFAAgF;IAChF,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,0FAA0F;IAC1F,SAAS,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAChC,mFAAmF;IACnF,SAAS,CAAC,EAAE,KAAK,EAAE,CAAC;IACpB,MAAM,EAAE,WAAW,CAAC;CACvB;AAED;;;;;;GAMG;AACH,eAAO,MAAM,8BAA8B;IACvC,6EAA6E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAG7E;;;OAGG;;IAEH,oFAAoF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAEpF,uEAAuE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAEvE,iFAAiF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAIjF,8CAA8C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAE9C,0EAA0E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAE5E,CAAC;AACH,MAAM,MAAM,wBAAwB,GAAG,MAAM,CAAC,OAAO,8BAA8B,CAAC,CAAC"}
|
package/dist/protocol/cloud.d.ts
CHANGED
|
@@ -23,6 +23,43 @@ export declare const cloudErrorSchema: import("@sinclair/typebox").TObject<{
|
|
|
23
23
|
message: import("@sinclair/typebox").TString;
|
|
24
24
|
}>;
|
|
25
25
|
export type CloudError = Static<typeof cloudErrorSchema>;
|
|
26
|
+
export declare const cloudUsernameSchema: import("@sinclair/typebox").TString;
|
|
27
|
+
/** Cloud enrollment is unavailable without a connected account. */
|
|
28
|
+
export declare const cloudEnrollmentInactiveSchema: import("@sinclair/typebox").TObject<{
|
|
29
|
+
status: import("@sinclair/typebox").TLiteral<"inactive">;
|
|
30
|
+
}>;
|
|
31
|
+
/** Durable reconciliation is determining the connected account's profile state. */
|
|
32
|
+
export declare const cloudEnrollmentCheckingSchema: import("@sinclair/typebox").TObject<{
|
|
33
|
+
status: import("@sinclair/typebox").TLiteral<"checking">;
|
|
34
|
+
}>;
|
|
35
|
+
/** The connected account has no Cloud username. */
|
|
36
|
+
export declare const cloudEnrollmentRequiredSchema: import("@sinclair/typebox").TObject<{
|
|
37
|
+
status: import("@sinclair/typebox").TLiteral<"required">;
|
|
38
|
+
}>;
|
|
39
|
+
/** One durable username intent awaiting Happy Cloud acceptance. */
|
|
40
|
+
export declare const cloudEnrollmentEnrollingSchema: import("@sinclair/typebox").TObject<{
|
|
41
|
+
status: import("@sinclair/typebox").TLiteral<"enrolling">;
|
|
42
|
+
username: import("@sinclair/typebox").TString;
|
|
43
|
+
}>;
|
|
44
|
+
/** Happy Cloud has accepted the connected account's username. */
|
|
45
|
+
export declare const cloudEnrollmentEnrolledSchema: import("@sinclair/typebox").TObject<{
|
|
46
|
+
status: import("@sinclair/typebox").TLiteral<"enrolled">;
|
|
47
|
+
username: import("@sinclair/typebox").TString;
|
|
48
|
+
}>;
|
|
49
|
+
export declare const cloudEnrollmentSchema: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{
|
|
50
|
+
status: import("@sinclair/typebox").TLiteral<"inactive">;
|
|
51
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
52
|
+
status: import("@sinclair/typebox").TLiteral<"checking">;
|
|
53
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
54
|
+
status: import("@sinclair/typebox").TLiteral<"required">;
|
|
55
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
56
|
+
status: import("@sinclair/typebox").TLiteral<"enrolling">;
|
|
57
|
+
username: import("@sinclair/typebox").TString;
|
|
58
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
59
|
+
status: import("@sinclair/typebox").TLiteral<"enrolled">;
|
|
60
|
+
username: import("@sinclair/typebox").TString;
|
|
61
|
+
}>]>;
|
|
62
|
+
export type CloudEnrollment = Static<typeof cloudEnrollmentSchema>;
|
|
26
63
|
/** One 32-byte Cloud key serialized as unpadded base64url. */
|
|
27
64
|
export declare const cloudKeyValueSchema: import("@sinclair/typebox").TString;
|
|
28
65
|
/** Cloud keys are unavailable without a connected account. */
|
|
@@ -56,6 +93,20 @@ export type CloudKeys = Static<typeof cloudKeysSchema>;
|
|
|
56
93
|
export declare const cloudDisconnectedSchema: import("@sinclair/typebox").TObject<{
|
|
57
94
|
updatedAt: import("@sinclair/typebox").TInteger;
|
|
58
95
|
version: import("@sinclair/typebox").TString;
|
|
96
|
+
/** Durable username-enrollment state. Absent on older compatible daemons. */
|
|
97
|
+
enrollment: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{
|
|
98
|
+
status: import("@sinclair/typebox").TLiteral<"inactive">;
|
|
99
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
100
|
+
status: import("@sinclair/typebox").TLiteral<"checking">;
|
|
101
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
102
|
+
status: import("@sinclair/typebox").TLiteral<"required">;
|
|
103
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
104
|
+
status: import("@sinclair/typebox").TLiteral<"enrolling">;
|
|
105
|
+
username: import("@sinclair/typebox").TString;
|
|
106
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
107
|
+
status: import("@sinclair/typebox").TLiteral<"enrolled">;
|
|
108
|
+
username: import("@sinclair/typebox").TString;
|
|
109
|
+
}>]>>;
|
|
59
110
|
/** Account encryption state. Absent on older compatible daemons. */
|
|
60
111
|
keys: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{
|
|
61
112
|
status: import("@sinclair/typebox").TLiteral<"inactive">;
|
|
@@ -81,6 +132,20 @@ export type CloudDisconnected = Static<typeof cloudDisconnectedSchema>;
|
|
|
81
132
|
export declare const cloudCleanDisconnectedSchema: import("@sinclair/typebox").TObject<{
|
|
82
133
|
updatedAt: import("@sinclair/typebox").TInteger;
|
|
83
134
|
version: import("@sinclair/typebox").TString;
|
|
135
|
+
/** Durable username-enrollment state. Absent on older compatible daemons. */
|
|
136
|
+
enrollment: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{
|
|
137
|
+
status: import("@sinclair/typebox").TLiteral<"inactive">;
|
|
138
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
139
|
+
status: import("@sinclair/typebox").TLiteral<"checking">;
|
|
140
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
141
|
+
status: import("@sinclair/typebox").TLiteral<"required">;
|
|
142
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
143
|
+
status: import("@sinclair/typebox").TLiteral<"enrolling">;
|
|
144
|
+
username: import("@sinclair/typebox").TString;
|
|
145
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
146
|
+
status: import("@sinclair/typebox").TLiteral<"enrolled">;
|
|
147
|
+
username: import("@sinclair/typebox").TString;
|
|
148
|
+
}>]>>;
|
|
84
149
|
/** Account encryption state. Absent on older compatible daemons. */
|
|
85
150
|
keys: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{
|
|
86
151
|
status: import("@sinclair/typebox").TLiteral<"inactive">;
|
|
@@ -102,6 +167,20 @@ export type CloudCleanDisconnected = Static<typeof cloudCleanDisconnectedSchema>
|
|
|
102
167
|
export declare const cloudAuthorizingSchema: import("@sinclair/typebox").TObject<{
|
|
103
168
|
updatedAt: import("@sinclair/typebox").TInteger;
|
|
104
169
|
version: import("@sinclair/typebox").TString;
|
|
170
|
+
/** Durable username-enrollment state. Absent on older compatible daemons. */
|
|
171
|
+
enrollment: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{
|
|
172
|
+
status: import("@sinclair/typebox").TLiteral<"inactive">;
|
|
173
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
174
|
+
status: import("@sinclair/typebox").TLiteral<"checking">;
|
|
175
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
176
|
+
status: import("@sinclair/typebox").TLiteral<"required">;
|
|
177
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
178
|
+
status: import("@sinclair/typebox").TLiteral<"enrolling">;
|
|
179
|
+
username: import("@sinclair/typebox").TString;
|
|
180
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
181
|
+
status: import("@sinclair/typebox").TLiteral<"enrolled">;
|
|
182
|
+
username: import("@sinclair/typebox").TString;
|
|
183
|
+
}>]>>;
|
|
105
184
|
/** Account encryption state. Absent on older compatible daemons. */
|
|
106
185
|
keys: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{
|
|
107
186
|
status: import("@sinclair/typebox").TLiteral<"inactive">;
|
|
@@ -126,6 +205,20 @@ export type CloudAuthorizing = Static<typeof cloudAuthorizingSchema>;
|
|
|
126
205
|
export declare const cloudConnectedSchema: import("@sinclair/typebox").TObject<{
|
|
127
206
|
updatedAt: import("@sinclair/typebox").TInteger;
|
|
128
207
|
version: import("@sinclair/typebox").TString;
|
|
208
|
+
/** Durable username-enrollment state. Absent on older compatible daemons. */
|
|
209
|
+
enrollment: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{
|
|
210
|
+
status: import("@sinclair/typebox").TLiteral<"inactive">;
|
|
211
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
212
|
+
status: import("@sinclair/typebox").TLiteral<"checking">;
|
|
213
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
214
|
+
status: import("@sinclair/typebox").TLiteral<"required">;
|
|
215
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
216
|
+
status: import("@sinclair/typebox").TLiteral<"enrolling">;
|
|
217
|
+
username: import("@sinclair/typebox").TString;
|
|
218
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
219
|
+
status: import("@sinclair/typebox").TLiteral<"enrolled">;
|
|
220
|
+
username: import("@sinclair/typebox").TString;
|
|
221
|
+
}>]>>;
|
|
129
222
|
/** Account encryption state. Absent on older compatible daemons. */
|
|
130
223
|
keys: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{
|
|
131
224
|
status: import("@sinclair/typebox").TLiteral<"inactive">;
|
|
@@ -153,6 +246,20 @@ export type CloudConnected = Static<typeof cloudConnectedSchema>;
|
|
|
153
246
|
export declare const cloudSchema: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{
|
|
154
247
|
updatedAt: import("@sinclair/typebox").TInteger;
|
|
155
248
|
version: import("@sinclair/typebox").TString;
|
|
249
|
+
/** Durable username-enrollment state. Absent on older compatible daemons. */
|
|
250
|
+
enrollment: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{
|
|
251
|
+
status: import("@sinclair/typebox").TLiteral<"inactive">;
|
|
252
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
253
|
+
status: import("@sinclair/typebox").TLiteral<"checking">;
|
|
254
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
255
|
+
status: import("@sinclair/typebox").TLiteral<"required">;
|
|
256
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
257
|
+
status: import("@sinclair/typebox").TLiteral<"enrolling">;
|
|
258
|
+
username: import("@sinclair/typebox").TString;
|
|
259
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
260
|
+
status: import("@sinclair/typebox").TLiteral<"enrolled">;
|
|
261
|
+
username: import("@sinclair/typebox").TString;
|
|
262
|
+
}>]>>;
|
|
156
263
|
/** Account encryption state. Absent on older compatible daemons. */
|
|
157
264
|
keys: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{
|
|
158
265
|
status: import("@sinclair/typebox").TLiteral<"inactive">;
|
|
@@ -175,6 +282,20 @@ export declare const cloudSchema: import("@sinclair/typebox").TUnion<[import("@s
|
|
|
175
282
|
}>, import("@sinclair/typebox").TObject<{
|
|
176
283
|
updatedAt: import("@sinclair/typebox").TInteger;
|
|
177
284
|
version: import("@sinclair/typebox").TString;
|
|
285
|
+
/** Durable username-enrollment state. Absent on older compatible daemons. */
|
|
286
|
+
enrollment: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{
|
|
287
|
+
status: import("@sinclair/typebox").TLiteral<"inactive">;
|
|
288
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
289
|
+
status: import("@sinclair/typebox").TLiteral<"checking">;
|
|
290
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
291
|
+
status: import("@sinclair/typebox").TLiteral<"required">;
|
|
292
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
293
|
+
status: import("@sinclair/typebox").TLiteral<"enrolling">;
|
|
294
|
+
username: import("@sinclair/typebox").TString;
|
|
295
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
296
|
+
status: import("@sinclair/typebox").TLiteral<"enrolled">;
|
|
297
|
+
username: import("@sinclair/typebox").TString;
|
|
298
|
+
}>]>>;
|
|
178
299
|
/** Account encryption state. Absent on older compatible daemons. */
|
|
179
300
|
keys: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{
|
|
180
301
|
status: import("@sinclair/typebox").TLiteral<"inactive">;
|
|
@@ -197,6 +318,20 @@ export declare const cloudSchema: import("@sinclair/typebox").TUnion<[import("@s
|
|
|
197
318
|
}>, import("@sinclair/typebox").TObject<{
|
|
198
319
|
updatedAt: import("@sinclair/typebox").TInteger;
|
|
199
320
|
version: import("@sinclair/typebox").TString;
|
|
321
|
+
/** Durable username-enrollment state. Absent on older compatible daemons. */
|
|
322
|
+
enrollment: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{
|
|
323
|
+
status: import("@sinclair/typebox").TLiteral<"inactive">;
|
|
324
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
325
|
+
status: import("@sinclair/typebox").TLiteral<"checking">;
|
|
326
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
327
|
+
status: import("@sinclair/typebox").TLiteral<"required">;
|
|
328
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
329
|
+
status: import("@sinclair/typebox").TLiteral<"enrolling">;
|
|
330
|
+
username: import("@sinclair/typebox").TString;
|
|
331
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
332
|
+
status: import("@sinclair/typebox").TLiteral<"enrolled">;
|
|
333
|
+
username: import("@sinclair/typebox").TString;
|
|
334
|
+
}>]>>;
|
|
200
335
|
/** Account encryption state. Absent on older compatible daemons. */
|
|
201
336
|
keys: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{
|
|
202
337
|
status: import("@sinclair/typebox").TLiteral<"inactive">;
|
|
@@ -225,6 +360,20 @@ export declare const cloudResponseSchema: import("@sinclair/typebox").TObject<{
|
|
|
225
360
|
cloud: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{
|
|
226
361
|
updatedAt: import("@sinclair/typebox").TInteger;
|
|
227
362
|
version: import("@sinclair/typebox").TString;
|
|
363
|
+
/** Durable username-enrollment state. Absent on older compatible daemons. */
|
|
364
|
+
enrollment: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{
|
|
365
|
+
status: import("@sinclair/typebox").TLiteral<"inactive">;
|
|
366
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
367
|
+
status: import("@sinclair/typebox").TLiteral<"checking">;
|
|
368
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
369
|
+
status: import("@sinclair/typebox").TLiteral<"required">;
|
|
370
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
371
|
+
status: import("@sinclair/typebox").TLiteral<"enrolling">;
|
|
372
|
+
username: import("@sinclair/typebox").TString;
|
|
373
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
374
|
+
status: import("@sinclair/typebox").TLiteral<"enrolled">;
|
|
375
|
+
username: import("@sinclair/typebox").TString;
|
|
376
|
+
}>]>>;
|
|
228
377
|
/** Account encryption state. Absent on older compatible daemons. */
|
|
229
378
|
keys: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{
|
|
230
379
|
status: import("@sinclair/typebox").TLiteral<"inactive">;
|
|
@@ -247,6 +396,20 @@ export declare const cloudResponseSchema: import("@sinclair/typebox").TObject<{
|
|
|
247
396
|
}>, import("@sinclair/typebox").TObject<{
|
|
248
397
|
updatedAt: import("@sinclair/typebox").TInteger;
|
|
249
398
|
version: import("@sinclair/typebox").TString;
|
|
399
|
+
/** Durable username-enrollment state. Absent on older compatible daemons. */
|
|
400
|
+
enrollment: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{
|
|
401
|
+
status: import("@sinclair/typebox").TLiteral<"inactive">;
|
|
402
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
403
|
+
status: import("@sinclair/typebox").TLiteral<"checking">;
|
|
404
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
405
|
+
status: import("@sinclair/typebox").TLiteral<"required">;
|
|
406
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
407
|
+
status: import("@sinclair/typebox").TLiteral<"enrolling">;
|
|
408
|
+
username: import("@sinclair/typebox").TString;
|
|
409
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
410
|
+
status: import("@sinclair/typebox").TLiteral<"enrolled">;
|
|
411
|
+
username: import("@sinclair/typebox").TString;
|
|
412
|
+
}>]>>;
|
|
250
413
|
/** Account encryption state. Absent on older compatible daemons. */
|
|
251
414
|
keys: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{
|
|
252
415
|
status: import("@sinclair/typebox").TLiteral<"inactive">;
|
|
@@ -269,6 +432,20 @@ export declare const cloudResponseSchema: import("@sinclair/typebox").TObject<{
|
|
|
269
432
|
}>, import("@sinclair/typebox").TObject<{
|
|
270
433
|
updatedAt: import("@sinclair/typebox").TInteger;
|
|
271
434
|
version: import("@sinclair/typebox").TString;
|
|
435
|
+
/** Durable username-enrollment state. Absent on older compatible daemons. */
|
|
436
|
+
enrollment: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{
|
|
437
|
+
status: import("@sinclair/typebox").TLiteral<"inactive">;
|
|
438
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
439
|
+
status: import("@sinclair/typebox").TLiteral<"checking">;
|
|
440
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
441
|
+
status: import("@sinclair/typebox").TLiteral<"required">;
|
|
442
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
443
|
+
status: import("@sinclair/typebox").TLiteral<"enrolling">;
|
|
444
|
+
username: import("@sinclair/typebox").TString;
|
|
445
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
446
|
+
status: import("@sinclair/typebox").TLiteral<"enrolled">;
|
|
447
|
+
username: import("@sinclair/typebox").TString;
|
|
448
|
+
}>]>>;
|
|
272
449
|
/** Account encryption state. Absent on older compatible daemons. */
|
|
273
450
|
keys: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{
|
|
274
451
|
status: import("@sinclair/typebox").TLiteral<"inactive">;
|
|
@@ -298,6 +475,20 @@ export declare const cloudAuthorizingResponseSchema: import("@sinclair/typebox")
|
|
|
298
475
|
cloud: import("@sinclair/typebox").TObject<{
|
|
299
476
|
updatedAt: import("@sinclair/typebox").TInteger;
|
|
300
477
|
version: import("@sinclair/typebox").TString;
|
|
478
|
+
/** Durable username-enrollment state. Absent on older compatible daemons. */
|
|
479
|
+
enrollment: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{
|
|
480
|
+
status: import("@sinclair/typebox").TLiteral<"inactive">;
|
|
481
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
482
|
+
status: import("@sinclair/typebox").TLiteral<"checking">;
|
|
483
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
484
|
+
status: import("@sinclair/typebox").TLiteral<"required">;
|
|
485
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
486
|
+
status: import("@sinclair/typebox").TLiteral<"enrolling">;
|
|
487
|
+
username: import("@sinclair/typebox").TString;
|
|
488
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
489
|
+
status: import("@sinclair/typebox").TLiteral<"enrolled">;
|
|
490
|
+
username: import("@sinclair/typebox").TString;
|
|
491
|
+
}>]>>;
|
|
301
492
|
/** Account encryption state. Absent on older compatible daemons. */
|
|
302
493
|
keys: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{
|
|
303
494
|
status: import("@sinclair/typebox").TLiteral<"inactive">;
|
|
@@ -325,6 +516,20 @@ export declare const cloudConnectedResponseSchema: import("@sinclair/typebox").T
|
|
|
325
516
|
cloud: import("@sinclair/typebox").TObject<{
|
|
326
517
|
updatedAt: import("@sinclair/typebox").TInteger;
|
|
327
518
|
version: import("@sinclair/typebox").TString;
|
|
519
|
+
/** Durable username-enrollment state. Absent on older compatible daemons. */
|
|
520
|
+
enrollment: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{
|
|
521
|
+
status: import("@sinclair/typebox").TLiteral<"inactive">;
|
|
522
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
523
|
+
status: import("@sinclair/typebox").TLiteral<"checking">;
|
|
524
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
525
|
+
status: import("@sinclair/typebox").TLiteral<"required">;
|
|
526
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
527
|
+
status: import("@sinclair/typebox").TLiteral<"enrolling">;
|
|
528
|
+
username: import("@sinclair/typebox").TString;
|
|
529
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
530
|
+
status: import("@sinclair/typebox").TLiteral<"enrolled">;
|
|
531
|
+
username: import("@sinclair/typebox").TString;
|
|
532
|
+
}>]>>;
|
|
328
533
|
/** Account encryption state. Absent on older compatible daemons. */
|
|
329
534
|
keys: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{
|
|
330
535
|
status: import("@sinclair/typebox").TLiteral<"inactive">;
|
|
@@ -354,6 +559,20 @@ export declare const cloudDisconnectedResponseSchema: import("@sinclair/typebox"
|
|
|
354
559
|
cloud: import("@sinclair/typebox").TObject<{
|
|
355
560
|
updatedAt: import("@sinclair/typebox").TInteger;
|
|
356
561
|
version: import("@sinclair/typebox").TString;
|
|
562
|
+
/** Durable username-enrollment state. Absent on older compatible daemons. */
|
|
563
|
+
enrollment: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{
|
|
564
|
+
status: import("@sinclair/typebox").TLiteral<"inactive">;
|
|
565
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
566
|
+
status: import("@sinclair/typebox").TLiteral<"checking">;
|
|
567
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
568
|
+
status: import("@sinclair/typebox").TLiteral<"required">;
|
|
569
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
570
|
+
status: import("@sinclair/typebox").TLiteral<"enrolling">;
|
|
571
|
+
username: import("@sinclair/typebox").TString;
|
|
572
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
573
|
+
status: import("@sinclair/typebox").TLiteral<"enrolled">;
|
|
574
|
+
username: import("@sinclair/typebox").TString;
|
|
575
|
+
}>]>>;
|
|
357
576
|
/** Account encryption state. Absent on older compatible daemons. */
|
|
358
577
|
keys: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{
|
|
359
578
|
status: import("@sinclair/typebox").TLiteral<"inactive">;
|
|
@@ -411,6 +630,20 @@ export declare const cloudAccessTokenResponseSchema: import("@sinclair/typebox")
|
|
|
411
630
|
cloud: import("@sinclair/typebox").TObject<{
|
|
412
631
|
updatedAt: import("@sinclair/typebox").TInteger;
|
|
413
632
|
version: import("@sinclair/typebox").TString;
|
|
633
|
+
/** Durable username-enrollment state. Absent on older compatible daemons. */
|
|
634
|
+
enrollment: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{
|
|
635
|
+
status: import("@sinclair/typebox").TLiteral<"inactive">;
|
|
636
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
637
|
+
status: import("@sinclair/typebox").TLiteral<"checking">;
|
|
638
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
639
|
+
status: import("@sinclair/typebox").TLiteral<"required">;
|
|
640
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
641
|
+
status: import("@sinclair/typebox").TLiteral<"enrolling">;
|
|
642
|
+
username: import("@sinclair/typebox").TString;
|
|
643
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
644
|
+
status: import("@sinclair/typebox").TLiteral<"enrolled">;
|
|
645
|
+
username: import("@sinclair/typebox").TString;
|
|
646
|
+
}>]>>;
|
|
414
647
|
/** Account encryption state. Absent on older compatible daemons. */
|
|
415
648
|
keys: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{
|
|
416
649
|
status: import("@sinclair/typebox").TLiteral<"inactive">;
|
|
@@ -435,7 +668,6 @@ export declare const cloudAccessTokenResponseSchema: import("@sinclair/typebox")
|
|
|
435
668
|
}>;
|
|
436
669
|
}>;
|
|
437
670
|
export type CloudAccessTokenResponse = Static<typeof cloudAccessTokenResponseSchema>;
|
|
438
|
-
export declare const cloudUsernameSchema: import("@sinclair/typebox").TString;
|
|
439
671
|
/** A public profile that has not yet been registered in Happy Cloud. */
|
|
440
672
|
export declare const cloudUnregisteredProfileSchema: import("@sinclair/typebox").TObject<{
|
|
441
673
|
firstName: import("@sinclair/typebox").TNull;
|
|
@@ -459,6 +691,19 @@ export declare const cloudProfileSchema: import("@sinclair/typebox").TUnion<[imp
|
|
|
459
691
|
}>]>;
|
|
460
692
|
export type CloudProfile = Static<typeof cloudProfileSchema>;
|
|
461
693
|
export declare const cloudProfileResponseSchema: import("@sinclair/typebox").TObject<{
|
|
694
|
+
enrollment: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{
|
|
695
|
+
status: import("@sinclair/typebox").TLiteral<"inactive">;
|
|
696
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
697
|
+
status: import("@sinclair/typebox").TLiteral<"checking">;
|
|
698
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
699
|
+
status: import("@sinclair/typebox").TLiteral<"required">;
|
|
700
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
701
|
+
status: import("@sinclair/typebox").TLiteral<"enrolling">;
|
|
702
|
+
username: import("@sinclair/typebox").TString;
|
|
703
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
704
|
+
status: import("@sinclair/typebox").TLiteral<"enrolled">;
|
|
705
|
+
username: import("@sinclair/typebox").TString;
|
|
706
|
+
}>]>>;
|
|
462
707
|
profile: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{
|
|
463
708
|
firstName: import("@sinclair/typebox").TNull;
|
|
464
709
|
username: import("@sinclair/typebox").TNull;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cloud.d.ts","sourceRoot":"","sources":["../../sources/protocol/cloud.ts"],"names":[],"mappings":"AAAA,0DAA0D;AAE1D,OAAO,EAAE,KAAK,MAAM,EAAQ,MAAM,mBAAmB,CAAC;AAItD,4EAA4E;AAC5E,eAAO,MAAM,sBAAsB,2IAGjC,CAAC;AACH,MAAM,MAAM,gBAAgB,GAAG,MAAM,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAErE,6EAA6E;AAC7E,eAAO,MAAM,eAAe;;;;;EAK1B,CAAC;AACH,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,eAAe,CAAC,CAAC;AAEvD,+DAA+D;AAC/D,eAAO,MAAM,wBAAwB;;;EAGnC,CAAC;AACH,MAAM,MAAM,kBAAkB,GAAG,MAAM,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAEzE,iEAAiE;AACjE,eAAO,MAAM,gBAAgB;;;EAG3B,CAAC;AACH,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAEzD,8DAA8D;AAC9D,eAAO,MAAM,mBAAmB,qCAI9B,CAAC;AAEH,8DAA8D;AAC9D,eAAO,MAAM,uBAAuB;;EAGnC,CAAC;AAEF,mEAAmE;AACnE,eAAO,MAAM,6BAA6B;;EAGzC,CAAC;AAEF,6EAA6E;AAC7E,eAAO,MAAM,8BAA8B;;EAG1C,CAAC;AAEF,sFAAsF;AACtF,eAAO,MAAM,oBAAoB;;;EAGhC,CAAC;AAEF,eAAO,MAAM,eAAe;;;;;;;;;IAK1B,CAAC;AACH,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,eAAe,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"cloud.d.ts","sourceRoot":"","sources":["../../sources/protocol/cloud.ts"],"names":[],"mappings":"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"}
|
package/dist/protocol/cloud.js
CHANGED
|
@@ -23,6 +23,28 @@ export const cloudErrorSchema = Type.Object({
|
|
|
23
23
|
code: Type.String(),
|
|
24
24
|
message: Type.String(),
|
|
25
25
|
});
|
|
26
|
+
export const cloudUsernameSchema = Type.String({
|
|
27
|
+
minLength: 3,
|
|
28
|
+
maxLength: 24,
|
|
29
|
+
pattern: "^[a-z0-9_]+$",
|
|
30
|
+
});
|
|
31
|
+
/** Cloud enrollment is unavailable without a connected account. */
|
|
32
|
+
export const cloudEnrollmentInactiveSchema = Type.Object({ status: Type.Literal("inactive") }, { additionalProperties: false });
|
|
33
|
+
/** Durable reconciliation is determining the connected account's profile state. */
|
|
34
|
+
export const cloudEnrollmentCheckingSchema = Type.Object({ status: Type.Literal("checking") }, { additionalProperties: false });
|
|
35
|
+
/** The connected account has no Cloud username. */
|
|
36
|
+
export const cloudEnrollmentRequiredSchema = Type.Object({ status: Type.Literal("required") }, { additionalProperties: false });
|
|
37
|
+
/** One durable username intent awaiting Happy Cloud acceptance. */
|
|
38
|
+
export const cloudEnrollmentEnrollingSchema = Type.Object({ status: Type.Literal("enrolling"), username: cloudUsernameSchema }, { additionalProperties: false });
|
|
39
|
+
/** Happy Cloud has accepted the connected account's username. */
|
|
40
|
+
export const cloudEnrollmentEnrolledSchema = Type.Object({ status: Type.Literal("enrolled"), username: cloudUsernameSchema }, { additionalProperties: false });
|
|
41
|
+
export const cloudEnrollmentSchema = Type.Union([
|
|
42
|
+
cloudEnrollmentInactiveSchema,
|
|
43
|
+
cloudEnrollmentCheckingSchema,
|
|
44
|
+
cloudEnrollmentRequiredSchema,
|
|
45
|
+
cloudEnrollmentEnrollingSchema,
|
|
46
|
+
cloudEnrollmentEnrolledSchema,
|
|
47
|
+
]);
|
|
26
48
|
/** One 32-byte Cloud key serialized as unpadded base64url. */
|
|
27
49
|
export const cloudKeyValueSchema = Type.String({
|
|
28
50
|
minLength: 43,
|
|
@@ -49,6 +71,8 @@ const versionedFields = {
|
|
|
49
71
|
};
|
|
50
72
|
const cloudSnapshotFields = {
|
|
51
73
|
...versionedFields,
|
|
74
|
+
/** Durable username-enrollment state. Absent on older compatible daemons. */
|
|
75
|
+
enrollment: Type.Optional(cloudEnrollmentSchema),
|
|
52
76
|
/** Account encryption state. Absent on older compatible daemons. */
|
|
53
77
|
keys: Type.Optional(cloudKeysSchema),
|
|
54
78
|
};
|
|
@@ -139,11 +163,6 @@ const cloudVisibleNameSchema = Type.String({
|
|
|
139
163
|
maxLength: 64,
|
|
140
164
|
pattern: "^(?=.*\\S)[^\\x00-\\x1f\\x7f]+$",
|
|
141
165
|
});
|
|
142
|
-
export const cloudUsernameSchema = Type.String({
|
|
143
|
-
minLength: 3,
|
|
144
|
-
maxLength: 24,
|
|
145
|
-
pattern: "^[a-z0-9_]+$",
|
|
146
|
-
});
|
|
147
166
|
/** A public profile that has not yet been registered in Happy Cloud. */
|
|
148
167
|
export const cloudUnregisteredProfileSchema = Type.Object({
|
|
149
168
|
firstName: Type.Null(),
|
|
@@ -159,7 +178,10 @@ export const cloudProfileSchema = Type.Union([
|
|
|
159
178
|
cloudUnregisteredProfileSchema,
|
|
160
179
|
cloudRegisteredProfileSchema,
|
|
161
180
|
]);
|
|
162
|
-
export const cloudProfileResponseSchema = Type.Object({
|
|
181
|
+
export const cloudProfileResponseSchema = Type.Object({
|
|
182
|
+
enrollment: Type.Optional(cloudEnrollmentSchema),
|
|
183
|
+
profile: cloudProfileSchema,
|
|
184
|
+
});
|
|
163
185
|
/** Enrolls the connected account using the local Happy Agent profile and a Cloud username. */
|
|
164
186
|
export const enrollCloudProfileRequestSchema = Type.Object({
|
|
165
187
|
mutationId: Type.Optional(mutationIdSchema),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cloud.js","sourceRoot":"","sources":["../../sources/protocol/cloud.ts"],"names":[],"mappings":"AAAA,0DAA0D;AAE1D,OAAO,EAAe,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAEtD,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,qBAAqB,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEjG,4EAA4E;AAC5E,MAAM,CAAC,MAAM,sBAAsB,GAAG,IAAI,CAAC,KAAK,CAAC;IAC7C,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC;IAC1B,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC;CAC1B,CAAC,CAAC;AAGH,6EAA6E;AAC7E,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,CAAC,MAAM,CAAC;IACvC,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE;IACpB,SAAS,EAAE,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;IAClC,EAAE,EAAE,IAAI,CAAC,MAAM,EAAE;IACjB,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;CACpC,CAAC,CAAC;AAGH,+DAA+D;AAC/D,MAAM,CAAC,MAAM,wBAAwB,GAAG,IAAI,CAAC,MAAM,CAAC;IAChD,SAAS,EAAE,eAAe;IAC1B,GAAG,EAAE,IAAI,CAAC,MAAM,EAAE;CACrB,CAAC,CAAC;AAGH,iEAAiE;AACjE,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,CAAC,MAAM,CAAC;IACxC,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE;IACnB,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE;CACzB,CAAC,CAAC;AAGH,8DAA8D;AAC9D,MAAM,CAAC,MAAM,mBAAmB,GAAG,IAAI,CAAC,MAAM,CAAC;IAC3C,SAAS,EAAE,EAAE;IACb,SAAS,EAAE,EAAE;IACb,OAAO,EAAE,kBAAkB;CAC9B,CAAC,CAAC;AAEH,8DAA8D;AAC9D,MAAM,CAAC,MAAM,uBAAuB,GAAG,IAAI,CAAC,MAAM,CAC9C,EAAE,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,EACpC,EAAE,oBAAoB,EAAE,KAAK,EAAE,CAClC,CAAC;AAEF,mEAAmE;AACnE,MAAM,CAAC,MAAM,6BAA6B,GAAG,IAAI,CAAC,MAAM,CACpD,EAAE,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAAE,EAC3C,EAAE,oBAAoB,EAAE,KAAK,EAAE,CAClC,CAAC;AAEF,6EAA6E;AAC7E,MAAM,CAAC,MAAM,8BAA8B,GAAG,IAAI,CAAC,MAAM,CACrD,EAAE,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,EAAE,EAC5C,EAAE,oBAAoB,EAAE,KAAK,EAAE,CAClC,CAAC;AAEF,sFAAsF;AACtF,MAAM,CAAC,MAAM,oBAAoB,GAAG,IAAI,CAAC,MAAM,CAC3C,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,EACnE,EAAE,oBAAoB,EAAE,KAAK,EAAE,CAClC,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC;IACtC,uBAAuB;IACvB,6BAA6B;IAC7B,8BAA8B;IAC9B,oBAAoB;CACvB,CAAC,CAAC;AAGH,MAAM,eAAe,GAAG;IACpB,SAAS,EAAE,eAAe;IAC1B,OAAO,EAAE,qBAAqB;CACjC,CAAC;AAEF,MAAM,mBAAmB,GAAG;IACxB,GAAG,eAAe;IAClB,oEAAoE;IACpE,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC;CACvC,CAAC;AAEF,MAAM,CAAC,MAAM,uBAAuB,GAAG,IAAI,CAAC,MAAM,CAAC;IAC/C,GAAG,mBAAmB;IACtB,aAAa,EAAE,IAAI,CAAC,IAAI,EAAE;IAC1B,WAAW,EAAE,IAAI,CAAC,IAAI,EAAE;IACxB,KAAK,EAAE,QAAQ,CAAC,gBAAgB,CAAC;IACjC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC;IACpC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE;CACpB,CAAC,CAAC;AAGH,2EAA2E;AAC3E,MAAM,CAAC,MAAM,4BAA4B,GAAG,IAAI,CAAC,MAAM,CAAC;IACpD,GAAG,mBAAmB;IACtB,aAAa,EAAE,IAAI,CAAC,IAAI,EAAE;IAC1B,WAAW,EAAE,IAAI,CAAC,IAAI,EAAE;IACxB,KAAK,EAAE,IAAI,CAAC,IAAI,EAAE;IAClB,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC;IACpC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE;CACpB,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,sBAAsB,GAAG,IAAI,CAAC,MAAM,CAAC;IAC9C,GAAG,mBAAmB;IACtB,aAAa,EAAE,wBAAwB;IACvC,WAAW,EAAE,sBAAsB;IACnC,KAAK,EAAE,IAAI,CAAC,IAAI,EAAE;IAClB,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC;IACnC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE;CACpB,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,oBAAoB,GAAG,IAAI,CAAC,MAAM,CAAC;IAC5C,GAAG,mBAAmB;IACtB,aAAa,EAAE,IAAI,CAAC,IAAI,EAAE;IAC1B,WAAW,EAAE,sBAAsB;IACnC,KAAK,EAAE,IAAI,CAAC,IAAI,EAAE;IAClB,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC;IACjC,IAAI,EAAE,eAAe;CACxB,CAAC,CAAC;AAGH,iEAAiE;AACjE,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC;IAClC,uBAAuB;IACvB,sBAAsB;IACtB,oBAAoB;CACvB,CAAC,CAAC;AAGH,mFAAmF;AACnF,MAAM,CAAC,MAAM,mBAAmB,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC;AAGvE,oDAAoD;AACpD,MAAM,CAAC,MAAM,8BAA8B,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,sBAAsB,EAAE,CAAC,CAAC;AAG7F,kDAAkD;AAClD,MAAM,CAAC,MAAM,4BAA4B,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,oBAAoB,EAAE,CAAC,CAAC;AAGzF,4DAA4D;AAC5D,MAAM,CAAC,MAAM,+BAA+B,GAAG,IAAI,CAAC,MAAM,CAAC;IACvD,KAAK,EAAE,4BAA4B;CACtC,CAAC,CAAC;AAGH,kDAAkD;AAClD,MAAM,CAAC,MAAM,oCAAoC,GAAG,IAAI,CAAC,MAAM,CAAC;IAC5D,WAAW,EAAE,sBAAsB;IACnC,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC;IAC3C,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;CAChD,CAAC,CAAC;AAGH,wEAAwE;AACxE,MAAM,CAAC,MAAM,uCAAuC,GAAG,IAAI,CAAC,MAAM,CAAC;IAC/D,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;IAC7C,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC;CAC9C,CAAC,CAAC;AAKH,iEAAiE;AACjE,MAAM,CAAC,MAAM,0BAA0B,GAAG,IAAI,CAAC,MAAM,CAAC;IAClD,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC;CAC9C,CAAC,CAAC;AAGH,MAAM,uBAAuB,GAAG;IAC5B,QAAQ,EAAE,mBAAmB;IAC7B,aAAa,EAAE,mBAAmB;IAClC,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC;CAC9C,CAAC;AAEF,kFAAkF;AAClF,MAAM,CAAC,MAAM,4BAA4B,GAAG,IAAI,CAAC,MAAM,CAAC,uBAAuB,EAAE;IAC7E,oBAAoB,EAAE,KAAK;CAC9B,CAAC,CAAC;AAGH,oFAAoF;AACpF,MAAM,CAAC,MAAM,6BAA6B,GAAG,IAAI,CAAC,MAAM,CAAC,uBAAuB,EAAE;IAC9E,oBAAoB,EAAE,KAAK;CAC9B,CAAC,CAAC;AAGH,8EAA8E;AAC9E,MAAM,CAAC,MAAM,8BAA8B,GAAG,IAAI,CAAC,MAAM,CAAC;IACtD,WAAW,EAAE,IAAI,CAAC,MAAM,EAAE;IAC1B,KAAK,EAAE,oBAAoB;CAC9B,CAAC,CAAC;AAGH,MAAM,sBAAsB,GAAG,IAAI,CAAC,MAAM,CAAC;IACvC,SAAS,EAAE,CAAC;IACZ,SAAS,EAAE,EAAE;IACb,OAAO,EAAE,iCAAiC;CAC7C,CAAC,CAAC;AAEH,
|
|
1
|
+
{"version":3,"file":"cloud.js","sourceRoot":"","sources":["../../sources/protocol/cloud.ts"],"names":[],"mappings":"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"}
|