feat(cli): wire mode dispatch ke server interfaces — --api/--ws/--grpc/--web start server; add tsconfig paths
This commit is contained in:
@@ -11,7 +11,11 @@
|
|||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@zesdex/domain": "workspace:*",
|
"@zesdex/domain": "workspace:*",
|
||||||
"@zesdex/application": "workspace:*",
|
"@zesdex/application": "workspace:*",
|
||||||
"@zesdex/infrastructure": "workspace:*"
|
"@zesdex/infrastructure": "workspace:*",
|
||||||
|
"@zesdex/api": "workspace:*",
|
||||||
|
"@zesdex/ws": "workspace:*",
|
||||||
|
"@zesdex/grpc": "workspace:*",
|
||||||
|
"@zesdex/web": "workspace:*"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@types/bun": "^1.2.0"
|
"@types/bun": "^1.2.0"
|
||||||
|
|||||||
@@ -127,23 +127,36 @@ async function main(): Promise<void> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (opts.daemon) {
|
if (opts.daemon) {
|
||||||
console.info("daemon mode not yet wired (Fase 5) — falling back to REPL");
|
console.info("daemon mode not yet wired — falling back to REPL");
|
||||||
await runRepl();
|
await runRepl();
|
||||||
} else if (opts.attach !== null) {
|
} else if (opts.attach !== null) {
|
||||||
console.info(`attach mode for session '${opts.attach}' not yet wired (Fase 5)`);
|
console.info(`attach mode for session '${opts.attach}' not yet wired`);
|
||||||
process.exit(1);
|
process.exit(1);
|
||||||
} else if (opts.api) {
|
} else if (opts.api) {
|
||||||
console.info(`api mode port ${opts.apiPort} not yet wired (Fase 5)`);
|
const { newApiState, startApiServer } = await import("@zesdex/api");
|
||||||
process.exit(1);
|
const baseDir =
|
||||||
|
process.env.ZESDEX_STORE ?? path.join(os.homedir(), ".local", "share", "zesdex");
|
||||||
|
const state = newApiState(
|
||||||
|
baseDir,
|
||||||
|
process.env.ZESDEX_JWT_SECRET ?? "dev-secret-change-me",
|
||||||
|
process.env.OPENAI_API_KEY ?? "",
|
||||||
|
process.env.ZESDEX_MODEL ?? "claude-opus-5",
|
||||||
|
process.env.OPENAI_API_BASE ?? undefined,
|
||||||
|
);
|
||||||
|
startApiServer(state, opts.apiPort);
|
||||||
|
await new Promise(() => {});
|
||||||
} else if (opts.ws) {
|
} else if (opts.ws) {
|
||||||
console.info(`ws mode port ${opts.wsPort} not yet wired (Fase 5)`);
|
const { startWsServer } = await import("@zesdex/ws");
|
||||||
process.exit(1);
|
startWsServer(opts.wsPort);
|
||||||
|
await new Promise(() => {});
|
||||||
} else if (opts.grpc) {
|
} else if (opts.grpc) {
|
||||||
console.info(`grpc mode port ${opts.grpcPort} not yet wired (Fase 5)`);
|
const { startGrpcServer } = await import("@zesdex/grpc");
|
||||||
process.exit(1);
|
startGrpcServer(opts.grpcPort);
|
||||||
|
await new Promise(() => {});
|
||||||
} else if (opts.web) {
|
} else if (opts.web) {
|
||||||
console.info(`web mode port ${opts.webPort} not yet wired (Fase 5)`);
|
const { startWebServer } = await import("@zesdex/web");
|
||||||
process.exit(1);
|
startWebServer(opts.webPort, process.env.ZESDEX_WEB_DIR ?? undefined);
|
||||||
|
await new Promise(() => {});
|
||||||
} else {
|
} else {
|
||||||
// Default: single-process REPL.
|
// Default: single-process REPL.
|
||||||
await runRepl();
|
await runRepl();
|
||||||
|
|||||||
@@ -28,9 +28,13 @@
|
|||||||
"name": "@zesdex/cli",
|
"name": "@zesdex/cli",
|
||||||
"version": "1.21.2",
|
"version": "1.21.2",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
"@zesdex/api": "workspace:*",
|
||||||
"@zesdex/application": "workspace:*",
|
"@zesdex/application": "workspace:*",
|
||||||
"@zesdex/domain": "workspace:*",
|
"@zesdex/domain": "workspace:*",
|
||||||
|
"@zesdex/grpc": "workspace:*",
|
||||||
"@zesdex/infrastructure": "workspace:*",
|
"@zesdex/infrastructure": "workspace:*",
|
||||||
|
"@zesdex/web": "workspace:*",
|
||||||
|
"@zesdex/ws": "workspace:*",
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@types/bun": "^1.2.0",
|
"@types/bun": "^1.2.0",
|
||||||
|
|||||||
+5
-1
@@ -22,7 +22,11 @@
|
|||||||
"paths": {
|
"paths": {
|
||||||
"@zesdex/domain": ["./apps/packages/domain/src/index.ts"],
|
"@zesdex/domain": ["./apps/packages/domain/src/index.ts"],
|
||||||
"@zesdex/application": ["./apps/packages/application/src/index.ts"],
|
"@zesdex/application": ["./apps/packages/application/src/index.ts"],
|
||||||
"@zesdex/infrastructure": ["./apps/packages/infrastructure/src/index.ts"]
|
"@zesdex/infrastructure": ["./apps/packages/infrastructure/src/index.ts"],
|
||||||
|
"@zesdex/api": ["./apps/interfaces/api/src/index.ts"],
|
||||||
|
"@zesdex/ws": ["./apps/interfaces/ws/src/index.ts"],
|
||||||
|
"@zesdex/grpc": ["./apps/interfaces/grpc/src/index.ts"],
|
||||||
|
"@zesdex/web": ["./apps/interfaces/web/src/index.ts"]
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"include": ["apps/packages/*/src", "apps/interfaces/*/src", "apps/interfaces/*/bin"]
|
"include": ["apps/packages/*/src", "apps/interfaces/*/src", "apps/interfaces/*/bin"]
|
||||||
|
|||||||
Reference in New Issue
Block a user