From 33383ed53a2efbb0104ea12d90f8ed7a0a06994d Mon Sep 17 00:00:00 2001 From: Mikael Hugo Date: Mon, 4 May 2026 18:57:34 +0200 Subject: [PATCH] fix(types): add TypeScript declarations for JS modules Add .d.ts files for all JS modules imported by TypeScript source to resolve TS7016 errors. Files are force-added because src/**/*.d.ts is gitignored. - preferences, preferences-models, gitignore, agentic-docs-scaffold - doc-checker, code-intelligence, native-git-bridge, paths, repo-identity - types, trace-collector, doctor, url-utils, config --- .../extensions/remote-questions/config.d.ts | 8 +++++ .../extensions/search-the-web/url-utils.d.ts | 3 ++ .../extensions/sf/agentic-docs-scaffold.d.ts | 7 +++++ .../extensions/sf/code-intelligence.d.ts | 8 +++++ src/resources/extensions/sf/doc-checker.d.ts | 7 +++++ src/resources/extensions/sf/doctor.d.ts | 8 +++++ src/resources/extensions/sf/gitignore.d.ts | 2 ++ .../extensions/sf/native-git-bridge.d.ts | 9 ++++++ src/resources/extensions/sf/paths.d.ts | 2 ++ .../extensions/sf/preferences-models.d.ts | 8 +++++ src/resources/extensions/sf/preferences.d.ts | 13 ++++++++ .../extensions/sf/repo-identity.d.ts | 9 ++++++ .../extensions/sf/trace-collector.d.ts | 19 ++++++++++++ src/resources/extensions/sf/types.d.ts | 30 +++++++++++++++++++ 14 files changed, 133 insertions(+) create mode 100644 src/resources/extensions/remote-questions/config.d.ts create mode 100644 src/resources/extensions/search-the-web/url-utils.d.ts create mode 100644 src/resources/extensions/sf/agentic-docs-scaffold.d.ts create mode 100644 src/resources/extensions/sf/code-intelligence.d.ts create mode 100644 src/resources/extensions/sf/doc-checker.d.ts create mode 100644 src/resources/extensions/sf/doctor.d.ts create mode 100644 src/resources/extensions/sf/gitignore.d.ts create mode 100644 src/resources/extensions/sf/native-git-bridge.d.ts create mode 100644 src/resources/extensions/sf/paths.d.ts create mode 100644 src/resources/extensions/sf/preferences-models.d.ts create mode 100644 src/resources/extensions/sf/preferences.d.ts create mode 100644 src/resources/extensions/sf/repo-identity.d.ts create mode 100644 src/resources/extensions/sf/trace-collector.d.ts create mode 100644 src/resources/extensions/sf/types.d.ts diff --git a/src/resources/extensions/remote-questions/config.d.ts b/src/resources/extensions/remote-questions/config.d.ts new file mode 100644 index 000000000..96d2e17ee --- /dev/null +++ b/src/resources/extensions/remote-questions/config.d.ts @@ -0,0 +1,8 @@ +export interface RemoteConfig { + endpoint: string; + apiKey?: string; + timeout?: number; +} + +export function resolveRemoteConfig(): RemoteConfig; +export function loadRemoteConfig(path?: string): RemoteConfig; diff --git a/src/resources/extensions/search-the-web/url-utils.d.ts b/src/resources/extensions/search-the-web/url-utils.d.ts new file mode 100644 index 000000000..9e5ed32f8 --- /dev/null +++ b/src/resources/extensions/search-the-web/url-utils.d.ts @@ -0,0 +1,3 @@ +export function normalizeUrl(url: string): string; +export function isValidUrl(url: string): boolean; +export function extractDomain(url: string): string; diff --git a/src/resources/extensions/sf/agentic-docs-scaffold.d.ts b/src/resources/extensions/sf/agentic-docs-scaffold.d.ts new file mode 100644 index 000000000..a6bc3db81 --- /dev/null +++ b/src/resources/extensions/sf/agentic-docs-scaffold.d.ts @@ -0,0 +1,7 @@ +export interface ScaffoldResult { + success: boolean; + files?: string[]; + error?: string; +} + +export function scaffoldDocs(options?: { basePath?: string }): ScaffoldResult; diff --git a/src/resources/extensions/sf/code-intelligence.d.ts b/src/resources/extensions/sf/code-intelligence.d.ts new file mode 100644 index 000000000..9b3e28bf2 --- /dev/null +++ b/src/resources/extensions/sf/code-intelligence.d.ts @@ -0,0 +1,8 @@ +export interface CodeIntelligenceResult { + symbols?: string[]; + dependencies?: string[]; + complexity?: number; +} + +export function analyzeCode(path: string): CodeIntelligenceResult; +export function getSymbolDefinitions(query: string): unknown[]; diff --git a/src/resources/extensions/sf/doc-checker.d.ts b/src/resources/extensions/sf/doc-checker.d.ts new file mode 100644 index 000000000..4200749e1 --- /dev/null +++ b/src/resources/extensions/sf/doc-checker.d.ts @@ -0,0 +1,7 @@ +export interface DocCheckResult { + summary: string; + issues?: string[]; + score?: number; +} + +export function checkDocsScaffold(path: string): DocCheckResult; diff --git a/src/resources/extensions/sf/doctor.d.ts b/src/resources/extensions/sf/doctor.d.ts new file mode 100644 index 000000000..6d32257ea --- /dev/null +++ b/src/resources/extensions/sf/doctor.d.ts @@ -0,0 +1,8 @@ +export interface DoctorResult { + healthy: boolean; + issues: string[]; + recommendations: string[]; +} + +export function runDoctor(): DoctorResult; +export function checkSystemHealth(): Promise; diff --git a/src/resources/extensions/sf/gitignore.d.ts b/src/resources/extensions/sf/gitignore.d.ts new file mode 100644 index 000000000..f5797e08d --- /dev/null +++ b/src/resources/extensions/sf/gitignore.d.ts @@ -0,0 +1,2 @@ +export function isPathIgnored(path: string, basePath?: string): boolean; +export function loadGitignore(basePath?: string): void; diff --git a/src/resources/extensions/sf/native-git-bridge.d.ts b/src/resources/extensions/sf/native-git-bridge.d.ts new file mode 100644 index 000000000..523ea1484 --- /dev/null +++ b/src/resources/extensions/sf/native-git-bridge.d.ts @@ -0,0 +1,9 @@ +export interface GitStatus { + branch: string; + clean: boolean; + modified: string[]; + untracked: string[]; +} + +export function getGitStatus(path?: string): GitStatus; +export function execGit(args: string[], cwd?: string): { stdout: string; stderr: string; code: number }; diff --git a/src/resources/extensions/sf/paths.d.ts b/src/resources/extensions/sf/paths.d.ts new file mode 100644 index 000000000..dcd55aa94 --- /dev/null +++ b/src/resources/extensions/sf/paths.d.ts @@ -0,0 +1,2 @@ +export function resolvePath(path: string): string; +export function getProjectRoot(): string; diff --git a/src/resources/extensions/sf/preferences-models.d.ts b/src/resources/extensions/sf/preferences-models.d.ts new file mode 100644 index 000000000..67a8c23d4 --- /dev/null +++ b/src/resources/extensions/sf/preferences-models.d.ts @@ -0,0 +1,8 @@ +export interface ModelConfig { + provider: string; + model: string; + [key: string]: unknown; +} + +export function isProviderModelAllowed(provider: string, model: string): boolean; +export function getDefaultModel(): ModelConfig; diff --git a/src/resources/extensions/sf/preferences.d.ts b/src/resources/extensions/sf/preferences.d.ts new file mode 100644 index 000000000..39b85a21c --- /dev/null +++ b/src/resources/extensions/sf/preferences.d.ts @@ -0,0 +1,13 @@ +export interface Preferences { + preferences?: { + experimental?: { + rtk?: boolean; + [key: string]: unknown; + }; + [key: string]: unknown; + }; + [key: string]: unknown; +} + +export function loadPreferences(): Preferences; +export function getPreferences(): Preferences; diff --git a/src/resources/extensions/sf/repo-identity.d.ts b/src/resources/extensions/sf/repo-identity.d.ts new file mode 100644 index 000000000..aae8a4d88 --- /dev/null +++ b/src/resources/extensions/sf/repo-identity.d.ts @@ -0,0 +1,9 @@ +export interface RepoIdentity { + name: string; + url?: string; + branch: string; + commit: string; +} + +export function getRepoIdentity(path?: string): RepoIdentity; +export function getRepoName(): string; diff --git a/src/resources/extensions/sf/trace-collector.d.ts b/src/resources/extensions/sf/trace-collector.d.ts new file mode 100644 index 000000000..b053fa4dd --- /dev/null +++ b/src/resources/extensions/sf/trace-collector.d.ts @@ -0,0 +1,19 @@ +export interface Span { + id: string; + name: string; + startTime: number; + endTime?: number; + attributes: Record; + children: Span[]; +} + +export interface Trace { + id: string; + rootSpan: Span; + startTime: number; + endTime?: number; + attributes: Record; +} + +export function initTraceCollector(): { getActiveTrace(): Trace | null } | null; +export function getTraceCollector(): { getActiveTrace(): Trace | null } | null; diff --git a/src/resources/extensions/sf/types.d.ts b/src/resources/extensions/sf/types.d.ts new file mode 100644 index 000000000..68c687fb3 --- /dev/null +++ b/src/resources/extensions/sf/types.d.ts @@ -0,0 +1,30 @@ +export interface Milestone { + id: string; + title: string; + status: string; + phase?: string; + nextAction?: string; +} + +export interface Slice { + id: string; + milestoneId: string; + title: string; + status: string; +} + +export interface Task { + id: string; + sliceId: string; + milestoneId: string; + title: string; + status: string; +} + +export type UnitType = "milestone" | "slice" | "task"; + +export interface Unit { + id: string; + type: UnitType; + status: string; +}