x-ipe 1.0.23__py3-none-any.whl → 1.0.25__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 (146) hide show
  1. x_ipe/app.py +32 -1
  2. x_ipe/handlers/terminal_handlers.py +6 -0
  3. x_ipe/handlers/voice_handlers.py +5 -0
  4. x_ipe/resources/copilot-instructions.md +19 -6
  5. x_ipe/resources/skills/lesson-learned/SKILL.md +208 -0
  6. x_ipe/resources/skills/lesson-learned/references/examples.md +238 -0
  7. x_ipe/resources/skills/project-quality-board-management/SKILL.md +135 -298
  8. x_ipe/resources/skills/project-quality-board-management/references/evaluation-principles.md +213 -0
  9. x_ipe/resources/skills/project-quality-board-management/references/evaluation-procedures.md +214 -0
  10. x_ipe/resources/skills/project-quality-board-management/templates/quality-report.md +70 -18
  11. x_ipe/resources/skills/task-execution-guideline/SKILL.md +2 -2
  12. x_ipe/resources/skills/task-execution-guideline/templates/task-record.yaml +1 -1
  13. x_ipe/resources/skills/task-type-code-implementation/SKILL.md +72 -270
  14. x_ipe/resources/skills/task-type-code-implementation/references/implementation-guidelines.md +432 -0
  15. x_ipe/resources/skills/task-type-code-refactor-v2/SKILL.md +127 -353
  16. x_ipe/resources/skills/task-type-code-refactor-v2/references/refactoring-techniques.md +373 -0
  17. x_ipe/resources/skills/task-type-feature-breakdown/SKILL.md +31 -243
  18. x_ipe/resources/skills/task-type-feature-breakdown/references/breakdown-guidelines.md +330 -0
  19. x_ipe/resources/skills/task-type-feature-refinement/SKILL.md +27 -180
  20. x_ipe/resources/skills/task-type-feature-refinement/references/specification-writing-guide.md +267 -0
  21. x_ipe/resources/skills/task-type-idea-mockup/SKILL.md +38 -276
  22. x_ipe/resources/skills/task-type-idea-mockup/references/mockup-guidelines.md +299 -0
  23. x_ipe/resources/skills/task-type-idea-to-architecture/SKILL.md +20 -218
  24. x_ipe/resources/skills/task-type-idea-to-architecture/references/architecture-patterns.md +342 -0
  25. x_ipe/resources/skills/task-type-ideation/SKILL.md +10 -266
  26. x_ipe/resources/skills/task-type-ideation/references/folder-naming-guide.md +55 -0
  27. x_ipe/resources/skills/task-type-ideation/references/tool-usage-guide.md +236 -0
  28. x_ipe/resources/skills/task-type-ideation-v2/SKILL.md +488 -0
  29. x_ipe/resources/skills/task-type-ideation-v2/references/examples.md +377 -0
  30. x_ipe/resources/skills/task-type-ideation-v2/references/folder-naming-guide.md +74 -0
  31. x_ipe/resources/skills/task-type-ideation-v2/references/tool-usage-guide.md +145 -0
  32. x_ipe/resources/skills/task-type-ideation-v2/references/visualization-guide.md +160 -0
  33. x_ipe/resources/skills/task-type-ideation-v2/templates/idea-summary.md +86 -0
  34. x_ipe/resources/skills/task-type-refactoring-analysis/SKILL.md +83 -145
  35. x_ipe/resources/skills/task-type-refactoring-analysis/references/output-schema.md +172 -0
  36. x_ipe/resources/skills/task-type-technical-design/SKILL.md +28 -214
  37. x_ipe/resources/skills/task-type-technical-design/references/design-templates.md +422 -0
  38. x_ipe/resources/skills/task-type-test-generation/SKILL.md +47 -332
  39. x_ipe/resources/skills/task-type-test-generation/references/test-patterns.md +368 -0
  40. x_ipe/resources/skills/tool-tracing-creator/SKILL.md +312 -0
  41. x_ipe/resources/skills/tool-tracing-creator/references/examples.md +324 -0
  42. x_ipe/resources/skills/tool-tracing-instrumentation/SKILL.md +373 -0
  43. x_ipe/resources/skills/tool-tracing-instrumentation/references/examples.md +264 -0
  44. x_ipe/resources/skills/x-ipe-skill-creator-v3/SKILL.md +486 -0
  45. x_ipe/resources/skills/x-ipe-skill-creator-v3/references/10. example-gate-conditions.md +73 -0
  46. x_ipe/resources/skills/x-ipe-skill-creator-v3/references/11. reference-quality-standards.md +127 -0
  47. x_ipe/resources/skills/x-ipe-skill-creator-v3/references/2. reference-section-order.md +127 -0
  48. x_ipe/resources/skills/x-ipe-skill-creator-v3/references/3. example-step-based-code-review.md +84 -0
  49. x_ipe/resources/skills/x-ipe-skill-creator-v3/references/4. example-step-based-feature-implementation.md +113 -0
  50. x_ipe/resources/skills/x-ipe-skill-creator-v3/references/5. example-function-based-validation.md +73 -0
  51. x_ipe/resources/skills/x-ipe-skill-creator-v3/references/6. example-function-based-analysis.md +94 -0
  52. x_ipe/resources/skills/x-ipe-skill-creator-v3/references/7. example-task-io-code-implementation.md +36 -0
  53. x_ipe/resources/skills/x-ipe-skill-creator-v3/references/8. example-structured-summary.md +43 -0
  54. x_ipe/resources/skills/x-ipe-skill-creator-v3/references/9. example-dor-dod.md +77 -0
  55. x_ipe/resources/skills/x-ipe-skill-creator-v3/references/examples.md +429 -0
  56. x_ipe/resources/skills/x-ipe-skill-creator-v3/references/skill-general-guidelines-v2.md +611 -0
  57. x_ipe/resources/skills/x-ipe-skill-creator-v3/templates/skill-meta-x-ipe-meta.md +153 -0
  58. x_ipe/resources/skills/x-ipe-skill-creator-v3/templates/skill-meta-x-ipe-task-based.md +324 -0
  59. x_ipe/resources/skills/x-ipe-skill-creator-v3/templates/skill-meta-x-ipe-task-category.md +109 -0
  60. x_ipe/resources/skills/x-ipe-skill-creator-v3/templates/skill-meta-x-ipe-tool.md +205 -0
  61. x_ipe/resources/skills/x-ipe-skill-creator-v3/templates/x-ipe-meta.md +334 -0
  62. x_ipe/resources/skills/x-ipe-skill-creator-v3/templates/x-ipe-task-based.md +279 -0
  63. x_ipe/resources/skills/x-ipe-skill-creator-v3/templates/x-ipe-tool.md +175 -0
  64. x_ipe/resources/skills/x-ipe-skill-creator-v3/templates/x-ipe-workflow-orchestration.md +329 -0
  65. x_ipe/resources/skills/x-ipe-task-based-ideation/SKILL.md +487 -0
  66. x_ipe/resources/skills/x-ipe-task-based-ideation/references/examples.md +377 -0
  67. x_ipe/resources/skills/x-ipe-task-based-ideation/references/folder-naming-guide.md +74 -0
  68. x_ipe/resources/skills/x-ipe-task-based-ideation/references/tool-usage-guide.md +145 -0
  69. x_ipe/resources/skills/x-ipe-task-based-ideation/references/visualization-guide.md +160 -0
  70. x_ipe/resources/skills/x-ipe-task-based-ideation/templates/idea-summary.md +86 -0
  71. x_ipe/routes/__init__.py +2 -0
  72. x_ipe/routes/ideas_routes.py +289 -0
  73. x_ipe/routes/kb_routes.py +80 -0
  74. x_ipe/routes/main_routes.py +18 -0
  75. x_ipe/routes/project_routes.py +7 -0
  76. x_ipe/routes/proxy_routes.py +10 -2
  77. x_ipe/routes/quality_evaluation_routes.py +193 -0
  78. x_ipe/routes/settings_routes.py +6 -0
  79. x_ipe/routes/tools_routes.py +6 -0
  80. x_ipe/routes/tracing_routes.py +232 -0
  81. x_ipe/routes/uiux_feedback_routes.py +50 -0
  82. x_ipe/services/__init__.py +5 -0
  83. x_ipe/services/config_service.py +6 -0
  84. x_ipe/services/file_service.py +20 -0
  85. x_ipe/services/homepage_service.py +160 -0
  86. x_ipe/services/ideas_service.py +535 -2
  87. x_ipe/services/kb_service.py +378 -0
  88. x_ipe/services/proxy_service.py +37 -7
  89. x_ipe/services/settings_service.py +13 -0
  90. x_ipe/services/skills_service.py +4 -0
  91. x_ipe/services/terminal_service.py +24 -0
  92. x_ipe/services/themes_service.py +4 -0
  93. x_ipe/services/tools_config_service.py +4 -0
  94. x_ipe/services/tracing_service.py +333 -0
  95. x_ipe/services/uiux_feedback_service.py +148 -1
  96. x_ipe/services/voice_input_service_v2.py +11 -0
  97. x_ipe/static/css/base.css +7 -0
  98. x_ipe/static/css/homepage-infinity.css +330 -0
  99. x_ipe/static/css/kb-core.css +301 -0
  100. x_ipe/static/css/quality-evaluation.css +345 -0
  101. x_ipe/static/css/sidebar.css +14 -4
  102. x_ipe/static/css/terminal.css +23 -0
  103. x_ipe/static/css/tracing-dashboard.css +796 -0
  104. x_ipe/static/css/uiux-feedback.css +7 -1
  105. x_ipe/static/css/workplace.css +636 -0
  106. x_ipe/static/img/homepage-infinity-loop.png +0 -0
  107. x_ipe/static/js/features/confirm-dialog.js +169 -0
  108. x_ipe/static/js/features/folder-view.js +742 -0
  109. x_ipe/static/js/features/homepage-infinity.js +314 -0
  110. x_ipe/static/js/features/kb-core.js +371 -0
  111. x_ipe/static/js/features/quality-evaluation.js +387 -0
  112. x_ipe/static/js/features/sidebar.js +255 -12
  113. x_ipe/static/js/features/tracing-dashboard.js +855 -0
  114. x_ipe/static/js/features/tracing-graph.js +1031 -0
  115. x_ipe/static/js/features/tree-drag.js +227 -0
  116. x_ipe/static/js/features/tree-search.js +228 -0
  117. x_ipe/static/js/features/workplace.js +661 -33
  118. x_ipe/static/js/init.js +76 -0
  119. x_ipe/static/js/terminal-v2.js +45 -14
  120. x_ipe/static/js/terminal.js +50 -49
  121. x_ipe/static/js/uiux-feedback.js +75 -16
  122. x_ipe/templates/base.html +24 -0
  123. x_ipe/templates/index.html +10 -1
  124. x_ipe/templates/knowledge-base.html +110 -0
  125. x_ipe/templates/workplace.html +4 -0
  126. x_ipe/tracing/__init__.py +37 -0
  127. x_ipe/tracing/buffer.py +135 -0
  128. x_ipe/tracing/context.py +125 -0
  129. x_ipe/tracing/decorator.py +288 -0
  130. x_ipe/tracing/middleware.py +197 -0
  131. x_ipe/tracing/parser.py +235 -0
  132. x_ipe/tracing/redactor.py +111 -0
  133. x_ipe/tracing/writer.py +122 -0
  134. {x_ipe-1.0.23.dist-info → x_ipe-1.0.25.dist-info}/METADATA +2 -2
  135. {x_ipe-1.0.23.dist-info → x_ipe-1.0.25.dist-info}/RECORD +138 -65
  136. x_ipe/app.py.bak +0 -1333
  137. x_ipe/resources/skills/x-ipe-skill-creator/SKILL.md +0 -329
  138. x_ipe/resources/skills/x-ipe-skill-creator/references/output-patterns.md +0 -169
  139. x_ipe/resources/skills/x-ipe-skill-creator/references/skill-structure.md +0 -162
  140. x_ipe/resources/skills/x-ipe-skill-creator/references/workflows.md +0 -110
  141. x_ipe/resources/skills/x-ipe-skill-creator/templates/references/examples.md +0 -113
  142. x_ipe/resources/skills/x-ipe-skill-creator/templates/skill-category-skill.md +0 -296
  143. x_ipe/resources/skills/x-ipe-skill-creator/templates/task-type-skill.md +0 -269
  144. {x_ipe-1.0.23.dist-info → x_ipe-1.0.25.dist-info}/WHEEL +0 -0
  145. {x_ipe-1.0.23.dist-info → x_ipe-1.0.25.dist-info}/entry_points.txt +0 -0
  146. {x_ipe-1.0.23.dist-info → x_ipe-1.0.25.dist-info}/licenses/LICENSE +0 -0
@@ -0,0 +1,169 @@
1
+ /**
2
+ * ConfirmDialog - Reusable confirmation modal
3
+ * FEATURE-008 CR-006: Folder Tree UX Enhancement
4
+ *
5
+ * Usage:
6
+ * const dialog = new ConfirmDialog();
7
+ * const confirmed = await dialog.show({
8
+ * title: 'Delete Item',
9
+ * message: 'Are you sure you want to delete this item?',
10
+ * confirmText: 'Delete',
11
+ * confirmClass: 'btn-danger',
12
+ * cancelText: 'Cancel'
13
+ * });
14
+ */
15
+ class ConfirmDialog {
16
+ constructor() {
17
+ this._createModal();
18
+ }
19
+
20
+ /**
21
+ * Create the modal DOM structure
22
+ */
23
+ _createModal() {
24
+ // Check if modal already exists
25
+ if (document.getElementById('confirm-dialog-modal')) {
26
+ this.modal = document.getElementById('confirm-dialog-modal');
27
+ return;
28
+ }
29
+
30
+ const modalHtml = `
31
+ <div class="confirm-dialog-overlay" id="confirm-dialog-modal">
32
+ <div class="confirm-dialog">
33
+ <header class="confirm-dialog-header">
34
+ <h4 class="confirm-dialog-title">Confirm</h4>
35
+ </header>
36
+ <div class="confirm-dialog-body">
37
+ <p class="confirm-dialog-message"></p>
38
+ <div class="confirm-dialog-details"></div>
39
+ </div>
40
+ <footer class="confirm-dialog-footer">
41
+ <button class="confirm-dialog-btn cancel-btn">Cancel</button>
42
+ <button class="confirm-dialog-btn confirm-btn">Confirm</button>
43
+ </footer>
44
+ </div>
45
+ </div>
46
+ `;
47
+
48
+ document.body.insertAdjacentHTML('beforeend', modalHtml);
49
+ this.modal = document.getElementById('confirm-dialog-modal');
50
+ }
51
+
52
+ /**
53
+ * Show the confirmation dialog
54
+ * @param {Object} options - Dialog options
55
+ * @param {string} options.title - Dialog title
56
+ * @param {string} options.message - Main message
57
+ * @param {string} options.details - Additional details (optional)
58
+ * @param {string} options.confirmText - Confirm button text (default: 'Confirm')
59
+ * @param {string} options.confirmClass - Confirm button class (default: 'primary')
60
+ * @param {string} options.cancelText - Cancel button text (default: 'Cancel')
61
+ * @returns {Promise<boolean>} - True if confirmed, false if cancelled
62
+ */
63
+ show(options = {}) {
64
+ return new Promise((resolve) => {
65
+ const {
66
+ title = 'Confirm',
67
+ message = 'Are you sure?',
68
+ details = '',
69
+ confirmText = 'Confirm',
70
+ confirmClass = 'primary',
71
+ cancelText = 'Cancel'
72
+ } = options;
73
+
74
+ // Update content
75
+ this.modal.querySelector('.confirm-dialog-title').textContent = title;
76
+ this.modal.querySelector('.confirm-dialog-message').textContent = message;
77
+
78
+ const detailsEl = this.modal.querySelector('.confirm-dialog-details');
79
+ if (details) {
80
+ detailsEl.innerHTML = details;
81
+ detailsEl.style.display = 'block';
82
+ } else {
83
+ detailsEl.style.display = 'none';
84
+ }
85
+
86
+ const confirmBtn = this.modal.querySelector('.confirm-btn');
87
+ confirmBtn.textContent = confirmText;
88
+ confirmBtn.className = `confirm-dialog-btn confirm-btn ${confirmClass}`;
89
+
90
+ this.modal.querySelector('.cancel-btn').textContent = cancelText;
91
+
92
+ // Show modal
93
+ this.modal.classList.add('visible');
94
+
95
+ // Handle button clicks
96
+ const handleConfirm = () => {
97
+ cleanup();
98
+ resolve(true);
99
+ };
100
+
101
+ const handleCancel = () => {
102
+ cleanup();
103
+ resolve(false);
104
+ };
105
+
106
+ const handleKeydown = (e) => {
107
+ if (e.key === 'Escape') {
108
+ handleCancel();
109
+ } else if (e.key === 'Enter') {
110
+ handleConfirm();
111
+ }
112
+ };
113
+
114
+ const handleOverlayClick = (e) => {
115
+ if (e.target === this.modal) {
116
+ handleCancel();
117
+ }
118
+ };
119
+
120
+ const cleanup = () => {
121
+ this.modal.classList.remove('visible');
122
+ confirmBtn.removeEventListener('click', handleConfirm);
123
+ this.modal.querySelector('.cancel-btn').removeEventListener('click', handleCancel);
124
+ document.removeEventListener('keydown', handleKeydown);
125
+ this.modal.removeEventListener('click', handleOverlayClick);
126
+ };
127
+
128
+ confirmBtn.addEventListener('click', handleConfirm);
129
+ this.modal.querySelector('.cancel-btn').addEventListener('click', handleCancel);
130
+ document.addEventListener('keydown', handleKeydown);
131
+ this.modal.addEventListener('click', handleOverlayClick);
132
+
133
+ // Focus confirm button for keyboard accessibility
134
+ setTimeout(() => confirmBtn.focus(), 100);
135
+ });
136
+ }
137
+
138
+ /**
139
+ * Convenience method for delete confirmation
140
+ * @param {string} itemName - Name of item to delete
141
+ * @param {string} itemType - Type of item ('file' or 'folder')
142
+ * @param {number} itemCount - Number of items (for folders)
143
+ * @returns {Promise<boolean>}
144
+ */
145
+ confirmDelete(itemName, itemType = 'file', itemCount = 1) {
146
+ const isFolder = itemType === 'folder';
147
+ let details = '';
148
+
149
+ if (isFolder && itemCount > 0) {
150
+ details = `<p class="confirm-dialog-warning">
151
+ <i class="bi bi-exclamation-triangle"></i>
152
+ This folder contains ${itemCount} item${itemCount !== 1 ? 's' : ''} that will also be deleted.
153
+ </p>`;
154
+ }
155
+
156
+ return this.show({
157
+ title: `Delete ${isFolder ? 'Folder' : 'File'}`,
158
+ message: `Are you sure you want to delete "${itemName}"?`,
159
+ details,
160
+ confirmText: 'Delete',
161
+ confirmClass: 'danger'
162
+ });
163
+ }
164
+ }
165
+
166
+ // Export for module usage
167
+ if (typeof module !== 'undefined' && module.exports) {
168
+ module.exports = ConfirmDialog;
169
+ }