ur-agent 1.68.2 → 1.68.3

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/CHANGELOG.md CHANGED
@@ -1,5 +1,22 @@
1
1
  # Changelog
2
2
 
3
+ ## 1.68.3
4
+
5
+ - `Ollama request failed (400): http: request body too large` now explains
6
+ itself. That string comes from Go's `net/http` MaxBytesReader rejecting the
7
+ payload on **byte size**, which is a different limit from the model's context
8
+ window — so the token-based context warning added in 1.66.2 never fires for
9
+ it, and a couple of screenshots can breach it while the token estimate still
10
+ looks comfortable. The request body is now measured at the send site, and the
11
+ error reports its actual size, names images as the usual cause (base64 adds
12
+ roughly a third, and every image persists in the transcript on later turns),
13
+ offers `/compact` or a fresh session, and notes that a reverse proxy in front
14
+ of Ollama enforces its own limit (`client_max_body_size` for nginx) which
15
+ tuning Ollama would not affect.
16
+ - The classifier matches the 413 spellings a proxy returns as well as the Go
17
+ 400, and is tested against unrelated 400s so it cannot replace a correct error
18
+ with confident, irrelevant advice.
19
+
3
20
  ## 1.68.2
4
21
 
5
22
  - **Security: explicit file deny rules were not enforced.** `matchingRuleForInput`
package/dist/cli.js CHANGED
@@ -57518,10 +57518,12 @@ __export(exports_ollama, {
57518
57518
  toOllamaChatRequest: () => toOllamaChatRequest,
57519
57519
  parseOllamaModelCapabilities: () => parseOllamaModelCapabilities,
57520
57520
  mergeToolCalls: () => mergeToolCalls,
57521
+ isOllamaRequestTooLarge: () => isOllamaRequestTooLarge,
57521
57522
  isOllamaCloudModel: () => isOllamaCloudModel2,
57522
57523
  getOllamaRequestTimeoutMs: () => getOllamaRequestTimeoutMs,
57523
57524
  getOllamaModelDefaultTimeoutMs: () => getOllamaModelDefaultTimeoutMs,
57524
57525
  getEffectiveOllamaBaseUrl: () => getEffectiveOllamaBaseUrl,
57526
+ describeOversizedOllamaRequest: () => describeOversizedOllamaRequest,
57525
57527
  createOllamaURHQClient: () => createOllamaURHQClient,
57526
57528
  consumePendingProviderNotice: () => consumePendingProviderNotice,
57527
57529
  buildOllamaHeaders: () => buildOllamaHeaders
@@ -57590,15 +57592,16 @@ async function fetchOllamaChat(params, stream4, controller, options, baseUrl = g
57590
57592
  try {
57591
57593
  const capabilities = await getOllamaModelCapabilities(params.model, baseUrl, controller.signal);
57592
57594
  const textToolFallbackAllowed = (params.tools?.length ?? 0) > 0 && !modelCapabilityEnabled(capabilities, "tools");
57595
+ const requestBody = JSON.stringify(toOllamaChatRequest(params, stream4, capabilities, baseUrl));
57593
57596
  const response = await fetch(`${baseUrl}/api/chat`, {
57594
57597
  method: "POST",
57595
57598
  headers: buildOllamaHeaders(),
57596
- body: JSON.stringify(toOllamaChatRequest(params, stream4, capabilities, baseUrl)),
57599
+ body: requestBody,
57597
57600
  signal: controller.signal
57598
57601
  });
57599
57602
  if (!response.ok) {
57600
57603
  const body = await response.text().catch(() => "");
57601
- throw createOllamaHTTPError(response.status, body, response.statusText);
57604
+ throw createOllamaHTTPError(response.status, body, response.statusText, requestBody.length);
57602
57605
  }
57603
57606
  return { response, textToolFallbackAllowed };
57604
57607
  } catch (error40) {
@@ -57621,7 +57624,21 @@ async function fetchOllamaChat(params, stream4, controller, options, baseUrl = g
57621
57624
  }
57622
57625
  }
57623
57626
  }
57624
- function createOllamaHTTPError(status, body, statusText) {
57627
+ function isOllamaRequestTooLarge(status, message) {
57628
+ return (status === 400 || status === 413) && /request body too large|payload too large|entity too large/i.test(message);
57629
+ }
57630
+ function formatBytes(bytes) {
57631
+ if (bytes >= 1024 * 1024)
57632
+ return `${(bytes / (1024 * 1024)).toFixed(1)} MB`;
57633
+ if (bytes >= 1024)
57634
+ return `${Math.round(bytes / 1024)} KB`;
57635
+ return `${bytes} bytes`;
57636
+ }
57637
+ function describeOversizedOllamaRequest(requestBytes) {
57638
+ const size = requestBytes && requestBytes > 0 ? `This request was ${formatBytes(requestBytes)}. ` : "";
57639
+ return `Ollama rejected the request because the HTTP body exceeded its size limit. ` + `${size}This is a byte-size limit on the server, not the model's context ` + `window, so it can trigger even when the conversation fits. Images are the ` + `usual cause \u2014 base64 encoding adds roughly a third to their size, and every ` + `image stays in the transcript on later turns. Use /compact or start a new ` + `session to drop older attachments, or send fewer and smaller images. If the ` + `endpoint sits behind a reverse proxy, the proxy's own body limit applies too ` + `(for nginx that is client_max_body_size).`;
57640
+ }
57641
+ function createOllamaHTTPError(status, body, statusText, requestBytes) {
57625
57642
  const rawMessage = extractOllamaHTTPErrorMessage(body) || statusText;
57626
57643
  if (isOllamaGatewayTimeout(status, rawMessage)) {
57627
57644
  return new APIConnectionTimeoutError({
@@ -57629,6 +57646,11 @@ function createOllamaHTTPError(status, body, statusText) {
57629
57646
  cause: new Error(`Ollama request failed (${status}): ${rawMessage}`)
57630
57647
  });
57631
57648
  }
57649
+ if (isOllamaRequestTooLarge(status, rawMessage)) {
57650
+ return new Error(describeOversizedOllamaRequest(requestBytes), {
57651
+ cause: new Error(`Ollama request failed (${status}): ${rawMessage}`)
57652
+ });
57653
+ }
57632
57654
  return new Error(`Ollama request failed (${status}): ${rawMessage}`);
57633
57655
  }
57634
57656
  function extractOllamaHTTPErrorMessage(body) {
@@ -75647,7 +75669,7 @@ var init_auth = __esm(() => {
75647
75669
 
75648
75670
  // src/utils/userAgent.ts
75649
75671
  function getURCodeUserAgent() {
75650
- return `ur/${"1.68.2"}`;
75672
+ return `ur/${"1.68.3"}`;
75651
75673
  }
75652
75674
 
75653
75675
  // src/utils/workloadContext.ts
@@ -75669,7 +75691,7 @@ function getUserAgent() {
75669
75691
  const clientApp = process.env.UR_AGENT_SDK_CLIENT_APP ? `, client-app/${process.env.UR_AGENT_SDK_CLIENT_APP}` : "";
75670
75692
  const workload = getWorkload();
75671
75693
  const workloadSuffix = workload ? `, workload/${workload}` : "";
75672
- return `ur-cli/${"1.68.2"} (${process.env.USER_TYPE}, ${process.env.UR_CODE_ENTRYPOINT ?? "cli"}${agentSdkVersion}${clientApp}${workloadSuffix})`;
75694
+ return `ur-cli/${"1.68.3"} (${process.env.USER_TYPE}, ${process.env.UR_CODE_ENTRYPOINT ?? "cli"}${agentSdkVersion}${clientApp}${workloadSuffix})`;
75673
75695
  }
75674
75696
  function getMCPUserAgent() {
75675
75697
  const parts = [];
@@ -75683,7 +75705,7 @@ function getMCPUserAgent() {
75683
75705
  parts.push(`client-app/${process.env.UR_AGENT_SDK_CLIENT_APP}`);
75684
75706
  }
75685
75707
  const suffix = parts.length > 0 ? ` (${parts.join(", ")})` : "";
75686
- return `ur/${"1.68.2"}${suffix}`;
75708
+ return `ur/${"1.68.3"}${suffix}`;
75687
75709
  }
75688
75710
  function getWebFetchUserAgent() {
75689
75711
  return `UR-User (${getURCodeUserAgent()})`;
@@ -75821,7 +75843,7 @@ var init_user = __esm(() => {
75821
75843
  deviceId,
75822
75844
  sessionId: getSessionId(),
75823
75845
  email: getEmail(),
75824
- appVersion: "1.68.2",
75846
+ appVersion: "1.68.3",
75825
75847
  platform: getHostPlatformForAnalytics(),
75826
75848
  organizationUuid,
75827
75849
  accountUuid,
@@ -84021,7 +84043,7 @@ var init_metadata = __esm(() => {
84021
84043
  COMPOUND_OPERATOR_REGEX = /\s*(?:&&|\|\||[;|])\s*/;
84022
84044
  WHITESPACE_REGEX = /\s+/;
84023
84045
  getVersionBase = memoize_default(() => {
84024
- const match = "1.68.2".match(/^\d+\.\d+\.\d+(?:-[a-z]+)?/);
84046
+ const match = "1.68.3".match(/^\d+\.\d+\.\d+(?:-[a-z]+)?/);
84025
84047
  return match ? match[0] : undefined;
84026
84048
  });
84027
84049
  buildEnvContext = memoize_default(async () => {
@@ -84061,7 +84083,7 @@ var init_metadata = __esm(() => {
84061
84083
  isGithubAction: isEnvTruthy(process.env.GITHUB_ACTIONS),
84062
84084
  isURCodeAction: isEnvTruthy(process.env.UR_CODE_ACTION),
84063
84085
  isURAiAuth: isURAISubscriber(),
84064
- version: "1.68.2",
84086
+ version: "1.68.3",
84065
84087
  versionBase: getVersionBase(),
84066
84088
  buildTime: "",
84067
84089
  deploymentEnvironment: env2.detectDeploymentEnvironment(),
@@ -84731,7 +84753,7 @@ function initialize1PEventLogging() {
84731
84753
  const platform2 = getPlatform();
84732
84754
  const attributes = {
84733
84755
  [import_semantic_conventions4.ATTR_SERVICE_NAME]: "ur",
84734
- [import_semantic_conventions4.ATTR_SERVICE_VERSION]: "1.68.2"
84756
+ [import_semantic_conventions4.ATTR_SERVICE_VERSION]: "1.68.3"
84735
84757
  };
84736
84758
  if (platform2 === "wsl") {
84737
84759
  const wslVersion = getWslVersion();
@@ -84759,7 +84781,7 @@ function initialize1PEventLogging() {
84759
84781
  })
84760
84782
  ]
84761
84783
  });
84762
- firstPartyEventLogger = firstPartyEventLoggerProvider.getLogger("com.urhq.ur.events", "1.68.2");
84784
+ firstPartyEventLogger = firstPartyEventLoggerProvider.getLogger("com.urhq.ur.events", "1.68.3");
84763
84785
  }
84764
84786
  async function reinitialize1PEventLoggingIfConfigChanged() {
84765
84787
  if (!is1PEventLoggingEnabled() || !firstPartyEventLoggerProvider) {
@@ -88639,7 +88661,7 @@ async function inspectModel(model) {
88639
88661
  likelyCode: inferCode(name, family)
88640
88662
  };
88641
88663
  }
88642
- function formatBytes(size) {
88664
+ function formatBytes2(size) {
88643
88665
  if (!size)
88644
88666
  return "unknown size";
88645
88667
  const gib = size / 1024 / 1024 / 1024;
@@ -88653,7 +88675,7 @@ function formatReport(models) {
88653
88675
  for (const model of models) {
88654
88676
  lines.push(model.name);
88655
88677
  lines.push(` Family: ${model.family ?? "unknown"}`);
88656
- lines.push(` Size: ${formatBytes(model.size)}`);
88678
+ lines.push(` Size: ${formatBytes2(model.size)}`);
88657
88679
  lines.push(` Context length: ${model.contextLength ?? "unknown"}`);
88658
88680
  lines.push(` Embedding length: ${model.embeddingLength ?? "unknown"}`);
88659
88681
  lines.push(` Advertised capabilities: ${model.advertisedCapabilities.length ? model.advertisedCapabilities.join(", ") : "not advertised by Ollama"}`);
@@ -94647,7 +94669,7 @@ function formatAgentTrendReport(report = buildAgentTrendReport()) {
94647
94669
  function formatA2AAgentCard(options = {}, pretty = true) {
94648
94670
  return JSON.stringify(buildA2AAgentCard(options), null, pretty ? 2 : 0);
94649
94671
  }
94650
- var urVersion = "1.68.2", researchSnapshotDate = "2026-07-15", coverage, priorityRoadmap;
94672
+ var urVersion = "1.68.3", researchSnapshotDate = "2026-07-15", coverage, priorityRoadmap;
94651
94673
  var init_trends = __esm(() => {
94652
94674
  init_a2aCardSignature();
94653
94675
  coverage = [
@@ -97450,7 +97472,7 @@ function getAttributionHeader(fingerprint) {
97450
97472
  if (!isAttributionHeaderEnabled()) {
97451
97473
  return "";
97452
97474
  }
97453
- const version2 = `${"1.68.2"}.${fingerprint}`;
97475
+ const version2 = `${"1.68.3"}.${fingerprint}`;
97454
97476
  const entrypoint = process.env.UR_CODE_ENTRYPOINT ?? "unknown";
97455
97477
  const cch = "";
97456
97478
  const workload = getWorkload();
@@ -155323,7 +155345,7 @@ var init_projectSafety = __esm(() => {
155323
155345
  function getInstruments() {
155324
155346
  if (instruments)
155325
155347
  return instruments;
155326
- const meter = import_api10.metrics.getMeter("ur-agent.gen_ai", "1.68.2");
155348
+ const meter = import_api10.metrics.getMeter("ur-agent.gen_ai", "1.68.3");
155327
155349
  instruments = {
155328
155350
  operationDuration: meter.createHistogram("gen_ai.client.operation.duration", {
155329
155351
  description: "GenAI operation duration.",
@@ -155421,7 +155443,7 @@ function genAiAgentAttributes() {
155421
155443
  "gen_ai.operation.name": GEN_AI_OPERATION_INVOKE_AGENT,
155422
155444
  "gen_ai.provider.name": "ur",
155423
155445
  "gen_ai.agent.name": "UR-Nexus",
155424
- "gen_ai.agent.version": "1.68.2"
155446
+ "gen_ai.agent.version": "1.68.3"
155425
155447
  };
155426
155448
  }
155427
155449
  function genAiWorkflowAttributes(workflowName) {
@@ -155437,7 +155459,7 @@ function genAiWorkflowAttributes(workflowName) {
155437
155459
  function startGenAiWorkflowSpan(workflowName) {
155438
155460
  const attributes = genAiWorkflowAttributes(workflowName);
155439
155461
  const name = typeof attributes["gen_ai.workflow.name"] === "string" ? `invoke_workflow ${attributes["gen_ai.workflow.name"]}` : GEN_AI_OPERATION_INVOKE_WORKFLOW;
155440
- return import_api10.trace.getTracer("ur-agent.gen_ai", "1.68.2").startSpan(name, { kind: import_api10.SpanKind.INTERNAL, attributes });
155462
+ return import_api10.trace.getTracer("ur-agent.gen_ai", "1.68.3").startSpan(name, { kind: import_api10.SpanKind.INTERNAL, attributes });
155441
155463
  }
155442
155464
  function endGenAiWorkflowSpan(span, options2 = {}) {
155443
155465
  try {
@@ -155475,7 +155497,7 @@ function startGenAiMemorySpan(operation, options2 = {}) {
155475
155497
  if (options2.recordCount !== undefined && Number.isInteger(options2.recordCount) && options2.recordCount >= 0) {
155476
155498
  attributes["gen_ai.memory.record.count"] = options2.recordCount;
155477
155499
  }
155478
- return import_api10.trace.getTracer("ur-agent.gen_ai", "1.68.2").startSpan(operation, { kind: import_api10.SpanKind.INTERNAL, attributes });
155500
+ return import_api10.trace.getTracer("ur-agent.gen_ai", "1.68.3").startSpan(operation, { kind: import_api10.SpanKind.INTERNAL, attributes });
155479
155501
  }
155480
155502
  function endGenAiMemorySpan(span, options2 = {}) {
155481
155503
  try {
@@ -248958,7 +248980,7 @@ function getTelemetryAttributes() {
248958
248980
  attributes["session.id"] = sessionId;
248959
248981
  }
248960
248982
  if (shouldIncludeAttribute("OTEL_METRICS_INCLUDE_VERSION")) {
248961
- attributes["app.version"] = "1.68.2";
248983
+ attributes["app.version"] = "1.68.3";
248962
248984
  }
248963
248985
  const oauthAccount = getOauthAccountInfo();
248964
248986
  if (oauthAccount) {
@@ -295438,7 +295460,7 @@ function getInstallationEnv() {
295438
295460
  return;
295439
295461
  }
295440
295462
  function getURCodeVersion() {
295441
- return "1.68.2";
295463
+ return "1.68.3";
295442
295464
  }
295443
295465
  async function getInstalledVSCodeExtensionVersion(command) {
295444
295466
  const { stdout } = await execFileNoThrow(command, ["--list-extensions", "--show-versions"], {
@@ -302769,7 +302791,7 @@ async function setupSdkMcpClients(sdkMcpConfigs, sendMcpMessage) {
302769
302791
  const client2 = new Client({
302770
302792
  name: "ur",
302771
302793
  title: "UR",
302772
- version: "1.68.2",
302794
+ version: "1.68.3",
302773
302795
  description: "UR-Nexus autonomous engineering workflow engine",
302774
302796
  websiteUrl: PRODUCT_URL
302775
302797
  }, {
@@ -303129,7 +303151,7 @@ var init_client5 = __esm(() => {
303129
303151
  const client2 = new Client({
303130
303152
  name: "ur",
303131
303153
  title: "UR",
303132
- version: "1.68.2",
303154
+ version: "1.68.3",
303133
303155
  description: "UR-Nexus autonomous engineering workflow engine",
303134
303156
  websiteUrl: PRODUCT_URL
303135
303157
  }, {
@@ -315668,7 +315690,7 @@ async function createRuntime() {
315668
315690
  bootstrapTelemetry();
315669
315691
  const resource = defaultResource().merge(detectResources({ detectors: [envDetector] })).merge(resourceFromAttributes({
315670
315692
  [import_semantic_conventions7.ATTR_SERVICE_NAME]: "ur-agent",
315671
- [import_semantic_conventions7.ATTR_SERVICE_VERSION]: "1.68.2"
315693
+ [import_semantic_conventions7.ATTR_SERVICE_VERSION]: "1.68.3"
315672
315694
  }));
315673
315695
  const tracerProvider = exporters.traces.length > 0 ? new BasicTracerProvider({
315674
315696
  resource,
@@ -315701,11 +315723,11 @@ async function createRuntime() {
315701
315723
  setMeterProvider(meterProvider);
315702
315724
  setLoggerProvider(loggerProvider);
315703
315725
  if (meterProvider) {
315704
- const meter = meterProvider.getMeter("ur-agent", "1.68.2");
315726
+ const meter = meterProvider.getMeter("ur-agent", "1.68.3");
315705
315727
  setMeter(meter, (name, options2) => meter.createCounter(name, options2));
315706
315728
  }
315707
315729
  if (loggerProvider) {
315708
- setEventLogger(loggerProvider.getLogger("ur-agent.events", "1.68.2"));
315730
+ setEventLogger(loggerProvider.getLogger("ur-agent.events", "1.68.3"));
315709
315731
  }
315710
315732
  if (!cleanupRegistered2) {
315711
315733
  cleanupRegistered2 = true;
@@ -316367,9 +316389,9 @@ async function assertMinVersion() {
316367
316389
  if (false) {}
316368
316390
  try {
316369
316391
  const versionConfig = await getDynamicConfig_BLOCKS_ON_INIT("tengu_version_config", { minVersion: "0.0.0" });
316370
- if (versionConfig.minVersion && lt("1.68.2", versionConfig.minVersion)) {
316392
+ if (versionConfig.minVersion && lt("1.68.3", versionConfig.minVersion)) {
316371
316393
  console.error(`
316372
- It looks like your version of UR (${"1.68.2"}) needs an update.
316394
+ It looks like your version of UR (${"1.68.3"}) needs an update.
316373
316395
  A newer version (${versionConfig.minVersion} or higher) is required to continue.
316374
316396
 
316375
316397
  To update, please run:
@@ -316585,7 +316607,7 @@ async function installGlobalPackage(specificVersion) {
316585
316607
  logError2(new AutoUpdaterError("Another process is currently installing an update"));
316586
316608
  logEvent("tengu_auto_updater_lock_contention", {
316587
316609
  pid: process.pid,
316588
- currentVersion: "1.68.2"
316610
+ currentVersion: "1.68.3"
316589
316611
  });
316590
316612
  return "in_progress";
316591
316613
  }
@@ -316594,7 +316616,7 @@ async function installGlobalPackage(specificVersion) {
316594
316616
  if (!env2.isRunningWithBun() && env2.isNpmFromWindowsPath()) {
316595
316617
  logError2(new Error("Windows NPM detected in WSL environment"));
316596
316618
  logEvent("tengu_auto_updater_windows_npm_in_wsl", {
316597
- currentVersion: "1.68.2"
316619
+ currentVersion: "1.68.3"
316598
316620
  });
316599
316621
  console.error(`
316600
316622
  Error: Windows NPM detected in WSL
@@ -317129,7 +317151,7 @@ function detectLinuxGlobPatternWarnings() {
317129
317151
  }
317130
317152
  async function getDoctorDiagnostic() {
317131
317153
  const installationType = await getCurrentInstallationType();
317132
- const version2 = typeof MACRO !== "undefined" ? "1.68.2" : "unknown";
317154
+ const version2 = typeof MACRO !== "undefined" ? "1.68.3" : "unknown";
317133
317155
  const installationPath = await getInstallationPath();
317134
317156
  const invokedBinary = getInvokedBinary();
317135
317157
  const multipleInstallations = await detectMultipleInstallations();
@@ -318064,8 +318086,8 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
318064
318086
  const maxVersion = await getMaxVersion();
318065
318087
  if (maxVersion && gt(version2, maxVersion)) {
318066
318088
  logForDebugging(`Native installer: maxVersion ${maxVersion} is set, capping update from ${version2} to ${maxVersion}`);
318067
- if (gte("1.68.2", maxVersion)) {
318068
- logForDebugging(`Native installer: current version ${"1.68.2"} is already at or above maxVersion ${maxVersion}, skipping update`);
318089
+ if (gte("1.68.3", maxVersion)) {
318090
+ logForDebugging(`Native installer: current version ${"1.68.3"} is already at or above maxVersion ${maxVersion}, skipping update`);
318069
318091
  logEvent("tengu_native_update_skipped_max_version", {
318070
318092
  latency_ms: Date.now() - startTime,
318071
318093
  max_version: maxVersion,
@@ -318076,7 +318098,7 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
318076
318098
  version2 = maxVersion;
318077
318099
  }
318078
318100
  }
318079
- if (!forceReinstall && version2 === "1.68.2" && await versionIsAvailable(version2) && await isPossibleURBinary(executablePath)) {
318101
+ if (!forceReinstall && version2 === "1.68.3" && await versionIsAvailable(version2) && await isPossibleURBinary(executablePath)) {
318080
318102
  logForDebugging(`Found ${version2} at ${executablePath}, skipping install`);
318081
318103
  logEvent("tengu_native_update_complete", {
318082
318104
  latency_ms: Date.now() - startTime,
@@ -388287,7 +388309,7 @@ function isAnyTracingEnabled() {
388287
388309
  return isTelemetryEnabled() || isEnhancedTelemetryEnabled() || isBetaTracingEnabled();
388288
388310
  }
388289
388311
  function getTracer() {
388290
- return import_api39.trace.getTracer("ur-agent.gen_ai", "1.68.2");
388312
+ return import_api39.trace.getTracer("ur-agent.gen_ai", "1.68.3");
388291
388313
  }
388292
388314
  function createSpanAttributes(spanType, customAttributes = {}) {
388293
388315
  const baseAttributes = getTelemetryAttributes();
@@ -419531,7 +419553,7 @@ function Feedback({
419531
419553
  platform: env2.platform,
419532
419554
  gitRepo: envInfo.isGit,
419533
419555
  terminal: env2.terminal,
419534
- version: "1.68.2",
419556
+ version: "1.68.3",
419535
419557
  transcript: normalizeMessagesForAPI(messages),
419536
419558
  errors: sanitizedErrors,
419537
419559
  lastApiRequest: getLastAPIRequest(),
@@ -419723,7 +419745,7 @@ function Feedback({
419723
419745
  ", ",
419724
419746
  env2.terminal,
419725
419747
  ", v",
419726
- "1.68.2"
419748
+ "1.68.3"
419727
419749
  ]
419728
419750
  }, undefined, true, undefined, this)
419729
419751
  ]
@@ -419829,7 +419851,7 @@ ${sanitizedDescription}
419829
419851
  ` + `**Environment Info**
419830
419852
  ` + `- Platform: ${env2.platform}
419831
419853
  ` + `- Terminal: ${env2.terminal}
419832
- ` + `- Version: ${"1.68.2"}
419854
+ ` + `- Version: ${"1.68.3"}
419833
419855
  ` + `- Feedback ID: ${feedbackId}
419834
419856
  ` + `
419835
419857
  **Errors**
@@ -422939,7 +422961,7 @@ function buildPrimarySection() {
422939
422961
  }, undefined, false, undefined, this);
422940
422962
  return [{
422941
422963
  label: "Version",
422942
- value: "1.68.2"
422964
+ value: "1.68.3"
422943
422965
  }, {
422944
422966
  label: "Session name",
422945
422967
  value: nameValue
@@ -426269,7 +426291,7 @@ function Config({
426269
426291
  }
426270
426292
  }, undefined, false, undefined, this)
426271
426293
  }, undefined, false, undefined, this) : showSubmenu === "ChannelDowngrade" ? /* @__PURE__ */ jsx_dev_runtime179.jsxDEV(ChannelDowngradeDialog, {
426272
- currentVersion: "1.68.2",
426294
+ currentVersion: "1.68.3",
426273
426295
  onChoice: (choice) => {
426274
426296
  setShowSubmenu(null);
426275
426297
  setTabsHidden(false);
@@ -426281,7 +426303,7 @@ function Config({
426281
426303
  autoUpdatesChannel: "stable"
426282
426304
  };
426283
426305
  if (choice === "stay") {
426284
- newSettings.minimumVersion = "1.68.2";
426306
+ newSettings.minimumVersion = "1.68.3";
426285
426307
  }
426286
426308
  updateSettingsForSource("userSettings", newSettings);
426287
426309
  setSettingsData((prev_27) => ({
@@ -434355,7 +434377,7 @@ function HelpV2(t0) {
434355
434377
  let t6;
434356
434378
  if ($2[31] !== tabs) {
434357
434379
  t6 = /* @__PURE__ */ jsx_dev_runtime206.jsxDEV(Tabs, {
434358
- title: `UR v${"1.68.2"}`,
434380
+ title: `UR v${"1.68.3"}`,
434359
434381
  color: "professionalBlue",
434360
434382
  defaultTab: "general",
434361
434383
  children: tabs
@@ -435288,7 +435310,7 @@ function buildToolUseContext(tools, readFileStateCache, toolPermissionContext, a
435288
435310
  async function handleInitialize(options2) {
435289
435311
  return {
435290
435312
  name: "UR",
435291
- version: "1.68.2",
435313
+ version: "1.68.3",
435292
435314
  protocolVersion: "0.1.0",
435293
435315
  workspaceRoot: options2.cwd,
435294
435316
  capabilities: {
@@ -452396,7 +452418,7 @@ function getAllReleaseNotes(changelogContent = getStoredChangelogFromMemory()) {
452396
452418
  return [];
452397
452419
  }
452398
452420
  }
452399
- async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.68.2") {
452421
+ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.68.3") {
452400
452422
  if (process.env.USER_TYPE === "ant") {
452401
452423
  const changelog = "";
452402
452424
  if (changelog) {
@@ -452423,7 +452445,7 @@ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.68.2")
452423
452445
  releaseNotes
452424
452446
  };
452425
452447
  }
452426
- function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.68.2") {
452448
+ function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.68.3") {
452427
452449
  if (process.env.USER_TYPE === "ant") {
452428
452450
  const changelog = "";
452429
452451
  if (changelog) {
@@ -455289,7 +455311,7 @@ function getRecentActivitySync() {
455289
455311
  return cachedActivity;
455290
455312
  }
455291
455313
  function getLogoDisplayData() {
455292
- const version2 = process.env.DEMO_VERSION ?? "1.68.2";
455314
+ const version2 = process.env.DEMO_VERSION ?? "1.68.3";
455293
455315
  const serverUrl = getDirectConnectServerUrl();
455294
455316
  const displayPath = process.env.DEMO_VERSION ? "/code/ur" : getDisplayPath(getCwd());
455295
455317
  const cwd2 = serverUrl ? `${displayPath} in ${serverUrl.replace(/^https?:\/\//, "")}` : displayPath;
@@ -456156,7 +456178,7 @@ function LogoV2() {
456156
456178
  if ($2[2] === Symbol.for("react.memo_cache_sentinel")) {
456157
456179
  t2 = () => {
456158
456180
  const currentConfig2 = getGlobalConfig();
456159
- if (currentConfig2.lastReleaseNotesSeen === "1.68.2") {
456181
+ if (currentConfig2.lastReleaseNotesSeen === "1.68.3") {
456160
456182
  return;
456161
456183
  }
456162
456184
  saveGlobalConfig(_temp325);
@@ -456841,12 +456863,12 @@ function LogoV2() {
456841
456863
  return t41;
456842
456864
  }
456843
456865
  function _temp325(current) {
456844
- if (current.lastReleaseNotesSeen === "1.68.2") {
456866
+ if (current.lastReleaseNotesSeen === "1.68.3") {
456845
456867
  return current;
456846
456868
  }
456847
456869
  return {
456848
456870
  ...current,
456849
- lastReleaseNotesSeen: "1.68.2"
456871
+ lastReleaseNotesSeen: "1.68.3"
456850
456872
  };
456851
456873
  }
456852
456874
  function _temp241(s_0) {
@@ -473792,7 +473814,7 @@ function compileAgenticCiWorkflow(specName = "default", options2 = {}) {
473792
473814
  if (spec.name !== specName) {
473793
473815
  throw new Error("Agentic CI workflow spec name does not match");
473794
473816
  }
473795
- const packageVersion = options2.packageVersion ?? (typeof MACRO !== "undefined" ? "1.68.2" : "1.68.2");
473817
+ const packageVersion = options2.packageVersion ?? (typeof MACRO !== "undefined" ? "1.68.3" : "1.68.3");
473796
473818
  if (!/^\d+\.\d+\.\d+(?:-[0-9A-Za-z.-]+)?$/.test(packageVersion)) {
473797
473819
  throw new Error("invalid ur-agent package version");
473798
473820
  }
@@ -474785,7 +474807,7 @@ runner; \`ur trigger\` is the inbound parser that decides what to run.
474785
474807
  path: ".github/workflows/ur.yml",
474786
474808
  root: "project",
474787
474809
  content: compileAgenticCiWorkflow("default", {
474788
- packageVersion: typeof MACRO !== "undefined" ? "1.68.2" : "1.68.2"
474810
+ packageVersion: typeof MACRO !== "undefined" ? "1.68.3" : "1.68.3"
474789
474811
  })
474790
474812
  },
474791
474813
  {
@@ -474855,7 +474877,7 @@ function value(tokens, flag) {
474855
474877
  return index2 >= 0 ? tokens[index2 + 1] : undefined;
474856
474878
  }
474857
474879
  function cliVersion() {
474858
- return typeof MACRO !== "undefined" ? "1.68.2" : "1.68.2";
474880
+ return typeof MACRO !== "undefined" ? "1.68.3" : "1.68.3";
474859
474881
  }
474860
474882
  function workflowPath(cwd2) {
474861
474883
  return join159(cwd2, ".github", "workflows", "ur-agentic-ci.yml");
@@ -480720,7 +480742,7 @@ function createAcpStdioApp(deps) {
480720
480742
  }
480721
480743
  },
480722
480744
  authMethods: [],
480723
- agentInfo: { name: "UR-Nexus", version: "1.68.2" }
480745
+ agentInfo: { name: "UR-Nexus", version: "1.68.3" }
480724
480746
  })).onRequest("authenticate", () => ({})).onRequest("session/new", async (context6) => {
480725
480747
  const result = runtime2.newSession(context6.params.cwd, context6.params.mcpServers, context6.params.additionalDirectories);
480726
480748
  await runtime2.announce({
@@ -480817,7 +480839,7 @@ function createAcpStdioAgent(deps) {
480817
480839
  }
480818
480840
  },
480819
480841
  authMethods: [],
480820
- agentInfo: { name: "UR-Nexus", version: "1.68.2" }
480842
+ agentInfo: { name: "UR-Nexus", version: "1.68.3" }
480821
480843
  });
480822
480844
  return;
480823
480845
  case "authenticate":
@@ -691977,7 +691999,7 @@ async function captureMemoryDiagnostics(trigger2, dumpNumber = 0) {
691977
691999
  smapsRollup,
691978
692000
  platform: process.platform,
691979
692001
  nodeVersion: process.version,
691980
- ccVersion: "1.68.2"
692002
+ ccVersion: "1.68.3"
691981
692003
  };
691982
692004
  }
691983
692005
  async function performHeapDump(trigger2 = "manual", dumpNumber = 0) {
@@ -692557,7 +692579,7 @@ var init_bridge_kick = __esm(() => {
692557
692579
  var call153 = async () => {
692558
692580
  return {
692559
692581
  type: "text",
692560
- value: "1.68.2"
692582
+ value: "1.68.3"
692561
692583
  };
692562
692584
  }, version2, version_default;
692563
692585
  var init_version = __esm(() => {
@@ -703737,7 +703759,7 @@ function generateHtmlReport(data, insights) {
703737
703759
  </html>`;
703738
703760
  }
703739
703761
  function buildExportData(data, insights, facets, remoteStats) {
703740
- const version3 = typeof MACRO !== "undefined" ? "1.68.2" : "unknown";
703762
+ const version3 = typeof MACRO !== "undefined" ? "1.68.3" : "unknown";
703741
703763
  const remote_hosts_collected = remoteStats?.hosts.filter((h2) => h2.sessionCount > 0).map((h2) => h2.name);
703742
703764
  const facets_summary = {
703743
703765
  total: facets.size,
@@ -708064,7 +708086,7 @@ var init_sessionStorage = __esm(() => {
708064
708086
  init_settings2();
708065
708087
  init_slowOperations();
708066
708088
  init_uuid();
708067
- VERSION7 = typeof MACRO !== "undefined" ? "1.68.2" : "unknown";
708089
+ VERSION7 = typeof MACRO !== "undefined" ? "1.68.3" : "unknown";
708068
708090
  MAX_TOMBSTONE_REWRITE_BYTES = 50 * 1024 * 1024;
708069
708091
  SKIP_FIRST_PROMPT_PATTERN = /^(?:\s*<[a-z][\w-]*[\s>]|\[Request interrupted by user[^\]]*\])/;
708070
708092
  EPHEMERAL_PROGRESS_TYPES = new Set([
@@ -709281,7 +709303,7 @@ var init_filesystem = __esm(() => {
709281
709303
  });
709282
709304
  getBundledSkillsRoot = memoize_default(function getBundledSkillsRoot2() {
709283
709305
  const nonce = randomBytes20(16).toString("hex");
709284
- return join230(getURTempDir(), "bundled-skills", "1.68.2", nonce);
709306
+ return join230(getURTempDir(), "bundled-skills", "1.68.3", nonce);
709285
709307
  });
709286
709308
  getResolvedWorkingDirPaths = memoize_default(getPathsForPermissionCheck);
709287
709309
  });
@@ -715587,7 +715609,7 @@ function computeFingerprint(messageText2, version3) {
715587
715609
  }
715588
715610
  function computeFingerprintFromMessages(messages) {
715589
715611
  const firstMessageText = extractFirstMessageText(messages);
715590
- return computeFingerprint(firstMessageText, "1.68.2");
715612
+ return computeFingerprint(firstMessageText, "1.68.3");
715591
715613
  }
715592
715614
  var FINGERPRINT_SALT = "59cf53e54c78";
715593
715615
  var init_fingerprint = () => {};
@@ -717486,7 +717508,7 @@ async function sideQuery(opts) {
717486
717508
  betas.push(STRUCTURED_OUTPUTS_BETA_HEADER);
717487
717509
  }
717488
717510
  const messageText2 = extractFirstUserMessageText(messages);
717489
- const fingerprint2 = computeFingerprint(messageText2, "1.68.2");
717511
+ const fingerprint2 = computeFingerprint(messageText2, "1.68.3");
717490
717512
  const attributionHeader = getAttributionHeader(fingerprint2);
717491
717513
  const systemBlocks = [
717492
717514
  attributionHeader ? { type: "text", text: attributionHeader } : null,
@@ -722273,7 +722295,7 @@ function buildSystemInitMessage(inputs) {
722273
722295
  slash_commands: inputs.commands.filter((c4) => c4.userInvocable !== false).map((c4) => c4.name),
722274
722296
  apiKeySource: getURHQApiKeyWithSource().source,
722275
722297
  betas: getSdkBetas(),
722276
- ur_version: "1.68.2",
722298
+ ur_version: "1.68.3",
722277
722299
  output_style: outputStyle2,
722278
722300
  agents: inputs.agents.map((agent2) => agent2.agentType),
722279
722301
  skills: inputs.skills.filter((s) => s.userInvocable !== false).map((skill2) => skill2.name),
@@ -736224,7 +736246,7 @@ var init_useVoiceEnabled = __esm(() => {
736224
736246
  function getSemverPart(version3) {
736225
736247
  return `${import_semver13.major(version3, { loose: true })}.${import_semver13.minor(version3, { loose: true })}.${import_semver13.patch(version3, { loose: true })}`;
736226
736248
  }
736227
- function useUpdateNotification(updatedVersion, initialVersion = "1.68.2") {
736249
+ function useUpdateNotification(updatedVersion, initialVersion = "1.68.3") {
736228
736250
  const [lastNotifiedSemver, setLastNotifiedSemver] = import_react222.useState(() => getSemverPart(initialVersion));
736229
736251
  if (!updatedVersion) {
736230
736252
  return null;
@@ -736273,7 +736295,7 @@ function AutoUpdater({
736273
736295
  return;
736274
736296
  }
736275
736297
  if (false) {}
736276
- const currentVersion = "1.68.2";
736298
+ const currentVersion = "1.68.3";
736277
736299
  const channel = getInitialSettings()?.autoUpdatesChannel ?? "latest";
736278
736300
  let latestVersion = await getLatestVersion(channel);
736279
736301
  const isDisabled = isAutoUpdaterDisabled();
@@ -736502,12 +736524,12 @@ function NativeAutoUpdater({
736502
736524
  logEvent("tengu_native_auto_updater_start", {});
736503
736525
  try {
736504
736526
  const maxVersion = await getMaxVersion();
736505
- if (maxVersion && gt("1.68.2", maxVersion)) {
736527
+ if (maxVersion && gt("1.68.3", maxVersion)) {
736506
736528
  const msg = await getMaxVersionMessage();
736507
736529
  setMaxVersionIssue(msg ?? "affects your version");
736508
736530
  }
736509
736531
  const result = await installLatest(channel);
736510
- const currentVersion = "1.68.2";
736532
+ const currentVersion = "1.68.3";
736511
736533
  const latencyMs = Date.now() - startTime;
736512
736534
  if (result.lockFailed) {
736513
736535
  logEvent("tengu_native_auto_updater_lock_contention", {
@@ -736644,17 +736666,17 @@ function PackageManagerAutoUpdater(t0) {
736644
736666
  const maxVersion = await getMaxVersion();
736645
736667
  if (maxVersion && latest && gt(latest, maxVersion)) {
736646
736668
  logForDebugging(`PackageManagerAutoUpdater: maxVersion ${maxVersion} is set, capping update from ${latest} to ${maxVersion}`);
736647
- if (gte("1.68.2", maxVersion)) {
736648
- logForDebugging(`PackageManagerAutoUpdater: current version ${"1.68.2"} is already at or above maxVersion ${maxVersion}, skipping update`);
736669
+ if (gte("1.68.3", maxVersion)) {
736670
+ logForDebugging(`PackageManagerAutoUpdater: current version ${"1.68.3"} is already at or above maxVersion ${maxVersion}, skipping update`);
736649
736671
  setUpdateAvailable(false);
736650
736672
  return;
736651
736673
  }
736652
736674
  latest = maxVersion;
736653
736675
  }
736654
- const hasUpdate = latest && !gte("1.68.2", latest) && !shouldSkipVersion(latest);
736676
+ const hasUpdate = latest && !gte("1.68.3", latest) && !shouldSkipVersion(latest);
736655
736677
  setUpdateAvailable(!!hasUpdate);
736656
736678
  if (hasUpdate) {
736657
- logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.68.2"} -> ${latest}`);
736679
+ logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.68.3"} -> ${latest}`);
736658
736680
  }
736659
736681
  };
736660
736682
  $2[0] = t1;
@@ -736688,7 +736710,7 @@ function PackageManagerAutoUpdater(t0) {
736688
736710
  wrap: "truncate",
736689
736711
  children: [
736690
736712
  "currentVersion: ",
736691
- "1.68.2"
736713
+ "1.68.3"
736692
736714
  ]
736693
736715
  }, undefined, true, undefined, this);
736694
736716
  $2[3] = verbose;
@@ -747381,7 +747403,7 @@ function buildStatusLineCommandInput(permissionMode, exceeds200kTokens, settings
747381
747403
  project_dir: getOriginalCwd(),
747382
747404
  added_dirs: addedDirs
747383
747405
  },
747384
- version: "1.68.2",
747406
+ version: "1.68.3",
747385
747407
  output_style: {
747386
747408
  name: outputStyleName
747387
747409
  },
@@ -747459,7 +747481,7 @@ function StatusLineInner({
747459
747481
  const taskValues = Object.values(tasks2);
747460
747482
  const taskRunningCount = countActiveBackgroundTasks(taskValues);
747461
747483
  const defaultStatusLineText = buildDefaultStatusBar({
747462
- version: "1.68.2",
747484
+ version: "1.68.3",
747463
747485
  providerLabel: providerRuntime.providerLabel,
747464
747486
  authMode: providerRuntime.authLabel,
747465
747487
  model: renderModelName(mainLoopModel) || providerRuntime.model || "",
@@ -759639,7 +759661,7 @@ async function submitTranscriptShare(messages, trigger2, appearanceId) {
759639
759661
  } catch {}
759640
759662
  const data = {
759641
759663
  trigger: trigger2,
759642
- version: "1.68.2",
759664
+ version: "1.68.3",
759643
759665
  platform: process.platform,
759644
759666
  transcript,
759645
759667
  subagentTranscripts: Object.keys(subagentTranscripts).length > 0 ? subagentTranscripts : undefined,
@@ -772007,7 +772029,7 @@ function WelcomeV2() {
772007
772029
  dimColor: true,
772008
772030
  children: [
772009
772031
  "v",
772010
- "1.68.2"
772032
+ "1.68.3"
772011
772033
  ]
772012
772034
  }, undefined, true, undefined, this)
772013
772035
  ]
@@ -773267,7 +773289,7 @@ function completeOnboarding() {
773267
773289
  saveGlobalConfig((current) => ({
773268
773290
  ...current,
773269
773291
  hasCompletedOnboarding: true,
773270
- lastOnboardingVersion: "1.68.2"
773292
+ lastOnboardingVersion: "1.68.3"
773271
773293
  }));
773272
773294
  }
773273
773295
  function showDialog(root2, renderer) {
@@ -778311,7 +778333,7 @@ function appendToLog(path24, message) {
778311
778333
  cwd: getFsImplementation().cwd(),
778312
778334
  userType: process.env.USER_TYPE,
778313
778335
  sessionId: getSessionId(),
778314
- version: "1.68.2"
778336
+ version: "1.68.3"
778315
778337
  };
778316
778338
  getLogWriter(path24).write(messageWithTimestamp);
778317
778339
  }
@@ -782475,8 +782497,8 @@ async function getEnvLessBridgeConfig() {
782475
782497
  }
782476
782498
  async function checkEnvLessBridgeMinVersion() {
782477
782499
  const cfg = await getEnvLessBridgeConfig();
782478
- if (cfg.min_version && lt("1.68.2", cfg.min_version)) {
782479
- return `Your version of UR (${"1.68.2"}) is too old for Remote Control.
782500
+ if (cfg.min_version && lt("1.68.3", cfg.min_version)) {
782501
+ return `Your version of UR (${"1.68.3"}) is too old for Remote Control.
782480
782502
  Version ${cfg.min_version} or higher is required. Run \`ur update\` to update.`;
782481
782503
  }
782482
782504
  return null;
@@ -782950,7 +782972,7 @@ async function initBridgeCore(params) {
782950
782972
  const rawApi = createBridgeApiClient({
782951
782973
  baseUrl,
782952
782974
  getAccessToken,
782953
- runnerVersion: "1.68.2",
782975
+ runnerVersion: "1.68.3",
782954
782976
  onDebug: logForDebugging,
782955
782977
  onAuth401,
782956
782978
  getTrustedDeviceToken
@@ -792423,7 +792445,7 @@ function getAgUiCapabilities() {
792423
792445
  name: "UR-Nexus",
792424
792446
  type: "ur-nexus",
792425
792447
  description: "Provider-flexible, local-first autonomous engineering workflow agent.",
792426
- version: "1.68.2",
792448
+ version: "1.68.3",
792427
792449
  provider: "UR",
792428
792450
  documentationUrl: "https://github.com/Maitham16/UR/blob/master/docs/AG_UI.md"
792429
792451
  },
@@ -793563,7 +793585,7 @@ function createMCPServer(cwd4, debug2, verbose) {
793563
793585
  };
793564
793586
  const server2 = new Server({
793565
793587
  name: "ur-nexus",
793566
- version: "1.68.2"
793588
+ version: "1.68.3"
793567
793589
  }, {
793568
793590
  capabilities: {
793569
793591
  tools: {}
@@ -794721,7 +794743,7 @@ function thrownResponse(error40) {
794721
794743
  }
794722
794744
  async function createUrMcp2026Runtime(options4) {
794723
794745
  const server2 = createMCPServer(options4.cwd, options4.debug === true, options4.verbose === true);
794724
- const client2 = new Client({ name: "ur-mcp-2026-adapter", version: "1.68.2" }, { capabilities: {} });
794746
+ const client2 = new Client({ name: "ur-mcp-2026-adapter", version: "1.68.3" }, { capabilities: {} });
794725
794747
  const [clientTransport, serverTransport] = createLinkedTransportPair();
794726
794748
  try {
794727
794749
  await server2.connect(serverTransport);
@@ -794732,7 +794754,7 @@ async function createUrMcp2026Runtime(options4) {
794732
794754
  }
794733
794755
  const runtime2 = new Mcp2026Runtime({
794734
794756
  cwd: options4.cwd,
794735
- version: "1.68.2",
794757
+ version: "1.68.3",
794736
794758
  backend: {
794737
794759
  listTools: async () => {
794738
794760
  const listed = await client2.listTools();
@@ -796865,7 +796887,7 @@ async function update() {
796865
796887
  logEvent("tengu_update_check", {});
796866
796888
  const diagnostic2 = await getDoctorDiagnostic();
796867
796889
  const result = await checkUpgradeStatus({
796868
- currentVersion: "1.68.2",
796890
+ currentVersion: "1.68.3",
796869
796891
  packageName: UR_AGENT_PACKAGE_NAME,
796870
796892
  installationType: diagnostic2.installationType,
796871
796893
  latestVersion: () => getLatestNpmPackageVersion(UR_AGENT_PACKAGE_NAME)
@@ -798181,7 +798203,7 @@ ${customInstructions}` : customInstructions;
798181
798203
  }
798182
798204
  }
798183
798205
  logForDiagnosticsNoPII("info", "started", {
798184
- version: "1.68.2",
798206
+ version: "1.68.3",
798185
798207
  is_native_binary: isInBundledMode()
798186
798208
  });
798187
798209
  registerCleanup(async () => {
@@ -798967,7 +798989,7 @@ Usage: ur --remote "your task description"`, () => gracefulShutdown(1));
798967
798989
  pendingHookMessages
798968
798990
  }, renderAndRun);
798969
798991
  }
798970
- }).version("1.68.2 (UR-Nexus)", "-v, --version", "Output the version number");
798992
+ }).version("1.68.3 (UR-Nexus)", "-v, --version", "Output the version number");
798971
798993
  program2.option("-w, --worktree [name]", "Create a new git worktree for this session (optionally specify a name)");
798972
798994
  program2.option("--tmux", "Create a tmux session for the worktree (requires --worktree). Uses iTerm2 native panes when available; use --tmux=classic for traditional tmux.");
798973
798995
  if (canUserConfigureAdvisor()) {
@@ -800026,7 +800048,7 @@ if (false) {}
800026
800048
  async function main2() {
800027
800049
  const args = process.argv.slice(2);
800028
800050
  if (args.length === 1 && (args[0] === "--version" || args[0] === "-v" || args[0] === "-V")) {
800029
- console.log(`${"1.68.2"} (UR-Nexus)`);
800051
+ console.log(`${"1.68.3"} (UR-Nexus)`);
800030
800052
  return;
800031
800053
  }
800032
800054
  if (args[0] === "a2a" && args[1] === "serve" && !args.includes("--help") && !args.includes("-h")) {
@@ -19,7 +19,7 @@ You need:
19
19
 
20
20
  ```sh
21
21
  ur --version
22
- # expected for this release: "1.68.2 (UR-Nexus)"
22
+ # expected for this release: "1.68.3 (UR-Nexus)"
23
23
  ```
24
24
 
25
25
  ## 0.1 First-workspace model selection (1.45.4)
@@ -45,7 +45,7 @@
45
45
  <main id="content" class="content">
46
46
  <header class="topbar">
47
47
  <div>
48
- <p class="eyebrow">Version 1.68.2</p>
48
+ <p class="eyebrow">Version 1.68.3</p>
49
49
  <h1>UR-Nexus Documentation</h1>
50
50
  <p class="lead">A practical, tutorial-style reference for installing, configuring, automating, extending, and operating UR-Nexus.</p>
51
51
  </div>
@@ -7,7 +7,7 @@ plugins {
7
7
  }
8
8
 
9
9
  group = "dev.urnexus"
10
- version = "1.68.2"
10
+ version = "1.68.3"
11
11
 
12
12
  repositories {
13
13
  mavenCentral()
@@ -2,7 +2,7 @@
2
2
  "name": "ur-inline-diffs",
3
3
  "displayName": "UR Inline Diffs",
4
4
  "description": "Review, apply, and reject UR inline diff bundles from .ur/ide/diffs inside VS Code.",
5
- "version": "1.68.2",
5
+ "version": "1.68.3",
6
6
  "publisher": "ur-nexus",
7
7
  "engines": {
8
8
  "vscode": "^1.92.0"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ur-agent",
3
- "version": "1.68.2",
3
+ "version": "1.68.3",
4
4
  "description": "UR-Nexus — autonomous engineering workflow engine (plan, execute, test, verify, document, benchmark, reproduce)",
5
5
  "type": "module",
6
6
  "packageManager": "bun@1.3.14",
@@ -1,6 +1,6 @@
1
1
  # UR-Nexus — Technical Specifications
2
2
 
3
- > Audited against the executable source and tests for `ur-agent` v1.68.2.
3
+ > Audited against the executable source and tests for `ur-agent` v1.68.3.
4
4
  > Command, tool, flag, provider, and setting claims are checked against the
5
5
  > implementation rather than copied from product prose. Release validation
6
6
  > keeps this version synchronized and packages the complete `technical/`