Skip to content

memory: image + conversation TODOs#2234

Merged
robgruen merged 11 commits intomainfrom
dev/robgruen/TODO/memory
Apr 23, 2026
Merged

memory: image + conversation TODOs#2234
robgruen merged 11 commits intomainfrom
dev/robgruen/TODO/memory

Conversation

@robgruen
Copy link
Copy Markdown
Collaborator

  • Derive image taker name from EXIF Artist/OwnerName
  • Accept single-letter / spelled-out EXIF GPS references in getGeo
  • Safe backup in ConversationMemory.autoSaveFile
  • Inverse "hear" actions in PodcastMessageMeta.getKnowledge()
  • indexingService: TokenStats type, throttled status updates, tests

Split from #2210.

robgruen and others added 8 commits April 22, 2026 14:04
…es, add tests

- Export TokenStats type (promptTokens, completionTokens, totalTokens) and add
  optional tokenStats field to IndexData
- Throttle sendIndexStatus() to folder boundaries (count === max) to avoid
  flooding the host process with progress updates
- Add jest infrastructure and unit tests for image-memory package

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Before writing, rename existing _data.json and _embeddings.bin to .bak
files. On success, delete the backups; on failure, restore them. This
prevents data loss if the process crashes mid-write.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
The 'say' actions (speaker → listener) were already populated, but the
inverseActions array was always empty. Now each 'say' action gets a
corresponding 'hear' action (listener → speaker), matching the pattern
used by ConversationMessageMeta.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Introduce getImageTakerName helper that checks common EXIF photographer
tags (Artist, Camera Owner Name, OwnerName) on dataFrameValues before
falling back to "ME". Also mark three TODO.md entries as stale —
grammarTypes regexpCache and models.ts JsonSchemaType — all already
implemented in current code.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Handle both "S"/"W" single-letter EXIF reference values and the
spelled-out "South"/"West" variants, case-insensitively. Previously the
code only matched the exact prefix "South"/"West", missing the standard
single-letter form.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…ENT, parallel translation, URL protocol validation

Agent-Logs-Url: https://github.com/microsoft/TypeAgent/sessions/5828fefd-5097-4099-aa84-2f64fcd73f4e

Co-authored-by: robgruen <25374553+robgruen@users.noreply.github.com>
Copy link
Copy Markdown
Contributor

Copilot AI commented Apr 22, 2026

Just as a heads up, I was blocked by some firewall rules while working on your feedback. Expand below for details.

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • www.electronjs.org
    • Triggering command: /usr/local/bin/node /usr/local/bin/node /home/REDACTED/work/TypeAgent/TypeAgent/ts/node_modules/.pnpm/@electron&#43;rebuild@4.0.3/node_modules/@electron/rebuild/lib/module-type/node-gyp/worker.js (dns block)

If you need me to access, download, or install something from one of these locations, you can either:

@robgruen robgruen temporarily deployed to development-fork April 22, 2026 23:40 — with GitHub Actions Inactive
@robgruen robgruen temporarily deployed to development-fork April 22, 2026 23:40 — with GitHub Actions Inactive
@robgruen robgruen added this pull request to the merge queue Apr 23, 2026
Merged via the queue into main with commit 4d88fae Apr 23, 2026
21 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants