%%{init: {'themeVariables': { 'fontSize': '12px'}}}%%
graph TD
    classDef path fill:#eee,stroke:#000,color:#000
    classDef plan fill:#fff,stroke-width:1px,color:#000
    classDef itemplan fill:#fff,stroke-width:2px,color:#000
    classDef unbatchedplan fill:#dff,stroke-width:1px,color:#000
    classDef sideeffectplan fill:#fcc,stroke-width:2px,color:#000
    classDef bucket fill:#f6f6f6,color:#000,stroke-width:2px,text-align:left

    subgraph "Buckets for queries/connections/pagination-before"
    Bucket0("Bucket 0 (root)<br /><br />1: PgSelectInlineApply[53]<br />ᐳ: 11, 12, 57, 58, 59, 13, 16, 17<br />2: PgSelect[10], PgSelect[22]<br />ᐳ: Access[23], Access[33], Access[54]<br />3: Connection[14], First[24]<br />ᐳ: 25, 26<br />4: ConnectionItems[18]<br />5: First[31], Last[35]<br />ᐳ: 32, 34, 36, 37"):::bucket
    Bucket1("Bucket 1 (nullableBoundary)<br />Deps: 14, 18, 33, 54, 26, 34, 37<br /><br />ROOT Connectionᐸ10ᐳ[14]"):::bucket
    Bucket3("Bucket 3 (listItem)<br />Deps: 33, 54<br /><br />ROOT __Item{3}ᐸ18ᐳ[27]"):::bucket
    Bucket4("Bucket 4 (nullableBoundary)<br />Deps: 27, 33, 28, 54<br /><br />ROOT Edge{3}[28]"):::bucket
    Bucket5("Bucket 5 (nullableBoundary)<br />Deps: 38, 54<br /><br />ROOT PgSelectSingle{4}ᐸmessagesᐳ[38]<br />1: <br />ᐳ: 42, 55, 56, 48<br />2: First[49]<br />ᐳ: PgSelectSingle[50]"):::bucket
    Bucket6("Bucket 6 (nullableBoundary)<br />Deps: 50<br /><br />ROOT PgSelectSingle{5}ᐸusersᐳ[50]"):::bucket
    end
    Bucket0 --> Bucket1
    Bucket1 --> Bucket3
    Bucket3 --> Bucket4
    Bucket4 --> Bucket5
    Bucket5 --> Bucket6

    %% plan dependencies
    PgSelect10[["PgSelect[10∈0] ➊<br />ᐸmessages+1ᐳ<br />More deps:<br />- Constantᐸ3ᐳ[58]"]]:::plan
    Object13{{"Object[13∈0] ➊<br />ᐸ{pgSettings,withPgClient}ᐳ"}}:::plan
    Lambda16{{"Lambda[16∈0] ➊<br />ᐸincludeArchivedConditionᐳ<br />More deps:<br />- Constantᐸ[ undefined, 'INHERIT' ]ᐳ[57]"}}:::plan
    Lambda17{{"Lambda[17∈0] ➊<br />ᐸparseCursorᐳ<br />More deps:<br />- Constantᐸ'WyJmMGIyOGM5NGMxIiwiY2E3MGNhNzAtMDAwMC0wMDAwLTAwMDAtY2VjMTEᐳ[59]"}}:::plan
    PgSelectInlineApply53["PgSelectInlineApply[53∈0] ➊"]:::plan
    Object13 & Lambda16 & Lambda17 & PgSelectInlineApply53 --> PgSelect10
    PgSelect22[["PgSelect[22∈0] ➊<br />ᐸmessages(aggregate)ᐳ<br />More deps:<br />- Constantᐸ3ᐳ[58]"]]:::plan
    Object13 & Lambda16 & Lambda17 --> PgSelect22
    Connection14[["Connection[14∈0] ➊<br />ᐸ10ᐳ<br />Dependents: 2<br />More deps:<br />- Constantᐸ3ᐳ[58]"]]:::plan
    PgSelect10 & Lambda17 --> Connection14
    Access11{{"Access[11∈0] ➊<br />ᐸ2.pgSettingsᐳ"}}:::plan
    Access12{{"Access[12∈0] ➊<br />ᐸ2.withPgClientᐳ"}}:::plan
    Access11 & Access12 --> Object13
    __Value2["__Value[2∈0] ➊<br />ᐸcontextᐳ"]:::plan
    __Value2 --> Access11
    __Value2 --> Access12
    ConnectionItems18[["ConnectionItems[18∈0] ➊<br />Dependents: 3<br />More deps:<br />- Connection[14]"]]:::plan
    Access23{{"Access[23∈0] ➊<br />ᐸ22.itemsᐳ"}}:::plan
    PgSelect22 --> Access23
    First24[["First[24∈0] ➊"]]:::plan
    Access23 --> First24
    PgSelectSingle25{{"PgSelectSingle[25∈0] ➊<br />ᐸmessagesᐳ"}}:::plan
    First24 --> PgSelectSingle25
    First31[["First[31∈0] ➊<br />More deps:<br />- ConnectionItems[18]"]]:::plan
    PgSelectSingle32{{"PgSelectSingle[32∈0] ➊<br />ᐸmessagesᐳ"}}:::plan
    First31 --> PgSelectSingle32
    Access33{{"Access[33∈0] ➊<br />ᐸ10.cursorDetailsᐳ<br />Dependents: 3"}}:::plan
    PgSelect10 --> Access33
    Last35[["Last[35∈0] ➊<br />More deps:<br />- ConnectionItems[18]"]]:::plan
    PgSelectSingle36{{"PgSelectSingle[36∈0] ➊<br />ᐸmessagesᐳ"}}:::plan
    Last35 --> PgSelectSingle36
    Access54{{"Access[54∈0] ➊<br />ᐸ10.m.joinDetailsFor44ᐳ"}}:::plan
    PgSelect10 --> Access54
    PageInfo21{{"PageInfo[21∈1] ➊<br />More deps:<br />- Connection[14]"}}:::plan
    __Item27[/"__Item[27∈3]<br />ᐸ18ᐳ<br />More deps:<br />- ConnectionItems[18]"\]:::itemplan
    Edge28{{"Edge[28∈3]"}}:::plan
    __Item27 --> Edge28
    PgCursor40{{"PgCursor[40∈4]<br />More deps:<br />- Access[33]"}}:::plan
    PgSelectSingle38{{"PgSelectSingle[38∈4]<br />ᐸmessagesᐳ"}}:::plan
    PgSelectSingle38 --> PgCursor40
    __Item27 --> PgSelectSingle38
    List55{{"List[55∈5]<br />ᐸ54,38ᐳ"}}:::plan
    Access54 & PgSelectSingle38 --> List55
    PgClassExpression42{{"PgClassExpression[42∈5]<br />ᐸ__messages__.”body”ᐳ"}}:::plan
    PgSelectSingle38 --> PgClassExpression42
    Access48{{"Access[48∈5]<br />ᐸ56.itemsᐳ"}}:::plan
    Lambda56{{"Lambda[56∈5]<br />ᐸpgInlineViaJoinTransformᐳ"}}:::plan
    Lambda56 --> Access48
    First49[["First[49∈5]"]]:::plan
    Access48 --> First49
    PgSelectSingle50{{"PgSelectSingle[50∈5]<br />ᐸusersᐳ"}}:::plan
    First49 --> PgSelectSingle50
    List55 --> Lambda56
    PgClassExpression51{{"PgClassExpression[51∈6]<br />ᐸ__users__.”username”ᐳ"}}:::plan
    PgSelectSingle50 --> PgClassExpression51
    PgClassExpression52{{"PgClassExpression[52∈6]<br />ᐸ__users__....vatar_url”ᐳ"}}:::plan
    PgSelectSingle50 --> PgClassExpression52

    %% define steps
    classDef bucket0 stroke:#696969
    class Bucket0,__Value2,PgSelect10,Access11,Access12,Object13,Connection14,Lambda16,Lambda17,ConnectionItems18,PgSelect22,Access23,First24,PgSelectSingle25,First31,PgSelectSingle32,Access33,Last35,PgSelectSingle36,PgSelectInlineApply53,Access54 bucket0
    classDef bucket1 stroke:#00bfff
    class Bucket1,PageInfo21 bucket1
    classDef bucket3 stroke:#ffa500
    class Bucket3,__Item27,Edge28 bucket3
    classDef bucket4 stroke:#0000ff
    class Bucket4,PgSelectSingle38,PgCursor40 bucket4
    classDef bucket5 stroke:#7fff00
    class Bucket5,PgClassExpression42,Access48,First49,PgSelectSingle50,List55,Lambda56 bucket5
    classDef bucket6 stroke:#ff1493
    class Bucket6,PgClassExpression51,PgClassExpression52 bucket6

