@uipath/project-packager 1.199.0-preview.97 → 1.200.0-preview.109

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/browser.js CHANGED
@@ -22652,7 +22652,7 @@ var COMMAND_ATTRIBUTION = commandAttribution([
22652
22652
  ["agents", "build", ["uip.codedagent", "uip.agent"]],
22653
22653
  ["agenthub", "build", ["uip.agenthub"]],
22654
22654
  ["coded-apps", "build", ["uip.codedapp"]],
22655
- ["functions", "build", ["uip.functions"]],
22655
+ ["functions", "build", ["uip.function", "uip.functions"]],
22656
22656
  ["solution", "build", ["uip.solution"]],
22657
22657
  ["maestro", "build", ["uip.maestro", "uip.case", "uip.flow"]],
22658
22658
  ["llm-observability", "troubleshoot", ["uip.traces"]],
@@ -22769,8 +22769,18 @@ function getInboundTraceContext() {
22769
22769
  return parseInboundTraceparent(getProcessEnv()?.[TELEMETRY_TRACEPARENT_ENV]);
22770
22770
  }
22771
22771
  var TELEMETRY_SESSION_ID_ENV = "UIPATH_SESSION_ID";
22772
- var TELEMETRY_SESSION_ID_PROPERTY = "session_id";
22773
- var telemetrySessionIdSlot = singleton("TelemetrySessionId");
22772
+ var SESSION_ID_MAX_LENGTH = 64;
22773
+ var RANDOM_SESSION_ID_LENGTH = 32;
22774
+ var TELEMETRY_SESSION_SOURCE_PROPERTY = "session_id_source";
22775
+ var CONTROL_CHARACTERS = /\p{Cc}/gu;
22776
+ var INHERITED_SESSION_SOURCES = [
22777
+ { envVar: "CLAUDE_CODE_SESSION_ID", source: "claude-code" },
22778
+ { envVar: "CODEX_THREAD_ID", source: "codex" },
22779
+ { envVar: "ANTIGRAVITY_TRAJECTORY_ID", source: "antigravity" },
22780
+ { envVar: "TERM_SESSION_ID", source: "terminal" },
22781
+ { envVar: "WT_SESSION", source: "terminal" }
22782
+ ];
22783
+ var telemetrySessionSlot = singleton("TelemetrySession");
22774
22784
  var telemetryOperationIdSlot = singleton("TelemetryOperationId");
22775
22785
  function getProcessEnv2() {
22776
22786
  return globalThis.process?.env;
@@ -22779,14 +22789,42 @@ function normalizeSessionId(value) {
22779
22789
  if (typeof value !== "string" && typeof value !== "number" && typeof value !== "boolean") {
22780
22790
  return;
22781
22791
  }
22782
- const trimmed = String(value).trim();
22783
- return trimmed || undefined;
22792
+ const cleaned = String(value).replace(CONTROL_CHARACTERS, "").trim().slice(0, SESSION_ID_MAX_LENGTH);
22793
+ return cleaned || undefined;
22784
22794
  }
22785
22795
  function getConfiguredTelemetrySessionId() {
22786
22796
  return normalizeSessionId(getProcessEnv2()?.[TELEMETRY_SESSION_ID_ENV]);
22787
22797
  }
22788
- function resolveTelemetrySessionId(existingSessionId) {
22789
- return getConfiguredTelemetrySessionId() ?? normalizeSessionId(existingSessionId);
22798
+ function getInheritedSession(env2) {
22799
+ for (const candidate of INHERITED_SESSION_SOURCES) {
22800
+ const handle = normalizeSessionId(env2[candidate.envVar]);
22801
+ if (handle) {
22802
+ return { id: handle, source: candidate.source };
22803
+ }
22804
+ }
22805
+ return;
22806
+ }
22807
+ function generateRandomSession() {
22808
+ const bytes = new Uint8Array(RANDOM_SESSION_ID_LENGTH / 2);
22809
+ crypto.getRandomValues(bytes);
22810
+ let hex = "";
22811
+ for (const byte of bytes) {
22812
+ hex += byte.toString(16).padStart(2, "0");
22813
+ }
22814
+ return { id: hex, source: "random" };
22815
+ }
22816
+ function resolveTelemetrySession() {
22817
+ const existing = telemetrySessionSlot.get();
22818
+ if (existing) {
22819
+ return existing;
22820
+ }
22821
+ const declaredHandle = getConfiguredTelemetrySessionId();
22822
+ const resolved = declaredHandle ? { id: declaredHandle, source: "declared" } : getInheritedSession(getProcessEnv2() ?? {}) ?? generateRandomSession();
22823
+ telemetrySessionSlot.set(resolved);
22824
+ return resolved;
22825
+ }
22826
+ function getTelemetrySessionSource() {
22827
+ return resolveTelemetrySession().source;
22790
22828
  }
22791
22829
  function getTelemetryOperationId() {
22792
22830
  const existing = telemetryOperationIdSlot.get();
@@ -23152,14 +23190,11 @@ class TelemetryService {
23152
23190
  }
23153
23191
  async trackDependencyOperation(name, type, fn, properties) {
23154
23192
  const parentContext = this.getCurrentContext();
23155
- if (!parentContext) {
23156
- throw new Error("trackDependencyOperation must be called within a trackRequest block.");
23157
- }
23158
- const childContext = {
23193
+ const childContext = parentContext !== undefined ? {
23159
23194
  operationId: parentContext.operationId,
23160
23195
  parentId: parentContext.id,
23161
23196
  id: this.generateId()
23162
- };
23197
+ } : this.createRequestContext();
23163
23198
  const startTime = performance.now();
23164
23199
  try {
23165
23200
  const result = await this.contextStorage.run(childContext, fn);
@@ -23180,24 +23215,18 @@ class TelemetryService {
23180
23215
  }
23181
23216
  enrichPropertiesWithContext(properties, context) {
23182
23217
  const globalProperties = getGlobalTelemetryProperties();
23183
- const existingSessionId = properties?.[TELEMETRY_SESSION_ID_PROPERTY] ?? this.defaultProperties?.[TELEMETRY_SESSION_ID_PROPERTY] ?? globalProperties?.[TELEMETRY_SESSION_ID_PROPERTY];
23184
- const sessionId = resolveTelemetrySessionId(existingSessionId);
23185
23218
  const enriched = {
23186
23219
  ...getExecutionContextTelemetryProperties(),
23187
23220
  ...globalProperties,
23188
23221
  ...this.defaultProperties,
23189
23222
  ...redactProperties(properties ?? {}),
23223
+ [TELEMETRY_SESSION_SOURCE_PROPERTY]: getTelemetrySessionSource(),
23190
23224
  ...context ? {
23191
23225
  [TELEMETRY_OPERATION_ID_PROPERTY]: context.operationId,
23192
23226
  ...context.parentId !== undefined ? { [TELEMETRY_PARENT_ID_PROPERTY]: context.parentId } : {},
23193
23227
  [TELEMETRY_SPAN_ID_PROPERTY]: context.id
23194
23228
  } : {}
23195
23229
  };
23196
- if (sessionId === undefined) {
23197
- delete enriched[TELEMETRY_SESSION_ID_PROPERTY];
23198
- } else {
23199
- enriched[TELEMETRY_SESSION_ID_PROPERTY] = sessionId;
23200
- }
23201
23230
  return enriched;
23202
23231
  }
23203
23232
  generateId() {
@@ -23214,6 +23243,7 @@ class TelemetryService {
23214
23243
  }
23215
23244
  }
23216
23245
  var factorySlot = singleton("PackagerFactoryProvider");
23246
+ var moduleSlot = singleton("ToolModuleProvider");
23217
23247
 
23218
23248
  // src/base-browser-packager-factory.ts
23219
23249
  import { BrowserFileSystem } from "@uipath/filesystem/browser";
@@ -24050,7 +24080,7 @@ class ProjectPackager {
24050
24080
  }, cancellationToken);
24051
24081
  }
24052
24082
  async packProjectAsync(options, cancellationToken) {
24053
- return await this.telemetryService.trackRequest("ProjectPackager.Pack" /* ProjectPackagerPack */, async () => {
24083
+ return await this.telemetryService.trackDependencyOperation("ProjectPackager.Pack" /* ProjectPackagerPack */, "pack", async () => {
24054
24084
  try {
24055
24085
  await this.governancePolicyService.resolveGovernancePolicyAsync(options.validateOptions, options.connection, cancellationToken);
24056
24086
  let result = await this.packOptionsValidator.validateAsync(options, cancellationToken);
@@ -24135,7 +24165,7 @@ class ProjectPackager {
24135
24165
  return packageStreams;
24136
24166
  }
24137
24167
  async executeProjectOperationAsync(options, operationName, telemetryName, operation, _cancellationToken) {
24138
- return await this.telemetryService.trackRequest(telemetryName, async () => {
24168
+ return await this.telemetryService.trackDependencyOperation(telemetryName, operationName.toLowerCase(), async () => {
24139
24169
  try {
24140
24170
  const loadedProject = await this.projectLoader.loadProject(options.inputPath);
24141
24171
  const uiPathProject = {
@@ -24230,4 +24260,4 @@ export {
24230
24260
  BaseBrowserPackagerFactory
24231
24261
  };
24232
24262
 
24233
- //# debugId=8E4DCDC9DC780CF764756E2164756E21
24263
+ //# debugId=F73F22FB7739EA3164756E2164756E21
package/dist/index.js CHANGED
@@ -22652,7 +22652,7 @@ var COMMAND_ATTRIBUTION = commandAttribution([
22652
22652
  ["agents", "build", ["uip.codedagent", "uip.agent"]],
22653
22653
  ["agenthub", "build", ["uip.agenthub"]],
22654
22654
  ["coded-apps", "build", ["uip.codedapp"]],
22655
- ["functions", "build", ["uip.functions"]],
22655
+ ["functions", "build", ["uip.function", "uip.functions"]],
22656
22656
  ["solution", "build", ["uip.solution"]],
22657
22657
  ["maestro", "build", ["uip.maestro", "uip.case", "uip.flow"]],
22658
22658
  ["llm-observability", "troubleshoot", ["uip.traces"]],
@@ -22769,8 +22769,18 @@ function getInboundTraceContext() {
22769
22769
  return parseInboundTraceparent(getProcessEnv()?.[TELEMETRY_TRACEPARENT_ENV]);
22770
22770
  }
22771
22771
  var TELEMETRY_SESSION_ID_ENV = "UIPATH_SESSION_ID";
22772
- var TELEMETRY_SESSION_ID_PROPERTY = "session_id";
22773
- var telemetrySessionIdSlot = singleton("TelemetrySessionId");
22772
+ var SESSION_ID_MAX_LENGTH = 64;
22773
+ var RANDOM_SESSION_ID_LENGTH = 32;
22774
+ var TELEMETRY_SESSION_SOURCE_PROPERTY = "session_id_source";
22775
+ var CONTROL_CHARACTERS = /\p{Cc}/gu;
22776
+ var INHERITED_SESSION_SOURCES = [
22777
+ { envVar: "CLAUDE_CODE_SESSION_ID", source: "claude-code" },
22778
+ { envVar: "CODEX_THREAD_ID", source: "codex" },
22779
+ { envVar: "ANTIGRAVITY_TRAJECTORY_ID", source: "antigravity" },
22780
+ { envVar: "TERM_SESSION_ID", source: "terminal" },
22781
+ { envVar: "WT_SESSION", source: "terminal" }
22782
+ ];
22783
+ var telemetrySessionSlot = singleton("TelemetrySession");
22774
22784
  var telemetryOperationIdSlot = singleton("TelemetryOperationId");
22775
22785
  function getProcessEnv2() {
22776
22786
  return globalThis.process?.env;
@@ -22779,14 +22789,42 @@ function normalizeSessionId(value) {
22779
22789
  if (typeof value !== "string" && typeof value !== "number" && typeof value !== "boolean") {
22780
22790
  return;
22781
22791
  }
22782
- const trimmed = String(value).trim();
22783
- return trimmed || undefined;
22792
+ const cleaned = String(value).replace(CONTROL_CHARACTERS, "").trim().slice(0, SESSION_ID_MAX_LENGTH);
22793
+ return cleaned || undefined;
22784
22794
  }
22785
22795
  function getConfiguredTelemetrySessionId() {
22786
22796
  return normalizeSessionId(getProcessEnv2()?.[TELEMETRY_SESSION_ID_ENV]);
22787
22797
  }
22788
- function resolveTelemetrySessionId(existingSessionId) {
22789
- return getConfiguredTelemetrySessionId() ?? normalizeSessionId(existingSessionId);
22798
+ function getInheritedSession(env2) {
22799
+ for (const candidate of INHERITED_SESSION_SOURCES) {
22800
+ const handle = normalizeSessionId(env2[candidate.envVar]);
22801
+ if (handle) {
22802
+ return { id: handle, source: candidate.source };
22803
+ }
22804
+ }
22805
+ return;
22806
+ }
22807
+ function generateRandomSession() {
22808
+ const bytes = new Uint8Array(RANDOM_SESSION_ID_LENGTH / 2);
22809
+ crypto.getRandomValues(bytes);
22810
+ let hex = "";
22811
+ for (const byte of bytes) {
22812
+ hex += byte.toString(16).padStart(2, "0");
22813
+ }
22814
+ return { id: hex, source: "random" };
22815
+ }
22816
+ function resolveTelemetrySession() {
22817
+ const existing = telemetrySessionSlot.get();
22818
+ if (existing) {
22819
+ return existing;
22820
+ }
22821
+ const declaredHandle = getConfiguredTelemetrySessionId();
22822
+ const resolved = declaredHandle ? { id: declaredHandle, source: "declared" } : getInheritedSession(getProcessEnv2() ?? {}) ?? generateRandomSession();
22823
+ telemetrySessionSlot.set(resolved);
22824
+ return resolved;
22825
+ }
22826
+ function getTelemetrySessionSource() {
22827
+ return resolveTelemetrySession().source;
22790
22828
  }
22791
22829
  function getTelemetryOperationId() {
22792
22830
  const existing = telemetryOperationIdSlot.get();
@@ -23152,14 +23190,11 @@ class TelemetryService {
23152
23190
  }
23153
23191
  async trackDependencyOperation(name, type, fn, properties) {
23154
23192
  const parentContext = this.getCurrentContext();
23155
- if (!parentContext) {
23156
- throw new Error("trackDependencyOperation must be called within a trackRequest block.");
23157
- }
23158
- const childContext = {
23193
+ const childContext = parentContext !== undefined ? {
23159
23194
  operationId: parentContext.operationId,
23160
23195
  parentId: parentContext.id,
23161
23196
  id: this.generateId()
23162
- };
23197
+ } : this.createRequestContext();
23163
23198
  const startTime = performance.now();
23164
23199
  try {
23165
23200
  const result = await this.contextStorage.run(childContext, fn);
@@ -23180,24 +23215,18 @@ class TelemetryService {
23180
23215
  }
23181
23216
  enrichPropertiesWithContext(properties, context) {
23182
23217
  const globalProperties = getGlobalTelemetryProperties();
23183
- const existingSessionId = properties?.[TELEMETRY_SESSION_ID_PROPERTY] ?? this.defaultProperties?.[TELEMETRY_SESSION_ID_PROPERTY] ?? globalProperties?.[TELEMETRY_SESSION_ID_PROPERTY];
23184
- const sessionId = resolveTelemetrySessionId(existingSessionId);
23185
23218
  const enriched = {
23186
23219
  ...getExecutionContextTelemetryProperties(),
23187
23220
  ...globalProperties,
23188
23221
  ...this.defaultProperties,
23189
23222
  ...redactProperties(properties ?? {}),
23223
+ [TELEMETRY_SESSION_SOURCE_PROPERTY]: getTelemetrySessionSource(),
23190
23224
  ...context ? {
23191
23225
  [TELEMETRY_OPERATION_ID_PROPERTY]: context.operationId,
23192
23226
  ...context.parentId !== undefined ? { [TELEMETRY_PARENT_ID_PROPERTY]: context.parentId } : {},
23193
23227
  [TELEMETRY_SPAN_ID_PROPERTY]: context.id
23194
23228
  } : {}
23195
23229
  };
23196
- if (sessionId === undefined) {
23197
- delete enriched[TELEMETRY_SESSION_ID_PROPERTY];
23198
- } else {
23199
- enriched[TELEMETRY_SESSION_ID_PROPERTY] = sessionId;
23200
- }
23201
23230
  return enriched;
23202
23231
  }
23203
23232
  generateId() {
@@ -23214,6 +23243,7 @@ class TelemetryService {
23214
23243
  }
23215
23244
  }
23216
23245
  var factorySlot = singleton("PackagerFactoryProvider");
23246
+ var moduleSlot = singleton("ToolModuleProvider");
23217
23247
  // src/models/packager-parameters.ts
23218
23248
  import {
23219
23249
  LogLevel as LogLevel2
@@ -23613,7 +23643,7 @@ import { translate as translate3 } from "@uipath/solutionpackager-tool-core";
23613
23643
  var package_default = {
23614
23644
  name: "@uipath/project-packager",
23615
23645
  license: "MIT",
23616
- version: "1.199.0-preview.97",
23646
+ version: "1.200.0-preview.109",
23617
23647
  description: "UiPath Project Packager - core library for packing individual UiPath projects",
23618
23648
  type: "module",
23619
23649
  main: "./dist/index.js",
@@ -23676,8 +23706,8 @@ var package_default = {
23676
23706
  "@uipath/packager-tool-webapp": "workspace:*",
23677
23707
  "@uipath/packager-tool-workflowcompiler": "workspace:*",
23678
23708
  "@vitest/coverage-v8": "^4.1.6",
23679
- jsdom: "^29.0.0",
23680
- typescript: "^6.0.2",
23709
+ jsdom: "^30.0.1",
23710
+ typescript: "^7.0.2",
23681
23711
  "vite-tsconfig-paths": "^6.1.1",
23682
23712
  vitest: "^4.1.6"
23683
23713
  }
@@ -24702,7 +24732,7 @@ class ProjectPackager {
24702
24732
  }, cancellationToken);
24703
24733
  }
24704
24734
  async packProjectAsync(options, cancellationToken) {
24705
- return await this.telemetryService.trackRequest("ProjectPackager.Pack" /* ProjectPackagerPack */, async () => {
24735
+ return await this.telemetryService.trackDependencyOperation("ProjectPackager.Pack" /* ProjectPackagerPack */, "pack", async () => {
24706
24736
  try {
24707
24737
  await this.governancePolicyService.resolveGovernancePolicyAsync(options.validateOptions, options.connection, cancellationToken);
24708
24738
  let result = await this.packOptionsValidator.validateAsync(options, cancellationToken);
@@ -24787,7 +24817,7 @@ class ProjectPackager {
24787
24817
  return packageStreams;
24788
24818
  }
24789
24819
  async executeProjectOperationAsync(options, operationName, telemetryName, operation, _cancellationToken) {
24790
- return await this.telemetryService.trackRequest(telemetryName, async () => {
24820
+ return await this.telemetryService.trackDependencyOperation(telemetryName, operationName.toLowerCase(), async () => {
24791
24821
  try {
24792
24822
  const loadedProject = await this.projectLoader.loadProject(options.inputPath);
24793
24823
  const uiPathProject = {
@@ -24888,4 +24918,4 @@ export {
24888
24918
  BrowserContextStorage
24889
24919
  };
24890
24920
 
24891
- //# debugId=500EAE810CA5423A64756E2164756E21
24921
+ //# debugId=0B334606CC8785AC64756E2164756E21
package/dist/node.js CHANGED
@@ -7179,7 +7179,7 @@ function requireOmap() {
7179
7179
  function resolveYamlOmap(data) {
7180
7180
  if (data === null)
7181
7181
  return true;
7182
- const objectKeys = [];
7182
+ const objectKeys = {};
7183
7183
  const object = data;
7184
7184
  for (let index = 0, length = object.length;index < length; index += 1) {
7185
7185
  const pair = object[index];
@@ -7197,10 +7197,9 @@ function requireOmap() {
7197
7197
  }
7198
7198
  if (!pairHasKey)
7199
7199
  return false;
7200
- if (objectKeys.indexOf(pairKey) === -1)
7201
- objectKeys.push(pairKey);
7202
- else
7200
+ if (_hasOwnProperty.call(objectKeys, pairKey))
7203
7201
  return false;
7202
+ Object.defineProperty(objectKeys, pairKey, { value: true });
7204
7203
  }
7205
7204
  return true;
7206
7205
  }
@@ -9824,7 +9823,7 @@ function buildCommandTerminalTelemetryProperties(input) {
9824
9823
  }
9825
9824
  var CommonTelemetryEvents = {
9826
9825
  Error: "uip.error",
9827
- ShipSucceeded: "ship_succeeded"
9826
+ ShipSucceeded: "uip.ship.succeeded"
9828
9827
  };
9829
9828
  function readRegistryValue(keyPath, valueName) {
9830
9829
  if (process.platform !== "win32") {
@@ -10062,8 +10061,18 @@ function getInboundTraceContext() {
10062
10061
  return parseInboundTraceparent(getProcessEnv()?.[TELEMETRY_TRACEPARENT_ENV]);
10063
10062
  }
10064
10063
  var TELEMETRY_SESSION_ID_ENV = "UIPATH_SESSION_ID";
10065
- var TELEMETRY_SESSION_ID_PROPERTY = "session_id";
10066
- var telemetrySessionIdSlot = singleton("TelemetrySessionId");
10064
+ var SESSION_ID_MAX_LENGTH = 64;
10065
+ var RANDOM_SESSION_ID_LENGTH = 32;
10066
+ var TELEMETRY_SESSION_SOURCE_PROPERTY = "session_id_source";
10067
+ var CONTROL_CHARACTERS = /\p{Cc}/gu;
10068
+ var INHERITED_SESSION_SOURCES = [
10069
+ { envVar: "CLAUDE_CODE_SESSION_ID", source: "claude-code" },
10070
+ { envVar: "CODEX_THREAD_ID", source: "codex" },
10071
+ { envVar: "ANTIGRAVITY_TRAJECTORY_ID", source: "antigravity" },
10072
+ { envVar: "TERM_SESSION_ID", source: "terminal" },
10073
+ { envVar: "WT_SESSION", source: "terminal" }
10074
+ ];
10075
+ var telemetrySessionSlot = singleton("TelemetrySession");
10067
10076
  var telemetryOperationIdSlot = singleton("TelemetryOperationId");
10068
10077
  function getProcessEnv2() {
10069
10078
  return globalThis.process?.env;
@@ -10072,14 +10081,42 @@ function normalizeSessionId(value) {
10072
10081
  if (typeof value !== "string" && typeof value !== "number" && typeof value !== "boolean") {
10073
10082
  return;
10074
10083
  }
10075
- const trimmed = String(value).trim();
10076
- return trimmed || undefined;
10084
+ const cleaned = String(value).replace(CONTROL_CHARACTERS, "").trim().slice(0, SESSION_ID_MAX_LENGTH);
10085
+ return cleaned || undefined;
10077
10086
  }
10078
10087
  function getConfiguredTelemetrySessionId() {
10079
10088
  return normalizeSessionId(getProcessEnv2()?.[TELEMETRY_SESSION_ID_ENV]);
10080
10089
  }
10081
- function resolveTelemetrySessionId(existingSessionId) {
10082
- return getConfiguredTelemetrySessionId() ?? normalizeSessionId(existingSessionId);
10090
+ function getInheritedSession(env) {
10091
+ for (const candidate of INHERITED_SESSION_SOURCES) {
10092
+ const handle = normalizeSessionId(env[candidate.envVar]);
10093
+ if (handle) {
10094
+ return { id: handle, source: candidate.source };
10095
+ }
10096
+ }
10097
+ return;
10098
+ }
10099
+ function generateRandomSession() {
10100
+ const bytes = new Uint8Array(RANDOM_SESSION_ID_LENGTH / 2);
10101
+ crypto.getRandomValues(bytes);
10102
+ let hex = "";
10103
+ for (const byte of bytes) {
10104
+ hex += byte.toString(16).padStart(2, "0");
10105
+ }
10106
+ return { id: hex, source: "random" };
10107
+ }
10108
+ function resolveTelemetrySession() {
10109
+ const existing = telemetrySessionSlot.get();
10110
+ if (existing) {
10111
+ return existing;
10112
+ }
10113
+ const declaredHandle = getConfiguredTelemetrySessionId();
10114
+ const resolved = declaredHandle ? { id: declaredHandle, source: "declared" } : getInheritedSession(getProcessEnv2() ?? {}) ?? generateRandomSession();
10115
+ telemetrySessionSlot.set(resolved);
10116
+ return resolved;
10117
+ }
10118
+ function getTelemetrySessionSource() {
10119
+ return resolveTelemetrySession().source;
10083
10120
  }
10084
10121
  function getTelemetryOperationId() {
10085
10122
  const existing = telemetryOperationIdSlot.get();
@@ -10323,14 +10360,11 @@ class TelemetryService {
10323
10360
  }
10324
10361
  async trackDependencyOperation(name, type2, fn, properties) {
10325
10362
  const parentContext = this.getCurrentContext();
10326
- if (!parentContext) {
10327
- throw new Error("trackDependencyOperation must be called within a trackRequest block.");
10328
- }
10329
- const childContext = {
10363
+ const childContext = parentContext !== undefined ? {
10330
10364
  operationId: parentContext.operationId,
10331
10365
  parentId: parentContext.id,
10332
10366
  id: this.generateId()
10333
- };
10367
+ } : this.createRequestContext();
10334
10368
  const startTime = performance.now();
10335
10369
  try {
10336
10370
  const result = await this.contextStorage.run(childContext, fn);
@@ -10351,24 +10385,18 @@ class TelemetryService {
10351
10385
  }
10352
10386
  enrichPropertiesWithContext(properties, context) {
10353
10387
  const globalProperties = getGlobalTelemetryProperties();
10354
- const existingSessionId = properties?.[TELEMETRY_SESSION_ID_PROPERTY] ?? this.defaultProperties?.[TELEMETRY_SESSION_ID_PROPERTY] ?? globalProperties?.[TELEMETRY_SESSION_ID_PROPERTY];
10355
- const sessionId = resolveTelemetrySessionId(existingSessionId);
10356
10388
  const enriched = {
10357
10389
  ...getExecutionContextTelemetryProperties(),
10358
10390
  ...globalProperties,
10359
10391
  ...this.defaultProperties,
10360
10392
  ...redactProperties(properties ?? {}),
10393
+ [TELEMETRY_SESSION_SOURCE_PROPERTY]: getTelemetrySessionSource(),
10361
10394
  ...context ? {
10362
10395
  [TELEMETRY_OPERATION_ID_PROPERTY]: context.operationId,
10363
10396
  ...context.parentId !== undefined ? { [TELEMETRY_PARENT_ID_PROPERTY]: context.parentId } : {},
10364
10397
  [TELEMETRY_SPAN_ID_PROPERTY]: context.id
10365
10398
  } : {}
10366
10399
  };
10367
- if (sessionId === undefined) {
10368
- delete enriched[TELEMETRY_SESSION_ID_PROPERTY];
10369
- } else {
10370
- enriched[TELEMETRY_SESSION_ID_PROPERTY] = sessionId;
10371
- }
10372
10400
  return enriched;
10373
10401
  }
10374
10402
  generateId() {
@@ -10385,6 +10413,8 @@ class TelemetryService {
10385
10413
  }
10386
10414
  }
10387
10415
  var providerSlot = singleton("TelemetryProvider");
10416
+ var sidecarEntrySlot = singleton("TelemetrySidecarEntry");
10417
+ var MAX_SPOOL_AGE_MS = 72 * 60 * 60 * 1000;
10388
10418
  var telemetryInstanceSlot = singleton("TelemetryService");
10389
10419
  var DEFAULT_AI_CONNECTION_STRING = atob("SW5zdHJ1bWVudGF0aW9uS2V5PTliZDM3NDgyLTgxMGUtNDQyYS1hYWE2LWQzOGVmNjVjNjY3NDtJbmdlc3Rpb25FbmRwb2ludD1odHRwczovL3dlc3RldXJvcGUtNS5pbi5hcHBsaWNhdGlvbmluc2lnaHRzLmF6dXJlLmNvbS87TGl2ZUVuZHBvaW50PWh0dHBzOi8vd2VzdGV1cm9wZS5saXZlZGlhZ25vc3RpY3MubW9uaXRvci5henVyZS5jb20vO0FwcGxpY2F0aW9uSWQ9MzU2OTdlZjEtOGJkMC00ZjE5LWEyN2MtZDg3Y2NhYzY2ZDJj");
10390
10420
  function getGlobalTelemetryInstance() {
@@ -10630,21 +10660,43 @@ function printTable(data, logFn, externalLogValue) {
10630
10660
  logFn(`Log: ${externalLogValue}`);
10631
10661
  }
10632
10662
  }
10663
+ function isPlainObjectArray(value) {
10664
+ return Array.isArray(value) && value.length > 0 && value.every(isPlainRecord);
10665
+ }
10666
+ function isNonEmptyPlainObject(value) {
10667
+ return isPlainRecord(value) && Object.keys(value).length > 0;
10668
+ }
10669
+ var NESTED_INDENT = " ";
10633
10670
  function printVerticalTable(data, logFn = console.log, externalLogValue) {
10634
10671
  const keys = Object.keys(data).filter((key) => !["code", "log"].includes(key.toLowerCase()));
10635
10672
  if (keys.length === 0)
10636
10673
  return;
10637
- const maxKeyWidth = Math.max(...keys.map((key) => key.length));
10674
+ const isBlockValue = (value) => isPlainObjectArray(value) || isNonEmptyPlainObject(value);
10675
+ const scalarKeys = keys.filter((key) => !isBlockValue(data[key]));
10676
+ const maxKeyWidth = scalarKeys.length > 0 ? Math.max(...scalarKeys.map((key) => key.length)) : 0;
10677
+ const termWidth = process.stdout.columns || 120;
10678
+ const nestedWidth = Math.max(termWidth - NESTED_INDENT.length, 1);
10638
10679
  keys.forEach((key) => {
10680
+ const value = data[key];
10681
+ if (isPlainObjectArray(value)) {
10682
+ logFn(`${key}:`);
10683
+ printResizableTable(value, (line) => logFn(`${NESTED_INDENT}${line}`), undefined, nestedWidth);
10684
+ return;
10685
+ }
10686
+ if (isNonEmptyPlainObject(value)) {
10687
+ logFn(`${key}:`);
10688
+ printVerticalTable(value, (line) => logFn(`${NESTED_INDENT}${line}`));
10689
+ return;
10690
+ }
10639
10691
  const keyCol = key.padEnd(maxKeyWidth);
10640
- logFn(`${keyCol} | ${cellToString(data[key])}`);
10692
+ logFn(`${keyCol} | ${cellToString(value)}`);
10641
10693
  });
10642
10694
  if (externalLogValue) {
10643
10695
  logFn("");
10644
10696
  logFn(`Log: ${externalLogValue}`);
10645
10697
  }
10646
10698
  }
10647
- function printResizableTable(data, logFn = console.log, externalLogValue) {
10699
+ function printResizableTable(data, logFn = console.log, externalLogValue, availableWidth) {
10648
10700
  if (data.length === 0)
10649
10701
  return;
10650
10702
  const keys = Object.keys(data[0]).filter((key) => !["code", "log"].includes(key.toLowerCase()));
@@ -10657,7 +10709,7 @@ function printResizableTable(data, logFn = console.log, externalLogValue) {
10657
10709
  const naturalWidths = keys.map((key) => Math.max(key.length, ...data.map((item) => cellToString(item[key]).length)));
10658
10710
  const separatorTotal = (keys.length - 1) * 3;
10659
10711
  const totalWidth = naturalWidths.reduce((a, b) => a + b, 0) + separatorTotal;
10660
- const termWidth = process.stdout.columns || 120;
10712
+ const termWidth = availableWidth ?? (process.stdout.columns || 120);
10661
10713
  if (totalWidth <= termWidth) {
10662
10714
  printTable(data, logFn, externalLogValue);
10663
10715
  return;
@@ -10738,6 +10790,19 @@ class FilterEvaluationError extends Error {
10738
10790
  this.instructions = `The --output-filter expression '${filter}' failed at evaluation time. ` + "Note that --output-filter operates on the 'Data' field of the envelope, not the full object. " + "For example, on a list result use 'length(@)' instead of 'Data | length(@)'.";
10739
10791
  }
10740
10792
  }
10793
+
10794
+ class FilterImplicitLimitError extends Error {
10795
+ __brand = "FilterImplicitLimitError";
10796
+ errorCode = "invalid_argument";
10797
+ instructions;
10798
+ retry = "RetryWillNotFix";
10799
+ result = RESULTS.ValidationError;
10800
+ constructor(defaultLimit) {
10801
+ super(`--output-filter requires an explicit --limit: this command defaults to --limit ${defaultLimit}, ` + `so the filter would silently apply to only the first ${defaultLimit} records.`);
10802
+ this.name = "FilterImplicitLimitError";
10803
+ this.instructions = "Pass --limit <n> to choose how many records the filter applies to. " + "To filter over all records, pass the command's maximum accepted --limit (see the option's description in --help).";
10804
+ }
10805
+ }
10741
10806
  function applyFilter(data, filter) {
10742
10807
  let result;
10743
10808
  try {
@@ -10989,7 +11054,7 @@ var COMMAND_ATTRIBUTION = commandAttribution([
10989
11054
  ["agents", "build", ["uip.codedagent", "uip.agent"]],
10990
11055
  ["agenthub", "build", ["uip.agenthub"]],
10991
11056
  ["coded-apps", "build", ["uip.codedapp"]],
10992
- ["functions", "build", ["uip.functions"]],
11057
+ ["functions", "build", ["uip.function", "uip.functions"]],
10993
11058
  ["solution", "build", ["uip.solution"]],
10994
11059
  ["maestro", "build", ["uip.maestro", "uip.case", "uip.flow"]],
10995
11060
  ["llm-observability", "troubleshoot", ["uip.traces"]],
@@ -11128,6 +11193,16 @@ function commandHelpHint(commandPath) {
11128
11193
  function isPromptCancellation(error) {
11129
11194
  return error instanceof Error && error.name === "ExitPromptError";
11130
11195
  }
11196
+ function implicitLimitViolation(cmd) {
11197
+ if (getOutputFilter() === undefined) {
11198
+ return;
11199
+ }
11200
+ const hasLimit = cmd.options.some((o) => o.attributeName() === "limit");
11201
+ if (!hasLimit || cmd.getOptionValueSource("limit") !== "default") {
11202
+ return;
11203
+ }
11204
+ return new FilterImplicitLimitError(String(cmd.opts().limit));
11205
+ }
11131
11206
  function exitCodeFromProcess(fallback) {
11132
11207
  return typeof process.exitCode === "number" ? process.exitCode : fallback;
11133
11208
  }
@@ -11141,7 +11216,13 @@ Command.prototype.trackedAction = function(context, fn, properties) {
11141
11216
  let errorMessage;
11142
11217
  let fallbackExitCode = EXIT_CODES.Success;
11143
11218
  clearRecordedCommandFailureTelemetry();
11144
- const [error] = await catchError(telemetry.runWithContext(requestContext, () => fn(...args)));
11219
+ const [error] = await catchError(telemetry.runWithContext(requestContext, () => {
11220
+ const violation = implicitLimitViolation(command);
11221
+ if (violation) {
11222
+ return Promise.reject(violation);
11223
+ }
11224
+ return fn(...args);
11225
+ }));
11145
11226
  if (error) {
11146
11227
  errorMessage = error instanceof Error ? error.message : String(error);
11147
11228
  logger.debug(`[trackedAction] ${telemetryName} failed: ${errorMessage}`);
@@ -11197,6 +11278,20 @@ Command.prototype.trackedAction = function(context, fn, properties) {
11197
11278
  var guardInstalledSlot = singleton("ConsoleGuardInstalled");
11198
11279
  var savedOriginalsSlot = singleton("ConsoleGuardOriginals");
11199
11280
  var DEFAULT_AUTH_TIMEOUT_MS = 5 * 60 * 1000;
11281
+ var HOST_GLOBAL_OPTIONS_WITH_VALUE = [
11282
+ "--output",
11283
+ "--output-filter",
11284
+ "--log-level",
11285
+ "--log-file",
11286
+ "--profile"
11287
+ ];
11288
+ var HOST_GLOBAL_FLAGS = [
11289
+ "--json",
11290
+ "--interactive",
11291
+ "--no-interactive"
11292
+ ];
11293
+ var VALUE_OPTIONS = new Set(HOST_GLOBAL_OPTIONS_WITH_VALUE);
11294
+ var BOOLEAN_FLAGS = new Set(HOST_GLOBAL_FLAGS);
11200
11295
  var modeSlot = singleton("InteractivityMode");
11201
11296
  var interactiveFlagSlot = singleton("InteractiveFlag");
11202
11297
  var PollOutcome = {
@@ -11248,6 +11343,8 @@ var ScreenLogger;
11248
11343
  ScreenLogger2.progress = progress;
11249
11344
  })(ScreenLogger ||= {});
11250
11345
  var sdkUserAgentHostToken = singleton("SdkUserAgentHostToken");
11346
+ var factorySlot = singleton("PackagerFactoryProvider");
11347
+ var moduleSlot = singleton("ToolModuleProvider");
11251
11348
  class ConsoleTelemetryProvider {
11252
11349
  async trackEvent(eventName, _properties) {
11253
11350
  console.debug(`[Telemetry] Event: ${eventName}`);
@@ -11263,7 +11360,6 @@ class ConsoleTelemetryProvider {
11263
11360
  }
11264
11361
  }
11265
11362
  var shippedKeysSlot = singleton("ShipSucceededDedupeKeys");
11266
- var factorySlot = singleton("PackagerFactoryProvider");
11267
11363
  // src/base-node-packager-factory.ts
11268
11364
  import { NodeFileSystem as NodeFileSystem2 } from "@uipath/filesystem";
11269
11365
  import { translate } from "@uipath/solutionpackager-tool-core";
@@ -12234,7 +12330,7 @@ class ProjectPackager {
12234
12330
  }, cancellationToken);
12235
12331
  }
12236
12332
  async packProjectAsync(options, cancellationToken) {
12237
- return await this.telemetryService.trackRequest("ProjectPackager.Pack" /* ProjectPackagerPack */, async () => {
12333
+ return await this.telemetryService.trackDependencyOperation("ProjectPackager.Pack" /* ProjectPackagerPack */, "pack", async () => {
12238
12334
  try {
12239
12335
  await this.governancePolicyService.resolveGovernancePolicyAsync(options.validateOptions, options.connection, cancellationToken);
12240
12336
  let result = await this.packOptionsValidator.validateAsync(options, cancellationToken);
@@ -12319,7 +12415,7 @@ class ProjectPackager {
12319
12415
  return packageStreams;
12320
12416
  }
12321
12417
  async executeProjectOperationAsync(options, operationName, telemetryName, operation, _cancellationToken) {
12322
- return await this.telemetryService.trackRequest(telemetryName, async () => {
12418
+ return await this.telemetryService.trackDependencyOperation(telemetryName, operationName.toLowerCase(), async () => {
12323
12419
  try {
12324
12420
  const loadedProject = await this.projectLoader.loadProject(options.inputPath);
12325
12421
  const uiPathProject = {
@@ -12671,7 +12767,7 @@ import { translate as translate9 } from "@uipath/solutionpackager-tool-core";
12671
12767
  var package_default = {
12672
12768
  name: "@uipath/project-packager",
12673
12769
  license: "MIT",
12674
- version: "1.199.0-preview.97",
12770
+ version: "1.200.0-preview.109",
12675
12771
  description: "UiPath Project Packager - core library for packing individual UiPath projects",
12676
12772
  type: "module",
12677
12773
  main: "./dist/index.js",
@@ -12734,8 +12830,8 @@ var package_default = {
12734
12830
  "@uipath/packager-tool-webapp": "workspace:*",
12735
12831
  "@uipath/packager-tool-workflowcompiler": "workspace:*",
12736
12832
  "@vitest/coverage-v8": "^4.1.6",
12737
- jsdom: "^29.0.0",
12738
- typescript: "^6.0.2",
12833
+ jsdom: "^30.0.1",
12834
+ typescript: "^7.0.2",
12739
12835
  "vite-tsconfig-paths": "^6.1.1",
12740
12836
  vitest: "^4.1.6"
12741
12837
  }
@@ -13128,4 +13224,4 @@ export {
13128
13224
  BaseNodePackagerFactory
13129
13225
  };
13130
13226
 
13131
- //# debugId=8D170D6F66E38C2264756E2164756E21
13227
+ //# debugId=5C5DAF16F22D60FD64756E2164756E21
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@uipath/project-packager",
3
3
  "license": "MIT",
4
- "version": "1.199.0-preview.97",
4
+ "version": "1.200.0-preview.109",
5
5
  "description": "UiPath Project Packager - core library for packing individual UiPath projects",
6
6
  "type": "module",
7
7
  "main": "./dist/index.js",
@@ -32,12 +32,12 @@
32
32
  "dist"
33
33
  ],
34
34
  "dependencies": {
35
- "@uipath/filesystem": "1.199.0",
36
- "@uipath/solutionpackager-tool-core": "1.199.0",
37
- "@uipath/common": "1.199.0"
35
+ "@uipath/filesystem": "1.200.0",
36
+ "@uipath/solutionpackager-tool-core": "1.200.0",
37
+ "@uipath/common": "1.200.0"
38
38
  },
39
39
  "peerDependencies": {
40
40
  "fflate": "^0.8.2"
41
41
  },
42
- "gitHead": "087ae21e842f27bde5eb0013892c9487bfe60568"
42
+ "gitHead": "fcc01cdae81bbd0c25d3d4fc287537a9d19d99f4"
43
43
  }