### TypeScript Memory System Adapter Example Source: https://github.com/stevenic/recall/blob/main/docs/bench/recall-bench.md An example of a TypeScript adapter for integrating a memory system with the recall-bench harness. It defines methods for setup, ingestion, querying, and teardown. ```typescript import type { MemorySystemAdapter, DayMetadata } from '@recall/bench'; const adapter: MemorySystemAdapter = { name: 'My Memory System', async setup() { /* clean state */ }, async ingestDay(day: number, content: string, metadata: DayMetadata) { /* store */ }, async finalizeIngestion() { /* build indexes */ }, async query(question: string): Promise { return answer; }, async teardown() { /* cleanup */ }, }; export default adapter; ``` -------------------------------- ### Recall Configuration File Example Source: https://github.com/stevenic/recall/blob/main/specs/wiki.md Illustrates the structure and options for configuring wiki integration in the .recall.yaml file. ```yaml # .recall.yaml wiki: enabled: true scoreBoost: 1.3 minSourcesForStub: 1 # Agent can stub on a single observation minSourcesForSynthesis: 3 # Dreaming promotes to synthesis at 3+ sources stalenessThresholdDays: 90 shared: # Optional — shared wikis the agent participates in - name: team-wiki path: ../../_team-wiki role: member # member | reader scoreBoost: 1.4 # Optional per-wiki override - name: org-glossary path: /shared/org-glossary role: reader ``` -------------------------------- ### CI Workflow Setup for Monorepo Source: https://github.com/stevenic/recall/blob/main/docs/TYPESCRIPT-MONOREPO-PLAYBOOK.md Defines a GitHub Actions CI workflow for a monorepo, including dependency installation, linting, building, and testing across all packages. ```yaml name: CI on: push: branches: [main] paths-ignore: - 'docs/**' - '*.md' pull_request: branches: [main] paths-ignore: - 'docs/**' - '*.md' permissions: read jobs: build-and-test: runs-on: ubuntu-latest strategy: matrix: node-version: [22] steps: - name: Checkout uses: actions/checkout@v4 - name: Setup Node.js ${{ matrix.node-version }} uses: actions/setup-node@v4 with: node-version: ${{ matrix.node-version }} cache: npm - name: Install dependencies run: npm ci - name: Lint all packages run: npm run lint --workspaces - name: Build all packages run: npm run build --workspaces - name: Test all packages run: npm test --workspaces # Coveralls - name: Upload coverage to Coveralls if: matrix.node-version == 22 uses: coverallsapp/github-action@v2 with: github-token: ${{ secrets.GITHUB_TOKEN }} file: packages/core/coverage/lcov.info # For multiple packages, use flag-name and parallel mode: # flag-name: core # parallel: true ``` -------------------------------- ### Install and Build Recall Bench from Monorepo Source: https://github.com/stevenic/recall/blob/main/packages/recall-bench/README.md Clone the repository, install dependencies, build the recall-bench workspace, and verify the installation. ```bash git clone cd recall npm install npm run build --workspace=packages/recall-bench npx recall-bench --help ```