latchkey 1.0.1 → 2.1.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 (224) hide show
  1. package/README.md +66 -8
  2. package/dist/integrations/SKILL.md +15 -3
  3. package/dist/package.json +2 -2
  4. package/dist/scripts/codegen.js +1 -1
  5. package/dist/scripts/codegen.js.map +1 -1
  6. package/dist/src/apiCredentialStore.d.ts +1 -1
  7. package/dist/src/apiCredentialStore.d.ts.map +1 -1
  8. package/dist/src/apiCredentialStore.js +1 -1
  9. package/dist/src/apiCredentialStore.js.map +1 -1
  10. package/dist/src/apiCredentials.d.ts +13 -115
  11. package/dist/src/apiCredentials.d.ts.map +1 -1
  12. package/dist/src/apiCredentials.js +10 -101
  13. package/dist/src/apiCredentials.js.map +1 -1
  14. package/dist/src/apiCredentialsSerialization.d.ts +119 -0
  15. package/dist/src/apiCredentialsSerialization.d.ts.map +1 -0
  16. package/dist/src/apiCredentialsSerialization.js +90 -0
  17. package/dist/src/apiCredentialsSerialization.js.map +1 -0
  18. package/dist/src/browserConfig.d.ts +2 -33
  19. package/dist/src/browserConfig.d.ts.map +1 -1
  20. package/dist/src/browserConfig.js +6 -81
  21. package/dist/src/browserConfig.js.map +1 -1
  22. package/dist/src/cli.js +22 -0
  23. package/dist/src/cli.js.map +1 -1
  24. package/dist/src/cliCommands.d.ts +0 -1
  25. package/dist/src/cliCommands.d.ts.map +1 -1
  26. package/dist/src/cliCommands.js +148 -44
  27. package/dist/src/cliCommands.js.map +1 -1
  28. package/dist/src/config.d.ts +4 -3
  29. package/dist/src/config.d.ts.map +1 -1
  30. package/dist/src/config.js +17 -23
  31. package/dist/src/config.js.map +1 -1
  32. package/dist/src/configDataStore.d.ts +43 -0
  33. package/dist/src/configDataStore.d.ts.map +1 -0
  34. package/dist/src/configDataStore.js +108 -0
  35. package/dist/src/configDataStore.js.map +1 -0
  36. package/dist/src/curl.d.ts +10 -0
  37. package/dist/src/curl.d.ts.map +1 -1
  38. package/dist/src/curl.js +88 -0
  39. package/dist/src/curl.js.map +1 -1
  40. package/dist/src/encryptedStorage.d.ts +9 -0
  41. package/dist/src/encryptedStorage.d.ts.map +1 -1
  42. package/dist/src/encryptedStorage.js +12 -0
  43. package/dist/src/encryptedStorage.js.map +1 -1
  44. package/dist/src/index.d.ts +4 -2
  45. package/dist/src/index.d.ts.map +1 -1
  46. package/dist/src/index.js +4 -2
  47. package/dist/src/index.js.map +1 -1
  48. package/dist/src/migrations.d.ts +9 -0
  49. package/dist/src/migrations.d.ts.map +1 -0
  50. package/dist/src/migrations.js +77 -0
  51. package/dist/src/migrations.js.map +1 -0
  52. package/dist/src/oauthUtils.d.ts +4 -1
  53. package/dist/src/oauthUtils.d.ts.map +1 -1
  54. package/dist/src/oauthUtils.js +1 -1
  55. package/dist/src/oauthUtils.js.map +1 -1
  56. package/dist/src/playwrightUtils.d.ts +2 -2
  57. package/dist/src/playwrightUtils.d.ts.map +1 -1
  58. package/dist/src/playwrightUtils.js +4 -4
  59. package/dist/src/playwrightUtils.js.map +1 -1
  60. package/dist/src/registeredService.d.ts +20 -0
  61. package/dist/src/registeredService.d.ts.map +1 -0
  62. package/dist/src/registeredService.js +34 -0
  63. package/dist/src/registeredService.js.map +1 -0
  64. package/dist/src/registeredServiceStore.d.ts +24 -0
  65. package/dist/src/registeredServiceStore.d.ts.map +1 -0
  66. package/dist/src/registeredServiceStore.js +70 -0
  67. package/dist/src/registeredServiceStore.js.map +1 -0
  68. package/dist/src/registry.d.ts +11 -1
  69. package/dist/src/registry.d.ts.map +1 -1
  70. package/dist/src/registry.js +70 -6
  71. package/dist/src/registry.js.map +1 -1
  72. package/dist/src/services/aws.d.ts +44 -0
  73. package/dist/src/services/aws.d.ts.map +1 -0
  74. package/dist/src/services/aws.js +237 -0
  75. package/dist/src/services/aws.js.map +1 -0
  76. package/dist/src/services/base.d.ts +14 -0
  77. package/dist/src/services/base.d.ts.map +1 -1
  78. package/dist/src/services/base.js +23 -11
  79. package/dist/src/services/base.js.map +1 -1
  80. package/dist/src/services/calendly.d.ts +12 -0
  81. package/dist/src/services/calendly.d.ts.map +1 -0
  82. package/dist/src/services/calendly.js +18 -0
  83. package/dist/src/services/calendly.js.map +1 -0
  84. package/dist/src/services/core/base.d.ts +141 -0
  85. package/dist/src/services/core/base.d.ts.map +1 -0
  86. package/dist/src/services/core/base.js +189 -0
  87. package/dist/src/services/core/base.js.map +1 -0
  88. package/dist/src/services/core/registered.d.ts +24 -0
  89. package/dist/src/services/core/registered.d.ts.map +1 -0
  90. package/dist/src/services/core/registered.js +53 -0
  91. package/dist/src/services/core/registered.js.map +1 -0
  92. package/dist/src/services/discord.d.ts +2 -1
  93. package/dist/src/services/discord.d.ts.map +1 -1
  94. package/dist/src/services/discord.js +4 -1
  95. package/dist/src/services/discord.js.map +1 -1
  96. package/dist/src/services/dropbox.d.ts +3 -2
  97. package/dist/src/services/dropbox.d.ts.map +1 -1
  98. package/dist/src/services/dropbox.js +6 -1
  99. package/dist/src/services/dropbox.js.map +1 -1
  100. package/dist/src/services/figma.d.ts +12 -0
  101. package/dist/src/services/figma.d.ts.map +1 -0
  102. package/dist/src/services/figma.js +14 -0
  103. package/dist/src/services/figma.js.map +1 -0
  104. package/dist/src/services/github.d.ts +2 -1
  105. package/dist/src/services/github.d.ts.map +1 -1
  106. package/dist/src/services/github.js +4 -1
  107. package/dist/src/services/github.js.map +1 -1
  108. package/dist/src/services/gitlab.d.ts +12 -0
  109. package/dist/src/services/gitlab.d.ts.map +1 -0
  110. package/dist/src/services/gitlab.js +14 -0
  111. package/dist/src/services/gitlab.js.map +1 -0
  112. package/dist/src/services/google/analytics.d.ts +11 -0
  113. package/dist/src/services/google/analytics.d.ts.map +1 -0
  114. package/dist/src/services/google/analytics.js +22 -0
  115. package/dist/src/services/google/analytics.js.map +1 -0
  116. package/dist/src/services/google/base.d.ts +73 -0
  117. package/dist/src/services/google/base.d.ts.map +1 -0
  118. package/dist/src/services/google/base.js +323 -0
  119. package/dist/src/services/google/base.js.map +1 -0
  120. package/dist/src/services/google/calendar.d.ts +11 -0
  121. package/dist/src/services/google/calendar.d.ts.map +1 -0
  122. package/dist/src/services/google/calendar.js +22 -0
  123. package/dist/src/services/google/calendar.js.map +1 -0
  124. package/dist/src/services/google/directions.d.ts +14 -0
  125. package/dist/src/services/google/directions.d.ts.map +1 -0
  126. package/dist/src/services/google/directions.js +49 -0
  127. package/dist/src/services/google/directions.js.map +1 -0
  128. package/dist/src/services/google/docs.d.ts +11 -0
  129. package/dist/src/services/google/docs.d.ts.map +1 -0
  130. package/dist/src/services/google/docs.js +19 -0
  131. package/dist/src/services/google/docs.js.map +1 -0
  132. package/dist/src/services/google/drive.d.ts +11 -0
  133. package/dist/src/services/google/drive.d.ts.map +1 -0
  134. package/dist/src/services/google/drive.js +19 -0
  135. package/dist/src/services/google/drive.js.map +1 -0
  136. package/dist/src/services/google/gmail.d.ts +11 -0
  137. package/dist/src/services/google/gmail.d.ts.map +1 -0
  138. package/dist/src/services/google/gmail.js +24 -0
  139. package/dist/src/services/google/gmail.js.map +1 -0
  140. package/dist/src/services/google/maps.d.ts +39 -0
  141. package/dist/src/services/google/maps.d.ts.map +1 -0
  142. package/dist/src/services/google/maps.js +94 -0
  143. package/dist/src/services/google/maps.js.map +1 -0
  144. package/dist/src/services/google/people.d.ts +11 -0
  145. package/dist/src/services/google/people.d.ts.map +1 -0
  146. package/dist/src/services/google/people.js +22 -0
  147. package/dist/src/services/google/people.js.map +1 -0
  148. package/dist/src/services/google/sheets.d.ts +11 -0
  149. package/dist/src/services/google/sheets.d.ts.map +1 -0
  150. package/dist/src/services/google/sheets.js +19 -0
  151. package/dist/src/services/google/sheets.js.map +1 -0
  152. package/dist/src/services/googleAnalytics.d.ts +11 -0
  153. package/dist/src/services/googleAnalytics.d.ts.map +1 -0
  154. package/dist/src/services/googleAnalytics.js +18 -0
  155. package/dist/src/services/googleAnalytics.js.map +1 -0
  156. package/dist/src/services/googleMaps.d.ts +12 -0
  157. package/dist/src/services/googleMaps.d.ts.map +1 -0
  158. package/dist/src/services/googleMaps.js +17 -0
  159. package/dist/src/services/googleMaps.js.map +1 -0
  160. package/dist/src/services/index.d.ts +21 -3
  161. package/dist/src/services/index.d.ts.map +1 -1
  162. package/dist/src/services/index.js +21 -3
  163. package/dist/src/services/index.js.map +1 -1
  164. package/dist/src/services/linear.d.ts +2 -1
  165. package/dist/src/services/linear.d.ts.map +1 -1
  166. package/dist/src/services/linear.js +4 -1
  167. package/dist/src/services/linear.js.map +1 -1
  168. package/dist/src/services/mailchimp.d.ts +3 -2
  169. package/dist/src/services/mailchimp.d.ts.map +1 -1
  170. package/dist/src/services/mailchimp.js +5 -4
  171. package/dist/src/services/mailchimp.js.map +1 -1
  172. package/dist/src/services/notion.d.ts +2 -1
  173. package/dist/src/services/notion.d.ts.map +1 -1
  174. package/dist/src/services/notion.js +4 -1
  175. package/dist/src/services/notion.js.map +1 -1
  176. package/dist/src/services/sentry.d.ts +14 -0
  177. package/dist/src/services/sentry.d.ts.map +1 -0
  178. package/dist/src/services/sentry.js +43 -0
  179. package/dist/src/services/sentry.js.map +1 -0
  180. package/dist/src/services/slack.d.ts +31 -2
  181. package/dist/src/services/slack.d.ts.map +1 -1
  182. package/dist/src/services/slack.js +46 -3
  183. package/dist/src/services/slack.js.map +1 -1
  184. package/dist/src/services/stripe.d.ts +12 -0
  185. package/dist/src/services/stripe.d.ts.map +1 -0
  186. package/dist/src/services/stripe.js +14 -0
  187. package/dist/src/services/stripe.js.map +1 -0
  188. package/dist/src/services/telegram.d.ts +40 -0
  189. package/dist/src/services/telegram.d.ts.map +1 -0
  190. package/dist/src/services/telegram.js +73 -0
  191. package/dist/src/services/telegram.js.map +1 -0
  192. package/dist/src/services/yelp.d.ts +12 -0
  193. package/dist/src/services/yelp.d.ts.map +1 -0
  194. package/dist/src/services/yelp.js +16 -0
  195. package/dist/src/services/yelp.js.map +1 -0
  196. package/dist/src/services/zoom.d.ts +12 -0
  197. package/dist/src/services/zoom.d.ts.map +1 -0
  198. package/dist/src/services/zoom.js +18 -0
  199. package/dist/src/services/zoom.js.map +1 -0
  200. package/dist/tests/apiCredentialStore.test.js +2 -19
  201. package/dist/tests/apiCredentialStore.test.js.map +1 -1
  202. package/dist/tests/apiCredentials.test.js +139 -178
  203. package/dist/tests/apiCredentials.test.js.map +1 -1
  204. package/dist/tests/cli.test.js +755 -255
  205. package/dist/tests/cli.test.js.map +1 -1
  206. package/dist/tests/encryptedStorage.test.js +0 -4
  207. package/dist/tests/encryptedStorage.test.js.map +1 -1
  208. package/dist/tests/encryptedStorageKeyGeneration.test.d.ts +2 -0
  209. package/dist/tests/encryptedStorageKeyGeneration.test.d.ts.map +1 -0
  210. package/dist/tests/encryptedStorageKeyGeneration.test.js +22 -0
  211. package/dist/tests/encryptedStorageKeyGeneration.test.js.map +1 -0
  212. package/dist/tests/encryption.test.js +3 -35
  213. package/dist/tests/encryption.test.js.map +1 -1
  214. package/dist/tests/migrations.test.d.ts +2 -0
  215. package/dist/tests/migrations.test.d.ts.map +1 -0
  216. package/dist/tests/migrations.test.js +164 -0
  217. package/dist/tests/migrations.test.js.map +1 -0
  218. package/dist/tests/playwrightDownload.test.js +2 -65
  219. package/dist/tests/playwrightDownload.test.js.map +1 -1
  220. package/dist/tests/registry.test.js +147 -75
  221. package/dist/tests/registry.test.js.map +1 -1
  222. package/dist/tests/servicesAgainstRecordings.test.js +2 -2
  223. package/dist/tests/servicesAgainstRecordings.test.js.map +1 -1
  224. package/package.json +2 -2
@@ -0,0 +1,119 @@
1
+ /**
2
+ * Serialization and deserialization of API credentials.
3
+ *
4
+ * This module is separate from apiCredentials.ts to avoid circular dependencies:
5
+ * service files import base types from apiCredentials.ts, and this module imports
6
+ * from both apiCredentials.ts and service files.
7
+ */
8
+ import { z } from 'zod';
9
+ import { type ApiCredentials } from './apiCredentials.js';
10
+ /**
11
+ * Union schema for all credential types.
12
+ */
13
+ export declare const ApiCredentialsSchema: z.ZodDiscriminatedUnion<"objectType", [z.ZodObject<{
14
+ objectType: z.ZodLiteral<"authorizationBearer">;
15
+ token: z.ZodString;
16
+ }, "strip", z.ZodTypeAny, {
17
+ objectType: "authorizationBearer";
18
+ token: string;
19
+ }, {
20
+ objectType: "authorizationBearer";
21
+ token: string;
22
+ }>, z.ZodObject<{
23
+ objectType: z.ZodLiteral<"authorizationBare">;
24
+ token: z.ZodString;
25
+ }, "strip", z.ZodTypeAny, {
26
+ objectType: "authorizationBare";
27
+ token: string;
28
+ }, {
29
+ objectType: "authorizationBare";
30
+ token: string;
31
+ }>, z.ZodObject<{
32
+ objectType: z.ZodLiteral<"slack">;
33
+ token: z.ZodString;
34
+ dCookie: z.ZodString;
35
+ }, "strip", z.ZodTypeAny, {
36
+ objectType: "slack";
37
+ token: string;
38
+ dCookie: string;
39
+ }, {
40
+ objectType: "slack";
41
+ token: string;
42
+ dCookie: string;
43
+ }>, z.ZodObject<{
44
+ objectType: z.ZodLiteral<"oauth">;
45
+ accessToken: z.ZodOptional<z.ZodString>;
46
+ refreshToken: z.ZodOptional<z.ZodString>;
47
+ clientId: z.ZodString;
48
+ clientSecret: z.ZodString;
49
+ accessTokenExpiresAt: z.ZodOptional<z.ZodString>;
50
+ refreshTokenExpiresAt: z.ZodOptional<z.ZodString>;
51
+ }, "strip", z.ZodTypeAny, {
52
+ objectType: "oauth";
53
+ clientId: string;
54
+ clientSecret: string;
55
+ accessToken?: string | undefined;
56
+ refreshToken?: string | undefined;
57
+ accessTokenExpiresAt?: string | undefined;
58
+ refreshTokenExpiresAt?: string | undefined;
59
+ }, {
60
+ objectType: "oauth";
61
+ clientId: string;
62
+ clientSecret: string;
63
+ accessToken?: string | undefined;
64
+ refreshToken?: string | undefined;
65
+ accessTokenExpiresAt?: string | undefined;
66
+ refreshTokenExpiresAt?: string | undefined;
67
+ }>, z.ZodObject<{
68
+ objectType: z.ZodLiteral<"rawCurl">;
69
+ curlArguments: z.ZodArray<z.ZodString, "many">;
70
+ }, "strip", z.ZodTypeAny, {
71
+ objectType: "rawCurl";
72
+ curlArguments: string[];
73
+ }, {
74
+ objectType: "rawCurl";
75
+ curlArguments: string[];
76
+ }>, z.ZodObject<{
77
+ objectType: z.ZodLiteral<"telegramBot">;
78
+ token: z.ZodString;
79
+ }, "strip", z.ZodTypeAny, {
80
+ objectType: "telegramBot";
81
+ token: string;
82
+ }, {
83
+ objectType: "telegramBot";
84
+ token: string;
85
+ }>, z.ZodObject<{
86
+ objectType: z.ZodLiteral<"aws">;
87
+ accessKeyId: z.ZodString;
88
+ secretAccessKey: z.ZodString;
89
+ }, "strip", z.ZodTypeAny, {
90
+ objectType: "aws";
91
+ accessKeyId: string;
92
+ secretAccessKey: string;
93
+ }, {
94
+ objectType: "aws";
95
+ accessKeyId: string;
96
+ secretAccessKey: string;
97
+ }>, z.ZodObject<{
98
+ objectType: z.ZodLiteral<"googleApiKey">;
99
+ apiKey: z.ZodString;
100
+ }, "strip", z.ZodTypeAny, {
101
+ objectType: "googleApiKey";
102
+ apiKey: string;
103
+ }, {
104
+ objectType: "googleApiKey";
105
+ apiKey: string;
106
+ }>]>;
107
+ export type ApiCredentialsData = z.infer<typeof ApiCredentialsSchema>;
108
+ /**
109
+ * Deserialize credentials from JSON data.
110
+ */
111
+ export declare function deserializeCredentials(data: ApiCredentialsData): ApiCredentials;
112
+ /**
113
+ * Serialize credentials to JSON data.
114
+ */
115
+ export declare function serializeCredentials(credentials: ApiCredentials): ApiCredentialsData;
116
+ export declare class ApiCredentialsSerializationError extends Error {
117
+ constructor(message: string);
118
+ }
119
+ //# sourceMappingURL=apiCredentialsSerialization.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"apiCredentialsSerialization.d.ts","sourceRoot":"","sources":["../../src/apiCredentialsSerialization.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EACL,KAAK,cAAc,EASpB,MAAM,qBAAqB,CAAC;AAM7B;;GAEG;AACH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAS/B,CAAC;AAEH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAEtE;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,kBAAkB,GAAG,cAAc,CAyB/E;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,cAAc,GAAG,kBAAkB,CA0BpF;AAED,qBAAa,gCAAiC,SAAQ,KAAK;gBAC7C,OAAO,EAAE,MAAM;CAI5B"}
@@ -0,0 +1,90 @@
1
+ /**
2
+ * Serialization and deserialization of API credentials.
3
+ *
4
+ * This module is separate from apiCredentials.ts to avoid circular dependencies:
5
+ * service files import base types from apiCredentials.ts, and this module imports
6
+ * from both apiCredentials.ts and service files.
7
+ */
8
+ import { z } from 'zod';
9
+ import { AuthorizationBare, AuthorizationBareSchema, AuthorizationBearer, AuthorizationBearerSchema, OAuthCredentials, OAuthCredentialsSchema, RawCurlCredentials, RawCurlCredentialsSchema, } from './apiCredentials.js';
10
+ import { AwsCredentials, AwsCredentialsSchema } from './services/aws.js';
11
+ import { GoogleApiKeyCredentials, GoogleApiKeyCredentialsSchema } from './services/google/base.js';
12
+ import { SlackApiCredentials, SlackApiCredentialsSchema } from './services/slack.js';
13
+ import { TelegramBotCredentials, TelegramBotCredentialsSchema } from './services/telegram.js';
14
+ /**
15
+ * Union schema for all credential types.
16
+ */
17
+ export const ApiCredentialsSchema = z.discriminatedUnion('objectType', [
18
+ AuthorizationBearerSchema,
19
+ AuthorizationBareSchema,
20
+ SlackApiCredentialsSchema,
21
+ OAuthCredentialsSchema,
22
+ RawCurlCredentialsSchema,
23
+ TelegramBotCredentialsSchema,
24
+ AwsCredentialsSchema,
25
+ GoogleApiKeyCredentialsSchema,
26
+ ]);
27
+ /**
28
+ * Deserialize credentials from JSON data.
29
+ */
30
+ export function deserializeCredentials(data) {
31
+ switch (data.objectType) {
32
+ case 'authorizationBearer':
33
+ return AuthorizationBearer.fromJSON(data);
34
+ case 'authorizationBare':
35
+ return AuthorizationBare.fromJSON(data);
36
+ case 'slack':
37
+ return SlackApiCredentials.fromJSON(data);
38
+ case 'oauth':
39
+ return OAuthCredentials.fromJSON(data);
40
+ case 'rawCurl':
41
+ return RawCurlCredentials.fromJSON(data);
42
+ case 'telegramBot':
43
+ return TelegramBotCredentials.fromJSON(data);
44
+ case 'aws':
45
+ return AwsCredentials.fromJSON(data);
46
+ case 'googleApiKey':
47
+ return GoogleApiKeyCredentials.fromJSON(data);
48
+ default: {
49
+ const exhaustiveCheck = data;
50
+ throw new ApiCredentialsSerializationError(`Unknown credential type: ${exhaustiveCheck.objectType}`);
51
+ }
52
+ }
53
+ }
54
+ /**
55
+ * Serialize credentials to JSON data.
56
+ */
57
+ export function serializeCredentials(credentials) {
58
+ if (credentials instanceof AuthorizationBearer) {
59
+ return credentials.toJSON();
60
+ }
61
+ if (credentials instanceof AuthorizationBare) {
62
+ return credentials.toJSON();
63
+ }
64
+ if (credentials instanceof SlackApiCredentials) {
65
+ return credentials.toJSON();
66
+ }
67
+ if (credentials instanceof OAuthCredentials) {
68
+ return credentials.toJSON();
69
+ }
70
+ if (credentials instanceof RawCurlCredentials) {
71
+ return credentials.toJSON();
72
+ }
73
+ if (credentials instanceof TelegramBotCredentials) {
74
+ return credentials.toJSON();
75
+ }
76
+ if (credentials instanceof AwsCredentials) {
77
+ return credentials.toJSON();
78
+ }
79
+ if (credentials instanceof GoogleApiKeyCredentials) {
80
+ return credentials.toJSON();
81
+ }
82
+ throw new ApiCredentialsSerializationError(`Unknown credential type: ${credentials.objectType}`);
83
+ }
84
+ export class ApiCredentialsSerializationError extends Error {
85
+ constructor(message) {
86
+ super(message);
87
+ this.name = 'ApiCredentialsSerializationError';
88
+ }
89
+ }
90
+ //# sourceMappingURL=apiCredentialsSerialization.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"apiCredentialsSerialization.js","sourceRoot":"","sources":["../../src/apiCredentialsSerialization.ts"],"names":[],"mappings":"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"}
@@ -7,7 +7,7 @@
7
7
  * - Downloading Chromium via Playwright when needed
8
8
  * - Persisting the discovered browser path
9
9
  */
10
- import { z } from 'zod';
10
+ import { type BrowserConfig } from './configDataStore.js';
11
11
  /**
12
12
  * Browser sources that can be used for discovery.
13
13
  */
@@ -17,33 +17,12 @@ export type BrowserSource = (typeof BROWSER_SOURCES)[number];
17
17
  * Default order for browser source discovery.
18
18
  */
19
19
  export declare const DEFAULT_BROWSER_SOURCES: readonly BrowserSource[];
20
- /**
21
- * Schema for the browser configuration.
22
- */
23
- declare const BrowserConfigSchema: z.ZodObject<{
24
- executablePath: z.ZodString;
25
- source: z.ZodEnum<["system", "playwright", "downloaded"]>;
26
- discoveredAt: z.ZodString;
27
- }, "strip", z.ZodTypeAny, {
28
- executablePath: string;
29
- source: "system" | "playwright" | "downloaded";
30
- discoveredAt: string;
31
- }, {
32
- executablePath: string;
33
- source: "system" | "playwright" | "downloaded";
34
- discoveredAt: string;
35
- }>;
36
- export type BrowserConfig = z.infer<typeof BrowserConfigSchema>;
37
20
  export declare class BrowserNotFoundError extends Error {
38
21
  constructor(message: string);
39
22
  }
40
23
  export declare class BrowserConfigError extends Error {
41
24
  constructor(message: string);
42
25
  }
43
- /**
44
- * Get the default path for the configuration file.
45
- */
46
- export declare function getDefaultConfigPath(): string;
47
26
  /**
48
27
  * Find a system-installed Chrome/Chromium browser.
49
28
  * Returns the path to the executable if found, null otherwise.
@@ -72,22 +51,12 @@ export declare function discoverBrowserFromSources(sources: readonly BrowserSour
72
51
  config: BrowserConfig;
73
52
  source: BrowserSource;
74
53
  }>;
75
- /**
76
- * Save browser configuration to disk.
77
- */
78
- export declare function saveBrowserConfig(configPath: string, config: BrowserConfig): void;
79
- /**
80
- * Load browser configuration from disk.
81
- * Returns null if the file doesn't exist or is invalid.
82
- */
83
- export declare function loadBrowserConfig(configPath: string): BrowserConfig | null;
84
54
  /**
85
55
  * Ensure a browser is available and return its configuration.
86
56
  * Tries sources in the specified order, saves the result to the config file.
87
57
  */
88
- export declare function ensureBrowser(configPath?: string, sources?: readonly BrowserSource[]): Promise<{
58
+ export declare function ensureBrowser(configPath: string, sources?: readonly BrowserSource[]): Promise<{
89
59
  config: BrowserConfig;
90
60
  source: BrowserSource;
91
61
  }>;
92
- export {};
93
62
  //# sourceMappingURL=browserConfig.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"browserConfig.d.ts","sourceRoot":"","sources":["../../src/browserConfig.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAMH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB;;GAEG;AACH,eAAO,MAAM,eAAe,8GAKlB,CAAC;AAEX,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC;AAE7D;;GAEG;AACH,eAAO,MAAM,uBAAuB,EAAE,SAAS,aAAa,EAK3D,CAAC;AAEF;;GAEG;AACH,QAAA,MAAM,mBAAmB;;;;;;;;;;;;EAIvB,CAAC;AAEH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAShE,qBAAa,oBAAqB,SAAQ,KAAK;gBACjC,OAAO,EAAE,MAAM;CAI5B;AAED,qBAAa,kBAAmB,SAAQ,KAAK;gBAC/B,OAAO,EAAE,MAAM;CAI5B;AAED;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,MAAM,CAE7C;AAyDD;;;GAGG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,GAAG,IAAI,CA2BjD;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,IAAI,MAAM,GAAG,IAAI,CAMrD;AAED;;;;;;;;GAQG;AACH,wBAAsB,yBAAyB,IAAI,OAAO,CAAC,MAAM,CAAC,CAEjE;AA8CD;;;GAGG;AACH,wBAAsB,0BAA0B,CAC9C,OAAO,EAAE,SAAS,aAAa,EAAE,EACjC,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC;IAAE,MAAM,EAAE,aAAa,CAAC;IAAC,MAAM,EAAE,aAAa,CAAA;CAAE,CAAC,CAS3D;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,GAAG,IAAI,CAoBjF;AA+BD;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI,CAE1E;AAED;;;GAGG;AACH,wBAAsB,aAAa,CACjC,UAAU,GAAE,MAA+B,EAC3C,OAAO,GAAE,SAAS,aAAa,EAA4B,GAC1D,OAAO,CAAC;IAAE,MAAM,EAAE,aAAa,CAAC;IAAC,MAAM,EAAE,aAAa,CAAA;CAAE,CAAC,CAS3D"}
1
+ {"version":3,"file":"browserConfig.d.ts","sourceRoot":"","sources":["../../src/browserConfig.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAMH,OAAO,EAAwC,KAAK,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAGhG;;GAEG;AACH,eAAO,MAAM,eAAe,8GAKlB,CAAC;AAEX,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC;AAE7D;;GAEG;AACH,eAAO,MAAM,uBAAuB,EAAE,SAAS,aAAa,EAK3D,CAAC;AAEF,qBAAa,oBAAqB,SAAQ,KAAK;gBACjC,OAAO,EAAE,MAAM;CAI5B;AAED,qBAAa,kBAAmB,SAAQ,KAAK;gBAC/B,OAAO,EAAE,MAAM;CAI5B;AAyDD;;;GAGG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,GAAG,IAAI,CA2BjD;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,IAAI,MAAM,GAAG,IAAI,CAMrD;AAED;;;;;;;;GAQG;AACH,wBAAsB,yBAAyB,IAAI,OAAO,CAAC,MAAM,CAAC,CAEjE;AA8CD;;;GAGG;AACH,wBAAsB,0BAA0B,CAC9C,OAAO,EAAE,SAAS,aAAa,EAAE,EACjC,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC;IAAE,MAAM,EAAE,aAAa,CAAC;IAAC,MAAM,EAAE,aAAa,CAAA;CAAE,CAAC,CAS3D;AAED;;;GAGG;AACH,wBAAsB,aAAa,CACjC,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE,SAAS,aAAa,EAA4B,GAC1D,OAAO,CAAC;IAAE,MAAM,EAAE,aAAa,CAAC;IAAC,MAAM,EAAE,aAAa,CAAA;CAAE,CAAC,CAS3D"}
@@ -7,11 +7,11 @@
7
7
  * - Downloading Chromium via Playwright when needed
8
8
  * - Persisting the discovered browser path
9
9
  */
10
- import { existsSync, mkdirSync, readFileSync, writeFileSync } from 'node:fs';
11
- import { homedir, platform } from 'node:os';
12
- import { dirname, join } from 'node:path';
10
+ import { existsSync } from 'node:fs';
11
+ import { platform } from 'node:os';
12
+ import { join } from 'node:path';
13
13
  import { chromium } from 'playwright';
14
- import { z } from 'zod';
14
+ import { loadBrowserConfig, saveBrowserConfig } from './configDataStore.js';
15
15
  import { downloadChromium } from './playwrightDownload.js';
16
16
  /**
17
17
  * Browser sources that can be used for discovery.
@@ -31,20 +31,6 @@ export const DEFAULT_BROWSER_SOURCES = [
31
31
  'existing-playwright-browser',
32
32
  'download-playwright-browser',
33
33
  ];
34
- /**
35
- * Schema for the browser configuration.
36
- */
37
- const BrowserConfigSchema = z.object({
38
- executablePath: z.string(),
39
- source: z.enum(['system', 'playwright', 'downloaded']),
40
- discoveredAt: z.string().datetime(),
41
- });
42
- /**
43
- * Schema for the top-level configuration file.
44
- */
45
- const ConfigFileSchema = z.object({
46
- browser: BrowserConfigSchema.optional(),
47
- });
48
34
  export class BrowserNotFoundError extends Error {
49
35
  constructor(message) {
50
36
  super(message);
@@ -57,12 +43,6 @@ export class BrowserConfigError extends Error {
57
43
  this.name = 'BrowserConfigError';
58
44
  }
59
45
  }
60
- /**
61
- * Get the default path for the configuration file.
62
- */
63
- export function getDefaultConfigPath() {
64
- return join(homedir(), '.latchkey', 'config.json');
65
- }
66
46
  /**
67
47
  * System Chrome/Chromium/Edge installation paths by platform.
68
48
  * These are the standard locations where browsers are installed.
@@ -173,7 +153,7 @@ export async function downloadPlaywrightBrowser() {
173
153
  async function tryBrowserSource(source, configPath) {
174
154
  switch (source) {
175
155
  case 'existing-config': {
176
- return loadBrowserConfigInternal(configPath);
156
+ return loadBrowserConfig(configPath);
177
157
  }
178
158
  case 'system-browser': {
179
159
  const systemPath = findSystemBrowser();
@@ -220,66 +200,11 @@ export async function discoverBrowserFromSources(sources, configPath) {
220
200
  }
221
201
  throw new BrowserNotFoundError(`No browser found after trying sources: ${sources.join(', ')}`);
222
202
  }
223
- /**
224
- * Save browser configuration to disk.
225
- */
226
- export function saveBrowserConfig(configPath, config) {
227
- const directory = dirname(configPath);
228
- if (!existsSync(directory)) {
229
- mkdirSync(directory, { recursive: true, mode: 0o700 });
230
- }
231
- // Load existing config file if it exists, to preserve other settings
232
- let existingConfig = {};
233
- if (existsSync(configPath)) {
234
- try {
235
- const existingContent = readFileSync(configPath, 'utf-8');
236
- existingConfig = JSON.parse(existingContent);
237
- }
238
- catch {
239
- // Ignore parse errors, start fresh
240
- }
241
- }
242
- const newConfig = { ...existingConfig, browser: config };
243
- const content = JSON.stringify(newConfig, null, 2);
244
- writeFileSync(configPath, content, { encoding: 'utf-8', mode: 0o600 });
245
- }
246
- /**
247
- * Internal function to load browser configuration from disk.
248
- * Returns null if the file doesn't exist, is invalid, or the browser no longer exists.
249
- */
250
- function loadBrowserConfigInternal(configPath) {
251
- if (!existsSync(configPath)) {
252
- return null;
253
- }
254
- try {
255
- const content = readFileSync(configPath, 'utf-8');
256
- const data = JSON.parse(content);
257
- const configFile = ConfigFileSchema.parse(data);
258
- if (!configFile.browser) {
259
- return null;
260
- }
261
- // Verify the browser still exists
262
- if (!existsSync(configFile.browser.executablePath)) {
263
- return null;
264
- }
265
- return configFile.browser;
266
- }
267
- catch {
268
- return null;
269
- }
270
- }
271
- /**
272
- * Load browser configuration from disk.
273
- * Returns null if the file doesn't exist or is invalid.
274
- */
275
- export function loadBrowserConfig(configPath) {
276
- return loadBrowserConfigInternal(configPath);
277
- }
278
203
  /**
279
204
  * Ensure a browser is available and return its configuration.
280
205
  * Tries sources in the specified order, saves the result to the config file.
281
206
  */
282
- export async function ensureBrowser(configPath = getDefaultConfigPath(), sources = DEFAULT_BROWSER_SOURCES) {
207
+ export async function ensureBrowser(configPath, sources = DEFAULT_BROWSER_SOURCES) {
283
208
  const result = await discoverBrowserFromSources(sources, configPath);
284
209
  // Save to config file unless we just loaded from existing config
285
210
  if (result.source !== 'existing-config') {
@@ -1 +1 @@
1
- {"version":3,"file":"browserConfig.js","sourceRoot":"","sources":["../../src/browserConfig.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"browserConfig.js","sourceRoot":"","sources":["../../src/browserConfig.ts"],"names":[],"mappings":"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"}
package/dist/src/cli.js CHANGED
@@ -2,9 +2,13 @@
2
2
  /**
3
3
  * Command-line interface entry point for latchkey.
4
4
  */
5
+ import { existsSync } from 'node:fs';
5
6
  import { program } from 'commander';
6
7
  import { registerCommands, createDefaultDependencies } from './cliCommands.js';
7
8
  import { CurlNotFoundError, InsecureFilePermissionsError } from './config.js';
9
+ import { EncryptedStorage, EncryptionKeyLostError } from './encryptedStorage.js';
10
+ import { MigrationError, runMigrations } from './migrations.js';
11
+ import { loadRegisteredServicesIntoRegistry } from './registry.js';
8
12
  import packageJson from '../package.json' with { type: 'json' };
9
13
  const deps = createDefaultDependencies();
10
14
  try {
@@ -18,6 +22,24 @@ catch (error) {
18
22
  }
19
23
  throw error;
20
24
  }
25
+ const hasEncryptedData = existsSync(deps.config.credentialStorePath) || existsSync(deps.config.browserStatePath);
26
+ try {
27
+ const encryptedStorage = new EncryptedStorage({
28
+ encryptionKeyOverride: deps.config.encryptionKeyOverride,
29
+ serviceName: deps.config.serviceName,
30
+ accountName: deps.config.accountName,
31
+ allowKeyGeneration: !hasEncryptedData,
32
+ });
33
+ runMigrations(deps.config, encryptedStorage);
34
+ }
35
+ catch (error) {
36
+ if (error instanceof EncryptionKeyLostError || error instanceof MigrationError) {
37
+ console.error(`Error: ${error.message}`);
38
+ process.exit(1);
39
+ }
40
+ throw error;
41
+ }
42
+ loadRegisteredServicesIntoRegistry(deps.config.configPath, deps.registry);
21
43
  program
22
44
  .name('latchkey')
23
45
  .description('A command-line tool that injects API credentials to curl requests to known public APIs.')
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":";AAEA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,gBAAgB,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAC/E,OAAO,EAAE,iBAAiB,EAAE,4BAA4B,EAAE,MAAM,aAAa,CAAC;AAC9E,OAAO,WAAW,MAAM,iBAAiB,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AAEhE,MAAM,IAAI,GAAG,yBAAyB,EAAE,CAAC;AAEzC,IAAI,CAAC;IACH,IAAI,CAAC,MAAM,CAAC,6BAA6B,EAAE,CAAC;IAC5C,IAAI,CAAC,MAAM,CAAC,wBAAwB,EAAE,CAAC;AACzC,CAAC;AAAC,OAAO,KAAK,EAAE,CAAC;IACf,IAAI,KAAK,YAAY,4BAA4B,IAAI,KAAK,YAAY,iBAAiB,EAAE,CAAC;QACxF,OAAO,CAAC,KAAK,CAAC,UAAU,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QACzC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,MAAM,KAAK,CAAC;AACd,CAAC;AAED,OAAO;KACJ,IAAI,CAAC,UAAU,CAAC;KAChB,WAAW,CACV,yFAAyF,CAC1F;KACA,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;AAEhC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;AAEhC,OAAO,CAAC,KAAK,EAAE,CAAC"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":";AAEA;;GAEG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,gBAAgB,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAC/E,OAAO,EAAE,iBAAiB,EAAE,4BAA4B,EAAE,MAAM,aAAa,CAAC;AAC9E,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AACjF,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChE,OAAO,EAAE,kCAAkC,EAAE,MAAM,eAAe,CAAC;AACnE,OAAO,WAAW,MAAM,iBAAiB,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AAEhE,MAAM,IAAI,GAAG,yBAAyB,EAAE,CAAC;AAEzC,IAAI,CAAC;IACH,IAAI,CAAC,MAAM,CAAC,6BAA6B,EAAE,CAAC;IAC5C,IAAI,CAAC,MAAM,CAAC,wBAAwB,EAAE,CAAC;AACzC,CAAC;AAAC,OAAO,KAAK,EAAE,CAAC;IACf,IAAI,KAAK,YAAY,4BAA4B,IAAI,KAAK,YAAY,iBAAiB,EAAE,CAAC;QACxF,OAAO,CAAC,KAAK,CAAC,UAAU,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QACzC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,MAAM,KAAK,CAAC;AACd,CAAC;AAED,MAAM,gBAAgB,GACpB,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;AAE1F,IAAI,CAAC;IACH,MAAM,gBAAgB,GAAG,IAAI,gBAAgB,CAAC;QAC5C,qBAAqB,EAAE,IAAI,CAAC,MAAM,CAAC,qBAAqB;QACxD,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW;QACpC,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW;QACpC,kBAAkB,EAAE,CAAC,gBAAgB;KACtC,CAAC,CAAC;IACH,aAAa,CAAC,IAAI,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;AAC/C,CAAC;AAAC,OAAO,KAAK,EAAE,CAAC;IACf,IAAI,KAAK,YAAY,sBAAsB,IAAI,KAAK,YAAY,cAAc,EAAE,CAAC;QAC/E,OAAO,CAAC,KAAK,CAAC,UAAU,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QACzC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,MAAM,KAAK,CAAC;AACd,CAAC;AAED,kCAAkC,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;AAE1E,OAAO;KACJ,IAAI,CAAC,UAAU,CAAC;KAChB,WAAW,CACV,yFAAyF,CAC1F;KACA,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;AAEhC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;AAEhC,OAAO,CAAC,KAAK,EAAE,CAAC"}
@@ -21,7 +21,6 @@ export interface CliDependencies {
21
21
  * Default implementation of CLI dependencies.
22
22
  */
23
23
  export declare function createDefaultDependencies(): CliDependencies;
24
- export declare function extractUrlFromCurlArguments(args: string[]): string | null;
25
24
  /**
26
25
  * Register all CLI commands on the given program.
27
26
  */
@@ -1 +1 @@
1
- {"version":3,"file":"cliCommands.d.ts","sourceRoot":"","sources":["../../src/cliCommands.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAazC,OAAO,EAAE,MAAM,EAAU,MAAM,aAAa,CAAC;AAE7C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAE5C,OAAO,EAAE,QAAQ,EAAY,MAAM,eAAe,CAAC;AAwCnD;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,KAAK,UAAU,CAAC;IAC1D,QAAQ,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACxD,QAAQ,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,KAAK,CAAC;IACvC,QAAQ,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,QAAQ,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CAC9C;AAED;;GAEG;AACH,wBAAgB,yBAAyB,IAAI,eAAe,CAc3D;AAMD,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,GAAG,IAAI,CAyBzE;AAsHD;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,eAAe,GAAG,IAAI,CA6V9E"}
1
+ {"version":3,"file":"cliCommands.d.ts","sourceRoot":"","sources":["../../src/cliCommands.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAYzC,OAAO,EAAE,MAAM,EAAU,MAAM,aAAa,CAAC;AAO7C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAE5C,OAAO,EAGL,QAAQ,EAGT,MAAM,eAAe,CAAC;AA2CvB;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,KAAK,UAAU,CAAC;IAC1D,QAAQ,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACxD,QAAQ,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,KAAK,CAAC;IACvC,QAAQ,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,QAAQ,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CAC9C;AAED;;GAEG;AACH,wBAAgB,yBAAyB,IAAI,eAAe,CAc3D;AAyHD;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,eAAe,GAAG,IAAI,CAmhB9E"}