diff --git a/.lintstagedrc.mjs b/.lintstagedrc.mjs
index f5686b7..aa1b9be 100644
--- a/.lintstagedrc.mjs
+++ b/.lintstagedrc.mjs
@@ -1,4 +1,4 @@
export default {
"*.{j,t}s": [() => "npm run build:src:tsgo", "eslint --concurrency 4" /* sweet spot it seems */, "prettier --write"],
- "src/schemas/{*,**/*}.ts": [() => "tsc -b -v", () => "node scripts/schema.js", () => "node scripts/openapi.js", () => "git add assets/schemas.json assets/openapi.json"],
+ "src/schemas/{*,**/*}.ts": [() => "npm run build:src:tsgo", () => "node scripts/schema.js", () => "node scripts/openapi.js", () => "git add assets/schemas.json assets/openapi.json"],
};
diff --git a/src/schemas/api/channels/Webhook.ts b/src/schemas/api/channels/Webhook.ts
index ac50001..6507204 100644
--- a/src/schemas/api/channels/Webhook.ts
+++ b/src/schemas/api/channels/Webhook.ts
@@ -1,3 +1,21 @@
+/*
+ Spacebar: A FOSS re-implementation and extension of the Discord.com backend.
+ Copyright (C) 2026 Spacebar and Spacebar Contributors
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU Affero General Public License as published
+ by the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU Affero General Public License for more details.
+
+ You should have received a copy of the GNU Affero General Public License
+ along with this program. If not, see .
+*/
+
export enum WebhookType {
Incoming = 1,
ChannelFollower = 2,
diff --git a/src/schemas/api/channels/index.ts b/src/schemas/api/channels/index.ts
index cdd42be..1ab6232 100644
--- a/src/schemas/api/channels/index.ts
+++ b/src/schemas/api/channels/index.ts
@@ -15,5 +15,6 @@
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see .
*/
+
export * from "./Channel";
export * from "./Webhook";
diff --git a/src/schemas/api/developers/index.ts b/src/schemas/api/developers/index.ts
index e944306..fe06408 100644
--- a/src/schemas/api/developers/index.ts
+++ b/src/schemas/api/developers/index.ts
@@ -15,6 +15,7 @@
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see .
*/
+
export * from "./Application";
export * from "./ApplicationCreateSchema";
export * from "./ApplicationModifySchema";
diff --git a/src/schemas/api/guilds/GuildSchema.ts b/src/schemas/api/guilds/GuildSchema.ts
index adc9efd..3937847 100644
--- a/src/schemas/api/guilds/GuildSchema.ts
+++ b/src/schemas/api/guilds/GuildSchema.ts
@@ -16,7 +16,7 @@
along with this program. If not, see .
*/
-import { Snowflake } from "@spacebar/schemas";
+import { Snowflake } from "../../Identifiers";
export interface GuildAvailableSchema {
id: Snowflake;
diff --git a/src/schemas/api/guilds/VoiceState.ts b/src/schemas/api/guilds/VoiceState.ts
index 9a8fb2b..278e967 100644
--- a/src/schemas/api/guilds/VoiceState.ts
+++ b/src/schemas/api/guilds/VoiceState.ts
@@ -1,3 +1,22 @@
+/*
+ Spacebar: A FOSS re-implementation and extension of the Discord.com backend.
+ Copyright (C) 2026 Spacebar and Spacebar Contributors
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU Affero General Public License as published
+ by the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU Affero General Public License for more details.
+
+ You should have received a copy of the GNU Affero General Public License
+ along with this program. If not, see .
+*/
+
+//TODO: remove entity import
import { VoiceState } from "@spacebar/util";
export enum PublicVoiceStateEnum {
diff --git a/src/schemas/api/index.ts b/src/schemas/api/index.ts
index b0215da..25458c9 100644
--- a/src/schemas/api/index.ts
+++ b/src/schemas/api/index.ts
@@ -15,9 +15,11 @@
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see .
*/
+
export * from "./bots";
export * from "./channels";
export * from "./developers";
export * from "./guilds";
export * from "./messages";
+export * from "./reports";
export * from "./users";
diff --git a/src/schemas/api/messages/Message.ts b/src/schemas/api/messages/Message.ts
index f99f2b1..b7eed17 100644
--- a/src/schemas/api/messages/Message.ts
+++ b/src/schemas/api/messages/Message.ts
@@ -16,6 +16,7 @@
along with this program. If not, see .
*/
+// TODO: remove entity import
import { Sticker } from "@spacebar/util";
import { Embed, MessageActivity, MessageComponent, PartialUser, Poll, PublicChannel, Snowflake } from "@spacebar/schemas";
import { PublicAttachment } from "./Attachments";
diff --git a/src/schemas/api/messages/index.ts b/src/schemas/api/messages/index.ts
index 95a8a65..1533dd0 100644
--- a/src/schemas/api/messages/index.ts
+++ b/src/schemas/api/messages/index.ts
@@ -15,6 +15,7 @@
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see .
*/
+
export * from "./Components";
export * from "./Embeds";
export * from "./Message";
diff --git a/src/schemas/api/reports/index.ts b/src/schemas/api/reports/index.ts
new file mode 100644
index 0000000..cf5f649
--- /dev/null
+++ b/src/schemas/api/reports/index.ts
@@ -0,0 +1,20 @@
+/*
+ Spacebar: A FOSS re-implementation and extension of the Discord.com backend.
+ Copyright (C) 2026 Spacebar and Spacebar Contributors
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU Affero General Public License as published
+ by the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU Affero General Public License for more details.
+
+ You should have received a copy of the GNU Affero General Public License
+ along with this program. If not, see .
+*/
+
+export * from "./CreateReport";
+export * from "./ReportMenu";
diff --git a/src/schemas/api/users/ConnectedAccount.ts b/src/schemas/api/users/ConnectedAccount.ts
index a623034..281fc58 100644
--- a/src/schemas/api/users/ConnectedAccount.ts
+++ b/src/schemas/api/users/ConnectedAccount.ts
@@ -1,3 +1,22 @@
+/*
+ Spacebar: A FOSS re-implementation and extension of the Discord.com backend.
+ Copyright (C) 2026 Spacebar and Spacebar Contributors
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU Affero General Public License as published
+ by the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU Affero General Public License for more details.
+
+ You should have received a copy of the GNU Affero General Public License
+ along with this program. If not, see .
+*/
+
+//TODO: remove entity import
import { ConnectedAccount } from "@spacebar/util";
export type PublicConnectedAccount = Pick;
diff --git a/src/schemas/api/users/InstanceUserDeleteSchema.ts b/src/schemas/api/users/InstanceUserDeleteSchema.ts
index aee124f..d4507f4 100644
--- a/src/schemas/api/users/InstanceUserDeleteSchema.ts
+++ b/src/schemas/api/users/InstanceUserDeleteSchema.ts
@@ -1,3 +1,21 @@
+/*
+ Spacebar: A FOSS re-implementation and extension of the Discord.com backend.
+ Copyright (C) 2026 Spacebar and Spacebar Contributors
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU Affero General Public License as published
+ by the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU Affero General Public License for more details.
+
+ You should have received a copy of the GNU Affero General Public License
+ along with this program. If not, see .
+*/
+
export type InstanceUserDeleteSchema = InstanceUserDeleteSchemaContent | undefined; //unsure if this a correct way to make the body optional
export interface InstanceUserDeleteSchemaContent {
reason?: string;
diff --git a/src/schemas/api/users/Member.ts b/src/schemas/api/users/Member.ts
index 526bf70..049190e 100644
--- a/src/schemas/api/users/Member.ts
+++ b/src/schemas/api/users/Member.ts
@@ -1,4 +1,23 @@
+/*
+ Spacebar: A FOSS re-implementation and extension of the Discord.com backend.
+ Copyright (C) 2026 Spacebar and Spacebar Contributors
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU Affero General Public License as published
+ by the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU Affero General Public License for more details.
+
+ You should have received a copy of the GNU Affero General Public License
+ along with this program. If not, see .
+*/
+
import { PublicUser } from "@spacebar/schemas";
+// TODO: remove entity import
import { Member } from "@spacebar/util";
export interface ChannelOverride {
diff --git a/src/schemas/api/users/SessionsSchemas.ts b/src/schemas/api/users/SessionsSchemas.ts
index 3526414..34ad0c6 100644
--- a/src/schemas/api/users/SessionsSchemas.ts
+++ b/src/schemas/api/users/SessionsSchemas.ts
@@ -1,22 +1,23 @@
/*
- Spacebar: A FOSS re-implementation and extension of the Discord.com backend.
- Copyright (C) 2025 Spacebar and Spacebar Contributors
+ Spacebar: A FOSS re-implementation and extension of the Discord.com backend.
+ Copyright (C) 2026 Spacebar and Spacebar Contributors
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU Affero General Public License as published
- by the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU Affero General Public License as published
+ by the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU Affero General Public License for more details.
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU Affero General Public License for more details.
- You should have received a copy of the GNU Affero General Public License
- along with this program. If not, see .
+ You should have received a copy of the GNU Affero General Public License
+ along with this program. If not, see .
*/
import { ActivitySchema, Snowflake } from "@spacebar/schemas";
+// TODO: remove entity import
import { ClientStatus } from "@spacebar/util";
export type SessionsLogoutSchema = { session_ids?: Snowflake[]; session_id_hashes?: string[] };
diff --git a/src/schemas/api/users/User.ts b/src/schemas/api/users/User.ts
index 29b211d..0360eb0 100644
--- a/src/schemas/api/users/User.ts
+++ b/src/schemas/api/users/User.ts
@@ -17,7 +17,9 @@
*/
import { ConnectedAccountSchema, Snowflake, UserSettingsSchema } from "@spacebar/schemas";
+// TODO: maybe move the one thing this depends on to
import { BitField } from "@spacebar/util/util";
+// TODO: remove entity import
import { Relationship, Session } from "@spacebar/util/entities";
interface UserEntityPleaseRewriteThankYou {
diff --git a/src/schemas/api/users/index.ts b/src/schemas/api/users/index.ts
index 6400f42..85c9266 100644
--- a/src/schemas/api/users/index.ts
+++ b/src/schemas/api/users/index.ts
@@ -15,6 +15,7 @@
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see .
*/
+
export * from "./ConnectedAccount";
export * from "./InstanceUserDeleteSchema";
export * from "./Member";