@shepai/cli 1.129.2-pr414.a244c89 → 1.129.2
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/src/presentation/web/components/common/feature-drawer-tabs/activity-tab.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/feature-drawer-tabs/activity-tab.js +6 -21
- package/dist/src/presentation/web/components/common/feature-drawer-tabs/activity-tab.stories.d.ts +0 -16
- package/dist/src/presentation/web/components/common/feature-drawer-tabs/activity-tab.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/feature-drawer-tabs/activity-tab.stories.js +0 -126
- 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/[root-of-the-server]__b2f9a412._.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]__0e842eba._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__0e842eba._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__2f886f77._.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]__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]__60684242._.js +2 -2
- 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]__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]__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/[root-of-the-server]__f4a463ee._.js +2 -2
- 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/{_e1434c79._.js → _6f7bfa91._.js} +2 -2
- package/web/.next/server/chunks/ssr/{_e1434c79._.js.map → _6f7bfa91._.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/_a9f57758._.js +1 -1
- package/web/.next/server/chunks/ssr/_a9f57758._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_bda8a4be._.js +3 -0
- package/web/.next/server/chunks/ssr/{_5fb28e57._.js.map → _bda8a4be._.js.map} +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_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_a6ae877a._.js +3 -0
- package/web/.next/server/chunks/ssr/{src_presentation_web_2fdcc9da._.js.map → src_presentation_web_a6ae877a._.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/{f48057e0ef8a1769.js → 03b3edc6ec7acce0.js} +1 -1
- package/web/.next/static/chunks/{51b7b8bdb07f2ebf.js → 0f21da463e7b5fe5.js} +1 -1
- package/web/.next/static/chunks/{069841443403cfcc.js → 1ff1a21ebd0d3dce.js} +2 -2
- package/web/.next/static/chunks/{901929c364c0910e.js → 38eca63d40c799cd.js} +1 -1
- package/web/.next/static/chunks/{676c6d4741f6192d.js → 49cc0701d7c41ba6.js} +1 -1
- package/web/.next/static/chunks/{a22e9f6f61bf7c13.js → 4b6d766e61789186.js} +1 -1
- package/web/.next/static/chunks/{92f126f7bc731420.js → 5d14ca93cee50529.js} +2 -2
- package/web/.next/static/chunks/{1192d7345f9f2518.js → 94f33a53f1b81108.js} +1 -1
- package/web/.next/static/chunks/{3328e3a18a27d6a2.js → 987ffb823189289a.js} +1 -1
- package/web/.next/static/chunks/{b19d87b816606ee1.js → ad726954ef3ab226.js} +1 -1
- package/web/.next/static/chunks/{82c085fcdc2b24c4.js → ecd9562d3fd2944c.js} +1 -1
- package/web/.next/static/chunks/{e9d946d8d4227e83.js → ff5e04cd8c24dd59.js} +1 -1
- package/web/.next/server/chunks/ssr/_5fb28e57._.js +0 -3
- package/web/.next/server/chunks/ssr/src_presentation_web_2fdcc9da._.js +0 -3
- /package/web/.next/static/{BI_nIsDchXe-UwYQ69wzj → FwKj7hWEdbpIR5DtG1GQJ}/_buildManifest.js +0 -0
- /package/web/.next/static/{BI_nIsDchXe-UwYQ69wzj → FwKj7hWEdbpIR5DtG1GQJ}/_clientMiddlewareManifest.json +0 -0
- /package/web/.next/static/{BI_nIsDchXe-UwYQ69wzj → FwKj7hWEdbpIR5DtG1GQJ}/_ssgManifest.js +0 -0
package/dist/src/presentation/web/components/common/feature-drawer-tabs/activity-tab.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"activity-tab.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/web/components/common/feature-drawer-tabs/activity-tab.tsx"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EACV,eAAe,EACf,qBAAqB,EACtB,MAAM,yCAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"activity-tab.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/web/components/common/feature-drawer-tabs/activity-tab.tsx"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EACV,eAAe,EACf,qBAAqB,EACtB,MAAM,yCAAyC,CAAC;AAmEjD,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,eAAe,EAAE,GAAG,IAAI,CAAC;IAClC,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,iBAAiB,CAAC,EAAE,qBAAqB,EAAE,CAAC;CAC7C;AAmED;;;;;;;GAOG;AACH,MAAM,WAAW,iBAAiB;IAChC,+BAA+B;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,0CAA0C;IAC1C,OAAO,EAAE,eAAe,EAAE,CAAC;IAC3B,mEAAmE;IACnE,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,8DAA8D;IAC9D,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;CACjC;AAED;;;;;;;;;GASG;AACH,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,eAAe,EAAE,EAC1B,QAAQ,CAAC,EAAE,qBAAqB,EAAE,GACjC,iBAAiB,EAAE,CAgErB;AA6BD,wBAAgB,WAAW,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,iBAAiB,EAAE,EAAE,gBAAgB,2CAqE3F"}
|
|
@@ -24,18 +24,12 @@ function getEffectiveDuration(timing, now) {
|
|
|
24
24
|
function hasRunningPhase(timings) {
|
|
25
25
|
return timings.some((t) => !t.phase.startsWith('run:') && !t.completedAt && t.startedAt);
|
|
26
26
|
}
|
|
27
|
-
/**
|
|
28
|
-
function hasWaitingForApprovalPhase(timings) {
|
|
29
|
-
return timings.some((t) => !t.phase.startsWith('run:') && !!t.waitingApprovalAt && !t.approvalWaitMs);
|
|
30
|
-
}
|
|
31
|
-
/** Hook that ticks every second while there are running or approval-waiting phases. */
|
|
27
|
+
/** Hook that ticks every second while there are running phases. */
|
|
32
28
|
function useTickingNow(timings) {
|
|
33
29
|
const [now, setNow] = useState(Date.now);
|
|
34
30
|
const intervalRef = useRef(null);
|
|
35
31
|
useEffect(() => {
|
|
36
|
-
const running = timings
|
|
37
|
-
? hasRunningPhase(timings) || hasWaitingForApprovalPhase(timings)
|
|
38
|
-
: false;
|
|
32
|
+
const running = timings ? hasRunningPhase(timings) : false;
|
|
39
33
|
if (running) {
|
|
40
34
|
// Tick every second
|
|
41
35
|
intervalRef.current = setInterval(() => setNow(Date.now()), 1000);
|
|
@@ -319,21 +313,12 @@ function NodeTimingRow({ timing, maxDurationMs, now, }) {
|
|
|
319
313
|
backgroundImage: 'linear-gradient(90deg, transparent 0%, rgb(59 130 246) 50%, transparent 100%)',
|
|
320
314
|
backgroundSize: '200% 100%',
|
|
321
315
|
animation: 'shimmer 1.5s ease-in-out infinite',
|
|
322
|
-
} })) : (_jsx("div", { className: `h-full rounded-full transition-all duration-300 ${barColorClass}`, style: { width: `${Math.min(barPercent, 100)}%` } })) }), _jsx("span", { className: "text-muted-foreground w-14 shrink-0 text-right text-sm font-medium tabular-nums", children: formatDuration(durationMs) })] }), _jsxs("div", { className: "ml-[28px] flex items-center gap-3 text-xs", children: [timing.startedAt ? (_jsx("span", { className: "text-muted-foreground/60 tabular-nums", children: formatTimestamp(timing.startedAt) })) : null, totalTokens != null && totalTokens > 0 ? (_jsxs("span", { className: "text-muted-foreground/70 inline-flex items-center gap-0.5", children: [_jsx(Zap, { className: "h-3 w-3 opacity-50" }), formatTokens(totalTokens)] })) : null, timing.costUsd != null && timing.costUsd > 0 ? (_jsxs("span", { className: "text-muted-foreground/70 inline-flex items-center gap-0.5", children: [_jsx(DollarSign, { className: "h-3 w-3 opacity-50" }), formatCost(timing.costUsd)] })) : null] }),
|
|
323
|
-
(timing.waitingApprovalAt && !timing.approvalWaitMs) ? (_jsx(ApprovalWaitRow, { timing: timing, maxDurationMs: maxDurationMs, now: now })) : null] }));
|
|
316
|
+
} })) : (_jsx("div", { className: `h-full rounded-full transition-all duration-300 ${barColorClass}`, style: { width: `${Math.min(barPercent, 100)}%` } })) }), _jsx("span", { className: "text-muted-foreground w-14 shrink-0 text-right text-sm font-medium tabular-nums", children: formatDuration(durationMs) })] }), _jsxs("div", { className: "ml-[28px] flex items-center gap-3 text-xs", children: [timing.startedAt ? (_jsx("span", { className: "text-muted-foreground/60 tabular-nums", children: formatTimestamp(timing.startedAt) })) : null, totalTokens != null && totalTokens > 0 ? (_jsxs("span", { className: "text-muted-foreground/70 inline-flex items-center gap-0.5", children: [_jsx(Zap, { className: "h-3 w-3 opacity-50" }), formatTokens(totalTokens)] })) : null, timing.costUsd != null && timing.costUsd > 0 ? (_jsxs("span", { className: "text-muted-foreground/70 inline-flex items-center gap-0.5", children: [_jsx(DollarSign, { className: "h-3 w-3 opacity-50" }), formatCost(timing.costUsd)] })) : null] }), timing.approvalWaitMs != null && timing.approvalWaitMs > 0 ? (_jsx(ApprovalWaitRow, { timing: timing, maxDurationMs: maxDurationMs })) : null] }));
|
|
324
317
|
}
|
|
325
|
-
function ApprovalWaitRow({ timing, maxDurationMs,
|
|
326
|
-
|
|
327
|
-
const isWaiting = !!timing.waitingApprovalAt && !timing.approvalWaitMs;
|
|
328
|
-
const waitMs = isWaiting
|
|
329
|
-
? Math.max(0, now - new Date(String(timing.waitingApprovalAt)).getTime())
|
|
330
|
-
: (timing.approvalWaitMs ?? 0);
|
|
318
|
+
function ApprovalWaitRow({ timing, maxDurationMs, }) {
|
|
319
|
+
const waitMs = timing.approvalWaitMs ?? 0;
|
|
331
320
|
const barPercent = maxDurationMs > 0 ? Math.max(2, (waitMs / maxDurationMs) * 100) : 2;
|
|
332
|
-
return (_jsxs("div", { "data-testid": `approval-wait-${timing.phase}`, className: "ml-[26px] flex items-center gap-2 rounded-md bg-amber-50/50 px-1.5 py-1 dark:bg-amber-950/20", children: [_jsx(Timer, { className:
|
|
333
|
-
backgroundImage: 'linear-gradient(90deg, transparent 0%, rgb(245 158 11) 50%, transparent 100%)',
|
|
334
|
-
backgroundSize: '200% 100%',
|
|
335
|
-
animation: 'shimmer 1.5s ease-in-out infinite',
|
|
336
|
-
} })) : (_jsx("div", { className: "h-full rounded-full bg-amber-500", style: { width: `${Math.min(barPercent, 100)}%` } })) }), _jsx("span", { className: "text-muted-foreground w-14 shrink-0 text-right text-xs tabular-nums", children: formatDuration(waitMs) })] }));
|
|
321
|
+
return (_jsxs("div", { "data-testid": `approval-wait-${timing.phase}`, className: "ml-[26px] flex items-center gap-2 rounded-md bg-amber-50/50 px-1.5 py-1 dark:bg-amber-950/20", children: [_jsx(Timer, { className: "h-3.5 w-3.5 shrink-0 text-amber-500" }), _jsx("span", { className: "text-muted-foreground w-16 shrink-0 text-xs", children: "approval" }), _jsx("div", { className: "bg-muted h-1.5 min-w-0 flex-1 overflow-hidden rounded-full", children: _jsx("div", { className: "h-full rounded-full bg-amber-500", style: { width: `${Math.min(barPercent, 100)}%` } }) }), _jsx("span", { className: "text-muted-foreground w-14 shrink-0 text-right text-xs tabular-nums", children: formatDuration(waitMs) })] }));
|
|
337
322
|
}
|
|
338
323
|
function SummaryTotals({ totalExecMs, totalWaitMs, totalInputTokens, totalOutputTokens, totalCostUsd, }) {
|
|
339
324
|
const totalTokens = totalInputTokens + totalOutputTokens;
|
package/dist/src/presentation/web/components/common/feature-drawer-tabs/activity-tab.stories.d.ts
CHANGED
|
@@ -32,20 +32,4 @@ export declare const WithApprovalWaits: Story;
|
|
|
32
32
|
* Shows the full pattern: start → work → rejected → resumed → work → rejected → resumed → completed
|
|
33
33
|
*/
|
|
34
34
|
export declare const FullLifecycle: Story;
|
|
35
|
-
/**
|
|
36
|
-
* Waiting for approval (live) — simulates the case where the agent has completed
|
|
37
|
-
* a phase and is currently waiting for user approval. The "awaiting" sub-row shows
|
|
38
|
-
* a pulsing amber indicator with a live-ticking timer.
|
|
39
|
-
*
|
|
40
|
-
* This covers the bug where the second merge iteration (after rejection + fixes)
|
|
41
|
-
* did not show any approval wait indicator.
|
|
42
|
-
*/
|
|
43
|
-
export declare const WaitingForApproval: Story;
|
|
44
|
-
/**
|
|
45
|
-
* Second iteration waiting for approval — simulates the exact reported bug:
|
|
46
|
-
* after rejecting the merge step, the agent fixed things and is now waiting
|
|
47
|
-
* for merge approval again in iteration 2. The activity tab must show the
|
|
48
|
-
* "awaiting" indicator for merge:2.
|
|
49
|
-
*/
|
|
50
|
-
export declare const SecondIterationWaitingForApproval: Story;
|
|
51
35
|
//# sourceMappingURL=activity-tab.stories.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"activity-tab.stories.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/web/components/common/feature-drawer-tabs/activity-tab.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACvD,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;AAsM1C,2EAA2E;AAC3E,eAAO,MAAM,OAAO,EAAE,KAMrB,CAAC;AAEF,uDAAuD;AACvD,eAAO,MAAM,YAAY,EAAE,KAM1B,CAAC;AAEF,kEAAkE;AAClE,eAAO,MAAM,YAAY,EAAE,KAM1B,CAAC;AAEF,qEAAqE;AACrE,eAAO,MAAM,OAAO,EAAE,KAMrB,CAAC;AAEF,8CAA8C;AAC9C,eAAO,MAAM,KAAK,EAAE,KAMnB,CAAC;AAEF,0CAA0C;AAC1C,eAAO,MAAM,KAAK,EAAE,KAMnB,CAAC;AAEF,0EAA0E;AAC1E,eAAO,MAAM,aAAa,EAAE,KAsE3B,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,kBAAkB,EAAE,KAwEhC,CAAC;AAEF,qEAAqE;AACrE,eAAO,MAAM,iBAAiB,EAAE,KAgC/B,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,aAAa,EAAE,KAiI3B,CAAC
|
|
1
|
+
{"version":3,"file":"activity-tab.stories.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/web/components/common/feature-drawer-tabs/activity-tab.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACvD,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;AAsM1C,2EAA2E;AAC3E,eAAO,MAAM,OAAO,EAAE,KAMrB,CAAC;AAEF,uDAAuD;AACvD,eAAO,MAAM,YAAY,EAAE,KAM1B,CAAC;AAEF,kEAAkE;AAClE,eAAO,MAAM,YAAY,EAAE,KAM1B,CAAC;AAEF,qEAAqE;AACrE,eAAO,MAAM,OAAO,EAAE,KAMrB,CAAC;AAEF,8CAA8C;AAC9C,eAAO,MAAM,KAAK,EAAE,KAMnB,CAAC;AAEF,0CAA0C;AAC1C,eAAO,MAAM,KAAK,EAAE,KAMnB,CAAC;AAEF,0EAA0E;AAC1E,eAAO,MAAM,aAAa,EAAE,KAsE3B,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,kBAAkB,EAAE,KAwEhC,CAAC;AAEF,qEAAqE;AACrE,eAAO,MAAM,iBAAiB,EAAE,KAgC/B,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,aAAa,EAAE,KAiI3B,CAAC"}
|
package/dist/src/presentation/web/components/common/feature-drawer-tabs/activity-tab.stories.js
CHANGED
|
@@ -570,129 +570,3 @@ export const FullLifecycle = {
|
|
|
570
570
|
error: null,
|
|
571
571
|
},
|
|
572
572
|
};
|
|
573
|
-
/**
|
|
574
|
-
* Waiting for approval (live) — simulates the case where the agent has completed
|
|
575
|
-
* a phase and is currently waiting for user approval. The "awaiting" sub-row shows
|
|
576
|
-
* a pulsing amber indicator with a live-ticking timer.
|
|
577
|
-
*
|
|
578
|
-
* This covers the bug where the second merge iteration (after rejection + fixes)
|
|
579
|
-
* did not show any approval wait indicator.
|
|
580
|
-
*/
|
|
581
|
-
export const WaitingForApproval = {
|
|
582
|
-
args: {
|
|
583
|
-
timings: [
|
|
584
|
-
{
|
|
585
|
-
agentRunId: 'run-1',
|
|
586
|
-
phase: 'run:started',
|
|
587
|
-
startedAt: new Date(Date.now() - 120000).toISOString(),
|
|
588
|
-
durationMs: 0,
|
|
589
|
-
},
|
|
590
|
-
{
|
|
591
|
-
agentRunId: 'run-1',
|
|
592
|
-
phase: 'analyze',
|
|
593
|
-
startedAt: new Date(Date.now() - 119000).toISOString(),
|
|
594
|
-
completedAt: new Date(Date.now() - 105000).toISOString(),
|
|
595
|
-
durationMs: 14000,
|
|
596
|
-
},
|
|
597
|
-
{
|
|
598
|
-
agentRunId: 'run-1',
|
|
599
|
-
phase: 'implement',
|
|
600
|
-
startedAt: new Date(Date.now() - 105000).toISOString(),
|
|
601
|
-
completedAt: new Date(Date.now() - 60000).toISOString(),
|
|
602
|
-
durationMs: 45000,
|
|
603
|
-
},
|
|
604
|
-
{
|
|
605
|
-
agentRunId: 'run-1',
|
|
606
|
-
phase: 'merge',
|
|
607
|
-
startedAt: new Date(Date.now() - 60000).toISOString(),
|
|
608
|
-
completedAt: new Date(Date.now() - 30000).toISOString(),
|
|
609
|
-
durationMs: 30000,
|
|
610
|
-
// waitingApprovalAt set but approvalWaitMs absent = currently waiting
|
|
611
|
-
waitingApprovalAt: new Date(Date.now() - 30000).toISOString(),
|
|
612
|
-
},
|
|
613
|
-
],
|
|
614
|
-
loading: false,
|
|
615
|
-
error: null,
|
|
616
|
-
},
|
|
617
|
-
};
|
|
618
|
-
/**
|
|
619
|
-
* Second iteration waiting for approval — simulates the exact reported bug:
|
|
620
|
-
* after rejecting the merge step, the agent fixed things and is now waiting
|
|
621
|
-
* for merge approval again in iteration 2. The activity tab must show the
|
|
622
|
-
* "awaiting" indicator for merge:2.
|
|
623
|
-
*/
|
|
624
|
-
export const SecondIterationWaitingForApproval = {
|
|
625
|
-
args: {
|
|
626
|
-
timings: [
|
|
627
|
-
// Iteration 1
|
|
628
|
-
{
|
|
629
|
-
agentRunId: 'run-1',
|
|
630
|
-
phase: 'run:started',
|
|
631
|
-
startedAt: new Date(Date.now() - 300000).toISOString(),
|
|
632
|
-
durationMs: 0,
|
|
633
|
-
},
|
|
634
|
-
{
|
|
635
|
-
agentRunId: 'run-1',
|
|
636
|
-
phase: 'analyze',
|
|
637
|
-
startedAt: new Date(Date.now() - 299000).toISOString(),
|
|
638
|
-
completedAt: new Date(Date.now() - 285000).toISOString(),
|
|
639
|
-
durationMs: 14000,
|
|
640
|
-
},
|
|
641
|
-
{
|
|
642
|
-
agentRunId: 'run-1',
|
|
643
|
-
phase: 'implement',
|
|
644
|
-
startedAt: new Date(Date.now() - 285000).toISOString(),
|
|
645
|
-
completedAt: new Date(Date.now() - 240000).toISOString(),
|
|
646
|
-
durationMs: 45000,
|
|
647
|
-
},
|
|
648
|
-
{
|
|
649
|
-
agentRunId: 'run-1',
|
|
650
|
-
phase: 'merge',
|
|
651
|
-
startedAt: new Date(Date.now() - 240000).toISOString(),
|
|
652
|
-
completedAt: new Date(Date.now() - 210000).toISOString(),
|
|
653
|
-
durationMs: 30000,
|
|
654
|
-
waitingApprovalAt: new Date(Date.now() - 210000).toISOString(),
|
|
655
|
-
approvalWaitMs: 15000,
|
|
656
|
-
},
|
|
657
|
-
{
|
|
658
|
-
agentRunId: 'run-1',
|
|
659
|
-
phase: 'run:rejected',
|
|
660
|
-
startedAt: new Date(Date.now() - 195000).toISOString(),
|
|
661
|
-
durationMs: 0,
|
|
662
|
-
},
|
|
663
|
-
// Iteration 2
|
|
664
|
-
{
|
|
665
|
-
agentRunId: 'run-1',
|
|
666
|
-
phase: 'run:resumed',
|
|
667
|
-
startedAt: new Date(Date.now() - 180000).toISOString(),
|
|
668
|
-
durationMs: 0,
|
|
669
|
-
},
|
|
670
|
-
{
|
|
671
|
-
agentRunId: 'run-1',
|
|
672
|
-
phase: 'implement:2',
|
|
673
|
-
startedAt: new Date(Date.now() - 180000).toISOString(),
|
|
674
|
-
completedAt: new Date(Date.now() - 60000).toISOString(),
|
|
675
|
-
durationMs: 120000,
|
|
676
|
-
},
|
|
677
|
-
{
|
|
678
|
-
agentRunId: 'run-1',
|
|
679
|
-
phase: 'merge:2',
|
|
680
|
-
startedAt: new Date(Date.now() - 60000).toISOString(),
|
|
681
|
-
completedAt: new Date(Date.now() - 30000).toISOString(),
|
|
682
|
-
durationMs: 30000,
|
|
683
|
-
// Currently waiting — approvalWaitMs absent
|
|
684
|
-
waitingApprovalAt: new Date(Date.now() - 30000).toISOString(),
|
|
685
|
-
},
|
|
686
|
-
],
|
|
687
|
-
rejectionFeedback: [
|
|
688
|
-
{
|
|
689
|
-
iteration: 1,
|
|
690
|
-
message: 'The PR has merge conflicts — rebase on main first',
|
|
691
|
-
phase: 'merge',
|
|
692
|
-
timestamp: new Date(Date.now() - 195000).toISOString(),
|
|
693
|
-
},
|
|
694
|
-
],
|
|
695
|
-
loading: false,
|
|
696
|
-
error: null,
|
|
697
|
-
},
|
|
698
|
-
};
|