πŸ“„ File detail

components/memory/MemoryUpdateNotification.tsx

🧩 .tsxπŸ“ 45 linesπŸ’Ύ 5,100 bytesπŸ“ text
← Back to All Files

🎯 Use case

This file lives under β€œcomponents/”, which covers shared React UI pieces. On the API surface it exposes getRelativeMemoryPath and MemoryUpdateNotification β€” mainly functions, hooks, or classes. Dependencies touch React UI, Node OS/process metadata, and Node path helpers. It composes internal code from ink and utils (relative imports).

Generated from folder role, exports, dependency roots, and inline comments β€” not hand-reviewed for every path.

🧠 Inline summary

import { c as _c } from "react/compiler-runtime"; import { homedir } from 'os'; import { relative } from 'path'; import React from 'react'; import { Box, Text } from '../../ink.js';

πŸ“€ Exports (heuristic)

  • getRelativeMemoryPath
  • MemoryUpdateNotification

πŸ“š External import roots

Package roots from from "…" (relative paths omitted).

  • react
  • os
  • path

πŸ–₯️ Source preview

import { c as _c } from "react/compiler-runtime";
import { homedir } from 'os';
import { relative } from 'path';
import React from 'react';
import { Box, Text } from '../../ink.js';
import { getCwd } from '../../utils/cwd.js';
export function getRelativeMemoryPath(path: string): string {
  const homeDir = homedir();
  const cwd = getCwd();

  // Calculate relative paths
  const relativeToHome = path.startsWith(homeDir) ? '~' + path.slice(homeDir.length) : null;
  const relativeToCwd = path.startsWith(cwd) ? './' + relative(cwd, path) : null;

  // Return the shorter path, or absolute if neither is applicable
  if (relativeToHome && relativeToCwd) {
    return relativeToHome.length <= relativeToCwd.length ? relativeToHome : relativeToCwd;
  }
  return relativeToHome || relativeToCwd || path;
}
export function MemoryUpdateNotification(t0) {
  const $ = _c(4);
  const {
    memoryPath
  } = t0;
  let t1;
  if ($[0] !== memoryPath) {
    t1 = getRelativeMemoryPath(memoryPath);
    $[0] = memoryPath;
    $[1] = t1;
  } else {
    t1 = $[1];
  }
  const displayPath = t1;
  let t2;
  if ($[2] !== displayPath) {
    t2 = <Box flexDirection="column" flexGrow={1}><Text color="text">Memory updated in {displayPath} Β· /memory to edit</Text></Box>;
    $[2] = displayPath;
    $[3] = t2;
  } else {
    t2 = $[3];
  }
  return t2;
}
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJob21lZGlyIiwicmVsYXRpdmUiLCJSZWFjdCIsIkJveCIsIlRleHQiLCJnZXRDd2QiLCJnZXRSZWxhdGl2ZU1lbW9yeVBhdGgiLCJwYXRoIiwiaG9tZURpciIsImN3ZCIsInJlbGF0aXZlVG9Ib21lIiwic3RhcnRzV2l0aCIsInNsaWNlIiwibGVuZ3RoIiwicmVsYXRpdmVUb0N3ZCIsIk1lbW9yeVVwZGF0ZU5vdGlmaWNhdGlvbiIsInQwIiwiJCIsIl9jIiwibWVtb3J5UGF0aCIsInQxIiwiZGlzcGxheVBhdGgiLCJ0MiJdLCJzb3VyY2VzIjpbIk1lbW9yeVVwZGF0ZU5vdGlmaWNhdGlvbi50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaG9tZWRpciB9IGZyb20gJ29zJ1xuaW1wb3J0IHsgcmVsYXRpdmUgfSBmcm9tICdwYXRoJ1xuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgQm94LCBUZXh0IH0gZnJvbSAnLi4vLi4vaW5rLmpzJ1xuaW1wb3J0IHsgZ2V0Q3dkIH0gZnJvbSAnLi4vLi4vdXRpbHMvY3dkLmpzJ1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0UmVsYXRpdmVNZW1vcnlQYXRoKHBhdGg6IHN0cmluZyk6IHN0cmluZyB7XG4gIGNvbnN0IGhvbWVEaXIgPSBob21lZGlyKClcbiAgY29uc3QgY3dkID0gZ2V0Q3dkKClcblxuICAvLyBDYWxjdWxhdGUgcmVsYXRpdmUgcGF0aHNcbiAgY29uc3QgcmVsYXRpdmVUb0hvbWUgPSBwYXRoLnN0YXJ0c1dpdGgoaG9tZURpcilcbiAgICA/ICd+JyArIHBhdGguc2xpY2UoaG9tZURpci5sZW5ndGgpXG4gICAgOiBudWxsXG5cbiAgY29uc3QgcmVsYXRpdmVUb0N3ZCA9IHBhdGguc3RhcnRzV2l0aChjd2QpID8gJy4vJyArIHJlbGF0aXZlKGN3ZCwgcGF0aCkgOiBudWxsXG5cbiAgLy8gUmV0dXJuIHRoZSBzaG9ydGVyIHBhdGgsIG9yIGFic29sdXRlIGlmIG5laXRoZXIgaXMgYXBwbGljYWJsZVxuICBpZiAocmVsYXRpdmVUb0hvbWUgJiYgcmVsYXRpdmVUb0N3ZCkge1xuICAgIHJldHVybiByZWxhdGl2ZVRvSG9tZS5sZW5ndGggPD0gcmVsYXRpdmVUb0N3ZC5sZW5ndGhcbiAgICAgID8gcmVsYXRpdmVUb0hvbWVcbiAgICAgIDogcmVsYXRpdmVUb0N3ZFxuICB9XG5cbiAgcmV0dXJuIHJlbGF0aXZlVG9Ib21lIHx8IHJlbGF0aXZlVG9Dd2QgfHwgcGF0aFxufVxuXG5leHBvcnQgZnVuY3Rpb24gTWVtb3J5VXBkYXRlTm90aWZpY2F0aW9uKHtcbiAgbWVtb3J5UGF0aCxcbn06IHtcbiAgbWVtb3J5UGF0aDogc3RyaW5nXG59KTogUmVhY3QuUmVhY3ROb2RlIHtcbiAgY29uc3QgZGlzcGxheVBhdGggPSBnZXRSZWxhdGl2ZU1lbW9yeVBhdGgobWVtb3J5UGF0aClcblxuICByZXR1cm4gKFxuICAgIDxCb3ggZmxleERpcmVjdGlvbj1cImNvbHVtblwiIGZsZXhHcm93PXsxfT5cbiAgICAgIDxUZXh0IGNvbG9yPVwidGV4dFwiPlxuICAgICAgICBNZW1vcnkgdXBkYXRlZCBpbiB7ZGlzcGxheVBhdGh9IMK3IC9tZW1vcnkgdG8gZWRpdFxuICAgICAgPC9UZXh0PlxuICAgIDwvQm94PlxuICApXG59XG4iXSwibWFwcGluZ3MiOiI7QUFBQSxTQUFTQSxPQUFPLFFBQVEsSUFBSTtBQUM1QixTQUFTQyxRQUFRLFFBQVEsTUFBTTtBQUMvQixPQUFPQyxLQUFLLE1BQU0sT0FBTztBQUN6QixTQUFTQyxHQUFHLEVBQUVDLElBQUksUUFBUSxjQUFjO0FBQ3hDLFNBQVNDLE1BQU0sUUFBUSxvQkFBb0I7QUFFM0MsT0FBTyxTQUFTQyxxQkFBcUJBLENBQUNDLElBQUksRUFBRSxNQUFNLENBQUMsRUFBRSxNQUFNLENBQUM7RUFDMUQsTUFBTUMsT0FBTyxHQUFHUixPQUFPLENBQUMsQ0FBQztFQUN6QixNQUFNUyxHQUFHLEdBQUdKLE1BQU0sQ0FBQyxDQUFDOztFQUVwQjtFQUNBLE1BQU1LLGNBQWMsR0FBR0gsSUFBSSxDQUFDSSxVQUFVLENBQUNILE9BQU8sQ0FBQyxHQUMzQyxHQUFHLEdBQUdELElBQUksQ0FBQ0ssS0FBSyxDQUFDSixPQUFPLENBQUNLLE1BQU0sQ0FBQyxHQUNoQyxJQUFJO0VBRVIsTUFBTUMsYUFBYSxHQUFHUCxJQUFJLENBQUNJLFVBQVUsQ0FBQ0YsR0FBRyxDQUFDLEdBQUcsSUFBSSxHQUFHUixRQUFRLENBQUNRLEdBQUcsRUFBRUYsSUFBSSxDQUFDLEdBQUcsSUFBSTs7RUFFOUU7RUFDQSxJQUFJRyxjQUFjLElBQUlJLGFBQWEsRUFBRTtJQUNuQyxPQUFPSixjQUFjLENBQUNHLE1BQU0sSUFBSUMsYUFBYSxDQUFDRCxNQUFNLEdBQ2hESCxjQUFjLEdBQ2RJLGFBQWE7RUFDbkI7RUFFQSxPQUFPSixjQUFjLElBQUlJLGFBQWEsSUFBSVAsSUFBSTtBQUNoRDtBQUVBLE9BQU8sU0FBQVEseUJBQUFDLEVBQUE7RUFBQSxNQUFBQyxDQUFBLEdBQUFDLEVBQUE7RUFBa0M7SUFBQUM7RUFBQSxJQUFBSCxFQUl4QztFQUFBLElBQUFJLEVBQUE7RUFBQSxJQUFBSCxDQUFBLFFBQUFFLFVBQUE7SUFDcUJDLEVBQUEsR0FBQWQscUJBQXFCLENBQUNhLFVBQVUsQ0FBQztJQUFBRixDQUFBLE1BQUFFLFVBQUE7SUFBQUYsQ0FBQSxNQUFBRyxFQUFBO0VBQUE7SUFBQUEsRUFBQSxHQUFBSCxDQUFBO0VBQUE7RUFBckQsTUFBQUksV0FBQSxHQUFvQkQsRUFBaUM7RUFBQSxJQUFBRSxFQUFBO0VBQUEsSUFBQUwsQ0FBQSxRQUFBSSxXQUFBO0lBR25EQyxFQUFBLElBQUMsR0FBRyxDQUFlLGFBQVEsQ0FBUixRQUFRLENBQVcsUUFBQyxDQUFELEdBQUMsQ0FDckMsQ0FBQyxJQUFJLENBQU8sS0FBTSxDQUFOLE1BQU0sQ0FBQyxrQkFDRUQsWUFBVSxDQUFFLGtCQUNqQyxFQUZDLElBQUksQ0FHUCxFQUpDLEdBQUcsQ0FJRTtJQUFBSixDQUFBLE1BQUFJLFdBQUE7SUFBQUosQ0FBQSxNQUFBSyxFQUFBO0VBQUE7SUFBQUEsRUFBQSxHQUFBTCxDQUFBO0VBQUE7RUFBQSxPQUpOSyxFQUlNO0FBQUEiLCJpZ25vcmVMaXN0IjpbXX0=