@shepai/cli 1.151.2-pr438.6135e39 → 1.151.2-pr460.095bbae
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/apis/json-schema/InteractiveAgentConfig.yaml +25 -0
- package/apis/json-schema/InteractiveMessage.yaml +23 -0
- package/apis/json-schema/InteractiveMessageRole.yaml +7 -0
- package/apis/json-schema/InteractiveSession.yaml +30 -0
- package/apis/json-schema/InteractiveSessionStatus.yaml +9 -0
- package/apis/json-schema/Settings.yaml +3 -0
- package/apis/json-schema/WorkflowConfig.yaml +0 -5
- package/dist/packages/core/src/application/ports/output/agents/agent-executor-factory.interface.d.ts +17 -0
- package/dist/packages/core/src/application/ports/output/agents/agent-executor-factory.interface.d.ts.map +1 -1
- package/dist/packages/core/src/application/ports/output/agents/index.d.ts +1 -0
- package/dist/packages/core/src/application/ports/output/agents/index.d.ts.map +1 -1
- package/dist/packages/core/src/application/ports/output/agents/interactive-agent-executor.interface.d.ts +53 -0
- package/dist/packages/core/src/application/ports/output/agents/interactive-agent-executor.interface.d.ts.map +1 -0
- package/dist/packages/core/src/application/ports/output/agents/interactive-agent-executor.interface.js +13 -0
- package/dist/packages/core/src/application/ports/output/repositories/index.d.ts +2 -0
- package/dist/packages/core/src/application/ports/output/repositories/index.d.ts.map +1 -1
- package/dist/packages/core/src/application/ports/output/repositories/interactive-message-repository.interface.d.ts +37 -0
- package/dist/packages/core/src/application/ports/output/repositories/interactive-message-repository.interface.d.ts.map +1 -0
- package/dist/packages/core/src/application/ports/output/repositories/interactive-message-repository.interface.js +10 -0
- package/dist/packages/core/src/application/ports/output/repositories/interactive-session-repository.interface.d.ts +54 -0
- package/dist/packages/core/src/application/ports/output/repositories/interactive-session-repository.interface.d.ts.map +1 -0
- package/dist/packages/core/src/application/ports/output/repositories/interactive-session-repository.interface.js +10 -0
- package/dist/packages/core/src/application/ports/output/services/git-pr-service.interface.d.ts +0 -28
- package/dist/packages/core/src/application/ports/output/services/git-pr-service.interface.d.ts.map +1 -1
- package/dist/packages/core/src/application/ports/output/services/github-repository-service.interface.d.ts +0 -37
- package/dist/packages/core/src/application/ports/output/services/github-repository-service.interface.d.ts.map +1 -1
- package/dist/packages/core/src/application/ports/output/services/github-repository-service.interface.js +0 -12
- package/dist/packages/core/src/application/ports/output/services/index.d.ts +4 -5
- package/dist/packages/core/src/application/ports/output/services/index.d.ts.map +1 -1
- package/dist/packages/core/src/application/ports/output/services/index.js +1 -2
- package/dist/packages/core/src/application/ports/output/services/interactive-session-service.interface.d.ts +169 -0
- package/dist/packages/core/src/application/ports/output/services/interactive-session-service.interface.d.ts.map +1 -0
- package/dist/packages/core/src/application/ports/output/services/interactive-session-service.interface.js +12 -0
- package/dist/packages/core/src/application/use-cases/interactive/get-interactive-chat-state.use-case.d.ts +26 -0
- package/dist/packages/core/src/application/use-cases/interactive/get-interactive-chat-state.use-case.d.ts.map +1 -0
- package/dist/packages/core/src/application/use-cases/interactive/get-interactive-chat-state.use-case.js +41 -0
- package/dist/packages/core/src/application/use-cases/interactive/index.d.ts +14 -0
- package/dist/packages/core/src/application/use-cases/interactive/index.d.ts.map +1 -0
- package/dist/packages/core/src/application/use-cases/interactive/index.js +9 -0
- package/dist/packages/core/src/application/use-cases/interactive/send-interactive-message.use-case.d.ts +31 -0
- package/dist/packages/core/src/application/use-cases/interactive/send-interactive-message.use-case.d.ts.map +1 -0
- package/dist/packages/core/src/application/use-cases/interactive/send-interactive-message.use-case.js +43 -0
- package/dist/packages/core/src/application/use-cases/interactive/start-interactive-session.use-case.d.ts +34 -0
- package/dist/packages/core/src/application/use-cases/interactive/start-interactive-session.use-case.d.ts.map +1 -0
- package/dist/packages/core/src/application/use-cases/interactive/start-interactive-session.use-case.js +43 -0
- package/dist/packages/core/src/application/use-cases/interactive/stop-interactive-session.use-case.d.ts +27 -0
- package/dist/packages/core/src/application/use-cases/interactive/stop-interactive-session.use-case.d.ts.map +1 -0
- package/dist/packages/core/src/application/use-cases/interactive/stop-interactive-session.use-case.js +42 -0
- package/dist/packages/core/src/domain/errors/concurrent-session-limit.error.d.ts +13 -0
- package/dist/packages/core/src/domain/errors/concurrent-session-limit.error.d.ts.map +1 -0
- package/dist/packages/core/src/domain/errors/concurrent-session-limit.error.js +19 -0
- package/dist/packages/core/src/domain/generated/output.d.ts +77 -185
- package/dist/packages/core/src/domain/generated/output.d.ts.map +1 -1
- package/dist/packages/core/src/domain/generated/output.js +12 -0
- package/dist/packages/core/src/infrastructure/di/container.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/di/container.js +47 -4
- package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/interactive-message.mapper.d.ts +36 -0
- package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/interactive-message.mapper.d.ts.map +1 -0
- package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/interactive-message.mapper.js +41 -0
- package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/interactive-session.mapper.d.ts +37 -0
- package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/interactive-session.mapper.d.ts.map +1 -0
- package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/interactive-session.mapper.js +45 -0
- package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/settings.mapper.d.ts +3 -0
- package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/settings.mapper.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/settings.mapper.js +10 -0
- package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/045-create-interactive-tables.d.ts +22 -0
- package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/045-create-interactive-tables.d.ts.map +1 -0
- package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/045-create-interactive-tables.js +52 -0
- package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/046-add-interactive-agent-settings.d.ts +16 -0
- package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/046-add-interactive-agent-settings.d.ts.map +1 -0
- package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/046-add-interactive-agent-settings.js +27 -0
- package/dist/packages/core/src/infrastructure/repositories/sqlite-interactive-message.repository.d.ts +18 -0
- package/dist/packages/core/src/infrastructure/repositories/sqlite-interactive-message.repository.d.ts.map +1 -0
- package/dist/packages/core/src/infrastructure/repositories/sqlite-interactive-message.repository.js +58 -0
- package/dist/packages/core/src/infrastructure/repositories/sqlite-interactive-session.repository.d.ts +23 -0
- package/dist/packages/core/src/infrastructure/repositories/sqlite-interactive-session.repository.d.ts.map +1 -0
- package/dist/packages/core/src/infrastructure/repositories/sqlite-interactive-session.repository.js +85 -0
- package/dist/packages/core/src/infrastructure/repositories/sqlite-settings.repository.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/repositories/sqlite-settings.repository.js +10 -3
- package/dist/packages/core/src/infrastructure/services/agents/common/agent-executor-factory.service.d.ts +18 -0
- package/dist/packages/core/src/infrastructure/services/agents/common/agent-executor-factory.service.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/services/agents/common/agent-executor-factory.service.js +27 -0
- package/dist/packages/core/src/infrastructure/services/agents/common/executors/claude-code-interactive-executor.service.d.ts +43 -0
- package/dist/packages/core/src/infrastructure/services/agents/common/executors/claude-code-interactive-executor.service.d.ts.map +1 -0
- package/dist/packages/core/src/infrastructure/services/agents/common/executors/claude-code-interactive-executor.service.js +280 -0
- package/dist/packages/core/src/infrastructure/services/agents/common/executors/mock-executor-factory.service.d.ts +3 -0
- package/dist/packages/core/src/infrastructure/services/agents/common/executors/mock-executor-factory.service.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/services/agents/common/executors/mock-executor-factory.service.js +6 -0
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/feature-agent-graph.d.ts +1 -1
- package/dist/packages/core/src/infrastructure/services/external/github-repository.service.d.ts +1 -3
- package/dist/packages/core/src/infrastructure/services/external/github-repository.service.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/services/external/github-repository.service.js +1 -37
- package/dist/packages/core/src/infrastructure/services/git/git-pr.service.d.ts +1 -2
- package/dist/packages/core/src/infrastructure/services/git/git-pr.service.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/services/git/git-pr.service.js +0 -21
- package/dist/packages/core/src/infrastructure/services/interactive/feature-context.builder.d.ts +26 -0
- package/dist/packages/core/src/infrastructure/services/interactive/feature-context.builder.d.ts.map +1 -0
- package/dist/packages/core/src/infrastructure/services/interactive/feature-context.builder.js +140 -0
- package/dist/packages/core/src/infrastructure/services/interactive/interactive-session.service.d.ts +87 -0
- package/dist/packages/core/src/infrastructure/services/interactive/interactive-session.service.d.ts.map +1 -0
- package/dist/packages/core/src/infrastructure/services/interactive/interactive-session.service.js +786 -0
- package/dist/src/presentation/cli/index.js +0 -2
- package/dist/src/presentation/web/app/(dashboard)/@drawer/chat/page.d.ts +3 -0
- package/dist/src/presentation/web/app/(dashboard)/@drawer/chat/page.d.ts.map +1 -0
- package/dist/src/presentation/web/app/(dashboard)/@drawer/chat/page.js +6 -0
- package/dist/src/presentation/web/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page.d.ts.map +1 -1
- package/dist/src/presentation/web/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page.js +2 -2
- package/dist/src/presentation/web/app/(dashboard)/@drawer/feature/[featureId]/page.d.ts.map +1 -1
- package/dist/src/presentation/web/app/(dashboard)/@drawer/feature/[featureId]/page.js +2 -2
- package/dist/src/presentation/web/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page.d.ts +11 -0
- package/dist/src/presentation/web/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page.d.ts.map +1 -0
- package/dist/src/presentation/web/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page.js +18 -0
- package/dist/src/presentation/web/app/(dashboard)/chat/page.d.ts +3 -0
- package/dist/src/presentation/web/app/(dashboard)/chat/page.d.ts.map +1 -0
- package/dist/src/presentation/web/app/(dashboard)/chat/page.js +4 -0
- package/dist/src/presentation/web/app/(dashboard)/repository/[repositoryId]/[tab]/page.d.ts +3 -0
- package/dist/src/presentation/web/app/(dashboard)/repository/[repositoryId]/[tab]/page.d.ts.map +1 -0
- package/dist/src/presentation/web/app/(dashboard)/repository/[repositoryId]/[tab]/page.js +4 -0
- package/dist/src/presentation/web/app/api/agent-events/route.d.ts +6 -0
- package/dist/src/presentation/web/app/api/agent-events/route.d.ts.map +1 -1
- package/dist/src/presentation/web/app/api/agent-events/route.js +54 -1
- package/dist/src/presentation/web/app/api/interactive/chat/[featureId]/messages/route.d.ts +24 -0
- package/dist/src/presentation/web/app/api/interactive/chat/[featureId]/messages/route.d.ts.map +1 -0
- package/dist/src/presentation/web/app/api/interactive/chat/[featureId]/messages/route.js +76 -0
- package/dist/src/presentation/web/app/api/interactive/chat/[featureId]/stop/route.d.ts +16 -0
- package/dist/src/presentation/web/app/api/interactive/chat/[featureId]/stop/route.d.ts.map +1 -0
- package/dist/src/presentation/web/app/api/interactive/chat/[featureId]/stop/route.js +21 -0
- package/dist/src/presentation/web/app/api/interactive/chat/[featureId]/stream/route.d.ts +21 -0
- package/dist/src/presentation/web/app/api/interactive/chat/[featureId]/stream/route.d.ts.map +1 -0
- package/dist/src/presentation/web/app/api/interactive/chat/[featureId]/stream/route.js +87 -0
- package/dist/src/presentation/web/app/api/interactive/sessions/[id]/messages/route.d.ts +19 -0
- package/dist/src/presentation/web/app/api/interactive/sessions/[id]/messages/route.d.ts.map +1 -0
- package/dist/src/presentation/web/app/api/interactive/sessions/[id]/messages/route.js +78 -0
- package/dist/src/presentation/web/app/api/interactive/sessions/[id]/route.d.ts +18 -0
- package/dist/src/presentation/web/app/api/interactive/sessions/[id]/route.d.ts.map +1 -0
- package/dist/src/presentation/web/app/api/interactive/sessions/[id]/route.js +43 -0
- package/dist/src/presentation/web/app/api/interactive/sessions/[id]/stream/route.d.ts +19 -0
- package/dist/src/presentation/web/app/api/interactive/sessions/[id]/stream/route.d.ts.map +1 -0
- package/dist/src/presentation/web/app/api/interactive/sessions/[id]/stream/route.js +92 -0
- package/dist/src/presentation/web/app/api/interactive/sessions/route.d.ts +12 -0
- package/dist/src/presentation/web/app/api/interactive/sessions/route.d.ts.map +1 -0
- package/dist/src/presentation/web/app/api/interactive/sessions/route.js +37 -0
- package/dist/src/presentation/web/app/layout.d.ts.map +1 -1
- package/dist/src/presentation/web/app/layout.js +2 -1
- package/dist/src/presentation/web/components/assistant-ui/thread.d.ts +6 -0
- package/dist/src/presentation/web/components/assistant-ui/thread.d.ts.map +1 -0
- package/dist/src/presentation/web/components/assistant-ui/thread.js +192 -0
- package/dist/src/presentation/web/components/common/base-drawer/base-drawer.d.ts +1 -1
- package/dist/src/presentation/web/components/common/base-drawer/base-drawer.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/base-drawer/base-drawer.js +1 -0
- package/dist/src/presentation/web/components/common/control-center-drawer/drawer-view.d.ts +1 -1
- package/dist/src/presentation/web/components/common/control-center-drawer/drawer-view.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/control-center-drawer/drawer-view.js +1 -0
- package/dist/src/presentation/web/components/common/control-center-drawer/feature-drawer-client.d.ts +3 -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 +5 -6
- package/dist/src/presentation/web/components/common/control-center-drawer/global-chat-drawer-client.d.ts +2 -0
- package/dist/src/presentation/web/components/common/control-center-drawer/global-chat-drawer-client.d.ts.map +1 -0
- package/dist/src/presentation/web/components/common/control-center-drawer/global-chat-drawer-client.js +17 -0
- package/dist/src/presentation/web/components/common/control-center-drawer/repository-drawer-client.d.ts +3 -1
- 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 +15 -8
- package/dist/src/presentation/web/components/common/feature-drawer-tabs/feature-drawer-tabs.d.ts +7 -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 +11 -4
- package/dist/src/presentation/web/components/common/feature-node/feature-node.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/feature-node/feature-node.js +7 -2
- package/dist/src/presentation/web/components/common/floating-action-button/floating-action-button.d.ts +1 -0
- package/dist/src/presentation/web/components/common/floating-action-button/floating-action-button.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/floating-action-button/floating-action-button.js +6 -14
- package/dist/src/presentation/web/components/common/repository-node/repository-node.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/repository-node/repository-node.js +6 -2
- package/dist/src/presentation/web/components/features/chat/AgentStatusBadge.d.ts +21 -0
- package/dist/src/presentation/web/components/features/chat/AgentStatusBadge.d.ts.map +1 -0
- package/dist/src/presentation/web/components/features/chat/AgentStatusBadge.js +46 -0
- package/dist/src/presentation/web/components/features/chat/AgentStatusBadge.stories.d.ts +20 -0
- package/dist/src/presentation/web/components/features/chat/AgentStatusBadge.stories.d.ts.map +1 -0
- package/dist/src/presentation/web/components/features/chat/AgentStatusBadge.stories.js +52 -0
- package/dist/src/presentation/web/components/features/chat/ChatComposer.d.ts +18 -0
- package/dist/src/presentation/web/components/features/chat/ChatComposer.d.ts.map +1 -0
- package/dist/src/presentation/web/components/features/chat/ChatComposer.js +16 -0
- package/dist/src/presentation/web/components/features/chat/ChatInput.d.ts +19 -0
- package/dist/src/presentation/web/components/features/chat/ChatInput.d.ts.map +1 -0
- package/dist/src/presentation/web/components/features/chat/ChatInput.js +42 -0
- package/dist/src/presentation/web/components/features/chat/ChatInput.stories.d.ts +14 -0
- package/dist/src/presentation/web/components/features/chat/ChatInput.stories.d.ts.map +1 -0
- package/dist/src/presentation/web/components/features/chat/ChatInput.stories.js +56 -0
- package/dist/src/presentation/web/components/features/chat/ChatMessageBubble.d.ts +21 -0
- package/dist/src/presentation/web/components/features/chat/ChatMessageBubble.d.ts.map +1 -0
- package/dist/src/presentation/web/components/features/chat/ChatMessageBubble.js +43 -0
- package/dist/src/presentation/web/components/features/chat/ChatMessageBubble.stories.d.ts +24 -0
- package/dist/src/presentation/web/components/features/chat/ChatMessageBubble.stories.d.ts.map +1 -0
- package/dist/src/presentation/web/components/features/chat/ChatMessageBubble.stories.js +84 -0
- package/dist/src/presentation/web/components/features/chat/ChatMessageList.d.ts +25 -0
- package/dist/src/presentation/web/components/features/chat/ChatMessageList.d.ts.map +1 -0
- package/dist/src/presentation/web/components/features/chat/ChatMessageList.js +36 -0
- package/dist/src/presentation/web/components/features/chat/ChatSheet.d.ts +2 -0
- package/dist/src/presentation/web/components/features/chat/ChatSheet.d.ts.map +1 -0
- package/dist/src/presentation/web/components/features/chat/ChatSheet.js +243 -0
- package/dist/src/presentation/web/components/features/chat/ChatTab.d.ts +6 -0
- package/dist/src/presentation/web/components/features/chat/ChatTab.d.ts.map +1 -0
- package/dist/src/presentation/web/components/features/chat/ChatTab.js +67 -0
- package/dist/src/presentation/web/components/features/chat/ChatTab.stories.d.ts +25 -0
- package/dist/src/presentation/web/components/features/chat/ChatTab.stories.d.ts.map +1 -0
- package/dist/src/presentation/web/components/features/chat/ChatTab.stories.js +237 -0
- package/dist/src/presentation/web/components/features/chat/useChatRuntime.d.ts +34 -0
- package/dist/src/presentation/web/components/features/chat/useChatRuntime.d.ts.map +1 -0
- package/dist/src/presentation/web/components/features/chat/useChatRuntime.js +266 -0
- package/dist/src/presentation/web/components/features/control-center/control-center-inner.d.ts.map +1 -1
- package/dist/src/presentation/web/components/features/control-center/control-center-inner.js +8 -8
- package/dist/src/presentation/web/components/features/features-canvas/canvas-toolbar.d.ts +13 -0
- package/dist/src/presentation/web/components/features/features-canvas/canvas-toolbar.d.ts.map +1 -0
- package/dist/src/presentation/web/components/features/features-canvas/canvas-toolbar.js +30 -0
- package/dist/src/presentation/web/components/features/features-canvas/features-canvas.d.ts +1 -2
- package/dist/src/presentation/web/components/features/features-canvas/features-canvas.d.ts.map +1 -1
- package/dist/src/presentation/web/components/features/features-canvas/features-canvas.js +5 -13
- package/dist/src/presentation/web/components/features/settings/settings-page-client.d.ts.map +1 -1
- package/dist/src/presentation/web/components/features/settings/settings-page-client.js +45 -2
- 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 +13 -65
- package/dist/src/presentation/web/components/providers/query-provider.d.ts +4 -0
- package/dist/src/presentation/web/components/providers/query-provider.d.ts.map +1 -0
- package/dist/src/presentation/web/components/providers/query-provider.js +16 -0
- package/dist/src/presentation/web/hooks/use-attachments.d.ts +26 -0
- package/dist/src/presentation/web/hooks/use-attachments.d.ts.map +1 -0
- package/dist/src/presentation/web/hooks/use-attachments.js +227 -0
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +3 -1
- package/web/.next/BUILD_ID +1 -1
- package/web/.next/app-path-routes-manifest.json +11 -0
- package/web/.next/build-manifest.json +5 -5
- 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 +69 -0
- package/web/.next/server/app/(dashboard)/@drawer/adopt/page/build-manifest.json +3 -3
- package/web/.next/server/app/(dashboard)/@drawer/adopt/page/server-reference-manifest.json +82 -82
- package/web/.next/server/app/(dashboard)/@drawer/adopt/page.js +2 -2
- 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/app-paths-manifest.json +3 -0
- package/web/.next/server/app/(dashboard)/@drawer/chat/page/build-manifest.json +18 -0
- package/web/.next/server/app/(dashboard)/@drawer/chat/page/next-font-manifest.json +6 -0
- package/web/.next/server/app/(dashboard)/@drawer/chat/page/react-loadable-manifest.json +8 -0
- package/web/.next/server/app/(dashboard)/@drawer/chat/page/server-reference-manifest.json +395 -0
- package/web/.next/server/app/(dashboard)/@drawer/chat/page.js +22 -0
- package/web/.next/server/app/(dashboard)/@drawer/chat/page.js.map +5 -0
- package/web/.next/server/app/(dashboard)/@drawer/chat/page.js.nft.json +1 -0
- package/web/.next/server/app/(dashboard)/@drawer/chat/page_client-reference-manifest.js +2 -0
- package/web/.next/server/app/(dashboard)/@drawer/create/page/build-manifest.json +3 -3
- package/web/.next/server/app/(dashboard)/@drawer/create/page/server-reference-manifest.json +84 -84
- package/web/.next/server/app/(dashboard)/@drawer/create/page.js +2 -2
- 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/build-manifest.json +3 -3
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page/server-reference-manifest.json +98 -98
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page.js +2 -2
- 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/build-manifest.json +3 -3
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page/server-reference-manifest.json +98 -98
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js +2 -2
- 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/app-paths-manifest.json +3 -0
- package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page/build-manifest.json +18 -0
- package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page/next-font-manifest.json +6 -0
- package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page/react-loadable-manifest.json +8 -0
- package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page/server-reference-manifest.json +395 -0
- package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page.js +22 -0
- package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page.js.map +5 -0
- package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page.js.nft.json +1 -0
- package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page_client-reference-manifest.js +2 -0
- package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page/build-manifest.json +3 -3
- package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page/server-reference-manifest.json +78 -78
- package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js +2 -2
- 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/app-paths-manifest.json +3 -0
- package/web/.next/server/app/(dashboard)/chat/page/build-manifest.json +18 -0
- package/web/.next/server/app/(dashboard)/chat/page/next-font-manifest.json +6 -0
- package/web/.next/server/app/(dashboard)/chat/page/react-loadable-manifest.json +8 -0
- package/web/.next/server/app/(dashboard)/chat/page/server-reference-manifest.json +395 -0
- package/web/.next/server/app/(dashboard)/chat/page.js +22 -0
- package/web/.next/server/app/(dashboard)/chat/page.js.map +5 -0
- package/web/.next/server/app/(dashboard)/chat/page.js.nft.json +1 -0
- package/web/.next/server/app/(dashboard)/chat/page_client-reference-manifest.js +2 -0
- package/web/.next/server/app/(dashboard)/create/page/build-manifest.json +3 -3
- package/web/.next/server/app/(dashboard)/create/page/server-reference-manifest.json +84 -84
- package/web/.next/server/app/(dashboard)/create/page.js +2 -2
- 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/build-manifest.json +3 -3
- package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page/server-reference-manifest.json +98 -98
- package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page.js +2 -2
- 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/build-manifest.json +3 -3
- package/web/.next/server/app/(dashboard)/feature/[featureId]/page/server-reference-manifest.json +98 -98
- package/web/.next/server/app/(dashboard)/feature/[featureId]/page.js +2 -2
- 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/build-manifest.json +3 -3
- package/web/.next/server/app/(dashboard)/page/server-reference-manifest.json +78 -78
- package/web/.next/server/app/(dashboard)/page.js +2 -2
- 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/app-paths-manifest.json +3 -0
- package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page/build-manifest.json +18 -0
- package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page/next-font-manifest.json +6 -0
- package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page/react-loadable-manifest.json +8 -0
- package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page/server-reference-manifest.json +395 -0
- package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page.js +22 -0
- package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page.js.map +5 -0
- package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page.js.nft.json +1 -0
- package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page_client-reference-manifest.js +2 -0
- package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page/build-manifest.json +3 -3
- package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page/server-reference-manifest.json +78 -78
- package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js +2 -2
- 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/build-manifest.json +3 -3
- 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/build-manifest.json +3 -3
- package/web/.next/server/app/_not-found/page/server-reference-manifest.json +36 -6
- package/web/.next/server/app/_not-found/page.js +2 -2
- 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 +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 +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/app-paths-manifest.json +3 -0
- package/web/.next/server/app/api/interactive/chat/[featureId]/messages/route/build-manifest.json +11 -0
- package/web/.next/server/app/api/interactive/chat/[featureId]/messages/route/server-reference-manifest.json +4 -0
- package/web/.next/server/app/api/interactive/chat/[featureId]/messages/route.js +7 -0
- package/web/.next/server/app/api/interactive/chat/[featureId]/messages/route.js.map +5 -0
- package/web/.next/server/app/api/interactive/chat/[featureId]/messages/route.js.nft.json +1 -0
- package/web/.next/server/app/api/interactive/chat/[featureId]/messages/route_client-reference-manifest.js +2 -0
- package/web/.next/server/app/api/interactive/chat/[featureId]/stop/route/app-paths-manifest.json +3 -0
- package/web/.next/server/app/api/interactive/chat/[featureId]/stop/route/build-manifest.json +11 -0
- package/web/.next/server/app/api/interactive/chat/[featureId]/stop/route/server-reference-manifest.json +4 -0
- package/web/.next/server/app/api/interactive/chat/[featureId]/stop/route.js +7 -0
- package/web/.next/server/app/api/interactive/chat/[featureId]/stop/route.js.map +5 -0
- package/web/.next/server/app/api/interactive/chat/[featureId]/stop/route.js.nft.json +1 -0
- package/web/.next/server/app/api/interactive/chat/[featureId]/stop/route_client-reference-manifest.js +2 -0
- package/web/.next/server/app/api/interactive/chat/[featureId]/stream/route/app-paths-manifest.json +3 -0
- package/web/.next/server/app/api/interactive/chat/[featureId]/stream/route/build-manifest.json +11 -0
- package/web/.next/server/app/api/interactive/chat/[featureId]/stream/route/server-reference-manifest.json +4 -0
- package/web/.next/server/app/api/interactive/chat/[featureId]/stream/route.js +6 -0
- package/web/.next/server/app/api/interactive/chat/[featureId]/stream/route.js.map +5 -0
- package/web/.next/server/app/api/interactive/chat/[featureId]/stream/route.js.nft.json +1 -0
- package/web/.next/server/app/api/interactive/chat/[featureId]/stream/route_client-reference-manifest.js +2 -0
- package/web/.next/server/app/api/interactive/sessions/[id]/messages/route/app-paths-manifest.json +3 -0
- package/web/.next/server/app/api/interactive/sessions/[id]/messages/route/build-manifest.json +11 -0
- package/web/.next/server/app/api/interactive/sessions/[id]/messages/route/server-reference-manifest.json +4 -0
- package/web/.next/server/app/api/interactive/sessions/[id]/messages/route.js +7 -0
- package/web/.next/server/app/api/interactive/sessions/[id]/messages/route.js.map +5 -0
- package/web/.next/server/app/api/interactive/sessions/[id]/messages/route.js.nft.json +1 -0
- package/web/.next/server/app/api/interactive/sessions/[id]/messages/route_client-reference-manifest.js +2 -0
- package/web/.next/server/app/api/interactive/sessions/[id]/route/app-paths-manifest.json +3 -0
- package/web/.next/server/app/api/interactive/sessions/[id]/route/build-manifest.json +11 -0
- package/web/.next/server/app/api/interactive/sessions/[id]/route/server-reference-manifest.json +4 -0
- package/web/.next/server/app/api/interactive/sessions/[id]/route.js +7 -0
- package/web/.next/server/app/api/interactive/sessions/[id]/route.js.map +5 -0
- package/web/.next/server/app/api/interactive/sessions/[id]/route.js.nft.json +1 -0
- package/web/.next/server/app/api/interactive/sessions/[id]/route_client-reference-manifest.js +2 -0
- package/web/.next/server/app/api/interactive/sessions/[id]/stream/route/app-paths-manifest.json +3 -0
- package/web/.next/server/app/api/interactive/sessions/[id]/stream/route/build-manifest.json +11 -0
- package/web/.next/server/app/api/interactive/sessions/[id]/stream/route/server-reference-manifest.json +4 -0
- package/web/.next/server/app/api/interactive/sessions/[id]/stream/route.js +6 -0
- package/web/.next/server/app/api/interactive/sessions/[id]/stream/route.js.map +5 -0
- package/web/.next/server/app/api/interactive/sessions/[id]/stream/route.js.nft.json +1 -0
- package/web/.next/server/app/api/interactive/sessions/[id]/stream/route_client-reference-manifest.js +2 -0
- package/web/.next/server/app/api/interactive/sessions/route/app-paths-manifest.json +3 -0
- package/web/.next/server/app/api/interactive/sessions/route/build-manifest.json +11 -0
- package/web/.next/server/app/api/interactive/sessions/route/server-reference-manifest.json +4 -0
- package/web/.next/server/app/api/interactive/sessions/route.js +7 -0
- package/web/.next/server/app/api/interactive/sessions/route.js.map +5 -0
- package/web/.next/server/app/api/interactive/sessions/route.js.nft.json +1 -0
- package/web/.next/server/app/api/interactive/sessions/route_client-reference-manifest.js +2 -0
- package/web/.next/server/app/api/sessions/route.js.nft.json +1 -1
- package/web/.next/server/app/api/sessions-batch/route.js.nft.json +1 -1
- package/web/.next/server/app/api/tools/route.js +2 -2
- package/web/.next/server/app/settings/page/build-manifest.json +3 -3
- package/web/.next/server/app/settings/page/server-reference-manifest.json +42 -42
- package/web/.next/server/app/settings/page.js +3 -3
- 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/build-manifest.json +3 -3
- package/web/.next/server/app/skills/page/server-reference-manifest.json +46 -16
- package/web/.next/server/app/skills/page.js +3 -3
- 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/build-manifest.json +3 -3
- package/web/.next/server/app/tools/page/server-reference-manifest.json +46 -16
- package/web/.next/server/app/tools/page.js +3 -3
- 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/build-manifest.json +3 -3
- package/web/.next/server/app/version/page/server-reference-manifest.json +36 -6
- package/web/.next/server/app/version/page.js +2 -2
- 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/app-paths-manifest.json +11 -0
- package/web/.next/server/chunks/403f9_next_dist_esm_build_templates_app-route_4d623b8e.js +8 -2
- package/web/.next/server/chunks/403f9_next_dist_esm_build_templates_app-route_4d623b8e.js.map +1 -1
- package/web/.next/server/chunks/744ca_web__next-internal_server_app_api_interactive_sessions_route_actions_f2e7447f.js +3 -0
- package/web/.next/server/chunks/744ca_web__next-internal_server_app_api_interactive_sessions_route_actions_f2e7447f.js.map +1 -0
- package/web/.next/server/chunks/8ba4b_server_app_api_interactive_chat_[featureId]_messages_route_actions_f98e5802.js +3 -0
- package/web/.next/server/chunks/8ba4b_server_app_api_interactive_chat_[featureId]_messages_route_actions_f98e5802.js.map +1 -0
- package/web/.next/server/chunks/8ba4b_server_app_api_interactive_chat_[featureId]_stop_route_actions_36518d35.js +3 -0
- package/web/.next/server/chunks/8ba4b_server_app_api_interactive_chat_[featureId]_stop_route_actions_36518d35.js.map +1 -0
- package/web/.next/server/chunks/8ba4b_server_app_api_interactive_chat_[featureId]_stream_route_actions_e6210931.js +3 -0
- package/web/.next/server/chunks/8ba4b_server_app_api_interactive_chat_[featureId]_stream_route_actions_e6210931.js.map +1 -0
- package/web/.next/server/chunks/8ba4b_server_app_api_interactive_sessions_[id]_messages_route_actions_be179971.js +3 -0
- package/web/.next/server/chunks/8ba4b_server_app_api_interactive_sessions_[id]_messages_route_actions_be179971.js.map +1 -0
- package/web/.next/server/chunks/8ba4b_server_app_api_interactive_sessions_[id]_stream_route_actions_58ab2b5b.js +3 -0
- package/web/.next/server/chunks/8ba4b_server_app_api_interactive_sessions_[id]_stream_route_actions_58ab2b5b.js.map +1 -0
- package/web/.next/server/chunks/[root-of-the-server]__10852c5c._.js +3 -0
- package/web/.next/server/chunks/[root-of-the-server]__10852c5c._.js.map +1 -0
- package/web/.next/server/chunks/[root-of-the-server]__2b71641f._.js +3 -0
- package/web/.next/server/chunks/[root-of-the-server]__2b71641f._.js.map +1 -0
- package/web/.next/server/chunks/[root-of-the-server]__2bb675ff._.js +3 -0
- package/web/.next/server/chunks/[root-of-the-server]__2bb675ff._.js.map +1 -0
- package/web/.next/server/chunks/[root-of-the-server]__4408a5ba._.js +12 -0
- package/web/.next/server/chunks/[root-of-the-server]__4408a5ba._.js.map +1 -0
- package/web/.next/server/chunks/[root-of-the-server]__6565a045._.js +3 -0
- package/web/.next/server/chunks/[root-of-the-server]__6565a045._.js.map +1 -0
- package/web/.next/server/chunks/[root-of-the-server]__8a281f8d._.js +18 -0
- package/web/.next/server/chunks/[root-of-the-server]__8a281f8d._.js.map +1 -0
- package/web/.next/server/chunks/[root-of-the-server]__8f8d6afe._.js +3 -0
- package/web/.next/server/chunks/[root-of-the-server]__8f8d6afe._.js.map +1 -0
- package/web/.next/server/chunks/[root-of-the-server]__9191749c._.js +1 -1
- package/web/.next/server/chunks/[root-of-the-server]__9191749c._.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]__26565141._.js → [root-of-the-server]__acea6565._.js} +2 -2
- package/web/.next/server/chunks/{[root-of-the-server]__26565141._.js.map → [root-of-the-server]__acea6565._.js.map} +1 -1
- package/web/.next/server/chunks/[root-of-the-server]__beda892a._.js +3 -0
- package/web/.next/server/chunks/[root-of-the-server]__beda892a._.js.map +1 -0
- package/web/.next/server/chunks/[root-of-the-server]__cd67a84c._.js +1 -1
- package/web/.next/server/chunks/[root-of-the-server]__cd67a84c._.js.map +1 -1
- package/web/.next/server/chunks/{[root-of-the-server]__25f23d5d._.js → [root-of-the-server]__e3692208._.js} +2 -2
- package/web/.next/server/chunks/{[root-of-the-server]__25f23d5d._.js.map → [root-of-the-server]__e3692208._.js.map} +1 -1
- package/web/.next/server/chunks/f3a1f__next-internal_server_app_api_interactive_sessions_[id]_route_actions_a4ea4d16.js +3 -0
- package/web/.next/server/chunks/f3a1f__next-internal_server_app_api_interactive_sessions_[id]_route_actions_a4ea4d16.js.map +1 -0
- package/web/.next/server/chunks/ssr/403f9_next_dist_c9d9b4d7._.js +1 -1
- package/web/.next/server/chunks/ssr/403f9_next_dist_esm_build_templates_app-page_2c44200f.js +4 -0
- package/web/.next/server/chunks/ssr/403f9_next_dist_esm_build_templates_app-page_2c44200f.js.map +1 -0
- package/web/.next/server/chunks/ssr/403f9_next_dist_esm_build_templates_app-page_56f4f121.js +4 -0
- package/web/.next/server/chunks/ssr/403f9_next_dist_esm_build_templates_app-page_56f4f121.js.map +1 -0
- package/web/.next/server/chunks/ssr/403f9_next_dist_esm_build_templates_app-page_77436e06.js +4 -0
- package/web/.next/server/chunks/ssr/403f9_next_dist_esm_build_templates_app-page_77436e06.js.map +1 -0
- package/web/.next/server/chunks/ssr/403f9_next_dist_esm_build_templates_app-page_b9bb0443.js +4 -0
- package/web/.next/server/chunks/ssr/403f9_next_dist_esm_build_templates_app-page_b9bb0443.js.map +1 -0
- package/web/.next/server/chunks/ssr/744ca_web_app_(dashboard)_repository_[repositoryId]_[tab]_page_tsx_2e9a3025._.js +3 -0
- package/web/.next/server/chunks/ssr/744ca_web_app_(dashboard)_repository_[repositoryId]_[tab]_page_tsx_2e9a3025._.js.map +1 -0
- 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 +7 -0
- package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_feature-drawer-client_tsx_e9755fc8._.js.map +1 -0
- package/web/.next/server/chunks/ssr/7f428_lucide-react_dist_esm_icons_4b319ae6._.js +3 -0
- package/web/.next/server/chunks/ssr/7f428_lucide-react_dist_esm_icons_4b319ae6._.js.map +1 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__0b150ddf._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__0b150ddf._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__17ed7ed1._.js +4 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__17ed7ed1._.js.map +1 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__28d0d265._.js +4 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__28d0d265._.js.map +1 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__31f1c3b0._.js +7 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__31f1c3b0._.js.map +1 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__357d99f9._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__42bf1807._.js +4 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__42bf1807._.js.map +1 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__56b70465._.js +4 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__56b70465._.js.map +1 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__684a868c._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__684a868c._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__7528eb6f._.js +3 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__7528eb6f._.js.map +1 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__88f7e8e6._.js +4 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__88f7e8e6._.js.map +1 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__8b0aac03._.js +4 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__8b0aac03._.js.map +1 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__b14946f5._.js +2 -2
- package/web/.next/server/chunks/ssr/[root-of-the-server]__b8d4bd27._.js +3 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__b8d4bd27._.js.map +1 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__c16bf5de._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__c16bf5de._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__c30f1f82._.js +4 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__c30f1f82._.js.map +1 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__ede6df1f._.js +3 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__ede6df1f._.js.map +1 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__f80bfc75._.js +4 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__f80bfc75._.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/_16eb4fec._.js +1 -1
- package/web/.next/server/chunks/ssr/_16eb4fec._.js.map +1 -1
- package/web/.next/server/chunks/ssr/{_c2ca0f1b._.js → _320a4303._.js} +3 -3
- package/web/.next/server/chunks/ssr/_320a4303._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_3a0b989f._.js +6 -0
- package/web/.next/server/chunks/ssr/_3a0b989f._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_48e5757d._.js +9 -0
- package/web/.next/server/chunks/ssr/_48e5757d._.js.map +1 -0
- package/web/.next/server/chunks/ssr/{_6c7faa01._.js → _507a8382._.js} +2 -2
- package/web/.next/server/chunks/ssr/_507a8382._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_56b9d60f._.js +3 -0
- package/web/.next/server/chunks/ssr/_56b9d60f._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_5f69c13f._.js +4 -0
- package/web/.next/server/chunks/ssr/_5f69c13f._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_78ff6f1d._.js +3 -0
- package/web/.next/server/chunks/ssr/_78ff6f1d._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_7c5b97c6._.js +4 -0
- package/web/.next/server/chunks/ssr/_7c5b97c6._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_8219712a._.js +3 -0
- package/web/.next/server/chunks/ssr/_8219712a._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_82c57f10._.js +4 -0
- package/web/.next/server/chunks/ssr/_82c57f10._.js.map +1 -0
- package/web/.next/server/chunks/ssr/{_0020fddd._.js → _8b57edb8._.js} +2 -2
- package/web/.next/server/chunks/ssr/_8b57edb8._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_8d733ce4._.js +3 -0
- package/web/.next/server/chunks/ssr/_8d733ce4._.js.map +1 -0
- package/web/.next/server/chunks/ssr/{_6256a985._.js → _9495d50b._.js} +3 -3
- package/web/.next/server/chunks/ssr/{_6256a985._.js.map → _9495d50b._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/_a0e3f7e4._.js +4 -0
- package/web/.next/server/chunks/ssr/_a0e3f7e4._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_ac4a3873._.js +3 -0
- package/web/.next/server/chunks/ssr/_ac4a3873._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_acc33591._.js +3 -0
- package/web/.next/server/chunks/ssr/_acc33591._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_ca0aa7f0._.js +4 -0
- package/web/.next/server/chunks/ssr/_ca0aa7f0._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_cb5a021e._.js +4 -0
- package/web/.next/server/chunks/ssr/_cb5a021e._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_cfbd1d7e._.js +1 -1
- package/web/.next/server/chunks/ssr/_cfbd1d7e._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_d4b20e29._.js +1 -1
- package/web/.next/server/chunks/ssr/_d4b20e29._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_d86175ae._.js +4 -0
- package/web/.next/server/chunks/ssr/_d86175ae._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_d8bedf13._.js +4 -0
- package/web/.next/server/chunks/ssr/_d8bedf13._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_fa7efce3._.js +6 -0
- package/web/.next/server/chunks/ssr/_fa7efce3._.js.map +1 -0
- package/web/.next/server/chunks/ssr/{_4093a637._.js → _ffa39df5._.js} +2 -2
- package/web/.next/server/chunks/ssr/_ffa39df5._.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_global-chat-drawer-client_tsx_158c4b12._.js +3 -0
- package/web/.next/server/chunks/ssr/f3a1f_components_common_control-center-drawer_global-chat-drawer-client_tsx_158c4b12._.js.map +1 -0
- package/web/.next/server/chunks/ssr/node_modules__pnpm_8ec2c790._.js +3 -0
- package/web/.next/server/chunks/ssr/node_modules__pnpm_8ec2c790._.js.map +1 -0
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_skills_page_actions_cdc632e3.js +3 -0
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_skills_page_actions_cdc632e3.js.map +1 -0
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_tools_page_actions_39ca0924.js +3 -0
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_tools_page_actions_39ca0924.js.map +1 -0
- package/web/.next/server/chunks/ssr/src_presentation_web_app_(dashboard)_chat_page_tsx_85327270._.js +3 -0
- package/web/.next/server/chunks/ssr/src_presentation_web_app_(dashboard)_chat_page_tsx_85327270._.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_ca99d62d._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_components_357e3eb0._.js +3 -0
- package/web/.next/server/chunks/ssr/src_presentation_web_components_357e3eb0._.js.map +1 -0
- 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/middleware-build-manifest.js +3 -3
- 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 +1346 -562
- package/web/.next/static/chunks/011f98455d1a2f64.js +7 -0
- package/web/.next/static/chunks/036f4b19acb4fcf9.js +3 -0
- package/web/.next/static/chunks/0c38793438b8c038.js +1 -0
- package/web/.next/static/chunks/101c183087b9984f.js +1 -0
- package/web/.next/static/chunks/11091b676d1b3bd4.js +1 -0
- package/web/.next/static/chunks/16f6471485cbfed1.css +1 -0
- package/web/.next/static/chunks/22c459f1877b1e4f.js +1 -0
- package/web/.next/static/chunks/2354d39c63978576.js +1 -0
- package/web/.next/static/chunks/40b6bcf1a2de4a0f.js +1 -0
- package/web/.next/static/chunks/460a633a069f7114.js +1 -0
- package/web/.next/static/chunks/4b2c4a5c35ebb70d.js +1 -0
- package/web/.next/static/chunks/5ae60a052ab5f437.js +5 -0
- package/web/.next/static/chunks/686164c73f381a39.js +5 -0
- package/web/.next/static/chunks/77e04d00f3460226.js +1 -0
- package/web/.next/static/chunks/7b93fa5e0054de38.js +1 -0
- package/web/.next/static/chunks/932d27878bf6ad1d.js +1 -0
- package/web/.next/static/chunks/95f3089ebd3a0ad8.js +1 -0
- package/web/.next/static/chunks/a9a2a4964b06aedd.js +1 -0
- package/web/.next/static/chunks/{091de81012e2bc48.js → ade96a2ab608bded.js} +2 -2
- package/web/.next/static/chunks/b868f9defe50a18f.js +1 -0
- package/web/.next/static/chunks/cd54b758f58061d0.js +1 -0
- package/web/.next/static/chunks/{cfe4dc9904fcfddb.js → d0e04c4bd51d2553.js} +1 -1
- package/web/.next/static/chunks/feed0046c419c228.js +5 -0
- package/web/.next/static/chunks/{turbopack-c2d183e05f30c7dc.js → turbopack-432ef324fc27240c.js} +1 -1
- package/web/package.json +7 -2
- package/apis/json-schema/AgentRunDetail.yaml +0 -28
- package/apis/json-schema/DoctorDiagnosticReport.yaml +0 -76
- package/apis/json-schema/FailedRunSummary.yaml +0 -22
- package/apis/json-schema/SystemInfo.yaml +0 -22
- package/apis/json-schema/WorkerLogEntry.yaml +0 -27
- package/dist/packages/core/src/application/ports/output/services/github-issue-service.interface.d.ts +0 -57
- package/dist/packages/core/src/application/ports/output/services/github-issue-service.interface.d.ts.map +0 -1
- package/dist/packages/core/src/application/ports/output/services/github-issue-service.interface.js +0 -39
- package/dist/packages/core/src/application/use-cases/doctor/doctor-diagnose.use-case.d.ts +0 -64
- package/dist/packages/core/src/application/use-cases/doctor/doctor-diagnose.use-case.d.ts.map +0 -1
- package/dist/packages/core/src/application/use-cases/doctor/doctor-diagnose.use-case.js +0 -493
- package/dist/packages/core/src/infrastructure/services/external/github-issue-creator.service.d.ts +0 -17
- package/dist/packages/core/src/infrastructure/services/external/github-issue-creator.service.d.ts.map +0 -1
- package/dist/packages/core/src/infrastructure/services/external/github-issue-creator.service.js +0 -69
- package/dist/src/presentation/cli/commands/doctor.command.d.ts +0 -20
- package/dist/src/presentation/cli/commands/doctor.command.d.ts.map +0 -1
- package/dist/src/presentation/cli/commands/doctor.command.js +0 -129
- package/web/.next/server/chunks/[root-of-the-server]__c6e32a23._.js +0 -3
- package/web/.next/server/chunks/[root-of-the-server]__c6e32a23._.js.map +0 -1
- package/web/.next/server/chunks/ssr/7f428_lucide-react_dist_esm_icons_8b618f7d._.js +0 -3
- package/web/.next/server/chunks/ssr/7f428_lucide-react_dist_esm_icons_8b618f7d._.js.map +0 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__2138fa7e._.js +0 -4
- package/web/.next/server/chunks/ssr/[root-of-the-server]__2138fa7e._.js.map +0 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__29580090._.js +0 -4
- package/web/.next/server/chunks/ssr/[root-of-the-server]__29580090._.js.map +0 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__3ef34e4c._.js +0 -4
- package/web/.next/server/chunks/ssr/[root-of-the-server]__3ef34e4c._.js.map +0 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__43f51aa6._.js +0 -4
- package/web/.next/server/chunks/ssr/[root-of-the-server]__43f51aa6._.js.map +0 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__815546bd._.js +0 -4
- package/web/.next/server/chunks/ssr/[root-of-the-server]__815546bd._.js.map +0 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__aad040c0._.js +0 -7
- package/web/.next/server/chunks/ssr/[root-of-the-server]__aad040c0._.js.map +0 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__c094882b._.js +0 -4
- package/web/.next/server/chunks/ssr/[root-of-the-server]__c094882b._.js.map +0 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__d48c5b11._.js +0 -3
- package/web/.next/server/chunks/ssr/[root-of-the-server]__d48c5b11._.js.map +0 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__dac5dbf1._.js +0 -4
- package/web/.next/server/chunks/ssr/[root-of-the-server]__dac5dbf1._.js.map +0 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__df7c1cd3._.js +0 -3
- package/web/.next/server/chunks/ssr/[root-of-the-server]__df7c1cd3._.js.map +0 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__fae8b355._.js +0 -4
- package/web/.next/server/chunks/ssr/[root-of-the-server]__fae8b355._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_0020fddd._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_01046927._.js +0 -9
- package/web/.next/server/chunks/ssr/_01046927._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_0c473fef._.js +0 -6
- package/web/.next/server/chunks/ssr/_0c473fef._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_1b719e7f._.js +0 -4
- package/web/.next/server/chunks/ssr/_1b719e7f._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_37e8548b._.js +0 -4
- package/web/.next/server/chunks/ssr/_37e8548b._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_4093a637._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_55d763e2._.js +0 -4
- package/web/.next/server/chunks/ssr/_55d763e2._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_6c7faa01._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_8fcc39d4._.js +0 -3
- package/web/.next/server/chunks/ssr/_8fcc39d4._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_b71645b4._.js +0 -4
- package/web/.next/server/chunks/ssr/_b71645b4._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_c2ca0f1b._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_d8575088._.js +0 -3
- package/web/.next/server/chunks/ssr/_d8575088._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_dc9a9d32._.js +0 -3
- package/web/.next/server/chunks/ssr/_dc9a9d32._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_e9e9ed20._.js +0 -6
- package/web/.next/server/chunks/ssr/_e9e9ed20._.js.map +0 -1
- package/web/.next/server/chunks/ssr/node_modules__pnpm_55c7a131._.js +0 -3
- package/web/.next/server/chunks/ssr/node_modules__pnpm_55c7a131._.js.map +0 -1
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_skills_page_actions_1b176e3c.js +0 -3
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_skills_page_actions_1b176e3c.js.map +0 -1
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_tools_page_actions_bd9f0dda.js +0 -3
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_tools_page_actions_bd9f0dda.js.map +0 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_aa941041._.js +0 -3
- package/web/.next/server/chunks/ssr/src_presentation_web_aa941041._.js.map +0 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_components_e599bb8c._.js +0 -3
- package/web/.next/server/chunks/ssr/src_presentation_web_components_e599bb8c._.js.map +0 -1
- package/web/.next/static/chunks/08baac5434d9528e.js +0 -13
- package/web/.next/static/chunks/25889ca8401d1bc0.js +0 -1
- package/web/.next/static/chunks/359b2815c5ed39cc.js +0 -1
- package/web/.next/static/chunks/49057cf8cd37e262.js +0 -1
- package/web/.next/static/chunks/4a28fd1bca225386.js +0 -1
- package/web/.next/static/chunks/4cec255f2754e5ec.js +0 -1
- package/web/.next/static/chunks/5e1877d1f1bcfd77.js +0 -1
- package/web/.next/static/chunks/601d93593f5f664f.js +0 -1
- package/web/.next/static/chunks/76a3f345f8cf2608.js +0 -1
- package/web/.next/static/chunks/79eae02d0342fb73.js +0 -1
- package/web/.next/static/chunks/80915095cec414bf.js +0 -1
- package/web/.next/static/chunks/87b72b8a10f8255b.js +0 -5
- package/web/.next/static/chunks/9b8678597fa1db84.css +0 -1
- package/web/.next/static/chunks/b70dd4985a814b27.js +0 -1
- package/web/.next/static/chunks/c2388f8bc58b2a21.js +0 -1
- package/web/.next/static/chunks/e760b952ba1a10d4.js +0 -1
- package/web/.next/static/chunks/ed9408f100149c34.js +0 -1
- package/web/.next/static/chunks/f66c996402a430f5.js +0 -1
- /package/web/.next/static/{-o7QIcv1p5C722dwF4EFd → 2rfPfTfJJx4Mf-4AeVzgA}/_buildManifest.js +0 -0
- /package/web/.next/static/{-o7QIcv1p5C722dwF4EFd → 2rfPfTfJJx4Mf-4AeVzgA}/_clientMiddlewareManifest.json +0 -0
- /package/web/.next/static/{-o7QIcv1p5C722dwF4EFd → 2rfPfTfJJx4Mf-4AeVzgA}/_ssgManifest.js +0 -0
|
@@ -0,0 +1,280 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Claude Code Interactive Executor Service
|
|
3
|
+
*
|
|
4
|
+
* Infrastructure implementation of IInteractiveAgentExecutor using the
|
|
5
|
+
* @anthropic-ai/claude-agent-sdk V2 session API. This is the ONLY file
|
|
6
|
+
* that imports from the SDK.
|
|
7
|
+
*
|
|
8
|
+
* Design decisions:
|
|
9
|
+
* - The CLAUDECODE env var is stripped to prevent nested-session detection
|
|
10
|
+
* errors when shep itself is running inside a Claude Code session.
|
|
11
|
+
* - SDK message types are mapped to our own InteractiveAgentEvent to
|
|
12
|
+
* keep the application layer decoupled from SDK specifics.
|
|
13
|
+
*/
|
|
14
|
+
import { unstable_v2_createSession, unstable_v2_resumeSession, } from '@anthropic-ai/claude-agent-sdk';
|
|
15
|
+
/** Default model used when options.model is not specified. */
|
|
16
|
+
const DEFAULT_MODEL = 'claude-sonnet-4-6';
|
|
17
|
+
export class ClaudeCodeInteractiveExecutor {
|
|
18
|
+
async createSession(options) {
|
|
19
|
+
const sdkSession = this.withCwd(options.cwd, () => unstable_v2_createSession(this.buildSdkOptions(options)));
|
|
20
|
+
return this.wrapSession(sdkSession);
|
|
21
|
+
}
|
|
22
|
+
async resumeSession(sessionId, options) {
|
|
23
|
+
const sdkSession = this.withCwd(options.cwd, () => unstable_v2_resumeSession(sessionId, this.buildSdkOptions(options)));
|
|
24
|
+
return this.wrapSession(sdkSession);
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* SDKSessionOptions (V2) does not support a `cwd` parameter.
|
|
28
|
+
* Temporarily change process.cwd() for session creation, then restore.
|
|
29
|
+
* This is safe because Node.js is single-threaded and SDK session creation
|
|
30
|
+
* is synchronous (returns immediately, spawns process in background).
|
|
31
|
+
*/
|
|
32
|
+
withCwd(cwd, fn) {
|
|
33
|
+
const originalCwd = process.cwd();
|
|
34
|
+
try {
|
|
35
|
+
process.chdir(cwd);
|
|
36
|
+
return fn();
|
|
37
|
+
}
|
|
38
|
+
finally {
|
|
39
|
+
process.chdir(originalCwd);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
buildSdkOptions(options) {
|
|
43
|
+
// Strip CLAUDECODE env var to prevent nested-session detection errors.
|
|
44
|
+
const { CLAUDECODE: _, ...cleanEnv } = process.env;
|
|
45
|
+
return {
|
|
46
|
+
model: options.model ?? DEFAULT_MODEL,
|
|
47
|
+
permissionMode: 'bypassPermissions',
|
|
48
|
+
env: cleanEnv,
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
wrapSession(sdkSession) {
|
|
52
|
+
return {
|
|
53
|
+
get sessionId() {
|
|
54
|
+
// SDK session ID is not available until after the first message exchange.
|
|
55
|
+
// Return empty string before that — callers should read it after streaming.
|
|
56
|
+
try {
|
|
57
|
+
return sdkSession.sessionId;
|
|
58
|
+
}
|
|
59
|
+
catch {
|
|
60
|
+
return '';
|
|
61
|
+
}
|
|
62
|
+
},
|
|
63
|
+
send: (message) => sdkSession.send(message),
|
|
64
|
+
stream: () => this.mapStream(sdkSession),
|
|
65
|
+
close: async () => sdkSession.close(),
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
async *mapStream(sdkSession) {
|
|
69
|
+
for await (const msg of sdkSession.stream()) {
|
|
70
|
+
const events = this.mapSdkMessage(msg);
|
|
71
|
+
for (const event of events) {
|
|
72
|
+
yield event;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Map a single SDK message to zero or more InteractiveAgentEvents.
|
|
78
|
+
*
|
|
79
|
+
* SDK message types we handle:
|
|
80
|
+
* - stream_event (SDKPartialAssistantMessage): streaming content deltas
|
|
81
|
+
* - assistant (SDKAssistantMessage): complete assistant turn with tool_use blocks
|
|
82
|
+
* - result (SDKResultMessage): success or error result
|
|
83
|
+
* - system (SDKStatusMessage / SDKSystemMessage): status updates
|
|
84
|
+
* - tool_use_summary: tool execution summaries
|
|
85
|
+
* - tool_progress: tool execution progress
|
|
86
|
+
*
|
|
87
|
+
* Other message types are silently ignored (user replays, auth, etc.)
|
|
88
|
+
*/
|
|
89
|
+
mapSdkMessage(msg) {
|
|
90
|
+
const events = [];
|
|
91
|
+
switch (msg.type) {
|
|
92
|
+
case 'stream_event': {
|
|
93
|
+
// SDKPartialAssistantMessage — streaming content delta
|
|
94
|
+
const evt = msg.event;
|
|
95
|
+
if (evt.type === 'content_block_delta' &&
|
|
96
|
+
'delta' in evt &&
|
|
97
|
+
evt.delta.type === 'text_delta' &&
|
|
98
|
+
'text' in evt.delta) {
|
|
99
|
+
events.push({
|
|
100
|
+
type: 'delta',
|
|
101
|
+
content: evt.delta.text,
|
|
102
|
+
});
|
|
103
|
+
}
|
|
104
|
+
break;
|
|
105
|
+
}
|
|
106
|
+
case 'assistant': {
|
|
107
|
+
// SDKAssistantMessage — complete assistant turn with text + tool_use blocks.
|
|
108
|
+
// Text blocks contain the agent's reasoning between tool calls (e.g.,
|
|
109
|
+
// "Let me read that file..." or "I see, now I'll..."). These MUST be
|
|
110
|
+
// emitted as deltas — stream_event deltas may not be available in V2.
|
|
111
|
+
if ('message' in msg && msg.message?.content) {
|
|
112
|
+
for (const block of msg.message.content) {
|
|
113
|
+
if (block.type === 'text' && block.text) {
|
|
114
|
+
events.push({
|
|
115
|
+
type: 'delta',
|
|
116
|
+
content: block.text,
|
|
117
|
+
});
|
|
118
|
+
}
|
|
119
|
+
else if (block.type === 'tool_use') {
|
|
120
|
+
events.push({
|
|
121
|
+
type: 'tool_use',
|
|
122
|
+
label: block.name,
|
|
123
|
+
detail: JSON.stringify(block.input ?? {}),
|
|
124
|
+
});
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
// If the assistant message contains an error, emit it
|
|
129
|
+
if ('error' in msg && msg.error) {
|
|
130
|
+
events.push({
|
|
131
|
+
type: 'error',
|
|
132
|
+
content: String(msg.error),
|
|
133
|
+
});
|
|
134
|
+
}
|
|
135
|
+
break;
|
|
136
|
+
}
|
|
137
|
+
case 'result': {
|
|
138
|
+
// SDKResultMessage — success or error
|
|
139
|
+
if (msg.subtype === 'success') {
|
|
140
|
+
events.push({
|
|
141
|
+
type: 'done',
|
|
142
|
+
content: msg.result,
|
|
143
|
+
usage: {
|
|
144
|
+
costUsd: msg.total_cost_usd,
|
|
145
|
+
inputTokens: msg.usage?.input_tokens,
|
|
146
|
+
outputTokens: msg.usage?.output_tokens,
|
|
147
|
+
numTurns: msg.num_turns,
|
|
148
|
+
durationMs: msg.duration_ms,
|
|
149
|
+
},
|
|
150
|
+
});
|
|
151
|
+
}
|
|
152
|
+
else {
|
|
153
|
+
// SDKResultError
|
|
154
|
+
const errorMsg = 'errors' in msg && Array.isArray(msg.errors) ? msg.errors.join('; ') : msg.subtype;
|
|
155
|
+
events.push({
|
|
156
|
+
type: 'error',
|
|
157
|
+
content: errorMsg,
|
|
158
|
+
});
|
|
159
|
+
}
|
|
160
|
+
break;
|
|
161
|
+
}
|
|
162
|
+
case 'system': {
|
|
163
|
+
if (!('subtype' in msg))
|
|
164
|
+
break;
|
|
165
|
+
switch (msg.subtype) {
|
|
166
|
+
case 'init':
|
|
167
|
+
// Session initialized — model, tools, version
|
|
168
|
+
if ('model' in msg) {
|
|
169
|
+
const tools = 'tools' in msg && Array.isArray(msg.tools) ? msg.tools : [];
|
|
170
|
+
const version = 'claude_code_version' in msg ? String(msg.claude_code_version) : '';
|
|
171
|
+
events.push({
|
|
172
|
+
type: 'init',
|
|
173
|
+
label: String(msg.model),
|
|
174
|
+
detail: `${tools.length} tools`,
|
|
175
|
+
content: version ? `v${version}` : undefined,
|
|
176
|
+
});
|
|
177
|
+
}
|
|
178
|
+
break;
|
|
179
|
+
case 'status':
|
|
180
|
+
if ('status' in msg) {
|
|
181
|
+
events.push({
|
|
182
|
+
type: 'status',
|
|
183
|
+
content: String(msg.status ?? 'ready'),
|
|
184
|
+
});
|
|
185
|
+
}
|
|
186
|
+
break;
|
|
187
|
+
case 'api_retry':
|
|
188
|
+
// API retry — let user know agent is retrying
|
|
189
|
+
if ('attempt' in msg) {
|
|
190
|
+
const attempt = msg.attempt;
|
|
191
|
+
const maxRetries = 'max_retries' in msg ? msg.max_retries : '?';
|
|
192
|
+
const delayMs = 'retry_delay_ms' in msg ? msg.retry_delay_ms : 0;
|
|
193
|
+
const delaySec = Math.round(delayMs / 1000);
|
|
194
|
+
events.push({
|
|
195
|
+
type: 'api_retry',
|
|
196
|
+
content: `Retrying API call (attempt ${attempt}/${maxRetries})${delaySec > 0 ? `, waiting ${delaySec}s` : ''}`,
|
|
197
|
+
});
|
|
198
|
+
}
|
|
199
|
+
break;
|
|
200
|
+
case 'task_started':
|
|
201
|
+
if ('description' in msg && 'task_id' in msg) {
|
|
202
|
+
events.push({
|
|
203
|
+
type: 'task_started',
|
|
204
|
+
label: String(msg.task_id),
|
|
205
|
+
content: String(msg.description),
|
|
206
|
+
});
|
|
207
|
+
}
|
|
208
|
+
break;
|
|
209
|
+
case 'task_progress':
|
|
210
|
+
if ('description' in msg && 'task_id' in msg) {
|
|
211
|
+
events.push({
|
|
212
|
+
type: 'task_progress',
|
|
213
|
+
label: String(msg.task_id),
|
|
214
|
+
content: String(msg.description),
|
|
215
|
+
});
|
|
216
|
+
}
|
|
217
|
+
break;
|
|
218
|
+
case 'task_notification':
|
|
219
|
+
if ('summary' in msg && 'task_id' in msg) {
|
|
220
|
+
const status = 'status' in msg ? String(msg.status) : 'done';
|
|
221
|
+
events.push({
|
|
222
|
+
type: 'task_done',
|
|
223
|
+
label: String(msg.task_id),
|
|
224
|
+
content: String(msg.summary),
|
|
225
|
+
detail: status,
|
|
226
|
+
});
|
|
227
|
+
}
|
|
228
|
+
break;
|
|
229
|
+
}
|
|
230
|
+
break;
|
|
231
|
+
}
|
|
232
|
+
case 'rate_limit_event': {
|
|
233
|
+
if ('rate_limit_info' in msg) {
|
|
234
|
+
const info = msg.rate_limit_info;
|
|
235
|
+
const status = info.status;
|
|
236
|
+
if (status === 'rejected') {
|
|
237
|
+
const resetsAt = info.resetsAt ? new Date(info.resetsAt).toLocaleTimeString() : 'soon';
|
|
238
|
+
events.push({
|
|
239
|
+
type: 'rate_limit',
|
|
240
|
+
content: `Rate limited — resets at ${resetsAt}`,
|
|
241
|
+
});
|
|
242
|
+
}
|
|
243
|
+
else if (status === 'allowed_warning') {
|
|
244
|
+
const pct = info.utilization ? `${Math.round(info.utilization * 100)}%` : '';
|
|
245
|
+
events.push({
|
|
246
|
+
type: 'rate_limit',
|
|
247
|
+
content: `Rate limit warning${pct ? ` (${pct} used)` : ''}`,
|
|
248
|
+
});
|
|
249
|
+
}
|
|
250
|
+
}
|
|
251
|
+
break;
|
|
252
|
+
}
|
|
253
|
+
case 'tool_use_summary': {
|
|
254
|
+
if ('summary' in msg) {
|
|
255
|
+
events.push({
|
|
256
|
+
type: 'tool_result',
|
|
257
|
+
content: msg.summary,
|
|
258
|
+
});
|
|
259
|
+
}
|
|
260
|
+
break;
|
|
261
|
+
}
|
|
262
|
+
case 'tool_progress': {
|
|
263
|
+
if ('tool_name' in msg) {
|
|
264
|
+
events.push({
|
|
265
|
+
type: 'status',
|
|
266
|
+
label: msg.tool_name,
|
|
267
|
+
content: `Running ${msg.tool_name}...`,
|
|
268
|
+
});
|
|
269
|
+
}
|
|
270
|
+
break;
|
|
271
|
+
}
|
|
272
|
+
default:
|
|
273
|
+
// Ignore: user, user_replay, auth_status, compact_boundary,
|
|
274
|
+
// local_command_output, hook_*, files_persisted,
|
|
275
|
+
// elicitation_complete, prompt_suggestion
|
|
276
|
+
break;
|
|
277
|
+
}
|
|
278
|
+
return events;
|
|
279
|
+
}
|
|
280
|
+
}
|
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
*/
|
|
7
7
|
import type { AgentType, AgentConfig } from '../../../../../domain/generated/output.js';
|
|
8
8
|
import type { IAgentExecutor } from '../../../../../application/ports/output/agents/agent-executor.interface.js';
|
|
9
|
+
import type { IInteractiveAgentExecutor } from '../../../../../application/ports/output/agents/interactive-agent-executor.interface.js';
|
|
9
10
|
import type { IAgentExecutorFactory, AgentCliInfo } from '../../../../../application/ports/output/agents/agent-executor-factory.interface.js';
|
|
10
11
|
export declare class MockAgentExecutorFactory implements IAgentExecutorFactory {
|
|
11
12
|
private readonly executor;
|
|
@@ -13,5 +14,7 @@ export declare class MockAgentExecutorFactory implements IAgentExecutorFactory {
|
|
|
13
14
|
getSupportedAgents(): AgentType[];
|
|
14
15
|
getCliInfo(): AgentCliInfo[];
|
|
15
16
|
getSupportedModels(_agentType: AgentType): string[];
|
|
17
|
+
createInteractiveExecutor(_agentType: AgentType, _authConfig: AgentConfig): IInteractiveAgentExecutor;
|
|
18
|
+
supportsInteractive(_agentType: AgentType): boolean;
|
|
16
19
|
}
|
|
17
20
|
//# sourceMappingURL=mock-executor-factory.service.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mock-executor-factory.service.d.ts","sourceRoot":"","sources":["../../../../../../../../../packages/core/src/infrastructure/services/agents/common/executors/mock-executor-factory.service.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,2CAA2C,CAAC;AACxF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4EAA4E,CAAC;AACjH,OAAO,KAAK,EACV,qBAAqB,EACrB,YAAY,EACb,MAAM,oFAAoF,CAAC;AAG5F,qBAAa,wBAAyB,YAAW,qBAAqB;IACpE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAkC;IAE3D,cAAc,CAAC,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,GAAG,cAAc;IAI/E,kBAAkB,IAAI,SAAS,EAAE;IAIjC,UAAU,IAAI,YAAY,EAAE;IAI5B,kBAAkB,CAAC,UAAU,EAAE,SAAS,GAAG,MAAM,EAAE;CAGpD"}
|
|
1
|
+
{"version":3,"file":"mock-executor-factory.service.d.ts","sourceRoot":"","sources":["../../../../../../../../../packages/core/src/infrastructure/services/agents/common/executors/mock-executor-factory.service.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,2CAA2C,CAAC;AACxF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4EAA4E,CAAC;AACjH,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,wFAAwF,CAAC;AACxI,OAAO,KAAK,EACV,qBAAqB,EACrB,YAAY,EACb,MAAM,oFAAoF,CAAC;AAG5F,qBAAa,wBAAyB,YAAW,qBAAqB;IACpE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAkC;IAE3D,cAAc,CAAC,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,GAAG,cAAc;IAI/E,kBAAkB,IAAI,SAAS,EAAE;IAIjC,UAAU,IAAI,YAAY,EAAE;IAI5B,kBAAkB,CAAC,UAAU,EAAE,SAAS,GAAG,MAAM,EAAE;IAInD,yBAAyB,CACvB,UAAU,EAAE,SAAS,EACrB,WAAW,EAAE,WAAW,GACvB,yBAAyB;IAI5B,mBAAmB,CAAC,UAAU,EAAE,SAAS,GAAG,OAAO;CAGpD"}
|
|
@@ -19,4 +19,10 @@ export class MockAgentExecutorFactory {
|
|
|
19
19
|
getSupportedModels(_agentType) {
|
|
20
20
|
return [];
|
|
21
21
|
}
|
|
22
|
+
createInteractiveExecutor(_agentType, _authConfig) {
|
|
23
|
+
throw new Error('Interactive sessions are not supported in mock executor');
|
|
24
|
+
}
|
|
25
|
+
supportsInteractive(_agentType) {
|
|
26
|
+
return false;
|
|
27
|
+
}
|
|
22
28
|
}
|
package/dist/packages/core/src/infrastructure/services/agents/feature-agent/feature-agent-graph.d.ts
CHANGED
|
@@ -89,7 +89,7 @@ export declare function createFeatureAgentGraph(depsOrExecutor: FeatureAgentGrap
|
|
|
89
89
|
ciFixAttempts?: number | undefined;
|
|
90
90
|
ciFixHistory?: import("../../../../domain/index.js").CiFixRecord[] | undefined;
|
|
91
91
|
ciFixStatus?: "success" | "timeout" | "idle" | "watching" | "fixing" | "exhausted" | undefined;
|
|
92
|
-
}, "implement" | "__start__" | "analyze" | "requirements" | "research" | "
|
|
92
|
+
}, "plan" | "implement" | "__start__" | "analyze" | "requirements" | "research" | "validate_spec_analyze" | "validate_spec_requirements" | "validate_research" | "validate_plan_tasks" | "repair_spec_analyze" | "repair_spec_requirements" | "repair_research" | "repair_plan_tasks", {
|
|
93
93
|
featureId: {
|
|
94
94
|
(): import("@langchain/langgraph").LastValue<string>;
|
|
95
95
|
(annotation: import("@langchain/langgraph").SingleReducer<string, string>): import("@langchain/langgraph").BinaryOperatorAggregate<string, string>;
|
package/dist/packages/core/src/infrastructure/services/external/github-repository.service.d.ts
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* checks, repository listing, cloning (with progress streaming), and URL parsing.
|
|
6
6
|
*/
|
|
7
7
|
import type { ExecFunction } from '../git/worktree.service.js';
|
|
8
|
-
import type { IGitHubRepositoryService, GitHubRepo, ListUserRepositoriesOptions, CloneOptions, ParsedGitHubUrl
|
|
8
|
+
import type { IGitHubRepositoryService, GitHubRepo, ListUserRepositoriesOptions, CloneOptions, ParsedGitHubUrl } from '../../../application/ports/output/services/github-repository-service.interface.js';
|
|
9
9
|
export declare class GitHubRepositoryService implements IGitHubRepositoryService {
|
|
10
10
|
private readonly execFile;
|
|
11
11
|
constructor(execFile: ExecFunction);
|
|
@@ -13,8 +13,6 @@ export declare class GitHubRepositoryService implements IGitHubRepositoryService
|
|
|
13
13
|
listUserRepositories(options?: ListUserRepositoriesOptions): Promise<GitHubRepo[]>;
|
|
14
14
|
cloneRepository(nameWithOwner: string, destination: string, options?: CloneOptions): Promise<void>;
|
|
15
15
|
parseGitHubUrl(url: string): ParsedGitHubUrl;
|
|
16
|
-
checkPushAccess(repoNameWithOwner: string): Promise<boolean>;
|
|
17
|
-
forkRepository(repoNameWithOwner: string): Promise<ForkResult>;
|
|
18
16
|
getViewerPermission(repoPath: string): Promise<string>;
|
|
19
17
|
private cleanupPartialClone;
|
|
20
18
|
}
|
package/dist/packages/core/src/infrastructure/services/external/github-repository.service.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"github-repository.service.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/src/infrastructure/services/external/github-repository.service.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,KAAK,EACV,wBAAwB,EACxB,UAAU,EACV,2BAA2B,EAC3B,YAAY,EACZ,eAAe,
|
|
1
|
+
{"version":3,"file":"github-repository.service.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/src/infrastructure/services/external/github-repository.service.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,KAAK,EACV,wBAAwB,EACxB,UAAU,EACV,2BAA2B,EAC3B,YAAY,EACZ,eAAe,EAChB,MAAM,mFAAmF,CAAC;AAyB3F,qBACa,uBAAwB,YAAW,wBAAwB;IAClC,OAAO,CAAC,QAAQ,CAAC,QAAQ;gBAAR,QAAQ,EAAE,YAAY;IAErE,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAyB1B,oBAAoB,CAAC,OAAO,CAAC,EAAE,2BAA2B,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAsClF,eAAe,CACnB,aAAa,EAAE,MAAM,EACrB,WAAW,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE,YAAY,GACrB,OAAO,CAAC,IAAI,CAAC;IAgDhB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,eAAe;IA2CtC,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;YAyB9C,mBAAmB;CAOlC"}
|
package/dist/packages/core/src/infrastructure/services/external/github-repository.service.js
CHANGED
|
@@ -20,7 +20,7 @@ import { injectable, inject } from 'tsyringe';
|
|
|
20
20
|
import { resolve, normalize } from 'node:path';
|
|
21
21
|
import { rm } from 'node:fs/promises';
|
|
22
22
|
import { spawn } from 'node:child_process';
|
|
23
|
-
import { GitHubAuthError, GitHubCloneError,
|
|
23
|
+
import { GitHubAuthError, GitHubCloneError, GitHubPermissionError, GitHubRepoListError, GitHubUrlParseError, } from '../../../application/ports/output/services/github-repository-service.interface.js';
|
|
24
24
|
// ---------------------------------------------------------------------------
|
|
25
25
|
// URL regex patterns
|
|
26
26
|
// ---------------------------------------------------------------------------
|
|
@@ -154,42 +154,6 @@ let GitHubRepositoryService = class GitHubRepositoryService {
|
|
|
154
154
|
'Supported formats: https://github.com/owner/repo, ' +
|
|
155
155
|
'git@github.com:owner/repo.git, or owner/repo shorthand.');
|
|
156
156
|
}
|
|
157
|
-
async checkPushAccess(repoNameWithOwner) {
|
|
158
|
-
try {
|
|
159
|
-
const { stdout } = await this.execFile('gh', [
|
|
160
|
-
'api',
|
|
161
|
-
`repos/${repoNameWithOwner}`,
|
|
162
|
-
'--jq',
|
|
163
|
-
'.permissions.push',
|
|
164
|
-
]);
|
|
165
|
-
return stdout.trim() === 'true';
|
|
166
|
-
}
|
|
167
|
-
catch {
|
|
168
|
-
// Safe fallback: assume no push access on any error (NFR-9)
|
|
169
|
-
return false;
|
|
170
|
-
}
|
|
171
|
-
}
|
|
172
|
-
async forkRepository(repoNameWithOwner) {
|
|
173
|
-
try {
|
|
174
|
-
const { stdout } = await this.execFile('gh', [
|
|
175
|
-
'repo',
|
|
176
|
-
'fork',
|
|
177
|
-
repoNameWithOwner,
|
|
178
|
-
'--clone=false',
|
|
179
|
-
'--json',
|
|
180
|
-
'nameWithOwner,url',
|
|
181
|
-
]);
|
|
182
|
-
const parsed = JSON.parse(stdout);
|
|
183
|
-
return {
|
|
184
|
-
nameWithOwner: parsed.nameWithOwner,
|
|
185
|
-
cloneUrl: parsed.url.endsWith('.git') ? parsed.url : `${parsed.url}.git`,
|
|
186
|
-
};
|
|
187
|
-
}
|
|
188
|
-
catch (error) {
|
|
189
|
-
const cause = error instanceof Error ? error : undefined;
|
|
190
|
-
throw new GitHubForkError(`Failed to fork ${repoNameWithOwner}: ${cause?.message ?? String(error)}`, cause);
|
|
191
|
-
}
|
|
192
|
-
}
|
|
193
157
|
async getViewerPermission(repoPath) {
|
|
194
158
|
try {
|
|
195
159
|
const { stdout } = await this.execFile('gh', ['repo', 'view', '--json', 'viewerPermission'], {
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* Uses constructor dependency injection for the command executor.
|
|
6
6
|
*/
|
|
7
7
|
import type { IGitPrService } from '../../../application/ports/output/services/git-pr-service.interface.js';
|
|
8
|
-
import type { CiStatusResult, DiffSummary, FileDiff, MergeStrategy,
|
|
8
|
+
import type { CiStatusResult, DiffSummary, FileDiff, MergeStrategy, PrCreateResult, PrStatusInfo } from '../../../application/ports/output/services/git-pr-service.interface.js';
|
|
9
9
|
import type { ExecFunction } from './worktree.service.js';
|
|
10
10
|
export declare class GitPrService implements IGitPrService {
|
|
11
11
|
private readonly execFile;
|
|
@@ -18,7 +18,6 @@ export declare class GitPrService implements IGitPrService {
|
|
|
18
18
|
commitAll(cwd: string, message: string): Promise<string>;
|
|
19
19
|
push(cwd: string, branch: string, setUpstream?: boolean): Promise<void>;
|
|
20
20
|
createPr(cwd: string, prYamlPath: string): Promise<PrCreateResult>;
|
|
21
|
-
createPrFromArgs(cwd: string, args: PrCreateArgs): Promise<PrCreateResult>;
|
|
22
21
|
mergePr(cwd: string, prNumber: number, strategy?: MergeStrategy): Promise<void>;
|
|
23
22
|
private getPrHeadBranch;
|
|
24
23
|
localMergeSquash(cwd: string, featureBranch: string, baseBranch: string, commitMessage: string, hasRemote?: boolean): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"git-pr.service.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/src/infrastructure/services/git/git-pr.service.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wEAAwE,CAAC;AAC5G,OAAO,KAAK,EACV,cAAc,EAGd,WAAW,EACX,QAAQ,EACR,aAAa,EACb,
|
|
1
|
+
{"version":3,"file":"git-pr.service.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/src/infrastructure/services/git/git-pr.service.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wEAAwE,CAAC;AAC5G,OAAO,KAAK,EACV,cAAc,EAGd,WAAW,EACX,QAAQ,EACR,aAAa,EACb,cAAc,EACd,YAAY,EACb,MAAM,wEAAwE,CAAC;AAUhF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAE1D,qBACa,YAAa,YAAW,aAAa;IACZ,OAAO,CAAC,QAAQ,CAAC,QAAQ;gBAAR,QAAQ,EAAE,YAAY;IAErE,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAKxC,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAgBjD,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAgF9C,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAKnD,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAKpD,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAWxD,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAYvE,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAuClE,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,GAAE,aAAwB,GAAG,OAAO,CAAC,IAAI,CAAC;YA6BjF,eAAe;IASvB,gBAAgB,CACpB,GAAG,EAAE,MAAM,EACX,aAAa,EAAE,MAAM,EACrB,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,MAAM,EACrB,SAAS,UAAQ,GAChB,OAAO,CAAC,IAAI,CAAC;IA4EV,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAUnF,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAsBjE,OAAO,CACX,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,MAAM,EACd,SAAS,CAAC,EAAE,MAAM,EAClB,eAAe,CAAC,EAAE,MAAM,GACvB,OAAO,CAAC,cAAc,CAAC;IAiEpB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAWhF,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAevE,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IAaxE,OAAO,CAAC,gBAAgB;IAexB,OAAO,CAAC,aAAa;IAmFf,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAoCpD,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC;IAc/E,WAAW,CACf,GAAG,EAAE,MAAM,EACX,aAAa,EAAE,MAAM,EACrB,UAAU,EAAE,MAAM,EAClB,eAAe,CAAC,EAAE,MAAM,GACvB,OAAO,CAAC,OAAO,CAAC;IA6CnB;;;OAGG;YACW,UAAU;IAmBlB,cAAc,CAClB,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,EACf,WAAW,SAAS,GACnB,OAAO,CAAC,MAAM,CAAC;IAWlB,OAAO,CAAC,WAAW;IAQnB,OAAO,CAAC,cAAc;IAMtB,OAAO,CAAC,gBAAgB;IAKxB,OAAO,CAAC,aAAa;IAsBrB,OAAO,CAAC,YAAY;IAepB,OAAO,CAAC,oBAAoB;IAK5B,OAAO,CAAC,aAAa;IAoBf,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA0CxD,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAyEnF,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAelD,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAQvD,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAqB1C,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQvC,mBAAmB,CACvB,GAAG,EAAE,MAAM,EACX,aAAa,EAAE,MAAM,EACrB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;CAe9C"}
|
|
@@ -184,27 +184,6 @@ let GitPrService = class GitPrService {
|
|
|
184
184
|
throw this.parseGhError(error);
|
|
185
185
|
}
|
|
186
186
|
}
|
|
187
|
-
async createPrFromArgs(cwd, args) {
|
|
188
|
-
try {
|
|
189
|
-
const ghArgs = ['pr', 'create', '--title', args.title, '--body', args.body];
|
|
190
|
-
if (args.base) {
|
|
191
|
-
ghArgs.push('--base', args.base);
|
|
192
|
-
}
|
|
193
|
-
if (args.labels?.length) {
|
|
194
|
-
ghArgs.push('--label', args.labels.join(','));
|
|
195
|
-
}
|
|
196
|
-
if (args.repo) {
|
|
197
|
-
ghArgs.push('--repo', args.repo);
|
|
198
|
-
}
|
|
199
|
-
const { stdout } = await this.execFile('gh', ghArgs, { cwd });
|
|
200
|
-
const url = stdout.trim();
|
|
201
|
-
const number = this.parsePrNumberFromUrl(url);
|
|
202
|
-
return { url, number };
|
|
203
|
-
}
|
|
204
|
-
catch (error) {
|
|
205
|
-
throw this.parseGhError(error);
|
|
206
|
-
}
|
|
207
|
-
}
|
|
208
187
|
async mergePr(cwd, prNumber, strategy = 'squash') {
|
|
209
188
|
try {
|
|
210
189
|
await this.execFile('gh', ['pr', 'merge', String(prNumber), `--${strategy}`], {
|
package/dist/packages/core/src/infrastructure/services/interactive/feature-context.builder.d.ts
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Feature Context Builder
|
|
3
|
+
*
|
|
4
|
+
* Builds the system prompt context for the interactive agent session.
|
|
5
|
+
* Includes Shep identity, CLI reference, feature context, and behavioral guidelines.
|
|
6
|
+
* The output string is suitable for use as systemPrompt content in SDK sessions.
|
|
7
|
+
*/
|
|
8
|
+
import type { Feature } from '../../../domain/generated/output.js';
|
|
9
|
+
/**
|
|
10
|
+
* Builds concise feature context strings for agent bootstrap prompts.
|
|
11
|
+
* Stateless — safe to reuse across sessions.
|
|
12
|
+
*/
|
|
13
|
+
export declare class FeatureContextBuilder {
|
|
14
|
+
/**
|
|
15
|
+
* Build the full system prompt for the interactive agent.
|
|
16
|
+
*
|
|
17
|
+
* @param feature - The feature domain object
|
|
18
|
+
* @param worktreePath - Absolute CWD of the agent process
|
|
19
|
+
* @param openPRs - List of open PR URLs to include (may be empty)
|
|
20
|
+
* @returns A formatted context string suitable for systemPrompt or boot prompt injection
|
|
21
|
+
*/
|
|
22
|
+
buildContext(feature: Feature, worktreePath: string, openPRs: string[]): string;
|
|
23
|
+
private buildTasksSection;
|
|
24
|
+
private buildPRsSection;
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=feature-context.builder.d.ts.map
|
package/dist/packages/core/src/infrastructure/services/interactive/feature-context.builder.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"feature-context.builder.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/src/infrastructure/services/interactive/feature-context.builder.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qCAAqC,CAAC;AAqDnE;;;GAGG;AACH,qBAAa,qBAAqB;IAChC;;;;;;;OAOG;IACH,YAAY,CAAC,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM;IA0D/E,OAAO,CAAC,iBAAiB;IAkBzB,OAAO,CAAC,eAAe;CAIxB"}
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Feature Context Builder
|
|
3
|
+
*
|
|
4
|
+
* Builds the system prompt context for the interactive agent session.
|
|
5
|
+
* Includes Shep identity, CLI reference, feature context, and behavioral guidelines.
|
|
6
|
+
* The output string is suitable for use as systemPrompt content in SDK sessions.
|
|
7
|
+
*/
|
|
8
|
+
import { execFileSync } from 'node:child_process';
|
|
9
|
+
import { homedir } from 'node:os';
|
|
10
|
+
import { join } from 'node:path';
|
|
11
|
+
/** Maximum number of plan tasks to include in the context. */
|
|
12
|
+
const MAX_TASKS = 30;
|
|
13
|
+
/** Cached CLI help text — generated once per process lifetime. */
|
|
14
|
+
let cachedCliHelp = null;
|
|
15
|
+
/**
|
|
16
|
+
* Generates the full recursive CLI help text by running `shep --help` and
|
|
17
|
+
* subcommand help for all registered commands. Cached after first call.
|
|
18
|
+
*/
|
|
19
|
+
function getCliHelpText() {
|
|
20
|
+
if (cachedCliHelp)
|
|
21
|
+
return cachedCliHelp;
|
|
22
|
+
try {
|
|
23
|
+
const mainHelp = execFileSync('shep', ['--help'], {
|
|
24
|
+
timeout: 5000,
|
|
25
|
+
encoding: 'utf8',
|
|
26
|
+
stdio: ['pipe', 'pipe', 'pipe'],
|
|
27
|
+
}).trim();
|
|
28
|
+
// Extract subcommand names from help output
|
|
29
|
+
const cmdLines = mainHelp.split('\n').filter((l) => /^\s{2}\w/.test(l));
|
|
30
|
+
const subCommands = cmdLines
|
|
31
|
+
.map((l) => l.trim().split(/\s+/)[0])
|
|
32
|
+
.filter((cmd) => !!cmd && cmd !== 'help');
|
|
33
|
+
const parts = [mainHelp];
|
|
34
|
+
for (const cmd of subCommands) {
|
|
35
|
+
try {
|
|
36
|
+
const subHelp = execFileSync('shep', [cmd, '--help'], {
|
|
37
|
+
timeout: 3000,
|
|
38
|
+
encoding: 'utf8',
|
|
39
|
+
stdio: ['pipe', 'pipe', 'pipe'],
|
|
40
|
+
}).trim();
|
|
41
|
+
if (subHelp) {
|
|
42
|
+
parts.push(`\n--- shep ${cmd} ---\n${subHelp}`);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
catch {
|
|
46
|
+
// Some commands may not have --help or may fail
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
cachedCliHelp = parts.join('\n');
|
|
50
|
+
}
|
|
51
|
+
catch {
|
|
52
|
+
cachedCliHelp = '(CLI help unavailable — shep binary not found in PATH)';
|
|
53
|
+
}
|
|
54
|
+
return cachedCliHelp;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Builds concise feature context strings for agent bootstrap prompts.
|
|
58
|
+
* Stateless — safe to reuse across sessions.
|
|
59
|
+
*/
|
|
60
|
+
export class FeatureContextBuilder {
|
|
61
|
+
/**
|
|
62
|
+
* Build the full system prompt for the interactive agent.
|
|
63
|
+
*
|
|
64
|
+
* @param feature - The feature domain object
|
|
65
|
+
* @param worktreePath - Absolute CWD of the agent process
|
|
66
|
+
* @param openPRs - List of open PR URLs to include (may be empty)
|
|
67
|
+
* @returns A formatted context string suitable for systemPrompt or boot prompt injection
|
|
68
|
+
*/
|
|
69
|
+
buildContext(feature, worktreePath, openPRs) {
|
|
70
|
+
const shepHome = process.env.SHEP_HOME ?? join(homedir(), '.shep');
|
|
71
|
+
let version = 'unknown';
|
|
72
|
+
try {
|
|
73
|
+
version = execFileSync('shep', ['--version'], {
|
|
74
|
+
timeout: 3000,
|
|
75
|
+
encoding: 'utf8',
|
|
76
|
+
stdio: ['pipe', 'pipe', 'pipe'],
|
|
77
|
+
}).trim();
|
|
78
|
+
}
|
|
79
|
+
catch {
|
|
80
|
+
// fallback
|
|
81
|
+
}
|
|
82
|
+
const sections = [];
|
|
83
|
+
// ── Identity ──────────────────────────────────────────────────────────
|
|
84
|
+
sections.push(`# Shep Interactive Agent
|
|
85
|
+
You are **Shep** — the interactive AI assistant for the Shep SDLC platform.
|
|
86
|
+
Shep is an Autonomous AI Native SDLC Platform that automates the development
|
|
87
|
+
cycle from idea to deploy.
|
|
88
|
+
|
|
89
|
+
Version: ${version}
|
|
90
|
+
SHEP_HOME: ${shepHome}
|
|
91
|
+
Platform: ${process.platform} (${process.arch})`);
|
|
92
|
+
// ── Behavioral guidelines ─────────────────────────────────────────────
|
|
93
|
+
sections.push(`## Behavior
|
|
94
|
+
- You are smart, adaptive, and match the user's communication style.
|
|
95
|
+
- Be concise by default. If the user writes short messages, respond short.
|
|
96
|
+
If they write detailed messages, respond with more detail.
|
|
97
|
+
- Don't jump to action immediately. First understand what the user needs.
|
|
98
|
+
Ask clarifying questions when the request is ambiguous.
|
|
99
|
+
- When you DO act, be thorough and explain what you did.
|
|
100
|
+
- You have full access to the worktree via your tools (git, gh, filesystem,
|
|
101
|
+
bash, read, write, edit, grep, glob). Use them proactively.
|
|
102
|
+
- You know the Shep CLI inside out. Help users with any shep command.
|
|
103
|
+
- When working on this feature, stay focused on the feature context below.
|
|
104
|
+
- If the user asks about Shep itself, answer from your knowledge of the CLI.`);
|
|
105
|
+
// ── CLI Reference ─────────────────────────────────────────────────────
|
|
106
|
+
sections.push(`## Shep CLI Reference
|
|
107
|
+
\`\`\`
|
|
108
|
+
${getCliHelpText()}
|
|
109
|
+
\`\`\``);
|
|
110
|
+
// ── Feature context ───────────────────────────────────────────────────
|
|
111
|
+
sections.push(`## Current Feature
|
|
112
|
+
Name: ${feature.name}
|
|
113
|
+
Description: ${feature.description}
|
|
114
|
+
Phase: ${feature.lifecycle}
|
|
115
|
+
Branch: ${feature.branch}
|
|
116
|
+
Worktree: ${worktreePath}
|
|
117
|
+
${this.buildTasksSection(feature).join('\n')}
|
|
118
|
+
${this.buildPRsSection(openPRs).join('\n')}`);
|
|
119
|
+
return sections.join('\n\n');
|
|
120
|
+
}
|
|
121
|
+
buildTasksSection(feature) {
|
|
122
|
+
const tasks = feature.plan?.tasks;
|
|
123
|
+
if (!tasks || tasks.length === 0) {
|
|
124
|
+
return ['Tasks: none'];
|
|
125
|
+
}
|
|
126
|
+
const displayed = tasks.slice(0, MAX_TASKS);
|
|
127
|
+
const truncated = tasks.length > MAX_TASKS ? ` (showing first ${MAX_TASKS})` : '';
|
|
128
|
+
const header = `Tasks (${tasks.length}${truncated}):`;
|
|
129
|
+
const taskLines = displayed.map((t) => {
|
|
130
|
+
const title = t.title ?? t.id;
|
|
131
|
+
return ` [${t.state}] ${title}`;
|
|
132
|
+
});
|
|
133
|
+
return [header, ...taskLines];
|
|
134
|
+
}
|
|
135
|
+
buildPRsSection(openPRs) {
|
|
136
|
+
if (openPRs.length === 0)
|
|
137
|
+
return [];
|
|
138
|
+
return ['Open PRs:', ...openPRs.map((url) => ` - ${url}`)];
|
|
139
|
+
}
|
|
140
|
+
}
|