ur-agent 1.78.10 → 1.78.13

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,41 @@
1
1
  # Changelog
2
2
 
3
- ## 1.78.10
3
+ ## 1.78.13
4
+
5
+ - The release workflow now publishes its downloaded tarball with an explicit
6
+ `./dist-release/...` filesystem path. npm interpreted the previous bare
7
+ `dist-release/...` value as GitHub shorthand and attempted to clone
8
+ `github.com/dist-release/ur-agent-<version>.tgz` over SSH even though the
9
+ verified artifact existed. A release-readiness regression assertion prevents
10
+ the local-path prefix from being removed again.
11
+
12
+ ## 1.78.12
13
+
14
+ - Completed or failed automatic `Planning tasks` seeds no longer remain in the
15
+ task panel or status bar after a simple turn finishes. Pending and
16
+ in-progress seeds remain visible for honest interruption recovery, while the
17
+ terminal snapshot stays internal so a corrective follow-up can reopen it
18
+ without turning the user's reply into a task title.
19
+ - The active checkout now keeps benchmark evidence only for its current
20
+ package version. Superseded 1.37.2 result snapshots, an obsolete release
21
+ audit, and a superseded root IDE design draft were removed; the benchmark
22
+ guide now derives comparison paths from `package.json`. Historical evidence
23
+ remains available from immutable Git tags and releases instead of being
24
+ duplicated in the current tree.
25
+ - Release publication now preflights `NPM_TOKEN` before creating a GitHub
26
+ Release whenever the version is not already on npm. A missing credential
27
+ fails the workflow explicitly instead of reporting success after publishing
28
+ only half of the release, and release-readiness tests lock in the dependency
29
+ ordering.
30
+ - Repository maintenance removed stale generated archives, caches, logs,
31
+ duplicate/FUSE/Finder files, abandoned worktree records, redundant local
32
+ helper branches, and unreachable Git objects. Remote branches, tags, and all
33
+ reachable history are preserved. The safety-matrix executable guard now
34
+ compares canonical paths, so `bun run safety:matrix -- --check` still runs
35
+ under Bun when `argv[1]` is relative, and benchmark schema tests no longer
36
+ depend on a deleted historical placeholder.
37
+
38
+ ## 1.78.11
4
39
 
5
40
  - Provider-reported context overflow now triggers one bounded automatic
6
41
  compaction-and-retry in the shipped build instead of immediately showing
@@ -23,12 +58,14 @@
23
58
  `UR_STREAM_IDLE_TIMEOUT_MS`; remote sessions and cloud non-streaming fallback
24
59
  keep their two-minute bounds, and real dead streams still terminate.
25
60
 
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.
61
+ - A new work board appears immediately, even before a model emits `TaskCreate`.
62
+ Its internal seed now renders as a neutral `Planning tasks…` state and never
63
+ stores or flashes the user's prompt as a task title or description. The first
64
+ explicit model task atomically replaces that seed, so parallel creation does
65
+ not duplicate or lose work. Corrective replies—including `no` / `still`
66
+ feedback—and interruptions resume the existing seed or explicit unfinished
67
+ board. A successful simple turn completes its seed; an aborted turn leaves it
68
+ pending for honest recovery.
32
69
  - User interruptions no longer archive pending or in-progress tasks into an
33
70
  apparently empty list. The next prompt advances the generation while keeping
34
71
  unfinished work visible and instructs the agent to reconcile, update relevant
package/RELEASE.md CHANGED
@@ -90,6 +90,15 @@ GitHub Actions publishes the exact tarball that passes the release workflow.
90
90
  Do not run `npm publish` separately and do not create a tag before the release
91
91
  commit is on the remote branch.
92
92
 
93
+ The repository secret `NPM_TOKEN` must be configured before tagging a version
94
+ that is not already published. The workflow checks this before it creates the
95
+ GitHub Release, preventing a partial GitHub-only release from being reported as
96
+ successful. Treat a failed credential preflight as a release blocker; configure
97
+ the secret and re-run the same immutable tag rather than publishing manually.
98
+ The npm publish step uses `./dist-release/<tarball>.tgz`: the explicit relative
99
+ path marker prevents npm from interpreting the artifact name as GitHub
100
+ `owner/repository` shorthand.
101
+
93
102
  Only after every check passes, commit the complete release and push it:
94
103
 
95
104
  ```bash
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.13"}`;
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.13"} (${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.13"}${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.13",
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.13".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.13",
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.13"
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.13");
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.13", 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.13"}.${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.13");
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.13"
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.13").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.13").startSpan(operation, { kind: import_api10.SpanKind.INTERNAL, attributes });
157264
157264
  }
157265
157265
  function endGenAiMemorySpan(span, options2 = {}) {
157266
157266
  try {
@@ -159299,7 +159299,9 @@ __export(exports_tasks, {
159299
159299
  listTasks: () => listTasks,
159300
159300
  listTaskHistory: () => listTaskHistory,
159301
159301
  isTodoV2Enabled: () => isTodoV2Enabled,
159302
+ isTaskVisibleInActiveBoard: () => isTaskVisibleInActiveBoard,
159302
159303
  isTaskListFullyCompleted: () => isTaskListFullyCompleted,
159304
+ isAutomaticPromptTask: () => isAutomaticPromptTask,
159303
159305
  inspectTaskListForGate: () => inspectTaskListForGate,
159304
159306
  getTasksDir: () => getTasksDir,
159305
159307
  getTaskPath: () => getTaskPath,
@@ -159319,7 +159321,10 @@ __export(exports_tasks, {
159319
159321
  TaskStatusSchema: () => TaskStatusSchema2,
159320
159322
  TaskSchema: () => TaskSchema2,
159321
159323
  TASK_STATUSES: () => TASK_STATUSES,
159322
- DEFAULT_TASKS_MODE_TASK_LIST_ID: () => DEFAULT_TASKS_MODE_TASK_LIST_ID
159324
+ DEFAULT_TASKS_MODE_TASK_LIST_ID: () => DEFAULT_TASKS_MODE_TASK_LIST_ID,
159325
+ AUTOMATIC_PROMPT_TASK_SUBJECT: () => AUTOMATIC_PROMPT_TASK_SUBJECT,
159326
+ AUTOMATIC_PROMPT_TASK_DESCRIPTION: () => AUTOMATIC_PROMPT_TASK_DESCRIPTION,
159327
+ AUTOMATIC_PROMPT_TASK_ACTIVE_FORM: () => AUTOMATIC_PROMPT_TASK_ACTIVE_FORM
159323
159328
  });
159324
159329
  import {
159325
159330
  mkdir as mkdir6,
@@ -159350,6 +159355,12 @@ function notifyTasksUpdated() {
159350
159355
  tasksUpdated.emit();
159351
159356
  } catch {}
159352
159357
  }
159358
+ function isAutomaticPromptTask(task) {
159359
+ return task.metadata?.[AUTOMATIC_PROMPT_TASK_KEY] === true;
159360
+ }
159361
+ function isTaskVisibleInActiveBoard(task) {
159362
+ return !isAutomaticPromptTask(task) || task.status === "pending" || task.status === "in_progress";
159363
+ }
159353
159364
  function parseNumericTaskId(value) {
159354
159365
  if (!/^\d+$/u.test(value))
159355
159366
  return null;
@@ -159653,10 +159664,7 @@ async function createTaskForRun(taskListId, generationId, taskData, options2 = {
159653
159664
  notifyTasksUpdated();
159654
159665
  return id;
159655
159666
  }
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)}...`;
159667
+ async function createAutomaticPromptTaskForRun(taskListId, generationId, _prompt, options2 = {}) {
159660
159668
  const taskId = await withTaskListLock(taskListId, async () => {
159661
159669
  await establishTaskListGenerationUnsafe(taskListId, generationId, {
159662
159670
  appendToCurrent: options2.reuseExistingBoard
@@ -159666,6 +159674,9 @@ async function createAutomaticPromptTaskForRun(taskListId, generationId, prompt,
159666
159674
  if (resumableAutomaticTask) {
159667
159675
  await writeTaskSnapshotUnsafe(taskListId, {
159668
159676
  ...resumableAutomaticTask,
159677
+ subject: AUTOMATIC_PROMPT_TASK_SUBJECT,
159678
+ description: AUTOMATIC_PROMPT_TASK_DESCRIPTION,
159679
+ activeForm: AUTOMATIC_PROMPT_TASK_ACTIVE_FORM,
159669
159680
  status: "in_progress",
159670
159681
  metadata: {
159671
159682
  ...resumableAutomaticTask.metadata,
@@ -159679,9 +159690,9 @@ async function createAutomaticPromptTaskForRun(taskListId, generationId, prompt,
159679
159690
  return;
159680
159691
  }
159681
159692
  return allocateTaskSnapshotUnsafe(taskListId, {
159682
- subject,
159683
- description,
159684
- activeForm: "Working on user request",
159693
+ subject: AUTOMATIC_PROMPT_TASK_SUBJECT,
159694
+ description: AUTOMATIC_PROMPT_TASK_DESCRIPTION,
159695
+ activeForm: AUTOMATIC_PROMPT_TASK_ACTIVE_FORM,
159685
159696
  status: "in_progress",
159686
159697
  owner: undefined,
159687
159698
  blocks: [],
@@ -160282,7 +160293,7 @@ async function unassignTeammateTasks(teamName, teammateId, teammateName, reason)
160282
160293
  notificationMessage
160283
160294
  };
160284
160295
  }
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";
160296
+ 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
160297
  var init_tasks = __esm(() => {
160287
160298
  init_v4();
160288
160299
  init_state();
@@ -250990,7 +251001,7 @@ function getTelemetryAttributes() {
250990
251001
  attributes["session.id"] = sessionId;
250991
251002
  }
250992
251003
  if (shouldIncludeAttribute("OTEL_METRICS_INCLUDE_VERSION")) {
250993
- attributes["app.version"] = "1.78.10";
251004
+ attributes["app.version"] = "1.78.13";
250994
251005
  }
250995
251006
  const oauthAccount = getOauthAccountInfo();
250996
251007
  if (oauthAccount) {
@@ -297497,7 +297508,7 @@ function getInstallationEnv() {
297497
297508
  return;
297498
297509
  }
297499
297510
  function getURCodeVersion() {
297500
- return "1.78.10";
297511
+ return "1.78.13";
297501
297512
  }
297502
297513
  async function getInstalledVSCodeExtensionVersion(command) {
297503
297514
  const { stdout } = await execFileNoThrow(command, ["--list-extensions", "--show-versions"], {
@@ -304828,7 +304839,7 @@ async function setupSdkMcpClients(sdkMcpConfigs, sendMcpMessage) {
304828
304839
  const client2 = new Client({
304829
304840
  name: "ur",
304830
304841
  title: "UR",
304831
- version: "1.78.10",
304842
+ version: "1.78.13",
304832
304843
  description: "UR-Nexus autonomous engineering workflow engine",
304833
304844
  websiteUrl: PRODUCT_URL
304834
304845
  }, {
@@ -305188,7 +305199,7 @@ var init_client5 = __esm(() => {
305188
305199
  const client2 = new Client({
305189
305200
  name: "ur",
305190
305201
  title: "UR",
305191
- version: "1.78.10",
305202
+ version: "1.78.13",
305192
305203
  description: "UR-Nexus autonomous engineering workflow engine",
305193
305204
  websiteUrl: PRODUCT_URL
305194
305205
  }, {
@@ -317909,7 +317920,7 @@ async function createRuntime() {
317909
317920
  bootstrapTelemetry();
317910
317921
  const resource = defaultResource().merge(detectResources({ detectors: [envDetector] })).merge(resourceFromAttributes({
317911
317922
  [import_semantic_conventions7.ATTR_SERVICE_NAME]: "ur-agent",
317912
- [import_semantic_conventions7.ATTR_SERVICE_VERSION]: "1.78.10"
317923
+ [import_semantic_conventions7.ATTR_SERVICE_VERSION]: "1.78.13"
317913
317924
  }));
317914
317925
  const tracerProvider = exporters.traces.length > 0 ? new BasicTracerProvider({
317915
317926
  resource,
@@ -317942,11 +317953,11 @@ async function createRuntime() {
317942
317953
  setMeterProvider(meterProvider);
317943
317954
  setLoggerProvider(loggerProvider);
317944
317955
  if (meterProvider) {
317945
- const meter = meterProvider.getMeter("ur-agent", "1.78.10");
317956
+ const meter = meterProvider.getMeter("ur-agent", "1.78.13");
317946
317957
  setMeter(meter, (name, options2) => meter.createCounter(name, options2));
317947
317958
  }
317948
317959
  if (loggerProvider) {
317949
- setEventLogger(loggerProvider.getLogger("ur-agent.events", "1.78.10"));
317960
+ setEventLogger(loggerProvider.getLogger("ur-agent.events", "1.78.13"));
317950
317961
  }
317951
317962
  if (!cleanupRegistered2) {
317952
317963
  cleanupRegistered2 = true;
@@ -318608,9 +318619,9 @@ async function assertMinVersion() {
318608
318619
  if (false) {}
318609
318620
  try {
318610
318621
  const versionConfig = await getDynamicConfig_BLOCKS_ON_INIT("tengu_version_config", { minVersion: "0.0.0" });
318611
- if (versionConfig.minVersion && lt("1.78.10", versionConfig.minVersion)) {
318622
+ if (versionConfig.minVersion && lt("1.78.13", versionConfig.minVersion)) {
318612
318623
  console.error(`
318613
- It looks like your version of UR (${"1.78.10"}) needs an update.
318624
+ It looks like your version of UR (${"1.78.13"}) needs an update.
318614
318625
  A newer version (${versionConfig.minVersion} or higher) is required to continue.
318615
318626
 
318616
318627
  To update, please run:
@@ -318826,7 +318837,7 @@ async function installGlobalPackage(specificVersion) {
318826
318837
  logError2(new AutoUpdaterError("Another process is currently installing an update"));
318827
318838
  logEvent("tengu_auto_updater_lock_contention", {
318828
318839
  pid: process.pid,
318829
- currentVersion: "1.78.10"
318840
+ currentVersion: "1.78.13"
318830
318841
  });
318831
318842
  return "in_progress";
318832
318843
  }
@@ -318835,7 +318846,7 @@ async function installGlobalPackage(specificVersion) {
318835
318846
  if (!env2.isRunningWithBun() && env2.isNpmFromWindowsPath()) {
318836
318847
  logError2(new Error("Windows NPM detected in WSL environment"));
318837
318848
  logEvent("tengu_auto_updater_windows_npm_in_wsl", {
318838
- currentVersion: "1.78.10"
318849
+ currentVersion: "1.78.13"
318839
318850
  });
318840
318851
  console.error(`
318841
318852
  Error: Windows NPM detected in WSL
@@ -319370,7 +319381,7 @@ function detectLinuxGlobPatternWarnings() {
319370
319381
  }
319371
319382
  async function getDoctorDiagnostic() {
319372
319383
  const installationType = await getCurrentInstallationType();
319373
- const version2 = typeof MACRO !== "undefined" ? "1.78.10" : "unknown";
319384
+ const version2 = typeof MACRO !== "undefined" ? "1.78.13" : "unknown";
319374
319385
  const installationPath = await getInstallationPath();
319375
319386
  const invokedBinary = getInvokedBinary();
319376
319387
  const multipleInstallations = await detectMultipleInstallations();
@@ -320305,8 +320316,8 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
320305
320316
  const maxVersion = await getMaxVersion();
320306
320317
  if (maxVersion && gt(version2, maxVersion)) {
320307
320318
  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`);
320319
+ if (gte("1.78.13", maxVersion)) {
320320
+ logForDebugging(`Native installer: current version ${"1.78.13"} is already at or above maxVersion ${maxVersion}, skipping update`);
320310
320321
  logEvent("tengu_native_update_skipped_max_version", {
320311
320322
  latency_ms: Date.now() - startTime,
320312
320323
  max_version: maxVersion,
@@ -320317,7 +320328,7 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
320317
320328
  version2 = maxVersion;
320318
320329
  }
320319
320330
  }
320320
- if (!forceReinstall && version2 === "1.78.10" && await versionIsAvailable(version2) && await isPossibleURBinary(executablePath)) {
320331
+ if (!forceReinstall && version2 === "1.78.13" && await versionIsAvailable(version2) && await isPossibleURBinary(executablePath)) {
320321
320332
  logForDebugging(`Found ${version2} at ${executablePath}, skipping install`);
320322
320333
  logEvent("tengu_native_update_complete", {
320323
320334
  latency_ms: Date.now() - startTime,
@@ -322244,7 +322255,7 @@ class TasksV2Store {
322244
322255
  #fetch = async () => {
322245
322256
  const taskListId = getTaskListId();
322246
322257
  this.#rewatch(getTasksDir(taskListId));
322247
- const current = (await listTasks(taskListId)).filter((t) => !t.metadata?._internal);
322258
+ const current = (await listTasks(taskListId)).filter((t) => !t.metadata?._internal && isTaskVisibleInActiveBoard(t));
322248
322259
  this.#tasks = current;
322249
322260
  const hasIncomplete = current.some((t) => t.status === "pending" || t.status === "in_progress");
322250
322261
  this.#hidden = current.length === 0;
@@ -379883,7 +379894,7 @@ function requestsRevisionOfCurrentTaskList(input) {
379883
379894
  const normalized = input.replace(/\s+/gu, " ").trim().toLowerCase();
379884
379895
  if (!normalized || normalized.length > 500)
379885
379896
  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);
379897
+ 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
379898
  }
379888
379899
  function shouldKeepCurrentTaskList(input) {
379889
379900
  return requestsAppendToCurrentTaskList(input) || requestsContinueCurrentTaskList(input) || requestsRevisionOfCurrentTaskList(input);
@@ -390155,7 +390166,7 @@ function isAnyTracingEnabled() {
390155
390166
  return isTelemetryEnabled() || isEnhancedTelemetryEnabled() || isBetaTracingEnabled();
390156
390167
  }
390157
390168
  function getTracer() {
390158
- return import_api39.trace.getTracer("ur-agent.gen_ai", "1.78.10");
390169
+ return import_api39.trace.getTracer("ur-agent.gen_ai", "1.78.13");
390159
390170
  }
390160
390171
  function createSpanAttributes(spanType, customAttributes = {}) {
390161
390172
  const baseAttributes = getTelemetryAttributes();
@@ -420444,7 +420455,7 @@ function Feedback({
420444
420455
  platform: env2.platform,
420445
420456
  gitRepo: envInfo.isGit,
420446
420457
  terminal: env2.terminal,
420447
- version: "1.78.10",
420458
+ version: "1.78.13",
420448
420459
  transcript: normalizeMessagesForAPI(messages),
420449
420460
  errors: sanitizedErrors,
420450
420461
  lastApiRequest: getLastAPIRequest(),
@@ -420636,7 +420647,7 @@ function Feedback({
420636
420647
  ", ",
420637
420648
  env2.terminal,
420638
420649
  ", v",
420639
- "1.78.10"
420650
+ "1.78.13"
420640
420651
  ]
420641
420652
  }, undefined, true, undefined, this)
420642
420653
  ]
@@ -420742,7 +420753,7 @@ ${sanitizedDescription}
420742
420753
  ` + `**Environment Info**
420743
420754
  ` + `- Platform: ${env2.platform}
420744
420755
  ` + `- Terminal: ${env2.terminal}
420745
- ` + `- Version: ${"1.78.10"}
420756
+ ` + `- Version: ${"1.78.13"}
420746
420757
  ` + `- Feedback ID: ${feedbackId}
420747
420758
  ` + `
420748
420759
  **Errors**
@@ -423852,7 +423863,7 @@ function buildPrimarySection() {
423852
423863
  }, undefined, false, undefined, this);
423853
423864
  return [{
423854
423865
  label: "Version",
423855
- value: "1.78.10"
423866
+ value: "1.78.13"
423856
423867
  }, {
423857
423868
  label: "Session name",
423858
423869
  value: nameValue
@@ -427234,7 +427245,7 @@ function Config({
427234
427245
  }
427235
427246
  }, undefined, false, undefined, this)
427236
427247
  }, undefined, false, undefined, this) : showSubmenu === "ChannelDowngrade" ? /* @__PURE__ */ jsx_dev_runtime179.jsxDEV(ChannelDowngradeDialog, {
427237
- currentVersion: "1.78.10",
427248
+ currentVersion: "1.78.13",
427238
427249
  onChoice: (choice) => {
427239
427250
  setShowSubmenu(null);
427240
427251
  setTabsHidden(false);
@@ -427246,7 +427257,7 @@ function Config({
427246
427257
  autoUpdatesChannel: "stable"
427247
427258
  };
427248
427259
  if (choice === "stay") {
427249
- newSettings.minimumVersion = "1.78.10";
427260
+ newSettings.minimumVersion = "1.78.13";
427250
427261
  }
427251
427262
  updateSettingsForSource("userSettings", newSettings);
427252
427263
  setSettingsData((prev_27) => ({
@@ -435310,7 +435321,7 @@ function HelpV2(t0) {
435310
435321
  let t6;
435311
435322
  if ($2[31] !== tabs) {
435312
435323
  t6 = /* @__PURE__ */ jsx_dev_runtime206.jsxDEV(Tabs, {
435313
- title: `UR v${"1.78.10"}`,
435324
+ title: `UR v${"1.78.13"}`,
435314
435325
  color: "professionalBlue",
435315
435326
  defaultTab: "general",
435316
435327
  children: tabs
@@ -436243,7 +436254,7 @@ function buildToolUseContext(tools, readFileStateCache, toolPermissionContext, a
436243
436254
  async function handleInitialize(options2) {
436244
436255
  return {
436245
436256
  name: "UR",
436246
- version: "1.78.10",
436257
+ version: "1.78.13",
436247
436258
  protocolVersion: "0.1.0",
436248
436259
  workspaceRoot: options2.cwd,
436249
436260
  capabilities: {
@@ -453351,7 +453362,7 @@ function getAllReleaseNotes(changelogContent = getStoredChangelogFromMemory()) {
453351
453362
  return [];
453352
453363
  }
453353
453364
  }
453354
- async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.78.10") {
453365
+ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.78.13") {
453355
453366
  if (process.env.USER_TYPE === "ant") {
453356
453367
  const changelog = "";
453357
453368
  if (changelog) {
@@ -453378,7 +453389,7 @@ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.78.10")
453378
453389
  releaseNotes
453379
453390
  };
453380
453391
  }
453381
- function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.78.10") {
453392
+ function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.78.13") {
453382
453393
  if (process.env.USER_TYPE === "ant") {
453383
453394
  const changelog = "";
453384
453395
  if (changelog) {
@@ -456283,7 +456294,7 @@ function getRecentActivitySync() {
456283
456294
  return cachedActivity;
456284
456295
  }
456285
456296
  function getLogoDisplayData() {
456286
- const version2 = process.env.DEMO_VERSION ?? "1.78.10";
456297
+ const version2 = process.env.DEMO_VERSION ?? "1.78.13";
456287
456298
  const serverUrl = getDirectConnectServerUrl();
456288
456299
  const displayPath = process.env.DEMO_VERSION ? "/code/ur" : getDisplayPath(getCwd());
456289
456300
  const cwd2 = serverUrl ? `${displayPath} in ${serverUrl.replace(/^https?:\/\//, "")}` : displayPath;
@@ -457150,7 +457161,7 @@ function LogoV2() {
457150
457161
  if ($2[2] === Symbol.for("react.memo_cache_sentinel")) {
457151
457162
  t2 = () => {
457152
457163
  const currentConfig2 = getGlobalConfig();
457153
- if (currentConfig2.lastReleaseNotesSeen === "1.78.10") {
457164
+ if (currentConfig2.lastReleaseNotesSeen === "1.78.13") {
457154
457165
  return;
457155
457166
  }
457156
457167
  saveGlobalConfig(_temp325);
@@ -457835,12 +457846,12 @@ function LogoV2() {
457835
457846
  return t41;
457836
457847
  }
457837
457848
  function _temp325(current) {
457838
- if (current.lastReleaseNotesSeen === "1.78.10") {
457849
+ if (current.lastReleaseNotesSeen === "1.78.13") {
457839
457850
  return current;
457840
457851
  }
457841
457852
  return {
457842
457853
  ...current,
457843
- lastReleaseNotesSeen: "1.78.10"
457854
+ lastReleaseNotesSeen: "1.78.13"
457844
457855
  };
457845
457856
  }
457846
457857
  function _temp241(s_0) {
@@ -474677,7 +474688,7 @@ function compileAgenticCiWorkflow(specName = "default", options2 = {}) {
474677
474688
  if (spec.name !== specName) {
474678
474689
  throw new Error("Agentic CI workflow spec name does not match");
474679
474690
  }
474680
- const packageVersion = options2.packageVersion ?? (typeof MACRO !== "undefined" ? "1.78.10" : "1.78.10");
474691
+ const packageVersion = options2.packageVersion ?? (typeof MACRO !== "undefined" ? "1.78.13" : "1.78.13");
474681
474692
  if (!/^\d+\.\d+\.\d+(?:-[0-9A-Za-z.-]+)?$/.test(packageVersion)) {
474682
474693
  throw new Error("invalid ur-agent package version");
474683
474694
  }
@@ -475670,7 +475681,7 @@ runner; \`ur trigger\` is the inbound parser that decides what to run.
475670
475681
  path: ".github/workflows/ur.yml",
475671
475682
  root: "project",
475672
475683
  content: compileAgenticCiWorkflow("default", {
475673
- packageVersion: typeof MACRO !== "undefined" ? "1.78.10" : "1.78.10"
475684
+ packageVersion: typeof MACRO !== "undefined" ? "1.78.13" : "1.78.13"
475674
475685
  })
475675
475686
  },
475676
475687
  {
@@ -475733,7 +475744,7 @@ function value(tokens, flag) {
475733
475744
  return index2 >= 0 ? tokens[index2 + 1] : undefined;
475734
475745
  }
475735
475746
  function cliVersion() {
475736
- return typeof MACRO !== "undefined" ? "1.78.10" : "1.78.10";
475747
+ return typeof MACRO !== "undefined" ? "1.78.13" : "1.78.13";
475737
475748
  }
475738
475749
  function workflowPath(cwd2) {
475739
475750
  return join159(cwd2, ".github", "workflows", "ur-agentic-ci.yml");
@@ -481589,7 +481600,7 @@ function createAcpStdioApp(deps) {
481589
481600
  }
481590
481601
  },
481591
481602
  authMethods: [],
481592
- agentInfo: { name: "UR-Nexus", version: "1.78.10" }
481603
+ agentInfo: { name: "UR-Nexus", version: "1.78.13" }
481593
481604
  })).onRequest("authenticate", () => ({})).onRequest("session/new", async (context6) => {
481594
481605
  const result = runtime2.newSession(context6.params.cwd, context6.params.mcpServers, context6.params.additionalDirectories);
481595
481606
  await runtime2.announce({
@@ -481686,7 +481697,7 @@ function createAcpStdioAgent(deps) {
481686
481697
  }
481687
481698
  },
481688
481699
  authMethods: [],
481689
- agentInfo: { name: "UR-Nexus", version: "1.78.10" }
481700
+ agentInfo: { name: "UR-Nexus", version: "1.78.13" }
481690
481701
  });
481691
481702
  return;
481692
481703
  case "authenticate":
@@ -505317,7 +505328,7 @@ var init_code_index2 = __esm(() => {
505317
505328
 
505318
505329
  // node_modules/typescript/lib/typescript.js
505319
505330
  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";
505331
+ var __dirname = "/Users/maith/Desktop/UR Agent/UR-1.78.11/node_modules/typescript/lib", __filename = "/Users/maith/Desktop/UR Agent/UR-1.78.11/node_modules/typescript/lib/typescript.js";
505321
505332
  /*! *****************************************************************************
505322
505333
  Copyright (c) Microsoft Corporation. All rights reserved.
505323
505334
  Licensed under the Apache License, Version 2.0 (the "License"); you may not use
@@ -691308,7 +691319,7 @@ async function captureMemoryDiagnostics(trigger2, dumpNumber = 0) {
691308
691319
  smapsRollup,
691309
691320
  platform: process.platform,
691310
691321
  nodeVersion: process.version,
691311
- ccVersion: "1.78.10"
691322
+ ccVersion: "1.78.13"
691312
691323
  };
691313
691324
  }
691314
691325
  async function performHeapDump(trigger2 = "manual", dumpNumber = 0) {
@@ -691888,7 +691899,7 @@ var init_bridge_kick = __esm(() => {
691888
691899
  var call154 = async () => {
691889
691900
  return {
691890
691901
  type: "text",
691891
- value: "1.78.10"
691902
+ value: "1.78.13"
691892
691903
  };
691893
691904
  }, version2, version_default;
691894
691905
  var init_version = __esm(() => {
@@ -703155,7 +703166,7 @@ function generateHtmlReport(data, insights) {
703155
703166
  </html>`;
703156
703167
  }
703157
703168
  function buildExportData(data, insights, facets, remoteStats) {
703158
- const version3 = typeof MACRO !== "undefined" ? "1.78.10" : "unknown";
703169
+ const version3 = typeof MACRO !== "undefined" ? "1.78.13" : "unknown";
703159
703170
  const remote_hosts_collected = remoteStats?.hosts.filter((h2) => h2.sessionCount > 0).map((h2) => h2.name);
703160
703171
  const facets_summary = {
703161
703172
  total: facets.size,
@@ -707469,7 +707480,7 @@ var init_sessionStorage = __esm(() => {
707469
707480
  init_settings2();
707470
707481
  init_slowOperations();
707471
707482
  init_uuid();
707472
- VERSION7 = typeof MACRO !== "undefined" ? "1.78.10" : "unknown";
707483
+ VERSION7 = typeof MACRO !== "undefined" ? "1.78.13" : "unknown";
707473
707484
  MAX_TOMBSTONE_REWRITE_BYTES = 50 * 1024 * 1024;
707474
707485
  SKIP_FIRST_PROMPT_PATTERN = /^(?:\s*<[a-z][\w-]*[\s>]|\[Request interrupted by user[^\]]*\])/;
707475
707486
  EPHEMERAL_PROGRESS_TYPES = new Set([
@@ -708684,7 +708695,7 @@ var init_filesystem = __esm(() => {
708684
708695
  });
708685
708696
  getBundledSkillsRoot = memoize_default(function getBundledSkillsRoot2() {
708686
708697
  const nonce = randomBytes20(16).toString("hex");
708687
- return join232(getURTempDir(), "bundled-skills", "1.78.10", nonce);
708698
+ return join232(getURTempDir(), "bundled-skills", "1.78.13", nonce);
708688
708699
  });
708689
708700
  getResolvedWorkingDirPaths = memoize_default(getPathsForPermissionCheck);
708690
708701
  });
@@ -715059,7 +715070,7 @@ function computeFingerprint(messageText2, version3) {
715059
715070
  }
715060
715071
  function computeFingerprintFromMessages(messages) {
715061
715072
  const firstMessageText = extractFirstMessageText(messages);
715062
- return computeFingerprint(firstMessageText, "1.78.10");
715073
+ return computeFingerprint(firstMessageText, "1.78.13");
715063
715074
  }
715064
715075
  var FINGERPRINT_SALT = "59cf53e54c78";
715065
715076
  var init_fingerprint = () => {};
@@ -716981,7 +716992,7 @@ async function sideQuery(opts) {
716981
716992
  betas.push(STRUCTURED_OUTPUTS_BETA_HEADER);
716982
716993
  }
716983
716994
  const messageText2 = extractFirstUserMessageText(messages);
716984
- const fingerprint2 = computeFingerprint(messageText2, "1.78.10");
716995
+ const fingerprint2 = computeFingerprint(messageText2, "1.78.13");
716985
716996
  const attributionHeader = getAttributionHeader(fingerprint2);
716986
716997
  const systemBlocks = [
716987
716998
  attributionHeader ? { type: "text", text: attributionHeader } : null,
@@ -721818,7 +721829,7 @@ function buildSystemInitMessage(inputs) {
721818
721829
  slash_commands: inputs.commands.filter((c4) => c4.userInvocable !== false).map((c4) => c4.name),
721819
721830
  apiKeySource: getURHQApiKeyWithSource().source,
721820
721831
  betas: getSdkBetas(),
721821
- ur_version: "1.78.10",
721832
+ ur_version: "1.78.13",
721822
721833
  output_style: outputStyle2,
721823
721834
  agents: inputs.agents.map((agent2) => agent2.agentType),
721824
721835
  skills: inputs.skills.filter((s) => s.userInvocable !== false).map((skill2) => skill2.name),
@@ -735690,7 +735701,7 @@ var init_useVoiceEnabled = __esm(() => {
735690
735701
  function getSemverPart(version3) {
735691
735702
  return `${import_semver13.major(version3, { loose: true })}.${import_semver13.minor(version3, { loose: true })}.${import_semver13.patch(version3, { loose: true })}`;
735692
735703
  }
735693
- function useUpdateNotification(updatedVersion, initialVersion = "1.78.10") {
735704
+ function useUpdateNotification(updatedVersion, initialVersion = "1.78.13") {
735694
735705
  const [lastNotifiedSemver, setLastNotifiedSemver] = import_react224.useState(() => getSemverPart(initialVersion));
735695
735706
  if (!updatedVersion) {
735696
735707
  return null;
@@ -735739,7 +735750,7 @@ function AutoUpdater({
735739
735750
  return;
735740
735751
  }
735741
735752
  if (false) {}
735742
- const currentVersion = "1.78.10";
735753
+ const currentVersion = "1.78.13";
735743
735754
  const channel = getInitialSettings()?.autoUpdatesChannel ?? "latest";
735744
735755
  let latestVersion = await getLatestVersion(channel);
735745
735756
  const isDisabled = isAutoUpdaterDisabled();
@@ -735968,12 +735979,12 @@ function NativeAutoUpdater({
735968
735979
  logEvent("tengu_native_auto_updater_start", {});
735969
735980
  try {
735970
735981
  const maxVersion = await getMaxVersion();
735971
- if (maxVersion && gt("1.78.10", maxVersion)) {
735982
+ if (maxVersion && gt("1.78.13", maxVersion)) {
735972
735983
  const msg = await getMaxVersionMessage();
735973
735984
  setMaxVersionIssue(msg ?? "affects your version");
735974
735985
  }
735975
735986
  const result = await installLatest(channel);
735976
- const currentVersion = "1.78.10";
735987
+ const currentVersion = "1.78.13";
735977
735988
  const latencyMs = Date.now() - startTime;
735978
735989
  if (result.lockFailed) {
735979
735990
  logEvent("tengu_native_auto_updater_lock_contention", {
@@ -736110,17 +736121,17 @@ function PackageManagerAutoUpdater(t0) {
736110
736121
  const maxVersion = await getMaxVersion();
736111
736122
  if (maxVersion && latest && gt(latest, maxVersion)) {
736112
736123
  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`);
736124
+ if (gte("1.78.13", maxVersion)) {
736125
+ logForDebugging(`PackageManagerAutoUpdater: current version ${"1.78.13"} is already at or above maxVersion ${maxVersion}, skipping update`);
736115
736126
  setUpdateAvailable(false);
736116
736127
  return;
736117
736128
  }
736118
736129
  latest = maxVersion;
736119
736130
  }
736120
- const hasUpdate = latest && !gte("1.78.10", latest) && !shouldSkipVersion(latest);
736131
+ const hasUpdate = latest && !gte("1.78.13", latest) && !shouldSkipVersion(latest);
736121
736132
  setUpdateAvailable(!!hasUpdate);
736122
736133
  if (hasUpdate) {
736123
- logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.78.10"} -> ${latest}`);
736134
+ logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.78.13"} -> ${latest}`);
736124
736135
  }
736125
736136
  };
736126
736137
  $2[0] = t1;
@@ -736154,7 +736165,7 @@ function PackageManagerAutoUpdater(t0) {
736154
736165
  wrap: "truncate",
736155
736166
  children: [
736156
736167
  "currentVersion: ",
736157
- "1.78.10"
736168
+ "1.78.13"
736158
736169
  ]
736159
736170
  }, undefined, true, undefined, this);
736160
736171
  $2[3] = verbose;
@@ -746954,7 +746965,7 @@ function buildStatusLineCommandInput(permissionMode, exceeds200kTokens, settings
746954
746965
  project_dir: getOriginalCwd(),
746955
746966
  added_dirs: addedDirs
746956
746967
  },
746957
- version: "1.78.10",
746968
+ version: "1.78.13",
746958
746969
  output_style: {
746959
746970
  name: outputStyleName
746960
746971
  },
@@ -747089,7 +747100,7 @@ function StatusLineInner({
747089
747100
  const attention = customStatusError ?? taskAttention;
747090
747101
  const terminalSize = React133.useContext(TerminalSizeContext);
747091
747102
  const defaultStatusLineText = buildDefaultStatusBar({
747092
- version: "1.78.10",
747103
+ version: "1.78.13",
747093
747104
  providerLabel: providerRuntime.providerLabel,
747094
747105
  authMode: providerRuntime.authLabel,
747095
747106
  model: renderModelName(mainLoopModel) || providerRuntime.model || "",
@@ -757092,6 +757103,9 @@ function getTaskStatusCounts(tasks2, unresolvedIds) {
757092
757103
  }
757093
757104
  return counts;
757094
757105
  }
757106
+ function isTaskPlanningPlaceholder(tasks2) {
757107
+ return tasks2.length === 1 && isAutomaticPromptTask(tasks2[0]) && isTaskVisibleInActiveBoard(tasks2[0]);
757108
+ }
757095
757109
  function TaskListV2({
757096
757110
  tasks: tasks2,
757097
757111
  isStandalone = false
@@ -757146,6 +757160,25 @@ function TaskListV2({
757146
757160
  if (tasks2.length === 0) {
757147
757161
  return null;
757148
757162
  }
757163
+ if (tasks2.every((task2) => !isTaskVisibleInActiveBoard(task2))) {
757164
+ return null;
757165
+ }
757166
+ if (isTaskPlanningPlaceholder(tasks2)) {
757167
+ const planningState = /* @__PURE__ */ jsx_dev_runtime431.jsxDEV(ThemedText, {
757168
+ dimColor: true,
757169
+ children: [
757170
+ figures_default.ellipsis,
757171
+ " Planning tasks"
757172
+ ]
757173
+ }, undefined, true, undefined, this);
757174
+ return isStandalone ? /* @__PURE__ */ jsx_dev_runtime431.jsxDEV(ThemedBox_default, {
757175
+ marginTop: 1,
757176
+ marginLeft: 2,
757177
+ children: planningState
757178
+ }, undefined, false, undefined, this) : /* @__PURE__ */ jsx_dev_runtime431.jsxDEV(ThemedBox_default, {
757179
+ children: planningState
757180
+ }, undefined, false, undefined, this);
757181
+ }
757149
757182
  const teammateColors = {};
757150
757183
  if (isAgentSwarmsEnabled() && teamContext?.teammates) {
757151
757184
  for (const teammate of Object.values(teamContext.teammates)) {
@@ -759411,7 +759444,7 @@ async function submitTranscriptShare(messages, trigger2, appearanceId) {
759411
759444
  } catch {}
759412
759445
  const data = {
759413
759446
  trigger: trigger2,
759414
- version: "1.78.10",
759447
+ version: "1.78.13",
759415
759448
  platform: process.platform,
759416
759449
  transcript,
759417
759450
  subagentTranscripts: Object.keys(subagentTranscripts).length > 0 ? subagentTranscripts : undefined,
@@ -771791,7 +771824,7 @@ function WelcomeV2() {
771791
771824
  dimColor: true,
771792
771825
  children: [
771793
771826
  "v",
771794
- "1.78.10"
771827
+ "1.78.13"
771795
771828
  ]
771796
771829
  }, undefined, true, undefined, this)
771797
771830
  ]
@@ -773051,7 +773084,7 @@ function completeOnboarding() {
773051
773084
  saveGlobalConfig((current) => ({
773052
773085
  ...current,
773053
773086
  hasCompletedOnboarding: true,
773054
- lastOnboardingVersion: "1.78.10"
773087
+ lastOnboardingVersion: "1.78.13"
773055
773088
  }));
773056
773089
  }
773057
773090
  function showDialog(root2, renderer) {
@@ -778095,7 +778128,7 @@ function appendToLog(path24, message) {
778095
778128
  cwd: getFsImplementation().cwd(),
778096
778129
  userType: process.env.USER_TYPE,
778097
778130
  sessionId: getSessionId(),
778098
- version: "1.78.10"
778131
+ version: "1.78.13"
778099
778132
  };
778100
778133
  getLogWriter(path24).write(messageWithTimestamp);
778101
778134
  }
@@ -782254,8 +782287,8 @@ async function getEnvLessBridgeConfig() {
782254
782287
  }
782255
782288
  async function checkEnvLessBridgeMinVersion() {
782256
782289
  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.
782290
+ if (cfg.min_version && lt("1.78.13", cfg.min_version)) {
782291
+ return `Your version of UR (${"1.78.13"}) is too old for Remote Control.
782259
782292
  Version ${cfg.min_version} or higher is required. Run \`ur update\` to update.`;
782260
782293
  }
782261
782294
  return null;
@@ -782729,7 +782762,7 @@ async function initBridgeCore(params) {
782729
782762
  const rawApi = createBridgeApiClient({
782730
782763
  baseUrl,
782731
782764
  getAccessToken,
782732
- runnerVersion: "1.78.10",
782765
+ runnerVersion: "1.78.13",
782733
782766
  onDebug: logForDebugging,
782734
782767
  onAuth401,
782735
782768
  getTrustedDeviceToken
@@ -792202,7 +792235,7 @@ function getAgUiCapabilities() {
792202
792235
  name: "UR-Nexus",
792203
792236
  type: "ur-nexus",
792204
792237
  description: "Provider-flexible, local-first autonomous engineering workflow agent.",
792205
- version: "1.78.10",
792238
+ version: "1.78.13",
792206
792239
  provider: "UR",
792207
792240
  documentationUrl: "https://github.com/Maitham16/UR/blob/master/docs/AG_UI.md"
792208
792241
  },
@@ -793342,7 +793375,7 @@ function createMCPServer(cwd4, debug2, verbose) {
793342
793375
  };
793343
793376
  const server2 = new Server({
793344
793377
  name: "ur-nexus",
793345
- version: "1.78.10"
793378
+ version: "1.78.13"
793346
793379
  }, {
793347
793380
  capabilities: {
793348
793381
  tools: {}
@@ -794500,7 +794533,7 @@ function thrownResponse(error40) {
794500
794533
  }
794501
794534
  async function createUrMcp2026Runtime(options4) {
794502
794535
  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: {} });
794536
+ const client2 = new Client({ name: "ur-mcp-2026-adapter", version: "1.78.13" }, { capabilities: {} });
794504
794537
  const [clientTransport, serverTransport] = createLinkedTransportPair();
794505
794538
  try {
794506
794539
  await server2.connect(serverTransport);
@@ -794511,7 +794544,7 @@ async function createUrMcp2026Runtime(options4) {
794511
794544
  }
794512
794545
  const runtime2 = new Mcp2026Runtime({
794513
794546
  cwd: options4.cwd,
794514
- version: "1.78.10",
794547
+ version: "1.78.13",
794515
794548
  backend: {
794516
794549
  listTools: async () => {
794517
794550
  const listed = await client2.listTools();
@@ -796652,7 +796685,7 @@ async function update() {
796652
796685
  logEvent("tengu_update_check", {});
796653
796686
  const diagnostic2 = await getDoctorDiagnostic();
796654
796687
  const result = await checkUpgradeStatus({
796655
- currentVersion: "1.78.10",
796688
+ currentVersion: "1.78.13",
796656
796689
  packageName: UR_AGENT_PACKAGE_NAME,
796657
796690
  installationType: diagnostic2.installationType,
796658
796691
  latestVersion: () => getLatestNpmPackageVersion(UR_AGENT_PACKAGE_NAME)
@@ -797968,7 +798001,7 @@ ${customInstructions}` : customInstructions;
797968
798001
  }
797969
798002
  }
797970
798003
  logForDiagnosticsNoPII("info", "started", {
797971
- version: "1.78.10",
798004
+ version: "1.78.13",
797972
798005
  is_native_binary: isInBundledMode()
797973
798006
  });
797974
798007
  registerCleanup(async () => {
@@ -798754,7 +798787,7 @@ Usage: ur --remote "your task description"`, () => gracefulShutdown(1));
798754
798787
  pendingHookMessages
798755
798788
  }, renderAndRun);
798756
798789
  }
798757
- }).version("1.78.10 (UR-Nexus)", "-v, --version", "Output the version number");
798790
+ }).version("1.78.13 (UR-Nexus)", "-v, --version", "Output the version number");
798758
798791
  program2.option("-w, --worktree [name]", "Create a new git worktree for this session (optionally specify a name)");
798759
798792
  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
798793
  if (canUserConfigureAdvisor()) {
@@ -799806,7 +799839,7 @@ if (false) {}
799806
799839
  async function main2() {
799807
799840
  const args = process.argv.slice(2);
799808
799841
  if (args.length === 1 && (args[0] === "--version" || args[0] === "-v" || args[0] === "-V")) {
799809
- console.log(`${"1.78.10"} (UR-Nexus)`);
799842
+ console.log(`${"1.78.13"} (UR-Nexus)`);
799810
799843
  return;
799811
799844
  }
799812
799845
  if (args[0] === "a2a" && args[1] === "serve" && !args.includes("--help") && !args.includes("-h")) {
package/docs/USAGE.md CHANGED
@@ -390,15 +390,18 @@ 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 and
398
+ its terminal placeholder disappears from the task panel and status bar. The
399
+ snapshot remains available internally so a corrective follow-up can reopen it.
400
+ Replies such as corrections (including `no` / `still` feedback), approvals,
401
+ and interruptions reuse the current seed or explicit unfinished board. The
402
+ agent reconciles and updates the relevant work rather than starting empty. A
403
+ terminal board is archived only when the next prompt is genuinely new work; a
404
+ corrective follow-up reopens the existing automatic task without renaming it.
402
405
 
403
406
  Independent read-only tasks can run in parallel. A task that may write to the
404
407
  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.13 (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.13</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.13"
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.13",
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.13",
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",