# integration-intelligent/checkin architecture

> Architecture diagram of the GitHub repository integration-intelligent/checkin, 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/integration-intelligent/checkin
- Repository: https://github.com/integration-intelligent/checkin

## Overview

Checkin is a small GitHub Actions-driven GLaDOS auto-check-in tool. The documented workflow supplies Cookie and User-Agent secrets, runs the script on a daily schedule, checks in each account, fetches remaining days, and optionally sends notices. The runtime implementation is concentrated in main.js; the workflow’s scheduling details are documented in the README but its source was not sampled.

Main entry points: [`main.js`](https://github.com/integration-intelligent/checkin/blob/main/main.js) (Runtime entry)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_run["Check-in runtime"]
  node_entry["Runtime entry<br/>[main.js]"]
  node_accounts["Account inputs<br/>[main.js]"]
  node_checkin["GLaDOS check-in<br/>[main.js]"]
  node_status["Status lookup<br/>[main.js]"]
  node_notice["Notice assembly<br/>[main.js]"]
end

subgraph group_notice["Notifications"]
  node_dispatch["Notice dispatch<br/>[main.js]"]
  node_providers["Notification services"]
end

node_user(("Repository owner"))
node_schedule(("Daily Actions"))
node_glados["GLaDOS API"]

node_user -->|"sets secrets"| node_accounts
node_schedule -->|"runs daily"| node_entry
node_entry -->|"reads"| node_accounts
node_accounts -->|"supplies cookies"| node_checkin
node_checkin -->|"posts check-in"| node_glados
node_accounts -->|"supplies headers"| node_status
node_status -->|"gets account status"| node_glados
node_entry -->|"assembles outcomes"| node_notice
node_entry -->|"calls"| node_dispatch
node_notice -->|"provides messages"| node_dispatch
node_dispatch -->|"sends notices"| node_providers

click node_entry "https://github.com/integration-intelligent/checkin/blob/main/main.js"
click node_accounts "https://github.com/integration-intelligent/checkin/blob/main/main.js"
click node_checkin "https://github.com/integration-intelligent/checkin/blob/main/main.js"
click node_status "https://github.com/integration-intelligent/checkin/blob/main/main.js"
click node_notice "https://github.com/integration-intelligent/checkin/blob/main/main.js"
click node_dispatch "https://github.com/integration-intelligent/checkin/blob/main/main.js"

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_entry,node_accounts,node_checkin,node_status,node_notice toneBlue
class node_dispatch,node_providers toneAmber
class node_user,node_schedule toneIndigo
class node_glados toneMint
```

## Components

### Check-in runtime

- [Runtime entry](https://github.com/integration-intelligent/checkin/blob/main/main.js): `main.js`
- [Account inputs](https://github.com/integration-intelligent/checkin/blob/main/main.js): `main.js`
- [GLaDOS check-in](https://github.com/integration-intelligent/checkin/blob/main/main.js): `main.js`
- [Status lookup](https://github.com/integration-intelligent/checkin/blob/main/main.js): `main.js`
- [Notice assembly](https://github.com/integration-intelligent/checkin/blob/main/main.js): `main.js`

### Notifications

- [Notice dispatch](https://github.com/integration-intelligent/checkin/blob/main/main.js): `main.js`
- **Notification services**

### Other components

- **Repository owner**
- **Daily Actions**
- **GLaDOS API**

## Connections

- Repository owner → Account inputs: sets secrets (evidence: `readme.md`)
- Daily Actions → Runtime entry: runs daily (evidence: `readme.md`)
- Runtime entry → Account inputs: reads (evidence: `main.js`)
- Account inputs → GLaDOS check-in: supplies cookies (evidence: `main.js`)
- GLaDOS check-in → GLaDOS API: posts check-in (evidence: `main.js`)
- Account inputs → Status lookup: supplies headers (evidence: `main.js`)
- Status lookup → GLaDOS API: gets account status (evidence: `main.js`)
- Runtime entry → Notice assembly: assembles outcomes (evidence: `main.js`)
- Runtime entry → Notice dispatch: calls (evidence: `main.js`)
- Notice assembly → Notice dispatch: provides messages (evidence: `main.js`)
- Notice dispatch → Notification services: sends notices (evidence: `main.js`)
