pdd-cli 0.0.90__py3-none-any.whl → 0.0.118__py3-none-any.whl

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 (144) hide show
  1. pdd/__init__.py +38 -6
  2. pdd/agentic_bug.py +323 -0
  3. pdd/agentic_bug_orchestrator.py +497 -0
  4. pdd/agentic_change.py +231 -0
  5. pdd/agentic_change_orchestrator.py +526 -0
  6. pdd/agentic_common.py +521 -786
  7. pdd/agentic_e2e_fix.py +319 -0
  8. pdd/agentic_e2e_fix_orchestrator.py +426 -0
  9. pdd/agentic_fix.py +118 -3
  10. pdd/agentic_update.py +25 -8
  11. pdd/architecture_sync.py +565 -0
  12. pdd/auth_service.py +210 -0
  13. pdd/auto_deps_main.py +63 -53
  14. pdd/auto_include.py +185 -3
  15. pdd/auto_update.py +125 -47
  16. pdd/bug_main.py +195 -23
  17. pdd/cmd_test_main.py +345 -197
  18. pdd/code_generator.py +4 -2
  19. pdd/code_generator_main.py +118 -32
  20. pdd/commands/__init__.py +6 -0
  21. pdd/commands/analysis.py +87 -29
  22. pdd/commands/auth.py +309 -0
  23. pdd/commands/connect.py +290 -0
  24. pdd/commands/fix.py +136 -113
  25. pdd/commands/maintenance.py +3 -2
  26. pdd/commands/misc.py +8 -0
  27. pdd/commands/modify.py +190 -164
  28. pdd/commands/sessions.py +284 -0
  29. pdd/construct_paths.py +334 -32
  30. pdd/context_generator_main.py +167 -170
  31. pdd/continue_generation.py +6 -3
  32. pdd/core/__init__.py +33 -0
  33. pdd/core/cli.py +27 -3
  34. pdd/core/cloud.py +237 -0
  35. pdd/core/errors.py +4 -0
  36. pdd/core/remote_session.py +61 -0
  37. pdd/crash_main.py +219 -23
  38. pdd/data/llm_model.csv +4 -4
  39. pdd/docs/prompting_guide.md +864 -0
  40. pdd/docs/whitepaper_with_benchmarks/data_and_functions/benchmark_analysis.py +495 -0
  41. pdd/docs/whitepaper_with_benchmarks/data_and_functions/creation_compare.py +528 -0
  42. pdd/fix_code_loop.py +208 -34
  43. pdd/fix_code_module_errors.py +6 -2
  44. pdd/fix_error_loop.py +291 -38
  45. pdd/fix_main.py +204 -4
  46. pdd/fix_verification_errors_loop.py +235 -26
  47. pdd/fix_verification_main.py +269 -83
  48. pdd/frontend/dist/assets/index-B5DZHykP.css +1 -0
  49. pdd/frontend/dist/assets/index-DQ3wkeQ2.js +449 -0
  50. pdd/frontend/dist/index.html +376 -0
  51. pdd/frontend/dist/logo.svg +33 -0
  52. pdd/generate_output_paths.py +46 -5
  53. pdd/generate_test.py +212 -151
  54. pdd/get_comment.py +19 -44
  55. pdd/get_extension.py +8 -9
  56. pdd/get_jwt_token.py +309 -20
  57. pdd/get_language.py +8 -7
  58. pdd/get_run_command.py +7 -5
  59. pdd/insert_includes.py +2 -1
  60. pdd/llm_invoke.py +459 -95
  61. pdd/load_prompt_template.py +15 -34
  62. pdd/path_resolution.py +140 -0
  63. pdd/postprocess.py +4 -1
  64. pdd/preprocess.py +68 -12
  65. pdd/preprocess_main.py +33 -1
  66. pdd/prompts/agentic_bug_step10_pr_LLM.prompt +182 -0
  67. pdd/prompts/agentic_bug_step1_duplicate_LLM.prompt +73 -0
  68. pdd/prompts/agentic_bug_step2_docs_LLM.prompt +129 -0
  69. pdd/prompts/agentic_bug_step3_triage_LLM.prompt +95 -0
  70. pdd/prompts/agentic_bug_step4_reproduce_LLM.prompt +97 -0
  71. pdd/prompts/agentic_bug_step5_root_cause_LLM.prompt +123 -0
  72. pdd/prompts/agentic_bug_step6_test_plan_LLM.prompt +107 -0
  73. pdd/prompts/agentic_bug_step7_generate_LLM.prompt +172 -0
  74. pdd/prompts/agentic_bug_step8_verify_LLM.prompt +119 -0
  75. pdd/prompts/agentic_bug_step9_e2e_test_LLM.prompt +289 -0
  76. pdd/prompts/agentic_change_step10_identify_issues_LLM.prompt +1006 -0
  77. pdd/prompts/agentic_change_step11_fix_issues_LLM.prompt +984 -0
  78. pdd/prompts/agentic_change_step12_create_pr_LLM.prompt +131 -0
  79. pdd/prompts/agentic_change_step1_duplicate_LLM.prompt +73 -0
  80. pdd/prompts/agentic_change_step2_docs_LLM.prompt +101 -0
  81. pdd/prompts/agentic_change_step3_research_LLM.prompt +126 -0
  82. pdd/prompts/agentic_change_step4_clarify_LLM.prompt +164 -0
  83. pdd/prompts/agentic_change_step5_docs_change_LLM.prompt +981 -0
  84. pdd/prompts/agentic_change_step6_devunits_LLM.prompt +1005 -0
  85. pdd/prompts/agentic_change_step7_architecture_LLM.prompt +1044 -0
  86. pdd/prompts/agentic_change_step8_analyze_LLM.prompt +1027 -0
  87. pdd/prompts/agentic_change_step9_implement_LLM.prompt +1077 -0
  88. pdd/prompts/agentic_e2e_fix_step1_unit_tests_LLM.prompt +90 -0
  89. pdd/prompts/agentic_e2e_fix_step2_e2e_tests_LLM.prompt +91 -0
  90. pdd/prompts/agentic_e2e_fix_step3_root_cause_LLM.prompt +89 -0
  91. pdd/prompts/agentic_e2e_fix_step4_fix_e2e_tests_LLM.prompt +96 -0
  92. pdd/prompts/agentic_e2e_fix_step5_identify_devunits_LLM.prompt +91 -0
  93. pdd/prompts/agentic_e2e_fix_step6_create_unit_tests_LLM.prompt +106 -0
  94. pdd/prompts/agentic_e2e_fix_step7_verify_tests_LLM.prompt +116 -0
  95. pdd/prompts/agentic_e2e_fix_step8_run_pdd_fix_LLM.prompt +120 -0
  96. pdd/prompts/agentic_e2e_fix_step9_verify_all_LLM.prompt +146 -0
  97. pdd/prompts/agentic_fix_primary_LLM.prompt +2 -2
  98. pdd/prompts/agentic_update_LLM.prompt +192 -338
  99. pdd/prompts/auto_include_LLM.prompt +22 -0
  100. pdd/prompts/change_LLM.prompt +3093 -1
  101. pdd/prompts/detect_change_LLM.prompt +571 -14
  102. pdd/prompts/fix_code_module_errors_LLM.prompt +8 -0
  103. pdd/prompts/fix_errors_from_unit_tests_LLM.prompt +1 -0
  104. pdd/prompts/generate_test_LLM.prompt +20 -1
  105. pdd/prompts/generate_test_from_example_LLM.prompt +115 -0
  106. pdd/prompts/insert_includes_LLM.prompt +262 -252
  107. pdd/prompts/prompt_code_diff_LLM.prompt +119 -0
  108. pdd/prompts/prompt_diff_LLM.prompt +82 -0
  109. pdd/remote_session.py +876 -0
  110. pdd/server/__init__.py +52 -0
  111. pdd/server/app.py +335 -0
  112. pdd/server/click_executor.py +587 -0
  113. pdd/server/executor.py +338 -0
  114. pdd/server/jobs.py +661 -0
  115. pdd/server/models.py +241 -0
  116. pdd/server/routes/__init__.py +31 -0
  117. pdd/server/routes/architecture.py +451 -0
  118. pdd/server/routes/auth.py +364 -0
  119. pdd/server/routes/commands.py +929 -0
  120. pdd/server/routes/config.py +42 -0
  121. pdd/server/routes/files.py +603 -0
  122. pdd/server/routes/prompts.py +1322 -0
  123. pdd/server/routes/websocket.py +473 -0
  124. pdd/server/security.py +243 -0
  125. pdd/server/terminal_spawner.py +209 -0
  126. pdd/server/token_counter.py +222 -0
  127. pdd/summarize_directory.py +236 -237
  128. pdd/sync_animation.py +8 -4
  129. pdd/sync_determine_operation.py +329 -47
  130. pdd/sync_main.py +272 -28
  131. pdd/sync_orchestration.py +136 -75
  132. pdd/template_expander.py +161 -0
  133. pdd/templates/architecture/architecture_json.prompt +41 -46
  134. pdd/trace.py +1 -1
  135. pdd/track_cost.py +0 -13
  136. pdd/unfinished_prompt.py +2 -1
  137. pdd/update_main.py +23 -5
  138. {pdd_cli-0.0.90.dist-info → pdd_cli-0.0.118.dist-info}/METADATA +15 -10
  139. pdd_cli-0.0.118.dist-info/RECORD +227 -0
  140. pdd_cli-0.0.90.dist-info/RECORD +0 -153
  141. {pdd_cli-0.0.90.dist-info → pdd_cli-0.0.118.dist-info}/WHEEL +0 -0
  142. {pdd_cli-0.0.90.dist-info → pdd_cli-0.0.118.dist-info}/entry_points.txt +0 -0
  143. {pdd_cli-0.0.90.dist-info → pdd_cli-0.0.118.dist-info}/licenses/LICENSE +0 -0
  144. {pdd_cli-0.0.90.dist-info → pdd_cli-0.0.118.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,120 @@
1
+ % You are an expert software engineer fixing bugs identified in a GitHub issue. Your task is to run pdd fix sequentially on dev units identified during e2e failure analysis.
2
+
3
+ % Context
4
+
5
+ You are working on step 8 of 9 in an agentic e2e fix workflow. You need to run `pdd fix` on each dev unit identified in Step 5 to fix the bugs causing e2e test failures.
6
+
7
+ **Important distinction from Step 1:**
8
+ - Step 1: Fixes dev units associated with unit tests **explicitly listed in the GitHub issue** (from `pdd bug`)
9
+ - Step 8 (this step): Fixes dev units **identified during e2e failure analysis** in Steps 3-5 (may be different or additional dev units discovered through stack trace analysis)
10
+
11
+ % Inputs
12
+
13
+ - GitHub Issue URL: {issue_url}
14
+ - Repository: {repo_owner}/{repo_name}
15
+ - Issue Number: {issue_number}
16
+ - Cycle: {cycle_number}/{max_cycles}
17
+
18
+ % Issue Content
19
+ <issue_content>
20
+ {issue_content}
21
+ </issue_content>
22
+
23
+ % Previous Step Outputs
24
+ <step1_output>
25
+ {step1_output}
26
+ </step1_output>
27
+
28
+ <step2_output>
29
+ {step2_output}
30
+ </step2_output>
31
+
32
+ <step3_output>
33
+ {step3_output}
34
+ </step3_output>
35
+
36
+ <step4_output>
37
+ {step4_output}
38
+ </step4_output>
39
+
40
+ <step5_output>
41
+ {step5_output}
42
+ </step5_output>
43
+
44
+ <step6_output>
45
+ {step6_output}
46
+ </step6_output>
47
+
48
+ <step7_output>
49
+ {step7_output}
50
+ </step7_output>
51
+
52
+ % Failing Dev Units
53
+ {failing_dev_units}
54
+
55
+ % Your Task
56
+
57
+ 1. **Run pdd fix for each failing dev unit**
58
+ - For each dev unit from Step 5 (DEV_UNITS_IDENTIFIED):
59
+ - Execute pdd fix in manual mode:
60
+ ```bash
61
+ # Create a temp error file for pdd fix
62
+ touch /tmp/pdd_fix_errors_{dev_unit}.log
63
+ pdd fix --manual prompts/{dev_unit}_python.prompt pdd/{dev_unit}.py tests/test_{dev_unit}.py /tmp/pdd_fix_errors_{dev_unit}.log --loop
64
+ ```
65
+ - Wait for completion before starting next
66
+ - Capture output from each run
67
+
68
+ 2. **Track results**
69
+ - Note which dev units were successfully fixed
70
+ - Note which dev units still have failing tests
71
+ - Capture any error messages
72
+
73
+ 3. **Run unit tests to verify fixes**
74
+ - After all pdd fix runs complete
75
+ - Run: `pytest tests/test_{dev_unit}.py -v` for each
76
+ - Report pass/fail status
77
+
78
+ % Output
79
+
80
+ After completing your analysis, use `gh issue comment` to post your findings to issue #{issue_number}:
81
+
82
+ ```
83
+ gh issue comment {issue_number} --repo {repo_owner}/{repo_name} --body "..."
84
+ ```
85
+
86
+ Your comment should follow this format:
87
+
88
+ ```markdown
89
+ ## Step 8: Run pdd fix (Cycle {cycle_number})
90
+
91
+ **Status:** {N}/{M} Dev Units Fixed
92
+
93
+ ### pdd fix Results
94
+ | Dev Unit | pdd fix Status | Tests After |
95
+ |----------|----------------|-------------|
96
+ | `{name}` | Success | {N}/{M} pass |
97
+ | `{name}` | Failed | {error} |
98
+
99
+ ### Files Changed
100
+ {list_of_modified_files}
101
+
102
+ ### Summary
103
+ - Dev units fixed: {list}
104
+ - Dev units still failing: {list}
105
+ - Total pdd fix runs: {N}
106
+ - Total cost: ${cost:.4f}
107
+
108
+ FILES_MODIFIED: {comma_separated_list_of_code_files}
109
+
110
+ ---
111
+ *Proceeding to Step 9: Final Verification*
112
+ ```
113
+
114
+ % Important
115
+
116
+ - Run pdd fix SEQUENTIALLY, not in parallel
117
+ - Each dev unit may take significant time - be patient
118
+ - Track costs from each pdd fix invocation
119
+ - Always output FILES_MODIFIED line
120
+ - Always post your findings as a GitHub comment before completing
@@ -0,0 +1,146 @@
1
+ % You are an expert software engineer fixing bugs identified in a GitHub issue. Your task is to perform final verification and control the outer loop.
2
+
3
+ % Context
4
+
5
+ You are working on step 9 of 9 in an agentic e2e fix workflow. This step verifies the current state and determines if another cycle is needed.
6
+
7
+ % Inputs
8
+
9
+ - GitHub Issue URL: {issue_url}
10
+ - Repository: {repo_owner}/{repo_name}
11
+ - Issue Number: {issue_number}
12
+ - Cycle: {cycle_number}/{max_cycles}
13
+
14
+ % Issue Content
15
+ <issue_content>
16
+ {issue_content}
17
+ </issue_content>
18
+
19
+ % Previous Step Outputs
20
+ <step1_output>
21
+ {step1_output}
22
+ </step1_output>
23
+
24
+ <step2_output>
25
+ {step2_output}
26
+ </step2_output>
27
+
28
+ <step3_output>
29
+ {step3_output}
30
+ </step3_output>
31
+
32
+ <step4_output>
33
+ {step4_output}
34
+ </step4_output>
35
+
36
+ <step5_output>
37
+ {step5_output}
38
+ </step5_output>
39
+
40
+ <step6_output>
41
+ {step6_output}
42
+ </step6_output>
43
+
44
+ <step7_output>
45
+ {step7_output}
46
+ </step7_output>
47
+
48
+ <step8_output>
49
+ {step8_output}
50
+ </step8_output>
51
+
52
+ % Your Task
53
+
54
+ 1. **Run full test suite**
55
+ - Run all unit tests: `pytest tests/ -v`
56
+ - Run all e2e tests identified in the issue
57
+ - Capture complete results
58
+
59
+ 2. **Assess current state**
60
+ - How many tests pass vs fail?
61
+ - Are the original bugs fixed?
62
+ - Are there new failures?
63
+
64
+ 3. **Determine next action**
65
+ - If all tests pass: Workflow complete
66
+ - If tests still fail and cycle < max_cycles: Another cycle needed
67
+ - If tests still fail and cycle >= max_cycles: Max cycles reached, report status
68
+
69
+ % Output
70
+
71
+ After completing your analysis, use `gh issue comment` to post your findings to issue #{issue_number}:
72
+
73
+ ```
74
+ gh issue comment {issue_number} --repo {repo_owner}/{repo_name} --body "..."
75
+ ```
76
+
77
+ **If all tests pass:**
78
+ ```markdown
79
+ ## Step 9: Final Verification (Cycle {cycle_number})
80
+
81
+ **Status:** ALL_TESTS_PASS
82
+
83
+ ### Test Results
84
+ - Unit tests: {N}/{M} pass
85
+ - E2E tests: {N}/{M} pass
86
+
87
+ ### Summary
88
+ All bugs fixed successfully in {cycle_number} cycle(s).
89
+
90
+ ### Files Changed (Total)
91
+ {list_of_all_files_modified}
92
+
93
+ ---
94
+ *Workflow complete - all tests passing*
95
+ ```
96
+
97
+ **If more cycles needed:**
98
+ ```markdown
99
+ ## Step 9: Final Verification (Cycle {cycle_number})
100
+
101
+ **Status:** CONTINUE_CYCLE
102
+
103
+ ### Test Results
104
+ - Unit tests: {N}/{M} pass ({K} still failing)
105
+ - E2E tests: {N}/{M} pass ({K} still failing)
106
+
107
+ ### Remaining Failures
108
+ | Test | Failure Type |
109
+ |------|--------------|
110
+ | `test_{name}` | {type} |
111
+
112
+ ### Analysis
113
+ {explanation_of_remaining_failures}
114
+
115
+ ---
116
+ *Starting Cycle {next_cycle}*
117
+ ```
118
+
119
+ **If max cycles reached:**
120
+ ```markdown
121
+ ## Step 9: Final Verification (Cycle {cycle_number})
122
+
123
+ **Status:** MAX_CYCLES_REACHED
124
+
125
+ ### Test Results
126
+ - Unit tests: {N}/{M} pass ({K} still failing)
127
+ - E2E tests: {N}/{M} pass ({K} still failing)
128
+
129
+ ### Remaining Failures
130
+ | Test | Failure Type |
131
+ |------|--------------|
132
+ | `test_{name}` | {type} |
133
+
134
+ ### Recommendation
135
+ {manual_intervention_suggestions}
136
+
137
+ ---
138
+ *Workflow stopped - max cycles reached*
139
+ ```
140
+
141
+ % Important
142
+
143
+ - The exact strings "ALL_TESTS_PASS", "CONTINUE_CYCLE", or "MAX_CYCLES_REACHED" control the outer loop
144
+ - Be accurate in test counts - don't round or estimate
145
+ - Include specific failure information for debugging
146
+ - Always post your findings as a GitHub comment before completing
@@ -19,9 +19,9 @@
19
19
 
20
20
 
21
21
  % ORIGINAL SPECIFICATION:
22
- <proompt_content>
22
+ <prompt_content>
23
23
  {prompt_content}
24
- </proompt_content>
24
+ </prompt_content>
25
25
 
26
26
 
27
27
  % ERROR LOG: