edsger 0.51.0 → 0.52.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 (184) hide show
  1. package/.claude/settings.local.json +23 -3
  2. package/.env.local +12 -0
  3. package/dist/commands/find-smells/index.d.ts +21 -0
  4. package/dist/commands/find-smells/index.js +65 -0
  5. package/dist/index.js +29 -0
  6. package/dist/phases/find-bugs/index.js +7 -92
  7. package/dist/phases/find-bugs/state.d.ts +10 -35
  8. package/dist/phases/find-bugs/state.js +12 -120
  9. package/dist/phases/find-features/index.js +16 -83
  10. package/dist/phases/find-features/prompts.d.ts +7 -1
  11. package/dist/phases/find-features/prompts.js +31 -11
  12. package/dist/phases/find-features/state.d.ts +15 -19
  13. package/dist/phases/find-features/state.js +17 -89
  14. package/dist/phases/find-features/types.d.ts +1 -1
  15. package/dist/phases/find-shared/git.d.ts +24 -0
  16. package/dist/phases/find-shared/git.js +60 -0
  17. package/dist/phases/find-shared/mcp.d.ts +33 -0
  18. package/dist/phases/find-shared/mcp.js +69 -0
  19. package/dist/phases/find-shared/scan-state.d.ts +33 -0
  20. package/dist/phases/find-shared/scan-state.js +112 -0
  21. package/dist/phases/find-smells/index.d.ts +47 -0
  22. package/dist/phases/find-smells/index.js +278 -0
  23. package/dist/phases/find-smells/prompts.d.ts +30 -0
  24. package/dist/phases/find-smells/prompts.js +129 -0
  25. package/dist/phases/find-smells/state.d.ts +21 -0
  26. package/dist/phases/find-smells/state.js +17 -0
  27. package/dist/phases/find-smells/types.d.ts +51 -0
  28. package/dist/phases/find-smells/types.js +64 -0
  29. package/package.json +1 -1
  30. package/vitest.config.ts +2 -0
  31. package/dist/api/__tests__/app-store.test.d.ts +0 -7
  32. package/dist/api/__tests__/app-store.test.js +0 -60
  33. package/dist/api/__tests__/intelligence.test.d.ts +0 -11
  34. package/dist/api/__tests__/intelligence.test.js +0 -315
  35. package/dist/api/features/__tests__/feature-utils.test.d.ts +0 -4
  36. package/dist/api/features/__tests__/feature-utils.test.js +0 -370
  37. package/dist/api/features/__tests__/status-updater.test.d.ts +0 -4
  38. package/dist/api/features/__tests__/status-updater.test.js +0 -88
  39. package/dist/api/features/approval-checker.d.ts +0 -20
  40. package/dist/api/features/approval-checker.js +0 -152
  41. package/dist/api/features/batch-operations.d.ts +0 -17
  42. package/dist/api/features/batch-operations.js +0 -100
  43. package/dist/api/features/feature-utils.d.ts +0 -23
  44. package/dist/api/features/feature-utils.js +0 -80
  45. package/dist/api/features/get-feature.d.ts +0 -5
  46. package/dist/api/features/get-feature.js +0 -21
  47. package/dist/api/features/index.d.ts +0 -8
  48. package/dist/api/features/index.js +0 -10
  49. package/dist/api/features/status-updater.d.ts +0 -41
  50. package/dist/api/features/status-updater.js +0 -122
  51. package/dist/api/features/test-cases.d.ts +0 -29
  52. package/dist/api/features/test-cases.js +0 -110
  53. package/dist/api/features/update-feature.d.ts +0 -20
  54. package/dist/api/features/update-feature.js +0 -83
  55. package/dist/api/features/user-stories.d.ts +0 -21
  56. package/dist/api/features/user-stories.js +0 -88
  57. package/dist/commands/agent-workflow/feature-worker.d.ts +0 -14
  58. package/dist/commands/agent-workflow/feature-worker.js +0 -65
  59. package/dist/commands/build/__tests__/build.test.d.ts +0 -5
  60. package/dist/commands/build/__tests__/build.test.js +0 -206
  61. package/dist/commands/build/__tests__/detect-project.test.d.ts +0 -6
  62. package/dist/commands/build/__tests__/detect-project.test.js +0 -160
  63. package/dist/commands/build/__tests__/run-build.test.d.ts +0 -6
  64. package/dist/commands/build/__tests__/run-build.test.js +0 -433
  65. package/dist/commands/intelligence/__tests__/command.test.d.ts +0 -4
  66. package/dist/commands/intelligence/__tests__/command.test.js +0 -48
  67. package/dist/commands/workflow/core/__tests__/feature-filter.test.d.ts +0 -5
  68. package/dist/commands/workflow/core/__tests__/feature-filter.test.js +0 -316
  69. package/dist/commands/workflow/core/__tests__/pipeline-evaluator.test.d.ts +0 -4
  70. package/dist/commands/workflow/core/__tests__/pipeline-evaluator.test.js +0 -397
  71. package/dist/commands/workflow/core/__tests__/state-manager.test.d.ts +0 -4
  72. package/dist/commands/workflow/core/__tests__/state-manager.test.js +0 -384
  73. package/dist/commands/workflow/core/feature-filter.d.ts +0 -16
  74. package/dist/commands/workflow/core/feature-filter.js +0 -47
  75. package/dist/commands/workflow/feature-coordinator.d.ts +0 -18
  76. package/dist/commands/workflow/feature-coordinator.js +0 -161
  77. package/dist/config/__tests__/config.test.d.ts +0 -4
  78. package/dist/config/__tests__/config.test.js +0 -286
  79. package/dist/config/__tests__/feature-status.test.d.ts +0 -4
  80. package/dist/config/__tests__/feature-status.test.js +0 -111
  81. package/dist/config/feature-status.d.ts +0 -56
  82. package/dist/config/feature-status.js +0 -130
  83. package/dist/errors/__tests__/index.test.d.ts +0 -4
  84. package/dist/errors/__tests__/index.test.js +0 -349
  85. package/dist/phases/app-store-generation/__tests__/agent.test.d.ts +0 -5
  86. package/dist/phases/app-store-generation/__tests__/agent.test.js +0 -142
  87. package/dist/phases/app-store-generation/__tests__/context.test.d.ts +0 -4
  88. package/dist/phases/app-store-generation/__tests__/context.test.js +0 -284
  89. package/dist/phases/app-store-generation/__tests__/prompts.test.d.ts +0 -4
  90. package/dist/phases/app-store-generation/__tests__/prompts.test.js +0 -122
  91. package/dist/phases/app-store-generation/__tests__/screenshot-composer.test.d.ts +0 -5
  92. package/dist/phases/app-store-generation/__tests__/screenshot-composer.test.js +0 -826
  93. package/dist/phases/code-review/__tests__/diff-utils.test.d.ts +0 -1
  94. package/dist/phases/code-review/__tests__/diff-utils.test.js +0 -101
  95. package/dist/phases/feature-analysis/agent.d.ts +0 -13
  96. package/dist/phases/feature-analysis/agent.js +0 -112
  97. package/dist/phases/feature-analysis/context.d.ts +0 -24
  98. package/dist/phases/feature-analysis/context.js +0 -138
  99. package/dist/phases/feature-analysis/index.d.ts +0 -8
  100. package/dist/phases/feature-analysis/index.js +0 -199
  101. package/dist/phases/feature-analysis/outcome.d.ts +0 -40
  102. package/dist/phases/feature-analysis/outcome.js +0 -280
  103. package/dist/phases/feature-analysis/prompts.d.ts +0 -10
  104. package/dist/phases/feature-analysis/prompts.js +0 -212
  105. package/dist/phases/feature-analysis-verification/agent.d.ts +0 -33
  106. package/dist/phases/feature-analysis-verification/agent.js +0 -124
  107. package/dist/phases/feature-analysis-verification/index.d.ts +0 -25
  108. package/dist/phases/feature-analysis-verification/index.js +0 -92
  109. package/dist/phases/feature-analysis-verification/prompts.d.ts +0 -10
  110. package/dist/phases/feature-analysis-verification/prompts.js +0 -100
  111. package/dist/phases/intelligence-analysis/__tests__/context.test.d.ts +0 -4
  112. package/dist/phases/intelligence-analysis/__tests__/context.test.js +0 -192
  113. package/dist/phases/intelligence-analysis/__tests__/matching.test.d.ts +0 -13
  114. package/dist/phases/intelligence-analysis/__tests__/matching.test.js +0 -154
  115. package/dist/phases/intelligence-analysis/__tests__/orchestration.test.d.ts +0 -5
  116. package/dist/phases/intelligence-analysis/__tests__/orchestration.test.js +0 -378
  117. package/dist/phases/intelligence-analysis/__tests__/prompts.test.d.ts +0 -4
  118. package/dist/phases/intelligence-analysis/__tests__/prompts.test.js +0 -33
  119. package/dist/phases/pr-execution/__tests__/file-assigner.test.d.ts +0 -1
  120. package/dist/phases/pr-execution/__tests__/file-assigner.test.js +0 -303
  121. package/dist/phases/pr-resolve/__tests__/checklist-learner.test.d.ts +0 -1
  122. package/dist/phases/pr-resolve/__tests__/checklist-learner.test.js +0 -157
  123. package/dist/phases/pr-resolve/__tests__/prompts.test.d.ts +0 -1
  124. package/dist/phases/pr-resolve/__tests__/prompts.test.js +0 -116
  125. package/dist/phases/pr-resolve/__tests__/resolve-mapping.test.d.ts +0 -1
  126. package/dist/phases/pr-resolve/__tests__/resolve-mapping.test.js +0 -138
  127. package/dist/phases/pr-resolve/__tests__/types.test.d.ts +0 -1
  128. package/dist/phases/pr-resolve/__tests__/types.test.js +0 -43
  129. package/dist/phases/pr-resolve/__tests__/workspace.test.d.ts +0 -1
  130. package/dist/phases/pr-resolve/__tests__/workspace.test.js +0 -111
  131. package/dist/phases/pr-review/__tests__/prompts.test.d.ts +0 -1
  132. package/dist/phases/pr-review/__tests__/prompts.test.js +0 -49
  133. package/dist/phases/pr-review/__tests__/review-comments.test.d.ts +0 -1
  134. package/dist/phases/pr-review/__tests__/review-comments.test.js +0 -110
  135. package/dist/phases/pr-shared/__tests__/agent-utils.test.d.ts +0 -1
  136. package/dist/phases/pr-shared/__tests__/agent-utils.test.js +0 -91
  137. package/dist/phases/pr-shared/__tests__/context.test.d.ts +0 -1
  138. package/dist/phases/pr-shared/__tests__/context.test.js +0 -94
  139. package/dist/phases/pr-splitting/__tests__/import-dep-validator.test.d.ts +0 -1
  140. package/dist/phases/pr-splitting/__tests__/import-dep-validator.test.js +0 -331
  141. package/dist/phases/run-sheet/render.d.ts +0 -60
  142. package/dist/phases/run-sheet/render.js +0 -297
  143. package/dist/phases/smoke-test/__tests__/agent.test.d.ts +0 -4
  144. package/dist/phases/smoke-test/__tests__/agent.test.js +0 -84
  145. package/dist/phases/smoke-test/__tests__/github.test.d.ts +0 -9
  146. package/dist/phases/smoke-test/__tests__/github.test.js +0 -120
  147. package/dist/phases/smoke-test/__tests__/snapshot.test.d.ts +0 -8
  148. package/dist/phases/smoke-test/__tests__/snapshot.test.js +0 -93
  149. package/dist/phases/smoke-test/github.d.ts +0 -54
  150. package/dist/phases/smoke-test/github.js +0 -101
  151. package/dist/phases/smoke-test/snapshot.d.ts +0 -27
  152. package/dist/phases/smoke-test/snapshot.js +0 -157
  153. package/dist/services/coaching/__tests__/coaching-agent.test.d.ts +0 -1
  154. package/dist/services/coaching/__tests__/coaching-agent.test.js +0 -74
  155. package/dist/services/coaching/__tests__/coaching-loop.test.d.ts +0 -1
  156. package/dist/services/coaching/__tests__/coaching-loop.test.js +0 -59
  157. package/dist/services/coaching/__tests__/self-rating.test.d.ts +0 -1
  158. package/dist/services/coaching/__tests__/self-rating.test.js +0 -188
  159. package/dist/services/lifecycle-agent/__tests__/phase-criteria.test.d.ts +0 -4
  160. package/dist/services/lifecycle-agent/__tests__/phase-criteria.test.js +0 -133
  161. package/dist/services/lifecycle-agent/__tests__/transition-rules.test.d.ts +0 -4
  162. package/dist/services/lifecycle-agent/__tests__/transition-rules.test.js +0 -336
  163. package/dist/services/lifecycle-agent/index.d.ts +0 -24
  164. package/dist/services/lifecycle-agent/index.js +0 -25
  165. package/dist/services/lifecycle-agent/phase-criteria.d.ts +0 -57
  166. package/dist/services/lifecycle-agent/phase-criteria.js +0 -335
  167. package/dist/services/lifecycle-agent/transition-rules.d.ts +0 -60
  168. package/dist/services/lifecycle-agent/transition-rules.js +0 -184
  169. package/dist/services/lifecycle-agent/types.d.ts +0 -190
  170. package/dist/services/lifecycle-agent/types.js +0 -12
  171. package/dist/services/phase-hooks/__tests__/bindings-fetcher.test.d.ts +0 -1
  172. package/dist/services/phase-hooks/__tests__/bindings-fetcher.test.js +0 -122
  173. package/dist/services/phase-hooks/__tests__/hook-executor.test.d.ts +0 -1
  174. package/dist/services/phase-hooks/__tests__/hook-executor.test.js +0 -321
  175. package/dist/services/phase-hooks/__tests__/hook-runner.test.d.ts +0 -1
  176. package/dist/services/phase-hooks/__tests__/hook-runner.test.js +0 -261
  177. package/dist/services/phase-hooks/__tests__/plugin-loader.test.d.ts +0 -1
  178. package/dist/services/phase-hooks/__tests__/plugin-loader.test.js +0 -158
  179. package/dist/services/video/__tests__/video-pipeline.test.d.ts +0 -6
  180. package/dist/services/video/__tests__/video-pipeline.test.js +0 -249
  181. package/dist/types/features.d.ts +0 -35
  182. package/dist/types/features.js +0 -1
  183. package/dist/workspace/__tests__/workspace-manager.test.d.ts +0 -7
  184. package/dist/workspace/__tests__/workspace-manager.test.js +0 -52
@@ -1,35 +0,0 @@
1
- import { type FeatureWorkflow } from './pipeline.js';
2
- export interface FeatureInfo {
3
- id: string;
4
- name: string;
5
- description?: string;
6
- technical_design?: string;
7
- status: string;
8
- product_id: string;
9
- execution_mode?: string;
10
- workflow?: FeatureWorkflow | null;
11
- autonomous_hours?: number;
12
- created_at?: string;
13
- updated_at?: string;
14
- }
15
- export type UserStoryStatus = 'draft' | 'pending_approval' | 'approved';
16
- export type TestCaseStatus = 'draft' | 'pending_approval' | 'approved';
17
- export interface UserStory {
18
- id: string;
19
- title: string;
20
- description: string;
21
- status: UserStoryStatus;
22
- created_at?: string;
23
- updated_at?: string;
24
- [key: string]: unknown;
25
- }
26
- export interface TestCase {
27
- id: string;
28
- name: string;
29
- description: string;
30
- is_critical: boolean;
31
- status?: TestCaseStatus;
32
- created_at?: string;
33
- updated_at?: string;
34
- [key: string]: unknown;
35
- }
@@ -1 +0,0 @@
1
- export {};
@@ -1,7 +0,0 @@
1
- /**
2
- * Unit tests for the pure helpers inside workspace-manager.
3
- *
4
- * syncRepoToRef / cloneFeatureRepo shell out to git and are exercised
5
- * end-to-end; only the validator is cheap to unit-test here.
6
- */
7
- export {};
@@ -1,52 +0,0 @@
1
- /**
2
- * Unit tests for the pure helpers inside workspace-manager.
3
- *
4
- * syncRepoToRef / cloneFeatureRepo shell out to git and are exercised
5
- * end-to-end; only the validator is cheap to unit-test here.
6
- */
7
- import assert from 'node:assert';
8
- import { describe, it } from 'node:test';
9
- import { isSafeGitRef } from '../workspace-manager.js';
10
- void describe('isSafeGitRef', () => {
11
- void it('accepts common release / branch names', () => {
12
- assert.strictEqual(isSafeGitRef('main'), true);
13
- assert.strictEqual(isSafeGitRef('develop'), true);
14
- assert.strictEqual(isSafeGitRef('v1.2.3'), true);
15
- assert.strictEqual(isSafeGitRef('2024.01.15'), true);
16
- assert.strictEqual(isSafeGitRef('release/2.0'), true);
17
- assert.strictEqual(isSafeGitRef('v1.0.0-rc.1'), true);
18
- assert.strictEqual(isSafeGitRef('v2@stable'), true);
19
- assert.strictEqual(isSafeGitRef('feature/user-auth_v2'), true);
20
- });
21
- void it('rejects empty / overlong input', () => {
22
- assert.strictEqual(isSafeGitRef(''), false);
23
- assert.strictEqual(isSafeGitRef('x'.repeat(101)), false);
24
- });
25
- void it('rejects whitespace', () => {
26
- assert.strictEqual(isSafeGitRef('v 1.0'), false);
27
- assert.strictEqual(isSafeGitRef('main\n'), false);
28
- assert.strictEqual(isSafeGitRef('\tmain'), false);
29
- });
30
- void it('rejects shell metacharacters', () => {
31
- assert.strictEqual(isSafeGitRef('v1;rm -rf /'), false);
32
- assert.strictEqual(isSafeGitRef('v1$PATH'), false);
33
- assert.strictEqual(isSafeGitRef('v1`id`'), false);
34
- assert.strictEqual(isSafeGitRef('v1|less'), false);
35
- assert.strictEqual(isSafeGitRef('v1>out'), false);
36
- assert.strictEqual(isSafeGitRef('v1*'), false);
37
- });
38
- void it('rejects refs that would confuse git itself', () => {
39
- assert.strictEqual(isSafeGitRef('.hidden'), false);
40
- assert.strictEqual(isSafeGitRef('-foo'), false);
41
- assert.strictEqual(isSafeGitRef('v2..rc'), false);
42
- assert.strictEqual(isSafeGitRef('HEAD@{1}'), false);
43
- });
44
- void it('rejects non-string input defensively', () => {
45
- // @ts-expect-error testing runtime guard
46
- assert.strictEqual(isSafeGitRef(null), false);
47
- // @ts-expect-error testing runtime guard
48
- assert.strictEqual(isSafeGitRef(undefined), false);
49
- // @ts-expect-error testing runtime guard
50
- assert.strictEqual(isSafeGitRef(123), false);
51
- });
52
- });