@vibe-forge/core 2.0.1 → 2.0.2
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.
- package/package.json +3 -3
- package/src/config-schema.ts +79 -8
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vibe-forge/core",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.2",
|
|
4
4
|
"imports": {
|
|
5
5
|
"#~/*.js": {
|
|
6
6
|
"__vibe-forge__": {
|
|
@@ -53,7 +53,7 @@
|
|
|
53
53
|
},
|
|
54
54
|
"dependencies": {
|
|
55
55
|
"zod": "^3.24.1",
|
|
56
|
-
"@vibe-forge/
|
|
57
|
-
"@vibe-forge/
|
|
56
|
+
"@vibe-forge/types": "^2.0.1",
|
|
57
|
+
"@vibe-forge/utils": "^2.0.1"
|
|
58
58
|
}
|
|
59
59
|
}
|
package/src/config-schema.ts
CHANGED
|
@@ -146,10 +146,56 @@ export const shortcutsConfigSchema = z.object({
|
|
|
146
146
|
switchPermissionMode: z.string().optional().describe('Shortcut for switching permission mode')
|
|
147
147
|
})
|
|
148
148
|
|
|
149
|
+
export const conversationStarterModeSchema = z.enum([
|
|
150
|
+
'default',
|
|
151
|
+
'workspace',
|
|
152
|
+
'entity',
|
|
153
|
+
'agent',
|
|
154
|
+
'spec'
|
|
155
|
+
])
|
|
156
|
+
|
|
157
|
+
export const conversationStarterWorktreeConfigSchema = z.object({
|
|
158
|
+
create: z.boolean().optional().describe('Override whether the session uses a managed worktree'),
|
|
159
|
+
environment: z.string().optional().describe('Managed worktree environment override'),
|
|
160
|
+
branch: z.object({
|
|
161
|
+
name: z.string().min(1).describe('Branch name'),
|
|
162
|
+
kind: z.enum(['local', 'remote']).optional().describe('Branch kind'),
|
|
163
|
+
mode: z.enum(['checkout', 'create']).optional().describe('Branch operation mode')
|
|
164
|
+
}).optional().describe('Branch selection override')
|
|
165
|
+
})
|
|
166
|
+
|
|
167
|
+
export const conversationStarterConfigSchema = z.object({
|
|
168
|
+
id: z.string().optional().describe('Stable starter identifier'),
|
|
169
|
+
title: z.string().min(1).describe('Starter title'),
|
|
170
|
+
description: z.string().optional().describe('Starter description'),
|
|
171
|
+
icon: z.string().optional().describe('Material Symbols icon name'),
|
|
172
|
+
mode: conversationStarterModeSchema.optional().describe('Target mode, `agent` is an alias for `entity`'),
|
|
173
|
+
target: z.string().optional().describe('Target resource name or workspace id'),
|
|
174
|
+
targetLabel: z.string().optional().describe('Optional target label shown in the UI'),
|
|
175
|
+
targetDescription: z.string().optional().describe('Optional target description shown in the UI'),
|
|
176
|
+
model: z.string().optional().describe('Model id or service-prefixed model value'),
|
|
177
|
+
adapter: z.string().optional().describe('Adapter override'),
|
|
178
|
+
account: z.string().optional().describe('Account override'),
|
|
179
|
+
effort: z.union([z.literal('default'), effortLevelSchema]).optional().describe('Effort override'),
|
|
180
|
+
permissionMode: z.enum(['default', 'acceptEdits', 'plan', 'dontAsk', 'bypassPermissions']).optional()
|
|
181
|
+
.describe('Permission mode override'),
|
|
182
|
+
worktree: conversationStarterWorktreeConfigSchema.optional().describe('Managed worktree overrides'),
|
|
183
|
+
prompt: z.string().optional().describe('Prefilled prompt'),
|
|
184
|
+
files: z.array(z.string()).optional().describe('Referenced file paths'),
|
|
185
|
+
rules: z.array(z.string()).optional().describe('Referenced rule paths or rule identifiers'),
|
|
186
|
+
skills: z.array(z.string()).optional().describe('Referenced skill paths or skill identifiers')
|
|
187
|
+
})
|
|
188
|
+
|
|
149
189
|
export const conversationConfigSchema = z.object({
|
|
150
190
|
style: z.enum(['friendly', 'programmatic']).optional().describe('Conversation style'),
|
|
151
191
|
customInstructions: z.string().optional().describe('Extra system instructions'),
|
|
152
|
-
injectDefaultSystemPrompt: z.boolean().optional().describe('Inject the default system prompt')
|
|
192
|
+
injectDefaultSystemPrompt: z.boolean().optional().describe('Inject the default system prompt'),
|
|
193
|
+
createSessionWorktree: z.boolean().optional().describe('Create a managed worktree for new sessions by default'),
|
|
194
|
+
worktreeEnvironment: z.string().optional().describe('Default managed worktree environment'),
|
|
195
|
+
startupPresets: z.array(conversationStarterConfigSchema).optional()
|
|
196
|
+
.describe('Quick-start presets shown on the new session page'),
|
|
197
|
+
builtinActions: z.array(conversationStarterConfigSchema).optional()
|
|
198
|
+
.describe('Built-in development actions shown on the new session page')
|
|
153
199
|
})
|
|
154
200
|
|
|
155
201
|
export const webAuthAccountConfigSchema = z.object({
|
|
@@ -166,17 +212,40 @@ export const webAuthConfigSchema = z.object({
|
|
|
166
212
|
rememberDeviceTtlDays: z.number().positive().optional().describe('Remember-device token lifetime in days')
|
|
167
213
|
})
|
|
168
214
|
|
|
169
|
-
export const
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
downloadUrl: z.string().optional().describe('Remote skill registry download endpoint')
|
|
215
|
+
export const skillsCliConfigSchema = adapterNativeCliConfigSchema.extend({
|
|
216
|
+
registry: z.string().optional().describe('Package registry used to install the managed skills CLI'),
|
|
217
|
+
npmRegistry: z.string().optional().describe('Deprecated alias for skillsCli.registry'),
|
|
218
|
+
env: z.record(z.string(), z.string()).optional().describe('Environment variables passed to the skills CLI')
|
|
174
219
|
})
|
|
175
220
|
|
|
176
|
-
export const
|
|
177
|
-
|
|
221
|
+
export const skillHomeBridgeConfigSchema = z.object({
|
|
222
|
+
enabled: z.boolean().optional().describe('Bridge supported home skill roots into workspace asset discovery'),
|
|
223
|
+
roots: z.union([z.string(), z.array(z.string())]).optional()
|
|
224
|
+
.describe('Ordered home skill roots. Supports absolute paths or paths starting with ~')
|
|
178
225
|
})
|
|
179
226
|
|
|
227
|
+
export const configuredSkillInstallConfigSchema = z.union([
|
|
228
|
+
z.string().min(1),
|
|
229
|
+
z.object({
|
|
230
|
+
name: z.string().min(1).describe('Remote skill name'),
|
|
231
|
+
source: z.string().optional().describe('Remote skills CLI source path'),
|
|
232
|
+
rename: z.string().optional().describe('Local skill name to expose after install')
|
|
233
|
+
})
|
|
234
|
+
])
|
|
235
|
+
|
|
236
|
+
export const legacySkillsConfigSchema = z.object({
|
|
237
|
+
install: z.array(configuredSkillInstallConfigSchema).optional()
|
|
238
|
+
.describe('Project skills that should be ensured before session startup'),
|
|
239
|
+
cli: skillsCliConfigSchema.optional().describe('Deprecated alias for top-level skillsCli runtime settings'),
|
|
240
|
+
homeBridge: skillHomeBridgeConfigSchema.optional().describe('Home skill auto-bridge settings')
|
|
241
|
+
})
|
|
242
|
+
|
|
243
|
+
export const skillsConfigSchema = z.union([
|
|
244
|
+
z.array(configuredSkillInstallConfigSchema)
|
|
245
|
+
.describe('Project skills that should be ensured before session startup'),
|
|
246
|
+
legacySkillsConfigSchema
|
|
247
|
+
])
|
|
248
|
+
|
|
180
249
|
const pluginInstanceConfigSchema: z.ZodType<unknown> = z.lazy(() =>
|
|
181
250
|
z.object({
|
|
182
251
|
id: z.string().min(1).describe('Plugin package name or short id'),
|
|
@@ -330,6 +399,7 @@ export const generalConfigSectionSchema = z.object({
|
|
|
330
399
|
env: z.record(z.string(), z.string()).optional(),
|
|
331
400
|
notifications: notificationConfigSchema.optional(),
|
|
332
401
|
skills: skillsConfigSchema.optional(),
|
|
402
|
+
skillsCli: skillsCliConfigSchema.optional(),
|
|
333
403
|
webAuth: webAuthConfigSchema.optional()
|
|
334
404
|
})
|
|
335
405
|
|
|
@@ -386,6 +456,7 @@ export const baseConfigFileSchema = z.object({
|
|
|
386
456
|
shortcuts: shortcutsConfigSchema.optional(),
|
|
387
457
|
notifications: notificationConfigSchema.optional(),
|
|
388
458
|
skills: skillsConfigSchema.optional(),
|
|
459
|
+
skillsCli: skillsCliConfigSchema.optional(),
|
|
389
460
|
webAuth: webAuthConfigSchema.optional(),
|
|
390
461
|
conversation: conversationConfigSchema.optional(),
|
|
391
462
|
plugins: pluginConfigSchema.optional(),
|