@sonisoft/now-sdk-ext-cli 1.1.0-alpha.3 → 2.0.1
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 +4587 -197
- package/dist/commands/aggregate/count.d.ts +16 -0
- package/dist/commands/aggregate/count.d.ts.map +1 -0
- package/dist/commands/aggregate/count.js +67 -0
- package/dist/commands/aggregate/count.js.map +1 -0
- package/dist/commands/aggregate/group.d.ts +24 -0
- package/dist/commands/aggregate/group.d.ts.map +1 -0
- package/dist/commands/aggregate/group.js +120 -0
- package/dist/commands/aggregate/group.js.map +1 -0
- package/dist/commands/aggregate/query.d.ts +21 -0
- package/dist/commands/aggregate/query.d.ts.map +1 -0
- package/dist/commands/aggregate/query.js +100 -0
- package/dist/commands/aggregate/query.js.map +1 -0
- package/dist/commands/app/index.d.ts +4 -2
- package/dist/commands/app/index.d.ts.map +1 -1
- package/dist/commands/app/index.js +27 -6
- package/dist/commands/app/index.js.map +1 -1
- package/dist/commands/app/install.d.ts +4 -2
- package/dist/commands/app/install.d.ts.map +1 -1
- package/dist/commands/app/install.js +41 -8
- package/dist/commands/app/install.js.map +1 -1
- package/dist/commands/app/repo-install.d.ts +18 -0
- package/dist/commands/app/repo-install.d.ts.map +1 -0
- package/dist/commands/app/repo-install.js +171 -0
- package/dist/commands/app/repo-install.js.map +1 -0
- package/dist/commands/app/repo-list.d.ts +16 -0
- package/dist/commands/app/repo-list.d.ts.map +1 -0
- package/dist/commands/app/repo-list.js +150 -0
- package/dist/commands/app/repo-list.js.map +1 -0
- package/dist/commands/app/uninstall.d.ts +15 -0
- package/dist/commands/app/uninstall.d.ts.map +1 -0
- package/dist/commands/app/uninstall.js +69 -0
- package/dist/commands/app/uninstall.js.map +1 -0
- package/dist/commands/atf/index.d.ts +25 -0
- package/dist/commands/atf/index.d.ts.map +1 -0
- package/dist/commands/atf/index.js +183 -0
- package/dist/commands/atf/index.js.map +1 -0
- package/dist/commands/attachment/get.d.ts +14 -0
- package/dist/commands/attachment/get.d.ts.map +1 -0
- package/dist/commands/attachment/get.js +44 -0
- package/dist/commands/attachment/get.js.map +1 -0
- package/dist/commands/attachment/list.d.ts +16 -0
- package/dist/commands/attachment/list.d.ts.map +1 -0
- package/dist/commands/attachment/list.js +60 -0
- package/dist/commands/attachment/list.js.map +1 -0
- package/dist/commands/attachment/upload.d.ts +17 -0
- package/dist/commands/attachment/upload.d.ts.map +1 -0
- package/dist/commands/attachment/upload.js +71 -0
- package/dist/commands/attachment/upload.js.map +1 -0
- package/dist/commands/batch/create.d.ts +15 -0
- package/dist/commands/batch/create.d.ts.map +1 -0
- package/dist/commands/batch/create.js +56 -0
- package/dist/commands/batch/create.js.map +1 -0
- package/dist/commands/batch/update.d.ts +15 -0
- package/dist/commands/batch/update.d.ts.map +1 -0
- package/dist/commands/batch/update.js +56 -0
- package/dist/commands/batch/update.js.map +1 -0
- package/dist/commands/bulk/delete.d.ts +18 -0
- package/dist/commands/bulk/delete.d.ts.map +1 -0
- package/dist/commands/bulk/delete.js +95 -0
- package/dist/commands/bulk/delete.js.map +1 -0
- package/dist/commands/bulk/update.d.ts +19 -0
- package/dist/commands/bulk/update.d.ts.map +1 -0
- package/dist/commands/bulk/update.js +110 -0
- package/dist/commands/bulk/update.js.map +1 -0
- package/dist/commands/exec/index.d.ts +17 -4
- package/dist/commands/exec/index.d.ts.map +1 -1
- package/dist/commands/exec/index.js +278 -28
- package/dist/commands/exec/index.js.map +1 -1
- package/dist/commands/flow/action.d.ts +19 -0
- package/dist/commands/flow/action.d.ts.map +1 -0
- package/dist/commands/flow/action.js +88 -0
- package/dist/commands/flow/action.js.map +1 -0
- package/dist/commands/flow/cancel.d.ts +17 -0
- package/dist/commands/flow/cancel.d.ts.map +1 -0
- package/dist/commands/flow/cancel.js +60 -0
- package/dist/commands/flow/cancel.js.map +1 -0
- package/dist/commands/flow/error.d.ts +16 -0
- package/dist/commands/flow/error.d.ts.map +1 -0
- package/dist/commands/flow/error.js +51 -0
- package/dist/commands/flow/error.js.map +1 -0
- package/dist/commands/flow/message.d.ts +18 -0
- package/dist/commands/flow/message.d.ts.map +1 -0
- package/dist/commands/flow/message.js +66 -0
- package/dist/commands/flow/message.js.map +1 -0
- package/dist/commands/flow/outputs.d.ts +16 -0
- package/dist/commands/flow/outputs.d.ts.map +1 -0
- package/dist/commands/flow/outputs.js +55 -0
- package/dist/commands/flow/outputs.js.map +1 -0
- package/dist/commands/flow/run.d.ts +19 -0
- package/dist/commands/flow/run.d.ts.map +1 -0
- package/dist/commands/flow/run.js +98 -0
- package/dist/commands/flow/run.js.map +1 -0
- package/dist/commands/flow/status.d.ts +16 -0
- package/dist/commands/flow/status.d.ts.map +1 -0
- package/dist/commands/flow/status.js +52 -0
- package/dist/commands/flow/status.js.map +1 -0
- package/dist/commands/flow/subflow.d.ts +19 -0
- package/dist/commands/flow/subflow.d.ts.map +1 -0
- package/dist/commands/flow/subflow.js +92 -0
- package/dist/commands/flow/subflow.js.map +1 -0
- package/dist/commands/health/check.d.ts +20 -0
- package/dist/commands/health/check.d.ts.map +1 -0
- package/dist/commands/health/check.js +105 -0
- package/dist/commands/health/check.js.map +1 -0
- package/dist/commands/log/index.d.ts +22 -0
- package/dist/commands/log/index.d.ts.map +1 -0
- package/dist/commands/log/index.js +190 -0
- package/dist/commands/log/index.js.map +1 -0
- package/dist/commands/query/app.d.ts +17 -0
- package/dist/commands/query/app.d.ts.map +1 -0
- package/dist/commands/query/app.js +81 -0
- package/dist/commands/query/app.js.map +1 -0
- package/dist/commands/query/columns.d.ts +16 -0
- package/dist/commands/query/columns.d.ts.map +1 -0
- package/dist/commands/query/columns.js +76 -0
- package/dist/commands/query/columns.js.map +1 -0
- package/dist/commands/query/index.d.ts +19 -0
- package/dist/commands/query/index.d.ts.map +1 -0
- package/dist/commands/query/index.js +94 -0
- package/dist/commands/query/index.js.map +1 -0
- package/dist/commands/query/syslog.d.ts +16 -0
- package/dist/commands/query/syslog.d.ts.map +1 -0
- package/dist/commands/query/syslog.js +67 -0
- package/dist/commands/query/syslog.js.map +1 -0
- package/dist/commands/schema/field.d.ts +16 -0
- package/dist/commands/schema/field.d.ts.map +1 -0
- package/dist/commands/schema/field.js +62 -0
- package/dist/commands/schema/field.js.map +1 -0
- package/dist/commands/schema/index.d.ts +19 -0
- package/dist/commands/schema/index.d.ts.map +1 -0
- package/dist/commands/schema/index.js +90 -0
- package/dist/commands/schema/index.js.map +1 -0
- package/dist/commands/schema/validate-catalog.d.ts +15 -0
- package/dist/commands/schema/validate-catalog.d.ts.map +1 -0
- package/dist/commands/schema/validate-catalog.js +58 -0
- package/dist/commands/schema/validate-catalog.js.map +1 -0
- package/dist/commands/scope/index.d.ts +14 -0
- package/dist/commands/scope/index.d.ts.map +1 -0
- package/dist/commands/scope/index.js +58 -0
- package/dist/commands/scope/index.js.map +1 -0
- package/dist/commands/scope/set.d.ts +14 -0
- package/dist/commands/scope/set.d.ts.map +1 -0
- package/dist/commands/scope/set.js +44 -0
- package/dist/commands/scope/set.js.map +1 -0
- package/dist/commands/script-sync/pull.d.ts +16 -0
- package/dist/commands/script-sync/pull.d.ts.map +1 -0
- package/dist/commands/script-sync/pull.js +74 -0
- package/dist/commands/script-sync/pull.js.map +1 -0
- package/dist/commands/script-sync/push.d.ts +16 -0
- package/dist/commands/script-sync/push.d.ts.map +1 -0
- package/dist/commands/script-sync/push.js +73 -0
- package/dist/commands/script-sync/push.js.map +1 -0
- package/dist/commands/script-sync/sync.d.ts +15 -0
- package/dist/commands/script-sync/sync.d.ts.map +1 -0
- package/dist/commands/script-sync/sync.js +71 -0
- package/dist/commands/script-sync/sync.js.map +1 -0
- package/dist/commands/search/add-table.d.ts +16 -0
- package/dist/commands/search/add-table.d.ts.map +1 -0
- package/dist/commands/search/add-table.js +68 -0
- package/dist/commands/search/add-table.js.map +1 -0
- package/dist/commands/search/groups.d.ts +12 -0
- package/dist/commands/search/groups.d.ts.map +1 -0
- package/dist/commands/search/groups.js +42 -0
- package/dist/commands/search/groups.js.map +1 -0
- package/dist/commands/search/index.d.ts +18 -0
- package/dist/commands/search/index.d.ts.map +1 -0
- package/dist/commands/search/index.js +103 -0
- package/dist/commands/search/index.js.map +1 -0
- package/dist/commands/search/tables.d.ts +14 -0
- package/dist/commands/search/tables.d.ts.map +1 -0
- package/dist/commands/search/tables.js +50 -0
- package/dist/commands/search/tables.js.map +1 -0
- package/dist/commands/store/install.d.ts +19 -0
- package/dist/commands/store/install.d.ts.map +1 -0
- package/dist/commands/store/install.js +90 -0
- package/dist/commands/store/install.js.map +1 -0
- package/dist/commands/store/search.d.ts +16 -0
- package/dist/commands/store/search.d.ts.map +1 -0
- package/dist/commands/store/search.js +67 -0
- package/dist/commands/store/search.js.map +1 -0
- package/dist/commands/store/update.d.ts +18 -0
- package/dist/commands/store/update.d.ts.map +1 -0
- package/dist/commands/store/update.js +83 -0
- package/dist/commands/store/update.js.map +1 -0
- package/dist/commands/store/validate.d.ts +14 -0
- package/dist/commands/store/validate.d.ts.map +1 -0
- package/dist/commands/store/validate.js +43 -0
- package/dist/commands/store/validate.js.map +1 -0
- package/dist/commands/task/approve.d.ts +15 -0
- package/dist/commands/task/approve.d.ts.map +1 -0
- package/dist/commands/task/approve.js +66 -0
- package/dist/commands/task/approve.js.map +1 -0
- package/dist/commands/task/assign.d.ts +17 -0
- package/dist/commands/task/assign.d.ts.map +1 -0
- package/dist/commands/task/assign.js +86 -0
- package/dist/commands/task/assign.js.map +1 -0
- package/dist/commands/task/close.d.ts +16 -0
- package/dist/commands/task/close.d.ts.map +1 -0
- package/dist/commands/task/close.js +71 -0
- package/dist/commands/task/close.js.map +1 -0
- package/dist/commands/task/comment.d.ts +17 -0
- package/dist/commands/task/comment.d.ts.map +1 -0
- package/dist/commands/task/comment.js +86 -0
- package/dist/commands/task/comment.js.map +1 -0
- package/dist/commands/task/find.d.ts +15 -0
- package/dist/commands/task/find.d.ts.map +1 -0
- package/dist/commands/task/find.js +65 -0
- package/dist/commands/task/find.js.map +1 -0
- package/dist/commands/task/resolve.d.ts +16 -0
- package/dist/commands/task/resolve.d.ts.map +1 -0
- package/dist/commands/task/resolve.js +71 -0
- package/dist/commands/task/resolve.js.map +1 -0
- package/dist/commands/update-set/clone.d.ts +15 -0
- package/dist/commands/update-set/clone.d.ts.map +1 -0
- package/dist/commands/update-set/clone.js +50 -0
- package/dist/commands/update-set/clone.js.map +1 -0
- package/dist/commands/update-set/create.d.ts +16 -0
- package/dist/commands/update-set/create.d.ts.map +1 -0
- package/dist/commands/update-set/create.js +60 -0
- package/dist/commands/update-set/create.js.map +1 -0
- package/dist/commands/update-set/current.d.ts +14 -0
- package/dist/commands/update-set/current.d.ts.map +1 -0
- package/dist/commands/update-set/current.js +55 -0
- package/dist/commands/update-set/current.js.map +1 -0
- package/dist/commands/update-set/index.d.ts +15 -0
- package/dist/commands/update-set/index.d.ts.map +1 -0
- package/dist/commands/update-set/index.js +56 -0
- package/dist/commands/update-set/index.js.map +1 -0
- package/dist/commands/update-set/inspect.d.ts +14 -0
- package/dist/commands/update-set/inspect.d.ts.map +1 -0
- package/dist/commands/update-set/inspect.js +43 -0
- package/dist/commands/update-set/inspect.js.map +1 -0
- package/dist/commands/update-set/move.d.ts +16 -0
- package/dist/commands/update-set/move.d.ts.map +1 -0
- package/dist/commands/update-set/move.js +57 -0
- package/dist/commands/update-set/move.js.map +1 -0
- package/dist/commands/workflow/create.d.ts +14 -0
- package/dist/commands/workflow/create.d.ts.map +1 -0
- package/dist/commands/workflow/create.js +50 -0
- package/dist/commands/workflow/create.js.map +1 -0
- package/dist/commands/workflow/publish.d.ts +15 -0
- package/dist/commands/workflow/publish.d.ts.map +1 -0
- package/dist/commands/workflow/publish.js +53 -0
- package/dist/commands/workflow/publish.js.map +1 -0
- package/dist/commands/xml/export.d.ts +17 -0
- package/dist/commands/xml/export.d.ts.map +1 -0
- package/dist/commands/xml/export.js +87 -0
- package/dist/commands/xml/export.js.map +1 -0
- package/dist/commands/xml/import.d.ts +16 -0
- package/dist/commands/xml/import.d.ts.map +1 -0
- package/dist/commands/xml/import.js +69 -0
- package/dist/commands/xml/import.js.map +1 -0
- package/dist/common/authenticated-command.d.ts +5 -2
- package/dist/common/authenticated-command.d.ts.map +1 -1
- package/dist/common/authenticated-command.js +14 -5
- package/dist/common/authenticated-command.js.map +1 -1
- package/dist/common/base-command.d.ts +2 -2
- package/dist/common/base-command.d.ts.map +1 -1
- package/dist/common/base-command.js +0 -1
- package/dist/common/base-command.js.map +1 -1
- package/dist/common/scope-autocomplete.d.ts +20 -0
- package/dist/common/scope-autocomplete.d.ts.map +1 -0
- package/dist/common/scope-autocomplete.js +93 -0
- package/dist/common/scope-autocomplete.js.map +1 -0
- package/dist/services/aggregate-display.service.d.ts +18 -0
- package/dist/services/aggregate-display.service.d.ts.map +1 -0
- package/dist/services/aggregate-display.service.js +83 -0
- package/dist/services/aggregate-display.service.js.map +1 -0
- package/dist/services/app-display.service.d.ts +36 -0
- package/dist/services/app-display.service.d.ts.map +1 -0
- package/dist/services/app-display.service.js +101 -0
- package/dist/services/app-display.service.js.map +1 -0
- package/dist/services/atf-result-formatter.service.d.ts +64 -0
- package/dist/services/atf-result-formatter.service.d.ts.map +1 -0
- package/dist/services/atf-result-formatter.service.js +83 -0
- package/dist/services/atf-result-formatter.service.js.map +1 -0
- package/dist/services/attachment-display.service.d.ts +18 -0
- package/dist/services/attachment-display.service.d.ts.map +1 -0
- package/dist/services/attachment-display.service.js +93 -0
- package/dist/services/attachment-display.service.js.map +1 -0
- package/dist/services/batch-display.service.d.ts +11 -0
- package/dist/services/batch-display.service.d.ts.map +1 -0
- package/dist/services/batch-display.service.js +75 -0
- package/dist/services/batch-display.service.js.map +1 -0
- package/dist/services/bulk-display.service.d.ts +11 -0
- package/dist/services/bulk-display.service.d.ts.map +1 -0
- package/dist/services/bulk-display.service.js +85 -0
- package/dist/services/bulk-display.service.js.map +1 -0
- package/dist/services/code-search-display.service.d.ts +23 -0
- package/dist/services/code-search-display.service.d.ts.map +1 -0
- package/dist/services/code-search-display.service.js +130 -0
- package/dist/services/code-search-display.service.js.map +1 -0
- package/dist/services/flow-display.service.d.ts +10 -0
- package/dist/services/flow-display.service.d.ts.map +1 -0
- package/dist/services/flow-display.service.js +164 -0
- package/dist/services/flow-display.service.js.map +1 -0
- package/dist/services/health-display.service.d.ts +8 -0
- package/dist/services/health-display.service.d.ts.map +1 -0
- package/dist/services/health-display.service.js +91 -0
- package/dist/services/health-display.service.js.map +1 -0
- package/dist/services/log-filter.service.d.ts +31 -0
- package/dist/services/log-filter.service.d.ts.map +1 -0
- package/dist/services/log-filter.service.js +117 -0
- package/dist/services/log-filter.service.js.map +1 -0
- package/dist/services/log-formatter.service.d.ts +30 -0
- package/dist/services/log-formatter.service.d.ts.map +1 -0
- package/dist/services/log-formatter.service.js +122 -0
- package/dist/services/log-formatter.service.js.map +1 -0
- package/dist/services/query-display.service.d.ts +23 -0
- package/dist/services/query-display.service.d.ts.map +1 -0
- package/dist/services/query-display.service.js +152 -0
- package/dist/services/query-display.service.js.map +1 -0
- package/dist/services/schema-display.service.d.ts +18 -0
- package/dist/services/schema-display.service.d.ts.map +1 -0
- package/dist/services/schema-display.service.js +106 -0
- package/dist/services/schema-display.service.js.map +1 -0
- package/dist/services/scope-display.service.d.ts +18 -0
- package/dist/services/scope-display.service.d.ts.map +1 -0
- package/dist/services/scope-display.service.js +83 -0
- package/dist/services/scope-display.service.js.map +1 -0
- package/dist/services/script-parameter.service.d.ts +16 -0
- package/dist/services/script-parameter.service.d.ts.map +1 -0
- package/dist/services/script-parameter.service.js +34 -0
- package/dist/services/script-parameter.service.js.map +1 -0
- package/dist/services/script-sync-display.service.d.ts +13 -0
- package/dist/services/script-sync-display.service.d.ts.map +1 -0
- package/dist/services/script-sync-display.service.js +71 -0
- package/dist/services/script-sync-display.service.js.map +1 -0
- package/dist/services/store-app-display.service.d.ts +16 -0
- package/dist/services/store-app-display.service.d.ts.map +1 -0
- package/dist/services/store-app-display.service.js +114 -0
- package/dist/services/store-app-display.service.js.map +1 -0
- package/dist/services/task-display.service.d.ts +14 -0
- package/dist/services/task-display.service.d.ts.map +1 -0
- package/dist/services/task-display.service.js +86 -0
- package/dist/services/task-display.service.js.map +1 -0
- package/dist/services/update-set-display.service.d.ts +28 -0
- package/dist/services/update-set-display.service.d.ts.map +1 -0
- package/dist/services/update-set-display.service.js +150 -0
- package/dist/services/update-set-display.service.js.map +1 -0
- package/dist/services/workflow-display.service.d.ts +13 -0
- package/dist/services/workflow-display.service.d.ts.map +1 -0
- package/dist/services/workflow-display.service.js +53 -0
- package/dist/services/workflow-display.service.js.map +1 -0
- package/dist/services/xml-display.service.d.ts +11 -0
- package/dist/services/xml-display.service.d.ts.map +1 -0
- package/dist/services/xml-display.service.js +55 -0
- package/dist/services/xml-display.service.js.map +1 -0
- package/dist/util/log-factory.d.ts +5 -0
- package/dist/util/log-factory.d.ts.map +1 -0
- package/dist/util/log-factory.js +8 -0
- package/dist/util/log-factory.js.map +1 -0
- package/oclif.manifest.json +5847 -49
- package/package.json +107 -28
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
/* eslint-disable @typescript-eslint/no-unused-vars */
|
|
2
|
+
import { Flags } from '@oclif/core';
|
|
3
|
+
import { AppRepoApplication, CompanyApplications, NowStringUtil } from '@sonisoft/now-sdk-ext-core';
|
|
4
|
+
import { AuthenticatedCommand } from '../../common/authenticated-command.js';
|
|
5
|
+
export class RepoInstall extends AuthenticatedCommand {
|
|
6
|
+
static args = {};
|
|
7
|
+
static description = 'Install an application from your ServiceNow company repository.\n\n' +
|
|
8
|
+
'This command installs an application from your company\'s internal application repository. ' +
|
|
9
|
+
'You can specify the application by its scope name, and optionally specify a particular version. ' +
|
|
10
|
+
'The command will automatically look up the application details and initiate the installation.\n\n' +
|
|
11
|
+
'Features:\n' +
|
|
12
|
+
' • Install applications by scope name\n' +
|
|
13
|
+
' • Automatic lookup of application sys_id\n' +
|
|
14
|
+
' • Optional version specification (defaults to latest)\n' +
|
|
15
|
+
' • Wait for installation completion with progress monitoring\n' +
|
|
16
|
+
' • No-wait mode for background installations\n' +
|
|
17
|
+
' • Configurable polling intervals and timeouts\n' +
|
|
18
|
+
' • Detailed installation status and error reporting\n\n' +
|
|
19
|
+
'Installation Process:\n' +
|
|
20
|
+
' 1. Looks up the application in the company repository by scope\n' +
|
|
21
|
+
' 2. Verifies the application is available and installable\n' +
|
|
22
|
+
' 3. Initiates the installation via CI/CD API\n' +
|
|
23
|
+
' 4. Monitors progress until completion (unless --no-wait specified)\n' +
|
|
24
|
+
' 5. Reports final status and any errors\n\n' +
|
|
25
|
+
'Requirements:\n' +
|
|
26
|
+
' • User must have sn_cicd.sys_ci_automation role\n' +
|
|
27
|
+
' • Application must exist in company repository\n' +
|
|
28
|
+
' • Application must not be already installed (or use upgrade)';
|
|
29
|
+
static examples = [
|
|
30
|
+
{
|
|
31
|
+
command: '<%= config.bin %> <%= command.id %> --scope x_my_custom_app --auth dev-instance',
|
|
32
|
+
description: 'Install application by scope (latest version)',
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
command: '<%= config.bin %> <%= command.id %> --scope x_my_app --version 2.1.0 --auth dev-instance',
|
|
36
|
+
description: 'Install specific version of an application',
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
command: '<%= config.bin %> <%= command.id %> --scope x_my_app --no-wait --auth dev-instance',
|
|
40
|
+
description: 'Install without waiting for completion',
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
command: '<%= config.bin %> <%= command.id %> -s x_my_app -a dev-instance --timeout 3600000',
|
|
44
|
+
description: 'Install with custom timeout (1 hour)',
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
command: '<%= config.bin %> <%= command.id %> -s x_my_app -a dev-instance --log-level debug',
|
|
48
|
+
description: 'Install with debug logging',
|
|
49
|
+
},
|
|
50
|
+
];
|
|
51
|
+
static flags = {
|
|
52
|
+
'no-wait': Flags.boolean({
|
|
53
|
+
char: 'w',
|
|
54
|
+
default: false,
|
|
55
|
+
description: 'Do not wait for installation to complete',
|
|
56
|
+
required: false
|
|
57
|
+
}),
|
|
58
|
+
'poll-interval': Flags.integer({
|
|
59
|
+
default: 5000,
|
|
60
|
+
description: 'Polling interval in milliseconds (default: 5000)',
|
|
61
|
+
required: false
|
|
62
|
+
}),
|
|
63
|
+
scope: Flags.string({
|
|
64
|
+
char: 's',
|
|
65
|
+
description: 'Application scope (e.g., x_my_custom_app)',
|
|
66
|
+
required: true
|
|
67
|
+
}),
|
|
68
|
+
timeout: Flags.integer({
|
|
69
|
+
char: 't',
|
|
70
|
+
default: 1_800_000,
|
|
71
|
+
description: 'Installation timeout in milliseconds (default: 1800000 = 30 min)',
|
|
72
|
+
required: false
|
|
73
|
+
}),
|
|
74
|
+
version: Flags.string({
|
|
75
|
+
char: 'v',
|
|
76
|
+
description: 'Specific version to install (defaults to latest)',
|
|
77
|
+
required: false
|
|
78
|
+
}),
|
|
79
|
+
};
|
|
80
|
+
async run() {
|
|
81
|
+
const { args, flags } = await this.parse(RepoInstall);
|
|
82
|
+
try {
|
|
83
|
+
this.log("App Repository Install Command Executed.\n");
|
|
84
|
+
if (NowStringUtil.isStringEmpty(flags.scope)) {
|
|
85
|
+
this.error("Scope is required to install an application from the company repository");
|
|
86
|
+
return;
|
|
87
|
+
}
|
|
88
|
+
// Step 1: Look up the application in the company repository
|
|
89
|
+
this.log(`Looking up application with scope: ${flags.scope}...`);
|
|
90
|
+
const companyApps = new CompanyApplications(this.instance);
|
|
91
|
+
const app = await companyApps.getCompanyApplicationByScope(flags.scope);
|
|
92
|
+
if (!app) {
|
|
93
|
+
this.error(`Application with scope '${flags.scope}' not found in company repository`);
|
|
94
|
+
return;
|
|
95
|
+
}
|
|
96
|
+
this.log(`✓ Found application: ${app.name}`);
|
|
97
|
+
this.log(` Scope: ${app.scope}`);
|
|
98
|
+
this.log(` Sys ID: ${app.sys_id}`);
|
|
99
|
+
this.log(` Latest Version: ${app.latest_version}`);
|
|
100
|
+
this.log(` Installed: ${app.isInstalled ? 'Yes (v' + app.version + ')' : 'No'}`);
|
|
101
|
+
// Check if already installed
|
|
102
|
+
if (app.isInstalled && !flags.version) {
|
|
103
|
+
this.log(`\n⚠️ Application is already installed (version ${app.version})`);
|
|
104
|
+
this.log('To upgrade or reinstall, specify a different version with --version');
|
|
105
|
+
return;
|
|
106
|
+
}
|
|
107
|
+
// Check if installation is allowed
|
|
108
|
+
if (!app.can_install_or_upgrade) {
|
|
109
|
+
this.error(`Application '${app.name}' cannot be installed or upgraded at this time`);
|
|
110
|
+
return;
|
|
111
|
+
}
|
|
112
|
+
// Determine version to install
|
|
113
|
+
const targetVersion = flags.version || app.latest_version;
|
|
114
|
+
this.log(`\nTarget version: ${targetVersion}`);
|
|
115
|
+
// Show dependencies if any
|
|
116
|
+
if (app.dependencies) {
|
|
117
|
+
this.log(`Dependencies: ${app.dependencies}`);
|
|
118
|
+
}
|
|
119
|
+
// Step 2: Prepare install request
|
|
120
|
+
const installRequest = {
|
|
121
|
+
scope: app.scope,
|
|
122
|
+
sys_id: app.sys_id,
|
|
123
|
+
version: targetVersion
|
|
124
|
+
};
|
|
125
|
+
this.log(`\nInitiating installation from company repository...`);
|
|
126
|
+
const appRepo = new AppRepoApplication(this.instance);
|
|
127
|
+
// Step 3: Install
|
|
128
|
+
if (flags['no-wait']) {
|
|
129
|
+
// Non-blocking installation
|
|
130
|
+
const response = await appRepo.installFromAppRepo(installRequest);
|
|
131
|
+
this.log(`✓ Installation initiated successfully`);
|
|
132
|
+
this.log(` Progress ID: ${response.links.progress.id}`);
|
|
133
|
+
this.log(` Status: ${response.status_label}`);
|
|
134
|
+
this.log(` Progress: ${response.percent_complete}%`);
|
|
135
|
+
this.log(`\nInstallation is running in the background.`);
|
|
136
|
+
this.log(`Use the progress ID to monitor status if needed.`);
|
|
137
|
+
}
|
|
138
|
+
else {
|
|
139
|
+
// Blocking installation with progress monitoring
|
|
140
|
+
this.log(`Waiting for installation to complete...`);
|
|
141
|
+
this.log(`(Poll interval: ${flags['poll-interval']}ms, Timeout: ${flags.timeout}ms)\n`);
|
|
142
|
+
const result = await appRepo.installFromAppRepoAndWait(installRequest, flags['poll-interval'], flags.timeout);
|
|
143
|
+
if (result.success) {
|
|
144
|
+
this.log('\n✓ Installation completed successfully!');
|
|
145
|
+
this.log(` Application: ${app.name}`);
|
|
146
|
+
this.log(` Scope: ${app.scope}`);
|
|
147
|
+
this.log(` Version: ${targetVersion}`);
|
|
148
|
+
this.log(` Final Status: ${result.status_label}`);
|
|
149
|
+
this.log(` Progress: ${result.percent_complete}%`);
|
|
150
|
+
// Verify installation
|
|
151
|
+
this.log(`\nVerifying installation...`);
|
|
152
|
+
const verifyApp = await companyApps.getCompanyApplicationByScope(app.scope);
|
|
153
|
+
if (verifyApp?.isInstalled) {
|
|
154
|
+
this.log(`✓ Verified: Application is now installed (version ${verifyApp.version})`);
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
else {
|
|
158
|
+
this.log('\n✗ Installation failed');
|
|
159
|
+
this.log(` Status: ${result.status_label}`);
|
|
160
|
+
this.log(` Error: ${result.error || result.status_message}`);
|
|
161
|
+
this.error(`Installation failed: ${result.error || result.status_label}`);
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
catch (error) {
|
|
166
|
+
this._logger.error("Error occurred when installing application from company repository.", error);
|
|
167
|
+
this.error(error);
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
//# sourceMappingURL=repo-install.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"repo-install.js","sourceRoot":"","sources":["../../../src/commands/app/repo-install.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { AuthenticatedCommand } from '../../common/authenticated-command.js';
|
|
2
|
+
export declare class RepoList extends AuthenticatedCommand<typeof RepoList> {
|
|
3
|
+
static args: {};
|
|
4
|
+
static description: string;
|
|
5
|
+
static examples: {
|
|
6
|
+
command: string;
|
|
7
|
+
description: string;
|
|
8
|
+
}[];
|
|
9
|
+
static flags: {
|
|
10
|
+
installable: import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
|
|
11
|
+
installed: import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
|
|
12
|
+
json: import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
|
|
13
|
+
};
|
|
14
|
+
run(): Promise<void>;
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=repo-list.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"repo-list.d.ts","sourceRoot":"","sources":["../../../src/commands/app/repo-list.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAA;AAG5E,qBAAa,QAAS,SAAQ,oBAAoB,CAAC,OAAO,QAAQ,CAAC;IAEjE,MAAM,CAAC,IAAI,KACV;IACH,MAAM,CAAC,WAAW,SAgBsC;IACxD,MAAM,CAAC,QAAQ;;;QAqBZ;IACH,MAAM,CAAC,KAAK;;;;MAmBT;IAEK,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAiG3B"}
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
/* eslint-disable @typescript-eslint/no-unused-vars */
|
|
2
|
+
import { Flags } from '@oclif/core';
|
|
3
|
+
import { CompanyApplications } from '@sonisoft/now-sdk-ext-core';
|
|
4
|
+
import { AuthenticatedCommand } from '../../common/authenticated-command.js';
|
|
5
|
+
export class RepoList extends AuthenticatedCommand {
|
|
6
|
+
static args = {};
|
|
7
|
+
static description = 'List applications available in your ServiceNow company repository.\n\n' +
|
|
8
|
+
'This command retrieves and displays all applications that are available in your company\'s ' +
|
|
9
|
+
'internal application repository. These are applications that have been published internally ' +
|
|
10
|
+
'and are available for installation across your ServiceNow instances.\n\n' +
|
|
11
|
+
'Features:\n' +
|
|
12
|
+
' • List all available company repository applications\n' +
|
|
13
|
+
' • Filter to show only installed applications\n' +
|
|
14
|
+
' • Filter to show only installable (not yet installed) applications\n' +
|
|
15
|
+
' • View application details including versions and dependencies\n' +
|
|
16
|
+
' • JSON output support for automation and scripting\n' +
|
|
17
|
+
' • Vendor-based filtering\n\n' +
|
|
18
|
+
'Use Cases:\n' +
|
|
19
|
+
' • Discover available applications for installation\n' +
|
|
20
|
+
' • Audit installed company applications\n' +
|
|
21
|
+
' • Find applications that can be upgraded\n' +
|
|
22
|
+
' • Integration with CI/CD pipelines\n' +
|
|
23
|
+
' • Automated environment setup and configuration';
|
|
24
|
+
static examples = [
|
|
25
|
+
{
|
|
26
|
+
command: '<%= config.bin %> <%= command.id %> --auth dev-instance',
|
|
27
|
+
description: 'List all company repository applications',
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
command: '<%= config.bin %> <%= command.id %> --installed --auth dev-instance',
|
|
31
|
+
description: 'List only installed applications',
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
command: '<%= config.bin %> <%= command.id %> --installable --auth dev-instance',
|
|
35
|
+
description: 'List only installable (not installed) applications',
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
command: '<%= config.bin %> <%= command.id %> --json --auth dev-instance',
|
|
39
|
+
description: 'Get JSON output for scripting',
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
command: '<%= config.bin %> <%= command.id %> -a dev-instance',
|
|
43
|
+
description: 'List with short flags',
|
|
44
|
+
},
|
|
45
|
+
];
|
|
46
|
+
static flags = {
|
|
47
|
+
installable: Flags.boolean({
|
|
48
|
+
char: 'n',
|
|
49
|
+
default: false,
|
|
50
|
+
description: 'Show only applications that can be installed (not yet installed)',
|
|
51
|
+
required: false
|
|
52
|
+
}),
|
|
53
|
+
installed: Flags.boolean({
|
|
54
|
+
char: 'i',
|
|
55
|
+
default: false,
|
|
56
|
+
description: 'Show only installed applications',
|
|
57
|
+
required: false
|
|
58
|
+
}),
|
|
59
|
+
json: Flags.boolean({
|
|
60
|
+
char: 'j',
|
|
61
|
+
default: false,
|
|
62
|
+
description: 'Output results as JSON',
|
|
63
|
+
required: false
|
|
64
|
+
}),
|
|
65
|
+
};
|
|
66
|
+
async run() {
|
|
67
|
+
const { args, flags } = await this.parse(RepoList);
|
|
68
|
+
try {
|
|
69
|
+
this.log("Fetching company repository applications...\n");
|
|
70
|
+
const companyApps = new CompanyApplications(this.instance);
|
|
71
|
+
const response = await companyApps.getCompanyApplications();
|
|
72
|
+
let apps = response.data;
|
|
73
|
+
// Apply filters
|
|
74
|
+
if (flags.installed) {
|
|
75
|
+
apps = apps.filter(app => app.isInstalled);
|
|
76
|
+
}
|
|
77
|
+
else if (flags.installable) {
|
|
78
|
+
apps = apps.filter(app => !app.isInstalled && app.can_install_or_upgrade);
|
|
79
|
+
}
|
|
80
|
+
// Output results
|
|
81
|
+
if (flags.json) {
|
|
82
|
+
// JSON output
|
|
83
|
+
this.log(JSON.stringify({
|
|
84
|
+
applications: apps.map(app => ({
|
|
85
|
+
available_versions: app.versions.length,
|
|
86
|
+
can_install_or_upgrade: app.can_install_or_upgrade,
|
|
87
|
+
current_version: app.version || null,
|
|
88
|
+
dependencies: app.dependencies || null,
|
|
89
|
+
isInstalled: app.isInstalled,
|
|
90
|
+
latest_version: app.latest_version,
|
|
91
|
+
name: app.name,
|
|
92
|
+
scope: app.scope,
|
|
93
|
+
short_description: app.short_description,
|
|
94
|
+
sys_id: app.sys_id,
|
|
95
|
+
vendor: app.vendor
|
|
96
|
+
})),
|
|
97
|
+
processingTime: response.dataProcessingTime,
|
|
98
|
+
total: apps.length
|
|
99
|
+
}, null, 2));
|
|
100
|
+
}
|
|
101
|
+
else {
|
|
102
|
+
// Human-readable output
|
|
103
|
+
this.log(`Found ${apps.length} application(s)`);
|
|
104
|
+
this.log(`Processing Time: ${response.dataProcessingTime}ms\n`);
|
|
105
|
+
if (apps.length === 0) {
|
|
106
|
+
this.log("No applications found matching the specified criteria.");
|
|
107
|
+
return;
|
|
108
|
+
}
|
|
109
|
+
this.log("─".repeat(100));
|
|
110
|
+
for (const [index, app] of apps.entries()) {
|
|
111
|
+
this.log(`${index + 1}. ${app.name}`);
|
|
112
|
+
this.log(` Scope: ${app.scope}`);
|
|
113
|
+
this.log(` Sys ID: ${app.sys_id}`);
|
|
114
|
+
this.log(` Vendor: ${app.vendor}`);
|
|
115
|
+
this.log(` Latest Version: ${app.latest_version}`);
|
|
116
|
+
this.log(` Installed: ${app.isInstalled ? 'Yes (v' + app.version + ')' : 'No'}`);
|
|
117
|
+
this.log(` Can Install: ${app.can_install_or_upgrade ? 'Yes' : 'No'}`);
|
|
118
|
+
if (app.dependencies) {
|
|
119
|
+
this.log(` Dependencies: ${app.dependencies}`);
|
|
120
|
+
}
|
|
121
|
+
if (app.short_description) {
|
|
122
|
+
this.log(` Description: ${app.short_description}`);
|
|
123
|
+
}
|
|
124
|
+
this.log(` Available Versions: ${app.versions.length}`);
|
|
125
|
+
if (app.versions.length > 0) {
|
|
126
|
+
const recentVersions = app.versions.slice(-3).reverse();
|
|
127
|
+
this.log(` Recent Versions:`);
|
|
128
|
+
for (const v of recentVersions) {
|
|
129
|
+
this.log(` - v${v.version} (${v.publish_date_display})`);
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
this.log("─".repeat(100));
|
|
133
|
+
}
|
|
134
|
+
this.log(`\nTotal: ${apps.length} application(s)`);
|
|
135
|
+
// Show summary statistics
|
|
136
|
+
const installedCount = apps.filter(a => a.isInstalled).length;
|
|
137
|
+
const installableCount = apps.filter(a => !a.isInstalled && a.can_install_or_upgrade).length;
|
|
138
|
+
this.log("\nSummary:");
|
|
139
|
+
this.log(` Installed: ${installedCount}`);
|
|
140
|
+
this.log(` Installable: ${installableCount}`);
|
|
141
|
+
this.log(` Other: ${apps.length - installedCount - installableCount}`);
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
catch (error) {
|
|
145
|
+
this._logger.error("Error occurred when fetching company applications.", error);
|
|
146
|
+
this.error(error);
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
//# sourceMappingURL=repo-list.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"repo-list.js","sourceRoot":"","sources":["../../../src/commands/app/repo-list.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { AuthenticatedCommand } from '../../common/authenticated-command.js';
|
|
2
|
+
export declare class Uninstall extends AuthenticatedCommand<typeof Uninstall> {
|
|
3
|
+
static args: {};
|
|
4
|
+
static description: string;
|
|
5
|
+
static examples: {
|
|
6
|
+
command: string;
|
|
7
|
+
description: string;
|
|
8
|
+
}[];
|
|
9
|
+
static flags: {
|
|
10
|
+
applicationId: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
|
|
11
|
+
scope: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
|
|
12
|
+
};
|
|
13
|
+
run(): Promise<void>;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=uninstall.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"uninstall.d.ts","sourceRoot":"","sources":["../../../src/commands/app/uninstall.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAA;AAG5E,qBAAa,SAAU,SAAQ,oBAAoB,CAAC,OAAO,SAAS,CAAC;IAEnE,MAAM,CAAC,IAAI,KACV;IACH,MAAM,CAAC,WAAW,SAYuC;IACzD,MAAM,CAAC,QAAQ;;;QAaZ;IACH,MAAM,CAAC,KAAK;;;MAGT;IAEK,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAoC3B"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
/* eslint-disable @typescript-eslint/no-unused-vars */
|
|
2
|
+
import { Flags } from '@oclif/core';
|
|
3
|
+
import { Application, NowStringUtil } from '@sonisoft/now-sdk-ext-core';
|
|
4
|
+
import { AuthenticatedCommand } from '../../common/authenticated-command.js';
|
|
5
|
+
import { isNilOrEmpty } from '../../common/utils.js';
|
|
6
|
+
export class Uninstall extends AuthenticatedCommand {
|
|
7
|
+
static args = {};
|
|
8
|
+
static description = 'Uninstall a ServiceNow application from your instance.\n\n' +
|
|
9
|
+
'This command provides programmatic control over ServiceNow application removal, allowing you to uninstall ' +
|
|
10
|
+
'applications remotely. This is useful for automated environment cleanup, testing workflows, and ' +
|
|
11
|
+
'application lifecycle management.\n\n' +
|
|
12
|
+
'Features:\n' +
|
|
13
|
+
' • Uninstall applications by sys_id and scope\n' +
|
|
14
|
+
' • Automated application removal in CI/CD pipelines\n' +
|
|
15
|
+
' • Proper cleanup and rollback handling\n' +
|
|
16
|
+
' • Detailed logging and error reporting\n\n' +
|
|
17
|
+
'Requirements:\n' +
|
|
18
|
+
' • User must have admin role\n' +
|
|
19
|
+
' • Application must be in a removable state\n' +
|
|
20
|
+
' • Both application sys_id and scope are required';
|
|
21
|
+
static examples = [
|
|
22
|
+
{
|
|
23
|
+
command: '<%= config.bin %> <%= command.id %> --applicationId a1b2c3d4e5f6 --scope x_my_custom_app --auth dev-instance',
|
|
24
|
+
description: 'Uninstall an application by sys_id and scope',
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
command: '<%= config.bin %> <%= command.id %> -i a1b2c3d4e5f6 -s x_my_custom_app --auth dev-instance --log-level debug',
|
|
28
|
+
description: 'Uninstall with enhanced debug logging',
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
command: '<%= config.bin %> <%= command.id %> -i a1b2c3d4e5f6 -s x_my_custom_app -a dev-instance',
|
|
32
|
+
description: 'Uninstall using short flags',
|
|
33
|
+
},
|
|
34
|
+
];
|
|
35
|
+
static flags = {
|
|
36
|
+
applicationId: Flags.string({ char: 'i', description: 'Application sys_id', required: true }),
|
|
37
|
+
scope: Flags.string({ char: 's', description: 'Scope of application', required: true }),
|
|
38
|
+
};
|
|
39
|
+
async run() {
|
|
40
|
+
const { args, flags } = await this.parse(Uninstall);
|
|
41
|
+
this.log("App Uninstall Command Executed.");
|
|
42
|
+
if (!isNilOrEmpty(flags.applicationId) && !isNilOrEmpty(flags.scope)) {
|
|
43
|
+
try {
|
|
44
|
+
this.log("Uninstalling app");
|
|
45
|
+
if (NowStringUtil.isStringEmpty(flags.applicationId)) {
|
|
46
|
+
this.error("Application ID is required when uninstalling an app");
|
|
47
|
+
return;
|
|
48
|
+
}
|
|
49
|
+
if (NowStringUtil.isStringEmpty(flags.scope)) {
|
|
50
|
+
this.error("Scope is required when uninstalling an app");
|
|
51
|
+
return;
|
|
52
|
+
}
|
|
53
|
+
this.log("Passed checks. Uninstalling app.");
|
|
54
|
+
const app = new Application(this.instance, flags.scope, flags.applicationId);
|
|
55
|
+
await app.changeApplication();
|
|
56
|
+
await app.uninstall();
|
|
57
|
+
this.log("Application uninstalled successfully.");
|
|
58
|
+
}
|
|
59
|
+
catch (error) {
|
|
60
|
+
this._logger.error("Error occurred when uninstalling application.", error);
|
|
61
|
+
this.error(error);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
else {
|
|
65
|
+
this.error("Validation failed. Please provide applicationId and scope.");
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
//# sourceMappingURL=uninstall.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"uninstall.js","sourceRoot":"","sources":["../../../src/commands/app/uninstall.ts"],"names":[],"mappings":"AAAA,sDAAsD;AAEtD,OAAO,EAAgB,KAAK,EAAC,MAAM,aAAa,CAAA;AAChD,OAAO,EAAG,WAAW,EAAyD,aAAa,EAAuB,MAAM,4BAA4B,CAAC;AAIrJ,OAAO,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAA;AAC5E,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErD,MAAM,OAAO,SAAU,SAAQ,oBAAsC;IAEnE,MAAM,CAAC,IAAI,GAAG,EACb,CAAA;IACH,MAAM,CAAC,WAAW,GAAG,4DAA4D;QAC7E,4GAA4G;QAC5G,kGAAkG;QAClG,uCAAuC;QACvC,aAAa;QACb,kDAAkD;QAClD,wDAAwD;QACxD,4CAA4C;QAC5C,8CAA8C;QAC9C,iBAAiB;QACjB,iCAAiC;QACjC,gDAAgD;QAChD,oDAAoD,CAAC;IACzD,MAAM,CAAC,QAAQ,GAAG;QACd;YACE,OAAO,EAAE,8GAA8G;YACvH,WAAW,EAAE,8CAA8C;SAC5D;QACD;YACE,OAAO,EAAE,8GAA8G;YACvH,WAAW,EAAE,uCAAuC;SACrD;QACD;YACE,OAAO,EAAE,wFAAwF;YACjG,WAAW,EAAE,6BAA6B;SAC3C;KACF,CAAA;IACH,MAAM,CAAC,KAAK,GAAG;QACX,aAAa,EAAE,KAAK,CAAC,MAAM,CAAC,EAAC,IAAI,EAAE,GAAG,EAAE,WAAW,EAAE,oBAAoB,EAAE,QAAQ,EAAE,IAAI,EAAC,CAAC;QAC3F,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,EAAC,IAAI,EAAE,GAAG,EAAE,WAAW,EAAE,sBAAsB,EAAE,QAAQ,EAAE,IAAI,EAAC,CAAC;KACtF,CAAA;IAED,KAAK,CAAC,GAAG;QACP,MAAM,EAAC,IAAI,EAAE,KAAK,EAAC,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAElD,IAAI,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;QAE5C,IAAG,CAAC,YAAY,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,EAAC,CAAC;YACnE,IAAG,CAAC;gBACF,IAAI,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;gBAE7B,IAAG,aAAa,CAAC,aAAa,CAAC,KAAK,CAAC,aAAa,CAAC,EAAC,CAAC;oBACnD,IAAI,CAAC,KAAK,CAAC,qDAAqD,CAAC,CAAC;oBAClE,OAAO;gBACT,CAAC;gBAED,IAAG,aAAa,CAAC,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,EAAC,CAAC;oBAC3C,IAAI,CAAC,KAAK,CAAC,4CAA4C,CAAC,CAAC;oBACzD,OAAO;gBACT,CAAC;gBAED,IAAI,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;gBAC7C,MAAM,GAAG,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,KAAe,EAAG,KAAK,CAAC,aAAuB,CAAC,CAAC;gBAClG,MAAM,GAAG,CAAC,iBAAiB,EAAE,CAAC;gBAC9B,MAAM,GAAG,CAAC,SAAS,EAAE,CAAC;gBAEtB,IAAI,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAC;YAEpD,CAAC;YAAA,OAAM,KAAK,EAAC,CAAC;gBACZ,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,+CAA+C,EAAE,KAAc,CAAC,CAAC;gBACpF,IAAI,CAAC,KAAK,CAAC,KAAc,CAAC,CAAC;YAC7B,CAAC;QAEH,CAAC;aAAI,CAAC;YACJ,IAAI,CAAC,KAAK,CAAC,4DAA4D,CAAC,CAAC;QAC3E,CAAC;IAEH,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { AuthenticatedCommand } from '../../common/authenticated-command.js';
|
|
2
|
+
export declare class Atf extends AuthenticatedCommand<typeof Atf> {
|
|
3
|
+
static args: {};
|
|
4
|
+
static description: string;
|
|
5
|
+
static examples: {
|
|
6
|
+
description: string;
|
|
7
|
+
command: string;
|
|
8
|
+
}[];
|
|
9
|
+
static flags: {
|
|
10
|
+
'test-id': import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
|
|
11
|
+
'suite-id': import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
|
|
12
|
+
'suite-name': import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
|
|
13
|
+
wait: import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
|
|
14
|
+
'poll-interval': import("@oclif/core/lib/interfaces/parser.js").OptionFlag<number, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
|
|
15
|
+
browser: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
|
|
16
|
+
'browser-version': import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
|
|
17
|
+
'os-name': import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
|
|
18
|
+
'os-version': import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
|
|
19
|
+
performance: import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
|
|
20
|
+
cloud: import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
|
|
21
|
+
json: import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
|
|
22
|
+
};
|
|
23
|
+
run(): Promise<void>;
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/atf/index.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAA;AAiB5E,qBAAa,GAAI,SAAQ,oBAAoB,CAAC,OAAO,GAAG,CAAC;IAEvD,MAAM,CAAC,IAAI,KACV;IACH,MAAM,CAAC,WAAW,SAUyB;IAC3C,MAAM,CAAC,QAAQ;;;QAyBZ;IACH,MAAM,CAAC,KAAK;;;;;;;;;;;;;MAgET;IAEK,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAwF3B"}
|