latchkey 3.8.0 → 3.10.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.
- package/README.md +3 -3
- package/dist/scripts/recordBrowserSession.js +4 -3
- package/dist/scripts/recordBrowserSession.js.map +1 -1
- package/dist/src/apiCredentials/base.d.ts +7 -1
- package/dist/src/apiCredentials/base.d.ts.map +1 -1
- package/dist/src/apiCredentials/base.js.map +1 -1
- package/dist/src/apiCredentials/store.d.ts +5 -0
- package/dist/src/apiCredentials/store.d.ts.map +1 -1
- package/dist/src/apiCredentials/store.js +7 -0
- package/dist/src/apiCredentials/store.js.map +1 -1
- package/dist/src/atomicWrite.d.ts +4 -1
- package/dist/src/atomicWrite.d.ts.map +1 -1
- package/dist/src/atomicWrite.js +34 -3
- package/dist/src/atomicWrite.js.map +1 -1
- package/dist/src/cli.js +0 -3
- package/dist/src/cli.js.map +1 -1
- package/dist/src/cliCommands.d.ts +8 -0
- package/dist/src/cliCommands.d.ts.map +1 -1
- package/dist/src/cliCommands.js +110 -17
- package/dist/src/cliCommands.js.map +1 -1
- package/dist/src/curl.d.ts +36 -0
- package/dist/src/curl.d.ts.map +1 -1
- package/dist/src/curl.js +42 -0
- package/dist/src/curl.js.map +1 -1
- package/dist/src/curlInjection.d.ts +5 -4
- package/dist/src/curlInjection.d.ts.map +1 -1
- package/dist/src/curlInjection.js +8 -7
- package/dist/src/curlInjection.js.map +1 -1
- package/dist/src/gateway/gatewayEndpoint.d.ts.map +1 -1
- package/dist/src/gateway/gatewayEndpoint.js +6 -3
- package/dist/src/gateway/gatewayEndpoint.js.map +1 -1
- package/dist/src/gateway/server.d.ts.map +1 -1
- package/dist/src/gateway/server.js +14 -3
- package/dist/src/gateway/server.js.map +1 -1
- package/dist/src/index.d.ts +1 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +1 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/migrations.d.ts +6 -0
- package/dist/src/migrations.d.ts.map +1 -1
- package/dist/src/migrations.js +21 -8
- package/dist/src/migrations.js.map +1 -1
- package/dist/src/serviceRegistry.d.ts +14 -1
- package/dist/src/serviceRegistry.d.ts.map +1 -1
- package/dist/src/serviceRegistry.js +22 -2
- package/dist/src/serviceRegistry.js.map +1 -1
- package/dist/src/services/aws.d.ts +11 -2
- package/dist/src/services/aws.d.ts.map +1 -1
- package/dist/src/services/aws.js +72 -5
- package/dist/src/services/aws.js.map +1 -1
- package/dist/src/services/core/loginFlows/registry.d.ts.map +1 -1
- package/dist/src/services/core/loginFlows/registry.js +11 -6
- package/dist/src/services/core/loginFlows/registry.js.map +1 -1
- package/dist/src/services/core/loginFlows/tokenCapture.d.ts +74 -0
- package/dist/src/services/core/loginFlows/tokenCapture.d.ts.map +1 -0
- package/dist/src/services/core/loginFlows/tokenCapture.js +201 -0
- package/dist/src/services/core/loginFlows/tokenCapture.js.map +1 -0
- package/dist/src/services/index.d.ts +1 -0
- package/dist/src/services/index.d.ts.map +1 -1
- package/dist/src/services/index.js +1 -0
- package/dist/src/services/index.js.map +1 -1
- package/dist/src/version.d.ts +1 -1
- package/dist/src/version.d.ts.map +1 -1
- package/dist/src/version.js +1 -1
- package/dist/src/version.js.map +1 -1
- package/dist/tests/apiCredentialStore.test.js +8 -0
- package/dist/tests/apiCredentialStore.test.js.map +1 -1
- package/dist/tests/apiCredentials.test.js +84 -1
- package/dist/tests/apiCredentials.test.js.map +1 -1
- package/dist/tests/atomicWrite.test.js +42 -1
- package/dist/tests/atomicWrite.test.js.map +1 -1
- package/dist/tests/builtinServiceRegistry.d.ts +10 -0
- package/dist/tests/builtinServiceRegistry.d.ts.map +1 -0
- package/dist/tests/builtinServiceRegistry.js +10 -0
- package/dist/tests/builtinServiceRegistry.js.map +1 -0
- package/dist/tests/cli.test.js +273 -7
- package/dist/tests/cli.test.js.map +1 -1
- package/dist/tests/devShim.test.d.ts +2 -0
- package/dist/tests/devShim.test.d.ts.map +1 -0
- package/dist/tests/devShim.test.js +240 -0
- package/dist/tests/devShim.test.js.map +1 -0
- package/dist/tests/gateway.test.js +87 -2
- package/dist/tests/gateway.test.js.map +1 -1
- package/dist/tests/gatewayExtensions.test.js +2 -0
- package/dist/tests/gatewayExtensions.test.js.map +1 -1
- package/dist/tests/github.test.js +2 -2
- package/dist/tests/github.test.js.map +1 -1
- package/dist/tests/huggingface.test.js +2 -2
- package/dist/tests/huggingface.test.js.map +1 -1
- package/dist/tests/latchkeyEndpoint.test.js +9 -5
- package/dist/tests/latchkeyEndpoint.test.js.map +1 -1
- package/dist/tests/manualCredentialForms.test.js +2 -2
- package/dist/tests/manualCredentialForms.test.js.map +1 -1
- package/dist/tests/serviceRegistry.test.js +104 -20
- package/dist/tests/serviceRegistry.test.js.map +1 -1
- package/dist/tests/servicesAgainstRecordings.test.js +2 -2
- package/dist/tests/servicesAgainstRecordings.test.js.map +1 -1
- package/dist/tests/tailscale.test.js +2 -2
- package/dist/tests/tailscale.test.js.map +1 -1
- package/dist/tests/tokenCapture.test.d.ts +10 -0
- package/dist/tests/tokenCapture.test.d.ts.map +1 -0
- package/dist/tests/tokenCapture.test.js +136 -0
- package/dist/tests/tokenCapture.test.js.map +1 -0
- package/package.json +5 -2
package/dist/src/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EACL,cAAc,EACd,mBAAmB,EACnB,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AACjG,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAE1D,OAAO,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAExF,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,4BAA4B,EAAE,MAAM,aAAa,CAAC;AAE3E,OAAO,EACL,OAAO,EACP,OAAO,EACP,WAAW,EACX,oBAAoB,EACpB,eAAe,EACf,eAAe,EACf,kBAAkB,EAClB,sBAAsB,EACtB,6BAA6B,GAC9B,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAEhF,OAAO,EACL,eAAe,EACf,oBAAoB,EACpB,kBAAkB,EAClB,aAAa,EACb,yBAAyB,EACzB,oBAAoB,GACrB,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,GAAG,IAAI,OAAO,EACd,gBAAgB,IAAI,oBAAoB,EACxC,mBAAmB,EACnB,qBAAqB,EACrB,wBAAwB,EACxB,0BAA0B,GAC3B,MAAM,WAAW,CAAC;AAEnB,OAAO,EACL,aAAa,EACb,oBAAoB,EACpB,6BAA6B,GAC9B,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EACL,OAAO,EACP,cAAc,EACd,oBAAoB,EACpB,6BAA6B,EAC7B,YAAY,EACZ,2BAA2B,EAC3B,KAAK,WAAW,EAChB,mBAAmB,EACnB,gBAAgB,EAChB,KAAK,EACL,KAAK,EACL,OAAO,EACP,OAAO,EACP,MAAM,EACN,MAAM,EACN,OAAO,EACP,OAAO,EACP,MAAM,EACN,MAAM,GACP,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EAAE,eAAe,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EACL,cAAc,EACd,mBAAmB,EACnB,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AACjG,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAE1D,OAAO,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAExF,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,4BAA4B,EAAE,MAAM,aAAa,CAAC;AAE3E,OAAO,EACL,OAAO,EACP,OAAO,EACP,WAAW,EACX,oBAAoB,EACpB,eAAe,EACf,eAAe,EACf,kBAAkB,EAClB,sBAAsB,EACtB,6BAA6B,GAC9B,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAEhF,OAAO,EACL,eAAe,EACf,oBAAoB,EACpB,kBAAkB,EAClB,aAAa,EACb,yBAAyB,EACzB,oBAAoB,GACrB,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,GAAG,IAAI,OAAO,EACd,gBAAgB,IAAI,oBAAoB,EACxC,mBAAmB,EACnB,qBAAqB,EACrB,wBAAwB,EACxB,0BAA0B,GAC3B,MAAM,WAAW,CAAC;AAEnB,OAAO,EACL,aAAa,EACb,oBAAoB,EACpB,6BAA6B,GAC9B,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EACL,OAAO,EACP,cAAc,EACd,oBAAoB,EACpB,6BAA6B,EAC7B,YAAY,EACZ,2BAA2B,EAC3B,KAAK,WAAW,EAChB,mBAAmB,EACnB,gBAAgB,EAChB,KAAK,EACL,KAAK,EACL,OAAO,EACP,OAAO,EACP,MAAM,EACN,MAAM,EACN,OAAO,EACP,OAAO,EACP,MAAM,EACN,MAAM,GACP,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC"}
|
package/dist/src/index.js
CHANGED
|
@@ -15,5 +15,5 @@ export { typeLikeHuman, BrowserDisabledError, BrowserFlowsNotSupportedError, } f
|
|
|
15
15
|
// Services
|
|
16
16
|
export { Service, ServiceSession, SimpleServiceSession, BrowserFollowupServiceSession, FollowupWork, buildFollowupSpinnerDetails, LoginCancelledError, LoginFailedError, Slack, SLACK, Discord, DISCORD, Github, GITHUB, Dropbox, DROPBOX, Linear, LINEAR, } from './services/index.js';
|
|
17
17
|
// ServiceRegistry
|
|
18
|
-
export { ServiceRegistry
|
|
18
|
+
export { ServiceRegistry } from './serviceRegistry.js';
|
|
19
19
|
//# sourceMappingURL=index.js.map
|
package/dist/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,2BAA2B;AAC3B,OAAO,EAEL,mBAAmB,EACnB,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AACjG,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAE1D,OAAO,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAExF,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,4BAA4B,EAAE,MAAM,aAAa,CAAC;AAE3E,OAAO,EACL,OAAO,EACP,OAAO,EACP,WAAW,EACX,oBAAoB,EACpB,eAAe,EACf,eAAe,EACf,kBAAkB,EAClB,sBAAsB,EACtB,6BAA6B,GAC9B,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAEhF,OAAO,EACL,eAAe,EACf,oBAAoB,EACpB,kBAAkB,EAClB,aAAa,EACb,yBAAyB,EACzB,oBAAoB,GACrB,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,GAAG,IAAI,OAAO,EACd,gBAAgB,IAAI,oBAAoB,EACxC,mBAAmB,EACnB,qBAAqB,EACrB,wBAAwB,EACxB,0BAA0B,GAC3B,MAAM,WAAW,CAAC;AAEnB,OAAO,EACL,aAAa,EACb,oBAAoB,EACpB,6BAA6B,GAC9B,MAAM,sBAAsB,CAAC;AAE9B,WAAW;AACX,OAAO,EACL,OAAO,EACP,cAAc,EACd,oBAAoB,EACpB,6BAA6B,EAC7B,YAAY,EACZ,2BAA2B,EAE3B,mBAAmB,EACnB,gBAAgB,EAChB,KAAK,EACL,KAAK,EACL,OAAO,EACP,OAAO,EACP,MAAM,EACN,MAAM,EACN,OAAO,EACP,OAAO,EACP,MAAM,EACN,MAAM,GACP,MAAM,qBAAqB,CAAC;AAE7B,kBAAkB;AAClB,OAAO,EAAE,eAAe,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,2BAA2B;AAC3B,OAAO,EAEL,mBAAmB,EACnB,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AACjG,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAE1D,OAAO,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAExF,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,4BAA4B,EAAE,MAAM,aAAa,CAAC;AAE3E,OAAO,EACL,OAAO,EACP,OAAO,EACP,WAAW,EACX,oBAAoB,EACpB,eAAe,EACf,eAAe,EACf,kBAAkB,EAClB,sBAAsB,EACtB,6BAA6B,GAC9B,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAEhF,OAAO,EACL,eAAe,EACf,oBAAoB,EACpB,kBAAkB,EAClB,aAAa,EACb,yBAAyB,EACzB,oBAAoB,GACrB,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,GAAG,IAAI,OAAO,EACd,gBAAgB,IAAI,oBAAoB,EACxC,mBAAmB,EACnB,qBAAqB,EACrB,wBAAwB,EACxB,0BAA0B,GAC3B,MAAM,WAAW,CAAC;AAEnB,OAAO,EACL,aAAa,EACb,oBAAoB,EACpB,6BAA6B,GAC9B,MAAM,sBAAsB,CAAC;AAE9B,WAAW;AACX,OAAO,EACL,OAAO,EACP,cAAc,EACd,oBAAoB,EACpB,6BAA6B,EAC7B,YAAY,EACZ,2BAA2B,EAE3B,mBAAmB,EACnB,gBAAgB,EAChB,KAAK,EACL,KAAK,EACL,OAAO,EACP,OAAO,EACP,MAAM,EACN,MAAM,EACN,OAAO,EACP,OAAO,EACP,MAAM,EACN,MAAM,GACP,MAAM,qBAAqB,CAAC;AAE7B,kBAAkB;AAClB,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC"}
|
package/dist/src/migrations.d.ts
CHANGED
|
@@ -30,6 +30,12 @@ export interface ResolvedCredential {
|
|
|
30
30
|
*/
|
|
31
31
|
export type CredentialResolver = (serviceName: string, credentialData: unknown) => Promise<ResolvedCredential>;
|
|
32
32
|
export declare const LATEST_VERSION: number;
|
|
33
|
+
/**
|
|
34
|
+
* Read the data format version of an arbitrary Latchkey directory. A directory
|
|
35
|
+
* without a version file is in the oldest format (version 0).
|
|
36
|
+
*/
|
|
37
|
+
export declare function readDataFormatVersionOfDirectory(directory: string): number;
|
|
33
38
|
export declare function readDataFormatVersion(config: Config): number;
|
|
39
|
+
export declare function writeDataFormatVersionOfDirectory(directory: string, version: number): void;
|
|
34
40
|
export declare function runMigrations(config: Config, encryptedStorage: EncryptedStorage, resolveCredential?: CredentialResolver): Promise<void>;
|
|
35
41
|
//# sourceMappingURL=migrations.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"migrations.d.ts","sourceRoot":"","sources":["../../src/migrations.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,mBAAmB,EAAuB,MAAM,0BAA0B,CAAC;AAMpF,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"migrations.d.ts","sourceRoot":"","sources":["../../src/migrations.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,mBAAmB,EAAuB,MAAM,0BAA0B,CAAC;AAMpF,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAW9D,qBAAa,cAAe,SAAQ,KAAK;gBAC3B,OAAO,EAAE,MAAM;CAI5B;AAID;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,MAAM,EAAE,mBAAmB,CAAC;IACrC,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC;;;;OAIG;IACH,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC;CACnC;AAED;;;;;;;;;GASG;AACH,MAAM,MAAM,kBAAkB,GAAG,CAC/B,WAAW,EAAE,MAAM,EACnB,cAAc,EAAE,OAAO,KACpB,OAAO,CAAC,kBAAkB,CAAC,CAAC;AAqNjC,eAAO,MAAM,cAAc,QAAoB,CAAC;AAEhD;;;GAGG;AACH,wBAAgB,gCAAgC,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAa1E;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAE5D;AAED,wBAAgB,iCAAiC,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAG1F;AAMD,wBAAsB,aAAa,CACjC,MAAM,EAAE,MAAM,EACd,gBAAgB,EAAE,gBAAgB,EAClC,iBAAiB,GAAE,kBAAwD,GAC1E,OAAO,CAAC,IAAI,CAAC,CA+Bf"}
|
package/dist/src/migrations.js
CHANGED
|
@@ -4,7 +4,13 @@ import { writeFileAtomic } from './atomicWrite.js';
|
|
|
4
4
|
import { DEFAULT_ACCOUNT } from './apiCredentials/account.js';
|
|
5
5
|
import { ApiCredentialStatus } from './apiCredentials/base.js';
|
|
6
6
|
import { ApiCredentialsSchema, deserializeCredentials, serializeCredentials, } from './apiCredentials/serialization.js';
|
|
7
|
-
import {
|
|
7
|
+
import { BUILTIN_SERVICES, ServiceRegistry } from './serviceRegistry.js';
|
|
8
|
+
/**
|
|
9
|
+
* Migrations run before the CLI has built its own registry, and only ever need
|
|
10
|
+
* to recognize the services latchkey ships with: a credential stored under a
|
|
11
|
+
* name that is not one of them is left with an unknown status.
|
|
12
|
+
*/
|
|
13
|
+
const BUILTIN_SERVICE_REGISTRY = new ServiceRegistry(BUILTIN_SERVICES);
|
|
8
14
|
export class MigrationError extends Error {
|
|
9
15
|
constructor(message) {
|
|
10
16
|
super(message);
|
|
@@ -38,7 +44,7 @@ async function refreshIfExpired(service, credentials) {
|
|
|
38
44
|
* invalidated.
|
|
39
45
|
*/
|
|
40
46
|
async function resolveCredentialViaServiceRegistry(serviceName, credentialData) {
|
|
41
|
-
const service =
|
|
47
|
+
const service = BUILTIN_SERVICE_REGISTRY.getByName(serviceName);
|
|
42
48
|
if (service === null) {
|
|
43
49
|
return { status: ApiCredentialStatus.Unknown, account: null };
|
|
44
50
|
}
|
|
@@ -168,8 +174,12 @@ const MIGRATIONS = [
|
|
|
168
174
|
migrationIntroduceAccountsAndPreparations,
|
|
169
175
|
];
|
|
170
176
|
export const LATEST_VERSION = MIGRATIONS.length;
|
|
171
|
-
|
|
172
|
-
|
|
177
|
+
/**
|
|
178
|
+
* Read the data format version of an arbitrary Latchkey directory. A directory
|
|
179
|
+
* without a version file is in the oldest format (version 0).
|
|
180
|
+
*/
|
|
181
|
+
export function readDataFormatVersionOfDirectory(directory) {
|
|
182
|
+
const versionFilePath = join(directory, DATA_FORMAT_VERSION_FILENAME);
|
|
173
183
|
if (!existsSync(versionFilePath)) {
|
|
174
184
|
return 0;
|
|
175
185
|
}
|
|
@@ -180,8 +190,11 @@ export function readDataFormatVersion(config) {
|
|
|
180
190
|
}
|
|
181
191
|
return version;
|
|
182
192
|
}
|
|
183
|
-
function
|
|
184
|
-
|
|
193
|
+
export function readDataFormatVersion(config) {
|
|
194
|
+
return readDataFormatVersionOfDirectory(config.directory);
|
|
195
|
+
}
|
|
196
|
+
export function writeDataFormatVersionOfDirectory(directory, version) {
|
|
197
|
+
const versionFilePath = join(directory, DATA_FORMAT_VERSION_FILENAME);
|
|
185
198
|
writeFileAtomic(versionFilePath, String(version));
|
|
186
199
|
}
|
|
187
200
|
function isFirstInstallation(config) {
|
|
@@ -194,7 +207,7 @@ export async function runMigrations(config, encryptedStorage, resolveCredential
|
|
|
194
207
|
// created store for one in the oldest format and "migrate" (i.e. corrupt)
|
|
195
208
|
// it.
|
|
196
209
|
mkdirSync(config.directory, { recursive: true, mode: 0o700 });
|
|
197
|
-
|
|
210
|
+
writeDataFormatVersionOfDirectory(config.directory, LATEST_VERSION);
|
|
198
211
|
return;
|
|
199
212
|
}
|
|
200
213
|
const currentVersion = readDataFormatVersion(config);
|
|
@@ -210,7 +223,7 @@ export async function runMigrations(config, encryptedStorage, resolveCredential
|
|
|
210
223
|
await migration(config, encryptedStorage, resolveCredential);
|
|
211
224
|
}
|
|
212
225
|
if (currentVersion < LATEST_VERSION) {
|
|
213
|
-
|
|
226
|
+
writeDataFormatVersionOfDirectory(config.directory, LATEST_VERSION);
|
|
214
227
|
}
|
|
215
228
|
}
|
|
216
229
|
//# sourceMappingURL=migrations.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"migrations.js","sourceRoot":"","sources":["../../src/migrations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAC9D,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAuB,MAAM,0BAA0B,CAAC;AACpF,OAAO,EACL,oBAAoB,EACpB,sBAAsB,EACtB,oBAAoB,GACrB,MAAM,mCAAmC,CAAC;AAI3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"migrations.js","sourceRoot":"","sources":["../../src/migrations.ts"],"names":[],"mappings":"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"}
|
|
@@ -43,5 +43,18 @@ export declare class ServiceRegistry {
|
|
|
43
43
|
*/
|
|
44
44
|
export declare function hideServicesFromRegistry(registry: ServiceRegistry, serviceNames: readonly string[]): void;
|
|
45
45
|
export declare function loadRegisteredServicesIntoServiceRegistry(configPath: string, registry: ServiceRegistry): void;
|
|
46
|
-
|
|
46
|
+
/**
|
|
47
|
+
* Build a registry holding `builtinServices` plus the services registered in
|
|
48
|
+
* config.json, with the named services removed. This is how both the CLI and
|
|
49
|
+
* every gateway request get their registry.
|
|
50
|
+
*
|
|
51
|
+
* Hiding happens once the whole file has been loaded, so that a registered
|
|
52
|
+
* service naming a hidden built-in as its family still resolves that family.
|
|
53
|
+
*
|
|
54
|
+
* A null `configPath` skips config.json entirely, which is what the CLI does
|
|
55
|
+
* when it is pointed at a remote gateway: the gateway owns the registered
|
|
56
|
+
* services there, and the local CLI only forwards commands to it.
|
|
57
|
+
*/
|
|
58
|
+
export declare function createServiceRegistry(builtinServices: readonly Service[], configPath: string | null, hiddenServiceNames: readonly string[]): ServiceRegistry;
|
|
59
|
+
export declare const BUILTIN_SERVICES: readonly Service[];
|
|
47
60
|
//# sourceMappingURL=serviceRegistry.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serviceRegistry.d.ts","sourceRoot":"","sources":["../../src/serviceRegistry.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH,OAAO,EACL,OAAO,EAqCR,MAAM,qBAAqB,CAAC;AAE7B,qBAAa,yBAA0B,SAAQ,KAAK;gBACtC,IAAI,EAAE,MAAM;CAIzB;AAED,qBAAa,uBAAwB,SAAQ,KAAK;gBACpC,IAAI,EAAE,MAAM;CAMzB;AAID,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAM5D;AAED,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAY;gBAE1B,QAAQ,EAAE,SAAS,OAAO,EAAE;IAIxC,IAAI,QAAQ,IAAI,SAAS,OAAO,EAAE,CAEjC;IAED,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAOlC,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAOjC,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI;IASvC,OAAO,CAAC,UAAU;IAelB;;;;;;;;OAQG;IACH,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,OAAO,EAAE;IAInD;;;;;;OAMG;IACH,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI;CAGtC;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,eAAe,EACzB,YAAY,EAAE,SAAS,MAAM,EAAE,GAC9B,IAAI,CAIN;AAyBD,wBAAgB,yCAAyC,CACvD,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,eAAe,GACxB,IAAI,CAwBN;AAED,eAAO,MAAM,gBAAgB,
|
|
1
|
+
{"version":3,"file":"serviceRegistry.d.ts","sourceRoot":"","sources":["../../src/serviceRegistry.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH,OAAO,EACL,OAAO,EAqCR,MAAM,qBAAqB,CAAC;AAE7B,qBAAa,yBAA0B,SAAQ,KAAK;gBACtC,IAAI,EAAE,MAAM;CAIzB;AAED,qBAAa,uBAAwB,SAAQ,KAAK;gBACpC,IAAI,EAAE,MAAM;CAMzB;AAID,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAM5D;AAED,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAY;gBAE1B,QAAQ,EAAE,SAAS,OAAO,EAAE;IAIxC,IAAI,QAAQ,IAAI,SAAS,OAAO,EAAE,CAEjC;IAED,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAOlC,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAOjC,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI;IASvC,OAAO,CAAC,UAAU;IAelB;;;;;;;;OAQG;IACH,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,OAAO,EAAE;IAInD;;;;;;OAMG;IACH,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI;CAGtC;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,eAAe,EACzB,YAAY,EAAE,SAAS,MAAM,EAAE,GAC9B,IAAI,CAIN;AAyBD,wBAAgB,yCAAyC,CACvD,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,eAAe,GACxB,IAAI,CAwBN;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,qBAAqB,CACnC,eAAe,EAAE,SAAS,OAAO,EAAE,EACnC,UAAU,EAAE,MAAM,GAAG,IAAI,EACzB,kBAAkB,EAAE,SAAS,MAAM,EAAE,GACpC,eAAe,CAOjB;AAED,eAAO,MAAM,gBAAgB,EAAE,SAAS,OAAO,EAqC9C,CAAC"}
|
|
@@ -140,7 +140,27 @@ export function loadRegisteredServicesIntoServiceRegistry(configPath, registry)
|
|
|
140
140
|
registry.addService(registeredService);
|
|
141
141
|
}
|
|
142
142
|
}
|
|
143
|
-
|
|
143
|
+
/**
|
|
144
|
+
* Build a registry holding `builtinServices` plus the services registered in
|
|
145
|
+
* config.json, with the named services removed. This is how both the CLI and
|
|
146
|
+
* every gateway request get their registry.
|
|
147
|
+
*
|
|
148
|
+
* Hiding happens once the whole file has been loaded, so that a registered
|
|
149
|
+
* service naming a hidden built-in as its family still resolves that family.
|
|
150
|
+
*
|
|
151
|
+
* A null `configPath` skips config.json entirely, which is what the CLI does
|
|
152
|
+
* when it is pointed at a remote gateway: the gateway owns the registered
|
|
153
|
+
* services there, and the local CLI only forwards commands to it.
|
|
154
|
+
*/
|
|
155
|
+
export function createServiceRegistry(builtinServices, configPath, hiddenServiceNames) {
|
|
156
|
+
const registry = new ServiceRegistry(builtinServices);
|
|
157
|
+
if (configPath !== null) {
|
|
158
|
+
loadRegisteredServicesIntoServiceRegistry(configPath, registry);
|
|
159
|
+
}
|
|
160
|
+
hideServicesFromRegistry(registry, hiddenServiceNames);
|
|
161
|
+
return registry;
|
|
162
|
+
}
|
|
163
|
+
export const BUILTIN_SERVICES = [
|
|
144
164
|
SLACK,
|
|
145
165
|
DISCORD,
|
|
146
166
|
DROPBOX,
|
|
@@ -177,5 +197,5 @@ export const SERVICE_REGISTRY = new ServiceRegistry([
|
|
|
177
197
|
HUGGINGFACE,
|
|
178
198
|
OPENROUTER,
|
|
179
199
|
TAILSCALE,
|
|
180
|
-
]
|
|
200
|
+
];
|
|
181
201
|
//# sourceMappingURL=serviceRegistry.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serviceRegistry.js","sourceRoot":"","sources":["../../src/serviceRegistry.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"serviceRegistry.js","sourceRoot":"","sources":["../../src/serviceRegistry.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,sBAAsB,EAA+B,MAAM,sBAAsB,CAAC;AAC3F,OAAO,EAAE,6BAA6B,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AACjG,OAAO,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,wCAAwC,CAAC;AACjG,OAAO,EAAE,2BAA2B,EAAkB,MAAM,oCAAoC,CAAC;AACjG,OAAO,EAEL,KAAK,EACL,OAAO,EACP,OAAO,EACP,MAAM,EACN,MAAM,EACN,MAAM,EACN,UAAU,EACV,YAAY,EACZ,eAAe,EACf,YAAY,EACZ,aAAa,EACb,WAAW,EACX,aAAa,EACb,aAAa,EACb,SAAS,EACT,QAAQ,EACR,YAAY,EACZ,MAAM,EACN,IAAI,EACJ,MAAM,EACN,MAAM,EACN,KAAK,EACL,gBAAgB,EAChB,QAAQ,EACR,IAAI,EACJ,QAAQ,EACR,GAAG,EACH,iBAAiB,EACjB,OAAO,EACP,KAAK,EACL,IAAI,EACJ,OAAO,EACP,KAAK,EACL,WAAW,EACX,UAAU,EACV,SAAS,GACV,MAAM,qBAAqB,CAAC;AAE7B,MAAM,OAAO,yBAA0B,SAAQ,KAAK;IAClD,YAAY,IAAY;QACtB,KAAK,CAAC,4BAA4B,IAAI,mBAAmB,CAAC,CAAC;QAC3D,IAAI,CAAC,IAAI,GAAG,2BAA2B,CAAC;IAC1C,CAAC;CACF;AAED,MAAM,OAAO,uBAAwB,SAAQ,KAAK;IAChD,YAAY,IAAY;QACtB,KAAK,CACH,yBAAyB,IAAI,iFAAiF,CAC/G,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,yBAAyB,CAAC;IACxC,CAAC;CACF;AAED,MAAM,oBAAoB,GAAG,uBAAuB,CAAC;AAErD,MAAM,UAAU,uBAAuB,CAAC,IAAY;IAClD,MAAM,aAAa,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC9D,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC;QAC9C,MAAM,IAAI,uBAAuB,CAAC,IAAI,CAAC,CAAC;IAC1C,CAAC;IACD,OAAO,aAAa,CAAC;AACvB,CAAC;AAED,MAAM,OAAO,eAAe;IACT,SAAS,CAAY;IAEtC,YAAY,QAA4B;QACtC,IAAI,CAAC,SAAS,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC;IACjC,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED,UAAU,CAAC,OAAgB;QACzB,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;YAC1C,MAAM,IAAI,yBAAyB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACpD,CAAC;QACD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC/B,CAAC;IAED,aAAa,CAAC,IAAY;QACxB,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;QAC3E,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;YACjB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QAClC,CAAC;IACH,CAAC;IAED,SAAS,CAAC,IAAY;QACpB,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACrC,IAAI,OAAO,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;gBAC1B,OAAO,OAAO,CAAC;YACjB,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,UAAU,CAAC,OAAgB,EAAE,GAAW;QAC9C,KAAK,MAAM,UAAU,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;YAC7C,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE,CAAC;gBACnC,IAAI,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;oBAC/B,OAAO,IAAI,CAAC;gBACd,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,IAAI,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;oBACzB,OAAO,IAAI,CAAC;gBACd,CAAC;YACH,CAAC;QACH,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;;;;;OAQG;IACH,kBAAkB,CAAC,GAAW;QAC5B,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;IAC3E,CAAC;IAED;;;;;;OAMG;IACH,QAAQ,CAAC,GAAW;QAClB,OAAO,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;IACjD,CAAC;CACF;AAED;;;;GAIG;AACH,MAAM,UAAU,wBAAwB,CACtC,QAAyB,EACzB,YAA+B;IAE/B,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;QAChC,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,SAAS,sBAAsB,CAC7B,eAAoD;IAEpD,IAAI,eAAe,KAAK,SAAS,EAAE,CAAC;QAClC,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,CAAC;QACH,OAAO,gBAAgB,CAAC,eAAe,CAAC,IAAI,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC;IACxE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,qBAAqB,IAAI,KAAK,YAAY,2BAA2B,EAAE,CAAC;YAC3F,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,UAAU,yCAAyC,CACvD,UAAkB,EAClB,QAAyB;IAEzB,MAAM,OAAO,GAAG,sBAAsB,CAAC,UAAU,CAAC,CAAC;IACnD,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,OAAO,EAAE,CAAC;QACpC,IAAI,aAAkC,CAAC;QACvC,IAAI,KAAK,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;YACtC,aAAa,GAAG,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,SAAS,CAAC;YACrE,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;gBAChC,SAAS;YACX,CAAC;QACH,CAAC;QACD,IAAI,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;YACtC,SAAS;QACX,CAAC;QACD,MAAM,iBAAiB,GAAG,IAAI,iBAAiB,CAC7C,IAAI,EACJ,KAAK,CAAC,UAAU,EAChB,6BAA6B,CAC3B,aAAa,EACb,KAAK,CAAC,QAAQ,EACd,sBAAsB,CAAC,KAAK,CAAC,SAAS,CAAC,CACxC,CACF,CAAC;QACF,QAAQ,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;IACzC,CAAC;AACH,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,qBAAqB,CACnC,eAAmC,EACnC,UAAyB,EACzB,kBAAqC;IAErC,MAAM,QAAQ,GAAG,IAAI,eAAe,CAAC,eAAe,CAAC,CAAC;IACtD,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;QACxB,yCAAyC,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IAClE,CAAC;IACD,wBAAwB,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAC;IACvD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAuB;IAClD,KAAK;IACL,OAAO;IACP,OAAO;IACP,MAAM;IACN,MAAM;IACN,MAAM;IACN,UAAU;IACV,YAAY;IACZ,eAAe;IACf,YAAY;IACZ,aAAa;IACb,WAAW;IACX,aAAa;IACb,aAAa;IACb,SAAS;IACT,QAAQ;IACR,YAAY;IACZ,MAAM;IACN,IAAI;IACJ,MAAM;IACN,MAAM;IACN,KAAK;IACL,gBAAgB;IAChB,QAAQ;IACR,IAAI;IACJ,QAAQ;IACR,GAAG;IACH,iBAAiB;IACjB,OAAO;IACP,KAAK;IACL,IAAI;IACJ,OAAO;IACP,KAAK;IACL,WAAW;IACX,UAAU;IACV,SAAS;CACV,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
-
import { type ApiCredentials } from '../apiCredentials/base.js';
|
|
2
|
+
import { ApiCredentialsUsageError, type ApiCredentials } from '../apiCredentials/base.js';
|
|
3
3
|
import { Service } from './core/base.js';
|
|
4
4
|
/**
|
|
5
5
|
* AWS credentials using Signature Version 4 request signing.
|
|
@@ -25,7 +25,7 @@ export declare class AwsCredentials implements ApiCredentials {
|
|
|
25
25
|
readonly accessKeyId: string;
|
|
26
26
|
readonly secretAccessKey: string;
|
|
27
27
|
constructor(accessKeyId: string, secretAccessKey: string);
|
|
28
|
-
injectIntoCurlCall(curlArguments: readonly string[]): Promise<readonly string[]>;
|
|
28
|
+
injectIntoCurlCall(curlArguments: readonly string[], requestBody?: Buffer | null): Promise<readonly string[]>;
|
|
29
29
|
isExpired(): boolean | undefined;
|
|
30
30
|
toJSON(): AwsCredentialsData;
|
|
31
31
|
static fromJSON(data: AwsCredentialsData): AwsCredentials;
|
|
@@ -41,5 +41,14 @@ export declare class Aws extends Service {
|
|
|
41
41
|
getCredentialsNoCurl(arguments_: readonly string[]): ApiCredentials;
|
|
42
42
|
getAccount(apiCredentials: ApiCredentials): Promise<string | null>;
|
|
43
43
|
}
|
|
44
|
+
export declare class AwsRequestBodyNotAvailableError extends ApiCredentialsUsageError {
|
|
45
|
+
constructor();
|
|
46
|
+
}
|
|
47
|
+
export declare class AwsRequestBodyNotSignableError extends ApiCredentialsUsageError {
|
|
48
|
+
constructor();
|
|
49
|
+
}
|
|
50
|
+
export declare class AwsRequestBodyFileUnreadableError extends ApiCredentialsUsageError {
|
|
51
|
+
constructor(path: string);
|
|
52
|
+
}
|
|
44
53
|
export declare const AWS: Aws;
|
|
45
54
|
//# sourceMappingURL=aws.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aws.d.ts","sourceRoot":"","sources":["../../../src/services/aws.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"aws.d.ts","sourceRoot":"","sources":["../../../src/services/aws.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,wBAAwB,EAAE,KAAK,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAG1F,OAAO,EAAsC,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAE7E;;;;GAIG;AACH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;EAI/B,CAAC;AAEH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAmPtE,qBAAa,cAAe,YAAW,cAAc;IACnD,QAAQ,CAAC,UAAU,EAAG,KAAK,CAAU;IACrC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;gBAErB,WAAW,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM;IAKlD,kBAAkB,CACtB,aAAa,EAAE,SAAS,MAAM,EAAE,EAChC,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,GAC1B,OAAO,CAAC,SAAS,MAAM,EAAE,CAAC;IA6B7B,SAAS,IAAI,OAAO,GAAG,SAAS;IAIhC,MAAM,IAAI,kBAAkB;IAQ5B,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,kBAAkB,GAAG,cAAc;CAG1D;AAED,qBAAa,GAAI,SAAQ,OAAO;IAC9B,QAAQ,CAAC,IAAI,SAAS;IACtB,QAAQ,CAAC,WAAW,SAAS;IAC7B,QAAQ,CAAC,WAAW,oBAAmD;IACvE,QAAQ,CAAC,QAAQ,qCAAqC;IACtD,QAAQ,CAAC,IAAI,mCAAmC;IAEhD,QAAQ,CAAC,4BAA4B,sFAE1B;IAEX,qBAAqB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM;IAIzC,oBAAoB,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,GAAG,cAAc;IAkBnE,UAAU,CAAC,cAAc,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;CAgB5E;AAED,qBAAa,+BAAgC,SAAQ,wBAAwB;;CAS5E;AAED,qBAAa,8BAA+B,SAAQ,wBAAwB;;CAU3E;AAED,qBAAa,iCAAkC,SAAQ,wBAAwB;gBACjE,IAAI,EAAE,MAAM;CAIzB;AAUD,eAAO,MAAM,GAAG,KAAY,CAAC"}
|
package/dist/src/services/aws.js
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { createHash, createHmac } from 'node:crypto';
|
|
2
|
+
import { readFileSync } from 'node:fs';
|
|
2
3
|
import { z } from 'zod';
|
|
4
|
+
import { ApiCredentialsUsageError } from '../apiCredentials/base.js';
|
|
3
5
|
import { fetchAccountFromEndpoint } from '../apiCredentials/account.js';
|
|
4
|
-
import { CurlParseError, parseCurlArgs } from '../curl.js';
|
|
6
|
+
import { CurlParseError, parseCurlArgs, resolveCurlRequestBodySource } from '../curl.js';
|
|
5
7
|
import { NoCurlCredentialsNotSupportedError, Service } from './core/base.js';
|
|
6
8
|
/**
|
|
7
9
|
* AWS credentials using Signature Version 4 request signing.
|
|
@@ -14,7 +16,39 @@ export const AwsCredentialsSchema = z.object({
|
|
|
14
16
|
secretAccessKey: z.string(),
|
|
15
17
|
});
|
|
16
18
|
function sha256Hex(data) {
|
|
17
|
-
return createHash('sha256').update(data
|
|
19
|
+
return createHash('sha256').update(data).digest('hex');
|
|
20
|
+
}
|
|
21
|
+
function sha256HexOfText(text) {
|
|
22
|
+
return sha256Hex(Buffer.from(text, 'utf-8'));
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Resolve the bytes curl will actually send, which is what SigV4 must hash.
|
|
26
|
+
*
|
|
27
|
+
* Callers that stream the payload to curl out-of-band (the gateway pipes it in
|
|
28
|
+
* via `--data-binary @-`) pass it explicitly. Otherwise the payload has to come
|
|
29
|
+
* from the arguments: a `@file` reference is read from disk, while a body that
|
|
30
|
+
* only exists on curl's stdin, or one curl assembles itself, cannot be signed.
|
|
31
|
+
*/
|
|
32
|
+
function resolveRequestBody(curlArguments, parsedBodyText, outOfBandRequestBody) {
|
|
33
|
+
if (outOfBandRequestBody !== undefined && outOfBandRequestBody !== null) {
|
|
34
|
+
return outOfBandRequestBody;
|
|
35
|
+
}
|
|
36
|
+
const bodySource = resolveCurlRequestBodySource(curlArguments, parsedBodyText);
|
|
37
|
+
switch (bodySource.kind) {
|
|
38
|
+
case 'inline':
|
|
39
|
+
return Buffer.from(bodySource.text, 'utf-8');
|
|
40
|
+
case 'file':
|
|
41
|
+
try {
|
|
42
|
+
return readFileSync(bodySource.path);
|
|
43
|
+
}
|
|
44
|
+
catch {
|
|
45
|
+
throw new AwsRequestBodyFileUnreadableError(bodySource.path);
|
|
46
|
+
}
|
|
47
|
+
case 'stdin':
|
|
48
|
+
throw new AwsRequestBodyNotAvailableError();
|
|
49
|
+
case 'unreconstructable':
|
|
50
|
+
throw new AwsRequestBodyNotSignableError();
|
|
51
|
+
}
|
|
18
52
|
}
|
|
19
53
|
function hmacSha256(key, message) {
|
|
20
54
|
return createHmac('sha256', key).update(message, 'utf-8').digest();
|
|
@@ -123,6 +157,16 @@ function signAwsRequest(method, url, existingHeaders, body, accessKeyId, secretA
|
|
|
123
157
|
if (existingHeaders['content-type'] !== undefined) {
|
|
124
158
|
headersToSign['content-type'] = existingHeaders['content-type'];
|
|
125
159
|
}
|
|
160
|
+
// AWS requires every `x-amz-*` header the request carries to be signed
|
|
161
|
+
// (e.g. `X-Amz-Target`, which selects the operation for JSON protocol
|
|
162
|
+
// services such as CloudWatch Logs). The date and payload-hash headers are
|
|
163
|
+
// produced here and must not be overwritten by client-supplied values.
|
|
164
|
+
for (const [name, value] of Object.entries(existingHeaders)) {
|
|
165
|
+
const lowerName = name.toLowerCase();
|
|
166
|
+
if (lowerName.startsWith('x-amz-') && headersToSign[lowerName] === undefined) {
|
|
167
|
+
headersToSign[lowerName] = value;
|
|
168
|
+
}
|
|
169
|
+
}
|
|
126
170
|
const signedHeaderNames = Object.keys(headersToSign).sort();
|
|
127
171
|
const signedHeadersString = signedHeaderNames.join(';');
|
|
128
172
|
// Step 1: Canonical request
|
|
@@ -148,7 +192,7 @@ function signAwsRequest(method, url, existingHeaders, body, accessKeyId, secretA
|
|
|
148
192
|
'AWS4-HMAC-SHA256',
|
|
149
193
|
amzDate,
|
|
150
194
|
credentialScope,
|
|
151
|
-
|
|
195
|
+
sha256HexOfText(canonicalRequest),
|
|
152
196
|
].join('\n');
|
|
153
197
|
// Step 3: Signature
|
|
154
198
|
const signingKey = deriveSigningKey(secretAccessKey, datestamp, region, service);
|
|
@@ -174,7 +218,7 @@ export class AwsCredentials {
|
|
|
174
218
|
this.accessKeyId = accessKeyId;
|
|
175
219
|
this.secretAccessKey = secretAccessKey;
|
|
176
220
|
}
|
|
177
|
-
async injectIntoCurlCall(curlArguments) {
|
|
221
|
+
async injectIntoCurlCall(curlArguments, requestBody) {
|
|
178
222
|
let request;
|
|
179
223
|
try {
|
|
180
224
|
request = parseCurlArgs(curlArguments);
|
|
@@ -189,7 +233,7 @@ export class AwsCredentials {
|
|
|
189
233
|
request.headers.forEach((value, name) => {
|
|
190
234
|
existingHeaders[name] = value;
|
|
191
235
|
});
|
|
192
|
-
const body = await request.text();
|
|
236
|
+
const body = resolveRequestBody(curlArguments, await request.text(), requestBody);
|
|
193
237
|
const signingHeaders = signAwsRequest(request.method, new URL(request.url), existingHeaders, body, this.accessKeyId, this.secretAccessKey);
|
|
194
238
|
return [...signingHeaders, ...curlArguments];
|
|
195
239
|
}
|
|
@@ -245,6 +289,29 @@ export class Aws extends Service {
|
|
|
245
289
|
});
|
|
246
290
|
}
|
|
247
291
|
}
|
|
292
|
+
export class AwsRequestBodyNotAvailableError extends ApiCredentialsUsageError {
|
|
293
|
+
constructor() {
|
|
294
|
+
super('AWS request signing needs the request body, but it is streamed to curl ' +
|
|
295
|
+
"from stdin (`@-`). Pass the body inline (for example `--data '{...}'`) " +
|
|
296
|
+
'or from a file (`--data @payload.json`) instead.');
|
|
297
|
+
this.name = 'AwsRequestBodyNotAvailableError';
|
|
298
|
+
}
|
|
299
|
+
}
|
|
300
|
+
export class AwsRequestBodyNotSignableError extends ApiCredentialsUsageError {
|
|
301
|
+
constructor() {
|
|
302
|
+
super('AWS request signing needs the exact request body, but it is assembled by ' +
|
|
303
|
+
'curl from several data arguments or from url-encoded file data. Pass the ' +
|
|
304
|
+
"payload as a single inline `--data '{...}'` or `--data @payload.json` " +
|
|
305
|
+
'argument instead.');
|
|
306
|
+
this.name = 'AwsRequestBodyNotSignableError';
|
|
307
|
+
}
|
|
308
|
+
}
|
|
309
|
+
export class AwsRequestBodyFileUnreadableError extends ApiCredentialsUsageError {
|
|
310
|
+
constructor(path) {
|
|
311
|
+
super(`AWS request signing could not read the request body file: ${path}`);
|
|
312
|
+
this.name = 'AwsRequestBodyFileUnreadableError';
|
|
313
|
+
}
|
|
314
|
+
}
|
|
248
315
|
class AwsCredentialError extends NoCurlCredentialsNotSupportedError {
|
|
249
316
|
constructor(message) {
|
|
250
317
|
super('aws');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aws.js","sourceRoot":"","sources":["../../../src/services/aws.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"aws.js","sourceRoot":"","sources":["../../../src/services/aws.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../../../src/services/core/loginFlows/registry.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../../../src/services/core/loginFlows/registry.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAE3D,eAAO,MAAM,WAAW,EAAE,SAAS,cAAc,EAGhD,CAAC;AAEF,qBAAa,qBAAsB,SAAQ,KAAK;gBAClC,IAAI,EAAE,MAAM;CAOzB;AAED;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,SAAS,CAMzE;AASD;;;;GAIG;AACH,wBAAgB,oBAAoB,IAAI,MAAM,CAc7C"}
|
|
@@ -7,7 +7,11 @@
|
|
|
7
7
|
* what stops that from being a cycle.
|
|
8
8
|
*/
|
|
9
9
|
import { CookieCaptureLoginFlow } from './cookieCapture.js';
|
|
10
|
-
|
|
10
|
+
import { TokenCaptureLoginFlow } from './tokenCapture.js';
|
|
11
|
+
export const LOGIN_FLOWS = [
|
|
12
|
+
CookieCaptureLoginFlow,
|
|
13
|
+
TokenCaptureLoginFlow,
|
|
14
|
+
];
|
|
11
15
|
export class UnknownLoginFlowError extends Error {
|
|
12
16
|
constructor(name) {
|
|
13
17
|
super(`Unknown login flow '${name}'. Available flows: ` +
|
|
@@ -46,11 +50,12 @@ export function formatLoginFlowsHelp() {
|
|
|
46
50
|
const sections = LOGIN_FLOWS.map((flowClass) => ` ${flowClass.flowName}\n${indent(flowClass.summary, ' ')}\n\n` +
|
|
47
51
|
indent(flowClass.details, ' '));
|
|
48
52
|
return [
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
+
[
|
|
54
|
+
'Login flows:',
|
|
55
|
+
' Each login flow is configured by a JSON object supplied by',
|
|
56
|
+
' --login-flow-params.',
|
|
57
|
+
].join('\n'),
|
|
53
58
|
...sections,
|
|
54
|
-
].join('\n');
|
|
59
|
+
].join('\n\n');
|
|
55
60
|
}
|
|
56
61
|
//# sourceMappingURL=registry.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../../../src/services/core/loginFlows/registry.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../../../src/services/core/loginFlows/registry.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAG1D,MAAM,CAAC,MAAM,WAAW,GAA8B;IACpD,sBAAsB;IACtB,qBAAqB;CACtB,CAAC;AAEF,MAAM,OAAO,qBAAsB,SAAQ,KAAK;IAC9C,YAAY,IAAY;QACtB,KAAK,CACH,uBAAuB,IAAI,sBAAsB;YAC/C,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CACtE,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAC;IACtC,CAAC;CACF;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,gBAAgB,CAAC,IAAY,EAAE,MAAe;IAC5D,MAAM,SAAS,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAC;IAC/E,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC5B,MAAM,IAAI,qBAAqB,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC;IACD,OAAO,IAAI,SAAS,CAAC,MAAM,CAAC,CAAC;AAC/B,CAAC;AAED,SAAS,MAAM,CAAC,IAAY,EAAE,MAAc;IAC1C,OAAO,IAAI;SACR,KAAK,CAAC,IAAI,CAAC;SACX,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,MAAM,GAAG,IAAI,EAAE,CAAC,CAAC;SACtD,IAAI,CAAC,IAAI,CAAC,CAAC;AAChB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,oBAAoB;IAClC,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,CAC9B,CAAC,SAAS,EAAE,EAAE,CACZ,KAAK,SAAS,CAAC,QAAQ,KAAK,MAAM,CAAC,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM;QACnE,MAAM,CAAC,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC,CACpC,CAAC;IACF,OAAO;QACL;YACE,cAAc;YACd,8DAA8D;YAC9D,wBAAwB;SACzB,CAAC,IAAI,CAAC,IAAI,CAAC;QACZ,GAAG,QAAQ;KACZ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AACjB,CAAC"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A generic browser login for services whose credential is a token the web app
|
|
3
|
+
* mints for itself: open a URL, watch the responses that arrive while the user
|
|
4
|
+
* signs in, and lift a token out of the JSON body of a named endpoint.
|
|
5
|
+
*
|
|
6
|
+
* This is the counterpart to `cookie-capture`, for the other common shape. In a
|
|
7
|
+
* cookie-authenticated service the cookie *is* the API credential, so capturing
|
|
8
|
+
* it is enough. In a token-minting one the cookie authenticates the *page*,
|
|
9
|
+
* which then calls an endpoint of its own to obtain a short-lived token, and it
|
|
10
|
+
* is that token the API wants — capturing the cookie would store something the
|
|
11
|
+
* API refuses. Single-page apps built on NextAuth are the common case, where
|
|
12
|
+
* the mint endpoint is conventionally `/api/auth/session`.
|
|
13
|
+
*
|
|
14
|
+
* Nothing here is service-specific: which endpoint to watch, which field holds
|
|
15
|
+
* the token, and which header carries it all come from whoever registered the
|
|
16
|
+
* service, as the parameters of the `token-capture` login flow.
|
|
17
|
+
*
|
|
18
|
+
* Two consequences of capturing a minted token are worth knowing, and are the
|
|
19
|
+
* registrant's to accept rather than this flow's to solve:
|
|
20
|
+
*
|
|
21
|
+
* - **The token expires, and there is no refresh path.** The refresh material
|
|
22
|
+
* is the browser session, which stays in the browser profile and never
|
|
23
|
+
* reaches us. A credential going invalid is routine; signing in again mints
|
|
24
|
+
* a fresh one.
|
|
25
|
+
* - **The token is only as scoped as the service says.** A minted token is
|
|
26
|
+
* usually broader than an API key a user would issue deliberately.
|
|
27
|
+
*/
|
|
28
|
+
import { z } from 'zod';
|
|
29
|
+
import { Service, type ServiceSession } from '../base.js';
|
|
30
|
+
import { type LoginFlow } from './base.js';
|
|
31
|
+
/**
|
|
32
|
+
* The flow. Its statics are the kind of automation — what `--login-flow`
|
|
33
|
+
* selects — and an instance is that kind configured with one service's
|
|
34
|
+
* parameters, ready to create a session per login.
|
|
35
|
+
*/
|
|
36
|
+
export declare class TokenCaptureLoginFlow implements LoginFlow {
|
|
37
|
+
/** Value of `--login-flow`. Not `name`, which every class already has. */
|
|
38
|
+
static readonly flowName = "token-capture";
|
|
39
|
+
static readonly summary: string;
|
|
40
|
+
static readonly details: string;
|
|
41
|
+
static readonly paramsSchema: z.ZodObject<{
|
|
42
|
+
/**
|
|
43
|
+
* The endpoint whose response carries the token. Compared by origin and
|
|
44
|
+
* path, so a query string does not have to be predicted.
|
|
45
|
+
*/
|
|
46
|
+
tokenUrl: z.ZodString;
|
|
47
|
+
/**
|
|
48
|
+
* Where the token sits in the JSON body. Dotted for a nested field; each
|
|
49
|
+
* segment is a literal key, so a key containing a dot cannot be addressed —
|
|
50
|
+
* no such endpoint has come up, and leaving it out keeps the syntax
|
|
51
|
+
* obvious.
|
|
52
|
+
*/
|
|
53
|
+
tokenField: z.ZodString;
|
|
54
|
+
/**
|
|
55
|
+
* The header the token is stored as. Must contain `{token}`, and must look
|
|
56
|
+
* like a header, so that a mistake here is caught at registration rather
|
|
57
|
+
* than as a puzzling 401 after a successful-looking login.
|
|
58
|
+
*/
|
|
59
|
+
header: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
|
|
60
|
+
}, "strict", z.ZodTypeAny, {
|
|
61
|
+
tokenUrl: string;
|
|
62
|
+
tokenField: string;
|
|
63
|
+
header?: string | undefined;
|
|
64
|
+
}, {
|
|
65
|
+
tokenUrl: string;
|
|
66
|
+
tokenField: string;
|
|
67
|
+
header?: string | undefined;
|
|
68
|
+
}>;
|
|
69
|
+
private readonly params;
|
|
70
|
+
constructor(rawParams: unknown);
|
|
71
|
+
describe(loginUrl: string): string;
|
|
72
|
+
createSession(service: Service, appNamePrefix: string): ServiceSession;
|
|
73
|
+
}
|
|
74
|
+
//# sourceMappingURL=tokenCapture.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tokenCapture.d.ts","sourceRoot":"","sources":["../../../../../src/services/core/loginFlows/tokenCapture.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAGH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,OAAO,EAAwB,KAAK,cAAc,EAAE,MAAM,YAAY,CAAC;AAChF,OAAO,EAAwB,KAAK,SAAS,EAAuB,MAAM,WAAW,CAAC;AAwItF;;;;GAIG;AACH,qBAAa,qBAAsB,YAAW,SAAS;IACrD,0EAA0E;IAC1E,MAAM,CAAC,QAAQ,CAAC,QAAQ,mBAAmB;IAE3C,MAAM,CAAC,QAAQ,CAAC,OAAO,SAEO;IAE9B,MAAM,CAAC,QAAQ,CAAC,OAAO,SA2BV;IAEb,MAAM,CAAC,QAAQ,CAAC,YAAY;QAjI1B;;;WAGG;;QAEH;;;;;WAKG;;QAEH;;;;WAIG;;;;;;;;;;OAiHmD;IAExD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAqB;gBAEhC,SAAS,EAAE,OAAO;IAI9B,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;IAOlC,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,GAAG,cAAc;CASvE"}
|