@shivaedev/work-board 0.13.0 → 0.14.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.
- package/CHANGELOG.md +120 -0
- package/README.md +80 -36
- package/assets/native.js +25 -25
- package/assets/react.css +1 -1
- package/assets/react.js +36 -34
- package/dist/browser/Navigation.d.ts +16 -0
- package/dist/browser/Navigation.d.ts.map +1 -0
- package/dist/browser/Navigation.js +7 -0
- package/dist/browser/Navigation.js.map +1 -0
- package/dist/browser/document/ReadingContext.d.ts +2 -0
- package/dist/browser/document/ReadingContext.d.ts.map +1 -1
- package/dist/browser/document/ReadingContext.js +7 -1
- package/dist/browser/document/ReadingContext.js.map +1 -1
- package/dist/browser/document/schema.d.ts +21 -1
- package/dist/browser/document/schema.d.ts.map +1 -1
- package/dist/browser/document/schema.js +5 -0
- package/dist/browser/document/schema.js.map +1 -1
- package/dist/browser/document/sourceGroups.d.ts +14 -0
- package/dist/browser/document/sourceGroups.d.ts.map +1 -0
- package/dist/browser/document/sourceGroups.js +43 -0
- package/dist/browser/document/sourceGroups.js.map +1 -0
- package/dist/browser/navigation/library.d.ts +36 -0
- package/dist/browser/navigation/library.d.ts.map +1 -0
- package/dist/browser/navigation/library.js +23 -0
- package/dist/browser/navigation/library.js.map +1 -0
- package/dist/browser/responses/cardContext.d.ts +10 -0
- package/dist/browser/responses/cardContext.d.ts.map +1 -0
- package/dist/browser/responses/cardContext.js +47 -0
- package/dist/browser/responses/cardContext.js.map +1 -0
- package/dist/browser/responses/reasonMarkdown.d.ts +2 -0
- package/dist/browser/responses/reasonMarkdown.d.ts.map +1 -0
- package/dist/browser/responses/reasonMarkdown.js +6 -0
- package/dist/browser/responses/reasonMarkdown.js.map +1 -0
- package/dist/browser/views/FleetItemsProjection.d.ts +220 -0
- package/dist/browser/views/FleetItemsProjection.d.ts.map +1 -0
- package/dist/browser/views/FleetItemsProjection.js +13 -0
- package/dist/browser/views/FleetItemsProjection.js.map +1 -0
- package/dist/browser/views/GoalsProjection.d.ts +157 -0
- package/dist/browser/views/GoalsProjection.d.ts.map +1 -0
- package/dist/browser/views/GoalsProjection.js +22 -0
- package/dist/browser/views/GoalsProjection.js.map +1 -0
- package/dist/browser/views/ResultProjection.d.ts +14 -1
- package/dist/browser/views/ResultProjection.d.ts.map +1 -1
- package/dist/browser/views/goalWorkState.d.ts +6 -0
- package/dist/browser/views/goalWorkState.d.ts.map +1 -0
- package/dist/browser/views/goalWorkState.js +15 -0
- package/dist/browser/views/goalWorkState.js.map +1 -0
- package/dist/browser/views/now.d.ts +13 -0
- package/dist/browser/views/now.d.ts.map +1 -0
- package/dist/browser/views/now.js +82 -0
- package/dist/browser/views/now.js.map +1 -0
- package/dist/browser/views/remaining.d.ts +21 -1
- package/dist/browser/views/remaining.d.ts.map +1 -1
- package/dist/browser/views/schema.d.ts +180 -26
- package/dist/browser/views/schema.d.ts.map +1 -1
- package/dist/browser/views/schema.js +19 -29
- package/dist/browser/views/schema.js.map +1 -1
- package/dist/browser/views/state.d.ts +1 -1
- package/dist/browser/views/state.js +2 -2
- package/dist/browser/views/state.js.map +1 -1
- package/dist/client/document/Mermaid.d.ts.map +1 -1
- package/dist/client/document/Mermaid.js +4 -3
- package/dist/client/document/Mermaid.js.map +1 -1
- package/dist/client/document/View.d.ts +4 -1
- package/dist/client/document/View.d.ts.map +1 -1
- package/dist/client/document/View.js +18 -8
- package/dist/client/document/View.js.map +1 -1
- package/dist/client/document/boardLayout.d.ts +1 -1
- package/dist/client/document/boardLayout.d.ts.map +1 -1
- package/dist/client/document/boardLayout.js +3 -3
- package/dist/client/document/boardLayout.js.map +1 -1
- package/dist/client/document/layout.js +1 -1
- package/dist/client/document/layout.js.map +1 -1
- package/dist/client/document/mermaidColor.d.ts +2 -0
- package/dist/client/document/mermaidColor.d.ts.map +1 -0
- package/dist/client/document/mermaidColor.js +20 -0
- package/dist/client/document/mermaidColor.js.map +1 -0
- package/dist/client/formFocus.d.ts +1 -1
- package/dist/client/formFocus.d.ts.map +1 -1
- package/dist/client/formFocus.js +1 -2
- package/dist/client/formFocus.js.map +1 -1
- package/dist/client/page/routeQuery.d.ts +31 -1
- package/dist/client/page/routeQuery.d.ts.map +1 -1
- package/dist/client/page/routeQuery.js +3 -0
- package/dist/client/page/routeQuery.js.map +1 -1
- package/dist/client/react/Age.d.ts.map +1 -1
- package/dist/client/react/Age.js +3 -1
- package/dist/client/react/Age.js.map +1 -1
- package/dist/client/react/AnswerContext.d.ts +5 -0
- package/dist/client/react/AnswerContext.d.ts.map +1 -0
- package/dist/client/react/AnswerContext.js +8 -0
- package/dist/client/react/AnswerContext.js.map +1 -0
- package/dist/client/react/AnswerForm.d.ts.map +1 -1
- package/dist/client/react/AnswerForm.js +19 -6
- package/dist/client/react/AnswerForm.js.map +1 -1
- package/dist/client/react/AnswerMore.d.ts +10 -0
- package/dist/client/react/AnswerMore.d.ts.map +1 -0
- package/dist/client/react/AnswerMore.js +7 -0
- package/dist/client/react/AnswerMore.js.map +1 -0
- package/dist/client/react/AnswerPanel.d.ts +1 -1
- package/dist/client/react/AnswerPanel.d.ts.map +1 -1
- package/dist/client/react/AnswerPanel.js +21 -12
- package/dist/client/react/AnswerPanel.js.map +1 -1
- package/dist/client/react/AnswerPrompts.d.ts +1 -0
- package/dist/client/react/AnswerPrompts.d.ts.map +1 -1
- package/dist/client/react/AnswerPrompts.js +6 -4
- package/dist/client/react/AnswerPrompts.js.map +1 -1
- package/dist/client/react/BoardMain.d.ts +1 -1
- package/dist/client/react/BoardMain.d.ts.map +1 -1
- package/dist/client/react/BoardShell.d.ts +0 -1
- package/dist/client/react/BoardShell.d.ts.map +1 -1
- package/dist/client/react/BoardShell.js +12 -18
- package/dist/client/react/BoardShell.js.map +1 -1
- package/dist/client/react/DocumentAttention.d.ts.map +1 -1
- package/dist/client/react/DocumentAttention.js +6 -2
- package/dist/client/react/DocumentAttention.js.map +1 -1
- package/dist/client/react/DocumentClaims.d.ts.map +1 -1
- package/dist/client/react/DocumentClaims.js +3 -3
- package/dist/client/react/DocumentClaims.js.map +1 -1
- package/dist/client/react/DocumentContext.d.ts.map +1 -1
- package/dist/client/react/DocumentContext.js +21 -13
- package/dist/client/react/DocumentContext.js.map +1 -1
- package/dist/client/react/DocumentCriteria.d.ts +5 -0
- package/dist/client/react/DocumentCriteria.d.ts.map +1 -1
- package/dist/client/react/DocumentCriteria.js +11 -9
- package/dist/client/react/DocumentCriteria.js.map +1 -1
- package/dist/client/react/DocumentEvidence.d.ts.map +1 -1
- package/dist/client/react/DocumentEvidence.js +1 -2
- package/dist/client/react/DocumentEvidence.js.map +1 -1
- package/dist/client/react/DocumentMain.js +7 -4
- package/dist/client/react/DocumentMain.js.map +1 -1
- package/dist/client/react/DocumentMetadata.d.ts.map +1 -1
- package/dist/client/react/DocumentMetadata.js +5 -4
- package/dist/client/react/DocumentMetadata.js.map +1 -1
- package/dist/client/react/DocumentPage.d.ts +3 -1
- package/dist/client/react/DocumentPage.d.ts.map +1 -1
- package/dist/client/react/DocumentPage.js +8 -9
- package/dist/client/react/DocumentPage.js.map +1 -1
- package/dist/client/react/DocumentRecords.js +1 -1
- package/dist/client/react/DocumentRecords.js.map +1 -1
- package/dist/client/react/DocumentRelationships.d.ts +5 -0
- package/dist/client/react/DocumentRelationships.d.ts.map +1 -0
- package/dist/client/react/DocumentRelationships.js +26 -0
- package/dist/client/react/DocumentRelationships.js.map +1 -0
- package/dist/client/react/DocumentSource.d.ts +5 -0
- package/dist/client/react/DocumentSource.d.ts.map +1 -0
- package/dist/client/react/DocumentSource.js +9 -0
- package/dist/client/react/DocumentSource.js.map +1 -0
- package/dist/client/react/DocumentWorkMetadata.d.ts.map +1 -1
- package/dist/client/react/DocumentWorkMetadata.js +4 -23
- package/dist/client/react/DocumentWorkMetadata.js.map +1 -1
- package/dist/client/react/FleetItemsContext.d.ts +194 -0
- package/dist/client/react/FleetItemsContext.d.ts.map +1 -0
- package/dist/client/react/FleetItemsContext.js +3 -0
- package/dist/client/react/FleetItemsContext.js.map +1 -0
- package/dist/client/react/FleetMain.d.ts +4 -0
- package/dist/client/react/FleetMain.d.ts.map +1 -0
- package/dist/client/react/FleetMain.js +10 -0
- package/dist/client/react/FleetMain.js.map +1 -0
- package/dist/client/react/FormField.d.ts +2 -1
- package/dist/client/react/FormField.d.ts.map +1 -1
- package/dist/client/react/FormField.js +5 -3
- package/dist/client/react/FormField.js.map +1 -1
- package/dist/client/react/GoalCriteria.d.ts +11 -0
- package/dist/client/react/GoalCriteria.d.ts.map +1 -0
- package/dist/client/react/GoalCriteria.js +30 -0
- package/dist/client/react/GoalCriteria.js.map +1 -0
- package/dist/client/react/GoalOverviewCard.d.ts +5 -0
- package/dist/client/react/GoalOverviewCard.d.ts.map +1 -0
- package/dist/client/react/GoalOverviewCard.js +10 -0
- package/dist/client/react/GoalOverviewCard.js.map +1 -0
- package/dist/client/react/GoalPage.d.ts +7 -0
- package/dist/client/react/GoalPage.d.ts.map +1 -0
- package/dist/client/react/GoalPage.js +15 -0
- package/dist/client/react/GoalPage.js.map +1 -0
- package/dist/client/react/GoalProgress.d.ts +6 -0
- package/dist/client/react/GoalProgress.d.ts.map +1 -0
- package/dist/client/react/GoalProgress.js +32 -0
- package/dist/client/react/GoalProgress.js.map +1 -0
- package/dist/client/react/GoalProgressHeader.d.ts +7 -0
- package/dist/client/react/GoalProgressHeader.d.ts.map +1 -0
- package/dist/client/react/GoalProgressHeader.js +14 -0
- package/dist/client/react/GoalProgressHeader.js.map +1 -0
- package/dist/client/react/GoalProgressSummary.d.ts +5 -0
- package/dist/client/react/GoalProgressSummary.d.ts.map +1 -0
- package/dist/client/react/GoalProgressSummary.js +8 -0
- package/dist/client/react/GoalProgressSummary.js.map +1 -0
- package/dist/client/react/GoalWorkTable.d.ts +11 -0
- package/dist/client/react/GoalWorkTable.d.ts.map +1 -0
- package/dist/client/react/GoalWorkTable.js +36 -0
- package/dist/client/react/GoalWorkTable.js.map +1 -0
- package/dist/client/react/GoalsPage.d.ts +5 -0
- package/dist/client/react/GoalsPage.d.ts.map +1 -0
- package/dist/client/react/GoalsPage.js +9 -0
- package/dist/client/react/GoalsPage.js.map +1 -0
- package/dist/client/react/HandoffForm.d.ts.map +1 -1
- package/dist/client/react/HandoffForm.js +3 -2
- package/dist/client/react/HandoffForm.js.map +1 -1
- package/dist/client/react/HandoffPage.d.ts.map +1 -1
- package/dist/client/react/HandoffPage.js +3 -2
- package/dist/client/react/HandoffPage.js.map +1 -1
- package/dist/client/react/HandoffPrompt.d.ts.map +1 -1
- package/dist/client/react/HandoffPrompt.js +2 -1
- package/dist/client/react/HandoffPrompt.js.map +1 -1
- package/dist/client/react/Header.d.ts.map +1 -1
- package/dist/client/react/Header.js +11 -4
- package/dist/client/react/Header.js.map +1 -1
- package/dist/client/react/HomeBoard.d.ts.map +1 -1
- package/dist/client/react/HomeBoard.js +3 -2
- package/dist/client/react/HomeBoard.js.map +1 -1
- package/dist/client/react/ItemSummary.d.ts +5 -0
- package/dist/client/react/ItemSummary.d.ts.map +1 -0
- package/dist/client/react/ItemSummary.js +42 -0
- package/dist/client/react/ItemSummary.js.map +1 -0
- package/dist/client/react/KeyboardHints.d.ts +5 -0
- package/dist/client/react/KeyboardHints.d.ts.map +1 -0
- package/dist/client/react/KeyboardHints.js +6 -0
- package/dist/client/react/KeyboardHints.js.map +1 -0
- package/dist/client/react/LibraryContents.d.ts +15 -0
- package/dist/client/react/LibraryContents.d.ts.map +1 -0
- package/dist/client/react/LibraryContents.js +28 -0
- package/dist/client/react/LibraryContents.js.map +1 -0
- package/dist/client/react/LibraryMain.d.ts +8 -0
- package/dist/client/react/LibraryMain.d.ts.map +1 -0
- package/dist/client/react/LibraryMain.js +8 -0
- package/dist/client/react/LibraryMain.js.map +1 -0
- package/dist/client/react/LibraryPage.d.ts +6 -0
- package/dist/client/react/LibraryPage.d.ts.map +1 -0
- package/dist/client/react/LibraryPage.js +34 -0
- package/dist/client/react/LibraryPage.js.map +1 -0
- package/dist/client/react/LiveControls.d.ts.map +1 -1
- package/dist/client/react/LiveControls.js +2 -3
- package/dist/client/react/LiveControls.js.map +1 -1
- package/dist/client/react/Modal.d.ts +2 -1
- package/dist/client/react/Modal.d.ts.map +1 -1
- package/dist/client/react/Modal.js +2 -2
- package/dist/client/react/Modal.js.map +1 -1
- package/dist/client/react/PhoneNavigation.d.ts +6 -0
- package/dist/client/react/PhoneNavigation.d.ts.map +1 -0
- package/dist/client/react/PhoneNavigation.js +31 -0
- package/dist/client/react/PhoneNavigation.js.map +1 -0
- package/dist/client/react/PrChip.d.ts +4 -0
- package/dist/client/react/PrChip.d.ts.map +1 -0
- package/dist/client/react/PrChip.js +7 -0
- package/dist/client/react/PrChip.js.map +1 -0
- package/dist/client/react/ProjectionFrame.d.ts.map +1 -1
- package/dist/client/react/ProjectionFrame.js +10 -18
- package/dist/client/react/ProjectionFrame.js.map +1 -1
- package/dist/client/react/ProjectionMain.d.ts.map +1 -1
- package/dist/client/react/ProjectionMain.js +4 -7
- package/dist/client/react/ProjectionMain.js.map +1 -1
- package/dist/client/react/PromptOption.d.ts +1 -2
- package/dist/client/react/PromptOption.d.ts.map +1 -1
- package/dist/client/react/PromptOption.js +7 -4
- package/dist/client/react/PromptOption.js.map +1 -1
- package/dist/client/react/ReadingHistory.d.ts +10 -0
- package/dist/client/react/ReadingHistory.d.ts.map +1 -0
- package/dist/client/react/ReadingHistory.js +21 -0
- package/dist/client/react/ReadingHistory.js.map +1 -0
- package/dist/client/react/ReadingLibrary.d.ts +3 -3
- package/dist/client/react/ReadingLibrary.d.ts.map +1 -1
- package/dist/client/react/ReadingLibrary.js +5 -22
- package/dist/client/react/ReadingLibrary.js.map +1 -1
- package/dist/client/react/ReadingPanel.d.ts +3 -0
- package/dist/client/react/ReadingPanel.d.ts.map +1 -0
- package/dist/client/react/ReadingPanel.js +6 -0
- package/dist/client/react/ReadingPanel.js.map +1 -0
- package/dist/client/react/Reference.d.ts.map +1 -1
- package/dist/client/react/Reference.js +3 -1
- package/dist/client/react/Reference.js.map +1 -1
- package/dist/client/react/RemainingMain.d.ts.map +1 -1
- package/dist/client/react/RemainingMain.js +9 -6
- package/dist/client/react/RemainingMain.js.map +1 -1
- package/dist/client/react/RespondPage.d.ts +1 -1
- package/dist/client/react/RespondPage.d.ts.map +1 -1
- package/dist/client/react/RespondPage.js +3 -14
- package/dist/client/react/RespondPage.js.map +1 -1
- package/dist/client/react/ResponseHistory.d.ts +2 -1
- package/dist/client/react/ResponseHistory.d.ts.map +1 -1
- package/dist/client/react/ResponseHistory.js +2 -2
- package/dist/client/react/ResponseHistory.js.map +1 -1
- package/dist/client/react/ResultCriteria.d.ts.map +1 -1
- package/dist/client/react/ResultCriteria.js +5 -5
- package/dist/client/react/ResultCriteria.js.map +1 -1
- package/dist/client/react/ResultPage.d.ts.map +1 -1
- package/dist/client/react/ResultPage.js +2 -1
- package/dist/client/react/ResultPage.js.map +1 -1
- package/dist/client/react/SearchDialog.d.ts.map +1 -1
- package/dist/client/react/SearchDialog.js +4 -61
- package/dist/client/react/SearchDialog.js.map +1 -1
- package/dist/client/react/SearchPalette.d.ts +11 -0
- package/dist/client/react/SearchPalette.d.ts.map +1 -0
- package/dist/client/react/SearchPalette.js +80 -0
- package/dist/client/react/SearchPalette.js.map +1 -0
- package/dist/client/react/SearchResults.d.ts.map +1 -1
- package/dist/client/react/SearchResults.js +3 -2
- package/dist/client/react/SearchResults.js.map +1 -1
- package/dist/client/react/SettingsPopover.d.ts +7 -0
- package/dist/client/react/SettingsPopover.d.ts.map +1 -0
- package/dist/client/react/SettingsPopover.js +8 -0
- package/dist/client/react/SettingsPopover.js.map +1 -0
- package/dist/client/react/ShellApi.d.ts +3 -2
- package/dist/client/react/ShellApi.d.ts.map +1 -1
- package/dist/client/react/Sidebar.d.ts +6 -4
- package/dist/client/react/Sidebar.d.ts.map +1 -1
- package/dist/client/react/Sidebar.js +26 -38
- package/dist/client/react/Sidebar.js.map +1 -1
- package/dist/client/react/SourceList.d.ts +5 -0
- package/dist/client/react/SourceList.d.ts.map +1 -0
- package/dist/client/react/SourceList.js +19 -0
- package/dist/client/react/SourceList.js.map +1 -0
- package/dist/client/react/StartPage.d.ts.map +1 -1
- package/dist/client/react/StartPage.js +2 -1
- package/dist/client/react/StartPage.js.map +1 -1
- package/dist/client/react/SystemFleetLane.d.ts +5 -0
- package/dist/client/react/SystemFleetLane.d.ts.map +1 -0
- package/dist/client/react/SystemFleetLane.js +12 -0
- package/dist/client/react/SystemFleetLane.js.map +1 -0
- package/dist/client/react/SystemHealth.d.ts +6 -0
- package/dist/client/react/SystemHealth.d.ts.map +1 -0
- package/dist/client/react/SystemHealth.js +16 -0
- package/dist/client/react/SystemHealth.js.map +1 -0
- package/dist/client/react/SystemMain.d.ts +8 -0
- package/dist/client/react/SystemMain.d.ts.map +1 -0
- package/dist/client/react/SystemMain.js +11 -0
- package/dist/client/react/SystemMain.js.map +1 -0
- package/dist/client/react/SystemPage.d.ts +5 -0
- package/dist/client/react/SystemPage.d.ts.map +1 -0
- package/dist/client/react/SystemPage.js +28 -0
- package/dist/client/react/SystemPage.js.map +1 -0
- package/dist/client/react/TodayGoals.d.ts +5 -0
- package/dist/client/react/TodayGoals.d.ts.map +1 -0
- package/dist/client/react/TodayGoals.js +12 -0
- package/dist/client/react/TodayGoals.js.map +1 -0
- package/dist/client/react/TodayNeeds.d.ts +7 -0
- package/dist/client/react/TodayNeeds.d.ts.map +1 -0
- package/dist/client/react/TodayNeeds.js +14 -0
- package/dist/client/react/TodayNeeds.js.map +1 -0
- package/dist/client/react/TodayOptions.d.ts +7 -0
- package/dist/client/react/TodayOptions.d.ts.map +1 -0
- package/dist/client/react/TodayOptions.js +64 -0
- package/dist/client/react/TodayOptions.js.map +1 -0
- package/dist/client/react/TodayPage.d.ts +7 -0
- package/dist/client/react/TodayPage.d.ts.map +1 -0
- package/dist/client/react/TodayPage.js +24 -0
- package/dist/client/react/TodayPage.js.map +1 -0
- package/dist/client/react/TodayProgress.d.ts +6 -0
- package/dist/client/react/TodayProgress.d.ts.map +1 -0
- package/dist/client/react/TodayProgress.js +18 -0
- package/dist/client/react/TodayProgress.js.map +1 -0
- package/dist/client/react/UpdatesToggle.d.ts +3 -1
- package/dist/client/react/UpdatesToggle.d.ts.map +1 -1
- package/dist/client/react/UpdatesToggle.js +4 -2
- package/dist/client/react/UpdatesToggle.js.map +1 -1
- package/dist/client/react/VisualViewer.d.ts.map +1 -1
- package/dist/client/react/VisualViewer.js +2 -1
- package/dist/client/react/VisualViewer.js.map +1 -1
- package/dist/client/react/WorkCard.d.ts +9 -0
- package/dist/client/react/WorkCard.d.ts.map +1 -0
- package/dist/client/react/WorkCard.js +12 -0
- package/dist/client/react/WorkCard.js.map +1 -0
- package/dist/client/react/WorkCardList.d.ts +10 -0
- package/dist/client/react/WorkCardList.d.ts.map +1 -0
- package/dist/client/react/WorkCardList.js +8 -0
- package/dist/client/react/WorkCardList.js.map +1 -0
- package/dist/client/react/WorkCards.d.ts.map +1 -1
- package/dist/client/react/WorkCards.js +9 -9
- package/dist/client/react/WorkCards.js.map +1 -1
- package/dist/client/react/WorkControls.d.ts.map +1 -1
- package/dist/client/react/WorkControls.js +1 -1
- package/dist/client/react/WorkControls.js.map +1 -1
- package/dist/client/react/WorkDetail.d.ts +3 -1
- package/dist/client/react/WorkDetail.d.ts.map +1 -1
- package/dist/client/react/WorkDetail.js +2 -2
- package/dist/client/react/WorkDetail.js.map +1 -1
- package/dist/client/react/WorkLane.d.ts +12 -0
- package/dist/client/react/WorkLane.d.ts.map +1 -0
- package/dist/client/react/WorkLane.js +9 -0
- package/dist/client/react/WorkLane.js.map +1 -0
- package/dist/client/react/WorkNow.d.ts +5 -0
- package/dist/client/react/WorkNow.d.ts.map +1 -0
- package/dist/client/react/WorkNow.js +20 -0
- package/dist/client/react/WorkNow.js.map +1 -0
- package/dist/client/react/WorkPage.d.ts +3 -1
- package/dist/client/react/WorkPage.d.ts.map +1 -1
- package/dist/client/react/WorkPage.js +10 -9
- package/dist/client/react/WorkPage.js.map +1 -1
- package/dist/client/react/WorkResults.d.ts.map +1 -1
- package/dist/client/react/WorkResults.js +4 -0
- package/dist/client/react/WorkResults.js.map +1 -1
- package/dist/client/react/WorkTable.d.ts.map +1 -1
- package/dist/client/react/WorkTable.js +7 -3
- package/dist/client/react/WorkTable.js.map +1 -1
- package/dist/client/react/WorkTools.d.ts.map +1 -1
- package/dist/client/react/WorkTools.js +3 -3
- package/dist/client/react/WorkTools.js.map +1 -1
- package/dist/client/react/activeRead.d.ts +2 -2
- package/dist/client/react/activeRead.d.ts.map +1 -1
- package/dist/client/react/activeRead.js +7 -3
- package/dist/client/react/activeRead.js.map +1 -1
- package/dist/client/react/components/ui/Badge.d.ts +8 -0
- package/dist/client/react/components/ui/Badge.d.ts.map +1 -0
- package/dist/client/react/components/ui/Badge.js +11 -0
- package/dist/client/react/components/ui/Badge.js.map +1 -0
- package/dist/client/react/components/ui/Button.d.ts +5 -0
- package/dist/client/react/components/ui/Button.d.ts.map +1 -0
- package/dist/client/react/components/ui/Button.js +7 -0
- package/dist/client/react/components/ui/Button.js.map +1 -0
- package/dist/client/react/components/ui/Card.d.ts +3 -0
- package/dist/client/react/components/ui/Card.d.ts.map +1 -0
- package/dist/client/react/components/ui/Card.js +6 -0
- package/dist/client/react/components/ui/Card.js.map +1 -0
- package/dist/client/react/components/ui/Command.d.ts +9 -0
- package/dist/client/react/components/ui/Command.d.ts.map +1 -0
- package/dist/client/react/components/ui/Command.js +24 -0
- package/dist/client/react/components/ui/Command.js.map +1 -0
- package/dist/client/react/components/ui/Popover.d.ts +10 -0
- package/dist/client/react/components/ui/Popover.d.ts.map +1 -0
- package/dist/client/react/components/ui/Popover.js +44 -0
- package/dist/client/react/components/ui/Popover.js.map +1 -0
- package/dist/client/react/components/ui/SegmentedBar.d.ts +17 -0
- package/dist/client/react/components/ui/SegmentedBar.d.ts.map +1 -0
- package/dist/client/react/components/ui/SegmentedBar.js +11 -0
- package/dist/client/react/components/ui/SegmentedBar.js.map +1 -0
- package/dist/client/react/components/ui/Sheet.d.ts +4 -0
- package/dist/client/react/components/ui/Sheet.d.ts.map +1 -0
- package/dist/client/react/components/ui/Sheet.js +7 -0
- package/dist/client/react/components/ui/Sheet.js.map +1 -0
- package/dist/client/react/components/ui/StatusChip.d.ts +5 -0
- package/dist/client/react/components/ui/StatusChip.d.ts.map +1 -0
- package/dist/client/react/components/ui/StatusChip.js +26 -0
- package/dist/client/react/components/ui/StatusChip.js.map +1 -0
- package/dist/client/react/components/ui/StatusSegments.d.ts +6 -0
- package/dist/client/react/components/ui/StatusSegments.d.ts.map +1 -0
- package/dist/client/react/components/ui/StatusSegments.js +19 -0
- package/dist/client/react/components/ui/StatusSegments.js.map +1 -0
- package/dist/client/react/components/ui/Tabs.d.ts +12 -0
- package/dist/client/react/components/ui/Tabs.d.ts.map +1 -0
- package/dist/client/react/components/ui/Tabs.js +28 -0
- package/dist/client/react/components/ui/Tabs.js.map +1 -0
- package/dist/client/react/components/ui/Tooltip.d.ts +8 -0
- package/dist/client/react/components/ui/Tooltip.d.ts.map +1 -0
- package/dist/client/react/components/ui/Tooltip.js +7 -0
- package/dist/client/react/components/ui/Tooltip.js.map +1 -0
- package/dist/client/react/components/ui/buttonVariants.d.ts +5 -0
- package/dist/client/react/components/ui/buttonVariants.d.ts.map +1 -0
- package/dist/client/react/components/ui/buttonVariants.js +14 -0
- package/dist/client/react/components/ui/buttonVariants.js.map +1 -0
- package/dist/client/react/components/ui/statusPresentation.d.ts +20 -0
- package/dist/client/react/components/ui/statusPresentation.d.ts.map +1 -0
- package/dist/client/react/components/ui/statusPresentation.js +32 -0
- package/dist/client/react/components/ui/statusPresentation.js.map +1 -0
- package/dist/client/react/diagnosticsValues.js +2 -2
- package/dist/client/react/diagnosticsValues.js.map +1 -1
- package/dist/client/react/documentRoute.d.ts +1 -1
- package/dist/client/react/documentRoute.d.ts.map +1 -1
- package/dist/client/react/documentRoute.js +2 -2
- package/dist/client/react/documentRoute.js.map +1 -1
- package/dist/client/react/entry.js +3 -7
- package/dist/client/react/entry.js.map +1 -1
- package/dist/client/react/goalWork.d.ts +13 -0
- package/dist/client/react/goalWork.d.ts.map +1 -0
- package/dist/client/react/goalWork.js +12 -0
- package/dist/client/react/goalWork.js.map +1 -0
- package/dist/client/react/inProgressItems.d.ts +95 -0
- package/dist/client/react/inProgressItems.d.ts.map +1 -0
- package/dist/client/react/inProgressItems.js +4 -0
- package/dist/client/react/inProgressItems.js.map +1 -0
- package/dist/client/react/loadBoardPage.d.ts +1 -1
- package/dist/client/react/loadBoardPage.d.ts.map +1 -1
- package/dist/client/react/loadBoardPage.js +31 -3
- package/dist/client/react/loadBoardPage.js.map +1 -1
- package/dist/client/react/loadProjection.d.ts +158 -161
- package/dist/client/react/loadProjection.d.ts.map +1 -1
- package/dist/client/react/loadProjection.js +3 -4
- package/dist/client/react/loadProjection.js.map +1 -1
- package/dist/client/react/loadRemaining.d.ts +454 -67
- package/dist/client/react/loadRemaining.d.ts.map +1 -1
- package/dist/client/react/loadRemaining.js +9 -4
- package/dist/client/react/loadRemaining.js.map +1 -1
- package/dist/client/react/mainLocation.d.ts +3 -1
- package/dist/client/react/mainLocation.d.ts.map +1 -1
- package/dist/client/react/mainLocation.js +7 -7
- package/dist/client/react/mainLocation.js.map +1 -1
- package/dist/client/react/pageQueries.d.ts +5 -0
- package/dist/client/react/pageQueries.d.ts.map +1 -0
- package/dist/client/react/pageQueries.js +39 -0
- package/dist/client/react/pageQueries.js.map +1 -0
- package/dist/client/react/projectionChanges.d.ts.map +1 -1
- package/dist/client/react/projectionChanges.js +3 -1
- package/dist/client/react/projectionChanges.js.map +1 -1
- package/dist/client/react/projectionRoute.d.ts +2 -2
- package/dist/client/react/projectionRoute.d.ts.map +1 -1
- package/dist/client/react/projectionRoute.js +4 -7
- package/dist/client/react/projectionRoute.js.map +1 -1
- package/dist/client/react/readerLink.js +1 -1
- package/dist/client/react/readerLink.js.map +1 -1
- package/dist/client/react/readingLibrary.d.ts +1 -0
- package/dist/client/react/readingLibrary.d.ts.map +1 -1
- package/dist/client/react/readingLibrary.js +1 -1
- package/dist/client/react/readingLibrary.js.map +1 -1
- package/dist/client/react/readingPassage.d.ts +4 -0
- package/dist/client/react/readingPassage.d.ts.map +1 -0
- package/dist/client/react/readingPassage.js +41 -0
- package/dist/client/react/readingPassage.js.map +1 -0
- package/dist/client/react/readingState.d.ts +0 -2
- package/dist/client/react/readingState.d.ts.map +1 -1
- package/dist/client/react/readingState.js +1 -31
- package/dist/client/react/readingState.js.map +1 -1
- package/dist/client/react/remainingRoute.d.ts +1 -1
- package/dist/client/react/remainingRoute.d.ts.map +1 -1
- package/dist/client/react/remainingRoute.js +6 -4
- package/dist/client/react/remainingRoute.js.map +1 -1
- package/dist/client/react/retryPage.d.ts +4 -0
- package/dist/client/react/retryPage.d.ts.map +1 -0
- package/dist/client/react/retryPage.js +13 -0
- package/dist/client/react/retryPage.js.map +1 -0
- package/dist/client/react/scheduleReading.d.ts +1 -1
- package/dist/client/react/scheduleReading.d.ts.map +1 -1
- package/dist/client/react/scheduleReading.js +16 -11
- package/dist/client/react/scheduleReading.js.map +1 -1
- package/dist/client/react/searchCommands.d.ts +6 -0
- package/dist/client/react/searchCommands.d.ts.map +1 -1
- package/dist/client/react/searchCommands.js +20 -1
- package/dist/client/react/searchCommands.js.map +1 -1
- package/dist/client/react/shellIds.d.ts +2 -4
- package/dist/client/react/shellIds.d.ts.map +1 -1
- package/dist/client/react/shellIds.js +2 -4
- package/dist/client/react/shellIds.js.map +1 -1
- package/dist/client/react/useAppearance.d.ts.map +1 -1
- package/dist/client/react/useAppearance.js +1 -0
- package/dist/client/react/useAppearance.js.map +1 -1
- package/dist/client/react/useBoardNavigation.d.ts.map +1 -1
- package/dist/client/react/useBoardNavigation.js +11 -9
- package/dist/client/react/useBoardNavigation.js.map +1 -1
- package/dist/client/react/useDiagnosticsPolling.d.ts +1 -1
- package/dist/client/react/useDiagnosticsPolling.d.ts.map +1 -1
- package/dist/client/react/useDiagnosticsPolling.js +5 -2
- package/dist/client/react/useDiagnosticsPolling.js.map +1 -1
- package/dist/client/react/useDocumentPage.d.ts +1 -1
- package/dist/client/react/useDocumentPage.d.ts.map +1 -1
- package/dist/client/react/useDocumentPage.js +5 -1
- package/dist/client/react/useDocumentPage.js.map +1 -1
- package/dist/client/react/useFormFocus.d.ts +2 -0
- package/dist/client/react/useFormFocus.d.ts.map +1 -1
- package/dist/client/react/useFormFocus.js +8 -5
- package/dist/client/react/useFormFocus.js.map +1 -1
- package/dist/client/react/useProjectionData.d.ts +15 -0
- package/dist/client/react/useProjectionData.d.ts.map +1 -0
- package/dist/client/react/useProjectionData.js +21 -0
- package/dist/client/react/useProjectionData.js.map +1 -0
- package/dist/client/react/useResponseForm.d.ts +2 -1
- package/dist/client/react/useResponseForm.d.ts.map +1 -1
- package/dist/client/react/useResponseForm.js +20 -22
- package/dist/client/react/useResponseForm.js.map +1 -1
- package/dist/client/react/useVirtualRows.d.ts +9 -0
- package/dist/client/react/useVirtualRows.d.ts.map +1 -0
- package/dist/client/react/useVirtualRows.js +14 -0
- package/dist/client/react/useVirtualRows.js.map +1 -0
- package/dist/client/react/workspaceDestinations.d.ts +27 -0
- package/dist/client/react/workspaceDestinations.d.ts.map +1 -0
- package/dist/client/react/workspaceDestinations.js +8 -0
- package/dist/client/react/workspaceDestinations.js.map +1 -0
- package/dist/client/responses/summary.d.ts +2 -2
- package/dist/client/responses/summary.d.ts.map +1 -1
- package/dist/client/responses/summary.js +6 -6
- package/dist/client/responses/summary.js.map +1 -1
- package/dist/diagnostics/daemonContract.d.ts +36 -0
- package/dist/diagnostics/daemonContract.d.ts.map +1 -1
- package/dist/diagnostics/daemonContract.js +5 -1
- package/dist/diagnostics/daemonContract.js.map +1 -1
- package/dist/diagnostics/fleetItems.d.ts +41 -0
- package/dist/diagnostics/fleetItems.d.ts.map +1 -0
- package/dist/diagnostics/fleetItems.js +25 -0
- package/dist/diagnostics/fleetItems.js.map +1 -0
- package/dist/metadata/schema.d.ts +1 -1
- package/dist/metadata/schema.d.ts.map +1 -1
- package/dist/metadata/schema.js +1 -1
- package/dist/metadata/schema.js.map +1 -1
- package/dist/render/visual.d.ts.map +1 -1
- package/dist/render/visual.js +7 -5
- package/dist/render/visual.js.map +1 -1
- package/dist/rpc/PageUrl.d.ts +3 -0
- package/dist/rpc/PageUrl.d.ts.map +1 -0
- package/dist/rpc/PageUrl.js +28 -0
- package/dist/rpc/PageUrl.js.map +1 -0
- package/dist/rpc/Server.d.ts +6 -0
- package/dist/rpc/Server.d.ts.map +1 -0
- package/dist/rpc/Server.js +3 -0
- package/dist/rpc/Server.js.map +1 -0
- package/dist/rpc/contract.d.ts +3195 -1786
- package/dist/rpc/contract.d.ts.map +1 -1
- package/dist/rpc/contract.js +25 -44
- package/dist/rpc/contract.js.map +1 -1
- package/dist/rpc/handoffContract.d.ts +33 -33
- package/dist/rpc/pageKeys.js +1 -1
- package/dist/rpc/pageKeys.js.map +1 -1
- package/dist/rpc/responseContract.d.ts +51 -51
- package/dist/server/attention/inbox.d.ts +15 -2
- package/dist/server/attention/inbox.d.ts.map +1 -1
- package/dist/server/attention/inbox.js +21 -26
- package/dist/server/attention/inbox.js.map +1 -1
- package/dist/server/attention/managedRequestReceipt.d.ts.map +1 -1
- package/dist/server/attention/managedRequestReceipt.js +16 -11
- package/dist/server/attention/managedRequestReceipt.js.map +1 -1
- package/dist/server/attention/projection.d.ts +4 -0
- package/dist/server/attention/projection.d.ts.map +1 -0
- package/dist/server/attention/projection.js +29 -0
- package/dist/server/attention/projection.js.map +1 -0
- package/dist/server/attention/questionState.d.ts +1 -1
- package/dist/server/attention/questionState.d.ts.map +1 -1
- package/dist/server/attention/questionState.js +13 -23
- package/dist/server/attention/questionState.js.map +1 -1
- package/dist/server/attention/requestInbox.d.ts +41 -0
- package/dist/server/attention/requestInbox.d.ts.map +1 -0
- package/dist/server/attention/requestInbox.js +56 -0
- package/dist/server/attention/requestInbox.js.map +1 -0
- package/dist/server/attention/requests.d.ts +4 -2
- package/dist/server/attention/requests.d.ts.map +1 -1
- package/dist/server/attention/requests.js +10 -1
- package/dist/server/attention/requests.js.map +1 -1
- package/dist/server/attention/status.d.ts +4 -0
- package/dist/server/attention/status.d.ts.map +1 -0
- package/dist/server/attention/status.js +11 -0
- package/dist/server/attention/status.js.map +1 -0
- package/dist/server/board.d.ts +1 -1
- package/dist/server/board.d.ts.map +1 -1
- package/dist/server/boardRuntime.d.ts +5 -2
- package/dist/server/boardRuntime.d.ts.map +1 -1
- package/dist/server/boardRuntime.js +3 -1
- package/dist/server/boardRuntime.js.map +1 -1
- package/dist/server/boardSocket.d.ts +3 -0
- package/dist/server/boardSocket.d.ts.map +1 -0
- package/dist/server/boardSocket.js +65 -0
- package/dist/server/boardSocket.js.map +1 -0
- package/dist/server/cli.js +5 -1
- package/dist/server/cli.js.map +1 -1
- package/dist/server/currentDocument.d.ts +9 -0
- package/dist/server/currentDocument.d.ts.map +1 -0
- package/dist/server/currentDocument.js +16 -0
- package/dist/server/currentDocument.js.map +1 -0
- package/dist/server/diagnostics/daemon.d.ts +93 -1
- package/dist/server/diagnostics/daemon.d.ts.map +1 -1
- package/dist/server/diagnostics/daemon.js +28 -14
- package/dist/server/diagnostics/daemon.js.map +1 -1
- package/dist/server/document/answerBody.d.ts +4 -0
- package/dist/server/document/answerBody.d.ts.map +1 -0
- package/dist/server/document/answerBody.js +84 -0
- package/dist/server/document/answerBody.js.map +1 -0
- package/dist/server/document/read.d.ts +17 -2
- package/dist/server/document/read.d.ts.map +1 -1
- package/dist/server/document/read.js +20 -12
- package/dist/server/document/read.js.map +1 -1
- package/dist/server/document/readingContext.d.ts +4 -2
- package/dist/server/document/readingContext.d.ts.map +1 -1
- package/dist/server/document/readingContext.js +12 -4
- package/dist/server/document/readingContext.js.map +1 -1
- package/dist/server/document/requestTitle.d.ts +4 -0
- package/dist/server/document/requestTitle.d.ts.map +1 -0
- package/dist/server/document/requestTitle.js +8 -0
- package/dist/server/document/requestTitle.js.map +1 -0
- package/dist/server/document/requests.d.ts.map +1 -1
- package/dist/server/document/requests.js +43 -3
- package/dist/server/document/requests.js.map +1 -1
- package/dist/server/files/watchDirectories.d.ts.map +1 -1
- package/dist/server/files/watchDirectories.js +1 -1
- package/dist/server/files/watchDirectories.js.map +1 -1
- package/dist/server/http/assets.d.ts.map +1 -1
- package/dist/server/http/assets.js +2 -2
- package/dist/server/http/assets.js.map +1 -1
- package/dist/server/http/boardRoutes.d.ts.map +1 -1
- package/dist/server/http/boardRoutes.js +20 -18
- package/dist/server/http/boardRoutes.js.map +1 -1
- package/dist/server/http/identity.d.ts +1 -1
- package/dist/server/http/identity.d.ts.map +1 -1
- package/dist/server/http/identity.js +16 -25
- package/dist/server/http/identity.js.map +1 -1
- package/dist/server/http/page.d.ts +1 -1
- package/dist/server/http/page.d.ts.map +1 -1
- package/dist/server/http/page.js +25 -61
- package/dist/server/http/page.js.map +1 -1
- package/dist/server/http/rpcPolicy.d.ts +1 -0
- package/dist/server/http/rpcPolicy.d.ts.map +1 -1
- package/dist/server/http/rpcPolicy.js +1 -0
- package/dist/server/http/rpcPolicy.js.map +1 -1
- package/dist/server/integration/attention.d.ts +4 -0
- package/dist/server/integration/attention.d.ts.map +1 -1
- package/dist/server/integration/attention.js +2 -0
- package/dist/server/integration/attention.js.map +1 -1
- package/dist/server/integration/diagnostics.d.ts +38 -0
- package/dist/server/integration/diagnostics.d.ts.map +1 -1
- package/dist/server/integration/diagnostics.js +3 -0
- package/dist/server/integration/diagnostics.js.map +1 -1
- package/dist/server/mcp/client.d.ts +2022 -0
- package/dist/server/mcp/client.d.ts.map +1 -0
- package/dist/server/mcp/client.js +33 -0
- package/dist/server/mcp/client.js.map +1 -0
- package/dist/server/mcp/queries.d.ts +6415 -0
- package/dist/server/mcp/queries.d.ts.map +1 -0
- package/dist/server/mcp/queries.js +50 -0
- package/dist/server/mcp/queries.js.map +1 -0
- package/dist/server/mcp/run.d.ts +2 -0
- package/dist/server/mcp/run.d.ts.map +1 -0
- package/dist/server/mcp/run.js +21 -0
- package/dist/server/mcp/run.js.map +1 -0
- package/dist/server/mcp/schema.d.ts +315 -0
- package/dist/server/mcp/schema.d.ts.map +1 -0
- package/dist/server/mcp/schema.js +42 -0
- package/dist/server/mcp/schema.js.map +1 -0
- package/dist/server/mcp/tools.d.ts +3 -0
- package/dist/server/mcp/tools.d.ts.map +1 -0
- package/dist/server/mcp/tools.js +28 -0
- package/dist/server/mcp/tools.js.map +1 -0
- package/dist/server/metadata/backlinks.d.ts.map +1 -1
- package/dist/server/metadata/backlinks.js +21 -5
- package/dist/server/metadata/backlinks.js.map +1 -1
- package/dist/server/metadata/fields.d.ts +1 -1
- package/dist/server/metadata/fields.d.ts.map +1 -1
- package/dist/server/metadata/fields.js +7 -0
- package/dist/server/metadata/fields.js.map +1 -1
- package/dist/server/metadata/sourceLinks.js +2 -2
- package/dist/server/metadata/sourceLinks.js.map +1 -1
- package/dist/server/navigation/libraryData.d.ts +6 -0
- package/dist/server/navigation/libraryData.d.ts.map +1 -0
- package/dist/server/navigation/libraryData.js +36 -0
- package/dist/server/navigation/libraryData.js.map +1 -0
- package/dist/server/navigation/model.d.ts +2 -2
- package/dist/server/navigation/model.d.ts.map +1 -1
- package/dist/server/navigation/model.js +13 -55
- package/dist/server/navigation/model.js.map +1 -1
- package/dist/server/packageInfo.d.ts +3 -0
- package/dist/server/packageInfo.d.ts.map +1 -0
- package/dist/server/packageInfo.js +3 -0
- package/dist/server/packageInfo.js.map +1 -0
- package/dist/server/page/initialTheme.d.ts +3 -0
- package/dist/server/page/initialTheme.d.ts.map +1 -0
- package/dist/server/page/initialTheme.js +14 -0
- package/dist/server/page/initialTheme.js.map +1 -0
- package/dist/server/page/shell.d.ts +1 -2
- package/dist/server/page/shell.d.ts.map +1 -1
- package/dist/server/page/shell.js +5 -32
- package/dist/server/page/shell.js.map +1 -1
- package/dist/server/page/startTemplates.d.ts +3 -3
- package/dist/server/page/startTemplates.js +3 -3
- package/dist/server/responseIndex.d.ts +20 -0
- package/dist/server/responseIndex.d.ts.map +1 -0
- package/dist/server/responseIndex.js +73 -0
- package/dist/server/responseIndex.js.map +1 -0
- package/dist/server/responses/history.d.ts.map +1 -1
- package/dist/server/responses/history.js +5 -7
- package/dist/server/responses/history.js.map +1 -1
- package/dist/server/responses/locate.d.ts.map +1 -1
- package/dist/server/responses/locate.js +3 -6
- package/dist/server/responses/locate.js.map +1 -1
- package/dist/server/responses/optionPrompt.js +1 -1
- package/dist/server/responses/optionPrompt.js.map +1 -1
- package/dist/server/responses/read.d.ts.map +1 -1
- package/dist/server/responses/read.js +7 -6
- package/dist/server/responses/read.js.map +1 -1
- package/dist/server/rpc/HandlerOptions.d.ts +4 -0
- package/dist/server/rpc/HandlerOptions.d.ts.map +1 -1
- package/dist/server/rpc/handlers.d.ts +1 -1
- package/dist/server/rpc/handlers.d.ts.map +1 -1
- package/dist/server/rpc/handlers.js +15 -10
- package/dist/server/rpc/handlers.js.map +1 -1
- package/dist/server/search/entries.d.ts +5 -0
- package/dist/server/search/entries.d.ts.map +1 -1
- package/dist/server/search/entries.js.map +1 -1
- package/dist/server/search/match.d.ts +6 -1
- package/dist/server/search/match.d.ts.map +1 -1
- package/dist/server/search/match.js +41 -11
- package/dist/server/search/match.js.map +1 -1
- package/dist/server/search/metadataEntries.d.ts +1 -1
- package/dist/server/search/metadataEntries.d.ts.map +1 -1
- package/dist/server/search/metadataEntries.js +23 -5
- package/dist/server/search/metadataEntries.js.map +1 -1
- package/dist/server/search/snippet.d.ts +2 -0
- package/dist/server/search/snippet.d.ts.map +1 -0
- package/dist/server/search/snippet.js +10 -0
- package/dist/server/search/snippet.js.map +1 -0
- package/dist/server/search/updateEntries.d.ts.map +1 -1
- package/dist/server/search/updateEntries.js +6 -2
- package/dist/server/search/updateEntries.js.map +1 -1
- package/dist/server/serve-cli.d.ts.map +1 -1
- package/dist/server/serve-cli.js +1 -1
- package/dist/server/serve-cli.js.map +1 -1
- package/dist/server/serve.d.ts +3 -2
- package/dist/server/serve.d.ts.map +1 -1
- package/dist/server/serve.js +19 -7
- package/dist/server/serve.js.map +1 -1
- package/dist/server/views/fleetApproval.d.ts +3 -0
- package/dist/server/views/fleetApproval.d.ts.map +1 -0
- package/dist/server/views/fleetApproval.js +11 -0
- package/dist/server/views/fleetApproval.js.map +1 -0
- package/dist/server/views/fleetItems.d.ts +5 -0
- package/dist/server/views/fleetItems.d.ts.map +1 -0
- package/dist/server/views/fleetItems.js +24 -0
- package/dist/server/views/fleetItems.js.map +1 -0
- package/dist/server/views/goals.d.ts +5 -0
- package/dist/server/views/goals.d.ts.map +1 -0
- package/dist/server/views/goals.js +53 -0
- package/dist/server/views/goals.js.map +1 -0
- package/dist/server/views/projection.d.ts.map +1 -1
- package/dist/server/views/projection.js +3 -2
- package/dist/server/views/projection.js.map +1 -1
- package/dist/server/views/projectionQueries.d.ts +83 -24
- package/dist/server/views/projectionQueries.d.ts.map +1 -1
- package/dist/server/views/projectionQueries.js +12 -29
- package/dist/server/views/projectionQueries.js.map +1 -1
- package/dist/server/views/remainingQueries.d.ts +42 -5
- package/dist/server/views/remainingQueries.d.ts.map +1 -1
- package/dist/server/views/resultProjection.d.ts +32 -2
- package/dist/server/views/resultProjection.d.ts.map +1 -1
- package/dist/server/views/state.d.ts +1 -1
- package/docs/delivery/attention-examples.md +4 -4
- package/docs/delivery/browser-acceptance.md +15 -43
- package/docs/delivery/handoff-examples.md +1 -1
- package/docs/delivery/reading-review.md +1 -1
- package/docs/delivery/response-write-examples.md +1 -1
- package/docs/delivery/source-examples.md +2 -2
- package/docs/delivery/visual-document-examples.md +2 -2
- package/docs/delivery/wave1.md +3 -8
- package/docs/images/answer-card/desktop.png +0 -0
- package/docs/images/answer-card/mobile.png +0 -0
- package/docs/images/command-palette/commands-1440.png +0 -0
- package/docs/images/command-palette/commands-390.png +0 -0
- package/docs/images/command-palette/goal-id-1440.png +0 -0
- package/docs/images/command-palette/goal-id-390.png +0 -0
- package/docs/images/command-palette/goal-title-1440.png +0 -0
- package/docs/images/command-palette/goal-title-390.png +0 -0
- package/docs/images/command-palette/identity-1440.png +0 -0
- package/docs/images/command-palette/identity-390.png +0 -0
- package/docs/images/command-palette/inbox-1440.png +0 -0
- package/docs/images/command-palette/inbox-390.png +0 -0
- package/docs/images/command-palette/record-items-1440.png +0 -0
- package/docs/images/command-palette/record-items-390.png +0 -0
- package/docs/images/command-palette/records-1440.png +0 -0
- package/docs/images/command-palette/records-390.png +0 -0
- package/docs/images/command-palette/watch-1440.png +0 -0
- package/docs/images/command-palette/watch-390.png +0 -0
- package/docs/images/command-palette/watch-records-1440.png +0 -0
- package/docs/images/command-palette/watch-records-390.png +0 -0
- package/docs/images/current-views/handoff-1440.png +0 -0
- package/docs/images/current-views/handoff-390.png +0 -0
- package/docs/images/current-views/result-1440.png +0 -0
- package/docs/images/current-views/result-390.png +0 -0
- package/docs/images/current-views/start-1440.png +0 -0
- package/docs/images/current-views/start-390.png +0 -0
- package/docs/images/current-views/system-1440.png +0 -0
- package/docs/images/current-views/system-390.png +0 -0
- package/docs/images/goal-page/desktop.png +0 -0
- package/docs/images/goal-page/narrow.png +0 -0
- package/docs/images/item-overview/goal-1440.png +0 -0
- package/docs/images/item-overview/goal-390.png +0 -0
- package/docs/images/item-overview/plain-1440.png +0 -0
- package/docs/images/item-overview/plain-390.png +0 -0
- package/docs/images/item-overview/report-1440.png +0 -0
- package/docs/images/item-overview/report-390.png +0 -0
- package/docs/images/item-overview/task-1440.png +0 -0
- package/docs/images/item-overview/task-390.png +0 -0
- package/docs/images/library-1440.png +0 -0
- package/docs/images/library-390.png +0 -0
- package/docs/images/now-desktop.png +0 -0
- package/docs/images/now-mobile.png +0 -0
- package/docs/images/print-full-width.png +0 -0
- package/docs/images/shell-1440-dark.png +0 -0
- package/docs/images/shell-1440-light.png +0 -0
- package/docs/images/shell-390-dark.png +0 -0
- package/docs/images/shell-390-light.png +0 -0
- package/docs/images/sidebar-1440.png +0 -0
- package/docs/images/sidebar-390-dark.png +0 -0
- package/docs/images/sidebar-390-light.png +0 -0
- package/docs/images/sidebar-390.png +0 -0
- package/docs/north-star.md +5 -1
- package/docs/roadmap.md +9 -31
- package/docs/screenshots/today-1440.png +0 -0
- package/docs/screenshots/today-390.png +0 -0
- package/package.json +29 -39
- package/src/browser/Navigation.ts +8 -0
- package/src/browser/document/ReadingContext.ts +9 -1
- package/src/browser/document/schema.ts +5 -0
- package/src/browser/document/sourceGroups.ts +52 -0
- package/src/browser/navigation/library.ts +25 -0
- package/src/browser/responses/cardContext.ts +50 -0
- package/src/browser/responses/reasonMarkdown.ts +5 -0
- package/src/browser/views/FleetItemsProjection.ts +14 -0
- package/src/browser/views/GoalsProjection.ts +23 -0
- package/src/browser/views/goalWorkState.ts +17 -0
- package/src/browser/views/now.ts +93 -0
- package/src/browser/views/schema.ts +19 -34
- package/src/browser/views/state.ts +2 -2
- package/src/client/document/Mermaid.ts +4 -3
- package/src/client/document/View.ts +38 -10
- package/src/client/document/boardLayout.ts +9 -3
- package/src/client/document/layout.ts +1 -1
- package/src/client/document/mermaidColor.ts +19 -0
- package/src/client/formFocus.ts +1 -2
- package/src/client/page/routeQuery.ts +4 -0
- package/src/client/react/Age.tsx +8 -1
- package/src/client/react/AnswerContext.tsx +29 -0
- package/src/client/react/AnswerForm.tsx +33 -49
- package/src/client/react/AnswerMore.tsx +67 -0
- package/src/client/react/AnswerPanel.tsx +56 -28
- package/src/client/react/AnswerPrompts.tsx +16 -6
- package/src/client/react/BoardMain.tsx +1 -1
- package/src/client/react/BoardShell.tsx +24 -29
- package/src/client/react/DocumentAttention.tsx +9 -8
- package/src/client/react/DocumentClaims.tsx +10 -10
- package/src/client/react/DocumentContext.tsx +36 -25
- package/src/client/react/DocumentCriteria.tsx +18 -10
- package/src/client/react/DocumentEvidence.tsx +1 -3
- package/src/client/react/DocumentMain.tsx +8 -5
- package/src/client/react/DocumentMetadata.tsx +13 -11
- package/src/client/react/DocumentPage.tsx +15 -21
- package/src/client/react/DocumentRecords.tsx +1 -1
- package/src/client/react/DocumentRelationships.tsx +59 -0
- package/src/client/react/DocumentSource.tsx +30 -0
- package/src/client/react/DocumentWorkMetadata.tsx +9 -91
- package/src/client/react/FleetItemsContext.ts +3 -0
- package/src/client/react/FleetMain.tsx +13 -0
- package/src/client/react/FormField.tsx +7 -3
- package/src/client/react/GoalCriteria.tsx +59 -0
- package/src/client/react/GoalOverviewCard.tsx +48 -0
- package/src/client/react/GoalPage.tsx +22 -0
- package/src/client/react/GoalProgress.tsx +45 -0
- package/src/client/react/GoalProgressHeader.tsx +35 -0
- package/src/client/react/GoalProgressSummary.tsx +13 -0
- package/src/client/react/GoalWorkTable.tsx +82 -0
- package/src/client/react/GoalsPage.tsx +30 -0
- package/src/client/react/HandoffForm.tsx +8 -6
- package/src/client/react/HandoffPage.tsx +6 -5
- package/src/client/react/HandoffPrompt.tsx +11 -3
- package/src/client/react/Header.tsx +71 -45
- package/src/client/react/HomeBoard.tsx +8 -7
- package/src/client/react/ItemSummary.tsx +80 -0
- package/src/client/react/KeyboardHints.tsx +7 -0
- package/src/client/react/LibraryContents.tsx +82 -0
- package/src/client/react/LibraryMain.tsx +25 -0
- package/src/client/react/LibraryPage.tsx +74 -0
- package/src/client/react/LiveControls.tsx +8 -4
- package/src/client/react/Modal.tsx +3 -0
- package/src/client/react/PhoneNavigation.tsx +84 -0
- package/src/client/react/PrChip.tsx +13 -0
- package/src/client/react/ProjectionFrame.tsx +14 -21
- package/src/client/react/ProjectionMain.tsx +11 -21
- package/src/client/react/PromptOption.tsx +17 -17
- package/src/client/react/ReadingHistory.tsx +72 -0
- package/src/client/react/ReadingLibrary.tsx +9 -57
- package/src/client/react/ReadingPanel.tsx +14 -0
- package/src/client/react/Reference.tsx +13 -1
- package/src/client/react/RemainingMain.tsx +16 -6
- package/src/client/react/RespondPage.tsx +4 -37
- package/src/client/react/ResponseHistory.tsx +8 -2
- package/src/client/react/ResultCriteria.tsx +10 -11
- package/src/client/react/ResultPage.tsx +6 -4
- package/src/client/react/SearchDialog.tsx +14 -105
- package/src/client/react/SearchPalette.tsx +129 -0
- package/src/client/react/SearchResults.tsx +6 -3
- package/src/client/react/SettingsPopover.tsx +43 -0
- package/src/client/react/ShellApi.ts +3 -2
- package/src/client/react/Sidebar.tsx +83 -63
- package/src/client/react/SourceList.tsx +44 -0
- package/src/client/react/StartPage.tsx +13 -5
- package/src/client/react/SystemFleetLane.tsx +40 -0
- package/src/client/react/SystemHealth.tsx +64 -0
- package/src/client/react/SystemMain.tsx +29 -0
- package/src/client/react/SystemPage.tsx +89 -0
- package/src/client/react/TodayGoals.tsx +52 -0
- package/src/client/react/TodayNeeds.tsx +54 -0
- package/src/client/react/TodayOptions.tsx +116 -0
- package/src/client/react/TodayPage.tsx +69 -0
- package/src/client/react/TodayProgress.tsx +58 -0
- package/src/client/react/UpdatesToggle.tsx +6 -3
- package/src/client/react/VisualViewer.tsx +3 -1
- package/src/client/react/WorkCard.tsx +38 -0
- package/src/client/react/WorkCardList.tsx +30 -0
- package/src/client/react/WorkCards.tsx +21 -33
- package/src/client/react/WorkControls.tsx +1 -3
- package/src/client/react/WorkDetail.tsx +3 -2
- package/src/client/react/WorkLane.tsx +39 -0
- package/src/client/react/WorkNow.tsx +35 -0
- package/src/client/react/WorkPage.tsx +24 -17
- package/src/client/react/WorkResults.tsx +4 -0
- package/src/client/react/WorkTable.tsx +37 -11
- package/src/client/react/WorkTools.tsx +13 -11
- package/src/client/react/activeRead.ts +8 -4
- package/src/client/react/command-palette.css +59 -0
- package/src/client/react/components/ui/Badge.tsx +11 -0
- package/src/client/react/components/ui/Button.tsx +8 -0
- package/src/client/react/components/ui/Card.tsx +5 -0
- package/src/client/react/components/ui/Command.tsx +64 -0
- package/src/client/react/components/ui/Popover.tsx +87 -0
- package/src/client/react/components/ui/SegmentedBar.tsx +40 -0
- package/src/client/react/components/ui/Sheet.tsx +14 -0
- package/src/client/react/components/ui/StatusChip.tsx +31 -0
- package/src/client/react/components/ui/StatusSegments.tsx +56 -0
- package/src/client/react/components/ui/Tabs.tsx +70 -0
- package/src/client/react/components/ui/Tooltip.tsx +17 -0
- package/src/client/react/components/ui/buttonVariants.ts +16 -0
- package/src/client/react/components/ui/statusPresentation.ts +32 -0
- package/src/client/react/diagnosticsValues.tsx +3 -3
- package/src/client/react/documentRoute.ts +3 -3
- package/src/client/react/entry.css +239 -22
- package/src/client/react/entry.tsx +3 -7
- package/src/client/react/goalWork.ts +21 -0
- package/src/client/react/inProgressItems.ts +5 -0
- package/src/client/react/loadBoardPage.ts +34 -4
- package/src/client/react/loadProjection.ts +3 -4
- package/src/client/react/loadRemaining.ts +9 -4
- package/src/client/react/mainLocation.ts +8 -7
- package/src/client/react/pageQueries.ts +42 -0
- package/src/client/react/projectionChanges.ts +5 -3
- package/src/client/react/projectionRoute.ts +5 -8
- package/src/client/react/readerLink.ts +1 -1
- package/src/client/react/readingLibrary.ts +2 -1
- package/src/client/react/readingPassage.ts +40 -0
- package/src/client/react/readingState.ts +1 -30
- package/src/client/react/remainingRoute.ts +6 -4
- package/src/client/react/retryPage.ts +15 -0
- package/src/client/react/scheduleReading.ts +15 -10
- package/src/client/react/searchCommands.ts +26 -1
- package/src/client/react/shellIds.ts +2 -4
- package/src/client/react/useAppearance.ts +1 -0
- package/src/client/react/useBoardNavigation.ts +11 -16
- package/src/client/react/useDiagnosticsPolling.ts +5 -2
- package/src/client/react/useDocumentPage.ts +5 -2
- package/src/client/react/useFormFocus.ts +22 -16
- package/src/client/react/useProjectionData.ts +26 -0
- package/src/client/react/useResponseForm.ts +20 -22
- package/src/client/react/useVirtualRows.ts +14 -0
- package/src/client/react/workspaceDestinations.ts +7 -0
- package/src/client/responses/summary.ts +6 -6
- package/src/diagnostics/daemonContract.ts +5 -1
- package/src/diagnostics/fleetItems.ts +26 -0
- package/src/metadata/schema.ts +3 -1
- package/src/render/visual.ts +7 -5
- package/src/rpc/PageUrl.ts +32 -0
- package/src/rpc/Server.ts +3 -0
- package/src/rpc/contract.ts +25 -48
- package/src/rpc/pageKeys.ts +1 -1
- package/src/server/attention/inbox.ts +21 -31
- package/src/server/attention/managedRequestReceipt.ts +17 -15
- package/src/server/attention/projection.ts +32 -0
- package/src/server/attention/questionState.ts +15 -26
- package/src/server/attention/requestInbox.ts +61 -0
- package/src/server/attention/requests.ts +18 -1
- package/src/server/attention/status.ts +15 -0
- package/src/server/board.ts +1 -1
- package/src/server/boardRuntime.ts +4 -1
- package/src/server/boardSocket.ts +81 -0
- package/src/server/cli.ts +4 -1
- package/src/server/currentDocument.ts +23 -0
- package/src/server/diagnostics/daemon.ts +34 -14
- package/src/server/document/answerBody.ts +96 -0
- package/src/server/document/read.ts +26 -16
- package/src/server/document/readingContext.ts +18 -7
- package/src/server/document/requestTitle.ts +10 -0
- package/src/server/document/requests.ts +46 -3
- package/src/server/files/watchDirectories.ts +3 -0
- package/src/server/http/assets.ts +2 -2
- package/src/server/http/boardRoutes.ts +22 -21
- package/src/server/http/identity.ts +15 -54
- package/src/server/http/page.ts +25 -81
- package/src/server/http/rpcPolicy.ts +2 -0
- package/src/server/integration/attention.ts +5 -0
- package/src/server/integration/diagnostics.ts +3 -0
- package/src/server/mcp/client.ts +43 -0
- package/src/server/mcp/queries.ts +60 -0
- package/src/server/mcp/run.ts +37 -0
- package/src/server/mcp/schema.ts +46 -0
- package/src/server/mcp/tools.ts +37 -0
- package/src/server/metadata/backlinks.ts +23 -7
- package/src/server/metadata/fields.ts +7 -0
- package/src/server/metadata/sourceLinks.ts +2 -2
- package/src/server/navigation/libraryData.ts +43 -0
- package/src/server/navigation/model.ts +14 -69
- package/src/server/packageInfo.ts +2 -0
- package/src/server/page/initialTheme.ts +13 -0
- package/src/server/page/shell.ts +5 -43
- package/src/server/page/startTemplates.ts +3 -3
- package/src/server/responseIndex.ts +97 -0
- package/src/server/responses/history.ts +5 -7
- package/src/server/responses/locate.ts +3 -6
- package/src/server/responses/optionPrompt.ts +1 -1
- package/src/server/responses/read.ts +12 -7
- package/src/server/rpc/HandlerOptions.ts +4 -0
- package/src/server/rpc/handlers.ts +18 -10
- package/src/server/search/entries.ts +5 -0
- package/src/server/search/match.ts +46 -11
- package/src/server/search/metadataEntries.ts +30 -5
- package/src/server/search/snippet.ts +9 -0
- package/src/server/search/updateEntries.ts +6 -2
- package/src/server/serve-cli.ts +1 -2
- package/src/server/serve.ts +28 -13
- package/src/server/views/fleetApproval.ts +12 -0
- package/src/server/views/fleetItems.ts +28 -0
- package/src/server/views/goals.ts +63 -0
- package/src/server/views/projection.ts +3 -2
- package/src/server/views/projectionQueries.ts +13 -31
- package/dist/browser/navigation/html.d.ts +0 -3
- package/dist/browser/navigation/html.d.ts.map +0 -1
- package/dist/browser/navigation/html.js +0 -25
- package/dist/browser/navigation/html.js.map +0 -1
- package/dist/browser/navigation/schema.d.ts +0 -47
- package/dist/browser/navigation/schema.d.ts.map +0 -1
- package/dist/browser/navigation/schema.js +0 -24
- package/dist/browser/navigation/schema.js.map +0 -1
- package/dist/client/mockups/app.d.ts +0 -2
- package/dist/client/mockups/app.d.ts.map +0 -1
- package/dist/client/mockups/app.js +0 -111
- package/dist/client/mockups/app.js.map +0 -1
- package/dist/client/mockups/element.d.ts +0 -2
- package/dist/client/mockups/element.d.ts.map +0 -1
- package/dist/client/mockups/element.js +0 -8
- package/dist/client/mockups/element.js.map +0 -1
- package/dist/client/mockups/sampleData.d.ts +0 -20
- package/dist/client/mockups/sampleData.d.ts.map +0 -1
- package/dist/client/mockups/sampleData.js +0 -82
- package/dist/client/mockups/sampleData.js.map +0 -1
- package/dist/client/mockups/work.d.ts +0 -3
- package/dist/client/mockups/work.d.ts.map +0 -1
- package/dist/client/mockups/work.js +0 -84
- package/dist/client/mockups/work.js.map +0 -1
- package/dist/client/react/ChangesMain.d.ts +0 -8
- package/dist/client/react/ChangesMain.d.ts.map +0 -1
- package/dist/client/react/ChangesMain.js +0 -24
- package/dist/client/react/ChangesMain.js.map +0 -1
- package/dist/client/react/DiagnosticsFleet.d.ts +0 -6
- package/dist/client/react/DiagnosticsFleet.d.ts.map +0 -1
- package/dist/client/react/DiagnosticsFleet.js +0 -16
- package/dist/client/react/DiagnosticsFleet.js.map +0 -1
- package/dist/client/react/DiagnosticsMain.d.ts +0 -8
- package/dist/client/react/DiagnosticsMain.d.ts.map +0 -1
- package/dist/client/react/DiagnosticsMain.js +0 -11
- package/dist/client/react/DiagnosticsMain.js.map +0 -1
- package/dist/client/react/DiagnosticsPage.d.ts +0 -5
- package/dist/client/react/DiagnosticsPage.d.ts.map +0 -1
- package/dist/client/react/DiagnosticsPage.js +0 -23
- package/dist/client/react/DiagnosticsPage.js.map +0 -1
- package/dist/client/react/HistoryComparison.d.ts +0 -5
- package/dist/client/react/HistoryComparison.d.ts.map +0 -1
- package/dist/client/react/HistoryComparison.js +0 -14
- package/dist/client/react/HistoryComparison.js.map +0 -1
- package/dist/client/react/HistoryRetention.d.ts +0 -5
- package/dist/client/react/HistoryRetention.d.ts.map +0 -1
- package/dist/client/react/HistoryRetention.js +0 -28
- package/dist/client/react/HistoryRetention.js.map +0 -1
- package/dist/client/react/InboxPage.d.ts +0 -5
- package/dist/client/react/InboxPage.d.ts.map +0 -1
- package/dist/client/react/InboxPage.js +0 -18
- package/dist/client/react/InboxPage.js.map +0 -1
- package/dist/client/react/NavigationTree.d.ts +0 -6
- package/dist/client/react/NavigationTree.d.ts.map +0 -1
- package/dist/client/react/NavigationTree.js +0 -29
- package/dist/client/react/NavigationTree.js.map +0 -1
- package/dist/client/react/OverviewGroups.d.ts +0 -5
- package/dist/client/react/OverviewGroups.d.ts.map +0 -1
- package/dist/client/react/OverviewGroups.js +0 -18
- package/dist/client/react/OverviewGroups.js.map +0 -1
- package/dist/client/react/OverviewPage.d.ts +0 -5
- package/dist/client/react/OverviewPage.d.ts.map +0 -1
- package/dist/client/react/OverviewPage.js +0 -16
- package/dist/client/react/OverviewPage.js.map +0 -1
- package/dist/client/react/historyStore.d.ts +0 -7
- package/dist/client/react/historyStore.d.ts.map +0 -1
- package/dist/client/react/historyStore.js +0 -61
- package/dist/client/react/historyStore.js.map +0 -1
- package/dist/client/react/pageQuery.d.ts +0 -5
- package/dist/client/react/pageQuery.d.ts.map +0 -1
- package/dist/client/react/pageQuery.js +0 -35
- package/dist/client/react/pageQuery.js.map +0 -1
- package/dist/client/react/useHistoryComparison.d.ts +0 -33
- package/dist/client/react/useHistoryComparison.d.ts.map +0 -1
- package/dist/client/react/useHistoryComparison.js +0 -146
- package/dist/client/react/useHistoryComparison.js.map +0 -1
- package/dist/history/schema.d.ts +0 -57
- package/dist/history/schema.d.ts.map +0 -1
- package/dist/history/schema.js +0 -31
- package/dist/history/schema.js.map +0 -1
- package/dist/server/attention/inboxHtml.d.ts +0 -4
- package/dist/server/attention/inboxHtml.d.ts.map +0 -1
- package/dist/server/attention/inboxHtml.js +0 -48
- package/dist/server/attention/inboxHtml.js.map +0 -1
- package/dist/server/attention/overviewHtml.d.ts +0 -3
- package/dist/server/attention/overviewHtml.d.ts.map +0 -1
- package/dist/server/attention/overviewHtml.js +0 -43
- package/dist/server/attention/overviewHtml.js.map +0 -1
- package/dist/server/attention/style.d.ts +0 -2
- package/dist/server/attention/style.d.ts.map +0 -1
- package/dist/server/attention/style.js +0 -10
- package/dist/server/attention/style.js.map +0 -1
- package/dist/server/diagnostics/style.d.ts +0 -2
- package/dist/server/diagnostics/style.d.ts.map +0 -1
- package/dist/server/diagnostics/style.js +0 -20
- package/dist/server/diagnostics/style.js.map +0 -1
- package/dist/server/history/baseline.d.ts +0 -19
- package/dist/server/history/baseline.d.ts.map +0 -1
- package/dist/server/history/baseline.js +0 -40
- package/dist/server/history/baseline.js.map +0 -1
- package/dist/server/history/compare.d.ts +0 -14
- package/dist/server/history/compare.d.ts.map +0 -1
- package/dist/server/history/compare.js +0 -47
- package/dist/server/history/compare.js.map +0 -1
- package/dist/server/history/documents.d.ts +0 -10
- package/dist/server/history/documents.d.ts.map +0 -1
- package/dist/server/history/documents.js +0 -15
- package/dist/server/history/documents.js.map +0 -1
- package/dist/server/history/fields.d.ts +0 -3
- package/dist/server/history/fields.d.ts.map +0 -1
- package/dist/server/history/fields.js +0 -27
- package/dist/server/history/fields.js.map +0 -1
- package/dist/server/history/html.d.ts +0 -3
- package/dist/server/history/html.d.ts.map +0 -1
- package/dist/server/history/html.js +0 -19
- package/dist/server/history/html.js.map +0 -1
- package/dist/server/history/limits.d.ts +0 -3
- package/dist/server/history/limits.d.ts.map +0 -1
- package/dist/server/history/limits.js +0 -3
- package/dist/server/history/limits.js.map +0 -1
- package/dist/server/history/response.d.ts +0 -4
- package/dist/server/history/response.d.ts.map +0 -1
- package/dist/server/history/response.js +0 -33
- package/dist/server/history/response.js.map +0 -1
- package/dist/server/http/inbox.d.ts +0 -5
- package/dist/server/http/inbox.d.ts.map +0 -1
- package/dist/server/http/inbox.js +0 -12
- package/dist/server/http/inbox.js.map +0 -1
- package/dist/server/http/overview.d.ts +0 -5
- package/dist/server/http/overview.d.ts.map +0 -1
- package/dist/server/http/overview.js +0 -13
- package/dist/server/http/overview.js.map +0 -1
- package/dist/server/http/work.d.ts +0 -6
- package/dist/server/http/work.d.ts.map +0 -1
- package/dist/server/http/work.js +0 -22
- package/dist/server/http/work.js.map +0 -1
- package/dist/server/page/attentionDetails.d.ts +0 -4
- package/dist/server/page/attentionDetails.d.ts.map +0 -1
- package/dist/server/page/attentionDetails.js +0 -24
- package/dist/server/page/attentionDetails.js.map +0 -1
- package/dist/server/page/backlinksHtml.d.ts +0 -3
- package/dist/server/page/backlinksHtml.d.ts.map +0 -1
- package/dist/server/page/backlinksHtml.js +0 -16
- package/dist/server/page/backlinksHtml.js.map +0 -1
- package/dist/server/page/boardHtml.d.ts +0 -4
- package/dist/server/page/boardHtml.d.ts.map +0 -1
- package/dist/server/page/boardHtml.js +0 -45
- package/dist/server/page/boardHtml.js.map +0 -1
- package/dist/server/page/criteriaEvidence.d.ts +0 -4
- package/dist/server/page/criteriaEvidence.d.ts.map +0 -1
- package/dist/server/page/criteriaEvidence.js +0 -27
- package/dist/server/page/criteriaEvidence.js.map +0 -1
- package/dist/server/page/documentHtml.d.ts +0 -4
- package/dist/server/page/documentHtml.d.ts.map +0 -1
- package/dist/server/page/documentHtml.js +0 -16
- package/dist/server/page/documentHtml.js.map +0 -1
- package/dist/server/page/itemIntroduction.d.ts +0 -3
- package/dist/server/page/itemIntroduction.d.ts.map +0 -1
- package/dist/server/page/itemIntroduction.js +0 -9
- package/dist/server/page/itemIntroduction.js.map +0 -1
- package/dist/server/page/itemStyles.d.ts +0 -2
- package/dist/server/page/itemStyles.d.ts.map +0 -1
- package/dist/server/page/itemStyles.js +0 -30
- package/dist/server/page/itemStyles.js.map +0 -1
- package/dist/server/page/metadata.d.ts +0 -5
- package/dist/server/page/metadata.d.ts.map +0 -1
- package/dist/server/page/metadata.js +0 -49
- package/dist/server/page/metadata.js.map +0 -1
- package/dist/server/page/metadataDetails.d.ts +0 -4
- package/dist/server/page/metadataDetails.d.ts.map +0 -1
- package/dist/server/page/metadataDetails.js +0 -35
- package/dist/server/page/metadataDetails.js.map +0 -1
- package/dist/server/page/metadataLinks.d.ts +0 -6
- package/dist/server/page/metadataLinks.d.ts.map +0 -1
- package/dist/server/page/metadataLinks.js +0 -31
- package/dist/server/page/metadataLinks.js.map +0 -1
- package/dist/server/page/nav.d.ts +0 -5
- package/dist/server/page/nav.d.ts.map +0 -1
- package/dist/server/page/nav.js +0 -9
- package/dist/server/page/nav.js.map +0 -1
- package/dist/server/page/readingStyles.d.ts +0 -2
- package/dist/server/page/readingStyles.d.ts.map +0 -1
- package/dist/server/page/readingStyles.js +0 -32
- package/dist/server/page/readingStyles.js.map +0 -1
- package/dist/server/page/readingTools.d.ts +0 -3
- package/dist/server/page/readingTools.d.ts.map +0 -1
- package/dist/server/page/readingTools.js +0 -10
- package/dist/server/page/readingTools.js.map +0 -1
- package/dist/server/page/recordedEvidence.d.ts +0 -4
- package/dist/server/page/recordedEvidence.d.ts.map +0 -1
- package/dist/server/page/recordedEvidence.js +0 -10
- package/dist/server/page/recordedEvidence.js.map +0 -1
- package/dist/server/page/searchDialog.d.ts +0 -3
- package/dist/server/page/searchDialog.d.ts.map +0 -1
- package/dist/server/page/searchDialog.js +0 -16
- package/dist/server/page/searchDialog.js.map +0 -1
- package/dist/server/page/style.d.ts +0 -2
- package/dist/server/page/style.d.ts.map +0 -1
- package/dist/server/page/style.js +0 -111
- package/dist/server/page/style.js.map +0 -1
- package/dist/server/page/updated.d.ts +0 -2
- package/dist/server/page/updated.d.ts.map +0 -1
- package/dist/server/page/updated.js +0 -4
- package/dist/server/page/updated.js.map +0 -1
- package/dist/server/page/visualDialog.d.ts +0 -3
- package/dist/server/page/visualDialog.d.ts.map +0 -1
- package/dist/server/page/visualDialog.js +0 -25
- package/dist/server/page/visualDialog.js.map +0 -1
- package/dist/server/page/workspaceStyles.d.ts +0 -3
- package/dist/server/page/workspaceStyles.d.ts.map +0 -1
- package/dist/server/page/workspaceStyles.js +0 -89
- package/dist/server/page/workspaceStyles.js.map +0 -1
- package/dist/server/responses/authoredQuestionHtml.d.ts +0 -4
- package/dist/server/responses/authoredQuestionHtml.d.ts.map +0 -1
- package/dist/server/responses/authoredQuestionHtml.js +0 -30
- package/dist/server/responses/authoredQuestionHtml.js.map +0 -1
- package/dist/server/responses/composerHtml.d.ts +0 -27
- package/dist/server/responses/composerHtml.d.ts.map +0 -1
- package/dist/server/responses/composerHtml.js +0 -17
- package/dist/server/responses/composerHtml.js.map +0 -1
- package/dist/server/responses/historyHtml.d.ts +0 -28
- package/dist/server/responses/historyHtml.d.ts.map +0 -1
- package/dist/server/responses/historyHtml.js +0 -8
- package/dist/server/responses/historyHtml.js.map +0 -1
- package/dist/server/responses/optionControls.d.ts +0 -4
- package/dist/server/responses/optionControls.d.ts.map +0 -1
- package/dist/server/responses/optionControls.js +0 -11
- package/dist/server/responses/optionControls.js.map +0 -1
- package/dist/server/responses/templateHtml.d.ts +0 -8
- package/dist/server/responses/templateHtml.d.ts.map +0 -1
- package/dist/server/responses/templateHtml.js +0 -26
- package/dist/server/responses/templateHtml.js.map +0 -1
- package/dist/server/views/tools.d.ts +0 -3
- package/dist/server/views/tools.d.ts.map +0 -1
- package/dist/server/views/tools.js +0 -11
- package/dist/server/views/tools.js.map +0 -1
- package/dist/server/views/workCards.d.ts +0 -4
- package/dist/server/views/workCards.d.ts.map +0 -1
- package/dist/server/views/workCards.js +0 -24
- package/dist/server/views/workCards.js.map +0 -1
- package/dist/server/views/workControls.d.ts +0 -4
- package/dist/server/views/workControls.d.ts.map +0 -1
- package/dist/server/views/workControls.js +0 -32
- package/dist/server/views/workControls.js.map +0 -1
- package/dist/server/views/workDetail.d.ts +0 -13
- package/dist/server/views/workDetail.d.ts.map +0 -1
- package/dist/server/views/workDetail.js +0 -26
- package/dist/server/views/workDetail.js.map +0 -1
- package/dist/server/views/workHtml.d.ts +0 -15
- package/dist/server/views/workHtml.d.ts.map +0 -1
- package/dist/server/views/workHtml.js +0 -39
- package/dist/server/views/workHtml.js.map +0 -1
- package/dist/server/views/workStyle.d.ts +0 -2
- package/dist/server/views/workStyle.d.ts.map +0 -1
- package/dist/server/views/workStyle.js +0 -19
- package/dist/server/views/workStyle.js.map +0 -1
- package/dist/server/views/workTable.d.ts +0 -4
- package/dist/server/views/workTable.d.ts.map +0 -1
- package/dist/server/views/workTable.js +0 -24
- package/dist/server/views/workTable.js.map +0 -1
- package/docs/delivery/change-history-examples.md +0 -46
- package/docs/experience.md +0 -89
- package/docs/mockups/images/brief-mobile.png +0 -0
- package/docs/mockups/images/brief.png +0 -0
- package/docs/mockups/images/decision-mobile.png +0 -0
- package/docs/mockups/images/decision.png +0 -0
- package/docs/mockups/images/evidence-mobile.png +0 -0
- package/docs/mockups/images/evidence.png +0 -0
- package/docs/mockups/images/overview-mobile.png +0 -0
- package/docs/mockups/images/overview.png +0 -0
- package/docs/mockups/images/vision-board.png +0 -0
- package/docs/mockups/images/work-mobile.png +0 -0
- package/docs/mockups/images/work.png +0 -0
- package/docs/mockups/index.html +0 -458
- package/docs/mockups/style.css +0 -1709
- package/src/browser/navigation/html.ts +0 -29
- package/src/browser/navigation/schema.ts +0 -27
- package/src/client/mockups/app.ts +0 -114
- package/src/client/mockups/element.ts +0 -7
- package/src/client/mockups/sampleData.ts +0 -92
- package/src/client/mockups/work.ts +0 -84
- package/src/client/react/ChangesMain.tsx +0 -68
- package/src/client/react/DiagnosticsFleet.tsx +0 -64
- package/src/client/react/DiagnosticsMain.tsx +0 -29
- package/src/client/react/DiagnosticsPage.tsx +0 -77
- package/src/client/react/HistoryComparison.tsx +0 -60
- package/src/client/react/HistoryRetention.tsx +0 -29
- package/src/client/react/InboxPage.tsx +0 -51
- package/src/client/react/NavigationTree.tsx +0 -64
- package/src/client/react/OverviewGroups.tsx +0 -61
- package/src/client/react/OverviewPage.tsx +0 -68
- package/src/client/react/historyStore.ts +0 -56
- package/src/client/react/pageQuery.ts +0 -38
- package/src/client/react/useHistoryComparison.ts +0 -142
- package/src/history/schema.ts +0 -51
- package/src/server/attention/inboxHtml.ts +0 -56
- package/src/server/attention/overviewHtml.ts +0 -46
- package/src/server/attention/style.ts +0 -9
- package/src/server/diagnostics/style.ts +0 -19
- package/src/server/history/baseline.ts +0 -43
- package/src/server/history/compare.ts +0 -54
- package/src/server/history/documents.ts +0 -21
- package/src/server/history/fields.ts +0 -32
- package/src/server/history/html.ts +0 -20
- package/src/server/history/limits.ts +0 -2
- package/src/server/history/response.ts +0 -37
- package/src/server/http/inbox.ts +0 -27
- package/src/server/http/overview.ts +0 -19
- package/src/server/http/work.ts +0 -42
- package/src/server/page/attentionDetails.ts +0 -26
- package/src/server/page/backlinksHtml.ts +0 -18
- package/src/server/page/boardHtml.ts +0 -55
- package/src/server/page/criteriaEvidence.ts +0 -36
- package/src/server/page/documentHtml.ts +0 -23
- package/src/server/page/itemIntroduction.ts +0 -10
- package/src/server/page/itemStyles.ts +0 -29
- package/src/server/page/metadata.ts +0 -58
- package/src/server/page/metadataDetails.ts +0 -38
- package/src/server/page/metadataLinks.ts +0 -35
- package/src/server/page/nav.ts +0 -12
- package/src/server/page/readingStyles.ts +0 -31
- package/src/server/page/readingTools.ts +0 -12
- package/src/server/page/recordedEvidence.ts +0 -12
- package/src/server/page/searchDialog.ts +0 -16
- package/src/server/page/style.ts +0 -117
- package/src/server/page/updated.ts +0 -3
- package/src/server/page/visualDialog.ts +0 -25
- package/src/server/page/workspaceStyles.ts +0 -89
- package/src/server/responses/authoredQuestionHtml.ts +0 -46
- package/src/server/responses/composerHtml.ts +0 -25
- package/src/server/responses/historyHtml.ts +0 -20
- package/src/server/responses/optionControls.ts +0 -13
- package/src/server/responses/templateHtml.ts +0 -34
- package/src/server/views/tools.ts +0 -11
- package/src/server/views/workCards.ts +0 -27
- package/src/server/views/workControls.ts +0 -38
- package/src/server/views/workDetail.ts +0 -28
- package/src/server/views/workHtml.ts +0 -45
- package/src/server/views/workStyle.ts +0 -18
- package/src/server/views/workTable.ts +0 -26
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { useState } from "react";
|
|
2
|
+
import { type SourceLink, sourceGroups } from "#browser/document/sourceGroups.ts";
|
|
3
|
+
import { StatusChip } from "#client/react/components/ui/StatusChip.tsx";
|
|
4
|
+
|
|
5
|
+
export function SourceList({ links }: { readonly links: readonly SourceLink[] }) {
|
|
6
|
+
return (
|
|
7
|
+
<ul>
|
|
8
|
+
{sourceGroups(links).map((group) => (
|
|
9
|
+
<SourceGroup group={group} key={group.title} />
|
|
10
|
+
))}
|
|
11
|
+
</ul>
|
|
12
|
+
);
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
function SourceGroup({ group }: { readonly group: ReturnType<typeof sourceGroups>[number] }) {
|
|
16
|
+
const [open, setOpen] = useState(false);
|
|
17
|
+
const links = group.sources.map((link) => (
|
|
18
|
+
<li key={link.href}>
|
|
19
|
+
<Source link={link} />
|
|
20
|
+
</li>
|
|
21
|
+
));
|
|
22
|
+
if (group.sources.length === 1) {
|
|
23
|
+
return links;
|
|
24
|
+
}
|
|
25
|
+
return (
|
|
26
|
+
<li>
|
|
27
|
+
<details onToggle={(event) => setOpen(event.currentTarget.open)} open={open}>
|
|
28
|
+
<summary>{group.label}</summary>
|
|
29
|
+
{Boolean(open) && <ul>{links}</ul>}
|
|
30
|
+
</details>
|
|
31
|
+
</li>
|
|
32
|
+
);
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
function Source({ link }: { readonly link: SourceLink }) {
|
|
36
|
+
return (
|
|
37
|
+
<span className="inline-flex flex-wrap items-center gap-2">
|
|
38
|
+
<a href={link.href} title={link.label}>
|
|
39
|
+
{link.title ?? link.label}
|
|
40
|
+
</a>
|
|
41
|
+
<StatusChip status={link.status} />
|
|
42
|
+
</span>
|
|
43
|
+
);
|
|
44
|
+
}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import type { StartProjection } from "#browser/views/remaining.ts";
|
|
2
|
+
import { ReadingPanel } from "./ReadingPanel.tsx";
|
|
2
3
|
export function StartPage({ data }: { readonly data: StartProjection }) {
|
|
3
4
|
return (
|
|
4
|
-
<
|
|
5
|
+
<ReadingPanel className="onboarding">
|
|
5
6
|
<h1>{data.empty ? "Start your local workspace" : "Project and report templates"}</h1>
|
|
6
7
|
<p>
|
|
7
8
|
Work Board reads Markdown files from your workspace folder. Use your editor or existing agent tools to create and update them; this viewer
|
|
@@ -21,10 +22,10 @@ export function StartPage({ data }: { readonly data: StartProjection }) {
|
|
|
21
22
|
</ol>
|
|
22
23
|
<p>
|
|
23
24
|
Unknown checks stay unknown. Add criterion evidence only after a real observation; a finished agent run is not verified acceptance. No project
|
|
24
|
-
content is created
|
|
25
|
+
content is created by opening these templates.
|
|
25
26
|
</p>
|
|
26
27
|
{data.templates.map((template) => (
|
|
27
|
-
<section className="start-template" key={template.file}>
|
|
28
|
+
<section className="start-template rounded-lg border p-4" key={template.file}>
|
|
28
29
|
<h2>{template.label}</h2>
|
|
29
30
|
<p>
|
|
30
31
|
Suggested file: <code>{template.file}</code>
|
|
@@ -32,10 +33,17 @@ export function StartPage({ data }: { readonly data: StartProjection }) {
|
|
|
32
33
|
<details data-key={`template:${template.file}`}>
|
|
33
34
|
<summary>Read and copy {template.label.toLowerCase()} Markdown</summary>
|
|
34
35
|
<label htmlFor={`template-${template.file}`}>{template.label} template Markdown</label>
|
|
35
|
-
<textarea
|
|
36
|
+
<textarea
|
|
37
|
+
className="mt-3 w-full rounded-md border bg-background p-3 font-mono text-sm"
|
|
38
|
+
defaultValue={template.source}
|
|
39
|
+
id={`template-${template.file}`}
|
|
40
|
+
readOnly
|
|
41
|
+
rows={16}
|
|
42
|
+
spellCheck={false}
|
|
43
|
+
/>
|
|
36
44
|
</details>
|
|
37
45
|
</section>
|
|
38
46
|
))}
|
|
39
|
-
</
|
|
47
|
+
</ReadingPanel>
|
|
40
48
|
);
|
|
41
49
|
}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import type { FleetItemsProjection } from "#browser/views/FleetItemsProjection.ts";
|
|
2
|
+
import { Badge } from "#client/react/components/ui/Badge.tsx";
|
|
3
|
+
import { Card } from "#client/react/components/ui/Card.tsx";
|
|
4
|
+
|
|
5
|
+
export function SystemFleetLane({ data }: { readonly data: FleetItemsProjection | undefined }) {
|
|
6
|
+
const items = data?.state === "ready" ? data.items.filter((item) => !["completed", "released"].includes(item.stage)) : undefined;
|
|
7
|
+
return (
|
|
8
|
+
<Card aria-label="Fleet work" className="min-w-0 space-y-4">
|
|
9
|
+
<h2 className="font-semibold text-lg">Fleet work</h2>
|
|
10
|
+
{items === undefined && <p role="status">{data?.state === "unavailable" ? `Fleet work unavailable. ${data.reason}` : "Loading Fleet work…"}</p>}
|
|
11
|
+
{items?.length === 0 && <p className="text-muted-foreground text-sm">No running or waiting Fleet work.</p>}
|
|
12
|
+
{items && items.length > 0 && (
|
|
13
|
+
<ul className="m-0 list-none divide-y p-0">
|
|
14
|
+
{items.map((item) => (
|
|
15
|
+
<FleetRow item={item} key={item.workId} />
|
|
16
|
+
))}
|
|
17
|
+
</ul>
|
|
18
|
+
)}
|
|
19
|
+
</Card>
|
|
20
|
+
);
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
type Item = Extract<FleetItemsProjection, { readonly state: "ready" }>["items"][number];
|
|
24
|
+
function FleetRow({ item }: { readonly item: Item }) {
|
|
25
|
+
const title = item.document?.title ?? item.workId;
|
|
26
|
+
return (
|
|
27
|
+
<li className="flex min-w-0 flex-wrap items-center gap-2 py-3" data-fleet-id={item.workId}>
|
|
28
|
+
<a className="min-w-0 flex-1 basis-40 font-medium text-sm [overflow-wrap:anywhere]" href={`/_board/item/${encodeURIComponent(item.workId)}/`}>
|
|
29
|
+
{title}
|
|
30
|
+
</a>
|
|
31
|
+
<Badge variant="outline">{item.stage}</Badge>
|
|
32
|
+
{Boolean(item.attentionOwner) && <span className="text-muted-foreground text-xs">Waiting on {item.attentionOwner}</span>}
|
|
33
|
+
{Boolean(item.prUrl) && (
|
|
34
|
+
<a aria-label={`Pull request for ${title}`} className="text-sm underline" href={item.prUrl}>
|
|
35
|
+
PR ↗
|
|
36
|
+
</a>
|
|
37
|
+
)}
|
|
38
|
+
</li>
|
|
39
|
+
);
|
|
40
|
+
}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import type { FleetHealth } from "#diagnostics/health.ts";
|
|
2
|
+
import { ObservedTime } from "./diagnosticsValues.tsx";
|
|
3
|
+
export function SystemHealth({ value, now }: { readonly value: FleetHealth; readonly now: number }) {
|
|
4
|
+
let freshness = "Current snapshot";
|
|
5
|
+
if (now < value.observedAt) {
|
|
6
|
+
freshness = "Publisher clock is ahead";
|
|
7
|
+
} else if (now - value.observedAt > value.staleAfterMs) {
|
|
8
|
+
freshness = "Stale snapshot — Fleet has not refreshed its health";
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
return (
|
|
12
|
+
<>
|
|
13
|
+
<p className="text-muted-foreground text-xs">{freshness}</p>
|
|
14
|
+
<dl className="grid gap-4 text-sm [&_dt]:text-muted-foreground">
|
|
15
|
+
<div>
|
|
16
|
+
<dt>Running / concurrency cap</dt>
|
|
17
|
+
<dd>
|
|
18
|
+
<strong>
|
|
19
|
+
{value.running} / {value.concurrency}
|
|
20
|
+
</strong>
|
|
21
|
+
</dd>
|
|
22
|
+
</div>
|
|
23
|
+
<div>
|
|
24
|
+
<dt>Queued</dt>
|
|
25
|
+
<dd>
|
|
26
|
+
<strong>{value.queued}</strong>
|
|
27
|
+
</dd>
|
|
28
|
+
</div>
|
|
29
|
+
{Object.entries(value.waiting).map(([owner, count]) => (
|
|
30
|
+
<div key={owner}>
|
|
31
|
+
<dt>Waiting on {owner}</dt>
|
|
32
|
+
<dd>
|
|
33
|
+
<strong>{count}</strong>
|
|
34
|
+
</dd>
|
|
35
|
+
</div>
|
|
36
|
+
))}
|
|
37
|
+
<div>
|
|
38
|
+
<dt>Last scheduler pass</dt>
|
|
39
|
+
<dd>
|
|
40
|
+
<ObservedTime at={value.lastSchedulerPass} />
|
|
41
|
+
</dd>
|
|
42
|
+
</div>
|
|
43
|
+
<div>
|
|
44
|
+
<dt>Last provider capacity rejection</dt>
|
|
45
|
+
<dd>
|
|
46
|
+
<CapacityRejection value={value.lastCapacityRejection} />
|
|
47
|
+
</dd>
|
|
48
|
+
</div>
|
|
49
|
+
</dl>
|
|
50
|
+
</>
|
|
51
|
+
);
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
function CapacityRejection({ value }: { readonly value: FleetHealth["lastCapacityRejection"] }) {
|
|
55
|
+
return value === null ? (
|
|
56
|
+
"None observed"
|
|
57
|
+
) : (
|
|
58
|
+
<>
|
|
59
|
+
{value.cause}
|
|
60
|
+
<br />
|
|
61
|
+
<ObservedTime at={value.at} />
|
|
62
|
+
</>
|
|
63
|
+
);
|
|
64
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { routeQueryOptions } from "#client/page/routeQuery.ts";
|
|
2
|
+
import type { MainLocation } from "./mainLocation.ts";
|
|
3
|
+
import { ProjectionFrame } from "./ProjectionFrame.tsx";
|
|
4
|
+
import type { ShellApi } from "./ShellApi.ts";
|
|
5
|
+
import { SystemPage } from "./SystemPage.tsx";
|
|
6
|
+
import { useDiagnosticsPolling } from "./useDiagnosticsPolling.ts";
|
|
7
|
+
|
|
8
|
+
export function SystemMain({
|
|
9
|
+
api,
|
|
10
|
+
onPage,
|
|
11
|
+
url,
|
|
12
|
+
}: {
|
|
13
|
+
readonly api: ShellApi;
|
|
14
|
+
readonly onPage: (location: MainLocation) => void;
|
|
15
|
+
readonly url: string;
|
|
16
|
+
}) {
|
|
17
|
+
const atom = api.diagnostics.query(undefined, routeQueryOptions);
|
|
18
|
+
useDiagnosticsPolling(atom, api.fleetItems.query(undefined, routeQueryOptions));
|
|
19
|
+
return (
|
|
20
|
+
<ProjectionFrame
|
|
21
|
+
atom={atom}
|
|
22
|
+
location={() => ({ file: "System", status: 200, view: "system" })}
|
|
23
|
+
onPage={onPage}
|
|
24
|
+
render={(data) => <SystemPage data={data} />}
|
|
25
|
+
route="system"
|
|
26
|
+
url={url}
|
|
27
|
+
/>
|
|
28
|
+
);
|
|
29
|
+
}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import { type ReactNode, useContext } from "react";
|
|
2
|
+
import type { Observation } from "#browser/diagnostics/schema.ts";
|
|
3
|
+
import type { DiagnosticsProjection } from "#browser/views/remaining.ts";
|
|
4
|
+
import { Card as Surface } from "#client/react/components/ui/Card.tsx";
|
|
5
|
+
import { DiagnosticsGithub, DiagnosticsWindows, ObservedTime } from "./diagnosticsValues.tsx";
|
|
6
|
+
import { FleetItemsContext } from "./FleetItemsContext.ts";
|
|
7
|
+
import { SystemFleetLane } from "./SystemFleetLane.tsx";
|
|
8
|
+
import { SystemHealth } from "./SystemHealth.tsx";
|
|
9
|
+
export function SystemPage({ data: { sources: data, now } }: { readonly data: DiagnosticsProjection }) {
|
|
10
|
+
const items = useContext(FleetItemsContext);
|
|
11
|
+
const fleet = data.fleet.state === "ready" ? { ...data.fleet, observedAt: data.fleet.value.observedAt } : data.fleet;
|
|
12
|
+
return (
|
|
13
|
+
<div className="space-y-6">
|
|
14
|
+
<h1 className="font-semibold text-2xl">System</h1>
|
|
15
|
+
<p>Agent usage and Fleet health. Refreshes every 15 seconds while this view is visible; Pause updates holds the current view.</p>
|
|
16
|
+
<div className="grid gap-4 lg:grid-cols-2">
|
|
17
|
+
<Card
|
|
18
|
+
attention={
|
|
19
|
+
data.codex.state === "ready"
|
|
20
|
+
&& [data.codex.value.primary, data.codex.value.secondary].some((window) => window !== null && window.usedPercent >= 90)
|
|
21
|
+
}
|
|
22
|
+
name="Codex"
|
|
23
|
+
render={(value) => <DiagnosticsWindows now={now} value={value} />}
|
|
24
|
+
source={data.codex}
|
|
25
|
+
/>
|
|
26
|
+
<Card
|
|
27
|
+
attention={data.github.state === "ready" && [data.github.value.core, data.github.value.graphql].some((window) => window.remaining === 0)}
|
|
28
|
+
name="GitHub"
|
|
29
|
+
render={(value) => <DiagnosticsGithub now={now} value={value} />}
|
|
30
|
+
source={data.github}
|
|
31
|
+
/>
|
|
32
|
+
<Card
|
|
33
|
+
attention={
|
|
34
|
+
fleet.state === "ready"
|
|
35
|
+
&& (fleet.value.running >= fleet.value.concurrency
|
|
36
|
+
|| Object.values(fleet.value.waiting).some((count) => count > 0)
|
|
37
|
+
|| now < fleet.value.observedAt)
|
|
38
|
+
}
|
|
39
|
+
name="Fleet"
|
|
40
|
+
render={(value) => <SystemHealth now={now} value={value} />}
|
|
41
|
+
source={fleet}
|
|
42
|
+
stale={fleet.state === "ready" && now - fleet.value.observedAt > fleet.value.staleAfterMs}
|
|
43
|
+
/>
|
|
44
|
+
</div>
|
|
45
|
+
<SystemFleetLane data={items} />
|
|
46
|
+
</div>
|
|
47
|
+
);
|
|
48
|
+
}
|
|
49
|
+
function Card<A>({
|
|
50
|
+
name,
|
|
51
|
+
source,
|
|
52
|
+
attention,
|
|
53
|
+
stale,
|
|
54
|
+
render,
|
|
55
|
+
}: {
|
|
56
|
+
readonly name: string;
|
|
57
|
+
readonly source: Observation<A>;
|
|
58
|
+
readonly attention: boolean;
|
|
59
|
+
readonly stale?: boolean;
|
|
60
|
+
readonly render: (value: A) => ReactNode;
|
|
61
|
+
}) {
|
|
62
|
+
let state: Observation<A>["state"] | "attention" | "stale" = source.state;
|
|
63
|
+
if (source.state === "ready" && attention) {
|
|
64
|
+
state = "attention";
|
|
65
|
+
}
|
|
66
|
+
if (source.state === "ready" && stale) {
|
|
67
|
+
state = "stale";
|
|
68
|
+
}
|
|
69
|
+
const label = { attention: "Needs attention", error: "Unavailable", "not-configured": "Not configured", ready: "Available", stale: "Stale" }[state];
|
|
70
|
+
return (
|
|
71
|
+
<Surface
|
|
72
|
+
aria-labelledby={`diagnostics-${name.toLowerCase()}`}
|
|
73
|
+
className="min-w-0 space-y-4 [overflow-wrap:anywhere]"
|
|
74
|
+
data-source={name.toLowerCase()}
|
|
75
|
+
data-state={state}
|
|
76
|
+
>
|
|
77
|
+
<header className="flex flex-wrap items-center justify-between gap-2">
|
|
78
|
+
<h2 className="font-semibold text-lg" id={`diagnostics-${name.toLowerCase()}`}>
|
|
79
|
+
{name}
|
|
80
|
+
</h2>
|
|
81
|
+
<span className="rounded-full bg-muted px-2 py-1 text-xs">{label}</span>
|
|
82
|
+
</header>
|
|
83
|
+
{source.state === "ready" ? render(source.value) : <p role="status">{source.cause}</p>}
|
|
84
|
+
<p className="text-muted-foreground text-xs">
|
|
85
|
+
Observed <ObservedTime at={source.observedAt} />
|
|
86
|
+
</p>
|
|
87
|
+
</Surface>
|
|
88
|
+
);
|
|
89
|
+
}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import type { GoalsProjection } from "#browser/views/GoalsProjection.ts";
|
|
2
|
+
import { GoalProgress } from "./GoalProgress.tsx";
|
|
3
|
+
|
|
4
|
+
export function TodayGoals({ data }: { readonly data: GoalsProjection }) {
|
|
5
|
+
return data.goals.length > 0 ? (
|
|
6
|
+
<div className="space-y-3">
|
|
7
|
+
{data.goals.map((goal) => (
|
|
8
|
+
<GoalCard goal={goal} key={goal.id} />
|
|
9
|
+
))}
|
|
10
|
+
</div>
|
|
11
|
+
) : (
|
|
12
|
+
<p className="text-muted-foreground text-sm">No active goals.</p>
|
|
13
|
+
);
|
|
14
|
+
}
|
|
15
|
+
function GoalCard({ goal }: { readonly goal: GoalsProjection["goals"][number] }) {
|
|
16
|
+
return (
|
|
17
|
+
<article className="today-goal rounded-lg border border-border bg-card p-3" data-goal-id={goal.id}>
|
|
18
|
+
<h3 className="m-0 font-semibold text-sm">
|
|
19
|
+
<a href={`/_board/item/${encodeURIComponent(goal.id)}/`}>{goal.title}</a>
|
|
20
|
+
</h3>
|
|
21
|
+
{goal.nextAction ? (
|
|
22
|
+
<p className="m-0 mt-1 line-clamp-2 text-muted-foreground text-xs" data-goal-next-action="" title={goal.nextAction}>
|
|
23
|
+
{goal.nextAction}
|
|
24
|
+
</p>
|
|
25
|
+
) : null}
|
|
26
|
+
<GoalProgress counts={goal.counts} title={goal.title} />
|
|
27
|
+
<details className="mt-2">
|
|
28
|
+
<summary className="cursor-pointer text-muted-foreground text-xs">Criteria</summary>
|
|
29
|
+
<ul aria-label={`Criteria for ${goal.title}`} className="m-0 mt-3 list-none space-y-2 p-0 text-sm">
|
|
30
|
+
{goal.criteria.map((criterion) => (
|
|
31
|
+
<CriterionRow criterion={criterion} goal={goal.id} key={criterion.id} />
|
|
32
|
+
))}
|
|
33
|
+
</ul>
|
|
34
|
+
</details>
|
|
35
|
+
</article>
|
|
36
|
+
);
|
|
37
|
+
}
|
|
38
|
+
function CriterionRow({ criterion, goal }: { readonly criterion: GoalsProjection["goals"][number]["criteria"][number]; readonly goal: string }) {
|
|
39
|
+
return (
|
|
40
|
+
<li className="flex items-start gap-2">
|
|
41
|
+
<span aria-label={criterion.evidence > 0 ? "Evidence recorded" : "No evidence recorded"} className="text-muted-foreground" role="img">
|
|
42
|
+
{criterion.evidence > 0 ? "☑" : "☐"}
|
|
43
|
+
</span>
|
|
44
|
+
<div className="min-w-0">
|
|
45
|
+
<a href={`/_board/item/${encodeURIComponent(goal)}/#criterion-${encodeURIComponent(criterion.id)}`}>{criterion.text}</a>
|
|
46
|
+
<p className="m-0 text-muted-foreground text-xs tabular-nums">
|
|
47
|
+
{criterion.linked} linked · {criterion.evidence} with evidence
|
|
48
|
+
</p>
|
|
49
|
+
</div>
|
|
50
|
+
</li>
|
|
51
|
+
);
|
|
52
|
+
}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import type { InboxProjection } from "#browser/views/schema.ts";
|
|
2
|
+
import { StatusChip } from "#client/react/components/ui/StatusChip.tsx";
|
|
3
|
+
import { Age } from "./Age.tsx";
|
|
4
|
+
import type { ShellApi } from "./ShellApi.ts";
|
|
5
|
+
import { TodayOptions } from "./TodayOptions.tsx";
|
|
6
|
+
|
|
7
|
+
type Item = InboxProjection["you"][number];
|
|
8
|
+
export function TodayNeeds({ api, data }: { readonly api: ShellApi; readonly data: InboxProjection }) {
|
|
9
|
+
if (!data.complete) {
|
|
10
|
+
return <p role="status">Workspace incomplete. Needs-you membership and counts are unavailable.</p>;
|
|
11
|
+
}
|
|
12
|
+
return data.you.length > 0 ? (
|
|
13
|
+
<ul aria-label="Needs you" className="m-0 list-none divide-y rounded-lg border border-border p-0">
|
|
14
|
+
{data.you.map((item) => (
|
|
15
|
+
<li className="h-12 max-h-12" data-attention-id={item.id} key={`${item.file}:${item.href}`}>
|
|
16
|
+
<TodayRow api={api} item={item} />
|
|
17
|
+
</li>
|
|
18
|
+
))}
|
|
19
|
+
</ul>
|
|
20
|
+
) : (
|
|
21
|
+
<p className="text-muted-foreground text-sm">All quiet — nothing needs you.</p>
|
|
22
|
+
);
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
function TodayRow({ api, item }: { readonly api: ShellApi; readonly item: Item }) {
|
|
26
|
+
return (
|
|
27
|
+
<div className="today-row flex h-full min-w-0 items-center gap-2 px-2" data-attention-row>
|
|
28
|
+
<StatusChip
|
|
29
|
+
aria-label="Needs you"
|
|
30
|
+
className="shrink-0 max-sm:size-6 max-sm:justify-center max-sm:gap-0 max-sm:px-1 max-sm:text-[0px] max-sm:[&_svg]:shrink-0"
|
|
31
|
+
status="needs-you"
|
|
32
|
+
/>
|
|
33
|
+
<div className="min-w-0 flex-1">
|
|
34
|
+
<div className="flex min-w-0 items-baseline gap-2">
|
|
35
|
+
<a className="truncate font-medium text-sm" href={item.href} title={item.title}>
|
|
36
|
+
{item.title}
|
|
37
|
+
</a>
|
|
38
|
+
<span className="shrink-0 font-mono text-[10px] text-muted-foreground max-sm:hidden">{item.id}</span>
|
|
39
|
+
</div>
|
|
40
|
+
<p className="m-0 truncate text-muted-foreground text-xs" title={item.problem ?? item.reason}>
|
|
41
|
+
<span className="inline-block max-w-24 truncate align-bottom font-mono text-[10px] sm:hidden" title={item.id}>
|
|
42
|
+
{item.id}
|
|
43
|
+
</span>
|
|
44
|
+
<span className="sm:hidden"> · </span>
|
|
45
|
+
{item.problem ?? item.reason}
|
|
46
|
+
</p>
|
|
47
|
+
</div>
|
|
48
|
+
<span className="shrink-0 text-[10px] text-muted-foreground tabular-nums">
|
|
49
|
+
{item.modified === undefined ? "Age ?" : <Age modified={item.modified} short />}
|
|
50
|
+
</span>
|
|
51
|
+
<TodayOptions api={api} item={item} />
|
|
52
|
+
</div>
|
|
53
|
+
);
|
|
54
|
+
}
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
import { RegistryContext } from "@effect/atom-react";
|
|
2
|
+
import { Effect, Option } from "effect";
|
|
3
|
+
import * as Atom from "effect/reactivity/Atom";
|
|
4
|
+
import { useContext, useMemo, useState } from "react";
|
|
5
|
+
import { useAction, useQuery } from "@shivaedev/effect-react/result-state.ts";
|
|
6
|
+
import type { Document, DocumentRequest } from "#browser/document/schema.ts";
|
|
7
|
+
import { answerBody } from "#browser/responses/answerBody.ts";
|
|
8
|
+
import { optionLabel } from "#browser/responses/cardContext.ts";
|
|
9
|
+
import type { InboxProjection } from "#browser/views/schema.ts";
|
|
10
|
+
import { documentQuery, navigationQuery, routeQueryOptions } from "#client/page/routeQuery.ts";
|
|
11
|
+
import { Button } from "#client/react/components/ui/Button.tsx";
|
|
12
|
+
import { Popover } from "#client/react/components/ui/Popover.tsx";
|
|
13
|
+
import { authorLabel } from "#client/responses/authorLabel.ts";
|
|
14
|
+
import { fileUrl } from "#files/url.ts";
|
|
15
|
+
import { createResponse } from "./createResponse.ts";
|
|
16
|
+
import type { ShellApi } from "./ShellApi.ts";
|
|
17
|
+
|
|
18
|
+
export function TodayOptions({ api, item }: { readonly api: ShellApi; readonly item: InboxProjection["you"][number] }) {
|
|
19
|
+
const query = useQuery(documentQuery(api, fileUrl(item.file)), { keepPreviousData: true });
|
|
20
|
+
const data = Option.getOrUndefined(query.data);
|
|
21
|
+
const requestId = new URL(item.href, "http://127.0.0.1").searchParams.get("request");
|
|
22
|
+
const request = data?.requests.find((entry) => entry.id === requestId && entry.open);
|
|
23
|
+
return data
|
|
24
|
+
&& !item.problem
|
|
25
|
+
&& request?.preview
|
|
26
|
+
&& !request.unavailable
|
|
27
|
+
&& !request.promptUnavailable
|
|
28
|
+
&& request.prompts?.length === 1
|
|
29
|
+
&& request.prompts[0]?.mode === "one" ? (
|
|
30
|
+
<Popover label={`Answer ${item.title}`} trigger="Answer" triggerClassName="h-8 w-auto px-1 text-xs">
|
|
31
|
+
<a className="mb-3 block text-xs" href={item.href}>
|
|
32
|
+
Open full question
|
|
33
|
+
</a>
|
|
34
|
+
<InlineOptions api={api} document={data} key={request.preview.reviewedRevision} request={request} />
|
|
35
|
+
</Popover>
|
|
36
|
+
) : (
|
|
37
|
+
<a aria-label={`Answer ${item.title}`} className="shrink-0 text-xs" href={item.href}>
|
|
38
|
+
Answer
|
|
39
|
+
</a>
|
|
40
|
+
);
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
function InlineOptions({ api, document: data, request }: { readonly api: ShellApi; readonly document: Document; readonly request: DocumentRequest }) {
|
|
44
|
+
const registry = useContext(RegistryContext);
|
|
45
|
+
const [status, setStatus] = useState("");
|
|
46
|
+
const [outcome, setOutcome] = useState("");
|
|
47
|
+
const [label] = useState(() => authorLabel(() => localStorage, document.documentElement.dataset.workspace));
|
|
48
|
+
const [author, setAuthor] = useState(() => label.read("") || "maintainer");
|
|
49
|
+
const actionAtom = useMemo(
|
|
50
|
+
() =>
|
|
51
|
+
Atom.fn<string>()((choice) => {
|
|
52
|
+
const preview = request.preview;
|
|
53
|
+
const prompt = request.prompts?.[0];
|
|
54
|
+
if (!(preview && prompt && author.trim())) {
|
|
55
|
+
return Effect.fail("Add your local author label.");
|
|
56
|
+
}
|
|
57
|
+
const answers = [{ prompt: prompt.id, selected: [choice], text: "" }];
|
|
58
|
+
const submission = {
|
|
59
|
+
answers,
|
|
60
|
+
author: author.trim(),
|
|
61
|
+
body: answerBody([prompt], answers, ""),
|
|
62
|
+
id: `response.${crypto.randomUUID()}`,
|
|
63
|
+
question: preview.id,
|
|
64
|
+
revision: preview.reviewedRevision,
|
|
65
|
+
type: "answer" as const,
|
|
66
|
+
};
|
|
67
|
+
return createResponse(preview, submission, () => submission, setOutcome, setStatus).pipe(
|
|
68
|
+
Effect.tap(() =>
|
|
69
|
+
Effect.sync(() => {
|
|
70
|
+
label.save(author);
|
|
71
|
+
registry.refresh(api.inbox.query(undefined, routeQueryOptions));
|
|
72
|
+
registry.refresh(navigationQuery(api));
|
|
73
|
+
registry.refresh(documentQuery(api, fileUrl(data.file)));
|
|
74
|
+
}),
|
|
75
|
+
),
|
|
76
|
+
);
|
|
77
|
+
}),
|
|
78
|
+
[api, registry, request, author, data.file, label.save],
|
|
79
|
+
);
|
|
80
|
+
const action = useAction(actionAtom);
|
|
81
|
+
const prompt = request.prompts?.[0];
|
|
82
|
+
return (
|
|
83
|
+
<fieldset aria-label={`Options for ${data.identity}`} className="m-0 min-w-0 space-y-2 border-0 px-2 pb-2">
|
|
84
|
+
<div className="flex flex-wrap gap-2">
|
|
85
|
+
{prompt?.options.map((option, index) => {
|
|
86
|
+
const text = data.metadata.options?.[index]?.label ?? optionLabel(option.id, option.source, request.preview?.reason ?? "");
|
|
87
|
+
return (
|
|
88
|
+
<Button
|
|
89
|
+
disabled={!(data.writable && author.trim()) || action.pending || outcome === "pending" || outcome === "saved"}
|
|
90
|
+
key={option.id}
|
|
91
|
+
onClick={() => action.dispatch(option.id)}
|
|
92
|
+
size="sm"
|
|
93
|
+
variant="outline"
|
|
94
|
+
>
|
|
95
|
+
{text}
|
|
96
|
+
{data.metadata.recommended === text && " · Recommended"}
|
|
97
|
+
</Button>
|
|
98
|
+
);
|
|
99
|
+
})}
|
|
100
|
+
</div>
|
|
101
|
+
<details className="text-muted-foreground text-xs">
|
|
102
|
+
<summary className="cursor-pointer">Answer as {author || "…"}</summary>
|
|
103
|
+
<label>
|
|
104
|
+
Local author label{" "}
|
|
105
|
+
<input className="rounded border px-2 py-1" maxLength={200} onChange={(event) => setAuthor(event.currentTarget.value)} value={author} />
|
|
106
|
+
</label>
|
|
107
|
+
</details>
|
|
108
|
+
{!data.writable && <p className="m-0 text-muted-foreground text-xs">Read-only. Enable responses to record an answer.</p>}
|
|
109
|
+
{Boolean(status) && (
|
|
110
|
+
<p className="m-0 text-xs" role="status">
|
|
111
|
+
{status}
|
|
112
|
+
</p>
|
|
113
|
+
)}
|
|
114
|
+
</fieldset>
|
|
115
|
+
);
|
|
116
|
+
}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { Option } from "effect";
|
|
2
|
+
import { useQuery } from "@shivaedev/effect-react/result-state.ts";
|
|
3
|
+
import type { InboxProjection } from "#browser/views/schema.ts";
|
|
4
|
+
import { navigationQuery, routeQueryOptions } from "#client/page/routeQuery.ts";
|
|
5
|
+
import { fileUrl } from "#files/url.ts";
|
|
6
|
+
import { inProgressItems } from "./inProgressItems.ts";
|
|
7
|
+
import type { ShellApi } from "./ShellApi.ts";
|
|
8
|
+
import { TodayGoals } from "./TodayGoals.tsx";
|
|
9
|
+
import { TodayNeeds } from "./TodayNeeds.tsx";
|
|
10
|
+
import { TodayProgress } from "./TodayProgress.tsx";
|
|
11
|
+
|
|
12
|
+
const todayIds = { goals: "today-goals", needs: "needs-you", progress: "in-progress" };
|
|
13
|
+
|
|
14
|
+
export function TodayPage({ api, data }: { readonly api: ShellApi; readonly data: InboxProjection }) {
|
|
15
|
+
const query = useQuery(api.goals.query(undefined, routeQueryOptions), { keepPreviousData: true });
|
|
16
|
+
const goals = Option.getOrUndefined(query.data);
|
|
17
|
+
const fleetQuery = useQuery(api.fleetItems.query(undefined, routeQueryOptions), { keepPreviousData: true });
|
|
18
|
+
const fleet = Option.getOrUndefined(fleetQuery.data);
|
|
19
|
+
const progress = inProgressItems(fleet);
|
|
20
|
+
const navigation = useQuery(navigationQuery(api), { keepPreviousData: true });
|
|
21
|
+
const home = Option.getOrUndefined(navigation.data)?.home;
|
|
22
|
+
return (
|
|
23
|
+
<div className="today-page min-w-0 space-y-3 md:space-y-6">
|
|
24
|
+
<header className="flex items-center justify-between gap-3">
|
|
25
|
+
<h1 className="m-0 font-semibold text-2xl">Today</h1>
|
|
26
|
+
{home !== undefined && (
|
|
27
|
+
<a className="text-sm" href={fileUrl(home.file)}>
|
|
28
|
+
Workspace notes
|
|
29
|
+
</a>
|
|
30
|
+
)}
|
|
31
|
+
</header>
|
|
32
|
+
<nav aria-label="Today summary" className="today-strip flex items-center gap-1 whitespace-nowrap text-xs tabular-nums sm:gap-2 sm:text-sm">
|
|
33
|
+
<a href={`#${todayIds.needs}`}>{data.complete ? data.you.length : "?"} need you</a>
|
|
34
|
+
<span aria-hidden="true">·</span>
|
|
35
|
+
<a href={`#${todayIds.progress}`}>{progress?.length ?? "?"} in progress</a>
|
|
36
|
+
<span aria-hidden="true">·</span>
|
|
37
|
+
<a href={`#${todayIds.goals}`}>{goals?.goals.length ?? "?"} active goals</a>
|
|
38
|
+
</nav>
|
|
39
|
+
<div className="today-grid grid min-w-0 gap-6 xl:grid-cols-[minmax(0,2fr)_minmax(0,1fr)]">
|
|
40
|
+
<div className="min-w-0 space-y-6">
|
|
41
|
+
<NeedsYou api={api} data={data} />
|
|
42
|
+
<section className="min-w-0" id={todayIds.progress}>
|
|
43
|
+
<h2 className="mt-0 mb-3 font-semibold text-lg">In progress</h2>
|
|
44
|
+
<TodayProgress data={fleet} failed={Option.isSome(fleetQuery.cause)} />
|
|
45
|
+
</section>
|
|
46
|
+
</div>
|
|
47
|
+
<section className="min-w-0" id={todayIds.goals}>
|
|
48
|
+
<h2 className="mt-0 mb-3 font-semibold text-lg">Goals</h2>
|
|
49
|
+
{goals ? <TodayGoals data={goals} /> : <p role="status">{Option.isSome(query.cause) ? "Goals unavailable." : "Loading goals…"}</p>}
|
|
50
|
+
{goals && Option.isSome(query.cause) && <p role="status">Goal refresh failed. Displayed goals are retained.</p>}
|
|
51
|
+
</section>
|
|
52
|
+
</div>
|
|
53
|
+
</div>
|
|
54
|
+
);
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
function NeedsYou({ api, data }: { readonly api: ShellApi; readonly data: InboxProjection }) {
|
|
58
|
+
return (
|
|
59
|
+
<section className="min-w-0" id={todayIds.needs}>
|
|
60
|
+
<h2 className="mt-0 mb-3 font-semibold text-lg">Needs you</h2>
|
|
61
|
+
<TodayNeeds api={api} data={data} />
|
|
62
|
+
{data.complete && data.you.length === 0 && (
|
|
63
|
+
<a className="text-sm" href="/_board/start">
|
|
64
|
+
Getting started
|
|
65
|
+
</a>
|
|
66
|
+
)}
|
|
67
|
+
</section>
|
|
68
|
+
);
|
|
69
|
+
}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import type { FleetItemsProjection } from "#browser/views/FleetItemsProjection.ts";
|
|
2
|
+
import { Badge } from "#client/react/components/ui/Badge.tsx";
|
|
3
|
+
import { inProgressItems } from "./inProgressItems.ts";
|
|
4
|
+
|
|
5
|
+
export function TodayProgress({ data, failed }: { readonly data: FleetItemsProjection | undefined; readonly failed: boolean }) {
|
|
6
|
+
const items = inProgressItems(data);
|
|
7
|
+
return (
|
|
8
|
+
<div className="space-y-3">
|
|
9
|
+
{items === undefined && (
|
|
10
|
+
<p className="text-muted-foreground text-sm" role="status">
|
|
11
|
+
{unavailable(data, failed)}
|
|
12
|
+
</p>
|
|
13
|
+
)}
|
|
14
|
+
{items?.length === 0 && <p className="text-muted-foreground text-sm">Fleet holds no work in progress.</p>}
|
|
15
|
+
{items !== undefined && items.length > 0 && (
|
|
16
|
+
<ul aria-label="In progress" className="m-0 list-none divide-y rounded-lg border border-border p-0">
|
|
17
|
+
{items.slice(0, 8).map((item) => (
|
|
18
|
+
<ProgressRow item={item} key={item.workId} />
|
|
19
|
+
))}
|
|
20
|
+
</ul>
|
|
21
|
+
)}
|
|
22
|
+
{items !== undefined && failed && (
|
|
23
|
+
<p className="text-sm" role="status">
|
|
24
|
+
Fleet refresh failed. Displayed work is retained.
|
|
25
|
+
</p>
|
|
26
|
+
)}
|
|
27
|
+
<a className="inline-block text-sm" href="/_board/work">
|
|
28
|
+
All in Now →
|
|
29
|
+
</a>
|
|
30
|
+
</div>
|
|
31
|
+
);
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
function ProgressRow({ item }: { readonly item: NonNullable<ReturnType<typeof inProgressItems>>[number] }) {
|
|
35
|
+
const title = item.document?.title ?? item.workId;
|
|
36
|
+
return (
|
|
37
|
+
<li className="flex h-10 min-w-0 items-center gap-2 px-2" data-progress-id={item.workId}>
|
|
38
|
+
<a className="min-w-0 flex-1 truncate text-sm" href={`/_board/item/${encodeURIComponent(item.workId)}/`} title={title}>
|
|
39
|
+
{title}
|
|
40
|
+
</a>
|
|
41
|
+
<Badge className="shrink-0 border-agent-working/25 bg-agent-working/10 text-agent-working text-xs" variant="outline">
|
|
42
|
+
Fleet · {item.stage}
|
|
43
|
+
</Badge>
|
|
44
|
+
{item.prUrl ? (
|
|
45
|
+
<a aria-label={`Pull request for ${title}`} className="shrink-0 text-xs" href={item.prUrl}>
|
|
46
|
+
PR ↗
|
|
47
|
+
</a>
|
|
48
|
+
) : null}
|
|
49
|
+
</li>
|
|
50
|
+
);
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
function unavailable(data: FleetItemsProjection | undefined, failed: boolean) {
|
|
54
|
+
if (data?.state === "unavailable") {
|
|
55
|
+
return `Fleet unavailable. ${data.reason}`;
|
|
56
|
+
}
|
|
57
|
+
return failed ? "Fleet work unavailable." : "Loading Fleet work…";
|
|
58
|
+
}
|