mirror of
https://github.com/nexu-io/open-design.git
synced 2026-05-31 19:04:39 +07:00
* feat(dev): add desktop tools-dev control plane * refactor(sidecar): split Open Design contracts Move Open Design-specific sidecar protocol definitions into @open-design/contracts so sidecar and platform can remain descriptor-driven primitives. * refactor(daemon): organize package sources Keep daemon app code, tests, and sidecar entrypoints in separate package directories so each layer can be built and verified independently. * chore(repo): streamline maintenance entrypoints Centralize agent guidance by directory and reduce root command chains while preserving the existing build scope. * docs: translate agent guidance to English * fix(sidecar): tolerate stale IPC sockets Remove stale Unix socket files only after confirming no listener is active, so tools-dev can restart after unclean shutdowns.
24 lines
905 B
TypeScript
24 lines
905 B
TypeScript
import { APP_KEYS, OPEN_DESIGN_SIDECAR_CONTRACT } from "@open-design/sidecar-proto";
|
|
import { bootstrapSidecarRuntime } from "@open-design/sidecar";
|
|
import { readProcessStamp } from "@open-design/platform";
|
|
|
|
import { startWebSidecar } from "./server.js";
|
|
|
|
async function main(): Promise<void> {
|
|
const stamp = readProcessStamp(process.argv.slice(2), OPEN_DESIGN_SIDECAR_CONTRACT);
|
|
if (stamp == null) throw new Error("sidecar stamp is required");
|
|
|
|
const runtime = bootstrapSidecarRuntime(stamp, process.env, {
|
|
app: APP_KEYS.WEB,
|
|
contract: OPEN_DESIGN_SIDECAR_CONTRACT,
|
|
});
|
|
const server = await startWebSidecar(runtime);
|
|
|
|
process.stdout.write(`${JSON.stringify(await server.status(), null, 2)}\n`);
|
|
await server.waitUntilStopped();
|
|
}
|
|
|
|
void main().catch((error: unknown) => {
|
|
console.error(error instanceof Error ? error.stack || error.message : String(error));
|
|
process.exit(1);
|
|
});
|