@inkbox/sdk 0.2.0 → 0.2.2
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 +34 -35
- package/dist/agent_identity.d.ts +96 -54
- package/dist/agent_identity.d.ts.map +1 -1
- package/dist/agent_identity.js +119 -86
- package/dist/agent_identity.js.map +1 -1
- package/dist/credentials.d.ts +11 -0
- package/dist/credentials.d.ts.map +1 -1
- package/dist/credentials.js +17 -0
- package/dist/credentials.js.map +1 -1
- package/dist/identities/resources/identities.d.ts +0 -15
- package/dist/identities/resources/identities.d.ts.map +1 -1
- package/dist/identities/resources/identities.js +0 -18
- package/dist/identities/resources/identities.js.map +1 -1
- package/dist/identities/types.d.ts +2 -21
- package/dist/identities/types.d.ts.map +1 -1
- package/dist/identities/types.js +1 -11
- package/dist/identities/types.js.map +1 -1
- package/dist/index.d.ts +4 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/inkbox.d.ts +21 -6
- package/dist/inkbox.d.ts.map +1 -1
- package/dist/inkbox.js +30 -9
- package/dist/inkbox.js.map +1 -1
- package/dist/phone/resources/numbers.d.ts +2 -0
- package/dist/phone/resources/numbers.d.ts.map +1 -1
- package/dist/phone/resources/numbers.js +6 -0
- package/dist/phone/resources/numbers.js.map +1 -1
- package/dist/phone/resources/texts.d.ts +93 -0
- package/dist/phone/resources/texts.d.ts.map +1 -0
- package/dist/phone/resources/texts.js +109 -0
- package/dist/phone/resources/texts.js.map +1 -0
- package/dist/phone/types.d.ts +62 -0
- package/dist/phone/types.d.ts.map +1 -1
- package/dist/phone/types.js +34 -0
- package/dist/phone/types.js.map +1 -1
- package/dist/vault/crypto.d.ts +6 -4
- package/dist/vault/crypto.d.ts.map +1 -1
- package/dist/vault/crypto.js +22 -14
- package/dist/vault/crypto.js.map +1 -1
- package/dist/vault/resources/vault.d.ts +35 -1
- package/dist/vault/resources/vault.d.ts.map +1 -1
- package/dist/vault/resources/vault.js +113 -8
- package/dist/vault/resources/vault.js.map +1 -1
- package/dist/vault/totp.d.ts +73 -0
- package/dist/vault/totp.d.ts.map +1 -0
- package/dist/vault/totp.js +230 -0
- package/dist/vault/totp.js.map +1 -0
- package/dist/vault/types.d.ts +3 -0
- package/dist/vault/types.d.ts.map +1 -1
- package/dist/vault/types.js +4 -0
- package/dist/vault/types.js.map +1 -1
- package/package.json +2 -1
- package/dist/authenticator/resources/accounts.d.ts +0 -70
- package/dist/authenticator/resources/accounts.d.ts.map +0 -1
- package/dist/authenticator/resources/accounts.js +0 -91
- package/dist/authenticator/resources/accounts.js.map +0 -1
- package/dist/authenticator/resources/apps.d.ts +0 -38
- package/dist/authenticator/resources/apps.d.ts.map +0 -1
- package/dist/authenticator/resources/apps.js +0 -52
- package/dist/authenticator/resources/apps.js.map +0 -1
- package/dist/authenticator/types.d.ts +0 -83
- package/dist/authenticator/types.d.ts.map +0 -1
- package/dist/authenticator/types.js +0 -43
- package/dist/authenticator/types.js.map +0 -1
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* inkbox-phone/resources/texts.ts
|
|
3
|
+
*
|
|
4
|
+
* Text message (SMS/MMS) operations: list, get, update, search, conversations.
|
|
5
|
+
*/
|
|
6
|
+
import { HttpTransport } from "../../_http.js";
|
|
7
|
+
import { TextMessage, TextConversationSummary } from "../types.js";
|
|
8
|
+
export declare class TextsResource {
|
|
9
|
+
private readonly http;
|
|
10
|
+
constructor(http: HttpTransport);
|
|
11
|
+
/**
|
|
12
|
+
* List text messages for a phone number, newest first.
|
|
13
|
+
*
|
|
14
|
+
* @param phoneNumberId - UUID of the phone number.
|
|
15
|
+
* @param options.limit - Max results (1–200). Defaults to 50.
|
|
16
|
+
* @param options.offset - Pagination offset. Defaults to 0.
|
|
17
|
+
* @param options.isRead - Filter by read state.
|
|
18
|
+
*/
|
|
19
|
+
list(phoneNumberId: string, options?: {
|
|
20
|
+
limit?: number;
|
|
21
|
+
offset?: number;
|
|
22
|
+
isRead?: boolean;
|
|
23
|
+
}): Promise<TextMessage[]>;
|
|
24
|
+
/**
|
|
25
|
+
* Get a single text message by ID.
|
|
26
|
+
*
|
|
27
|
+
* @param phoneNumberId - UUID of the phone number.
|
|
28
|
+
* @param textId - UUID of the text message.
|
|
29
|
+
*/
|
|
30
|
+
get(phoneNumberId: string, textId: string): Promise<TextMessage>;
|
|
31
|
+
/**
|
|
32
|
+
* Update a text message (mark as read, soft-delete).
|
|
33
|
+
*
|
|
34
|
+
* @param phoneNumberId - UUID of the phone number.
|
|
35
|
+
* @param textId - UUID of the text message.
|
|
36
|
+
* @param options.isRead - Mark as read or unread.
|
|
37
|
+
* @param options.status - Set to `"deleted"` to soft-delete.
|
|
38
|
+
*/
|
|
39
|
+
update(phoneNumberId: string, textId: string, options: {
|
|
40
|
+
isRead?: boolean;
|
|
41
|
+
status?: string;
|
|
42
|
+
}): Promise<TextMessage>;
|
|
43
|
+
/**
|
|
44
|
+
* Full-text search across text messages for a phone number.
|
|
45
|
+
*
|
|
46
|
+
* @param phoneNumberId - UUID of the phone number.
|
|
47
|
+
* @param options.q - Search query string.
|
|
48
|
+
* @param options.limit - Max results (1–200). Defaults to 50.
|
|
49
|
+
*/
|
|
50
|
+
search(phoneNumberId: string, options: {
|
|
51
|
+
q: string;
|
|
52
|
+
limit?: number;
|
|
53
|
+
}): Promise<TextMessage[]>;
|
|
54
|
+
/**
|
|
55
|
+
* List conversations (one row per remote number) with latest message preview.
|
|
56
|
+
*
|
|
57
|
+
* @param phoneNumberId - UUID of the phone number.
|
|
58
|
+
* @param options.limit - Max results (1–200). Defaults to 50.
|
|
59
|
+
* @param options.offset - Pagination offset. Defaults to 0.
|
|
60
|
+
*/
|
|
61
|
+
listConversations(phoneNumberId: string, options?: {
|
|
62
|
+
limit?: number;
|
|
63
|
+
offset?: number;
|
|
64
|
+
}): Promise<TextConversationSummary[]>;
|
|
65
|
+
/**
|
|
66
|
+
* Get all messages with a specific remote number, newest first.
|
|
67
|
+
*
|
|
68
|
+
* @param phoneNumberId - UUID of the phone number.
|
|
69
|
+
* @param remoteNumber - E.164 remote phone number.
|
|
70
|
+
* @param options.limit - Max results (1–200). Defaults to 50.
|
|
71
|
+
* @param options.offset - Pagination offset. Defaults to 0.
|
|
72
|
+
*/
|
|
73
|
+
getConversation(phoneNumberId: string, remoteNumber: string, options?: {
|
|
74
|
+
limit?: number;
|
|
75
|
+
offset?: number;
|
|
76
|
+
}): Promise<TextMessage[]>;
|
|
77
|
+
/**
|
|
78
|
+
* Update the read state for all messages in a conversation.
|
|
79
|
+
*
|
|
80
|
+
* @param phoneNumberId - UUID of the phone number.
|
|
81
|
+
* @param remoteNumber - E.164 remote phone number.
|
|
82
|
+
* @param options.isRead - Mark all messages as read or unread.
|
|
83
|
+
* @returns Object with `remotePhoneNumber`, `isRead`, and `updatedCount`.
|
|
84
|
+
*/
|
|
85
|
+
updateConversation(phoneNumberId: string, remoteNumber: string, options: {
|
|
86
|
+
isRead: boolean;
|
|
87
|
+
}): Promise<{
|
|
88
|
+
remotePhoneNumber: string;
|
|
89
|
+
isRead: boolean;
|
|
90
|
+
updatedCount: number;
|
|
91
|
+
}>;
|
|
92
|
+
}
|
|
93
|
+
//# sourceMappingURL=texts.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"texts.d.ts","sourceRoot":"","sources":["../../../src/phone/resources/texts.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EACL,WAAW,EACX,uBAAuB,EAKxB,MAAM,aAAa,CAAC;AAErB,qBAAa,aAAa;IACZ,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,aAAa;IAEhD;;;;;;;OAOG;IACG,IAAI,CACR,aAAa,EAAE,MAAM,EACrB,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,GAC9D,OAAO,CAAC,WAAW,EAAE,CAAC;IAezB;;;;;OAKG;IACG,GAAG,CAAC,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAOtE;;;;;;;OAOG;IACG,MAAM,CACV,aAAa,EAAE,MAAM,EACrB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,GAC7C,OAAO,CAAC,WAAW,CAAC;IAWvB;;;;;;OAMG;IACG,MAAM,CACV,aAAa,EAAE,MAAM,EACrB,OAAO,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GACrC,OAAO,CAAC,WAAW,EAAE,CAAC;IAQzB;;;;;;OAMG;IACG,iBAAiB,CACrB,aAAa,EAAE,MAAM,EACrB,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,GAC5C,OAAO,CAAC,uBAAuB,EAAE,CAAC;IAQrC;;;;;;;OAOG;IACG,eAAe,CACnB,aAAa,EAAE,MAAM,EACrB,YAAY,EAAE,MAAM,EACpB,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,GAC5C,OAAO,CAAC,WAAW,EAAE,CAAC;IAQzB;;;;;;;OAOG;IACG,kBAAkB,CACtB,aAAa,EAAE,MAAM,EACrB,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE;QAAE,MAAM,EAAE,OAAO,CAAA;KAAE,GAC3B,OAAO,CAAC;QAAE,iBAAiB,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,OAAO,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE,CAAC;CAejF"}
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* inkbox-phone/resources/texts.ts
|
|
3
|
+
*
|
|
4
|
+
* Text message (SMS/MMS) operations: list, get, update, search, conversations.
|
|
5
|
+
*/
|
|
6
|
+
import { parseTextMessage, parseTextConversationSummary, } from "../types.js";
|
|
7
|
+
export class TextsResource {
|
|
8
|
+
http;
|
|
9
|
+
constructor(http) {
|
|
10
|
+
this.http = http;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* List text messages for a phone number, newest first.
|
|
14
|
+
*
|
|
15
|
+
* @param phoneNumberId - UUID of the phone number.
|
|
16
|
+
* @param options.limit - Max results (1–200). Defaults to 50.
|
|
17
|
+
* @param options.offset - Pagination offset. Defaults to 0.
|
|
18
|
+
* @param options.isRead - Filter by read state.
|
|
19
|
+
*/
|
|
20
|
+
async list(phoneNumberId, options) {
|
|
21
|
+
const params = {
|
|
22
|
+
limit: options?.limit ?? 50,
|
|
23
|
+
offset: options?.offset ?? 0,
|
|
24
|
+
};
|
|
25
|
+
if (options?.isRead !== undefined) {
|
|
26
|
+
params["is_read"] = options.isRead;
|
|
27
|
+
}
|
|
28
|
+
const data = await this.http.get(`/numbers/${phoneNumberId}/texts`, params);
|
|
29
|
+
return data.map(parseTextMessage);
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Get a single text message by ID.
|
|
33
|
+
*
|
|
34
|
+
* @param phoneNumberId - UUID of the phone number.
|
|
35
|
+
* @param textId - UUID of the text message.
|
|
36
|
+
*/
|
|
37
|
+
async get(phoneNumberId, textId) {
|
|
38
|
+
const data = await this.http.get(`/numbers/${phoneNumberId}/texts/${textId}`);
|
|
39
|
+
return parseTextMessage(data);
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Update a text message (mark as read, soft-delete).
|
|
43
|
+
*
|
|
44
|
+
* @param phoneNumberId - UUID of the phone number.
|
|
45
|
+
* @param textId - UUID of the text message.
|
|
46
|
+
* @param options.isRead - Mark as read or unread.
|
|
47
|
+
* @param options.status - Set to `"deleted"` to soft-delete.
|
|
48
|
+
*/
|
|
49
|
+
async update(phoneNumberId, textId, options) {
|
|
50
|
+
const body = {};
|
|
51
|
+
if (options.isRead !== undefined)
|
|
52
|
+
body["is_read"] = options.isRead;
|
|
53
|
+
if (options.status !== undefined)
|
|
54
|
+
body["status"] = options.status;
|
|
55
|
+
const data = await this.http.patch(`/numbers/${phoneNumberId}/texts/${textId}`, body);
|
|
56
|
+
return parseTextMessage(data);
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Full-text search across text messages for a phone number.
|
|
60
|
+
*
|
|
61
|
+
* @param phoneNumberId - UUID of the phone number.
|
|
62
|
+
* @param options.q - Search query string.
|
|
63
|
+
* @param options.limit - Max results (1–200). Defaults to 50.
|
|
64
|
+
*/
|
|
65
|
+
async search(phoneNumberId, options) {
|
|
66
|
+
const data = await this.http.get(`/numbers/${phoneNumberId}/texts/search`, { q: options.q, limit: options.limit ?? 50 });
|
|
67
|
+
return data.map(parseTextMessage);
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* List conversations (one row per remote number) with latest message preview.
|
|
71
|
+
*
|
|
72
|
+
* @param phoneNumberId - UUID of the phone number.
|
|
73
|
+
* @param options.limit - Max results (1–200). Defaults to 50.
|
|
74
|
+
* @param options.offset - Pagination offset. Defaults to 0.
|
|
75
|
+
*/
|
|
76
|
+
async listConversations(phoneNumberId, options) {
|
|
77
|
+
const data = await this.http.get(`/numbers/${phoneNumberId}/texts/conversations`, { limit: options?.limit ?? 50, offset: options?.offset ?? 0 });
|
|
78
|
+
return data.map(parseTextConversationSummary);
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Get all messages with a specific remote number, newest first.
|
|
82
|
+
*
|
|
83
|
+
* @param phoneNumberId - UUID of the phone number.
|
|
84
|
+
* @param remoteNumber - E.164 remote phone number.
|
|
85
|
+
* @param options.limit - Max results (1–200). Defaults to 50.
|
|
86
|
+
* @param options.offset - Pagination offset. Defaults to 0.
|
|
87
|
+
*/
|
|
88
|
+
async getConversation(phoneNumberId, remoteNumber, options) {
|
|
89
|
+
const data = await this.http.get(`/numbers/${phoneNumberId}/texts/conversations/${remoteNumber}`, { limit: options?.limit ?? 50, offset: options?.offset ?? 0 });
|
|
90
|
+
return data.map(parseTextMessage);
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Update the read state for all messages in a conversation.
|
|
94
|
+
*
|
|
95
|
+
* @param phoneNumberId - UUID of the phone number.
|
|
96
|
+
* @param remoteNumber - E.164 remote phone number.
|
|
97
|
+
* @param options.isRead - Mark all messages as read or unread.
|
|
98
|
+
* @returns Object with `remotePhoneNumber`, `isRead`, and `updatedCount`.
|
|
99
|
+
*/
|
|
100
|
+
async updateConversation(phoneNumberId, remoteNumber, options) {
|
|
101
|
+
const data = await this.http.patch(`/numbers/${phoneNumberId}/texts/conversations/${remoteNumber}`, { is_read: options.isRead });
|
|
102
|
+
return {
|
|
103
|
+
remotePhoneNumber: data.remote_phone_number,
|
|
104
|
+
isRead: data.is_read,
|
|
105
|
+
updatedCount: data.updated_count,
|
|
106
|
+
};
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
//# sourceMappingURL=texts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"texts.js","sourceRoot":"","sources":["../../../src/phone/resources/texts.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAKL,gBAAgB,EAChB,4BAA4B,GAC7B,MAAM,aAAa,CAAC;AAErB,MAAM,OAAO,aAAa;IACK;IAA7B,YAA6B,IAAmB;QAAnB,SAAI,GAAJ,IAAI,CAAe;IAAG,CAAC;IAEpD;;;;;;;OAOG;IACH,KAAK,CAAC,IAAI,CACR,aAAqB,EACrB,OAA+D;QAE/D,MAAM,MAAM,GAA8C;YACxD,KAAK,EAAE,OAAO,EAAE,KAAK,IAAI,EAAE;YAC3B,MAAM,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;SAC7B,CAAC;QACF,IAAI,OAAO,EAAE,MAAM,KAAK,SAAS,EAAE,CAAC;YAClC,MAAM,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;QACrC,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAC9B,YAAY,aAAa,QAAQ,EACjC,MAAM,CACP,CAAC;QACF,OAAO,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IACpC,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,GAAG,CAAC,aAAqB,EAAE,MAAc;QAC7C,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAC9B,YAAY,aAAa,UAAU,MAAM,EAAE,CAC5C,CAAC;QACF,OAAO,gBAAgB,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,MAAM,CACV,aAAqB,EACrB,MAAc,EACd,OAA8C;QAE9C,MAAM,IAAI,GAA4B,EAAE,CAAC;QACzC,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS;YAAE,IAAI,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;QACnE,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS;YAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;QAClE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAChC,YAAY,aAAa,UAAU,MAAM,EAAE,EAC3C,IAAI,CACL,CAAC;QACF,OAAO,gBAAgB,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,MAAM,CACV,aAAqB,EACrB,OAAsC;QAEtC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAC9B,YAAY,aAAa,eAAe,EACxC,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,EAAE,EAAE,CAC7C,CAAC;QACF,OAAO,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IACpC,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,iBAAiB,CACrB,aAAqB,EACrB,OAA6C;QAE7C,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAC9B,YAAY,aAAa,sBAAsB,EAC/C,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,IAAI,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC,EAAE,CAC9D,CAAC;QACF,OAAO,IAAI,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;IAChD,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,eAAe,CACnB,aAAqB,EACrB,YAAoB,EACpB,OAA6C;QAE7C,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAC9B,YAAY,aAAa,wBAAwB,YAAY,EAAE,EAC/D,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,IAAI,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC,EAAE,CAC9D,CAAC;QACF,OAAO,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IACpC,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,kBAAkB,CACtB,aAAqB,EACrB,YAAoB,EACpB,OAA4B;QAE5B,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAKhC,YAAY,aAAa,wBAAwB,YAAY,EAAE,EAC/D,EAAE,OAAO,EAAE,OAAO,CAAC,MAAM,EAAE,CAC5B,CAAC;QACF,OAAO;YACL,iBAAiB,EAAE,IAAI,CAAC,mBAAmB;YAC3C,MAAM,EAAE,IAAI,CAAC,OAAO;YACpB,YAAY,EAAE,IAAI,CAAC,aAAa;SACjC,CAAC;IACJ,CAAC;CACF"}
|
package/dist/phone/types.d.ts
CHANGED
|
@@ -12,6 +12,7 @@ export interface PhoneNumber {
|
|
|
12
12
|
incomingCallAction: string;
|
|
13
13
|
clientWebsocketUrl: string | null;
|
|
14
14
|
incomingCallWebhookUrl: string | null;
|
|
15
|
+
incomingTextWebhookUrl: string | null;
|
|
15
16
|
createdAt: Date;
|
|
16
17
|
updatedAt: Date;
|
|
17
18
|
}
|
|
@@ -54,6 +55,36 @@ export interface PhoneTranscript {
|
|
|
54
55
|
text: string;
|
|
55
56
|
createdAt: Date;
|
|
56
57
|
}
|
|
58
|
+
export interface TextMediaItem {
|
|
59
|
+
contentType: string;
|
|
60
|
+
size: number;
|
|
61
|
+
url: string;
|
|
62
|
+
}
|
|
63
|
+
export interface TextMessage {
|
|
64
|
+
id: string;
|
|
65
|
+
/** "inbound" | "outbound" */
|
|
66
|
+
direction: string;
|
|
67
|
+
localPhoneNumber: string;
|
|
68
|
+
remotePhoneNumber: string;
|
|
69
|
+
text: string | null;
|
|
70
|
+
/** "sms" | "mms" */
|
|
71
|
+
type: string;
|
|
72
|
+
media: TextMediaItem[] | null;
|
|
73
|
+
/** "active" | "deleted" */
|
|
74
|
+
status: string;
|
|
75
|
+
isRead: boolean;
|
|
76
|
+
createdAt: Date;
|
|
77
|
+
updatedAt: Date;
|
|
78
|
+
}
|
|
79
|
+
export interface TextConversationSummary {
|
|
80
|
+
remotePhoneNumber: string;
|
|
81
|
+
latestText: string | null;
|
|
82
|
+
latestDirection: string;
|
|
83
|
+
latestType: string;
|
|
84
|
+
latestMessageAt: Date;
|
|
85
|
+
unreadCount: number;
|
|
86
|
+
totalCount: number;
|
|
87
|
+
}
|
|
57
88
|
export interface RawPhoneNumber {
|
|
58
89
|
id: string;
|
|
59
90
|
number: string;
|
|
@@ -62,6 +93,7 @@ export interface RawPhoneNumber {
|
|
|
62
93
|
incoming_call_action: string;
|
|
63
94
|
client_websocket_url: string | null;
|
|
64
95
|
incoming_call_webhook_url: string | null;
|
|
96
|
+
incoming_text_webhook_url: string | null;
|
|
65
97
|
created_at: string;
|
|
66
98
|
updated_at: string;
|
|
67
99
|
}
|
|
@@ -91,6 +123,33 @@ export interface RawRateLimitInfo {
|
|
|
91
123
|
export interface RawPhoneCallWithRateLimit extends RawPhoneCall {
|
|
92
124
|
rate_limit: RawRateLimitInfo;
|
|
93
125
|
}
|
|
126
|
+
export interface RawTextMediaItem {
|
|
127
|
+
content_type: string;
|
|
128
|
+
size: number;
|
|
129
|
+
url: string;
|
|
130
|
+
}
|
|
131
|
+
export interface RawTextMessage {
|
|
132
|
+
id: string;
|
|
133
|
+
direction: string;
|
|
134
|
+
local_phone_number: string;
|
|
135
|
+
remote_phone_number: string;
|
|
136
|
+
text: string | null;
|
|
137
|
+
type: string;
|
|
138
|
+
media: RawTextMediaItem[] | null;
|
|
139
|
+
status: string;
|
|
140
|
+
is_read: boolean;
|
|
141
|
+
created_at: string;
|
|
142
|
+
updated_at: string;
|
|
143
|
+
}
|
|
144
|
+
export interface RawTextConversationSummary {
|
|
145
|
+
remote_phone_number: string;
|
|
146
|
+
latest_text: string | null;
|
|
147
|
+
latest_direction: string;
|
|
148
|
+
latest_type: string;
|
|
149
|
+
latest_message_at: string;
|
|
150
|
+
unread_count: number;
|
|
151
|
+
total_count: number;
|
|
152
|
+
}
|
|
94
153
|
export interface RawPhoneTranscript {
|
|
95
154
|
id: string;
|
|
96
155
|
call_id: string;
|
|
@@ -105,4 +164,7 @@ export declare function parsePhoneCall(r: RawPhoneCall): PhoneCall;
|
|
|
105
164
|
export declare function parseRateLimitInfo(r: RawRateLimitInfo): RateLimitInfo;
|
|
106
165
|
export declare function parsePhoneCallWithRateLimit(r: RawPhoneCallWithRateLimit): PhoneCallWithRateLimit;
|
|
107
166
|
export declare function parsePhoneTranscript(r: RawPhoneTranscript): PhoneTranscript;
|
|
167
|
+
export declare function parseTextMediaItem(r: RawTextMediaItem): TextMediaItem;
|
|
168
|
+
export declare function parseTextMessage(r: RawTextMessage): TextMessage;
|
|
169
|
+
export declare function parseTextConversationSummary(r: RawTextConversationSummary): TextConversationSummary;
|
|
108
170
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/phone/types.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/phone/types.ts"],"names":[],"mappings":"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"}
|
package/dist/phone/types.js
CHANGED
|
@@ -11,6 +11,7 @@ export function parsePhoneNumber(r) {
|
|
|
11
11
|
incomingCallAction: r.incoming_call_action,
|
|
12
12
|
clientWebsocketUrl: r.client_websocket_url,
|
|
13
13
|
incomingCallWebhookUrl: r.incoming_call_webhook_url,
|
|
14
|
+
incomingTextWebhookUrl: r.incoming_text_webhook_url,
|
|
14
15
|
createdAt: new Date(r.created_at),
|
|
15
16
|
updatedAt: new Date(r.updated_at),
|
|
16
17
|
};
|
|
@@ -59,4 +60,37 @@ export function parsePhoneTranscript(r) {
|
|
|
59
60
|
createdAt: new Date(r.created_at),
|
|
60
61
|
};
|
|
61
62
|
}
|
|
63
|
+
export function parseTextMediaItem(r) {
|
|
64
|
+
return {
|
|
65
|
+
contentType: r.content_type,
|
|
66
|
+
size: r.size,
|
|
67
|
+
url: r.url,
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
export function parseTextMessage(r) {
|
|
71
|
+
return {
|
|
72
|
+
id: r.id,
|
|
73
|
+
direction: r.direction,
|
|
74
|
+
localPhoneNumber: r.local_phone_number,
|
|
75
|
+
remotePhoneNumber: r.remote_phone_number,
|
|
76
|
+
text: r.text,
|
|
77
|
+
type: r.type,
|
|
78
|
+
media: r.media ? r.media.map(parseTextMediaItem) : null,
|
|
79
|
+
status: r.status,
|
|
80
|
+
isRead: r.is_read,
|
|
81
|
+
createdAt: new Date(r.created_at),
|
|
82
|
+
updatedAt: new Date(r.updated_at),
|
|
83
|
+
};
|
|
84
|
+
}
|
|
85
|
+
export function parseTextConversationSummary(r) {
|
|
86
|
+
return {
|
|
87
|
+
remotePhoneNumber: r.remote_phone_number,
|
|
88
|
+
latestText: r.latest_text,
|
|
89
|
+
latestDirection: r.latest_direction,
|
|
90
|
+
latestType: r.latest_type,
|
|
91
|
+
latestMessageAt: new Date(r.latest_message_at),
|
|
92
|
+
unreadCount: r.unread_count,
|
|
93
|
+
totalCount: r.total_count,
|
|
94
|
+
};
|
|
95
|
+
}
|
|
62
96
|
//# sourceMappingURL=types.js.map
|
package/dist/phone/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/phone/types.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/phone/types.ts"],"names":[],"mappings":"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"}
|
package/dist/vault/crypto.d.ts
CHANGED
|
@@ -54,15 +54,16 @@ export declare function computeAuthHash(masterKey: Uint8Array): string;
|
|
|
54
54
|
* @param orgKey - 32-byte org encryption key to wrap.
|
|
55
55
|
* @returns Base64-encoded ciphertext blob.
|
|
56
56
|
*/
|
|
57
|
-
export declare function wrapOrgKey(masterKey: Uint8Array, orgKey: Uint8Array): string;
|
|
57
|
+
export declare function wrapOrgKey(masterKey: Uint8Array, orgKey: Uint8Array, vaultKeyId?: string): string;
|
|
58
58
|
/**
|
|
59
59
|
* Unwrap the org encryption key using a master key.
|
|
60
60
|
*
|
|
61
61
|
* @param masterKey - 32-byte master key.
|
|
62
62
|
* @param wrappedB64 - Base64-encoded ciphertext blob from the server.
|
|
63
|
+
* @param vaultKeyId - Vault key UUID used as AAD during wrapping.
|
|
63
64
|
* @returns 32-byte org encryption key.
|
|
64
65
|
*/
|
|
65
|
-
export declare function unwrapOrgKey(masterKey: Uint8Array, wrappedB64: string): Uint8Array;
|
|
66
|
+
export declare function unwrapOrgKey(masterKey: Uint8Array, wrappedB64: string, vaultKeyId?: string): Uint8Array;
|
|
66
67
|
/**
|
|
67
68
|
* Serialize a payload to JSON and encrypt it with the org encryption key.
|
|
68
69
|
*
|
|
@@ -70,15 +71,16 @@ export declare function unwrapOrgKey(masterKey: Uint8Array, wrappedB64: string):
|
|
|
70
71
|
* @param payload - Plain object to encrypt.
|
|
71
72
|
* @returns Base64-encoded ciphertext blob.
|
|
72
73
|
*/
|
|
73
|
-
export declare function encryptPayload(orgKey: Uint8Array, payload: Record<string, unknown
|
|
74
|
+
export declare function encryptPayload(orgKey: Uint8Array, payload: Record<string, unknown>, secretId?: string): string;
|
|
74
75
|
/**
|
|
75
76
|
* Decrypt a base64 ciphertext blob and parse the JSON payload.
|
|
76
77
|
*
|
|
77
78
|
* @param orgKey - 32-byte org encryption key.
|
|
78
79
|
* @param encryptedB64 - Base64-encoded ciphertext blob.
|
|
80
|
+
* @param secretId - Vault secret UUID used as AAD during encryption.
|
|
79
81
|
* @returns The decrypted payload as a plain object.
|
|
80
82
|
*/
|
|
81
|
-
export declare function decryptPayload(orgKey: Uint8Array, encryptedB64: string): Record<string, unknown>;
|
|
83
|
+
export declare function decryptPayload(orgKey: Uint8Array, encryptedB64: string, secretId?: string): Record<string, unknown>;
|
|
82
84
|
/**
|
|
83
85
|
* Generate a random 256-bit org encryption key.
|
|
84
86
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"crypto.d.ts","sourceRoot":"","sources":["../../src/vault/crypto.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAYH,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAwB1C;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAWvD;AAMD;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,cAAc,EAAE,MAAM,GAAG,UAAU,CAE7D;AAMD;;;;;;GAMG;AACH,wBAAsB,eAAe,CACnC,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,UAAU,GACf,OAAO,CAAC,UAAU,CAAC,CAWrB;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,SAAS,EAAE,UAAU,GAAG,MAAM,CAE7D;
|
|
1
|
+
{"version":3,"file":"crypto.d.ts","sourceRoot":"","sources":["../../src/vault/crypto.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAYH,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAwB1C;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAWvD;AAMD;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,cAAc,EAAE,MAAM,GAAG,UAAU,CAE7D;AAMD;;;;;;GAMG;AACH,wBAAsB,eAAe,CACnC,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,UAAU,GACf,OAAO,CAAC,UAAU,CAAC,CAWrB;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,SAAS,EAAE,UAAU,GAAG,MAAM,CAE7D;AAuCD;;;;;;GAMG;AACH,wBAAgB,UAAU,CACxB,SAAS,EAAE,UAAU,EACrB,MAAM,EAAE,UAAU,EAClB,UAAU,GAAE,MAAW,GACtB,MAAM,CAGR;AAED;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAC1B,SAAS,EAAE,UAAU,EACrB,UAAU,EAAE,MAAM,EAClB,UAAU,GAAE,MAAW,GACtB,UAAU,CAGZ;AAMD;;;;;;GAMG;AACH,wBAAgB,cAAc,CAC5B,MAAM,EAAE,UAAU,EAClB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,QAAQ,GAAE,MAAW,GACpB,MAAM,CAIR;AAED;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAC5B,MAAM,EAAE,UAAU,EAClB,YAAY,EAAE,MAAM,EACpB,QAAQ,GAAE,MAAW,GACpB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAIzB;AAMD;;;;GAIG;AACH,wBAAgB,wBAAwB,IAAI,UAAU,CAErD;AAED;;;;;GAKG;AACH,MAAM,WAAW,gBAAgB;IAC/B,oDAAoD;IACpD,EAAE,EAAE,MAAM,CAAC;IACX,6EAA6E;IAC7E,uBAAuB,EAAE,MAAM,CAAC;IAChC,uCAAuC;IACvC,QAAQ,EAAE,MAAM,CAAC;IACjB,mCAAmC;IACnC,OAAO,EAAE,YAAY,CAAC;CACvB;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,CAAC,EAAE,gBAAgB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAOlF;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,wBAAwB,CAC5C,QAAQ,EAAE,MAAM,EAChB,cAAc,EAAE,MAAM,EACtB,gBAAgB,EAAE,UAAU,EAC5B,OAAO,GAAE;IAAE,OAAO,CAAC,EAAE,YAAY,CAAA;CAAO,GACvC,OAAO,CAAC,gBAAgB,CAAC,CAc3B;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,oBAAoB,CACxC,cAAc,EAAE,MAAM,EACtB,gBAAgB,EAAE,UAAU,GAC3B,OAAO,CAAC,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC,CA2BrC"}
|
package/dist/vault/crypto.js
CHANGED
|
@@ -102,9 +102,11 @@ export function computeAuthHash(masterKey) {
|
|
|
102
102
|
// ---------------------------------------------------------------------------
|
|
103
103
|
// AES-256-GCM
|
|
104
104
|
// ---------------------------------------------------------------------------
|
|
105
|
-
function aesGcmEncrypt(key, plaintext) {
|
|
105
|
+
function aesGcmEncrypt(key, plaintext, aad = "") {
|
|
106
106
|
const iv = randomBytes(AES_IV_BYTES);
|
|
107
107
|
const cipher = createCipheriv("aes-256-gcm", key, iv);
|
|
108
|
+
if (aad)
|
|
109
|
+
cipher.setAAD(Buffer.from(aad, "utf-8"));
|
|
108
110
|
const encrypted = cipher.update(plaintext);
|
|
109
111
|
const final = cipher.final();
|
|
110
112
|
const tag = cipher.getAuthTag();
|
|
@@ -116,12 +118,14 @@ function aesGcmEncrypt(key, plaintext) {
|
|
|
116
118
|
result.set(tag, encrypted.length + final.length + iv.length);
|
|
117
119
|
return result;
|
|
118
120
|
}
|
|
119
|
-
function aesGcmDecrypt(key, blob) {
|
|
121
|
+
function aesGcmDecrypt(key, blob, aad = "") {
|
|
120
122
|
const tag = blob.slice(-AES_TAG_BYTES);
|
|
121
123
|
const nonce = blob.slice(-(AES_IV_BYTES + AES_TAG_BYTES), -AES_TAG_BYTES);
|
|
122
124
|
const ct = blob.slice(0, -(AES_IV_BYTES + AES_TAG_BYTES));
|
|
123
125
|
const decipher = createDecipheriv("aes-256-gcm", key, nonce);
|
|
124
126
|
decipher.setAuthTag(tag);
|
|
127
|
+
if (aad)
|
|
128
|
+
decipher.setAAD(Buffer.from(aad, "utf-8"));
|
|
125
129
|
const decrypted = decipher.update(ct);
|
|
126
130
|
const final = decipher.final();
|
|
127
131
|
const result = new Uint8Array(decrypted.length + final.length);
|
|
@@ -136,8 +140,8 @@ function aesGcmDecrypt(key, blob) {
|
|
|
136
140
|
* @param orgKey - 32-byte org encryption key to wrap.
|
|
137
141
|
* @returns Base64-encoded ciphertext blob.
|
|
138
142
|
*/
|
|
139
|
-
export function wrapOrgKey(masterKey, orgKey) {
|
|
140
|
-
const blob = aesGcmEncrypt(masterKey, orgKey);
|
|
143
|
+
export function wrapOrgKey(masterKey, orgKey, vaultKeyId = "") {
|
|
144
|
+
const blob = aesGcmEncrypt(masterKey, orgKey, vaultKeyId);
|
|
141
145
|
return Buffer.from(blob).toString("base64");
|
|
142
146
|
}
|
|
143
147
|
/**
|
|
@@ -145,11 +149,12 @@ export function wrapOrgKey(masterKey, orgKey) {
|
|
|
145
149
|
*
|
|
146
150
|
* @param masterKey - 32-byte master key.
|
|
147
151
|
* @param wrappedB64 - Base64-encoded ciphertext blob from the server.
|
|
152
|
+
* @param vaultKeyId - Vault key UUID used as AAD during wrapping.
|
|
148
153
|
* @returns 32-byte org encryption key.
|
|
149
154
|
*/
|
|
150
|
-
export function unwrapOrgKey(masterKey, wrappedB64) {
|
|
155
|
+
export function unwrapOrgKey(masterKey, wrappedB64, vaultKeyId = "") {
|
|
151
156
|
const blob = new Uint8Array(Buffer.from(wrappedB64, "base64"));
|
|
152
|
-
return aesGcmDecrypt(masterKey, blob);
|
|
157
|
+
return aesGcmDecrypt(masterKey, blob, vaultKeyId);
|
|
153
158
|
}
|
|
154
159
|
// ---------------------------------------------------------------------------
|
|
155
160
|
// Secret payload encryption / decryption
|
|
@@ -161,9 +166,9 @@ export function unwrapOrgKey(masterKey, wrappedB64) {
|
|
|
161
166
|
* @param payload - Plain object to encrypt.
|
|
162
167
|
* @returns Base64-encoded ciphertext blob.
|
|
163
168
|
*/
|
|
164
|
-
export function encryptPayload(orgKey, payload) {
|
|
169
|
+
export function encryptPayload(orgKey, payload, secretId = "") {
|
|
165
170
|
const plaintext = new TextEncoder().encode(JSON.stringify(payload));
|
|
166
|
-
const blob = aesGcmEncrypt(orgKey, plaintext);
|
|
171
|
+
const blob = aesGcmEncrypt(orgKey, plaintext, secretId);
|
|
167
172
|
return Buffer.from(blob).toString("base64");
|
|
168
173
|
}
|
|
169
174
|
/**
|
|
@@ -171,11 +176,12 @@ export function encryptPayload(orgKey, payload) {
|
|
|
171
176
|
*
|
|
172
177
|
* @param orgKey - 32-byte org encryption key.
|
|
173
178
|
* @param encryptedB64 - Base64-encoded ciphertext blob.
|
|
179
|
+
* @param secretId - Vault secret UUID used as AAD during encryption.
|
|
174
180
|
* @returns The decrypted payload as a plain object.
|
|
175
181
|
*/
|
|
176
|
-
export function decryptPayload(orgKey, encryptedB64) {
|
|
182
|
+
export function decryptPayload(orgKey, encryptedB64, secretId = "") {
|
|
177
183
|
const blob = new Uint8Array(Buffer.from(encryptedB64, "base64"));
|
|
178
|
-
const plaintext = aesGcmDecrypt(orgKey, blob);
|
|
184
|
+
const plaintext = aesGcmDecrypt(orgKey, blob, secretId);
|
|
179
185
|
return JSON.parse(new TextDecoder().decode(plaintext));
|
|
180
186
|
}
|
|
181
187
|
// ---------------------------------------------------------------------------
|
|
@@ -218,9 +224,10 @@ export async function generateVaultKeyMaterial(vaultKey, organizationId, orgEncr
|
|
|
218
224
|
const salt = deriveSalt(organizationId);
|
|
219
225
|
const masterKey = await deriveMasterKey(vaultKey, salt);
|
|
220
226
|
const authHash = computeAuthHash(masterKey);
|
|
221
|
-
const
|
|
227
|
+
const keyId = randomUUID();
|
|
228
|
+
const wrapped = wrapOrgKey(masterKey, orgEncryptionKey, keyId);
|
|
222
229
|
return {
|
|
223
|
-
id:
|
|
230
|
+
id: keyId,
|
|
224
231
|
wrappedOrgEncryptionKey: wrapped,
|
|
225
232
|
authHash,
|
|
226
233
|
keyType: options.keyType ?? VaultKeyType.PRIMARY,
|
|
@@ -253,9 +260,10 @@ export async function generateRecoveryCode(organizationId, orgEncryptionKey) {
|
|
|
253
260
|
const salt = deriveSalt(organizationId);
|
|
254
261
|
const masterKey = await deriveMasterKey(code, salt);
|
|
255
262
|
const authHash = computeAuthHash(masterKey);
|
|
256
|
-
const
|
|
263
|
+
const keyId = randomUUID();
|
|
264
|
+
const wrapped = wrapOrgKey(masterKey, orgEncryptionKey, keyId);
|
|
257
265
|
const material = {
|
|
258
|
-
id:
|
|
266
|
+
id: keyId,
|
|
259
267
|
wrappedOrgEncryptionKey: wrapped,
|
|
260
268
|
authHash,
|
|
261
269
|
keyType: VaultKeyType.RECOVERY,
|
package/dist/vault/crypto.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"crypto.js","sourceRoot":"","sources":["../../src/vault/crypto.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EACL,UAAU,EACV,WAAW,EACX,SAAS,EACT,UAAU,EACV,cAAc,EACd,gBAAgB,GACjB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE1C,8EAA8E;AAC9E,YAAY;AACZ,8EAA8E;AAE9E,MAAM,gBAAgB,GAAG,CAAC,CAAC;AAC3B,MAAM,kBAAkB,GAAG,KAAK,CAAC,CAAC,SAAS;AAC3C,MAAM,kBAAkB,GAAG,CAAC,CAAC;AAC7B,MAAM,eAAe,GAAG,EAAE,CAAC;AAE3B,MAAM,aAAa,GAAG,EAAE,CAAC;AACzB,MAAM,YAAY,GAAG,EAAE,CAAC;AACxB,MAAM,aAAa,GAAG,EAAE,CAAC;AAEzB,wEAAwE;AACxE,MAAM,WAAW,GAAG,iCAAiC,CAAC;AACtD,MAAM,YAAY,GAAG,CAAC,CAAC;AACvB,MAAM,SAAS,GAAG,CAAC,CAAC,CAAC,2CAA2C;AAEhE,8EAA8E;AAC9E,uBAAuB;AACvB,8EAA8E;AAE9E;;;;;;;;GAQG;AACH,MAAM,UAAU,gBAAgB,CAAC,QAAgB;IAC/C,IAAI,QAAQ,CAAC,MAAM,GAAG,EAAE;QACtB,MAAM,IAAI,mBAAmB,CAAC,0CAA0C,CAAC,CAAC;IAC5E,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC;QACzB,MAAM,IAAI,mBAAmB,CAAC,sDAAsD,CAAC,CAAC;IACxF,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC;QACzB,MAAM,IAAI,mBAAmB,CAAC,sDAAsD,CAAC,CAAC;IACxF,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC;QACzB,MAAM,IAAI,mBAAmB,CAAC,2CAA2C,CAAC,CAAC;IAC7E,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC;QAChC,MAAM,IAAI,mBAAmB,CAAC,uDAAuD,CAAC,CAAC;AAC3F,CAAC;AAED,8EAA8E;AAC9E,kBAAkB;AAClB,8EAA8E;AAE9E;;;;;GAKG;AACH,MAAM,UAAU,UAAU,CAAC,cAAsB;IAC/C,OAAO,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;AAClD,CAAC;AAED,8EAA8E;AAC9E,iBAAiB;AACjB,8EAA8E;AAE9E;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,QAAgB,EAChB,IAAgB;IAEhB,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC;QAC1B,QAAQ,EAAE,QAAQ;QAClB,IAAI;QACJ,UAAU,EAAE,gBAAgB;QAC5B,UAAU,EAAE,kBAAkB;QAC9B,WAAW,EAAE,kBAAkB;QAC/B,UAAU,EAAE,eAAe;QAC3B,UAAU,EAAE,QAAQ;KACrB,CAAC,CAAC;IACH,OAAO,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC;AAC9B,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAAC,SAAqB;IACnD,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC9D,CAAC;AAED,8EAA8E;AAC9E,cAAc;AACd,8EAA8E;AAE9E,SAAS,aAAa,CAAC,GAAe,EAAE,SAAqB;
|
|
1
|
+
{"version":3,"file":"crypto.js","sourceRoot":"","sources":["../../src/vault/crypto.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
* UnlockedVault — crypto-enabled wrapper for secret CRUD after unlock.
|
|
6
6
|
*/
|
|
7
7
|
import { HttpTransport } from "../../_http.js";
|
|
8
|
+
import type { TOTPCode, TOTPConfig } from "../totp.js";
|
|
8
9
|
import type { AccessRule, DecryptedVaultSecret, SecretPayload, VaultInfo, VaultKey, VaultSecret } from "../types.js";
|
|
9
10
|
/**
|
|
10
11
|
* Org-level vault operations.
|
|
@@ -93,10 +94,16 @@ export declare class VaultResource {
|
|
|
93
94
|
export declare class UnlockedVault {
|
|
94
95
|
private readonly http;
|
|
95
96
|
private readonly orgKey;
|
|
96
|
-
private
|
|
97
|
+
private secretsCache;
|
|
97
98
|
constructor(http: HttpTransport, orgKey: Uint8Array, secretsCache: DecryptedVaultSecret[]);
|
|
98
99
|
/** All vault secrets decrypted from the unlock response. */
|
|
99
100
|
get secrets(): DecryptedVaultSecret[];
|
|
101
|
+
/**
|
|
102
|
+
* Re-fetch, decrypt, and update a single secret in the cache.
|
|
103
|
+
*
|
|
104
|
+
* Best-effort — if the re-fetch fails the cache is left unchanged.
|
|
105
|
+
*/
|
|
106
|
+
private refreshCachedSecret;
|
|
100
107
|
/**
|
|
101
108
|
* Fetch and decrypt a single vault secret.
|
|
102
109
|
*
|
|
@@ -145,5 +152,32 @@ export declare class UnlockedVault {
|
|
|
145
152
|
* @param secretId - UUID of the secret to delete.
|
|
146
153
|
*/
|
|
147
154
|
deleteSecret(secretId: string): Promise<void>;
|
|
155
|
+
/**
|
|
156
|
+
* Add or replace the TOTP configuration on a login secret.
|
|
157
|
+
*
|
|
158
|
+
* @param secretId - UUID of the login secret.
|
|
159
|
+
* @param totp - A {@link TOTPConfig} object or an `otpauth://totp/...` URI string.
|
|
160
|
+
* @returns Updated {@link VaultSecret} metadata.
|
|
161
|
+
* @throws TypeError if the secret is not a login type.
|
|
162
|
+
* @throws Error if a URI string is invalid or not TOTP.
|
|
163
|
+
*/
|
|
164
|
+
setTotp(secretId: string, totp: TOTPConfig | string): Promise<VaultSecret>;
|
|
165
|
+
/**
|
|
166
|
+
* Remove TOTP configuration from a login secret.
|
|
167
|
+
*
|
|
168
|
+
* @param secretId - UUID of the login secret.
|
|
169
|
+
* @returns Updated {@link VaultSecret} metadata.
|
|
170
|
+
* @throws TypeError if the secret is not a login type.
|
|
171
|
+
*/
|
|
172
|
+
removeTotp(secretId: string): Promise<VaultSecret>;
|
|
173
|
+
/**
|
|
174
|
+
* Generate the current TOTP code for a login secret.
|
|
175
|
+
*
|
|
176
|
+
* @param secretId - UUID of the login secret.
|
|
177
|
+
* @returns A {@link TOTPCode}.
|
|
178
|
+
* @throws TypeError if the secret is not a login type.
|
|
179
|
+
* @throws Error if the login has no TOTP configured.
|
|
180
|
+
*/
|
|
181
|
+
getTotpCode(secretId: string): Promise<TOTPCode>;
|
|
148
182
|
}
|
|
149
183
|
//# sourceMappingURL=vault.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vault.d.ts","sourceRoot":"","sources":["../../../src/vault/resources/vault.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,aAAa,
|
|
1
|
+
{"version":3,"file":"vault.d.ts","sourceRoot":"","sources":["../../../src/vault/resources/vault.ts"],"names":[],"mappings":"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"}
|