github-issue-tower-defence-management 2.6.1 → 2.8.0

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.
Files changed (121) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/README.md +0 -2
  3. package/bin/adapter/entry-points/cli/index.js +3 -6
  4. package/bin/adapter/entry-points/cli/index.js.map +1 -1
  5. package/bin/adapter/entry-points/cli/projectConfig.js +0 -3
  6. package/bin/adapter/entry-points/cli/projectConfig.js.map +1 -1
  7. package/bin/adapter/entry-points/console/consoleAirplaneSnapshotApi.js +347 -0
  8. package/bin/adapter/entry-points/console/consoleAirplaneSnapshotApi.js.map +1 -0
  9. package/bin/adapter/entry-points/console/ui-dist/assets/index-DkMqSpkk.js +88 -0
  10. package/bin/adapter/entry-points/console/ui-dist/index.html +1 -1
  11. package/bin/adapter/entry-points/console/webServer.js +28 -0
  12. package/bin/adapter/entry-points/console/webServer.js.map +1 -1
  13. package/bin/adapter/entry-points/handlers/HandleScheduledEventUseCaseHandler.js +1 -3
  14. package/bin/adapter/entry-points/handlers/HandleScheduledEventUseCaseHandler.js.map +1 -1
  15. package/bin/domain/usecases/CheckIssueReviewReadinessUseCase.js +4 -2
  16. package/bin/domain/usecases/CheckIssueReviewReadinessUseCase.js.map +1 -1
  17. package/bin/domain/usecases/HandleScheduledEventUseCase.js +1 -6
  18. package/bin/domain/usecases/HandleScheduledEventUseCase.js.map +1 -1
  19. package/bin/domain/usecases/IssueRejectionEvaluator.js +0 -23
  20. package/bin/domain/usecases/IssueRejectionEvaluator.js.map +1 -1
  21. package/bin/domain/usecases/NotifyFinishedIssuePreparationUseCase.js +39 -69
  22. package/bin/domain/usecases/NotifyFinishedIssuePreparationUseCase.js.map +1 -1
  23. package/bin/domain/usecases/RevertNotReadyReviewQueueIssueUseCase.js +3 -2
  24. package/bin/domain/usecases/RevertNotReadyReviewQueueIssueUseCase.js.map +1 -1
  25. package/bin/domain/usecases/RevertOrphanedPreparationUseCase.js +0 -43
  26. package/bin/domain/usecases/RevertOrphanedPreparationUseCase.js.map +1 -1
  27. package/bin/domain/usecases/autoStatusCheckComments.js +1 -11
  28. package/bin/domain/usecases/autoStatusCheckComments.js.map +1 -1
  29. package/bin/domain/usecases/extractNextStepAgentFromComments.js +14 -0
  30. package/bin/domain/usecases/extractNextStepAgentFromComments.js.map +1 -0
  31. package/bin/domain/usecases/triagerAgentName.js +7 -0
  32. package/bin/domain/usecases/triagerAgentName.js.map +1 -0
  33. package/jest.config.js +1 -0
  34. package/package.json +1 -1
  35. package/src/adapter/entry-points/cli/index.test.ts +0 -2
  36. package/src/adapter/entry-points/cli/index.ts +4 -10
  37. package/src/adapter/entry-points/cli/projectConfig.ts +0 -8
  38. package/src/adapter/entry-points/console/consoleAirplaneSnapshotApi.test.ts +658 -0
  39. package/src/adapter/entry-points/console/consoleAirplaneSnapshotApi.ts +482 -0
  40. package/src/adapter/entry-points/console/ui/jest-globals.cjs +26 -0
  41. package/src/adapter/entry-points/console/ui/src/features/console/components/detail/ConsoleFileDiff.test.tsx +10 -0
  42. package/src/adapter/entry-points/console/ui/src/features/console/components/detail/ConsoleFileDiff.tsx +23 -16
  43. package/src/adapter/entry-points/console/ui/src/features/console/components/layout/ConsoleAirplaneModeButton.stories.tsx +56 -0
  44. package/src/adapter/entry-points/console/ui/src/features/console/components/layout/ConsoleAirplaneModeButton.test.tsx +111 -0
  45. package/src/adapter/entry-points/console/ui/src/features/console/components/layout/ConsoleAirplaneModeButton.tsx +92 -0
  46. package/src/adapter/entry-points/console/ui/src/features/console/components/layout/ConsoleTabList.stories.tsx +15 -0
  47. package/src/adapter/entry-points/console/ui/src/features/console/components/layout/ConsoleTabList.test.tsx +19 -0
  48. package/src/adapter/entry-points/console/ui/src/features/console/components/layout/ConsoleTabList.tsx +30 -1
  49. package/src/adapter/entry-points/console/ui/src/features/console/components/operations/ConsoleErrorToast.stories.tsx +10 -0
  50. package/src/adapter/entry-points/console/ui/src/features/console/components/operations/ConsoleUndoToast.test.tsx +1 -3
  51. package/src/adapter/entry-points/console/ui/src/features/console/components/operations/ConsoleUndoToast.tsx +8 -7
  52. package/src/adapter/entry-points/console/ui/src/features/console/hooks/useAirplaneMode.test.ts +304 -0
  53. package/src/adapter/entry-points/console/ui/src/features/console/hooks/useAirplaneMode.ts +167 -0
  54. package/src/adapter/entry-points/console/ui/src/features/console/hooks/useConsoleActionQueue.test.ts +15 -0
  55. package/src/adapter/entry-points/console/ui/src/features/console/hooks/useConsoleActionQueue.ts +6 -1
  56. package/src/adapter/entry-points/console/ui/src/features/console/hooks/useConsoleCaches.test.ts +77 -0
  57. package/src/adapter/entry-points/console/ui/src/features/console/hooks/useConsoleCaches.ts +48 -3
  58. package/src/adapter/entry-points/console/ui/src/features/console/hooks/useConsoleFeaturesConfig.test.ts +51 -0
  59. package/src/adapter/entry-points/console/ui/src/features/console/hooks/useConsoleFeaturesConfig.ts +39 -0
  60. package/src/adapter/entry-points/console/ui/src/features/console/hooks/useConsoleTabData.test.ts +215 -0
  61. package/src/adapter/entry-points/console/ui/src/features/console/hooks/useConsoleTabData.ts +20 -1
  62. package/src/adapter/entry-points/console/ui/src/features/console/lib/airplaneSnapshot.test.ts +361 -0
  63. package/src/adapter/entry-points/console/ui/src/features/console/lib/airplaneSnapshot.ts +401 -0
  64. package/src/adapter/entry-points/console/ui/src/features/console/lib/resourceCache.ts +4 -0
  65. package/src/adapter/entry-points/console/ui/src/features/console/pages/ConsolePage.test.tsx +209 -0
  66. package/src/adapter/entry-points/console/ui/src/features/console/pages/ConsolePage.tsx +27 -2
  67. package/src/adapter/entry-points/console/ui-dist/assets/index-DkMqSpkk.js +88 -0
  68. package/src/adapter/entry-points/console/ui-dist/index.html +1 -1
  69. package/src/adapter/entry-points/console/webServer.test.ts +189 -0
  70. package/src/adapter/entry-points/console/webServer.ts +38 -0
  71. package/src/adapter/entry-points/handlers/HandleScheduledEventUseCaseHandler.ts +0 -7
  72. package/src/domain/usecases/CheckIssueReviewReadinessUseCase.test.ts +26 -4
  73. package/src/domain/usecases/CheckIssueReviewReadinessUseCase.ts +5 -3
  74. package/src/domain/usecases/HandleScheduledEventUseCase.test.ts +0 -28
  75. package/src/domain/usecases/HandleScheduledEventUseCase.ts +0 -6
  76. package/src/domain/usecases/IssueRejectionEvaluator.test.ts +0 -119
  77. package/src/domain/usecases/IssueRejectionEvaluator.ts +0 -21
  78. package/src/domain/usecases/NotifyFinishedIssuePreparationUseCase.test.ts +185 -327
  79. package/src/domain/usecases/NotifyFinishedIssuePreparationUseCase.ts +68 -138
  80. package/src/domain/usecases/RevertNotReadyReviewQueueIssueUseCase.test.ts +4 -4
  81. package/src/domain/usecases/RevertNotReadyReviewQueueIssueUseCase.ts +11 -5
  82. package/src/domain/usecases/RevertOrphanedPreparationUseCase.test.ts +0 -313
  83. package/src/domain/usecases/RevertOrphanedPreparationUseCase.ts +1 -102
  84. package/src/domain/usecases/autoStatusCheckComments.ts +0 -17
  85. package/src/domain/usecases/extractNextStepAgentFromComments.ts +13 -0
  86. package/src/domain/usecases/isHumanComment.test.ts +0 -13
  87. package/src/domain/usecases/triagerAgentName.ts +4 -0
  88. package/types/adapter/entry-points/cli/index.d.ts.map +1 -1
  89. package/types/adapter/entry-points/cli/projectConfig.d.ts +0 -1
  90. package/types/adapter/entry-points/cli/projectConfig.d.ts.map +1 -1
  91. package/types/adapter/entry-points/console/consoleAirplaneSnapshotApi.d.ts +90 -0
  92. package/types/adapter/entry-points/console/consoleAirplaneSnapshotApi.d.ts.map +1 -0
  93. package/types/adapter/entry-points/console/webServer.d.ts +1 -0
  94. package/types/adapter/entry-points/console/webServer.d.ts.map +1 -1
  95. package/types/adapter/entry-points/handlers/HandleScheduledEventUseCaseHandler.d.ts.map +1 -1
  96. package/types/domain/usecases/CheckIssueReviewReadinessUseCase.d.ts.map +1 -1
  97. package/types/domain/usecases/HandleScheduledEventUseCase.d.ts +1 -3
  98. package/types/domain/usecases/HandleScheduledEventUseCase.d.ts.map +1 -1
  99. package/types/domain/usecases/IssueRejectionEvaluator.d.ts +0 -1
  100. package/types/domain/usecases/IssueRejectionEvaluator.d.ts.map +1 -1
  101. package/types/domain/usecases/NotifyFinishedIssuePreparationUseCase.d.ts +0 -1
  102. package/types/domain/usecases/NotifyFinishedIssuePreparationUseCase.d.ts.map +1 -1
  103. package/types/domain/usecases/RevertNotReadyReviewQueueIssueUseCase.d.ts.map +1 -1
  104. package/types/domain/usecases/RevertOrphanedPreparationUseCase.d.ts +0 -1
  105. package/types/domain/usecases/RevertOrphanedPreparationUseCase.d.ts.map +1 -1
  106. package/types/domain/usecases/autoStatusCheckComments.d.ts +0 -4
  107. package/types/domain/usecases/autoStatusCheckComments.d.ts.map +1 -1
  108. package/types/domain/usecases/extractNextStepAgentFromComments.d.ts +5 -0
  109. package/types/domain/usecases/extractNextStepAgentFromComments.d.ts.map +1 -0
  110. package/types/domain/usecases/triagerAgentName.d.ts +3 -0
  111. package/types/domain/usecases/triagerAgentName.d.ts.map +1 -0
  112. package/bin/adapter/entry-points/console/ui-dist/assets/index-CaxYBHiT.js +0 -86
  113. package/src/adapter/entry-points/console/ui-dist/assets/index-CaxYBHiT.js +0 -86
  114. package/src/domain/usecases/TriagerApprovalDispatchUseCase.test.ts +0 -1051
  115. package/src/domain/usecases/TriagerApprovalDispatchUseCase.ts +0 -274
  116. package/src/domain/usecases/awaitingOwnerApprovalMessage.ts +0 -5
  117. package/src/domain/usecases/isPullRequestDeclaredUnnecessary.test.ts +0 -162
  118. package/src/domain/usecases/isPullRequestDeclaredUnnecessary.ts +0 -29
  119. package/src/domain/usecases/isWaitingForOwnerApproval.test.ts +0 -91
  120. package/src/domain/usecases/isWaitingForOwnerApproval.ts +0 -17
  121. package/src/domain/usecases/returnedToAwaitingWorkspaceMessage.ts +0 -5
@@ -7,9 +7,11 @@ import {
7
7
  ConsoleErrorToast,
8
8
  ConsoleUndoToast,
9
9
  } from '../components/operations/ConsoleUndoToast';
10
+ import { useAirplaneMode } from '../hooks/useAirplaneMode';
10
11
  import { useConsoleActionQueue } from '../hooks/useConsoleActionQueue';
11
12
  import { useConsoleCaches } from '../hooks/useConsoleCaches';
12
13
  import { useConsoleDetailPrefetch } from '../hooks/useConsoleDetailPrefetch';
14
+ import { useConsoleFeaturesConfig } from '../hooks/useConsoleFeaturesConfig';
13
15
  import { useConsoleNavigation } from '../hooks/useConsoleNavigation';
14
16
  import { useConsoleOperations } from '../hooks/useConsoleOperations';
15
17
  import { useConsoleOverlay } from '../hooks/useConsoleOverlay';
@@ -72,7 +74,14 @@ const OVERLAY_NAMESPACE_FALLBACK = 'console';
72
74
 
73
75
  export const ConsolePage = () => {
74
76
  const pjcode = useConsolePjcode();
75
- const { snapshots, isLoading, error } = useConsoleTabData(pjcode);
77
+ const featuresConfig = useConsoleFeaturesConfig();
78
+ const airplaneMode = useAirplaneMode();
79
+ const airplaneSnapshot =
80
+ airplaneMode.status === 'on' ? airplaneMode.snapshot : null;
81
+ const { snapshots, isLoading, error } = useConsoleTabData(
82
+ pjcode,
83
+ airplaneSnapshot,
84
+ );
76
85
  const {
77
86
  timerMode,
78
87
  projectMinutes,
@@ -131,7 +140,7 @@ export const ConsolePage = () => {
131
140
  [selectedItemKey],
132
141
  );
133
142
 
134
- const caches = useConsoleCaches();
143
+ const caches = useConsoleCaches(airplaneSnapshot);
135
144
  const operations = useConsoleOperations(
136
145
  pjcode,
137
146
  activeTab,
@@ -271,6 +280,13 @@ export const ConsolePage = () => {
271
280
 
272
281
  const handleQueueAction = useCallback(
273
282
  (input: ConsoleQueueActionInput): void => {
283
+ if (airplaneMode.status === 'on') {
284
+ actionQueue.showError(
285
+ 'Airplane mode',
286
+ 'This action requires a network connection. Turn off airplane mode and try again.',
287
+ );
288
+ return;
289
+ }
274
290
  const actedKey = overlayKeyForItem(input.item);
275
291
  actionQueue.enqueue({
276
292
  message: formatActionToast(input.kind, input.item, activeTab),
@@ -301,6 +317,7 @@ export const ConsolePage = () => {
301
317
  actionQueue,
302
318
  activeTab,
303
319
  advanceToNext,
320
+ airplaneMode.status,
304
321
  timerMode,
305
322
  isTimerExpired,
306
323
  projectMinutes,
@@ -482,6 +499,7 @@ export const ConsolePage = () => {
482
499
  )}
483
500
  {actionQueue.error !== null && (
484
501
  <ConsoleErrorToast
502
+ title={actionQueue.error.message}
485
503
  message={`Operation failed: ${actionQueue.error.reason}`}
486
504
  onDismiss={actionQueue.dismissError}
487
505
  />
@@ -510,6 +528,13 @@ export const ConsolePage = () => {
510
528
  onClose={closeSettings}
511
529
  />
512
530
  }
531
+ airplaneModeEnabled={featuresConfig.airplaneMode}
532
+ airplaneModeStatus={airplaneMode.status}
533
+ airplaneModeProgress={airplaneMode.progress}
534
+ airplaneModeCapturedAt={airplaneSnapshot?.capturedAt ?? null}
535
+ airplaneModeFailures={airplaneMode.failures}
536
+ onAirplaneModeStartSync={airplaneMode.startSync}
537
+ onAirplaneModeTurnOff={airplaneMode.turnOff}
513
538
  />
514
539
  {activeTab === 'stories' ? (
515
540
  <ConsoleStoryList