byterover-cli 1.2.0 → 1.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (91) hide show
  1. package/README.md +87 -9
  2. package/dist/constants.d.ts +0 -5
  3. package/dist/constants.js +0 -5
  4. package/dist/core/domain/cipher/agent/agent-info.d.ts +17 -17
  5. package/dist/core/domain/cipher/llm/schemas.d.ts +14 -14
  6. package/dist/core/domain/cipher/session/session-metadata.d.ts +2 -2
  7. package/dist/core/domain/entities/agent.js +6 -6
  8. package/dist/core/domain/entities/connector-type.d.ts +2 -1
  9. package/dist/core/domain/entities/connector-type.js +2 -1
  10. package/dist/core/domain/transport/schemas.d.ts +66 -66
  11. package/dist/core/interfaces/cipher/i-chat-session.d.ts +3 -1
  12. package/dist/core/interfaces/connectors/i-connector.d.ts +2 -2
  13. package/dist/core/interfaces/i-file-service.d.ts +7 -0
  14. package/dist/infra/auth/oauth-service.d.ts +15 -0
  15. package/dist/infra/auth/oauth-service.js +38 -2
  16. package/dist/infra/cipher/agent/agent-schemas.d.ts +42 -42
  17. package/dist/infra/cipher/llm/context/context-manager.js +7 -9
  18. package/dist/infra/cipher/llm/internal-llm-service.d.ts +5 -1
  19. package/dist/infra/cipher/llm/internal-llm-service.js +57 -46
  20. package/dist/infra/cipher/session/chat-session.d.ts +3 -1
  21. package/dist/infra/cipher/session/chat-session.js +5 -3
  22. package/dist/infra/cipher/system-prompt/contributor-schemas.d.ts +8 -8
  23. package/dist/infra/cipher/system-prompt/schemas.d.ts +5 -5
  24. package/dist/infra/cipher/tools/implementations/task-tool.js +3 -3
  25. package/dist/infra/connectors/connector-manager.js +2 -0
  26. package/dist/infra/connectors/hook/hook-connector.d.ts +1 -1
  27. package/dist/infra/connectors/hook/hook-connector.js +3 -3
  28. package/dist/infra/connectors/mcp/mcp-connector.d.ts +1 -1
  29. package/dist/infra/connectors/mcp/mcp-connector.js +4 -4
  30. package/dist/infra/connectors/rules/rules-connector.d.ts +1 -1
  31. package/dist/infra/connectors/rules/rules-connector.js +4 -4
  32. package/dist/infra/connectors/shared/template-service.js +4 -0
  33. package/dist/infra/connectors/skill/index.d.ts +1 -0
  34. package/dist/infra/connectors/skill/index.js +1 -0
  35. package/dist/infra/connectors/skill/skill-connector-config.d.ts +45 -0
  36. package/dist/infra/connectors/skill/skill-connector-config.js +26 -0
  37. package/dist/infra/connectors/skill/skill-connector.d.ts +39 -0
  38. package/dist/infra/connectors/skill/skill-connector.js +160 -0
  39. package/dist/infra/connectors/skill/skill-content-loader.d.ts +18 -0
  40. package/dist/infra/connectors/skill/skill-content-loader.js +33 -0
  41. package/dist/infra/file/fs-file-service.d.ts +7 -0
  42. package/dist/infra/file/fs-file-service.js +15 -1
  43. package/dist/infra/mcp/tools/task-result-waiter.js +8 -0
  44. package/dist/infra/process/agent-worker.js +30 -14
  45. package/dist/infra/process/task-queue-manager.d.ts +23 -34
  46. package/dist/infra/process/task-queue-manager.js +57 -118
  47. package/dist/infra/process/transport-handlers.js +1 -7
  48. package/dist/infra/repl/commands/connectors-command.js +1 -1
  49. package/dist/infra/transport/socket-io-transport-client.d.ts +9 -0
  50. package/dist/infra/transport/socket-io-transport-client.js +21 -2
  51. package/dist/infra/usecase/connectors-use-case.js +8 -2
  52. package/dist/infra/usecase/init-use-case.js +1 -1
  53. package/dist/infra/usecase/reset-use-case.d.ts +1 -0
  54. package/dist/infra/usecase/reset-use-case.js +4 -1
  55. package/dist/{commands → oclif/commands}/curate.d.ts +1 -1
  56. package/dist/{commands → oclif/commands}/curate.js +6 -6
  57. package/dist/{commands → oclif/commands}/hook-prompt-submit.d.ts +1 -1
  58. package/dist/{commands → oclif/commands}/hook-prompt-submit.js +3 -3
  59. package/dist/{commands → oclif/commands}/main.js +10 -10
  60. package/dist/{commands → oclif/commands}/mcp.js +2 -2
  61. package/dist/{commands → oclif/commands}/query.d.ts +1 -1
  62. package/dist/{commands → oclif/commands}/query.js +6 -6
  63. package/dist/{commands → oclif/commands}/status.d.ts +1 -1
  64. package/dist/{commands → oclif/commands}/status.js +8 -8
  65. package/dist/{commands → oclif/commands}/watch.d.ts +3 -3
  66. package/dist/{commands → oclif/commands}/watch.js +6 -6
  67. package/dist/oclif/constants.d.ts +11 -0
  68. package/dist/oclif/constants.js +11 -0
  69. package/dist/{hooks → oclif/hooks}/prerun/validate-brv-config-version.d.ts +1 -1
  70. package/dist/{hooks → oclif/hooks}/prerun/validate-brv-config-version.js +2 -2
  71. package/dist/templates/sections/command-reference.md +5 -96
  72. package/dist/templates/sections/workflow.md +21 -16
  73. package/dist/templates/skill/SKILL.md +91 -0
  74. package/dist/templates/skill/TROUBLESHOOTING.md +50 -0
  75. package/dist/templates/skill/WORKFLOWS.md +229 -0
  76. package/dist/utils/type-guards.d.ts +11 -0
  77. package/dist/utils/type-guards.js +13 -0
  78. package/oclif.manifest.json +8 -1
  79. package/package.json +9 -9
  80. package/dist/infra/process/constants.d.ts +0 -1
  81. package/dist/infra/process/constants.js +0 -1
  82. /package/dist/{commands → oclif/commands}/main.d.ts +0 -0
  83. /package/dist/{commands → oclif/commands}/mcp.d.ts +0 -0
  84. /package/dist/{hooks → oclif/hooks}/command_not_found/handle-invalid-commands.d.ts +0 -0
  85. /package/dist/{hooks → oclif/hooks}/command_not_found/handle-invalid-commands.js +0 -0
  86. /package/dist/{hooks → oclif/hooks}/error/clean-errors.d.ts +0 -0
  87. /package/dist/{hooks → oclif/hooks}/error/clean-errors.js +0 -0
  88. /package/dist/{hooks → oclif/hooks}/init/update-notifier.d.ts +0 -0
  89. /package/dist/{hooks → oclif/hooks}/init/update-notifier.js +0 -0
  90. /package/dist/{hooks → oclif/hooks}/init/welcome.d.ts +0 -0
  91. /package/dist/{hooks → oclif/hooks}/init/welcome.js +0 -0
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # ByteRover CLI
2
2
 
3
- Command-line interface for ByteRover, featuring an interactive REPL with a modern React/Ink terminal UI for managing your project's context tree and knowledge storage. Seamlessly integrate with 18+ AI coding agents including Claude Code, Cursor, Windsurf, GitHub Copilot, Cline, and more.
3
+ Command-line interface for ByteRover, featuring an interactive REPL with a modern React/Ink terminal UI for managing your project's context tree and knowledge storage. Seamlessly integrate with 18 AI coding agents via modern skill files, MCP tools, or rules-based integration—supports Claude Code, Cursor, Windsurf, GitHub Copilot, Cline, and 13 more.
4
4
 
5
5
  [![Version](https://img.shields.io/npm/v/byterover-cli.svg)](https://npmjs.org/package/byterover-cli)
6
6
  [![Downloads/week](https://img.shields.io/npm/dw/byterover-cli.svg)](https://npmjs.org/package/byterover-cli)
@@ -11,7 +11,9 @@ Command-line interface for ByteRover, featuring an interactive REPL with a moder
11
11
  * [Installation](#installation)
12
12
  * [Quick Start](#quick-start)
13
13
  * [Interactive REPL](#interactive-repl)
14
+ * [Keyboard Shortcuts](#keyboard-shortcuts)
14
15
  * [What is Context Tree?](#what-is-context-tree)
16
+ * [Supported AI Agents](#supported-ai-agents)
15
17
  * [Slash Commands Reference](#slash-commands-reference)
16
18
  * [Authentication](#authentication)
17
19
  * [Configuration](#configuration)
@@ -78,6 +80,17 @@ This opens your browser to complete OAuth authentication. Your credentials are s
78
80
 
79
81
  Select a team and space from your available options, and ByteRover will set up your project's context tree.
80
82
 
83
+ ### 4. (Optional) Configure Agent Connectors
84
+
85
+ ```
86
+ /connectors
87
+ ```
88
+
89
+ ByteRover automatically configures the best connector for your installed agents:
90
+ - **Skill files** for Claude Code and Cursor (modern, discoverable)
91
+ - **MCP tools** for most other agents (universal protocol)
92
+ - Switch connector types anytime via `/connectors`
93
+
81
94
  You're now ready to use ByteRover! Try `/status` to see your project's current state.
82
95
 
83
96
  ## Interactive REPL
@@ -99,10 +112,26 @@ The terminal UI includes:
99
112
  - **Tab Navigation**: Switch between Chat and Activity views using `Tab`
100
113
  - **Command Completion**: Type `/` to see available commands with auto-completion
101
114
  - **Activity Log**: Real-time task status and execution progress
102
- - **Streaming Output**: Live responses from AI-powered operations
103
- - **File References**: Type `@` in curate mode to browse and attach files (supports PDF)
115
+ - **Streaming Output**: Live responses with markdown rendering (headings, lists, blockquotes, code blocks)
116
+ - **Reasoning Display**: View agent thinking process with streamed reasoning blocks
117
+ - **File References**: Type `@` in curate mode to browse and attach files
118
+ - **PDF Support**: Reference and extract text from PDF files using `@` (up to 100 pages)
104
119
  - **Dynamic Domains**: Automatically creates new knowledge domains as your context tree grows
105
120
  - **Session Persistence**: Sessions auto-resume after restart
121
+ - **Expandable Views**: Press `Ctrl+O` to expand messages or logs to full-screen with vim-style navigation
122
+ - **Version Indicator**: Shows "(latest)" when running the most current version
123
+
124
+ ### Keyboard Shortcuts
125
+
126
+ | Shortcut | Action |
127
+ |----------|--------|
128
+ | `Tab` | Switch between Chat and Activity views |
129
+ | `Ctrl+O` | Expand message or log to full-screen |
130
+ | `j` / `k` | Scroll down/up in expanded view |
131
+ | `g` / `G` | Jump to top/bottom in expanded view |
132
+ | `Esc` or `q` | Exit expanded view |
133
+ | `/` | Show command suggestions |
134
+ | `@` | Browse files (in curate mode) |
106
135
 
107
136
  ### Using Commands
108
137
 
@@ -125,7 +154,7 @@ The **Context Tree** is ByteRover's structured knowledge system that helps you a
125
154
  - **Organized Knowledge**: Structure your project knowledge by domain and topic
126
155
  - **Easy Retrieval**: Find relevant context quickly when you need it
127
156
  - **Persistent Memory**: Maintain project-specific knowledge across sessions
128
- - **Agent-Friendly**: Works seamlessly with 18+ AI coding agents (Claude Code, Cursor, Windsurf, GitHub Copilot, Cline, and more) via rules-based or hook-based integration
157
+ - **Agent-Friendly**: Works seamlessly with 18 AI coding agents (Claude Code, Cursor, Windsurf, GitHub Copilot, Cline, and 13 more) via skill files, MCP tools, hooks, or rules
129
158
  - **Cloud Sync**: Push and sync your context tree to ByteRover's cloud storage for backup and team collaboration
130
159
  - **Dynamic Domains**: Automatically creates new domains as your knowledge grows
131
160
 
@@ -136,6 +165,20 @@ The context tree organizes knowledge into:
136
165
  - **Topics**: Specific subjects within domains (e.g., Authentication, Components)
137
166
  - **Context Files**: Markdown files containing your actual knowledge
138
167
 
168
+ ## Supported AI Agents
169
+
170
+ ByteRover integrates with 18 AI coding agents:
171
+
172
+ **Skill Connector (Default):**
173
+ - Claude Code, Cursor
174
+
175
+ **MCP Connector (Default):**
176
+ - Amp, Augment Code, Cline, Gemini CLI, Github Copilot, Junie, Kilo Code, Kiro, Qoder, Qwen Code, Roo Code, Trae.ai, Warp, Windsurf, Zed (and Codex via global scope)
177
+
178
+ **All agents support rules-based integration as a universal fallback option.**
179
+
180
+ Use `/connectors` in the REPL to view, install, or switch connector types for your agents.
181
+
139
182
  ### Integrating with Coding Agents
140
183
 
141
184
  Use `/connectors` to manage integrations with your AI coding agents:
@@ -144,10 +187,17 @@ Use `/connectors` to manage integrations with your AI coding agents:
144
187
  /connectors
145
188
  ```
146
189
 
147
- ByteRover supports three connector types:
148
- - **Hook integration** (Claude Code): Direct injection via IDE settings for seamless integration
149
- - **Rules-based** (all agents): Generates agent-specific rule files (e.g., `CLAUDE.md`, `.cursorrules`) that instruct the agent how to read from and contribute to your context tree
150
- - **MCP integration** (Model Context Protocol): Exposes `brv-query` and `brv-curate` as MCP tools that AI agents can call directly
190
+ ByteRover supports four connector types:
191
+
192
+ 1. **Skill integration** (Claude Code, Cursor - default): Modern integration that writes 3 markdown files (SKILL.md, TROUBLESHOOTING.md, WORKFLOWS.md) to your agent's skills directory for easy discovery and guidance
193
+ 2. **MCP integration** (16 other agents - default): Exposes brv-query and brv-curate as Model Context Protocol tools that AI agents can call directly
194
+ 3. **Rules-based** (all agents): Generates agent-specific rule files (e.g., CLAUDE.md, .cursorrules) with instructions for using ByteRover
195
+ 4. **Hook integration** (Claude Code only - legacy): Direct injection via IDE settings, replaced by skill connector
196
+
197
+ **Defaults by agent:**
198
+ - Claude Code, Cursor: Skill connector
199
+ - All others (16 agents): MCP connector
200
+ - Rules: Available for all agents as fallback
151
201
 
152
202
  ## Slash Commands Reference
153
203
 
@@ -208,9 +258,19 @@ ByteRover supports three connector types:
208
258
 
209
259
  | Command | Description |
210
260
  |---------|-------------|
211
- | `/connectors` | Manage agent connectors (rules-based or hook integration) |
261
+ | `/connectors` | Manage agent connectors (skill, hook, mcp, or rules integration) |
212
262
  | `/reset [-y] [directory]` | Reset context tree to empty state |
213
263
 
264
+ **Connector types:**
265
+ - `skill`: Modern integration with markdown skill files (SKILL.md, TROUBLESHOOTING.md, WORKFLOWS.md)
266
+ - `mcp`: Model Context Protocol tools (brv-query, brv-curate)
267
+ - `hook`: Legacy IDE settings injection (Claude Code only)
268
+ - `rules`: Agent-specific rule files (universal fallback)
269
+
270
+ **Defaults:**
271
+ - Claude Code, Cursor: `skill`
272
+ - All others: `mcp`
273
+
214
274
  **Reset options:**
215
275
  - `-y, --yes`: Skip confirmation prompt
216
276
 
@@ -304,6 +364,24 @@ The context tree is stored in `.brv/context-tree/`:
304
364
 
305
365
  **Note**: When you run `/push`, your context tree is uploaded to ByteRover's cloud storage for version control and team collaboration.
306
366
 
367
+ ### Agent Connector Configuration
368
+
369
+ Connector configurations are stored based on type:
370
+
371
+ **Skill connectors** (Claude Code, Cursor):
372
+ - **Project-scoped**: `.claude/skills/byterover/`, `.cursor/skills/byterover/`
373
+ - **Global-scoped** (Codex): `~/.codex/skills/byterover/`
374
+ - Files: `SKILL.md`, `TROUBLESHOOTING.md`, `WORKFLOWS.md`
375
+
376
+ **Hook connectors** (Claude Code legacy):
377
+ - `.claude/settings.local.json` (project-scoped)
378
+
379
+ **MCP connectors**:
380
+ - Managed via MCP configuration files (JSON/TOML)
381
+
382
+ **Rules connectors**:
383
+ - `CLAUDE.md`, `.cursorrules`, `.windsurfrules`, etc. (varies by agent)
384
+
307
385
  ## Troubleshooting
308
386
 
309
387
  ### Session Logs
@@ -19,11 +19,6 @@ export declare const SNAPSHOT_FILE = ".snapshot.json";
19
19
  * This is ByteRover's internal branching mechanism, not Git branches.
20
20
  */
21
21
  export declare const DEFAULT_BRANCH = "main";
22
- /**
23
- * ByteRover documentation URL.
24
- * Used in CLI help output to direct users to online documentation.
25
- */
26
- export declare const DOCS_URL = "https://docs.byterover.dev";
27
22
  export declare const TRANSPORT_HOST = "127.0.0.1";
28
23
  export declare const TRANSPORT_REQUEST_TIMEOUT_MS = 10000;
29
24
  export declare const TRANSPORT_ROOM_TIMEOUT_MS = 2000;
package/dist/constants.js CHANGED
@@ -24,11 +24,6 @@ export const SNAPSHOT_FILE = '.snapshot.json';
24
24
  * This is ByteRover's internal branching mechanism, not Git branches.
25
25
  */
26
26
  export const DEFAULT_BRANCH = 'main';
27
- /**
28
- * ByteRover documentation URL.
29
- * Used in CLI help output to direct users to online documentation.
30
- */
31
- export const DOCS_URL = 'https://docs.byterover.dev';
32
27
  // Transport layer constants (optimized for localhost real-time)
33
28
  export const TRANSPORT_HOST = '127.0.0.1'; // Use hostname for better sandbox compatibility
34
29
  export const TRANSPORT_REQUEST_TIMEOUT_MS = 10_000; // 10s - most operations complete quickly
@@ -33,11 +33,11 @@ export declare const AgentPermissionSchema: z.ZodObject<{
33
33
  */
34
34
  edit: z.ZodDefault<z.ZodEnum<["allow", "deny", "ask"]>>;
35
35
  }, "strip", z.ZodTypeAny, {
36
- edit: "allow" | "deny" | "ask";
37
36
  bash: Record<string, "allow" | "deny" | "ask">;
37
+ edit: "allow" | "deny" | "ask";
38
38
  }, {
39
- edit?: "allow" | "deny" | "ask" | undefined;
40
39
  bash?: Record<string, "allow" | "deny" | "ask"> | undefined;
40
+ edit?: "allow" | "deny" | "ask" | undefined;
41
41
  }>;
42
42
  export type AgentPermission = z.infer<typeof AgentPermissionSchema>;
43
43
  /**
@@ -115,11 +115,11 @@ export declare const AgentInfoSchema: z.ZodObject<{
115
115
  */
116
116
  edit: z.ZodDefault<z.ZodEnum<["allow", "deny", "ask"]>>;
117
117
  }, "strip", z.ZodTypeAny, {
118
- edit: "allow" | "deny" | "ask";
119
118
  bash: Record<string, "allow" | "deny" | "ask">;
119
+ edit: "allow" | "deny" | "ask";
120
120
  }, {
121
- edit?: "allow" | "deny" | "ask" | undefined;
122
121
  bash?: Record<string, "allow" | "deny" | "ask"> | undefined;
122
+ edit?: "allow" | "deny" | "ask" | undefined;
123
123
  }>>;
124
124
  /**
125
125
  * Inline system prompt for this agent.
@@ -145,44 +145,44 @@ export declare const AgentInfoSchema: z.ZodObject<{
145
145
  */
146
146
  tools: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodBoolean>>;
147
147
  }, "strip", z.ZodTypeAny, {
148
- name: string;
149
148
  hidden: boolean;
150
149
  mode: "primary" | "subagent" | "all";
150
+ name: string;
151
151
  native: boolean;
152
152
  permission: {
153
- edit: "allow" | "deny" | "ask";
154
153
  bash: Record<string, "allow" | "deny" | "ask">;
154
+ edit: "allow" | "deny" | "ask";
155
155
  };
156
156
  tools: Record<string, boolean>;
157
- prompt?: string | undefined;
157
+ color?: string | undefined;
158
+ description?: string | undefined;
158
159
  maxIterations?: number | undefined;
159
160
  model?: {
160
161
  modelId: string;
161
162
  providerId?: string | undefined;
162
163
  } | undefined;
163
- description?: string | undefined;
164
- color?: string | undefined;
165
- temperature?: number | undefined;
164
+ prompt?: string | undefined;
166
165
  promptFile?: string | undefined;
166
+ temperature?: number | undefined;
167
167
  }, {
168
- name: string;
169
168
  mode: "primary" | "subagent" | "all";
170
- prompt?: string | undefined;
169
+ name: string;
170
+ color?: string | undefined;
171
+ description?: string | undefined;
172
+ hidden?: boolean | undefined;
171
173
  maxIterations?: number | undefined;
172
174
  model?: {
173
175
  modelId: string;
174
176
  providerId?: string | undefined;
175
177
  } | undefined;
176
- description?: string | undefined;
177
- hidden?: boolean | undefined;
178
- color?: string | undefined;
179
- temperature?: number | undefined;
180
178
  native?: boolean | undefined;
181
179
  permission?: {
182
- edit?: "allow" | "deny" | "ask" | undefined;
183
180
  bash?: Record<string, "allow" | "deny" | "ask"> | undefined;
181
+ edit?: "allow" | "deny" | "ask" | undefined;
184
182
  } | undefined;
183
+ prompt?: string | undefined;
185
184
  promptFile?: string | undefined;
185
+ temperature?: number | undefined;
186
186
  tools?: Record<string, boolean> | undefined;
187
187
  }>;
188
188
  /**
@@ -19,16 +19,16 @@ export declare const LLMConfigBaseSchema: z.ZodObject<{
19
19
  maxIterations: number;
20
20
  model: string;
21
21
  provider: "claude" | "gemini" | "openrouter";
22
- timeout?: number | undefined;
23
22
  temperature?: number | undefined;
23
+ timeout?: number | undefined;
24
24
  maxInputTokens?: number | undefined;
25
25
  maxOutputTokens?: number | undefined;
26
26
  }, {
27
27
  model: string;
28
28
  provider: "claude" | "gemini" | "openrouter";
29
- timeout?: number | undefined;
30
29
  maxIterations?: number | undefined;
31
30
  temperature?: number | undefined;
31
+ timeout?: number | undefined;
32
32
  maxInputTokens?: number | undefined;
33
33
  maxOutputTokens?: number | undefined;
34
34
  }>;
@@ -47,32 +47,32 @@ export declare const LLMConfigSchema: z.ZodEffects<z.ZodObject<{
47
47
  maxIterations: number;
48
48
  model: string;
49
49
  provider: "claude" | "gemini" | "openrouter";
50
- timeout?: number | undefined;
51
50
  temperature?: number | undefined;
51
+ timeout?: number | undefined;
52
52
  maxInputTokens?: number | undefined;
53
53
  maxOutputTokens?: number | undefined;
54
54
  }, {
55
55
  model: string;
56
56
  provider: "claude" | "gemini" | "openrouter";
57
- timeout?: number | undefined;
58
57
  maxIterations?: number | undefined;
59
58
  temperature?: number | undefined;
59
+ timeout?: number | undefined;
60
60
  maxInputTokens?: number | undefined;
61
61
  maxOutputTokens?: number | undefined;
62
62
  }>, {
63
63
  maxIterations: number;
64
64
  model: string;
65
65
  provider: "claude" | "gemini" | "openrouter";
66
- timeout?: number | undefined;
67
66
  temperature?: number | undefined;
67
+ timeout?: number | undefined;
68
68
  maxInputTokens?: number | undefined;
69
69
  maxOutputTokens?: number | undefined;
70
70
  }, {
71
71
  model: string;
72
72
  provider: "claude" | "gemini" | "openrouter";
73
- timeout?: number | undefined;
74
73
  maxIterations?: number | undefined;
75
74
  temperature?: number | undefined;
75
+ timeout?: number | undefined;
76
76
  maxInputTokens?: number | undefined;
77
77
  maxOutputTokens?: number | undefined;
78
78
  }>;
@@ -97,37 +97,37 @@ export declare const LLMUpdatesSchema: z.ZodEffects<z.ZodObject<{
97
97
  temperature: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
98
98
  timeout: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
99
99
  }, "strip", z.ZodTypeAny, {
100
- timeout?: number | undefined;
101
100
  maxIterations?: number | undefined;
102
101
  model?: string | undefined;
103
- provider?: "claude" | "gemini" | "openrouter" | undefined;
104
102
  temperature?: number | undefined;
103
+ timeout?: number | undefined;
105
104
  maxInputTokens?: number | undefined;
106
105
  maxOutputTokens?: number | undefined;
106
+ provider?: "claude" | "gemini" | "openrouter" | undefined;
107
107
  }, {
108
- timeout?: number | undefined;
109
108
  maxIterations?: number | undefined;
110
109
  model?: string | undefined;
111
- provider?: "claude" | "gemini" | "openrouter" | undefined;
112
110
  temperature?: number | undefined;
111
+ timeout?: number | undefined;
113
112
  maxInputTokens?: number | undefined;
114
113
  maxOutputTokens?: number | undefined;
114
+ provider?: "claude" | "gemini" | "openrouter" | undefined;
115
115
  }>, {
116
- timeout?: number | undefined;
117
116
  maxIterations?: number | undefined;
118
117
  model?: string | undefined;
119
- provider?: "claude" | "gemini" | "openrouter" | undefined;
120
118
  temperature?: number | undefined;
119
+ timeout?: number | undefined;
121
120
  maxInputTokens?: number | undefined;
122
121
  maxOutputTokens?: number | undefined;
122
+ provider?: "claude" | "gemini" | "openrouter" | undefined;
123
123
  }, {
124
- timeout?: number | undefined;
125
124
  maxIterations?: number | undefined;
126
125
  model?: string | undefined;
127
- provider?: "claude" | "gemini" | "openrouter" | undefined;
128
126
  temperature?: number | undefined;
127
+ timeout?: number | undefined;
129
128
  maxInputTokens?: number | undefined;
130
129
  maxOutputTokens?: number | undefined;
130
+ provider?: "claude" | "gemini" | "openrouter" | undefined;
131
131
  }>;
132
132
  /**
133
133
  * Input type for LLM updates.
@@ -88,13 +88,13 @@ export declare const ActiveSessionPointerSchema: z.ZodObject<{
88
88
  sessionId: z.ZodString;
89
89
  }, "strip", z.ZodTypeAny, {
90
90
  sessionId: string;
91
- pid: number;
92
91
  activatedAt: string;
92
+ pid: number;
93
93
  processToken?: string | undefined;
94
94
  }, {
95
95
  sessionId: string;
96
- pid: number;
97
96
  activatedAt: string;
97
+ pid: number;
98
98
  processToken?: string | undefined;
99
99
  }>;
100
100
  /**
@@ -35,8 +35,8 @@ export const AGENT_CONNECTOR_CONFIG = {
35
35
  supported: ['rules', 'mcp'],
36
36
  },
37
37
  'Claude Code': {
38
- default: 'hook',
39
- supported: ['rules', 'hook', 'mcp'],
38
+ default: 'skill',
39
+ supported: ['rules', 'hook', 'mcp', 'skill'],
40
40
  },
41
41
  Cline: {
42
42
  default: 'mcp',
@@ -44,11 +44,11 @@ export const AGENT_CONNECTOR_CONFIG = {
44
44
  },
45
45
  Codex: {
46
46
  default: 'mcp',
47
- supported: ['rules', 'mcp'],
47
+ supported: ['rules', 'mcp', 'skill'],
48
48
  },
49
49
  Cursor: {
50
- default: 'mcp',
51
- supported: ['rules', 'mcp'],
50
+ default: 'skill',
51
+ supported: ['rules', 'mcp', 'skill'],
52
52
  },
53
53
  'Gemini CLI': {
54
54
  default: 'mcp',
@@ -56,7 +56,7 @@ export const AGENT_CONNECTOR_CONFIG = {
56
56
  },
57
57
  'Github Copilot': {
58
58
  default: 'mcp',
59
- supported: ['rules', 'mcp'],
59
+ supported: ['rules', 'mcp', 'skill'],
60
60
  },
61
61
  Junie: {
62
62
  default: 'mcp',
@@ -5,6 +5,7 @@
5
5
  * - 'rules': Agent reads instructions from a rule file (e.g., CLAUDE.md)
6
6
  * - 'hook': Instructions are injected on each prompt via agent hooks
7
7
  * - 'mcp': Agent uses mcp tools to interact with brv
8
+ * - 'skill': Agent reads skill files from a project subdirectory
8
9
  */
9
- export declare const CONNECTOR_TYPES: readonly ["rules", "hook", "mcp"];
10
+ export declare const CONNECTOR_TYPES: readonly ["rules", "hook", "mcp", "skill"];
10
11
  export type ConnectorType = (typeof CONNECTOR_TYPES)[number];
@@ -5,5 +5,6 @@
5
5
  * - 'rules': Agent reads instructions from a rule file (e.g., CLAUDE.md)
6
6
  * - 'hook': Instructions are injected on each prompt via agent hooks
7
7
  * - 'mcp': Agent uses mcp tools to interact with brv
8
+ * - 'skill': Agent reads skill files from a project subdirectory
8
9
  */
9
- export const CONNECTOR_TYPES = ['rules', 'hook', 'mcp'];
10
+ export const CONNECTOR_TYPES = ['rules', 'hook', 'mcp', 'skill'];