@uipath/flow-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.
Files changed (117) hide show
  1. package/README.md +4 -0
  2. package/dist/THIRD-PARTY-NOTICES.md +237 -2
  3. package/dist/authoring-4kyzh1tf.js +23 -0
  4. package/dist/{binding-service-ft8mabkr.js → binding-service-815skxfx.js} +28 -30
  5. package/dist/{connector-service-qnpnwzpv.js → connector-service-xw4f8a7v.js} +34 -31
  6. package/dist/{conversion-FQTRFHRX-xh98wp2q.js → conversion-FQTRFHRX-1q7rk0te.js} +5 -5
  7. package/dist/{debug-conversation-trigger-fy19ygsm.js → debug-conversation-trigger-qdgvrekh.js} +14 -16
  8. package/dist/{debug-http-client-53qk6pc5.js → debug-http-client-s78gbtbn.js} +3 -3
  9. package/dist/{debug-service-nyk0s6mc.js → debug-service-0ppdzgzv.js} +4 -4
  10. package/dist/{edge-service-an71q4ry.js → edge-service-ttzfnxkf.js} +13 -14
  11. package/dist/{embedded-file-reader-0sjt4nkj.js → embedded-file-reader-v8c2yj2a.js} +2 -2
  12. package/dist/{flow-api-2phdajnk.js → flow-api-b7k5dtpm.js} +8 -8
  13. package/dist/{flow-debug-service-bnzgj53b.js → flow-debug-service-4we602jx.js} +38 -35
  14. package/dist/{flow-eval-node-target-2mjben3g.js → flow-eval-node-target-331vzbkw.js} +14 -15
  15. package/dist/{flow-eval-run-api-1bw5e0k4.js → flow-eval-run-api-yq18x5rb.js} +4 -4
  16. package/dist/{flow-eval-run-service-qv8j8fd1.js → flow-eval-run-service-36h1bnm8.js} +40 -37
  17. package/dist/{flow-eval-service-amd02ctw.js → flow-eval-service-ndtk9f9j.js} +19 -20
  18. package/dist/flow-init-sdk-source-9fy9p8ap.js +58 -0
  19. package/dist/{flow-init-service-rnygj5f8.js → flow-init-service-kwhbdtpc.js} +19 -18
  20. package/dist/{flow-io-hddhkve5.js → flow-io-pt392xct.js} +13 -14
  21. package/dist/{flow-migrate-service-e3hm99gp.js → flow-migrate-service-xvz8pbmp.js} +14 -15
  22. package/dist/{flow-pack-service-g8jebcts.js → flow-pack-service-wg1kt2bt.js} +72 -39
  23. package/dist/flow-validate-service-xbhrj47n.js +64 -0
  24. package/dist/{governance-fetcher-cswx2cw7.js → governance-fetcher-5yy89pfd.js} +6 -5
  25. package/dist/{headless-mmnrkzve.js → headless-1pdmae01.js} +2 -2
  26. package/dist/{hitl-service-a4fmjrzh.js → hitl-service-q2d39v5s.js} +13 -14
  27. package/dist/{index-3ts7y9d3.js → index-2s8rmmw6.js} +5 -3
  28. package/dist/index-3jpjaq1g.js +26 -0
  29. package/dist/{index-t5zedby6.js → index-41vyzws2.js} +59 -27
  30. package/dist/{index-b46bavh7.js → index-5yw15y73.js} +2 -2
  31. package/dist/{index-212q16sv.js → index-7qw3ttge.js} +416 -87
  32. package/dist/{index-t8e0ft8r.js → index-c1q6mnw1.js} +3 -3
  33. package/dist/{index-xa7gm52r.js → index-dqqg54v6.js} +601 -61
  34. package/dist/index.js +10 -10
  35. package/dist/init.d.ts +1 -1
  36. package/dist/init.js +19 -18
  37. package/dist/{input-reader-tw0j373f.js → input-reader-bv7kt19c.js} +2 -2
  38. package/dist/{known-types-b64as10y.js → known-types-jhyhnkt6.js} +4 -4
  39. package/dist/{maestro-automate-entry-pqy9xqm3.js → maestro-automate-entry-qak46eg0.js} +2 -2
  40. package/dist/node-2whm5wkf.js +4823 -0
  41. package/dist/{node-service-qnny15cm.js → node-service-js01ft95.js} +31 -30
  42. package/dist/{node-strategy-gc4sg6a2.js → node-strategy-fdnkvq4a.js} +1 -1
  43. package/dist/{node-sync-service-f1x1ak6q.js → node-sync-service-pb3m4dp2.js} +9 -9
  44. package/dist/{packager-tool-et7wj8kr.js → packager-tool-0w4es6rz.js} +2 -2
  45. package/dist/{packager-tool-dph5p2f5.js → packager-tool-1mnq1c97.js} +1 -1
  46. package/dist/packager-tool-225z77w9.js +52 -0
  47. package/dist/{packager-tool-de2txaxx.js → packager-tool-2hzsf1rc.js} +5 -5
  48. package/dist/{packager-tool-vbser1d9.js → packager-tool-2qr8z5ke.js} +4 -4
  49. package/dist/{packager-tool-0egkaa38.js → packager-tool-32czz9mq.js} +2 -2
  50. package/dist/{packager-tool-0v3s8r01.js → packager-tool-3h2ktz6q.js} +2 -2
  51. package/dist/{packager-tool-h9d8c9rf.js → packager-tool-4zdhy0c3.js} +2 -2
  52. package/dist/{packager-tool-afd1wwf2.js → packager-tool-53c81nnr.js} +440 -29
  53. package/dist/{packager-tool-2c688mdj.js → packager-tool-57fak54h.js} +4 -4
  54. package/dist/{packager-tool-qa2xzxez.js → packager-tool-59s95scr.js} +1 -1
  55. package/dist/{packager-tool-n8p9cay6.js → packager-tool-6azk3rex.js} +1 -1
  56. package/dist/{packager-tool-26ydwf12.js → packager-tool-6h69pd2a.js} +23 -8
  57. package/dist/{packager-tool-mnrbdn6a.js → packager-tool-6scjsgh6.js} +55 -17
  58. package/dist/{packager-tool-xzf4xc65.js → packager-tool-70cta0be.js} +4 -4
  59. package/dist/{packager-tool-tw3j5h3z.js → packager-tool-8hj7w7em.js} +5 -5
  60. package/dist/{packager-tool-795gzq9k.js → packager-tool-8pmgk4f6.js} +1 -1
  61. package/dist/{packager-tool-321a1806.js → packager-tool-8vmx4j2w.js} +1 -1
  62. package/dist/{packager-tool-cnftzx4c.js → packager-tool-a6ph7149.js} +40 -11
  63. package/dist/{packager-tool-s0mzv3sx.js → packager-tool-aw60v0et.js} +1 -1
  64. package/dist/{packager-tool-e89k4pjj.js → packager-tool-c0rtxezv.js} +1 -1
  65. package/dist/{packager-tool-1w4f09cq.js → packager-tool-d0ny3x3b.js} +141 -96
  66. package/dist/{packager-tool-gzpvdcnw.js → packager-tool-da1cmt0q.js} +2 -2
  67. package/dist/{packager-tool-p8j4zvrq.js → packager-tool-dp8vjby4.js} +4829 -1364
  68. package/dist/packager-tool-e5hj89zm.js +6 -0
  69. package/dist/{packager-tool-fwp34rqp.js → packager-tool-ev80vk13.js} +8 -8
  70. package/dist/{packager-tool-gctpkdzs.js → packager-tool-hhy1gr2k.js} +1 -1
  71. package/dist/{packager-tool-sf9f6jft.js → packager-tool-hygq2wy6.js} +1 -1
  72. package/dist/{packager-tool-0v3tzseq.js → packager-tool-jeb6xmgw.js} +2 -2
  73. package/dist/packager-tool-krzxg3ga.js +804 -0
  74. package/dist/{packager-tool-1r5dnt9q.js → packager-tool-mv4jav1h.js} +1 -1
  75. package/dist/{packager-tool-pppzgwfw.js → packager-tool-n4vdjmjx.js} +18079 -18079
  76. package/dist/{packager-tool-t9c77psy.js → packager-tool-p1tb6d4f.js} +955 -150
  77. package/dist/{packager-tool-gs28y1eq.js → packager-tool-qhhrq12s.js} +2 -2
  78. package/dist/{packager-tool-6k8s7pt9.js → packager-tool-r7xy9sew.js} +1090 -545
  79. package/dist/{packager-tool-b1xs6aty.js → packager-tool-stq8800d.js} +902 -897
  80. package/dist/{packager-tool-61r38k4d.js → packager-tool-t57d6pzz.js} +320 -200
  81. package/dist/{packager-tool-a7t9v5ss.js → packager-tool-v9v9ch04.js} +2 -2
  82. package/dist/{packager-tool-cdn59g60.js → packager-tool-ve5t7317.js} +2 -2
  83. package/dist/{packager-tool-yxv9mm8s.js → packager-tool-vtaqtf7f.js} +10 -10
  84. package/dist/{packager-tool-t39edv0g.js → packager-tool-w3dy6vnj.js} +184 -193
  85. package/dist/{packager-tool-9kx94sj5.js → packager-tool-x5qafkb7.js} +2 -2
  86. package/dist/{packager-tool-s841bbkr.js → packager-tool-yednpbbw.js} +2 -2
  87. package/dist/{packager-tool-yxnepq2j.js → packager-tool-ysbskrta.js} +1 -1
  88. package/dist/packager-tool-zgsvggdr.js +50 -0
  89. package/dist/packager-tool.js +12 -13
  90. package/dist/{serialization-BXU6AKAN-rhgmwp06.js → serialization-BXU6AKAN-c2ge8yvb.js} +5 -5
  91. package/dist/services/flow-init-sdk-source.d.ts +28 -0
  92. package/dist/services/flow-init-service.d.ts +25 -0
  93. package/dist/services/inline-activity-service.d.ts +135 -0
  94. package/dist/services/node-service.d.ts +14 -0
  95. package/dist/services/node-validators/index.d.ts +2 -0
  96. package/dist/services/node-validators/inline-activity-validator.d.ts +18 -0
  97. package/dist/services/node-validators/types.d.ts +6 -0
  98. package/dist/services/node-validators/unresolved-binding-placeholder-validator.d.ts +2 -0
  99. package/dist/services/preview-id-rule.d.ts +33 -0
  100. package/dist/services/ui-only-node-types.d.ts +1 -0
  101. package/dist/{shared-utils-wv356cvj.js → shared-utils-9vfmrxtx.js} +2 -2
  102. package/dist/{packager-tool-es0a755k.js → tidy-service-q2wwwans.js} +33 -7
  103. package/dist/tool.js +10 -10
  104. package/dist/utils/flow-io.d.ts +3 -16
  105. package/dist/validation.js +35 -36
  106. package/dist/{variable-service-bc7920kx.js → variable-service-nm9fdwsw.js} +13 -14
  107. package/dist/{wait-for-flow-job-v0njb0dk.js → wait-for-flow-job-yzyamptd.js} +8 -8
  108. package/package.json +2 -2
  109. package/dist/authoring-tv4dh80p.js +0 -360
  110. package/dist/flow-validate-service-x9dtdrc7.js +0 -65
  111. package/dist/node-xdgxafqs.js +0 -15600
  112. package/dist/packager-tool-2513jrxr.js +0 -898
  113. package/dist/packager-tool-5kt8tsq4.js +0 -85
  114. package/dist/packager-tool-w0kr4mbc.js +0 -996
  115. package/dist/services/tidy-service.d.ts +0 -26
  116. package/dist/tidy-service-8y2tjmb5.js +0 -39
  117. /package/dist/{localization-y790z9vm.js → localization-xecwjpe2.js} +0 -0
@@ -23,7 +23,7 @@ import {
23
23
  nodeDisplayManifestSchema,
24
24
  nodeManifestSchema,
25
25
  workflowManifestSchema
26
- } from "./packager-tool-yxnepq2j.js";
26
+ } from "./packager-tool-ysbskrta.js";
27
27
  import {
28
28
  createI18nRegistrar
29
29
  } from "./packager-tool-p79yh9ww.js";
@@ -14,7 +14,7 @@ import {
14
14
  resolveAndConvertWorkflow,
15
15
  workflowFileSchema,
16
16
  workflowSchema
17
- } from "./packager-tool-sf9f6jft.js";
17
+ } from "./packager-tool-hygq2wy6.js";
18
18
  import {
19
19
  __require
20
20
  } from "./packager-tool-1yh8g550.js";
@@ -13,7 +13,7 @@ import {
13
13
  } from "./packager-tool-yc4kw997.js";
14
14
  import {
15
15
  getFileSystem
16
- } from "./packager-tool-0v3s8r01.js";
16
+ } from "./packager-tool-3h2ktz6q.js";
17
17
  import {
18
18
  __require
19
19
  } from "./packager-tool-1yh8g550.js";
@@ -732,6 +732,11 @@ var pickName = (claims) => {
732
732
  const username = asString(claims?.preferred_username);
733
733
  return asString(claims?.name) ?? (looksLikeEmail(username) ? undefined : username);
734
734
  };
735
+ var pickScopes = (claims) => {
736
+ const raw = claims?.scope;
737
+ const scopes = Array.isArray(raw) ? raw.filter((entry) => asString(entry) !== undefined) : typeof raw === "string" ? raw.split(/\s+/).filter(Boolean) : [];
738
+ return scopes.length > 0 ? scopes : undefined;
739
+ };
735
740
  var resolveSessionIdentity = (accessToken, authFlow) => {
736
741
  const claims = accessToken ? decodeClaims(accessToken) : undefined;
737
742
  const email = pickEmail(claims);
@@ -757,6 +762,7 @@ var resolveSessionIdentity = (accessToken, authFlow) => {
757
762
  identity.clientId = clientId;
758
763
  return identity;
759
764
  };
765
+ var readTokenScopes = (accessToken) => accessToken ? pickScopes(decodeClaims(accessToken)) : undefined;
760
766
 
761
767
  // ../auth/src/envAuth.ts
762
768
  var ENV_AUTH_ENABLE_VAR = "UIPATH_CLI_ENABLE_ENV_AUTH";
@@ -829,6 +835,7 @@ var readAuthFromEnv = () => {
829
835
  const expiration = getTokenExpiration(accessToken);
830
836
  const loginStatus = expiration && expiration <= new Date ? "Expired" : "Logged in";
831
837
  const identity = resolveSessionIdentity(accessToken);
838
+ const scopes = readTokenScopes(accessToken);
832
839
  return {
833
840
  loginStatus,
834
841
  accessToken,
@@ -839,7 +846,8 @@ var readAuthFromEnv = () => {
839
846
  tenantId,
840
847
  expiration,
841
848
  source: "env-vars" /* EnvironmentVariables */,
842
- ...identity ? { identity } : {}
849
+ ...identity ? { identity } : {},
850
+ ...scopes ? { scopes } : {}
843
851
  };
844
852
  };
845
853
 
@@ -1487,10 +1495,15 @@ async function buildFileStatus(tokens, credentials, globalHint) {
1487
1495
  }
1488
1496
  function identityFields(accessToken, credentials) {
1489
1497
  const identity = resolveSessionIdentity(accessToken, parseAuthFlow(credentials[AUTH_FLOW_ENV_VAR]));
1490
- return identity ? { identity } : {};
1498
+ const scopes = readTokenScopes(accessToken);
1499
+ return {
1500
+ ...identity ? { identity } : {},
1501
+ ...scopes ? { scopes } : {}
1502
+ };
1491
1503
  }
1492
1504
  function buildRobotStatus(robotCreds) {
1493
1505
  const identity = resolveSessionIdentity(robotCreds.accessToken);
1506
+ const scopes = readTokenScopes(robotCreds.accessToken);
1494
1507
  return {
1495
1508
  loginStatus: "Logged in",
1496
1509
  accessToken: robotCreds.accessToken,
@@ -1502,7 +1515,8 @@ function buildRobotStatus(robotCreds) {
1502
1515
  issuer: robotCreds.issuer,
1503
1516
  expiration: getTokenExpiration(robotCreds.accessToken),
1504
1517
  source: "robot" /* Robot */,
1505
- ...identity ? { identity } : {}
1518
+ ...identity ? { identity } : {},
1519
+ ...scopes ? { scopes } : {}
1506
1520
  };
1507
1521
  }
1508
1522
  var isFileNotFoundError = (error) => {
@@ -1769,7 +1783,8 @@ var getAuthContext = async (options = {}) => {
1769
1783
  organizationId: status.organizationId,
1770
1784
  organizationName: status.organizationName,
1771
1785
  tenantId: status.tenantId,
1772
- tenantName
1786
+ tenantName,
1787
+ identity: status.identity
1773
1788
  };
1774
1789
  };
1775
1790
  var getAuthEnv = async (options = {}) => {
@@ -2417,7 +2432,7 @@ var authenticate = async ({
2417
2432
  const { BrowserAuthStrategy } = await import("./browser-strategy-6atc7v8s.js");
2418
2433
  strategy = new BrowserAuthStrategy;
2419
2434
  } else {
2420
- const { NodeAuthStrategy } = await import("./node-strategy-gc4sg6a2.js");
2435
+ const { NodeAuthStrategy } = await import("./node-strategy-fdnkvq4a.js");
2421
2436
  strategy = new NodeAuthStrategy;
2422
2437
  }
2423
2438
  const code = await strategy.execute(authUrl, effectiveRedirectUriUrl, state, {
@@ -2437,6 +2452,6 @@ var authenticate = async ({
2437
2452
  });
2438
2453
  };
2439
2454
 
2440
- export { setAuthFileConfig, InvalidBaseUrlError, DEFAULT_AUTH_PROFILE, AuthProfileValidationError, normalizeAuthProfileName, setActiveAuthProfile, clearActiveAuthProfile, getActiveAuthProfile, runWithAuthProfile, resolveAuthProfileFilePath, getActiveAuthProfileFilePath, getAuthProfilesRootPath, resolveAuthProfileDirPath, listAuthProfileNamesAsync, authProfileExistsAsync, deleteAuthProfileAsync, parseJWT, parseAuthFlow, resolveSessionIdentity, ENV_AUTH_ENABLE_VAR, ENFORCE_ROBOT_AUTH_VAR, ENV_AUTH_VARS, EnvAuthConfigError, isEnvAuthEnabled, isRobotAuthEnforced, readAuthFromEnv, refreshTokenFingerprint, loadRefreshBreaker, saveRefreshBreaker, clearRefreshBreaker, registerRobotClientLoader, TokenRefreshOAuthError, isTokenRefreshOAuthFailure, refreshAccessToken, AUTH_FLOW_ENV_VAR, DEFAULT_AUTH_FILENAME, DEFAULT_ENV_FILENAME, resolveEnvFileLocationAsync, resolveEnvFilePathAsync, loadEnvFileAsync, saveEnvFileAsync, CredentialSource, getLoginStatusAsync, getLoginStatusWithDeps, getAuthContext, getAuthEnv, describeAuthProfilesAsync, ClientCredentialsAuthenticationError, clientCredentialsLogin, JWT_BEARER_ASSERTION_TYPE, FederatedCredentialsAuthenticationError, federatedCredentialsLogin, fetchTenantsAndOrganizations, TENANT_SELECTION_REQUIRED_CODE, INVALID_TENANT_CODE, TenantSelectionError, TenantSelectionRequiredError, InvalidTenantError, isTenantSelectionError, selectTenantWithDeps, interactiveLoginWithDeps, interactiveLogin, logoutWithDeps, logout, authenticate };
2455
+ export { setAuthFileConfig, InvalidBaseUrlError, DEFAULT_AUTH_PROFILE, AuthProfileValidationError, normalizeAuthProfileName, setActiveAuthProfile, clearActiveAuthProfile, getActiveAuthProfile, runWithAuthProfile, resolveAuthProfileFilePath, getActiveAuthProfileFilePath, getAuthProfilesRootPath, resolveAuthProfileDirPath, listAuthProfileNamesAsync, authProfileExistsAsync, deleteAuthProfileAsync, parseJWT, parseAuthFlow, resolveSessionIdentity, readTokenScopes, ENV_AUTH_ENABLE_VAR, ENFORCE_ROBOT_AUTH_VAR, ENV_AUTH_VARS, EnvAuthConfigError, isEnvAuthEnabled, isRobotAuthEnforced, readAuthFromEnv, refreshTokenFingerprint, loadRefreshBreaker, saveRefreshBreaker, clearRefreshBreaker, registerRobotClientLoader, TokenRefreshOAuthError, isTokenRefreshOAuthFailure, refreshAccessToken, AUTH_FLOW_ENV_VAR, DEFAULT_AUTH_FILENAME, DEFAULT_ENV_FILENAME, resolveEnvFileLocationAsync, resolveEnvFilePathAsync, loadEnvFileAsync, saveEnvFileAsync, CredentialSource, getLoginStatusAsync, getLoginStatusWithDeps, getAuthContext, getAuthEnv, describeAuthProfilesAsync, ClientCredentialsAuthenticationError, clientCredentialsLogin, JWT_BEARER_ASSERTION_TYPE, FederatedCredentialsAuthenticationError, federatedCredentialsLogin, fetchTenantsAndOrganizations, TENANT_SELECTION_REQUIRED_CODE, INVALID_TENANT_CODE, TenantSelectionError, TenantSelectionRequiredError, InvalidTenantError, isTenantSelectionError, selectTenantWithDeps, interactiveLoginWithDeps, interactiveLogin, logoutWithDeps, logout, authenticate };
2441
2456
 
2442
- //# debugId=DD235729704777A964756E2164756E21
2457
+ //# debugId=D608392AA055EEB864756E2164756E21
@@ -1,38 +1,42 @@
1
+ import {
2
+ InlineActivityError,
3
+ definitionConfigurationOf,
4
+ prepareInlineActivity
5
+ } from "./packager-tool-p1tb6d4f.js";
1
6
  import {
2
7
  regenerateBindingsFile
3
- } from "./packager-tool-de2txaxx.js";
8
+ } from "./packager-tool-2hzsf1rc.js";
4
9
  import {
5
10
  getConnectorInfo,
6
11
  getNode,
7
12
  isConnectorNode
8
- } from "./packager-tool-fwp34rqp.js";
13
+ } from "./packager-tool-ev80vk13.js";
9
14
  import {
10
15
  isKnownSdkNodeType
11
- } from "./packager-tool-dph5p2f5.js";
16
+ } from "./packager-tool-1mnq1c97.js";
12
17
  import {
13
18
  findMatchingDefinition
14
- } from "./packager-tool-gzpvdcnw.js";
19
+ } from "./packager-tool-da1cmt0q.js";
15
20
  import {
16
21
  readFlowWorkflow,
17
22
  writeFlowWorkflow
18
- } from "./packager-tool-5kt8tsq4.js";
23
+ } from "./packager-tool-225z77w9.js";
19
24
  import {
20
25
  createProcessBindings,
21
26
  extractProcessGuid
22
- } from "./packager-tool-afd1wwf2.js";
27
+ } from "./packager-tool-53c81nnr.js";
23
28
  import {
24
29
  addBinding,
25
30
  addNode,
26
31
  generateNodeIdAndName
27
- } from "./packager-tool-n8p9cay6.js";
32
+ } from "./packager-tool-6azk3rex.js";
28
33
  import {
29
34
  catchError,
30
35
  logger
31
- } from "./packager-tool-6k8s7pt9.js";
36
+ } from "./packager-tool-r7xy9sew.js";
32
37
  import {
33
38
  getFileSystem
34
- } from "./packager-tool-0v3s8r01.js";
35
-
39
+ } from "./packager-tool-3h2ktz6q.js";
36
40
  // src/services/node-service.ts
37
41
  class NodeTypeNotFoundError extends Error {
38
42
  code = "NodeTypeNotFound";
@@ -197,10 +201,21 @@ function collectNodeBindingResourceKeys(node, bindings, definitions) {
197
201
  return keys;
198
202
  }
199
203
  var addNodeToFlow = async (filePath, nodeType, options = {}) => {
200
- const [registryErr, registryManifest] = await catchError(getNode(nodeType));
201
- let manifest = registryManifest ?? null;
202
- if (registryErr) {
203
- logger.debug(`Registry node lookup failed for ${nodeType}: ${registryErr.message}`);
204
+ let inline;
205
+ if (options.inlineActivity) {
206
+ inline = await prepareInlineActivity(nodeType, options.inlineActivity);
207
+ } else if (nodeType.startsWith("uipath.connector.custom.")) {
208
+ throw new InlineActivityError(`Node type "${nodeType}" is a non-catalog activity, which the registry does not carry.`, "Pass --metadata <Name>.json and --scripts <dir> (the files `uip is activities metadata generate` and `script update` produced) so the definition is built locally.");
209
+ }
210
+ let manifest = inline?.manifest ?? null;
211
+ let registryErr;
212
+ if (!manifest) {
213
+ const [err, registryManifest] = await catchError(getNode(nodeType));
214
+ manifest = registryManifest ?? null;
215
+ registryErr = err;
216
+ if (err) {
217
+ logger.debug(`Registry node lookup failed for ${nodeType}: ${err.message}`);
218
+ }
204
219
  }
205
220
  let localErr = null;
206
221
  if (!manifest) {
@@ -231,6 +246,12 @@ var addNodeToFlow = async (filePath, nodeType, options = {}) => {
231
246
  }
232
247
  }
233
248
  const { workflow, refMap } = await readFlowWorkflow(filePath);
249
+ if (inline) {
250
+ const existing = workflow.definitions.find((d) => d.nodeType === manifest.nodeType && d.version === manifest.version);
251
+ if (existing && definitionConfigurationOf(existing) !== definitionConfigurationOf(manifest)) {
252
+ throw new InlineActivityError(`"${nodeType}" is already defined in this flow with different activity metadata.`, "Use a different activity slug for this node type, or remove the existing nodes of this type first so the definition is rebuilt from the new metadata.");
253
+ }
254
+ }
234
255
  const existingIds = new Set(workflow.nodes.map((n) => n.id));
235
256
  const existingDefCount = workflow.definitions.length;
236
257
  const { id, displayName } = generateNodeIdAndName(options.label ?? manifest.display.label, existingIds);
@@ -259,6 +280,12 @@ var addNodeToFlow = async (filePath, nodeType, options = {}) => {
259
280
  if (options.inputs && Object.keys(options.inputs).length > 0) {
260
281
  node.inputs = { ...node.inputs ?? {}, ...options.inputs };
261
282
  }
283
+ if (inline) {
284
+ node.inputs = {
285
+ ...node.inputs ?? {},
286
+ inlineActivityConfiguration: inline.configuration
287
+ };
288
+ }
262
289
  const manifestModel = manifest.model;
263
290
  if (manifestModel?.source === true) {
264
291
  if (typeof options.source === "string" && options.source.length > 0) {
@@ -287,6 +314,10 @@ var addNodeToFlow = async (filePath, nodeType, options = {}) => {
287
314
  }
288
315
  const definitionAdded = workflow.definitions.length > existingDefCount;
289
316
  const variableCount = workflow.variables?.nodes?.length ?? 0;
317
+ const inlineActivity = inline ? {
318
+ scriptRef: inline.configuration.scriptRef,
319
+ scripts: Object.keys(inline.configuration.scripts)
320
+ } : undefined;
290
321
  if (isConnectorNode(manifest)) {
291
322
  const connInfo = getConnectorInfo(manifest);
292
323
  return {
@@ -294,10 +325,17 @@ var addNodeToFlow = async (filePath, nodeType, options = {}) => {
294
325
  definitionAdded,
295
326
  bindingsCreated,
296
327
  variableCount,
297
- connectorInfo: connInfo ?? undefined
328
+ connectorInfo: connInfo ?? undefined,
329
+ ...inlineActivity && { inlineActivity }
298
330
  };
299
331
  } else {
300
- return { node, definitionAdded, bindingsCreated, variableCount };
332
+ return {
333
+ node,
334
+ definitionAdded,
335
+ bindingsCreated,
336
+ variableCount,
337
+ ...inlineActivity && { inlineActivity }
338
+ };
301
339
  }
302
340
  };
303
341
  function removeConnectedEdges(workflow, nodeId) {
@@ -413,4 +451,4 @@ var deleteNodeFromFlow = async (filePath, nodeId) => {
413
451
 
414
452
  export { NodeTypeNotFoundError, NodeTypeNotEnabledError, SourceRequiredError, listNodesInFlow, PROCESS_NODE_PREFIXES, isProcessNode, resolveProcessTarget, resolveProcessTargetKey, ensureProcessBindings, collectNodeBindingResourceKeys, addNodeToFlow, deleteNodeFromFlow };
415
453
 
416
- //# debugId=8A5B4295E359433A64756E2164756E21
454
+ //# debugId=7C1335F81DD3712164756E2164756E21
@@ -1,16 +1,16 @@
1
1
  import {
2
2
  isRecord
3
- } from "./packager-tool-gzpvdcnw.js";
3
+ } from "./packager-tool-da1cmt0q.js";
4
4
  import {
5
5
  collectAgentInputLeaves,
6
6
  isInlineAgentNodeType
7
- } from "./packager-tool-afd1wwf2.js";
7
+ } from "./packager-tool-53c81nnr.js";
8
8
  import {
9
9
  isStartEventNode
10
- } from "./packager-tool-yxnepq2j.js";
10
+ } from "./packager-tool-ysbskrta.js";
11
11
  import {
12
12
  catchError
13
- } from "./packager-tool-6k8s7pt9.js";
13
+ } from "./packager-tool-r7xy9sew.js";
14
14
 
15
15
  // src/services/flow-eval-node-target.ts
16
16
  function findFlowNode(flowContent, nodeId) {
@@ -1,9 +1,9 @@
1
- import {
2
- toolsFactoryRepository
3
- } from "./packager-tool-w0kr4mbc.js";
4
1
  import {
5
2
  FlowToolFactory
6
- } from "./packager-tool-afd1wwf2.js";
3
+ } from "./packager-tool-53c81nnr.js";
4
+ import {
5
+ toolsFactoryRepository
6
+ } from "./packager-tool-stq8800d.js";
7
7
 
8
8
  // src/packager-tool.ts
9
9
  function registerPackagerFactories() {
@@ -12,4 +12,4 @@ function registerPackagerFactories() {
12
12
 
13
13
  export { registerPackagerFactories };
14
14
 
15
- //# debugId=2A70E30168B92A8A64756E2164756E21
15
+ //# debugId=094DABA57E9A36F764756E2164756E21
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  isRecord
3
- } from "./packager-tool-gzpvdcnw.js";
3
+ } from "./packager-tool-da1cmt0q.js";
4
4
 
5
5
  // src/services/flow-eval-run-readers.ts
6
6
  function asRecordArray(value, label) {
@@ -2,7 +2,7 @@ import {
2
2
  catchError,
3
3
  logger,
4
4
  unsupportedSolutionProjectType
5
- } from "./packager-tool-6k8s7pt9.js";
5
+ } from "./packager-tool-r7xy9sew.js";
6
6
 
7
7
  // ../solution-sdk/src/solution-file.ts
8
8
  var STUDIO_WEB_PROJECT_TYPE_OVERRIDES = {
@@ -1,40 +1,52 @@
1
1
  import {
2
2
  prepareProjectLocation,
3
3
  tryRegisterProjectInParentSolution
4
- } from "./packager-tool-321a1806.js";
4
+ } from "./packager-tool-8vmx4j2w.js";
5
5
  import {
6
6
  nodeModuleRegistry
7
- } from "./packager-tool-gs28y1eq.js";
7
+ } from "./packager-tool-qhhrq12s.js";
8
8
  import {
9
9
  writeFlowWorkflow
10
- } from "./packager-tool-5kt8tsq4.js";
10
+ } from "./packager-tool-225z77w9.js";
11
11
  import {
12
12
  createWorkflow
13
- } from "./packager-tool-n8p9cay6.js";
13
+ } from "./packager-tool-6azk3rex.js";
14
14
  import {
15
15
  applyRuntimeProfile,
16
16
  withRuntimeProfile
17
- } from "./packager-tool-gctpkdzs.js";
17
+ } from "./packager-tool-hhy1gr2k.js";
18
18
  import {
19
19
  VALID_PROJECT_NAME_REGEX
20
20
  } from "./packager-tool-eypvc2kv.js";
21
21
  import {
22
22
  catchError
23
- } from "./packager-tool-6k8s7pt9.js";
23
+ } from "./packager-tool-r7xy9sew.js";
24
24
  import {
25
25
  getFileSystem
26
- } from "./packager-tool-0v3s8r01.js";
26
+ } from "./packager-tool-3h2ktz6q.js";
27
27
  import {
28
28
  __require
29
29
  } from "./packager-tool-1yh8g550.js";
30
30
 
31
31
  // src/services/project-artifacts.ts
32
32
  async function ensureProjectArtifacts(args) {
33
- const { addProjectArtifactsToSolutionAsync } = await import("./index-212q16sv.js");
33
+ const { addProjectArtifactsToSolutionAsync } = await import("./index-7qw3ttge.js");
34
34
  return addProjectArtifactsToSolutionAsync(args);
35
35
  }
36
36
 
37
37
  // src/services/flow-init-service.ts
38
+ class FlowInitSdkSourceError extends Error {
39
+ instructions;
40
+ projectDir;
41
+ flowFile;
42
+ constructor(message, instructions, projectDir, flowFile) {
43
+ super(message);
44
+ this.instructions = instructions;
45
+ this.projectDir = projectDir;
46
+ this.flowFile = flowFile;
47
+ this.name = "FlowInitSdkSourceError";
48
+ }
49
+ }
38
50
  var safeMkdir = async (fs, dir) => {
39
51
  const [err] = await catchError(fs.mkdir(dir));
40
52
  if (err && !(("code" in err) && err.code === "EEXIST")) {
@@ -47,6 +59,11 @@ async function flowInitAsync(name, options = {}) {
47
59
  }
48
60
  const fs = getFileSystem();
49
61
  const baseDir = options.cwd ?? ".";
62
+ const { checkSdkSource, seedSdkSource, shellQuote } = await import("./flow-init-sdk-source-9fy9p8ap.js");
63
+ const sdkPreflight = options.sdkSource === undefined ? undefined : await checkSdkSource(baseDir, options.sdkSource, options.force);
64
+ if (options.sdkSource !== undefined && sdkPreflight === undefined) {
65
+ throw new Error("--sdk-source needs the uip CLI on Node; it is not available in this host.");
66
+ }
50
67
  const { projectDir, autoCreatedSolution } = await prepareProjectLocation(fs, fs.path.resolve(baseDir, name), name, { skipRegistration: options.skipRegistration });
51
68
  const [statError] = await catchError(fs.stat(projectDir));
52
69
  const projectDirExists = !statError;
@@ -91,13 +108,25 @@ async function flowInitAsync(name, options = {}) {
91
108
  await applyRuntimeProfile(fs, projectDir, profile);
92
109
  const registration = await tryRegisterProjectInParentSolution(fs, projectDir, { skipRegistration: options.skipRegistration });
93
110
  const projectArtifacts = await maybeGenerateProjectArtifacts(registration, name);
111
+ const sdkSourceTarget = sdkPreflight ? sdkPreflight.target ?? fs.path.join(projectDir, ".flow-sdk", `${name}.flow.ts`) : undefined;
112
+ if (sdkSourceTarget) {
113
+ const seeded = await seedSdkSource(baseDir, flowFile, sdkSourceTarget);
114
+ if (seeded !== true) {
115
+ const failure = seeded ?? {
116
+ message: "the builder SDK is not available in this host",
117
+ instructions: "Run the command from the uip CLI on Node."
118
+ };
119
+ throw new FlowInitSdkSourceError(`Flow project created at ${projectDir}, but seeding the SDK source failed: ${failure.message}`, `${failure.instructions} Then seed it with: uip maestro flow decompile ${shellQuote(flowFile)} -o ${shellQuote(sdkSourceTarget)} --no-pipeline`, projectDir, flowFile);
120
+ }
121
+ }
94
122
  return {
95
123
  projectName: name,
96
124
  projectDir,
97
125
  flowFile,
98
126
  registration,
99
127
  autoCreatedSolution,
100
- projectArtifacts
128
+ projectArtifacts,
129
+ ...sdkSourceTarget ? { sdkSource: sdkSourceTarget } : {}
101
130
  };
102
131
  }
103
132
  async function maybeGenerateProjectArtifacts(registration, projectName) {
@@ -113,6 +142,6 @@ async function maybeGenerateProjectArtifacts(registration, projectName) {
113
142
  });
114
143
  }
115
144
 
116
- export { flowInitAsync };
145
+ export { FlowInitSdkSourceError, flowInitAsync };
117
146
 
118
- //# debugId=D30F4A139DF0C63864756E2164756E21
147
+ //# debugId=8CCF3518E2C5BE5A64756E2164756E21
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  logger
3
- } from "./packager-tool-6k8s7pt9.js";
3
+ } from "./packager-tool-r7xy9sew.js";
4
4
 
5
5
  // ../maestro-sdk/src/debug-http-client.ts
6
6
  function parseBackendErrorBody(body) {
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  DYNAMIC_EXTRACT_NODE_TYPE
3
- } from "./packager-tool-yxnepq2j.js";
3
+ } from "./packager-tool-ysbskrta.js";
4
4
  import {
5
5
  init_esm_shims
6
6
  } from "./packager-tool-6ejqwbw9.js";