# mon1-innovation/maica_chatsubmod architecture

> Architecture diagram of the GitHub repository mon1-innovation/maica_chatsubmod, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-10-01). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/mon1-innovation/maica_chatsubmod
- Repository: https://github.com/mon1-innovation/maica_chatsubmod

## Overview

MAICA Blessland is a game front end for the MAICA chat submod. The documented user path is in-game conversation through the submod to an online service and back; additional capabilities cover context, emotion, game actions, generated topics, mail, and images. The tree and README identify these areas, but most application sources were not excerpted, so uncertain internal calls are omitted. Bundled Python compatibility modules are grouped as support rather than treated as product stages.

Main entry points: [`game/python-packages/maica.py`](https://github.com/mon1-innovation/maica_chatsubmod/blob/main/game/python-packages/maica.py) (Chat integration), [`game/Submods/MAICA_ChatSubmod/lib/future/backports/http/client.py`](https://github.com/mon1-innovation/maica_chatsubmod/blob/main/game/Submods/MAICA_ChatSubmod/lib/future/backports/http/client.py) (HTTP backport), [`game/python-packages/requests/sessions.py`](https://github.com/mon1-innovation/maica_chatsubmod/blob/main/game/python-packages/requests/sessions.py) (HTTP client), [`game/Submods/MAICA_ChatSubmod/lib/future/backports/http/server.py`](https://github.com/mon1-innovation/maica_chatsubmod/blob/main/game/Submods/MAICA_ChatSubmod/lib/future/backports/http/server.py) (HTTP server backport)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_experience["Game experience"]
  node_chat["In-game chat<br/>[bot_interface.py]"]
  node_maica["Chat integration<br/>[maica.py]"]
  node_progress["Chat progress"]
  node_tasker["Task handling<br/>[maica_tasker.py]"]
  node_events["Task events"]
  node_sessionsender["Session sending"]
end

subgraph group_features["MAICA features"]
  node_context["Context lookup"]
  node_emotion["Emotion analysis<br/>[emotion_analyze.py]"]
  node_emotion2["Emotion analysis v2"]
  node_trigger["Game actions<br/>[maica_mtrigger.py]"]
  node_provider["Providers"]
  node_rss["RSS provider"]
  node_postal["Mail and files"]
  node_vista["Images and postcards"]
  node_feedparser["Feed parsing<br/>[feedparser.py]"]
end

subgraph group_network["Service communication"]
  node_http["HTTP client<br/>[sessions.py]"]
  node_pool["Connection pools<br/>[poolmanager.py]"]
  node_appengine["App Engine transport<br/>[appengine.py]"]
end

subgraph group_compat["Python compatibility"]
  node_compat_datetime["Datetime backport<br/>[datetime.py]"]
  node_compat_http["HTTP backport<br/>[client.py]"]
  node_compat_misc["Misc backports<br/>[misc.py]"]
  node_compat_socket["Socket backport<br/>[socket.py]"]
  node_compat_server["Socket server backport<br/>[socketserver.py]"]
  node_compat_parse["URL parsing backport<br/>[parse.py]"]
  node_compat_builtins["Builtins backport<br/>[builtins.py]"]
  node_compat_collections["Collections backport<br/>[collections.py]"]
  node_compat_sys["System backport<br/>[sys.py]"]
  node_compat_bytes["Bytes type<br/>[newbytes.py]"]
  node_http_server["HTTP server backport<br/>[server.py]"]
  node_xml_client["XML-RPC client<br/>[client.py]"]
  node_xml_server["XML-RPC server<br/>[server.py]"]
  node_future_http_move["HTTP move shim<br/>[server.py]"]
end

node_player(("Player"))
node_service(("MAICA service"))

node_player -->|"starts chat"| node_chat
node_chat -->|"uses submod"| node_maica
node_maica -.->|"sends chat"| node_service
node_service -.->|"returns reply"| node_maica
node_maica -.->|"uses context"| node_context
node_maica -.->|"analyzes emotion"| node_emotion
node_maica -.->|"analyzes emotion"| node_emotion2
node_maica -.->|"invokes actions"| node_trigger
node_maica -.->|"uses providers"| node_provider
node_provider -.->|"includes provider"| node_rss
node_maica -.->|"supports mail"| node_postal
node_maica -.->|"supports images"| node_vista
node_maica -.->|"schedules tasks"| node_tasker
node_tasker -.->|"emits events"| node_events
node_tasker -.->|"uses sender"| node_sessionsender
node_provider -->|"uses HTTP"| node_http
node_vista -->|"uses HTTP"| node_http
node_http -.->|"uses pools"| node_pool
node_appengine -.->|"optional transport"| node_service
node_rss -.->|"parses feeds"| node_feedparser
node_http -->|"uses backport"| node_compat_datetime
node_http -->|"uses backport"| node_compat_collections
node_pool -->|"uses backport"| node_compat_collections
node_compat_http -->|"uses sockets"| node_compat_socket
node_http_server -->|"uses sockets"| node_compat_socket
node_http_server -->|"uses server"| node_compat_server
node_xml_client -->|"uses HTTP"| node_compat_http
node_xml_client -->|"uses sockets"| node_compat_socket
node_xml_server -->|"uses server"| node_http_server
node_xml_server -->|"uses client code"| node_xml_client
node_future_http_move -->|"selects module"| node_http_server
node_compat_datetime -->|"imports builtins"| node_compat_builtins
node_compat_datetime -->|"uses utilities"| node_compat_misc
node_compat_http -->|"parses URLs"| node_compat_parse
node_compat_http -->|"uses utilities"| node_compat_misc
node_compat_http -->|"uses collections"| node_compat_collections
node_compat_http -->|"uses sockets"| node_compat_socket
node_compat_builtins -.->|"exports bytes type"| node_compat_bytes
node_http_server -->|"uses system shim"| node_compat_sys
node_xml_client -->|"uses datetime"| node_compat_datetime
node_xml_server -->|"uses datetime"| node_compat_datetime

click node_chat "https://github.com/mon1-innovation/maica_chatsubmod/blob/main/game/python-packages/bot_interface.py"
click node_maica "https://github.com/mon1-innovation/maica_chatsubmod/blob/main/game/python-packages/maica.py"
click node_progress "https://github.com/mon1-innovation/maica_chatsubmod/blob/main/game/python-packages/maica_chat_progress.py"
click node_context "https://github.com/mon1-innovation/maica_chatsubmod/blob/main/game/python-packages/maica_context_query.py"
click node_emotion "https://github.com/mon1-innovation/maica_chatsubmod/blob/main/game/python-packages/emotion_analyze.py"
click node_emotion2 "https://github.com/mon1-innovation/maica_chatsubmod/blob/main/game/python-packages/emotion_analyze_v2.py"
click node_trigger "https://github.com/mon1-innovation/maica_chatsubmod/blob/main/game/python-packages/maica_mtrigger.py"
click node_provider "https://github.com/mon1-innovation/maica_chatsubmod/blob/main/game/python-packages/maica_provider_manager.py"
click node_rss "https://github.com/mon1-innovation/maica_chatsubmod/blob/main/game/python-packages/maica_rss_provider.py"
click node_postal "https://github.com/mon1-innovation/maica_chatsubmod/blob/main/game/python-packages/maica_mpostal_files.py"
click node_vista "https://github.com/mon1-innovation/maica_chatsubmod/blob/main/game/python-packages/maica_vista_files_manager.py"
click node_tasker "https://github.com/mon1-innovation/maica_chatsubmod/blob/main/game/python-packages/maica_tasker.py"
click node_events "https://github.com/mon1-innovation/maica_chatsubmod/blob/main/game/python-packages/maica_tasker_events.py"
click node_sessionsender "https://github.com/mon1-innovation/maica_chatsubmod/blob/main/game/python-packages/maica_tasker_sub_sessionsender.py"
click node_http "https://github.com/mon1-innovation/maica_chatsubmod/blob/main/game/python-packages/requests/sessions.py"
click node_pool "https://github.com/mon1-innovation/maica_chatsubmod/blob/main/game/python-packages/urllib3/poolmanager.py"
click node_appengine "https://github.com/mon1-innovation/maica_chatsubmod/blob/main/game/python-packages/urllib3/contrib/appengine.py"
click node_feedparser "https://github.com/mon1-innovation/maica_chatsubmod/blob/main/game/python-packages/feedparser2/feedparser.py"
click node_compat_datetime "https://github.com/mon1-innovation/maica_chatsubmod/blob/main/game/Submods/MAICA_ChatSubmod/lib/future/backports/datetime.py"
click node_compat_http "https://github.com/mon1-innovation/maica_chatsubmod/blob/main/game/Submods/MAICA_ChatSubmod/lib/future/backports/http/client.py"
click node_compat_misc "https://github.com/mon1-innovation/maica_chatsubmod/blob/main/game/Submods/MAICA_ChatSubmod/lib/future/backports/misc.py"
click node_compat_socket "https://github.com/mon1-innovation/maica_chatsubmod/blob/main/game/Submods/MAICA_ChatSubmod/lib/future/backports/socket.py"
click node_compat_server "https://github.com/mon1-innovation/maica_chatsubmod/blob/main/game/Submods/MAICA_ChatSubmod/lib/future/backports/socketserver.py"
click node_compat_parse "https://github.com/mon1-innovation/maica_chatsubmod/blob/main/game/Submods/MAICA_ChatSubmod/lib/future/backports/urllib/parse.py"
click node_compat_builtins "https://github.com/mon1-innovation/maica_chatsubmod/blob/main/game/Submods/MAICA_ChatSubmod/lib/future/moves/builtins.py"
click node_compat_collections "https://github.com/mon1-innovation/maica_chatsubmod/blob/main/game/Submods/MAICA_ChatSubmod/lib/future/moves/collections.py"
click node_compat_sys "https://github.com/mon1-innovation/maica_chatsubmod/blob/main/game/Submods/MAICA_ChatSubmod/lib/future/moves/sys.py"
click node_compat_bytes "https://github.com/mon1-innovation/maica_chatsubmod/blob/main/game/Submods/MAICA_ChatSubmod/lib/future/types/newbytes.py"
click node_http_server "https://github.com/mon1-innovation/maica_chatsubmod/blob/main/game/Submods/MAICA_ChatSubmod/lib/future/backports/http/server.py"
click node_xml_client "https://github.com/mon1-innovation/maica_chatsubmod/blob/main/game/Submods/MAICA_ChatSubmod/lib/future/backports/xmlrpc/client.py"
click node_xml_server "https://github.com/mon1-innovation/maica_chatsubmod/blob/main/game/Submods/MAICA_ChatSubmod/lib/future/backports/xmlrpc/server.py"
click node_future_http_move "https://github.com/mon1-innovation/maica_chatsubmod/blob/main/game/Submods/MAICA_ChatSubmod/lib/future/moves/http/server.py"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_chat,node_maica,node_progress,node_tasker,node_events,node_sessionsender toneBlue
class node_context,node_emotion,node_emotion2,node_trigger,node_provider,node_rss,node_postal,node_vista,node_feedparser toneAmber
class node_http,node_pool,node_appengine toneMint
class node_compat_datetime,node_compat_http,node_compat_misc,node_compat_socket,node_compat_server,node_compat_parse,node_compat_builtins,node_compat_collections,node_compat_sys,node_compat_bytes,node_http_server,node_xml_client,node_xml_server,node_future_http_move toneRose
class node_player,node_service toneIndigo
```

## Components

### Game experience

- [In-game chat](https://github.com/mon1-innovation/maica_chatsubmod/blob/main/game/python-packages/bot_interface.py): `game/python-packages/bot_interface.py`
- [Chat integration](https://github.com/mon1-innovation/maica_chatsubmod/blob/main/game/python-packages/maica.py): `game/python-packages/maica.py`
- [Chat progress](https://github.com/mon1-innovation/maica_chatsubmod/blob/main/game/python-packages/maica_chat_progress.py): `game/python-packages/maica_chat_progress.py`
- [Task handling](https://github.com/mon1-innovation/maica_chatsubmod/blob/main/game/python-packages/maica_tasker.py): `game/python-packages/maica_tasker.py`
- [Task events](https://github.com/mon1-innovation/maica_chatsubmod/blob/main/game/python-packages/maica_tasker_events.py): `game/python-packages/maica_tasker_events.py`
- [Session sending](https://github.com/mon1-innovation/maica_chatsubmod/blob/main/game/python-packages/maica_tasker_sub_sessionsender.py): `game/python-packages/maica_tasker_sub_sessionsender.py`

### MAICA features

- [Context lookup](https://github.com/mon1-innovation/maica_chatsubmod/blob/main/game/python-packages/maica_context_query.py): `game/python-packages/maica_context_query.py`
- [Emotion analysis](https://github.com/mon1-innovation/maica_chatsubmod/blob/main/game/python-packages/emotion_analyze.py): `game/python-packages/emotion_analyze.py`
- [Emotion analysis v2](https://github.com/mon1-innovation/maica_chatsubmod/blob/main/game/python-packages/emotion_analyze_v2.py): `game/python-packages/emotion_analyze_v2.py`
- [Game actions](https://github.com/mon1-innovation/maica_chatsubmod/blob/main/game/python-packages/maica_mtrigger.py): `game/python-packages/maica_mtrigger.py`
- [Providers](https://github.com/mon1-innovation/maica_chatsubmod/blob/main/game/python-packages/maica_provider_manager.py): `game/python-packages/maica_provider_manager.py`
- [RSS provider](https://github.com/mon1-innovation/maica_chatsubmod/blob/main/game/python-packages/maica_rss_provider.py): `game/python-packages/maica_rss_provider.py`
- [Mail and files](https://github.com/mon1-innovation/maica_chatsubmod/blob/main/game/python-packages/maica_mpostal_files.py): `game/python-packages/maica_mpostal_files.py`
- [Images and postcards](https://github.com/mon1-innovation/maica_chatsubmod/blob/main/game/python-packages/maica_vista_files_manager.py): `game/python-packages/maica_vista_files_manager.py`
- [Feed parsing](https://github.com/mon1-innovation/maica_chatsubmod/blob/main/game/python-packages/feedparser2/feedparser.py): `game/python-packages/feedparser2/feedparser.py`

### Service communication

- [HTTP client](https://github.com/mon1-innovation/maica_chatsubmod/blob/main/game/python-packages/requests/sessions.py): `game/python-packages/requests/sessions.py`
- [Connection pools](https://github.com/mon1-innovation/maica_chatsubmod/blob/main/game/python-packages/urllib3/poolmanager.py): `game/python-packages/urllib3/poolmanager.py`
- [App Engine transport](https://github.com/mon1-innovation/maica_chatsubmod/blob/main/game/python-packages/urllib3/contrib/appengine.py): `game/python-packages/urllib3/contrib/appengine.py`

### Python compatibility

- [Datetime backport](https://github.com/mon1-innovation/maica_chatsubmod/blob/main/game/Submods/MAICA_ChatSubmod/lib/future/backports/datetime.py): `game/Submods/MAICA_ChatSubmod/lib/future/backports/datetime.py`
- [HTTP backport](https://github.com/mon1-innovation/maica_chatsubmod/blob/main/game/Submods/MAICA_ChatSubmod/lib/future/backports/http/client.py): `game/Submods/MAICA_ChatSubmod/lib/future/backports/http/client.py`
- [Misc backports](https://github.com/mon1-innovation/maica_chatsubmod/blob/main/game/Submods/MAICA_ChatSubmod/lib/future/backports/misc.py): `game/Submods/MAICA_ChatSubmod/lib/future/backports/misc.py`
- [Socket backport](https://github.com/mon1-innovation/maica_chatsubmod/blob/main/game/Submods/MAICA_ChatSubmod/lib/future/backports/socket.py): `game/Submods/MAICA_ChatSubmod/lib/future/backports/socket.py`
- [Socket server backport](https://github.com/mon1-innovation/maica_chatsubmod/blob/main/game/Submods/MAICA_ChatSubmod/lib/future/backports/socketserver.py): `game/Submods/MAICA_ChatSubmod/lib/future/backports/socketserver.py`
- [URL parsing backport](https://github.com/mon1-innovation/maica_chatsubmod/blob/main/game/Submods/MAICA_ChatSubmod/lib/future/backports/urllib/parse.py): `game/Submods/MAICA_ChatSubmod/lib/future/backports/urllib/parse.py`
- [Builtins backport](https://github.com/mon1-innovation/maica_chatsubmod/blob/main/game/Submods/MAICA_ChatSubmod/lib/future/moves/builtins.py): `game/Submods/MAICA_ChatSubmod/lib/future/moves/builtins.py`
- [Collections backport](https://github.com/mon1-innovation/maica_chatsubmod/blob/main/game/Submods/MAICA_ChatSubmod/lib/future/moves/collections.py): `game/Submods/MAICA_ChatSubmod/lib/future/moves/collections.py`
- [System backport](https://github.com/mon1-innovation/maica_chatsubmod/blob/main/game/Submods/MAICA_ChatSubmod/lib/future/moves/sys.py): `game/Submods/MAICA_ChatSubmod/lib/future/moves/sys.py`
- [Bytes type](https://github.com/mon1-innovation/maica_chatsubmod/blob/main/game/Submods/MAICA_ChatSubmod/lib/future/types/newbytes.py): `game/Submods/MAICA_ChatSubmod/lib/future/types/newbytes.py`
- [HTTP server backport](https://github.com/mon1-innovation/maica_chatsubmod/blob/main/game/Submods/MAICA_ChatSubmod/lib/future/backports/http/server.py): `game/Submods/MAICA_ChatSubmod/lib/future/backports/http/server.py`
- [XML-RPC client](https://github.com/mon1-innovation/maica_chatsubmod/blob/main/game/Submods/MAICA_ChatSubmod/lib/future/backports/xmlrpc/client.py): `game/Submods/MAICA_ChatSubmod/lib/future/backports/xmlrpc/client.py`
- [XML-RPC server](https://github.com/mon1-innovation/maica_chatsubmod/blob/main/game/Submods/MAICA_ChatSubmod/lib/future/backports/xmlrpc/server.py): `game/Submods/MAICA_ChatSubmod/lib/future/backports/xmlrpc/server.py`
- [HTTP move shim](https://github.com/mon1-innovation/maica_chatsubmod/blob/main/game/Submods/MAICA_ChatSubmod/lib/future/moves/http/server.py): `game/Submods/MAICA_ChatSubmod/lib/future/moves/http/server.py`

### Other components

- **Player**
- **MAICA service**

## Connections

- Player → In-game chat: starts chat
- In-game chat → Chat integration: uses submod
- Chat integration → MAICA service: sends chat
- MAICA service → Chat integration: returns reply
- Chat integration → Context lookup: uses context
- Chat integration → Emotion analysis: analyzes emotion
- Chat integration → Emotion analysis v2: analyzes emotion
- Chat integration → Game actions: invokes actions
- Chat integration → Providers: uses providers
- Providers → RSS provider: includes provider
- Chat integration → Mail and files: supports mail
- Chat integration → Images and postcards: supports images
- Chat integration → Task handling: schedules tasks
- Task handling → Task events: emits events
- Task handling → Session sending: uses sender
- Providers → HTTP client: uses HTTP (evidence: `game/python-packages/maica_provider_manager.py`)
- Images and postcards → HTTP client: uses HTTP (evidence: `game/python-packages/maica_vista_files_manager.py`)
- HTTP client → Connection pools: uses pools
- App Engine transport → MAICA service: optional transport (evidence: `game/python-packages/urllib3/contrib/appengine.py`)
- RSS provider → Feed parsing: parses feeds
- HTTP client → Datetime backport: uses backport (evidence: `game/python-packages/requests/sessions.py`)
- HTTP client → Collections backport: uses backport (evidence: `game/python-packages/requests/sessions.py`)
- Connection pools → Collections backport: uses backport (evidence: `game/python-packages/urllib3/poolmanager.py`)
- HTTP backport → Socket backport: uses sockets (evidence: `game/Submods/MAICA_ChatSubmod/lib/future/backports/http/client.py`)
- HTTP server backport → Socket backport: uses sockets (evidence: `game/Submods/MAICA_ChatSubmod/lib/future/backports/http/server.py`)
- HTTP server backport → Socket server backport: uses server (evidence: `game/Submods/MAICA_ChatSubmod/lib/future/backports/http/server.py`)
- XML-RPC client → HTTP backport: uses HTTP (evidence: `game/Submods/MAICA_ChatSubmod/lib/future/backports/xmlrpc/client.py`)
- XML-RPC client → Socket backport: uses sockets (evidence: `game/Submods/MAICA_ChatSubmod/lib/future/backports/xmlrpc/client.py`)
- XML-RPC server → HTTP server backport: uses server (evidence: `game/Submods/MAICA_ChatSubmod/lib/future/backports/xmlrpc/server.py`)
- XML-RPC server → XML-RPC client: uses client code (evidence: `game/Submods/MAICA_ChatSubmod/lib/future/backports/xmlrpc/server.py`)
- HTTP move shim → HTTP server backport: selects module (evidence: `game/Submods/MAICA_ChatSubmod/lib/future/moves/http/server.py`)
- Datetime backport → Builtins backport: imports builtins (evidence: `game/Submods/MAICA_ChatSubmod/lib/future/backports/datetime.py`)
- Datetime backport → Misc backports: uses utilities (evidence: `game/Submods/MAICA_ChatSubmod/lib/future/backports/datetime.py`)
- HTTP backport → URL parsing backport: parses URLs (evidence: `game/Submods/MAICA_ChatSubmod/lib/future/backports/http/client.py`)
- HTTP backport → Misc backports: uses utilities (evidence: `game/Submods/MAICA_ChatSubmod/lib/future/backports/http/client.py`)
- HTTP backport → Collections backport: uses collections (evidence: `game/Submods/MAICA_ChatSubmod/lib/future/backports/http/client.py`)
- HTTP backport → Socket backport: uses sockets (evidence: `game/Submods/MAICA_ChatSubmod/lib/future/backports/http/client.py`)
- Builtins backport → Bytes type: exports bytes type
- HTTP server backport → System backport: uses system shim (evidence: `game/Submods/MAICA_ChatSubmod/lib/future/backports/http/server.py`)
- XML-RPC client → Datetime backport: uses datetime (evidence: `game/Submods/MAICA_ChatSubmod/lib/future/backports/xmlrpc/client.py`)
- XML-RPC server → Datetime backport: uses datetime (evidence: `game/Submods/MAICA_ChatSubmod/lib/future/backports/xmlrpc/server.py`)
