docs(diagrams): refresh ai-optimized mermaid flows after audit
This commit is contained in:
@@ -57,6 +57,11 @@ sequenceDiagram
|
|||||||
LQ-->>G: starts work immediately
|
LQ-->>G: starts work immediately
|
||||||
else lane busy
|
else lane busy
|
||||||
Note over LQ: work queued (FIFO) for this lane
|
Note over LQ: work queued (FIFO) for this lane
|
||||||
|
opt mode=interrupt and newer request arrives
|
||||||
|
LQ->>SB: request cancellation of active lane run
|
||||||
|
SB->>A: cancel() (best effort)
|
||||||
|
G-->>C: transient preempt notice (queue.preempt)
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
G->>A: process(message) in that session
|
G->>A: process(message) in that session
|
||||||
|
|||||||
@@ -14,6 +14,14 @@ flowchart LR
|
|||||||
MP[Model Providers\nAnthropic/OpenAI/Gemini/...\nvia ModelClient]
|
MP[Model Providers\nAnthropic/OpenAI/Gemini/...\nvia ModelClient]
|
||||||
CH[Chat Networks\nTelegram/Discord/Slack/WhatsApp/...]
|
CH[Chat Networks\nTelegram/Discord/Slack/WhatsApp/...]
|
||||||
WEB[Web\nsearch/fetch targets]
|
WEB[Web\nsearch/fetch targets]
|
||||||
|
GOOG[Google APIs\nGmail/Calendar/Docs/Drive/Tasks]
|
||||||
|
end
|
||||||
|
|
||||||
|
subgraph CFG[Config Sources]
|
||||||
|
CD[config/default.yaml]
|
||||||
|
CO[config/profiles/*.overlay.yaml]
|
||||||
|
CG[Generated config profile\nconfig/paas.yaml]
|
||||||
|
CE[ENV vars + expansion]
|
||||||
end
|
end
|
||||||
|
|
||||||
subgraph HOST[Host (Flynn Daemon)]
|
subgraph HOST[Host (Flynn Daemon)]
|
||||||
@@ -29,6 +37,9 @@ flowchart LR
|
|||||||
MEM[Memory Store\nfiles + vector/keyword]
|
MEM[Memory Store\nfiles + vector/keyword]
|
||||||
AU[Audit Logger\nredacted]
|
AU[Audit Logger\nredacted]
|
||||||
HS[Hooks/Autonomy\nconfirm/log/silent]
|
HS[Hooks/Autonomy\nconfirm/log/silent]
|
||||||
|
GA[Google OAuth Runtime\nsrc/google/oauth.ts]
|
||||||
|
AS[Auth Store\n~/.config/flynn/auth.json]
|
||||||
|
TF[Legacy Token Files\n~/.config/flynn/*-token.json]
|
||||||
end
|
end
|
||||||
|
|
||||||
subgraph SBX[Sandbox (per-session Docker)]
|
subgraph SBX[Sandbox (per-session Docker)]
|
||||||
@@ -37,6 +48,13 @@ flowchart LR
|
|||||||
NET[Sandbox Network\n(egress policy)]
|
NET[Sandbox Network\n(egress policy)]
|
||||||
end
|
end
|
||||||
|
|
||||||
|
CD --> CG
|
||||||
|
CO --> CG
|
||||||
|
CE --> CG
|
||||||
|
|
||||||
|
CG --> RT
|
||||||
|
CE --> RT
|
||||||
|
|
||||||
CH --> CA
|
CH --> CA
|
||||||
GW --> RT
|
GW --> RT
|
||||||
CA --> RT
|
CA --> RT
|
||||||
@@ -57,6 +75,10 @@ flowchart LR
|
|||||||
ST --> NET
|
ST --> NET
|
||||||
|
|
||||||
TE -->|web tools| WEB
|
TE -->|web tools| WEB
|
||||||
|
TE -->|google tools| GA
|
||||||
|
GA --> GOOG
|
||||||
|
GA <--> AS
|
||||||
|
GA --> TF
|
||||||
```
|
```
|
||||||
|
|
||||||
## Big Picture (Runtime Data Flow)
|
## Big Picture (Runtime Data Flow)
|
||||||
@@ -228,10 +250,15 @@ sequenceDiagram
|
|||||||
participant NA as NativeAgent
|
participant NA as NativeAgent
|
||||||
participant MR as ModelRouter
|
participant MR as ModelRouter
|
||||||
participant MC as ModelClient
|
participant MC as ModelClient
|
||||||
|
participant FC as Fallback Client
|
||||||
participant TP as ToolPolicy/Registry
|
participant TP as ToolPolicy/Registry
|
||||||
participant TE as ToolExecutor
|
participant TE as ToolExecutor
|
||||||
participant HE as HookEngine
|
participant HE as HookEngine
|
||||||
participant AL as AuditLogger
|
participant AL as AuditLogger
|
||||||
|
participant GA as Google OAuth Runtime
|
||||||
|
participant AS as Auth Store
|
||||||
|
participant TF as Token Files
|
||||||
|
participant GP as Google APIs
|
||||||
|
|
||||||
U->>CA: message
|
U->>CA: message
|
||||||
CA->>CR: onMessage(InboundMessage)
|
CA->>CR: onMessage(InboundMessage)
|
||||||
@@ -241,7 +268,13 @@ sequenceDiagram
|
|||||||
AR->>NA: process(userMessage)
|
AR->>NA: process(userMessage)
|
||||||
NA->>MR: chat(messages + tools)
|
NA->>MR: chat(messages + tools)
|
||||||
MR->>MC: provider request
|
MR->>MC: provider request
|
||||||
MC-->>MR: response (content or tool_calls)
|
alt primary model success
|
||||||
|
MC-->>MR: response (content or tool_calls)
|
||||||
|
else primary model error
|
||||||
|
Note over MR: retry + tier/global fallback\n(skip duplicate clients)
|
||||||
|
MR->>FC: fallback provider request
|
||||||
|
FC-->>MR: fallback response
|
||||||
|
end
|
||||||
MR-->>NA: ChatResponse
|
MR-->>NA: ChatResponse
|
||||||
|
|
||||||
alt model requests tool use
|
alt model requests tool use
|
||||||
@@ -249,6 +282,16 @@ sequenceDiagram
|
|||||||
NA->>TE: execute(tool, args, context)
|
NA->>TE: execute(tool, args, context)
|
||||||
TE->>HE: confirm/log/silent (autonomy)
|
TE->>HE: confirm/log/silent (autonomy)
|
||||||
HE-->>TE: approved/denied
|
HE-->>TE: approved/denied
|
||||||
|
alt google.* tool execution
|
||||||
|
TE->>GA: createGoogleOAuth2Client(service)
|
||||||
|
GA->>AS: load stored token
|
||||||
|
alt auth store token missing
|
||||||
|
GA->>TF: read legacy token file
|
||||||
|
TF-->>GA: token
|
||||||
|
GA->>AS: migrate token record
|
||||||
|
end
|
||||||
|
GA->>GP: API request with refreshed OAuth creds
|
||||||
|
end
|
||||||
TE->>AL: audit (redacted)
|
TE->>AL: audit (redacted)
|
||||||
TE-->>NA: ToolResult
|
TE-->>NA: ToolResult
|
||||||
NA->>MR: chat(tool_result blocks)
|
NA->>MR: chat(tool_result blocks)
|
||||||
|
|||||||
@@ -15,11 +15,16 @@ If you only want the protocol surface, see `docs/api/PROTOCOL.md`.
|
|||||||
|
|
||||||
```mermaid
|
```mermaid
|
||||||
flowchart LR
|
flowchart LR
|
||||||
|
subgraph CFG[Config + Runtime Policy]
|
||||||
|
QP[server.queue policy\nmode/cap/overflow/overrides]
|
||||||
|
end
|
||||||
|
|
||||||
subgraph GW[Gateway Process]
|
subgraph GW[Gateway Process]
|
||||||
WS[WebSocket connection\n(connectionId)]
|
WS[WebSocket connection\n(connectionId)]
|
||||||
GS[GatewayServer]
|
GS[GatewayServer]
|
||||||
LQ[LaneQueue\nper-session FIFO]
|
LQ[LaneQueue\nper-session FIFO]
|
||||||
SB[SessionBridge\nconnectionId -> sessionId -> AgentOrchestrator]
|
SB[SessionBridge\nconnectionId -> sessionId -> AgentOrchestrator]
|
||||||
|
AQ[AuditLogger\nqueue.preempt events]
|
||||||
end
|
end
|
||||||
|
|
||||||
subgraph CORE[Flynn Core]
|
subgraph CORE[Flynn Core]
|
||||||
@@ -29,8 +34,10 @@ flowchart LR
|
|||||||
end
|
end
|
||||||
|
|
||||||
WS --> GS
|
WS --> GS
|
||||||
|
QP --> GS
|
||||||
GS --> LQ
|
GS --> LQ
|
||||||
GS --> SB
|
GS --> SB
|
||||||
|
LQ --> AQ
|
||||||
|
|
||||||
SB --> AO
|
SB --> AO
|
||||||
SB --> SM
|
SB --> SM
|
||||||
@@ -97,4 +104,3 @@ Key files:
|
|||||||
|
|
||||||
- `src/gateway/handlers/agent.ts`
|
- `src/gateway/handlers/agent.ts`
|
||||||
- `src/backends/native/orchestrator.ts`
|
- `src/backends/native/orchestrator.ts`
|
||||||
|
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
"status": "completed",
|
"status": "completed",
|
||||||
"date": "2026-02-24",
|
"date": "2026-02-24",
|
||||||
"updated": "2026-02-24",
|
"updated": "2026-02-24",
|
||||||
"summary": "Completed a repo-wide audit and implemented hardening/refactors for Google OAuth token handling, router fallback correctness, config-profile consolidation, and audit logging path behavior. Added Google service coverage to `flynn doctor`, introduced a unified `flynn google-auth` command, aligned fallback-chain defaults with runtime semantics, expanded provider capability type coverage, and produced operator/agent-facing documentation plus REPORT.md.",
|
"summary": "Completed a repo-wide audit and implemented hardening/refactors for Google OAuth token handling, router fallback correctness, config-profile consolidation, and audit logging path behavior. Added Google service coverage to `flynn doctor`, introduced a unified `flynn google-auth` command, aligned fallback-chain defaults with runtime semantics, expanded provider capability type coverage, produced operator/agent-facing documentation plus REPORT.md, and refreshed Mermaid architecture/protocol diagrams to match the new flows.",
|
||||||
"files_modified": [
|
"files_modified": [
|
||||||
"src/auth/google.ts",
|
"src/auth/google.ts",
|
||||||
"src/google/oauth.ts",
|
"src/google/oauth.ts",
|
||||||
@@ -28,6 +28,9 @@
|
|||||||
"README.md",
|
"README.md",
|
||||||
"docs/operations/GOOGLE_AUTH.md",
|
"docs/operations/GOOGLE_AUTH.md",
|
||||||
"docs/architecture/AGENT_REPO_MAP.md",
|
"docs/architecture/AGENT_REPO_MAP.md",
|
||||||
|
"docs/architecture/AGENT_DIAGRAM.md",
|
||||||
|
"docs/architecture/GATEWAY_SESSIONS_AND_QUEUE.md",
|
||||||
|
"docs/api/PROTOCOL.md",
|
||||||
"REPORT.md",
|
"REPORT.md",
|
||||||
"docs/plans/state.json"
|
"docs/plans/state.json"
|
||||||
],
|
],
|
||||||
|
|||||||
Reference in New Issue
Block a user