@lockerpm/desktop-service 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (158) hide show
  1. package/README.md +98 -0
  2. package/lib/cjs/abstractions/api.service.js +2 -0
  3. package/lib/cjs/abstractions/crypto.service.js +147 -0
  4. package/lib/cjs/abstractions/errors.js +99 -0
  5. package/lib/cjs/abstractions/event.service.js +2 -0
  6. package/lib/cjs/abstractions/index.js +2 -0
  7. package/lib/cjs/abstractions/socket.service.js +11 -0
  8. package/lib/cjs/abstractions/storage.service.js +2 -0
  9. package/lib/cjs/index.js +243 -0
  10. package/lib/cjs/misc/config.js +15 -0
  11. package/lib/cjs/misc/utils.js +37 -0
  12. package/lib/cjs/proto/google/api/annotations.js +2 -0
  13. package/lib/cjs/proto/google/api/http.js +477 -0
  14. package/lib/cjs/proto/google/protobuf/descriptor.js +4873 -0
  15. package/lib/cjs/proto/locker-service-grpc.js +1915 -0
  16. package/lib/cjs/services/api.service.js +182 -0
  17. package/lib/cjs/services/cache.service.js +50 -0
  18. package/lib/cjs/services/core-crypto.service.js +193 -0
  19. package/lib/cjs/services/crypto.service.js +101 -0
  20. package/lib/cjs/services/event.service.js +31 -0
  21. package/lib/cjs/services/fido.service.js +136 -0
  22. package/lib/cjs/services/grpc.service.js +130 -0
  23. package/lib/cjs/services/log.service.js +30 -0
  24. package/lib/cjs/services/pairing.service.js +122 -0
  25. package/lib/cjs/services/socket.service.js +280 -0
  26. package/lib/cjs/services/user.service.js +134 -0
  27. package/lib/cjs/types/abstractions/api.service.d.ts +40 -0
  28. package/lib/cjs/types/abstractions/api.service.d.ts.map +1 -0
  29. package/lib/cjs/types/abstractions/crypto.service.d.ts +46 -0
  30. package/lib/cjs/types/abstractions/crypto.service.d.ts.map +1 -0
  31. package/lib/cjs/types/abstractions/errors.d.ts +73 -0
  32. package/lib/cjs/types/abstractions/errors.d.ts.map +1 -0
  33. package/lib/cjs/types/abstractions/event.service.d.ts +23 -0
  34. package/lib/cjs/types/abstractions/event.service.d.ts.map +1 -0
  35. package/lib/cjs/types/abstractions/index.d.ts +56 -0
  36. package/lib/cjs/types/abstractions/index.d.ts.map +1 -0
  37. package/lib/cjs/types/abstractions/socket.service.d.ts +52 -0
  38. package/lib/cjs/types/abstractions/socket.service.d.ts.map +1 -0
  39. package/lib/cjs/types/abstractions/storage.service.d.ts +6 -0
  40. package/lib/cjs/types/abstractions/storage.service.d.ts.map +1 -0
  41. package/lib/cjs/types/index.d.ts +164 -0
  42. package/lib/cjs/types/index.d.ts.map +1 -0
  43. package/lib/cjs/types/misc/config.d.ts +6 -0
  44. package/lib/cjs/types/misc/config.d.ts.map +1 -0
  45. package/lib/cjs/types/misc/utils.d.ts +21 -0
  46. package/lib/cjs/types/misc/utils.d.ts.map +1 -0
  47. package/lib/cjs/types/proto/google/api/annotations.d.ts +2 -0
  48. package/lib/cjs/types/proto/google/api/annotations.d.ts.map +1 -0
  49. package/lib/cjs/types/proto/google/api/http.d.ts +195 -0
  50. package/lib/cjs/types/proto/google/api/http.d.ts.map +1 -0
  51. package/lib/cjs/types/proto/google/protobuf/descriptor.d.ts +3409 -0
  52. package/lib/cjs/types/proto/google/protobuf/descriptor.d.ts.map +1 -0
  53. package/lib/cjs/types/proto/locker-service-grpc.d.ts +622 -0
  54. package/lib/cjs/types/proto/locker-service-grpc.d.ts.map +1 -0
  55. package/lib/cjs/types/services/api.service.d.ts +37 -0
  56. package/lib/cjs/types/services/api.service.d.ts.map +1 -0
  57. package/lib/cjs/types/services/cache.service.d.ts +10 -0
  58. package/lib/cjs/types/services/cache.service.d.ts.map +1 -0
  59. package/lib/cjs/types/services/core-crypto.service.d.ts +17 -0
  60. package/lib/cjs/types/services/core-crypto.service.d.ts.map +1 -0
  61. package/lib/cjs/types/services/crypto.service.d.ts +23 -0
  62. package/lib/cjs/types/services/crypto.service.d.ts.map +1 -0
  63. package/lib/cjs/types/services/event.service.d.ts +14 -0
  64. package/lib/cjs/types/services/event.service.d.ts.map +1 -0
  65. package/lib/cjs/types/services/fido.service.d.ts +40 -0
  66. package/lib/cjs/types/services/fido.service.d.ts.map +1 -0
  67. package/lib/cjs/types/services/grpc.service.d.ts +34 -0
  68. package/lib/cjs/types/services/grpc.service.d.ts.map +1 -0
  69. package/lib/cjs/types/services/log.service.d.ts +13 -0
  70. package/lib/cjs/types/services/log.service.d.ts.map +1 -0
  71. package/lib/cjs/types/services/pairing.service.d.ts +37 -0
  72. package/lib/cjs/types/services/pairing.service.d.ts.map +1 -0
  73. package/lib/cjs/types/services/socket.service.d.ts +39 -0
  74. package/lib/cjs/types/services/socket.service.d.ts.map +1 -0
  75. package/lib/cjs/types/services/user.service.d.ts +32 -0
  76. package/lib/cjs/types/services/user.service.d.ts.map +1 -0
  77. package/lib/cjs/types/usecases/fido.d.ts +54 -0
  78. package/lib/cjs/types/usecases/fido.d.ts.map +1 -0
  79. package/lib/cjs/usecases/fido.js +227 -0
  80. package/lib/esm/abstractions/api.service.js +2 -0
  81. package/lib/esm/abstractions/crypto.service.js +165 -0
  82. package/lib/esm/abstractions/errors.js +100 -0
  83. package/lib/esm/abstractions/event.service.js +2 -0
  84. package/lib/esm/abstractions/index.js +2 -0
  85. package/lib/esm/abstractions/socket.service.js +11 -0
  86. package/lib/esm/abstractions/storage.service.js +2 -0
  87. package/lib/esm/index.mjs +227 -0
  88. package/lib/esm/misc/config.js +15 -0
  89. package/lib/esm/misc/utils.js +37 -0
  90. package/lib/esm/proto/google/api/annotations.js +2 -0
  91. package/lib/esm/proto/google/api/http.js +468 -0
  92. package/lib/esm/proto/google/protobuf/descriptor.js +4830 -0
  93. package/lib/esm/proto/locker-service-grpc.js +1892 -0
  94. package/lib/esm/services/api.service.js +177 -0
  95. package/lib/esm/services/cache.service.js +52 -0
  96. package/lib/esm/services/core-crypto.service.js +164 -0
  97. package/lib/esm/services/crypto.service.js +83 -0
  98. package/lib/esm/services/event.service.js +33 -0
  99. package/lib/esm/services/fido.service.js +139 -0
  100. package/lib/esm/services/grpc.service.js +119 -0
  101. package/lib/esm/services/log.service.js +31 -0
  102. package/lib/esm/services/pairing.service.js +107 -0
  103. package/lib/esm/services/socket.service.js +265 -0
  104. package/lib/esm/services/user.service.js +116 -0
  105. package/lib/esm/types/abstractions/api.service.d.ts +40 -0
  106. package/lib/esm/types/abstractions/api.service.d.ts.map +1 -0
  107. package/lib/esm/types/abstractions/crypto.service.d.ts +46 -0
  108. package/lib/esm/types/abstractions/crypto.service.d.ts.map +1 -0
  109. package/lib/esm/types/abstractions/errors.d.ts +73 -0
  110. package/lib/esm/types/abstractions/errors.d.ts.map +1 -0
  111. package/lib/esm/types/abstractions/event.service.d.ts +23 -0
  112. package/lib/esm/types/abstractions/event.service.d.ts.map +1 -0
  113. package/lib/esm/types/abstractions/index.d.ts +56 -0
  114. package/lib/esm/types/abstractions/index.d.ts.map +1 -0
  115. package/lib/esm/types/abstractions/socket.service.d.ts +52 -0
  116. package/lib/esm/types/abstractions/socket.service.d.ts.map +1 -0
  117. package/lib/esm/types/abstractions/storage.service.d.ts +6 -0
  118. package/lib/esm/types/abstractions/storage.service.d.ts.map +1 -0
  119. package/lib/esm/types/index.d.ts +164 -0
  120. package/lib/esm/types/index.d.ts.map +1 -0
  121. package/lib/esm/types/misc/config.d.ts +6 -0
  122. package/lib/esm/types/misc/config.d.ts.map +1 -0
  123. package/lib/esm/types/misc/utils.d.ts +21 -0
  124. package/lib/esm/types/misc/utils.d.ts.map +1 -0
  125. package/lib/esm/types/proto/google/api/annotations.d.ts +2 -0
  126. package/lib/esm/types/proto/google/api/annotations.d.ts.map +1 -0
  127. package/lib/esm/types/proto/google/api/http.d.ts +195 -0
  128. package/lib/esm/types/proto/google/api/http.d.ts.map +1 -0
  129. package/lib/esm/types/proto/google/protobuf/descriptor.d.ts +3409 -0
  130. package/lib/esm/types/proto/google/protobuf/descriptor.d.ts.map +1 -0
  131. package/lib/esm/types/proto/locker-service-grpc.d.ts +622 -0
  132. package/lib/esm/types/proto/locker-service-grpc.d.ts.map +1 -0
  133. package/lib/esm/types/services/api.service.d.ts +37 -0
  134. package/lib/esm/types/services/api.service.d.ts.map +1 -0
  135. package/lib/esm/types/services/cache.service.d.ts +10 -0
  136. package/lib/esm/types/services/cache.service.d.ts.map +1 -0
  137. package/lib/esm/types/services/core-crypto.service.d.ts +17 -0
  138. package/lib/esm/types/services/core-crypto.service.d.ts.map +1 -0
  139. package/lib/esm/types/services/crypto.service.d.ts +23 -0
  140. package/lib/esm/types/services/crypto.service.d.ts.map +1 -0
  141. package/lib/esm/types/services/event.service.d.ts +14 -0
  142. package/lib/esm/types/services/event.service.d.ts.map +1 -0
  143. package/lib/esm/types/services/fido.service.d.ts +40 -0
  144. package/lib/esm/types/services/fido.service.d.ts.map +1 -0
  145. package/lib/esm/types/services/grpc.service.d.ts +34 -0
  146. package/lib/esm/types/services/grpc.service.d.ts.map +1 -0
  147. package/lib/esm/types/services/log.service.d.ts +13 -0
  148. package/lib/esm/types/services/log.service.d.ts.map +1 -0
  149. package/lib/esm/types/services/pairing.service.d.ts +37 -0
  150. package/lib/esm/types/services/pairing.service.d.ts.map +1 -0
  151. package/lib/esm/types/services/socket.service.d.ts +39 -0
  152. package/lib/esm/types/services/socket.service.d.ts.map +1 -0
  153. package/lib/esm/types/services/user.service.d.ts +32 -0
  154. package/lib/esm/types/services/user.service.d.ts.map +1 -0
  155. package/lib/esm/types/usecases/fido.d.ts +54 -0
  156. package/lib/esm/types/usecases/fido.d.ts.map +1 -0
  157. package/lib/esm/usecases/fido.js +201 -0
  158. package/package.json +55 -0
@@ -0,0 +1,52 @@
1
+ import { ClientType } from '.';
2
+ export type IncomingMessageType = 'ping' | 'pairingRequest' | 'userLogin' | 'userLogout' | 'userLock' | 'customMessage';
3
+ export interface IncomingMessageData {
4
+ ping: any;
5
+ pairingRequest: {
6
+ key: string;
7
+ clientType?: ClientType;
8
+ };
9
+ userLogin: {
10
+ email: string;
11
+ };
12
+ userLogout: {
13
+ email: string;
14
+ };
15
+ userLock: {
16
+ email: string;
17
+ };
18
+ customMessage: any;
19
+ }
20
+ export interface IncomingEnvelop<T extends IncomingMessageType> {
21
+ message: T;
22
+ clientId: string;
23
+ data: IncomingMessageData[T];
24
+ secure?: boolean;
25
+ }
26
+ export type OutgoingMessageType = 'pingResponse' | 'pairingResponse' | 'resetPairing' | 'pairingConfirmed' | 'requestPairing' | 'userLogin' | 'userLogout' | 'userLock' | 'customMessage';
27
+ export interface OutgoingMessageData {
28
+ pingResponse: any;
29
+ pairingResponse: {
30
+ key: string;
31
+ };
32
+ resetPairing: undefined;
33
+ pairingConfirmed: undefined;
34
+ requestPairing: undefined;
35
+ userLogin: {
36
+ email: string;
37
+ };
38
+ userLogout: {
39
+ email: string;
40
+ };
41
+ userLock: {
42
+ email: string;
43
+ };
44
+ customMessage: any;
45
+ }
46
+ export interface OutgoingEnvelop<T extends OutgoingMessageType> {
47
+ message: T;
48
+ data: OutgoingMessageData[T];
49
+ secure?: boolean;
50
+ }
51
+ export declare function buildOutgoingSocketMessage<T extends OutgoingMessageType>(message: T, data: OutgoingMessageData[T], secure?: boolean): OutgoingEnvelop<OutgoingMessageType>;
52
+ //# sourceMappingURL=socket.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"socket.service.d.ts","sourceRoot":"","sources":["../../../../src/abstractions/socket.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,GAAG,CAAA;AAE9B,MAAM,MAAM,mBAAmB,GAC3B,MAAM,GACN,gBAAgB,GAChB,WAAW,GACX,YAAY,GACZ,UAAU,GACV,eAAe,CAAA;AAEnB,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,GAAG,CAAA;IACT,cAAc,EAAE;QACd,GAAG,EAAE,MAAM,CAAA;QACX,UAAU,CAAC,EAAE,UAAU,CAAA;KACxB,CAAA;IACD,SAAS,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAA;IAC5B,UAAU,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAA;IAC7B,QAAQ,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAA;IAC3B,aAAa,EAAE,GAAG,CAAA;CACnB;AAED,MAAM,WAAW,eAAe,CAAC,CAAC,SAAS,mBAAmB;IAC5D,OAAO,EAAE,CAAC,CAAA;IACV,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,mBAAmB,CAAC,CAAC,CAAC,CAAA;IAC5B,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB;AAED,MAAM,MAAM,mBAAmB,GAC3B,cAAc,GACd,iBAAiB,GACjB,cAAc,GACd,kBAAkB,GAClB,gBAAgB,GAChB,WAAW,GACX,YAAY,GACZ,UAAU,GACV,eAAe,CAAA;AAEnB,MAAM,WAAW,mBAAmB;IAClC,YAAY,EAAE,GAAG,CAAA;IACjB,eAAe,EAAE;QACf,GAAG,EAAE,MAAM,CAAA;KACZ,CAAA;IACD,YAAY,EAAE,SAAS,CAAA;IACvB,gBAAgB,EAAE,SAAS,CAAA;IAC3B,cAAc,EAAE,SAAS,CAAA;IACzB,SAAS,EAAE;QACT,KAAK,EAAE,MAAM,CAAA;KACd,CAAA;IACD,UAAU,EAAE;QACV,KAAK,EAAE,MAAM,CAAA;KACd,CAAA;IACD,QAAQ,EAAE;QACR,KAAK,EAAE,MAAM,CAAA;KACd,CAAA;IACD,aAAa,EAAE,GAAG,CAAA;CACnB;AAED,MAAM,WAAW,eAAe,CAAC,CAAC,SAAS,mBAAmB;IAC5D,OAAO,EAAE,CAAC,CAAA;IACV,IAAI,EAAE,mBAAmB,CAAC,CAAC,CAAC,CAAA;IAC5B,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB;AAED,wBAAgB,0BAA0B,CAAC,CAAC,SAAS,mBAAmB,EACtE,OAAO,EAAE,CAAC,EACV,IAAI,EAAE,mBAAmB,CAAC,CAAC,CAAC,EAC5B,MAAM,CAAC,EAAE,OAAO,GACf,eAAe,CAAC,mBAAmB,CAAC,CAMtC"}
@@ -0,0 +1,6 @@
1
+ export interface IStorageService {
2
+ getSecure: (key: string) => Promise<any>;
3
+ setSecure: (key: string, data: any) => Promise<void>;
4
+ deleteSecure: (key: string) => Promise<void>;
5
+ }
6
+ //# sourceMappingURL=storage.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"storage.service.d.ts","sourceRoot":"","sources":["../../../../src/abstractions/storage.service.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,GAAG,CAAC,CAAA;IACxC,SAAS,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACpD,YAAY,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;CAC7C"}
@@ -0,0 +1,164 @@
1
+ /// <reference types="node" />
2
+ import { ClientType, IDesktopService } from './abstractions';
3
+ import { IStorageService } from './abstractions/storage.service';
4
+ import { ApiService } from './services/api.service';
5
+ import { UserService } from './services/user.service';
6
+ import { FidoService } from './services/fido.service';
7
+ import { GRPCService } from './services/grpc.service';
8
+ import { LogLevel, LogService } from './services/log.service';
9
+ import { PairingService } from './services/pairing.service';
10
+ import { SocketService } from './services/socket.service';
11
+ import { EventArguments, Event } from './abstractions/event.service';
12
+ import { BackupKey } from './abstractions/api.service';
13
+ import { CacheService } from './services/cache.service';
14
+ export interface StorageService extends IStorageService {
15
+ }
16
+ export declare const ServiceErrors: {
17
+ '0000': {
18
+ message: string;
19
+ };
20
+ '1000': {
21
+ message: string;
22
+ };
23
+ '1001': {
24
+ message: string;
25
+ };
26
+ '1002': {
27
+ message: string;
28
+ };
29
+ '2001': {
30
+ message: string;
31
+ };
32
+ '2002': {
33
+ message: string;
34
+ };
35
+ '2003': {
36
+ message: string;
37
+ signatures: string[];
38
+ };
39
+ '2004': {
40
+ message: string;
41
+ signatures: string[];
42
+ };
43
+ '2005': {
44
+ message: string;
45
+ };
46
+ '2006': {
47
+ message: string;
48
+ signatures: string[];
49
+ };
50
+ '2007': {
51
+ message: string;
52
+ signatures: string[];
53
+ };
54
+ '2008': {
55
+ message: string;
56
+ signatures: string[];
57
+ };
58
+ '2009': {
59
+ message: string;
60
+ signatures: string[];
61
+ };
62
+ '2010': {
63
+ message: string;
64
+ signatures: string[];
65
+ };
66
+ '2011': {
67
+ message: string;
68
+ signatures: string[];
69
+ };
70
+ '3001': {
71
+ message: string;
72
+ };
73
+ '4001': {
74
+ message: string;
75
+ };
76
+ '4002': {
77
+ message: string;
78
+ };
79
+ };
80
+ export declare class DesktopService implements IDesktopService {
81
+ apiService: ApiService;
82
+ fidoService: FidoService;
83
+ logService: LogService;
84
+ pairingService: PairingService;
85
+ socketService: SocketService;
86
+ userService: UserService;
87
+ grpcService: GRPCService;
88
+ cacheService: CacheService;
89
+ private eventService;
90
+ private storageService;
91
+ private cryptoService;
92
+ private _interval;
93
+ constructor(params: {
94
+ baseApiUrl: string;
95
+ logLevel?: LogLevel;
96
+ storageService: StorageService;
97
+ ssl?: {
98
+ rootCert: Buffer;
99
+ };
100
+ socketSsl?: {
101
+ cert: Buffer;
102
+ key: Buffer;
103
+ };
104
+ unsafe?: boolean;
105
+ apiHeaders?: {
106
+ [key: string]: string;
107
+ };
108
+ serviceAlias?: string;
109
+ });
110
+ get isReady(): boolean;
111
+ waitUntilReady(): Promise<boolean>;
112
+ resetSocket(): Promise<void>;
113
+ resetGRPC(): Promise<void>;
114
+ setApiToken(token: string): void;
115
+ getFidoDeviceList(): Promise<{
116
+ name: string;
117
+ path: string;
118
+ }[]>;
119
+ setNewPasswordless(params: {
120
+ devicePath: string;
121
+ deviceName: string;
122
+ email: string;
123
+ name: string;
124
+ pin?: string;
125
+ }): Promise<string>;
126
+ deletePasswordless(): Promise<void>;
127
+ setBackupPasswordless(params: {
128
+ deviceName: string;
129
+ devicePath: string;
130
+ email: string;
131
+ name: string;
132
+ currentEncKey: ArrayBuffer;
133
+ pin?: string | undefined;
134
+ }): Promise<string>;
135
+ listAllPasswordless(email: string): Promise<(BackupKey & {
136
+ isPrimary?: boolean | undefined;
137
+ })[]>;
138
+ listBackupPasswordless(): Promise<BackupKey[]>;
139
+ deleteBackupPasswordless(id: string): Promise<void>;
140
+ getPasswordless(params: {
141
+ email: string;
142
+ pin?: string;
143
+ devicePath: string;
144
+ onlyBackup?: boolean;
145
+ }): Promise<string>;
146
+ confirmPairingClient(clientId: string, clientType: ClientType): Promise<void>;
147
+ resetPairingCode(clientId: string): Promise<void>;
148
+ sendCustomMessage(data: any): Promise<void>;
149
+ getCacheData(): Promise<any>;
150
+ setCacheData(data: any): Promise<void>;
151
+ getCurrentUser(): Promise<import("./services/user.service").UserCredentials | null>;
152
+ login(params: {
153
+ email: string;
154
+ key: string;
155
+ hashedPassword: string;
156
+ }): Promise<void>;
157
+ logout(): Promise<void>;
158
+ lock(): Promise<void>;
159
+ on<E extends Event>(event: E, handler: (args: EventArguments[E]) => void): import("eventemitter3").EventEmitter<string | symbol, any>;
160
+ once<E extends Event>(event: E, handler: (args: EventArguments[E]) => void): import("eventemitter3").EventEmitter<string | symbol, any>;
161
+ removeListener<E extends Event>(event: E, handler: (args: EventArguments[E]) => void): void;
162
+ removeAllListeners(): void;
163
+ }
164
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ export declare const HTTP_PORTS: number[];
2
+ export declare const WEBSOCKET_PORTS: number[];
3
+ export declare const WEBSOCKET_SSL_PORTS: number[];
4
+ export declare const GRPC_CONNECTION_TIMEOUT = 1500;
5
+ export declare const GRPC_PING_TIMEOUT = 1000;
6
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../../src/misc/config.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,UAAU,UAGtB,CAAA;AAED,eAAO,MAAM,eAAe,UAE3B,CAAA;AAED,eAAO,MAAM,mBAAmB,UAE/B,CAAA;AAED,eAAO,MAAM,uBAAuB,OAAO,CAAA;AAC3C,eAAO,MAAM,iBAAiB,OAAO,CAAA"}
@@ -0,0 +1,21 @@
1
+ export type PingServiceResponse = {
2
+ message: 'pong';
3
+ serviceName: string;
4
+ disableChecksum: boolean;
5
+ tcpPort: number;
6
+ httpPort: string;
7
+ httpsPort: string;
8
+ alias: string;
9
+ keyringName: string;
10
+ };
11
+ export type OS = 'mac-x64' | 'mac-arm64' | 'windows' | 'linux';
12
+ export type OmitKeys<T, K extends keyof T> = Pick<T, Exclude<keyof T, K>>;
13
+ export declare class Utils {
14
+ static fromHexToArray(str: string): Uint8Array;
15
+ static fromBufferToHex(buffer: ArrayBuffer): string;
16
+ static fromBufferToB64(buffer: ArrayBuffer): string;
17
+ static fromUtf8ToArray(str: string): Uint8Array;
18
+ static fromB64ToArray(str: string): Uint8Array;
19
+ static getCurrentOS(): OS;
20
+ }
21
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/misc/utils.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,mBAAmB,GAAG;IAChC,OAAO,EAAE,MAAM,CAAA;IACf,WAAW,EAAE,MAAM,CAAA;IACnB,eAAe,EAAE,OAAO,CAAA;IACxB,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,MAAM,CAAA;IACjB,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,EAAE,MAAM,CAAA;CACpB,CAAA;AAED,MAAM,MAAM,EAAE,GAAG,SAAS,GAAG,WAAW,GAAG,SAAS,GAAG,OAAO,CAAA;AAE9D,MAAM,MAAM,QAAQ,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;AAEzE,qBAAa,KAAK;IAChB,MAAM,CAAC,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU;IAI9C,MAAM,CAAC,eAAe,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM;IAInD,MAAM,CAAC,eAAe,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM;IAInD,MAAM,CAAC,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU;IAI/C,MAAM,CAAC,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU;IAI9C,MAAM,CAAC,YAAY;CAYpB"}
@@ -0,0 +1,2 @@
1
+ export declare namespace google.api { }
2
+ //# sourceMappingURL=annotations.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"annotations.d.ts","sourceRoot":"","sources":["../../../../../../src/proto/google/api/annotations.ts"],"names":[],"mappings":"AAOA,yBAAiB,MAAM,CAAC,GAAG,CAAC,GAAG"}
@@ -0,0 +1,195 @@
1
+ /**
2
+ * Generated by the protoc-gen-ts. DO NOT EDIT!
3
+ * compiler version: 4.24.4
4
+ * source: google/api/http.proto
5
+ * git: https://github.com/thesayyn/protoc-gen-ts */
6
+ import * as pb_1 from "google-protobuf";
7
+ export declare namespace google.api {
8
+ class Http extends pb_1.Message {
9
+ #private;
10
+ constructor(data?: any[] | {
11
+ rules?: HttpRule[];
12
+ fully_decode_reserved_expansion?: boolean;
13
+ });
14
+ get rules(): HttpRule[];
15
+ set rules(value: HttpRule[]);
16
+ get fully_decode_reserved_expansion(): boolean;
17
+ set fully_decode_reserved_expansion(value: boolean);
18
+ static fromObject(data: {
19
+ rules?: ReturnType<typeof HttpRule.prototype.toObject>[];
20
+ fully_decode_reserved_expansion?: boolean;
21
+ }): Http;
22
+ toObject(): {
23
+ rules?: {
24
+ selector?: string | undefined;
25
+ get?: string | undefined;
26
+ put?: string | undefined;
27
+ post?: string | undefined;
28
+ delete?: string | undefined;
29
+ patch?: string | undefined;
30
+ custom?: {
31
+ kind?: string | undefined;
32
+ path?: string | undefined;
33
+ } | undefined;
34
+ body?: string | undefined;
35
+ response_body?: string | undefined;
36
+ additional_bindings?: any[] | undefined;
37
+ }[] | undefined;
38
+ fully_decode_reserved_expansion?: boolean | undefined;
39
+ };
40
+ serialize(): Uint8Array;
41
+ serialize(w: pb_1.BinaryWriter): void;
42
+ static deserialize(bytes: Uint8Array | pb_1.BinaryReader): Http;
43
+ serializeBinary(): Uint8Array;
44
+ static deserializeBinary(bytes: Uint8Array): Http;
45
+ }
46
+ class HttpRule extends pb_1.Message {
47
+ #private;
48
+ constructor(data?: any[] | ({
49
+ selector?: string;
50
+ body?: string;
51
+ response_body?: string;
52
+ additional_bindings?: HttpRule[];
53
+ } & (({
54
+ get?: string;
55
+ put?: never;
56
+ post?: never;
57
+ delete?: never;
58
+ patch?: never;
59
+ custom?: never;
60
+ } | {
61
+ get?: never;
62
+ put?: string;
63
+ post?: never;
64
+ delete?: never;
65
+ patch?: never;
66
+ custom?: never;
67
+ } | {
68
+ get?: never;
69
+ put?: never;
70
+ post?: string;
71
+ delete?: never;
72
+ patch?: never;
73
+ custom?: never;
74
+ } | {
75
+ get?: never;
76
+ put?: never;
77
+ post?: never;
78
+ delete?: string;
79
+ patch?: never;
80
+ custom?: never;
81
+ } | {
82
+ get?: never;
83
+ put?: never;
84
+ post?: never;
85
+ delete?: never;
86
+ patch?: string;
87
+ custom?: never;
88
+ } | {
89
+ get?: never;
90
+ put?: never;
91
+ post?: never;
92
+ delete?: never;
93
+ patch?: never;
94
+ custom?: CustomHttpPattern;
95
+ }))));
96
+ get selector(): string;
97
+ set selector(value: string);
98
+ get get(): string;
99
+ set get(value: string);
100
+ get has_get(): boolean;
101
+ get put(): string;
102
+ set put(value: string);
103
+ get has_put(): boolean;
104
+ get post(): string;
105
+ set post(value: string);
106
+ get has_post(): boolean;
107
+ get delete(): string;
108
+ set delete(value: string);
109
+ get has_delete(): boolean;
110
+ get patch(): string;
111
+ set patch(value: string);
112
+ get has_patch(): boolean;
113
+ get custom(): CustomHttpPattern;
114
+ set custom(value: CustomHttpPattern);
115
+ get has_custom(): boolean;
116
+ get body(): string;
117
+ set body(value: string);
118
+ get response_body(): string;
119
+ set response_body(value: string);
120
+ get additional_bindings(): HttpRule[];
121
+ set additional_bindings(value: HttpRule[]);
122
+ get pattern(): "get" | "delete" | "post" | "put" | "patch" | "custom" | "none";
123
+ static fromObject(data: {
124
+ selector?: string;
125
+ get?: string;
126
+ put?: string;
127
+ post?: string;
128
+ delete?: string;
129
+ patch?: string;
130
+ custom?: ReturnType<typeof CustomHttpPattern.prototype.toObject>;
131
+ body?: string;
132
+ response_body?: string;
133
+ additional_bindings?: ReturnType<typeof HttpRule.prototype.toObject>[];
134
+ }): HttpRule;
135
+ toObject(): {
136
+ selector?: string | undefined;
137
+ get?: string | undefined;
138
+ put?: string | undefined;
139
+ post?: string | undefined;
140
+ delete?: string | undefined;
141
+ patch?: string | undefined;
142
+ custom?: {
143
+ kind?: string | undefined;
144
+ path?: string | undefined;
145
+ } | undefined;
146
+ body?: string | undefined;
147
+ response_body?: string | undefined;
148
+ additional_bindings?: {
149
+ selector?: string | undefined;
150
+ get?: string | undefined;
151
+ put?: string | undefined;
152
+ post?: string | undefined;
153
+ delete?: string | undefined;
154
+ patch?: string | undefined;
155
+ custom?: {
156
+ kind?: string | undefined;
157
+ path?: string | undefined;
158
+ } | undefined;
159
+ body?: string | undefined;
160
+ response_body?: string | undefined;
161
+ additional_bindings?: any[] | undefined;
162
+ }[] | undefined;
163
+ };
164
+ serialize(): Uint8Array;
165
+ serialize(w: pb_1.BinaryWriter): void;
166
+ static deserialize(bytes: Uint8Array | pb_1.BinaryReader): HttpRule;
167
+ serializeBinary(): Uint8Array;
168
+ static deserializeBinary(bytes: Uint8Array): HttpRule;
169
+ }
170
+ class CustomHttpPattern extends pb_1.Message {
171
+ #private;
172
+ constructor(data?: any[] | {
173
+ kind?: string;
174
+ path?: string;
175
+ });
176
+ get kind(): string;
177
+ set kind(value: string);
178
+ get path(): string;
179
+ set path(value: string);
180
+ static fromObject(data: {
181
+ kind?: string;
182
+ path?: string;
183
+ }): CustomHttpPattern;
184
+ toObject(): {
185
+ kind?: string | undefined;
186
+ path?: string | undefined;
187
+ };
188
+ serialize(): Uint8Array;
189
+ serialize(w: pb_1.BinaryWriter): void;
190
+ static deserialize(bytes: Uint8Array | pb_1.BinaryReader): CustomHttpPattern;
191
+ serializeBinary(): Uint8Array;
192
+ static deserializeBinary(bytes: Uint8Array): CustomHttpPattern;
193
+ }
194
+ }
195
+ //# sourceMappingURL=http.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../../../../../src/proto/google/api/http.ts"],"names":[],"mappings":"AAAA;;;;oDAIoD;AACpD,OAAO,KAAK,IAAI,MAAM,iBAAiB,CAAC;AACxC,yBAAiB,MAAM,CAAC,GAAG,CAAC;IACxB,MAAa,IAAK,SAAQ,IAAI,CAAC,OAAO;;oBAEtB,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG;YACvB,KAAK,CAAC,EAAE,QAAQ,EAAE,CAAC;YACnB,+BAA+B,CAAC,EAAE,OAAO,CAAC;SAC7C;QAYD,IAAI,KAAK,IAGQ,QAAQ,EAAE,CAD1B;QACD,IAAI,KAAK,CAAC,KAAK,EAAE,QAAQ,EAAE,EAE1B;QACD,IAAI,+BAA+B,IAGQ,OAAO,CADjD;QACD,IAAI,+BAA+B,CAAC,KAAK,EAAE,OAAO,EAEjD;QACD,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE;YACpB,KAAK,CAAC,EAAE,UAAU,CAAC,OAAO,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC;YACzD,+BAA+B,CAAC,EAAE,OAAO,CAAC;SAC7C,GAAG,IAAI;QAUR,QAAQ;;;;;;;;;;;;;;;;;;QAaR,SAAS,IAAI,UAAU;QACvB,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,YAAY,GAAG,IAAI;QAUrC,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI,CAAC,YAAY,GAAG,IAAI;QAiB/D,eAAe,IAAI,UAAU;QAG7B,MAAM,CAAC,iBAAiB,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;KAGpD;IACD,MAAa,QAAS,SAAQ,IAAI,CAAC,OAAO;;oBAE1B,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC;YACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;YAClB,IAAI,CAAC,EAAE,MAAM,CAAC;YACd,aAAa,CAAC,EAAE,MAAM,CAAC;YACvB,mBAAmB,CAAC,EAAE,QAAQ,EAAE,CAAC;SACpC,GAAG,CAAC,CAAC;YACF,GAAG,CAAC,EAAE,MAAM,CAAC;YACb,GAAG,CAAC,EAAE,KAAK,CAAC;YACZ,IAAI,CAAC,EAAE,KAAK,CAAC;YACb,MAAM,CAAC,EAAE,KAAK,CAAC;YACf,KAAK,CAAC,EAAE,KAAK,CAAC;YACd,MAAM,CAAC,EAAE,KAAK,CAAC;SAClB,GAAG;YACA,GAAG,CAAC,EAAE,KAAK,CAAC;YACZ,GAAG,CAAC,EAAE,MAAM,CAAC;YACb,IAAI,CAAC,EAAE,KAAK,CAAC;YACb,MAAM,CAAC,EAAE,KAAK,CAAC;YACf,KAAK,CAAC,EAAE,KAAK,CAAC;YACd,MAAM,CAAC,EAAE,KAAK,CAAC;SAClB,GAAG;YACA,GAAG,CAAC,EAAE,KAAK,CAAC;YACZ,GAAG,CAAC,EAAE,KAAK,CAAC;YACZ,IAAI,CAAC,EAAE,MAAM,CAAC;YACd,MAAM,CAAC,EAAE,KAAK,CAAC;YACf,KAAK,CAAC,EAAE,KAAK,CAAC;YACd,MAAM,CAAC,EAAE,KAAK,CAAC;SAClB,GAAG;YACA,GAAG,CAAC,EAAE,KAAK,CAAC;YACZ,GAAG,CAAC,EAAE,KAAK,CAAC;YACZ,IAAI,CAAC,EAAE,KAAK,CAAC;YACb,MAAM,CAAC,EAAE,MAAM,CAAC;YAChB,KAAK,CAAC,EAAE,KAAK,CAAC;YACd,MAAM,CAAC,EAAE,KAAK,CAAC;SAClB,GAAG;YACA,GAAG,CAAC,EAAE,KAAK,CAAC;YACZ,GAAG,CAAC,EAAE,KAAK,CAAC;YACZ,IAAI,CAAC,EAAE,KAAK,CAAC;YACb,MAAM,CAAC,EAAE,KAAK,CAAC;YACf,KAAK,CAAC,EAAE,MAAM,CAAC;YACf,MAAM,CAAC,EAAE,KAAK,CAAC;SAClB,GAAG;YACA,GAAG,CAAC,EAAE,KAAK,CAAC;YACZ,GAAG,CAAC,EAAE,KAAK,CAAC;YACZ,IAAI,CAAC,EAAE,KAAK,CAAC;YACb,MAAM,CAAC,EAAE,KAAK,CAAC;YACf,KAAK,CAAC,EAAE,KAAK,CAAC;YACd,MAAM,CAAC,EAAE,iBAAiB,CAAC;SAC9B,CAAC,CAAC,CAAC;QAoCJ,IAAI,QAAQ,IAGQ,MAAM,CADzB;QACD,IAAI,QAAQ,CAAC,KAAK,EAAE,MAAM,EAEzB;QACD,IAAI,GAAG,IAGQ,MAAM,CADpB;QACD,IAAI,GAAG,CAAC,KAAK,EAAE,MAAM,EAEpB;QACD,IAAI,OAAO,YAEV;QACD,IAAI,GAAG,IAGQ,MAAM,CADpB;QACD,IAAI,GAAG,CAAC,KAAK,EAAE,MAAM,EAEpB;QACD,IAAI,OAAO,YAEV;QACD,IAAI,IAAI,IAGQ,MAAM,CADrB;QACD,IAAI,IAAI,CAAC,KAAK,EAAE,MAAM,EAErB;QACD,IAAI,QAAQ,YAEX;QACD,IAAI,MAAM,IAGQ,MAAM,CADvB;QACD,IAAI,MAAM,CAAC,KAAK,EAAE,MAAM,EAEvB;QACD,IAAI,UAAU,YAEb;QACD,IAAI,KAAK,IAGQ,MAAM,CADtB;QACD,IAAI,KAAK,CAAC,KAAK,EAAE,MAAM,EAEtB;QACD,IAAI,SAAS,YAEZ;QACD,IAAI,MAAM,IAGQ,iBAAiB,CADlC;QACD,IAAI,MAAM,CAAC,KAAK,EAAE,iBAAiB,EAElC;QACD,IAAI,UAAU,YAEb;QACD,IAAI,IAAI,IAGQ,MAAM,CADrB;QACD,IAAI,IAAI,CAAC,KAAK,EAAE,MAAM,EAErB;QACD,IAAI,aAAa,IAGQ,MAAM,CAD9B;QACD,IAAI,aAAa,CAAC,KAAK,EAAE,MAAM,EAE9B;QACD,IAAI,mBAAmB,IAGQ,QAAQ,EAAE,CADxC;QACD,IAAI,mBAAmB,CAAC,KAAK,EAAE,QAAQ,EAAE,EAExC;QACD,IAAI,OAAO,oEAaV;QACD,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE;YACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;YAClB,GAAG,CAAC,EAAE,MAAM,CAAC;YACb,GAAG,CAAC,EAAE,MAAM,CAAC;YACb,IAAI,CAAC,EAAE,MAAM,CAAC;YACd,MAAM,CAAC,EAAE,MAAM,CAAC;YAChB,KAAK,CAAC,EAAE,MAAM,CAAC;YACf,MAAM,CAAC,EAAE,UAAU,CAAC,OAAO,iBAAiB,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;YACjE,IAAI,CAAC,EAAE,MAAM,CAAC;YACd,aAAa,CAAC,EAAE,MAAM,CAAC;YACvB,mBAAmB,CAAC,EAAE,UAAU,CAAC,OAAO,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC;SAC1E,GAAG,QAAQ;QAkCZ,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QA6CR,SAAS,IAAI,UAAU;QACvB,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,YAAY,GAAG,IAAI;QA0BrC,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI,CAAC,YAAY,GAAG,QAAQ;QAyCnE,eAAe,IAAI,UAAU;QAG7B,MAAM,CAAC,iBAAiB,CAAC,KAAK,EAAE,UAAU,GAAG,QAAQ;KAGxD;IACD,MAAa,iBAAkB,SAAQ,IAAI,CAAC,OAAO;;oBAEnC,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG;YACvB,IAAI,CAAC,EAAE,MAAM,CAAC;YACd,IAAI,CAAC,EAAE,MAAM,CAAC;SACjB;QAYD,IAAI,IAAI,IAGQ,MAAM,CADrB;QACD,IAAI,IAAI,CAAC,KAAK,EAAE,MAAM,EAErB;QACD,IAAI,IAAI,IAGQ,MAAM,CADrB;QACD,IAAI,IAAI,CAAC,KAAK,EAAE,MAAM,EAErB;QACD,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE;YACpB,IAAI,CAAC,EAAE,MAAM,CAAC;YACd,IAAI,CAAC,EAAE,MAAM,CAAC;SACjB,GAAG,iBAAiB;QAUrB,QAAQ;;;;QAaR,SAAS,IAAI,UAAU;QACvB,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,YAAY,GAAG,IAAI;QAUrC,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI,CAAC,YAAY,GAAG,iBAAiB;QAiB5E,eAAe,IAAI,UAAU;QAG7B,MAAM,CAAC,iBAAiB,CAAC,KAAK,EAAE,UAAU,GAAG,iBAAiB;KAGjE;CACJ"}