@shepai/cli 1.163.0 → 1.164.0-pr514.db33061
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/README.md +12 -0
- package/dist/packages/core/src/application/ports/output/agents/interactive-agent-executor.interface.d.ts +3 -1
- package/dist/packages/core/src/application/ports/output/agents/interactive-agent-executor.interface.d.ts.map +1 -1
- package/dist/packages/core/src/application/ports/output/repositories/interactive-session-repository.interface.d.ts +19 -0
- package/dist/packages/core/src/application/ports/output/repositories/interactive-session-repository.interface.d.ts.map +1 -1
- package/dist/packages/core/src/application/ports/output/services/interactive-session-service.interface.d.ts +7 -1
- package/dist/packages/core/src/application/ports/output/services/interactive-session-service.interface.d.ts.map +1 -1
- package/dist/packages/core/src/application/use-cases/interactive/send-interactive-message.use-case.d.ts +2 -0
- package/dist/packages/core/src/application/use-cases/interactive/send-interactive-message.use-case.d.ts.map +1 -1
- package/dist/packages/core/src/application/use-cases/interactive/send-interactive-message.use-case.js +1 -1
- package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/051-add-session-usage-tracking.d.ts +18 -0
- package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/051-add-session-usage-tracking.d.ts.map +1 -0
- package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/051-add-session-usage-tracking.js +32 -0
- package/dist/packages/core/src/infrastructure/repositories/sqlite-interactive-session.repository.d.ts +12 -0
- package/dist/packages/core/src/infrastructure/repositories/sqlite-interactive-session.repository.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/repositories/sqlite-interactive-session.repository.js +31 -0
- package/dist/packages/core/src/infrastructure/services/agents/common/executors/claude-code-interactive-executor.service.d.ts +38 -7
- package/dist/packages/core/src/infrastructure/services/agents/common/executors/claude-code-interactive-executor.service.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/services/agents/common/executors/claude-code-interactive-executor.service.js +152 -45
- package/dist/packages/core/src/infrastructure/services/interactive/interactive-session.service.d.ts +17 -1
- package/dist/packages/core/src/infrastructure/services/interactive/interactive-session.service.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/services/interactive/interactive-session.service.js +131 -47
- package/dist/src/presentation/web/app/actions/get-git-log.d.ts +44 -0
- package/dist/src/presentation/web/app/actions/get-git-log.d.ts.map +1 -0
- package/dist/src/presentation/web/app/actions/get-git-log.js +125 -0
- package/dist/src/presentation/web/app/actions/open-folder.d.ts.map +1 -1
- package/dist/src/presentation/web/app/actions/open-folder.js +5 -2
- package/dist/src/presentation/web/app/api/interactive/chat/[featureId]/messages/route.d.ts.map +1 -1
- package/dist/src/presentation/web/app/api/interactive/chat/[featureId]/messages/route.js +3 -1
- package/dist/src/presentation/web/components/assistant-ui/thread.js +8 -1
- package/dist/src/presentation/web/components/common/base-drawer/base-drawer.js +1 -1
- package/dist/src/presentation/web/components/common/control-center-drawer/feature-drawer-client.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/control-center-drawer/feature-drawer-client.js +46 -15
- package/dist/src/presentation/web/components/common/control-center-drawer/repository-drawer-client.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/control-center-drawer/repository-drawer-client.js +77 -5
- package/dist/src/presentation/web/components/common/control-center-drawer/use-drawer-sync.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/control-center-drawer/use-drawer-sync.js +11 -0
- package/dist/src/presentation/web/components/common/deployment-status-badge/deployment-status-badge.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/deployment-status-badge/deployment-status-badge.js +10 -9
- package/dist/src/presentation/web/components/common/feature-drawer-tabs/feature-drawer-tabs.d.ts +5 -1
- package/dist/src/presentation/web/components/common/feature-drawer-tabs/feature-drawer-tabs.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/feature-drawer-tabs/feature-drawer-tabs.js +24 -13
- package/dist/src/presentation/web/components/common/feature-drawer-tabs/overview-tab.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/feature-drawer-tabs/overview-tab.js +56 -81
- package/dist/src/presentation/web/components/common/open-action-menu/open-action-menu.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/open-action-menu/open-action-menu.js +11 -6
- package/dist/src/presentation/web/components/common/repository-node/repository-node.d.ts.map +1 -1
- package/dist/src/presentation/web/components/features/chat/ChatTab.d.ts.map +1 -1
- package/dist/src/presentation/web/components/features/chat/ChatTab.js +13 -7
- package/dist/src/presentation/web/components/features/chat/useChatRuntime.d.ts +16 -0
- package/dist/src/presentation/web/components/features/chat/useChatRuntime.d.ts.map +1 -1
- package/dist/src/presentation/web/components/features/chat/useChatRuntime.js +98 -7
- package/dist/src/presentation/web/components/features/settings/AgentModelPicker/index.d.ts.map +1 -1
- package/dist/src/presentation/web/components/features/settings/AgentModelPicker/index.js +1 -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 +7 -2
- package/dist/src/presentation/web/hooks/use-animations-enabled.d.ts +6 -0
- package/dist/src/presentation/web/hooks/use-animations-enabled.d.ts.map +1 -0
- package/dist/src/presentation/web/hooks/use-animations-enabled.js +30 -0
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +2 -2
- 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 +29 -29
- 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/chat/page/server-reference-manifest.json +27 -27
- package/web/.next/server/app/(dashboard)/@drawer/chat/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/chat/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/create/page/server-reference-manifest.json +30 -30
- 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 +37 -37
- 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 +37 -37
- 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]/[tab]/page/server-reference-manifest.json +69 -54
- package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page.js +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page/server-reference-manifest.json +69 -54
- package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js +1 -1
- 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)/chat/page/server-reference-manifest.json +27 -27
- package/web/.next/server/app/(dashboard)/chat/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/chat/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/create/page/server-reference-manifest.json +30 -30
- 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 +37 -37
- 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 +37 -37
- 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 +27 -27
- 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]/[tab]/page/server-reference-manifest.json +69 -54
- package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page.js +1 -1
- package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page/server-reference-manifest.json +69 -54
- package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js +1 -1
- 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/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 +6 -6
- package/web/.next/server/app/_not-found/page.js.nft.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/api/graph-data/route.js +1 -1
- package/web/.next/server/app/api/graph-data/route.js.nft.json +1 -1
- package/web/.next/server/app/api/interactive/chat/[featureId]/messages/route.js.nft.json +1 -1
- package/web/.next/server/app/settings/page/server-reference-manifest.json +9 -9
- 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 +11 -11
- 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 +11 -11
- 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 +6 -6
- package/web/.next/server/app/version/page.js.nft.json +1 -1
- package/web/.next/server/app/version/page_client-reference-manifest.js +1 -1
- package/web/.next/server/chunks/[root-of-the-server]__2b71641f._.js +1 -1
- package/web/.next/server/chunks/[root-of-the-server]__2b71641f._.js.map +1 -1
- package/web/.next/server/chunks/[root-of-the-server]__a402b567._.js +1 -1
- package/web/.next/server/chunks/{[root-of-the-server]__beda892a._.js → [root-of-the-server]__c78383b1._.js} +2 -2
- package/web/.next/server/chunks/{[root-of-the-server]__beda892a._.js.map → [root-of-the-server]__c78383b1._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/403f9_next_dist_esm_ceb2fa1e._.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/744ca_web_components_common_control-center-drawer_feature-drawer-client_tsx_e9755fc8._.js +3 -3
- package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_feature-drawer-client_tsx_e9755fc8._.js.map +1 -1
- package/web/.next/server/chunks/ssr/{7f428_lucide-react_dist_esm_icons_4b319ae6._.js → 7f428_lucide-react_dist_esm_icons_281e0ef8._.js} +2 -2
- package/web/.next/server/chunks/ssr/7f428_lucide-react_dist_esm_icons_281e0ef8._.js.map +1 -0
- package/web/.next/server/chunks/ssr/7f428_lucide-react_dist_esm_icons_a593f310._.js +3 -0
- package/web/.next/server/chunks/ssr/7f428_lucide-react_dist_esm_icons_a593f310._.js.map +1 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__1abe77bb._.js +2 -2
- package/web/.next/server/chunks/ssr/[root-of-the-server]__1abe77bb._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__1f389e5d._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__1f389e5d._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__23b5ca2c._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__357d99f9._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__563e4faf._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__563e4faf._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__7528eb6f._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__7562afc6._.js +2 -2
- package/web/.next/server/chunks/ssr/[root-of-the-server]__7562afc6._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__821a11c1._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__821a11c1._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__86ff0bc5._.js +7 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__86ff0bc5._.js.map +1 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__8b0aac03._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__98740ee4._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__98740ee4._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__b7b96453._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__b7b96453._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__ba9f9e11._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__ba9f9e11._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__c9777776._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__c9777776._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__e0be67c7._.js +3 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__e0be67c7._.js.map +1 -0
- package/web/.next/server/chunks/ssr/{_8b57edb8._.js → _0020fddd._.js} +2 -2
- package/web/.next/server/chunks/ssr/_0020fddd._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_02e01240._.js +4 -0
- package/web/.next/server/chunks/ssr/_02e01240._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_05c23ad9._.js +1 -1
- package/web/.next/server/chunks/ssr/_05c23ad9._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_0727935d._.js +1 -1
- package/web/.next/server/chunks/ssr/_0727935d._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_16eb4fec._.js +1 -1
- package/web/.next/server/chunks/ssr/_16eb4fec._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_18886033._.js +4 -0
- package/web/.next/server/chunks/ssr/_18886033._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_22e00a14._.js +1 -1
- package/web/.next/server/chunks/ssr/_22e00a14._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_4d49a312._.js +3 -0
- package/web/.next/server/chunks/ssr/_4d49a312._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_56b9d60f._.js +1 -1
- package/web/.next/server/chunks/ssr/_56b9d60f._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_7a6f6a76._.js +3 -0
- package/web/.next/server/chunks/ssr/_7a6f6a76._.js.map +1 -0
- package/web/.next/server/chunks/ssr/{_def82237._.js → _8276397a._.js} +2 -2
- package/web/.next/server/chunks/ssr/{_def82237._.js.map → _8276397a._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/_9215e9ec._.js +3 -0
- package/web/.next/server/chunks/ssr/_9215e9ec._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_a5a5901d._.js +1 -1
- package/web/.next/server/chunks/ssr/_a5a5901d._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_ad09f271._.js +4 -0
- package/web/.next/server/chunks/ssr/_ad09f271._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_b7a43c05._.js +3 -0
- package/web/.next/server/chunks/ssr/_b7a43c05._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_c3f595c6._.js +1 -1
- package/web/.next/server/chunks/ssr/_c3f595c6._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_c45aee16._.js +3 -0
- package/web/.next/server/chunks/ssr/_c45aee16._.js.map +1 -0
- package/web/.next/server/chunks/ssr/{_ce97386b._.js → _cc654b75._.js} +3 -3
- package/web/.next/server/chunks/ssr/_cc654b75._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_ea9e1556._.js +4 -0
- package/web/.next/server/chunks/ssr/_ea9e1556._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_f1ba9be6._.js +2 -2
- package/web/.next/server/chunks/ssr/_f1ba9be6._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_f33cd07e._.js +2 -2
- package/web/.next/server/chunks/ssr/_f33cd07e._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_f8b45233._.js +1 -1
- package/web/.next/server/chunks/ssr/_f8b45233._.js.map +1 -1
- package/web/.next/server/chunks/ssr/{_b881a389._.js → _fdc356bf._.js} +2 -2
- package/web/.next/server/chunks/ssr/_fdc356bf._.js.map +1 -0
- 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/f3a1f_components_common_control-center-drawer_repository-drawer-client_tsx_39a00c03._.js +3 -0
- package/web/.next/server/chunks/ssr/f3a1f_components_common_control-center-drawer_repository-drawer-client_tsx_39a00c03._.js.map +1 -0
- package/web/.next/server/chunks/ssr/node_modules__pnpm_1300ae39._.js +3 -0
- package/web/.next/server/chunks/ssr/node_modules__pnpm_1300ae39._.js.map +1 -0
- package/web/.next/server/chunks/ssr/src_presentation_web_app_actions_open-ide_ts_baaca5d5._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_app_actions_open-ide_ts_baaca5d5._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_components_895e5bfa._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_components_895e5bfa._.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_components_features_tools_tools-page-client_tsx_3d0aa70c._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_components_features_tools_tools-page-client_tsx_3d0aa70c._.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 +190 -154
- package/web/.next/static/chunks/16eea21868510afd.js +5 -0
- package/web/.next/static/chunks/1ad664f7081cf4c0.js +1 -0
- package/web/.next/static/chunks/{0613d3829ce90fe9.js → 4788a37d8c608e30.js} +1 -1
- package/web/.next/static/chunks/4f7d9c08a205bc4e.js +1 -0
- package/web/.next/static/chunks/5d8c83c576ec1a7b.js +1 -0
- package/web/.next/static/chunks/779b5c49587b074e.js +1 -0
- package/web/.next/static/chunks/7cec51e9bd7d1f4f.js +1 -0
- package/web/.next/static/chunks/{780f688b8568331d.js → 7d40e79e524c8d18.js} +2 -2
- package/web/.next/static/chunks/{5f40b5c4f859b573.js → 8094762f5cda4934.js} +1 -1
- package/web/.next/static/chunks/9162bb869b3543e2.js +7 -0
- package/web/.next/static/chunks/940bca62e44f3e90.js +5 -0
- package/web/.next/static/chunks/966eb2688300b7f5.js +1 -0
- package/web/.next/static/chunks/971e52f3f386ccfd.js +1 -0
- package/web/.next/static/chunks/a760d5829014058d.js +1 -0
- package/web/.next/static/chunks/b63e6727c84f30e2.js +1 -0
- package/web/.next/static/chunks/d6a1a06ee3c12489.js +1 -0
- package/web/.next/static/chunks/dedf6ca63c5468fa.js +5 -0
- package/web/.next/static/chunks/e77d053610055e0c.js +1 -0
- package/web/.next/static/chunks/{0d9e3aa7e10cf6e6.js → ee9fe376b60c3cab.js} +2 -2
- package/web/.next/static/chunks/eeadf13c0ea6cbe0.css +1 -0
- package/web/.next/server/chunks/ssr/7f428_lucide-react_dist_esm_icons_4b319ae6._.js.map +0 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__e5ceba65._.js +0 -3
- package/web/.next/server/chunks/ssr/[root-of-the-server]__e5ceba65._.js.map +0 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__e91ffd5e._.js +0 -7
- package/web/.next/server/chunks/ssr/[root-of-the-server]__e91ffd5e._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_075fae20._.js +0 -4
- package/web/.next/server/chunks/ssr/_075fae20._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_125c55af._.js +0 -4
- package/web/.next/server/chunks/ssr/_125c55af._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_391e499a._.js +0 -3
- package/web/.next/server/chunks/ssr/_391e499a._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_573caadf._.js +0 -3
- package/web/.next/server/chunks/ssr/_573caadf._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_628621c7._.js +0 -4
- package/web/.next/server/chunks/ssr/_628621c7._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_68996e5b._.js +0 -3
- package/web/.next/server/chunks/ssr/_68996e5b._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_8b57edb8._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_9412b27f._.js +0 -4
- package/web/.next/server/chunks/ssr/_9412b27f._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_ac4a3873._.js +0 -3
- package/web/.next/server/chunks/ssr/_ac4a3873._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_b881a389._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_ce97386b._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_cfbd1d7e._.js +0 -3
- package/web/.next/server/chunks/ssr/_cfbd1d7e._.js.map +0 -1
- package/web/.next/server/chunks/ssr/node_modules__pnpm_8ec2c790._.js +0 -3
- package/web/.next/server/chunks/ssr/node_modules__pnpm_8ec2c790._.js.map +0 -1
- package/web/.next/static/chunks/0a79dfbb8486b66e.js +0 -5
- package/web/.next/static/chunks/14d9d9181bb4e337.js +0 -1
- package/web/.next/static/chunks/4581eaf51543601d.js +0 -1
- package/web/.next/static/chunks/47477ed4c5871747.js +0 -1
- package/web/.next/static/chunks/74db65fa7bfb80bd.js +0 -1
- package/web/.next/static/chunks/8b64414cdb4a4dc7.js +0 -1
- package/web/.next/static/chunks/bf55fb50a69f7350.js +0 -5
- package/web/.next/static/chunks/c04ada25ace6f30c.js +0 -1
- package/web/.next/static/chunks/c3a67566f78b5bc3.js +0 -1
- package/web/.next/static/chunks/ca8752df0e809c1b.js +0 -7
- package/web/.next/static/chunks/d2cbeefbc8967b16.js +0 -1
- package/web/.next/static/chunks/d39ae882d080aa52.js +0 -1
- package/web/.next/static/chunks/d6e702c209c413ce.js +0 -5
- package/web/.next/static/chunks/dbfbd9d9ee5eb2d0.js +0 -1
- package/web/.next/static/chunks/dc39dd4276779dec.js +0 -1
- package/web/.next/static/chunks/e779296e738a812b.css +0 -1
- /package/web/.next/static/{qfCnoWSr4qmt2_dT28B-O → lQkUWQQS5aR4vq6WUZ2yr}/_buildManifest.js +0 -0
- /package/web/.next/static/{qfCnoWSr4qmt2_dT28B-O → lQkUWQQS5aR4vq6WUZ2yr}/_clientMiddlewareManifest.json +0 -0
- /package/web/.next/static/{qfCnoWSr4qmt2_dT28B-O → lQkUWQQS5aR4vq6WUZ2yr}/_ssgManifest.js +0 -0
|
@@ -5,6 +5,28 @@
|
|
|
5
5
|
* @anthropic-ai/claude-agent-sdk V2 session API. This is the ONLY file
|
|
6
6
|
* that imports from the SDK.
|
|
7
7
|
*
|
|
8
|
+
* ## V2 API Stability Notice
|
|
9
|
+
*
|
|
10
|
+
* This file uses the `unstable_v2_*` session API. The V2 API is chosen over
|
|
11
|
+
* the stable V1 `query()` API because V2 maintains a persistent agent process
|
|
12
|
+
* across turns, providing near-instant turn responses. V1 `query()` spawns a
|
|
13
|
+
* new process per turn with `resume`, adding 5-15s latency — unacceptable
|
|
14
|
+
* for interactive chat.
|
|
15
|
+
*
|
|
16
|
+
* The SDK version is pinned exactly in package.json to prevent surprise
|
|
17
|
+
* breakage. If Anthropic removes the V2 API, migrate to V1 `query()` with
|
|
18
|
+
* `resume: sessionId` — the InteractiveAgentSessionHandle interface is
|
|
19
|
+
* designed to support either backend transparently.
|
|
20
|
+
*
|
|
21
|
+
* ## V2 Limitations (vs V1 query())
|
|
22
|
+
*
|
|
23
|
+
* SDKSessionOptions does NOT support: `cwd`, `maxTurns`, `maxBudgetUsd`,
|
|
24
|
+
* `abortController`, `settingSources`, `persistSession`, `effort`.
|
|
25
|
+
* These must be handled at the service layer:
|
|
26
|
+
* - cwd: Handled via process.chdir() mutex (see withCwd)
|
|
27
|
+
* - abort: Handled via SDKSession.close() which kills the process
|
|
28
|
+
* - maxTurns/maxBudgetUsd: Should be tracked by InteractiveSessionService
|
|
29
|
+
*
|
|
8
30
|
* Design decisions:
|
|
9
31
|
* - The CLAUDECODE env var is stripped to prevent nested-session detection
|
|
10
32
|
* errors when shep itself is running inside a Claude Code session.
|
|
@@ -14,30 +36,49 @@
|
|
|
14
36
|
import { unstable_v2_createSession, unstable_v2_resumeSession, } from '@anthropic-ai/claude-agent-sdk';
|
|
15
37
|
/** Default model used when options.model is not specified. */
|
|
16
38
|
const DEFAULT_MODEL = 'claude-sonnet-4-6';
|
|
39
|
+
/**
|
|
40
|
+
* Process-level mutex for process.chdir().
|
|
41
|
+
*
|
|
42
|
+
* SDKSessionOptions (V2) does not support a `cwd` parameter, so we
|
|
43
|
+
* temporarily change process.cwd() during session creation. Although
|
|
44
|
+
* session creation itself is synchronous, concurrent API requests can
|
|
45
|
+
* interleave between chdir calls. This mutex serializes all chdir
|
|
46
|
+
* operations to prevent one session from inheriting another's cwd.
|
|
47
|
+
*/
|
|
48
|
+
let cwdMutexPromise = Promise.resolve();
|
|
17
49
|
export class ClaudeCodeInteractiveExecutor {
|
|
18
50
|
async createSession(options) {
|
|
19
|
-
const sdkSession = this.withCwd(options.cwd, () => unstable_v2_createSession(this.buildSdkOptions(options)));
|
|
51
|
+
const sdkSession = await this.withCwd(options.cwd, () => unstable_v2_createSession(this.buildSdkOptions(options)));
|
|
20
52
|
return this.wrapSession(sdkSession);
|
|
21
53
|
}
|
|
22
54
|
async resumeSession(sessionId, options) {
|
|
23
|
-
const sdkSession = this.withCwd(options.cwd, () => unstable_v2_resumeSession(sessionId, this.buildSdkOptions(options)));
|
|
55
|
+
const sdkSession = await this.withCwd(options.cwd, () => unstable_v2_resumeSession(sessionId, this.buildSdkOptions(options)));
|
|
24
56
|
return this.wrapSession(sdkSession);
|
|
25
57
|
}
|
|
26
58
|
/**
|
|
27
|
-
*
|
|
28
|
-
*
|
|
29
|
-
*
|
|
30
|
-
*
|
|
59
|
+
* Acquire a process-level mutex, change cwd, run the synchronous factory
|
|
60
|
+
* function, restore cwd, and release the mutex.
|
|
61
|
+
*
|
|
62
|
+
* This prevents concurrent session creations from seeing each other's cwd.
|
|
63
|
+
* The mutex is async to serialize across concurrent API request handlers.
|
|
31
64
|
*/
|
|
32
65
|
withCwd(cwd, fn) {
|
|
33
|
-
const
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
process.
|
|
40
|
-
|
|
66
|
+
const prev = cwdMutexPromise;
|
|
67
|
+
let resolve;
|
|
68
|
+
cwdMutexPromise = new Promise((r) => {
|
|
69
|
+
resolve = r;
|
|
70
|
+
});
|
|
71
|
+
return prev.then(() => {
|
|
72
|
+
const originalCwd = process.cwd();
|
|
73
|
+
try {
|
|
74
|
+
process.chdir(cwd);
|
|
75
|
+
return fn();
|
|
76
|
+
}
|
|
77
|
+
finally {
|
|
78
|
+
process.chdir(originalCwd);
|
|
79
|
+
resolve();
|
|
80
|
+
}
|
|
81
|
+
});
|
|
41
82
|
}
|
|
42
83
|
buildSdkOptions(options) {
|
|
43
84
|
// Strip CLAUDECODE env var to prevent nested-session detection errors.
|
|
@@ -57,28 +98,49 @@ export class ClaudeCodeInteractiveExecutor {
|
|
|
57
98
|
};
|
|
58
99
|
}
|
|
59
100
|
wrapSession(sdkSession) {
|
|
101
|
+
// SDK session ID is not available until after the first message exchange.
|
|
102
|
+
// Track it via a mutable variable updated by the stream mapper.
|
|
103
|
+
let resolvedSessionId = '';
|
|
60
104
|
return {
|
|
61
105
|
get sessionId() {
|
|
62
|
-
|
|
63
|
-
// Return empty string before that — callers should read it after streaming.
|
|
64
|
-
try {
|
|
65
|
-
return sdkSession.sessionId;
|
|
66
|
-
}
|
|
67
|
-
catch {
|
|
68
|
-
return '';
|
|
69
|
-
}
|
|
106
|
+
return resolvedSessionId;
|
|
70
107
|
},
|
|
71
108
|
send: (message) => sdkSession.send(message),
|
|
72
|
-
stream: () => this.mapStream(sdkSession),
|
|
109
|
+
stream: () => this.mapStream(sdkSession, (id) => (resolvedSessionId = id)),
|
|
73
110
|
close: async () => sdkSession.close(),
|
|
111
|
+
abort: () => {
|
|
112
|
+
// V2 SDKSession.close() synchronously kills the agent process.
|
|
113
|
+
// This is the only abort mechanism V2 provides.
|
|
114
|
+
sdkSession.close();
|
|
115
|
+
},
|
|
74
116
|
};
|
|
75
117
|
}
|
|
76
|
-
|
|
118
|
+
/**
|
|
119
|
+
* Map the SDK message stream to domain events.
|
|
120
|
+
*
|
|
121
|
+
* Tracks whether streaming deltas (`stream_event`) have been emitted for
|
|
122
|
+
* the current turn. When deltas are available, the `assistant` message's
|
|
123
|
+
* text blocks are skipped to prevent double-emission of the same content.
|
|
124
|
+
*/
|
|
125
|
+
async *mapStream(sdkSession, onSessionId) {
|
|
126
|
+
let hasStreamedDeltas = false;
|
|
77
127
|
for await (const msg of sdkSession.stream()) {
|
|
78
|
-
|
|
128
|
+
// Capture sessionId from messages that carry it
|
|
129
|
+
if ('session_id' in msg && typeof msg.session_id === 'string' && msg.session_id) {
|
|
130
|
+
onSessionId(msg.session_id);
|
|
131
|
+
}
|
|
132
|
+
const events = this.mapSdkMessage(msg, hasStreamedDeltas);
|
|
79
133
|
for (const event of events) {
|
|
80
134
|
yield event;
|
|
81
135
|
}
|
|
136
|
+
// Track whether we've seen streaming deltas for this turn
|
|
137
|
+
if (msg.type === 'stream_event') {
|
|
138
|
+
hasStreamedDeltas = true;
|
|
139
|
+
}
|
|
140
|
+
// Reset delta tracking on turn boundaries
|
|
141
|
+
if (msg.type === 'result') {
|
|
142
|
+
hasStreamedDeltas = false;
|
|
143
|
+
}
|
|
82
144
|
}
|
|
83
145
|
}
|
|
84
146
|
/**
|
|
@@ -87,14 +149,15 @@ export class ClaudeCodeInteractiveExecutor {
|
|
|
87
149
|
* SDK message types we handle:
|
|
88
150
|
* - stream_event (SDKPartialAssistantMessage): streaming content deltas
|
|
89
151
|
* - assistant (SDKAssistantMessage): complete assistant turn with tool_use blocks
|
|
90
|
-
* - result (SDKResultMessage): success or error result
|
|
91
|
-
* - system (SDKStatusMessage / SDKSystemMessage): status updates
|
|
152
|
+
* - result (SDKResultMessage): success or error result with distinct subtypes
|
|
153
|
+
* - system (SDKStatusMessage / SDKSystemMessage): status updates, compaction
|
|
92
154
|
* - tool_use_summary: tool execution summaries
|
|
93
155
|
* - tool_progress: tool execution progress
|
|
156
|
+
* - rate_limit_event: rate limit notifications
|
|
94
157
|
*
|
|
95
|
-
* Other message types are silently ignored (user replays, auth, etc.)
|
|
158
|
+
* Other message types are silently ignored (user replays, auth, hooks, etc.)
|
|
96
159
|
*/
|
|
97
|
-
mapSdkMessage(msg) {
|
|
160
|
+
mapSdkMessage(msg, hasStreamedDeltas) {
|
|
98
161
|
const events = [];
|
|
99
162
|
switch (msg.type) {
|
|
100
163
|
case 'stream_event': {
|
|
@@ -113,16 +176,17 @@ export class ClaudeCodeInteractiveExecutor {
|
|
|
113
176
|
}
|
|
114
177
|
case 'assistant': {
|
|
115
178
|
// SDKAssistantMessage — complete assistant turn with text + tool_use blocks.
|
|
116
|
-
// Text blocks contain the agent's reasoning between tool calls (e.g.,
|
|
117
|
-
// "Let me read that file..." or "I see, now I'll..."). These MUST be
|
|
118
|
-
// emitted as deltas — stream_event deltas may not be available in V2.
|
|
119
179
|
if ('message' in msg && msg.message?.content) {
|
|
120
180
|
for (const block of msg.message.content) {
|
|
121
181
|
if (block.type === 'text' && block.text) {
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
182
|
+
// Skip text blocks if we already emitted streaming deltas for
|
|
183
|
+
// this turn — otherwise the same content appears twice.
|
|
184
|
+
if (!hasStreamedDeltas) {
|
|
185
|
+
events.push({
|
|
186
|
+
type: 'delta',
|
|
187
|
+
content: block.text,
|
|
188
|
+
});
|
|
189
|
+
}
|
|
126
190
|
}
|
|
127
191
|
else if (block.type === 'tool_use') {
|
|
128
192
|
events.push({
|
|
@@ -143,7 +207,7 @@ export class ClaudeCodeInteractiveExecutor {
|
|
|
143
207
|
break;
|
|
144
208
|
}
|
|
145
209
|
case 'result': {
|
|
146
|
-
// SDKResultMessage — success or error
|
|
210
|
+
// SDKResultMessage — success or error with distinct subtypes
|
|
147
211
|
if (msg.subtype === 'success') {
|
|
148
212
|
events.push({
|
|
149
213
|
type: 'done',
|
|
@@ -158,11 +222,35 @@ export class ClaudeCodeInteractiveExecutor {
|
|
|
158
222
|
});
|
|
159
223
|
}
|
|
160
224
|
else {
|
|
161
|
-
//
|
|
162
|
-
const
|
|
225
|
+
// Distinguish error subtypes so the UI can show specific messages
|
|
226
|
+
const errorMessages = 'errors' in msg && Array.isArray(msg.errors) ? msg.errors.join('; ') : '';
|
|
227
|
+
let content;
|
|
228
|
+
switch (msg.subtype) {
|
|
229
|
+
case 'error_max_turns':
|
|
230
|
+
content = `Agent reached the maximum number of turns${errorMessages ? `: ${errorMessages}` : ''}`;
|
|
231
|
+
break;
|
|
232
|
+
case 'error_max_budget_usd':
|
|
233
|
+
content = `Agent exceeded the budget limit${errorMessages ? `: ${errorMessages}` : ''}`;
|
|
234
|
+
break;
|
|
235
|
+
case 'error_max_structured_output_retries':
|
|
236
|
+
content = `Agent exceeded structured output retries${errorMessages ? `: ${errorMessages}` : ''}`;
|
|
237
|
+
break;
|
|
238
|
+
case 'error_during_execution':
|
|
239
|
+
default:
|
|
240
|
+
content = errorMessages || 'Agent encountered an error during execution';
|
|
241
|
+
break;
|
|
242
|
+
}
|
|
163
243
|
events.push({
|
|
164
244
|
type: 'error',
|
|
165
|
-
content
|
|
245
|
+
content,
|
|
246
|
+
// Attach usage data even on errors — cost was still incurred
|
|
247
|
+
usage: {
|
|
248
|
+
costUsd: msg.total_cost_usd,
|
|
249
|
+
inputTokens: msg.usage?.input_tokens,
|
|
250
|
+
outputTokens: msg.usage?.output_tokens,
|
|
251
|
+
numTurns: msg.num_turns,
|
|
252
|
+
durationMs: msg.duration_ms,
|
|
253
|
+
},
|
|
166
254
|
});
|
|
167
255
|
}
|
|
168
256
|
break;
|
|
@@ -184,14 +272,23 @@ export class ClaudeCodeInteractiveExecutor {
|
|
|
184
272
|
});
|
|
185
273
|
}
|
|
186
274
|
break;
|
|
187
|
-
case 'status':
|
|
188
|
-
|
|
275
|
+
case 'status': {
|
|
276
|
+
// Status updates — including context compaction
|
|
277
|
+
const status = 'status' in msg ? msg.status : null;
|
|
278
|
+
if (status === 'compacting') {
|
|
189
279
|
events.push({
|
|
190
280
|
type: 'status',
|
|
191
|
-
content:
|
|
281
|
+
content: 'Compacting context — older conversation will be summarized',
|
|
282
|
+
});
|
|
283
|
+
}
|
|
284
|
+
else if (status !== null) {
|
|
285
|
+
events.push({
|
|
286
|
+
type: 'status',
|
|
287
|
+
content: String(status),
|
|
192
288
|
});
|
|
193
289
|
}
|
|
194
290
|
break;
|
|
291
|
+
}
|
|
195
292
|
case 'api_retry':
|
|
196
293
|
// API retry — let user know agent is retrying
|
|
197
294
|
if ('attempt' in msg) {
|
|
@@ -277,11 +374,21 @@ export class ClaudeCodeInteractiveExecutor {
|
|
|
277
374
|
}
|
|
278
375
|
break;
|
|
279
376
|
}
|
|
280
|
-
default:
|
|
281
|
-
//
|
|
377
|
+
default: {
|
|
378
|
+
// SDKCompactBoundaryMessage — context was compacted.
|
|
379
|
+
// Not in the TS discriminant union, so handle via string check.
|
|
380
|
+
const msgType = msg.type;
|
|
381
|
+
if (msgType === 'compact_boundary') {
|
|
382
|
+
events.push({
|
|
383
|
+
type: 'status',
|
|
384
|
+
content: 'Context compacted — older conversation has been summarized',
|
|
385
|
+
});
|
|
386
|
+
}
|
|
387
|
+
// Otherwise ignore: user, user_replay, auth_status,
|
|
282
388
|
// local_command_output, hook_*, files_persisted,
|
|
283
389
|
// elicitation_complete, prompt_suggestion
|
|
284
390
|
break;
|
|
391
|
+
}
|
|
285
392
|
}
|
|
286
393
|
return events;
|
|
287
394
|
}
|
package/dist/packages/core/src/infrastructure/services/interactive/interactive-session.service.d.ts
CHANGED
|
@@ -41,6 +41,14 @@ export declare class InteractiveSessionService implements IInteractiveSessionSer
|
|
|
41
41
|
private sessions;
|
|
42
42
|
/** Cached agentSessionIds from stopped sessions, keyed by featureId. */
|
|
43
43
|
private stoppedAgentSessionIds;
|
|
44
|
+
/**
|
|
45
|
+
* Feature-level subscribers that survive session restarts.
|
|
46
|
+
*
|
|
47
|
+
* Unlike session-level subscribers (in SessionState.subscribers), these
|
|
48
|
+
* persist when a session dies and a new one boots. SSE connections
|
|
49
|
+
* subscribe here so they continue receiving events from new sessions.
|
|
50
|
+
*/
|
|
51
|
+
private featureSubscribers;
|
|
44
52
|
constructor(sessionRepo: IInteractiveSessionRepository, messageRepo: IInteractiveMessageRepository, executorFactory: IAgentExecutorFactory, featureRepo: IFeatureRepository, contextBuilder: FeatureContextBuilder);
|
|
45
53
|
startSession(featureId: string, worktreePath: string, model?: string, agentType?: string): Promise<InteractiveSession>;
|
|
46
54
|
/**
|
|
@@ -60,7 +68,7 @@ export declare class InteractiveSessionService implements IInteractiveSessionSer
|
|
|
60
68
|
clearMessages(featureId: string): Promise<void>;
|
|
61
69
|
getSession(sessionId: string): Promise<InteractiveSession | null>;
|
|
62
70
|
subscribe(sessionId: string, onChunk: (chunk: StreamChunk) => void): UnsubscribeFn;
|
|
63
|
-
sendUserMessage(featureId: string, content: string, worktreePath: string): Promise<InteractiveMessage>;
|
|
71
|
+
sendUserMessage(featureId: string, content: string, worktreePath: string, model?: string, agentType?: string): Promise<InteractiveMessage>;
|
|
64
72
|
getChatState(featureId: string): Promise<ChatState>;
|
|
65
73
|
subscribeByFeature(featureId: string, onChunk: (chunk: StreamChunk) => void): UnsubscribeFn;
|
|
66
74
|
stopByFeature(featureId: string): Promise<void>;
|
|
@@ -78,6 +86,14 @@ export declare class InteractiveSessionService implements IInteractiveSessionSer
|
|
|
78
86
|
* Each event gets its own bubble in the chat thread.
|
|
79
87
|
*/
|
|
80
88
|
private persistToolEvent;
|
|
89
|
+
/**
|
|
90
|
+
* Dispatch a StreamChunk to all subscribers for a session.
|
|
91
|
+
*
|
|
92
|
+
* Sends to both session-level subscribers (legacy, for sessionId-based
|
|
93
|
+
* subscribe()) and feature-level subscribers (for SSE connections that
|
|
94
|
+
* must survive session restarts).
|
|
95
|
+
*/
|
|
96
|
+
private notify;
|
|
81
97
|
/** Start or restart the idle timeout timer for a session. */
|
|
82
98
|
private resetTimer;
|
|
83
99
|
/** Cancel the idle timer for a session. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interactive-session.service.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/src/infrastructure/services/interactive/interactive-session.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,KAAK,EACV,0BAA0B,EAC1B,WAAW,EACX,aAAa,EACb,SAAS,EACV,MAAM,qFAAqF,CAAC;AAC7F,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,4FAA4F,CAAC;AAChJ,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,4FAA4F,CAAC;AAChJ,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,8EAA8E,CAAC;AAE1H,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gFAAgF,CAAC;AACzH,OAAO,KAAK,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AASlG,OAAO,EAAE,KAAK,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AA0C1E;;;;;;;;;;;;;;GAcG;AACH,qBAAa,yBAA0B,YAAW,0BAA0B;
|
|
1
|
+
{"version":3,"file":"interactive-session.service.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/src/infrastructure/services/interactive/interactive-session.service.ts"],"names":[],"mappings":"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"}
|