@uipath/solution-tool 1.203.0-preview.205 → 1.204.0-preview.206
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 +2 -2
- package/dist/THIRD-PARTY-NOTICES.md +42 -4
- package/dist/deploy-delete-service-y9dwehmn.js +22 -0
- package/dist/deploy-status-service-nmhnnjmy.js +256 -0
- package/dist/deploy.d.ts +11 -4
- package/dist/deploy.js +19 -7
- package/dist/deployment-search-eb337bjh.js +49 -0
- package/dist/{embedded-file-reader-xxqe8vs8.js → embedded-file-reader-rf2g1kfj.js} +2 -2
- package/dist/feed-resolver-dmtnswcc.js +27 -0
- package/dist/feed-scope-failure-e2yaqfg2.js +18 -0
- package/dist/feed-session-sxga31vn.js +17 -0
- package/dist/index.js +27 -18
- package/dist/init.js +10 -7
- package/dist/{list-pytnrana.js → list-rbjqgz6s.js} +9 -6
- package/dist/pack.js +14 -11
- package/dist/{packager-tool-vas0xg5h.js → packager-tool-2cntqvdv.js} +5 -3
- package/dist/{packager-tool-1haahq17.js → packager-tool-3enm2h28.js} +5 -5
- package/dist/{packager-tool-2syrt51a.js → packager-tool-3fv6zc86.js} +1062 -825
- package/dist/packager-tool-3fyq6wjs.js +5889 -0
- package/dist/{packager-tool-k4mskzww.js → packager-tool-5dzjsw5q.js} +3 -3
- package/dist/{packager-tool-0f0wt9vh.js → packager-tool-5fjp60dk.js} +3071 -2794
- package/dist/{packager-tool-1qnyt7sm.js → packager-tool-752zvh64.js} +756 -359
- package/dist/{packager-tool-bkwnetqn.js → packager-tool-83rzavkx.js} +383 -88
- package/dist/{packager-tool-7znqtw3f.js → packager-tool-9vvdgbay.js} +8 -6
- package/dist/packager-tool-b8pppqbb.js +172 -0
- package/dist/packager-tool-bqre28m1.js +43 -0
- package/dist/packager-tool-dh0m3ebf.js +173 -0
- package/dist/packager-tool-f5gq77m5.js +28 -0
- package/dist/{packager-tool-nzghfa48.js → packager-tool-fv7xyzg2.js} +550 -2
- package/dist/{packager-tool-3jrq7smt.js → packager-tool-gb35b4qs.js} +206 -289
- package/dist/{packager-tool-7rarcemd.js → packager-tool-he7ak44z.js} +16 -74
- package/dist/packager-tool-myn57mc3.js +322 -0
- package/dist/{packager-tool-jmpgr1an.js → packager-tool-n1nzj2b9.js} +1008 -647
- package/dist/packager-tool-n6yb6zp9.js +113 -0
- package/dist/{packager-tool-wkj58797.js → packager-tool-qgaqqq41.js} +320 -151
- package/dist/{packager-tool-resolver-fmjr60x8.js → packager-tool-resolver-2cbxyq6k.js} +6 -5
- package/dist/{packager-tool-2kvztdcy.js → packager-tool-t12hj6pd.js} +1022 -1342
- package/dist/{packager-tool-znakt6yw.js → packager-tool-vh4ng74p.js} +8 -6
- package/dist/packager-tool-vmsxq1pc.js +104 -0
- package/dist/packager-tool-w6jr4638.js +166 -0
- package/dist/packager-tool-zf3929se.js +237 -0
- package/dist/packager-tool-zns6n8zp.js +837 -0
- package/dist/packager-tool-zw3036b8.js +37 -0
- package/dist/packager-tool.js +2 -2
- package/dist/prepare-solution-resources-p3gzdecy.js +25 -0
- package/dist/{project-contributions-cvttys34.js → project-contributions-txe8v6sm.js} +12 -9
- package/dist/publish.js +12 -7
- package/dist/resource.js +9 -6
- package/dist/services/activation.d.ts +17 -2
- package/dist/services/deploy-activate-service.d.ts +10 -0
- package/dist/services/deploy-delete-service.d.ts +82 -0
- package/dist/services/deploy-list-service.d.ts +15 -45
- package/dist/services/deploy-run-service.d.ts +36 -23
- package/dist/services/deploy-upgrade-service.d.ts +198 -39
- package/dist/services/deployment-feed-locator.d.ts +50 -12
- package/dist/services/deployment-search-client.d.ts +55 -0
- package/dist/services/deployment-search.d.ts +87 -34
- package/dist/services/deployment-state.d.ts +119 -0
- package/dist/services/feed-resolver.d.ts +31 -0
- package/dist/services/feed-session.d.ts +70 -0
- package/dist/services/folder-helper.d.ts +4 -27
- package/dist/services/http-status.d.ts +9 -0
- package/dist/services/incomplete-feed-sweep.d.ts +77 -0
- package/dist/services/legacy-deployment-search-v3.d.ts +23 -0
- package/dist/services/packages-list-service.d.ts +5 -0
- package/dist/services/pipeline-deploy-poll.d.ts +69 -0
- package/dist/services/publish-service.d.ts +14 -16
- package/dist/services/search-failure.d.ts +27 -0
- package/dist/templates/AGENTS.md +60 -20
- package/dist/tool.js +27 -18
- package/dist/utils/deployment-errors.d.ts +57 -0
- package/package.json +2 -2
- package/dist/packager-tool-364pcg21.js +0 -51960
- package/dist/packager-tool-jz2wbfjz.js +0 -2275
- package/dist/prepare-solution-resources-wds3r8bq.js +0 -22
- package/dist/services/personal-workspace-deploy.d.ts +0 -49
package/README.md
CHANGED
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
| `new` | Create a new solution |
|
|
12
12
|
| `upload` | Upload a solution package |
|
|
13
13
|
| `deploy run` | Deploy solution to environment |
|
|
14
|
-
| `deploy status` | Check deployment
|
|
14
|
+
| `deploy status` | Check a deployment by name, deployment key, or pipeline deployment ID |
|
|
15
15
|
| `deploy activate` | Activate deployed solution |
|
|
16
16
|
| `deploy uninstall` | Remove solution |
|
|
17
17
|
| `deploy list` | List deployments |
|
|
@@ -27,7 +27,7 @@ uip solution publish <packagePath>
|
|
|
27
27
|
uip solution init --name MySolution
|
|
28
28
|
uip solution upload <packagePath>
|
|
29
29
|
uip solution deploy run --solution-name MySolution
|
|
30
|
-
uip solution deploy status
|
|
30
|
+
uip solution deploy status <deployment-name> # or a deployment key / pipeline deployment ID
|
|
31
31
|
uip solution projects add ./my-solution/my-project ./my-solution/my-solution.uipx
|
|
32
32
|
```
|
|
33
33
|
|
|
@@ -7,8 +7,8 @@ those licences require.
|
|
|
7
7
|
|
|
8
8
|
22 bundled dependencies:
|
|
9
9
|
|
|
10
|
-
- @uipath/resource-builder-sdk@2025.11.0-
|
|
11
|
-
- @uipath/resource-builder-tool@2025.11.0-
|
|
10
|
+
- @uipath/resource-builder-sdk@2025.11.0-alpha6004-4107 — ISC
|
|
11
|
+
- @uipath/resource-builder-tool@2025.11.0-alpha6004-4107 — ISC
|
|
12
12
|
- bundle-name@4.1.0 — MIT
|
|
13
13
|
- commander@14.0.3 — MIT
|
|
14
14
|
- default-browser@5.5.0 — MIT
|
|
@@ -32,7 +32,7 @@ those licences require.
|
|
|
32
32
|
|
|
33
33
|
---
|
|
34
34
|
|
|
35
|
-
## @uipath/resource-builder-sdk@2025.11.0-
|
|
35
|
+
## @uipath/resource-builder-sdk@2025.11.0-alpha6004-4107
|
|
36
36
|
|
|
37
37
|
SPDX: ISC
|
|
38
38
|
|
|
@@ -42,7 +42,7 @@ applies, with copyright held by the package's authors.
|
|
|
42
42
|
|
|
43
43
|
---
|
|
44
44
|
|
|
45
|
-
## @uipath/resource-builder-tool@2025.11.0-
|
|
45
|
+
## @uipath/resource-builder-tool@2025.11.0-alpha6004-4107
|
|
46
46
|
|
|
47
47
|
SPDX: ISC
|
|
48
48
|
|
|
@@ -354,6 +354,25 @@ bundle does not keep:
|
|
|
354
354
|
Copyright (C) Microsoft. All rights reserved.
|
|
355
355
|
```
|
|
356
356
|
|
|
357
|
+
`CopyrightNotice.txt` shipped with the package:
|
|
358
|
+
|
|
359
|
+
```
|
|
360
|
+
/*! *****************************************************************************
|
|
361
|
+
Copyright (c) Microsoft Corporation. All rights reserved.
|
|
362
|
+
Licensed under the Apache License, Version 2.0 (the "License"); you may not use
|
|
363
|
+
this file except in compliance with the License. You may obtain a copy of the
|
|
364
|
+
License at http://www.apache.org/licenses/LICENSE-2.0
|
|
365
|
+
|
|
366
|
+
THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
|
367
|
+
KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
|
|
368
|
+
WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
|
|
369
|
+
MERCHANTABLITY OR NON-INFRINGEMENT.
|
|
370
|
+
|
|
371
|
+
See the Apache Version 2.0 License for specific language governing permissions
|
|
372
|
+
and limitations under the License.
|
|
373
|
+
***************************************************************************** */
|
|
374
|
+
```
|
|
375
|
+
|
|
357
376
|
SPDX: Apache-2.0
|
|
358
377
|
|
|
359
378
|
```
|
|
@@ -436,6 +455,25 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
|
|
|
436
455
|
|
|
437
456
|
## tslib@1.14.1
|
|
438
457
|
|
|
458
|
+
`CopyrightNotice.txt` shipped with the package:
|
|
459
|
+
|
|
460
|
+
```
|
|
461
|
+
/*! *****************************************************************************
|
|
462
|
+
Copyright (c) Microsoft Corporation.
|
|
463
|
+
|
|
464
|
+
Permission to use, copy, modify, and/or distribute this software for any
|
|
465
|
+
purpose with or without fee is hereby granted.
|
|
466
|
+
|
|
467
|
+
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
|
468
|
+
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
|
469
|
+
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
|
470
|
+
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
|
471
|
+
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
|
472
|
+
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
473
|
+
PERFORMANCE OF THIS SOFTWARE.
|
|
474
|
+
***************************************************************************** */
|
|
475
|
+
```
|
|
476
|
+
|
|
439
477
|
SPDX: 0BSD
|
|
440
478
|
|
|
441
479
|
```
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import {
|
|
2
|
+
deleteDeploymentAsync
|
|
3
|
+
} from "./packager-tool-n6yb6zp9.js";
|
|
4
|
+
import"./packager-tool-b8pppqbb.js";
|
|
5
|
+
import"./packager-tool-myn57mc3.js";
|
|
6
|
+
import"./packager-tool-qgaqqq41.js";
|
|
7
|
+
import"./packager-tool-dh0m3ebf.js";
|
|
8
|
+
import"./packager-tool-t12hj6pd.js";
|
|
9
|
+
import"./packager-tool-bqre28m1.js";
|
|
10
|
+
import"./packager-tool-f5gq77m5.js";
|
|
11
|
+
import"./packager-tool-3fv6zc86.js";
|
|
12
|
+
import"./packager-tool-vmsxq1pc.js";
|
|
13
|
+
import"./packager-tool-5fjp60dk.js";
|
|
14
|
+
import"./packager-tool-gb35b4qs.js";
|
|
15
|
+
import"./packager-tool-zf3929se.js";
|
|
16
|
+
import"./packager-tool-dfrk01gn.js";
|
|
17
|
+
import"./packager-tool-1de529jm.js";
|
|
18
|
+
export {
|
|
19
|
+
deleteDeploymentAsync
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
//# debugId=BCFE0E491B8154C164756E2164756E21
|
|
@@ -0,0 +1,256 @@
|
|
|
1
|
+
import {
|
|
2
|
+
deploymentNextSteps,
|
|
3
|
+
needsPendingResources,
|
|
4
|
+
quoteForShell,
|
|
5
|
+
readPendingResourcesAsync
|
|
6
|
+
} from "./packager-tool-w6jr4638.js";
|
|
7
|
+
import {
|
|
8
|
+
INCOMPLETE_SWEEP_ADVICE,
|
|
9
|
+
findDeploymentAcrossFeeds,
|
|
10
|
+
reportIncompleteSweepAsync
|
|
11
|
+
} from "./packager-tool-b8pppqbb.js";
|
|
12
|
+
import {
|
|
13
|
+
DeploymentSearchNeedsUserSessionError,
|
|
14
|
+
findCurrentDeploymentAsync,
|
|
15
|
+
findDeploymentByName,
|
|
16
|
+
httpStatusOf,
|
|
17
|
+
isAuthRefusal
|
|
18
|
+
} from "./packager-tool-myn57mc3.js";
|
|
19
|
+
import {
|
|
20
|
+
Configuration as Configuration2,
|
|
21
|
+
PipelinesApi
|
|
22
|
+
} from "./packager-tool-qgaqqq41.js";
|
|
23
|
+
import {
|
|
24
|
+
feedScopeInitOverride,
|
|
25
|
+
feedSelectorFlag,
|
|
26
|
+
folderKeyInitOverride
|
|
27
|
+
} from "./packager-tool-dh0m3ebf.js";
|
|
28
|
+
import {
|
|
29
|
+
Configuration,
|
|
30
|
+
DeploymentsApi
|
|
31
|
+
} from "./packager-tool-t12hj6pd.js";
|
|
32
|
+
import {
|
|
33
|
+
FeedReadRefusedError,
|
|
34
|
+
classifyFeedSession,
|
|
35
|
+
feedReadRefusalForApplication
|
|
36
|
+
} from "./packager-tool-bqre28m1.js";
|
|
37
|
+
import"./packager-tool-3fv6zc86.js";
|
|
38
|
+
import"./packager-tool-vmsxq1pc.js";
|
|
39
|
+
import {
|
|
40
|
+
catchError
|
|
41
|
+
} from "./packager-tool-5fjp60dk.js";
|
|
42
|
+
import"./packager-tool-gb35b4qs.js";
|
|
43
|
+
import"./packager-tool-zf3929se.js";
|
|
44
|
+
import"./packager-tool-dfrk01gn.js";
|
|
45
|
+
import"./packager-tool-1de529jm.js";
|
|
46
|
+
|
|
47
|
+
// src/services/deploy-status-service.ts
|
|
48
|
+
class IncompleteFeedSweepError extends Error {
|
|
49
|
+
skipped;
|
|
50
|
+
name = "IncompleteFeedSweepError";
|
|
51
|
+
instructions;
|
|
52
|
+
errorCode;
|
|
53
|
+
retry;
|
|
54
|
+
constructor(report, skipped) {
|
|
55
|
+
super(report.message);
|
|
56
|
+
this.skipped = skipped;
|
|
57
|
+
const oneFeed = report.oneFeedFlags.length ? ` To look in one feed directly, pass ${report.oneFeedFlags.join(" or ")}.` : "";
|
|
58
|
+
this.instructions = `${INCOMPLETE_SWEEP_ADVICE} ${report.nextStep}${oneFeed} Details: ${report.details}`;
|
|
59
|
+
this.errorCode = report.errorCode;
|
|
60
|
+
this.retry = report.retry;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
var GUID = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
|
|
64
|
+
function looksLikeDeploymentKey(reference) {
|
|
65
|
+
return GUID.test(reference);
|
|
66
|
+
}
|
|
67
|
+
async function describeDeploymentByKeyAsync(auth, deploymentKey, scope, feedSelector = "", addressedBy = "key") {
|
|
68
|
+
const deploymentsApi = new DeploymentsApi(new Configuration({
|
|
69
|
+
basePath: auth.basePath,
|
|
70
|
+
accessToken: auth.accessToken
|
|
71
|
+
}));
|
|
72
|
+
const pipelinesApi = new PipelinesApi(new Configuration2({
|
|
73
|
+
basePath: auth.basePath,
|
|
74
|
+
accessToken: auth.accessToken
|
|
75
|
+
}));
|
|
76
|
+
const [lookupError, info] = await catchError(pipelinesApi.pipelinesGetDeploymentByKey({ key: deploymentKey }));
|
|
77
|
+
if (!lookupError && info) {
|
|
78
|
+
return describeFromLookupAsync(auth, deploymentsApi, deploymentKey, info, addressedBy);
|
|
79
|
+
}
|
|
80
|
+
if (lookupError && httpStatusOf(lookupError) !== 404) {
|
|
81
|
+
throw lookupError;
|
|
82
|
+
}
|
|
83
|
+
if (classifyFeedSession(auth) !== "user") {
|
|
84
|
+
return;
|
|
85
|
+
}
|
|
86
|
+
return describeViaSolutionsAsync(auth, deploymentsApi, deploymentKey, scope, feedSelector, addressedBy);
|
|
87
|
+
}
|
|
88
|
+
async function describeFromLookupAsync(auth, deploymentsApi, requestedKey, info, addressedBy) {
|
|
89
|
+
const feedScope = info.locationKey ? folderKeyInitOverride(info.locationKey) : undefined;
|
|
90
|
+
const selector = info.locationKey ? ` --feed ${info.locationKey}` : "";
|
|
91
|
+
const superseded = addressedBy === "key" && info.deploymentKey !== requestedKey;
|
|
92
|
+
const [rowError, headRow] = await catchError(findCurrentDeploymentAsync(auth, {
|
|
93
|
+
key: info.deploymentKey,
|
|
94
|
+
installDeploymentKey: info.installDeploymentKey,
|
|
95
|
+
packageName: info.packageName
|
|
96
|
+
}, feedScope));
|
|
97
|
+
const row = headRow && headRow.key === info.deploymentKey ? headRow : undefined;
|
|
98
|
+
const current = {
|
|
99
|
+
key: info.deploymentKey,
|
|
100
|
+
installDeploymentKey: info.installDeploymentKey,
|
|
101
|
+
name: info.deploymentName,
|
|
102
|
+
packageName: info.packageName,
|
|
103
|
+
packageVersion: info.packageVersion,
|
|
104
|
+
currentPackageVersion: row?.currentPackageVersion ?? info.packageVersion,
|
|
105
|
+
newPackageVersionAvailable: row?.newPackageVersionAvailable,
|
|
106
|
+
operation: info.operation,
|
|
107
|
+
operationStatus: info.operationStatus,
|
|
108
|
+
activationStatus: row?.activationStatus ?? (info.status === "SuccessfulActivate" ? "Active" : undefined),
|
|
109
|
+
actions: row?.actions,
|
|
110
|
+
deploymentStatus: info.status
|
|
111
|
+
};
|
|
112
|
+
const pendingResources = needsPendingResources(current) ? await readPendingResourcesAsync(deploymentsApi, current.key, feedScope) : undefined;
|
|
113
|
+
const steps = deploymentNextSteps(current, pendingResources, selector) ?? [];
|
|
114
|
+
if (!row && info.status === "SuccessfulInstall") {
|
|
115
|
+
steps.unshift(headRow ? `Deployment '${current.name}' is installed but not active (DeploymentStatus: SuccessfulInstall). What is left before it runs could not be read: the Solutions search does not list record '${current.key}' yet (its newest row is '${headRow.key}'). Run 'uip solution deploy status ${quoteForShell(current.name)}' again in a moment, or open the deployment in Orchestrator (Tenant > Solutions > Deployments).` : `Deployment '${current.name}' is installed but not active (DeploymentStatus: SuccessfulInstall). What is left before it runs could not be read: the Solutions search needs a user session${rowError ? ` (${rowError.message})` : ""}. Run 'uip solution deploy status ${quoteForShell(current.name)}' after 'uip login', or open the deployment in Orchestrator (Tenant > Solutions > Deployments).`);
|
|
116
|
+
}
|
|
117
|
+
if (superseded) {
|
|
118
|
+
steps.unshift(supersededLine(requestedKey, current, selector));
|
|
119
|
+
}
|
|
120
|
+
return {
|
|
121
|
+
requestedKey: addressedBy === "name" ? current.key : requestedKey,
|
|
122
|
+
current,
|
|
123
|
+
superseded,
|
|
124
|
+
...rowError ? { chainLookupError: rowError.message } : {},
|
|
125
|
+
...pendingResources ? { pendingResources } : {},
|
|
126
|
+
...steps.length > 0 ? { nextSteps: steps } : {}
|
|
127
|
+
};
|
|
128
|
+
}
|
|
129
|
+
async function describeViaSolutionsAsync(auth, deploymentsApi, deploymentKey, scope, feedSelector, addressedBy) {
|
|
130
|
+
const [getError, requested] = await catchError(deploymentsApi.deploymentsGetByKey({ deploymentKey }, scope));
|
|
131
|
+
if (getError) {
|
|
132
|
+
if (httpStatusOf(getError) === 404) {
|
|
133
|
+
return;
|
|
134
|
+
}
|
|
135
|
+
throw getError;
|
|
136
|
+
}
|
|
137
|
+
if (!requested) {
|
|
138
|
+
return;
|
|
139
|
+
}
|
|
140
|
+
const [headError, head] = await catchError(findCurrentDeploymentAsync(auth, requested, scope));
|
|
141
|
+
const moved = headError || !head ? null : head.key !== requested.key;
|
|
142
|
+
const superseded = addressedBy === "name" && moved !== null ? false : moved;
|
|
143
|
+
const current = toCurrentRecord(head ?? requested, {
|
|
144
|
+
deploymentStatus: moved === true ? undefined : requested.status
|
|
145
|
+
});
|
|
146
|
+
const pendingResources = needsPendingResources(current) ? await readPendingResourcesAsync(deploymentsApi, current.key, scope) : undefined;
|
|
147
|
+
const steps = deploymentNextSteps(current, pendingResources, feedSelector) ?? [];
|
|
148
|
+
if (headError) {
|
|
149
|
+
steps.unshift(`The CLI could not check whether key '${deploymentKey}' is the deployment's current record (${headError.message}). The state above is this record's own and may be stale; take the current key from 'uip solution deploy list${feedSelector}'.`);
|
|
150
|
+
} else if (!head) {
|
|
151
|
+
steps.unshift(`Key '${deploymentKey}' has no current record in 'uip solution deploy list${feedSelector}', so whether it is current is not known and the state above may be stale. Take the key from that list; add --personal-workspace or --feed when the deployment lives outside the tenant feed.`);
|
|
152
|
+
} else if (superseded) {
|
|
153
|
+
steps.unshift(supersededLine(deploymentKey, current, feedSelector));
|
|
154
|
+
}
|
|
155
|
+
return {
|
|
156
|
+
requestedKey: addressedBy === "name" ? current.key : deploymentKey,
|
|
157
|
+
current,
|
|
158
|
+
superseded,
|
|
159
|
+
...headError ? { chainLookupError: headError.message } : {},
|
|
160
|
+
...pendingResources ? { pendingResources } : {},
|
|
161
|
+
...steps.length > 0 ? { nextSteps: steps } : {}
|
|
162
|
+
};
|
|
163
|
+
}
|
|
164
|
+
function toCurrentRecord(record, extra) {
|
|
165
|
+
return {
|
|
166
|
+
key: record.key,
|
|
167
|
+
installDeploymentKey: record.installDeploymentKey,
|
|
168
|
+
name: record.name,
|
|
169
|
+
packageName: record.packageName,
|
|
170
|
+
packageVersion: record.packageVersion,
|
|
171
|
+
currentPackageVersion: record.currentPackageVersion,
|
|
172
|
+
newPackageVersionAvailable: record.newPackageVersionAvailable,
|
|
173
|
+
operation: record.operation,
|
|
174
|
+
operationStatus: record.operationStatus,
|
|
175
|
+
activationStatus: record.activationStatus,
|
|
176
|
+
actions: record.actions,
|
|
177
|
+
...extra.deploymentStatus !== undefined ? { deploymentStatus: extra.deploymentStatus } : {}
|
|
178
|
+
};
|
|
179
|
+
}
|
|
180
|
+
function supersededLine(requestedKey, current, feedSelector) {
|
|
181
|
+
const version = current.currentPackageVersion ?? current.packageVersion;
|
|
182
|
+
return `Key '${requestedKey}' is superseded: '${current.name}' is now record '${current.key}' (${current.operation}/${current.operationStatus}, version ${version}). Every operation creates a new record; use the current key from now on, from 'uip solution deploy list${feedSelector}'.`;
|
|
183
|
+
}
|
|
184
|
+
async function describeDeploymentAsync(auth, reference, options) {
|
|
185
|
+
const { selectedFeed } = options;
|
|
186
|
+
const scope = selectedFeed ? feedScopeInitOverride(selectedFeed) : undefined;
|
|
187
|
+
const feedSelector = feedSelectorFlag(selectedFeed);
|
|
188
|
+
if (looksLikeDeploymentKey(reference)) {
|
|
189
|
+
const byKey = await describeDeploymentByKeyAsync(auth, reference, scope, feedSelector);
|
|
190
|
+
if (byKey) {
|
|
191
|
+
return byKey;
|
|
192
|
+
}
|
|
193
|
+
const session = classifyFeedSession(auth);
|
|
194
|
+
if (session === "unknown") {
|
|
195
|
+
return;
|
|
196
|
+
}
|
|
197
|
+
if (session === "application") {
|
|
198
|
+
if (selectedFeed && selectedFeed.kind !== "tenant") {
|
|
199
|
+
const refusal = feedReadRefusalForApplication(auth, `Reading a deployment by name in the feed '${selectedFeed.name ?? selectedFeed.folderKey}'`);
|
|
200
|
+
if (refusal) {
|
|
201
|
+
throw new FeedReadRefusedError(refusal);
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
const [searchError, found2] = await catchError(locateDeploymentByNameAsync(auth, reference, options));
|
|
205
|
+
if (unreadableByApplication(searchError)) {
|
|
206
|
+
return;
|
|
207
|
+
}
|
|
208
|
+
if (searchError) {
|
|
209
|
+
throw searchError;
|
|
210
|
+
}
|
|
211
|
+
return found2 ? describeLocatedDeploymentAsync(auth, found2) : undefined;
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
const found = await locateDeploymentByNameAsync(auth, reference, options);
|
|
215
|
+
return found ? describeLocatedDeploymentAsync(auth, found) : undefined;
|
|
216
|
+
}
|
|
217
|
+
function unreadableByApplication(error) {
|
|
218
|
+
const refused = (cause) => cause instanceof DeploymentSearchNeedsUserSessionError || isAuthRefusal(cause);
|
|
219
|
+
if (error instanceof IncompleteFeedSweepError) {
|
|
220
|
+
return error.skipped.every((feed) => feed.kind !== "tenant" || refused(feed.error));
|
|
221
|
+
}
|
|
222
|
+
return refused(error);
|
|
223
|
+
}
|
|
224
|
+
async function locateDeploymentByNameAsync(auth, reference, options) {
|
|
225
|
+
const { selectedFeed } = options;
|
|
226
|
+
if (selectedFeed) {
|
|
227
|
+
const scope = feedScopeInitOverride(selectedFeed);
|
|
228
|
+
const row = await findDeploymentByName(auth, reference, scope);
|
|
229
|
+
return row ? {
|
|
230
|
+
key: row.key,
|
|
231
|
+
scope,
|
|
232
|
+
feedSelector: feedSelectorFlag(selectedFeed)
|
|
233
|
+
} : undefined;
|
|
234
|
+
}
|
|
235
|
+
const { location, complete, skipped } = await findDeploymentAcrossFeeds(auth, reference, options.locate);
|
|
236
|
+
if (!location && !complete) {
|
|
237
|
+
const report = await reportIncompleteSweepAsync(reference, skipped);
|
|
238
|
+
throw new IncompleteFeedSweepError(report, skipped);
|
|
239
|
+
}
|
|
240
|
+
return location ? {
|
|
241
|
+
key: location.deployment.key,
|
|
242
|
+
scope: location.scope,
|
|
243
|
+
feedSelector: feedSelectorFlag(location.feed)
|
|
244
|
+
} : undefined;
|
|
245
|
+
}
|
|
246
|
+
function describeLocatedDeploymentAsync(auth, found) {
|
|
247
|
+
return describeDeploymentByKeyAsync(auth, found.key, found.scope, found.feedSelector, "name");
|
|
248
|
+
}
|
|
249
|
+
export {
|
|
250
|
+
IncompleteFeedSweepError,
|
|
251
|
+
describeDeploymentAsync,
|
|
252
|
+
describeDeploymentByKeyAsync,
|
|
253
|
+
looksLikeDeploymentKey
|
|
254
|
+
};
|
|
255
|
+
|
|
256
|
+
//# debugId=EC8CC1500C35E32864756E2164756E21
|
package/dist/deploy.d.ts
CHANGED
|
@@ -1,15 +1,19 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Public `@uipath/solution-tool/deploy` entry: the programmatic deployment
|
|
3
|
-
* surface for SDK consumers (e.g. the VS Code extension).
|
|
3
|
+
* surface for SDK consumers (e.g. the VS Code extension). Seven operations
|
|
4
4
|
* under one subpath:
|
|
5
5
|
*
|
|
6
6
|
* - `deployRunAsync` — install + poll + optional auto-activate
|
|
7
7
|
* - `listDeploymentsAsync` — list recent deployments
|
|
8
8
|
* - `activateDeploymentAsync`— activate a previously-deployed solution
|
|
9
|
-
* - `upgradeDeploymentAsync` —
|
|
10
|
-
*
|
|
11
|
-
*
|
|
9
|
+
* - `upgradeDeploymentAsync` — upgrade an existing deployment in place via
|
|
10
|
+
* the Pipelines install (validates before it installs; waits for the
|
|
11
|
+
* terminal status unless `noWait`)
|
|
12
12
|
* - `uninstallDeploymentAsync` — uninstall a deployed solution
|
|
13
|
+
* - `deleteDeploymentAsync` — remove the deployment an uninstall leaves
|
|
14
|
+
* behind, and the ones a superseded version or a failed install leave;
|
|
15
|
+
* the two never overlap, since the service offers `Uninstall` or `Delete`
|
|
16
|
+
* per state, never both
|
|
13
17
|
* - `listPackagesAsync` — list published solution packages
|
|
14
18
|
*
|
|
15
19
|
* Each function returns a tagged result (`{ ok: true, ... } | { ok: false,
|
|
@@ -20,6 +24,8 @@
|
|
|
20
24
|
*/
|
|
21
25
|
export type { ActivateDeploymentFailure, ActivateDeploymentFailureReason, ActivateDeploymentOptions, ActivateDeploymentResult, ActivateDeploymentSuccess, } from "./services/deploy-activate-service";
|
|
22
26
|
export { activateDeploymentAsync } from "./services/deploy-activate-service";
|
|
27
|
+
export type { DeleteDeploymentFailure, DeleteDeploymentFailureReason, DeleteDeploymentOptions, DeleteDeploymentResult, DeleteDeploymentSuccess, } from "./services/deploy-delete-service";
|
|
28
|
+
export { deleteDeploymentAsync } from "./services/deploy-delete-service";
|
|
23
29
|
export type { DeploymentSummary, ListDeploymentsFailure, ListDeploymentsFailureReason, ListDeploymentsOptions, ListDeploymentsResult, ListDeploymentsSuccess, SortDirection, } from "./services/deploy-list-service";
|
|
24
30
|
export { listDeploymentsAsync } from "./services/deploy-list-service";
|
|
25
31
|
export type { DeployFailure, DeployFailureReason, DeployOptions, DeployResult, DeploySuccess, } from "./services/deploy-run-service";
|
|
@@ -28,5 +34,6 @@ export type { UninstallDeploymentFailure, UninstallDeploymentFailureReason, Unin
|
|
|
28
34
|
export { uninstallDeploymentAsync } from "./services/deploy-uninstall-service";
|
|
29
35
|
export type { UpgradeDeploymentFailure, UpgradeDeploymentFailureReason, UpgradeDeploymentOptions, UpgradeDeploymentResult, UpgradeDeploymentSuccess, } from "./services/deploy-upgrade-service";
|
|
30
36
|
export { upgradeDeploymentAsync } from "./services/deploy-upgrade-service";
|
|
37
|
+
export type { PendingResource } from "./services/deployment-state";
|
|
31
38
|
export type { ListPackagesFailure, ListPackagesFailureReason, ListPackagesOptions, ListPackagesResult, ListPackagesSuccess, PackageSummary, } from "./services/packages-list-service";
|
|
32
39
|
export { listPackagesAsync } from "./services/packages-list-service";
|
package/dist/deploy.js
CHANGED
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
import {
|
|
2
|
+
deleteDeploymentAsync
|
|
3
|
+
} from "./packager-tool-n6yb6zp9.js";
|
|
1
4
|
import {
|
|
2
5
|
activateDeploymentAsync,
|
|
3
6
|
deployRunAsync,
|
|
@@ -5,16 +8,25 @@ import {
|
|
|
5
8
|
listPackagesAsync,
|
|
6
9
|
uninstallDeploymentAsync,
|
|
7
10
|
upgradeDeploymentAsync
|
|
8
|
-
} from "./packager-tool-
|
|
9
|
-
import"./packager-tool-
|
|
10
|
-
import"./packager-tool-
|
|
11
|
-
import"./packager-tool-
|
|
12
|
-
import"./packager-tool-
|
|
13
|
-
import"./packager-tool-
|
|
11
|
+
} from "./packager-tool-n1nzj2b9.js";
|
|
12
|
+
import"./packager-tool-w6jr4638.js";
|
|
13
|
+
import"./packager-tool-b8pppqbb.js";
|
|
14
|
+
import"./packager-tool-myn57mc3.js";
|
|
15
|
+
import"./packager-tool-qgaqqq41.js";
|
|
16
|
+
import"./packager-tool-dh0m3ebf.js";
|
|
17
|
+
import"./packager-tool-t12hj6pd.js";
|
|
18
|
+
import"./packager-tool-bqre28m1.js";
|
|
19
|
+
import"./packager-tool-f5gq77m5.js";
|
|
20
|
+
import"./packager-tool-3fv6zc86.js";
|
|
21
|
+
import"./packager-tool-vmsxq1pc.js";
|
|
22
|
+
import"./packager-tool-5fjp60dk.js";
|
|
23
|
+
import"./packager-tool-gb35b4qs.js";
|
|
24
|
+
import"./packager-tool-zf3929se.js";
|
|
14
25
|
import"./packager-tool-dfrk01gn.js";
|
|
15
26
|
import"./packager-tool-1de529jm.js";
|
|
16
27
|
export {
|
|
17
28
|
activateDeploymentAsync,
|
|
29
|
+
deleteDeploymentAsync,
|
|
18
30
|
deployRunAsync,
|
|
19
31
|
listDeploymentsAsync,
|
|
20
32
|
listPackagesAsync,
|
|
@@ -22,4 +34,4 @@ export {
|
|
|
22
34
|
upgradeDeploymentAsync
|
|
23
35
|
};
|
|
24
36
|
|
|
25
|
-
//# debugId=
|
|
37
|
+
//# debugId=D91AF811F0A2AA3964756E2164756E21
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import {
|
|
2
|
+
MAX_LISTED_DEPLOYMENTS,
|
|
3
|
+
blocksRedeploy,
|
|
4
|
+
deploymentToTerminalPipelineResult,
|
|
5
|
+
findCurrentDeploymentAsync,
|
|
6
|
+
findDeploymentBestEffort,
|
|
7
|
+
findDeploymentByName,
|
|
8
|
+
findDeploymentsByName,
|
|
9
|
+
findDeploymentsByPackageName,
|
|
10
|
+
findLiveDeploymentByName,
|
|
11
|
+
formatExistingDeployments,
|
|
12
|
+
httpStatusOf,
|
|
13
|
+
interpretFailedDeployPoll,
|
|
14
|
+
isCompletedUninstall,
|
|
15
|
+
isPipelineDeploymentNotFoundError,
|
|
16
|
+
mapOperationStatusToPipelineStatus,
|
|
17
|
+
newestDeploymentRow,
|
|
18
|
+
resolveInstalledFolder
|
|
19
|
+
} from "./packager-tool-myn57mc3.js";
|
|
20
|
+
import"./packager-tool-qgaqqq41.js";
|
|
21
|
+
import"./packager-tool-t12hj6pd.js";
|
|
22
|
+
import"./packager-tool-bqre28m1.js";
|
|
23
|
+
import"./packager-tool-vmsxq1pc.js";
|
|
24
|
+
import"./packager-tool-5fjp60dk.js";
|
|
25
|
+
import"./packager-tool-gb35b4qs.js";
|
|
26
|
+
import"./packager-tool-zf3929se.js";
|
|
27
|
+
import"./packager-tool-dfrk01gn.js";
|
|
28
|
+
import"./packager-tool-1de529jm.js";
|
|
29
|
+
export {
|
|
30
|
+
MAX_LISTED_DEPLOYMENTS,
|
|
31
|
+
blocksRedeploy,
|
|
32
|
+
deploymentToTerminalPipelineResult,
|
|
33
|
+
findCurrentDeploymentAsync,
|
|
34
|
+
findDeploymentBestEffort,
|
|
35
|
+
findDeploymentByName,
|
|
36
|
+
findDeploymentsByName,
|
|
37
|
+
findDeploymentsByPackageName,
|
|
38
|
+
findLiveDeploymentByName,
|
|
39
|
+
formatExistingDeployments,
|
|
40
|
+
httpStatusOf,
|
|
41
|
+
interpretFailedDeployPoll,
|
|
42
|
+
isCompletedUninstall,
|
|
43
|
+
isPipelineDeploymentNotFoundError,
|
|
44
|
+
mapOperationStatusToPipelineStatus,
|
|
45
|
+
newestDeploymentRow,
|
|
46
|
+
resolveInstalledFolder
|
|
47
|
+
};
|
|
48
|
+
|
|
49
|
+
//# debugId=EE2A815D94C3F5D164756E2164756E21
|