@shepai/cli 1.99.0-pr295.4e9c906 → 1.99.0-pr296.f56862f
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/version-badge/version-badge.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/version-badge/version-badge.js +2 -5
- package/dist/src/presentation/web/components/common/version-badge/version-badge.stories.d.ts +0 -6
- package/dist/src/presentation/web/components/common/version-badge/version-badge.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/version-badge/version-badge.stories.js +0 -67
- package/dist/src/presentation/web/hooks/use-graph-state.d.ts.map +1 -1
- package/dist/src/presentation/web/hooks/use-graph-state.js +17 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/web/.next/BUILD_ID +1 -1
- package/web/.next/app-path-routes-manifest.json +0 -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 +1 -1
- package/web/.next/required-server-files.json +1 -1
- package/web/.next/routes-manifest.json +0 -6
- package/web/.next/server/app/(dashboard)/@drawer/create/page/server-reference-manifest.json +20 -20
- 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 +25 -25
- 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 +25 -25
- 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 +18 -18
- 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 +20 -20
- 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 +25 -25
- 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 +25 -25
- 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 +18 -18
- 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 +18 -18
- 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/api/attachments/preview/route.js.nft.json +1 -1
- package/web/.next/server/app/api/evidence/route.js.nft.json +1 -1
- package/web/.next/server/app/settings/page/server-reference-manifest.json +5 -5
- 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 +6 -6
- package/web/.next/server/app/skills/page.js.nft.json +1 -1
- 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.js.nft.json +1 -1
- 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/app-paths-manifest.json +0 -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_c757eb00.js +1 -1
- package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_@drawer_repository_[repositoryId]_page_actions_c757eb00.js.map +1 -1
- package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_repository_[repositoryId]_page_actions_7eb49631.js +1 -1
- package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_repository_[repositoryId]_page_actions_7eb49631.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]__19fb0bfe._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__19fb0bfe._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__24dd0927._.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]__3d6f6b0e._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__3d6f6b0e._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__42020c54._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__42020c54._.js.map +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]__845a9d2a._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__845a9d2a._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__89e8a5cc._.js +2 -2
- package/web/.next/server/chunks/ssr/[root-of-the-server]__9cb60e1e._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__9cb60e1e._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__aad040c0._.js +2 -2
- 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]__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/{_ec425837._.js → _15107281._.js} +2 -2
- package/web/.next/server/chunks/ssr/{_ec425837._.js.map → _15107281._.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/{_0d406c6a._.js → _d7aece87._.js} +2 -2
- package/web/.next/server/chunks/ssr/{_0d406c6a._.js.map → _d7aece87._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/{_0b8bf129._.js → _fb46fdbd._.js} +2 -2
- package/web/.next/server/chunks/ssr/{_0b8bf129._.js.map → _fb46fdbd._.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_3c53a23d._.js +2 -2
- package/web/.next/server/chunks/ssr/src_presentation_web_3c53a23d._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_(dashboard)_page_actions_befd865a.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_(dashboard)_page_actions_befd865a.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_components_bf50c527._.js +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_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_ec8c7a4f._.js +2 -2
- package/web/.next/server/chunks/ssr/src_presentation_web_ec8c7a4f._.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 +30 -30
- package/web/.next/static/chunks/{427df125f389c292.js → 01548ec8f908b82c.js} +1 -1
- package/web/.next/static/chunks/{82ebbc48f46979d7.js → 288fff3becfe7340.js} +2 -2
- package/web/.next/static/chunks/2c7c8052fb32c60f.js +1 -0
- package/web/.next/static/chunks/4d4019cbe85eaedc.css +1 -0
- package/web/.next/static/chunks/{21abfdf58d4fe537.js → 8c9ba633588f951b.js} +1 -1
- package/web/.next/static/chunks/{acf6315263470853.js → 909862b85d600cc3.js} +1 -1
- package/web/.next/static/chunks/{154f48cabfbb4c7a.js → 98cfce3bb9adc111.js} +1 -1
- package/web/.next/static/chunks/{310faa8efb0f07b7.js → 993560f95ae52de3.js} +1 -1
- package/web/.next/static/chunks/{4147848c53c89b39.js → b0350e13295c954e.js} +2 -2
- package/web/.next/static/chunks/{e40d2bee2827b6f2.js → bd0ca359575a0ac5.js} +1 -1
- package/web/.next/static/chunks/{8434870e6711ce40.js → c3f36157a3c0ecde.js} +1 -1
- package/web/.next/static/chunks/{affa6e24319253c5.js → dff1020b86b0bb1d.js} +1 -1
- package/dist/src/presentation/web/app/api/npm-version/route.d.ts +0 -3
- package/dist/src/presentation/web/app/api/npm-version/route.d.ts.map +0 -1
- package/dist/src/presentation/web/app/api/npm-version/route.js +0 -18
- package/dist/src/presentation/web/hooks/use-npm-version-check.d.ts +0 -10
- package/dist/src/presentation/web/hooks/use-npm-version-check.d.ts.map +0 -1
- package/dist/src/presentation/web/hooks/use-npm-version-check.js +0 -34
- package/dist/src/presentation/web/lib/compare-versions.d.ts +0 -7
- package/dist/src/presentation/web/lib/compare-versions.d.ts.map +0 -1
- package/dist/src/presentation/web/lib/compare-versions.js +0 -19
- package/web/.next/server/app/api/npm-version/route/app-paths-manifest.json +0 -3
- package/web/.next/server/app/api/npm-version/route/build-manifest.json +0 -11
- package/web/.next/server/app/api/npm-version/route/server-reference-manifest.json +0 -4
- package/web/.next/server/app/api/npm-version/route.js +0 -7
- package/web/.next/server/app/api/npm-version/route.js.map +0 -5
- package/web/.next/server/app/api/npm-version/route.js.nft.json +0 -1
- package/web/.next/server/app/api/npm-version/route_client-reference-manifest.js +0 -2
- package/web/.next/server/chunks/744ca_web__next-internal_server_app_api_npm-version_route_actions_3acb9a87.js +0 -3
- package/web/.next/server/chunks/744ca_web__next-internal_server_app_api_npm-version_route_actions_3acb9a87.js.map +0 -1
- package/web/.next/server/chunks/[root-of-the-server]__3b72e8b0._.js +0 -3
- package/web/.next/server/chunks/[root-of-the-server]__3b72e8b0._.js.map +0 -1
- package/web/.next/static/chunks/9ed40ce7648baa43.js +0 -1
- package/web/.next/static/chunks/cf63857c936b4ca1.css +0 -1
- /package/web/.next/static/{dMTW-luzsSqCH02mWBG7n → izuxqy-xD4yTD3n5bSDnv}/_buildManifest.js +0 -0
- /package/web/.next/static/{dMTW-luzsSqCH02mWBG7n → izuxqy-xD4yTD3n5bSDnv}/_clientMiddlewareManifest.json +0 -0
- /package/web/.next/static/{dMTW-luzsSqCH02mWBG7n → izuxqy-xD4yTD3n5bSDnv}/_ssgManifest.js +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version-badge.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/web/components/common/version-badge/version-badge.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"version-badge.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/web/components/common/version-badge/version-badge.tsx"],"names":[],"mappings":"AAIA,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,wBAAgB,YAAY,CAAC,EAC3B,OAAO,EACP,MAAM,EACN,UAAU,EACV,KAAa,EACb,WAA2B,EAC3B,WAAW,EACX,YAAY,GACb,EAAE,iBAAiB,2CAgCnB"}
|
|
@@ -1,18 +1,15 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
3
|
import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from '../../ui/tooltip.js';
|
|
4
|
-
import { useNpmVersionCheck } from '../../../hooks/use-npm-version-check.js';
|
|
5
4
|
export function VersionBadge({ version, branch, commitHash, isDev = false, packageName = '@shepai/cli', description, instancePath, }) {
|
|
6
5
|
const shortHash = commitHash?.slice(0, 7);
|
|
7
|
-
const { latest, updateAvailable } = useNpmVersionCheck(version);
|
|
8
6
|
// In dev mode show "1.92.2-dev", in production show "v1.92.2"
|
|
9
7
|
const displayVersion = isDev ? `${version}-dev` : `v${version}`;
|
|
10
|
-
|
|
11
|
-
return (_jsx(TooltipProvider, { delayDuration: 200, children: _jsxs(Tooltip, { children: [_jsx(TooltipTrigger, { asChild: true, children: _jsxs("span", { className: "text-muted-foreground/80 hover:text-muted-foreground relative cursor-default text-[11px] leading-tight transition-colors", "data-testid": "version-label", children: [displayVersion, updateAvailable ? (_jsx("span", { className: "absolute -top-0.5 -right-1.5 size-1.5 rounded-full bg-emerald-400", "data-testid": "update-dot" })) : null] }) }), _jsxs(TooltipContent, { side: "right", className: "max-w-[280px] space-y-1 p-3 text-left", children: [_jsx("div", { className: "mb-1.5 text-xs font-semibold", children: packageName }), description ? (_jsx("div", { className: "text-[10px] leading-snug opacity-70", children: description })) : null, _jsxs("div", { className: "border-t border-white/10 pt-1.5", children: [_jsx(Row, { label: "Version", value: displayVersion }), isDev && branch ? _jsx(Row, { label: "Branch", value: branch }) : null, isDev && shortHash ? _jsx(Row, { label: "Commit", value: shortHash, mono: true }) : null, isDev && instancePath ? _jsx(Row, { label: "Path", value: instancePath, mono: true }) : null, latest ? (_jsx(Row, { label: "Latest", value: `v${latest}`, highlight: updateAvailable })) : null] }), updateAvailable ? (_jsx("div", { className: "border-t border-white/10 pt-1.5", children: _jsxs("a", { href: npmUrl, target: "_blank", rel: "noopener noreferrer", className: "inline-flex items-center gap-1 text-[10px] font-medium text-emerald-400 transition-colors hover:text-emerald-300", "data-testid": "upgrade-link", children: ["Upgrade to v", latest, " \u2192"] }) })) : null] })] }) }));
|
|
8
|
+
return (_jsx(TooltipProvider, { delayDuration: 200, children: _jsxs(Tooltip, { children: [_jsx(TooltipTrigger, { asChild: true, children: _jsx("span", { className: "text-muted-foreground/80 hover:text-muted-foreground cursor-default text-[11px] leading-tight transition-colors", "data-testid": "version-label", children: displayVersion }) }), _jsxs(TooltipContent, { side: "right", className: "max-w-[280px] space-y-1 p-3 text-left", children: [_jsx("div", { className: "mb-1.5 text-xs font-semibold", children: packageName }), description ? (_jsx("div", { className: "text-[10px] leading-snug opacity-70", children: description })) : null, _jsxs("div", { className: "border-t border-white/10 pt-1.5", children: [_jsx(Row, { label: "Version", value: displayVersion }), isDev && branch ? _jsx(Row, { label: "Branch", value: branch }) : null, isDev && shortHash ? _jsx(Row, { label: "Commit", value: shortHash, mono: true }) : null, isDev && instancePath ? _jsx(Row, { label: "Path", value: instancePath, mono: true }) : null] })] })] }) }));
|
|
12
9
|
}
|
|
13
10
|
function Row({ label, value, highlight, mono, }) {
|
|
14
11
|
return (_jsxs("div", { className: "flex items-center justify-between gap-4 text-[10px]", children: [_jsx("span", { className: "opacity-60", children: label }), _jsx("span", { className: [
|
|
15
|
-
highlight ? 'font-medium text-
|
|
12
|
+
highlight ? 'font-medium text-cyan-400' : '',
|
|
16
13
|
mono || !highlight ? 'font-mono' : '',
|
|
17
14
|
]
|
|
18
15
|
.filter(Boolean)
|
package/dist/src/presentation/web/components/common/version-badge/version-badge.stories.d.ts
CHANGED
|
@@ -11,10 +11,4 @@ export declare const Development: Story;
|
|
|
11
11
|
export declare const LongBranch: Story;
|
|
12
12
|
/** Minimal info — no optional fields. */
|
|
13
13
|
export declare const Minimal: Story;
|
|
14
|
-
/** Update available — green dot appears, tooltip shows "Upgrade to v2.0.0" link. */
|
|
15
|
-
export declare const UpdateAvailable: Story;
|
|
16
|
-
/** Update available in dev mode — green dot + upgrade link alongside dev info. */
|
|
17
|
-
export declare const UpdateAvailableDev: Story;
|
|
18
|
-
/** Fetch error — no update info shown, badge behaves normally. */
|
|
19
|
-
export declare const FetchError: Story;
|
|
20
14
|
//# sourceMappingURL=version-badge.stories.d.ts.map
|
package/dist/src/presentation/web/components/common/version-badge/version-badge.stories.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version-badge.stories.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/web/components/common/version-badge/version-badge.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,
|
|
1
|
+
{"version":3,"file":"version-badge.stories.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/web/components/common/version-badge/version-badge.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,YAAY,CAOnC,CAAC;AAEF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,YAAY,CAAC,CAAC;AAE3C,mFAAmF;AACnF,eAAO,MAAM,UAAU,EAAE,KAMxB,CAAC;AAEF,wFAAwF;AACxF,eAAO,MAAM,WAAW,EAAE,KAUzB,CAAC;AAEF,mEAAmE;AACnE,eAAO,MAAM,UAAU,EAAE,KAUxB,CAAC;AAEF,yCAAyC;AACzC,eAAO,MAAM,OAAO,EAAE,KAIrB,CAAC"}
|
|
@@ -1,36 +1,4 @@
|
|
|
1
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
1
|
import { VersionBadge } from './version-badge.js';
|
|
3
|
-
/**
|
|
4
|
-
* Decorator that mocks the /api/npm-version endpoint to return a specific latest version.
|
|
5
|
-
*/
|
|
6
|
-
function withNpmVersion(latest) {
|
|
7
|
-
return (Story) => {
|
|
8
|
-
const originalFetch = window.fetch;
|
|
9
|
-
window.fetch = (async (input, init) => {
|
|
10
|
-
const url = typeof input === 'string' ? input : input instanceof URL ? input.href : input.url;
|
|
11
|
-
if (url.includes('/api/npm-version')) {
|
|
12
|
-
return new Response(JSON.stringify({ latest }), {
|
|
13
|
-
status: 200,
|
|
14
|
-
headers: { 'Content-Type': 'application/json' },
|
|
15
|
-
});
|
|
16
|
-
}
|
|
17
|
-
return originalFetch(input, init);
|
|
18
|
-
});
|
|
19
|
-
return _jsx(Story, {});
|
|
20
|
-
};
|
|
21
|
-
}
|
|
22
|
-
/** Decorator that mocks fetch to return an error for the npm version endpoint. */
|
|
23
|
-
const withNpmVersionError = (Story) => {
|
|
24
|
-
const originalFetch = window.fetch;
|
|
25
|
-
window.fetch = (async (input, init) => {
|
|
26
|
-
const url = typeof input === 'string' ? input : input instanceof URL ? input.href : input.url;
|
|
27
|
-
if (url.includes('/api/npm-version')) {
|
|
28
|
-
return new Response(JSON.stringify({ error: 'Not found' }), { status: 502 });
|
|
29
|
-
}
|
|
30
|
-
return originalFetch(input, init);
|
|
31
|
-
});
|
|
32
|
-
return _jsx(Story, {});
|
|
33
|
-
};
|
|
34
2
|
const meta = {
|
|
35
3
|
title: 'Common/VersionBadge',
|
|
36
4
|
component: VersionBadge,
|
|
@@ -42,7 +10,6 @@ const meta = {
|
|
|
42
10
|
export default meta;
|
|
43
11
|
/** Production mode — shows "v1.90.0" as dimmed text, no dev details in tooltip. */
|
|
44
12
|
export const Production = {
|
|
45
|
-
decorators: [withNpmVersion('1.90.0')],
|
|
46
13
|
args: {
|
|
47
14
|
version: '1.90.0',
|
|
48
15
|
packageName: '@shepai/cli',
|
|
@@ -51,7 +18,6 @@ export const Production = {
|
|
|
51
18
|
};
|
|
52
19
|
/** Development mode — shows "1.90.0-dev", tooltip includes branch, commit, and path. */
|
|
53
20
|
export const Development = {
|
|
54
|
-
decorators: [withNpmVersion('1.90.0')],
|
|
55
21
|
args: {
|
|
56
22
|
version: '1.90.0',
|
|
57
23
|
isDev: true,
|
|
@@ -64,7 +30,6 @@ export const Development = {
|
|
|
64
30
|
};
|
|
65
31
|
/** Development mode with a long branch name — shown in tooltip. */
|
|
66
32
|
export const LongBranch = {
|
|
67
|
-
decorators: [withNpmVersion('1.90.0')],
|
|
68
33
|
args: {
|
|
69
34
|
version: '1.90.0',
|
|
70
35
|
isDev: true,
|
|
@@ -77,39 +42,7 @@ export const LongBranch = {
|
|
|
77
42
|
};
|
|
78
43
|
/** Minimal info — no optional fields. */
|
|
79
44
|
export const Minimal = {
|
|
80
|
-
decorators: [withNpmVersion('1.0.0')],
|
|
81
45
|
args: {
|
|
82
46
|
version: '1.0.0',
|
|
83
47
|
},
|
|
84
48
|
};
|
|
85
|
-
/** Update available — green dot appears, tooltip shows "Upgrade to v2.0.0" link. */
|
|
86
|
-
export const UpdateAvailable = {
|
|
87
|
-
decorators: [withNpmVersion('2.0.0')],
|
|
88
|
-
args: {
|
|
89
|
-
version: '1.90.0',
|
|
90
|
-
packageName: '@shepai/cli',
|
|
91
|
-
description: 'Autonomous AI Native SDLC Platform',
|
|
92
|
-
},
|
|
93
|
-
};
|
|
94
|
-
/** Update available in dev mode — green dot + upgrade link alongside dev info. */
|
|
95
|
-
export const UpdateAvailableDev = {
|
|
96
|
-
decorators: [withNpmVersion('2.0.0')],
|
|
97
|
-
args: {
|
|
98
|
-
version: '1.90.0',
|
|
99
|
-
isDev: true,
|
|
100
|
-
branch: 'feat/npm-version-checker',
|
|
101
|
-
commitHash: '5a84c148b3e2f1a9c7d6e8b4a2f1c3d5e7f9a1b3',
|
|
102
|
-
packageName: '@shepai/cli',
|
|
103
|
-
description: 'Autonomous AI Native SDLC Platform',
|
|
104
|
-
instancePath: '/home/user/projects/shep',
|
|
105
|
-
},
|
|
106
|
-
};
|
|
107
|
-
/** Fetch error — no update info shown, badge behaves normally. */
|
|
108
|
-
export const FetchError = {
|
|
109
|
-
decorators: [withNpmVersionError],
|
|
110
|
-
args: {
|
|
111
|
-
version: '1.90.0',
|
|
112
|
-
packageName: '@shepai/cli',
|
|
113
|
-
description: 'Autonomous AI Native SDLC Platform',
|
|
114
|
-
},
|
|
115
|
-
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-graph-state.d.ts","sourceRoot":"","sources":["../../../../../src/presentation/web/hooks/use-graph-state.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,IAAI,EAAY,MAAM,eAAe,CAAC;AACpD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAC;AAC5E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACxE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AAC9E,OAAO,EAEL,KAAK,YAAY,EAEjB,KAAK,cAAc,EACpB,MAAM,oBAAoB,CAAC;AAG5B,YAAY,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEzD,MAAM,WAAW,mBAAmB;IAClC,mDAAmD;IACnD,KAAK,EAAE,cAAc,EAAE,CAAC;IACxB,mDAAmD;IACnD,KAAK,EAAE,IAAI,EAAE,CAAC;IACd;;;OAGG;IACH,SAAS,EAAE,CAAC,QAAQ,EAAE,cAAc,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,IAAI,CAAC;IAClE,uEAAuE;IACvE,aAAa,EAAE,CAAC,aAAa,EAAE,MAAM,EAAE,OAAO,EAAE,kBAAkB,KAAK,IAAI,CAAC;IAC5E,kEAAkE;IAClE,iBAAiB,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,eAAe,EAAE,YAAY,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1F,yDAAyD;IACzD,oBAAoB,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/C,sDAAsD;IACtD,aAAa,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,uDAAuD;IACvD,cAAc,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,KAAK,IAAI,CAAC;IAC9D,2DAA2D;IAC3D,aAAa,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,kBAAkB,KAAK,IAAI,CAAC;IAClE,gCAAgC;IAChC,gBAAgB,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C,yDAAyD;IACzD,iBAAiB,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,kBAAkB,KAAK,IAAI,CAAC;IACtF,gEAAgE;IAChE,wBAAwB,EAAE,CAAC,aAAa,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;IACxE,yDAAyD;IACzD,iBAAiB,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,kBAAkB,GAAG,SAAS,CAAC;IACtE,+EAA+E;IAC/E,cAAc,EAAE,MAAM,MAAM,CAAC;IAC7B,6EAA6E;IAC7E,YAAY,EAAE,CAAC,SAAS,EAAE,cAAc,KAAK,IAAI,CAAC;CACnD;AAuCD,KAAK,kBAAkB,GAAG,OAAO,CAC/B,IAAI,CAAC,eAAe,EAAE,OAAO,GAAG,WAAW,GAAG,MAAM,GAAG,aAAa,CAAC,CACtE,CAAC;AAWF,wBAAgB,aAAa,CAC3B,YAAY,EAAE,cAAc,EAAE,EAC9B,YAAY,EAAE,IAAI,EAAE,GACnB,mBAAmB,
|
|
1
|
+
{"version":3,"file":"use-graph-state.d.ts","sourceRoot":"","sources":["../../../../../src/presentation/web/hooks/use-graph-state.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,IAAI,EAAY,MAAM,eAAe,CAAC;AACpD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAC;AAC5E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACxE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AAC9E,OAAO,EAEL,KAAK,YAAY,EAEjB,KAAK,cAAc,EACpB,MAAM,oBAAoB,CAAC;AAG5B,YAAY,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEzD,MAAM,WAAW,mBAAmB;IAClC,mDAAmD;IACnD,KAAK,EAAE,cAAc,EAAE,CAAC;IACxB,mDAAmD;IACnD,KAAK,EAAE,IAAI,EAAE,CAAC;IACd;;;OAGG;IACH,SAAS,EAAE,CAAC,QAAQ,EAAE,cAAc,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,IAAI,CAAC;IAClE,uEAAuE;IACvE,aAAa,EAAE,CAAC,aAAa,EAAE,MAAM,EAAE,OAAO,EAAE,kBAAkB,KAAK,IAAI,CAAC;IAC5E,kEAAkE;IAClE,iBAAiB,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,eAAe,EAAE,YAAY,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1F,yDAAyD;IACzD,oBAAoB,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/C,sDAAsD;IACtD,aAAa,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,uDAAuD;IACvD,cAAc,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,KAAK,IAAI,CAAC;IAC9D,2DAA2D;IAC3D,aAAa,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,kBAAkB,KAAK,IAAI,CAAC;IAClE,gCAAgC;IAChC,gBAAgB,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C,yDAAyD;IACzD,iBAAiB,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,kBAAkB,KAAK,IAAI,CAAC;IACtF,gEAAgE;IAChE,wBAAwB,EAAE,CAAC,aAAa,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;IACxE,yDAAyD;IACzD,iBAAiB,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,kBAAkB,GAAG,SAAS,CAAC;IACtE,+EAA+E;IAC/E,cAAc,EAAE,MAAM,MAAM,CAAC;IAC7B,6EAA6E;IAC7E,YAAY,EAAE,CAAC,SAAS,EAAE,cAAc,KAAK,IAAI,CAAC;CACnD;AAuCD,KAAK,kBAAkB,GAAG,OAAO,CAC/B,IAAI,CAAC,eAAe,EAAE,OAAO,GAAG,WAAW,GAAG,MAAM,GAAG,aAAa,CAAC,CACtE,CAAC;AAWF,wBAAgB,aAAa,CAC3B,YAAY,EAAE,cAAc,EAAE,EAC9B,YAAY,EAAE,IAAI,EAAE,GACnB,mBAAmB,CAmUrB"}
|
|
@@ -165,7 +165,23 @@ export function useGraphState(initialNodes, initialEdges) {
|
|
|
165
165
|
}
|
|
166
166
|
return changed ? next : currentPendingMap;
|
|
167
167
|
});
|
|
168
|
-
|
|
168
|
+
// Merge repoMap: preserve optimistic (temp) repos that the server doesn't
|
|
169
|
+
// know about yet. Temp repos use IDs like "repo-temp-*". Without this,
|
|
170
|
+
// a polling reconcile that fires before the server action returns would
|
|
171
|
+
// wipe the optimistic entry, causing the repo to disappear and reappear.
|
|
172
|
+
setRepoMap((currentRepoMap) => {
|
|
173
|
+
// Start with everything the server returned
|
|
174
|
+
const merged = new Map(newRepoMap);
|
|
175
|
+
// Build a set of repositoryPaths present in server data for dedup
|
|
176
|
+
const serverPaths = new Set([...newRepoMap.values()].map((e) => e.data.repositoryPath));
|
|
177
|
+
// Keep optimistic entries whose path isn't in server data yet
|
|
178
|
+
for (const [id, entry] of currentRepoMap) {
|
|
179
|
+
if (id.startsWith('repo-temp-') && !serverPaths.has(entry.data.repositoryPath)) {
|
|
180
|
+
merged.set(id, entry);
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
return merged;
|
|
184
|
+
});
|
|
169
185
|
}, []);
|
|
170
186
|
const updateFeature = useCallback((featureNodeId, updates) => {
|
|
171
187
|
setFeatureMap((prev) => {
|