@uipath/solution-tool 1.201.0-preview.133 → 1.202.0-preview.134

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.
Files changed (47) hide show
  1. package/dist/deploy.d.ts +6 -1
  2. package/dist/deploy.js +15 -16
  3. package/dist/{index-2fj08e7n.js → index-gpd94m28.js} +27 -27
  4. package/dist/{index-w03qc9m8.js → index-sby22td6.js} +4 -4
  5. package/dist/index.js +16 -19
  6. package/dist/init.js +10 -13
  7. package/dist/{js-yaml-4ypbq2tt.js → js-yaml-b2jq67kn.js} +16 -16
  8. package/dist/{list-skbehtq2.js → list-3mrc9s3f.js} +7 -11
  9. package/dist/models/pack-command-types.d.ts +8 -0
  10. package/dist/pack.js +9 -12
  11. package/dist/{packager-tool-krd5v2r5.js → packager-tool-0qva0ebq.js} +129 -53
  12. package/dist/{packager-tool-0v6na3yp.js → packager-tool-1de529jm.js} +9 -7
  13. package/dist/{packager-tool-9vehmnke.js → packager-tool-3hbsdwjm.js} +6 -661
  14. package/dist/{packager-tool-fzwxq48d.js → packager-tool-3y92zbg2.js} +3 -3
  15. package/dist/{packager-tool-f7kj5fpa.js → packager-tool-5pfxgc8z.js} +19 -11
  16. package/dist/{packager-tool-9w3k4e77.js → packager-tool-b16qemg2.js} +494 -198
  17. package/dist/{packager-tool-zbp5p149.js → packager-tool-bahvrjbv.js} +592 -264
  18. package/dist/{packager-tool-129wn232.js → packager-tool-dfrk01gn.js} +198 -2
  19. package/dist/{packager-tool-67ssxgph.js → packager-tool-fh8pb2th.js} +3 -5
  20. package/dist/{packager-tool-c29pg93e.js → packager-tool-hc6ybtdw.js} +5 -5
  21. package/dist/{packager-tool-bcpknnr8.js → packager-tool-hgx66d1p.js} +1656 -558
  22. package/dist/{packager-tool-2yz7m5ny.js → packager-tool-nq2nq71y.js} +21282 -20197
  23. package/dist/{packager-tool-wjhn59ft.js → packager-tool-t89r1edr.js} +596 -180
  24. package/dist/{packager-tool-vpr77gre.js → packager-tool-x3ehbhsn.js} +3 -2
  25. package/dist/{packager-tool-yktm4v4r.js → packager-tool-xntjj1bt.js} +1 -1
  26. package/dist/packager-tool.d.ts +4 -3
  27. package/dist/packager-tool.js +4 -4
  28. package/dist/publish.js +8 -11
  29. package/dist/resource.js +7 -10
  30. package/dist/services/activation.d.ts +9 -1
  31. package/dist/services/deploy-run-service.d.ts +25 -1
  32. package/dist/services/deploy-uninstall-service.d.ts +20 -1
  33. package/dist/services/deploy-upgrade-service.d.ts +94 -0
  34. package/dist/services/deployment-feed-locator.d.ts +36 -0
  35. package/dist/services/deployment-search.d.ts +88 -7
  36. package/dist/services/pack-command-service.d.ts +15 -0
  37. package/dist/services/package-metadata-rewrite.d.ts +9 -5
  38. package/dist/services/publish-service.d.ts +11 -9
  39. package/dist/services/solution-path.d.ts +34 -0
  40. package/dist/templates/AGENTS.md +183 -16
  41. package/dist/tool.js +18 -21
  42. package/package.json +2 -2
  43. package/dist/browser-strategy-yccf8mtd.js +0 -99
  44. package/dist/node-strategy-12qfy0nv.js +0 -348
  45. package/dist/packager-tool-5arsyj36.js +0 -11
  46. package/dist/packager-tool-7eva0peq.js +0 -265
  47. package/dist/packager-tool-9qecd4wb.js +0 -14
@@ -2,26 +2,24 @@ import {
2
2
  UsersApi,
3
3
  createApiClient,
4
4
  getSolutionAuthContext
5
- } from "./packager-tool-fzwxq48d.js";
5
+ } from "./packager-tool-3y92zbg2.js";
6
6
  import {
7
7
  catchError,
8
8
  extractErrorMessage,
9
9
  findSolutionFileUpward,
10
+ getFileSystem,
10
11
  getLoginStatusAsync,
11
12
  isGuid,
12
13
  logger,
13
14
  normalizeProjectType
14
- } from "./packager-tool-bcpknnr8.js";
15
- import {
16
- getFileSystem
17
- } from "./packager-tool-7eva0peq.js";
15
+ } from "./packager-tool-hgx66d1p.js";
18
16
  import {
19
17
  __commonJS,
20
18
  __toESM
21
- } from "./packager-tool-0v6na3yp.js";
19
+ } from "./packager-tool-1de529jm.js";
22
20
 
23
21
  // ../../node_modules/reflect-metadata/Reflect.js
24
- var require_Reflect = __commonJS(() => {
22
+ var require_Reflect = __commonJS(function() {
25
23
  /*! *****************************************************************************
26
24
  Copyright (C) Microsoft. All rights reserved.
27
25
  Licensed under the Apache License, Version 2.0 (the "License"); you may not use
@@ -1017,7 +1015,7 @@ var require_Reflect = __commonJS(() => {
1017
1015
  });
1018
1016
 
1019
1017
  // ../../node_modules/tsyringe/node_modules/tslib/tslib.js
1020
- var require_tslib = __commonJS((exports, module) => {
1018
+ var require_tslib = __commonJS(function(exports, module) {
1021
1019
  /*! *****************************************************************************
1022
1020
  Copyright (c) Microsoft Corporation.
1023
1021
 
@@ -1429,7 +1427,7 @@ var require_tslib = __commonJS((exports, module) => {
1429
1427
  });
1430
1428
 
1431
1429
  // ../../node_modules/tsyringe/dist/cjs/types/lifecycle.js
1432
- var require_lifecycle = __commonJS((exports) => {
1430
+ var require_lifecycle = __commonJS(function(exports) {
1433
1431
  Object.defineProperty(exports, "__esModule", { value: true });
1434
1432
  var Lifecycle;
1435
1433
  (function(Lifecycle2) {
@@ -1442,7 +1440,7 @@ var require_lifecycle = __commonJS((exports) => {
1442
1440
  });
1443
1441
 
1444
1442
  // ../../node_modules/tsyringe/dist/cjs/types/index.js
1445
- var require_types = __commonJS((exports) => {
1443
+ var require_types = __commonJS(function(exports) {
1446
1444
  Object.defineProperty(exports, "__esModule", { value: true });
1447
1445
  var lifecycle_1 = require_lifecycle();
1448
1446
  Object.defineProperty(exports, "Lifecycle", { enumerable: true, get: function() {
@@ -1451,7 +1449,7 @@ var require_types = __commonJS((exports) => {
1451
1449
  });
1452
1450
 
1453
1451
  // ../../node_modules/tsyringe/dist/cjs/reflection-helpers.js
1454
- var require_reflection_helpers = __commonJS((exports) => {
1452
+ var require_reflection_helpers = __commonJS(function(exports) {
1455
1453
  Object.defineProperty(exports, "__esModule", { value: true });
1456
1454
  exports.defineInjectionTokenMetadata = exports.getParamInfo = exports.INJECTION_TOKEN_METADATA_KEY = undefined;
1457
1455
  exports.INJECTION_TOKEN_METADATA_KEY = "injectionTokens";
@@ -1479,7 +1477,7 @@ var require_reflection_helpers = __commonJS((exports) => {
1479
1477
  });
1480
1478
 
1481
1479
  // ../../node_modules/tsyringe/dist/cjs/providers/class-provider.js
1482
- var require_class_provider = __commonJS((exports) => {
1480
+ var require_class_provider = __commonJS(function(exports) {
1483
1481
  Object.defineProperty(exports, "__esModule", { value: true });
1484
1482
  exports.isClassProvider = undefined;
1485
1483
  function isClassProvider(provider) {
@@ -1489,7 +1487,7 @@ var require_class_provider = __commonJS((exports) => {
1489
1487
  });
1490
1488
 
1491
1489
  // ../../node_modules/tsyringe/dist/cjs/providers/factory-provider.js
1492
- var require_factory_provider = __commonJS((exports) => {
1490
+ var require_factory_provider = __commonJS(function(exports) {
1493
1491
  Object.defineProperty(exports, "__esModule", { value: true });
1494
1492
  exports.isFactoryProvider = undefined;
1495
1493
  function isFactoryProvider(provider) {
@@ -1499,7 +1497,7 @@ var require_factory_provider = __commonJS((exports) => {
1499
1497
  });
1500
1498
 
1501
1499
  // ../../node_modules/tsyringe/dist/cjs/lazy-helpers.js
1502
- var require_lazy_helpers = __commonJS((exports) => {
1500
+ var require_lazy_helpers = __commonJS(function(exports) {
1503
1501
  Object.defineProperty(exports, "__esModule", { value: true });
1504
1502
  exports.delay = exports.DelayedConstructor = undefined;
1505
1503
 
@@ -1557,7 +1555,7 @@ var require_lazy_helpers = __commonJS((exports) => {
1557
1555
  });
1558
1556
 
1559
1557
  // ../../node_modules/tsyringe/dist/cjs/providers/injection-token.js
1560
- var require_injection_token = __commonJS((exports) => {
1558
+ var require_injection_token = __commonJS(function(exports) {
1561
1559
  Object.defineProperty(exports, "__esModule", { value: true });
1562
1560
  exports.isConstructorToken = exports.isTransformDescriptor = exports.isTokenDescriptor = exports.isNormalToken = undefined;
1563
1561
  var lazy_helpers_1 = require_lazy_helpers();
@@ -1580,7 +1578,7 @@ var require_injection_token = __commonJS((exports) => {
1580
1578
  });
1581
1579
 
1582
1580
  // ../../node_modules/tsyringe/dist/cjs/providers/token-provider.js
1583
- var require_token_provider = __commonJS((exports) => {
1581
+ var require_token_provider = __commonJS(function(exports) {
1584
1582
  Object.defineProperty(exports, "__esModule", { value: true });
1585
1583
  exports.isTokenProvider = undefined;
1586
1584
  function isTokenProvider(provider) {
@@ -1590,7 +1588,7 @@ var require_token_provider = __commonJS((exports) => {
1590
1588
  });
1591
1589
 
1592
1590
  // ../../node_modules/tsyringe/dist/cjs/providers/value-provider.js
1593
- var require_value_provider = __commonJS((exports) => {
1591
+ var require_value_provider = __commonJS(function(exports) {
1594
1592
  Object.defineProperty(exports, "__esModule", { value: true });
1595
1593
  exports.isValueProvider = undefined;
1596
1594
  function isValueProvider(provider) {
@@ -1600,7 +1598,7 @@ var require_value_provider = __commonJS((exports) => {
1600
1598
  });
1601
1599
 
1602
1600
  // ../../node_modules/tsyringe/dist/cjs/providers/index.js
1603
- var require_providers = __commonJS((exports) => {
1601
+ var require_providers = __commonJS(function(exports) {
1604
1602
  Object.defineProperty(exports, "__esModule", { value: true });
1605
1603
  var class_provider_1 = require_class_provider();
1606
1604
  Object.defineProperty(exports, "isClassProvider", { enumerable: true, get: function() {
@@ -1625,7 +1623,7 @@ var require_providers = __commonJS((exports) => {
1625
1623
  });
1626
1624
 
1627
1625
  // ../../node_modules/tsyringe/dist/cjs/providers/provider.js
1628
- var require_provider = __commonJS((exports) => {
1626
+ var require_provider = __commonJS(function(exports) {
1629
1627
  Object.defineProperty(exports, "__esModule", { value: true });
1630
1628
  exports.isProvider = undefined;
1631
1629
  var class_provider_1 = require_class_provider();
@@ -1639,7 +1637,7 @@ var require_provider = __commonJS((exports) => {
1639
1637
  });
1640
1638
 
1641
1639
  // ../../node_modules/tsyringe/dist/cjs/registry-base.js
1642
- var require_registry_base = __commonJS((exports) => {
1640
+ var require_registry_base = __commonJS(function(exports) {
1643
1641
  Object.defineProperty(exports, "__esModule", { value: true });
1644
1642
 
1645
1643
  class RegistryBase {
@@ -1682,7 +1680,7 @@ var require_registry_base = __commonJS((exports) => {
1682
1680
  });
1683
1681
 
1684
1682
  // ../../node_modules/tsyringe/dist/cjs/registry.js
1685
- var require_registry = __commonJS((exports) => {
1683
+ var require_registry = __commonJS(function(exports) {
1686
1684
  Object.defineProperty(exports, "__esModule", { value: true });
1687
1685
  var registry_base_1 = require_registry_base();
1688
1686
 
@@ -1692,7 +1690,7 @@ var require_registry = __commonJS((exports) => {
1692
1690
  });
1693
1691
 
1694
1692
  // ../../node_modules/tsyringe/dist/cjs/resolution-context.js
1695
- var require_resolution_context = __commonJS((exports) => {
1693
+ var require_resolution_context = __commonJS(function(exports) {
1696
1694
  Object.defineProperty(exports, "__esModule", { value: true });
1697
1695
 
1698
1696
  class ResolutionContext {
@@ -1704,7 +1702,7 @@ var require_resolution_context = __commonJS((exports) => {
1704
1702
  });
1705
1703
 
1706
1704
  // ../../node_modules/tsyringe/dist/cjs/error-helpers.js
1707
- var require_error_helpers = __commonJS((exports) => {
1705
+ var require_error_helpers = __commonJS(function(exports) {
1708
1706
  Object.defineProperty(exports, "__esModule", { value: true });
1709
1707
  exports.formatErrorCtor = undefined;
1710
1708
  function formatDependency(params, idx) {
@@ -1728,7 +1726,7 @@ var require_error_helpers = __commonJS((exports) => {
1728
1726
  });
1729
1727
 
1730
1728
  // ../../node_modules/tsyringe/dist/cjs/types/disposable.js
1731
- var require_disposable = __commonJS((exports) => {
1729
+ var require_disposable = __commonJS(function(exports) {
1732
1730
  Object.defineProperty(exports, "__esModule", { value: true });
1733
1731
  exports.isDisposable = undefined;
1734
1732
  function isDisposable(value) {
@@ -1744,7 +1742,7 @@ var require_disposable = __commonJS((exports) => {
1744
1742
  });
1745
1743
 
1746
1744
  // ../../node_modules/tsyringe/dist/cjs/interceptors.js
1747
- var require_interceptors = __commonJS((exports) => {
1745
+ var require_interceptors = __commonJS(function(exports) {
1748
1746
  Object.defineProperty(exports, "__esModule", { value: true });
1749
1747
  exports.PostResolutionInterceptors = exports.PreResolutionInterceptors = undefined;
1750
1748
  var registry_base_1 = require_registry_base();
@@ -1767,7 +1765,7 @@ var require_interceptors = __commonJS((exports) => {
1767
1765
  });
1768
1766
 
1769
1767
  // ../../node_modules/tsyringe/dist/cjs/dependency-container.js
1770
- var require_dependency_container = __commonJS((exports) => {
1768
+ var require_dependency_container = __commonJS(function(exports) {
1771
1769
  Object.defineProperty(exports, "__esModule", { value: true });
1772
1770
  exports.instance = exports.typeInfo = undefined;
1773
1771
  var tslib_1 = require_tslib();
@@ -2083,7 +2081,7 @@ var require_dependency_container = __commonJS((exports) => {
2083
2081
  });
2084
2082
 
2085
2083
  // ../../node_modules/tsyringe/dist/cjs/decorators/auto-injectable.js
2086
- var require_auto_injectable = __commonJS((exports) => {
2084
+ var require_auto_injectable = __commonJS(function(exports) {
2087
2085
  Object.defineProperty(exports, "__esModule", { value: true });
2088
2086
  var reflection_helpers_1 = require_reflection_helpers();
2089
2087
  var dependency_container_1 = require_dependency_container();
@@ -2119,7 +2117,7 @@ var require_auto_injectable = __commonJS((exports) => {
2119
2117
  });
2120
2118
 
2121
2119
  // ../../node_modules/tsyringe/dist/cjs/decorators/inject.js
2122
- var require_inject = __commonJS((exports) => {
2120
+ var require_inject = __commonJS(function(exports) {
2123
2121
  Object.defineProperty(exports, "__esModule", { value: true });
2124
2122
  var reflection_helpers_1 = require_reflection_helpers();
2125
2123
  function inject(token, options) {
@@ -2134,7 +2132,7 @@ var require_inject = __commonJS((exports) => {
2134
2132
  });
2135
2133
 
2136
2134
  // ../../node_modules/tsyringe/dist/cjs/decorators/injectable.js
2137
- var require_injectable = __commonJS((exports) => {
2135
+ var require_injectable = __commonJS(function(exports) {
2138
2136
  Object.defineProperty(exports, "__esModule", { value: true });
2139
2137
  var reflection_helpers_1 = require_reflection_helpers();
2140
2138
  var dependency_container_1 = require_dependency_container();
@@ -2157,7 +2155,7 @@ var require_injectable = __commonJS((exports) => {
2157
2155
  });
2158
2156
 
2159
2157
  // ../../node_modules/tsyringe/dist/cjs/decorators/registry.js
2160
- var require_registry2 = __commonJS((exports) => {
2158
+ var require_registry2 = __commonJS(function(exports) {
2161
2159
  Object.defineProperty(exports, "__esModule", { value: true });
2162
2160
  var tslib_1 = require_tslib();
2163
2161
  var dependency_container_1 = require_dependency_container();
@@ -2174,7 +2172,7 @@ var require_registry2 = __commonJS((exports) => {
2174
2172
  });
2175
2173
 
2176
2174
  // ../../node_modules/tsyringe/dist/cjs/decorators/singleton.js
2177
- var require_singleton = __commonJS((exports) => {
2175
+ var require_singleton = __commonJS(function(exports) {
2178
2176
  Object.defineProperty(exports, "__esModule", { value: true });
2179
2177
  var injectable_1 = require_injectable();
2180
2178
  var dependency_container_1 = require_dependency_container();
@@ -2188,7 +2186,7 @@ var require_singleton = __commonJS((exports) => {
2188
2186
  });
2189
2187
 
2190
2188
  // ../../node_modules/tsyringe/dist/cjs/decorators/inject-all.js
2191
- var require_inject_all = __commonJS((exports) => {
2189
+ var require_inject_all = __commonJS(function(exports) {
2192
2190
  Object.defineProperty(exports, "__esModule", { value: true });
2193
2191
  var reflection_helpers_1 = require_reflection_helpers();
2194
2192
  function injectAll(token, options) {
@@ -2203,7 +2201,7 @@ var require_inject_all = __commonJS((exports) => {
2203
2201
  });
2204
2202
 
2205
2203
  // ../../node_modules/tsyringe/dist/cjs/decorators/inject-all-with-transform.js
2206
- var require_inject_all_with_transform = __commonJS((exports) => {
2204
+ var require_inject_all_with_transform = __commonJS(function(exports) {
2207
2205
  Object.defineProperty(exports, "__esModule", { value: true });
2208
2206
  var reflection_helpers_1 = require_reflection_helpers();
2209
2207
  function injectAllWithTransform(token, transformer, ...args) {
@@ -2219,7 +2217,7 @@ var require_inject_all_with_transform = __commonJS((exports) => {
2219
2217
  });
2220
2218
 
2221
2219
  // ../../node_modules/tsyringe/dist/cjs/decorators/inject-with-transform.js
2222
- var require_inject_with_transform = __commonJS((exports) => {
2220
+ var require_inject_with_transform = __commonJS(function(exports) {
2223
2221
  Object.defineProperty(exports, "__esModule", { value: true });
2224
2222
  var reflection_helpers_1 = require_reflection_helpers();
2225
2223
  function injectWithTransform(token, transformer, ...args) {
@@ -2232,7 +2230,7 @@ var require_inject_with_transform = __commonJS((exports) => {
2232
2230
  });
2233
2231
 
2234
2232
  // ../../node_modules/tsyringe/dist/cjs/decorators/scoped.js
2235
- var require_scoped = __commonJS((exports) => {
2233
+ var require_scoped = __commonJS(function(exports) {
2236
2234
  Object.defineProperty(exports, "__esModule", { value: true });
2237
2235
  var injectable_1 = require_injectable();
2238
2236
  var dependency_container_1 = require_dependency_container();
@@ -2248,7 +2246,7 @@ var require_scoped = __commonJS((exports) => {
2248
2246
  });
2249
2247
 
2250
2248
  // ../../node_modules/tsyringe/dist/cjs/decorators/index.js
2251
- var require_decorators = __commonJS((exports) => {
2249
+ var require_decorators = __commonJS(function(exports) {
2252
2250
  Object.defineProperty(exports, "__esModule", { value: true });
2253
2251
  var auto_injectable_1 = require_auto_injectable();
2254
2252
  Object.defineProperty(exports, "autoInjectable", { enumerable: true, get: function() {
@@ -2289,7 +2287,7 @@ var require_decorators = __commonJS((exports) => {
2289
2287
  });
2290
2288
 
2291
2289
  // ../../node_modules/tsyringe/dist/cjs/factories/instance-caching-factory.js
2292
- var require_instance_caching_factory = __commonJS((exports) => {
2290
+ var require_instance_caching_factory = __commonJS(function(exports) {
2293
2291
  Object.defineProperty(exports, "__esModule", { value: true });
2294
2292
  function instanceCachingFactory(factoryFunc) {
2295
2293
  let instance;
@@ -2304,7 +2302,7 @@ var require_instance_caching_factory = __commonJS((exports) => {
2304
2302
  });
2305
2303
 
2306
2304
  // ../../node_modules/tsyringe/dist/cjs/factories/instance-per-container-caching-factory.js
2307
- var require_instance_per_container_caching_factory = __commonJS((exports) => {
2305
+ var require_instance_per_container_caching_factory = __commonJS(function(exports) {
2308
2306
  Object.defineProperty(exports, "__esModule", { value: true });
2309
2307
  function instancePerContainerCachingFactory(factoryFunc) {
2310
2308
  const cache = new WeakMap;
@@ -2321,7 +2319,7 @@ var require_instance_per_container_caching_factory = __commonJS((exports) => {
2321
2319
  });
2322
2320
 
2323
2321
  // ../../node_modules/tsyringe/dist/cjs/factories/predicate-aware-class-factory.js
2324
- var require_predicate_aware_class_factory = __commonJS((exports) => {
2322
+ var require_predicate_aware_class_factory = __commonJS(function(exports) {
2325
2323
  Object.defineProperty(exports, "__esModule", { value: true });
2326
2324
  function predicateAwareClassFactory(predicate, trueConstructor, falseConstructor, useCaching = true) {
2327
2325
  let instance;
@@ -2342,7 +2340,7 @@ var require_predicate_aware_class_factory = __commonJS((exports) => {
2342
2340
  });
2343
2341
 
2344
2342
  // ../../node_modules/tsyringe/dist/cjs/factories/index.js
2345
- var require_factories = __commonJS((exports) => {
2343
+ var require_factories = __commonJS(function(exports) {
2346
2344
  Object.defineProperty(exports, "__esModule", { value: true });
2347
2345
  var instance_caching_factory_1 = require_instance_caching_factory();
2348
2346
  Object.defineProperty(exports, "instanceCachingFactory", { enumerable: true, get: function() {
@@ -2359,7 +2357,7 @@ var require_factories = __commonJS((exports) => {
2359
2357
  });
2360
2358
 
2361
2359
  // ../../node_modules/tsyringe/dist/cjs/index.js
2362
- var require_cjs = __commonJS((exports) => {
2360
+ var require_cjs = __commonJS(function(exports) {
2363
2361
  Object.defineProperty(exports, "__esModule", { value: true });
2364
2362
  var tslib_1 = require_tslib();
2365
2363
  if (typeof Reflect === "undefined" || !Reflect.getMetadata) {
@@ -15792,18 +15790,54 @@ function normalizeFolderPath(path) {
15792
15790
  function findMatchingLocalResource(resources, kind, name, folderPath) {
15793
15791
  const normalizedFolder = normalizeFolderPath(folderPath);
15794
15792
  const lowerKind = kind.toLowerCase();
15795
- const lowerName = name.toLowerCase();
15796
- const escaped = name.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
15797
- const suffixRegex = new RegExp(`^${escaped}(_\\d+)?$`, "i");
15793
+ const matchesName = nameSuffixRegex(name, false);
15798
15794
  return resources.find((r) => {
15799
15795
  if ((r.kind ?? "").toLowerCase() !== lowerKind)
15800
15796
  return false;
15801
15797
  if (normalizeFolderPath(r.folders?.[0]?.fullyQualifiedName) !== normalizedFolder)
15802
15798
  return false;
15803
- const rName = r.name ?? "";
15804
- return rName.toLowerCase() === lowerName || suffixRegex.test(rName);
15799
+ return matchesName.test(r.name ?? "");
15800
+ });
15801
+ }
15802
+ function nameSuffixRegex(name, suffixedOnly) {
15803
+ const escaped = name.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
15804
+ return new RegExp(`^${escaped}(_\\d+)${suffixedOnly ? "" : "?"}$`, "i");
15805
+ }
15806
+ function isMemberArtefact(resource, memberProjectKeys) {
15807
+ if (resource.isArtefactResource !== true)
15808
+ return false;
15809
+ const projectKey = resource.projectKey?.toLowerCase();
15810
+ return !!projectKey && memberProjectKeys.has(projectKey);
15811
+ }
15812
+ function findMatchingMemberResource(resources, kind, name, memberProjectKeys) {
15813
+ if (memberProjectKeys.size === 0)
15814
+ return;
15815
+ const lowerKind = kind.toLowerCase();
15816
+ const matchesName = nameSuffixRegex(name, false);
15817
+ return resources.find((r) => isMemberArtefact(r, memberProjectKeys) && (r.kind ?? "").toLowerCase() === lowerKind && matchesName.test(r.name ?? ""));
15818
+ }
15819
+ function findMemberCloneResources(resources, memberProjectKeys) {
15820
+ if (memberProjectKeys.size === 0)
15821
+ return [];
15822
+ const members = resources.filter((r) => isMemberArtefact(r, memberProjectKeys));
15823
+ if (members.length === 0)
15824
+ return [];
15825
+ return resources.filter((candidate) => {
15826
+ if (candidate.isArtefactResource === true)
15827
+ return false;
15828
+ if (candidate.projectKey)
15829
+ return false;
15830
+ if (!hasPackageDependency(candidate))
15831
+ return false;
15832
+ const candidateName = candidate.name ?? "";
15833
+ const candidateKind = (candidate.kind ?? "").toLowerCase();
15834
+ const candidateType = (candidate.type ?? "").toLowerCase();
15835
+ return members.some((member) => member.key !== candidate.key && (member.kind ?? "").toLowerCase() === candidateKind && (member.type ?? "").toLowerCase() === candidateType && nameSuffixRegex(member.name ?? "", true).test(candidateName));
15805
15836
  });
15806
15837
  }
15838
+ function hasPackageDependency(resource) {
15839
+ return (resource.dependencies ?? []).some((dependency) => (dependency.kind ?? "").toLowerCase() === "package");
15840
+ }
15807
15841
 
15808
15842
  // ../solution-sdk/src/resources/services/sync-resources-from-bindings.ts
15809
15843
  var BINDINGS_JSON_FALLBACK_TYPES = new Set(["agent", "function"]);
@@ -15854,10 +15888,19 @@ async function buildKindResolver(metadataReader) {
15854
15888
  });
15855
15889
  }
15856
15890
  }
15891
+ const specProperties = new Set;
15892
+ for (const metadataVersion of entry.versions ?? []) {
15893
+ for (const prop of metadataVersion.spec ?? []) {
15894
+ if (prop.property) {
15895
+ specProperties.add(prop.property.toLowerCase());
15896
+ }
15897
+ }
15898
+ }
15857
15899
  const resolved = {
15858
15900
  type: entry.type,
15859
15901
  virtualizable: version?.supportsInLineCreation ?? false,
15860
- requiredDefaults
15902
+ requiredDefaults,
15903
+ specProperties
15861
15904
  };
15862
15905
  cache.set(cacheKey, resolved);
15863
15906
  return resolved;
@@ -15885,6 +15928,7 @@ async function syncResourcesFromBindings(solutionDir, projectPaths) {
15885
15928
  created: 0,
15886
15929
  imported: 0,
15887
15930
  skipped: 0,
15931
+ pruned: 0,
15888
15932
  warnings: []
15889
15933
  };
15890
15934
  const uipxProjects = await readUipxProjects(solutionDir);
@@ -15913,6 +15957,8 @@ async function syncResourcesFromBindings(solutionDir, projectPaths) {
15913
15957
  return result;
15914
15958
  }
15915
15959
  await reconcileSolutionProjects(builder, solutionDir);
15960
+ const memberProjectKeys = new Set(uipxProjects.map((project) => project.id.toLowerCase()));
15961
+ await pruneMemberClones(builder, memberProjectKeys, result);
15916
15962
  if (allBindings.length === 0) {
15917
15963
  const saveError2 = await saveAndDisposeBuilder(builder);
15918
15964
  if (saveError2) {
@@ -15949,6 +15995,11 @@ async function syncResourcesFromBindings(solutionDir, projectPaths) {
15949
15995
  logger.info(`Skipping ${kind} "${name}" — an in-solution resource already covers this solution-relative binding`);
15950
15996
  continue;
15951
15997
  }
15998
+ if (!isConnection && findMatchingMemberResource(solution.resources ?? [], kind, name, memberProjectKeys)) {
15999
+ result.skipped++;
16000
+ logger.info(`Skipping ${kind} "${name}" — the solution provisions this project itself; its member declaration covers the binding`);
16001
+ continue;
16002
+ }
15952
16003
  const rcsMatch = directCloudKey ? await findResourceByKeyInRcs(builder, kind, directCloudKey, folderPath) : await findResourceInRcs(builder, kind, name, folderPath);
15953
16004
  const resolvedType = identity.type ?? rcsMatch?.type ?? metadata?.type;
15954
16005
  if (!rcsMatch) {
@@ -16021,6 +16072,27 @@ async function syncResourcesFromBindings(solutionDir, projectPaths) {
16021
16072
  }
16022
16073
  return result;
16023
16074
  }
16075
+ async function pruneMemberClones(builder, memberProjectKeys, result) {
16076
+ if (memberProjectKeys.size === 0)
16077
+ return;
16078
+ const [loadError, solution] = await catchError(builder.context.loadAsync());
16079
+ if (loadError || !solution) {
16080
+ logger.warn(`Skipping member clone cleanup; failed to load solution: ${loadError?.message ?? "unknown"}`);
16081
+ return;
16082
+ }
16083
+ const clones = findMemberCloneResources(solution.resources ?? [], memberProjectKeys);
16084
+ for (const clone of clones) {
16085
+ const [deleteError] = await catchError(builder.deleteSolutionResourceAsync(clone.key));
16086
+ if (deleteError) {
16087
+ const warning = `Could not remove duplicate ${clone.kind} "${clone.name}" (key: ${clone.key}): ${deleteError.message}`;
16088
+ result.warnings.push(warning);
16089
+ logger.warn(warning);
16090
+ continue;
16091
+ }
16092
+ result.pruned++;
16093
+ logger.info(`Removed duplicate ${clone.kind} "${clone.name}" (key: ${clone.key}) — the solution provisions this project itself`);
16094
+ }
16095
+ }
16024
16096
  async function saveAndDisposeBuilder(builder) {
16025
16097
  const context = builder.context;
16026
16098
  if (!context?.forceSaveChangesAsync) {
@@ -16190,9 +16262,12 @@ async function findResourceInRcs(builder, kind, name, folderPath) {
16190
16262
  logger.warn(`Found ${allMatches.length} ${kind} resources named "${name}" across folders and binding has no folder hint. Marking unresolved.`);
16191
16263
  return;
16192
16264
  }
16193
- async function resolveResourceKindMetadata(services, kind, type) {
16265
+ async function createResourceKindMetadataResolver(services) {
16194
16266
  const metadataReader = services.container.resolve(Tokens.IMetadataReader);
16195
- const resolver = await buildKindResolver(metadataReader);
16267
+ return buildKindResolver(metadataReader);
16268
+ }
16269
+ async function resolveResourceKindMetadata(services, kind, type) {
16270
+ const resolver = await createResourceKindMetadataResolver(services);
16196
16271
  return resolver(kind, type);
16197
16272
  }
16198
16273
  async function createLocalResource(params) {
@@ -16383,8 +16458,8 @@ async function syncAndLog(solutionDir) {
16383
16458
  logger.warn(`Resource sync failed: ${syncError.message}. Continuing.`);
16384
16459
  return;
16385
16460
  }
16386
- if (syncResult.created > 0 || syncResult.imported > 0) {
16387
- logger.info(`Synced resources: ${syncResult.created} created, ${syncResult.imported} imported, ${syncResult.skipped} skipped`);
16461
+ if (syncResult.created > 0 || syncResult.imported > 0 || syncResult.pruned > 0) {
16462
+ logger.info(`Synced resources: ${syncResult.created} created, ${syncResult.imported} imported, ${syncResult.skipped} skipped, ${syncResult.pruned} duplicates removed`);
16388
16463
  }
16389
16464
  for (const warning of syncResult.warnings) {
16390
16465
  logger.warn(warning);
@@ -16434,9 +16509,10 @@ async function resourceRefreshAsync(solutionPath = ".", options = {}) {
16434
16509
  created: result.created,
16435
16510
  imported: result.imported,
16436
16511
  skipped: result.skipped,
16512
+ pruned: result.pruned,
16437
16513
  warnings: result.warnings
16438
16514
  };
16439
16515
  }
16440
- export { Tokens, models_BindingsResourceType, getResourceName, getFolderPathProperty, getResourceKindForBinding, applyEntryPointEnhancementAsync, createResourceBuilderServices, findProjectFile, readProjectFile, readSolutionFile, resolveSolutionFilePath, writeSolutionFile, restoreSolutionFile, createProjectInSolutionBuilder, normalizeFolderPath, findMatchingLocalResource, addProjectArtifactsToSolutionAsync, assertSolutionManifest, syncResourcesFromBindings, findResourceByKeyInRcs, searchRcsResources, findResourceInRcs, createLocalResource, readUipxProjects, syncAndLog, resourceRefreshAsync };
16516
+ export { Tokens, models_BindingsResourceType, getResourceName, getFolderPathProperty, getResourceKindForBinding, applyEntryPointEnhancementAsync, createResourceBuilderServices, findProjectFile, readProjectFile, readSolutionFile, resolveSolutionFilePath, writeSolutionFile, restoreSolutionFile, createProjectInSolutionBuilder, normalizeFolderPath, findMatchingLocalResource, addProjectArtifactsToSolutionAsync, assertSolutionManifest, syncResourcesFromBindings, findResourceByKeyInRcs, searchRcsResources, findResourceInRcs, createResourceKindMetadataResolver, createLocalResource, readUipxProjects, syncAndLog, resourceRefreshAsync };
16441
16517
 
16442
- //# debugId=66F9229297D31A8664756E2164756E21
16518
+ //# debugId=BC3A09192B8885E064756E2164756E21
@@ -19,12 +19,14 @@ var __toESM = (mod, isNodeMode, target) => {
19
19
  }
20
20
  target = mod != null ? __create(__getProtoOf(mod)) : {};
21
21
  const to = isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target;
22
- for (let key of __getOwnPropNames(mod))
23
- if (!__hasOwnProp.call(to, key))
24
- __defProp(to, key, {
25
- get: __accessProp.bind(mod, key),
26
- enumerable: true
27
- });
22
+ if (mod && typeof mod === "object" || typeof mod === "function") {
23
+ for (let key of __getOwnPropNames(mod))
24
+ if (!__hasOwnProp.call(to, key))
25
+ __defProp(to, key, {
26
+ get: __accessProp.bind(mod, key),
27
+ enumerable: true
28
+ });
29
+ }
28
30
  if (canCache)
29
31
  cache.set(mod, to);
30
32
  return to;
@@ -34,4 +36,4 @@ var __require = /* @__PURE__ */ createRequire(import.meta.url);
34
36
 
35
37
  export { __toESM, __commonJS, __require };
36
38
 
37
- //# debugId=C61B9583F8C9819B64756E2164756E21
39
+ //# debugId=4A15A0D6FCDB684764756E2164756E21