/** * Beads (bd) Issue Tracker Tools * * Comprehensive tooling for the bd issue tracker with first-class dependency support. * These tools provide a better UX than raw bash commands. * * Tools are organized into categories: * - Core Issue Operations: list, show, create, update, close, reopen, delete * - Workflow: ready, blocked * - Search & Query: search, count, stale * - Comments: comment, comments * - Labels: label_add, label_remove, labels * - Dependencies: dep_add, dep_remove, deps * - Epics: epic_create, epics, epic_show * - Database & Sync: status, stats, sync, info, validate, doctor * - Templates: templates, create_from_template * - Maintenance: cleanup, compact, duplicates, repair_deps * - AI Integration: prime */ /** * Shell command builder type (matches Bun's shell API pattern) */ type ShellCommand = { quiet: () => ShellCommand; cwd: (dir: string) => ShellCommand; text: () => Promise; nothrow: () => ShellCommand; }; /** * Shell executor function type (Bun's $ template literal) */ export type ShellExecutor = (strings: TemplateStringsArray, ...values: unknown[]) => ShellCommand; /** * Function to run bd commands */ export type BdRunner = (args: readonly string[], options?: { successMessage?: string; }) => Promise; /** * Create a bd command runner using the provided shell executor */ export declare function createBdRunner(shell: ShellExecutor, cwd: string): BdRunner; export declare const createBdList: (runBd: BdRunner) => { description: string; args: { status: import("zod").ZodOptional>; label: import("zod").ZodOptional; priority: import("zod").ZodOptional>; limit: import("zod").ZodOptional; assignee: import("zod").ZodOptional; type: import("zod").ZodOptional>; }; execute(args: { status?: "open" | "closed" | "in_progress" | "all" | undefined; label?: string | undefined; priority?: "critical" | "high" | "medium" | "low" | undefined; limit?: number | undefined; assignee?: string | undefined; type?: "bug" | "feature" | "task" | "epic" | "chore" | undefined; }, context: import("@opencode-ai/plugin/tool").ToolContext): Promise; }; export declare const createBdShow: (runBd: BdRunner) => { description: string; args: { id: import("zod").ZodString; }; execute(args: { id: string; }, context: import("@opencode-ai/plugin/tool").ToolContext): Promise; }; export declare const createBdCreate: (runBd: BdRunner) => { description: string; args: { title: import("zod").ZodString; body: import("zod").ZodOptional; priority: import("zod").ZodOptional>; labels: import("zod").ZodOptional; epic: import("zod").ZodOptional; assignee: import("zod").ZodOptional; depends_on: import("zod").ZodOptional; }; execute(args: { title: string; body?: string | undefined; priority?: "critical" | "high" | "medium" | "low" | undefined; labels?: string | undefined; epic?: string | undefined; assignee?: string | undefined; depends_on?: string | undefined; }, context: import("@opencode-ai/plugin/tool").ToolContext): Promise; }; export declare const createBdUpdate: (runBd: BdRunner) => { description: string; args: { ids: import("zod").ZodString; status: import("zod").ZodOptional>; title: import("zod").ZodOptional; priority: import("zod").ZodOptional>; assignee: import("zod").ZodOptional; epic: import("zod").ZodOptional; }; execute(args: { ids: string; status?: "open" | "closed" | "in_progress" | undefined; title?: string | undefined; priority?: "critical" | "high" | "medium" | "low" | undefined; assignee?: string | undefined; epic?: string | undefined; }, context: import("@opencode-ai/plugin/tool").ToolContext): Promise; }; export declare const createBdClose: (runBd: BdRunner) => { description: string; args: { ids: import("zod").ZodString; }; execute(args: { ids: string; }, context: import("@opencode-ai/plugin/tool").ToolContext): Promise; }; export declare const createBdReopen: (runBd: BdRunner) => { description: string; args: { ids: import("zod").ZodString; }; execute(args: { ids: string; }, context: import("@opencode-ai/plugin/tool").ToolContext): Promise; }; export declare const createBdDeleteIssue: (runBd: BdRunner) => { description: string; args: { ids: import("zod").ZodString; }; execute(args: { ids: string; }, context: import("@opencode-ai/plugin/tool").ToolContext): Promise; }; export declare const createBdReady: (runBd: BdRunner) => { description: string; args: { limit: import("zod").ZodOptional; }; execute(args: { limit?: number | undefined; }, context: import("@opencode-ai/plugin/tool").ToolContext): Promise; }; export declare const createBdBlocked: (runBd: BdRunner) => { description: string; args: {}; execute(args: Record, context: import("@opencode-ai/plugin/tool").ToolContext): Promise; }; export declare const createBdSearch: (runBd: BdRunner) => { description: string; args: { query: import("zod").ZodString; limit: import("zod").ZodOptional; }; execute(args: { query: string; limit?: number | undefined; }, context: import("@opencode-ai/plugin/tool").ToolContext): Promise; }; export declare const createBdCount: (runBd: BdRunner) => { description: string; args: { status: import("zod").ZodOptional>; label: import("zod").ZodOptional; priority: import("zod").ZodOptional>; }; execute(args: { status?: "open" | "closed" | "in_progress" | "all" | undefined; label?: string | undefined; priority?: "critical" | "high" | "medium" | "low" | undefined; }, context: import("@opencode-ai/plugin/tool").ToolContext): Promise; }; export declare const createBdStale: (runBd: BdRunner) => { description: string; args: { days: import("zod").ZodOptional; limit: import("zod").ZodOptional; }; execute(args: { days?: number | undefined; limit?: number | undefined; }, context: import("@opencode-ai/plugin/tool").ToolContext): Promise; }; export declare const createBdComment: (runBd: BdRunner) => { description: string; args: { id: import("zod").ZodString; body: import("zod").ZodString; }; execute(args: { id: string; body: string; }, context: import("@opencode-ai/plugin/tool").ToolContext): Promise; }; export declare const createBdComments: (runBd: BdRunner) => { description: string; args: { id: import("zod").ZodString; }; execute(args: { id: string; }, context: import("@opencode-ai/plugin/tool").ToolContext): Promise; }; export declare const createBdLabelAdd: (runBd: BdRunner) => { description: string; args: { id: import("zod").ZodString; label: import("zod").ZodString; }; execute(args: { id: string; label: string; }, context: import("@opencode-ai/plugin/tool").ToolContext): Promise; }; export declare const createBdLabelRemove: (runBd: BdRunner) => { description: string; args: { id: import("zod").ZodString; label: import("zod").ZodString; }; execute(args: { id: string; label: string; }, context: import("@opencode-ai/plugin/tool").ToolContext): Promise; }; export declare const createBdLabels: (runBd: BdRunner) => { description: string; args: {}; execute(args: Record, context: import("@opencode-ai/plugin/tool").ToolContext): Promise; }; export declare const createBdDepAdd: (runBd: BdRunner) => { description: string; args: { id: import("zod").ZodString; depends_on: import("zod").ZodString; }; execute(args: { id: string; depends_on: string; }, context: import("@opencode-ai/plugin/tool").ToolContext): Promise; }; export declare const createBdDepRemove: (runBd: BdRunner) => { description: string; args: { id: import("zod").ZodString; depends_on: import("zod").ZodString; }; execute(args: { id: string; depends_on: string; }, context: import("@opencode-ai/plugin/tool").ToolContext): Promise; }; export declare const createBdDeps: (runBd: BdRunner) => { description: string; args: { id: import("zod").ZodString; }; execute(args: { id: string; }, context: import("@opencode-ai/plugin/tool").ToolContext): Promise; }; export declare const createBdEpicCreate: (runBd: BdRunner) => { description: string; args: { title: import("zod").ZodString; body: import("zod").ZodOptional; }; execute(args: { title: string; body?: string | undefined; }, context: import("@opencode-ai/plugin/tool").ToolContext): Promise; }; export declare const createBdEpics: (runBd: BdRunner) => { description: string; args: { status: import("zod").ZodOptional>; }; execute(args: { status?: "open" | "closed" | "all" | undefined; }, context: import("@opencode-ai/plugin/tool").ToolContext): Promise; }; export declare const createBdEpicShow: (runBd: BdRunner) => { description: string; args: { id: import("zod").ZodString; }; execute(args: { id: string; }, context: import("@opencode-ai/plugin/tool").ToolContext): Promise; }; export declare const createBdStatus: (runBd: BdRunner) => { description: string; args: {}; execute(args: Record, context: import("@opencode-ai/plugin/tool").ToolContext): Promise; }; export declare const createBdStats: (runBd: BdRunner) => { description: string; args: {}; execute(args: Record, context: import("@opencode-ai/plugin/tool").ToolContext): Promise; }; export declare const createBdSync: (runBd: BdRunner) => { description: string; args: {}; execute(args: Record, context: import("@opencode-ai/plugin/tool").ToolContext): Promise; }; export declare const createBdInfo: (runBd: BdRunner) => { description: string; args: {}; execute(args: Record, context: import("@opencode-ai/plugin/tool").ToolContext): Promise; }; export declare const createBdValidate: (runBd: BdRunner) => { description: string; args: {}; execute(args: Record, context: import("@opencode-ai/plugin/tool").ToolContext): Promise; }; export declare const createBdDoctor: (runBd: BdRunner) => { description: string; args: {}; execute(args: Record, context: import("@opencode-ai/plugin/tool").ToolContext): Promise; }; export declare const createBdTemplates: (runBd: BdRunner) => { description: string; args: {}; execute(args: Record, context: import("@opencode-ai/plugin/tool").ToolContext): Promise; }; export declare const createBdCreateFromTemplate: (runBd: BdRunner) => { description: string; args: { template: import("zod").ZodString; title: import("zod").ZodString; variables: import("zod").ZodOptional; }; execute(args: { template: string; title: string; variables?: string | undefined; }, context: import("@opencode-ai/plugin/tool").ToolContext): Promise; }; export declare const createBdCleanup: (runBd: BdRunner) => { description: string; args: { older_than: import("zod").ZodOptional; }; execute(args: { older_than?: number | undefined; }, context: import("@opencode-ai/plugin/tool").ToolContext): Promise; }; export declare const createBdCompact: (runBd: BdRunner) => { description: string; args: { older_than: import("zod").ZodOptional; }; execute(args: { older_than?: number | undefined; }, context: import("@opencode-ai/plugin/tool").ToolContext): Promise; }; export declare const createBdDuplicates: (runBd: BdRunner) => { description: string; args: { threshold: import("zod").ZodOptional; }; execute(args: { threshold?: number | undefined; }, context: import("@opencode-ai/plugin/tool").ToolContext): Promise; }; export declare const createBdRepairDeps: (runBd: BdRunner) => { description: string; args: { fix: import("zod").ZodOptional; }; execute(args: { fix?: boolean | undefined; }, context: import("@opencode-ai/plugin/tool").ToolContext): Promise; }; export declare const createBdPrime: (runBd: BdRunner) => { description: string; args: {}; execute(args: Record, context: import("@opencode-ai/plugin/tool").ToolContext): Promise; }; /** * Create all beads tools using the provided bd runner */ export declare function createAllTools(runBd: BdRunner): { bd_list: { description: string; args: { status: import("zod").ZodOptional>; label: import("zod").ZodOptional; priority: import("zod").ZodOptional>; limit: import("zod").ZodOptional; assignee: import("zod").ZodOptional; type: import("zod").ZodOptional>; }; execute(args: { status?: "open" | "closed" | "in_progress" | "all" | undefined; label?: string | undefined; priority?: "critical" | "high" | "medium" | "low" | undefined; limit?: number | undefined; assignee?: string | undefined; type?: "bug" | "feature" | "task" | "epic" | "chore" | undefined; }, context: import("@opencode-ai/plugin/tool").ToolContext): Promise; }; bd_show: { description: string; args: { id: import("zod").ZodString; }; execute(args: { id: string; }, context: import("@opencode-ai/plugin/tool").ToolContext): Promise; }; bd_create: { description: string; args: { title: import("zod").ZodString; body: import("zod").ZodOptional; priority: import("zod").ZodOptional>; labels: import("zod").ZodOptional; epic: import("zod").ZodOptional; assignee: import("zod").ZodOptional; depends_on: import("zod").ZodOptional; }; execute(args: { title: string; body?: string | undefined; priority?: "critical" | "high" | "medium" | "low" | undefined; labels?: string | undefined; epic?: string | undefined; assignee?: string | undefined; depends_on?: string | undefined; }, context: import("@opencode-ai/plugin/tool").ToolContext): Promise; }; bd_update: { description: string; args: { ids: import("zod").ZodString; status: import("zod").ZodOptional>; title: import("zod").ZodOptional; priority: import("zod").ZodOptional>; assignee: import("zod").ZodOptional; epic: import("zod").ZodOptional; }; execute(args: { ids: string; status?: "open" | "closed" | "in_progress" | undefined; title?: string | undefined; priority?: "critical" | "high" | "medium" | "low" | undefined; assignee?: string | undefined; epic?: string | undefined; }, context: import("@opencode-ai/plugin/tool").ToolContext): Promise; }; bd_close: { description: string; args: { ids: import("zod").ZodString; }; execute(args: { ids: string; }, context: import("@opencode-ai/plugin/tool").ToolContext): Promise; }; bd_reopen: { description: string; args: { ids: import("zod").ZodString; }; execute(args: { ids: string; }, context: import("@opencode-ai/plugin/tool").ToolContext): Promise; }; bd_delete_issue: { description: string; args: { ids: import("zod").ZodString; }; execute(args: { ids: string; }, context: import("@opencode-ai/plugin/tool").ToolContext): Promise; }; bd_ready: { description: string; args: { limit: import("zod").ZodOptional; }; execute(args: { limit?: number | undefined; }, context: import("@opencode-ai/plugin/tool").ToolContext): Promise; }; bd_blocked: { description: string; args: {}; execute(args: Record, context: import("@opencode-ai/plugin/tool").ToolContext): Promise; }; bd_search: { description: string; args: { query: import("zod").ZodString; limit: import("zod").ZodOptional; }; execute(args: { query: string; limit?: number | undefined; }, context: import("@opencode-ai/plugin/tool").ToolContext): Promise; }; bd_count: { description: string; args: { status: import("zod").ZodOptional>; label: import("zod").ZodOptional; priority: import("zod").ZodOptional>; }; execute(args: { status?: "open" | "closed" | "in_progress" | "all" | undefined; label?: string | undefined; priority?: "critical" | "high" | "medium" | "low" | undefined; }, context: import("@opencode-ai/plugin/tool").ToolContext): Promise; }; bd_stale: { description: string; args: { days: import("zod").ZodOptional; limit: import("zod").ZodOptional; }; execute(args: { days?: number | undefined; limit?: number | undefined; }, context: import("@opencode-ai/plugin/tool").ToolContext): Promise; }; bd_comment: { description: string; args: { id: import("zod").ZodString; body: import("zod").ZodString; }; execute(args: { id: string; body: string; }, context: import("@opencode-ai/plugin/tool").ToolContext): Promise; }; bd_comments: { description: string; args: { id: import("zod").ZodString; }; execute(args: { id: string; }, context: import("@opencode-ai/plugin/tool").ToolContext): Promise; }; bd_label_add: { description: string; args: { id: import("zod").ZodString; label: import("zod").ZodString; }; execute(args: { id: string; label: string; }, context: import("@opencode-ai/plugin/tool").ToolContext): Promise; }; bd_label_remove: { description: string; args: { id: import("zod").ZodString; label: import("zod").ZodString; }; execute(args: { id: string; label: string; }, context: import("@opencode-ai/plugin/tool").ToolContext): Promise; }; bd_labels: { description: string; args: {}; execute(args: Record, context: import("@opencode-ai/plugin/tool").ToolContext): Promise; }; bd_dep_add: { description: string; args: { id: import("zod").ZodString; depends_on: import("zod").ZodString; }; execute(args: { id: string; depends_on: string; }, context: import("@opencode-ai/plugin/tool").ToolContext): Promise; }; bd_dep_remove: { description: string; args: { id: import("zod").ZodString; depends_on: import("zod").ZodString; }; execute(args: { id: string; depends_on: string; }, context: import("@opencode-ai/plugin/tool").ToolContext): Promise; }; bd_deps: { description: string; args: { id: import("zod").ZodString; }; execute(args: { id: string; }, context: import("@opencode-ai/plugin/tool").ToolContext): Promise; }; bd_epic_create: { description: string; args: { title: import("zod").ZodString; body: import("zod").ZodOptional; }; execute(args: { title: string; body?: string | undefined; }, context: import("@opencode-ai/plugin/tool").ToolContext): Promise; }; bd_epics: { description: string; args: { status: import("zod").ZodOptional>; }; execute(args: { status?: "open" | "closed" | "all" | undefined; }, context: import("@opencode-ai/plugin/tool").ToolContext): Promise; }; bd_epic_show: { description: string; args: { id: import("zod").ZodString; }; execute(args: { id: string; }, context: import("@opencode-ai/plugin/tool").ToolContext): Promise; }; bd_status: { description: string; args: {}; execute(args: Record, context: import("@opencode-ai/plugin/tool").ToolContext): Promise; }; bd_stats: { description: string; args: {}; execute(args: Record, context: import("@opencode-ai/plugin/tool").ToolContext): Promise; }; bd_sync: { description: string; args: {}; execute(args: Record, context: import("@opencode-ai/plugin/tool").ToolContext): Promise; }; bd_info: { description: string; args: {}; execute(args: Record, context: import("@opencode-ai/plugin/tool").ToolContext): Promise; }; bd_validate: { description: string; args: {}; execute(args: Record, context: import("@opencode-ai/plugin/tool").ToolContext): Promise; }; bd_doctor: { description: string; args: {}; execute(args: Record, context: import("@opencode-ai/plugin/tool").ToolContext): Promise; }; bd_templates: { description: string; args: {}; execute(args: Record, context: import("@opencode-ai/plugin/tool").ToolContext): Promise; }; bd_create_from_template: { description: string; args: { template: import("zod").ZodString; title: import("zod").ZodString; variables: import("zod").ZodOptional; }; execute(args: { template: string; title: string; variables?: string | undefined; }, context: import("@opencode-ai/plugin/tool").ToolContext): Promise; }; bd_cleanup: { description: string; args: { older_than: import("zod").ZodOptional; }; execute(args: { older_than?: number | undefined; }, context: import("@opencode-ai/plugin/tool").ToolContext): Promise; }; bd_compact: { description: string; args: { older_than: import("zod").ZodOptional; }; execute(args: { older_than?: number | undefined; }, context: import("@opencode-ai/plugin/tool").ToolContext): Promise; }; bd_duplicates: { description: string; args: { threshold: import("zod").ZodOptional; }; execute(args: { threshold?: number | undefined; }, context: import("@opencode-ai/plugin/tool").ToolContext): Promise; }; bd_repair_deps: { description: string; args: { fix: import("zod").ZodOptional; }; execute(args: { fix?: boolean | undefined; }, context: import("@opencode-ai/plugin/tool").ToolContext): Promise; }; bd_prime: { description: string; args: {}; execute(args: Record, context: import("@opencode-ai/plugin/tool").ToolContext): Promise; }; }; export {}; //# sourceMappingURL=tools.d.ts.map