summaryrefslogtreecommitdiffhomepage
path: root/packages/server
diff options
context:
space:
mode:
Diffstat (limited to 'packages/server')
-rw-r--r--packages/server/package.json24
-rw-r--r--packages/server/src/api/index.ts1
-rw-r--r--packages/server/src/definition/api.ts6
-rw-r--r--packages/server/src/definition/index.ts1
-rw-r--r--packages/server/src/index.ts3
-rw-r--r--packages/server/src/openapi.ts14
-rw-r--r--packages/server/src/types.ts14
-rw-r--r--packages/server/tsconfig.json15
8 files changed, 78 insertions, 0 deletions
diff --git a/packages/server/package.json b/packages/server/package.json
new file mode 100644
index 000000000..3b18792f4
--- /dev/null
+++ b/packages/server/package.json
@@ -0,0 +1,24 @@
+{
+ "$schema": "https://json.schemastore.org/package.json",
+ "name": "@opencode-ai/server",
+ "version": "1.4.3",
+ "type": "module",
+ "license": "MIT",
+ "exports": {
+ ".": "./src/index.ts",
+ "./openapi": "./src/openapi.ts",
+ "./definition": "./src/definition/index.ts",
+ "./definition/api": "./src/definition/api.ts",
+ "./api": "./src/api/index.ts"
+ },
+ "files": [
+ "dist"
+ ],
+ "scripts": {
+ "typecheck": "tsc --noEmit",
+ "build": "tsc"
+ },
+ "devDependencies": {
+ "typescript": "catalog:"
+ }
+}
diff --git a/packages/server/src/api/index.ts b/packages/server/src/api/index.ts
new file mode 100644
index 000000000..336ce12bb
--- /dev/null
+++ b/packages/server/src/api/index.ts
@@ -0,0 +1 @@
+export {}
diff --git a/packages/server/src/definition/api.ts b/packages/server/src/definition/api.ts
new file mode 100644
index 000000000..6eda4090e
--- /dev/null
+++ b/packages/server/src/definition/api.ts
@@ -0,0 +1,6 @@
+import type { ServerApi } from "../types.js"
+
+export const api: ServerApi = {
+ name: "opencode",
+ groups: [],
+}
diff --git a/packages/server/src/definition/index.ts b/packages/server/src/definition/index.ts
new file mode 100644
index 000000000..39cab2446
--- /dev/null
+++ b/packages/server/src/definition/index.ts
@@ -0,0 +1 @@
+export { api } from "./api.js"
diff --git a/packages/server/src/index.ts b/packages/server/src/index.ts
new file mode 100644
index 000000000..2fbe31a0d
--- /dev/null
+++ b/packages/server/src/index.ts
@@ -0,0 +1,3 @@
+export { openapi } from "./openapi.js"
+export { api } from "./definition/api.js"
+export type { OpenApiSpec, ServerApi } from "./types.js"
diff --git a/packages/server/src/openapi.ts b/packages/server/src/openapi.ts
new file mode 100644
index 000000000..c4ac95300
--- /dev/null
+++ b/packages/server/src/openapi.ts
@@ -0,0 +1,14 @@
+import { api } from "./definition/api.js"
+import type { OpenApiSpec } from "./types.js"
+
+export function openapi(): OpenApiSpec {
+ return {
+ openapi: "3.1.1",
+ info: {
+ title: api.name,
+ version: "0.0.0",
+ description: "Contract-first server package scaffold.",
+ },
+ paths: {},
+ }
+}
diff --git a/packages/server/src/types.ts b/packages/server/src/types.ts
new file mode 100644
index 000000000..8d337be42
--- /dev/null
+++ b/packages/server/src/types.ts
@@ -0,0 +1,14 @@
+export interface ServerApi {
+ readonly name: string
+ readonly groups: readonly string[]
+}
+
+export interface OpenApiSpec {
+ readonly openapi: string
+ readonly info: {
+ readonly title: string
+ readonly version: string
+ readonly description: string
+ }
+ readonly paths: Record<string, never>
+}
diff --git a/packages/server/tsconfig.json b/packages/server/tsconfig.json
new file mode 100644
index 000000000..eac2af384
--- /dev/null
+++ b/packages/server/tsconfig.json
@@ -0,0 +1,15 @@
+{
+ "$schema": "https://json.schemastore.org/tsconfig.json",
+ "compilerOptions": {
+ "target": "ES2022",
+ "rootDir": "src",
+ "outDir": "dist",
+ "module": "nodenext",
+ "declaration": true,
+ "moduleResolution": "nodenext",
+ "lib": ["es2022", "dom", "dom.iterable"],
+ "strict": true,
+ "skipLibCheck": true
+ },
+ "include": ["src"]
+}