- package.json: add 'typecheck' script (build:pi + tsc --noEmit) so pi-ai and pi-coding-agent typecheck under the same command surface SF uses. - anthropic-shared.ts: replace 'as any' casts with proper Anthropic SDK types (ServerToolUseBlockParam, WebSearchToolResultBlockParam, CacheControlEphemeral). The cache_control variant is documented inline so the cast is auditable. - openai-completions.ts: drop the 'as any' on stream_options — the type system can verify the assignment now. - openai-codex-responses.ts, package-manager.ts, skills.ts: annotate the three remaining empty catches with one-line WHY comments (best-effort cleanup, malformed ignore files, partial directory traversal). Empty catch with no rationale is an SF012 anti-pattern; with rationale it is a deliberate fallback. - oauth/github-copilot.ts, oauth/openai-codex.ts: add UPSTREAM AUDIT blocks documenting why these hand-rolled OAuth flows stay hand-rolled rather than delegating to @octokit/auth-oauth-device or @openai/codex. AbortSignal coverage and provider-specific surface area are the gating concerns; re-audit triggers are named. |
||
|---|---|---|
| .. | ||
| scripts | ||
| src | ||
| package.json | ||
| tsconfig.json | ||