@shepai/cli 1.131.1 → 1.132.0-pr427.eb60966
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.
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/fast-implement.node.js +24 -2
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/prompts/evidence-prompts.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/prompts/evidence-prompts.js +13 -2
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/prompts/fast-implement.prompt.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/prompts/fast-implement.prompt.js +3 -2
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/prompts/implement.prompt.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/prompts/implement.prompt.js +4 -1
- package/dist/src/presentation/tui/wizards/onboarding/onboarding.wizard.d.ts.map +1 -1
- package/dist/src/presentation/tui/wizards/onboarding/onboarding.wizard.js +5 -0
- package/dist/src/presentation/web/components/features/control-center/welcome-agent-setup.d.ts.map +1 -1
- package/dist/src/presentation/web/components/features/control-center/welcome-agent-setup.js +2 -2
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/web/.next/BUILD_ID +1 -1
- package/web/.next/build-manifest.json +2 -2
- package/web/.next/fallback-build-manifest.json +2 -2
- package/web/.next/prerender-manifest.json +3 -3
- package/web/.next/required-server-files.js +3 -3
- package/web/.next/required-server-files.json +3 -3
- package/web/.next/server/app/(dashboard)/@drawer/adopt/page/server-reference-manifest.json +24 -24
- package/web/.next/server/app/(dashboard)/@drawer/adopt/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/adopt/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/create/page/server-reference-manifest.json +24 -24
- package/web/.next/server/app/(dashboard)/@drawer/create/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/create/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page/server-reference-manifest.json +30 -30
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page/server-reference-manifest.json +30 -30
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page/server-reference-manifest.json +22 -22
- package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/create/page/server-reference-manifest.json +24 -24
- package/web/.next/server/app/(dashboard)/create/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/create/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page/server-reference-manifest.json +30 -30
- package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/feature/[featureId]/page/server-reference-manifest.json +30 -30
- package/web/.next/server/app/(dashboard)/feature/[featureId]/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/feature/[featureId]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/page/server-reference-manifest.json +22 -22
- package/web/.next/server/app/(dashboard)/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page/server-reference-manifest.json +22 -22
- package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/_global-error.html +2 -2
- package/web/.next/server/app/_global-error.rsc +1 -1
- package/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/web/.next/server/app/_not-found/page/server-reference-manifest.json +3 -3
- package/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/settings/page/server-reference-manifest.json +8 -8
- package/web/.next/server/app/settings/page.js.nft.json +1 -1
- package/web/.next/server/app/settings/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/skills/page/server-reference-manifest.json +8 -8
- package/web/.next/server/app/skills/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/tools/page/server-reference-manifest.json +8 -8
- package/web/.next/server/app/tools/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/version/page/server-reference-manifest.json +3 -3
- package/web/.next/server/app/version/page_client-reference-manifest.js +1 -1
- package/web/.next/server/chunks/[root-of-the-server]__a402b567._.js +1 -1
- package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_@drawer_adopt_page_actions_4e741df2.js +1 -1
- package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_@drawer_adopt_page_actions_4e741df2.js.map +1 -1
- package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_create-drawer-client_tsx_5e26fc0a._.js +1 -1
- package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_create-drawer-client_tsx_5e26fc0a._.js.map +1 -1
- package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_@drawer_repository_[repositoryId]_page_actions_026fdffa.js +1 -1
- package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_@drawer_repository_[repositoryId]_page_actions_026fdffa.js.map +1 -1
- package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_repository_[repositoryId]_page_actions_8b91e197.js +1 -1
- package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_repository_[repositoryId]_page_actions_8b91e197.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__2c791c42._.js +2 -2
- package/web/.next/server/chunks/ssr/[root-of-the-server]__357d99f9._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__3ef34e4c._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__43f51aa6._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__43f51aa6._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__6bb00d90._.js +2 -2
- package/web/.next/server/chunks/ssr/[root-of-the-server]__6bb00d90._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__755cfe02._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__755cfe02._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__7894f27f._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__7894f27f._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__815546bd._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__815546bd._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__96670392._.js +2 -2
- package/web/.next/server/chunks/ssr/[root-of-the-server]__a628fb91._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__a628fb91._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__bfba58e6._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__bfba58e6._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__c3ab8422._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__c3ab8422._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_02ec1aea._.js +1 -1
- package/web/.next/server/chunks/ssr/_02ec1aea._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_7dca1882._.js +1 -1
- package/web/.next/server/chunks/ssr/_7dca1882._.js.map +1 -1
- package/web/.next/server/chunks/ssr/{_16ef149e._.js → _89a82abd._.js} +2 -2
- package/web/.next/server/chunks/ssr/_89a82abd._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_a9a361e4._.js +3 -0
- package/web/.next/server/chunks/ssr/{_8bceaf55._.js.map → _a9a361e4._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/_a9f57758._.js +1 -1
- package/web/.next/server/chunks/ssr/_d8575088._.js +1 -1
- package/web/.next/server/chunks/ssr/_d8575088._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_f39a1adb._.js +1 -1
- package/web/.next/server/chunks/ssr/_f39a1adb._.js.map +1 -1
- package/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_settings_settings-page-client_tsx_6ed9d5f8._.js +1 -1
- package/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_settings_settings-page-client_tsx_6ed9d5f8._.js.map +1 -1
- package/web/.next/server/chunks/ssr/{src_presentation_web_0045d310._.js → src_presentation_web_5f36bd88._.js} +2 -2
- package/web/.next/server/chunks/ssr/{src_presentation_web_0045d310._.js.map → src_presentation_web_5f36bd88._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_8e7fe0d1._.js +2 -2
- package/web/.next/server/chunks/ssr/src_presentation_web_8e7fe0d1._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_(dashboard)_page_actions_ca051134.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_(dashboard)_page_actions_ca051134.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_skills_page_actions_1b176e3c.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_skills_page_actions_1b176e3c.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_tools_page_actions_bd9f0dda.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_tools_page_actions_bd9f0dda.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_b9023017._.js +2 -2
- package/web/.next/server/chunks/ssr/src_presentation_web_b9023017._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_components_e599bb8c._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_components_e599bb8c._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_7ac3562e._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_7ac3562e._.js.map +1 -1
- package/web/.next/server/pages/500.html +2 -2
- package/web/.next/server/server-reference-manifest.js +1 -1
- package/web/.next/server/server-reference-manifest.json +38 -38
- package/web/.next/static/chunks/{9e967a66f56f18e0.js → 200a0442433a34c2.js} +1 -1
- package/web/.next/static/chunks/{6b50d1b354c18cbf.js → 3199d447b41ffd00.js} +1 -1
- package/web/.next/static/chunks/3e2d7d07926b05bf.css +1 -0
- package/web/.next/static/chunks/{c64555bf30144084.js → 40ac16f7d0575b56.js} +1 -1
- package/web/.next/static/chunks/4a4d5bd01a48bb79.js +2 -0
- package/web/.next/static/chunks/{f237664803f2aa48.js → 5d97db37b71920cc.js} +2 -2
- package/web/.next/static/chunks/641087b75c00fd32.js +1 -0
- package/web/.next/static/chunks/{becc612a0fd16dbe.js → 66275a1b29478cdd.js} +1 -1
- package/web/.next/static/chunks/{fd07085f271e62ad.js → 6e4120f29780591a.js} +1 -1
- package/web/.next/static/chunks/{22ae980d8aac10f1.js → 9701371df7acf83d.js} +1 -1
- package/web/.next/static/chunks/a397f547e76f2619.js +1 -0
- package/web/.next/static/chunks/{08fe95f4d4aa563f.js → b112088ebfdec932.js} +1 -1
- package/web/.next/static/chunks/ee618511baaec536.js +1 -0
- package/web/.next/server/chunks/ssr/_16ef149e._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_8bceaf55._.js +0 -3
- package/web/.next/static/chunks/0ea15b83aeca7b1a.css +0 -1
- package/web/.next/static/chunks/3f16e12adcd8b74c.js +0 -2
- package/web/.next/static/chunks/66aeb95d8f7c4cea.js +0 -1
- package/web/.next/static/chunks/be53c17c52e3f4ec.js +0 -1
- package/web/.next/static/chunks/d69e172a4137599a.js +0 -1
- /package/web/.next/static/{bHwwAJ0fv-Jcs5NRAjOmY → FMkmrnam_Zl-tEu6N9L-A}/_buildManifest.js +0 -0
- /package/web/.next/static/{bHwwAJ0fv-Jcs5NRAjOmY → FMkmrnam_Zl-tEu6N9L-A}/_clientMiddlewareManifest.json +0 -0
- /package/web/.next/static/{bHwwAJ0fv-Jcs5NRAjOmY → FMkmrnam_Zl-tEu6N9L-A}/_ssgManifest.js +0 -0
|
@@ -59,9 +59,9 @@ export function createFastImplementNode(executor) {
|
|
|
59
59
|
const durationMs = Date.now() - startTime;
|
|
60
60
|
const elapsed = (durationMs / 1000).toFixed(1);
|
|
61
61
|
log.info(`Complete (${result.result.length} chars, ${elapsed}s)`);
|
|
62
|
-
// Validate that the executor actually produced
|
|
62
|
+
// Validate that the executor actually produced changes (uncommitted or committed)
|
|
63
63
|
const cwd = state.worktreePath || state.repositoryPath;
|
|
64
|
-
if (!hasWorktreeChanges(cwd)) {
|
|
64
|
+
if (!hasWorktreeChanges(cwd) && !hasNewCommits(cwd)) {
|
|
65
65
|
throw new Error('[fast-implement] Agent produced no file changes — it may have entered plan mode or asked questions instead of implementing. Retrying.');
|
|
66
66
|
}
|
|
67
67
|
// --- Evidence sub-agent: capture proof of completion (settings-gated) ---
|
|
@@ -156,6 +156,28 @@ function hasWorktreeChanges(cwd) {
|
|
|
156
156
|
return false;
|
|
157
157
|
}
|
|
158
158
|
}
|
|
159
|
+
/**
|
|
160
|
+
* Check whether the current branch has commits that are not on the merge base
|
|
161
|
+
* (i.e., the agent made new commits during implementation). Uses
|
|
162
|
+
* `git log --oneline HEAD ^HEAD~1` as a lightweight check — if the agent
|
|
163
|
+
* committed, HEAD will have moved from where it started.
|
|
164
|
+
*
|
|
165
|
+
* We compare against the branch tracking ref or check if HEAD moved at all
|
|
166
|
+
* by looking at recent commits (within the last minute).
|
|
167
|
+
*/
|
|
168
|
+
function hasNewCommits(cwd) {
|
|
169
|
+
try {
|
|
170
|
+
// Check if there are any commits in the last 2 minutes (generous window for agent execution)
|
|
171
|
+
const output = execSync('git log --oneline --since="2 minutes ago" HEAD', {
|
|
172
|
+
cwd,
|
|
173
|
+
encoding: 'utf-8',
|
|
174
|
+
});
|
|
175
|
+
return output.trim().length > 0;
|
|
176
|
+
}
|
|
177
|
+
catch {
|
|
178
|
+
return false;
|
|
179
|
+
}
|
|
180
|
+
}
|
|
159
181
|
/**
|
|
160
182
|
* Save evidence manifest to the shep home evidence folder so the
|
|
161
183
|
* merge review UI can read it without accessing graph state.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"evidence-prompts.d.ts","sourceRoot":"","sources":["../../../../../../../../../../packages/core/src/infrastructure/services/agents/feature-agent/nodes/prompts/evidence-prompts.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAIH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAEpE,MAAM,WAAW,qBAAqB;IACpC,kEAAkE;IAClE,cAAc,EAAE,OAAO,CAAC;CACzB;AAED,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,iBAAiB,EACxB,OAAO,GAAE,qBAAiD,GACzD,MAAM,
|
|
1
|
+
{"version":3,"file":"evidence-prompts.d.ts","sourceRoot":"","sources":["../../../../../../../../../../packages/core/src/infrastructure/services/agents/feature-agent/nodes/prompts/evidence-prompts.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAIH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAEpE,MAAM,WAAW,qBAAqB;IACpC,kEAAkE;IAClE,cAAc,EAAE,OAAO,CAAC;CACzB;AAED,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,iBAAiB,EACxB,OAAO,GAAE,qBAAiD,GACzD,MAAM,CAoNR;AAgCD;;;;;;;;;GASG;AACH,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,iBAAiB,EACxB,MAAM,EAAE,eAAe,EAAE,EACzB,OAAO,GAAE,qBAAiD,GACzD,MAAM,CAsBR"}
|
|
@@ -75,7 +75,8 @@ Save all evidence files to the shep home folder:
|
|
|
75
75
|
})}`
|
|
76
76
|
: `\n## Git Operations
|
|
77
77
|
|
|
78
|
-
Do NOT commit or push any files. Evidence is stored locally only
|
|
78
|
+
Do NOT commit or push any evidence files. Evidence is stored locally only.
|
|
79
|
+
However, if you make code fixes during evidence collection, those fixes MUST be committed (see "Handling Code Fixes" above).`;
|
|
79
80
|
return `You are a senior software engineer performing the EVIDENCE COLLECTION phase of feature development.
|
|
80
81
|
|
|
81
82
|
Your goal is to capture visual and textual evidence proving that the implemented tasks work as expected.${options.commitEvidence ? ' This evidence will be embedded in the pull request body for reviewer verification.' : ' This evidence will be available for review locally.'}
|
|
@@ -200,10 +201,19 @@ If no evidence can be captured (e.g., no UI to screenshot, no tests to run), out
|
|
|
200
201
|
[]
|
|
201
202
|
\`\`\`
|
|
202
203
|
|
|
204
|
+
## Handling Code Fixes During Evidence Collection
|
|
205
|
+
|
|
206
|
+
If you discover that tests fail, the build breaks, or something needs a fix while collecting evidence:
|
|
207
|
+
1. **Fix the issue first** — make the necessary code changes
|
|
208
|
+
2. **Commit the fix immediately** with a descriptive conventional commit message (e.g. \`fix(scope): resolve test failure discovered during evidence collection\`)${state.push ? `\n3. **Push the fix**: \`git push -u origin HEAD\`` : ''}
|
|
209
|
+
3. **Then continue** capturing evidence — the evidence should reflect the working state after the fix
|
|
210
|
+
|
|
211
|
+
This ensures implementation changes and evidence remain in separate commits with a clean history.
|
|
212
|
+
|
|
203
213
|
## Constraints
|
|
204
214
|
|
|
205
|
-
- Capture evidence for completed tasks only — do NOT modify any implementation code
|
|
206
215
|
- Capture evidence that proves the feature works — prioritize screenshots for UI changes, test output for logic changes
|
|
216
|
+
- If you need to fix code to make evidence pass, commit the fix BEFORE capturing/committing evidence
|
|
207
217
|
- If a screenshot capture fails, document the failure reason in the evidence description and try alternative approaches before giving up
|
|
208
218
|
- Do NOT capture evidence for documentation-only changes or spec files
|
|
209
219
|
${commitSection}`;
|
|
@@ -253,6 +263,7 @@ ${formatValidationErrors(errors)}
|
|
|
253
263
|
### Instructions
|
|
254
264
|
|
|
255
265
|
- Review the issues above and capture the missing evidence
|
|
266
|
+
- If you need to fix code to resolve a gap (e.g., a failing test), commit the fix FIRST before recapturing evidence
|
|
256
267
|
- Focus on the specific gaps listed — do not re-capture evidence that already exists
|
|
257
268
|
- Ensure new evidence files are saved to the correct paths
|
|
258
269
|
- Output ALL evidence records (both previously captured and newly captured) in the JSON output block`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fast-implement.prompt.d.ts","sourceRoot":"","sources":["../../../../../../../../../../packages/core/src/infrastructure/services/agents/feature-agent/nodes/prompts/fast-implement.prompt.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAMH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAwIxD;;;;;;;;;;;GAWG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,iBAAiB,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"fast-implement.prompt.d.ts","sourceRoot":"","sources":["../../../../../../../../../../packages/core/src/infrastructure/services/agents/feature-agent/nodes/prompts/fast-implement.prompt.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAMH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAwIxD;;;;;;;;;;;GAWG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,iBAAiB,GAAG,MAAM,CAwEzE"}
|
|
@@ -179,7 +179,9 @@ ${userQuery}
|
|
|
179
179
|
3. Run the test suite and fix any failures
|
|
180
180
|
4. Run the linter and fix any issues
|
|
181
181
|
5. Ensure the project builds successfully
|
|
182
|
-
6.
|
|
182
|
+
6. Commit your work with descriptive conventional commit messages (e.g. \`feat(scope): description\`)
|
|
183
|
+
- Commit incrementally as you complete logical units of work — do NOT wait until the end
|
|
184
|
+
- Each commit should be a coherent, working unit${state.push ? `\n7. Push to remote after committing: \`git push -u origin HEAD\`\n - Do NOT wait for or watch CI — just push and finish` : ''}
|
|
183
185
|
|
|
184
186
|
## Working Directory
|
|
185
187
|
|
|
@@ -209,7 +211,6 @@ ${dirListing}
|
|
|
209
211
|
|
|
210
212
|
- Implement ONLY what the user requested — nothing more
|
|
211
213
|
- Follow existing codebase conventions and patterns
|
|
212
|
-
- Do NOT commit, push, or create pull requests
|
|
213
214
|
- Do NOT modify any spec YAML files
|
|
214
215
|
- Keep changes focused and minimal
|
|
215
216
|
- Do NOT enter plan mode — implement directly without planning phases
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"implement.prompt.d.ts","sourceRoot":"","sources":["../../../../../../../../../../packages/core/src/infrastructure/services/agents/feature-agent/nodes/prompts/implement.prompt.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAExD,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,GAAG,EAAE;QAAE,GAAG,EAAE,MAAM,EAAE,CAAC;QAAC,KAAK,EAAE,MAAM,EAAE,CAAC;QAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;KAAE,GAAG,IAAI,CAAC;IACnE,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,OAAO,CAAC;IAClB,sEAAsE;IACtE,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,MAAM,WAAW,QAAQ;IACvB,MAAM,EAAE,SAAS,EAAE,CAAC;CACrB;AAED,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,SAAS,EAAE,CAAC;CACpB;AAwBD;;;;GAIG;AACH,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,iBAAiB,EACxB,KAAK,EAAE,SAAS,EAChB,KAAK,EAAE,SAAS,EAAE,EAClB,OAAO,EAAE;IAAE,WAAW,EAAE,OAAO,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,GACzE,MAAM,
|
|
1
|
+
{"version":3,"file":"implement.prompt.d.ts","sourceRoot":"","sources":["../../../../../../../../../../packages/core/src/infrastructure/services/agents/feature-agent/nodes/prompts/implement.prompt.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAExD,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,GAAG,EAAE;QAAE,GAAG,EAAE,MAAM,EAAE,CAAC;QAAC,KAAK,EAAE,MAAM,EAAE,CAAC;QAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;KAAE,GAAG,IAAI,CAAC;IACnE,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,OAAO,CAAC;IAClB,sEAAsE;IACtE,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,MAAM,WAAW,QAAQ;IACvB,MAAM,EAAE,SAAS,EAAE,CAAC;CACrB;AAED,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,SAAS,EAAE,CAAC;CACpB;AAwBD;;;;GAIG;AACH,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,iBAAiB,EACxB,KAAK,EAAE,SAAS,EAChB,KAAK,EAAE,SAAS,EAAE,EAClB,OAAO,EAAE;IAAE,WAAW,EAAE,OAAO,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,GACzE,MAAM,CAmER"}
|
|
@@ -79,7 +79,10 @@ ${taskSections}
|
|
|
79
79
|
2. For tasks with TDD guidance: write tests alongside implementation following the hints provided — use them as guidance, not rigid steps
|
|
80
80
|
3. Follow existing codebase conventions for file placement, naming patterns, and architecture layers
|
|
81
81
|
${verificationBlock}
|
|
82
|
-
5. Commit your work with descriptive conventional commit messages (e.g. \`feat(scope): description\`)
|
|
82
|
+
5. Commit your work with descriptive conventional commit messages (e.g. \`feat(scope): description\`)
|
|
83
|
+
- Commit incrementally as you complete logical units of work — do NOT wait until the end
|
|
84
|
+
- Each commit should be a coherent, working unit
|
|
85
|
+
- It is CRITICAL that all implementation code is committed before this phase ends — evidence collection runs next and needs a clean working tree${state.push ? `\n6. Push to remote after committing: \`git push -u origin HEAD\`\n - Do NOT wait for or watch CI — just push and finish` : ''}
|
|
83
86
|
|
|
84
87
|
## Working Directory
|
|
85
88
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"onboarding.wizard.d.ts","sourceRoot":"","sources":["../../../../../../src/presentation/tui/wizards/onboarding/onboarding.wizard.ts"],"names":[],"mappings":"AACA;;;;;;GAMG;AASH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"onboarding.wizard.d.ts","sourceRoot":"","sources":["../../../../../../src/presentation/tui/wizards/onboarding/onboarding.wizard.ts"],"names":[],"mappings":"AACA;;;;;;GAMG;AASH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAmBzD;;;;;;;;;GASG;AACH,wBAAsB,gBAAgB,CACpC,SAAS,GAAE,MAAM,OAAO,CAAC,iBAAiB,CAAgB,EAC1D,OAAO,GAAE,MAAM,OAAO,CAAC,MAAM,CAAc,EAC3C,YAAY,GAAE,MAAM,OAAO,CAAC,sBAAsB,CAA2B,GAC5E,OAAO,CAAC,IAAI,CAAC,CAoCf"}
|
|
@@ -21,6 +21,11 @@ function showWelcomeBanner() {
|
|
|
21
21
|
console.log(pc.cyan(pc.bold(' Welcome to Shep AI CLI')));
|
|
22
22
|
console.log(pc.dim(" Let's set up your environment in 3 quick steps."));
|
|
23
23
|
console.log();
|
|
24
|
+
console.log(pc.yellow(' ⚠ Prerequisite: ') +
|
|
25
|
+
pc.bold('GitHub CLI (gh)') +
|
|
26
|
+
pc.dim(' is required for full CI/CD self-healing capabilities.'));
|
|
27
|
+
console.log(pc.dim(' Install it from: ') + pc.underline('https://cli.github.com/'));
|
|
28
|
+
console.log();
|
|
24
29
|
}
|
|
25
30
|
/**
|
|
26
31
|
* Runs the first-run onboarding wizard.
|
package/dist/src/presentation/web/components/features/control-center/welcome-agent-setup.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"welcome-agent-setup.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/web/components/features/control-center/welcome-agent-setup.tsx"],"names":[],"mappings":"AAWA,MAAM,WAAW,sBAAsB;IACrC,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAMD,wBAAgB,iBAAiB,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,EAAE,sBAAsB,
|
|
1
|
+
{"version":3,"file":"welcome-agent-setup.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/web/components/features/control-center/welcome-agent-setup.tsx"],"names":[],"mappings":"AAWA,MAAM,WAAW,sBAAsB;IACrC,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAMD,wBAAgB,iBAAiB,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,EAAE,sBAAsB,2CAkPlF"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
3
|
import { useState, useEffect, useCallback, useRef } from 'react';
|
|
4
|
-
import { ChevronLeft, Loader2 } from 'lucide-react';
|
|
4
|
+
import { ChevronLeft, Loader2, AlertTriangle } from 'lucide-react';
|
|
5
5
|
import { getAllAgentModels } from '../../../app/actions/get-all-agent-models.js';
|
|
6
6
|
import { updateAgentAndModel } from '../../../app/actions/update-agent-and-model.js';
|
|
7
7
|
import { getAgentTypeIcon } from '../../common/feature-node/agent-type-icons.js';
|
|
@@ -93,7 +93,7 @@ export function WelcomeAgentSetup({ onComplete, className }) {
|
|
|
93
93
|
: activeGroup
|
|
94
94
|
? `Choose which ${activeGroup.label} model to run.`
|
|
95
95
|
: '';
|
|
96
|
-
return (_jsxs("div", { "data-testid": "welcome-agent-setup", className: cn('flex w-full flex-col items-center', className), children: [_jsx("div", { className: "mb-8 flex w-full max-w-xs items-center gap-1.5", children: STEPS.map((s, i) => (_jsx("div", { className: cn('h-[3px] flex-1 rounded-full transition-colors duration-300', i <= stepIndex ? 'bg-foreground/60' : 'bg-muted') }, s))) }), _jsxs("div", { className: cn('flex w-full flex-col items-center transition-opacity duration-200', visible && !transitioning ? 'opacity-100' : 'opacity-0'), children: [_jsx("h1", { className: "text-foreground/90 text-center text-5xl font-extralight tracking-tight", children: heroTitle }), _jsx("p", { className: "text-muted-foreground mt-3 text-center text-lg leading-relaxed font-light", children: heroSubtitle }), _jsxs("div", { className: "mt-8 flex w-full flex-col items-center", children: [step === 'select-agent' && (_jsx("div", { "data-testid": "agent-list", className: "grid w-full max-w-lg gap-3", style: {
|
|
96
|
+
return (_jsxs("div", { "data-testid": "welcome-agent-setup", className: cn('flex w-full flex-col items-center', className), children: [_jsx("div", { className: "mb-8 flex w-full max-w-xs items-center gap-1.5", children: STEPS.map((s, i) => (_jsx("div", { className: cn('h-[3px] flex-1 rounded-full transition-colors duration-300', i <= stepIndex ? 'bg-foreground/60' : 'bg-muted') }, s))) }), _jsxs("div", { className: cn('flex w-full flex-col items-center transition-opacity duration-200', visible && !transitioning ? 'opacity-100' : 'opacity-0'), children: [_jsx("h1", { className: "text-foreground/90 text-center text-5xl font-extralight tracking-tight", children: heroTitle }), _jsx("p", { className: "text-muted-foreground mt-3 text-center text-lg leading-relaxed font-light", children: heroSubtitle }), step === 'select-agent' && (_jsxs("div", { "data-testid": "gh-cli-notice", className: "mt-5 flex items-start gap-2 rounded-lg border border-amber-200 bg-amber-50 px-4 py-3 dark:border-amber-900 dark:bg-amber-950/40", children: [_jsx(AlertTriangle, { className: "mt-0.5 h-4 w-4 shrink-0 text-amber-500" }), _jsxs("p", { className: "text-sm leading-relaxed text-amber-800 dark:text-amber-300", children: [_jsx("span", { className: "font-medium", children: "GitHub CLI (gh)" }), " is required for full CI/CD self-healing capabilities.", ' ', _jsx("a", { href: "https://cli.github.com/", target: "_blank", rel: "noopener noreferrer", className: "underline underline-offset-2 hover:text-amber-900 dark:hover:text-amber-200", children: "Install it here" }), "."] })] })), _jsxs("div", { className: "mt-8 flex w-full flex-col items-center", children: [step === 'select-agent' && (_jsx("div", { "data-testid": "agent-list", className: "grid w-full max-w-lg gap-3", style: {
|
|
97
97
|
gridTemplateColumns: `repeat(${Math.min(groups.length, 4)}, minmax(0, 1fr))`,
|
|
98
98
|
}, children: groups.map((group) => {
|
|
99
99
|
const GroupIcon = getAgentTypeIcon(group.agentType);
|