@sun-asterisk/sungen 1.0.20 → 1.0.21
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/dist/cli/commands/add.d.ts +3 -0
- package/dist/cli/commands/add.d.ts.map +1 -0
- package/dist/cli/commands/add.js +27 -0
- package/dist/cli/commands/add.js.map +1 -0
- package/dist/cli/commands/cache-clear.d.ts +3 -0
- package/dist/cli/commands/cache-clear.d.ts.map +1 -0
- package/dist/cli/commands/cache-clear.js +24 -0
- package/dist/cli/commands/cache-clear.js.map +1 -0
- package/dist/cli/commands/full.d.ts +3 -0
- package/dist/cli/commands/full.d.ts.map +1 -0
- package/dist/cli/commands/full.js +37 -0
- package/dist/cli/commands/full.js.map +1 -0
- package/dist/cli/commands/generate.d.ts +3 -0
- package/dist/cli/commands/generate.d.ts.map +1 -0
- package/dist/cli/commands/generate.js +53 -0
- package/dist/cli/commands/generate.js.map +1 -0
- package/dist/cli/commands/init.d.ts +3 -0
- package/dist/cli/commands/init.d.ts.map +1 -0
- package/dist/cli/commands/init.js +20 -0
- package/dist/cli/commands/init.js.map +1 -0
- package/dist/cli/commands/live-scan.d.ts +3 -0
- package/dist/cli/commands/live-scan.d.ts.map +1 -0
- package/dist/cli/commands/{live-scan-command.js → live-scan.js} +8 -15
- package/dist/cli/commands/live-scan.js.map +1 -0
- package/dist/cli/commands/makeauth.d.ts +3 -0
- package/dist/cli/commands/makeauth.d.ts.map +1 -0
- package/dist/cli/commands/makeauth.js +76 -0
- package/dist/cli/commands/makeauth.js.map +1 -0
- package/dist/cli/commands/map.d.ts +3 -0
- package/dist/cli/commands/map.d.ts.map +1 -0
- package/dist/cli/commands/map.js +93 -0
- package/dist/cli/commands/map.js.map +1 -0
- package/dist/cli/commands/validate.d.ts +3 -0
- package/dist/cli/commands/validate.d.ts.map +1 -0
- package/dist/cli/commands/validate.js +43 -0
- package/dist/cli/commands/validate.js.map +1 -0
- package/dist/cli/index.js +29 -442
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/types.d.ts +9 -0
- package/dist/cli/types.d.ts.map +1 -0
- package/dist/cli/types.js +7 -0
- package/dist/cli/types.js.map +1 -0
- package/dist/cli/utils.d.ts +6 -0
- package/dist/cli/utils.d.ts.map +1 -0
- package/dist/cli/utils.js +101 -0
- package/dist/cli/utils.js.map +1 -0
- package/dist/core/live-scanner/matrix-reader.d.ts.map +1 -1
- package/dist/core/live-scanner/matrix-reader.js +2 -40
- package/dist/core/live-scanner/matrix-reader.js.map +1 -1
- package/dist/core/live-scanner/step-replayer.d.ts.map +1 -1
- package/dist/core/live-scanner/step-replayer.js +7 -0
- package/dist/core/live-scanner/step-replayer.js.map +1 -1
- package/dist/core/validator/selector-validator.d.ts.map +1 -1
- package/dist/core/validator/selector-validator.js +2 -1
- package/dist/core/validator/selector-validator.js.map +1 -1
- package/dist/generators/scaffold-generator/index.d.ts +2 -1
- package/dist/generators/scaffold-generator/index.d.ts.map +1 -1
- package/dist/generators/scaffold-generator/index.js +21 -1
- package/dist/generators/scaffold-generator/index.js.map +1 -1
- package/dist/generators/test-generator/adapters/playwright/templates/steps/actions/click-select-action.hbs +2 -0
- package/dist/generators/test-generator/adapters/playwright/templates/steps/actions/wait-for-role-with-data.hbs +1 -0
- package/dist/generators/test-generator/adapters/playwright/templates/steps/actions/wait-for-role.hbs +1 -0
- package/dist/generators/test-generator/adapters/playwright/templates/steps/assertions/checked-assertion.hbs +2 -1
- package/dist/generators/test-generator/adapters/playwright/templates/steps/assertions/column-cell-assertion.hbs +3 -0
- package/dist/generators/test-generator/adapters/playwright/templates/steps/assertions/contain-text-assertion.hbs +2 -1
- package/dist/generators/test-generator/adapters/playwright/templates/steps/assertions/count-assertion.hbs +2 -1
- package/dist/generators/test-generator/adapters/playwright/templates/steps/assertions/disabled-assertion.hbs +2 -1
- package/dist/generators/test-generator/adapters/playwright/templates/steps/assertions/disabled-with-filter-assertion.hbs +2 -1
- package/dist/generators/test-generator/adapters/playwright/templates/steps/assertions/disabled-with-role-variable-assertion.hbs +4 -3
- package/dist/generators/test-generator/adapters/playwright/templates/steps/assertions/disabled-with-variable-assertion.hbs +2 -1
- package/dist/generators/test-generator/adapters/playwright/templates/steps/assertions/empty-assertion.hbs +2 -1
- package/dist/generators/test-generator/adapters/playwright/templates/steps/assertions/enabled-assertion.hbs +2 -1
- package/dist/generators/test-generator/adapters/playwright/templates/steps/assertions/focused-assertion.hbs +2 -1
- package/dist/generators/test-generator/adapters/playwright/templates/steps/assertions/have-text-assertion.hbs +2 -1
- package/dist/generators/test-generator/adapters/playwright/templates/steps/assertions/hidden-dialog-heading-assertion.hbs +2 -0
- package/dist/generators/test-generator/adapters/playwright/templates/steps/assertions/hidden-with-filter-assertion.hbs +2 -1
- package/dist/generators/test-generator/adapters/playwright/templates/steps/assertions/hidden-with-role-variable-assertion.hbs +4 -3
- package/dist/generators/test-generator/adapters/playwright/templates/steps/assertions/hidden-with-variable-assertion.hbs +2 -1
- package/dist/generators/test-generator/adapters/playwright/templates/steps/assertions/is-hidden-assertion.hbs +1 -0
- package/dist/generators/test-generator/adapters/playwright/templates/steps/assertions/list-item-count-assertion.hbs +2 -1
- package/dist/generators/test-generator/adapters/playwright/templates/steps/assertions/not-checked-assertion.hbs +2 -1
- package/dist/generators/test-generator/adapters/playwright/templates/steps/assertions/page-assertion.hbs +1 -0
- package/dist/generators/test-generator/adapters/playwright/templates/steps/assertions/visible-assertion.hbs +2 -1
- package/dist/generators/test-generator/adapters/playwright/templates/steps/assertions/visible-dialog-heading-assertion.hbs +2 -0
- package/dist/generators/test-generator/adapters/playwright/templates/steps/assertions/visible-with-locator-variable-assertion.hbs +2 -1
- package/dist/generators/test-generator/adapters/playwright/templates/steps/assertions/visible-with-role-variable-assertion.hbs +4 -3
- package/dist/generators/test-generator/adapters/playwright/templates/steps/assertions/visible-with-value-assertion.hbs +2 -1
- package/dist/generators/test-generator/adapters/playwright/templates/steps/assertions/visible-with-variable-assertion.hbs +1 -0
- package/dist/generators/test-generator/adapters/playwright/templates/steps/navigation/navigation.hbs +1 -1
- package/dist/generators/test-generator/adapters/playwright/templates/steps/navigation/wait-for-element-with-text.hbs +1 -1
- package/dist/generators/test-generator/patterns/assertion-patterns.d.ts.map +1 -1
- package/dist/generators/test-generator/patterns/assertion-patterns.js +95 -58
- package/dist/generators/test-generator/patterns/assertion-patterns.js.map +1 -1
- package/dist/generators/test-generator/patterns/form-patterns.d.ts +0 -2
- package/dist/generators/test-generator/patterns/form-patterns.d.ts.map +1 -1
- package/dist/generators/test-generator/patterns/form-patterns.js +34 -47
- package/dist/generators/test-generator/patterns/form-patterns.js.map +1 -1
- package/dist/generators/test-generator/patterns/index.d.ts +3 -1
- package/dist/generators/test-generator/patterns/index.d.ts.map +1 -1
- package/dist/generators/test-generator/patterns/index.js +20 -3
- package/dist/generators/test-generator/patterns/index.js.map +1 -1
- package/dist/generators/test-generator/patterns/interaction-patterns.d.ts +0 -1
- package/dist/generators/test-generator/patterns/interaction-patterns.d.ts.map +1 -1
- package/dist/generators/test-generator/patterns/interaction-patterns.js +44 -85
- package/dist/generators/test-generator/patterns/interaction-patterns.js.map +1 -1
- package/dist/generators/test-generator/patterns/legacy-patterns.d.ts +7 -0
- package/dist/generators/test-generator/patterns/legacy-patterns.d.ts.map +1 -0
- package/dist/generators/test-generator/patterns/legacy-patterns.js +98 -0
- package/dist/generators/test-generator/patterns/legacy-patterns.js.map +1 -0
- package/dist/generators/test-generator/patterns/navigation-patterns.d.ts +0 -2
- package/dist/generators/test-generator/patterns/navigation-patterns.d.ts.map +1 -1
- package/dist/generators/test-generator/patterns/navigation-patterns.js +14 -42
- package/dist/generators/test-generator/patterns/navigation-patterns.js.map +1 -1
- package/dist/generators/test-generator/patterns/setup-patterns.d.ts +0 -1
- package/dist/generators/test-generator/patterns/setup-patterns.d.ts.map +1 -1
- package/dist/generators/test-generator/patterns/setup-patterns.js +23 -35
- package/dist/generators/test-generator/patterns/setup-patterns.js.map +1 -1
- package/dist/generators/test-generator/patterns/types.d.ts +18 -3
- package/dist/generators/test-generator/patterns/types.d.ts.map +1 -1
- package/dist/generators/test-generator/step-mapper.d.ts +0 -15
- package/dist/generators/test-generator/step-mapper.d.ts.map +1 -1
- package/dist/generators/test-generator/step-mapper.js +4 -106
- package/dist/generators/test-generator/step-mapper.js.map +1 -1
- package/dist/{executor/test-generator.d.ts → generators/test-generator/types.d.ts} +4 -25
- package/dist/generators/test-generator/types.d.ts.map +1 -0
- package/dist/generators/test-generator/types.js +106 -0
- package/dist/generators/test-generator/types.js.map +1 -0
- package/dist/generators/test-generator/utils/data-resolver.d.ts.map +1 -1
- package/dist/generators/test-generator/utils/data-resolver.js +8 -17
- package/dist/generators/test-generator/utils/data-resolver.js.map +1 -1
- package/dist/generators/test-generator/utils/selector-resolver.d.ts.map +1 -1
- package/dist/generators/test-generator/utils/selector-resolver.js +10 -18
- package/dist/generators/test-generator/utils/selector-resolver.js.map +1 -1
- package/dist/orchestrator/cache-manager.d.ts +1 -23
- package/dist/orchestrator/cache-manager.d.ts.map +1 -1
- package/dist/orchestrator/cache-manager.js +1 -87
- package/dist/orchestrator/cache-manager.js.map +1 -1
- package/dist/orchestrator/pipeline.d.ts +11 -28
- package/dist/orchestrator/pipeline.d.ts.map +1 -1
- package/dist/orchestrator/pipeline.js +52 -371
- package/dist/orchestrator/pipeline.js.map +1 -1
- package/dist/orchestrator/reporter.d.ts +1 -1
- package/dist/orchestrator/reporter.d.ts.map +1 -1
- package/dist/orchestrator/screen-manager.js +1 -1
- package/dist/orchestrator/screen-manager.js.map +1 -1
- package/dist/utils/feature-finder.d.ts +9 -0
- package/dist/utils/feature-finder.d.ts.map +1 -0
- package/dist/utils/feature-finder.js +67 -0
- package/dist/utils/feature-finder.js.map +1 -0
- package/dist/utils/screen-paths.d.ts +10 -0
- package/dist/utils/screen-paths.d.ts.map +1 -0
- package/dist/utils/screen-paths.js +73 -0
- package/dist/utils/screen-paths.js.map +1 -0
- package/dist/utils/selector-loader.d.ts +6 -0
- package/dist/utils/selector-loader.d.ts.map +1 -0
- package/dist/utils/selector-loader.js +20 -0
- package/dist/utils/selector-loader.js.map +1 -0
- package/dist/utils/selector-types.d.ts +7 -0
- package/dist/utils/selector-types.d.ts.map +1 -0
- package/dist/utils/selector-types.js +19 -0
- package/dist/utils/selector-types.js.map +1 -0
- package/dist/utils/test-data-loader.d.ts +6 -0
- package/dist/utils/test-data-loader.d.ts.map +1 -0
- package/dist/utils/test-data-loader.js +20 -0
- package/dist/utils/test-data-loader.js.map +1 -0
- package/dist/utils/yaml-io.d.ts +14 -0
- package/dist/utils/yaml-io.d.ts.map +1 -0
- package/dist/utils/yaml-io.js +72 -0
- package/dist/utils/yaml-io.js.map +1 -0
- package/package.json +1 -1
- package/src/cli/commands/add.ts +25 -0
- package/src/cli/commands/cache-clear.ts +22 -0
- package/src/cli/commands/full.ts +35 -0
- package/src/cli/commands/generate.ts +55 -0
- package/src/cli/commands/init.ts +17 -0
- package/src/cli/commands/{live-scan-command.ts → live-scan.ts} +8 -17
- package/src/cli/commands/makeauth.ts +77 -0
- package/src/cli/commands/map.ts +97 -0
- package/src/cli/commands/validate.ts +43 -0
- package/src/cli/index.ts +32 -473
- package/src/cli/types.ts +9 -0
- package/src/cli/utils.ts +106 -0
- package/src/core/live-scanner/matrix-reader.ts +2 -8
- package/src/core/live-scanner/step-replayer.ts +7 -0
- package/src/core/validator/selector-validator.ts +3 -2
- package/src/generators/scaffold-generator/index.ts +23 -2
- package/src/generators/test-generator/adapters/playwright/templates/steps/actions/click-select-action.hbs +2 -0
- package/src/generators/test-generator/adapters/playwright/templates/steps/actions/wait-for-role-with-data.hbs +1 -0
- package/src/generators/test-generator/adapters/playwright/templates/steps/actions/wait-for-role.hbs +1 -0
- package/src/generators/test-generator/adapters/playwright/templates/steps/assertions/checked-assertion.hbs +2 -1
- package/src/generators/test-generator/adapters/playwright/templates/steps/assertions/column-cell-assertion.hbs +3 -0
- package/src/generators/test-generator/adapters/playwright/templates/steps/assertions/contain-text-assertion.hbs +2 -1
- package/src/generators/test-generator/adapters/playwright/templates/steps/assertions/count-assertion.hbs +2 -1
- package/src/generators/test-generator/adapters/playwright/templates/steps/assertions/disabled-assertion.hbs +2 -1
- package/src/generators/test-generator/adapters/playwright/templates/steps/assertions/disabled-with-filter-assertion.hbs +2 -1
- package/src/generators/test-generator/adapters/playwright/templates/steps/assertions/disabled-with-role-variable-assertion.hbs +4 -3
- package/src/generators/test-generator/adapters/playwright/templates/steps/assertions/disabled-with-variable-assertion.hbs +2 -1
- package/src/generators/test-generator/adapters/playwright/templates/steps/assertions/empty-assertion.hbs +2 -1
- package/src/generators/test-generator/adapters/playwright/templates/steps/assertions/enabled-assertion.hbs +2 -1
- package/src/generators/test-generator/adapters/playwright/templates/steps/assertions/focused-assertion.hbs +2 -1
- package/src/generators/test-generator/adapters/playwright/templates/steps/assertions/have-text-assertion.hbs +2 -1
- package/src/generators/test-generator/adapters/playwright/templates/steps/assertions/hidden-dialog-heading-assertion.hbs +2 -0
- package/src/generators/test-generator/adapters/playwright/templates/steps/assertions/hidden-with-filter-assertion.hbs +2 -1
- package/src/generators/test-generator/adapters/playwright/templates/steps/assertions/hidden-with-role-variable-assertion.hbs +4 -3
- package/src/generators/test-generator/adapters/playwright/templates/steps/assertions/hidden-with-variable-assertion.hbs +2 -1
- package/src/generators/test-generator/adapters/playwright/templates/steps/assertions/is-hidden-assertion.hbs +1 -0
- package/src/generators/test-generator/adapters/playwright/templates/steps/assertions/list-item-count-assertion.hbs +2 -1
- package/src/generators/test-generator/adapters/playwright/templates/steps/assertions/not-checked-assertion.hbs +2 -1
- package/src/generators/test-generator/adapters/playwright/templates/steps/assertions/page-assertion.hbs +1 -0
- package/src/generators/test-generator/adapters/playwright/templates/steps/assertions/visible-assertion.hbs +2 -1
- package/src/generators/test-generator/adapters/playwright/templates/steps/assertions/visible-dialog-heading-assertion.hbs +2 -0
- package/src/generators/test-generator/adapters/playwright/templates/steps/assertions/visible-with-locator-variable-assertion.hbs +2 -1
- package/src/generators/test-generator/adapters/playwright/templates/steps/assertions/visible-with-role-variable-assertion.hbs +4 -3
- package/src/generators/test-generator/adapters/playwright/templates/steps/assertions/visible-with-value-assertion.hbs +2 -1
- package/src/generators/test-generator/adapters/playwright/templates/steps/assertions/visible-with-variable-assertion.hbs +1 -0
- package/src/generators/test-generator/adapters/playwright/templates/steps/navigation/navigation.hbs +1 -1
- package/src/generators/test-generator/adapters/playwright/templates/steps/navigation/wait-for-element-with-text.hbs +1 -1
- package/src/generators/test-generator/patterns/assertion-patterns.ts +102 -62
- package/src/generators/test-generator/patterns/form-patterns.ts +38 -60
- package/src/generators/test-generator/patterns/index.ts +22 -4
- package/src/generators/test-generator/patterns/interaction-patterns.ts +47 -107
- package/src/generators/test-generator/patterns/legacy-patterns.ts +104 -0
- package/src/generators/test-generator/patterns/navigation-patterns.ts +27 -69
- package/src/generators/test-generator/patterns/setup-patterns.ts +23 -41
- package/src/generators/test-generator/patterns/types.ts +26 -9
- package/src/generators/test-generator/step-mapper.ts +4 -124
- package/src/generators/test-generator/types.ts +131 -0
- package/src/generators/test-generator/utils/data-resolver.ts +8 -13
- package/src/generators/test-generator/utils/selector-resolver.ts +15 -17
- package/src/orchestrator/cache-manager.ts +1 -107
- package/src/orchestrator/pipeline.ts +58 -433
- package/src/orchestrator/reporter.ts +1 -1
- package/src/orchestrator/screen-manager.ts +1 -1
- package/src/utils/feature-finder.ts +33 -0
- package/src/utils/screen-paths.ts +37 -0
- package/src/utils/selector-loader.ts +23 -0
- package/src/utils/selector-types.ts +17 -0
- package/src/utils/test-data-loader.ts +23 -0
- package/src/utils/yaml-io.ts +33 -0
- package/dist/cli/commands/auto-tag-command.d.ts +0 -8
- package/dist/cli/commands/auto-tag-command.d.ts.map +0 -1
- package/dist/cli/commands/auto-tag-command.js +0 -104
- package/dist/cli/commands/auto-tag-command.js.map +0 -1
- package/dist/cli/commands/live-scan-command.d.ts +0 -9
- package/dist/cli/commands/live-scan-command.d.ts.map +0 -1
- package/dist/cli/commands/live-scan-command.js.map +0 -1
- package/dist/executor/playwright/playwright-generator.d.ts +0 -33
- package/dist/executor/playwright/playwright-generator.d.ts.map +0 -1
- package/dist/executor/playwright/playwright-generator.js +0 -136
- package/dist/executor/playwright/playwright-generator.js.map +0 -1
- package/dist/executor/test-generator.d.ts.map +0 -1
- package/dist/executor/test-generator.js +0 -30
- package/dist/executor/test-generator.js.map +0 -1
- package/dist/generators/cli.d.ts +0 -7
- package/dist/generators/cli.d.ts.map +0 -1
- package/dist/generators/cli.js +0 -570
- package/dist/generators/cli.js.map +0 -1
- package/dist/input/cli-adapter.d.ts +0 -75
- package/dist/input/cli-adapter.d.ts.map +0 -1
- package/dist/input/cli-adapter.js +0 -218
- package/dist/input/cli-adapter.js.map +0 -1
- package/dist/input/config-adapter.d.ts +0 -25
- package/dist/input/config-adapter.d.ts.map +0 -1
- package/dist/input/config-adapter.js +0 -70
- package/dist/input/config-adapter.js.map +0 -1
- package/dist/input/input-adapter.d.ts +0 -28
- package/dist/input/input-adapter.d.ts.map +0 -1
- package/dist/input/input-adapter.js +0 -17
- package/dist/input/input-adapter.js.map +0 -1
- package/dist/input/vscode-adapter.d.ts +0 -62
- package/dist/input/vscode-adapter.d.ts.map +0 -1
- package/dist/input/vscode-adapter.js +0 -64
- package/dist/input/vscode-adapter.js.map +0 -1
- package/dist/tools/auto-tagger.d.ts +0 -107
- package/dist/tools/auto-tagger.d.ts.map +0 -1
- package/dist/tools/auto-tagger.js +0 -502
- package/dist/tools/auto-tagger.js.map +0 -1
- package/src/cli/commands/auto-tag-command.ts +0 -80
- package/src/executor/playwright/playwright-generator.ts +0 -125
- package/src/executor/test-generator.ts +0 -90
- package/src/generators/cli.ts +0 -640
- package/src/input/cli-adapter.ts +0 -233
- package/src/input/config-adapter.ts +0 -71
- package/src/input/input-adapter.ts +0 -32
- package/src/input/vscode-adapter.ts +0 -90
- package/src/tools/auto-tagger.ts +0 -572
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* CLI Input Adapter
|
|
3
|
-
* Parses command-line arguments into CLIOptions
|
|
4
|
-
*/
|
|
5
|
-
import { Command } from 'commander';
|
|
6
|
-
import { CLIOptions } from '../config/config-schema';
|
|
7
|
-
import { InputAdapter, InputSource } from './input-adapter';
|
|
8
|
-
export declare class CLIAdapter implements InputAdapter {
|
|
9
|
-
name: InputSource;
|
|
10
|
-
/**
|
|
11
|
-
* Parse CLI arguments into options
|
|
12
|
-
*/
|
|
13
|
-
parse(argv?: string[]): CLIOptions;
|
|
14
|
-
/**
|
|
15
|
-
* Validate CLI arguments format
|
|
16
|
-
*/
|
|
17
|
-
validate(): boolean;
|
|
18
|
-
/**
|
|
19
|
-
* Create commander program with all commands
|
|
20
|
-
*/
|
|
21
|
-
createProgram(): Command;
|
|
22
|
-
/**
|
|
23
|
-
* Add discover command
|
|
24
|
-
*/
|
|
25
|
-
addDiscoverCommand(program: Command): Command;
|
|
26
|
-
/**
|
|
27
|
-
* Add generate-tests command
|
|
28
|
-
*/
|
|
29
|
-
addGenerateTestsCommand(program: Command): Command;
|
|
30
|
-
/**
|
|
31
|
-
* Add map command (generate selector and test-data YAML from Gherkin)
|
|
32
|
-
*/
|
|
33
|
-
addMapCommand(program: Command): Command;
|
|
34
|
-
/**
|
|
35
|
-
* Add generate command (test code generation)
|
|
36
|
-
*/
|
|
37
|
-
addGenerateCommand(program: Command): Command;
|
|
38
|
-
/**
|
|
39
|
-
* Add full command
|
|
40
|
-
*/
|
|
41
|
-
addFullCommand(program: Command): Command;
|
|
42
|
-
/**
|
|
43
|
-
* Add init command
|
|
44
|
-
*/
|
|
45
|
-
addInitCommand(program: Command): Command;
|
|
46
|
-
/**
|
|
47
|
-
* Add cache-clear command
|
|
48
|
-
*/
|
|
49
|
-
addCacheCommand(program: Command): Command;
|
|
50
|
-
/**
|
|
51
|
-
* Add auto-tag command
|
|
52
|
-
*/
|
|
53
|
-
addAutoTagCommand(program: Command): Command;
|
|
54
|
-
/**
|
|
55
|
-
* Add live-scan command
|
|
56
|
-
*/
|
|
57
|
-
addLiveScanCommand(program: Command): Command;
|
|
58
|
-
/**
|
|
59
|
-
* Add add --screen command
|
|
60
|
-
*/
|
|
61
|
-
addAddScreenCommand(program: Command): Command;
|
|
62
|
-
/**
|
|
63
|
-
* Add validate command
|
|
64
|
-
*/
|
|
65
|
-
addValidateCommand(program: Command): Command;
|
|
66
|
-
/**
|
|
67
|
-
* Add makeauth command - Generate auth state for E2E tests
|
|
68
|
-
*/
|
|
69
|
-
addMakeAuthCommand(program: Command): Command;
|
|
70
|
-
/**
|
|
71
|
-
* Extract options from commander Command
|
|
72
|
-
*/
|
|
73
|
-
extractOptions(command: Command): CLIOptions;
|
|
74
|
-
}
|
|
75
|
-
//# sourceMappingURL=cli-adapter.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cli-adapter.d.ts","sourceRoot":"","sources":["../../src/input/cli-adapter.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE5D,qBAAa,UAAW,YAAW,YAAY;IAC7C,IAAI,cAAmB;IAEvB;;OAEG;IACH,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,UAAU;IAMlC;;OAEG;IACH,QAAQ,IAAI,OAAO;IAKnB;;OAEG;IACH,aAAa,IAAI,OAAO;IAiBxB;;OAEG;IACH,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO;IAY7C;;OAEG;IACH,uBAAuB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO;IAQlD;;OAEG;IACH,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO;IAcxC;;OAEG;IACH,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO;IAW7C;;OAEG;IACH,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO;IAYzC;;OAEG;IACH,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO;IAMzC;;OAEG;IACH,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO;IAM1C;;OAEG;IACH,iBAAiB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO;IAU5C;;OAEG;IACH,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO;IAU7C;;OAEG;IACH,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO;IAS9C;;OAEG;IACH,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO;IAS7C;;OAEG;IACH,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO;IAgB7C;;OAEG;IACH,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,UAAU;CAqB7C"}
|
|
@@ -1,218 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* CLI Input Adapter
|
|
4
|
-
* Parses command-line arguments into CLIOptions
|
|
5
|
-
*/
|
|
6
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
-
exports.CLIAdapter = void 0;
|
|
8
|
-
const commander_1 = require("commander");
|
|
9
|
-
const input_adapter_1 = require("./input-adapter");
|
|
10
|
-
class CLIAdapter {
|
|
11
|
-
constructor() {
|
|
12
|
-
this.name = input_adapter_1.InputSource.CLI;
|
|
13
|
-
}
|
|
14
|
-
/**
|
|
15
|
-
* Parse CLI arguments into options
|
|
16
|
-
*/
|
|
17
|
-
parse(argv) {
|
|
18
|
-
// This will be called by commander when parsing CLI
|
|
19
|
-
// For now, return empty options (will be populated by commander)
|
|
20
|
-
return {};
|
|
21
|
-
}
|
|
22
|
-
/**
|
|
23
|
-
* Validate CLI arguments format
|
|
24
|
-
*/
|
|
25
|
-
validate() {
|
|
26
|
-
// Commander handles validation
|
|
27
|
-
return true;
|
|
28
|
-
}
|
|
29
|
-
/**
|
|
30
|
-
* Create commander program with all commands
|
|
31
|
-
*/
|
|
32
|
-
createProgram() {
|
|
33
|
-
const program = new commander_1.Command();
|
|
34
|
-
program
|
|
35
|
-
.name('sungen')
|
|
36
|
-
.description('AI-Native E2E Test Generator - Generate Playwright tests from Gherkin features')
|
|
37
|
-
.version('1.0.20');
|
|
38
|
-
// Global options
|
|
39
|
-
program
|
|
40
|
-
.option('-c, --config <path>', 'Path to custom config file')
|
|
41
|
-
.option('-v, --verbose', 'Enable verbose logging')
|
|
42
|
-
.option('-f, --force', 'Force regeneration, bypass cache');
|
|
43
|
-
return program;
|
|
44
|
-
}
|
|
45
|
-
/**
|
|
46
|
-
* Add discover command
|
|
47
|
-
*/
|
|
48
|
-
addDiscoverCommand(program) {
|
|
49
|
-
return program
|
|
50
|
-
.command('discover')
|
|
51
|
-
.description('Discover UI elements and generate UI model')
|
|
52
|
-
.requiredOption('-s, --screen <name>', 'Screen name to discover')
|
|
53
|
-
.option('-d, --depth <number>', 'Component scan depth (default: unlimited)', '999')
|
|
54
|
-
.option('-f, --force', 'Force rescan, bypass cache')
|
|
55
|
-
.option('--mode <type>', 'Mapping mode: hybrid, ai-only, heuristic-only')
|
|
56
|
-
.option('--ai-only', 'Force AI-only mapping (bypass heuristics)')
|
|
57
|
-
.option('--heuristic-only', 'Force heuristic-only mapping (no AI fallback)');
|
|
58
|
-
}
|
|
59
|
-
/**
|
|
60
|
-
* Add generate-tests command
|
|
61
|
-
*/
|
|
62
|
-
addGenerateTestsCommand(program) {
|
|
63
|
-
return program
|
|
64
|
-
.command('generate-tests')
|
|
65
|
-
.description('Generate E2E test scripts from Gherkin features')
|
|
66
|
-
.option('--ai-mapper', 'Enable AI fallback for unknown Gherkin patterns')
|
|
67
|
-
.option('--framework <name>', 'Test framework (playwright, appium, integration)', 'playwright');
|
|
68
|
-
}
|
|
69
|
-
/**
|
|
70
|
-
* Add map command (generate selector and test-data YAML from Gherkin)
|
|
71
|
-
*/
|
|
72
|
-
addMapCommand(program) {
|
|
73
|
-
return program
|
|
74
|
-
.command('map')
|
|
75
|
-
.description('Generate selector and test-data YAML from Gherkin feature files')
|
|
76
|
-
.option('-s, --screen <name>', 'Screen name (reads from qa/screens/<name>/features/)')
|
|
77
|
-
.option('--file <path>', 'Single feature file path (generates selectors next to features folder)')
|
|
78
|
-
.option('-o, --output <dir>', 'Output directory for generated files')
|
|
79
|
-
.option('-f, --force', 'Force overwrite existing YAML files and rescan all elements')
|
|
80
|
-
.option('--skip-live-scan', 'Skip live-scan before mapping (live-scan runs by default)')
|
|
81
|
-
.option('--headed', 'Launch browser in headed mode during live-scan', false)
|
|
82
|
-
.option('--auth-dir <path>', 'Auth storage state directory for live-scan', 'specs/.auth')
|
|
83
|
-
.option('-v, --verbose', 'Detailed output');
|
|
84
|
-
}
|
|
85
|
-
/**
|
|
86
|
-
* Add generate command (test code generation)
|
|
87
|
-
*/
|
|
88
|
-
addGenerateCommand(program) {
|
|
89
|
-
return program
|
|
90
|
-
.command('generate')
|
|
91
|
-
.description('Generate Playwright test code from features')
|
|
92
|
-
.option('--ai-mapper', 'Enable AI fallback for unknown Gherkin patterns')
|
|
93
|
-
.option('--framework <name>', 'Test framework (playwright, appium, integration)', 'playwright')
|
|
94
|
-
.option('-s, --screen <name>', 'Filter generation to specific screen')
|
|
95
|
-
.option('-f, --force', 'Force regeneration, bypass cache')
|
|
96
|
-
.option('--skip-validation', 'Skip validation before generation');
|
|
97
|
-
}
|
|
98
|
-
/**
|
|
99
|
-
* Add full command
|
|
100
|
-
*/
|
|
101
|
-
addFullCommand(program) {
|
|
102
|
-
return program
|
|
103
|
-
.command('full')
|
|
104
|
-
.description('Run full pipeline (discover + map + generate)')
|
|
105
|
-
.option('-s, --screen <name>', 'Process specific screen (optional)')
|
|
106
|
-
.option('-d, --depth <number>', 'Component scan depth (default: unlimited)', '999')
|
|
107
|
-
.option('-f, --force', 'Force regeneration, bypass cache')
|
|
108
|
-
.option('--mode <type>', 'Mapping mode: hybrid, ai-only, heuristic-only')
|
|
109
|
-
.option('--ai-only', 'Force AI-only mapping (bypass heuristics)')
|
|
110
|
-
.option('--heuristic-only', 'Force heuristic-only mapping (no AI fallback)');
|
|
111
|
-
}
|
|
112
|
-
/**
|
|
113
|
-
* Add init command
|
|
114
|
-
*/
|
|
115
|
-
addInitCommand(program) {
|
|
116
|
-
return program
|
|
117
|
-
.command('init [projectName]')
|
|
118
|
-
.description('Initialize Sungen project (optionally create and initialize in a new project folder)');
|
|
119
|
-
}
|
|
120
|
-
/**
|
|
121
|
-
* Add cache-clear command
|
|
122
|
-
*/
|
|
123
|
-
addCacheCommand(program) {
|
|
124
|
-
return program
|
|
125
|
-
.command('cache-clear')
|
|
126
|
-
.description('Clear all caches');
|
|
127
|
-
}
|
|
128
|
-
/**
|
|
129
|
-
* Add auto-tag command
|
|
130
|
-
*/
|
|
131
|
-
addAutoTagCommand(program) {
|
|
132
|
-
return program
|
|
133
|
-
.command('auto-tag')
|
|
134
|
-
.description('Auto-inject stable data-testid attributes into source code')
|
|
135
|
-
.option('-s, --screen <name>', 'Tag specific screen (optional, defaults to all)')
|
|
136
|
-
.option('--dry-run', 'Preview changes without modifying files')
|
|
137
|
-
.option('--force', 'Overwrite existing data-testid attributes')
|
|
138
|
-
.option('-v, --verbose', 'Show detailed output');
|
|
139
|
-
}
|
|
140
|
-
/**
|
|
141
|
-
* Add live-scan command
|
|
142
|
-
*/
|
|
143
|
-
addLiveScanCommand(program) {
|
|
144
|
-
return program
|
|
145
|
-
.command('live-scan')
|
|
146
|
-
.description('Scan a live site to discover real selectors for Gherkin element references')
|
|
147
|
-
.requiredOption('-s, --screen <name>', 'Screen name to scan')
|
|
148
|
-
.option('--url <baseUrl>', 'Base URL of the running site')
|
|
149
|
-
.option('--headed', 'Launch browser in headed (visible) mode')
|
|
150
|
-
.option('--auth-dir <path>', 'Directory containing auth storage state files (default: specs/.auth)');
|
|
151
|
-
}
|
|
152
|
-
/**
|
|
153
|
-
* Add add --screen command
|
|
154
|
-
*/
|
|
155
|
-
addAddScreenCommand(program) {
|
|
156
|
-
return program
|
|
157
|
-
.command('add')
|
|
158
|
-
.description('Add screen definition with scaffolded files')
|
|
159
|
-
.requiredOption('--screen <name>', 'Screen name')
|
|
160
|
-
.option('-p, --path <path>', 'Screen route path')
|
|
161
|
-
.option('-d, --description <text>', 'Screen description');
|
|
162
|
-
}
|
|
163
|
-
/**
|
|
164
|
-
* Add validate command
|
|
165
|
-
*/
|
|
166
|
-
addValidateCommand(program) {
|
|
167
|
-
return program
|
|
168
|
-
.command('validate')
|
|
169
|
-
.description('Validate Gherkin features and selector/test-data mappings')
|
|
170
|
-
.option('-s, --screen <name>', 'Validate specific screen (optional, defaults to all)')
|
|
171
|
-
.option('--json', 'Output results as JSON')
|
|
172
|
-
.option('-v, --verbose', 'Show all checks, not just failures');
|
|
173
|
-
}
|
|
174
|
-
/**
|
|
175
|
-
* Add makeauth command - Generate auth state for E2E tests
|
|
176
|
-
*/
|
|
177
|
-
addMakeAuthCommand(program) {
|
|
178
|
-
return program
|
|
179
|
-
.command('makeauth <name>')
|
|
180
|
-
.description('Generate auth state by opening browser for manual SSO login')
|
|
181
|
-
.option('-u, --url <url>', 'Base URL of the application')
|
|
182
|
-
.option('-p, --path <path>', 'Login page path (default: /login)')
|
|
183
|
-
.option('-o, --output <dir>', 'Output directory (default: specs/.auth)')
|
|
184
|
-
.option('-t, --timeout <ms>', 'Overall timeout in milliseconds (default: 180000)')
|
|
185
|
-
.option('--nav-timeout <ms>', 'Navigation timeout in milliseconds (default: 180000)')
|
|
186
|
-
.option('--stability-wait <ms>', 'URL stability wait in milliseconds (default: 5000)')
|
|
187
|
-
.option('--headless', 'Run browser in headless mode')
|
|
188
|
-
.option('--verify', 'Verify existing auth state instead of creating new')
|
|
189
|
-
.option('--list', 'List all existing auth states')
|
|
190
|
-
.option('--export', 'Export auth state as base64 for CI');
|
|
191
|
-
}
|
|
192
|
-
/**
|
|
193
|
-
* Extract options from commander Command
|
|
194
|
-
*/
|
|
195
|
-
extractOptions(command) {
|
|
196
|
-
const opts = command.opts();
|
|
197
|
-
// Determine mode from flags
|
|
198
|
-
let mode = opts.mode;
|
|
199
|
-
if (opts.aiOnly)
|
|
200
|
-
mode = 'ai-only';
|
|
201
|
-
if (opts.heuristicOnly)
|
|
202
|
-
mode = 'heuristic-only';
|
|
203
|
-
return {
|
|
204
|
-
screen: opts.screen,
|
|
205
|
-
depth: opts.depth ? parseInt(opts.depth, 10) : undefined,
|
|
206
|
-
force: opts.force,
|
|
207
|
-
aiMapper: opts.aiMapper,
|
|
208
|
-
framework: opts.framework,
|
|
209
|
-
mode,
|
|
210
|
-
aiOnly: opts.aiOnly,
|
|
211
|
-
heuristicOnly: opts.heuristicOnly,
|
|
212
|
-
verbose: opts.verbose,
|
|
213
|
-
config: opts.config
|
|
214
|
-
};
|
|
215
|
-
}
|
|
216
|
-
}
|
|
217
|
-
exports.CLIAdapter = CLIAdapter;
|
|
218
|
-
//# sourceMappingURL=cli-adapter.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cli-adapter.js","sourceRoot":"","sources":["../../src/input/cli-adapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Config File Input Adapter
|
|
3
|
-
* Parses configuration from YAML/JSON files
|
|
4
|
-
*/
|
|
5
|
-
import { CLIOptions } from '../config/config-schema';
|
|
6
|
-
import { InputAdapter, InputSource } from './input-adapter';
|
|
7
|
-
export declare class ConfigAdapter implements InputAdapter {
|
|
8
|
-
name: InputSource;
|
|
9
|
-
private configPath;
|
|
10
|
-
constructor(configPath: string);
|
|
11
|
-
/**
|
|
12
|
-
* Parse config file into CLIOptions
|
|
13
|
-
* Note: Full config is loaded by ConfigLoader, this just validates the file
|
|
14
|
-
*/
|
|
15
|
-
parse(): CLIOptions;
|
|
16
|
-
/**
|
|
17
|
-
* Validate config file exists and is valid YAML/JSON
|
|
18
|
-
*/
|
|
19
|
-
validate(): boolean;
|
|
20
|
-
/**
|
|
21
|
-
* Get config file path
|
|
22
|
-
*/
|
|
23
|
-
getPath(): string;
|
|
24
|
-
}
|
|
25
|
-
//# sourceMappingURL=config-adapter.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"config-adapter.d.ts","sourceRoot":"","sources":["../../src/input/config-adapter.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE5D,qBAAa,aAAc,YAAW,YAAY;IAChD,IAAI,cAAoB;IACxB,OAAO,CAAC,UAAU,CAAS;gBAEf,UAAU,EAAE,MAAM;IAI9B;;;OAGG;IACH,KAAK,IAAI,UAAU;IAYnB;;OAEG;IACH,QAAQ,IAAI,OAAO;IA0BnB;;OAEG;IACH,OAAO,IAAI,MAAM;CAGlB"}
|
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* Config File Input Adapter
|
|
4
|
-
* Parses configuration from YAML/JSON files
|
|
5
|
-
*/
|
|
6
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
7
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
8
|
-
};
|
|
9
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
-
exports.ConfigAdapter = void 0;
|
|
11
|
-
const fs_1 = __importDefault(require("fs"));
|
|
12
|
-
const path_1 = __importDefault(require("path"));
|
|
13
|
-
const yaml_1 = __importDefault(require("yaml"));
|
|
14
|
-
const input_adapter_1 = require("./input-adapter");
|
|
15
|
-
class ConfigAdapter {
|
|
16
|
-
constructor(configPath) {
|
|
17
|
-
this.name = input_adapter_1.InputSource.FILE;
|
|
18
|
-
this.configPath = path_1.default.resolve(configPath);
|
|
19
|
-
}
|
|
20
|
-
/**
|
|
21
|
-
* Parse config file into CLIOptions
|
|
22
|
-
* Note: Full config is loaded by ConfigLoader, this just validates the file
|
|
23
|
-
*/
|
|
24
|
-
parse() {
|
|
25
|
-
if (!this.validate()) {
|
|
26
|
-
throw new Error(`Invalid config file: ${this.configPath}`);
|
|
27
|
-
}
|
|
28
|
-
// Return empty options - actual config loading is done by ConfigLoader
|
|
29
|
-
// This adapter is mainly for validation
|
|
30
|
-
return {
|
|
31
|
-
config: this.configPath
|
|
32
|
-
};
|
|
33
|
-
}
|
|
34
|
-
/**
|
|
35
|
-
* Validate config file exists and is valid YAML/JSON
|
|
36
|
-
*/
|
|
37
|
-
validate() {
|
|
38
|
-
try {
|
|
39
|
-
if (!fs_1.default.existsSync(this.configPath)) {
|
|
40
|
-
console.error(`Config file not found: ${this.configPath}`);
|
|
41
|
-
return false;
|
|
42
|
-
}
|
|
43
|
-
const content = fs_1.default.readFileSync(this.configPath, 'utf-8');
|
|
44
|
-
const ext = path_1.default.extname(this.configPath);
|
|
45
|
-
if (ext === '.yaml' || ext === '.yml') {
|
|
46
|
-
yaml_1.default.parse(content);
|
|
47
|
-
}
|
|
48
|
-
else if (ext === '.json') {
|
|
49
|
-
JSON.parse(content);
|
|
50
|
-
}
|
|
51
|
-
else {
|
|
52
|
-
console.error(`Unsupported config file format: ${ext}`);
|
|
53
|
-
return false;
|
|
54
|
-
}
|
|
55
|
-
return true;
|
|
56
|
-
}
|
|
57
|
-
catch (error) {
|
|
58
|
-
console.error(`Config file validation failed: ${error}`);
|
|
59
|
-
return false;
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
/**
|
|
63
|
-
* Get config file path
|
|
64
|
-
*/
|
|
65
|
-
getPath() {
|
|
66
|
-
return this.configPath;
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
exports.ConfigAdapter = ConfigAdapter;
|
|
70
|
-
//# sourceMappingURL=config-adapter.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"config-adapter.js","sourceRoot":"","sources":["../../src/input/config-adapter.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;AAEH,4CAAoB;AACpB,gDAAwB;AACxB,gDAAwB;AAExB,mDAA4D;AAE5D,MAAa,aAAa;IAIxB,YAAY,UAAkB;QAH9B,SAAI,GAAG,2BAAW,CAAC,IAAI,CAAC;QAItB,IAAI,CAAC,UAAU,GAAG,cAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAC7C,CAAC;IAED;;;OAGG;IACH,KAAK;QACH,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CAAC,wBAAwB,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;QAC7D,CAAC;QAED,uEAAuE;QACvE,wCAAwC;QACxC,OAAO;YACL,MAAM,EAAE,IAAI,CAAC,UAAU;SACxB,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,QAAQ;QACN,IAAI,CAAC;YACH,IAAI,CAAC,YAAE,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;gBACpC,OAAO,CAAC,KAAK,CAAC,0BAA0B,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;gBAC3D,OAAO,KAAK,CAAC;YACf,CAAC;YAED,MAAM,OAAO,GAAG,YAAE,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;YAC1D,MAAM,GAAG,GAAG,cAAI,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAE1C,IAAI,GAAG,KAAK,OAAO,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;gBACtC,cAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YACtB,CAAC;iBAAM,IAAI,GAAG,KAAK,OAAO,EAAE,CAAC;gBAC3B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YACtB,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,KAAK,CAAC,mCAAmC,GAAG,EAAE,CAAC,CAAC;gBACxD,OAAO,KAAK,CAAC;YACf,CAAC;YAED,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,kCAAkC,KAAK,EAAE,CAAC,CAAC;YACzD,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED;;OAEG;IACH,OAAO;QACL,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;CACF;AA3DD,sCA2DC"}
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Input Adapter Interface
|
|
3
|
-
* Defines how input sources provide configuration and commands
|
|
4
|
-
*/
|
|
5
|
-
import { CLIOptions } from '../config/config-schema';
|
|
6
|
-
export interface InputAdapter {
|
|
7
|
-
/**
|
|
8
|
-
* Adapter name (for logging/debugging)
|
|
9
|
-
*/
|
|
10
|
-
name: string;
|
|
11
|
-
/**
|
|
12
|
-
* Parse input and return CLI options
|
|
13
|
-
*/
|
|
14
|
-
parse(...args: any[]): CLIOptions;
|
|
15
|
-
/**
|
|
16
|
-
* Validate input format
|
|
17
|
-
*/
|
|
18
|
-
validate(): boolean;
|
|
19
|
-
}
|
|
20
|
-
/**
|
|
21
|
-
* Input source types
|
|
22
|
-
*/
|
|
23
|
-
export declare enum InputSource {
|
|
24
|
-
CLI = "cli",
|
|
25
|
-
FILE = "file",
|
|
26
|
-
VSCODE = "vscode"
|
|
27
|
-
}
|
|
28
|
-
//# sourceMappingURL=input-adapter.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"input-adapter.d.ts","sourceRoot":"","sources":["../../src/input/input-adapter.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAErD,MAAM,WAAW,YAAY;IAC3B;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,KAAK,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,UAAU,CAAC;IAElC;;OAEG;IACH,QAAQ,IAAI,OAAO,CAAC;CACrB;AAED;;GAEG;AACH,oBAAY,WAAW;IACrB,GAAG,QAAQ;IACX,IAAI,SAAS;IACb,MAAM,WAAW;CAClB"}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* Input Adapter Interface
|
|
4
|
-
* Defines how input sources provide configuration and commands
|
|
5
|
-
*/
|
|
6
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
-
exports.InputSource = void 0;
|
|
8
|
-
/**
|
|
9
|
-
* Input source types
|
|
10
|
-
*/
|
|
11
|
-
var InputSource;
|
|
12
|
-
(function (InputSource) {
|
|
13
|
-
InputSource["CLI"] = "cli";
|
|
14
|
-
InputSource["FILE"] = "file";
|
|
15
|
-
InputSource["VSCODE"] = "vscode";
|
|
16
|
-
})(InputSource || (exports.InputSource = InputSource = {}));
|
|
17
|
-
//# sourceMappingURL=input-adapter.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"input-adapter.js","sourceRoot":"","sources":["../../src/input/input-adapter.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAqBH;;GAEG;AACH,IAAY,WAIX;AAJD,WAAY,WAAW;IACrB,0BAAW,CAAA;IACX,4BAAa,CAAA;IACb,gCAAiB,CAAA;AACnB,CAAC,EAJW,WAAW,2BAAX,WAAW,QAItB"}
|
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* VS Code Extension Input Adapter
|
|
3
|
-
* Handles input from VS Code extension commands
|
|
4
|
-
*
|
|
5
|
-
* This is a placeholder for future VS Code extension integration
|
|
6
|
-
* The extension will call framework methods directly via this adapter
|
|
7
|
-
*/
|
|
8
|
-
import { CLIOptions } from '../config/config-schema';
|
|
9
|
-
import { InputAdapter, InputSource } from './input-adapter';
|
|
10
|
-
export declare class VSCodeAdapter implements InputAdapter {
|
|
11
|
-
name: InputSource;
|
|
12
|
-
/**
|
|
13
|
-
* Parse VS Code extension command into options
|
|
14
|
-
*
|
|
15
|
-
* @param command - VS Code command object
|
|
16
|
-
* @example
|
|
17
|
-
* // From VS Code extension:
|
|
18
|
-
* const options = vscodeAdapter.parse({
|
|
19
|
-
* action: 'discover',
|
|
20
|
-
* screen: 'chat',
|
|
21
|
-
* depth: 999
|
|
22
|
-
* });
|
|
23
|
-
*/
|
|
24
|
-
parse(command: VSCodeCommand): CLIOptions;
|
|
25
|
-
/**
|
|
26
|
-
* Validate VS Code command format
|
|
27
|
-
*/
|
|
28
|
-
validate(): boolean;
|
|
29
|
-
/**
|
|
30
|
-
* Execute framework command from VS Code
|
|
31
|
-
* This will be the main entry point for VS Code extension
|
|
32
|
-
*
|
|
33
|
-
* @param command - VS Code command
|
|
34
|
-
* @returns Result object with success/error information
|
|
35
|
-
*/
|
|
36
|
-
execute(command: VSCodeCommand): Promise<VSCodeResult>;
|
|
37
|
-
}
|
|
38
|
-
/**
|
|
39
|
-
* VS Code Command Interface
|
|
40
|
-
* Defines the structure of commands sent from VS Code extension
|
|
41
|
-
*/
|
|
42
|
-
export interface VSCodeCommand {
|
|
43
|
-
action: 'discover' | 'generate' | 'full' | 'cache-clear';
|
|
44
|
-
screen?: string;
|
|
45
|
-
depth?: number;
|
|
46
|
-
force?: boolean;
|
|
47
|
-
aiMapper?: boolean;
|
|
48
|
-
framework?: 'playwright' | 'appium' | 'integration';
|
|
49
|
-
verbose?: boolean;
|
|
50
|
-
config?: string;
|
|
51
|
-
}
|
|
52
|
-
/**
|
|
53
|
-
* VS Code Result Interface
|
|
54
|
-
* Defines the structure of results returned to VS Code extension
|
|
55
|
-
*/
|
|
56
|
-
export interface VSCodeResult {
|
|
57
|
-
success: boolean;
|
|
58
|
-
message: string;
|
|
59
|
-
data: any;
|
|
60
|
-
errors?: string[];
|
|
61
|
-
}
|
|
62
|
-
//# sourceMappingURL=vscode-adapter.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"vscode-adapter.d.ts","sourceRoot":"","sources":["../../src/input/vscode-adapter.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE5D,qBAAa,aAAc,YAAW,YAAY;IAChD,IAAI,cAAsB;IAE1B;;;;;;;;;;;OAWG;IACH,KAAK,CAAC,OAAO,EAAE,aAAa,GAAG,UAAU;IAYzC;;OAEG;IACH,QAAQ,IAAI,OAAO;IAKnB;;;;;;OAMG;IACG,OAAO,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC;CAU7D;AAED;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,UAAU,GAAG,UAAU,GAAG,MAAM,GAAG,aAAa,CAAC;IACzD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,YAAY,GAAG,QAAQ,GAAG,aAAa,CAAC;IACpD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,GAAG,CAAC;IACV,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB"}
|
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* VS Code Extension Input Adapter
|
|
4
|
-
* Handles input from VS Code extension commands
|
|
5
|
-
*
|
|
6
|
-
* This is a placeholder for future VS Code extension integration
|
|
7
|
-
* The extension will call framework methods directly via this adapter
|
|
8
|
-
*/
|
|
9
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
-
exports.VSCodeAdapter = void 0;
|
|
11
|
-
const input_adapter_1 = require("./input-adapter");
|
|
12
|
-
class VSCodeAdapter {
|
|
13
|
-
constructor() {
|
|
14
|
-
this.name = input_adapter_1.InputSource.VSCODE;
|
|
15
|
-
}
|
|
16
|
-
/**
|
|
17
|
-
* Parse VS Code extension command into options
|
|
18
|
-
*
|
|
19
|
-
* @param command - VS Code command object
|
|
20
|
-
* @example
|
|
21
|
-
* // From VS Code extension:
|
|
22
|
-
* const options = vscodeAdapter.parse({
|
|
23
|
-
* action: 'discover',
|
|
24
|
-
* screen: 'chat',
|
|
25
|
-
* depth: 999
|
|
26
|
-
* });
|
|
27
|
-
*/
|
|
28
|
-
parse(command) {
|
|
29
|
-
return {
|
|
30
|
-
screen: command.screen,
|
|
31
|
-
depth: command.depth,
|
|
32
|
-
force: command.force,
|
|
33
|
-
aiMapper: command.aiMapper,
|
|
34
|
-
framework: command.framework,
|
|
35
|
-
verbose: command.verbose,
|
|
36
|
-
config: command.config
|
|
37
|
-
};
|
|
38
|
-
}
|
|
39
|
-
/**
|
|
40
|
-
* Validate VS Code command format
|
|
41
|
-
*/
|
|
42
|
-
validate() {
|
|
43
|
-
// VS Code extension will handle validation
|
|
44
|
-
return true;
|
|
45
|
-
}
|
|
46
|
-
/**
|
|
47
|
-
* Execute framework command from VS Code
|
|
48
|
-
* This will be the main entry point for VS Code extension
|
|
49
|
-
*
|
|
50
|
-
* @param command - VS Code command
|
|
51
|
-
* @returns Result object with success/error information
|
|
52
|
-
*/
|
|
53
|
-
async execute(command) {
|
|
54
|
-
// This will be implemented when VS Code extension is built
|
|
55
|
-
// It will call the orchestrator pipeline with parsed options
|
|
56
|
-
return {
|
|
57
|
-
success: false,
|
|
58
|
-
message: 'VS Code adapter not yet implemented',
|
|
59
|
-
data: null
|
|
60
|
-
};
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
exports.VSCodeAdapter = VSCodeAdapter;
|
|
64
|
-
//# sourceMappingURL=vscode-adapter.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"vscode-adapter.js","sourceRoot":"","sources":["../../src/input/vscode-adapter.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AAGH,mDAA4D;AAE5D,MAAa,aAAa;IAA1B;QACE,SAAI,GAAG,2BAAW,CAAC,MAAM,CAAC;IAmD5B,CAAC;IAjDC;;;;;;;;;;;OAWG;IACH,KAAK,CAAC,OAAsB;QAC1B,OAAO;YACL,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,MAAM,EAAE,OAAO,CAAC,MAAM;SACvB,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,QAAQ;QACN,2CAA2C;QAC3C,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,OAAO,CAAC,OAAsB;QAClC,2DAA2D;QAC3D,6DAA6D;QAE7D,OAAO;YACL,OAAO,EAAE,KAAK;YACd,OAAO,EAAE,qCAAqC;YAC9C,IAAI,EAAE,IAAI;SACX,CAAC;IACJ,CAAC;CACF;AApDD,sCAoDC"}
|