kepr3
timeline
atlas220 files
.agent/
.agent/
.agent
- size
- 116.6 KB
- lines
- 520
- files
- 1
- first save
- 3f94f3d4aead 2026-09-26 16:11
- last save
- 9504bcb405d8 2026-10-01 18:32
- saves
- 78
../koh3/docs/koh-kepr-3-master-spec.md.
CONTINUITY.md
.agent/CONTINUITY.md
- size
- 116.6 KB
- lines
- 520
- first save
- 3f94f3d4aead 2026-09-26 16:11
- last save
- 9504bcb405d8 2026-10-01 18:32
- saves
- 78
Spec: ../koh3/docs/koh-kepr-3-master-spec.md. Gate and layout: AGENTS.md.
docs/
docs/
docs
- size
- 13.3 KB
- lines
- 290
- files
- 4
- first save
- 80ceee69d14a 2026-09-26 16:10
- last save
- a7772f7d8854 2026-10-01 18:28
- saves
- 41
site/
site/
docs/site
- size
- 5.5 KB
- lines
- 90
- files
- 2
- first save
- 53b804b9db21 2026-09-26 20:04
- last save
- a7772f7d8854 2026-10-01 18:28
- saves
- 18
docs.md
docs/site/docs.md
- size
- 4.8 KB
- lines
- 81
- first save
- 53b804b9db21 2026-09-26 20:04
- last save
- a7772f7d8854 2026-10-01 18:28
- saves
- 18
Kepr shows one person's Koh repositories on the web: code, history, source tarballs, release downloads and public issues. It reads the bucket Koh 3 offers to and changes none of Koh's data except builds you delete.
support.md
docs/site/support.md
- size
- 713 B
- lines
- 9
- first save
- 53b804b9db21 2026-09-26 20:04
- last save
- 53b804b9db21 2026-09-26 20:04
- saves
- 1
Found a bug, or have an idea or a question about something here? Every public repo has an issues link at the top of its page. You don't need an account: write what happened and which version you ran. An email address is optional; only the person running this site sees it, in case they need to ask you something.
routes.txt
docs/routes.txt
- size
- 3.7 KB
- lines
- 129
- first save
- 80ceee69d14a 2026-09-26 16:10
- last save
- 1440b2ee584c 2026-09-30 23:22
- saves
- 27
visual-reference.md
docs/visual-reference.md
- size
- 4.2 KB
- lines
- 71
- first save
- 3f94f3d4aead 2026-09-26 16:11
- last save
- 9ca245205729 2026-09-29 20:57
- saves
- 2
Kepr 3 keeps Kepr 2's look exactly (spec §21). Exact tokens, fonts and component
styles come from Kepr 2's source at ~/projects/kepr/src/web/style.css,
src/web/pages.zig, src/web/theme.zig and src/web/static/*.js — read them,
don't guess. Kepr 2's CSS is 8,500 lines; Kepr 3's budget is 3,000, so port only
what the pages below actually use.
public/
public/
public
- size
- 87.0 KB
- lines
- 3,774
- files
- 3
- first save
- de50af6ed620 2026-09-26 17:57
- last save
- c45748e284b7 2026-10-01 13:51
- saves
- 46
css/
css/
public/css
- size
- 50.9 KB
- lines
- 2,783
- files
- 1
- first save
- de50af6ed620 2026-09-26 17:57
- last save
- c45748e284b7 2026-10-01 13:51
- saves
- 37
kepr.css
public/css/kepr.css
- size
- 50.9 KB
- lines
- 2,783
- first save
- de50af6ed620 2026-09-26 17:57
- last save
- c45748e284b7 2026-10-01 13:51
- saves
- 37
js/
js/
public/js
- size
- 35.8 KB
- lines
- 986
- files
- 1
- first save
- de50af6ed620 2026-09-26 17:57
- last save
- 318ff45f727a 2026-10-01 13:50
- saves
- 20
kepr.js
public/js/kepr.js
- size
- 35.8 KB
- lines
- 986
- first save
- de50af6ed620 2026-09-26 17:57
- last save
- 318ff45f727a 2026-10-01 13:50
- saves
- 20
Kepr's browser islands (§18). Every page is complete without this file; it only adds the ticker's pace, the drifting timeline, copy buttons, the inline panels, history's scrolling, line-range highlighting, the Atlas panel, picker, filter and file viewer, the signed-in editor, the phone nav menu, and the profile's glow.
favicon.svg
public/favicon.svg
- size
- 309 B
- lines
- 5
- first save
- a79b2f329d95 2026-09-26 18:56
- last save
- a79b2f329d95 2026-09-26 18:56
- saves
- 1
scripts/
scripts/
scripts
- size
- 10.1 KB
- lines
- 265
- files
- 2
- first save
- 80ceee69d14a 2026-09-26 16:10
- last save
- de3f4637e3ef 2026-09-30 16:06
- saves
- 10
budget.ts
scripts/budget.ts
- size
- 2.4 KB
- lines
- 64
- first save
- 80ceee69d14a 2026-09-26 16:10
- last save
- de3f4637e3ef 2026-09-30 16:06
- saves
- 7
§26: fails when any area passes its budget or the TypeScript total passes the 12,600-line ceiling.
import-kepr2.ts
scripts/import-kepr2.ts
- size
- 7.7 KB
- lines
- 201
- first save
- 946c9882a405 2026-09-26 21:02
- last save
- 72900049ddaf 2026-09-28 12:47
- saves
- 4
One-time Kepr 2 import (§28), deleted after cutover; the only bucket writer. --dry-run writes nothing.
- imports
- reader.ts · repo.ts · releases.ts · db.ts
src/
src/
src
- size
- 364.3 KB
- lines
- 9,554
- files
- 60
- first save
- d9c345d0eac2 2026-09-26 16:09
- last save
- 43081c75fd34 2026-10-01 19:39
- saves
- 113
- used by
- import-kepr2.ts · account.test.ts · admin.test.ts · backup.test.ts · backupbucket.test.ts · backupworkspace.test.ts · browser.ts · bucket.test.ts · bucketadmin.test.ts · config.test.ts · connect.test.ts · console.test.ts · +27 more
admin/
admin/
src/admin
- size
- 98.3 KB
- lines
- 2,335
- files
- 14
- first save
- 3917c91388df 2026-09-26 20:17
- last save
- 43081c75fd34 2026-10-01 19:39
- saves
- 47
- used by
- main.ts · app.ts · setup.test.ts
account.ts
src/admin/account.ts
- size
- 4.2 KB
- lines
- 86
- first save
- a602ee4ac891 2026-09-30 16:11
- last save
- 53796355d42e 2026-09-30 16:17
- saves
- 2
- exports
- MIN_PASSWORD · registerAccount
- imports
- console.ts · html.ts · layout.ts · config.ts · login.ts
- used by
- setup.ts · app.ts
backups.ts
src/admin/backups.ts
- size
- 7.9 KB
- lines
- 187
- first save
- 58d7fe07cda0 2026-09-29 22:45
- last save
- 9288dbfe8a4f 2026-09-30 16:09
- saves
- 2
- exports
- backupsPage · registerBackups
- imports
- bucket.ts · console.ts · html.ts · layout.ts · config.ts · db.ts
- used by
- console.ts · app.ts
bucket.ts
src/admin/bucket.ts
- size
- 7.9 KB
- lines
- 181
- first save
- 63e55f152976 2026-09-29 22:17
- last save
- 53796355d42e 2026-09-30 16:17
- saves
- 5
- exports
- s3FieldsProblem · s3Candidate · folderCandidate · registerBucket
- imports
- console.ts · reader.ts · repo.ts · html.ts · config.ts
- used by
- backups.ts · setup.ts · app.ts
console.ts
src/admin/console.ts
- size
- 8.3 KB
- lines
- 206
- first save
- 3917c91388df 2026-09-26 20:17
- last save
- 0c5812ee878a 2026-09-30 23:20
- saves
- 18
- exports
- AdminContext · formField · textFields · notice · adminPage · registerStatus
- imports
- backups.ts · store.ts · repo.ts · sync.ts · store.ts · html.ts · layout.ts · backup.ts · config.ts · connect.ts · db.ts · login.ts
- used by
- account.ts · backups.ts · bucket.ts · downloads.ts · email.ts · issues.ts · notifications.ts · repos.ts · site.ts · storage.ts · text.ts · app.ts
downloads.ts
src/admin/downloads.ts
- size
- 2.6 KB
- lines
- 59
- first save
- 850a5062b8fe 2026-09-30 23:18
- last save
- 850a5062b8fe 2026-09-30 23:18
- saves
- 1
- exports
- registerDownloads
- imports
- console.ts · store.ts · html.ts · layout.ts · releases.ts
- used by
- app.ts
email.ts
src/admin/email.ts
- size
- 8.7 KB
- lines
- 215
- first save
- 301147eeaa38 2026-09-29 22:41
- last save
- 301147eeaa38 2026-09-29 22:41
- saves
- 1
- exports
- registerEmail
- imports
- console.ts · notifications.ts · store.ts · html.ts · layout.ts · config.ts · db.ts · mail.ts
- used by
- app.ts
issues.ts
src/admin/issues.ts
- size
- 11.3 KB
- lines
- 290
- first save
- 1a15eaa5791b 2026-09-26 20:21
- last save
- 5487c6f1524a 2026-09-30 23:24
- saves
- 5
- exports
- registerIssues
- imports
- console.ts · store.ts · spam.ts · queries.ts · store.ts · html.ts · layout.ts
- used by
- app.ts
notifications.ts
src/admin/notifications.ts
- size
- 3.1 KB
- lines
- 72
- first save
- eb098609196d 2026-09-29 22:34
- last save
- 301147eeaa38 2026-09-29 22:41
- saves
- 2
- exports
- LABELS · registerNotifications
- imports
- console.ts · store.ts · html.ts · layout.ts · db.ts
- used by
- email.ts · app.ts
repos.ts
src/admin/repos.ts
- size
- 17.7 KB
- lines
- 411
- first save
- 0750fb5f4f0a 2026-09-26 20:20
- last save
- eb54516e9dc9 2026-09-30 23:27
- saves
- 15
- exports
- registerRepos
- imports
- console.ts · store.ts · text.ts · reader.ts · repo.ts · sync.ts · spam.ts · store.ts · queries.ts · store.ts · html.ts · layout.ts · +2 more
- used by
- app.ts
setup.ts
src/admin/setup.ts
- size
- 6.6 KB
- lines
- 155
- first save
- 53796355d42e 2026-09-30 16:17
- last save
- f59a3792d797 2026-10-01 14:13
- saves
- 2
- exports
- createSetupApp
- imports
- account.ts · bucket.ts · reader.ts · repo.ts · html.ts · layout.ts · app.ts · config.ts · connect.ts · db.ts
- used by
- main.ts
- tested by
- setup.test.ts
site.ts
src/admin/site.ts
- size
- 7.8 KB
- lines
- 177
- first save
- 0c07b179ceeb 2026-09-26 20:24
- last save
- a7772f7d8854 2026-10-01 18:28
- saves
- 7
- exports
- registerSite
- imports
- console.ts · store.ts · repo.ts · sync.ts · docs.ts · html.ts · db.ts
- used by
- app.ts
storage.ts
src/admin/storage.ts
- size
- 4.9 KB
- lines
- 120
- first save
- 0c5812ee878a 2026-09-30 23:20
- last save
- 43081c75fd34 2026-10-01 19:39
- saves
- 2
- exports
- registerStorage
- imports
- console.ts · reader.ts · repo.ts · queries.ts · store.ts · html.ts · layout.ts
- used by
- app.ts
store.ts
src/admin/store.ts
- size
- 1.6 KB
- lines
- 52
- first save
- 0750fb5f4f0a 2026-09-26 20:20
- last save
- 1305a0bb9d6d 2026-09-30 13:58
- saves
- 6
- exports
- AdminRepo · RepoEdit · allRepos · findRepo · updateRepo · saveSettings
- used by
- console.ts · downloads.ts · email.ts · issues.ts · notifications.ts · repos.ts · site.ts · text.ts
text.ts
src/admin/text.ts
- size
- 5.7 KB
- lines
- 124
- first save
- 4030bdcacda1 2026-09-29 18:30
- last save
- 086289d5af85 2026-09-30 13:45
- saves
- 3
- exports
- LIMITS · registerRepoText
- imports
- console.ts · store.ts · reader.ts · describe.ts · store.ts · markdown.ts · repo.ts · db.ts · login.ts
- used by
- repos.ts · app.ts
bucket/
bucket/
src/bucket
- size
- 29.1 KB
- lines
- 838
- files
- 3
- first save
- 62097d82837d 2026-09-26 16:09
- last save
- 43081c75fd34 2026-10-01 19:39
- saves
- 29
- used by
- import-kepr2.ts · bucket.ts · console.ts · repos.ts · setup.ts · site.ts · storage.ts · text.ts · main.ts · queries.ts · remote.ts · store.ts · +32 more
reader.ts
src/bucket/reader.ts
- size
- 7.3 KB
- lines
- 188
- first save
- 62097d82837d 2026-09-26 16:09
- last save
- 12218adb0fdf 2026-10-01 19:07
- saves
- 8
- exports
- Bucket · KEPR_PREFIX · BucketWriteError · openBucket · checkS3Access
- imports
- config.ts
- used by
- import-kepr2.ts · bucket.ts · repos.ts · setup.ts · storage.ts · text.ts · repo.ts · sync.ts · main.ts · releases.ts · routes.ts · app.ts · +2 more
- tested by
- browser.ts · bucket.test.ts · bucketadmin.test.ts · console.test.ts · contract.test.ts · email.test.ts · front.test.ts · hidden.test.ts · ignored.test.ts · install.test.ts · issues.test.ts · kohpaths.test.ts · +9 more
repo.ts
src/bucket/repo.ts
- size
- 14.1 KB
- lines
- 404
- first save
- 62097d82837d 2026-09-26 16:09
- last save
- 43081c75fd34 2026-10-01 19:39
- saves
- 13
- exports
- SaveFile · SaveRecord · EventRecord · ReleaseFile · ReleaseRecord · PLATFORMS · ArrivingSave · VerifiedObject · BucketError · OversizedObject · SAVE_ID · listRepos · +14 more
- imports
- reader.ts
- used by
- import-kepr2.ts · bucket.ts · console.ts · repos.ts · setup.ts · site.ts · storage.ts · queries.ts · remote.ts · store.ts · files.ts · kepr2.ts · +5 more
- tested by
- contract.test.ts · fixture.ts · repotext.test.ts
sync.ts
src/bucket/sync.ts
- size
- 7.7 KB
- lines
- 246
- first save
- aab0488febf0 2026-09-26 16:23
- last save
- 82938843e282 2026-10-01 18:31
- saves
- 15
- exports
- SyncTarget · syncAll · rebuildRepo · reapplyHidden · startSyncLoop · syncRepo
- imports
- reader.ts · db.ts · reserved.ts · cache.ts
- used by
- console.ts · repos.ts · site.ts · main.ts
- tested by
- browser.ts · contract.test.ts · front.test.ts · hidden.test.ts · ignored.test.ts · install.test.ts · issues.test.ts · kohpaths.test.ts · kohrelease.test.ts · kohremote.test.ts · kohsteal.test.ts · kohupdate.test.ts · +4 more
describe/
describe/
src/describe
- size
- 15.5 KB
- lines
- 405
- files
- 2
- first save
- 532072a50935 2026-09-26 18:06
- last save
- 88502325cbf4 2026-09-29 18:18
- saves
- 7
- used by
- text.ts · store.ts · atlas.ts · docs.ts · repo.ts · describe.test.ts · links.test.ts
describe.ts
src/describe/describe.ts
- size
- 7.8 KB
- lines
- 200
- first save
- 532072a50935 2026-09-26 18:06
- last save
- 2b7a429de79a 2026-09-27 10:42
- saves
- 6
§21.5: a description is the file's own words, found by syntax alone; no comment means none. Every function returns Markdown source (hard-wrapped lines kept) or null.
- exports
- describeFile · describeFolder · firstSentence
- used by
- text.ts · atlas.ts · docs.ts · repo.ts
- tested by
- describe.test.ts
links.ts
src/describe/links.ts
- size
- 7.7 KB
- lines
- 205
- first save
- 88502325cbf4 2026-09-29 18:18
- last save
- 88502325cbf4 2026-09-29 18:18
- saves
- 1
What a source file says about its place in the repo, found by syntax alone like its description: the names it exports and the imports that may name project files or folders. Anything that resolves to nothing in the repo (a standard library, a package) is left out.
- exports
- Import · Outline · outline · isTestPath · RepoIndex · repoIndex · resolveImports
- used by
- store.ts · atlas.ts
- tested by
- links.test.ts
issues/
issues/
src/issues
- size
- 26.7 KB
- lines
- 762
- files
- 3
- first save
- 755ef3f89667 2026-09-26 19:05
- last save
- 5487c6f1524a 2026-09-30 23:24
- saves
- 14
- used by
- console.ts · issues.ts · repos.ts · profile.ts · app.ts · backup.test.ts · console.test.ts · triage.test.ts
pages.ts
src/issues/pages.ts
- size
- 14.7 KB
- lines
- 368
- first save
- 6fcced41a42c 2026-09-26 19:10
- last save
- 1440b2ee584c 2026-09-30 23:22
- saves
- 9
- exports
- registerIssuePages
- imports
- spam.ts · queries.ts · html.ts · releases.ts · db.ts
- used by
- app.ts
spam.ts
src/issues/spam.ts
- size
- 2.3 KB
- lines
- 63
- first save
- 6fcced41a42c 2026-09-26 19:10
- last save
- 2b7a429de79a 2026-09-27 10:42
- saves
- 3
- exports
- MIN_SECONDS_ON_PAGE · FILINGS_PER_HOUR · MAX_CHARS · ipHash · formStamp · StampCheck · checkStamp
- imports
- client.ts · db.ts
- used by
- issues.ts · repos.ts · pages.ts
store.ts
src/issues/store.ts
- size
- 9.7 KB
- lines
- 331
- first save
- 755ef3f89667 2026-09-26 19:05
- last save
- 5487c6f1524a 2026-09-30 23:24
- saves
- 7
- exports
- ISSUE_TYPES · IssueType · Issue · Entry · NewIssue · hashToken · fileIssue · filingsSince · listIssues · issueCounts · findIssue · threadEntries · +20 more
- used by
- console.ts · repos.ts · profile.ts
- tested by
- backup.test.ts · console.test.ts · triage.test.ts
mirror/
mirror/
src/mirror
- size
- 27.3 KB
- lines
- 749
- files
- 3
- first save
- aab0488febf0 2026-09-26 16:23
- last save
- 43081c75fd34 2026-10-01 19:39
- saves
- 27
- used by
- issues.ts · repos.ts · storage.ts · text.ts · pages.ts · archives.ts · atlas.ts · files.ts · front.ts · layout.ts · library.ts · profile.ts · +16 more
queries.ts
src/mirror/queries.ts
- size
- 8.2 KB
- lines
- 218
- first save
- aab0488febf0 2026-09-26 16:23
- last save
- 43081c75fd34 2026-10-01 19:39
- saves
- 13
- exports
- Save · FileEntry · Touches · RepoStats · headId · history · timeline · saveByPrefix · visibleParent · flagReason · tarballGeneration · filesAt · +7 more
- imports
- repo.ts · store.ts
- used by
- issues.ts · repos.ts · storage.ts · pages.ts · remote.ts · archives.ts · atlas.ts · files.ts · front.ts · library.ts · profile.ts · releases.ts · +5 more
- tested by
- pages.test.ts
remote.ts
src/mirror/remote.ts
- size
- 6.6 KB
- lines
- 187
- first save
- 4c969e0a75af 2026-09-27 15:16
- last save
- 43081c75fd34 2026-10-01 19:39
- saves
- 4
- exports
- registerKohRemote
- imports
- repo.ts · queries.ts · layout.ts
- used by
- app.ts
store.ts
src/mirror/store.ts
- size
- 12.5 KB
- lines
- 344
- first save
- aab0488febf0 2026-09-26 16:23
- last save
- 82938843e282 2026-10-01 18:31
- saves
- 18
- exports
- StoredObject · Landing · ANY_DEPTH · openMirror · mirrorState · knownSave · knownObject · knownEventIds · forgetRelease · replaceRelease · knownReleases · storeObjects · +3 more
- imports
- repo.ts · links.ts
- used by
- issues.ts · repos.ts · storage.ts · text.ts · queries.ts · layout.ts · releases.ts · db.ts · cache.ts
- tested by
- console.test.ts · front.test.ts · hidden.test.ts · kohpaths.test.ts · pages.test.ts · releases.test.ts · sync.test.ts · tarball.test.ts
pages/
pages/
src/pages
- size
- 79.3 KB
- lines
- 2,099
- files
- 18
- first save
- de50af6ed620 2026-09-26 17:57
- last save
- 4ffd21d3611b 2026-09-30 13:43
- saves
- 35
- used by
- account.ts · backups.ts · bucket.ts · console.ts · downloads.ts · email.ts · issues.ts · notifications.ts · repos.ts · setup.ts · site.ts · storage.ts · +10 more
archives.ts
src/pages/archives.ts
- size
- 3.1 KB
- lines
- 79
- first save
- bf8f698c551b 2026-09-26 18:33
- last save
- 61dc281fbb19 2026-09-29 20:58
- saves
- 4
- exports
- registerArchivesPage
- imports
- queries.ts · html.ts
- used by
- app.ts
atlas.ts
src/pages/atlas.ts
- size
- 12.8 KB
- lines
- 359
- first save
- 5e4eb28dcc4a 2026-09-26 18:12
- last save
- e2a194a044a9 2026-09-29 19:42
- saves
- 9
- exports
- atlasSection
- imports
- describe.ts · links.ts · queries.ts · files.ts · html.ts · markdown.ts
- used by
- repo.ts
a and b are its 0-based line numbers in the old and new text.
diff.ts
src/pages/diff.ts
- size
- 4.3 KB
- lines
- 119
- first save
- dec9767f3870 2026-09-26 18:26
- last save
- 2b7a429de79a 2026-09-27 10:42
- saves
- 2
One edit line: a and b are its 0-based line numbers in the old and new text. A removed line's b
(and an added line's a) is where it falls in the other text, which the hunk headers need.
- exports
- Edit · Hunk · diffLines · hunks
- used by
- save.ts
- tested by
- diff.test.ts
docs.ts
src/pages/docs.ts
- size
- 2.2 KB
- lines
- 53
- first save
- 53b804b9db21 2026-09-26 20:04
- last save
- 7120956a7fa3 2026-09-29 19:57
- saves
- 3
- exports
- registerDocsPages · supportText
- imports
- describe.ts · html.ts · layout.ts · markdown.ts · db.ts
- used by
- site.ts · app.ts
files.ts
src/pages/files.ts
- size
- 5.7 KB
- lines
- 155
- first save
- de50af6ed620 2026-09-26 17:57
- last save
- 0ee0106284c7 2026-09-29 17:55
- saves
- 6
- exports
- registerFileRoutes · isText
- imports
- repo.ts · queries.ts · highlight.ts · html.ts · markdown.ts
- used by
- atlas.ts · save.ts · app.ts
front.ts
src/pages/front.ts
- size
- 4.0 KB
- lines
- 106
- first save
- b623f609221b 2026-09-26 19:59
- last save
- 2b7a429de79a 2026-09-27 10:42
- saves
- 2
- exports
- registerFrontPages
- imports
- queries.ts · html.ts · layout.ts · library.ts · db.ts
- used by
- app.ts
highlight.ts
src/pages/highlight.ts
- size
- 1.6 KB
- lines
- 44
- first save
- de50af6ed620 2026-09-26 17:57
- last save
- de50af6ed620 2026-09-26 17:57
- saves
- 1
housekeeping.ts
src/pages/housekeeping.ts
- size
- 1.6 KB
- lines
- 44
- first save
- a79b2f329d95 2026-09-26 18:56
- last save
- 2b7a429de79a 2026-09-27 10:42
- saves
- 2
html, or rendered by markdown-it with raw HTML off.
html.ts
src/pages/html.ts
- size
- 1.2 KB
- lines
- 42
- first save
- de50af6ed620 2026-09-26 17:57
- last save
- de50af6ed620 2026-09-26 17:57
- saves
- 1
Markup that is already safe: built by html, or rendered by markdown-it with raw HTML off.
- exports
- Html · Part · escapeHtml · html · trusted
- used by
- account.ts · backups.ts · bucket.ts · console.ts · downloads.ts · email.ts · issues.ts · notifications.ts · repos.ts · setup.ts · site.ts · storage.ts · +17 more
kepr2.ts
src/pages/kepr2.ts
- size
- 2.2 KB
- lines
- 57
- first save
- 7ec223c3528a 2026-09-26 20:45
- last save
- 8722a5c608af 2026-09-26 21:23
- saves
- 2
layout.ts
src/pages/layout.ts
- size
- 5.0 KB
- lines
- 124
- first save
- de50af6ed620 2026-09-26 17:57
- last save
- 10a0fccd0ed8 2026-09-29 19:33
- saves
- 9
- exports
- PageContext · PublicRepo · openPublicRepo · cacheFor · notFound · page · relativeTime · formatDate · plural · formatSize · pathUrl
- imports
- store.ts · html.ts · db.ts
- used by
- account.ts · backups.ts · console.ts · downloads.ts · email.ts · issues.ts · notifications.ts · repos.ts · setup.ts · storage.ts · remote.ts · docs.ts · +11 more
library.ts
src/pages/library.ts
- size
- 2.0 KB
- lines
- 44
- first save
- b623f609221b 2026-09-26 19:59
- last save
- 4030bdcacda1 2026-09-29 18:30
- saves
- 5
- exports
- LibraryRepo · RecentSave · publicLibrary · recentSaves · repoCards
- imports
- queries.ts · html.ts · layout.ts · repo.ts · db.ts
- used by
- front.ts
markdown.ts
src/pages/markdown.ts
- size
- 5.2 KB
- lines
- 121
- first save
- de50af6ed620 2026-09-26 17:57
- last save
- 7120956a7fa3 2026-09-29 19:57
- saves
- 6
- exports
- MarkdownBase · renderMarkdown · renderSiteMarkdown · renderParagraph · renderLine
- imports
- html.ts · layout.ts
- used by
- text.ts · atlas.ts · docs.ts · files.ts · releases.ts · repo.ts
profile.ts
src/pages/profile.ts
- size
- 5.7 KB
- lines
- 153
- first save
- 9a87fc577759 2026-09-26 20:00
- last save
- dc1ad7f95d01 2026-09-29 21:23
- saves
- 3
- exports
- registerProfilePage
- imports
- repo.ts · store.ts · queries.ts · html.ts · layout.ts · releases.ts · db.ts
- used by
- app.ts
releases.ts
src/pages/releases.ts
- size
- 4.3 KB
- lines
- 115
- first save
- 4622d4048bd6 2026-09-26 18:48
- last save
- 61dc281fbb19 2026-09-29 20:58
- saves
- 4
- exports
- registerReleasesPage
- imports
- repo.ts · queries.ts · html.ts · markdown.ts · releases.ts
- used by
- app.ts
repo.ts
src/pages/repo.ts
- size
- 7.3 KB
- lines
- 195
- first save
- de50af6ed620 2026-09-26 17:57
- last save
- 4ffd21d3611b 2026-09-30 13:43
- saves
- 12
- exports
- registerRepoPage · repoIntro · repoDetails · readmeAtHead
- imports
- describe.ts · atlas.ts · html.ts · markdown.ts · timeline.ts · releases.ts · db.ts
- used by
- text.ts · library.ts · routes.ts · app.ts
save.ts
src/pages/save.ts
- size
- 9.4 KB
- lines
- 252
- first save
- dec9767f3870 2026-09-26 18:26
- last save
- 2b7a429de79a 2026-09-27 10:42
- saves
- 3
- exports
- registerSavePage
- imports
- diff.ts · files.ts · highlight.ts · html.ts
- used by
- app.ts
timeline.ts
src/pages/timeline.ts
- size
- 1.8 KB
- lines
- 37
- first save
- de50af6ed620 2026-09-26 17:57
- last save
- 8ac8cee09624 2026-09-29 18:00
- saves
- 5
- exports
- timelineSvg
- imports
- queries.ts · html.ts · layout.ts
- used by
- repo.ts
- tested by
- pages.test.ts
releases/
releases/
src/releases
- size
- 24.8 KB
- lines
- 666
- files
- 4
- first save
- a16dea674709 2026-09-26 18:47
- last save
- 850a5062b8fe 2026-09-30 23:18
- saves
- 13
- used by
- import-kepr2.ts · downloads.ts · pages.ts · profile.ts · releases.ts · repo.ts · app.ts · archive.ts · console.test.ts · contract.test.ts · releases.test.ts
feeds.ts
src/releases/feeds.ts
- size
- 4.9 KB
- lines
- 117
- first save
- 0f7e06f66cce 2026-09-26 18:52
- last save
- 0f7e06f66cce 2026-09-26 18:52
- saves
- 1
- exports
- releaseJson · legacyReleaseJson · historyJson · UpdateHead · updateInfoJson · RepoMeta · metaJson · checksumsTxt
- imports
- repo.ts · releases.ts
- used by
- routes.ts
install.sh
src/releases/install.sh
- size
- 1.5 KB
- lines
- 49
- first save
- a79b2f329d95 2026-09-26 18:56
- last save
- a79b2f329d95 2026-09-26 18:56
- saves
- 1
Installs the newest release of @REPO@ for this machine, checked against its SHA-256 (§22.5). curl -fsSL @BASE@/install.sh | sh INSTALL_DIR picks the folder (default ~/.local/bin).
releases.ts
src/releases/releases.ts
- size
- 10.9 KB
- lines
- 329
- first save
- a16dea674709 2026-09-26 18:47
- last save
- 850a5062b8fe 2026-09-30 23:18
- saves
- 8
- exports
- Release · visibleReleases · compareVersions · releaseContentType · utcDay · countDownload · downloadsByDay · repoDownloads · topFiles · countInstall · downloadCounts · publicDownloadCount · +6 more
- imports
- reader.ts · queries.ts · store.ts
- used by
- import-kepr2.ts · downloads.ts · pages.ts · profile.ts · releases.ts · repo.ts · feeds.ts · routes.ts · archive.ts
- tested by
- console.test.ts · contract.test.ts · releases.test.ts
routes.ts
src/releases/routes.ts
- size
- 7.5 KB
- lines
- 171
- first save
- 0f7e06f66cce 2026-09-26 18:52
- last save
- 5d7a600d9f51 2026-09-29 19:39
- saves
- 6
- exports
- registerReleaseRoutes
- imports
- reader.ts · repo.ts · queries.ts · layout.ts · repo.ts · feeds.ts · releases.ts
- used by
- app.ts
server/
server/
src/server
- size
- 53.9 KB
- lines
- 1,460
- files
- 9
- first save
- d9c345d0eac2 2026-09-26 16:09
- last save
- a7772f7d8854 2026-10-01 18:28
- saves
- 62
- used by
- import-kepr2.ts · account.ts · backups.ts · bucket.ts · console.ts · email.ts · notifications.ts · repos.ts · setup.ts · site.ts · text.ts · reader.ts · +39 more
app.ts
src/server/app.ts
- size
- 6.5 KB
- lines
- 170
- first save
- 80ceee69d14a 2026-09-26 16:10
- last save
- 0c5812ee878a 2026-09-30 23:20
- saves
- 38
- exports
- PUBLIC_DIR · securityHeaders · createApp
- imports
- account.ts · backups.ts · bucket.ts · console.ts · downloads.ts · email.ts · issues.ts · notifications.ts · repos.ts · site.ts · storage.ts · text.ts · +19 more
- used by
- setup.ts · main.ts
- tested by
- account.test.ts · admin.test.ts · browser.ts · bucketadmin.test.ts · connect.test.ts · contract.test.ts · email.test.ts · front.test.ts · install.test.ts · issues.test.ts · kepr2.test.ts · kohrelease.test.ts · +6 more
backup.ts
src/server/backup.ts
- size
- 8.0 KB
- lines
- 218
- first save
- 4538c2a89e9a 2026-09-26 20:29
- last save
- 9288dbfe8a4f 2026-09-30 16:09
- saves
- 6
- exports
- backups · makeBackup · backupIfDue · startBackupLoop · attemptBackup · offsiteBackups · checkBackupBucket · attemptUpload · backupBytes · backupTarball
- imports
- config.ts · db.ts · tar.ts
- used by
- console.ts · main.ts
- tested by
- backup.test.ts · backupbucket.test.ts · backupworkspace.test.ts · connect.test.ts · notifications.test.ts
client.ts
src/server/client.ts
- size
- 836 B
- lines
- 17
- first save
- de6037e2c124 2026-09-26 19:33
- last save
- 0f0b95ee972f 2026-09-26 23:31
- saves
- 2
- exports
- clientIp
- used by
- spam.ts · connect.ts · login.ts
config.ts
src/server/config.ts
- size
- 8.1 KB
- lines
- 244
- first save
- d9c345d0eac2 2026-09-26 16:09
- last save
- a602ee4ac891 2026-09-30 16:11
- saves
- 9
- exports
- BucketSource · SMTP_SECURITY · SmtpSettings · BackupBucket · Config · ConfigError · isDomain · parseConfig · CONFIG_FILE · saveConfig · loadConfig
- used by
- account.ts · backups.ts · bucket.ts · console.ts · email.ts · setup.ts · reader.ts · main.ts · app.ts · backup.ts · connect.ts · mail.ts
- tested by
- account.test.ts · backupbucket.test.ts · browser.ts · bucketadmin.test.ts · config.test.ts · connect.test.ts · email.test.ts · server.test.ts · setup.test.ts
connect.ts
src/server/connect.ts
- size
- 7.5 KB
- lines
- 167
- first save
- b16612d47778 2026-09-27 15:06
- last save
- 53796355d42e 2026-09-30 16:17
- saves
- 9
- exports
- MACHINES_LISTED · oneTimeCode · typedCode · connectKeys · noCode · registerConnect
- imports
- html.ts · layout.ts · client.ts · config.ts · login.ts
- used by
- console.ts · setup.ts · main.ts · app.ts
db.ts
src/server/db.ts
- size
- 11.3 KB
- lines
- 323
- first save
- aab0488febf0 2026-09-26 16:23
- last save
- a7772f7d8854 2026-10-01 18:28
- saves
- 18
- exports
- NOTIFICATION_KINDS · NotificationKind · RepoSettings · RepoText · openKeprDb · setting · registerRepo · notify · recordSync · publicRepoNames · publicRepo · hiddenPaths · +3 more
- imports
- store.ts
- used by
- import-kepr2.ts · backups.ts · console.ts · email.ts · notifications.ts · repos.ts · setup.ts · site.ts · text.ts · sync.ts · pages.ts · spam.ts · +10 more
- tested by
- backup.test.ts · backupbucket.test.ts · backupworkspace.test.ts · browser.ts · bucketadmin.test.ts · connect.test.ts · contract.test.ts · email.test.ts · front.test.ts · install.test.ts · issues.test.ts · kepr2.test.ts · +10 more
login.ts
src/server/login.ts
- size
- 8.4 KB
- lines
- 209
- first save
- 3917c91388df 2026-09-26 20:17
- last save
- a602ee4ac891 2026-09-30 16:11
- saves
- 8
- exports
- signedIn · liveSessions · endOtherSessions · adminPostRefusal · formToken · adminRefusal · registerLogin
- imports
- html.ts · layout.ts · client.ts
- used by
- account.ts · console.ts · text.ts · app.ts · connect.ts
mail.ts
src/server/mail.ts
- size
- 2.8 KB
- lines
- 87
- first save
- 301147eeaa38 2026-09-29 22:41
- last save
- 301147eeaa38 2026-09-29 22:41
- saves
- 1
- exports
- sendMail · deliverDue · startMailLoop
- imports
- config.ts
- used by
- email.ts · main.ts
- tested by
- email.test.ts
docs/routes.txt, §28's old paths included).
reserved.ts
src/server/reserved.ts
- size
- 494 B
- lines
- 25
- first save
- 7ec223c3528a 2026-09-26 20:45
- last save
- b16612d47778 2026-09-27 15:06
- saves
- 3
First path segments Kepr's own routes (docs/routes.txt, §28's old paths included). A bucket
repo of the same name would be shadowed by them, so the sync refuses it. A test holds this
list to the app's registered routes.
- exports
- RESERVED_NAMES
- used by
- sync.ts
- tested by
- server.test.ts
tarball/
tarball/
src/tarball
- size
- 7.6 KB
- lines
- 188
- files
- 3
- first save
- af1f70ffc57a 2026-09-26 18:31
- last save
- 2b4b50250d6d 2026-09-30 15:42
- saves
- 8
- used by
- repos.ts · sync.ts · app.ts · backup.ts · tarball.test.ts
archive.ts
src/tarball/archive.ts
- size
- 2.1 KB
- lines
- 43
- first save
- af1f70ffc57a 2026-09-26 18:31
- last save
- 2b4b50250d6d 2026-09-30 15:42
- saves
- 5
- exports
- registerTarballRoutes
- imports
- reader.ts · queries.ts · layout.ts · releases.ts · cache.ts
- used by
- app.ts
cache.ts
src/tarball/cache.ts
- size
- 2.1 KB
- lines
- 49
- first save
- af1f70ffc57a 2026-09-26 18:31
- last save
- 2b4b50250d6d 2026-09-30 15:42
- saves
- 5
- exports
- cachedTarball · dropTarballs
- imports
- reader.ts · queries.ts · store.ts · tar.ts
- used by
- repos.ts · sync.ts · archive.ts
- tested by
- tarball.test.ts
tar.ts
src/tarball/tar.ts
- size
- 3.4 KB
- lines
- 96
- first save
- af1f70ffc57a 2026-09-26 18:31
- last save
- 9445b343df7f 2026-09-27 14:17
- saves
- 4
- exports
- TarFile · isStripped · buildTarball
- used by
- backup.ts · cache.ts
- tested by
- tarball.test.ts
main.ts
src/main.ts
- size
- 1.9 KB
- lines
- 52
- first save
- 80ceee69d14a 2026-09-26 16:10
- last save
- 53796355d42e 2026-09-30 16:17
- saves
- 10
tasks/
tasks/
tasks
- size
- 1.2 KB
- lines
- 21
- files
- 2
- first save
- 9af784d30135 2026-09-29 20:38
- last save
- 73424a9e6ac2 2026-09-29 20:54
- saves
- 2
plan.md
tasks/plan.md
- size
- 822 B
- lines
- 14
- first save
- 9af784d30135 2026-09-29 20:38
- last save
- 9af784d30135 2026-09-29 20:38
- saves
- 1
Use Kepr 2's hierarchy and focused workflows with Kepr 3's existing data. Approved by June, 2026-09-29. Rollback: 0d03d747c5a2.
todo.md
tasks/todo.md
- size
- 402 B
- lines
- 7
- first save
- 9af784d30135 2026-09-29 20:38
- last save
- 73424a9e6ac2 2026-09-29 20:54
- saves
- 2
tests/
tests/
tests
- size
- 450.7 KB
- lines
- 9,774
- files
- 141
- first save
- d9c345d0eac2 2026-09-26 16:09
- last save
- 43081c75fd34 2026-10-01 19:39
- saves
- 137
fixtures/
fixtures/
tests/fixtures
- size
- 93.2 KB
- lines
- 962
- files
- 96
- first save
- 06b0512cf8ae 2026-09-26 18:45
- last save
- bb3469688eaa 2026-09-26 21:27
- saves
- 3
kepr2/
kepr2/
tests/fixtures/kepr2
- size
- 93.2 KB
- lines
- 962
- files
- 96
- first save
- 06b0512cf8ae 2026-09-26 18:45
- last save
- bb3469688eaa 2026-09-26 21:27
- saves
- 3
api_haven_releases_history.body
tests/fixtures/kepr2/api_haven_releases_history.body
- size
- 352 B
- lines
- 1
- first save
- 06b0512cf8ae 2026-09-26 18:45
- last save
- 06b0512cf8ae 2026-09-26 18:45
- saves
- 1
api_haven_releases_history.headers
tests/fixtures/kepr2/api_haven_releases_history.headers
- size
- 89 B
- lines
- 3
- first save
- 06b0512cf8ae 2026-09-26 18:45
- last save
- 06b0512cf8ae 2026-09-26 18:45
- saves
- 1
api_haven_releases_latest.body
tests/fixtures/kepr2/api_haven_releases_latest.body
- size
- 908 B
- lines
- 1
- first save
- 06b0512cf8ae 2026-09-26 18:45
- last save
- 06b0512cf8ae 2026-09-26 18:45
- saves
- 1
api_haven_releases_latest.headers
tests/fixtures/kepr2/api_haven_releases_latest.headers
- size
- 89 B
- lines
- 3
- first save
- 06b0512cf8ae 2026-09-26 18:45
- last save
- 06b0512cf8ae 2026-09-26 18:45
- saves
- 1
api_kepr_releases_history.body
tests/fixtures/kepr2/api_kepr_releases_history.body
- size
- 2.8 KB
- lines
- 1
- first save
- 06b0512cf8ae 2026-09-26 18:45
- last save
- 06b0512cf8ae 2026-09-26 18:45
- saves
- 1
api_kepr_releases_history.headers
tests/fixtures/kepr2/api_kepr_releases_history.headers
- size
- 89 B
- lines
- 3
- first save
- 06b0512cf8ae 2026-09-26 18:45
- last save
- 06b0512cf8ae 2026-09-26 18:45
- saves
- 1
api_kepr_releases_latest.body
tests/fixtures/kepr2/api_kepr_releases_latest.body
- size
- 889 B
- lines
- 1
- first save
- 06b0512cf8ae 2026-09-26 18:45
- last save
- 06b0512cf8ae 2026-09-26 18:45
- saves
- 1
api_kepr_releases_latest.headers
tests/fixtures/kepr2/api_kepr_releases_latest.headers
- size
- 89 B
- lines
- 3
- first save
- 06b0512cf8ae 2026-09-26 18:45
- last save
- 06b0512cf8ae 2026-09-26 18:45
- saves
- 1
api_koh_releases_2.1.0_linux-x86_64.headers
tests/fixtures/kepr2/api_koh_releases_2.1.0_linux-x86_64.headers
- size
- 99 B
- lines
- 3
- first save
- 06b0512cf8ae 2026-09-26 18:45
- last save
- 06b0512cf8ae 2026-09-26 18:45
- saves
- 1
api_koh_releases_2.1.0_macos-aarch64.headers
tests/fixtures/kepr2/api_koh_releases_2.1.0_macos-aarch64.headers
- size
- 99 B
- lines
- 3
- first save
- 06b0512cf8ae 2026-09-26 18:45
- last save
- 06b0512cf8ae 2026-09-26 18:45
- saves
- 1
api_koh_releases_2.1.16_linux-x86_64.body
tests/fixtures/kepr2/api_koh_releases_2.1.16_linux-x86_64.body
- size
- 51 B
- lines
- 1
- first save
- 06b0512cf8ae 2026-09-26 18:45
- last save
- 06b0512cf8ae 2026-09-26 18:45
- saves
- 1
api_koh_releases_2.1.16_linux-x86_64.headers
tests/fixtures/kepr2/api_koh_releases_2.1.16_linux-x86_64.headers
- size
- 58 B
- lines
- 2
- first save
- 06b0512cf8ae 2026-09-26 18:45
- last save
- 06b0512cf8ae 2026-09-26 18:45
- saves
- 1
api_koh_releases_history.body
tests/fixtures/kepr2/api_koh_releases_history.body
- size
- 9 B
- lines
- 1
- first save
- 06b0512cf8ae 2026-09-26 18:45
- last save
- 06b0512cf8ae 2026-09-26 18:45
- saves
- 1
api_koh_releases_history.headers
tests/fixtures/kepr2/api_koh_releases_history.headers
- size
- 12 B
- lines
- 1
- first save
- 06b0512cf8ae 2026-09-26 18:45
- last save
- 06b0512cf8ae 2026-09-26 18:45
- saves
- 1
api_koh_releases_latest.body
tests/fixtures/kepr2/api_koh_releases_latest.body
- size
- 2.1 KB
- lines
- 1
- first save
- 06b0512cf8ae 2026-09-26 18:45
- last save
- 06b0512cf8ae 2026-09-26 18:45
- saves
- 1
api_koh_releases_latest.headers
tests/fixtures/kepr2/api_koh_releases_latest.headers
- size
- 58 B
- lines
- 2
- first save
- 06b0512cf8ae 2026-09-26 18:45
- last save
- 06b0512cf8ae 2026-09-26 18:45
- saves
- 1
api_nina_releases_history.body
tests/fixtures/kepr2/api_nina_releases_history.body
- size
- 13.9 KB
- lines
- 1
- first save
- 06b0512cf8ae 2026-09-26 18:45
- last save
- 06b0512cf8ae 2026-09-26 18:45
- saves
- 1
api_nina_releases_history.headers
tests/fixtures/kepr2/api_nina_releases_history.headers
- size
- 89 B
- lines
- 3
- first save
- 06b0512cf8ae 2026-09-26 18:45
- last save
- 06b0512cf8ae 2026-09-26 18:45
- saves
- 1
api_nina_releases_latest.body
tests/fixtures/kepr2/api_nina_releases_latest.body
- size
- 1.8 KB
- lines
- 1
- first save
- 06b0512cf8ae 2026-09-26 18:45
- last save
- 06b0512cf8ae 2026-09-26 18:45
- saves
- 1
api_nina_releases_latest.headers
tests/fixtures/kepr2/api_nina_releases_latest.headers
- size
- 89 B
- lines
- 3
- first save
- 06b0512cf8ae 2026-09-26 18:45
- last save
- 06b0512cf8ae 2026-09-26 18:45
- saves
- 1
api_nowhere_releases_latest.body
tests/fixtures/kepr2/api_nowhere_releases_latest.body
- size
- 53 B
- lines
- 1
- first save
- 06b0512cf8ae 2026-09-26 18:45
- last save
- 06b0512cf8ae 2026-09-26 18:45
- saves
- 1
api_nowhere_releases_latest.headers
tests/fixtures/kepr2/api_nowhere_releases_latest.headers
- size
- 58 B
- lines
- 2
- first save
- 06b0512cf8ae 2026-09-26 18:45
- last save
- 06b0512cf8ae 2026-09-26 18:45
- saves
- 1
api_peach-android_releases_history.body
tests/fixtures/kepr2/api_peach-android_releases_history.body
- size
- 27.1 KB
- lines
- 1
- first save
- 06b0512cf8ae 2026-09-26 18:45
- last save
- 06b0512cf8ae 2026-09-26 18:45
- saves
- 1
api_peach-android_releases_history.headers
tests/fixtures/kepr2/api_peach-android_releases_history.headers
- size
- 89 B
- lines
- 3
- first save
- 06b0512cf8ae 2026-09-26 18:45
- last save
- 06b0512cf8ae 2026-09-26 18:45
- saves
- 1
api_peach-android_releases_latest.body
tests/fixtures/kepr2/api_peach-android_releases_latest.body
- size
- 1.6 KB
- lines
- 1
- first save
- 06b0512cf8ae 2026-09-26 18:45
- last save
- 06b0512cf8ae 2026-09-26 18:45
- saves
- 1
api_peach-android_releases_latest.headers
tests/fixtures/kepr2/api_peach-android_releases_latest.headers
- size
- 89 B
- lines
- 3
- first save
- 06b0512cf8ae 2026-09-26 18:45
- last save
- 06b0512cf8ae 2026-09-26 18:45
- saves
- 1
api_peach-relay_releases_history.body
tests/fixtures/kepr2/api_peach-relay_releases_history.body
- size
- 45 B
- lines
- 1
- first save
- 06b0512cf8ae 2026-09-26 18:45
- last save
- 06b0512cf8ae 2026-09-26 18:45
- saves
- 1
api_peach-relay_releases_history.headers
tests/fixtures/kepr2/api_peach-relay_releases_history.headers
- size
- 58 B
- lines
- 2
- first save
- 06b0512cf8ae 2026-09-26 18:45
- last save
- 06b0512cf8ae 2026-09-26 18:45
- saves
- 1
api_peach-relay_releases_latest.body
tests/fixtures/kepr2/api_peach-relay_releases_latest.body
- size
- 45 B
- lines
- 1
- first save
- 06b0512cf8ae 2026-09-26 18:45
- last save
- 06b0512cf8ae 2026-09-26 18:45
- saves
- 1
api_peach-relay_releases_latest.headers
tests/fixtures/kepr2/api_peach-relay_releases_latest.headers
- size
- 58 B
- lines
- 2
- first save
- 06b0512cf8ae 2026-09-26 18:45
- last save
- 06b0512cf8ae 2026-09-26 18:45
- saves
- 1
haven_meta.body
tests/fixtures/kepr2/haven_meta.body
- size
- 334 B
- lines
- 1
- first save
- 06b0512cf8ae 2026-09-26 18:45
- last save
- 06b0512cf8ae 2026-09-26 18:45
- saves
- 1
haven_meta.headers
tests/fixtures/kepr2/haven_meta.headers
- size
- 58 B
- lines
- 2
- first save
- 06b0512cf8ae 2026-09-26 18:45
- last save
- 06b0512cf8ae 2026-09-26 18:45
- saves
- 1
haven_releases_0.6.1_checksums.txt.body
tests/fixtures/kepr2/haven_releases_0.6.1_checksums.txt.body
- size
- 401 B
- lines
- 7
- first save
- 06b0512cf8ae 2026-09-26 18:45
- last save
- 06b0512cf8ae 2026-09-26 18:45
- saves
- 1
haven_releases_0.6.1_checksums.txt.headers
tests/fixtures/kepr2/haven_releases_0.6.1_checksums.txt.headers
- size
- 52 B
- lines
- 2
- first save
- 06b0512cf8ae 2026-09-26 18:45
- last save
- 06b0512cf8ae 2026-09-26 18:45
- saves
- 1
haven_releases_0.6.1_haven-macos-aarch64.headers
tests/fixtures/kepr2/haven_releases_0.6.1_haven-macos-aarch64.headers
- size
- 109 B
- lines
- 3
- first save
- 06b0512cf8ae 2026-09-26 18:45
- last save
- 06b0512cf8ae 2026-09-26 18:45
- saves
- 1
haven_releases_0.6.1_macos-aarch64.headers
tests/fixtures/kepr2/haven_releases_0.6.1_macos-aarch64.headers
- size
- 109 B
- lines
- 3
- first save
- 06b0512cf8ae 2026-09-26 18:45
- last save
- 06b0512cf8ae 2026-09-26 18:45
- saves
- 1
haven_releases_latest_version.txt.body
tests/fixtures/kepr2/haven_releases_latest_version.txt.body
- size
- 5 B
- lines
- 1
- first save
- 06b0512cf8ae 2026-09-26 18:45
- last save
- 06b0512cf8ae 2026-09-26 18:45
- saves
- 1
haven_releases_latest_version.txt.headers
tests/fixtures/kepr2/haven_releases_latest_version.txt.headers
- size
- 52 B
- lines
- 2
- first save
- 06b0512cf8ae 2026-09-26 18:45
- last save
- 06b0512cf8ae 2026-09-26 18:45
- saves
- 1
haven_releases_latest.body
tests/fixtures/kepr2/haven_releases_latest.body
- size
- 0 B
- lines
- 0
- first save
- 06b0512cf8ae 2026-09-26 18:45
- last save
- 06b0512cf8ae 2026-09-26 18:45
- saves
- 1
haven_releases_latest.headers
tests/fixtures/kepr2/haven_releases_latest.headers
- size
- 44 B
- lines
- 2
- first save
- 06b0512cf8ae 2026-09-26 18:45
- last save
- 06b0512cf8ae 2026-09-26 18:45
- saves
- 1
haven_update-info.body
tests/fixtures/kepr2/haven_update-info.body
- size
- 378 B
- lines
- 1
- first save
- 06b0512cf8ae 2026-09-26 18:45
- last save
- 06b0512cf8ae 2026-09-26 18:45
- saves
- 1
haven_update-info.headers
tests/fixtures/kepr2/haven_update-info.headers
- size
- 58 B
- lines
- 2
- first save
- 06b0512cf8ae 2026-09-26 18:45
- last save
- 06b0512cf8ae 2026-09-26 18:45
- saves
- 1
kepr_meta.body
tests/fixtures/kepr2/kepr_meta.body
- size
- 479 B
- lines
- 1
- first save
- 06b0512cf8ae 2026-09-26 18:45
- last save
- 06b0512cf8ae 2026-09-26 18:45
- saves
- 1
kepr_meta.headers
tests/fixtures/kepr2/kepr_meta.headers
- size
- 58 B
- lines
- 2
- first save
- 06b0512cf8ae 2026-09-26 18:45
- last save
- 06b0512cf8ae 2026-09-26 18:45
- saves
- 1
kepr_releases_2.0.16_checksums.txt.body
tests/fixtures/kepr2/kepr_releases_2.0.16_checksums.txt.body
- size
- 397 B
- lines
- 7
- first save
- 06b0512cf8ae 2026-09-26 18:45
- last save
- 06b0512cf8ae 2026-09-26 18:45
- saves
- 1
kepr_releases_2.0.16_checksums.txt.headers
tests/fixtures/kepr2/kepr_releases_2.0.16_checksums.txt.headers
- size
- 52 B
- lines
- 2
- first save
- 06b0512cf8ae 2026-09-26 18:45
- last save
- 06b0512cf8ae 2026-09-26 18:45
- saves
- 1
kepr_releases_2.0.16_kepr-linux-aarch64.headers
tests/fixtures/kepr2/kepr_releases_2.0.16_kepr-linux-aarch64.headers
- size
- 114 B
- lines
- 3
- first save
- 06b0512cf8ae 2026-09-26 18:45
- last save
- 06b0512cf8ae 2026-09-26 18:45
- saves
- 1
kepr_releases_2.0.16_linux-aarch64.headers
tests/fixtures/kepr2/kepr_releases_2.0.16_linux-aarch64.headers
- size
- 114 B
- lines
- 3
- first save
- 06b0512cf8ae 2026-09-26 18:45
- last save
- 06b0512cf8ae 2026-09-26 18:45
- saves
- 1
kepr_releases_latest_version.txt.body
tests/fixtures/kepr2/kepr_releases_latest_version.txt.body
- size
- 6 B
- lines
- 1
- first save
- 06b0512cf8ae 2026-09-26 18:45
- last save
- 06b0512cf8ae 2026-09-26 18:45
- saves
- 1
kepr_releases_latest_version.txt.headers
tests/fixtures/kepr2/kepr_releases_latest_version.txt.headers
- size
- 52 B
- lines
- 2
- first save
- 06b0512cf8ae 2026-09-26 18:45
- last save
- 06b0512cf8ae 2026-09-26 18:45
- saves
- 1
kepr_releases_latest.body
tests/fixtures/kepr2/kepr_releases_latest.body
- size
- 0 B
- lines
- 0
- first save
- 06b0512cf8ae 2026-09-26 18:45
- last save
- 06b0512cf8ae 2026-09-26 18:45
- saves
- 1
kepr_releases_latest.headers
tests/fixtures/kepr2/kepr_releases_latest.headers
- size
- 44 B
- lines
- 2
- first save
- 06b0512cf8ae 2026-09-26 18:45
- last save
- 06b0512cf8ae 2026-09-26 18:45
- saves
- 1
kepr_update-info.body
tests/fixtures/kepr2/kepr_update-info.body
- size
- 377 B
- lines
- 1
- first save
- 06b0512cf8ae 2026-09-26 18:45
- last save
- 06b0512cf8ae 2026-09-26 18:45
- saves
- 1
kepr_update-info.headers
tests/fixtures/kepr2/kepr_update-info.headers
- size
- 58 B
- lines
- 2
- first save
- 06b0512cf8ae 2026-09-26 18:45
- last save
- 06b0512cf8ae 2026-09-26 18:45
- saves
- 1
koh_meta.body
tests/fixtures/kepr2/koh_meta.body
- size
- 491 B
- lines
- 1
- first save
- 06b0512cf8ae 2026-09-26 18:45
- last save
- 06b0512cf8ae 2026-09-26 18:45
- saves
- 1
koh_meta.headers
tests/fixtures/kepr2/koh_meta.headers
- size
- 58 B
- lines
- 2
- first save
- 06b0512cf8ae 2026-09-26 18:45
- last save
- 06b0512cf8ae 2026-09-26 18:45
- saves
- 1
koh_releases_2.1.0_checksums.txt.body
tests/fixtures/kepr2/koh_releases_2.1.0_checksums.txt.body
- size
- 753 B
- lines
- 11
- first save
- 06b0512cf8ae 2026-09-26 18:45
- last save
- 06b0512cf8ae 2026-09-26 18:45
- saves
- 1
koh_releases_2.1.0_checksums.txt.headers
tests/fixtures/kepr2/koh_releases_2.1.0_checksums.txt.headers
- size
- 52 B
- lines
- 2
- first save
- 06b0512cf8ae 2026-09-26 18:45
- last save
- 06b0512cf8ae 2026-09-26 18:45
- saves
- 1
koh_releases_2.1.0_koh-linux-x86_64.headers
tests/fixtures/kepr2/koh_releases_2.1.0_koh-linux-x86_64.headers
- size
- 112 B
- lines
- 3
- first save
- 06b0512cf8ae 2026-09-26 18:45
- last save
- 06b0512cf8ae 2026-09-26 18:45
- saves
- 1
koh_releases_2.1.0_linux-x86_64.headers
tests/fixtures/kepr2/koh_releases_2.1.0_linux-x86_64.headers
- size
- 112 B
- lines
- 3
- first save
- 06b0512cf8ae 2026-09-26 18:45
- last save
- 06b0512cf8ae 2026-09-26 18:45
- saves
- 1
koh_releases_latest_version.txt.body
tests/fixtures/kepr2/koh_releases_latest_version.txt.body
- size
- 5 B
- lines
- 1
- first save
- 06b0512cf8ae 2026-09-26 18:45
- last save
- 06b0512cf8ae 2026-09-26 18:45
- saves
- 1
koh_releases_latest_version.txt.headers
tests/fixtures/kepr2/koh_releases_latest_version.txt.headers
- size
- 52 B
- lines
- 2
- first save
- 06b0512cf8ae 2026-09-26 18:45
- last save
- 06b0512cf8ae 2026-09-26 18:45
- saves
- 1
koh_releases_latest.body
tests/fixtures/kepr2/koh_releases_latest.body
- size
- 0 B
- lines
- 0
- first save
- 06b0512cf8ae 2026-09-26 18:45
- last save
- 06b0512cf8ae 2026-09-26 18:45
- saves
- 1
koh_releases_latest.headers
tests/fixtures/kepr2/koh_releases_latest.headers
- size
- 42 B
- lines
- 2
- first save
- 06b0512cf8ae 2026-09-26 18:45
- last save
- 06b0512cf8ae 2026-09-26 18:45
- saves
- 1
koh_update-info.body
tests/fixtures/kepr2/koh_update-info.body
- size
- 678 B
- lines
- 1
- first save
- 06b0512cf8ae 2026-09-26 18:45
- last save
- 06b0512cf8ae 2026-09-26 18:45
- saves
- 1
koh_update-info.headers
tests/fixtures/kepr2/koh_update-info.headers
- size
- 58 B
- lines
- 2
- first save
- 06b0512cf8ae 2026-09-26 18:45
- last save
- 06b0512cf8ae 2026-09-26 18:45
- saves
- 1
nina_meta.body
tests/fixtures/kepr2/nina_meta.body
- size
- 415 B
- lines
- 1
- first save
- 06b0512cf8ae 2026-09-26 18:45
- last save
- 06b0512cf8ae 2026-09-26 18:45
- saves
- 1
nina_meta.headers
tests/fixtures/kepr2/nina_meta.headers
- size
- 58 B
- lines
- 2
- first save
- 06b0512cf8ae 2026-09-26 18:45
- last save
- 06b0512cf8ae 2026-09-26 18:45
- saves
- 1
nina_releases_3.4.14_checksums.txt.body
tests/fixtures/kepr2/nina_releases_3.4.14_checksums.txt.body
- size
- 763 B
- lines
- 11
- first save
- 06b0512cf8ae 2026-09-26 18:45
- last save
- 06b0512cf8ae 2026-09-26 18:45
- saves
- 1
nina_releases_3.4.14_checksums.txt.headers
tests/fixtures/kepr2/nina_releases_3.4.14_checksums.txt.headers
- size
- 52 B
- lines
- 2
- first save
- 06b0512cf8ae 2026-09-26 18:45
- last save
- 06b0512cf8ae 2026-09-26 18:45
- saves
- 1
nina_releases_3.4.14_linux-aarch64.headers
tests/fixtures/kepr2/nina_releases_3.4.14_linux-aarch64.headers
- size
- 114 B
- lines
- 3
- first save
- 06b0512cf8ae 2026-09-26 18:45
- last save
- 06b0512cf8ae 2026-09-26 18:45
- saves
- 1
nina_releases_3.4.14_nina-linux-aarch64.headers
tests/fixtures/kepr2/nina_releases_3.4.14_nina-linux-aarch64.headers
- size
- 114 B
- lines
- 3
- first save
- 06b0512cf8ae 2026-09-26 18:45
- last save
- 06b0512cf8ae 2026-09-26 18:45
- saves
- 1
nina_releases_latest_version.txt.body
tests/fixtures/kepr2/nina_releases_latest_version.txt.body
- size
- 6 B
- lines
- 1
- first save
- 06b0512cf8ae 2026-09-26 18:45
- last save
- 06b0512cf8ae 2026-09-26 18:45
- saves
- 1
nina_releases_latest_version.txt.headers
tests/fixtures/kepr2/nina_releases_latest_version.txt.headers
- size
- 52 B
- lines
- 2
- first save
- 06b0512cf8ae 2026-09-26 18:45
- last save
- 06b0512cf8ae 2026-09-26 18:45
- saves
- 1
nina_releases_latest.body
tests/fixtures/kepr2/nina_releases_latest.body
- size
- 0 B
- lines
- 0
- first save
- 06b0512cf8ae 2026-09-26 18:45
- last save
- 06b0512cf8ae 2026-09-26 18:45
- saves
- 1
nina_releases_latest.headers
tests/fixtures/kepr2/nina_releases_latest.headers
- size
- 44 B
- lines
- 2
- first save
- 06b0512cf8ae 2026-09-26 18:45
- last save
- 06b0512cf8ae 2026-09-26 18:45
- saves
- 1
nina_update-info.body
tests/fixtures/kepr2/nina_update-info.body
- size
- 691 B
- lines
- 1
- first save
- 06b0512cf8ae 2026-09-26 18:45
- last save
- 06b0512cf8ae 2026-09-26 18:45
- saves
- 1
nina_update-info.headers
tests/fixtures/kepr2/nina_update-info.headers
- size
- 58 B
- lines
- 2
- first save
- 06b0512cf8ae 2026-09-26 18:45
- last save
- 06b0512cf8ae 2026-09-26 18:45
- saves
- 1
peach-android_meta.body
tests/fixtures/kepr2/peach-android_meta.body
- size
- 362 B
- lines
- 1
- first save
- 06b0512cf8ae 2026-09-26 18:45
- last save
- 06b0512cf8ae 2026-09-26 18:45
- saves
- 1
peach-android_meta.headers
tests/fixtures/kepr2/peach-android_meta.headers
- size
- 58 B
- lines
- 2
- first save
- 06b0512cf8ae 2026-09-26 18:45
- last save
- 06b0512cf8ae 2026-09-26 18:45
- saves
- 1
peach-android_releases_2.17.43_android-arm64.headers
tests/fixtures/kepr2/peach-android_releases_2.17.43_android-arm64.headers
- size
- 135 B
- lines
- 3
- first save
- 06b0512cf8ae 2026-09-26 18:45
- last save
- 06b0512cf8ae 2026-09-26 18:45
- saves
- 1
peach-android_releases_2.17.43_checksums.txt.body
tests/fixtures/kepr2/peach-android_releases_2.17.43_checksums.txt.body
- size
- 441 B
- lines
- 7
- first save
- 06b0512cf8ae 2026-09-26 18:45
- last save
- 06b0512cf8ae 2026-09-26 18:45
- saves
- 1
peach-android_releases_2.17.43_checksums.txt.headers
tests/fixtures/kepr2/peach-android_releases_2.17.43_checksums.txt.headers
- size
- 52 B
- lines
- 2
- first save
- 06b0512cf8ae 2026-09-26 18:45
- last save
- 06b0512cf8ae 2026-09-26 18:45
- saves
- 1
peach-android_releases_2.17.43_peach-android-android-arm64.headers
tests/fixtures/kepr2/peach-android_releases_2.17.43_peach-android-android-arm64.headers
- size
- 135 B
- lines
- 3
- first save
- 06b0512cf8ae 2026-09-26 18:45
- last save
- 06b0512cf8ae 2026-09-26 18:45
- saves
- 1
peach-android_releases_latest_version.txt.body
tests/fixtures/kepr2/peach-android_releases_latest_version.txt.body
- size
- 7 B
- lines
- 1
- first save
- 06b0512cf8ae 2026-09-26 18:45
- last save
- 06b0512cf8ae 2026-09-26 18:45
- saves
- 1
peach-android_releases_latest_version.txt.headers
tests/fixtures/kepr2/peach-android_releases_latest_version.txt.headers
- size
- 52 B
- lines
- 2
- first save
- 06b0512cf8ae 2026-09-26 18:45
- last save
- 06b0512cf8ae 2026-09-26 18:45
- saves
- 1
peach-android_releases_latest.body
tests/fixtures/kepr2/peach-android_releases_latest.body
- size
- 0 B
- lines
- 0
- first save
- 06b0512cf8ae 2026-09-26 18:45
- last save
- 06b0512cf8ae 2026-09-26 18:45
- saves
- 1
peach-android_releases_latest.headers
tests/fixtures/kepr2/peach-android_releases_latest.headers
- size
- 54 B
- lines
- 2
- first save
- 06b0512cf8ae 2026-09-26 18:45
- last save
- 06b0512cf8ae 2026-09-26 18:45
- saves
- 1
peach-android_update-info.body
tests/fixtures/kepr2/peach-android_update-info.body
- size
- 414 B
- lines
- 1
- first save
- 06b0512cf8ae 2026-09-26 18:45
- last save
- 06b0512cf8ae 2026-09-26 18:45
- saves
- 1
peach-android_update-info.headers
tests/fixtures/kepr2/peach-android_update-info.headers
- size
- 58 B
- lines
- 2
- first save
- 06b0512cf8ae 2026-09-26 18:45
- last save
- 06b0512cf8ae 2026-09-26 18:45
- saves
- 1
peach-relay_meta.body
tests/fixtures/kepr2/peach-relay_meta.body
- size
- 311 B
- lines
- 1
- first save
- 06b0512cf8ae 2026-09-26 18:45
- last save
- 06b0512cf8ae 2026-09-26 18:45
- saves
- 1
peach-relay_meta.headers
tests/fixtures/kepr2/peach-relay_meta.headers
- size
- 58 B
- lines
- 2
- first save
- 06b0512cf8ae 2026-09-26 18:45
- last save
- 06b0512cf8ae 2026-09-26 18:45
- saves
- 1
peach-relay_update-info.body
tests/fixtures/kepr2/peach-relay_update-info.body
- size
- 33 B
- lines
- 1
- first save
- 06b0512cf8ae 2026-09-26 18:45
- last save
- 06b0512cf8ae 2026-09-26 18:45
- saves
- 1
peach-relay_update-info.headers
tests/fixtures/kepr2/peach-relay_update-info.headers
- size
- 58 B
- lines
- 2
- first save
- 06b0512cf8ae 2026-09-26 18:45
- last save
- 06b0512cf8ae 2026-09-26 18:45
- saves
- 1
record.sh
tests/fixtures/kepr2/record.sh
- size
- 2.0 KB
- lines
- 48
- first save
- 06b0512cf8ae 2026-09-26 18:45
- last save
- bb3469688eaa 2026-09-26 21:27
- saves
- 2
Records Kepr 2's §22.4 compatibility routes from kepr.uk, GET only, into this folder:
<slug>.headers (status line plus the headers the contract tests read) and <slug>.body.
Downloads are recorded without their body (--max-filesize 1 stops before the file).
Re-run before cutover (§28) and review the diff.
schema.sql
tests/fixtures/kepr2/schema.sql
- size
- 28.4 KB
- lines
- 715
- first save
- 946c9882a405 2026-09-26 21:02
- last save
- 946c9882a405 2026-09-26 21:02
- saves
- 1
account.test.ts
tests/account.test.ts
- size
- 4.2 KB
- lines
- 105
- first save
- a602ee4ac891 2026-09-30 16:11
- last save
- a602ee4ac891 2026-09-30 16:11
- saves
- 1
Covers the console's Account section (June, 2026-09-30): the admin password, other sessions and the domain, all changed without touching kepr.toml by hand, and applied without a restart.
- imports
- app.ts · config.ts · browser.ts · fixture.ts
admin.test.ts
tests/admin.test.ts
- size
- 7.4 KB
- lines
- 171
- first save
- 3917c91388df 2026-09-26 20:17
- last save
- 9288dbfe8a4f 2026-09-30 16:09
- saves
- 8
- imports
- app.ts · browser.ts · fixture.ts
backup.test.ts
tests/backup.test.ts
- size
- 6.4 KB
- lines
- 157
- first save
- 4538c2a89e9a 2026-09-26 20:29
- last save
- 4ffd21d3611b 2026-09-30 13:43
- saves
- 4
- imports
- store.ts · backup.ts · db.ts · browser.ts · fixture.ts
backupbucket.test.ts
tests/backupbucket.test.ts
- size
- 6.1 KB
- lines
- 160
- first save
- 9288dbfe8a4f 2026-09-30 16:09
- last save
- 9288dbfe8a4f 2026-09-30 16:09
- saves
- 1
Covers the optional backup bucket (June, 2026-09-30): set, tested and removed in the console, written to kepr.toml by Kepr alone, each backup copied there with the newest 14 kept, and a failure shown and told once until an upload succeeds.
- imports
- backup.ts · config.ts · db.ts · browser.ts · fixture.ts
backupworkspace.test.ts
tests/backupworkspace.test.ts
- size
- 3.4 KB
- lines
- 77
- first save
- 58d7fe07cda0 2026-09-29 22:45
- last save
- 9288dbfe8a4f 2026-09-30 16:09
- saves
- 2
Covers §24's backup workspace: every kept backup listed and downloadable, back up now, the last failure until a backup succeeds, and the written restore steps.
- imports
- backup.ts · db.ts · browser.ts · fixture.ts
browser.ts
tests/browser.ts
- size
- 3.1 KB
- lines
- 80
- first save
- 0750fb5f4f0a 2026-09-26 20:20
- last save
- 02702253e7ae 2026-09-30 13:53
- saves
- 2
- exports
- PASSWORD · Browser · Instance · instance
- imports
- reader.ts · sync.ts · app.ts · config.ts · db.ts
- tested by
- account.test.ts · admin.test.ts · backup.test.ts · backupbucket.test.ts · backupworkspace.test.ts · bucketadmin.test.ts · connect.test.ts · console.test.ts · downloads.test.ts · email.test.ts · hidden.test.ts · ignored.test.ts · +10 more
bucket.test.ts
tests/bucket.test.ts
- size
- 11.1 KB
- lines
- 317
- first save
- 62097d82837d 2026-09-26 16:09
- last save
- 43081c75fd34 2026-10-01 19:39
- saves
- 13
- imports
- reader.ts · fixture.ts
bucketadmin.test.ts
tests/bucketadmin.test.ts
- size
- 9.1 KB
- lines
- 225
- first save
- 63e55f152976 2026-09-29 22:17
- last save
- 3be930495fbc 2026-09-30 16:13
- saves
- 3
Covers §24's Bucket section: masked secrets, the connection test, and a save that rewrites kepr.toml and applies the new settings without a restart.
- imports
- reader.ts · app.ts · config.ts · db.ts · browser.ts
config.test.ts
tests/config.test.ts
- size
- 2.9 KB
- lines
- 91
- first save
- d9c345d0eac2 2026-09-26 16:09
- last save
- b16612d47778 2026-09-27 15:06
- saves
- 4
- imports
- config.ts
connect.test.ts
tests/connect.test.ts
- size
- 15.9 KB
- lines
- 375
- first save
- b16612d47778 2026-09-27 15:06
- last save
- 72900049ddaf 2026-09-28 12:47
- saves
- 8
Covers connect setup, validation, one-time redemption, rate limits, admin history, and secrecy.
- imports
- app.ts · backup.ts · config.ts · db.ts · browser.ts
console.test.ts
tests/console.test.ts
- size
- 27.2 KB
- lines
- 657
- first save
- 0750fb5f4f0a 2026-09-26 20:20
- last save
- eb54516e9dc9 2026-09-30 23:27
- saves
- 19
- imports
- reader.ts · store.ts · store.ts · releases.ts · browser.ts · fixture.ts
contract.test.ts
tests/contract.test.ts
- size
- 14.2 KB
- lines
- 323
- first save
- 075f6d740acc 2026-09-26 18:54
- last save
- 02702253e7ae 2026-09-30 13:53
- saves
- 5
- imports
- reader.ts · repo.ts · sync.ts · releases.ts · app.ts · db.ts · fixture.ts
describe.test.ts
tests/describe.test.ts
- size
- 9.8 KB
- lines
- 235
- first save
- 532072a50935 2026-09-26 18:06
- last save
- 009e5c4064e1 2026-09-26 21:24
- saves
- 4
- imports
- describe.ts
diff.test.ts
tests/diff.test.ts
- size
- 2.9 KB
- lines
- 82
- first save
- dec9767f3870 2026-09-26 18:26
- last save
- dec9767f3870 2026-09-26 18:26
- saves
- 1
- imports
- diff.ts
downloads.test.ts
tests/downloads.test.ts
- size
- 2.9 KB
- lines
- 74
- first save
- 850a5062b8fe 2026-09-30 23:18
- last save
- 850a5062b8fe 2026-09-30 23:18
- saves
- 1
Covers §24's Downloads section: counts per UTC day, the last 30 days per repo or across all, each repo's totals, the most downloaded files, and dropping days older than 400.
- imports
- browser.ts · fixture.ts
email.test.ts
tests/email.test.ts
- size
- 9.9 KB
- lines
- 254
- first save
- 301147eeaa38 2026-09-29 22:41
- last save
- 301147eeaa38 2026-09-29 22:41
- saves
- 1
Covers §24's Email section: SMTP settings in kepr.toml, the test send, emailed notifications and the delivery queue's retries, retry now and discard. SMTP is a fake server in this process.
fake-s3.ts
tests/fake-s3.ts
- size
- 2.4 KB
- lines
- 58
- first save
- 1b4865e81200 2026-09-27 16:01
- last save
- 1b4865e81200 2026-09-27 16:01
- saves
- 1
A bucket in memory, served over HTTP for the joint public-steal test: koh3's own S3 backend and Bun's S3Client both talk to it, so Kepr and the two koh3 machines share one bucket.
It runs as its own process because the test drives koh3 with Bun.spawnSync, which would block
the event loop this server needs. It prints its endpoint on the first line of stdout.
Only what the two clients use is implemented: GET, HEAD, PUT (with If-None-Match: * for the
one conditional write that matters, head), DELETE, and ListObjectsV2. Signatures are ignored
rather than verified — the one way this is easier than a real bucket.
fixture.ts
tests/fixture.ts
- size
- 8.7 KB
- lines
- 245
- first save
- 62097d82837d 2026-09-26 16:09
- last save
- 00ab790a7f56 2026-09-28 15:36
- saves
- 12
- exports
- Fixture · makeKohBucket · stripPath · makeRepos · kohWorkspace · FixtureFile · FixtureRelease · writeRelease · platform
- imports
- repo.ts
- tested by
- account.test.ts · admin.test.ts · backup.test.ts · backupbucket.test.ts · backupworkspace.test.ts · bucket.test.ts · console.test.ts · contract.test.ts · downloads.test.ts · front.test.ts · hidden.test.ts · ignored.test.ts · +19 more
front.test.ts
tests/front.test.ts
- size
- 10.6 KB
- lines
- 252
- first save
- b623f609221b 2026-09-26 19:59
- last save
- 53796355d42e 2026-09-30 16:17
- saves
- 11
.kepr/hidden/, and back on unhide.
hidden.test.ts
tests/hidden.test.ts
- size
- 5.0 KB
- lines
- 121
- first save
- 1305a0bb9d6d 2026-09-30 13:58
- last save
- eb54516e9dc9 2026-09-30 23:27
- saves
- 3
Covers per-repo hidden paths (June, 2026-09-30): gone from every page, the stats and new
tarballs, kept hidden through later syncs, handed to Koh under .kepr/hidden/, and back on unhide.
- imports
- reader.ts · sync.ts · store.ts · browser.ts · fixture.ts
ignored.test.ts
tests/ignored.test.ts
- size
- 3.9 KB
- lines
- 94
- first save
- a7772f7d8854 2026-10-01 18:28
- last save
- a7772f7d8854 2026-10-01 18:28
- saves
- 1
Covers names ignored in every repo (June, 2026-10-01): a file or folder with that exact name, at any depth, is gone from every repo at once, stays gone in later saves, and comes back when the name is taken off the list.
- imports
- reader.ts · sync.ts · browser.ts · fixture.ts
import.test.ts
tests/import.test.ts
- size
- 15.6 KB
- lines
- 369
- first save
- 946c9882a405 2026-09-26 21:02
- last save
- 71ae032e7c17 2026-09-26 21:12
- saves
- 2
- imports
- browser.ts · fixture.ts
install.test.ts
tests/install.test.ts
- size
- 4.5 KB
- lines
- 121
- first save
- a79b2f329d95 2026-09-26 18:56
- last save
- 02702253e7ae 2026-09-30 13:53
- saves
- 2
- imports
- reader.ts · sync.ts · app.ts · db.ts · fixture.ts
issues.test.ts
tests/issues.test.ts
- size
- 13.7 KB
- lines
- 333
- first save
- 755ef3f89667 2026-09-26 19:05
- last save
- 1440b2ee584c 2026-09-30 23:22
- saves
- 7
- imports
- reader.ts · sync.ts · app.ts · db.ts · fixture.ts
kepr2.test.ts
tests/kepr2.test.ts
- size
- 4.2 KB
- lines
- 129
- first save
- 7ec223c3528a 2026-09-26 20:45
- last save
- 8722a5c608af 2026-09-26 21:23
- saves
- 2
- imports
- app.ts · db.ts · browser.ts · fixture.ts
koh-version.txt
tests/koh-version.txt
- size
- 7 B
- lines
- 1
- first save
- dedcbd4f3830 2026-09-27 10:42
- last save
- 611700826bbf 2026-10-01 18:07
- saves
- 29
kohpaths.test.ts
tests/kohpaths.test.ts
- size
- 3.6 KB
- lines
- 90
- first save
- 0336dc246093 2026-09-28 15:35
- last save
- 02702253e7ae 2026-09-30 13:53
- saves
- 3
- imports
- reader.ts · sync.ts · store.ts · db.ts · fixture.ts
kohrelease.test.ts
tests/kohrelease.test.ts
- size
- 5.1 KB
- lines
- 146
- first save
- dedcbd4f3830 2026-09-27 10:42
- last save
- 02702253e7ae 2026-09-30 13:53
- saves
- 3
- imports
- reader.ts · sync.ts · app.ts · db.ts · fixture.ts
kohremote.test.ts
tests/kohremote.test.ts
- size
- 6.9 KB
- lines
- 180
- first save
- 4c969e0a75af 2026-09-27 15:16
- last save
- 02702253e7ae 2026-09-30 13:53
- saves
- 5
Covers addendum A2 part 2: Koh's own remote layout, served read-only from a public repo's mirror.
- imports
- reader.ts · sync.ts · browser.ts · fixture.ts
koh3 steals it — and later, once that machine has signed in, offers its work back to the bucket.
kohsteal.test.ts
tests/kohsteal.test.ts
- size
- 15.5 KB
- lines
- 322
- first save
- 1b4865e81200 2026-09-27 16:01
- last save
- 02702253e7ae 2026-09-30 13:53
- saves
- 11
The joint public-steal contract (addendum A2, item 8d): one machine publishes a repo to a bucket,
Kepr serves it read-only over HTTP in Koh's own layout, a second koh3 steals it — and later,
once that machine has signed in, offers its work back to the bucket.
There is no S3 on a test host, so the bucket is a fake one served here; koh3 is run as the real
installed binary (koh3 on PATH, the same one this suite is pinned to). The account of what the
fake bucket accepts is in its own class: signatures are ignored rather than verified, which is
the one way this test is easier than the real thing.
- imports
- reader.ts · sync.ts · app.ts · db.ts · browser.ts · fixture.ts
kohupdate.test.ts
tests/kohupdate.test.ts
- size
- 11.0 KB
- lines
- 276
- first save
- f4a466e83f88 2026-09-27 14:07
- last save
- 02702253e7ae 2026-09-30 13:53
- saves
- 4
- imports
- reader.ts · sync.ts · app.ts · db.ts · fixture.ts
links.test.ts
tests/links.test.ts
- size
- 2.8 KB
- lines
- 85
- first save
- 88502325cbf4 2026-09-29 18:18
- last save
- 88502325cbf4 2026-09-29 18:18
- saves
- 1
- imports
- links.ts
navbar.test.ts
tests/navbar.test.ts
- size
- 1.7 KB
- lines
- 58
- first save
- 8c1ff73fd409 2026-09-29 20:26
- last save
- 9af784d30135 2026-09-29 20:38
- saves
- 3
notifications.test.ts
tests/notifications.test.ts
- size
- 5.1 KB
- lines
- 139
- first save
- eb098609196d 2026-09-29 22:34
- last save
- 9288dbfe8a4f 2026-09-30 16:09
- saves
- 3
Covers §24's in-app notifications: what raises one, unread state, opening, mark all read, switching kinds off, and keeping the newest 200.
- imports
- backup.ts · db.ts · browser.ts · fixture.ts
pages.test.ts
tests/pages.test.ts
- size
- 19.7 KB
- lines
- 449
- first save
- de50af6ed620 2026-09-26 17:57
- last save
- 02702253e7ae 2026-09-30 13:53
- saves
- 21
- imports
- reader.ts · sync.ts · queries.ts · store.ts · timeline.ts · app.ts · db.ts · fixture.ts
releases.test.ts
tests/releases.test.ts
- size
- 17.3 KB
- lines
- 441
- first save
- a16dea674709 2026-09-26 18:47
- last save
- 02702253e7ae 2026-09-30 13:53
- saves
- 7
- imports
- reader.ts · sync.ts · store.ts · releases.ts · app.ts · db.ts · fixture.ts
repotext.test.ts
tests/repotext.test.ts
- size
- 7.9 KB
- lines
- 169
- first save
- 4030bdcacda1 2026-09-29 18:30
- last save
- 1a625426812f 2026-09-30 23:16
- saves
- 4
- imports
- reader.ts · repo.ts · browser.ts · fixture.ts
repoworkspace.test.ts
tests/repoworkspace.test.ts
- size
- 8.8 KB
- lines
- 191
- first save
- 364bcfc8c156 2026-09-29 22:25
- last save
- eb54516e9dc9 2026-09-30 23:27
- saves
- 6
Covers §24's selected-repo workspace: the summary, detected and shown languages, where the description comes from, and the repo's releases.
- imports
- db.ts · browser.ts · fixture.ts
server.test.ts
tests/server.test.ts
- size
- 2.3 KB
- lines
- 58
- first save
- 80ceee69d14a 2026-09-26 16:10
- last save
- 7ec223c3528a 2026-09-26 20:45
- saves
- 3
- imports
- app.ts · config.ts · reserved.ts
setup.test.ts
tests/setup.test.ts
- size
- 4.2 KB
- lines
- 109
- first save
- 53796355d42e 2026-09-30 16:17
- last save
- f59a3792d797 2026-10-01 14:13
- saves
- 2
Covers first-run setup (June, 2026-09-30): with no kepr.toml, Kepr serves only /setup, which takes the one-time code printed in the terminal, then the password, domain and bucket, writes kepr.toml itself, and hands over to the real app.
- imports
- setup.ts · config.ts · fixture.ts
storage.test.ts
tests/storage.test.ts
- size
- 3.1 KB
- lines
- 77
- first save
- 0c5812ee878a 2026-09-30 23:20
- last save
- 0c5812ee878a 2026-09-30 23:20
- saves
- 1
Covers §24's Storage section: sizes by repo and kind, kept tarballs with a delete each, and orphan cleanup that touches only Kepr's own files.
- imports
- browser.ts · fixture.ts
sync.test.ts
tests/sync.test.ts
- size
- 15.6 KB
- lines
- 378
- first save
- aab0488febf0 2026-09-26 16:23
- last save
- 43081c75fd34 2026-10-01 19:39
- saves
- 17
- imports
- reader.ts · sync.ts · store.ts · db.ts · browser.ts · fixture.ts
tarball.test.ts
tests/tarball.test.ts
- size
- 13.3 KB
- lines
- 345
- first save
- af1f70ffc57a 2026-09-26 18:31
- last save
- 2b4b50250d6d 2026-09-30 15:42
- saves
- 10
timeout.ts
tests/timeout.ts
- size
- 359 B
- lines
- 6
- first save
- 4bc2782ec862 2026-09-28 05:26
- last save
- 4bc2782ec862 2026-09-28 05:26
- saves
- 1
triage.test.ts
tests/triage.test.ts
- size
- 8.1 KB
- lines
- 187
- first save
- 987482f17e06 2026-09-29 22:31
- last save
- eb54516e9dc9 2026-09-30 23:27
- saves
- 5
Covers §23–§24's triage: tab counts, awaiting reply, repo/type/word filters, hiding one follow-up, and pausing new issues per repo.
- imports
- store.ts · browser.ts · fixture.ts
bun:sqlite) that reads one operator's Koh 3 bucket, read-only, and presents it: code and history pages, source tarballs, release downloads and update feeds, public issues.
AGENTS.md
AGENTS.md
- size
- 5.4 KB
- lines
- 95
- first save
- 3f94f3d4aead 2026-09-26 16:11
- last save
- 53796355d42e 2026-09-30 16:17
- saves
- 13
Kepr 3 is a small, self-hostable TypeScript web app (Bun + Hono + bun:sqlite)
that reads one operator's Koh 3 bucket, read-only, and presents it: code and
history pages, source tarballs, release downloads and update feeds, public
issues. ../koh3/docs/koh-kepr-3-master-spec.md is the
specification — Part II (§17–§27) is Kepr 3; Part I's §5.1, §9.2, §10 and
§11.2 are the bucket contract Kepr reads. When code and spec disagree, the spec
wins. Anything not in it is out of scope; a new idea becomes a decision in §30
first. docs/visual-reference.md governs anything user-visible.
biome.json
biome.json
- size
- 361 B
- lines
- 23
- first save
- d9c345d0eac2 2026-09-26 16:09
- last save
- d9c345d0eac2 2026-09-26 16:09
- saves
- 1
bun.lock
bun.lock
- size
- 20.8 KB
- lines
- 207
- first save
- d9c345d0eac2 2026-09-26 16:09
- last save
- 301147eeaa38 2026-09-29 22:41
- saves
- 2
bunfig.toml
bunfig.toml
- size
- 40 B
- lines
- 2
- first save
- 4bc2782ec862 2026-09-28 05:26
- last save
- 4bc2782ec862 2026-09-28 05:26
- saves
- 1
kepr.example.toml
kepr.example.toml
- size
- 851 B
- lines
- 23
- first save
- d9c345d0eac2 2026-09-26 16:09
- last save
- 63e55f152976 2026-09-29 22:17
- saves
- 3
Copy to kepr.toml (never saved: it holds the admin password hash and the bucket key). The admin console's bucket section can rewrite it; comments are not kept.
package.json
package.json
- size
- 526 B
- lines
- 25
- first save
- d9c345d0eac2 2026-09-26 16:09
- last save
- 43081c75fd34 2026-10-01 19:39
- saves
- 182
tsconfig.json
tsconfig.json
- size
- 441 B
- lines
- 19
- first save
- d9c345d0eac2 2026-09-26 16:09
- last save
- d9c345d0eac2 2026-09-26 16:09
- saves
- 1