predev-api 0.8.0__tar.gz → 0.9.0__tar.gz
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.
- {predev_api-0.8.0/predev_api.egg-info → predev_api-0.9.0}/PKG-INFO +100 -1
- {predev_api-0.8.0 → predev_api-0.9.0}/README.md +99 -0
- predev_api-0.9.0/predev_api/__init__.py +46 -0
- {predev_api-0.8.0 → predev_api-0.9.0}/predev_api/client.py +107 -0
- {predev_api-0.8.0 → predev_api-0.9.0/predev_api.egg-info}/PKG-INFO +100 -1
- {predev_api-0.8.0 → predev_api-0.9.0}/setup.py +1 -1
- predev_api-0.8.0/predev_api/__init__.py +0 -12
- {predev_api-0.8.0 → predev_api-0.9.0}/LICENSE +0 -0
- {predev_api-0.8.0 → predev_api-0.9.0}/MANIFEST.in +0 -0
- {predev_api-0.8.0 → predev_api-0.9.0}/predev_api/exceptions.py +0 -0
- {predev_api-0.8.0 → predev_api-0.9.0}/predev_api.egg-info/SOURCES.txt +0 -0
- {predev_api-0.8.0 → predev_api-0.9.0}/predev_api.egg-info/dependency_links.txt +0 -0
- {predev_api-0.8.0 → predev_api-0.9.0}/predev_api.egg-info/requires.txt +0 -0
- {predev_api-0.8.0 → predev_api-0.9.0}/predev_api.egg-info/top_level.txt +0 -0
- {predev_api-0.8.0 → predev_api-0.9.0}/setup.cfg +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: predev-api
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.9.0
|
|
4
4
|
Summary: Python client for the Pre.dev Architect API - Generate comprehensive software specifications
|
|
5
5
|
Home-page: https://github.com/predotdev/predev-api
|
|
6
6
|
Author: Pre.dev
|
|
@@ -348,6 +348,11 @@ class SpecResponse:
|
|
|
348
348
|
codingAgentSpecUrl: Optional[str] = None # Spec optimized for AI/LLM systems
|
|
349
349
|
humanSpecUrl: Optional[str] = None # Spec optimized for human readers
|
|
350
350
|
totalHumanHours: Optional[int] = None # Estimated hours for human developers
|
|
351
|
+
# Direct returns (new)
|
|
352
|
+
codingAgentSpecJson: Optional[CodingAgentSpecJson] = None # Simplified JSON for coding tools
|
|
353
|
+
codingAgentSpecMarkdown: Optional[str] = None # Simplified markdown for coding tools
|
|
354
|
+
humanSpecJson: Optional[HumanSpecJson] = None # Full JSON with hours/personas/roles
|
|
355
|
+
humanSpecMarkdown: Optional[str] = None # Full markdown with all details
|
|
351
356
|
executionTime: Optional[int] = None # Processing time in milliseconds
|
|
352
357
|
|
|
353
358
|
# Integration URLs (when completed)
|
|
@@ -368,6 +373,100 @@ class SpecResponse:
|
|
|
368
373
|
progress: Optional[str] = None # Progress information
|
|
369
374
|
```
|
|
370
375
|
|
|
376
|
+
### Direct Spec JSON structures
|
|
377
|
+
```python
|
|
378
|
+
@dataclass
|
|
379
|
+
class SpecCoreFunctionality:
|
|
380
|
+
name: str
|
|
381
|
+
description: str
|
|
382
|
+
priority: Optional[str] = None
|
|
383
|
+
|
|
384
|
+
@dataclass
|
|
385
|
+
class SpecTechStackItem:
|
|
386
|
+
name: str
|
|
387
|
+
category: str
|
|
388
|
+
|
|
389
|
+
@dataclass
|
|
390
|
+
class SpecPersona:
|
|
391
|
+
title: str
|
|
392
|
+
description: str
|
|
393
|
+
primaryGoals: Optional[List[str]] = None
|
|
394
|
+
painPoints: Optional[List[str]] = None
|
|
395
|
+
keyTasks: Optional[List[str]] = None
|
|
396
|
+
|
|
397
|
+
@dataclass
|
|
398
|
+
class SpecRole:
|
|
399
|
+
name: str
|
|
400
|
+
shortHand: str
|
|
401
|
+
|
|
402
|
+
@dataclass
|
|
403
|
+
class CodingAgentSubTask:
|
|
404
|
+
id: Optional[str] = None
|
|
405
|
+
description: str = ""
|
|
406
|
+
complexity: str = ""
|
|
407
|
+
|
|
408
|
+
@dataclass
|
|
409
|
+
class CodingAgentStory:
|
|
410
|
+
id: Optional[str] = None
|
|
411
|
+
title: str = ""
|
|
412
|
+
description: Optional[str] = None
|
|
413
|
+
acceptanceCriteria: Optional[List[str]] = None
|
|
414
|
+
complexity: Optional[str] = None
|
|
415
|
+
subTasks: Optional[List[CodingAgentSubTask]] = None
|
|
416
|
+
|
|
417
|
+
@dataclass
|
|
418
|
+
class CodingAgentMilestone:
|
|
419
|
+
milestoneNumber: int = 0
|
|
420
|
+
description: str = ""
|
|
421
|
+
stories: Optional[List[CodingAgentStory]] = None
|
|
422
|
+
|
|
423
|
+
@dataclass
|
|
424
|
+
class CodingAgentSpecJson:
|
|
425
|
+
title: Optional[str] = None
|
|
426
|
+
executiveSummary: str = ""
|
|
427
|
+
coreFunctionalities: Optional[List[SpecCoreFunctionality]] = None
|
|
428
|
+
techStack: Optional[List[SpecTechStackItem]] = None
|
|
429
|
+
techStackGrouped: Optional[Dict[str, List[str]]] = None
|
|
430
|
+
milestones: Optional[List[CodingAgentMilestone]] = None
|
|
431
|
+
|
|
432
|
+
@dataclass
|
|
433
|
+
class HumanSpecSubTask:
|
|
434
|
+
id: Optional[str] = None
|
|
435
|
+
description: str = ""
|
|
436
|
+
hours: float = 0
|
|
437
|
+
complexity: str = ""
|
|
438
|
+
roles: Optional[List[SpecRole]] = None
|
|
439
|
+
|
|
440
|
+
@dataclass
|
|
441
|
+
class HumanSpecStory:
|
|
442
|
+
id: Optional[str] = None
|
|
443
|
+
title: str = ""
|
|
444
|
+
description: Optional[str] = None
|
|
445
|
+
acceptanceCriteria: Optional[List[str]] = None
|
|
446
|
+
hours: float = 0
|
|
447
|
+
complexity: Optional[str] = None
|
|
448
|
+
subTasks: Optional[List[HumanSpecSubTask]] = None
|
|
449
|
+
|
|
450
|
+
@dataclass
|
|
451
|
+
class HumanSpecMilestone:
|
|
452
|
+
milestoneNumber: int = 0
|
|
453
|
+
description: str = ""
|
|
454
|
+
hours: float = 0
|
|
455
|
+
stories: Optional[List[HumanSpecStory]] = None
|
|
456
|
+
|
|
457
|
+
@dataclass
|
|
458
|
+
class HumanSpecJson:
|
|
459
|
+
title: Optional[str] = None
|
|
460
|
+
executiveSummary: str = ""
|
|
461
|
+
coreFunctionalities: Optional[List[SpecCoreFunctionality]] = None
|
|
462
|
+
personas: Optional[List[SpecPersona]] = None
|
|
463
|
+
techStack: Optional[List[SpecTechStackItem]] = None
|
|
464
|
+
techStackGrouped: Optional[Dict[str, List[str]]] = None
|
|
465
|
+
milestones: Optional[List[HumanSpecMilestone]] = None
|
|
466
|
+
totalHours: Optional[float] = None
|
|
467
|
+
roles: Optional[List[SpecRole]] = None
|
|
468
|
+
```
|
|
469
|
+
|
|
371
470
|
### `ListSpecsResponse`
|
|
372
471
|
```python
|
|
373
472
|
@dataclass
|
|
@@ -308,6 +308,11 @@ class SpecResponse:
|
|
|
308
308
|
codingAgentSpecUrl: Optional[str] = None # Spec optimized for AI/LLM systems
|
|
309
309
|
humanSpecUrl: Optional[str] = None # Spec optimized for human readers
|
|
310
310
|
totalHumanHours: Optional[int] = None # Estimated hours for human developers
|
|
311
|
+
# Direct returns (new)
|
|
312
|
+
codingAgentSpecJson: Optional[CodingAgentSpecJson] = None # Simplified JSON for coding tools
|
|
313
|
+
codingAgentSpecMarkdown: Optional[str] = None # Simplified markdown for coding tools
|
|
314
|
+
humanSpecJson: Optional[HumanSpecJson] = None # Full JSON with hours/personas/roles
|
|
315
|
+
humanSpecMarkdown: Optional[str] = None # Full markdown with all details
|
|
311
316
|
executionTime: Optional[int] = None # Processing time in milliseconds
|
|
312
317
|
|
|
313
318
|
# Integration URLs (when completed)
|
|
@@ -328,6 +333,100 @@ class SpecResponse:
|
|
|
328
333
|
progress: Optional[str] = None # Progress information
|
|
329
334
|
```
|
|
330
335
|
|
|
336
|
+
### Direct Spec JSON structures
|
|
337
|
+
```python
|
|
338
|
+
@dataclass
|
|
339
|
+
class SpecCoreFunctionality:
|
|
340
|
+
name: str
|
|
341
|
+
description: str
|
|
342
|
+
priority: Optional[str] = None
|
|
343
|
+
|
|
344
|
+
@dataclass
|
|
345
|
+
class SpecTechStackItem:
|
|
346
|
+
name: str
|
|
347
|
+
category: str
|
|
348
|
+
|
|
349
|
+
@dataclass
|
|
350
|
+
class SpecPersona:
|
|
351
|
+
title: str
|
|
352
|
+
description: str
|
|
353
|
+
primaryGoals: Optional[List[str]] = None
|
|
354
|
+
painPoints: Optional[List[str]] = None
|
|
355
|
+
keyTasks: Optional[List[str]] = None
|
|
356
|
+
|
|
357
|
+
@dataclass
|
|
358
|
+
class SpecRole:
|
|
359
|
+
name: str
|
|
360
|
+
shortHand: str
|
|
361
|
+
|
|
362
|
+
@dataclass
|
|
363
|
+
class CodingAgentSubTask:
|
|
364
|
+
id: Optional[str] = None
|
|
365
|
+
description: str = ""
|
|
366
|
+
complexity: str = ""
|
|
367
|
+
|
|
368
|
+
@dataclass
|
|
369
|
+
class CodingAgentStory:
|
|
370
|
+
id: Optional[str] = None
|
|
371
|
+
title: str = ""
|
|
372
|
+
description: Optional[str] = None
|
|
373
|
+
acceptanceCriteria: Optional[List[str]] = None
|
|
374
|
+
complexity: Optional[str] = None
|
|
375
|
+
subTasks: Optional[List[CodingAgentSubTask]] = None
|
|
376
|
+
|
|
377
|
+
@dataclass
|
|
378
|
+
class CodingAgentMilestone:
|
|
379
|
+
milestoneNumber: int = 0
|
|
380
|
+
description: str = ""
|
|
381
|
+
stories: Optional[List[CodingAgentStory]] = None
|
|
382
|
+
|
|
383
|
+
@dataclass
|
|
384
|
+
class CodingAgentSpecJson:
|
|
385
|
+
title: Optional[str] = None
|
|
386
|
+
executiveSummary: str = ""
|
|
387
|
+
coreFunctionalities: Optional[List[SpecCoreFunctionality]] = None
|
|
388
|
+
techStack: Optional[List[SpecTechStackItem]] = None
|
|
389
|
+
techStackGrouped: Optional[Dict[str, List[str]]] = None
|
|
390
|
+
milestones: Optional[List[CodingAgentMilestone]] = None
|
|
391
|
+
|
|
392
|
+
@dataclass
|
|
393
|
+
class HumanSpecSubTask:
|
|
394
|
+
id: Optional[str] = None
|
|
395
|
+
description: str = ""
|
|
396
|
+
hours: float = 0
|
|
397
|
+
complexity: str = ""
|
|
398
|
+
roles: Optional[List[SpecRole]] = None
|
|
399
|
+
|
|
400
|
+
@dataclass
|
|
401
|
+
class HumanSpecStory:
|
|
402
|
+
id: Optional[str] = None
|
|
403
|
+
title: str = ""
|
|
404
|
+
description: Optional[str] = None
|
|
405
|
+
acceptanceCriteria: Optional[List[str]] = None
|
|
406
|
+
hours: float = 0
|
|
407
|
+
complexity: Optional[str] = None
|
|
408
|
+
subTasks: Optional[List[HumanSpecSubTask]] = None
|
|
409
|
+
|
|
410
|
+
@dataclass
|
|
411
|
+
class HumanSpecMilestone:
|
|
412
|
+
milestoneNumber: int = 0
|
|
413
|
+
description: str = ""
|
|
414
|
+
hours: float = 0
|
|
415
|
+
stories: Optional[List[HumanSpecStory]] = None
|
|
416
|
+
|
|
417
|
+
@dataclass
|
|
418
|
+
class HumanSpecJson:
|
|
419
|
+
title: Optional[str] = None
|
|
420
|
+
executiveSummary: str = ""
|
|
421
|
+
coreFunctionalities: Optional[List[SpecCoreFunctionality]] = None
|
|
422
|
+
personas: Optional[List[SpecPersona]] = None
|
|
423
|
+
techStack: Optional[List[SpecTechStackItem]] = None
|
|
424
|
+
techStackGrouped: Optional[Dict[str, List[str]]] = None
|
|
425
|
+
milestones: Optional[List[HumanSpecMilestone]] = None
|
|
426
|
+
totalHours: Optional[float] = None
|
|
427
|
+
roles: Optional[List[SpecRole]] = None
|
|
428
|
+
```
|
|
429
|
+
|
|
331
430
|
### `ListSpecsResponse`
|
|
332
431
|
```python
|
|
333
432
|
@dataclass
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"""
|
|
2
|
+
predev_api - Python client for the Pre.dev Architect API
|
|
3
|
+
|
|
4
|
+
Generate comprehensive software specifications using AI.
|
|
5
|
+
"""
|
|
6
|
+
|
|
7
|
+
from .client import (
|
|
8
|
+
PredevAPI,
|
|
9
|
+
ZippedDocsUrl,
|
|
10
|
+
SpecCoreFunctionality,
|
|
11
|
+
SpecTechStackItem,
|
|
12
|
+
SpecPersona,
|
|
13
|
+
SpecRole,
|
|
14
|
+
CodingAgentSubTask,
|
|
15
|
+
CodingAgentStory,
|
|
16
|
+
CodingAgentMilestone,
|
|
17
|
+
CodingAgentSpecJson,
|
|
18
|
+
HumanSpecSubTask,
|
|
19
|
+
HumanSpecStory,
|
|
20
|
+
HumanSpecMilestone,
|
|
21
|
+
HumanSpecJson,
|
|
22
|
+
SpecResponse,
|
|
23
|
+
)
|
|
24
|
+
from .exceptions import PredevAPIError, AuthenticationError, RateLimitError
|
|
25
|
+
|
|
26
|
+
__version__ = "0.9.0"
|
|
27
|
+
__all__ = [
|
|
28
|
+
"PredevAPI",
|
|
29
|
+
"PredevAPIError",
|
|
30
|
+
"AuthenticationError",
|
|
31
|
+
"RateLimitError",
|
|
32
|
+
"ZippedDocsUrl",
|
|
33
|
+
"SpecCoreFunctionality",
|
|
34
|
+
"SpecTechStackItem",
|
|
35
|
+
"SpecPersona",
|
|
36
|
+
"SpecRole",
|
|
37
|
+
"CodingAgentSubTask",
|
|
38
|
+
"CodingAgentStory",
|
|
39
|
+
"CodingAgentMilestone",
|
|
40
|
+
"CodingAgentSpecJson",
|
|
41
|
+
"HumanSpecSubTask",
|
|
42
|
+
"HumanSpecStory",
|
|
43
|
+
"HumanSpecMilestone",
|
|
44
|
+
"HumanSpecJson",
|
|
45
|
+
"SpecResponse",
|
|
46
|
+
]
|
|
@@ -22,6 +22,109 @@ class ZippedDocsUrl:
|
|
|
22
22
|
masterZipShortUrl: str
|
|
23
23
|
|
|
24
24
|
|
|
25
|
+
@dataclass
|
|
26
|
+
class SpecCoreFunctionality:
|
|
27
|
+
name: str
|
|
28
|
+
description: str
|
|
29
|
+
priority: Optional[str] = None
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
@dataclass
|
|
33
|
+
class SpecTechStackItem:
|
|
34
|
+
name: str
|
|
35
|
+
category: str
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
@dataclass
|
|
39
|
+
class SpecPersona:
|
|
40
|
+
title: str
|
|
41
|
+
description: str
|
|
42
|
+
primaryGoals: Optional[List[str]] = None
|
|
43
|
+
painPoints: Optional[List[str]] = None
|
|
44
|
+
keyTasks: Optional[List[str]] = None
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
@dataclass
|
|
48
|
+
class SpecRole:
|
|
49
|
+
name: str
|
|
50
|
+
shortHand: str
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
@dataclass
|
|
54
|
+
class CodingAgentSubTask:
|
|
55
|
+
id: Optional[str] = None
|
|
56
|
+
description: str = ""
|
|
57
|
+
complexity: str = ""
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
@dataclass
|
|
61
|
+
class CodingAgentStory:
|
|
62
|
+
id: Optional[str] = None
|
|
63
|
+
title: str = ""
|
|
64
|
+
description: Optional[str] = None
|
|
65
|
+
acceptanceCriteria: Optional[List[str]] = None
|
|
66
|
+
complexity: Optional[str] = None
|
|
67
|
+
subTasks: Optional[List[CodingAgentSubTask]] = None
|
|
68
|
+
|
|
69
|
+
|
|
70
|
+
@dataclass
|
|
71
|
+
class CodingAgentMilestone:
|
|
72
|
+
milestoneNumber: int = 0
|
|
73
|
+
description: str = ""
|
|
74
|
+
stories: Optional[List[CodingAgentStory]] = None
|
|
75
|
+
|
|
76
|
+
|
|
77
|
+
@dataclass
|
|
78
|
+
class CodingAgentSpecJson:
|
|
79
|
+
title: Optional[str] = None
|
|
80
|
+
executiveSummary: str = ""
|
|
81
|
+
coreFunctionalities: Optional[List[SpecCoreFunctionality]] = None
|
|
82
|
+
techStack: Optional[List[SpecTechStackItem]] = None
|
|
83
|
+
techStackGrouped: Optional[Dict[str, List[str]]] = None
|
|
84
|
+
milestones: Optional[List[CodingAgentMilestone]] = None
|
|
85
|
+
|
|
86
|
+
|
|
87
|
+
@dataclass
|
|
88
|
+
class HumanSpecSubTask:
|
|
89
|
+
id: Optional[str] = None
|
|
90
|
+
description: str = ""
|
|
91
|
+
hours: float = 0
|
|
92
|
+
complexity: str = ""
|
|
93
|
+
roles: Optional[List[SpecRole]] = None
|
|
94
|
+
|
|
95
|
+
|
|
96
|
+
@dataclass
|
|
97
|
+
class HumanSpecStory:
|
|
98
|
+
id: Optional[str] = None
|
|
99
|
+
title: str = ""
|
|
100
|
+
description: Optional[str] = None
|
|
101
|
+
acceptanceCriteria: Optional[List[str]] = None
|
|
102
|
+
hours: float = 0
|
|
103
|
+
complexity: Optional[str] = None
|
|
104
|
+
subTasks: Optional[List[HumanSpecSubTask]] = None
|
|
105
|
+
|
|
106
|
+
|
|
107
|
+
@dataclass
|
|
108
|
+
class HumanSpecMilestone:
|
|
109
|
+
milestoneNumber: int = 0
|
|
110
|
+
description: str = ""
|
|
111
|
+
hours: float = 0
|
|
112
|
+
stories: Optional[List[HumanSpecStory]] = None
|
|
113
|
+
|
|
114
|
+
|
|
115
|
+
@dataclass
|
|
116
|
+
class HumanSpecJson:
|
|
117
|
+
title: Optional[str] = None
|
|
118
|
+
executiveSummary: str = ""
|
|
119
|
+
coreFunctionalities: Optional[List[SpecCoreFunctionality]] = None
|
|
120
|
+
personas: Optional[List[SpecPersona]] = None
|
|
121
|
+
techStack: Optional[List[SpecTechStackItem]] = None
|
|
122
|
+
techStackGrouped: Optional[Dict[str, List[str]]] = None
|
|
123
|
+
milestones: Optional[List[HumanSpecMilestone]] = None
|
|
124
|
+
totalHours: Optional[float] = None
|
|
125
|
+
roles: Optional[List[SpecRole]] = None
|
|
126
|
+
|
|
127
|
+
|
|
25
128
|
@dataclass
|
|
26
129
|
class SpecResponse:
|
|
27
130
|
"""Status check response class"""
|
|
@@ -39,6 +142,10 @@ class SpecResponse:
|
|
|
39
142
|
codingAgentSpecUrl: Optional[str] = None
|
|
40
143
|
humanSpecUrl: Optional[str] = None
|
|
41
144
|
totalHumanHours: Optional[int] = None
|
|
145
|
+
codingAgentSpecJson: Optional['CodingAgentSpecJson'] = None
|
|
146
|
+
codingAgentSpecMarkdown: Optional[str] = None
|
|
147
|
+
humanSpecJson: Optional['HumanSpecJson'] = None
|
|
148
|
+
humanSpecMarkdown: Optional[str] = None
|
|
42
149
|
executionTime: Optional[int] = None
|
|
43
150
|
|
|
44
151
|
predevUrl: Optional[str] = None
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: predev-api
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.9.0
|
|
4
4
|
Summary: Python client for the Pre.dev Architect API - Generate comprehensive software specifications
|
|
5
5
|
Home-page: https://github.com/predotdev/predev-api
|
|
6
6
|
Author: Pre.dev
|
|
@@ -348,6 +348,11 @@ class SpecResponse:
|
|
|
348
348
|
codingAgentSpecUrl: Optional[str] = None # Spec optimized for AI/LLM systems
|
|
349
349
|
humanSpecUrl: Optional[str] = None # Spec optimized for human readers
|
|
350
350
|
totalHumanHours: Optional[int] = None # Estimated hours for human developers
|
|
351
|
+
# Direct returns (new)
|
|
352
|
+
codingAgentSpecJson: Optional[CodingAgentSpecJson] = None # Simplified JSON for coding tools
|
|
353
|
+
codingAgentSpecMarkdown: Optional[str] = None # Simplified markdown for coding tools
|
|
354
|
+
humanSpecJson: Optional[HumanSpecJson] = None # Full JSON with hours/personas/roles
|
|
355
|
+
humanSpecMarkdown: Optional[str] = None # Full markdown with all details
|
|
351
356
|
executionTime: Optional[int] = None # Processing time in milliseconds
|
|
352
357
|
|
|
353
358
|
# Integration URLs (when completed)
|
|
@@ -368,6 +373,100 @@ class SpecResponse:
|
|
|
368
373
|
progress: Optional[str] = None # Progress information
|
|
369
374
|
```
|
|
370
375
|
|
|
376
|
+
### Direct Spec JSON structures
|
|
377
|
+
```python
|
|
378
|
+
@dataclass
|
|
379
|
+
class SpecCoreFunctionality:
|
|
380
|
+
name: str
|
|
381
|
+
description: str
|
|
382
|
+
priority: Optional[str] = None
|
|
383
|
+
|
|
384
|
+
@dataclass
|
|
385
|
+
class SpecTechStackItem:
|
|
386
|
+
name: str
|
|
387
|
+
category: str
|
|
388
|
+
|
|
389
|
+
@dataclass
|
|
390
|
+
class SpecPersona:
|
|
391
|
+
title: str
|
|
392
|
+
description: str
|
|
393
|
+
primaryGoals: Optional[List[str]] = None
|
|
394
|
+
painPoints: Optional[List[str]] = None
|
|
395
|
+
keyTasks: Optional[List[str]] = None
|
|
396
|
+
|
|
397
|
+
@dataclass
|
|
398
|
+
class SpecRole:
|
|
399
|
+
name: str
|
|
400
|
+
shortHand: str
|
|
401
|
+
|
|
402
|
+
@dataclass
|
|
403
|
+
class CodingAgentSubTask:
|
|
404
|
+
id: Optional[str] = None
|
|
405
|
+
description: str = ""
|
|
406
|
+
complexity: str = ""
|
|
407
|
+
|
|
408
|
+
@dataclass
|
|
409
|
+
class CodingAgentStory:
|
|
410
|
+
id: Optional[str] = None
|
|
411
|
+
title: str = ""
|
|
412
|
+
description: Optional[str] = None
|
|
413
|
+
acceptanceCriteria: Optional[List[str]] = None
|
|
414
|
+
complexity: Optional[str] = None
|
|
415
|
+
subTasks: Optional[List[CodingAgentSubTask]] = None
|
|
416
|
+
|
|
417
|
+
@dataclass
|
|
418
|
+
class CodingAgentMilestone:
|
|
419
|
+
milestoneNumber: int = 0
|
|
420
|
+
description: str = ""
|
|
421
|
+
stories: Optional[List[CodingAgentStory]] = None
|
|
422
|
+
|
|
423
|
+
@dataclass
|
|
424
|
+
class CodingAgentSpecJson:
|
|
425
|
+
title: Optional[str] = None
|
|
426
|
+
executiveSummary: str = ""
|
|
427
|
+
coreFunctionalities: Optional[List[SpecCoreFunctionality]] = None
|
|
428
|
+
techStack: Optional[List[SpecTechStackItem]] = None
|
|
429
|
+
techStackGrouped: Optional[Dict[str, List[str]]] = None
|
|
430
|
+
milestones: Optional[List[CodingAgentMilestone]] = None
|
|
431
|
+
|
|
432
|
+
@dataclass
|
|
433
|
+
class HumanSpecSubTask:
|
|
434
|
+
id: Optional[str] = None
|
|
435
|
+
description: str = ""
|
|
436
|
+
hours: float = 0
|
|
437
|
+
complexity: str = ""
|
|
438
|
+
roles: Optional[List[SpecRole]] = None
|
|
439
|
+
|
|
440
|
+
@dataclass
|
|
441
|
+
class HumanSpecStory:
|
|
442
|
+
id: Optional[str] = None
|
|
443
|
+
title: str = ""
|
|
444
|
+
description: Optional[str] = None
|
|
445
|
+
acceptanceCriteria: Optional[List[str]] = None
|
|
446
|
+
hours: float = 0
|
|
447
|
+
complexity: Optional[str] = None
|
|
448
|
+
subTasks: Optional[List[HumanSpecSubTask]] = None
|
|
449
|
+
|
|
450
|
+
@dataclass
|
|
451
|
+
class HumanSpecMilestone:
|
|
452
|
+
milestoneNumber: int = 0
|
|
453
|
+
description: str = ""
|
|
454
|
+
hours: float = 0
|
|
455
|
+
stories: Optional[List[HumanSpecStory]] = None
|
|
456
|
+
|
|
457
|
+
@dataclass
|
|
458
|
+
class HumanSpecJson:
|
|
459
|
+
title: Optional[str] = None
|
|
460
|
+
executiveSummary: str = ""
|
|
461
|
+
coreFunctionalities: Optional[List[SpecCoreFunctionality]] = None
|
|
462
|
+
personas: Optional[List[SpecPersona]] = None
|
|
463
|
+
techStack: Optional[List[SpecTechStackItem]] = None
|
|
464
|
+
techStackGrouped: Optional[Dict[str, List[str]]] = None
|
|
465
|
+
milestones: Optional[List[HumanSpecMilestone]] = None
|
|
466
|
+
totalHours: Optional[float] = None
|
|
467
|
+
roles: Optional[List[SpecRole]] = None
|
|
468
|
+
```
|
|
469
|
+
|
|
371
470
|
### `ListSpecsResponse`
|
|
372
471
|
```python
|
|
373
472
|
@dataclass
|
|
@@ -9,7 +9,7 @@ with open("README.md", "r", encoding="utf-8") as fh:
|
|
|
9
9
|
|
|
10
10
|
setup(
|
|
11
11
|
name="predev-api",
|
|
12
|
-
version="0.
|
|
12
|
+
version="0.9.0",
|
|
13
13
|
author="Pre.dev",
|
|
14
14
|
author_email="support@pre.dev",
|
|
15
15
|
description="Python client for the Pre.dev Architect API - Generate comprehensive software specifications",
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
"""
|
|
2
|
-
predev_api - Python client for the Pre.dev Architect API
|
|
3
|
-
|
|
4
|
-
Generate comprehensive software specifications using AI.
|
|
5
|
-
"""
|
|
6
|
-
|
|
7
|
-
from .client import PredevAPI, ZippedDocsUrl
|
|
8
|
-
from .exceptions import PredevAPIError, AuthenticationError, RateLimitError
|
|
9
|
-
|
|
10
|
-
__version__ = "0.8.0"
|
|
11
|
-
__all__ = ["PredevAPI", "PredevAPIError",
|
|
12
|
-
"AuthenticationError", "RateLimitError", "ZippedDocsUrl"]
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|