From 0050072b764cd60ab43b5776ccbcd39bfdfbc0d2 Mon Sep 17 00:00:00 2001 From: Maurice Date: Sat, 24 Oct 2026 22:07:46 +0200 Subject: [PATCH] feat(assistant): photo changes of a journal get their own card and ways back The four new photo link tools join the journal's tools: the journey chat offers them to editors, the trip chat loads them with the journey group and the home chat keeps none. A journeyPhotos card shows the photos as thumbnails with the entries they leave and reach, the first one marked as the cover in a new order, and a caption old to new; a library add shows the photos once they landed. A linked photo comes off again, an unlinked one goes back, moved photos go back and a caption is written back, each while nothing changed since. A new order of an entry's photos and a library add have no way back yet. The journal prompt names the photo tools. --- .../cards/journey/JourneyEntryParts.tsx | 5 +- .../cards/journey/JourneyPhotosCard.test.tsx | 105 ++++++++ .../cards/journey/JourneyPhotosSlots.tsx | 107 ++++++++ .../Assistant/cards/journey/journeyLook.ts | 31 ++- .../Assistant/cards/journey/journeyViews.tsx | 6 +- .../nest/assistant/assistant-journey-offer.ts | 1 + .../nest/assistant/assistant-tool-offer.ts | 2 + server/src/nest/assistant/assistant.prompt.ts | 2 +- .../src/nest/assistant/cards/journey/index.ts | 43 +++ .../cards/journey/journey-photos-undo.ts | 114 ++++++++ .../assistant/cards/journey/journey-photos.ts | 224 ++++++++++++++++ .../assistant/assistant-home-session.test.ts | 2 + .../assistant-journey-session.test.ts | 7 + .../cards/journey/journey-photos.test.ts | 247 ++++++++++++++++++ .../assistant/cards/journey-photos.card.ts | 57 ++++ .../src/assistant/cards/journey.contract.ts | 17 +- shared/src/i18n/ar/assistantJourney.ts | 11 + shared/src/i18n/az/assistantJourney.ts | 11 + shared/src/i18n/br/assistantJourney.ts | 11 + shared/src/i18n/ca/assistantJourney.ts | 11 + shared/src/i18n/cs/assistantJourney.ts | 11 + shared/src/i18n/de/assistantJourney.ts | 11 + shared/src/i18n/en/assistantJourney.ts | 11 + shared/src/i18n/es/assistantJourney.ts | 11 + shared/src/i18n/et/assistantJourney.ts | 11 + shared/src/i18n/fr/assistantJourney.ts | 11 + shared/src/i18n/gr/assistantJourney.ts | 11 + shared/src/i18n/hu/assistantJourney.ts | 11 + shared/src/i18n/id/assistantJourney.ts | 11 + shared/src/i18n/it/assistantJourney.ts | 11 + shared/src/i18n/ja/assistantJourney.ts | 11 + shared/src/i18n/ko/assistantJourney.ts | 11 + shared/src/i18n/nl/assistantJourney.ts | 11 + shared/src/i18n/pl/assistantJourney.ts | 11 + shared/src/i18n/ru/assistantJourney.ts | 11 + shared/src/i18n/sk/assistantJourney.ts | 11 + shared/src/i18n/sv/assistantJourney.ts | 11 + shared/src/i18n/th/assistantJourney.ts | 11 + shared/src/i18n/tr/assistantJourney.ts | 11 + shared/src/i18n/uk/assistantJourney.ts | 11 + shared/src/i18n/vi/assistantJourney.ts | 11 + shared/src/i18n/zh-TW/assistantJourney.ts | 11 + shared/src/i18n/zh/assistantJourney.ts | 11 + 43 files changed, 1257 insertions(+), 10 deletions(-) create mode 100644 client/src/components/Assistant/cards/journey/JourneyPhotosCard.test.tsx create mode 100644 client/src/components/Assistant/cards/journey/JourneyPhotosSlots.tsx create mode 100644 server/src/nest/assistant/cards/journey/journey-photos-undo.ts create mode 100644 server/src/nest/assistant/cards/journey/journey-photos.ts create mode 100644 server/tests/unit/nest/assistant/cards/journey/journey-photos.test.ts create mode 100644 shared/src/assistant/cards/journey-photos.card.ts diff --git a/client/src/components/Assistant/cards/journey/JourneyEntryParts.tsx b/client/src/components/Assistant/cards/journey/JourneyEntryParts.tsx index a216612eb..eeb0ab176 100644 --- a/client/src/components/Assistant/cards/journey/JourneyEntryParts.tsx +++ b/client/src/components/Assistant/cards/journey/JourneyEntryParts.tsx @@ -108,7 +108,10 @@ function ListMarks({ look }: { look: JourneyEntryLook }) { return ( <> {(look.tags ?? []).map((tag, index) => ( -