@liangjie559567/ultrapower 7.1.0 → 7.2.0

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 (228) hide show
  1. package/.claude-plugin/marketplace.json +2 -2
  2. package/.claude-plugin/plugin.json +1 -1
  3. package/bridge/codex-server.cjs +1 -0
  4. package/bridge/gemini-server.cjs +1 -0
  5. package/bridge/team-bridge.cjs +1 -0
  6. package/dist/cli/commands/config-notify-profile.d.ts.map +1 -1
  7. package/dist/cli/commands/config-notify-profile.js.map +1 -1
  8. package/dist/cli/commands/config-stop-callback.d.ts.map +1 -1
  9. package/dist/cli/commands/config-stop-callback.js +1 -1
  10. package/dist/cli/commands/config-stop-callback.js.map +1 -1
  11. package/dist/cli/commands/dashboard.d.ts.map +1 -1
  12. package/dist/cli/commands/dashboard.js.map +1 -1
  13. package/dist/cli/index.js +1 -1
  14. package/dist/cli/index.js.map +1 -1
  15. package/dist/cli/progress/examples.js.map +1 -1
  16. package/dist/cli/tutorial/index.js.map +1 -1
  17. package/dist/cli/utils/test-prompt.d.ts +1 -1
  18. package/dist/cli/utils/test-prompt.d.ts.map +1 -1
  19. package/dist/cli/utils/test-prompt.js +1 -1
  20. package/dist/cli/utils/test-prompt.js.map +1 -1
  21. package/dist/features/analytics-dashboard/dashboard.d.ts +4 -0
  22. package/dist/features/analytics-dashboard/dashboard.d.ts.map +1 -0
  23. package/dist/features/analytics-dashboard/dashboard.js +24 -0
  24. package/dist/features/analytics-dashboard/dashboard.js.map +1 -0
  25. package/dist/features/analytics-dashboard/index.d.ts +7 -0
  26. package/dist/features/analytics-dashboard/index.d.ts.map +1 -0
  27. package/dist/features/analytics-dashboard/index.js +5 -0
  28. package/dist/features/analytics-dashboard/index.js.map +1 -0
  29. package/dist/features/analytics-dashboard/metrics-collector.d.ts +7 -0
  30. package/dist/features/analytics-dashboard/metrics-collector.d.ts.map +1 -0
  31. package/dist/features/analytics-dashboard/metrics-collector.js +58 -0
  32. package/dist/features/analytics-dashboard/metrics-collector.js.map +1 -0
  33. package/dist/features/analytics-dashboard/storage.d.ts +6 -0
  34. package/dist/features/analytics-dashboard/storage.d.ts.map +1 -0
  35. package/dist/features/analytics-dashboard/storage.js +20 -0
  36. package/dist/features/analytics-dashboard/storage.js.map +1 -0
  37. package/dist/features/analytics-dashboard/tracker.d.ts +11 -0
  38. package/dist/features/analytics-dashboard/tracker.d.ts.map +1 -0
  39. package/dist/features/analytics-dashboard/tracker.js +17 -0
  40. package/dist/features/analytics-dashboard/tracker.js.map +1 -0
  41. package/dist/features/analytics-dashboard/types.d.ts +20 -0
  42. package/dist/features/analytics-dashboard/types.d.ts.map +1 -0
  43. package/dist/features/analytics-dashboard/types.js +2 -0
  44. package/dist/features/analytics-dashboard/types.js.map +1 -0
  45. package/dist/features/assumption-validator/index.d.ts +3 -0
  46. package/dist/features/assumption-validator/index.d.ts.map +1 -0
  47. package/dist/features/assumption-validator/index.js +3 -0
  48. package/dist/features/assumption-validator/index.js.map +1 -0
  49. package/dist/features/assumption-validator/lsp-checker.d.ts +6 -0
  50. package/dist/features/assumption-validator/lsp-checker.d.ts.map +1 -0
  51. package/dist/features/assumption-validator/lsp-checker.js +18 -0
  52. package/dist/features/assumption-validator/lsp-checker.js.map +1 -0
  53. package/dist/features/assumption-validator/validator.d.ts +14 -0
  54. package/dist/features/assumption-validator/validator.d.ts.map +1 -0
  55. package/dist/features/assumption-validator/validator.js +9 -0
  56. package/dist/features/assumption-validator/validator.js.map +1 -0
  57. package/dist/features/document-lifecycle/archiver.js.map +1 -1
  58. package/dist/features/document-lifecycle/versioning.js +1 -1
  59. package/dist/features/document-lifecycle/versioning.js.map +1 -1
  60. package/dist/features/onboarding/achievements.d.ts +2 -0
  61. package/dist/features/onboarding/achievements.d.ts.map +1 -0
  62. package/dist/features/onboarding/achievements.js +33 -0
  63. package/dist/features/onboarding/achievements.js.map +1 -0
  64. package/dist/features/onboarding/analytics.d.ts +5 -0
  65. package/dist/features/onboarding/analytics.d.ts.map +1 -0
  66. package/dist/features/onboarding/analytics.js +23 -0
  67. package/dist/features/onboarding/analytics.js.map +1 -0
  68. package/dist/features/onboarding/index.d.ts +5 -0
  69. package/dist/features/onboarding/index.d.ts.map +1 -0
  70. package/dist/features/onboarding/index.js +5 -0
  71. package/dist/features/onboarding/index.js.map +1 -0
  72. package/dist/features/onboarding/scenario-runner.d.ts +8 -0
  73. package/dist/features/onboarding/scenario-runner.d.ts.map +1 -0
  74. package/dist/features/onboarding/scenario-runner.js +27 -0
  75. package/dist/features/onboarding/scenario-runner.js.map +1 -0
  76. package/dist/features/onboarding/scenarios/debug.d.ts +3 -0
  77. package/dist/features/onboarding/scenarios/debug.d.ts.map +1 -0
  78. package/dist/features/onboarding/scenarios/debug.js +34 -0
  79. package/dist/features/onboarding/scenarios/debug.js.map +1 -0
  80. package/dist/features/onboarding/scenarios/implement.d.ts +3 -0
  81. package/dist/features/onboarding/scenarios/implement.d.ts.map +1 -0
  82. package/dist/features/onboarding/scenarios/implement.js +27 -0
  83. package/dist/features/onboarding/scenarios/implement.js.map +1 -0
  84. package/dist/features/onboarding/scenarios/refactor.d.ts +3 -0
  85. package/dist/features/onboarding/scenarios/refactor.d.ts.map +1 -0
  86. package/dist/features/onboarding/scenarios/refactor.js +36 -0
  87. package/dist/features/onboarding/scenarios/refactor.js.map +1 -0
  88. package/dist/features/onboarding/scenarios/review.d.ts +3 -0
  89. package/dist/features/onboarding/scenarios/review.d.ts.map +1 -0
  90. package/dist/features/onboarding/scenarios/review.js +27 -0
  91. package/dist/features/onboarding/scenarios/review.js.map +1 -0
  92. package/dist/features/onboarding/scenarios/security.d.ts +3 -0
  93. package/dist/features/onboarding/scenarios/security.d.ts.map +1 -0
  94. package/dist/features/onboarding/scenarios/security.js +29 -0
  95. package/dist/features/onboarding/scenarios/security.js.map +1 -0
  96. package/dist/features/onboarding/scenarios/team.d.ts +3 -0
  97. package/dist/features/onboarding/scenarios/team.d.ts.map +1 -0
  98. package/dist/features/onboarding/scenarios/team.js +29 -0
  99. package/dist/features/onboarding/scenarios/team.js.map +1 -0
  100. package/dist/features/onboarding/state-manager.d.ts +7 -0
  101. package/dist/features/onboarding/state-manager.d.ts.map +1 -0
  102. package/dist/features/onboarding/state-manager.js +25 -0
  103. package/dist/features/onboarding/state-manager.js.map +1 -0
  104. package/dist/features/onboarding/tutorial.d.ts +10 -0
  105. package/dist/features/onboarding/tutorial.d.ts.map +1 -0
  106. package/dist/features/onboarding/tutorial.js +107 -0
  107. package/dist/features/onboarding/tutorial.js.map +1 -0
  108. package/dist/features/onboarding/types.d.ts +30 -0
  109. package/dist/features/onboarding/types.d.ts.map +1 -0
  110. package/dist/features/onboarding/types.js +2 -0
  111. package/dist/features/onboarding/types.js.map +1 -0
  112. package/dist/features/personalized-recommendation/behavior-tracker.d.ts +8 -0
  113. package/dist/features/personalized-recommendation/behavior-tracker.d.ts.map +1 -0
  114. package/dist/features/personalized-recommendation/behavior-tracker.js +32 -0
  115. package/dist/features/personalized-recommendation/behavior-tracker.js.map +1 -0
  116. package/dist/features/personalized-recommendation/index.d.ts +4 -0
  117. package/dist/features/personalized-recommendation/index.d.ts.map +1 -0
  118. package/dist/features/personalized-recommendation/index.js +3 -0
  119. package/dist/features/personalized-recommendation/index.js.map +1 -0
  120. package/dist/features/personalized-recommendation/recommender.d.ts +5 -0
  121. package/dist/features/personalized-recommendation/recommender.d.ts.map +1 -0
  122. package/dist/features/personalized-recommendation/recommender.js +25 -0
  123. package/dist/features/personalized-recommendation/recommender.js.map +1 -0
  124. package/dist/features/personalized-recommendation/types.d.ts +19 -0
  125. package/dist/features/personalized-recommendation/types.d.ts.map +1 -0
  126. package/dist/features/personalized-recommendation/types.js +2 -0
  127. package/dist/features/personalized-recommendation/types.js.map +1 -0
  128. package/dist/features/quality-gate/audit-logger.d.ts +2 -0
  129. package/dist/features/quality-gate/audit-logger.d.ts.map +1 -0
  130. package/dist/features/quality-gate/audit-logger.js +10 -0
  131. package/dist/features/quality-gate/audit-logger.js.map +1 -0
  132. package/dist/features/quality-gate/gate-checker.d.ts +7 -0
  133. package/dist/features/quality-gate/gate-checker.d.ts.map +1 -0
  134. package/dist/features/quality-gate/gate-checker.js +36 -0
  135. package/dist/features/quality-gate/gate-checker.js.map +1 -0
  136. package/dist/features/quality-gate/index.d.ts +3 -0
  137. package/dist/features/quality-gate/index.d.ts.map +1 -0
  138. package/dist/features/quality-gate/index.js +3 -0
  139. package/dist/features/quality-gate/index.js.map +1 -0
  140. package/dist/features/session-recovery/index.d.ts +20 -0
  141. package/dist/features/session-recovery/index.d.ts.map +1 -0
  142. package/dist/features/session-recovery/index.js +23 -0
  143. package/dist/features/session-recovery/index.js.map +1 -0
  144. package/dist/features/session-recovery/knowledge-retriever.d.ts +12 -0
  145. package/dist/features/session-recovery/knowledge-retriever.d.ts.map +1 -0
  146. package/dist/features/session-recovery/knowledge-retriever.js +74 -0
  147. package/dist/features/session-recovery/knowledge-retriever.js.map +1 -0
  148. package/dist/features/session-recovery/session-detector.d.ts +12 -0
  149. package/dist/features/session-recovery/session-detector.d.ts.map +1 -0
  150. package/dist/features/session-recovery/session-detector.js +30 -0
  151. package/dist/features/session-recovery/session-detector.js.map +1 -0
  152. package/dist/features/speckit-core/constitution.d.ts.map +1 -1
  153. package/dist/features/speckit-core/constitution.js +17 -15
  154. package/dist/features/speckit-core/constitution.js.map +1 -1
  155. package/dist/features/speckit-core/plan.d.ts.map +1 -1
  156. package/dist/features/speckit-core/plan.js +19 -18
  157. package/dist/features/speckit-core/plan.js.map +1 -1
  158. package/dist/features/speckit-core/specify.d.ts +1 -1
  159. package/dist/features/speckit-core/specify.d.ts.map +1 -1
  160. package/dist/features/speckit-core/specify.js +1 -1
  161. package/dist/features/speckit-core/specify.js.map +1 -1
  162. package/dist/features/speckit-core/tasks.d.ts.map +1 -1
  163. package/dist/features/speckit-core/tasks.js +0 -1
  164. package/dist/features/speckit-core/tasks.js.map +1 -1
  165. package/dist/features/speckit-integration/axiom-bridge.d.ts.map +1 -1
  166. package/dist/features/speckit-integration/axiom-bridge.js.map +1 -1
  167. package/dist/features/speckit-integration/recommender.js.map +1 -1
  168. package/dist/features/speckit-integration/router.d.ts.map +1 -1
  169. package/dist/features/speckit-integration/router.js.map +1 -1
  170. package/dist/features/state-manager/progress-tracker.d.ts.map +1 -1
  171. package/dist/features/state-manager/progress-tracker.js.map +1 -1
  172. package/dist/features/workflow-recommender/auto-selector.d.ts +9 -0
  173. package/dist/features/workflow-recommender/auto-selector.d.ts.map +1 -0
  174. package/dist/features/workflow-recommender/auto-selector.js +23 -0
  175. package/dist/features/workflow-recommender/auto-selector.js.map +1 -0
  176. package/dist/features/workflow-recommender/context-enhancer.d.ts +14 -0
  177. package/dist/features/workflow-recommender/context-enhancer.d.ts.map +1 -0
  178. package/dist/features/workflow-recommender/context-enhancer.js +40 -0
  179. package/dist/features/workflow-recommender/context-enhancer.js.map +1 -0
  180. package/dist/features/workflow-recommender/executor.d.ts +4 -0
  181. package/dist/features/workflow-recommender/executor.d.ts.map +1 -0
  182. package/dist/features/workflow-recommender/executor.js +10 -0
  183. package/dist/features/workflow-recommender/executor.js.map +1 -0
  184. package/dist/features/workflow-recommender/git-analyzer.d.ts +5 -0
  185. package/dist/features/workflow-recommender/git-analyzer.d.ts.map +1 -0
  186. package/dist/features/workflow-recommender/git-analyzer.js +22 -0
  187. package/dist/features/workflow-recommender/git-analyzer.js.map +1 -0
  188. package/dist/features/workflow-recommender/index.d.ts +5 -8
  189. package/dist/features/workflow-recommender/index.d.ts.map +1 -1
  190. package/dist/features/workflow-recommender/index.js +4 -5
  191. package/dist/features/workflow-recommender/index.js.map +1 -1
  192. package/dist/features/workflow-recommender/intent-classifier.d.ts +2 -5
  193. package/dist/features/workflow-recommender/intent-classifier.d.ts.map +1 -1
  194. package/dist/features/workflow-recommender/intent-classifier.js +21 -21
  195. package/dist/features/workflow-recommender/intent-classifier.js.map +1 -1
  196. package/dist/features/workflow-recommender/types.d.ts +29 -17
  197. package/dist/features/workflow-recommender/types.d.ts.map +1 -1
  198. package/dist/features/workflow-recommender/types.js +0 -3
  199. package/dist/features/workflow-recommender/types.js.map +1 -1
  200. package/dist/hooks/workflow-gate/assumption-extractor.d.ts +6 -0
  201. package/dist/hooks/workflow-gate/assumption-extractor.d.ts.map +1 -0
  202. package/dist/hooks/workflow-gate/assumption-extractor.js +27 -0
  203. package/dist/hooks/workflow-gate/assumption-extractor.js.map +1 -0
  204. package/dist/hooks/workflow-gate/git-helper.d.ts +5 -0
  205. package/dist/hooks/workflow-gate/git-helper.d.ts.map +1 -0
  206. package/dist/hooks/workflow-gate/git-helper.js +22 -0
  207. package/dist/hooks/workflow-gate/git-helper.js.map +1 -0
  208. package/dist/hooks/workflow-gate/index.d.ts +6 -0
  209. package/dist/hooks/workflow-gate/index.d.ts.map +1 -1
  210. package/dist/hooks/workflow-gate/index.js +70 -1
  211. package/dist/hooks/workflow-gate/index.js.map +1 -1
  212. package/dist/hooks/workflow-gate/quality-gate-sync.d.ts +10 -0
  213. package/dist/hooks/workflow-gate/quality-gate-sync.d.ts.map +1 -0
  214. package/dist/hooks/workflow-gate/quality-gate-sync.js +39 -0
  215. package/dist/hooks/workflow-gate/quality-gate-sync.js.map +1 -0
  216. package/dist/lib/file-lock.js +1 -1
  217. package/dist/lib/file-lock.js.map +1 -1
  218. package/dist/workers/factory.d.ts.map +1 -1
  219. package/dist/workers/factory.js +1 -0
  220. package/dist/workers/factory.js.map +1 -1
  221. package/docs/CLAUDE.md +1 -1
  222. package/docs/INSTALL.md +2 -2
  223. package/docs/REFERENCE.md +1 -1
  224. package/docs/standards/README.md +1 -1
  225. package/package.json +1 -1
  226. package/scripts/e2e-bridge-cli.mjs +108 -0
  227. package/scripts/verify-coverage.sh +33 -0
  228. package/skills/tutorial/SKILL.md +32 -0
@@ -0,0 +1,6 @@
1
+ import type { Assumption } from '../../features/assumption-validator/index.js';
2
+ /**
3
+ * Extract assumptions from plan file
4
+ */
5
+ export declare function extractAssumptionsFromPlan(workingDir: string): Assumption[];
6
+ //# sourceMappingURL=assumption-extractor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assumption-extractor.d.ts","sourceRoot":"","sources":["../../../src/hooks/workflow-gate/assumption-extractor.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,8CAA8C,CAAC;AAE/E;;GAEG;AACH,wBAAgB,0BAA0B,CAAC,UAAU,EAAE,MAAM,GAAG,UAAU,EAAE,CAyB3E"}
@@ -0,0 +1,27 @@
1
+ import { readFileSync, existsSync } from 'fs';
2
+ import { join } from 'path';
3
+ /**
4
+ * Extract assumptions from plan file
5
+ */
6
+ export function extractAssumptionsFromPlan(workingDir) {
7
+ const planPath = join(workingDir, '.omc/plans/plan.md');
8
+ if (!existsSync(planPath)) {
9
+ return [];
10
+ }
11
+ const content = readFileSync(planPath, 'utf-8');
12
+ const assumptions = [];
13
+ // Match patterns like "Assumption: ..." or "假设: ..."
14
+ const assumptionRegex = /(?:Assumption|假设):\s*(.+?)(?:\n|$)/gi;
15
+ let match;
16
+ let id = 1;
17
+ while ((match = assumptionRegex.exec(content)) !== null) {
18
+ assumptions.push({
19
+ id: `assumption-${id++}`,
20
+ description: match[1].trim(),
21
+ verificationMethod: 'code',
22
+ verified: false
23
+ });
24
+ }
25
+ return assumptions;
26
+ }
27
+ //# sourceMappingURL=assumption-extractor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assumption-extractor.js","sourceRoot":"","sources":["../../../src/hooks/workflow-gate/assumption-extractor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAC9C,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAG5B;;GAEG;AACH,MAAM,UAAU,0BAA0B,CAAC,UAAkB;IAC3D,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,EAAE,oBAAoB,CAAC,CAAC;IAExD,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC1B,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,OAAO,GAAG,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAChD,MAAM,WAAW,GAAiB,EAAE,CAAC;IAErC,qDAAqD;IACrD,MAAM,eAAe,GAAG,sCAAsC,CAAC;IAC/D,IAAI,KAAK,CAAC;IACV,IAAI,EAAE,GAAG,CAAC,CAAC;IAEX,OAAO,CAAC,KAAK,GAAG,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QACxD,WAAW,CAAC,IAAI,CAAC;YACf,EAAE,EAAE,cAAc,EAAE,EAAE,EAAE;YACxB,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;YAC5B,kBAAkB,EAAE,MAAM;YAC1B,QAAQ,EAAE,KAAK;SAChB,CAAC,CAAC;IACL,CAAC;IAED,OAAO,WAAW,CAAC;AACrB,CAAC"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Get list of changed files in working directory
3
+ */
4
+ export declare function getChangedFiles(workingDir: string): string[];
5
+ //# sourceMappingURL=git-helper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"git-helper.d.ts","sourceRoot":"","sources":["../../../src/hooks/workflow-gate/git-helper.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,wBAAgB,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE,CAe5D"}
@@ -0,0 +1,22 @@
1
+ import { execSync } from 'child_process';
2
+ import { join } from 'path';
3
+ /**
4
+ * Get list of changed files in working directory
5
+ */
6
+ export function getChangedFiles(workingDir) {
7
+ try {
8
+ const output = execSync('git diff --name-only HEAD', {
9
+ cwd: workingDir,
10
+ encoding: 'utf-8'
11
+ });
12
+ return output
13
+ .split('\n')
14
+ .map(f => f.trim())
15
+ .filter(f => f.length > 0)
16
+ .map(f => join(workingDir, f));
17
+ }
18
+ catch {
19
+ return [];
20
+ }
21
+ }
22
+ //# sourceMappingURL=git-helper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"git-helper.js","sourceRoot":"","sources":["../../../src/hooks/workflow-gate/git-helper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAE5B;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,UAAkB;IAChD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,QAAQ,CAAC,2BAA2B,EAAE;YACnD,GAAG,EAAE,UAAU;YACf,QAAQ,EAAE,OAAO;SAClB,CAAC,CAAC;QAEH,OAAO,MAAM;aACV,KAAK,CAAC,IAAI,CAAC;aACX,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;aAClB,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;aACzB,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC;IACnC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC"}
@@ -23,6 +23,8 @@ export interface WorkflowState {
23
23
  securityReviewComplete: boolean;
24
24
  performanceReviewComplete: boolean;
25
25
  verificationComplete: boolean;
26
+ assumptionsValidated: boolean;
27
+ qualityGatePassed: boolean;
26
28
  lastStage: string;
27
29
  timestamp: number;
28
30
  }
@@ -97,6 +99,10 @@ export declare function detectPerformanceSensitive(prompt: string): boolean;
97
99
  * Detect if user is trying to use executing-plans or subagent-driven-development
98
100
  */
99
101
  export declare function detectPlanExecutionSkill(prompt: string): boolean;
102
+ /**
103
+ * Detect if user is requesting verification
104
+ */
105
+ export declare function detectVerificationIntent(prompt: string): boolean;
100
106
  /**
101
107
  * Detect if user is asking a vague question that needs brainstorming
102
108
  */
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/hooks/workflow-gate/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAKH,MAAM,WAAW,aAAa;IAC5B,qBAAqB,EAAE,OAAO,CAAC;IAC/B,WAAW,EAAE,OAAO,CAAC;IACrB,eAAe,EAAE,OAAO,CAAC;IACzB,YAAY,EAAE,OAAO,CAAC;IACtB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,eAAe,EAAE,OAAO,CAAC;IACzB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,sBAAsB,EAAE,OAAO,CAAC;IAChC,yBAAyB,EAAE,OAAO,CAAC;IACnC,oBAAoB,EAAE,OAAO,CAAC;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,kBAAkB,CAAC;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,OAAO,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAID;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAE/D;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI,CAY1E;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,GAAG,IAAI,CASjF;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,aAAa,CAkBnE;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CASlE;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAQ7D;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAGnE;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAG1D;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAG3D;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAGhE;AAED;;GAEG;AACH,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAGpE;AAED;;GAEG;AACH,wBAAgB,+BAA+B,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAGvE;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAO/D;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAOlE;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAKhE;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAuB1D;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,aAAa,GAAG,MAAM,GAAG,IAAI,CAkCnE;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,iBAAiB,GAAG,kBAAkB,CAwIhF;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAK3D"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/hooks/workflow-gate/index.ts"],"names":[],"mappings":"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"}
@@ -14,6 +14,10 @@
14
14
  */
15
15
  import { readFileSync, existsSync, writeFileSync } from 'fs';
16
16
  import { join } from 'path';
17
+ import { validateAssumptions } from '../../features/assumption-validator/index.js';
18
+ import { extractAssumptionsFromPlan } from './assumption-extractor.js';
19
+ import { getChangedFiles } from './git-helper.js';
20
+ import { runQualityGateSync } from './quality-gate-sync.js';
17
21
  const WORKFLOW_STATE_FILE = '.omc/workflow-state.json';
18
22
  /**
19
23
  * Get workflow state file path
@@ -63,6 +67,8 @@ export function initWorkflowState(workingDir) {
63
67
  securityReviewComplete: false,
64
68
  performanceReviewComplete: false,
65
69
  verificationComplete: false,
70
+ assumptionsValidated: false,
71
+ qualityGatePassed: false,
66
72
  lastStage: 'init',
67
73
  timestamp: Date.now()
68
74
  };
@@ -165,6 +171,17 @@ export function detectPlanExecutionSkill(prompt) {
165
171
  prompt.includes('/ultrapower:executing-plans') ||
166
172
  prompt.includes('/ultrapower:subagent-driven-development');
167
173
  }
174
+ /**
175
+ * Detect if user is requesting verification
176
+ */
177
+ export function detectVerificationIntent(prompt) {
178
+ const verificationKeywords = [
179
+ 'verify', 'verification', 'validate', 'check complete',
180
+ '验证', '检查完成'
181
+ ];
182
+ const lowerPrompt = prompt.toLowerCase();
183
+ return verificationKeywords.some(kw => lowerPrompt.includes(kw) || prompt.includes(kw));
184
+ }
168
185
  /**
169
186
  * Detect if user is asking a vague question that needs brainstorming
170
187
  */
@@ -181,7 +198,7 @@ export function detectVagueRequest(prompt) {
181
198
  return false;
182
199
  }
183
200
  // Require minimum length (count characters, not bytes)
184
- if ([...prompt].length < 8) {
201
+ if (Array.from(prompt).length < 8) {
185
202
  return false;
186
203
  }
187
204
  return hasVaguePattern;
@@ -289,6 +306,25 @@ export function processWorkflowGate(input) {
289
306
  message: '⚠️ Workflow Gate: TDD 要求在实现前先编写测试。自动注入 test-driven-development skill。'
290
307
  };
291
308
  }
309
+ // Gate 2.6: Execution without validating assumptions (NEW - Phase 2)
310
+ if (detectExecutionIntent(prompt) && state.planWritten && !state.assumptionsValidated) {
311
+ const assumptions = extractAssumptionsFromPlan(workingDirectory);
312
+ if (assumptions.length > 0) {
313
+ const result = validateAssumptions(assumptions);
314
+ if (!result.valid && result.shouldStop) {
315
+ state.assumptionsValidated = false;
316
+ writeWorkflowState(workingDirectory, state);
317
+ return {
318
+ success: true,
319
+ shouldBlock: true,
320
+ injectedSkill: 'assumption-validator',
321
+ message: `⚠️ Workflow Gate: 发现 ${result.failedAssumptions.length} 个未验证的假设,必须先验证。`
322
+ };
323
+ }
324
+ }
325
+ state.assumptionsValidated = true;
326
+ writeWorkflowState(workingDirectory, state);
327
+ }
292
328
  // Gate 3: Using executing-plans or subagent-driven-development without plan
293
329
  if (detectPlanExecutionSkill(prompt) && !state.planWritten) {
294
330
  return {
@@ -307,6 +343,39 @@ export function processWorkflowGate(input) {
307
343
  message: '⚠️ Workflow Gate: 验证前必须先完成代码审查。自动注入 code-review skill。'
308
344
  };
309
345
  }
346
+ // Gate 4.5: Verification without quality gate (NEW - Phase 2)
347
+ if (detectVerificationIntent(prompt) && state.codeReviewComplete && !state.qualityGatePassed) {
348
+ const skipRequested = prompt.includes('skip quality') || prompt.includes('跳过质量');
349
+ if (!skipRequested) {
350
+ const changedFiles = getChangedFiles(workingDirectory);
351
+ if (changedFiles.length > 0) {
352
+ try {
353
+ const result = runQualityGateSync(changedFiles, workingDirectory, false);
354
+ if (!result.passed) {
355
+ return {
356
+ success: true,
357
+ shouldBlock: true,
358
+ message: `⚠️ Workflow Gate: 质量门禁未通过 (得分: ${result.score}/100)\n问题:\n${result.issues.slice(0, 5).map(i => ` - ${i}`).join('\n')}`
359
+ };
360
+ }
361
+ state.qualityGatePassed = true;
362
+ writeWorkflowState(workingDirectory, state);
363
+ }
364
+ catch (error) {
365
+ state.qualityGatePassed = true;
366
+ writeWorkflowState(workingDirectory, state);
367
+ }
368
+ }
369
+ else {
370
+ state.qualityGatePassed = true;
371
+ writeWorkflowState(workingDirectory, state);
372
+ }
373
+ }
374
+ else {
375
+ state.qualityGatePassed = true;
376
+ writeWorkflowState(workingDirectory, state);
377
+ }
378
+ }
310
379
  // Gate 5: Security review for sensitive code
311
380
  if (detectSecuritySensitive(prompt) && state.executionStarted && !state.securityReviewComplete) {
312
381
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/hooks/workflow-gate/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/hooks/workflow-gate/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ export interface QualityCheckResult {
2
+ passed: boolean;
3
+ issues: string[];
4
+ score: number;
5
+ }
6
+ /**
7
+ * Synchronous quality gate check for hook context
8
+ */
9
+ export declare function runQualityGateSync(files: string[], cwd: string, skipRequested?: boolean): QualityCheckResult;
10
+ //# sourceMappingURL=quality-gate-sync.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"quality-gate-sync.d.ts","sourceRoot":"","sources":["../../../src/hooks/workflow-gate/quality-gate-sync.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,MAAM,EAAE,EACf,GAAG,EAAE,MAAM,EACX,aAAa,CAAC,EAAE,OAAO,GACtB,kBAAkB,CAsCpB"}
@@ -0,0 +1,39 @@
1
+ import { readFileSync } from 'fs';
2
+ /**
3
+ * Synchronous quality gate check for hook context
4
+ */
5
+ export function runQualityGateSync(files, cwd, skipRequested) {
6
+ if (skipRequested) {
7
+ return { passed: true, issues: [], score: 100 };
8
+ }
9
+ const issues = [];
10
+ let score = 100;
11
+ for (const file of files) {
12
+ if (!file.endsWith('.ts') && !file.endsWith('.js'))
13
+ continue;
14
+ try {
15
+ const content = readFileSync(file, 'utf8');
16
+ if (content.includes('TODO') || content.includes('FIXME')) {
17
+ issues.push(`${file}: Contains TODO/FIXME`);
18
+ score -= 10;
19
+ }
20
+ if (content.includes('console.log')) {
21
+ issues.push(`${file}: Contains console.log`);
22
+ score -= 5;
23
+ }
24
+ if (content.includes(': any')) {
25
+ issues.push(`${file}: Uses 'any' type`);
26
+ score -= 5;
27
+ }
28
+ }
29
+ catch {
30
+ // Skip files that can't be read
31
+ }
32
+ }
33
+ return {
34
+ passed: score >= 60,
35
+ issues,
36
+ score: Math.max(0, score)
37
+ };
38
+ }
39
+ //# sourceMappingURL=quality-gate-sync.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"quality-gate-sync.js","sourceRoot":"","sources":["../../../src/hooks/workflow-gate/quality-gate-sync.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAQlC;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAChC,KAAe,EACf,GAAW,EACX,aAAuB;IAEvB,IAAI,aAAa,EAAE,CAAC;QAClB,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;IAClD,CAAC;IAED,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,IAAI,KAAK,GAAG,GAAG,CAAC;IAEhB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;YAAE,SAAS;QAE7D,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YAE3C,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC1D,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,uBAAuB,CAAC,CAAC;gBAC5C,KAAK,IAAI,EAAE,CAAC;YACd,CAAC;YAED,IAAI,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;gBACpC,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,wBAAwB,CAAC,CAAC;gBAC7C,KAAK,IAAI,CAAC,CAAC;YACb,CAAC;YAED,IAAI,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC9B,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,mBAAmB,CAAC,CAAC;gBACxC,KAAK,IAAI,CAAC,CAAC;YACb,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,gCAAgC;QAClC,CAAC;IACH,CAAC;IAED,OAAO;QACL,MAAM,EAAE,KAAK,IAAI,EAAE;QACnB,MAAM;QACN,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC;KAC1B,CAAC;AACJ,CAAC"}
@@ -130,7 +130,7 @@ export function withFileLockSync(filePath, fn, maxRetries = 20) {
130
130
  catch (err) {
131
131
  const nodeErr = err;
132
132
  if (nodeErr.code !== 'ENOENT' && nodeErr.code !== 'ENOTEMPTY') {
133
- throw err;
133
+ console.warn(`Failed to remove lock: ${nodeErr.message}`);
134
134
  }
135
135
  }
136
136
  }
@@ -1 +1 @@
1
- {"version":3,"file":"file-lock.js","sourceRoot":"","sources":["../../src/lib/file-lock.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAO7B;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,QAAgB,EAChB,UAAkB,KAAK;IAEvB,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;IAElD,MAAM,UAAU,GAAG,GAAS,EAAE;QAC5B,IAAI,CAAC;YACH,oCAAoC;YACpC,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QACzB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,OAAO,GAAG,GAA4B,CAAC;YAC7C,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC9B,MAAM,GAAG,CAAC;YACZ,CAAC;YAED,iBAAiB;YACjB,IAAI,IAAI,GAAoB,IAAI,CAAC;YACjC,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;gBAC9C,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAa,CAAC;YACrC,CAAC;YAAC,MAAM,CAAC;gBACP,6BAA6B;YAC/B,CAAC;YAED,MAAM,OAAO,GACX,IAAI,KAAK,IAAI,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC;YAEzD,IAAI,OAAO,EAAE,CAAC;gBACZ,eAAe;gBACf,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;gBACtD,UAAU,EAAE,CAAC;gBACb,OAAO;YACT,CAAC;YAED,MAAM,IAAI,KAAK,CAAC,sBAAsB,QAAQ,EAAE,CAAC,CAAC;QACpD,CAAC;QAED,gBAAgB;QAChB,MAAM,IAAI,GAAa,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;QACnE,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC;IAC3D,CAAC,CAAC;IAEF,UAAU,EAAE,CAAC;IAEb,MAAM,MAAM,GAAG,KAAK,IAAmB,EAAE;QACvC,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACxD,CAAC,CAAC;IAEF,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAC9B,QAAgB,EAChB,EAAW,EACX,aAAqB,EAAE;IAEvB,IAAI,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;IACjE,CAAC;IACD,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC5C,MAAM,QAAQ,GAAG,GAAG,YAAY,OAAO,CAAC;IACxC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;IAClD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAC3C,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAE9C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QAC5B,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7C,CAAC;IACD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;QACnC,EAAE,CAAC,SAAS,CAAC,cAAc,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACpD,CAAC;IAED,IAAI,SAAS,GAAiB,IAAI,CAAC;IACnC,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,UAAU,EAAE,OAAO,EAAE,EAAE,CAAC;QACvD,IAAI,CAAC;YACH,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;YACvB,MAAM,IAAI,GAAa,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;YACnE,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC;YACzD,MAAM;QACR,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,OAAO,GAAG,GAA4B,CAAC;YAC7C,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC9B,IAAI,IAAI,GAAoB,IAAI,CAAC;gBACjC,IAAI,CAAC;oBACH,MAAM,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;oBAC9C,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAa,CAAC;gBACrC,CAAC;gBAAC,MAAM,CAAC;oBACP,sBAAsB;gBACxB,CAAC;gBAED,MAAM,OAAO,GAAG,IAAI,KAAK,IAAI,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;gBACrE,IAAI,OAAO,EAAE,CAAC;oBACZ,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;oBACtD,SAAS;gBACX,CAAC;gBAED,IAAI,OAAO,GAAG,UAAU,EAAE,CAAC;oBACzB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC;oBAC9E,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;oBACzB,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,GAAG,KAAK,EAAE,CAAC;wBAClC,YAAY;oBACd,CAAC;oBACD,SAAS;gBACX,CAAC;gBACD,SAAS,GAAG,IAAI,KAAK,CAAC,sBAAsB,QAAQ,EAAE,CAAC,CAAC;YAC1D,CAAC;iBAAM,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACrC,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;gBACtD,SAAS;YACX,CAAC;iBAAM,CAAC;gBACN,MAAM,GAAG,CAAC;YACZ,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,SAAS,EAAE,CAAC;QACd,MAAM,SAAS,CAAC;IAClB,CAAC;IAED,IAAI,CAAC;QACH,OAAO,EAAE,EAAE,CAAC;IACd,CAAC;YAAS,CAAC;QACT,IAAI,CAAC;YACH,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACxD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,OAAO,GAAG,GAA4B,CAAC;YAC7C,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAO,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;gBAC9D,MAAM,GAAG,CAAC;YACZ,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,QAAgB,EAChB,EAAwB,EACxB,aAAqB,EAAE,EACvB,cAAsB,GAAG;IAEzB,IAAI,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;IACjE,CAAC;IACD,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC5C,MAAM,QAAQ,GAAG,GAAG,YAAY,OAAO,CAAC;IACxC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;IAElD,yDAAyD;IACzD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAC3C,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAE9C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QAC5B,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7C,CAAC;IACD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;QACnC,EAAE,CAAC,SAAS,CAAC,cAAc,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACpD,CAAC;IAED,IAAI,SAAS,GAAiB,IAAI,CAAC;IACnC,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,UAAU,EAAE,OAAO,EAAE,EAAE,CAAC;QACvD,IAAI,CAAC;YACH,MAAM,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YAClC,sEAAsE;YACtE,MAAM,IAAI,GAAa,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;YACnE,MAAM,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC;YACpE,MAAM,CAAC,gBAAgB;QACzB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,OAAO,GAAG,GAA4B,CAAC;YAC7C,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC9B,IAAI,IAAI,GAAoB,IAAI,CAAC;gBACjC,IAAI,CAAC;oBACH,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;oBACzD,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAa,CAAC;gBACrC,CAAC;gBAAC,MAAM,CAAC;oBACP,2CAA2C;gBAC7C,CAAC;gBAED,MAAM,OAAO,GAAG,IAAI,KAAK,IAAI,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;gBACrE,IAAI,OAAO,EAAE,CAAC;oBACZ,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;oBACjE,SAAS,CAAC,oBAAoB;gBAChC,CAAC;gBAED,2EAA2E;gBAC3E,IAAI,OAAO,GAAG,UAAU,EAAE,CAAC;oBACzB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC;oBAC9E,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;oBACzD,SAAS;gBACX,CAAC;gBACD,SAAS,GAAG,IAAI,KAAK,CAAC,sBAAsB,QAAQ,EAAE,CAAC,CAAC;YAC1D,CAAC;iBAAM,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACrC,yDAAyD;gBACzD,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;gBACjF,SAAS,CAAC,oBAAoB;YAChC,CAAC;iBAAM,CAAC;gBACN,MAAM,GAAG,CAAC;YACZ,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,SAAS,EAAE,CAAC;QACd,MAAM,SAAS,CAAC;IAClB,CAAC;IAED,IAAI,CAAC;QACH,OAAO,MAAM,EAAE,EAAE,CAAC;IACpB,CAAC;YAAS,CAAC;QACT,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;YAC7E,MAAM,OAAO,GAAG,GAA4B,CAAC;YAC7C,yEAAyE;YACzE,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAO,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;gBAC9D,MAAM,GAAG,CAAC;YACZ,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"file-lock.js","sourceRoot":"","sources":["../../src/lib/file-lock.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../src/workers/factory.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAKvD,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,MAAM,GAAG,MAAM,CAAC;AAErD,MAAM,WAAW,cAAc;IAC7B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,WAAW,EACjB,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,cAAmB,GAC3B,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC,CAqCpC"}
1
+ {"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../src/workers/factory.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAKvD,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,MAAM,GAAG,MAAM,CAAC;AAErD,MAAM,WAAW,cAAc;IAC7B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,WAAW,EACjB,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,cAAmB,GAC3B,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC,CAsCpC"}
@@ -37,6 +37,7 @@ export async function createWorkerAdapter(type, cwd, options = {}) {
37
37
  const success = await adapter.init();
38
38
  if (success)
39
39
  return wrapWithCache(adapter, options);
40
+ return null;
40
41
  }
41
42
  return null;
42
43
  }
@@ -1 +1 @@
1
- {"version":3,"file":"factory.js","sourceRoot":"","sources":["../../src/workers/factory.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAS1D,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,IAAiB,EACjB,GAAW,EACX,UAA0B,EAAE;IAE5B,IAAI,CAAC;QACH,IAAI,OAA2B,CAAC;QAEhC,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;YACpB,IAAI,CAAC;gBACH,OAAO,GAAG,IAAI,mBAAmB,CAAC,GAAG,CAAC,CAAC;gBACvC,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;gBACrC,IAAI,OAAO,EAAE,CAAC;oBACZ,OAAO,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAC;oBACpD,OAAO,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;gBACzC,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,mBAAmB;YACrB,CAAC;YAED,OAAO,GAAG,IAAI,iBAAiB,CAAC,GAAG,CAAC,CAAC;YACrC,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;YACrC,IAAI,OAAO,EAAE,CAAC;gBACZ,OAAO,CAAC,GAAG,CAAC,yDAAyD,CAAC,CAAC;gBACvE,OAAO,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YACzC,CAAC;QACH,CAAC;aAAM,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC7B,OAAO,GAAG,IAAI,mBAAmB,CAAC,GAAG,CAAC,CAAC;YACvC,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;YACrC,IAAI,OAAO;gBAAE,OAAO,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACtD,CAAC;aAAM,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;YAC3B,OAAO,GAAG,IAAI,iBAAiB,CAAC,GAAG,CAAC,CAAC;YACrC,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;YACrC,IAAI,OAAO;gBAAE,OAAO,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACtD,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,2CAA2C,EAAE,KAAK,CAAC,CAAC;QAClE,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,aAAa,CAAC,OAA2B,EAAE,OAAuB;IACzE,IAAI,OAAO,CAAC,WAAW,KAAK,KAAK,EAAE,CAAC;QAClC,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,OAAO,IAAI,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;AAC9D,CAAC"}
1
+ {"version":3,"file":"factory.js","sourceRoot":"","sources":["../../src/workers/factory.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAS1D,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,IAAiB,EACjB,GAAW,EACX,UAA0B,EAAE;IAE5B,IAAI,CAAC;QACH,IAAI,OAA2B,CAAC;QAEhC,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;YACpB,IAAI,CAAC;gBACH,OAAO,GAAG,IAAI,mBAAmB,CAAC,GAAG,CAAC,CAAC;gBACvC,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;gBACrC,IAAI,OAAO,EAAE,CAAC;oBACZ,OAAO,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAC;oBACpD,OAAO,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;gBACzC,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,mBAAmB;YACrB,CAAC;YAED,OAAO,GAAG,IAAI,iBAAiB,CAAC,GAAG,CAAC,CAAC;YACrC,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;YACrC,IAAI,OAAO,EAAE,CAAC;gBACZ,OAAO,CAAC,GAAG,CAAC,yDAAyD,CAAC,CAAC;gBACvE,OAAO,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YACzC,CAAC;QACH,CAAC;aAAM,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC7B,OAAO,GAAG,IAAI,mBAAmB,CAAC,GAAG,CAAC,CAAC;YACvC,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;YACrC,IAAI,OAAO;gBAAE,OAAO,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACtD,CAAC;aAAM,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;YAC3B,OAAO,GAAG,IAAI,iBAAiB,CAAC,GAAG,CAAC,CAAC;YACrC,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;YACrC,IAAI,OAAO;gBAAE,OAAO,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YACpD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,2CAA2C,EAAE,KAAK,CAAC,CAAC;QAClE,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,aAAa,CAAC,OAA2B,EAAE,OAAuB;IACzE,IAAI,OAAO,CAAC,WAAW,KAAK,KAAK,EAAE,CAAC;QAClC,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,OAAO,IAAI,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;AAC9D,CAAC"}
package/docs/CLAUDE.md CHANGED
@@ -1,5 +1,5 @@
1
1
  <!-- OMC:START -->
2
- <!-- OMC:VERSION:7.1.0 -->
2
+ <!-- OMC:VERSION:7.2.0 -->
3
3
 
4
4
  # ultrapower - Multi-Agent Orchestration 智能多 Agent 编排
5
5
 
package/docs/INSTALL.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # ultrapower 安装部署详细教程
2
2
 
3
- ultrapower v7.1.0 完整安装指南,覆盖从零开始到完全配置的所有步骤。
3
+ ultrapower v7.2.0 完整安装指南,覆盖从零开始到完全配置的所有步骤。
4
4
 
5
5
  ---
6
6
 
@@ -102,7 +102,7 @@ git --version
102
102
 
103
103
  **预期输出:**
104
104
  ```
105
- ✓ Installing ultrapower v7.1.0...
105
+ ✓ Installing ultrapower v7.2.0...
106
106
  ✓ Hooks registered: 39
107
107
  ✓ Agents loaded: 49
108
108
  ✓ Skills available: 71
package/docs/REFERENCE.md CHANGED
@@ -1,4 +1,4 @@
1
- <!-- ultrapower v7.1.0 | updated: 2026-03-02 -->
1
+ <!-- ultrapower v7.2.0 | updated: 2026-03-02 -->
2
2
 
3
3
  # ultrapower Reference — v5.5.33
4
4
 
@@ -5,7 +5,7 @@
5
5
  > **最后更新**: 2026-03-02
6
6
  > **真理之源**: `docs/standards/audit-report.md`
7
7
 
8
- ultrapower v7.1.0 具备 49 个 agents、70 个 skills、35 个 hooks 的完整体系。本规范体系从现有代码反向提取,覆盖运行时防护、Hook 执行顺序、状态机、Agent 生命周期、用户使用指南和贡献规范,使 ultrapower 从"能用"升级为"可靠、易用、可扩展"。
8
+ ultrapower v7.2.0 具备 49 个 agents、70 个 skills、35 个 hooks 的完整体系。本规范体系从现有代码反向提取,覆盖运行时防护、Hook 执行顺序、状态机、Agent 生命周期、用户使用指南和贡献规范,使 ultrapower 从"能用"升级为"可靠、易用、可扩展"。
9
9
 
10
10
  ---
11
11
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@liangjie559567/ultrapower",
3
- "version": "7.1.0",
3
+ "version": "7.2.0",
4
4
  "description": "Disciplined multi-agent orchestration: workflow enforcement + parallel execution",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -0,0 +1,108 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * e2e-bridge-cli.mjs
4
+ * E2E 测试 bridge CLI 入口点
5
+ */
6
+
7
+ import { spawn } from 'child_process';
8
+ import { join } from 'path';
9
+ import { fileURLToPath } from 'url';
10
+ import { dirname } from 'path';
11
+
12
+ const __filename = fileURLToPath(import.meta.url);
13
+ const __dirname = dirname(__filename);
14
+ const bridgeJs = join(__dirname, '../dist/hooks/bridge.js');
15
+
16
+ let passed = 0;
17
+ let failed = 0;
18
+
19
+ async function test(name, fn) {
20
+ try {
21
+ await fn();
22
+ console.log(`✓ ${name}`);
23
+ passed++;
24
+ } catch (err) {
25
+ console.error(`✗ ${name}`);
26
+ console.error(` ${err.message}`);
27
+ failed++;
28
+ }
29
+ }
30
+
31
+ function assert(condition, message) {
32
+ if (!condition) throw new Error(message);
33
+ }
34
+
35
+ // Test 1: No --hook argument
36
+ await test('should exit with error when no --hook argument', async () => {
37
+ const proc = spawn('node', [bridgeJs]);
38
+
39
+ let stderr = '';
40
+ proc.stderr.on('data', (data) => { stderr += data.toString(); });
41
+
42
+ const exitCode = await new Promise((resolve) => {
43
+ proc.on('close', (code) => resolve(code));
44
+ });
45
+
46
+ assert(exitCode === 1, `Expected exit code 1, got ${exitCode}`);
47
+ assert(stderr.includes('Usage:'), `Expected usage message in stderr`);
48
+ });
49
+
50
+ // Test 2: Valid hook with input
51
+ await test('should process valid hook input', async () => {
52
+ const proc = spawn('node', [bridgeJs, '--hook=keyword-detector']);
53
+
54
+ const input = JSON.stringify({ sessionId: 'e2e-test', directory: process.cwd() });
55
+ proc.stdin.write(input);
56
+ proc.stdin.end();
57
+
58
+ let stdout = '';
59
+ proc.stdout.on('data', (data) => { stdout += data.toString(); });
60
+
61
+ await new Promise((resolve) => { proc.on('close', resolve); });
62
+
63
+ const output = JSON.parse(stdout);
64
+ assert(typeof output.continue === 'boolean', 'Expected continue property');
65
+ });
66
+
67
+ // Test 3: Invalid JSON input
68
+ await test('should handle invalid JSON input', async () => {
69
+ const proc = spawn('node', [bridgeJs, '--hook=keyword-detector']);
70
+
71
+ proc.stdin.write('invalid json');
72
+ proc.stdin.end();
73
+
74
+ let stdout = '';
75
+ let stderr = '';
76
+ proc.stdout.on('data', (data) => { stdout += data.toString(); });
77
+ proc.stderr.on('data', (data) => { stderr += data.toString(); });
78
+
79
+ const exitCode = await new Promise((resolve) => {
80
+ proc.on('close', (code) => resolve(code));
81
+ });
82
+
83
+ // Bridge may output error JSON or exit with error
84
+ assert(exitCode === 1 || stderr.length > 0 || stdout.includes('error'),
85
+ `Expected error handling, got exit=${exitCode}`);
86
+ });
87
+
88
+ // Test 4: DISABLE_OMC environment variable
89
+ await test('should respect DISABLE_OMC env var', async () => {
90
+ const proc = spawn('node', [bridgeJs, '--hook=keyword-detector'], {
91
+ env: { ...process.env, DISABLE_OMC: '1' }
92
+ });
93
+
94
+ const input = JSON.stringify({ sessionId: 'e2e-test', directory: process.cwd() });
95
+ proc.stdin.write(input);
96
+ proc.stdin.end();
97
+
98
+ let stdout = '';
99
+ proc.stdout.on('data', (data) => { stdout += data.toString(); });
100
+
101
+ await new Promise((resolve) => { proc.on('close', resolve); });
102
+
103
+ const output = JSON.parse(stdout);
104
+ assert(output.continue === true, 'Expected continue=true when disabled');
105
+ });
106
+
107
+ console.log(`\n${passed} passed, ${failed} failed`);
108
+ process.exit(failed > 0 ? 1 : 0);
@@ -0,0 +1,33 @@
1
+ #!/bin/bash
2
+ # verify-coverage.sh - 本地验证 CI 覆盖率流程
3
+
4
+ set -e
5
+
6
+ echo "=== Step 1: Build ==="
7
+ npm run build
8
+
9
+ echo -e "\n=== Step 2: Unit tests ==="
10
+ npm test -- --coverage --run
11
+
12
+ echo -e "\n=== Step 3: E2E tests ==="
13
+ npm run test:e2e
14
+
15
+ echo -e "\n=== Step 4: Check bridge.ts coverage ==="
16
+ node -e "
17
+ const fs = require('fs');
18
+ const data = JSON.parse(fs.readFileSync('coverage/coverage-summary.json', 'utf8'));
19
+ const bridge = Object.keys(data).find(k => k.includes('hooks') && k.includes('bridge.ts') && !k.includes('normalize'));
20
+ const cov = data[bridge];
21
+ console.log('bridge.ts coverage:');
22
+ console.log(' Lines:', cov.lines.pct + '%', '(' + cov.lines.covered + '/' + cov.lines.total + ')');
23
+ console.log(' Statements:', cov.statements.pct + '%');
24
+ console.log(' Branches:', cov.branches.pct + '%');
25
+ if (cov.lines.pct >= 75) {
26
+ console.log('✓ Coverage meets 75% threshold');
27
+ } else {
28
+ console.log('✗ Coverage below 75% threshold');
29
+ process.exit(1);
30
+ }
31
+ "
32
+
33
+ echo -e "\n=== Verification complete ==="
@@ -0,0 +1,32 @@
1
+ ---
2
+ name: tutorial
3
+ description: 交互式教程系统,通过3个实战场景帮助新用户快速掌握核心功能
4
+ trigger: ["tutorial", "onboarding", "getting started"]
5
+ ---
6
+
7
+ # Tutorial Skill
8
+
9
+ 启动交互式教程系统,通过3个实战场景帮助新用户快速掌握 ultrapower 核心功能。
10
+
11
+ ## 使用方式
12
+
13
+ ```
14
+ /ultrapower:tutorial
15
+ ```
16
+
17
+ ## 教程场景
18
+
19
+ 1. **实现功能** - 学习使用 autopilot 从想法到代码
20
+ 2. **修复Bug** - 学习使用 analyze 诊断问题
21
+ 3. **代码审查** - 学习使用 code-review 保证质量
22
+
23
+ ## 特性
24
+
25
+ - 首次启动自动提示
26
+ - 支持中断恢复
27
+ - 随时可跳过
28
+ - 预计完成时间:15分钟
29
+
30
+ ## 实现
31
+
32
+ 调用 `TutorialEngine.checkAndRun()` 启动教程流程。