feat(core): add opencode integration (#33555)

This commit is contained in:
Dax 2026-06-23 19:45:02 -04:00 committed by GitHub
commit cf80b5c470
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
26 changed files with 1061 additions and 439 deletions

View file

@ -10,8 +10,7 @@ export type { CommandDraft, CommandHooks } from "./command.js"
export type {
IntegrationDraft,
IntegrationHooks,
IntegrationMethod,
IntegrationMethodRegistration,
} from "./integration.js"
export type { ReferenceDraft, ReferenceHooks } from "./reference.js"
export type { SkillDraft, SkillHooks, SkillSource } from "./skill.js"
export type { SkillDraft, SkillHooks } from "./skill.js"

View file

@ -1,8 +1,19 @@
import type { IntegrationDraft, IntegrationMethod, IntegrationMethodRegistration } from "../effect/integration.js"
import type {
IntegrationDraft,
IntegrationMethodRegistration,
} from "../effect/integration.js"
import type { CredentialValue } from "@opencode-ai/sdk/v2/types"
import type { Hooks } from "./registration.js"
export type { IntegrationDraft, IntegrationMethod, IntegrationMethodRegistration }
export type { IntegrationDraft, IntegrationMethodRegistration }
export type IntegrationHooks = Hooks<{
transform: IntegrationDraft
}>
export interface IntegrationHooks extends Hooks<{ transform: IntegrationDraft }> {
readonly connection: {
readonly active: (
integrationID: string,
) => Promise<import("@opencode-ai/sdk/v2/types").ConnectionInfo | undefined>
readonly resolve: (
connection: import("@opencode-ai/sdk/v2/types").ConnectionInfo,
) => Promise<CredentialValue | undefined>
}
}

View file

@ -1,7 +1,7 @@
import type { SkillDraft, SkillSource } from "../effect/skill.js"
import type { SkillDraft } from "../effect/skill.js"
import type { Hooks } from "./registration.js"
export type { SkillDraft, SkillSource }
export type { SkillDraft }
export type SkillHooks = Hooks<{
transform: SkillDraft