Skip to content

Add Python dialog APIs, dialog monitor, and persisted dialog step history#818

Open
TckTcm wants to merge 1 commit intoapoguita:mainfrom
TckTcm:dialog/upstream-sync-20260330
Open

Add Python dialog APIs, dialog monitor, and persisted dialog step history#818
TckTcm wants to merge 1 commit intoapoguita:mainfrom
TckTcm:dialog/upstream-sync-20260330

Conversation

@TckTcm
Copy link
Copy Markdown
Contributor

@TckTcm TckTcm commented Mar 31, 2026

Summary

This PR adds the Python-side dialog stack.

It introduces:

  • a public dialog API for live dialog access and historical queries
  • a static dialog catalog wrapper for decoded text and dialog metadata
  • persisted dialog step history backed by SQLite
  • a dialog monitor widget for live state, recent history, persisted logs, and diagnostics
  • dialog helper integrations for target-based dialog sending and Zaishen bounty quest taking

Included

  • Py4GWCoreLib/Dialog.py
  • Py4GWCoreLib/DialogCatalog.py
  • Widgets/Automation/Helpers/Dialogs/Dialog Monitor.py
  • Widgets/Automation/Helpers/Dialogs/Target Dialog Sender.py
  • Widgets/Automation/Bots/Missions/Zaishen Bounty Quest Taker.py

What This Adds

Core dialog API

Py4GWCoreLib/Dialog.py now provides:

  • live dialog access
  • active choice lookup and send-by-text helpers
  • callback journal access
  • persisted raw/journal query helpers
  • persisted dialog step query, export, prune, and diagnostics helpers

Static dialog catalog

Py4GWCoreLib/DialogCatalog.py provides:

  • dialog availability lookup
  • dialog info lookup
  • available dialog enumeration
  • decoded dialog text access
  • decode status access

Persisted step history

The persisted dialog history model is based on dialog steps:

  • one body screen
  • its visible choices
  • the selected choice, if any

The SQLite-backed step pipeline is integrated directly into Dialog.py to keep the file layout smaller and the public dialog surface more centralized.

Dialog monitor

Dialog Monitor.py provides:

  • current live dialog state
  • recent persisted dialog steps
  • persisted Journal and Raw log panels
  • copy/export actions
  • diagnostics/debug views

It also uses readable NPC names and map names in persisted rows and monitor views.

reid15halo-ops added a commit to reid15halo-ops/Py4GW that referenced this pull request May 3, 2026
…rsisted dialog step history

Adds Dialog.py, DialogCatalog.py, Dialog Monitor widget, Target Dialog
Sender, and Zaishen Bounty Quest Taker. From TckTcm.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
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.

1 participant