deepseek-coder-agent-cli 1.0.71 → 1.0.73

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.
@@ -1,528 +1,528 @@
1
1
  {
2
- "$schema": "http://json-schema.org/draft-07/schema#",
3
- "$id": "https://agi.ai/schemas/agent-schemas.schema.json",
4
- "title": "Agent Schemas Configuration",
5
- "description": "Centralized schema for all agent configurations, models, providers, and capabilities",
6
- "type": "object",
7
- "required": ["contractVersion", "version", "providers", "models", "profiles"],
8
- "properties": {
9
- "$schema": {
10
- "type": "string",
11
- "description": "JSON Schema reference"
12
- },
13
- "contractVersion": {
14
- "type": "string",
15
- "description": "Version of the contract schema",
16
- "pattern": "^\\d+\\.\\d+\\.\\d+$"
17
- },
18
- "version": {
19
- "type": "string",
20
- "description": "Version of this configuration file"
21
- },
22
- "label": {
23
- "type": "string",
24
- "description": "Human-readable label for this configuration"
25
- },
26
- "description": {
27
- "type": "string",
28
- "description": "Description of this configuration"
29
- },
30
- "providers": {
31
- "type": "array",
32
- "description": "Available LLM providers",
33
- "items": {
34
- "$ref": "#/definitions/provider"
35
- },
36
- "minItems": 1
37
- },
38
- "models": {
39
- "type": "array",
40
- "description": "Available models across all providers",
41
- "items": {
42
- "$ref": "#/definitions/model"
43
- },
44
- "minItems": 1
45
- },
46
- "profiles": {
47
- "type": "array",
48
- "description": "Agent profiles with their configurations",
49
- "items": {
50
- "$ref": "#/definitions/profile"
51
- },
52
- "minItems": 1
53
- },
54
- "slashCommands": {
55
- "type": "array",
56
- "description": "Available slash commands",
57
- "items": {
58
- "$ref": "#/definitions/slashCommand"
59
- }
60
- },
61
- "capabilities": {
62
- "type": "array",
63
- "description": "Capability definitions",
64
- "items": {
65
- "$ref": "#/definitions/capability"
66
- }
67
- },
68
- "metadata": {
69
- "type": "object",
70
- "description": "Additional metadata about this configuration"
71
- }
72
- },
73
- "definitions": {
74
- "provider": {
75
- "type": "object",
76
- "required": ["id", "label"],
77
- "properties": {
78
- "id": {
79
- "type": "string",
80
- "description": "Unique identifier for the provider",
81
- "enum": ["openai", "anthropic", "deepseek", "xai", "google"]
82
- },
83
- "label": {
84
- "type": "string",
85
- "description": "Human-readable label"
86
- },
87
- "description": {
88
- "type": "string",
89
- "description": "Description of the provider"
90
- },
91
- "envVars": {
92
- "type": "object",
93
- "description": "Environment variable mappings",
94
- "properties": {
95
- "apiKey": {
96
- "type": "string",
97
- "description": "Environment variable name for API key"
98
- }
99
- }
100
- },
101
- "capabilities": {
102
- "type": "array",
103
- "description": "Capabilities supported by this provider",
104
- "items": {
105
- "type": "string"
106
- }
107
- },
108
- "metadata": {
109
- "type": "object",
110
- "description": "Additional provider metadata"
111
- }
112
- }
113
- },
114
- "model": {
115
- "type": "object",
116
- "required": ["id", "label", "provider"],
117
- "properties": {
118
- "id": {
119
- "type": "string",
120
- "description": "Unique model identifier"
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "$id": "https://agi.ai/schemas/agent-schemas.schema.json",
4
+ "title": "Agent Schemas Configuration",
5
+ "description": "Centralized schema for all agent configurations, models, providers, and capabilities",
6
+ "type": "object",
7
+ "required": ["contractVersion", "version", "providers", "models", "profiles"],
8
+ "properties": {
9
+ "$schema": {
10
+ "type": "string",
11
+ "description": "JSON Schema reference"
12
+ },
13
+ "contractVersion": {
14
+ "type": "string",
15
+ "description": "Version of the contract schema",
16
+ "pattern": "^\\d+\\.\\d+\\.\\d+$"
17
+ },
18
+ "version": {
19
+ "type": "string",
20
+ "description": "Version of this configuration file"
121
21
  },
122
22
  "label": {
123
- "type": "string",
124
- "description": "Human-readable label for the model"
125
- },
126
- "provider": {
127
- "type": "string",
128
- "description": "Provider ID this model belongs to",
129
- "enum": ["openai", "anthropic", "deepseek", "xai", "google"]
23
+ "type": "string",
24
+ "description": "Human-readable label for this configuration"
130
25
  },
131
26
  "description": {
132
- "type": "string",
133
- "description": "Description of the model's capabilities"
27
+ "type": "string",
28
+ "description": "Description of this configuration"
29
+ },
30
+ "providers": {
31
+ "type": "array",
32
+ "description": "Available LLM providers",
33
+ "items": {
34
+ "$ref": "#/definitions/provider"
35
+ },
36
+ "minItems": 1
134
37
  },
135
- "reasoningEffort": {
136
- "type": "string",
137
- "description": "Reasoning effort level",
138
- "enum": ["low", "medium", "high"]
38
+ "models": {
39
+ "type": "array",
40
+ "description": "Available models across all providers",
41
+ "items": {
42
+ "$ref": "#/definitions/model"
43
+ },
44
+ "minItems": 1
139
45
  },
140
- "temperature": {
141
- "type": "number",
142
- "description": "Default temperature setting",
143
- "minimum": 0,
144
- "maximum": 2
46
+ "profiles": {
47
+ "type": "array",
48
+ "description": "Agent profiles with their configurations",
49
+ "items": {
50
+ "$ref": "#/definitions/profile"
51
+ },
52
+ "minItems": 1
145
53
  },
146
- "maxTokens": {
147
- "type": "integer",
148
- "description": "Maximum tokens for output",
149
- "minimum": 1
54
+ "slashCommands": {
55
+ "type": "array",
56
+ "description": "Available slash commands",
57
+ "items": {
58
+ "$ref": "#/definitions/slashCommand"
59
+ }
150
60
  },
151
61
  "capabilities": {
152
- "type": "array",
153
- "description": "Capabilities supported by this model",
154
- "items": {
155
- "type": "string"
156
- }
157
- },
158
- "metadata": {
159
- "type": "object",
160
- "description": "Additional model metadata"
161
- }
162
- }
163
- },
164
- "profile": {
165
- "type": "object",
166
- "required": ["name", "label", "defaultProvider", "defaultModel", "systemPrompt", "rulebook"],
167
- "properties": {
168
- "name": {
169
- "type": "string",
170
- "description": "Unique profile identifier"
171
- },
172
- "label": {
173
- "type": "string",
174
- "description": "Human-readable label"
175
- },
176
- "description": {
177
- "type": "string",
178
- "description": "Description of the profile's purpose"
179
- },
180
- "defaultProvider": {
181
- "type": "string",
182
- "description": "Default provider for this profile",
183
- "enum": ["openai", "anthropic", "deepseek", "xai", "google"]
184
- },
185
- "defaultModel": {
186
- "type": "string",
187
- "description": "Default model for this profile"
188
- },
189
- "temperature": {
190
- "type": "number",
191
- "description": "Default temperature",
192
- "minimum": 0,
193
- "maximum": 2
194
- },
195
- "maxTokens": {
196
- "type": "integer",
197
- "description": "Maximum tokens",
198
- "minimum": 1
199
- },
200
- "systemPrompt": {
201
- "$ref": "#/definitions/systemPromptConfig"
202
- },
203
- "rulebook": {
204
- "$ref": "#/definitions/rulebookReference"
62
+ "type": "array",
63
+ "description": "Capability definitions",
64
+ "items": {
65
+ "$ref": "#/definitions/capability"
66
+ }
205
67
  },
206
68
  "metadata": {
207
- "type": "object",
208
- "description": "Additional profile metadata"
69
+ "type": "object",
70
+ "description": "Additional metadata about this configuration"
209
71
  }
210
- }
211
72
  },
212
- "systemPromptConfig": {
213
- "oneOf": [
214
- {
215
- "type": "object",
216
- "required": ["type"],
217
- "properties": {
218
- "type": {
219
- "type": "string",
220
- "const": "literal"
221
- },
222
- "content": {
223
- "type": "string",
224
- "description": "Literal prompt content"
225
- },
226
- "metadata": {
227
- "type": "object"
73
+ "definitions": {
74
+ "provider": {
75
+ "type": "object",
76
+ "required": ["id", "label"],
77
+ "properties": {
78
+ "id": {
79
+ "type": "string",
80
+ "description": "Unique identifier for the provider",
81
+ "enum": ["openai", "anthropic", "deepseek", "xai", "google"]
82
+ },
83
+ "label": {
84
+ "type": "string",
85
+ "description": "Human-readable label"
86
+ },
87
+ "description": {
88
+ "type": "string",
89
+ "description": "Description of the provider"
90
+ },
91
+ "envVars": {
92
+ "type": "object",
93
+ "description": "Environment variable mappings",
94
+ "properties": {
95
+ "apiKey": {
96
+ "type": "string",
97
+ "description": "Environment variable name for API key"
98
+ }
99
+ }
100
+ },
101
+ "capabilities": {
102
+ "type": "array",
103
+ "description": "Capabilities supported by this provider",
104
+ "items": {
105
+ "type": "string"
106
+ }
107
+ },
108
+ "metadata": {
109
+ "type": "object",
110
+ "description": "Additional provider metadata"
111
+ }
228
112
  }
229
- }
230
113
  },
231
- {
232
- "type": "object",
233
- "required": ["type"],
234
- "properties": {
235
- "type": {
236
- "type": "string",
237
- "const": "rulebook"
238
- },
239
- "template": {
240
- "type": "string",
241
- "description": "Template with placeholders like {{rulebook}}, {{profile}}, {{profile_name}}"
242
- },
243
- "metadata": {
244
- "type": "object"
245
- }
246
- }
247
- }
248
- ]
249
- },
250
- "rulebookReference": {
251
- "oneOf": [
252
- {
253
- "type": "object",
254
- "required": ["file"],
255
- "properties": {
256
- "file": {
257
- "type": "string",
258
- "description": "Path to external rulebook JSON file"
259
- },
260
- "version": {
261
- "type": "string",
262
- "description": "Rulebook version"
263
- },
264
- "contractVersion": {
265
- "type": "string",
266
- "description": "Contract version this rulebook adheres to"
267
- },
268
- "description": {
269
- "type": "string",
270
- "description": "Rulebook description"
271
- },
272
- "metadata": {
273
- "type": "object",
274
- "description": "Additional rulebook metadata"
114
+ "model": {
115
+ "type": "object",
116
+ "required": ["id", "label", "provider"],
117
+ "properties": {
118
+ "id": {
119
+ "type": "string",
120
+ "description": "Unique model identifier"
121
+ },
122
+ "label": {
123
+ "type": "string",
124
+ "description": "Human-readable label for the model"
125
+ },
126
+ "provider": {
127
+ "type": "string",
128
+ "description": "Provider ID this model belongs to",
129
+ "enum": ["openai", "anthropic", "deepseek", "xai", "google"]
130
+ },
131
+ "description": {
132
+ "type": "string",
133
+ "description": "Description of the model's capabilities"
134
+ },
135
+ "reasoningEffort": {
136
+ "type": "string",
137
+ "description": "Reasoning effort level",
138
+ "enum": ["low", "medium", "high"]
139
+ },
140
+ "temperature": {
141
+ "type": "number",
142
+ "description": "Default temperature setting",
143
+ "minimum": 0,
144
+ "maximum": 2
145
+ },
146
+ "maxTokens": {
147
+ "type": "integer",
148
+ "description": "Maximum tokens for output",
149
+ "minimum": 1
150
+ },
151
+ "capabilities": {
152
+ "type": "array",
153
+ "description": "Capabilities supported by this model",
154
+ "items": {
155
+ "type": "string"
156
+ }
157
+ },
158
+ "metadata": {
159
+ "type": "object",
160
+ "description": "Additional model metadata"
161
+ }
275
162
  }
276
- }
277
163
  },
278
- {
279
- "type": "object",
280
- "required": ["inline"],
281
- "properties": {
282
- "inline": {
283
- "$ref": "#/definitions/inlineRulebook"
284
- },
285
- "version": {
286
- "type": "string",
287
- "description": "Rulebook version"
288
- },
289
- "contractVersion": {
290
- "type": "string",
291
- "description": "Contract version this rulebook adheres to"
292
- },
293
- "description": {
294
- "type": "string",
295
- "description": "Rulebook description"
296
- },
297
- "metadata": {
298
- "type": "object",
299
- "description": "Additional rulebook metadata"
164
+ "profile": {
165
+ "type": "object",
166
+ "required": ["name", "label", "defaultProvider", "defaultModel", "systemPrompt", "rulebook"],
167
+ "properties": {
168
+ "name": {
169
+ "type": "string",
170
+ "description": "Unique profile identifier"
171
+ },
172
+ "label": {
173
+ "type": "string",
174
+ "description": "Human-readable label"
175
+ },
176
+ "description": {
177
+ "type": "string",
178
+ "description": "Description of the profile's purpose"
179
+ },
180
+ "defaultProvider": {
181
+ "type": "string",
182
+ "description": "Default provider for this profile",
183
+ "enum": ["openai", "anthropic", "deepseek", "xai", "google"]
184
+ },
185
+ "defaultModel": {
186
+ "type": "string",
187
+ "description": "Default model for this profile"
188
+ },
189
+ "temperature": {
190
+ "type": "number",
191
+ "description": "Default temperature",
192
+ "minimum": 0,
193
+ "maximum": 2
194
+ },
195
+ "maxTokens": {
196
+ "type": "integer",
197
+ "description": "Maximum tokens",
198
+ "minimum": 1
199
+ },
200
+ "systemPrompt": {
201
+ "$ref": "#/definitions/systemPromptConfig"
202
+ },
203
+ "rulebook": {
204
+ "$ref": "#/definitions/rulebookReference"
205
+ },
206
+ "metadata": {
207
+ "type": "object",
208
+ "description": "Additional profile metadata"
209
+ }
300
210
  }
301
- }
302
- }
303
- ]
304
- },
305
- "inlineRulebook": {
306
- "type": "object",
307
- "properties": {
308
- "label": {
309
- "type": "string",
310
- "description": "Human-readable label for the rulebook"
311
- },
312
- "description": {
313
- "type": "string",
314
- "description": "Description of the rulebook's purpose"
315
- },
316
- "globalPrinciples": {
317
- "type": "array",
318
- "description": "Global principles that apply across all phases",
319
- "items": {
320
- "$ref": "#/definitions/rule"
321
- }
322
- },
323
- "phases": {
324
- "type": "array",
325
- "description": "Execution phases with their steps",
326
- "items": {
327
- "$ref": "#/definitions/phase"
328
- }
329
- }
330
- }
331
- },
332
- "rule": {
333
- "type": "object",
334
- "required": ["id", "summary"],
335
- "properties": {
336
- "id": {
337
- "type": "string",
338
- "description": "Unique rule identifier"
339
- },
340
- "summary": {
341
- "type": "string",
342
- "description": "Concise rule summary"
343
- },
344
- "detail": {
345
- "type": "string",
346
- "description": "Detailed explanation of the rule"
347
- },
348
- "severity": {
349
- "type": "string",
350
- "enum": ["critical", "required", "recommended", "info"],
351
- "description": "Rule severity level"
352
- },
353
- "evidenceRequired": {
354
- "type": "string",
355
- "description": "Evidence required to satisfy this rule"
356
211
  },
357
- "toolHints": {
358
- "type": "array",
359
- "description": "Suggested tools for implementing this rule",
360
- "items": {
361
- "type": "string"
362
- }
363
- },
364
- "references": {
365
- "type": "array",
366
- "description": "Reference materials",
367
- "items": {
212
+ "systemPromptConfig": {
213
+ "oneOf": [
214
+ {
215
+ "type": "object",
216
+ "required": ["type"],
217
+ "properties": {
218
+ "type": {
219
+ "type": "string",
220
+ "const": "literal"
221
+ },
222
+ "content": {
223
+ "type": "string",
224
+ "description": "Literal prompt content"
225
+ },
226
+ "metadata": {
227
+ "type": "object"
228
+ }
229
+ }
230
+ },
231
+ {
232
+ "type": "object",
233
+ "required": ["type"],
234
+ "properties": {
235
+ "type": {
236
+ "type": "string",
237
+ "const": "rulebook"
238
+ },
239
+ "template": {
240
+ "type": "string",
241
+ "description": "Template with placeholders like {{rulebook}}, {{profile}}, {{profile_name}}"
242
+ },
243
+ "metadata": {
244
+ "type": "object"
245
+ }
246
+ }
247
+ }
248
+ ]
249
+ },
250
+ "rulebookReference": {
251
+ "oneOf": [
252
+ {
253
+ "type": "object",
254
+ "required": ["file"],
255
+ "properties": {
256
+ "file": {
257
+ "type": "string",
258
+ "description": "Path to external rulebook JSON file"
259
+ },
260
+ "version": {
261
+ "type": "string",
262
+ "description": "Rulebook version"
263
+ },
264
+ "contractVersion": {
265
+ "type": "string",
266
+ "description": "Contract version this rulebook adheres to"
267
+ },
268
+ "description": {
269
+ "type": "string",
270
+ "description": "Rulebook description"
271
+ },
272
+ "metadata": {
273
+ "type": "object",
274
+ "description": "Additional rulebook metadata"
275
+ }
276
+ }
277
+ },
278
+ {
279
+ "type": "object",
280
+ "required": ["inline"],
281
+ "properties": {
282
+ "inline": {
283
+ "$ref": "#/definitions/inlineRulebook"
284
+ },
285
+ "version": {
286
+ "type": "string",
287
+ "description": "Rulebook version"
288
+ },
289
+ "contractVersion": {
290
+ "type": "string",
291
+ "description": "Contract version this rulebook adheres to"
292
+ },
293
+ "description": {
294
+ "type": "string",
295
+ "description": "Rulebook description"
296
+ },
297
+ "metadata": {
298
+ "type": "object",
299
+ "description": "Additional rulebook metadata"
300
+ }
301
+ }
302
+ }
303
+ ]
304
+ },
305
+ "inlineRulebook": {
368
306
  "type": "object",
369
307
  "properties": {
370
- "label": {
371
- "type": "string"
372
- },
373
- "file": {
374
- "type": "string"
375
- }
308
+ "label": {
309
+ "type": "string",
310
+ "description": "Human-readable label for the rulebook"
311
+ },
312
+ "description": {
313
+ "type": "string",
314
+ "description": "Description of the rulebook's purpose"
315
+ },
316
+ "globalPrinciples": {
317
+ "type": "array",
318
+ "description": "Global principles that apply across all phases",
319
+ "items": {
320
+ "$ref": "#/definitions/rule"
321
+ }
322
+ },
323
+ "phases": {
324
+ "type": "array",
325
+ "description": "Execution phases with their steps",
326
+ "items": {
327
+ "$ref": "#/definitions/phase"
328
+ }
329
+ }
376
330
  }
377
- }
378
- }
379
- }
380
- },
381
- "phase": {
382
- "type": "object",
383
- "required": ["id", "label", "steps"],
384
- "properties": {
385
- "id": {
386
- "type": "string",
387
- "description": "Unique phase identifier"
388
- },
389
- "label": {
390
- "type": "string",
391
- "description": "Human-readable phase label"
392
- },
393
- "description": {
394
- "type": "string",
395
- "description": "Description of the phase's purpose"
396
- },
397
- "trigger": {
398
- "type": "string",
399
- "description": "Condition that triggers this phase"
400
- },
401
- "steps": {
402
- "type": "array",
403
- "description": "Steps within this phase",
404
- "items": {
405
- "$ref": "#/definitions/step"
406
- }
407
- }
408
- }
409
- },
410
- "step": {
411
- "type": "object",
412
- "required": ["id", "title", "rules"],
413
- "properties": {
414
- "id": {
415
- "type": "string",
416
- "description": "Unique step identifier"
417
- },
418
- "title": {
419
- "type": "string",
420
- "description": "Step title"
421
- },
422
- "intent": {
423
- "type": "string",
424
- "description": "Intent or purpose of this step"
425
- },
426
- "description": {
427
- "type": "string",
428
- "description": "Detailed description"
429
- },
430
- "entryCriteria": {
431
- "type": "array",
432
- "description": "Criteria for entering this step",
433
- "items": {
434
- "type": "string"
435
- }
436
331
  },
437
- "exitCriteria": {
438
- "type": "array",
439
- "description": "Criteria for completing this step",
440
- "items": {
441
- "type": "string"
442
- }
443
- },
444
- "allowedTools": {
445
- "type": "array",
446
- "description": "Tools allowed in this step",
447
- "items": {
448
- "type": "string"
449
- }
450
- },
451
- "blockedTools": {
452
- "type": "array",
453
- "description": "Tools blocked in this step",
454
- "items": {
455
- "type": "string"
456
- }
457
- },
458
- "notes": {
459
- "type": "array",
460
- "description": "Additional notes",
461
- "items": {
462
- "type": "string"
463
- }
464
- },
465
- "rules": {
466
- "type": "array",
467
- "description": "Rules for this step",
468
- "items": {
469
- "$ref": "#/definitions/rule"
470
- }
471
- },
472
- "subSteps": {
473
- "type": "array",
474
- "description": "Sub-steps within this step",
475
- "items": {
476
- "$ref": "#/definitions/step"
477
- }
478
- }
479
- }
480
- },
481
- "slashCommand": {
482
- "type": "object",
483
- "required": ["command", "description"],
484
- "properties": {
485
- "command": {
486
- "type": "string",
487
- "description": "The slash command (e.g., /model)",
488
- "pattern": "^/"
489
- },
490
- "description": {
491
- "type": "string",
492
- "description": "Description of what the command does"
493
- },
494
- "category": {
495
- "type": "string",
496
- "description": "Category this command belongs to",
497
- "enum": ["configuration", "diagnostics", "workspace", "other"]
332
+ "rule": {
333
+ "type": "object",
334
+ "required": ["id", "summary"],
335
+ "properties": {
336
+ "id": {
337
+ "type": "string",
338
+ "description": "Unique rule identifier"
339
+ },
340
+ "summary": {
341
+ "type": "string",
342
+ "description": "Concise rule summary"
343
+ },
344
+ "detail": {
345
+ "type": "string",
346
+ "description": "Detailed explanation of the rule"
347
+ },
348
+ "severity": {
349
+ "type": "string",
350
+ "enum": ["critical", "required", "recommended", "info"],
351
+ "description": "Rule severity level"
352
+ },
353
+ "evidenceRequired": {
354
+ "type": "string",
355
+ "description": "Evidence required to satisfy this rule"
356
+ },
357
+ "toolHints": {
358
+ "type": "array",
359
+ "description": "Suggested tools for implementing this rule",
360
+ "items": {
361
+ "type": "string"
362
+ }
363
+ },
364
+ "references": {
365
+ "type": "array",
366
+ "description": "Reference materials",
367
+ "items": {
368
+ "type": "object",
369
+ "properties": {
370
+ "label": {
371
+ "type": "string"
372
+ },
373
+ "file": {
374
+ "type": "string"
375
+ }
376
+ }
377
+ }
378
+ }
379
+ }
498
380
  },
499
- "metadata": {
500
- "type": "object",
501
- "description": "Additional command metadata"
502
- }
503
- }
504
- },
505
- "capability": {
506
- "type": "object",
507
- "required": ["id", "label"],
508
- "properties": {
509
- "id": {
510
- "type": "string",
511
- "description": "Unique capability identifier"
381
+ "phase": {
382
+ "type": "object",
383
+ "required": ["id", "label", "steps"],
384
+ "properties": {
385
+ "id": {
386
+ "type": "string",
387
+ "description": "Unique phase identifier"
388
+ },
389
+ "label": {
390
+ "type": "string",
391
+ "description": "Human-readable phase label"
392
+ },
393
+ "description": {
394
+ "type": "string",
395
+ "description": "Description of the phase's purpose"
396
+ },
397
+ "trigger": {
398
+ "type": "string",
399
+ "description": "Condition that triggers this phase"
400
+ },
401
+ "steps": {
402
+ "type": "array",
403
+ "description": "Steps within this phase",
404
+ "items": {
405
+ "$ref": "#/definitions/step"
406
+ }
407
+ }
408
+ }
512
409
  },
513
- "label": {
514
- "type": "string",
515
- "description": "Human-readable label"
410
+ "step": {
411
+ "type": "object",
412
+ "required": ["id", "title", "rules"],
413
+ "properties": {
414
+ "id": {
415
+ "type": "string",
416
+ "description": "Unique step identifier"
417
+ },
418
+ "title": {
419
+ "type": "string",
420
+ "description": "Step title"
421
+ },
422
+ "intent": {
423
+ "type": "string",
424
+ "description": "Intent or purpose of this step"
425
+ },
426
+ "description": {
427
+ "type": "string",
428
+ "description": "Detailed description"
429
+ },
430
+ "entryCriteria": {
431
+ "type": "array",
432
+ "description": "Criteria for entering this step",
433
+ "items": {
434
+ "type": "string"
435
+ }
436
+ },
437
+ "exitCriteria": {
438
+ "type": "array",
439
+ "description": "Criteria for completing this step",
440
+ "items": {
441
+ "type": "string"
442
+ }
443
+ },
444
+ "allowedTools": {
445
+ "type": "array",
446
+ "description": "Tools allowed in this step",
447
+ "items": {
448
+ "type": "string"
449
+ }
450
+ },
451
+ "blockedTools": {
452
+ "type": "array",
453
+ "description": "Tools blocked in this step",
454
+ "items": {
455
+ "type": "string"
456
+ }
457
+ },
458
+ "notes": {
459
+ "type": "array",
460
+ "description": "Additional notes",
461
+ "items": {
462
+ "type": "string"
463
+ }
464
+ },
465
+ "rules": {
466
+ "type": "array",
467
+ "description": "Rules for this step",
468
+ "items": {
469
+ "$ref": "#/definitions/rule"
470
+ }
471
+ },
472
+ "subSteps": {
473
+ "type": "array",
474
+ "description": "Sub-steps within this step",
475
+ "items": {
476
+ "$ref": "#/definitions/step"
477
+ }
478
+ }
479
+ }
516
480
  },
517
- "description": {
518
- "type": "string",
519
- "description": "Description of the capability"
481
+ "slashCommand": {
482
+ "type": "object",
483
+ "required": ["command", "description"],
484
+ "properties": {
485
+ "command": {
486
+ "type": "string",
487
+ "description": "The slash command (e.g., /model)",
488
+ "pattern": "^/"
489
+ },
490
+ "description": {
491
+ "type": "string",
492
+ "description": "Description of what the command does"
493
+ },
494
+ "category": {
495
+ "type": "string",
496
+ "description": "Category this command belongs to",
497
+ "enum": ["configuration", "diagnostics", "workspace", "other"]
498
+ },
499
+ "metadata": {
500
+ "type": "object",
501
+ "description": "Additional command metadata"
502
+ }
503
+ }
520
504
  },
521
- "metadata": {
522
- "type": "object",
523
- "description": "Additional capability metadata"
505
+ "capability": {
506
+ "type": "object",
507
+ "required": ["id", "label"],
508
+ "properties": {
509
+ "id": {
510
+ "type": "string",
511
+ "description": "Unique capability identifier"
512
+ },
513
+ "label": {
514
+ "type": "string",
515
+ "description": "Human-readable label"
516
+ },
517
+ "description": {
518
+ "type": "string",
519
+ "description": "Description of the capability"
520
+ },
521
+ "metadata": {
522
+ "type": "object",
523
+ "description": "Additional capability metadata"
524
+ }
525
+ }
524
526
  }
525
- }
526
527
  }
527
- }
528
528
  }