
Company News
Socket Joins New OpenJS Program to Fund Node.js Security Work
Socket is joining the OpenJS Security Stewardship Program to fund Node.js vulnerability research, maintainer remediation, and security releases.
@tekmemo/agentfs
Advanced tools
AgentFS-backed MemoryStore adapter for TekMemo with sync and lease management.
@tekmemo/agentfsAgentFS-backed MemoryStore adapter for TekMemo.
This package lets TekMemo use an AgentFS-like remote file runtime while preserving the canonical local memory protocol:
.tekmemo/
manifest.json
memory/core.md
memory/notes.md
events/memory-events.jsonl
events/conversations.jsonl
indexes/chunks.jsonl
graph/nodes.jsonl
graph/edges.jsonl
snapshots/snapshots.jsonl
pnpm add tekmemo @tekmemo/agentfs
import { bootstrapMemoryStore, CORE_MEMORY_PATH } from "tekmemo";
import { createAgentfsMemoryStore } from "@tekmemo/agentfs";
const store = createAgentfsMemoryStore(agentfsClient, {
scope: "project",
projectId: "proj_123"
});
await bootstrapMemoryStore(store);
await store.write(CORE_MEMORY_PATH, "# Core Memory\n");
Behind the scenes, CORE_MEMORY_PATH resolves to:
/stores/project/proj_123/.tekmemo/memory/core.md
createAgentfsMemoryStore(client, {
scope: "project",
projectId: "proj_123"
});
createAgentfsMemoryStore(client, {
scope: "user",
userId: "usr_123"
});
createAgentfsMemoryStore(client, {
scope: "session",
sessionId: "sess_123"
});
AgentFS is still a beta surface, so this package intentionally accepts a small structural client instead of importing a hard SDK type. In production, pass the real AgentFS SDK/client object through this boundary as long as it provides the methods below.
interface AgentfsLikeClient {
readText(path: string): Promise<string>;
writeText(path: string, content: string): Promise<void>;
appendText?(path: string, content: string): Promise<void>;
exists?(path: string): Promise<boolean>;
sync?: {
pull?(): Promise<void>;
push?(): Promise<void>;
checkpoint?(label: string): Promise<void>;
};
}
appendText and exists are optional. If appendText is missing, the store can fall back to same-instance serialized read/write append.
The default behavior matches the production TekMemo core store: missing reads throw MemoryNotFoundError.
createAgentfsMemoryStore(client, {
scope: "project",
projectId: "proj_123",
missingFileBehavior: "throw"
});
For older relaxed behavior:
createAgentfsMemoryStore(client, {
scope: "project",
projectId: "proj_123",
missingFileBehavior: "empty"
});
import { syncBeforeSession, syncAfterSession } from "@tekmemo/agentfs";
await syncBeforeSession(agentfsClient);
// run agent session
await syncAfterSession(agentfsClient, "after-agent-session");
syncAfterSession checkpoints before pushing by default.
import { InMemoryLeaseManager, withMemoryLease } from "@tekmemo/agentfs";
const leaseManager = new InMemoryLeaseManager();
await withMemoryLease({
leaseManager,
storeId: "project:proj_123",
ownerId: "worker-1",
ttlMs: 30_000,
operation: async () => {
// critical memory operation
}
});
The in-memory lease manager is useful for tests and single-process coordination. Distributed production leases should use a durable/shared implementation.
/, \\, .., null bytes, spaces, or unsupported characters@tekmemo/agentfs only adapts TekMemo's MemoryStore contract to an AgentFS-like file runtime.
It does not own:
.tekmemo/ protocol itselfFAQs
AgentFS session workspace and MemoryStore adapter for TekMemo-powered agents.
The npm package @tekmemo/agentfs receives a total of 2 weekly downloads. As such, @tekmemo/agentfs popularity was classified as not popular.
We found that @tekmemo/agentfs demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 2 open source maintainers collaborating on the project.

Company News
Socket is joining the OpenJS Security Stewardship Program to fund Node.js vulnerability research, maintainer remediation, and security releases.

Security News
Two compromised GitHub Actions were re-enabled with malicious tags intact, exposing thousands of downstream repositories to Mini Shai-Hulud.

Research
/Security News
A malicious Firefox extension fetches its payload after installation to evade detection, steal Google session cookies, and automate account takeover.