baby-free.openapps.xyz

Source

This app’s code and revision history are public. Download a copy or explore the files below.

Public
The app’s code and revision history are public.
Owned app · rev c84ed8821371
Run it yourself
Take the whole tree and run it on your own machine. The download needs no account. Cloning needs a sign-in.
Download .zip
bounded clone 381bd6356d4b794ac2a7c1b8
A copy you download is not bounded. The guarantees this app runs under - declared egress, proven invariants, writes that fail closed - live in the runtime serving this page, not in the files. What you get is auditable source you can read and run, with no runtime guarantees attached.
← All files
policy-tests/remove-and-signin.json
{
  "version": "1",
  "name": "the owner removes a caregiver and replaces the key; the assistant key check; the owner's account takes over ownership",
  "actors": {
    "Mom": "mom_guest",
    "MomAccount": "mom_account",
    "Dad": "dad_guest",
    "Nanny": "nanny_guest",
    "Api": "public_api",
    "Eve": "eve_guest"
  },
  "steps": [
    {
      "op": "setTime",
      "epoch": 1800000000
    },
    {
      "op": "as",
      "who": "Mom"
    },
    {
      "op": "setMany",
      "writes": [
        {
          "path": "households/famBBBBBBBBBBBBBBBBB",
          "data": {
            "name": "Ada's family",
            "tz": "UTC",
            "createdBy": "$Mom",
            "createdAt": 1800000000
          }
        },
        {
          "path": "households/famBBBBBBBBBBBBBBBBB/members/mom_guest",
          "data": {
            "name": "Mom",
            "at": 1800000000
          }
        },
        {
          "path": "households/famBBBBBBBBBBBBBBBBB/owners/mom_guest",
          "data": {
            "at": 1800000000
          }
        },
        {
          "path": "householdkeys/famBBBBBBBBBBBBBBBBB",
          "data": {
            "key": "oldkeyoldkeyoldkeyoldkey"
          }
        },
        {
          "path": "ownerkeys/famBBBBBBBBBBBBBBBBB",
          "data": {
            "key": "ownerkeyownerkeyownerkey"
          }
        },
        {
          "path": "households/famBBBBBBBBBBBBBBBBB/babies/babyAda",
          "data": {
            "name": "Ada",
            "birth": "",
            "createdAt": 1800000000
          }
        }
      ]
    },
    {
      "op": "as",
      "who": "Dad"
    },
    {
      "op": "setMany",
      "writes": [
        {
          "path": "households/famBBBBBBBBBBBBBBBBB/claims/dad_guest",
          "data": {
            "key": "oldkeyoldkeyoldkeyoldkey",
            "n": "a"
          }
        },
        {
          "path": "households/famBBBBBBBBBBBBBBBBB/members/dad_guest",
          "data": {
            "name": "Dad",
            "at": 1800000000
          }
        }
      ]
    },
    {
      "op": "as",
      "who": "Nanny"
    },
    {
      "op": "setMany",
      "writes": [
        {
          "path": "households/famBBBBBBBBBBBBBBBBB/claims/nanny_guest",
          "data": {
            "key": "oldkeyoldkeyoldkeyoldkey",
            "n": "a"
          }
        },
        {
          "path": "households/famBBBBBBBBBBBBBBBBB/members/nanny_guest",
          "data": {
            "name": "Nanny",
            "at": 1800000000
          }
        }
      ]
    },
    {
      "op": "set",
      "path": "households/famBBBBBBBBBBBBBBBBB/events/n1",
      "data": {
        "baby": "babyAda",
        "type": "diaper",
        "start": 1800000000,
        "data": "{\"kind\":\"wet\"}",
        "by": "$Nanny",
        "createdAt": 1800000000
      }
    },
    {
      "op": "as",
      "who": "Api"
    },
    {
      "op": "set",
      "path": "households/famBBBBBBBBBBBBBBBBB/claims/public_api",
      "data": {
        "key": "notthekeynotthekeynotthe",
        "n": "a"
      },
      "shouldFail": true
    },
    {
      "op": "set",
      "path": "households/famBBBBBBBBBBBBBBBBB/members/public_api",
      "data": {
        "name": "Assistant",
        "at": 1800000000
      },
      "shouldFail": true
    },
    {
      "op": "set",
      "path": "households/famBBBBBBBBBBBBBBBBB/claims/public_api",
      "data": {
        "key": "oldkeyoldkeyoldkeyoldkey",
        "n": "b"
      }
    },
    {
      "op": "set",
      "path": "households/famBBBBBBBBBBBBBBBBB/members/public_api",
      "data": {
        "name": "Assistant",
        "at": 1800000000
      }
    },
    {
      "op": "set",
      "path": "households/famBBBBBBBBBBBBBBBBB/events/a1",
      "data": {
        "baby": "babyAda",
        "type": "bottle",
        "start": 1800000000,
        "data": "{\"ml\":118}",
        "by": "$Api",
        "createdAt": 1800000000
      }
    },
    {
      "op": "as",
      "who": "Nanny"
    },
    {
      "op": "set",
      "path": "householdkeys/famBBBBBBBBBBBBBBBBB",
      "data": {
        "key": "nannykeynannykeynannykey"
      },
      "shouldFail": true
    },
    {
      "op": "delete",
      "path": "households/famBBBBBBBBBBBBBBBBB/members/dad_guest",
      "shouldFail": true
    },
    {
      "op": "as",
      "who": "Mom"
    },
    {
      "op": "set",
      "path": "householdkeys/famBBBBBBBBBBBBBBBBB",
      "data": {
        "key": "short"
      },
      "shouldFail": true
    },
    {
      "op": "delete",
      "path": "households/famBBBBBBBBBBBBBBBBB/members/nanny_guest"
    },
    {
      "op": "set",
      "path": "householdkeys/famBBBBBBBBBBBBBBBBB",
      "data": {
        "key": "newkeynewkeynewkeynewkey"
      }
    },
    {
      "op": "expect",
      "expr": "get(/households/famBBBBBBBBBBBBBBBBB/members/nanny_guest) == null"
    },
    {
      "op": "as",
      "who": "Nanny"
    },
    {
      "op": "set",
      "path": "households/famBBBBBBBBBBBBBBBBB/events/n2",
      "data": {
        "baby": "babyAda",
        "type": "diaper",
        "start": 1800000000,
        "data": "{}",
        "by": "$Nanny",
        "createdAt": 1800000000
      },
      "shouldFail": true
    },
    {
      "op": "set",
      "path": "households/famBBBBBBBBBBBBBBBBB/claims/nanny_guest",
      "data": {
        "key": "oldkeyoldkeyoldkeyoldkey",
        "n": "b"
      },
      "shouldFail": true
    },
    {
      "op": "setMany",
      "writes": [
        {
          "path": "households/famBBBBBBBBBBBBBBBBB/claims/nanny_guest",
          "data": {
            "key": "oldkeyoldkeyoldkeyoldkey",
            "n": "c"
          }
        },
        {
          "path": "households/famBBBBBBBBBBBBBBBBB/members/nanny_guest",
          "data": {
            "name": "Nanny",
            "at": 1800000000
          }
        }
      ],
      "shouldFail": true
    },
    {
      "op": "set",
      "path": "households/famBBBBBBBBBBBBBBBBB/members/nanny_guest",
      "data": {
        "name": "Nanny",
        "at": 1800000000
      },
      "shouldFail": true
    },
    {
      "op": "as",
      "who": "Api"
    },
    {
      "op": "set",
      "path": "households/famBBBBBBBBBBBBBBBBB/claims/public_api",
      "data": {
        "key": "oldkeyoldkeyoldkeyoldkey",
        "n": "c"
      },
      "shouldFail": true
    },
    {
      "op": "set",
      "path": "households/famBBBBBBBBBBBBBBBBB/claims/public_api",
      "data": {
        "key": "newkeynewkeynewkeynewkey",
        "n": "d"
      }
    },
    {
      "op": "as",
      "who": "Dad"
    },
    {
      "op": "set",
      "path": "households/famBBBBBBBBBBBBBBBBB/events/d1",
      "data": {
        "baby": "babyAda",
        "type": "sleep",
        "start": 1800000000,
        "data": "{}",
        "by": "$Dad",
        "createdAt": 1800000000
      }
    },
    {
      "op": "as",
      "who": "Eve"
    },
    {
      "op": "setMany",
      "writes": [
        {
          "path": "households/famBBBBBBBBBBBBBBBBB/claims/eve_guest",
          "data": {
            "key": "newkeynewkeynewkeynewkey",
            "n": "a"
          }
        },
        {
          "path": "households/famBBBBBBBBBBBBBBBBB/members/eve_guest",
          "data": {
            "name": "Eve",
            "at": 1800000000
          }
        },
        {
          "path": "households/famBBBBBBBBBBBBBBBBB/ownerclaims/eve_guest",
          "data": {
            "key": "wrongownerwrongownerwron",
            "n": "a"
          }
        },
        {
          "path": "households/famBBBBBBBBBBBBBBBBB/owners/eve_guest",
          "data": {
            "at": 1800000000
          }
        }
      ],
      "shouldFail": true
    },
    {
      "op": "as",
      "who": "MomAccount"
    },
    {
      "op": "setMany",
      "writes": [
        {
          "path": "households/famBBBBBBBBBBBBBBBBB/claims/mom_account",
          "data": {
            "key": "newkeynewkeynewkeynewkey",
            "n": "a"
          }
        },
        {
          "path": "households/famBBBBBBBBBBBBBBBBB/members/mom_account",
          "data": {
            "name": "Mom",
            "at": 1800000000,
            "account": true
          }
        },
        {
          "path": "households/famBBBBBBBBBBBBBBBBB/ownerclaims/mom_account",
          "data": {
            "key": "ownerkeyownerkeyownerkey",
            "n": "a"
          }
        },
        {
          "path": "households/famBBBBBBBBBBBBBBBBB/owners/mom_account",
          "data": {
            "at": 1800000000
          }
        },
        {
          "path": "users/mom_account/households/famBBBBBBBBBBBBBBBBB",
          "data": {
            "name": "Ada's family",
            "at": 1800000000
          }
        }
      ]
    },
    {
      "op": "delete",
      "path": "households/famBBBBBBBBBBBBBBBBB/members/dad_guest"
    },
    {
      "op": "expect",
      "expr": "get(/households/famBBBBBBBBBBBBBBBBB/owners/mom_account) != null"
    },
    {
      "op": "set",
      "path": "households/famBBBBBBBBBBBBBBBBB/owners/mom_account",
      "data": {
        "at": 1800000001
      },
      "shouldFail": true
    },
    {
      "op": "delete",
      "path": "households/famBBBBBBBBBBBBBBBBB/owners/mom_guest",
      "shouldFail": true
    }
  ]
}

Change history

Quality pass: undo on timers, sleep by hour chart, diaper color, fixes
c84ed88213 · 5 hours ago
Bounded source sync
1ed137d95d · 16 hours ago
Bounded source sync
851999f793 · 17 hours ago
Bounded source sync
9623bc231c · 17 hours ago