clavix 5.6.3 → 5.6.4
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/dist/utils/schemas.d.ts +66 -0
- package/dist/utils/schemas.js +37 -1
- package/package.json +1 -1
package/dist/utils/schemas.d.ts
CHANGED
|
@@ -155,16 +155,82 @@ export declare const IntegrationsConfigSchema: z.ZodObject<{
|
|
|
155
155
|
}>;
|
|
156
156
|
/**
|
|
157
157
|
* Schema for user's .clavix/config.json
|
|
158
|
+
* Matches ClavixConfig interface in src/types/config.ts
|
|
158
159
|
*/
|
|
159
160
|
export declare const UserConfigSchema: z.ZodObject<{
|
|
161
|
+
version: z.ZodOptional<z.ZodString>;
|
|
160
162
|
integrations: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
161
163
|
providers: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
164
|
+
templates: z.ZodOptional<z.ZodObject<{
|
|
165
|
+
prdQuestions: z.ZodString;
|
|
166
|
+
fullPrd: z.ZodString;
|
|
167
|
+
quickPrd: z.ZodString;
|
|
168
|
+
}, "strip", z.ZodTypeAny, {
|
|
169
|
+
prdQuestions: string;
|
|
170
|
+
fullPrd: string;
|
|
171
|
+
quickPrd: string;
|
|
172
|
+
}, {
|
|
173
|
+
prdQuestions: string;
|
|
174
|
+
fullPrd: string;
|
|
175
|
+
quickPrd: string;
|
|
176
|
+
}>>;
|
|
177
|
+
outputs: z.ZodOptional<z.ZodObject<{
|
|
178
|
+
path: z.ZodString;
|
|
179
|
+
format: z.ZodEnum<["markdown", "pdf"]>;
|
|
180
|
+
}, "strip", z.ZodTypeAny, {
|
|
181
|
+
path: string;
|
|
182
|
+
format: "markdown" | "pdf";
|
|
183
|
+
}, {
|
|
184
|
+
path: string;
|
|
185
|
+
format: "markdown" | "pdf";
|
|
186
|
+
}>>;
|
|
187
|
+
preferences: z.ZodOptional<z.ZodObject<{
|
|
188
|
+
autoOpenOutputs: z.ZodBoolean;
|
|
189
|
+
verboseLogging: z.ZodBoolean;
|
|
190
|
+
}, "strip", z.ZodTypeAny, {
|
|
191
|
+
autoOpenOutputs: boolean;
|
|
192
|
+
verboseLogging: boolean;
|
|
193
|
+
}, {
|
|
194
|
+
autoOpenOutputs: boolean;
|
|
195
|
+
verboseLogging: boolean;
|
|
196
|
+
}>>;
|
|
197
|
+
experimental: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
162
198
|
}, "strip", z.ZodTypeAny, {
|
|
199
|
+
version?: string | undefined;
|
|
163
200
|
integrations?: string[] | undefined;
|
|
164
201
|
providers?: string[] | undefined;
|
|
202
|
+
templates?: {
|
|
203
|
+
prdQuestions: string;
|
|
204
|
+
fullPrd: string;
|
|
205
|
+
quickPrd: string;
|
|
206
|
+
} | undefined;
|
|
207
|
+
outputs?: {
|
|
208
|
+
path: string;
|
|
209
|
+
format: "markdown" | "pdf";
|
|
210
|
+
} | undefined;
|
|
211
|
+
preferences?: {
|
|
212
|
+
autoOpenOutputs: boolean;
|
|
213
|
+
verboseLogging: boolean;
|
|
214
|
+
} | undefined;
|
|
215
|
+
experimental?: Record<string, unknown> | undefined;
|
|
165
216
|
}, {
|
|
217
|
+
version?: string | undefined;
|
|
166
218
|
integrations?: string[] | undefined;
|
|
167
219
|
providers?: string[] | undefined;
|
|
220
|
+
templates?: {
|
|
221
|
+
prdQuestions: string;
|
|
222
|
+
fullPrd: string;
|
|
223
|
+
quickPrd: string;
|
|
224
|
+
} | undefined;
|
|
225
|
+
outputs?: {
|
|
226
|
+
path: string;
|
|
227
|
+
format: "markdown" | "pdf";
|
|
228
|
+
} | undefined;
|
|
229
|
+
preferences?: {
|
|
230
|
+
autoOpenOutputs: boolean;
|
|
231
|
+
verboseLogging: boolean;
|
|
232
|
+
} | undefined;
|
|
233
|
+
experimental?: Record<string, unknown> | undefined;
|
|
168
234
|
}>;
|
|
169
235
|
/**
|
|
170
236
|
* Inferred TypeScript types from schemas
|
package/dist/utils/schemas.js
CHANGED
|
@@ -41,16 +41,44 @@ export const IntegrationsConfigSchema = z.object({
|
|
|
41
41
|
return new Set(names).size === names.length;
|
|
42
42
|
}, { message: 'Integration names must be unique' }),
|
|
43
43
|
});
|
|
44
|
+
/**
|
|
45
|
+
* Schema for template configuration
|
|
46
|
+
*/
|
|
47
|
+
const TemplateConfigSchema = z.object({
|
|
48
|
+
prdQuestions: z.string(),
|
|
49
|
+
fullPrd: z.string(),
|
|
50
|
+
quickPrd: z.string(),
|
|
51
|
+
});
|
|
52
|
+
/**
|
|
53
|
+
* Schema for output configuration
|
|
54
|
+
*/
|
|
55
|
+
const OutputConfigSchema = z.object({
|
|
56
|
+
path: z.string(),
|
|
57
|
+
format: z.enum(['markdown', 'pdf']),
|
|
58
|
+
});
|
|
59
|
+
/**
|
|
60
|
+
* Schema for user preferences
|
|
61
|
+
*/
|
|
62
|
+
const PreferencesConfigSchema = z.object({
|
|
63
|
+
autoOpenOutputs: z.boolean(),
|
|
64
|
+
verboseLogging: z.boolean(),
|
|
65
|
+
});
|
|
44
66
|
/**
|
|
45
67
|
* Schema for user's .clavix/config.json
|
|
68
|
+
* Matches ClavixConfig interface in src/types/config.ts
|
|
46
69
|
*/
|
|
47
70
|
export const UserConfigSchema = z.object({
|
|
71
|
+
version: z.string().optional(),
|
|
48
72
|
integrations: z.array(z.string().min(1)).optional().describe('List of enabled integration names'),
|
|
49
73
|
// Legacy field name (backwards compatibility)
|
|
50
74
|
providers: z
|
|
51
75
|
.array(z.string().min(1))
|
|
52
76
|
.optional()
|
|
53
77
|
.describe('Legacy field: use "integrations" instead'),
|
|
78
|
+
templates: TemplateConfigSchema.optional(),
|
|
79
|
+
outputs: OutputConfigSchema.optional(),
|
|
80
|
+
preferences: PreferencesConfigSchema.optional(),
|
|
81
|
+
experimental: z.record(z.unknown()).optional(),
|
|
54
82
|
});
|
|
55
83
|
/**
|
|
56
84
|
* Validate integrations.json content (build-time, strict)
|
|
@@ -101,7 +129,15 @@ export function validateUserConfig(content) {
|
|
|
101
129
|
}
|
|
102
130
|
// Check for unknown fields (warn only)
|
|
103
131
|
if (typeof content === 'object' && content !== null) {
|
|
104
|
-
const knownFields = new Set([
|
|
132
|
+
const knownFields = new Set([
|
|
133
|
+
'version',
|
|
134
|
+
'integrations',
|
|
135
|
+
'providers',
|
|
136
|
+
'templates',
|
|
137
|
+
'outputs',
|
|
138
|
+
'preferences',
|
|
139
|
+
'experimental',
|
|
140
|
+
]);
|
|
105
141
|
const contentKeys = Object.keys(content);
|
|
106
142
|
const unknownKeys = contentKeys.filter((key) => !knownFields.has(key));
|
|
107
143
|
if (unknownKeys.length > 0) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "clavix",
|
|
3
|
-
"version": "5.6.
|
|
3
|
+
"version": "5.6.4",
|
|
4
4
|
"description": "Agentic-first prompt workflows. Markdown templates that teach AI agents how to optimize prompts, create PRDs, and manage implementation.\n\nSLASH COMMANDS (in your AI assistant):\n /clavix:improve Optimize prompts with auto-depth\n /clavix:prd Generate PRD through questions\n /clavix:plan Create task breakdown from PRD\n /clavix:implement Execute tasks with progress tracking\n /clavix:start Begin conversational session\n /clavix:summarize Extract requirements from conversation\n\nWorks with Claude Code, Cursor, Windsurf, and 19+ other AI coding tools.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|