mirror of
https://github.com/garrytan/gstack.git
synced 2026-09-21 04:10:47 +02:00
contract.ts: repo-oriented interface (four required ops, three optional), typed CodeProviderError, egress + capability consent guards. Three real, runtime-drivable adapters: - GbrainProvider: gbrain CLI (reuses lib/gbrain-exec + lib/gbrain-sources), all seven capabilities. - GraphifyProvider: graphify CLI — `graphify <dir>` builds the local graph, `graphify query` searches it, export reads graphify-out/graph.json. Fully local; never auto-installed. - SourcebotProvider: self-hosted server over HTTP — register writes a local git connection to config.json, search is POST /api/search, status is a liveness probe. Loopback base URL = local (no egress); remote = consent. selection.ts persists the chosen provider + per-repo indexing consent under $GSTACK_HOME. picker.ts recommends GBrain first, resolves the selected provider or null (provider-OFF), and probes live availability. Every adapter degrades to PROVIDER_UNAVAILABLE when its tool/server is absent. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
25 lines
701 B
TypeScript
25 lines
701 B
TypeScript
/**
|
|
* code-intelligence — the OPTIONAL, repo-oriented provider contract.
|
|
* See docs/designs/CODE_INTELLIGENCE_PROVIDER_CONTRACT.md.
|
|
*/
|
|
|
|
export * from "./contract";
|
|
export { GbrainProvider, parseGbrainSearch } from "./gbrain-adapter";
|
|
export { GraphifyProvider, parseGraphifyQuery, type GraphifyOptions } from "./graphify-adapter";
|
|
export { SourcebotProvider, parseSourcebotSearch, type SourcebotOptions } from "./sourcebot-adapter";
|
|
export {
|
|
readSelection,
|
|
setProvider,
|
|
setConsent,
|
|
hasConsent,
|
|
type Selection,
|
|
} from "./selection";
|
|
export {
|
|
RECOMMENDED_ORDER,
|
|
providerById,
|
|
resolveSelectedProvider,
|
|
detectAvailable,
|
|
type PickerOptions,
|
|
type Availability,
|
|
} from "./picker";
|