← Files GoodMemARCHIVED FILE

skills/goodmem-sdk/references/typescript/examples/ingest-retrieve.md

1.39 KB · Oct 5, 2026 · 18:24 UTC

↓ Download file

<!-- sdk-ref package=@pairsystems/goodmem registry=npm version=0.1.6 -->

# Ingest and retrieve

Use an existing space with an embedder. Read [create](../memories/create.md),
[get](../memories/get.md), and [retrieve](../memories/retrieve.md) when adapting this.
The relevant request types are [text memory](../models/MemoryCreateTextRequest.md) and
[retrieval options](../models/MemoriesRetrieveOptions.md).

```ts
import { Goodmem } from "@pairsystems/goodmem";

const client = new Goodmem({
  baseUrl: process.env.GOODMEM_BASE_URL!,
  apiKey: process.env.GOODMEM_API_KEY!,
});
const spaceId = process.env.GOODMEM_SPACE_ID!;
let memory = await client.memories.create({
  spaceId,
  originalContent: "GoodMem stores and retrieves memories.",
});
const deadline = Date.now() + 120_000;
while (memory.processingStatus !== "COMPLETED") {
  if (memory.processingStatus === "FAILED")
    throw new Error("Memory processing failed; inspect job history in GoodMem.");
  if (Date.now() >= deadline)
    throw new Error("Memory is still processing; retry retrieval later.");
  await new Promise(resolve => setTimeout(resolve, 500));
  memory = await client.memories.get(memory.memoryId);
}
for await (const event of client.memories.retrieve("what does GoodMem do?", { spaceIds: [spaceId] })) {
  if (event.retrievedItem?.chunk)
    console.log(event.retrievedItem.chunk.chunk.chunkText);
}
```

[TypeScript](../../typescript.md)

SHA-256: 087de64f75b09a3471717406a50caad3d34cfb5d2595089606bb2de57bb29a89