Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 10 additions & 0 deletions apps/check/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
node_modules
dist
.wrangler
.dev.vars*
!.dev.vars.example
.env*
!.env.example
*.tsbuildinfo
.DS_Store
*.log
18 changes: 18 additions & 0 deletions apps/check/index.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover" />
<meta name="color-scheme" content="light dark" />
<meta name="description" content="Verify your AT Protocol PDS." />
<title>☁️ check</title>
<link
rel="icon"
href="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20100%20100'%3E%3Ctext%20y='.9em'%20font-size='90'%3E%E2%98%81%EF%B8%8F%3C/text%3E%3C/svg%3E"
/>
</head>
<body>
<div id="root"></div>
<script type="module" src="/src/main.tsx"></script>
</body>
</html>
45 changes: 45 additions & 0 deletions apps/check/lexicons/earth/cirrus/check/testrecord.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
{
"lexicon": 1,
"id": "earth.cirrus.check.testrecord",
"description": "Ephemeral test record created by pdscheck during PDS write verification. Records of this type are created and deleted within a single verification run; any leftover record can be safely deleted by hand. The namespace does not federate to app.bsky.* services.",
"defs": {
"main": {
"type": "record",
"description": "A disposable verification artifact.",
"key": "tid",
"record": {
"type": "object",
"required": ["createdAt"],
"properties": {
"createdAt": {
"type": "string",
"format": "datetime",
"description": "When this record was created."
},
"message": {
"type": "string",
"description": "Human-readable identifier — typically a fixed string flagging that the record is safe to delete.",
"maxLength": 256
},
"verifier": {
"type": "string",
"format": "uri",
"description": "Origin of the pdscheck instance that created the record, for tracing leftovers back to a specific verifier deployment.",
"maxLength": 256
},
"runId": {
"type": "string",
"description": "Identifier of the verification run that created the record. Useful for correlating leftovers with a specific test execution.",
"maxLength": 64
},
"blob": {
"type": "blob",
"description": "Optional blob attachment used to exercise uploadBlob and blob references.",
"accept": ["*/*"],
"maxSize": 1048576
}
}
}
}
}
}
37 changes: 37 additions & 0 deletions apps/check/package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
{
"name": "@getcirrus/check",
"version": "0.0.0",
"private": true,
"type": "module",
"description": "Web-based PDS verifier for AT Protocol",
"scripts": {
"dev": "vite",
"build": "vite build",
"preview": "vite preview",
"wrangler:dev": "wrangler dev",
"deploy": "vite build && wrangler deploy",
"check": "tsc --noEmit"
},
"dependencies": {
"@atcute/atproto": "^4.0.0",
"@atcute/cbor": "^2.3.3",
"@atcute/cid": "^2.4.1",
"@atcute/client": "^5.0.0",
"@atcute/identity": "^2.0.0",
"@atcute/identity-resolver": "^2.0.0",
"@atcute/lexicons": "^2.0.0",
"@atcute/oauth-browser-client": "^4.0.0",
"@ipld/car": "^5.4.6",
"idb-keyval": "^6.2.4",
"oauth4webapi": "^3.8.6",
"solid-js": "^1.9.13"
},
"devDependencies": {
"@tailwindcss/vite": "^4.3.0",
"tailwindcss": "^4.3.0",
"typescript": "^6.0.3",
"vite": "^8.0.14",
"vite-plugin-solid": "^2.11.12",
"wrangler": "^4.94.0"
}
}
15 changes: 15 additions & 0 deletions apps/check/public/client-metadata.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
{
"client_id": "https://check.cirrus.earth/client-metadata.json",
"client_name": "check · a PDS validator",
"client_uri": "https://check.cirrus.earth",
"redirect_uris": [
"https://check.cirrus.earth/oauth/callback",
"https://check.cirrus.earth/oauth/flow-callback"
],
"scope": "atproto transition:generic repo:earth.cirrus.check.testrecord include:site.standard.authFull",
"grant_types": ["authorization_code", "refresh_token"],
"response_types": ["code"],
"application_type": "web",
"token_endpoint_auth_method": "none",
"dpop_bound_access_tokens": true
}
Loading
Loading