Your music, beautifully tracked. All yours. (coming soon) teal.fm
teal-fm atproto

upgrade part 2 (bad edition)

-1
apps/aqua/package.json
··· 27 27 "@hono/node-server": "^1.13.7", 28 28 "@libsql/client": "^0.14.0", 29 29 "dotenv": "^16.4.5", 30 - "drizzle-orm": "^0.36.1", 31 30 "envalid": "^8.0.0", 32 31 "hono": "^4.6.9", 33 32 "jose": "^5.9.6",
+7 -10
package.json
··· 7 7 "dev": "turbo dev", 8 8 "build": "pnpm turbo run build --filter='./packages/*' --filter='./apps/*'", 9 9 "typecheck": "pnpm -r exec tsc --noEmit", 10 - "fix": "biome lint --apply . && biome format --write . && biome check . --apply", 11 - "lex:gen-server": "lex gen-server ./packages/lexicons/generated/server ./packages/lexicons/src/*", 12 - "lex:gen-api": "lex gen-api ./packages/lexicons/generated/api ./packages/lexicons/src/*", 13 - "lex:gen-md": "lex gen-md ./packages/lexicons/generated/md ./packages/lexicons/src/*", 14 - "db:studio": "drizzle-kit studio", 15 - "db:migrate": "drizzle-kit migrate", 16 - "db:seed": "drizzle-kit seed" 10 + "fix": "biome lint --apply . && biome format --write . && biome check . --apply" 17 11 }, 18 12 "devDependencies": { 19 - "turbo": "^2.3.3", 20 - "biome": "^0.3.3" 13 + "biome": "^0.3.3", 14 + "turbo": "^2.3.3" 21 15 }, 22 16 "workspaces": [ 23 17 "apps/*", 24 18 "packages/*" 25 - ] 19 + ], 20 + "dependencies": { 21 + "drizzle-kit": "^0.30.1" 22 + } 26 23 }
+1 -1
packages/db/connect.ts
··· 1 1 import { drizzle } from "drizzle-orm/libsql"; 2 - import * as schema from "@teal/db/schema"; 2 + import * as schema from "./schema"; 3 3 import process from "node:process"; 4 4 import path from "node:path"; 5 5
+3
packages/db/index.ts
··· 1 + // barrel file :) kms 2 + export * from "./connect"; 3 + export * from "./schema";
+13
packages/db/package.json
··· 1 1 { 2 2 "name": "@teal/db", 3 + "version": "0.0.0", 4 + "private": true, 5 + "main": "index.js", 3 6 "type": "module", 7 + "scripts": { 8 + "db:generate": "drizzle-kit generate", 9 + "db:migrate": "drizzle-kit migrate", 10 + "db:studio": "drizzle-kit studio" 11 + }, 4 12 "dependencies": { 13 + "@libsql/client": "^0.14.0", 14 + "@teal/tsconfig": "workspace:*", 5 15 "drizzle-kit": "^0.27.1", 6 16 "drizzle-orm": "^0.36.0" 17 + }, 18 + "devDependencies": { 19 + "@types/node": "^20.17.6" 7 20 } 8 21 }
+5 -2
packages/jetstring/package.json
··· 1 1 { 2 2 "name": "@teal/jetstring", 3 - "type": "module", 4 3 "scripts": { 5 4 "dev": "tsx watch src/index.ts | pino-pretty" 6 5 }, 7 6 "dependencies": { 7 + "@libsql/client": "^0.14.0", 8 8 "@skyware/jetstream": "^0.2.0", 9 - "@teal/db": "workspace:*" 9 + "@teal/db": "workspace:*", 10 + "@teal/lexicons": "workspace:*", 11 + "@teal/tsconfig": "workspace:*", 12 + "pino-pretty": "^11.3.0" 10 13 }, 11 14 "devDependencies": { 12 15 "tsup": "^8.3.5",
+3 -3
packages/jetstring/src/index.ts
··· 1 1 import type { Database } from "@teal/db/connect"; 2 2 import { db } from "@teal/db/connect"; 3 - import { status } from "@teal/db/schema"; 3 + import { status, play } from "@teal/db/schema"; 4 4 import { CommitCreateEvent, Jetstream } from "@skyware/jetstream"; 5 5 6 6 import { 7 7 Record as XyzStatusphereStatus, 8 8 isRecord as isStatusphereStatus, 9 - } from "@teal/lexicons/generated/server/types/xyz/statusphere/status"; 9 + } from "@teal/lexicons/src/types/xyz/statusphere/status"; 10 10 11 11 import { 12 12 Record as FmTealAlphaPlay, 13 13 isRecord as isTealAlphaPlay, 14 - } from "@teal/lexicons/generated/server/types/fm/teal/alpha/play"; 14 + } from "@teal/lexicons/src/types/fm/teal/alpha/play"; 15 15 16 16 class Handler { 17 17 private static instance: Handler;
packages/lexicons/generated/server/index.ts packages/lexicons/src/index.ts
+2 -2
packages/lexicons/generated/server/lexicons.ts packages/lexicons/src/lexicons.ts
··· 310 310 musicServiceBaseDomain: { 311 311 type: 'string', 312 312 description: 313 - 'The base domain of the music service. e.g. music.apple.com, tidal.com, spotify.com.', 313 + "The base domain of the music service. e.g. music.apple.com, tidal.com, spotify.com. Defaults to 'local' if not provided.", 314 314 }, 315 315 submissionClientAgent: { 316 316 type: 'string', 317 317 maxLength: 256, 318 318 maxGraphemes: 2560, 319 319 description: 320 - 'A user-agent style string specifying the user agent. e.g. tealtracker/0.0.1b', 320 + "A user-agent style string specifying the user agent. e.g. tealtracker/0.0.1b (Linux; Android 13; SM-A715F). Defaults to 'manual/unknown' if not provided.", 321 321 }, 322 322 playedTime: { 323 323 type: 'string',
packages/lexicons/generated/server/types/app/bsky/actor/profile.ts packages/lexicons/src/types/app/bsky/actor/profile.ts
packages/lexicons/generated/server/types/app/bsky/richtext/facet.ts packages/lexicons/src/types/app/bsky/richtext/facet.ts
packages/lexicons/generated/server/types/fm/teal/alpha/actor/profile.ts packages/lexicons/src/types/fm/teal/alpha/actor/profile.ts
packages/lexicons/generated/server/types/fm/teal/alpha/actor/status.ts packages/lexicons/src/types/fm/teal/alpha/actor/status.ts
+2 -2
packages/lexicons/generated/server/types/fm/teal/alpha/play.ts packages/lexicons/src/types/fm/teal/alpha/play.ts
··· 27 27 isrc?: string 28 28 /** The URL associated with this track */ 29 29 originUrl?: string 30 - /** The base domain of the music service. e.g. music.apple.com, tidal.com, spotify.com. */ 30 + /** The base domain of the music service. e.g. music.apple.com, tidal.com, spotify.com. Defaults to 'local' if not provided. */ 31 31 musicServiceBaseDomain?: string 32 - /** A user-agent style string specifying the user agent. e.g. tealtracker/0.0.1b */ 32 + /** A user-agent style string specifying the user agent. e.g. tealtracker/0.0.1b (Linux; Android 13; SM-A715F). Defaults to 'manual/unknown' if not provided. */ 33 33 submissionClientAgent?: string 34 34 /** The unix timestamp of when the track was played */ 35 35 playedTime?: string
packages/lexicons/generated/server/types/xyz/statusphere/status.ts packages/lexicons/src/types/xyz/statusphere/status.ts
packages/lexicons/generated/server/util.ts packages/lexicons/src/util.ts
packages/lexicons/index.ts

This is a binary file and will not be displayed.

+7 -1
packages/lexicons/package.json
··· 1 1 { 2 2 "name": "@teal/lexicons", 3 3 "type": "module", 4 + "main": "./index.ts", 4 5 "dependencies": { 6 + "@atproto/lex-cli": "^0.4.1", 5 7 "@atproto/lexicon": "^0.4.2", 6 - "@atproto/xrpc-server": "^0.6.4" 8 + "@atproto/xrpc-server": "^0.6.4", 9 + "@teal/tsconfig": "workspace:*" 10 + }, 11 + "scripts": { 12 + "lex:gen-server": "lex gen-server ./src ./real/*" 7 13 } 8 14 }
packages/lexicons/src/app.bsky.actor.profile.json packages/lexicons/real/app.bsky.actor.profile.json
packages/lexicons/src/app.bsky.richtext.facet.json packages/lexicons/real/app.bsky.richtext.facet.json
packages/lexicons/src/fm.teal.alpha.actor.profile.json packages/lexicons/real/fm.teal.alpha.actor.profile.json
packages/lexicons/src/fm.teal.alpha.actor.status.json packages/lexicons/real/fm.teal.alpha.actor.status.json
packages/lexicons/src/fm.teal.alpha.play.json packages/lexicons/real/fm.teal.alpha.play.json
packages/lexicons/src/xyz.statusphere.status.json packages/lexicons/real/xyz.statusphere.status.json
+1 -1
packages/lexicons/tsconfig.json
··· 1 1 { 2 2 "extends": "@teal/tsconfig/base.json", 3 - "include": ["./generated/**/*.ts"] 3 + "include": ["./src/**/*.ts"] 4 4 }
+5 -1
packages/tsconfig/package.json
··· 1 1 { 2 2 "name": "@teal/tsconfig", 3 - "type": "module" 3 + "version": "0.0.0", 4 + "private": true, 5 + "publishConfig": { 6 + "access": "public" 7 + } 4 8 }
+46 -3
pnpm-lock.yaml
··· 7 7 importers: 8 8 9 9 .: 10 + dependencies: 11 + drizzle-kit: 12 + specifier: ^0.30.1 13 + version: 0.30.1 10 14 devDependencies: 11 15 biome: 12 16 specifier: ^0.3.3 ··· 59 63 dotenv: 60 64 specifier: ^16.4.5 61 65 version: 16.4.7 62 - drizzle-orm: 63 - specifier: ^0.36.1 64 - version: 0.36.4(@libsql/client@0.14.0) 65 66 envalid: 66 67 specifier: ^8.0.0 67 68 version: 8.0.0 ··· 111 112 112 113 packages/db: 113 114 dependencies: 115 + '@libsql/client': 116 + specifier: ^0.14.0 117 + version: 0.14.0 118 + '@teal/tsconfig': 119 + specifier: workspace:* 120 + version: link:../tsconfig 114 121 drizzle-kit: 115 122 specifier: ^0.27.1 116 123 version: 0.27.2 117 124 drizzle-orm: 118 125 specifier: ^0.36.0 119 126 version: 0.36.4(@libsql/client@0.14.0) 127 + devDependencies: 128 + '@types/node': 129 + specifier: ^20.17.6 130 + version: 20.17.9 120 131 121 132 packages/jetstring: 122 133 dependencies: 134 + '@libsql/client': 135 + specifier: ^0.14.0 136 + version: 0.14.0 123 137 '@skyware/jetstream': 124 138 specifier: ^0.2.0 125 139 version: 0.2.1(@atcute/client@2.0.6) 126 140 '@teal/db': 127 141 specifier: workspace:* 128 142 version: link:../db 143 + '@teal/lexicons': 144 + specifier: workspace:* 145 + version: link:../lexicons 146 + '@teal/tsconfig': 147 + specifier: workspace:* 148 + version: link:../tsconfig 149 + pino-pretty: 150 + specifier: ^11.3.0 151 + version: 11.3.0 129 152 devDependencies: 130 153 tsup: 131 154 specifier: ^8.3.5 ··· 139 162 140 163 packages/lexicons: 141 164 dependencies: 165 + '@atproto/lex-cli': 166 + specifier: ^0.4.1 167 + version: 0.4.1 142 168 '@atproto/lexicon': 143 169 specifier: ^0.4.2 144 170 version: 0.4.3 145 171 '@atproto/xrpc-server': 146 172 specifier: ^0.6.4 147 173 version: 0.6.4 174 + '@teal/tsconfig': 175 + specifier: workspace:* 176 + version: link:../tsconfig 148 177 149 178 packages/matcher: {} 150 179 ··· 1391 1420 resolution: {integrity: sha512-F6cFZ1wxa9XzFyeeQsp/0/lIzUbDuQjS8/njpYBDWa+wdWmXuY+Z/X2hHFK/9PGHZkv3c9mER+mVWfKlp/B6Vw==} 1392 1421 hasBin: true 1393 1422 1423 + drizzle-kit@0.30.1: 1424 + resolution: {integrity: sha512-HmA/NeewvHywhJ2ENXD3KvOuM/+K2dGLJfxVfIHsGwaqKICJnS+Ke2L6UcSrSrtMJLJaT0Im1Qv4TFXfaZShyw==} 1425 + hasBin: true 1426 + 1394 1427 drizzle-orm@0.36.4: 1395 1428 resolution: {integrity: sha512-1OZY3PXD7BR00Gl61UUOFihslDldfH4NFRH2MbP54Yxi0G/PKn4HfO65JYZ7c16DeP3SpM3Aw+VXVG9j6CRSXA==} 1396 1429 peerDependencies: ··· 1895 1928 1896 1929 libsql@0.4.7: 1897 1930 resolution: {integrity: sha512-T9eIRCs6b0J1SHKYIvD8+KCJMcWZ900iZyxdnSCdqxN12Z1ijzT+jY5nrk72Jw4B0HGzms2NgpryArlJqvc3Lw==} 1931 + cpu: [x64, arm64, wasm32] 1898 1932 os: [darwin, linux, win32] 1899 1933 1900 1934 lilconfig@3.1.3: ··· 3670 3704 dotenv@16.4.7: {} 3671 3705 3672 3706 drizzle-kit@0.27.2: 3707 + dependencies: 3708 + '@drizzle-team/brocli': 0.10.2 3709 + '@esbuild-kit/esm-loader': 2.6.5 3710 + esbuild: 0.19.12 3711 + esbuild-register: 3.6.0(esbuild@0.19.12) 3712 + transitivePeerDependencies: 3713 + - supports-color 3714 + 3715 + drizzle-kit@0.30.1: 3673 3716 dependencies: 3674 3717 '@drizzle-team/brocli': 0.10.2 3675 3718 '@esbuild-kit/esm-loader': 2.6.5