@shepai/cli 1.91.0-pr271.f9e060f → 1.91.0-pr272.23df749
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/app/actions/get-feature-phase-timings.d.ts +0 -1
- package/dist/src/presentation/web/app/actions/get-feature-phase-timings.d.ts.map +1 -1
- package/dist/src/presentation/web/app/actions/get-feature-phase-timings.js +0 -1
- 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 +15 -55
- package/dist/src/presentation/web/components/common/feature-drawer-tabs/activity-tab.stories.d.ts +0 -2
- 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 -73
- package/dist/src/presentation/web/components/layouts/app-shell/app-shell.d.ts.map +1 -1
- package/dist/src/presentation/web/components/layouts/app-shell/app-shell.js +1 -1
- package/dist/src/presentation/web/components/layouts/app-sidebar/app-sidebar.d.ts +3 -1
- package/dist/src/presentation/web/components/layouts/app-sidebar/app-sidebar.d.ts.map +1 -1
- package/dist/src/presentation/web/components/layouts/app-sidebar/app-sidebar.js +2 -2
- package/dist/src/presentation/web/components/layouts/app-sidebar/app-sidebar.stories.d.ts +1 -0
- package/dist/src/presentation/web/components/layouts/app-sidebar/app-sidebar.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/layouts/app-sidebar/app-sidebar.stories.js +6 -0
- 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/server/app/(dashboard)/@drawer/create/page/server-reference-manifest.json +18 -18
- 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]/page/server-reference-manifest.json +21 -21
- 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 +14 -14
- 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 +18 -18
- 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]/page/server-reference-manifest.json +21 -21
- 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 +14 -14
- 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 +14 -14
- 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 +1 -1
- 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 +5 -5
- package/web/.next/server/app/settings/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/skills/page/server-reference-manifest.json +6 -6
- package/web/.next/server/app/skills/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/tools/page/server-reference-manifest.json +6 -6
- package/web/.next/server/app/tools/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/version/page/server-reference-manifest.json +1 -1
- package/web/.next/server/app/version/page_client-reference-manifest.js +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_da7eef33.js +1 -1
- package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_@drawer_repository_[repositoryId]_page_actions_da7eef33.js.map +1 -1
- package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_repository_[repositoryId]_page_actions_0a9251aa.js +1 -1
- package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_repository_[repositoryId]_page_actions_0a9251aa.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__11033878._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__11033878._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__17143953._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__17143953._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__4be9a9bb._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__5d87af2e._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__9de266fa._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__9de266fa._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__aad040c0._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__aad040c0._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__b3a4cef4._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__b3a4cef4._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__f0d8d054._.js +2 -2
- package/web/.next/server/chunks/ssr/[root-of-the-server]__fdc75809._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__fdc75809._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_135edb9c._.js +1 -1
- package/web/.next/server/chunks/ssr/_135edb9c._.js.map +1 -1
- package/web/.next/server/chunks/ssr/{_3735fe72._.js → _6f210cd6._.js} +2 -2
- package/web/.next/server/chunks/ssr/{_3735fe72._.js.map → _6f210cd6._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/_752e01fd._.js +1 -1
- package/web/.next/server/chunks/ssr/_752e01fd._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_8dacd1e7._.js +1 -1
- package/web/.next/server/chunks/ssr/_8dacd1e7._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_cc77a143._.js +1 -1
- package/web/.next/server/chunks/ssr/_cc77a143._.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__next-internal_server_app_(dashboard)_page_actions_021a05f2.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_(dashboard)_page_actions_021a05f2.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_skills_page_actions_1fa8042e.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_skills_page_actions_1fa8042e.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_tools_page_actions_24684200.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_tools_page_actions_24684200.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_c4348b8a._.js +2 -2
- package/web/.next/server/chunks/ssr/src_presentation_web_c4348b8a._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_components_bf50c527._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_components_bf50c527._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_components_de814675._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_components_de814675._.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/chunks/ssr/src_presentation_web_e4510d10._.js +2 -2
- package/web/.next/server/chunks/ssr/src_presentation_web_e4510d10._.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 +28 -28
- package/web/.next/static/chunks/{3c887e1254ebcf9b.js → 4fd356eadcea8c40.js} +1 -1
- package/web/.next/static/chunks/{7acc79e599df9890.js → 5354f4b7b25b3665.js} +1 -1
- package/web/.next/static/chunks/{a60332c83c5a9a99.js → 540002baafa530e0.js} +1 -1
- package/web/.next/static/chunks/{2bc592fcedb175e3.js → 841fb079ad5ab441.js} +1 -1
- package/web/.next/static/chunks/{3b01d6c5f2c80432.js → 915f4adc1d6233bc.js} +1 -1
- package/web/.next/static/chunks/{dfe944323bed074c.js → 967581e4d3e8cfa2.js} +1 -1
- package/web/.next/static/chunks/{355d71c0450b4a02.js → a151b8da17938657.js} +1 -1
- package/web/.next/static/chunks/{0e16acc45407464e.js → aae0ffaa16d68384.js} +1 -1
- package/web/.next/static/chunks/{e1c70b7a7e2d1977.js → e33eb32a2fca0093.js} +1 -1
- package/web/.next/static/chunks/{63aece55683a5d9e.js → ef185482eaf516a2.js} +1 -1
- package/web/.next/static/chunks/{359c068ab4a0da6f.js → f2d1d08bcc83df46.js} +1 -1
- /package/web/.next/static/{MBJ8GLCn8wUUq7rR0bnER → B8iQuiEt6Gx7OEET_ANjn}/_buildManifest.js +0 -0
- /package/web/.next/static/{MBJ8GLCn8wUUq7rR0bnER → B8iQuiEt6Gx7OEET_ANjn}/_clientMiddlewareManifest.json +0 -0
- /package/web/.next/static/{MBJ8GLCn8wUUq7rR0bnER → B8iQuiEt6Gx7OEET_ANjn}/_ssgManifest.js +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-feature-phase-timings.d.ts","sourceRoot":"","sources":["../../../../../../src/presentation/web/app/actions/get-feature-phase-timings.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,qBAAqB;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,
|
|
1
|
+
{"version":3,"file":"get-feature-phase-timings.d.ts","sourceRoot":"","sources":["../../../../../../src/presentation/web/app/actions/get-feature-phase-timings.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,qBAAqB;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;CACxB;AAED,KAAK,qBAAqB,GACtB;IAAE,OAAO,EAAE,eAAe,EAAE,CAAC;IAAC,iBAAiB,EAAE,qBAAqB,EAAE,CAAA;CAAE,GAC1E;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAEtB,wBAAsB,sBAAsB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC,CA2B9F"}
|
|
@@ -42,7 +42,6 @@ async function readRejectionFeedback(featureId) {
|
|
|
42
42
|
iteration: Number(entry.iteration ?? 1),
|
|
43
43
|
message: String(entry.message ?? ''),
|
|
44
44
|
phase: entry.phase ? String(entry.phase) : undefined,
|
|
45
|
-
timestamp: entry.timestamp ? String(entry.timestamp) : undefined,
|
|
46
45
|
attachments: Array.isArray(entry.attachments)
|
|
47
46
|
? entry.attachments.map(String)
|
|
48
47
|
: undefined,
|
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":"AAGA,OAAO,KAAK,EACV,eAAe,EACf,qBAAqB,EACtB,MAAM,yCAAyC,CAAC;AAGjD,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;
|
|
1
|
+
{"version":3,"file":"activity-tab.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/web/components/common/feature-drawer-tabs/activity-tab.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,eAAe,EACf,qBAAqB,EACtB,MAAM,yCAAyC,CAAC;AAGjD,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;AA4ED,wBAAgB,WAAW,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,iBAAiB,EAAE,EAAE,gBAAgB,2CA8D3F"}
|
|
@@ -39,63 +39,23 @@ function groupTimingsByRun(timings) {
|
|
|
39
39
|
return groups;
|
|
40
40
|
}
|
|
41
41
|
/**
|
|
42
|
-
*
|
|
43
|
-
*
|
|
44
|
-
*
|
|
45
|
-
* The timings array may contain fewer run:rejected events than the feedback array
|
|
46
|
-
* (e.g. 2 timing events for 4 feedback entries). For any unmatched feedback entries,
|
|
47
|
-
* synthetic run:rejected timing events are inserted after the last existing
|
|
48
|
-
* run:rejected event in the timings array so that all feedback is rendered.
|
|
42
|
+
* Map each run:rejected timing entry to its rejection feedback message and attachments.
|
|
43
|
+
* Matches by sequential order: 1st rejected event → 1st feedback entry, etc.
|
|
49
44
|
*/
|
|
50
|
-
function
|
|
45
|
+
function buildRejectionMessageMap(timings, feedback) {
|
|
51
46
|
const map = new Map();
|
|
52
47
|
if (!feedback?.length)
|
|
53
|
-
return
|
|
54
|
-
|
|
55
|
-
const
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
48
|
+
return map;
|
|
49
|
+
let rejectionIdx = 0;
|
|
50
|
+
for (const t of timings) {
|
|
51
|
+
if (t.phase === 'run:rejected' && rejectionIdx < feedback.length) {
|
|
52
|
+
const key = `${t.agentRunId}-${t.phase}-${t.startedAt}`;
|
|
53
|
+
const entry = feedback[rejectionIdx];
|
|
54
|
+
map.set(key, { message: entry.message, attachments: entry.attachments });
|
|
55
|
+
rejectionIdx++;
|
|
59
56
|
}
|
|
60
57
|
}
|
|
61
|
-
|
|
62
|
-
const paired = Math.min(existingRejections.length, feedback.length);
|
|
63
|
-
for (let i = 0; i < paired; i++) {
|
|
64
|
-
const t = existingRejections[i].timing;
|
|
65
|
-
const key = `${t.agentRunId}-${t.phase}-${t.startedAt}`;
|
|
66
|
-
map.set(key, { message: feedback[i].message, attachments: feedback[i].attachments });
|
|
67
|
-
}
|
|
68
|
-
// If all feedback is covered, no need to inject synthetic entries
|
|
69
|
-
if (paired >= feedback.length) {
|
|
70
|
-
return { timings, rejectionMessages: map };
|
|
71
|
-
}
|
|
72
|
-
// Synthesize additional run:rejected timing entries for remaining feedback
|
|
73
|
-
const result = [...timings];
|
|
74
|
-
// Determine where to insert: after the last existing run:rejected, or at the end
|
|
75
|
-
let insertAfter = result.length - 1;
|
|
76
|
-
if (existingRejections.length > 0) {
|
|
77
|
-
insertAfter = existingRejections[existingRejections.length - 1].index;
|
|
78
|
-
}
|
|
79
|
-
// Use the last existing rejected event as a template for agentRunId,
|
|
80
|
-
// or fall back to the first timing entry's agentRunId
|
|
81
|
-
const templateRunId = existingRejections.length > 0
|
|
82
|
-
? existingRejections[existingRejections.length - 1].timing.agentRunId
|
|
83
|
-
: (timings[0]?.agentRunId ?? 'unknown');
|
|
84
|
-
const synthetic = [];
|
|
85
|
-
for (let i = paired; i < feedback.length; i++) {
|
|
86
|
-
const fb = feedback[i];
|
|
87
|
-
const syntheticTiming = {
|
|
88
|
-
agentRunId: templateRunId,
|
|
89
|
-
phase: 'run:rejected',
|
|
90
|
-
startedAt: fb.timestamp ?? `synthetic-${i}`,
|
|
91
|
-
};
|
|
92
|
-
const key = `${syntheticTiming.agentRunId}-${syntheticTiming.phase}-${syntheticTiming.startedAt}`;
|
|
93
|
-
map.set(key, { message: fb.message, attachments: fb.attachments });
|
|
94
|
-
synthetic.push(syntheticTiming);
|
|
95
|
-
}
|
|
96
|
-
// Insert synthetic entries after the last existing run:rejected
|
|
97
|
-
result.splice(insertAfter + 1, 0, ...synthetic);
|
|
98
|
-
return { timings: result, rejectionMessages: map };
|
|
58
|
+
return map;
|
|
99
59
|
}
|
|
100
60
|
export function ActivityTab({ timings, loading, error, rejectionFeedback }) {
|
|
101
61
|
if (loading) {
|
|
@@ -109,9 +69,9 @@ export function ActivityTab({ timings, loading, error, rejectionFeedback }) {
|
|
|
109
69
|
}
|
|
110
70
|
const nodeTimings = timings.filter((t) => !isLifecycleEvent(t.phase));
|
|
111
71
|
const maxDurationMs = Math.max(...nodeTimings.map((t) => t.durationMs ?? 0), ...nodeTimings.map((t) => t.approvalWaitMs ?? 0), 0);
|
|
112
|
-
//
|
|
113
|
-
const
|
|
114
|
-
const groups = groupTimingsByRun(
|
|
72
|
+
// Build a map from rejection index to feedback message
|
|
73
|
+
const rejectionMessages = buildRejectionMessageMap(timings, rejectionFeedback);
|
|
74
|
+
const groups = groupTimingsByRun(timings);
|
|
115
75
|
const multiRun = groups.length > 1;
|
|
116
76
|
const totalExecMs = nodeTimings.reduce((sum, t) => sum + (t.durationMs ?? 0), 0);
|
|
117
77
|
const totalWaitMs = nodeTimings.reduce((sum, t) => sum + (t.approvalWaitMs ?? 0), 0);
|
package/dist/src/presentation/web/components/common/feature-drawer-tabs/activity-tab.stories.d.ts
CHANGED
|
@@ -17,8 +17,6 @@ export declare const Empty: Story;
|
|
|
17
17
|
export declare const Error: Story;
|
|
18
18
|
/** Rejection — shows rejected lifecycle event with user feedback text. */
|
|
19
19
|
export declare const WithRejection: Story;
|
|
20
|
-
/** Multiple rejections — all feedback entries shown even with fewer run:rejected events. */
|
|
21
|
-
export declare const MultipleRejections: Story;
|
|
22
20
|
/** Approval wait indicators — phases with approval wait sub-rows. */
|
|
23
21
|
export declare const WithApprovalWaits: Story;
|
|
24
22
|
//# 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;AAmK1C,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,
|
|
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;AAmK1C,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,qEAAqE;AACrE,eAAO,MAAM,iBAAiB,EAAE,KAgC/B,CAAC"}
|
package/dist/src/presentation/web/components/common/feature-drawer-tabs/activity-tab.stories.js
CHANGED
|
@@ -288,79 +288,6 @@ export const WithRejection = {
|
|
|
288
288
|
error: null,
|
|
289
289
|
},
|
|
290
290
|
};
|
|
291
|
-
/** Multiple rejections — all feedback entries shown even with fewer run:rejected events. */
|
|
292
|
-
export const MultipleRejections = {
|
|
293
|
-
args: {
|
|
294
|
-
timings: [
|
|
295
|
-
{
|
|
296
|
-
agentRunId: 'run-1',
|
|
297
|
-
phase: 'run:started',
|
|
298
|
-
startedAt: '2025-01-15T10:00:00Z',
|
|
299
|
-
durationMs: 0,
|
|
300
|
-
},
|
|
301
|
-
{
|
|
302
|
-
agentRunId: 'run-1',
|
|
303
|
-
phase: 'plan',
|
|
304
|
-
startedAt: '2025-01-15T10:00:01Z',
|
|
305
|
-
completedAt: '2025-01-15T10:05:00Z',
|
|
306
|
-
durationMs: 300000,
|
|
307
|
-
},
|
|
308
|
-
{
|
|
309
|
-
agentRunId: 'run-1',
|
|
310
|
-
phase: 'run:rejected',
|
|
311
|
-
startedAt: '2025-01-15T10:05:00Z',
|
|
312
|
-
durationMs: 0,
|
|
313
|
-
},
|
|
314
|
-
{
|
|
315
|
-
agentRunId: 'run-1',
|
|
316
|
-
phase: 'run:resumed',
|
|
317
|
-
startedAt: '2025-01-15T10:10:00Z',
|
|
318
|
-
durationMs: 0,
|
|
319
|
-
},
|
|
320
|
-
{
|
|
321
|
-
agentRunId: 'run-1',
|
|
322
|
-
phase: 'merge',
|
|
323
|
-
startedAt: '2025-01-15T10:10:01Z',
|
|
324
|
-
completedAt: '2025-01-15T10:15:00Z',
|
|
325
|
-
durationMs: 299000,
|
|
326
|
-
},
|
|
327
|
-
{
|
|
328
|
-
agentRunId: 'run-1',
|
|
329
|
-
phase: 'run:rejected',
|
|
330
|
-
startedAt: '2025-01-15T10:15:00Z',
|
|
331
|
-
durationMs: 0,
|
|
332
|
-
},
|
|
333
|
-
],
|
|
334
|
-
rejectionFeedback: [
|
|
335
|
-
{
|
|
336
|
-
iteration: 1,
|
|
337
|
-
message: 'rebase on main',
|
|
338
|
-
phase: 'plan',
|
|
339
|
-
timestamp: '2025-01-15T10:05:00Z',
|
|
340
|
-
},
|
|
341
|
-
{
|
|
342
|
-
iteration: 2,
|
|
343
|
-
message: 'rebase on main',
|
|
344
|
-
phase: 'merge',
|
|
345
|
-
timestamp: '2025-01-15T10:15:00Z',
|
|
346
|
-
},
|
|
347
|
-
{
|
|
348
|
-
iteration: 3,
|
|
349
|
-
message: 'add support for evidence agent into fast mode as well',
|
|
350
|
-
phase: 'merge',
|
|
351
|
-
timestamp: '2025-01-15T10:20:00Z',
|
|
352
|
-
},
|
|
353
|
-
{
|
|
354
|
-
iteration: 4,
|
|
355
|
-
message: "I've test and created a feature but the screenshots seems to be broken https://github.com/shep-ai/cli/pull/258 fix",
|
|
356
|
-
phase: 'merge',
|
|
357
|
-
timestamp: '2025-01-15T10:25:00Z',
|
|
358
|
-
},
|
|
359
|
-
],
|
|
360
|
-
loading: false,
|
|
361
|
-
error: null,
|
|
362
|
-
},
|
|
363
|
-
};
|
|
364
291
|
/** Approval wait indicators — phases with approval wait sub-rows. */
|
|
365
292
|
export const WithApprovalWaits = {
|
|
366
293
|
args: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app-shell.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/web/components/layouts/app-shell/app-shell.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAe,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAgBpD,UAAU,aAAa;IACrB,QAAQ,EAAE,SAAS,CAAC;CACrB;
|
|
1
|
+
{"version":3,"file":"app-shell.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/web/components/layouts/app-shell/app-shell.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAe,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAgBpD,UAAU,aAAa;IACrB,QAAQ,EAAE,SAAS,CAAC;CACrB;AAmDD,wBAAgB,QAAQ,CAAC,EAAE,QAAQ,EAAE,EAAE,aAAa,2CAUnD"}
|
|
@@ -29,7 +29,7 @@ function AppShellInner({ children }) {
|
|
|
29
29
|
const handleRepositorySelect = useCallback((path) => {
|
|
30
30
|
window.dispatchEvent(new CustomEvent('shep:add-repository', { detail: { path } }));
|
|
31
31
|
}, []);
|
|
32
|
-
return (_jsxs(SidebarProvider, { children: [_jsx(AppSidebar, { features: features, featureFlags: featureFlags, onNewFeature: handleNewFeature, onFeatureClick: handleFeatureClick }), _jsx(SidebarInset, { children: _jsxs("div", { className: "relative h-full", children: [_jsxs("div", { className: "absolute top-3 right-3 z-50 flex gap-1", children: [_jsx(AddRepositoryButton, { onSelect: handleRepositorySelect }), _jsx(SoundToggle, {}), _jsx(ThemeToggle, {})] }), _jsx("main", { className: "h-full", children: children })] }) })] }));
|
|
32
|
+
return (_jsxs(SidebarProvider, { children: [_jsx(AppSidebar, { features: features, featureFlags: featureFlags, showNewFeature: true, onNewFeature: handleNewFeature, onFeatureClick: handleFeatureClick }), _jsx(SidebarInset, { children: _jsxs("div", { className: "relative h-full", children: [_jsxs("div", { className: "absolute top-3 right-3 z-50 flex gap-1", children: [_jsx(AddRepositoryButton, { onSelect: handleRepositorySelect }), _jsx(SoundToggle, {}), _jsx(ThemeToggle, {})] }), _jsx("main", { className: "h-full", children: children })] }) })] }));
|
|
33
33
|
}
|
|
34
34
|
export function AppShell({ children }) {
|
|
35
35
|
return (_jsx(AgentEventsProvider, { children: _jsx(DrawerCloseGuardProvider, { children: _jsx(SidebarFeaturesProvider, { children: _jsx(AppShellInner, { children: children }) }) }) }));
|
|
@@ -12,8 +12,10 @@ export interface FeatureItem {
|
|
|
12
12
|
export interface AppSidebarProps {
|
|
13
13
|
features: FeatureItem[];
|
|
14
14
|
featureFlags: FeatureFlagsState;
|
|
15
|
+
/** Whether to show the "New feature" button in the sidebar footer. Defaults to `false`. */
|
|
16
|
+
showNewFeature?: boolean;
|
|
15
17
|
onNewFeature?: () => void;
|
|
16
18
|
onFeatureClick?: (featureId: string) => void;
|
|
17
19
|
}
|
|
18
|
-
export declare function AppSidebar({ features, featureFlags, onNewFeature, onFeatureClick, }: AppSidebarProps): import("react/jsx-runtime").JSX.Element;
|
|
20
|
+
export declare function AppSidebar({ features, featureFlags, showNewFeature, onNewFeature, onFeatureClick, }: AppSidebarProps): import("react/jsx-runtime").JSX.Element;
|
|
19
21
|
//# sourceMappingURL=app-sidebar.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app-sidebar.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/web/components/layouts/app-sidebar/app-sidebar.tsx"],"names":[],"mappings":"AAuBA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2CAA2C,CAAC;AAE/E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAE7D,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,aAAa,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,YAAY,EAAE,iBAAiB,CAAC;IAChC,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,cAAc,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;CAC9C;AAED,wBAAgB,UAAU,CAAC,EACzB,QAAQ,EACR,YAAY,EACZ,YAAY,EACZ,cAAc,GACf,EAAE,eAAe,
|
|
1
|
+
{"version":3,"file":"app-sidebar.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/web/components/layouts/app-sidebar/app-sidebar.tsx"],"names":[],"mappings":"AAuBA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2CAA2C,CAAC;AAE/E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAE7D,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,aAAa,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,YAAY,EAAE,iBAAiB,CAAC;IAChC,2FAA2F;IAC3F,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,cAAc,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;CAC9C;AAED,wBAAgB,UAAU,CAAC,EACzB,QAAQ,EACR,YAAY,EACZ,cAAsB,EACtB,YAAY,EACZ,cAAc,GACf,EAAE,eAAe,2CA+GjB"}
|
|
@@ -12,7 +12,7 @@ import { FeatureStatusGroup } from '../../common/feature-status-group/index.js';
|
|
|
12
12
|
import { SidebarSectionHeader } from '../../common/sidebar-section-header/index.js';
|
|
13
13
|
import { featureStatusConfig, featureStatusOrder } from '../../common/feature-status-config.js';
|
|
14
14
|
import { useDeferredMount } from '../../../hooks/use-deferred-mount.js';
|
|
15
|
-
export function AppSidebar({ features, featureFlags, onNewFeature, onFeatureClick, }) {
|
|
15
|
+
export function AppSidebar({ features, featureFlags, showNewFeature = false, onNewFeature, onFeatureClick, }) {
|
|
16
16
|
const pathname = usePathname();
|
|
17
17
|
const { state } = useSidebar();
|
|
18
18
|
const collapsed = state === 'collapsed';
|
|
@@ -30,5 +30,5 @@ export function AppSidebar({ features, featureFlags, onNewFeature, onFeatureClic
|
|
|
30
30
|
'min-w-0 overflow-hidden transition-opacity duration-200 ease-out',
|
|
31
31
|
'[&_[data-sidebar=group-label]]:!mt-0 [&_[data-sidebar=group-label]]:!opacity-100 [&_[data-sidebar=group-label]]:!transition-none',
|
|
32
32
|
expandedVisible ? 'opacity-100' : 'opacity-0',
|
|
33
|
-
].join(' '), children: [_jsx(SidebarSectionHeader, { label: "Features" }), _jsx(ScrollArea, { children: grouped.map(({ key, label, items }) => items.length > 0 ? (_jsx(FeatureStatusGroup, { label: label, count: items.length, children: items.map((feature) => (_jsx(FeatureListItem, { name: feature.name, status: feature.status, startedAt: feature.startedAt, duration: feature.duration, agentType: feature.agentType, modelId: feature.modelId, onClick: onFeatureClick ? () => onFeatureClick(feature.featureId) : undefined }, feature.featureId))) }, key)) : null) })] })) : null }), _jsx(SidebarFooter, { children: _jsx(SidebarMenu, { children: _jsx(SidebarMenuItem, { children: _jsxs(SidebarMenuButton, { onClick: onNewFeature, tooltip: "New feature", children: [_jsx(Plus, {}), _jsx("span", { children: "New feature" })] }) }) }) }), _jsx(SidebarRail, {})] }));
|
|
33
|
+
].join(' '), children: [_jsx(SidebarSectionHeader, { label: "Features" }), _jsx(ScrollArea, { children: grouped.map(({ key, label, items }) => items.length > 0 ? (_jsx(FeatureStatusGroup, { label: label, count: items.length, children: items.map((feature) => (_jsx(FeatureListItem, { name: feature.name, status: feature.status, startedAt: feature.startedAt, duration: feature.duration, agentType: feature.agentType, modelId: feature.modelId, onClick: onFeatureClick ? () => onFeatureClick(feature.featureId) : undefined }, feature.featureId))) }, key)) : null) })] })) : null }), showNewFeature ? (_jsx(SidebarFooter, { children: _jsx(SidebarMenu, { children: _jsx(SidebarMenuItem, { children: _jsxs(SidebarMenuButton, { onClick: onNewFeature, tooltip: "New feature", children: [_jsx(Plus, {}), _jsx("span", { children: "New feature" })] }) }) }) })) : null, _jsx(SidebarRail, {})] }));
|
|
34
34
|
}
|
|
@@ -4,6 +4,7 @@ declare const meta: Meta<typeof AppSidebar>;
|
|
|
4
4
|
export default meta;
|
|
5
5
|
type Story = StoryObj<typeof meta>;
|
|
6
6
|
export declare const Default: Story;
|
|
7
|
+
export declare const WithNewFeatureButton: Story;
|
|
7
8
|
export declare const Collapsed: Story;
|
|
8
9
|
export declare const Empty: Story;
|
|
9
10
|
export declare const AllInProgress: Story;
|
package/dist/src/presentation/web/components/layouts/app-sidebar/app-sidebar.stories.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app-sidebar.stories.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/web/components/layouts/app-sidebar/app-sidebar.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEvD,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAQ3C,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,UAAU,CAyBjC,CAAC;AAEF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAmDnC,eAAO,MAAM,OAAO,EAAE,KAIrB,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,KAOvB,CAAC;AAEF,eAAO,MAAM,KAAK,EAAE,KAInB,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,KAiB3B,CAAC;AAEF,eAAO,MAAM,OAAO,EAAE,KAQrB,CAAC"}
|
|
1
|
+
{"version":3,"file":"app-sidebar.stories.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/web/components/layouts/app-sidebar/app-sidebar.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEvD,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAQ3C,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,UAAU,CAyBjC,CAAC;AAEF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAmDnC,eAAO,MAAM,OAAO,EAAE,KAIrB,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,KAKlC,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,KAOvB,CAAC;AAEF,eAAO,MAAM,KAAK,EAAE,KAInB,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,KAiB3B,CAAC;AAEF,eAAO,MAAM,OAAO,EAAE,KAQrB,CAAC"}
|