feat(web): add error boundaries, expand test coverage, add README
- Add class-based ErrorBoundary component wrapping all 7 main views
inside WorkspaceChrome; fallback shows view name, error, reload button
- Add 30 new unit tests (boot null-project path × 9, onboarding
pure-function logic × 21); all 43 web/lib tests pass
- Add web/README.md: architecture, auth flow, 7 views, dev setup,
API route pattern, test instructions
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-05-10 11:24:40 +02:00
|
|
|
#!/usr/bin/env node
|
|
|
|
|
/**
|
|
|
|
|
* CLI entry point for the refactored coding agent.
|
|
|
|
|
* Uses main.ts with AgentSession and new mode modules.
|
|
|
|
|
*
|
|
|
|
|
* Test with: npx tsx src/cli-new.ts [args...]
|
|
|
|
|
*/
|
2026-05-10 11:50:55 +02:00
|
|
|
process.title = "sf";
|
feat(web): add error boundaries, expand test coverage, add README
- Add class-based ErrorBoundary component wrapping all 7 main views
inside WorkspaceChrome; fallback shows view name, error, reload button
- Add 30 new unit tests (boot null-project path × 9, onboarding
pure-function logic × 21); all 43 web/lib tests pass
- Add web/README.md: architecture, auth flow, 7 views, dev setup,
API route pattern, test instructions
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-05-10 11:24:40 +02:00
|
|
|
|
|
|
|
|
import { setBedrockProviderModule } from "@singularity-forge/ai";
|
|
|
|
|
import { bedrockProviderModule } from "@singularity-forge/ai/bedrock-provider";
|
|
|
|
|
import { EnvHttpProxyAgent, setGlobalDispatcher } from "undici";
|
|
|
|
|
import { main } from "./main.js";
|
|
|
|
|
|
|
|
|
|
// bodyTimeout/headersTimeout default to 300s in undici; long local-LLM stalls
|
|
|
|
|
// (e.g. vLLM buffering a large tool call) exceed that and abort the SSE stream
|
|
|
|
|
// with UND_ERR_BODY_TIMEOUT. Disable both — provider SDKs enforce their own
|
|
|
|
|
// AbortController-based deadlines via retry.provider.timeoutMs.
|
|
|
|
|
setGlobalDispatcher(
|
|
|
|
|
new EnvHttpProxyAgent({ bodyTimeout: 0, headersTimeout: 0 }),
|
|
|
|
|
);
|
|
|
|
|
setBedrockProviderModule(bedrockProviderModule);
|
|
|
|
|
|
|
|
|
|
main(process.argv.slice(2));
|