99e25f6de1
Add a VS Code extension under editors/vscode/ that opens the running local Omnigent server in an editor-beside webview iframe. It is a thin client of the local server (localhost discovery via ~/.omnigent/local_server.pid + /health), contributing an activity-bar icon (omnigent.home view + viewsWelcome), an editor-title icon, and the omnigent.open command. Scope is intentionally minimal per the issue: iframe render only. Embed/SPA, sessions, diffs+SSE, send-selection, the /v1 client, token auth, and remote servers are out of scope for this first donation. - esbuild bundle -> dist/extension.js; vitest unit tests (55) for the pure modules (csp, iframeHtml, host, discovery, config, controller) - 3-directive host CSP (default-src 'none'; style-src 'nonce'; frame-src origin); no token ever placed in the iframe URL - CI deferred to a maintainer-owned follow-up per issue Q5; the proposed path-filtered, security-gated workflow (mirroring ap-web-tests.yml) is in the PR description so it does not trip the untrusted-PR workflow guard - Apache-2.0; DCO sign-off Refs: #1219 Signed-off-by: Tanner Wendland <tanner.wendland@gmail.com> Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
24 lines
587 B
JSON
24 lines
587 B
JSON
{
|
|
"compilerOptions": {
|
|
"target": "ES2022",
|
|
"module": "Node16",
|
|
"moduleResolution": "Node16",
|
|
"lib": ["ES2022", "DOM"],
|
|
"outDir": "dist",
|
|
"rootDir": "src",
|
|
"strict": true,
|
|
"noUnusedLocals": true,
|
|
"noUnusedParameters": true,
|
|
"noImplicitReturns": true,
|
|
"noFallthroughCasesInSwitch": true,
|
|
"esModuleInterop": true,
|
|
"skipLibCheck": true,
|
|
"forceConsistentCasingInFileNames": true,
|
|
"resolveJsonModule": true,
|
|
"sourceMap": true,
|
|
"declaration": false
|
|
},
|
|
"include": ["src/**/*.ts"],
|
|
"exclude": ["node_modules", "dist"]
|
|
}
|