ur-agent 1.78.10 → 1.78.11

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,6 +1,6 @@
1
1
  # Changelog
2
2
 
3
- ## 1.78.10
3
+ ## 1.78.11
4
4
 
5
5
  - Provider-reported context overflow now triggers one bounded automatic
6
6
  compaction-and-retry in the shipped build instead of immediately showing
@@ -23,12 +23,14 @@
23
23
  `UR_STREAM_IDLE_TIMEOUT_MS`; remote sessions and cloud non-streaming fallback
24
24
  keep their two-minute bounds, and real dead streams still terminate.
25
25
 
26
- - A new actionable work board appears immediately, even before a model emits
27
- `TaskCreate`. The first explicit model task atomically replaces that automatic
28
- seed, so parallel creation does not duplicate or lose work. Corrective replies
29
- and interruptions now resume the existing seed or explicit unfinished board
30
- instead of echoing every user message as a new task title. A successful simple
31
- turn completes its seed; an aborted turn leaves it pending for honest recovery.
26
+ - A new work board appears immediately, even before a model emits `TaskCreate`.
27
+ Its internal seed now renders as a neutral `Planning tasks…` state and never
28
+ stores or flashes the user's prompt as a task title or description. The first
29
+ explicit model task atomically replaces that seed, so parallel creation does
30
+ not duplicate or lose work. Corrective replies—including `no` / `still`
31
+ feedback—and interruptions resume the existing seed or explicit unfinished
32
+ board. A successful simple turn completes its seed; an aborted turn leaves it
33
+ pending for honest recovery.
32
34
  - User interruptions no longer archive pending or in-progress tasks into an
33
35
  apparently empty list. The next prompt advances the generation while keeping
34
36
  unfinished work visible and instructs the agent to reconcile, update relevant
package/dist/cli.js CHANGED
@@ -107602,7 +107602,7 @@ var init_auth = __esm(() => {
107602
107602
 
107603
107603
  // src/utils/userAgent.ts
107604
107604
  function getURCodeUserAgent() {
107605
- return `ur/${"1.78.10"}`;
107605
+ return `ur/${"1.78.11"}`;
107606
107606
  }
107607
107607
 
107608
107608
  // src/utils/workloadContext.ts
@@ -107624,7 +107624,7 @@ function getUserAgent() {
107624
107624
  const clientApp = process.env.UR_AGENT_SDK_CLIENT_APP ? `, client-app/${process.env.UR_AGENT_SDK_CLIENT_APP}` : "";
107625
107625
  const workload = getWorkload();
107626
107626
  const workloadSuffix = workload ? `, workload/${workload}` : "";
107627
- return `ur-cli/${"1.78.10"} (${process.env.USER_TYPE}, ${process.env.UR_CODE_ENTRYPOINT ?? "cli"}${agentSdkVersion}${clientApp}${workloadSuffix})`;
107627
+ return `ur-cli/${"1.78.11"} (${process.env.USER_TYPE}, ${process.env.UR_CODE_ENTRYPOINT ?? "cli"}${agentSdkVersion}${clientApp}${workloadSuffix})`;
107628
107628
  }
107629
107629
  function getMCPUserAgent() {
107630
107630
  const parts = [];
@@ -107638,7 +107638,7 @@ function getMCPUserAgent() {
107638
107638
  parts.push(`client-app/${process.env.UR_AGENT_SDK_CLIENT_APP}`);
107639
107639
  }
107640
107640
  const suffix = parts.length > 0 ? ` (${parts.join(", ")})` : "";
107641
- return `ur/${"1.78.10"}${suffix}`;
107641
+ return `ur/${"1.78.11"}${suffix}`;
107642
107642
  }
107643
107643
  function getWebFetchUserAgent() {
107644
107644
  return `UR-User (${getURCodeUserAgent()})`;
@@ -107776,7 +107776,7 @@ var init_user = __esm(() => {
107776
107776
  deviceId,
107777
107777
  sessionId: getSessionId(),
107778
107778
  email: getEmail(),
107779
- appVersion: "1.78.10",
107779
+ appVersion: "1.78.11",
107780
107780
  platform: getHostPlatformForAnalytics(),
107781
107781
  organizationUuid,
107782
107782
  accountUuid,
@@ -115663,7 +115663,7 @@ var init_metadata = __esm(() => {
115663
115663
  COMPOUND_OPERATOR_REGEX = /\s*(?:&&|\|\||[;|])\s*/;
115664
115664
  WHITESPACE_REGEX = /\s+/;
115665
115665
  getVersionBase = memoize_default(() => {
115666
- const match = "1.78.10".match(/^\d+\.\d+\.\d+(?:-[a-z]+)?/);
115666
+ const match = "1.78.11".match(/^\d+\.\d+\.\d+(?:-[a-z]+)?/);
115667
115667
  return match ? match[0] : undefined;
115668
115668
  });
115669
115669
  buildEnvContext = memoize_default(async () => {
@@ -115703,7 +115703,7 @@ var init_metadata = __esm(() => {
115703
115703
  isGithubAction: isEnvTruthy(process.env.GITHUB_ACTIONS),
115704
115704
  isURCodeAction: isEnvTruthy(process.env.UR_CODE_ACTION),
115705
115705
  isURAiAuth: isURAISubscriber(),
115706
- version: "1.78.10",
115706
+ version: "1.78.11",
115707
115707
  versionBase: getVersionBase(),
115708
115708
  buildTime: "",
115709
115709
  deploymentEnvironment: env2.detectDeploymentEnvironment(),
@@ -116373,7 +116373,7 @@ function initialize1PEventLogging() {
116373
116373
  const platform2 = getPlatform();
116374
116374
  const attributes = {
116375
116375
  [import_semantic_conventions4.ATTR_SERVICE_NAME]: "ur",
116376
- [import_semantic_conventions4.ATTR_SERVICE_VERSION]: "1.78.10"
116376
+ [import_semantic_conventions4.ATTR_SERVICE_VERSION]: "1.78.11"
116377
116377
  };
116378
116378
  if (platform2 === "wsl") {
116379
116379
  const wslVersion = getWslVersion();
@@ -116401,7 +116401,7 @@ function initialize1PEventLogging() {
116401
116401
  })
116402
116402
  ]
116403
116403
  });
116404
- firstPartyEventLogger = firstPartyEventLoggerProvider.getLogger("com.urhq.ur.events", "1.78.10");
116404
+ firstPartyEventLogger = firstPartyEventLoggerProvider.getLogger("com.urhq.ur.events", "1.78.11");
116405
116405
  }
116406
116406
  async function reinitialize1PEventLoggingIfConfigChanged() {
116407
116407
  if (!is1PEventLoggingEnabled() || !firstPartyEventLoggerProvider) {
@@ -126301,7 +126301,7 @@ function formatAgentTrendReport(report = buildAgentTrendReport()) {
126301
126301
  function formatA2AAgentCard(options = {}, pretty = true) {
126302
126302
  return JSON.stringify(buildA2AAgentCard(options), null, pretty ? 2 : 0);
126303
126303
  }
126304
- var urVersion = "1.78.10", researchSnapshotDate = "2026-07-15", coverage, priorityRoadmap;
126304
+ var urVersion = "1.78.11", researchSnapshotDate = "2026-07-15", coverage, priorityRoadmap;
126305
126305
  var init_trends = __esm(() => {
126306
126306
  init_a2aCardSignature();
126307
126307
  coverage = [
@@ -129104,7 +129104,7 @@ function getAttributionHeader(fingerprint) {
129104
129104
  if (!isAttributionHeaderEnabled()) {
129105
129105
  return "";
129106
129106
  }
129107
- const version2 = `${"1.78.10"}.${fingerprint}`;
129107
+ const version2 = `${"1.78.11"}.${fingerprint}`;
129108
129108
  const entrypoint = process.env.UR_CODE_ENTRYPOINT ?? "unknown";
129109
129109
  const cch = "";
129110
129110
  const workload = getWorkload();
@@ -157108,7 +157108,7 @@ var init_projectSafety = __esm(() => {
157108
157108
  function getInstruments() {
157109
157109
  if (instruments)
157110
157110
  return instruments;
157111
- const meter = import_api10.metrics.getMeter("ur-agent.gen_ai", "1.78.10");
157111
+ const meter = import_api10.metrics.getMeter("ur-agent.gen_ai", "1.78.11");
157112
157112
  instruments = {
157113
157113
  operationDuration: meter.createHistogram("gen_ai.client.operation.duration", {
157114
157114
  description: "GenAI operation duration.",
@@ -157206,7 +157206,7 @@ function genAiAgentAttributes() {
157206
157206
  "gen_ai.operation.name": GEN_AI_OPERATION_INVOKE_AGENT,
157207
157207
  "gen_ai.provider.name": "ur",
157208
157208
  "gen_ai.agent.name": "UR-Nexus",
157209
- "gen_ai.agent.version": "1.78.10"
157209
+ "gen_ai.agent.version": "1.78.11"
157210
157210
  };
157211
157211
  }
157212
157212
  function genAiWorkflowAttributes(workflowName) {
@@ -157222,7 +157222,7 @@ function genAiWorkflowAttributes(workflowName) {
157222
157222
  function startGenAiWorkflowSpan(workflowName) {
157223
157223
  const attributes = genAiWorkflowAttributes(workflowName);
157224
157224
  const name = typeof attributes["gen_ai.workflow.name"] === "string" ? `invoke_workflow ${attributes["gen_ai.workflow.name"]}` : GEN_AI_OPERATION_INVOKE_WORKFLOW;
157225
- return import_api10.trace.getTracer("ur-agent.gen_ai", "1.78.10").startSpan(name, { kind: import_api10.SpanKind.INTERNAL, attributes });
157225
+ return import_api10.trace.getTracer("ur-agent.gen_ai", "1.78.11").startSpan(name, { kind: import_api10.SpanKind.INTERNAL, attributes });
157226
157226
  }
157227
157227
  function endGenAiWorkflowSpan(span, options2 = {}) {
157228
157228
  try {
@@ -157260,7 +157260,7 @@ function startGenAiMemorySpan(operation, options2 = {}) {
157260
157260
  if (options2.recordCount !== undefined && Number.isInteger(options2.recordCount) && options2.recordCount >= 0) {
157261
157261
  attributes["gen_ai.memory.record.count"] = options2.recordCount;
157262
157262
  }
157263
- return import_api10.trace.getTracer("ur-agent.gen_ai", "1.78.10").startSpan(operation, { kind: import_api10.SpanKind.INTERNAL, attributes });
157263
+ return import_api10.trace.getTracer("ur-agent.gen_ai", "1.78.11").startSpan(operation, { kind: import_api10.SpanKind.INTERNAL, attributes });
157264
157264
  }
157265
157265
  function endGenAiMemorySpan(span, options2 = {}) {
157266
157266
  try {
@@ -159300,6 +159300,7 @@ __export(exports_tasks, {
159300
159300
  listTaskHistory: () => listTaskHistory,
159301
159301
  isTodoV2Enabled: () => isTodoV2Enabled,
159302
159302
  isTaskListFullyCompleted: () => isTaskListFullyCompleted,
159303
+ isAutomaticPromptTask: () => isAutomaticPromptTask,
159303
159304
  inspectTaskListForGate: () => inspectTaskListForGate,
159304
159305
  getTasksDir: () => getTasksDir,
159305
159306
  getTaskPath: () => getTaskPath,
@@ -159319,7 +159320,10 @@ __export(exports_tasks, {
159319
159320
  TaskStatusSchema: () => TaskStatusSchema2,
159320
159321
  TaskSchema: () => TaskSchema2,
159321
159322
  TASK_STATUSES: () => TASK_STATUSES,
159322
- DEFAULT_TASKS_MODE_TASK_LIST_ID: () => DEFAULT_TASKS_MODE_TASK_LIST_ID
159323
+ DEFAULT_TASKS_MODE_TASK_LIST_ID: () => DEFAULT_TASKS_MODE_TASK_LIST_ID,
159324
+ AUTOMATIC_PROMPT_TASK_SUBJECT: () => AUTOMATIC_PROMPT_TASK_SUBJECT,
159325
+ AUTOMATIC_PROMPT_TASK_DESCRIPTION: () => AUTOMATIC_PROMPT_TASK_DESCRIPTION,
159326
+ AUTOMATIC_PROMPT_TASK_ACTIVE_FORM: () => AUTOMATIC_PROMPT_TASK_ACTIVE_FORM
159323
159327
  });
159324
159328
  import {
159325
159329
  mkdir as mkdir6,
@@ -159350,6 +159354,9 @@ function notifyTasksUpdated() {
159350
159354
  tasksUpdated.emit();
159351
159355
  } catch {}
159352
159356
  }
159357
+ function isAutomaticPromptTask(task) {
159358
+ return task.metadata?.[AUTOMATIC_PROMPT_TASK_KEY] === true;
159359
+ }
159353
159360
  function parseNumericTaskId(value) {
159354
159361
  if (!/^\d+$/u.test(value))
159355
159362
  return null;
@@ -159653,10 +159660,7 @@ async function createTaskForRun(taskListId, generationId, taskData, options2 = {
159653
159660
  notifyTasksUpdated();
159654
159661
  return id;
159655
159662
  }
159656
- async function createAutomaticPromptTaskForRun(taskListId, generationId, prompt, options2 = {}) {
159657
- const compact = prompt.replace(/\s+/gu, " ").trim() || "Handle user request";
159658
- const subject = compact.length <= 80 ? compact : `${compact.slice(0, 77).trimEnd()}...`;
159659
- const description = prompt.length <= 2000 ? prompt : `${prompt.slice(0, 1997)}...`;
159663
+ async function createAutomaticPromptTaskForRun(taskListId, generationId, _prompt, options2 = {}) {
159660
159664
  const taskId = await withTaskListLock(taskListId, async () => {
159661
159665
  await establishTaskListGenerationUnsafe(taskListId, generationId, {
159662
159666
  appendToCurrent: options2.reuseExistingBoard
@@ -159666,6 +159670,9 @@ async function createAutomaticPromptTaskForRun(taskListId, generationId, prompt,
159666
159670
  if (resumableAutomaticTask) {
159667
159671
  await writeTaskSnapshotUnsafe(taskListId, {
159668
159672
  ...resumableAutomaticTask,
159673
+ subject: AUTOMATIC_PROMPT_TASK_SUBJECT,
159674
+ description: AUTOMATIC_PROMPT_TASK_DESCRIPTION,
159675
+ activeForm: AUTOMATIC_PROMPT_TASK_ACTIVE_FORM,
159669
159676
  status: "in_progress",
159670
159677
  metadata: {
159671
159678
  ...resumableAutomaticTask.metadata,
@@ -159679,9 +159686,9 @@ async function createAutomaticPromptTaskForRun(taskListId, generationId, prompt,
159679
159686
  return;
159680
159687
  }
159681
159688
  return allocateTaskSnapshotUnsafe(taskListId, {
159682
- subject,
159683
- description,
159684
- activeForm: "Working on user request",
159689
+ subject: AUTOMATIC_PROMPT_TASK_SUBJECT,
159690
+ description: AUTOMATIC_PROMPT_TASK_DESCRIPTION,
159691
+ activeForm: AUTOMATIC_PROMPT_TASK_ACTIVE_FORM,
159685
159692
  status: "in_progress",
159686
159693
  owner: undefined,
159687
159694
  blocks: [],
@@ -160282,7 +160289,7 @@ async function unassignTeammateTasks(teamName, teammateId, teammateName, reason)
160282
160289
  notificationMessage
160283
160290
  };
160284
160291
  }
160285
- var tasksUpdated, leaderTeamName, onTasksUpdated, TASK_STATUSES, TaskStatusSchema2, TaskSchema2, HIGH_WATER_MARK_FILE = ".highwatermark", ACTIVE_GENERATION_FILE = ".active-generation", HISTORY_DIRECTORY = ".history", HISTORY_MANIFEST_FILE = ".manifest.json", AUTOMATIC_PROMPT_TASK_KEY = "urAutomaticPromptTask", AUTOMATIC_PROMPT_GENERATION_KEY = "urPromptGeneration", LOCK_OPTIONS, DEFAULT_TASKS_MODE_TASK_LIST_ID = "tasklist";
160292
+ var tasksUpdated, leaderTeamName, onTasksUpdated, TASK_STATUSES, TaskStatusSchema2, TaskSchema2, HIGH_WATER_MARK_FILE = ".highwatermark", ACTIVE_GENERATION_FILE = ".active-generation", HISTORY_DIRECTORY = ".history", HISTORY_MANIFEST_FILE = ".manifest.json", AUTOMATIC_PROMPT_TASK_KEY = "urAutomaticPromptTask", AUTOMATIC_PROMPT_GENERATION_KEY = "urPromptGeneration", AUTOMATIC_PROMPT_TASK_SUBJECT = "Preparing task plan", AUTOMATIC_PROMPT_TASK_DESCRIPTION = "Temporary placeholder while the agent creates concrete tasks.", AUTOMATIC_PROMPT_TASK_ACTIVE_FORM = "Planning requested work", LOCK_OPTIONS, DEFAULT_TASKS_MODE_TASK_LIST_ID = "tasklist";
160286
160293
  var init_tasks = __esm(() => {
160287
160294
  init_v4();
160288
160295
  init_state();
@@ -250990,7 +250997,7 @@ function getTelemetryAttributes() {
250990
250997
  attributes["session.id"] = sessionId;
250991
250998
  }
250992
250999
  if (shouldIncludeAttribute("OTEL_METRICS_INCLUDE_VERSION")) {
250993
- attributes["app.version"] = "1.78.10";
251000
+ attributes["app.version"] = "1.78.11";
250994
251001
  }
250995
251002
  const oauthAccount = getOauthAccountInfo();
250996
251003
  if (oauthAccount) {
@@ -297497,7 +297504,7 @@ function getInstallationEnv() {
297497
297504
  return;
297498
297505
  }
297499
297506
  function getURCodeVersion() {
297500
- return "1.78.10";
297507
+ return "1.78.11";
297501
297508
  }
297502
297509
  async function getInstalledVSCodeExtensionVersion(command) {
297503
297510
  const { stdout } = await execFileNoThrow(command, ["--list-extensions", "--show-versions"], {
@@ -304828,7 +304835,7 @@ async function setupSdkMcpClients(sdkMcpConfigs, sendMcpMessage) {
304828
304835
  const client2 = new Client({
304829
304836
  name: "ur",
304830
304837
  title: "UR",
304831
- version: "1.78.10",
304838
+ version: "1.78.11",
304832
304839
  description: "UR-Nexus autonomous engineering workflow engine",
304833
304840
  websiteUrl: PRODUCT_URL
304834
304841
  }, {
@@ -305188,7 +305195,7 @@ var init_client5 = __esm(() => {
305188
305195
  const client2 = new Client({
305189
305196
  name: "ur",
305190
305197
  title: "UR",
305191
- version: "1.78.10",
305198
+ version: "1.78.11",
305192
305199
  description: "UR-Nexus autonomous engineering workflow engine",
305193
305200
  websiteUrl: PRODUCT_URL
305194
305201
  }, {
@@ -317909,7 +317916,7 @@ async function createRuntime() {
317909
317916
  bootstrapTelemetry();
317910
317917
  const resource = defaultResource().merge(detectResources({ detectors: [envDetector] })).merge(resourceFromAttributes({
317911
317918
  [import_semantic_conventions7.ATTR_SERVICE_NAME]: "ur-agent",
317912
- [import_semantic_conventions7.ATTR_SERVICE_VERSION]: "1.78.10"
317919
+ [import_semantic_conventions7.ATTR_SERVICE_VERSION]: "1.78.11"
317913
317920
  }));
317914
317921
  const tracerProvider = exporters.traces.length > 0 ? new BasicTracerProvider({
317915
317922
  resource,
@@ -317942,11 +317949,11 @@ async function createRuntime() {
317942
317949
  setMeterProvider(meterProvider);
317943
317950
  setLoggerProvider(loggerProvider);
317944
317951
  if (meterProvider) {
317945
- const meter = meterProvider.getMeter("ur-agent", "1.78.10");
317952
+ const meter = meterProvider.getMeter("ur-agent", "1.78.11");
317946
317953
  setMeter(meter, (name, options2) => meter.createCounter(name, options2));
317947
317954
  }
317948
317955
  if (loggerProvider) {
317949
- setEventLogger(loggerProvider.getLogger("ur-agent.events", "1.78.10"));
317956
+ setEventLogger(loggerProvider.getLogger("ur-agent.events", "1.78.11"));
317950
317957
  }
317951
317958
  if (!cleanupRegistered2) {
317952
317959
  cleanupRegistered2 = true;
@@ -318608,9 +318615,9 @@ async function assertMinVersion() {
318608
318615
  if (false) {}
318609
318616
  try {
318610
318617
  const versionConfig = await getDynamicConfig_BLOCKS_ON_INIT("tengu_version_config", { minVersion: "0.0.0" });
318611
- if (versionConfig.minVersion && lt("1.78.10", versionConfig.minVersion)) {
318618
+ if (versionConfig.minVersion && lt("1.78.11", versionConfig.minVersion)) {
318612
318619
  console.error(`
318613
- It looks like your version of UR (${"1.78.10"}) needs an update.
318620
+ It looks like your version of UR (${"1.78.11"}) needs an update.
318614
318621
  A newer version (${versionConfig.minVersion} or higher) is required to continue.
318615
318622
 
318616
318623
  To update, please run:
@@ -318826,7 +318833,7 @@ async function installGlobalPackage(specificVersion) {
318826
318833
  logError2(new AutoUpdaterError("Another process is currently installing an update"));
318827
318834
  logEvent("tengu_auto_updater_lock_contention", {
318828
318835
  pid: process.pid,
318829
- currentVersion: "1.78.10"
318836
+ currentVersion: "1.78.11"
318830
318837
  });
318831
318838
  return "in_progress";
318832
318839
  }
@@ -318835,7 +318842,7 @@ async function installGlobalPackage(specificVersion) {
318835
318842
  if (!env2.isRunningWithBun() && env2.isNpmFromWindowsPath()) {
318836
318843
  logError2(new Error("Windows NPM detected in WSL environment"));
318837
318844
  logEvent("tengu_auto_updater_windows_npm_in_wsl", {
318838
- currentVersion: "1.78.10"
318845
+ currentVersion: "1.78.11"
318839
318846
  });
318840
318847
  console.error(`
318841
318848
  Error: Windows NPM detected in WSL
@@ -319370,7 +319377,7 @@ function detectLinuxGlobPatternWarnings() {
319370
319377
  }
319371
319378
  async function getDoctorDiagnostic() {
319372
319379
  const installationType = await getCurrentInstallationType();
319373
- const version2 = typeof MACRO !== "undefined" ? "1.78.10" : "unknown";
319380
+ const version2 = typeof MACRO !== "undefined" ? "1.78.11" : "unknown";
319374
319381
  const installationPath = await getInstallationPath();
319375
319382
  const invokedBinary = getInvokedBinary();
319376
319383
  const multipleInstallations = await detectMultipleInstallations();
@@ -320305,8 +320312,8 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
320305
320312
  const maxVersion = await getMaxVersion();
320306
320313
  if (maxVersion && gt(version2, maxVersion)) {
320307
320314
  logForDebugging(`Native installer: maxVersion ${maxVersion} is set, capping update from ${version2} to ${maxVersion}`);
320308
- if (gte("1.78.10", maxVersion)) {
320309
- logForDebugging(`Native installer: current version ${"1.78.10"} is already at or above maxVersion ${maxVersion}, skipping update`);
320315
+ if (gte("1.78.11", maxVersion)) {
320316
+ logForDebugging(`Native installer: current version ${"1.78.11"} is already at or above maxVersion ${maxVersion}, skipping update`);
320310
320317
  logEvent("tengu_native_update_skipped_max_version", {
320311
320318
  latency_ms: Date.now() - startTime,
320312
320319
  max_version: maxVersion,
@@ -320317,7 +320324,7 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
320317
320324
  version2 = maxVersion;
320318
320325
  }
320319
320326
  }
320320
- if (!forceReinstall && version2 === "1.78.10" && await versionIsAvailable(version2) && await isPossibleURBinary(executablePath)) {
320327
+ if (!forceReinstall && version2 === "1.78.11" && await versionIsAvailable(version2) && await isPossibleURBinary(executablePath)) {
320321
320328
  logForDebugging(`Found ${version2} at ${executablePath}, skipping install`);
320322
320329
  logEvent("tengu_native_update_complete", {
320323
320330
  latency_ms: Date.now() - startTime,
@@ -379883,7 +379890,7 @@ function requestsRevisionOfCurrentTaskList(input) {
379883
379890
  const normalized = input.replace(/\s+/gu, " ").trim().toLowerCase();
379884
379891
  if (!normalized || normalized.length > 500)
379885
379892
  return false;
379886
- return /^(?:also|and|but|actually|instead|still|again)\b/u.test(normalized) || /\b(?:why did (?:you|u)|i (?:said|asked|meant)|you (?:removed|deleted|changed|forgot|missed))\b/u.test(normalized) || /^(?:please\s+)?(?:fix|change|update|restore|keep|remove|add)\s+(?:it|that|this)\b/u.test(normalized) || /^(?:please\s+)?(?:do not|don't)\s+(?:remove|delete|change|replace|forget)\b/u.test(normalized);
379893
+ return /^(?:no|also|and|but|actually|instead|still|again|not yet|(?:it|this|that)\s+still)\b/u.test(normalized) || /\b(?:why did (?:you|u)|i (?:said|asked|meant)|you (?:removed|deleted|changed|forgot|missed))\b/u.test(normalized) || /^(?:please\s+)?(?:fix|change|update|restore|keep|remove|add)\s+(?:it|that|this)\b/u.test(normalized) || /^(?:please\s+)?(?:do not|don't)\s+(?:remove|delete|change|replace|forget)\b/u.test(normalized);
379887
379894
  }
379888
379895
  function shouldKeepCurrentTaskList(input) {
379889
379896
  return requestsAppendToCurrentTaskList(input) || requestsContinueCurrentTaskList(input) || requestsRevisionOfCurrentTaskList(input);
@@ -390155,7 +390162,7 @@ function isAnyTracingEnabled() {
390155
390162
  return isTelemetryEnabled() || isEnhancedTelemetryEnabled() || isBetaTracingEnabled();
390156
390163
  }
390157
390164
  function getTracer() {
390158
- return import_api39.trace.getTracer("ur-agent.gen_ai", "1.78.10");
390165
+ return import_api39.trace.getTracer("ur-agent.gen_ai", "1.78.11");
390159
390166
  }
390160
390167
  function createSpanAttributes(spanType, customAttributes = {}) {
390161
390168
  const baseAttributes = getTelemetryAttributes();
@@ -420444,7 +420451,7 @@ function Feedback({
420444
420451
  platform: env2.platform,
420445
420452
  gitRepo: envInfo.isGit,
420446
420453
  terminal: env2.terminal,
420447
- version: "1.78.10",
420454
+ version: "1.78.11",
420448
420455
  transcript: normalizeMessagesForAPI(messages),
420449
420456
  errors: sanitizedErrors,
420450
420457
  lastApiRequest: getLastAPIRequest(),
@@ -420636,7 +420643,7 @@ function Feedback({
420636
420643
  ", ",
420637
420644
  env2.terminal,
420638
420645
  ", v",
420639
- "1.78.10"
420646
+ "1.78.11"
420640
420647
  ]
420641
420648
  }, undefined, true, undefined, this)
420642
420649
  ]
@@ -420742,7 +420749,7 @@ ${sanitizedDescription}
420742
420749
  ` + `**Environment Info**
420743
420750
  ` + `- Platform: ${env2.platform}
420744
420751
  ` + `- Terminal: ${env2.terminal}
420745
- ` + `- Version: ${"1.78.10"}
420752
+ ` + `- Version: ${"1.78.11"}
420746
420753
  ` + `- Feedback ID: ${feedbackId}
420747
420754
  ` + `
420748
420755
  **Errors**
@@ -423852,7 +423859,7 @@ function buildPrimarySection() {
423852
423859
  }, undefined, false, undefined, this);
423853
423860
  return [{
423854
423861
  label: "Version",
423855
- value: "1.78.10"
423862
+ value: "1.78.11"
423856
423863
  }, {
423857
423864
  label: "Session name",
423858
423865
  value: nameValue
@@ -427234,7 +427241,7 @@ function Config({
427234
427241
  }
427235
427242
  }, undefined, false, undefined, this)
427236
427243
  }, undefined, false, undefined, this) : showSubmenu === "ChannelDowngrade" ? /* @__PURE__ */ jsx_dev_runtime179.jsxDEV(ChannelDowngradeDialog, {
427237
- currentVersion: "1.78.10",
427244
+ currentVersion: "1.78.11",
427238
427245
  onChoice: (choice) => {
427239
427246
  setShowSubmenu(null);
427240
427247
  setTabsHidden(false);
@@ -427246,7 +427253,7 @@ function Config({
427246
427253
  autoUpdatesChannel: "stable"
427247
427254
  };
427248
427255
  if (choice === "stay") {
427249
- newSettings.minimumVersion = "1.78.10";
427256
+ newSettings.minimumVersion = "1.78.11";
427250
427257
  }
427251
427258
  updateSettingsForSource("userSettings", newSettings);
427252
427259
  setSettingsData((prev_27) => ({
@@ -435310,7 +435317,7 @@ function HelpV2(t0) {
435310
435317
  let t6;
435311
435318
  if ($2[31] !== tabs) {
435312
435319
  t6 = /* @__PURE__ */ jsx_dev_runtime206.jsxDEV(Tabs, {
435313
- title: `UR v${"1.78.10"}`,
435320
+ title: `UR v${"1.78.11"}`,
435314
435321
  color: "professionalBlue",
435315
435322
  defaultTab: "general",
435316
435323
  children: tabs
@@ -436243,7 +436250,7 @@ function buildToolUseContext(tools, readFileStateCache, toolPermissionContext, a
436243
436250
  async function handleInitialize(options2) {
436244
436251
  return {
436245
436252
  name: "UR",
436246
- version: "1.78.10",
436253
+ version: "1.78.11",
436247
436254
  protocolVersion: "0.1.0",
436248
436255
  workspaceRoot: options2.cwd,
436249
436256
  capabilities: {
@@ -453351,7 +453358,7 @@ function getAllReleaseNotes(changelogContent = getStoredChangelogFromMemory()) {
453351
453358
  return [];
453352
453359
  }
453353
453360
  }
453354
- async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.78.10") {
453361
+ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.78.11") {
453355
453362
  if (process.env.USER_TYPE === "ant") {
453356
453363
  const changelog = "";
453357
453364
  if (changelog) {
@@ -453378,7 +453385,7 @@ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.78.10")
453378
453385
  releaseNotes
453379
453386
  };
453380
453387
  }
453381
- function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.78.10") {
453388
+ function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.78.11") {
453382
453389
  if (process.env.USER_TYPE === "ant") {
453383
453390
  const changelog = "";
453384
453391
  if (changelog) {
@@ -456283,7 +456290,7 @@ function getRecentActivitySync() {
456283
456290
  return cachedActivity;
456284
456291
  }
456285
456292
  function getLogoDisplayData() {
456286
- const version2 = process.env.DEMO_VERSION ?? "1.78.10";
456293
+ const version2 = process.env.DEMO_VERSION ?? "1.78.11";
456287
456294
  const serverUrl = getDirectConnectServerUrl();
456288
456295
  const displayPath = process.env.DEMO_VERSION ? "/code/ur" : getDisplayPath(getCwd());
456289
456296
  const cwd2 = serverUrl ? `${displayPath} in ${serverUrl.replace(/^https?:\/\//, "")}` : displayPath;
@@ -457150,7 +457157,7 @@ function LogoV2() {
457150
457157
  if ($2[2] === Symbol.for("react.memo_cache_sentinel")) {
457151
457158
  t2 = () => {
457152
457159
  const currentConfig2 = getGlobalConfig();
457153
- if (currentConfig2.lastReleaseNotesSeen === "1.78.10") {
457160
+ if (currentConfig2.lastReleaseNotesSeen === "1.78.11") {
457154
457161
  return;
457155
457162
  }
457156
457163
  saveGlobalConfig(_temp325);
@@ -457835,12 +457842,12 @@ function LogoV2() {
457835
457842
  return t41;
457836
457843
  }
457837
457844
  function _temp325(current) {
457838
- if (current.lastReleaseNotesSeen === "1.78.10") {
457845
+ if (current.lastReleaseNotesSeen === "1.78.11") {
457839
457846
  return current;
457840
457847
  }
457841
457848
  return {
457842
457849
  ...current,
457843
- lastReleaseNotesSeen: "1.78.10"
457850
+ lastReleaseNotesSeen: "1.78.11"
457844
457851
  };
457845
457852
  }
457846
457853
  function _temp241(s_0) {
@@ -474677,7 +474684,7 @@ function compileAgenticCiWorkflow(specName = "default", options2 = {}) {
474677
474684
  if (spec.name !== specName) {
474678
474685
  throw new Error("Agentic CI workflow spec name does not match");
474679
474686
  }
474680
- const packageVersion = options2.packageVersion ?? (typeof MACRO !== "undefined" ? "1.78.10" : "1.78.10");
474687
+ const packageVersion = options2.packageVersion ?? (typeof MACRO !== "undefined" ? "1.78.11" : "1.78.11");
474681
474688
  if (!/^\d+\.\d+\.\d+(?:-[0-9A-Za-z.-]+)?$/.test(packageVersion)) {
474682
474689
  throw new Error("invalid ur-agent package version");
474683
474690
  }
@@ -475670,7 +475677,7 @@ runner; \`ur trigger\` is the inbound parser that decides what to run.
475670
475677
  path: ".github/workflows/ur.yml",
475671
475678
  root: "project",
475672
475679
  content: compileAgenticCiWorkflow("default", {
475673
- packageVersion: typeof MACRO !== "undefined" ? "1.78.10" : "1.78.10"
475680
+ packageVersion: typeof MACRO !== "undefined" ? "1.78.11" : "1.78.11"
475674
475681
  })
475675
475682
  },
475676
475683
  {
@@ -475733,7 +475740,7 @@ function value(tokens, flag) {
475733
475740
  return index2 >= 0 ? tokens[index2 + 1] : undefined;
475734
475741
  }
475735
475742
  function cliVersion() {
475736
- return typeof MACRO !== "undefined" ? "1.78.10" : "1.78.10";
475743
+ return typeof MACRO !== "undefined" ? "1.78.11" : "1.78.11";
475737
475744
  }
475738
475745
  function workflowPath(cwd2) {
475739
475746
  return join159(cwd2, ".github", "workflows", "ur-agentic-ci.yml");
@@ -481589,7 +481596,7 @@ function createAcpStdioApp(deps) {
481589
481596
  }
481590
481597
  },
481591
481598
  authMethods: [],
481592
- agentInfo: { name: "UR-Nexus", version: "1.78.10" }
481599
+ agentInfo: { name: "UR-Nexus", version: "1.78.11" }
481593
481600
  })).onRequest("authenticate", () => ({})).onRequest("session/new", async (context6) => {
481594
481601
  const result = runtime2.newSession(context6.params.cwd, context6.params.mcpServers, context6.params.additionalDirectories);
481595
481602
  await runtime2.announce({
@@ -481686,7 +481693,7 @@ function createAcpStdioAgent(deps) {
481686
481693
  }
481687
481694
  },
481688
481695
  authMethods: [],
481689
- agentInfo: { name: "UR-Nexus", version: "1.78.10" }
481696
+ agentInfo: { name: "UR-Nexus", version: "1.78.11" }
481690
481697
  });
481691
481698
  return;
481692
481699
  case "authenticate":
@@ -505317,7 +505324,7 @@ var init_code_index2 = __esm(() => {
505317
505324
 
505318
505325
  // node_modules/typescript/lib/typescript.js
505319
505326
  var require_typescript3 = __commonJS((exports, module) => {
505320
- var __dirname = "/Users/maith/Desktop/ur3-dev/UR-1.65.0/node_modules/typescript/lib", __filename = "/Users/maith/Desktop/ur3-dev/UR-1.65.0/node_modules/typescript/lib/typescript.js";
505327
+ var __dirname = "/home/runner/work/UR/UR/node_modules/typescript/lib", __filename = "/home/runner/work/UR/UR/node_modules/typescript/lib/typescript.js";
505321
505328
  /*! *****************************************************************************
505322
505329
  Copyright (c) Microsoft Corporation. All rights reserved.
505323
505330
  Licensed under the Apache License, Version 2.0 (the "License"); you may not use
@@ -691308,7 +691315,7 @@ async function captureMemoryDiagnostics(trigger2, dumpNumber = 0) {
691308
691315
  smapsRollup,
691309
691316
  platform: process.platform,
691310
691317
  nodeVersion: process.version,
691311
- ccVersion: "1.78.10"
691318
+ ccVersion: "1.78.11"
691312
691319
  };
691313
691320
  }
691314
691321
  async function performHeapDump(trigger2 = "manual", dumpNumber = 0) {
@@ -691888,7 +691895,7 @@ var init_bridge_kick = __esm(() => {
691888
691895
  var call154 = async () => {
691889
691896
  return {
691890
691897
  type: "text",
691891
- value: "1.78.10"
691898
+ value: "1.78.11"
691892
691899
  };
691893
691900
  }, version2, version_default;
691894
691901
  var init_version = __esm(() => {
@@ -703155,7 +703162,7 @@ function generateHtmlReport(data, insights) {
703155
703162
  </html>`;
703156
703163
  }
703157
703164
  function buildExportData(data, insights, facets, remoteStats) {
703158
- const version3 = typeof MACRO !== "undefined" ? "1.78.10" : "unknown";
703165
+ const version3 = typeof MACRO !== "undefined" ? "1.78.11" : "unknown";
703159
703166
  const remote_hosts_collected = remoteStats?.hosts.filter((h2) => h2.sessionCount > 0).map((h2) => h2.name);
703160
703167
  const facets_summary = {
703161
703168
  total: facets.size,
@@ -707469,7 +707476,7 @@ var init_sessionStorage = __esm(() => {
707469
707476
  init_settings2();
707470
707477
  init_slowOperations();
707471
707478
  init_uuid();
707472
- VERSION7 = typeof MACRO !== "undefined" ? "1.78.10" : "unknown";
707479
+ VERSION7 = typeof MACRO !== "undefined" ? "1.78.11" : "unknown";
707473
707480
  MAX_TOMBSTONE_REWRITE_BYTES = 50 * 1024 * 1024;
707474
707481
  SKIP_FIRST_PROMPT_PATTERN = /^(?:\s*<[a-z][\w-]*[\s>]|\[Request interrupted by user[^\]]*\])/;
707475
707482
  EPHEMERAL_PROGRESS_TYPES = new Set([
@@ -708684,7 +708691,7 @@ var init_filesystem = __esm(() => {
708684
708691
  });
708685
708692
  getBundledSkillsRoot = memoize_default(function getBundledSkillsRoot2() {
708686
708693
  const nonce = randomBytes20(16).toString("hex");
708687
- return join232(getURTempDir(), "bundled-skills", "1.78.10", nonce);
708694
+ return join232(getURTempDir(), "bundled-skills", "1.78.11", nonce);
708688
708695
  });
708689
708696
  getResolvedWorkingDirPaths = memoize_default(getPathsForPermissionCheck);
708690
708697
  });
@@ -715059,7 +715066,7 @@ function computeFingerprint(messageText2, version3) {
715059
715066
  }
715060
715067
  function computeFingerprintFromMessages(messages) {
715061
715068
  const firstMessageText = extractFirstMessageText(messages);
715062
- return computeFingerprint(firstMessageText, "1.78.10");
715069
+ return computeFingerprint(firstMessageText, "1.78.11");
715063
715070
  }
715064
715071
  var FINGERPRINT_SALT = "59cf53e54c78";
715065
715072
  var init_fingerprint = () => {};
@@ -716981,7 +716988,7 @@ async function sideQuery(opts) {
716981
716988
  betas.push(STRUCTURED_OUTPUTS_BETA_HEADER);
716982
716989
  }
716983
716990
  const messageText2 = extractFirstUserMessageText(messages);
716984
- const fingerprint2 = computeFingerprint(messageText2, "1.78.10");
716991
+ const fingerprint2 = computeFingerprint(messageText2, "1.78.11");
716985
716992
  const attributionHeader = getAttributionHeader(fingerprint2);
716986
716993
  const systemBlocks = [
716987
716994
  attributionHeader ? { type: "text", text: attributionHeader } : null,
@@ -721818,7 +721825,7 @@ function buildSystemInitMessage(inputs) {
721818
721825
  slash_commands: inputs.commands.filter((c4) => c4.userInvocable !== false).map((c4) => c4.name),
721819
721826
  apiKeySource: getURHQApiKeyWithSource().source,
721820
721827
  betas: getSdkBetas(),
721821
- ur_version: "1.78.10",
721828
+ ur_version: "1.78.11",
721822
721829
  output_style: outputStyle2,
721823
721830
  agents: inputs.agents.map((agent2) => agent2.agentType),
721824
721831
  skills: inputs.skills.filter((s) => s.userInvocable !== false).map((skill2) => skill2.name),
@@ -735690,7 +735697,7 @@ var init_useVoiceEnabled = __esm(() => {
735690
735697
  function getSemverPart(version3) {
735691
735698
  return `${import_semver13.major(version3, { loose: true })}.${import_semver13.minor(version3, { loose: true })}.${import_semver13.patch(version3, { loose: true })}`;
735692
735699
  }
735693
- function useUpdateNotification(updatedVersion, initialVersion = "1.78.10") {
735700
+ function useUpdateNotification(updatedVersion, initialVersion = "1.78.11") {
735694
735701
  const [lastNotifiedSemver, setLastNotifiedSemver] = import_react224.useState(() => getSemverPart(initialVersion));
735695
735702
  if (!updatedVersion) {
735696
735703
  return null;
@@ -735739,7 +735746,7 @@ function AutoUpdater({
735739
735746
  return;
735740
735747
  }
735741
735748
  if (false) {}
735742
- const currentVersion = "1.78.10";
735749
+ const currentVersion = "1.78.11";
735743
735750
  const channel = getInitialSettings()?.autoUpdatesChannel ?? "latest";
735744
735751
  let latestVersion = await getLatestVersion(channel);
735745
735752
  const isDisabled = isAutoUpdaterDisabled();
@@ -735968,12 +735975,12 @@ function NativeAutoUpdater({
735968
735975
  logEvent("tengu_native_auto_updater_start", {});
735969
735976
  try {
735970
735977
  const maxVersion = await getMaxVersion();
735971
- if (maxVersion && gt("1.78.10", maxVersion)) {
735978
+ if (maxVersion && gt("1.78.11", maxVersion)) {
735972
735979
  const msg = await getMaxVersionMessage();
735973
735980
  setMaxVersionIssue(msg ?? "affects your version");
735974
735981
  }
735975
735982
  const result = await installLatest(channel);
735976
- const currentVersion = "1.78.10";
735983
+ const currentVersion = "1.78.11";
735977
735984
  const latencyMs = Date.now() - startTime;
735978
735985
  if (result.lockFailed) {
735979
735986
  logEvent("tengu_native_auto_updater_lock_contention", {
@@ -736110,17 +736117,17 @@ function PackageManagerAutoUpdater(t0) {
736110
736117
  const maxVersion = await getMaxVersion();
736111
736118
  if (maxVersion && latest && gt(latest, maxVersion)) {
736112
736119
  logForDebugging(`PackageManagerAutoUpdater: maxVersion ${maxVersion} is set, capping update from ${latest} to ${maxVersion}`);
736113
- if (gte("1.78.10", maxVersion)) {
736114
- logForDebugging(`PackageManagerAutoUpdater: current version ${"1.78.10"} is already at or above maxVersion ${maxVersion}, skipping update`);
736120
+ if (gte("1.78.11", maxVersion)) {
736121
+ logForDebugging(`PackageManagerAutoUpdater: current version ${"1.78.11"} is already at or above maxVersion ${maxVersion}, skipping update`);
736115
736122
  setUpdateAvailable(false);
736116
736123
  return;
736117
736124
  }
736118
736125
  latest = maxVersion;
736119
736126
  }
736120
- const hasUpdate = latest && !gte("1.78.10", latest) && !shouldSkipVersion(latest);
736127
+ const hasUpdate = latest && !gte("1.78.11", latest) && !shouldSkipVersion(latest);
736121
736128
  setUpdateAvailable(!!hasUpdate);
736122
736129
  if (hasUpdate) {
736123
- logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.78.10"} -> ${latest}`);
736130
+ logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.78.11"} -> ${latest}`);
736124
736131
  }
736125
736132
  };
736126
736133
  $2[0] = t1;
@@ -736154,7 +736161,7 @@ function PackageManagerAutoUpdater(t0) {
736154
736161
  wrap: "truncate",
736155
736162
  children: [
736156
736163
  "currentVersion: ",
736157
- "1.78.10"
736164
+ "1.78.11"
736158
736165
  ]
736159
736166
  }, undefined, true, undefined, this);
736160
736167
  $2[3] = verbose;
@@ -746954,7 +746961,7 @@ function buildStatusLineCommandInput(permissionMode, exceeds200kTokens, settings
746954
746961
  project_dir: getOriginalCwd(),
746955
746962
  added_dirs: addedDirs
746956
746963
  },
746957
- version: "1.78.10",
746964
+ version: "1.78.11",
746958
746965
  output_style: {
746959
746966
  name: outputStyleName
746960
746967
  },
@@ -747089,7 +747096,7 @@ function StatusLineInner({
747089
747096
  const attention = customStatusError ?? taskAttention;
747090
747097
  const terminalSize = React133.useContext(TerminalSizeContext);
747091
747098
  const defaultStatusLineText = buildDefaultStatusBar({
747092
- version: "1.78.10",
747099
+ version: "1.78.11",
747093
747100
  providerLabel: providerRuntime.providerLabel,
747094
747101
  authMode: providerRuntime.authLabel,
747095
747102
  model: renderModelName(mainLoopModel) || providerRuntime.model || "",
@@ -757092,6 +757099,9 @@ function getTaskStatusCounts(tasks2, unresolvedIds) {
757092
757099
  }
757093
757100
  return counts;
757094
757101
  }
757102
+ function isTaskPlanningPlaceholder(tasks2) {
757103
+ return tasks2.length === 1 && isAutomaticPromptTask(tasks2[0]);
757104
+ }
757095
757105
  function TaskListV2({
757096
757106
  tasks: tasks2,
757097
757107
  isStandalone = false
@@ -757146,6 +757156,22 @@ function TaskListV2({
757146
757156
  if (tasks2.length === 0) {
757147
757157
  return null;
757148
757158
  }
757159
+ if (isTaskPlanningPlaceholder(tasks2)) {
757160
+ const planningState = /* @__PURE__ */ jsx_dev_runtime431.jsxDEV(ThemedText, {
757161
+ dimColor: true,
757162
+ children: [
757163
+ figures_default.ellipsis,
757164
+ " Planning tasks"
757165
+ ]
757166
+ }, undefined, true, undefined, this);
757167
+ return isStandalone ? /* @__PURE__ */ jsx_dev_runtime431.jsxDEV(ThemedBox_default, {
757168
+ marginTop: 1,
757169
+ marginLeft: 2,
757170
+ children: planningState
757171
+ }, undefined, false, undefined, this) : /* @__PURE__ */ jsx_dev_runtime431.jsxDEV(ThemedBox_default, {
757172
+ children: planningState
757173
+ }, undefined, false, undefined, this);
757174
+ }
757149
757175
  const teammateColors = {};
757150
757176
  if (isAgentSwarmsEnabled() && teamContext?.teammates) {
757151
757177
  for (const teammate of Object.values(teamContext.teammates)) {
@@ -759411,7 +759437,7 @@ async function submitTranscriptShare(messages, trigger2, appearanceId) {
759411
759437
  } catch {}
759412
759438
  const data = {
759413
759439
  trigger: trigger2,
759414
- version: "1.78.10",
759440
+ version: "1.78.11",
759415
759441
  platform: process.platform,
759416
759442
  transcript,
759417
759443
  subagentTranscripts: Object.keys(subagentTranscripts).length > 0 ? subagentTranscripts : undefined,
@@ -771791,7 +771817,7 @@ function WelcomeV2() {
771791
771817
  dimColor: true,
771792
771818
  children: [
771793
771819
  "v",
771794
- "1.78.10"
771820
+ "1.78.11"
771795
771821
  ]
771796
771822
  }, undefined, true, undefined, this)
771797
771823
  ]
@@ -773051,7 +773077,7 @@ function completeOnboarding() {
773051
773077
  saveGlobalConfig((current) => ({
773052
773078
  ...current,
773053
773079
  hasCompletedOnboarding: true,
773054
- lastOnboardingVersion: "1.78.10"
773080
+ lastOnboardingVersion: "1.78.11"
773055
773081
  }));
773056
773082
  }
773057
773083
  function showDialog(root2, renderer) {
@@ -778095,7 +778121,7 @@ function appendToLog(path24, message) {
778095
778121
  cwd: getFsImplementation().cwd(),
778096
778122
  userType: process.env.USER_TYPE,
778097
778123
  sessionId: getSessionId(),
778098
- version: "1.78.10"
778124
+ version: "1.78.11"
778099
778125
  };
778100
778126
  getLogWriter(path24).write(messageWithTimestamp);
778101
778127
  }
@@ -782254,8 +782280,8 @@ async function getEnvLessBridgeConfig() {
782254
782280
  }
782255
782281
  async function checkEnvLessBridgeMinVersion() {
782256
782282
  const cfg = await getEnvLessBridgeConfig();
782257
- if (cfg.min_version && lt("1.78.10", cfg.min_version)) {
782258
- return `Your version of UR (${"1.78.10"}) is too old for Remote Control.
782283
+ if (cfg.min_version && lt("1.78.11", cfg.min_version)) {
782284
+ return `Your version of UR (${"1.78.11"}) is too old for Remote Control.
782259
782285
  Version ${cfg.min_version} or higher is required. Run \`ur update\` to update.`;
782260
782286
  }
782261
782287
  return null;
@@ -782729,7 +782755,7 @@ async function initBridgeCore(params) {
782729
782755
  const rawApi = createBridgeApiClient({
782730
782756
  baseUrl,
782731
782757
  getAccessToken,
782732
- runnerVersion: "1.78.10",
782758
+ runnerVersion: "1.78.11",
782733
782759
  onDebug: logForDebugging,
782734
782760
  onAuth401,
782735
782761
  getTrustedDeviceToken
@@ -792202,7 +792228,7 @@ function getAgUiCapabilities() {
792202
792228
  name: "UR-Nexus",
792203
792229
  type: "ur-nexus",
792204
792230
  description: "Provider-flexible, local-first autonomous engineering workflow agent.",
792205
- version: "1.78.10",
792231
+ version: "1.78.11",
792206
792232
  provider: "UR",
792207
792233
  documentationUrl: "https://github.com/Maitham16/UR/blob/master/docs/AG_UI.md"
792208
792234
  },
@@ -793342,7 +793368,7 @@ function createMCPServer(cwd4, debug2, verbose) {
793342
793368
  };
793343
793369
  const server2 = new Server({
793344
793370
  name: "ur-nexus",
793345
- version: "1.78.10"
793371
+ version: "1.78.11"
793346
793372
  }, {
793347
793373
  capabilities: {
793348
793374
  tools: {}
@@ -794500,7 +794526,7 @@ function thrownResponse(error40) {
794500
794526
  }
794501
794527
  async function createUrMcp2026Runtime(options4) {
794502
794528
  const server2 = createMCPServer(options4.cwd, options4.debug === true, options4.verbose === true);
794503
- const client2 = new Client({ name: "ur-mcp-2026-adapter", version: "1.78.10" }, { capabilities: {} });
794529
+ const client2 = new Client({ name: "ur-mcp-2026-adapter", version: "1.78.11" }, { capabilities: {} });
794504
794530
  const [clientTransport, serverTransport] = createLinkedTransportPair();
794505
794531
  try {
794506
794532
  await server2.connect(serverTransport);
@@ -794511,7 +794537,7 @@ async function createUrMcp2026Runtime(options4) {
794511
794537
  }
794512
794538
  const runtime2 = new Mcp2026Runtime({
794513
794539
  cwd: options4.cwd,
794514
- version: "1.78.10",
794540
+ version: "1.78.11",
794515
794541
  backend: {
794516
794542
  listTools: async () => {
794517
794543
  const listed = await client2.listTools();
@@ -796652,7 +796678,7 @@ async function update() {
796652
796678
  logEvent("tengu_update_check", {});
796653
796679
  const diagnostic2 = await getDoctorDiagnostic();
796654
796680
  const result = await checkUpgradeStatus({
796655
- currentVersion: "1.78.10",
796681
+ currentVersion: "1.78.11",
796656
796682
  packageName: UR_AGENT_PACKAGE_NAME,
796657
796683
  installationType: diagnostic2.installationType,
796658
796684
  latestVersion: () => getLatestNpmPackageVersion(UR_AGENT_PACKAGE_NAME)
@@ -797968,7 +797994,7 @@ ${customInstructions}` : customInstructions;
797968
797994
  }
797969
797995
  }
797970
797996
  logForDiagnosticsNoPII("info", "started", {
797971
- version: "1.78.10",
797997
+ version: "1.78.11",
797972
797998
  is_native_binary: isInBundledMode()
797973
797999
  });
797974
798000
  registerCleanup(async () => {
@@ -798754,7 +798780,7 @@ Usage: ur --remote "your task description"`, () => gracefulShutdown(1));
798754
798780
  pendingHookMessages
798755
798781
  }, renderAndRun);
798756
798782
  }
798757
- }).version("1.78.10 (UR-Nexus)", "-v, --version", "Output the version number");
798783
+ }).version("1.78.11 (UR-Nexus)", "-v, --version", "Output the version number");
798758
798784
  program2.option("-w, --worktree [name]", "Create a new git worktree for this session (optionally specify a name)");
798759
798785
  program2.option("--tmux", "Create a tmux session for the worktree (requires --worktree). Uses iTerm2 native panes when available; use --tmux=classic for traditional tmux.");
798760
798786
  if (canUserConfigureAdvisor()) {
@@ -799806,7 +799832,7 @@ if (false) {}
799806
799832
  async function main2() {
799807
799833
  const args = process.argv.slice(2);
799808
799834
  if (args.length === 1 && (args[0] === "--version" || args[0] === "-v" || args[0] === "-V")) {
799809
- console.log(`${"1.78.10"} (UR-Nexus)`);
799835
+ console.log(`${"1.78.11"} (UR-Nexus)`);
799810
799836
  return;
799811
799837
  }
799812
799838
  if (args[0] === "a2a" && args[1] === "serve" && !args.includes("--help") && !args.includes("-h")) {
package/docs/USAGE.md CHANGED
@@ -390,15 +390,16 @@ in dependency order. `ur exec` materializes this graph deterministically; the
390
390
  interactive agent follows the same lifecycle and its task/agent tools enforce
391
391
  the concurrency boundary.
392
392
 
393
- A new actionable work board is seeded immediately. If the model creates
394
- explicit subtasks, its first `TaskCreate` atomically replaces that seed instead
395
- of duplicating it. A successful simple turn completes the seed automatically.
396
- Replies such as corrections, approvals, and interruptions reuse the current
397
- seed or explicit unfinished board; the raw reply is not copied into a new task
398
- row. The agent reconciles and updates the relevant work rather than starting
399
- empty. A terminal board is archived only when the next prompt is genuinely new
400
- work; a corrective follow-up reopens the existing automatic task without
401
- renaming it.
393
+ A work board is seeded immediately. Before the model names concrete work, the
394
+ UI shows a neutral `Planning tasks…` state—not the prompt and not a misleading
395
+ one-task counter. The seed stores no prompt text. If the model creates explicit
396
+ subtasks, its first `TaskCreate` atomically replaces that seed instead of
397
+ duplicating it. A successful simple turn completes the seed automatically.
398
+ Replies such as corrections (including `no` / `still` feedback), approvals,
399
+ and interruptions reuse the current seed or explicit unfinished board. The
400
+ agent reconciles and updates the relevant work rather than starting empty. A
401
+ terminal board is archived only when the next prompt is genuinely new work; a
402
+ corrective follow-up reopens the existing automatic task without renaming it.
402
403
 
403
404
  Independent read-only tasks can run in parallel. A task that may write to the
404
405
  shared checkout is serialized with other possible writers, even when it comes
@@ -19,7 +19,7 @@ You need:
19
19
 
20
20
  ```sh
21
21
  ur --version
22
- # expected for this release: "1.78.10 (UR-Nexus)"
22
+ # expected for this release: "1.78.11 (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.78.10</p>
48
+ <p class="eyebrow">Version 1.78.11</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.78.10"
10
+ version = "1.78.11"
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.78.10",
5
+ "version": "1.78.11",
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.78.10",
3
+ "version": "1.78.11",
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",