@kryshtop/bstack 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +324 -0
- package/dist/api/http/BrowserStackHttpClient.d.ts +30 -0
- package/dist/api/http/BrowserStackHttpClient.js +111 -0
- package/dist/api/http/BrowserStackHttpClient.js.map +1 -0
- package/dist/api/http/errors.d.ts +11 -0
- package/dist/api/http/errors.js +31 -0
- package/dist/api/http/errors.js.map +1 -0
- package/dist/api/http/multipart.d.ts +13 -0
- package/dist/api/http/multipart.js +28 -0
- package/dist/api/http/multipart.js.map +1 -0
- package/dist/api/normalizers/common.d.ts +7 -0
- package/dist/api/normalizers/common.js +106 -0
- package/dist/api/normalizers/common.js.map +1 -0
- package/dist/api/registry/EndpointRegistry.d.ts +10 -0
- package/dist/api/registry/EndpointRegistry.js +34 -0
- package/dist/api/registry/EndpointRegistry.js.map +1 -0
- package/dist/api/registry/definitions.d.ts +2 -0
- package/dist/api/registry/definitions.js +510 -0
- package/dist/api/registry/definitions.js.map +1 -0
- package/dist/api/registry/types.d.ts +23 -0
- package/dist/api/registry/types.js +2 -0
- package/dist/api/registry/types.js.map +1 -0
- package/dist/auth/AuthService.d.ts +24 -0
- package/dist/auth/AuthService.js +100 -0
- package/dist/auth/AuthService.js.map +1 -0
- package/dist/bin.d.ts +2 -0
- package/dist/bin.js +4 -0
- package/dist/bin.js.map +1 -0
- package/dist/cli/context.d.ts +39 -0
- package/dist/cli/context.js +117 -0
- package/dist/cli/context.js.map +1 -0
- package/dist/cli/output.d.ts +29 -0
- package/dist/cli/output.js +143 -0
- package/dist/cli/output.js.map +1 -0
- package/dist/cli/program.d.ts +4 -0
- package/dist/cli/program.js +60 -0
- package/dist/cli/program.js.map +1 -0
- package/dist/cli/runCli.d.ts +1 -0
- package/dist/cli/runCli.js +31 -0
- package/dist/cli/runCli.js.map +1 -0
- package/dist/commands/auth.d.ts +3 -0
- package/dist/commands/auth.js +73 -0
- package/dist/commands/auth.js.map +1 -0
- package/dist/commands/explorer.d.ts +3 -0
- package/dist/commands/explorer.js +86 -0
- package/dist/commands/explorer.js.map +1 -0
- package/dist/commands/framework.d.ts +3 -0
- package/dist/commands/framework.js +474 -0
- package/dist/commands/framework.js.map +1 -0
- package/dist/config/paths.d.ts +5 -0
- package/dist/config/paths.js +22 -0
- package/dist/config/paths.js.map +1 -0
- package/dist/index.d.ts +18 -0
- package/dist/index.js +16 -0
- package/dist/index.js.map +1 -0
- package/dist/menus/interactiveMenu.d.ts +2 -0
- package/dist/menus/interactiveMenu.js +1106 -0
- package/dist/menus/interactiveMenu.js.map +1 -0
- package/dist/menus/screenModel.d.ts +12 -0
- package/dist/menus/screenModel.js +152 -0
- package/dist/menus/screenModel.js.map +1 -0
- package/dist/prompts/authPrompts.d.ts +10 -0
- package/dist/prompts/authPrompts.js +46 -0
- package/dist/prompts/authPrompts.js.map +1 -0
- package/dist/services/ResourceService.d.ts +25 -0
- package/dist/services/ResourceService.js +80 -0
- package/dist/services/ResourceService.js.map +1 -0
- package/dist/services/frameworkConfigs.d.ts +16 -0
- package/dist/services/frameworkConfigs.js +108 -0
- package/dist/services/frameworkConfigs.js.map +1 -0
- package/dist/storage/CredentialStore.d.ts +11 -0
- package/dist/storage/CredentialStore.js +2 -0
- package/dist/storage/CredentialStore.js.map +1 -0
- package/dist/storage/FileCredentialStores.d.ts +18 -0
- package/dist/storage/FileCredentialStores.js +74 -0
- package/dist/storage/FileCredentialStores.js.map +1 -0
- package/dist/storage/FileStorage.d.ts +3 -0
- package/dist/storage/FileStorage.js +18 -0
- package/dist/storage/FileStorage.js.map +1 -0
- package/dist/storage/KeytarCredentialStore.d.ts +9 -0
- package/dist/storage/KeytarCredentialStore.js +40 -0
- package/dist/storage/KeytarCredentialStore.js.map +1 -0
- package/dist/storage/SessionRepository.d.ts +28 -0
- package/dist/storage/SessionRepository.js +151 -0
- package/dist/storage/SessionRepository.js.map +1 -0
- package/dist/types/domain.d.ts +85 -0
- package/dist/types/domain.js +2 -0
- package/dist/types/domain.js.map +1 -0
- package/dist/utils/constants.d.ts +10 -0
- package/dist/utils/constants.js +11 -0
- package/dist/utils/constants.js.map +1 -0
- package/dist/utils/errors.d.ts +2 -0
- package/dist/utils/errors.js +12 -0
- package/dist/utils/errors.js.map +1 -0
- package/dist/utils/files.d.ts +4 -0
- package/dist/utils/files.js +28 -0
- package/dist/utils/files.js.map +1 -0
- package/dist/utils/json.d.ts +2 -0
- package/dist/utils/json.js +10 -0
- package/dist/utils/json.js.map +1 -0
- package/dist/utils/mask.d.ts +2 -0
- package/dist/utils/mask.js +10 -0
- package/dist/utils/mask.js.map +1 -0
- package/dist/utils/query.d.ts +1 -0
- package/dist/utils/query.js +17 -0
- package/dist/utils/query.js.map +1 -0
- package/package.json +92 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interactiveMenu.js","sourceRoot":"","sources":["../../src/menus/interactiveMenu.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { FrameworkKey, ResourceKey } from '../types/domain.js';
|
|
2
|
+
export type TopLevelScreenKey = 'dashboard' | 'upload' | 'artifacts' | 'builds' | 'sessions' | 'media' | 'frameworks' | 'tools' | 'settings' | 'help' | 'exit';
|
|
3
|
+
export interface ScreenDescriptor {
|
|
4
|
+
key: TopLevelScreenKey;
|
|
5
|
+
title: string;
|
|
6
|
+
description: string;
|
|
7
|
+
helpTitle: string;
|
|
8
|
+
helpBody: string[];
|
|
9
|
+
}
|
|
10
|
+
export declare const topLevelScreens: ScreenDescriptor[];
|
|
11
|
+
export declare function describeResource(resource: ResourceKey): string;
|
|
12
|
+
export declare const frameworkHints: Record<Exclude<FrameworkKey, 'auth'>, string>;
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
export const topLevelScreens = [
|
|
2
|
+
{
|
|
3
|
+
key: 'dashboard',
|
|
4
|
+
title: 'Dashboard',
|
|
5
|
+
description: 'See account status, recent activity, and the fastest next actions.',
|
|
6
|
+
helpTitle: 'Dashboard',
|
|
7
|
+
helpBody: [
|
|
8
|
+
'Gives you a product-style overview instead of a raw API menu.',
|
|
9
|
+
'Shows current connection health, active framework, last action, and recent response context.',
|
|
10
|
+
'Use this as the default home screen when you are signed in.',
|
|
11
|
+
],
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
key: 'upload',
|
|
15
|
+
title: 'Upload',
|
|
16
|
+
description: 'Send a new app, test suite, package, or media asset to BrowserStack.',
|
|
17
|
+
helpTitle: 'Upload',
|
|
18
|
+
helpBody: [
|
|
19
|
+
'Best place to start when you want to send a new binary or media file.',
|
|
20
|
+
'Typical actions: upload app, upload test suite/package, upload media.',
|
|
21
|
+
'Supports local files and public URLs where the BrowserStack API allows them.',
|
|
22
|
+
],
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
key: 'artifacts',
|
|
26
|
+
title: 'Apps & Packages',
|
|
27
|
+
description: 'Browse, search, and remove uploaded apps or test artifacts.',
|
|
28
|
+
helpTitle: 'Apps & Packages',
|
|
29
|
+
helpBody: [
|
|
30
|
+
'Works with uploaded apps, test suites, and test packages.',
|
|
31
|
+
'Typical actions: list recent uploads, filter by framework, inspect IDs, delete outdated assets.',
|
|
32
|
+
'Useful when you want to reuse an existing app_url or clean up old artifacts.',
|
|
33
|
+
],
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
key: 'builds',
|
|
37
|
+
title: 'Builds',
|
|
38
|
+
description: 'Review recent automation runs and inspect their status.',
|
|
39
|
+
helpTitle: 'Builds',
|
|
40
|
+
helpBody: [
|
|
41
|
+
'Shows recent BrowserStack automation runs across supported frameworks.',
|
|
42
|
+
'Typical actions: list builds, inspect details, stop running v2 builds.',
|
|
43
|
+
'Use this when you need run-level status before opening individual sessions.',
|
|
44
|
+
],
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
key: 'sessions',
|
|
48
|
+
title: 'Sessions',
|
|
49
|
+
description: 'Open detailed execution sessions, logs, and linked artifacts.',
|
|
50
|
+
helpTitle: 'Sessions',
|
|
51
|
+
helpBody: [
|
|
52
|
+
'Best place to inspect a single test execution in detail.',
|
|
53
|
+
'Typical actions: list sessions under a build, inspect session IDs, update Appium session status.',
|
|
54
|
+
'Use build filters first for newer framework families.',
|
|
55
|
+
],
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
key: 'media',
|
|
59
|
+
title: 'Media',
|
|
60
|
+
description: 'Manage reusable media files for test runs.',
|
|
61
|
+
helpTitle: 'Media',
|
|
62
|
+
helpBody: [
|
|
63
|
+
'Upload, browse, and delete shared media assets.',
|
|
64
|
+
'Typical output includes media URLs that you plug into BrowserStack capabilities or run payloads.',
|
|
65
|
+
'Useful for camera, gallery, and file-selection test scenarios.',
|
|
66
|
+
],
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
key: 'frameworks',
|
|
70
|
+
title: 'Frameworks',
|
|
71
|
+
description: 'Explore framework-specific capabilities and switch your current focus.',
|
|
72
|
+
helpTitle: 'Frameworks',
|
|
73
|
+
helpBody: [
|
|
74
|
+
'Lets you set the current framework focus used by task-first screens.',
|
|
75
|
+
'Shows plain-English explanations for Appium, Maestro, Espresso, Flutter, XCUITest, Detox, and Media.',
|
|
76
|
+
'Useful when you mainly work in one framework day to day.',
|
|
77
|
+
],
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
key: 'tools',
|
|
81
|
+
title: 'Tools',
|
|
82
|
+
description: 'Open advanced workflows such as search, export, and raw endpoint exploration.',
|
|
83
|
+
helpTitle: 'Tools',
|
|
84
|
+
helpBody: [
|
|
85
|
+
'Advanced area for power users and troubleshooting.',
|
|
86
|
+
'Includes raw endpoint explorer, last-response export, and connection refresh actions.',
|
|
87
|
+
'Keeps low-level operations out of the default navigation path.',
|
|
88
|
+
],
|
|
89
|
+
},
|
|
90
|
+
{
|
|
91
|
+
key: 'settings',
|
|
92
|
+
title: 'Settings',
|
|
93
|
+
description: 'Manage credentials, account state, active framework, and display preferences.',
|
|
94
|
+
helpTitle: 'Settings',
|
|
95
|
+
helpBody: [
|
|
96
|
+
'Where account management belongs after onboarding.',
|
|
97
|
+
'Typical actions: reconnect account, switch account, logout, inspect auth source, review active framework.',
|
|
98
|
+
'Auth does not dominate the home screen once you are connected.',
|
|
99
|
+
],
|
|
100
|
+
},
|
|
101
|
+
{
|
|
102
|
+
key: 'help',
|
|
103
|
+
title: 'Help',
|
|
104
|
+
description: 'Learn the app structure, common workflows, and terminal navigation model.',
|
|
105
|
+
helpTitle: 'Help',
|
|
106
|
+
helpBody: [
|
|
107
|
+
'Explains what the product does, supported frameworks, auth behavior, and common workflows.',
|
|
108
|
+
'Also shows interaction hints for interactive mode and command mode.',
|
|
109
|
+
'Use this for onboarding and refresher guidance.',
|
|
110
|
+
],
|
|
111
|
+
},
|
|
112
|
+
{
|
|
113
|
+
key: 'exit',
|
|
114
|
+
title: 'Exit',
|
|
115
|
+
description: 'Close the interactive BrowserStack App Automate workspace.',
|
|
116
|
+
helpTitle: 'Exit',
|
|
117
|
+
helpBody: ['Leaves the interactive UI and returns you to your shell.'],
|
|
118
|
+
},
|
|
119
|
+
];
|
|
120
|
+
export function describeResource(resource) {
|
|
121
|
+
switch (resource) {
|
|
122
|
+
case 'apps':
|
|
123
|
+
return 'Uploaded application binaries used as the app under test.';
|
|
124
|
+
case 'test-suites':
|
|
125
|
+
return 'Uploaded framework-specific test suites or supporting archives.';
|
|
126
|
+
case 'test-packages':
|
|
127
|
+
return 'Uploaded package artifacts used by Flutter iOS workflows.';
|
|
128
|
+
case 'app-client':
|
|
129
|
+
return 'Uploaded Detox Android app-client bundles.';
|
|
130
|
+
case 'builds':
|
|
131
|
+
return 'Automation runs and build-level status summaries.';
|
|
132
|
+
case 'sessions':
|
|
133
|
+
return 'Execution sessions, logs, and device-level run details.';
|
|
134
|
+
case 'media':
|
|
135
|
+
return 'Reusable uploaded media files for supported test scenarios.';
|
|
136
|
+
case 'plan':
|
|
137
|
+
return 'Account plan usage and queue information.';
|
|
138
|
+
default:
|
|
139
|
+
return 'Authentication and account validation operations.';
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
export const frameworkHints = {
|
|
143
|
+
appium: 'Supports app uploads, recent apps, builds, and Appium session inspection.',
|
|
144
|
+
maestro: 'Works with apps, Maestro flows, build runs, and build-linked sessions.',
|
|
145
|
+
espresso: 'Focused on Android app binaries and Espresso test suite uploads.',
|
|
146
|
+
'flutter-android': 'Best for Flutter Android apps plus Android test APK workflows.',
|
|
147
|
+
'flutter-ios': 'Best for Flutter iOS package uploads, builds, and sessions.',
|
|
148
|
+
'detox-android': 'Focused on app upload, app-client upload, and session inspection.',
|
|
149
|
+
xcuitest: 'Focused on IPA uploads, XCUITest bundles, builds, and sessions.',
|
|
150
|
+
media: 'Shared media assets used by supported App Automate flows.',
|
|
151
|
+
};
|
|
152
|
+
//# sourceMappingURL=screenModel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"screenModel.js","sourceRoot":"","sources":["../../src/menus/screenModel.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { StorageStrategy } from '../types/domain.js';
|
|
2
|
+
export interface LoginPromptResult {
|
|
3
|
+
username: string;
|
|
4
|
+
accessKey: string;
|
|
5
|
+
storageStrategy: StorageStrategy;
|
|
6
|
+
allowPlainText: boolean;
|
|
7
|
+
masterKey?: string;
|
|
8
|
+
}
|
|
9
|
+
export declare function promptForLogin(): Promise<LoginPromptResult>;
|
|
10
|
+
export declare function promptForJsonPayload(message: string): Promise<unknown>;
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { confirm, input, password, select } from '@inquirer/prompts';
|
|
2
|
+
export async function promptForLogin() {
|
|
3
|
+
const username = await input({ message: 'BrowserStack username' });
|
|
4
|
+
const accessKey = await password({ message: 'BrowserStack access key', mask: true });
|
|
5
|
+
const storageStrategy = await select({
|
|
6
|
+
message: 'Credential storage',
|
|
7
|
+
choices: [
|
|
8
|
+
{ name: 'Auto', value: 'auto', description: 'Prefer OS keychain, else encrypted file' },
|
|
9
|
+
{ name: 'Keychain', value: 'keychain', description: 'OS keychain / credential store' },
|
|
10
|
+
{
|
|
11
|
+
name: 'Encrypted file',
|
|
12
|
+
value: 'encrypted-file',
|
|
13
|
+
description: 'AES-encrypted file in the user config directory',
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
name: 'Plain file',
|
|
17
|
+
value: 'plain-file',
|
|
18
|
+
description: 'Least secure. Requires explicit confirmation.',
|
|
19
|
+
},
|
|
20
|
+
],
|
|
21
|
+
});
|
|
22
|
+
let masterKey;
|
|
23
|
+
let allowPlainText = false;
|
|
24
|
+
if (storageStrategy === 'encrypted-file' || storageStrategy === 'auto') {
|
|
25
|
+
masterKey = await password({
|
|
26
|
+
message: 'Master key for encrypted storage (leave empty to rely on keychain/auto fallback if available)',
|
|
27
|
+
mask: true,
|
|
28
|
+
});
|
|
29
|
+
masterKey = masterKey || undefined;
|
|
30
|
+
}
|
|
31
|
+
if (storageStrategy === 'plain-file') {
|
|
32
|
+
allowPlainText = await confirm({
|
|
33
|
+
message: 'Store credentials as plain text in your user config directory?',
|
|
34
|
+
default: false,
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
return { username, accessKey, storageStrategy, allowPlainText, masterKey };
|
|
38
|
+
}
|
|
39
|
+
export async function promptForJsonPayload(message) {
|
|
40
|
+
const raw = await input({
|
|
41
|
+
message,
|
|
42
|
+
default: '{}',
|
|
43
|
+
});
|
|
44
|
+
return JSON.parse(raw);
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=authPrompts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"authPrompts.js","sourceRoot":"","sources":["../../src/prompts/authPrompts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAYrE,MAAM,CAAC,KAAK,UAAU,cAAc;IAClC,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,EAAE,OAAO,EAAE,uBAAuB,EAAE,CAAC,CAAC;IACnE,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,EAAE,OAAO,EAAE,yBAAyB,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IACrF,MAAM,eAAe,GAAG,MAAM,MAAM,CAAkB;QACpD,OAAO,EAAE,oBAAoB;QAC7B,OAAO,EAAE;YACP,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,yCAAyC,EAAE;YACvF,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,gCAAgC,EAAE;YACtF;gBACE,IAAI,EAAE,gBAAgB;gBACtB,KAAK,EAAE,gBAAgB;gBACvB,WAAW,EAAE,iDAAiD;aAC/D;YACD;gBACE,IAAI,EAAE,YAAY;gBAClB,KAAK,EAAE,YAAY;gBACnB,WAAW,EAAE,+CAA+C;aAC7D;SACF;KACF,CAAC,CAAC;IAEH,IAAI,SAA6B,CAAC;IAClC,IAAI,cAAc,GAAG,KAAK,CAAC;IAE3B,IAAI,eAAe,KAAK,gBAAgB,IAAI,eAAe,KAAK,MAAM,EAAE,CAAC;QACvE,SAAS,GAAG,MAAM,QAAQ,CAAC;YACzB,OAAO,EACL,+FAA+F;YACjG,IAAI,EAAE,IAAI;SACX,CAAC,CAAC;QACH,SAAS,GAAG,SAAS,IAAI,SAAS,CAAC;IACrC,CAAC;IAED,IAAI,eAAe,KAAK,YAAY,EAAE,CAAC;QACrC,cAAc,GAAG,MAAM,OAAO,CAAC;YAC7B,OAAO,EAAE,gEAAgE;YACzE,OAAO,EAAE,KAAK;SACf,CAAC,CAAC;IACL,CAAC;IAED,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,eAAe,EAAE,cAAc,EAAE,SAAS,EAAE,CAAC;AAC7E,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,OAAe;IACxD,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC;QACtB,OAAO;QACP,OAAO,EAAE,IAAI;KACd,CAAC,CAAC;IAEH,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AACzB,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { EndpointRegistry } from '../api/registry/EndpointRegistry.js';
|
|
2
|
+
import type { FrameworkKey, BuildSummary, OperationKey, ResourceKey, SessionSummary, UploadedArtifact } from '../types/domain.js';
|
|
3
|
+
import type { BrowserStackHttpClient } from '../api/http/BrowserStackHttpClient.js';
|
|
4
|
+
export interface ExecuteOperationInput {
|
|
5
|
+
framework: FrameworkKey;
|
|
6
|
+
resource: ResourceKey;
|
|
7
|
+
operation: OperationKey;
|
|
8
|
+
pathParams?: Record<string, string | number | undefined>;
|
|
9
|
+
query?: Record<string, unknown>;
|
|
10
|
+
body?: unknown;
|
|
11
|
+
filePath?: string;
|
|
12
|
+
url?: string;
|
|
13
|
+
fields?: Record<string, unknown>;
|
|
14
|
+
}
|
|
15
|
+
export declare class ResourceService {
|
|
16
|
+
private readonly registry;
|
|
17
|
+
private readonly http;
|
|
18
|
+
constructor(registry: EndpointRegistry, http: BrowserStackHttpClient);
|
|
19
|
+
getRegistry(): EndpointRegistry;
|
|
20
|
+
execute(input: ExecuteOperationInput): Promise<unknown>;
|
|
21
|
+
listArtifacts(framework: FrameworkKey, resource: 'apps' | 'test-suites' | 'test-packages' | 'media', query?: Record<string, unknown>): Promise<UploadedArtifact[]>;
|
|
22
|
+
listBuilds(framework: FrameworkKey, query?: Record<string, unknown>): Promise<BuildSummary[]>;
|
|
23
|
+
getBuildSessions(framework: FrameworkKey, buildId: string): Promise<SessionSummary[]>;
|
|
24
|
+
private executeResolved;
|
|
25
|
+
}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import { normalizeArtifactCollection, normalizeBuildCollection, normalizeSessionCollection } from '../api/normalizers/common.js';
|
|
2
|
+
import { assertReadableFile } from '../utils/files.js';
|
|
3
|
+
export class ResourceService {
|
|
4
|
+
registry;
|
|
5
|
+
http;
|
|
6
|
+
constructor(registry, http) {
|
|
7
|
+
this.registry = registry;
|
|
8
|
+
this.http = http;
|
|
9
|
+
}
|
|
10
|
+
getRegistry() {
|
|
11
|
+
return this.registry;
|
|
12
|
+
}
|
|
13
|
+
async execute(input) {
|
|
14
|
+
const resolved = this.registry.resolve(input.framework, input.resource, input.operation, input.pathParams ?? {});
|
|
15
|
+
return this.executeResolved(resolved.definition, resolved.path, input);
|
|
16
|
+
}
|
|
17
|
+
async listArtifacts(framework, resource, query) {
|
|
18
|
+
const response = await this.execute({
|
|
19
|
+
framework,
|
|
20
|
+
resource,
|
|
21
|
+
operation: 'list',
|
|
22
|
+
query,
|
|
23
|
+
});
|
|
24
|
+
return normalizeArtifactCollection(response);
|
|
25
|
+
}
|
|
26
|
+
async listBuilds(framework, query) {
|
|
27
|
+
const response = await this.execute({
|
|
28
|
+
framework,
|
|
29
|
+
resource: 'builds',
|
|
30
|
+
operation: 'list',
|
|
31
|
+
query,
|
|
32
|
+
});
|
|
33
|
+
return normalizeBuildCollection(response);
|
|
34
|
+
}
|
|
35
|
+
async getBuildSessions(framework, buildId) {
|
|
36
|
+
if (framework === 'appium') {
|
|
37
|
+
const response = await this.execute({
|
|
38
|
+
framework,
|
|
39
|
+
resource: 'sessions',
|
|
40
|
+
operation: 'list',
|
|
41
|
+
pathParams: { buildID: buildId },
|
|
42
|
+
});
|
|
43
|
+
return normalizeSessionCollection(response);
|
|
44
|
+
}
|
|
45
|
+
const response = await this.execute({
|
|
46
|
+
framework,
|
|
47
|
+
resource: 'builds',
|
|
48
|
+
operation: 'get',
|
|
49
|
+
pathParams: { buildId },
|
|
50
|
+
});
|
|
51
|
+
const build = (response ?? {});
|
|
52
|
+
const sessions = Array.isArray(build.sessions)
|
|
53
|
+
? build.sessions
|
|
54
|
+
: Array.isArray(build.device_sessions)
|
|
55
|
+
? build.device_sessions
|
|
56
|
+
: [];
|
|
57
|
+
return normalizeSessionCollection(sessions);
|
|
58
|
+
}
|
|
59
|
+
async executeResolved(definition, path, input) {
|
|
60
|
+
if (definition.requestKind === 'multipart') {
|
|
61
|
+
if (input.filePath) {
|
|
62
|
+
await assertReadableFile(input.filePath);
|
|
63
|
+
}
|
|
64
|
+
return this.http.uploadMultipart(path, {
|
|
65
|
+
filePath: input.filePath,
|
|
66
|
+
url: input.url,
|
|
67
|
+
fileFieldName: definition.upload?.fileFieldName,
|
|
68
|
+
urlFieldName: definition.upload?.urlFieldName,
|
|
69
|
+
fields: input.fields,
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
return this.http.requestJson({
|
|
73
|
+
method: definition.method,
|
|
74
|
+
path,
|
|
75
|
+
query: input.query,
|
|
76
|
+
data: input.body,
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
//# sourceMappingURL=ResourceService.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ResourceService.js","sourceRoot":"","sources":["../../src/services/ResourceService.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { FrameworkKey, ResourceKey } from '../types/domain.js';
|
|
2
|
+
export interface UploadValidationRule {
|
|
3
|
+
resource: ResourceKey;
|
|
4
|
+
extensions: string[];
|
|
5
|
+
description: string;
|
|
6
|
+
}
|
|
7
|
+
export interface FrameworkDescriptor {
|
|
8
|
+
key: FrameworkKey;
|
|
9
|
+
label: string;
|
|
10
|
+
docsSummary: string;
|
|
11
|
+
shortDescription: string;
|
|
12
|
+
uploadRules: UploadValidationRule[];
|
|
13
|
+
}
|
|
14
|
+
export declare const frameworkDescriptors: FrameworkDescriptor[];
|
|
15
|
+
export declare function getFrameworkDescriptor(framework: FrameworkKey): FrameworkDescriptor | undefined;
|
|
16
|
+
export declare function validateUploadPath(framework: FrameworkKey, resource: ResourceKey, inputPath: string): string[];
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
import path from 'node:path';
|
|
2
|
+
export const frameworkDescriptors = [
|
|
3
|
+
{
|
|
4
|
+
key: 'appium',
|
|
5
|
+
label: 'Appium',
|
|
6
|
+
docsSummary: 'Legacy Appium v1 endpoints for apps, builds, sessions, and plan usage.',
|
|
7
|
+
shortDescription: 'Cross-platform mobile automation with uploaded apps, builds, and Appium sessions.',
|
|
8
|
+
uploadRules: [
|
|
9
|
+
{
|
|
10
|
+
resource: 'apps',
|
|
11
|
+
extensions: ['.apk', '.aab', '.xapk', '.ipa'],
|
|
12
|
+
description: 'Android .apk/.aab/.xapk or iOS .ipa',
|
|
13
|
+
},
|
|
14
|
+
],
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
key: 'maestro',
|
|
18
|
+
label: 'Maestro',
|
|
19
|
+
docsSummary: 'v2 APIs for apps, test suites, builds, and sessions.',
|
|
20
|
+
shortDescription: 'Mobile UI flow execution with app uploads and Maestro flow artifacts.',
|
|
21
|
+
uploadRules: [
|
|
22
|
+
{ resource: 'apps', extensions: ['.apk', '.aab', '.ipa'], description: 'App bundle or IPA' },
|
|
23
|
+
{ resource: 'test-suites', extensions: ['.zip'], description: 'Maestro test suite archive' },
|
|
24
|
+
],
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
key: 'espresso',
|
|
28
|
+
label: 'Espresso',
|
|
29
|
+
docsSummary: 'v2 APIs for Android apps, test suites, builds, and sessions.',
|
|
30
|
+
shortDescription: 'Android-native test execution with app binaries and Espresso test suite uploads.',
|
|
31
|
+
uploadRules: [
|
|
32
|
+
{ resource: 'apps', extensions: ['.apk', '.aab'], description: 'Android .apk or .aab' },
|
|
33
|
+
{ resource: 'test-suites', extensions: ['.apk'], description: 'Espresso androidTest APK' },
|
|
34
|
+
],
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
key: 'flutter-android',
|
|
38
|
+
label: 'Flutter Android',
|
|
39
|
+
docsSummary: 'Flutter integration test APIs for Android apps, test suites, builds, and sessions.',
|
|
40
|
+
shortDescription: 'Flutter Android app and test workflow support on real devices.',
|
|
41
|
+
uploadRules: [
|
|
42
|
+
{ resource: 'apps', extensions: ['.apk', '.aab'], description: 'Android .apk or .aab' },
|
|
43
|
+
{ resource: 'test-suites', extensions: ['.apk'], description: 'Flutter Android test APK' },
|
|
44
|
+
],
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
key: 'flutter-ios',
|
|
48
|
+
label: 'Flutter iOS',
|
|
49
|
+
docsSummary: 'Flutter iOS test package APIs, builds, and sessions.',
|
|
50
|
+
shortDescription: 'iOS-side Flutter package, build, and session flows.',
|
|
51
|
+
uploadRules: [
|
|
52
|
+
{
|
|
53
|
+
resource: 'test-packages',
|
|
54
|
+
extensions: ['.zip'],
|
|
55
|
+
description: 'Flutter iOS test package archive',
|
|
56
|
+
},
|
|
57
|
+
],
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
key: 'detox-android',
|
|
61
|
+
label: 'Detox Android',
|
|
62
|
+
docsSummary: 'Current docs expose app upload, app-client upload, and session inspection.',
|
|
63
|
+
shortDescription: 'Android Detox workflows with app upload, app-client upload, and sessions.',
|
|
64
|
+
uploadRules: [
|
|
65
|
+
{ resource: 'apps', extensions: ['.apk', '.aab'], description: 'Detox Android app bundle' },
|
|
66
|
+
{
|
|
67
|
+
resource: 'app-client',
|
|
68
|
+
extensions: ['.apk', '.aab'],
|
|
69
|
+
description: 'Detox Android app client bundle',
|
|
70
|
+
},
|
|
71
|
+
],
|
|
72
|
+
},
|
|
73
|
+
{
|
|
74
|
+
key: 'xcuitest',
|
|
75
|
+
label: 'XCUITest',
|
|
76
|
+
docsSummary: 'v2 APIs for iOS apps, test suites, builds, and sessions.',
|
|
77
|
+
shortDescription: 'iOS-native automation with IPA uploads and XCUITest build and session views.',
|
|
78
|
+
uploadRules: [
|
|
79
|
+
{ resource: 'apps', extensions: ['.ipa'], description: 'iOS .ipa' },
|
|
80
|
+
{ resource: 'test-suites', extensions: ['.zip'], description: 'XCUITest test suite archive' },
|
|
81
|
+
],
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
key: 'media',
|
|
85
|
+
label: 'Media',
|
|
86
|
+
docsSummary: 'Upload and manage media files used by App Automate test runs.',
|
|
87
|
+
shortDescription: 'Shared media asset uploads for supported App Automate test scenarios.',
|
|
88
|
+
uploadRules: [{ resource: 'media', extensions: [], description: 'Any file format supported by your app flow' }],
|
|
89
|
+
},
|
|
90
|
+
];
|
|
91
|
+
export function getFrameworkDescriptor(framework) {
|
|
92
|
+
return frameworkDescriptors.find((descriptor) => descriptor.key === framework);
|
|
93
|
+
}
|
|
94
|
+
export function validateUploadPath(framework, resource, inputPath) {
|
|
95
|
+
const descriptor = getFrameworkDescriptor(framework);
|
|
96
|
+
const extension = path.extname(inputPath).toLowerCase();
|
|
97
|
+
const rule = descriptor?.uploadRules.find((candidate) => candidate.resource === resource);
|
|
98
|
+
if (!rule || rule.extensions.length === 0) {
|
|
99
|
+
return [];
|
|
100
|
+
}
|
|
101
|
+
if (rule.extensions.includes(extension)) {
|
|
102
|
+
return [];
|
|
103
|
+
}
|
|
104
|
+
return [
|
|
105
|
+
`Unexpected file extension "${extension || 'none'}" for ${descriptor?.label ?? framework} ${resource}. Expected: ${rule.extensions.join(', ')}`,
|
|
106
|
+
];
|
|
107
|
+
}
|
|
108
|
+
//# sourceMappingURL=frameworkConfigs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"frameworkConfigs.js","sourceRoot":"","sources":["../../src/services/frameworkConfigs.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { StoredSession } from '../types/domain.js';
|
|
2
|
+
export interface CredentialStore {
|
|
3
|
+
readonly kind: 'keychain' | 'encrypted-file' | 'plain-file';
|
|
4
|
+
save(session: StoredSession, options?: {
|
|
5
|
+
masterKey?: string;
|
|
6
|
+
}): Promise<void>;
|
|
7
|
+
load(options?: {
|
|
8
|
+
masterKey?: string;
|
|
9
|
+
}): Promise<StoredSession | null>;
|
|
10
|
+
clear(): Promise<void>;
|
|
11
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CredentialStore.js","sourceRoot":"","sources":["../../src/storage/CredentialStore.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { StoredSession } from '../types/domain.js';
|
|
2
|
+
import type { CredentialStore } from './CredentialStore.js';
|
|
3
|
+
export declare class EncryptedFileCredentialStore implements CredentialStore {
|
|
4
|
+
readonly kind: "encrypted-file";
|
|
5
|
+
save(session: StoredSession, options?: {
|
|
6
|
+
masterKey?: string;
|
|
7
|
+
}): Promise<void>;
|
|
8
|
+
load(options?: {
|
|
9
|
+
masterKey?: string;
|
|
10
|
+
}): Promise<StoredSession | null>;
|
|
11
|
+
clear(): Promise<void>;
|
|
12
|
+
}
|
|
13
|
+
export declare class PlainFileCredentialStore implements CredentialStore {
|
|
14
|
+
readonly kind: "plain-file";
|
|
15
|
+
save(session: StoredSession): Promise<void>;
|
|
16
|
+
load(): Promise<StoredSession | null>;
|
|
17
|
+
clear(): Promise<void>;
|
|
18
|
+
}
|