diff --git a/apps/classifier/package.json b/apps/classifier/package.json index 684d5ec..d25d851 100644 --- a/apps/classifier/package.json +++ b/apps/classifier/package.json @@ -3,7 +3,8 @@ "module": "index.ts", "type": "module", "scripts": { - "dev": "bun --watch --env-file=../../.env index.ts" + "dev": "bun --watch --env-file=../../.env index.ts", + "prod": "bun index.ts" }, "dependencies": { "@andrioid/atproto": "workspace:*" diff --git a/apps/jetstream/package.json b/apps/jetstream/package.json index b3e7dd9..c74e561 100644 --- a/apps/jetstream/package.json +++ b/apps/jetstream/package.json @@ -3,7 +3,8 @@ "module": "index.ts", "type": "module", "scripts": { - "dev": "bun --watch --env-file=../../.env index.ts" + "dev": "bun --watch --env-file=../../.env index.ts", + "prod": "bun index.ts" }, "dependencies": { "@andrioid/atproto": "workspace:*" diff --git a/apps/web/scripts/run-server.ts b/apps/web/scripts/run-server.ts index e7c1034..a1f6e51 100644 --- a/apps/web/scripts/run-server.ts +++ b/apps/web/scripts/run-server.ts @@ -6,6 +6,6 @@ const app = express(); app.use("/", express.static("dist/client/")); app.use(ssrHandler); -const port = process.env["port"] ?? 8080; +const port = process.env["PORT"] ?? 8080; console.log("[astro] express listening at ", port); app.listen(port); diff --git a/apps/web/src/pages/xrpc/app.bsky.feed.getFeedSkeleton.ts b/apps/web/src/pages/xrpc/app.bsky.feed.getFeedSkeleton.ts index b58de34..088d408 100644 --- a/apps/web/src/pages/xrpc/app.bsky.feed.getFeedSkeleton.ts +++ b/apps/web/src/pages/xrpc/app.bsky.feed.getFeedSkeleton.ts @@ -12,18 +12,19 @@ export const GET: APIRoute = async ({ request: req, locals }) => { const FeedParam = new URL(req.url).searchParams.get("feed"); if (!FeedParam) { - return HTTPError(); + return HTTPError("no feed requested"); } const feedUri = new AtUri(FeedParam); + console.log("[getFeedSkeleton]", FeedParam); // pathname looks like this: /app.bsky.feed.generator/tech-following const rkeyMatch = feedUri.pathname.match(/\/([^/]+)$/); if (!rkeyMatch || rkeyMatch.length < 2) { - return HTTPError(); + return HTTPError("no rkey found in feed uri"); } const rkey = rkeyMatch[1]; const feed = feeds.find((f) => f.rkey === rkey); - if (!feed) return HTTPError(); + if (!feed) return HTTPError("feed not found"); const actor = jwt?.iss ?? "did:plc:rrrwbar3wv576qpsymwey5p5"; // defaults to me for testing await getOrUpdateFollows(ctx, actor); @@ -42,8 +43,8 @@ export const GET: APIRoute = async ({ request: req, locals }) => { } satisfies AppBskyFeedGetFeedSkeleton.Response["data"]); }; -function HTTPError() { - return new Response("You are holding it wrong", { +function HTTPError(msg: string = "You are holding it wrong") { + return new Response(msg, { status: 400, statusText: "Invalid arguments", }); diff --git a/fly.toml b/fly.toml index df22811..b7cbbc6 100644 --- a/fly.toml +++ b/fly.toml @@ -6,6 +6,11 @@ app = 'techscrolls' primary_region = 'arn' +[processes] +app = "web" +classifier = "classifier" +jetstream = "jetstream" + [build] [http_service] diff --git a/package.json b/package.json index a78067a..049abc5 100644 --- a/package.json +++ b/package.json @@ -7,7 +7,9 @@ "dev": "bun --filter '*' dev", "build": "bun --filter '*' build", "web": "bun run migrate && bun run --cwd apps/web server", - "migrate": "bun run --cwd packages/atproto db:migrate" + "migrate": "bun run --cwd packages/atproto db:migrate", + "classifier": "bun run migrate && bun run --cwd apps/classifier prod", + "jetstream": "bun run migrate && bun run --cwd apps/jetstream prod" }, "devDependencies": { "@types/bun": "latest" diff --git a/packages/atproto/classifiers/tfjs/train.ts b/packages/atproto/classifiers/tfjs/train.ts index 68e2145..c44047c 100644 --- a/packages/atproto/classifiers/tfjs/train.ts +++ b/packages/atproto/classifiers/tfjs/train.ts @@ -29,6 +29,7 @@ export async function train(ctx: AtContext) { label: item.score === 100 ? item.tag : `not:${item.tag}`, }; }); + const trainingData: string[] = labeledData.map((item) => item.text); const trainingDataLabels: string[] = labeledData.map((item) => item.label); diff --git a/packages/atproto/config.ts b/packages/atproto/config.ts index 9601f70..2a51868 100644 --- a/packages/atproto/config.ts +++ b/packages/atproto/config.ts @@ -2,8 +2,7 @@ export const config = (() => { const identifier = process.env["DID_HANDLE"]; const password = process.env["DID_PASSWORD"]; const port = process.env["PORT"] ?? 3000; - const fgHostname = - process.env["FEEDGEN_HOSTNAME"] ?? "2685-87-104-249-212.ngrok-free.app"; + const fgHostname = process.env["FEEDGEN_HOSTNAME"] ?? "technical.scrolls.org"; const recordName = "testfeed"; const pgURL = process.env["PG_URL"] ?? "postgres://devuser:devpass@localhost:5432/devdb";