latchkey 2.7.2 → 2.8.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 +49 -5
- package/dist/scripts/cryptFile.js +2 -2
- package/dist/scripts/cryptFile.js.map +1 -1
- package/dist/scripts/recordBrowserSession.js +3 -2
- package/dist/scripts/recordBrowserSession.js.map +1 -1
- package/dist/src/cli.js +5 -4
- package/dist/src/cli.js.map +1 -1
- package/dist/src/cliCommands.d.ts.map +1 -1
- package/dist/src/cliCommands.js +44 -6
- package/dist/src/cliCommands.js.map +1 -1
- package/dist/src/config.d.ts +29 -0
- package/dist/src/config.d.ts.map +1 -1
- package/dist/src/config.js +45 -0
- package/dist/src/config.js.map +1 -1
- package/dist/src/encryptedStorage.d.ts +9 -25
- package/dist/src/encryptedStorage.d.ts.map +1 -1
- package/dist/src/encryptedStorage.js +9 -52
- package/dist/src/encryptedStorage.js.map +1 -1
- package/dist/src/encryption.d.ts +45 -0
- package/dist/src/encryption.d.ts.map +1 -1
- package/dist/src/encryption.js +69 -0
- package/dist/src/encryption.js.map +1 -1
- package/dist/src/gateway/client.d.ts +12 -2
- package/dist/src/gateway/client.d.ts.map +1 -1
- package/dist/src/gateway/client.js +31 -4
- package/dist/src/gateway/client.js.map +1 -1
- package/dist/src/gateway/gatewayEndpoint.d.ts +11 -0
- package/dist/src/gateway/gatewayEndpoint.d.ts.map +1 -1
- package/dist/src/gateway/gatewayEndpoint.js +40 -4
- package/dist/src/gateway/gatewayEndpoint.js.map +1 -1
- package/dist/src/gateway/password.d.ts +16 -0
- package/dist/src/gateway/password.d.ts.map +1 -0
- package/dist/src/gateway/password.js +24 -0
- package/dist/src/gateway/password.js.map +1 -0
- package/dist/src/gateway/permissionPointer.d.ts +56 -0
- package/dist/src/gateway/permissionPointer.d.ts.map +1 -0
- package/dist/src/gateway/permissionPointer.js +171 -0
- package/dist/src/gateway/permissionPointer.js.map +1 -0
- package/dist/src/gateway/permissionsOverride.d.ts +56 -0
- package/dist/src/gateway/permissionsOverride.d.ts.map +1 -0
- package/dist/src/gateway/permissionsOverride.js +157 -0
- package/dist/src/gateway/permissionsOverride.js.map +1 -0
- package/dist/src/gateway/server.d.ts.map +1 -1
- package/dist/src/gateway/server.js +34 -1
- package/dist/src/gateway/server.js.map +1 -1
- package/dist/src/index.d.ts +2 -2
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +2 -2
- package/dist/src/index.js.map +1 -1
- package/dist/src/oauthUtils.d.ts +11 -2
- package/dist/src/oauthUtils.d.ts.map +1 -1
- package/dist/src/oauthUtils.js +25 -4
- package/dist/src/oauthUtils.js.map +1 -1
- package/dist/src/serviceRegistry.d.ts.map +1 -1
- package/dist/src/serviceRegistry.js +2 -1
- package/dist/src/serviceRegistry.js.map +1 -1
- 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/services/notion-mcp.d.ts +29 -0
- package/dist/src/services/notion-mcp.d.ts.map +1 -0
- package/dist/src/services/notion-mcp.js +156 -0
- package/dist/src/services/notion-mcp.js.map +1 -0
- package/dist/src/services/notion.d.ts +1 -1
- package/dist/src/services/notion.d.ts.map +1 -1
- package/dist/src/services/notion.js +5 -4
- package/dist/src/services/notion.js.map +1 -1
- package/dist/src/version.d.ts +1 -1
- package/dist/src/version.js +1 -1
- package/dist/tests/apiCredentialStore.test.js +2 -2
- package/dist/tests/apiCredentialStore.test.js.map +1 -1
- package/dist/tests/cli.test.js +95 -53
- package/dist/tests/cli.test.js.map +1 -1
- package/dist/tests/config.test.js +37 -0
- package/dist/tests/config.test.js.map +1 -1
- package/dist/tests/encryptedStorage.test.js +19 -39
- package/dist/tests/encryptedStorage.test.js.map +1 -1
- package/dist/tests/encryptedStorageKeyGeneration.test.js +2 -1
- package/dist/tests/encryptedStorageKeyGeneration.test.js.map +1 -1
- package/dist/tests/gateway.test.js +170 -7
- package/dist/tests/gateway.test.js.map +1 -1
- package/dist/tests/gatewayClient.test.js +74 -0
- package/dist/tests/gatewayClient.test.js.map +1 -1
- package/dist/tests/latchkeyEndpoint.test.js +7 -6
- package/dist/tests/latchkeyEndpoint.test.js.map +1 -1
- package/dist/tests/migrations.test.js +2 -2
- package/dist/tests/migrations.test.js.map +1 -1
- package/dist/tests/oauthUtils.test.d.ts +2 -0
- package/dist/tests/oauthUtils.test.d.ts.map +1 -0
- package/dist/tests/oauthUtils.test.js +63 -0
- package/dist/tests/oauthUtils.test.js.map +1 -0
- package/dist/tests/permissionPointer.test.d.ts +2 -0
- package/dist/tests/permissionPointer.test.d.ts.map +1 -0
- package/dist/tests/permissionPointer.test.js +152 -0
- package/dist/tests/permissionPointer.test.js.map +1 -0
- package/dist/tests/permissionsOverride.test.d.ts +2 -0
- package/dist/tests/permissionsOverride.test.d.ts.map +1 -0
- package/dist/tests/permissionsOverride.test.js +136 -0
- package/dist/tests/permissionsOverride.test.js.map +1 -0
- package/dist/tests/resolveEncryptionKey.test.d.ts +2 -0
- package/dist/tests/resolveEncryptionKey.test.d.ts.map +1 -0
- package/dist/tests/resolveEncryptionKey.test.js +26 -0
- package/dist/tests/resolveEncryptionKey.test.js.map +1 -0
- package/dist/tests/sharedOperations.test.js +34 -50
- package/dist/tests/sharedOperations.test.js.map +1 -1
- package/package.json +2 -2
|
@@ -13,8 +13,8 @@ import { Config } from '../src/config.js';
|
|
|
13
13
|
import { servicesList, servicesInfo, authList, authBrowser, authBrowserPrepare, UnknownServiceError, PreparationRequiredError, } from '../src/sharedOperations.js';
|
|
14
14
|
import { BrowserFlowsNotSupportedError } from '../src/playwrightUtils.js';
|
|
15
15
|
const TEST_ENCRYPTION_KEY = 'dGVzdGtleXRlc3RrZXl0ZXN0a2V5dGVzdGtleXRlc3Q=';
|
|
16
|
-
|
|
17
|
-
const storage =
|
|
16
|
+
function writeSecureFile(path, content) {
|
|
17
|
+
const storage = new EncryptedStorage(TEST_ENCRYPTION_KEY);
|
|
18
18
|
storage.writeFile(path, content);
|
|
19
19
|
}
|
|
20
20
|
function createMockService(overrides = {}) {
|
|
@@ -51,49 +51,47 @@ describe('operations', () => {
|
|
|
51
51
|
afterEach(() => {
|
|
52
52
|
rmSync(tempDir, { recursive: true, force: true });
|
|
53
53
|
});
|
|
54
|
-
|
|
54
|
+
function createApiCredentialStore(credentialsData = {}) {
|
|
55
55
|
const storePath = join(tempDir, 'credentials.json');
|
|
56
|
-
|
|
57
|
-
const encryptedStorage =
|
|
58
|
-
encryptionKeyOverride: TEST_ENCRYPTION_KEY,
|
|
59
|
-
});
|
|
56
|
+
writeSecureFile(storePath, JSON.stringify(credentialsData));
|
|
57
|
+
const encryptedStorage = new EncryptedStorage(TEST_ENCRYPTION_KEY);
|
|
60
58
|
return new ApiCredentialStore(storePath, encryptedStorage);
|
|
61
59
|
}
|
|
62
60
|
describe('servicesList', () => {
|
|
63
|
-
it('should return sorted service names',
|
|
61
|
+
it('should return sorted service names', () => {
|
|
64
62
|
const serviceA = createMockService({ name: 'zzz-service' });
|
|
65
63
|
const serviceB = createMockService({ name: 'aaa-service' });
|
|
66
64
|
const registry = new ServiceRegistry([serviceA, serviceB]);
|
|
67
|
-
const store =
|
|
65
|
+
const store = createApiCredentialStore();
|
|
68
66
|
const config = createMockConfig();
|
|
69
67
|
const result = servicesList(registry, store, config, {});
|
|
70
68
|
expect(result).toEqual(['aaa-service', 'zzz-service']);
|
|
71
69
|
});
|
|
72
|
-
it('should filter to builtin services only',
|
|
70
|
+
it('should filter to builtin services only', () => {
|
|
73
71
|
const builtinService = createMockService({ name: 'slack' });
|
|
74
72
|
const registeredService = new RegisteredService('my-gitlab', 'https://gitlab.example.com');
|
|
75
73
|
const registry = new ServiceRegistry([builtinService]);
|
|
76
74
|
registry.addService(registeredService);
|
|
77
|
-
const store =
|
|
75
|
+
const store = createApiCredentialStore();
|
|
78
76
|
const config = createMockConfig();
|
|
79
77
|
const result = servicesList(registry, store, config, { builtin: true });
|
|
80
78
|
expect(result).toContain('slack');
|
|
81
79
|
expect(result).not.toContain('my-gitlab');
|
|
82
80
|
});
|
|
83
|
-
it('should filter to viable services with stored credentials',
|
|
81
|
+
it('should filter to viable services with stored credentials', () => {
|
|
84
82
|
const service = createMockService({ name: 'slack', getSession: undefined });
|
|
85
83
|
const registry = new ServiceRegistry([service]);
|
|
86
|
-
const store =
|
|
84
|
+
const store = createApiCredentialStore({
|
|
87
85
|
slack: { objectType: 'slack', token: 'test-token', dCookie: 'test-cookie' },
|
|
88
86
|
});
|
|
89
87
|
const config = createMockConfig({ browserDisabled: true });
|
|
90
88
|
const result = servicesList(registry, store, config, { viable: true });
|
|
91
89
|
expect(result).toContain('slack');
|
|
92
90
|
});
|
|
93
|
-
it('should exclude non-viable services without credentials or browser',
|
|
91
|
+
it('should exclude non-viable services without credentials or browser', () => {
|
|
94
92
|
const service = createMockService({ name: 'nologin', getSession: undefined });
|
|
95
93
|
const registry = new ServiceRegistry([service]);
|
|
96
|
-
const store =
|
|
94
|
+
const store = createApiCredentialStore({});
|
|
97
95
|
const config = createMockConfig();
|
|
98
96
|
const result = servicesList(registry, store, config, { viable: true });
|
|
99
97
|
expect(result).not.toContain('nologin');
|
|
@@ -103,7 +101,7 @@ describe('operations', () => {
|
|
|
103
101
|
it('should return service info', async () => {
|
|
104
102
|
const service = createMockService();
|
|
105
103
|
const registry = new ServiceRegistry([service]);
|
|
106
|
-
const store =
|
|
104
|
+
const store = createApiCredentialStore();
|
|
107
105
|
const config = createMockConfig();
|
|
108
106
|
const info = await servicesInfo(registry, store, config, 'slack');
|
|
109
107
|
expect(info.type).toBe('built-in');
|
|
@@ -115,14 +113,14 @@ describe('operations', () => {
|
|
|
115
113
|
});
|
|
116
114
|
it('should throw UnknownServiceError for unknown service', async () => {
|
|
117
115
|
const registry = new ServiceRegistry([]);
|
|
118
|
-
const store =
|
|
116
|
+
const store = createApiCredentialStore();
|
|
119
117
|
const config = createMockConfig();
|
|
120
118
|
await expect(servicesInfo(registry, store, config, 'unknown')).rejects.toThrow(UnknownServiceError);
|
|
121
119
|
});
|
|
122
120
|
it('should exclude browser from authOptions when browser disabled', async () => {
|
|
123
121
|
const service = createMockService();
|
|
124
122
|
const registry = new ServiceRegistry([service]);
|
|
125
|
-
const store =
|
|
123
|
+
const store = createApiCredentialStore();
|
|
126
124
|
const config = createMockConfig({ browserDisabled: true });
|
|
127
125
|
const info = await servicesInfo(registry, store, config, 'slack');
|
|
128
126
|
expect(info.authOptions).toEqual(['set']);
|
|
@@ -131,7 +129,7 @@ describe('operations', () => {
|
|
|
131
129
|
const registeredService = new RegisteredService('my-gitlab', 'https://gitlab.example.com');
|
|
132
130
|
const registry = new ServiceRegistry([]);
|
|
133
131
|
registry.addService(registeredService);
|
|
134
|
-
const store =
|
|
132
|
+
const store = createApiCredentialStore();
|
|
135
133
|
const config = createMockConfig();
|
|
136
134
|
const info = await servicesInfo(registry, store, config, 'my-gitlab');
|
|
137
135
|
expect(info.type).toBe('user-registered');
|
|
@@ -141,7 +139,7 @@ describe('operations', () => {
|
|
|
141
139
|
it('should return stored credentials with status', async () => {
|
|
142
140
|
const service = createMockService();
|
|
143
141
|
const registry = new ServiceRegistry([service]);
|
|
144
|
-
const store =
|
|
142
|
+
const store = createApiCredentialStore({
|
|
145
143
|
slack: { objectType: 'slack', token: 'test-token', dCookie: 'test-cookie' },
|
|
146
144
|
});
|
|
147
145
|
const result = await authList(registry, store);
|
|
@@ -152,13 +150,13 @@ describe('operations', () => {
|
|
|
152
150
|
});
|
|
153
151
|
it('should return empty object when no credentials stored', async () => {
|
|
154
152
|
const registry = new ServiceRegistry([]);
|
|
155
|
-
const store =
|
|
153
|
+
const store = createApiCredentialStore({});
|
|
156
154
|
const result = await authList(registry, store);
|
|
157
155
|
expect(Object.keys(result)).toHaveLength(0);
|
|
158
156
|
});
|
|
159
157
|
it('should treat unknown services as valid', async () => {
|
|
160
158
|
const registry = new ServiceRegistry([]);
|
|
161
|
-
const store =
|
|
159
|
+
const store = createApiCredentialStore({
|
|
162
160
|
unknown: { objectType: 'rawCurl', curlArguments: ['-H', 'X-Token: secret'] },
|
|
163
161
|
});
|
|
164
162
|
const result = await authList(registry, store);
|
|
@@ -171,20 +169,16 @@ describe('operations', () => {
|
|
|
171
169
|
describe('authBrowser', () => {
|
|
172
170
|
it('should throw UnknownServiceError for unknown service', async () => {
|
|
173
171
|
const registry = new ServiceRegistry([]);
|
|
174
|
-
const store =
|
|
175
|
-
const encryptedStorage =
|
|
176
|
-
encryptionKeyOverride: TEST_ENCRYPTION_KEY,
|
|
177
|
-
});
|
|
172
|
+
const store = createApiCredentialStore();
|
|
173
|
+
const encryptedStorage = new EncryptedStorage(TEST_ENCRYPTION_KEY);
|
|
178
174
|
const config = createMockConfig();
|
|
179
175
|
await expect(authBrowser(registry, store, encryptedStorage, config, 'unknown')).rejects.toThrow(UnknownServiceError);
|
|
180
176
|
});
|
|
181
177
|
it('should throw BrowserFlowsNotSupportedError when service has no browser support', async () => {
|
|
182
178
|
const service = createMockService({ getSession: undefined });
|
|
183
179
|
const registry = new ServiceRegistry([service]);
|
|
184
|
-
const store =
|
|
185
|
-
const encryptedStorage =
|
|
186
|
-
encryptionKeyOverride: TEST_ENCRYPTION_KEY,
|
|
187
|
-
});
|
|
180
|
+
const store = createApiCredentialStore();
|
|
181
|
+
const encryptedStorage = new EncryptedStorage(TEST_ENCRYPTION_KEY);
|
|
188
182
|
const config = createMockConfig();
|
|
189
183
|
await expect(authBrowser(registry, store, encryptedStorage, config, 'slack')).rejects.toThrow(BrowserFlowsNotSupportedError);
|
|
190
184
|
});
|
|
@@ -196,10 +190,8 @@ describe('operations', () => {
|
|
|
196
190
|
}),
|
|
197
191
|
});
|
|
198
192
|
const registry = new ServiceRegistry([service]);
|
|
199
|
-
const store =
|
|
200
|
-
const encryptedStorage =
|
|
201
|
-
encryptionKeyOverride: TEST_ENCRYPTION_KEY,
|
|
202
|
-
});
|
|
193
|
+
const store = createApiCredentialStore({});
|
|
194
|
+
const encryptedStorage = new EncryptedStorage(TEST_ENCRYPTION_KEY);
|
|
203
195
|
const config = createMockConfig();
|
|
204
196
|
await expect(authBrowser(registry, store, encryptedStorage, config, 'slack')).rejects.toThrow(PreparationRequiredError);
|
|
205
197
|
});
|
|
@@ -207,10 +199,8 @@ describe('operations', () => {
|
|
|
207
199
|
describe('authBrowserPrepare', () => {
|
|
208
200
|
it('should throw UnknownServiceError for unknown service', async () => {
|
|
209
201
|
const registry = new ServiceRegistry([]);
|
|
210
|
-
const store =
|
|
211
|
-
const encryptedStorage =
|
|
212
|
-
encryptionKeyOverride: TEST_ENCRYPTION_KEY,
|
|
213
|
-
});
|
|
202
|
+
const store = createApiCredentialStore();
|
|
203
|
+
const encryptedStorage = new EncryptedStorage(TEST_ENCRYPTION_KEY);
|
|
214
204
|
const config = createMockConfig();
|
|
215
205
|
await expect(authBrowserPrepare(registry, store, encryptedStorage, config, 'unknown')).rejects.toThrow(UnknownServiceError);
|
|
216
206
|
});
|
|
@@ -222,10 +212,8 @@ describe('operations', () => {
|
|
|
222
212
|
}),
|
|
223
213
|
});
|
|
224
214
|
const registry = new ServiceRegistry([service]);
|
|
225
|
-
const store =
|
|
226
|
-
const encryptedStorage =
|
|
227
|
-
encryptionKeyOverride: TEST_ENCRYPTION_KEY,
|
|
228
|
-
});
|
|
215
|
+
const store = createApiCredentialStore();
|
|
216
|
+
const encryptedStorage = new EncryptedStorage(TEST_ENCRYPTION_KEY);
|
|
229
217
|
const config = createMockConfig();
|
|
230
218
|
const result = await authBrowserPrepare(registry, store, encryptedStorage, config, 'slack');
|
|
231
219
|
expect(result.alreadyPrepared).toBe(true);
|
|
@@ -238,12 +226,10 @@ describe('operations', () => {
|
|
|
238
226
|
}),
|
|
239
227
|
});
|
|
240
228
|
const registry = new ServiceRegistry([service]);
|
|
241
|
-
const store =
|
|
229
|
+
const store = createApiCredentialStore({
|
|
242
230
|
slack: { objectType: 'slack', token: 'test-token', dCookie: 'test-cookie' },
|
|
243
231
|
});
|
|
244
|
-
const encryptedStorage =
|
|
245
|
-
encryptionKeyOverride: TEST_ENCRYPTION_KEY,
|
|
246
|
-
});
|
|
232
|
+
const encryptedStorage = new EncryptedStorage(TEST_ENCRYPTION_KEY);
|
|
247
233
|
const config = createMockConfig();
|
|
248
234
|
const result = await authBrowserPrepare(registry, store, encryptedStorage, config, 'slack');
|
|
249
235
|
expect(result.alreadyPrepared).toBe(true);
|
|
@@ -251,10 +237,8 @@ describe('operations', () => {
|
|
|
251
237
|
it('should return alreadyPrepared true when service has no getSession', async () => {
|
|
252
238
|
const service = createMockService({ getSession: undefined });
|
|
253
239
|
const registry = new ServiceRegistry([service]);
|
|
254
|
-
const store =
|
|
255
|
-
const encryptedStorage =
|
|
256
|
-
encryptionKeyOverride: TEST_ENCRYPTION_KEY,
|
|
257
|
-
});
|
|
240
|
+
const store = createApiCredentialStore();
|
|
241
|
+
const encryptedStorage = new EncryptedStorage(TEST_ENCRYPTION_KEY);
|
|
258
242
|
const config = createMockConfig();
|
|
259
243
|
const result = await authBrowserPrepare(registry, store, encryptedStorage, config, 'slack');
|
|
260
244
|
expect(result.alreadyPrepared).toBe(true);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sharedOperations.test.js","sourceRoot":"","sources":["../../tests/sharedOperations.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sharedOperations.test.js","sourceRoot":"","sources":["../../tests/sharedOperations.test.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "latchkey",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.8.0",
|
|
4
4
|
"description": "A CLI tool that injects API credentials into curl requests to third-party services",
|
|
5
5
|
"author": "Imbue <hynek@imbue.com>",
|
|
6
6
|
"repository": {
|
|
@@ -58,7 +58,7 @@
|
|
|
58
58
|
"node": ">=20"
|
|
59
59
|
},
|
|
60
60
|
"dependencies": {
|
|
61
|
-
"@imbue-ai/detent": "^1.
|
|
61
|
+
"@imbue-ai/detent": "^1.2.0",
|
|
62
62
|
"@napi-rs/keyring": "^1.2.0",
|
|
63
63
|
"commander": "^12.0.0",
|
|
64
64
|
"playwright": "^1.58.2",
|