mirror of
https://github.com/badlogic/pi-mono.git
synced 2026-10-18 06:46:17 +00:00
Moves chord2 (contracts, objects, cells, roots, plugins, hot reload, memory/IPC/WebSocket links) from p2 into packages/chord, with its tests (now on vitest) and docs. The root export is the new runtime plus the shared base (Context, JsonValue, JsonRepresentation, Draft, copyJson, isJsonValue, replicatedState and its types). ./node now holds the host manager, child control, process locks, and nodeLoader. ./context and ./delta are unchanged; ./bundler is removed. replicatedState stays a standalone module with the same exports. It no longer exposes the exact-op subscription the removed service provider used, so listener failures of mutable states are always reported asynchronously. The package depends on typebox instead of esbuild. The wire format stays JSON.
62 lines
4 KiB
TypeScript
62 lines
4 KiB
TypeScript
import { fileURLToPath } from "node:url";
|
|
import { defineConfig } from "vitest/config";
|
|
|
|
export const workspaceSourcePaths = {
|
|
chordIndex: fileURLToPath(new URL("./packages/chord/src/index.ts", import.meta.url)),
|
|
chordContext: fileURLToPath(new URL("./packages/chord/src/context/index.ts", import.meta.url)),
|
|
chordDelta: fileURLToPath(new URL("./packages/chord/src/delta/index.ts", import.meta.url)),
|
|
chordNode: fileURLToPath(new URL("./packages/chord/src/node.ts", import.meta.url)),
|
|
telemetryIndex: fileURLToPath(new URL("./packages/telemetry/src/index.ts", import.meta.url)),
|
|
telemetryTesting: fileURLToPath(new URL("./packages/telemetry/src/testing/index.ts", import.meta.url)),
|
|
mcpIndex: fileURLToPath(new URL("./packages/mcp/src/index.ts", import.meta.url)),
|
|
mcpOAuth: fileURLToPath(new URL("./packages/mcp/src/oauth/index.ts", import.meta.url)),
|
|
mcpTesting: fileURLToPath(new URL("./packages/mcp/src/testing/index.ts", import.meta.url)),
|
|
aiIndex: fileURLToPath(new URL("./packages/ai/src/index.ts", import.meta.url)),
|
|
aiCompat: fileURLToPath(new URL("./packages/ai/src/compat.ts", import.meta.url)),
|
|
aiOAuth: fileURLToPath(new URL("./packages/ai/src/oauth.ts", import.meta.url)),
|
|
aiApi: fileURLToPath(new URL("./packages/ai/src/api", import.meta.url)),
|
|
aiProviders: fileURLToPath(new URL("./packages/ai/src/providers", import.meta.url)),
|
|
aiUtils: fileURLToPath(new URL("./packages/ai/src/utils", import.meta.url)),
|
|
agentIndex: fileURLToPath(new URL("./packages/agent/src/index.ts", import.meta.url)),
|
|
codemodeIndex: fileURLToPath(new URL("./packages/codemode/src/index.ts", import.meta.url)),
|
|
codemodeDeclarations: fileURLToPath(new URL("./packages/codemode/src/declarations.ts", import.meta.url)),
|
|
codemodeSource: fileURLToPath(new URL("./packages/codemode/src/source.ts", import.meta.url)),
|
|
codingAgentIndex: fileURLToPath(new URL("./packages/coding-agent/src/index.ts", import.meta.url)),
|
|
tuiIndex: fileURLToPath(new URL("./packages/tui/src/index.ts", import.meta.url)),
|
|
} as const;
|
|
|
|
export default defineConfig({
|
|
resolve: {
|
|
alias: [
|
|
{ find: /^@earendil-works\/chord$/, replacement: workspaceSourcePaths.chordIndex },
|
|
{ find: /^@earendil-works\/chord\/context$/, replacement: workspaceSourcePaths.chordContext },
|
|
{ find: /^@earendil-works\/chord\/delta$/, replacement: workspaceSourcePaths.chordDelta },
|
|
{ find: /^@earendil-works\/chord\/node$/, replacement: workspaceSourcePaths.chordNode },
|
|
{ find: /^@earendil-works\/pi-telemetry$/, replacement: workspaceSourcePaths.telemetryIndex },
|
|
{ find: /^@earendil-works\/pi-telemetry\/testing$/, replacement: workspaceSourcePaths.telemetryTesting },
|
|
{ find: /^@earendil-works\/pi-mcp$/, replacement: workspaceSourcePaths.mcpIndex },
|
|
{ find: /^@earendil-works\/pi-mcp\/oauth$/, replacement: workspaceSourcePaths.mcpOAuth },
|
|
{ find: /^@earendil-works\/pi-mcp\/testing$/, replacement: workspaceSourcePaths.mcpTesting },
|
|
{ find: /^@earendil-works\/pi-ai$/, replacement: workspaceSourcePaths.aiIndex },
|
|
{ find: /^@earendil-works\/pi-ai\/compat$/, replacement: workspaceSourcePaths.aiCompat },
|
|
{ find: /^@earendil-works\/pi-ai\/oauth$/, replacement: workspaceSourcePaths.aiOAuth },
|
|
{
|
|
find: /^@earendil-works\/pi-ai\/utils\/(.+)$/,
|
|
replacement: `${workspaceSourcePaths.aiUtils}/$1.ts`,
|
|
},
|
|
{
|
|
find: /^@earendil-works\/pi-ai\/api\/(.+)$/,
|
|
replacement: `${workspaceSourcePaths.aiApi}/$1.ts`,
|
|
},
|
|
{
|
|
find: /^@earendil-works\/pi-ai\/providers\/(.+)$/,
|
|
replacement: `${workspaceSourcePaths.aiProviders}/$1.ts`,
|
|
},
|
|
{ find: /^@earendil-works\/pi-agent-core$/, replacement: workspaceSourcePaths.agentIndex },
|
|
{ find: /^@earendil-works\/pi-codemode$/, replacement: workspaceSourcePaths.codemodeIndex },
|
|
{ find: /^@earendil-works\/pi-codemode\/declarations$/, replacement: workspaceSourcePaths.codemodeDeclarations },
|
|
{ find: /^@earendil-works\/pi-codemode\/source$/, replacement: workspaceSourcePaths.codemodeSource },
|
|
{ find: /^@earendil-works\/pi-tui$/, replacement: workspaceSourcePaths.tuiIndex },
|
|
],
|
|
},
|
|
});
|