github TypeScript analyzed c78526c

HackSing/memware

github

Local-first long-term memory for MCP agents — automatic writes, on-demand recall.

maintainer
HackSing
licence
MIT
first seen
2026-08-29
last seen
2026-09-12
releases · 30d
0
short id

Drift inferred · capture-to-capture

No drift recorded — single capability capture; advisories appear once its surface changes.

capabilities 8 tools
transport stdio counts 8 tools · 0 res · 0 prompts permission surface via code analysis

tools

  • memory_archive
  • memory_get_context
  • memory_process
  • memory_reset
  • memory_resume
  • memory_search
  • memory_status
  • memory_warmup
code evidence vHEAD · github-tarball
evidence-backed findings quoted directly from the published source artifact — not inferred

code files: 101

filesystem 31

  • fs (weak) HackSing-memware-c78526c/scripts/content-check.ts :1 import { readdir } from "node:fs/promises";
  • fs (weak) HackSing-memware-c78526c/scripts/memware-build.ts :19 import { mkdir, stat } from "node:fs/promises";
  • fs (weak) HackSing-memware-c78526c/scripts/memware-pack.ts :12 import { chmod, copyFile, mkdir, stat } from "node:fs/promises";
  • fs HackSing-memware-c78526c/src/agent/memory/assets.ts :2 import { chmodSync, existsSync, mkdirSync, unlinkSync, writeFileSync } from "node:fs";
  • fs HackSing-memware-c78526c/src/agent/memory/config.ts :7 import { readFileSync, existsSync } from "node:fs";
  • fs HackSing-memware-c78526c/src/agent/memory/multimodalExtractor.ts :1 import { readFileSync } from "node:fs";
  • fs HackSing-memware-c78526c/src/agent/memory/service.ts :8 import { existsSync } from "node:fs";
  • fs HackSing-memware-c78526c/src/agent/memory/storage.ts :8 import { mkdirSync, existsSync } from "node:fs";
  • fs HackSing-memware-c78526c/src/agent/memory/unified/auditLog.ts :25 } from 'node:fs';
  • fs HackSing-memware-c78526c/src/agent/memory/vectorStore.ts :8 import { mkdirSync, existsSync } from "node:fs";
  • fs HackSing-memware-c78526c/src/memware/adapters.ts :13 import { readFileSync } from "node:fs";
  • fs HackSing-memware-c78526c/src/memware/migration.ts :4 import { existsSync, lstatSync, renameSync } from "node:fs";
show 19 more
  • fs HackSing-memware-c78526c/src/memware/secureStorage.ts :18 } from "node:fs";
  • fs HackSing-memware-c78526c/src/memware/sqlitePragmas.ts :26 import { mkdirSync } from "node:fs";
  • fs HackSing-memware-c78526c/src/memware/tenant.ts :4 import { existsSync } from "node:fs";
  • fs HackSing-memware-c78526c/src/memware/tenantMemoryHandle.ts :14 } from "node:fs";
  • fs (weak) HackSing-memware-c78526c/tests/kernel/isolation.test.ts :12 import { readFileSync } from "node:fs";
  • fs (weak) HackSing-memware-c78526c/tests/memware/agent-provenance.test.ts :6 import { mkdtempSync, rmSync } from "node:fs";
  • fs (weak) HackSing-memware-c78526c/tests/memware/config-boundary.test.ts :6 import { mkdirSync, mkdtempSync, rmSync, writeFileSync } from "node:fs";
  • fs (weak) HackSing-memware-c78526c/tests/memware/hook.test.ts :6 import { mkdtempSync, writeFileSync, rmSync } from "node:fs";
  • fs (weak) HackSing-memware-c78526c/tests/memware/http-server.test.ts :6 import { mkdtempSync, rmSync } from "node:fs";
  • fs (weak) HackSing-memware-c78526c/tests/memware/resume.test.ts :6 import { mkdtempSync, rmSync } from "node:fs";
  • fs (weak) HackSing-memware-c78526c/tests/memware/server.test.ts :10 import { mkdtempSync, rmSync } from "node:fs";
  • fs (weak) HackSing-memware-c78526c/tests/memware/sqlite-pragmas.test.ts :11 import { mkdtempSync, existsSync, rmSync } from "node:fs";
  • fs (weak) HackSing-memware-c78526c/tests/memware/tenant-provider.test.ts :2 import { existsSync, mkdirSync, mkdtempSync, rmSync, writeFileSync } from "node:fs";
  • fs (weak) HackSing-memware-c78526c/tests/memware/tenant-security.test.ts :13 } from "node:fs";
  • fs (weak) HackSing-memware-c78526c/tests/unified-memory/audit-log.test.ts :1 import { mkdtempSync, readFileSync, existsSync, rmSync, statSync, symlinkSync, writeFileSync } from 'node:fs';
  • fs (weak) HackSing-memware-c78526c/tests/unified-memory/audit.test.ts :19 import { mkdtempSync } from 'node:fs';
  • fs (weak) HackSing-memware-c78526c/tests/unified-memory/memory-service-retention.test.ts :1 import { mkdtempSync, writeFileSync } from 'node:fs';
  • fs (weak) HackSing-memware-c78526c/tests/unified-memory/multimodal-assets.test.ts :1 import { existsSync, mkdtempSync, rmSync, statSync, writeFileSync } from 'node:fs';
  • fs (weak) HackSing-memware-c78526c/tests/unified-memory/router.test.ts :2 import { mkdtempSync, readFileSync } from 'node:fs';

shell / exec 5

  • shell HackSing-memware-c78526c/packages/memware/bin/launcher.js :24 const { spawn } = require("node:child_process");
  • shell (weak) HackSing-memware-c78526c/scripts/content-check.ts :55 const result = Bun.spawnSync(["ruby", "-e", ruby, "--", ...yamlFiles], {
  • shell (weak) HackSing-memware-c78526c/scripts/memware-build.ts :119 const proc = Bun.spawn(
  • shell (weak) HackSing-memware-c78526c/scripts/memware-pack.ts :49 const proc = Bun.spawn(
  • shell (weak) HackSing-memware-c78526c/tests/memware/config-boundary.test.ts :26 const result = Bun.spawnSync({ cmd: [process.execPath, "-e", script], cwd });

network 3

  • net (weak) HackSing-memware-c78526c/tests/kernel/server.test.ts :339 const response = await fetch(`http://${env.host}:${server.port}/health`, {
  • net (weak) HackSing-memware-c78526c/tests/memware/http-server.test.ts :137 const processRes = await fetch(`${base}/v1/process`, {
  • net (weak) HackSing-memware-c78526c/tests/unified-memory/memory-service-retention.test.ts :16 async fetch(request) {

tool registrations 8

  • memory_status HackSing-memware-c78526c/src/memware/server.ts :98
  • memory_warmup HackSing-memware-c78526c/src/memware/server.ts :127
  • memory_get_context HackSing-memware-c78526c/src/memware/server.ts :138
  • memory_process HackSing-memware-c78526c/src/memware/server.ts :152
  • memory_search HackSing-memware-c78526c/src/memware/server.ts :184
  • memory_resume HackSing-memware-c78526c/src/memware/server.ts :203
  • memory_archive HackSing-memware-c78526c/src/memware/server.ts :241
  • memory_reset HackSing-memware-c78526c/src/memware/server.ts :252

declared dependencies 5

  • @modelcontextprotocol/sdk@^1.30.0
  • openai@^4.70.0
  • zod@^3.25.76
  • @types/bun@^1.2.0
  • typescript@^5.7.0

obfuscation 1

  • dynamic require()/import() HackSing-memware-c78526c/tests/memware/config-boundary.test.ts :18 const { MemorySettings } = await import(${JSON.stringify(configModuleUrl)});