@shepai/cli 1.105.0 → 1.106.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 (129) hide show
  1. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/prompts/merge-prompts.js +3 -3
  2. package/dist/src/presentation/web/components/common/feature-drawer-tabs/overview-tab.js +3 -2
  3. package/dist/src/presentation/web/components/common/feature-drawer-tabs/overview-tab.stories.d.ts +4 -0
  4. package/dist/src/presentation/web/components/common/feature-drawer-tabs/overview-tab.stories.d.ts.map +1 -1
  5. package/dist/src/presentation/web/components/common/feature-drawer-tabs/overview-tab.stories.js +30 -0
  6. package/dist/tsconfig.build.tsbuildinfo +1 -1
  7. package/package.json +1 -1
  8. package/web/.next/BUILD_ID +1 -1
  9. package/web/.next/build-manifest.json +2 -2
  10. package/web/.next/fallback-build-manifest.json +2 -2
  11. package/web/.next/prerender-manifest.json +3 -3
  12. package/web/.next/required-server-files.js +2 -2
  13. package/web/.next/required-server-files.json +2 -2
  14. package/web/.next/server/app/(dashboard)/@drawer/create/page/server-reference-manifest.json +20 -20
  15. package/web/.next/server/app/(dashboard)/@drawer/create/page.js.nft.json +1 -1
  16. package/web/.next/server/app/(dashboard)/@drawer/create/page_client-reference-manifest.js +1 -1
  17. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page/server-reference-manifest.json +25 -25
  18. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page.js.nft.json +1 -1
  19. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page_client-reference-manifest.js +1 -1
  20. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page/server-reference-manifest.json +25 -25
  21. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js.nft.json +1 -1
  22. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page_client-reference-manifest.js +1 -1
  23. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page/server-reference-manifest.json +18 -18
  24. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js.nft.json +1 -1
  25. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
  26. package/web/.next/server/app/(dashboard)/create/page/server-reference-manifest.json +20 -20
  27. package/web/.next/server/app/(dashboard)/create/page.js.nft.json +1 -1
  28. package/web/.next/server/app/(dashboard)/create/page_client-reference-manifest.js +1 -1
  29. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page/server-reference-manifest.json +25 -25
  30. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page.js.nft.json +1 -1
  31. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page_client-reference-manifest.js +1 -1
  32. package/web/.next/server/app/(dashboard)/feature/[featureId]/page/server-reference-manifest.json +25 -25
  33. package/web/.next/server/app/(dashboard)/feature/[featureId]/page.js.nft.json +1 -1
  34. package/web/.next/server/app/(dashboard)/feature/[featureId]/page_client-reference-manifest.js +1 -1
  35. package/web/.next/server/app/(dashboard)/page/server-reference-manifest.json +18 -18
  36. package/web/.next/server/app/(dashboard)/page.js.nft.json +1 -1
  37. package/web/.next/server/app/(dashboard)/page_client-reference-manifest.js +1 -1
  38. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page/server-reference-manifest.json +18 -18
  39. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js.nft.json +1 -1
  40. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
  41. package/web/.next/server/app/_global-error.html +2 -2
  42. package/web/.next/server/app/_global-error.rsc +1 -1
  43. package/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  44. package/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  45. package/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  46. package/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  47. package/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  48. package/web/.next/server/app/_not-found/page/server-reference-manifest.json +1 -1
  49. package/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  50. package/web/.next/server/app/settings/page/server-reference-manifest.json +5 -5
  51. package/web/.next/server/app/settings/page.js.nft.json +1 -1
  52. package/web/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  53. package/web/.next/server/app/skills/page/server-reference-manifest.json +6 -6
  54. package/web/.next/server/app/skills/page_client-reference-manifest.js +1 -1
  55. package/web/.next/server/app/tools/page/server-reference-manifest.json +6 -6
  56. package/web/.next/server/app/tools/page_client-reference-manifest.js +1 -1
  57. package/web/.next/server/app/version/page/server-reference-manifest.json +1 -1
  58. package/web/.next/server/app/version/page_client-reference-manifest.js +1 -1
  59. package/web/.next/server/chunks/[root-of-the-server]__f47bb8a5._.js +1 -1
  60. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_create-drawer-client_tsx_5e26fc0a._.js +1 -1
  61. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_create-drawer-client_tsx_5e26fc0a._.js.map +1 -1
  62. package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_@drawer_repository_[repositoryId]_page_actions_0a7546ed.js +1 -1
  63. package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_@drawer_repository_[repositoryId]_page_actions_0a7546ed.js.map +1 -1
  64. package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_repository_[repositoryId]_page_actions_978cbb4c.js +1 -1
  65. package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_repository_[repositoryId]_page_actions_978cbb4c.js.map +1 -1
  66. package/web/.next/server/chunks/ssr/[root-of-the-server]__11033878._.js +1 -1
  67. package/web/.next/server/chunks/ssr/[root-of-the-server]__11033878._.js.map +1 -1
  68. package/web/.next/server/chunks/ssr/[root-of-the-server]__24dd0927._.js +2 -2
  69. package/web/.next/server/chunks/ssr/[root-of-the-server]__357d99f9._.js +1 -1
  70. package/web/.next/server/chunks/ssr/[root-of-the-server]__51fc98b0._.js +1 -1
  71. package/web/.next/server/chunks/ssr/[root-of-the-server]__51fc98b0._.js.map +1 -1
  72. package/web/.next/server/chunks/ssr/[root-of-the-server]__57f37786._.js +1 -1
  73. package/web/.next/server/chunks/ssr/[root-of-the-server]__57f37786._.js.map +1 -1
  74. package/web/.next/server/chunks/ssr/[root-of-the-server]__5d87af2e._.js +1 -1
  75. package/web/.next/server/chunks/ssr/[root-of-the-server]__708dcad1._.js +1 -1
  76. package/web/.next/server/chunks/ssr/[root-of-the-server]__708dcad1._.js.map +1 -1
  77. package/web/.next/server/chunks/ssr/[root-of-the-server]__845a9d2a._.js +1 -1
  78. package/web/.next/server/chunks/ssr/[root-of-the-server]__845a9d2a._.js.map +1 -1
  79. package/web/.next/server/chunks/ssr/[root-of-the-server]__89e8a5cc._.js +2 -2
  80. package/web/.next/server/chunks/ssr/[root-of-the-server]__8e002910._.js +1 -1
  81. package/web/.next/server/chunks/ssr/[root-of-the-server]__8e002910._.js.map +1 -1
  82. package/web/.next/server/chunks/ssr/[root-of-the-server]__aad040c0._.js +2 -2
  83. package/web/.next/server/chunks/ssr/[root-of-the-server]__aad040c0._.js.map +1 -1
  84. package/web/.next/server/chunks/ssr/[root-of-the-server]__fdc75809._.js +1 -1
  85. package/web/.next/server/chunks/ssr/[root-of-the-server]__fdc75809._.js.map +1 -1
  86. package/web/.next/server/chunks/ssr/_135edb9c._.js +1 -1
  87. package/web/.next/server/chunks/ssr/_135edb9c._.js.map +1 -1
  88. package/web/.next/server/chunks/ssr/_8dacd1e7._.js +1 -1
  89. package/web/.next/server/chunks/ssr/_8dacd1e7._.js.map +1 -1
  90. package/web/.next/server/chunks/ssr/{_1d1282fd._.js → _ace6ae7f._.js} +2 -2
  91. package/web/.next/server/chunks/ssr/{_1d1282fd._.js.map → _ace6ae7f._.js.map} +1 -1
  92. package/web/.next/server/chunks/ssr/{_4f3f82dc._.js → _b17ec930._.js} +2 -2
  93. package/web/.next/server/chunks/ssr/{_4f3f82dc._.js.map → _b17ec930._.js.map} +1 -1
  94. package/web/.next/server/chunks/ssr/_cc77a143._.js +1 -1
  95. package/web/.next/server/chunks/ssr/_cc77a143._.js.map +1 -1
  96. package/web/.next/server/chunks/ssr/{_e9866672._.js → _fa027412._.js} +2 -2
  97. package/web/.next/server/chunks/ssr/{_e9866672._.js.map → _fa027412._.js.map} +1 -1
  98. package/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_settings_settings-page-client_tsx_6ed9d5f8._.js +1 -1
  99. package/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_settings_settings-page-client_tsx_6ed9d5f8._.js.map +1 -1
  100. package/web/.next/server/chunks/ssr/src_presentation_web_7275ce5d._.js +2 -2
  101. package/web/.next/server/chunks/ssr/src_presentation_web_7275ce5d._.js.map +1 -1
  102. package/web/.next/server/chunks/ssr/src_presentation_web_758dfa10._.js +2 -2
  103. package/web/.next/server/chunks/ssr/src_presentation_web_758dfa10._.js.map +1 -1
  104. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_(dashboard)_page_actions_84803221.js +1 -1
  105. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_(dashboard)_page_actions_84803221.js.map +1 -1
  106. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_skills_page_actions_1fa8042e.js +1 -1
  107. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_skills_page_actions_1fa8042e.js.map +1 -1
  108. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_tools_page_actions_24684200.js +1 -1
  109. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_tools_page_actions_24684200.js.map +1 -1
  110. package/web/.next/server/chunks/ssr/src_presentation_web_components_bf50c527._.js +1 -1
  111. package/web/.next/server/chunks/ssr/src_presentation_web_components_de814675._.js +1 -1
  112. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_7ac3562e._.js +1 -1
  113. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_7ac3562e._.js.map +1 -1
  114. package/web/.next/server/pages/500.html +2 -2
  115. package/web/.next/server/server-reference-manifest.js +1 -1
  116. package/web/.next/server/server-reference-manifest.json +30 -30
  117. package/web/.next/static/chunks/{710458e76c4c1e95.js → 0dbb7106dc1d14f0.js} +2 -2
  118. package/web/.next/static/chunks/{f2cba08b6c4ff590.js → 4731bd6b3845ae5b.js} +1 -1
  119. package/web/.next/static/chunks/{0d6eb4a59f1eb888.js → 524db7fb83eb1b0a.js} +1 -1
  120. package/web/.next/static/chunks/{e934d107a2e4edb2.js → 5b305180fecefa25.js} +1 -1
  121. package/web/.next/static/chunks/{0bd392ccc367ada0.js → 7efb0c42a34fecc0.js} +1 -1
  122. package/web/.next/static/chunks/{a60eb62ee95051af.js → 85baab3c23206768.js} +1 -1
  123. package/web/.next/static/chunks/{da73ca1cdae68519.js → aa8d9e8c8bf51cd8.js} +1 -1
  124. package/web/.next/static/chunks/{c98681a218c0b41f.js → c7f8025b210beec0.js} +1 -1
  125. package/web/.next/static/chunks/{ce6a78c88475c1a5.js → c8fac6b569cb729e.js} +1 -1
  126. package/web/.next/static/chunks/{a464d76443ad806b.js → e87acba9497e0fa9.js} +2 -2
  127. /package/web/.next/static/{gbVzSaustoS6WazLhWXuK → j7LoqaY49SHJhvQzViLfV}/_buildManifest.js +0 -0
  128. /package/web/.next/static/{gbVzSaustoS6WazLhWXuK → j7LoqaY49SHJhvQzViLfV}/_clientMiddlewareManifest.json +0 -0
  129. /package/web/.next/static/{gbVzSaustoS6WazLhWXuK → j7LoqaY49SHJhvQzViLfV}/_ssgManifest.js +0 -0
@@ -234,9 +234,9 @@ export function buildMergeSquashPrompt(state, branch, baseBranch, hasRemote = fa
234
234
 
235
235
  ## Instructions
236
236
 
237
- 1. Merge the PR using squash merge: \`gh pr merge ${state.prNumber} --squash --delete-branch\`
238
- 2. If merge conflicts are encountered, resolve them and retry
239
- 3. If the merge fails, report the error clearly
237
+ 1. Merge the PR using squash merge with auto-merge: \`gh pr merge ${state.prNumber} --squash --delete-branch --auto\`
238
+ - The --auto flag queues the merge to execute automatically once all branch protection requirements (CI checks, reviews, etc.) are satisfied
239
+ 2. If the merge command fails, report the error clearly
240
240
 
241
241
  ## Constraints
242
242
 
@@ -46,14 +46,15 @@ function formatRelativeTime(timestamp) {
46
46
  return 'just now';
47
47
  }
48
48
  function FeatureInfo({ data }) {
49
+ const showSummary = Boolean(data.summary) && !(data.userQuery && data.summary?.trim() === data.userQuery.trim());
49
50
  const hasInfo = Boolean(data.branch) ||
50
51
  Boolean(data.oneLiner) ||
51
- Boolean(data.summary) ||
52
+ showSummary ||
52
53
  Boolean(data.userQuery) ||
53
54
  Boolean(data.createdAt);
54
55
  if (!hasInfo)
55
56
  return null;
56
- return (_jsxs(_Fragment, { children: [_jsx(Separator, {}), _jsxs("div", { "data-testid": "feature-drawer-info", className: "flex flex-col gap-3 p-4", children: [data.branch ? (_jsxs("div", { className: "flex flex-col gap-0.5", children: [_jsx("span", { className: "text-muted-foreground text-xs font-medium", children: "Branch" }), _jsxs("span", { className: "flex items-center gap-1.5 text-sm", children: [_jsx(GitBranch, { className: "text-muted-foreground h-3.5 w-3.5 shrink-0" }), _jsx("code", { className: "bg-muted rounded px-1 py-0.5 font-mono text-xs", children: data.branch }), data.baseBranch ? (_jsxs("span", { className: "text-muted-foreground text-xs", children: ["from ", data.baseBranch] })) : null] })] })) : null, data.oneLiner ? (_jsxs("div", { className: "flex flex-col gap-0.5", children: [_jsx("span", { className: "text-muted-foreground text-xs font-medium", children: "One-Liner" }), _jsx("span", { className: "text-sm leading-relaxed", children: data.oneLiner })] })) : null, data.userQuery ? (_jsxs("div", { className: "flex flex-col gap-0.5", children: [_jsx("span", { className: "text-muted-foreground text-xs font-medium", children: "User Query" }), _jsx(InlineAttachments, { text: data.userQuery })] })) : null, data.summary ? (_jsxs("div", { className: "flex flex-col gap-0.5", children: [_jsx("span", { className: "text-muted-foreground text-xs font-medium", children: "Summary" }), _jsx("span", { className: "text-sm leading-relaxed", children: data.summary })] })) : null, data.createdAt ? (_jsx(DetailRow, { label: "Created", value: formatRelativeTime(data.createdAt) })) : null] })] }));
57
+ return (_jsxs(_Fragment, { children: [_jsx(Separator, {}), _jsxs("div", { "data-testid": "feature-drawer-info", className: "flex flex-col gap-3 p-4", children: [data.branch ? (_jsxs("div", { className: "flex flex-col gap-0.5", children: [_jsx("span", { className: "text-muted-foreground text-xs font-medium", children: "Branch" }), _jsxs("span", { className: "flex items-center gap-1.5 text-sm", children: [_jsx(GitBranch, { className: "text-muted-foreground h-3.5 w-3.5 shrink-0" }), _jsx("code", { className: "bg-muted rounded px-1 py-0.5 font-mono text-xs", children: data.branch }), data.baseBranch ? (_jsxs("span", { className: "text-muted-foreground text-xs", children: ["from ", data.baseBranch] })) : null] })] })) : null, data.oneLiner ? (_jsxs("div", { className: "flex flex-col gap-0.5", children: [_jsx("span", { className: "text-muted-foreground text-xs font-medium", children: "One-Liner" }), _jsx("span", { className: "text-sm leading-relaxed", children: data.oneLiner })] })) : null, data.userQuery ? (_jsxs("div", { className: "flex flex-col gap-0.5", children: [_jsx("span", { className: "text-muted-foreground text-xs font-medium", children: "User Query" }), _jsx(InlineAttachments, { text: data.userQuery })] })) : null, showSummary ? (_jsxs("div", { className: "flex flex-col gap-0.5", children: [_jsx("span", { className: "text-muted-foreground text-xs font-medium", children: "Summary" }), _jsx("span", { className: "text-sm leading-relaxed", children: data.summary })] })) : null, data.createdAt ? (_jsx(DetailRow, { label: "Created", value: formatRelativeTime(data.createdAt) })) : null] })] }));
57
58
  }
58
59
  // ── PR Info section ──────────────────────────────────────────────────
59
60
  const prStatusStyles = {
@@ -29,6 +29,10 @@ export declare const ReviewPhase: Story;
29
29
  export declare const MaintainPhase: Story;
30
30
  /** PR with merge conflicts — shows orange "Conflicts" badge. */
31
31
  export declare const PrWithMergeConflicts: Story;
32
+ /** Summary hidden — userQuery and summary are identical. */
33
+ export declare const DuplicateSummaryHidden: Story;
34
+ /** Summary visible — userQuery and summary differ. */
35
+ export declare const DifferentSummary: Story;
32
36
  /** Completed feature with PR — progress hidden, PR shown in status section without borders. */
33
37
  export declare const CompletedWithPr: Story;
34
38
  //# sourceMappingURL=overview-tab.stories.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"overview-tab.stories.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/web/components/common/feature-drawer-tabs/overview-tab.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEvD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAG7C,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,WAAW,CAclC,CAAC;AAEF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,WAAW,CAAC,CAAC;AA0G1C,uEAAuE;AACvE,eAAO,MAAM,OAAO,EAAE,KAErB,CAAC;AAEF,8CAA8C;AAC9C,eAAO,MAAM,IAAI,EAAE,KAElB,CAAC;AAEF,yDAAyD;AACzD,eAAO,MAAM,UAAU,EAAE,KAExB,CAAC;AAEF,wDAAwD;AACxD,eAAO,MAAM,gBAAgB,EAAE,KAE9B,CAAC;AAEF,iDAAiD;AACjD,eAAO,MAAM,OAAO,EAAE,KAErB,CAAC;AAEF,gDAAgD;AAChD,eAAO,MAAM,KAAK,EAAE,KAEnB,CAAC;AAEF,sEAAsE;AACtE,eAAO,MAAM,OAAO,EAAE,KAErB,CAAC;AAwBF,mEAAmE;AACnE,eAAO,MAAM,QAAQ,EAAE,KAEtB,CAAC;AAMF,0BAA0B;AAC1B,eAAO,MAAM,iBAAiB,EAAE,KAE/B,CAAC;AAEF,sBAAsB;AACtB,eAAO,MAAM,aAAa,EAAE,KAE3B,CAAC;AAEF,oBAAoB;AACpB,eAAO,MAAM,WAAW,EAAE,KAEzB,CAAC;AAEF,sBAAsB;AACtB,eAAO,MAAM,aAAa,EAAE,KAE3B,CAAC;AAEF,gEAAgE;AAChE,eAAO,MAAM,oBAAoB,EAAE,KAclC,CAAC;AAEF,+FAA+F;AAC/F,eAAO,MAAM,eAAe,EAAE,KAgB7B,CAAC"}
1
+ {"version":3,"file":"overview-tab.stories.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/web/components/common/feature-drawer-tabs/overview-tab.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEvD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAG7C,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,WAAW,CAclC,CAAC;AAEF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,WAAW,CAAC,CAAC;AA0G1C,uEAAuE;AACvE,eAAO,MAAM,OAAO,EAAE,KAErB,CAAC;AAEF,8CAA8C;AAC9C,eAAO,MAAM,IAAI,EAAE,KAElB,CAAC;AAEF,yDAAyD;AACzD,eAAO,MAAM,UAAU,EAAE,KAExB,CAAC;AAEF,wDAAwD;AACxD,eAAO,MAAM,gBAAgB,EAAE,KAE9B,CAAC;AAEF,iDAAiD;AACjD,eAAO,MAAM,OAAO,EAAE,KAErB,CAAC;AAEF,gDAAgD;AAChD,eAAO,MAAM,KAAK,EAAE,KAEnB,CAAC;AAEF,sEAAsE;AACtE,eAAO,MAAM,OAAO,EAAE,KAErB,CAAC;AAwBF,mEAAmE;AACnE,eAAO,MAAM,QAAQ,EAAE,KAEtB,CAAC;AAMF,0BAA0B;AAC1B,eAAO,MAAM,iBAAiB,EAAE,KAE/B,CAAC;AAEF,sBAAsB;AACtB,eAAO,MAAM,aAAa,EAAE,KAE3B,CAAC;AAEF,oBAAoB;AACpB,eAAO,MAAM,WAAW,EAAE,KAEzB,CAAC;AAEF,sBAAsB;AACtB,eAAO,MAAM,aAAa,EAAE,KAE3B,CAAC;AAEF,gEAAgE;AAChE,eAAO,MAAM,oBAAoB,EAAE,KAclC,CAAC;AAqBF,4DAA4D;AAC5D,eAAO,MAAM,sBAAsB,EAAE,KAEpC,CAAC;AAEF,sDAAsD;AACtD,eAAO,MAAM,gBAAgB,EAAE,KAO9B,CAAC;AAEF,+FAA+F;AAC/F,eAAO,MAAM,eAAe,EAAE,KAgB7B,CAAC"}
@@ -195,6 +195,36 @@ export const PrWithMergeConflicts = {
195
195
  },
196
196
  },
197
197
  };
198
+ /* ---------------------------------------------------------------------------
199
+ * Duplicate summary stories
200
+ * ------------------------------------------------------------------------- */
201
+ const duplicateSummaryData = {
202
+ name: 'GPT Chat Support',
203
+ description: 'Add support for "gpt chat" experience',
204
+ featureId: '#ds1',
205
+ lifecycle: 'requirements',
206
+ state: 'running',
207
+ progress: 10,
208
+ agentType: 'claude-code',
209
+ repositoryPath: '/home/user/my-repo',
210
+ branch: 'feat/gpt-chat',
211
+ userQuery: 'Add support to "gpt chat" experience in the shep app',
212
+ summary: 'Add support to "gpt chat" experience in the shep app',
213
+ createdAt: Date.now() - 5000,
214
+ };
215
+ /** Summary hidden — userQuery and summary are identical. */
216
+ export const DuplicateSummaryHidden = {
217
+ args: { data: duplicateSummaryData },
218
+ };
219
+ /** Summary visible — userQuery and summary differ. */
220
+ export const DifferentSummary = {
221
+ args: {
222
+ data: {
223
+ ...duplicateSummaryData,
224
+ summary: 'Integrate GPT chat experience using prompt-kit components with streaming support',
225
+ },
226
+ },
227
+ };
198
228
  /** Completed feature with PR — progress hidden, PR shown in status section without borders. */
199
229
  export const CompletedWithPr = {
200
230
  args: {