@kelpie/ui 0.1.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/LICENSE +661 -0
- package/README.md +44 -0
- package/dist/ServiceStatus.d.ts +6 -0
- package/dist/ServiceStatus.d.ts.map +1 -0
- package/dist/ServiceStatus.js +35 -0
- package/dist/ServiceStatus.js.map +1 -0
- package/dist/api/ApiProvider.d.ts +19 -0
- package/dist/api/ApiProvider.d.ts.map +1 -0
- package/dist/api/ApiProvider.js +18 -0
- package/dist/api/ApiProvider.js.map +1 -0
- package/dist/api/client.d.ts +83 -0
- package/dist/api/client.d.ts.map +1 -0
- package/dist/api/client.js +162 -0
- package/dist/api/client.js.map +1 -0
- package/dist/api/context.d.ts +14 -0
- package/dist/api/context.d.ts.map +1 -0
- package/dist/api/context.js +20 -0
- package/dist/api/context.js.map +1 -0
- package/dist/api/errors.d.ts +9 -0
- package/dist/api/errors.d.ts.map +1 -0
- package/dist/api/errors.js +14 -0
- package/dist/api/errors.js.map +1 -0
- package/dist/api/health.d.ts +15 -0
- package/dist/api/health.d.ts.map +1 -0
- package/dist/api/health.js +22 -0
- package/dist/api/health.js.map +1 -0
- package/dist/api/json.d.ts +3 -0
- package/dist/api/json.d.ts.map +1 -0
- package/dist/api/json.js +5 -0
- package/dist/api/json.js.map +1 -0
- package/dist/api/queryClient.d.ts +17 -0
- package/dist/api/queryClient.d.ts.map +1 -0
- package/dist/api/queryClient.js +33 -0
- package/dist/api/queryClient.js.map +1 -0
- package/dist/api/resource.d.ts +110 -0
- package/dist/api/resource.d.ts.map +1 -0
- package/dist/api/resource.js +238 -0
- package/dist/api/resource.js.map +1 -0
- package/dist/api/resources/account.d.ts +49 -0
- package/dist/api/resources/account.d.ts.map +1 -0
- package/dist/api/resources/account.js +146 -0
- package/dist/api/resources/account.js.map +1 -0
- package/dist/api/resources/activities.d.ts +8 -0
- package/dist/api/resources/activities.d.ts.map +1 -0
- package/dist/api/resources/activities.js +21 -0
- package/dist/api/resources/activities.js.map +1 -0
- package/dist/api/resources/agentTasks.d.ts +31 -0
- package/dist/api/resources/agentTasks.d.ts.map +1 -0
- package/dist/api/resources/agentTasks.js +103 -0
- package/dist/api/resources/agentTasks.js.map +1 -0
- package/dist/api/resources/candidates.d.ts +17 -0
- package/dist/api/resources/candidates.d.ts.map +1 -0
- package/dist/api/resources/candidates.js +40 -0
- package/dist/api/resources/candidates.js.map +1 -0
- package/dist/api/resources/companies.d.ts +22 -0
- package/dist/api/resources/companies.d.ts.map +1 -0
- package/dist/api/resources/companies.js +36 -0
- package/dist/api/resources/companies.js.map +1 -0
- package/dist/api/resources/dashboard.d.ts +8 -0
- package/dist/api/resources/dashboard.d.ts.map +1 -0
- package/dist/api/resources/dashboard.js +27 -0
- package/dist/api/resources/dashboard.js.map +1 -0
- package/dist/api/resources/deals.d.ts +30 -0
- package/dist/api/resources/deals.d.ts.map +1 -0
- package/dist/api/resources/deals.js +38 -0
- package/dist/api/resources/deals.js.map +1 -0
- package/dist/api/resources/decisions.d.ts +13 -0
- package/dist/api/resources/decisions.d.ts.map +1 -0
- package/dist/api/resources/decisions.js +38 -0
- package/dist/api/resources/decisions.js.map +1 -0
- package/dist/api/resources/forms.d.ts +82 -0
- package/dist/api/resources/forms.d.ts.map +1 -0
- package/dist/api/resources/forms.js +129 -0
- package/dist/api/resources/forms.js.map +1 -0
- package/dist/api/resources/handbookPages.d.ts +33 -0
- package/dist/api/resources/handbookPages.d.ts.map +1 -0
- package/dist/api/resources/handbookPages.js +49 -0
- package/dist/api/resources/handbookPages.js.map +1 -0
- package/dist/api/resources/importJobs.d.ts +72 -0
- package/dist/api/resources/importJobs.d.ts.map +1 -0
- package/dist/api/resources/importJobs.js +145 -0
- package/dist/api/resources/importJobs.js.map +1 -0
- package/dist/api/resources/invites.d.ts +19 -0
- package/dist/api/resources/invites.d.ts.map +1 -0
- package/dist/api/resources/invites.js +78 -0
- package/dist/api/resources/invites.js.map +1 -0
- package/dist/api/resources/mcpTools.d.ts +8 -0
- package/dist/api/resources/mcpTools.d.ts.map +1 -0
- package/dist/api/resources/mcpTools.js +23 -0
- package/dist/api/resources/mcpTools.js.map +1 -0
- package/dist/api/resources/members.d.ts +40 -0
- package/dist/api/resources/members.d.ts.map +1 -0
- package/dist/api/resources/members.js +67 -0
- package/dist/api/resources/members.js.map +1 -0
- package/dist/api/resources/moduleSettings.d.ts +14 -0
- package/dist/api/resources/moduleSettings.d.ts.map +1 -0
- package/dist/api/resources/moduleSettings.js +43 -0
- package/dist/api/resources/moduleSettings.js.map +1 -0
- package/dist/api/resources/mutation.d.ts +18 -0
- package/dist/api/resources/mutation.d.ts.map +1 -0
- package/dist/api/resources/mutation.js +12 -0
- package/dist/api/resources/mutation.js.map +1 -0
- package/dist/api/resources/notes.d.ts +14 -0
- package/dist/api/resources/notes.d.ts.map +1 -0
- package/dist/api/resources/notes.js +39 -0
- package/dist/api/resources/notes.js.map +1 -0
- package/dist/api/resources/opportunities.d.ts +29 -0
- package/dist/api/resources/opportunities.d.ts.map +1 -0
- package/dist/api/resources/opportunities.js +38 -0
- package/dist/api/resources/opportunities.js.map +1 -0
- package/dist/api/resources/partnerships.d.ts +33 -0
- package/dist/api/resources/partnerships.d.ts.map +1 -0
- package/dist/api/resources/partnerships.js +39 -0
- package/dist/api/resources/partnerships.js.map +1 -0
- package/dist/api/resources/people.d.ts +22 -0
- package/dist/api/resources/people.d.ts.map +1 -0
- package/dist/api/resources/people.js +36 -0
- package/dist/api/resources/people.js.map +1 -0
- package/dist/api/resources/pipelineStages.d.ts +22 -0
- package/dist/api/resources/pipelineStages.d.ts.map +1 -0
- package/dist/api/resources/pipelineStages.js +61 -0
- package/dist/api/resources/pipelineStages.js.map +1 -0
- package/dist/api/resources/planItems.d.ts +31 -0
- package/dist/api/resources/planItems.d.ts.map +1 -0
- package/dist/api/resources/planItems.js +60 -0
- package/dist/api/resources/planItems.js.map +1 -0
- package/dist/api/resources/positions.d.ts +23 -0
- package/dist/api/resources/positions.d.ts.map +1 -0
- package/dist/api/resources/positions.js +31 -0
- package/dist/api/resources/positions.js.map +1 -0
- package/dist/api/resources/raises.d.ts +30 -0
- package/dist/api/resources/raises.d.ts.map +1 -0
- package/dist/api/resources/raises.js +38 -0
- package/dist/api/resources/raises.js.map +1 -0
- package/dist/api/resources/roles.d.ts +20 -0
- package/dist/api/resources/roles.d.ts.map +1 -0
- package/dist/api/resources/roles.js +31 -0
- package/dist/api/resources/roles.js.map +1 -0
- package/dist/api/resources/search.d.ts +12 -0
- package/dist/api/resources/search.d.ts.map +1 -0
- package/dist/api/resources/search.js +37 -0
- package/dist/api/resources/search.js.map +1 -0
- package/dist/api/resources/session.d.ts +58 -0
- package/dist/api/resources/session.d.ts.map +1 -0
- package/dist/api/resources/session.js +157 -0
- package/dist/api/resources/session.js.map +1 -0
- package/dist/api/resources/webhooks.d.ts +45 -0
- package/dist/api/resources/webhooks.d.ts.map +1 -0
- package/dist/api/resources/webhooks.js +106 -0
- package/dist/api/resources/webhooks.js.map +1 -0
- package/dist/api/resources/workspace.d.ts +20 -0
- package/dist/api/resources/workspace.d.ts.map +1 -0
- package/dist/api/resources/workspace.js +63 -0
- package/dist/api/resources/workspace.js.map +1 -0
- package/dist/app/KelpieApp.d.ts +18 -0
- package/dist/app/KelpieApp.d.ts.map +1 -0
- package/dist/app/KelpieApp.js +59 -0
- package/dist/app/KelpieApp.js.map +1 -0
- package/dist/app/SessionGate.d.ts +14 -0
- package/dist/app/SessionGate.d.ts.map +1 -0
- package/dist/app/SessionGate.js +33 -0
- package/dist/app/SessionGate.js.map +1 -0
- package/dist/components/ActivitiesPanel.d.ts +28 -0
- package/dist/components/ActivitiesPanel.d.ts.map +1 -0
- package/dist/components/ActivitiesPanel.js +75 -0
- package/dist/components/ActivitiesPanel.js.map +1 -0
- package/dist/components/AgentTasks.d.ts +16 -0
- package/dist/components/AgentTasks.d.ts.map +1 -0
- package/dist/components/AgentTasks.js +166 -0
- package/dist/components/AgentTasks.js.map +1 -0
- package/dist/components/Chip.d.ts +10 -0
- package/dist/components/Chip.d.ts.map +1 -0
- package/dist/components/Chip.js +21 -0
- package/dist/components/Chip.js.map +1 -0
- package/dist/components/CopyButton.d.ts +7 -0
- package/dist/components/CopyButton.d.ts.map +1 -0
- package/dist/components/CopyButton.js +30 -0
- package/dist/components/CopyButton.js.map +1 -0
- package/dist/components/DataTable.d.ts +36 -0
- package/dist/components/DataTable.d.ts.map +1 -0
- package/dist/components/DataTable.js +43 -0
- package/dist/components/DataTable.js.map +1 -0
- package/dist/components/DecisionsPanel.d.ts +14 -0
- package/dist/components/DecisionsPanel.d.ts.map +1 -0
- package/dist/components/DecisionsPanel.js +73 -0
- package/dist/components/DecisionsPanel.js.map +1 -0
- package/dist/components/DeleteRecord.d.ts +19 -0
- package/dist/components/DeleteRecord.d.ts.map +1 -0
- package/dist/components/DeleteRecord.js +22 -0
- package/dist/components/DeleteRecord.js.map +1 -0
- package/dist/components/EntitySearch.d.ts +33 -0
- package/dist/components/EntitySearch.d.ts.map +1 -0
- package/dist/components/EntitySearch.js +111 -0
- package/dist/components/EntitySearch.js.map +1 -0
- package/dist/components/ErrorBoundary.d.ts +21 -0
- package/dist/components/ErrorBoundary.d.ts.map +1 -0
- package/dist/components/ErrorBoundary.js +26 -0
- package/dist/components/ErrorBoundary.js.map +1 -0
- package/dist/components/InlineEdit.d.ts +37 -0
- package/dist/components/InlineEdit.d.ts.map +1 -0
- package/dist/components/InlineEdit.js +77 -0
- package/dist/components/InlineEdit.js.map +1 -0
- package/dist/components/KanbanBoard.d.ts +24 -0
- package/dist/components/KanbanBoard.d.ts.map +1 -0
- package/dist/components/KanbanBoard.js +92 -0
- package/dist/components/KanbanBoard.js.map +1 -0
- package/dist/components/MarkdownView.d.ts +4 -0
- package/dist/components/MarkdownView.d.ts.map +1 -0
- package/dist/components/MarkdownView.js +45 -0
- package/dist/components/MarkdownView.js.map +1 -0
- package/dist/components/NotesPanel.d.ts +17 -0
- package/dist/components/NotesPanel.d.ts.map +1 -0
- package/dist/components/NotesPanel.js +53 -0
- package/dist/components/NotesPanel.js.map +1 -0
- package/dist/components/PageHeader.d.ts +20 -0
- package/dist/components/PageHeader.d.ts.map +1 -0
- package/dist/components/PageHeader.js +15 -0
- package/dist/components/PageHeader.js.map +1 -0
- package/dist/components/PhonesField.d.ts +7 -0
- package/dist/components/PhonesField.d.ts.map +1 -0
- package/dist/components/PhonesField.js +92 -0
- package/dist/components/PhonesField.js.map +1 -0
- package/dist/components/PlanAttention.d.ts +40 -0
- package/dist/components/PlanAttention.d.ts.map +1 -0
- package/dist/components/PlanAttention.js +86 -0
- package/dist/components/PlanAttention.js.map +1 -0
- package/dist/components/PlanPanel.d.ts +18 -0
- package/dist/components/PlanPanel.d.ts.map +1 -0
- package/dist/components/PlanPanel.js +102 -0
- package/dist/components/PlanPanel.js.map +1 -0
- package/dist/components/QueryState.d.ts +24 -0
- package/dist/components/QueryState.d.ts.map +1 -0
- package/dist/components/QueryState.js +34 -0
- package/dist/components/QueryState.js.map +1 -0
- package/dist/components/RecordTabs.d.ts +16 -0
- package/dist/components/RecordTabs.d.ts.map +1 -0
- package/dist/components/RecordTabs.js +15 -0
- package/dist/components/RecordTabs.js.map +1 -0
- package/dist/components/SectionHeader.d.ts +15 -0
- package/dist/components/SectionHeader.d.ts.map +1 -0
- package/dist/components/SectionHeader.js +14 -0
- package/dist/components/SectionHeader.js.map +1 -0
- package/dist/components/SegmentedControl.d.ts +13 -0
- package/dist/components/SegmentedControl.d.ts.map +1 -0
- package/dist/components/SegmentedControl.js +14 -0
- package/dist/components/SegmentedControl.js.map +1 -0
- package/dist/components/Shell.d.ts +2 -0
- package/dist/components/Shell.d.ts.map +1 -0
- package/dist/components/Shell.js +143 -0
- package/dist/components/Shell.js.map +1 -0
- package/dist/components/SidebarField.d.ts +8 -0
- package/dist/components/SidebarField.d.ts.map +1 -0
- package/dist/components/SidebarField.js +6 -0
- package/dist/components/SidebarField.js.map +1 -0
- package/dist/components/SocialProfilesField.d.ts +8 -0
- package/dist/components/SocialProfilesField.d.ts.map +1 -0
- package/dist/components/SocialProfilesField.js +176 -0
- package/dist/components/SocialProfilesField.js.map +1 -0
- package/dist/components/StageSettings.d.ts +16 -0
- package/dist/components/StageSettings.d.ts.map +1 -0
- package/dist/components/StageSettings.js +107 -0
- package/dist/components/StageSettings.js.map +1 -0
- package/dist/components/SummaryBlock.d.ts +12 -0
- package/dist/components/SummaryBlock.d.ts.map +1 -0
- package/dist/components/SummaryBlock.js +12 -0
- package/dist/components/SummaryBlock.js.map +1 -0
- package/dist/index.d.ts +90 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +55 -0
- package/dist/index.js.map +1 -0
- package/dist/lib/dates.d.ts +26 -0
- package/dist/lib/dates.d.ts.map +1 -0
- package/dist/lib/dates.js +71 -0
- package/dist/lib/dates.js.map +1 -0
- package/dist/lib/money.d.ts +7 -0
- package/dist/lib/money.d.ts.map +1 -0
- package/dist/lib/money.js +13 -0
- package/dist/lib/money.js.map +1 -0
- package/dist/lib/names.d.ts +9 -0
- package/dist/lib/names.d.ts.map +1 -0
- package/dist/lib/names.js +13 -0
- package/dist/lib/names.js.map +1 -0
- package/dist/lib/plan.d.ts +67 -0
- package/dist/lib/plan.d.ts.map +1 -0
- package/dist/lib/plan.js +96 -0
- package/dist/lib/plan.js.map +1 -0
- package/dist/lib/theme.d.ts +19 -0
- package/dist/lib/theme.d.ts.map +1 -0
- package/dist/lib/theme.js +30 -0
- package/dist/lib/theme.js.map +1 -0
- package/dist/pages/CompaniesPage.d.ts +2 -0
- package/dist/pages/CompaniesPage.d.ts.map +1 -0
- package/dist/pages/CompaniesPage.js +77 -0
- package/dist/pages/CompaniesPage.js.map +1 -0
- package/dist/pages/CompanyDetail.d.ts +2 -0
- package/dist/pages/CompanyDetail.d.ts.map +1 -0
- package/dist/pages/CompanyDetail.js +177 -0
- package/dist/pages/CompanyDetail.js.map +1 -0
- package/dist/pages/DealDetail.d.ts +2 -0
- package/dist/pages/DealDetail.d.ts.map +1 -0
- package/dist/pages/DealDetail.js +192 -0
- package/dist/pages/DealDetail.js.map +1 -0
- package/dist/pages/DealStageSettingsPage.d.ts +7 -0
- package/dist/pages/DealStageSettingsPage.d.ts.map +1 -0
- package/dist/pages/DealStageSettingsPage.js +38 -0
- package/dist/pages/DealStageSettingsPage.js.map +1 -0
- package/dist/pages/DealsPage.d.ts +2 -0
- package/dist/pages/DealsPage.d.ts.map +1 -0
- package/dist/pages/DealsPage.js +177 -0
- package/dist/pages/DealsPage.js.map +1 -0
- package/dist/pages/DecisionsPage.d.ts +2 -0
- package/dist/pages/DecisionsPage.d.ts.map +1 -0
- package/dist/pages/DecisionsPage.js +121 -0
- package/dist/pages/DecisionsPage.js.map +1 -0
- package/dist/pages/FormDetail.d.ts +2 -0
- package/dist/pages/FormDetail.d.ts.map +1 -0
- package/dist/pages/FormDetail.js +56 -0
- package/dist/pages/FormDetail.js.map +1 -0
- package/dist/pages/FormsPage.d.ts +2 -0
- package/dist/pages/FormsPage.d.ts.map +1 -0
- package/dist/pages/FormsPage.js +67 -0
- package/dist/pages/FormsPage.js.map +1 -0
- package/dist/pages/FundraisingPage.d.ts +2 -0
- package/dist/pages/FundraisingPage.d.ts.map +1 -0
- package/dist/pages/FundraisingPage.js +187 -0
- package/dist/pages/FundraisingPage.js.map +1 -0
- package/dist/pages/HiringPage.d.ts +9 -0
- package/dist/pages/HiringPage.d.ts.map +1 -0
- package/dist/pages/HiringPage.js +73 -0
- package/dist/pages/HiringPage.js.map +1 -0
- package/dist/pages/NotFoundPage.d.ts +10 -0
- package/dist/pages/NotFoundPage.d.ts.map +1 -0
- package/dist/pages/NotFoundPage.js +14 -0
- package/dist/pages/NotFoundPage.js.map +1 -0
- package/dist/pages/OpportunitiesPage.d.ts +2 -0
- package/dist/pages/OpportunitiesPage.d.ts.map +1 -0
- package/dist/pages/OpportunitiesPage.js +184 -0
- package/dist/pages/OpportunitiesPage.js.map +1 -0
- package/dist/pages/OpportunityDetail.d.ts +2 -0
- package/dist/pages/OpportunityDetail.d.ts.map +1 -0
- package/dist/pages/OpportunityDetail.js +132 -0
- package/dist/pages/OpportunityDetail.js.map +1 -0
- package/dist/pages/OpportunityStageSettingsPage.d.ts +3 -0
- package/dist/pages/OpportunityStageSettingsPage.d.ts.map +1 -0
- package/dist/pages/OpportunityStageSettingsPage.js +34 -0
- package/dist/pages/OpportunityStageSettingsPage.js.map +1 -0
- package/dist/pages/PartnershipDetail.d.ts +2 -0
- package/dist/pages/PartnershipDetail.d.ts.map +1 -0
- package/dist/pages/PartnershipDetail.js +179 -0
- package/dist/pages/PartnershipDetail.js.map +1 -0
- package/dist/pages/PartnershipStageSettingsPage.d.ts +3 -0
- package/dist/pages/PartnershipStageSettingsPage.d.ts.map +1 -0
- package/dist/pages/PartnershipStageSettingsPage.js +34 -0
- package/dist/pages/PartnershipStageSettingsPage.js.map +1 -0
- package/dist/pages/PartnershipsPage.d.ts +2 -0
- package/dist/pages/PartnershipsPage.d.ts.map +1 -0
- package/dist/pages/PartnershipsPage.js +182 -0
- package/dist/pages/PartnershipsPage.js.map +1 -0
- package/dist/pages/PeoplePage.d.ts +10 -0
- package/dist/pages/PeoplePage.d.ts.map +1 -0
- package/dist/pages/PeoplePage.js +71 -0
- package/dist/pages/PeoplePage.js.map +1 -0
- package/dist/pages/PersonDetail.d.ts +2 -0
- package/dist/pages/PersonDetail.d.ts.map +1 -0
- package/dist/pages/PersonDetail.js +193 -0
- package/dist/pages/PersonDetail.js.map +1 -0
- package/dist/pages/PlanningPage.d.ts +2 -0
- package/dist/pages/PlanningPage.d.ts.map +1 -0
- package/dist/pages/PlanningPage.js +112 -0
- package/dist/pages/PlanningPage.js.map +1 -0
- package/dist/pages/RaiseDetail.d.ts +2 -0
- package/dist/pages/RaiseDetail.d.ts.map +1 -0
- package/dist/pages/RaiseDetail.js +198 -0
- package/dist/pages/RaiseDetail.js.map +1 -0
- package/dist/pages/RaiseStageSettingsPage.d.ts +3 -0
- package/dist/pages/RaiseStageSettingsPage.d.ts.map +1 -0
- package/dist/pages/RaiseStageSettingsPage.js +34 -0
- package/dist/pages/RaiseStageSettingsPage.js.map +1 -0
- package/dist/pages/RoleDetail.d.ts +2 -0
- package/dist/pages/RoleDetail.d.ts.map +1 -0
- package/dist/pages/RoleDetail.js +177 -0
- package/dist/pages/RoleDetail.js.map +1 -0
- package/dist/pages/SearchPage.d.ts +2 -0
- package/dist/pages/SearchPage.d.ts.map +1 -0
- package/dist/pages/SearchPage.js +51 -0
- package/dist/pages/SearchPage.js.map +1 -0
- package/dist/pages/account/AccountLayout.d.ts +2 -0
- package/dist/pages/account/AccountLayout.d.ts.map +1 -0
- package/dist/pages/account/AccountLayout.js +25 -0
- package/dist/pages/account/AccountLayout.js.map +1 -0
- package/dist/pages/account/Field.d.ts +8 -0
- package/dist/pages/account/Field.d.ts.map +1 -0
- package/dist/pages/account/Field.js +6 -0
- package/dist/pages/account/Field.js.map +1 -0
- package/dist/pages/account/PreferencesPage.d.ts +2 -0
- package/dist/pages/account/PreferencesPage.d.ts.map +1 -0
- package/dist/pages/account/PreferencesPage.js +92 -0
- package/dist/pages/account/PreferencesPage.js.map +1 -0
- package/dist/pages/account/ProfilePage.d.ts +14 -0
- package/dist/pages/account/ProfilePage.d.ts.map +1 -0
- package/dist/pages/account/ProfilePage.js +71 -0
- package/dist/pages/account/ProfilePage.js.map +1 -0
- package/dist/pages/account/SecurityPage.d.ts +11 -0
- package/dist/pages/account/SecurityPage.d.ts.map +1 -0
- package/dist/pages/account/SecurityPage.js +78 -0
- package/dist/pages/account/SecurityPage.js.map +1 -0
- package/dist/pages/admin/DataPage.d.ts +3 -0
- package/dist/pages/admin/DataPage.d.ts.map +1 -0
- package/dist/pages/admin/DataPage.js +210 -0
- package/dist/pages/admin/DataPage.js.map +1 -0
- package/dist/pages/admin/McpPage.d.ts +2 -0
- package/dist/pages/admin/McpPage.d.ts.map +1 -0
- package/dist/pages/admin/McpPage.js +128 -0
- package/dist/pages/admin/McpPage.js.map +1 -0
- package/dist/pages/admin/ModulesPage.d.ts +2 -0
- package/dist/pages/admin/ModulesPage.d.ts.map +1 -0
- package/dist/pages/admin/ModulesPage.js +53 -0
- package/dist/pages/admin/ModulesPage.js.map +1 -0
- package/dist/pages/admin/TeamPage.d.ts +2 -0
- package/dist/pages/admin/TeamPage.d.ts.map +1 -0
- package/dist/pages/admin/TeamPage.js +99 -0
- package/dist/pages/admin/TeamPage.js.map +1 -0
- package/dist/pages/admin/WebhookDeliveries.d.ts +4 -0
- package/dist/pages/admin/WebhookDeliveries.d.ts.map +1 -0
- package/dist/pages/admin/WebhookDeliveries.js +88 -0
- package/dist/pages/admin/WebhookDeliveries.js.map +1 -0
- package/dist/pages/admin/WebhooksPage.d.ts +2 -0
- package/dist/pages/admin/WebhooksPage.d.ts.map +1 -0
- package/dist/pages/admin/WebhooksPage.js +152 -0
- package/dist/pages/admin/WebhooksPage.js.map +1 -0
- package/dist/pages/admin/WorkspaceSettingsPage.d.ts +2 -0
- package/dist/pages/admin/WorkspaceSettingsPage.d.ts.map +1 -0
- package/dist/pages/admin/WorkspaceSettingsPage.js +117 -0
- package/dist/pages/admin/WorkspaceSettingsPage.js.map +1 -0
- package/dist/pages/auth/AuthForm.d.ts +46 -0
- package/dist/pages/auth/AuthForm.d.ts.map +1 -0
- package/dist/pages/auth/AuthForm.js +32 -0
- package/dist/pages/auth/AuthForm.js.map +1 -0
- package/dist/pages/auth/AuthLayout.d.ts +24 -0
- package/dist/pages/auth/AuthLayout.d.ts.map +1 -0
- package/dist/pages/auth/AuthLayout.js +19 -0
- package/dist/pages/auth/AuthLayout.js.map +1 -0
- package/dist/pages/auth/ForgotPasswordPage.d.ts +13 -0
- package/dist/pages/auth/ForgotPasswordPage.d.ts.map +1 -0
- package/dist/pages/auth/ForgotPasswordPage.js +39 -0
- package/dist/pages/auth/ForgotPasswordPage.js.map +1 -0
- package/dist/pages/auth/JoinPage.d.ts +12 -0
- package/dist/pages/auth/JoinPage.d.ts.map +1 -0
- package/dist/pages/auth/JoinPage.js +43 -0
- package/dist/pages/auth/JoinPage.js.map +1 -0
- package/dist/pages/auth/ResetPasswordPage.d.ts +13 -0
- package/dist/pages/auth/ResetPasswordPage.d.ts.map +1 -0
- package/dist/pages/auth/ResetPasswordPage.js +58 -0
- package/dist/pages/auth/ResetPasswordPage.js.map +1 -0
- package/dist/pages/auth/SignInPage.d.ts +2 -0
- package/dist/pages/auth/SignInPage.d.ts.map +1 -0
- package/dist/pages/auth/SignInPage.js +38 -0
- package/dist/pages/auth/SignInPage.js.map +1 -0
- package/dist/pages/auth/SignUpPage.d.ts +13 -0
- package/dist/pages/auth/SignUpPage.d.ts.map +1 -0
- package/dist/pages/auth/SignUpPage.js +43 -0
- package/dist/pages/auth/SignUpPage.js.map +1 -0
- package/dist/pages/candidateFields.d.ts +22 -0
- package/dist/pages/candidateFields.d.ts.map +1 -0
- package/dist/pages/candidateFields.js +82 -0
- package/dist/pages/candidateFields.js.map +1 -0
- package/dist/pages/dashboard/DashboardPage.d.ts +2 -0
- package/dist/pages/dashboard/DashboardPage.d.ts.map +1 -0
- package/dist/pages/dashboard/DashboardPage.js +40 -0
- package/dist/pages/dashboard/DashboardPage.js.map +1 -0
- package/dist/pages/dashboard/attention.d.ts +41 -0
- package/dist/pages/dashboard/attention.d.ts.map +1 -0
- package/dist/pages/dashboard/attention.js +146 -0
- package/dist/pages/dashboard/attention.js.map +1 -0
- package/dist/pages/dashboard/sections.d.ts +20 -0
- package/dist/pages/dashboard/sections.d.ts.map +1 -0
- package/dist/pages/dashboard/sections.js +60 -0
- package/dist/pages/dashboard/sections.js.map +1 -0
- package/dist/pages/fields.d.ts +11 -0
- package/dist/pages/fields.d.ts.map +1 -0
- package/dist/pages/fields.js +17 -0
- package/dist/pages/fields.js.map +1 -0
- package/dist/pages/forms/EmbedPanel.d.ts +14 -0
- package/dist/pages/forms/EmbedPanel.d.ts.map +1 -0
- package/dist/pages/forms/EmbedPanel.js +19 -0
- package/dist/pages/forms/EmbedPanel.js.map +1 -0
- package/dist/pages/forms/FieldsEditor.d.ts +6 -0
- package/dist/pages/forms/FieldsEditor.d.ts.map +1 -0
- package/dist/pages/forms/FieldsEditor.js +115 -0
- package/dist/pages/forms/FieldsEditor.js.map +1 -0
- package/dist/pages/forms/FormSettings.d.ts +6 -0
- package/dist/pages/forms/FormSettings.d.ts.map +1 -0
- package/dist/pages/forms/FormSettings.js +47 -0
- package/dist/pages/forms/FormSettings.js.map +1 -0
- package/dist/pages/forms/SubmissionsTable.d.ts +8 -0
- package/dist/pages/forms/SubmissionsTable.d.ts.map +1 -0
- package/dist/pages/forms/SubmissionsTable.js +91 -0
- package/dist/pages/forms/SubmissionsTable.js.map +1 -0
- package/dist/pages/forms/fieldList.d.ts +70 -0
- package/dist/pages/forms/fieldList.d.ts.map +1 -0
- package/dist/pages/forms/fieldList.js +126 -0
- package/dist/pages/forms/fieldList.js.map +1 -0
- package/dist/pages/forms/template.d.ts +18 -0
- package/dist/pages/forms/template.d.ts.map +1 -0
- package/dist/pages/forms/template.js +34 -0
- package/dist/pages/forms/template.js.map +1 -0
- package/dist/pages/handbook/HandbookPage.d.ts +2 -0
- package/dist/pages/handbook/HandbookPage.d.ts.map +1 -0
- package/dist/pages/handbook/HandbookPage.js +197 -0
- package/dist/pages/handbook/HandbookPage.js.map +1 -0
- package/dist/pages/handbook/tree.d.ts +62 -0
- package/dist/pages/handbook/tree.d.ts.map +1 -0
- package/dist/pages/handbook/tree.js +222 -0
- package/dist/pages/handbook/tree.js.map +1 -0
- package/dist/pages/hiringDirectory.d.ts +60 -0
- package/dist/pages/hiringDirectory.d.ts.map +1 -0
- package/dist/pages/hiringDirectory.js +81 -0
- package/dist/pages/hiringDirectory.js.map +1 -0
- package/dist/pages/onboarding/HandbookStepPage.d.ts +14 -0
- package/dist/pages/onboarding/HandbookStepPage.d.ts.map +1 -0
- package/dist/pages/onboarding/HandbookStepPage.js +29 -0
- package/dist/pages/onboarding/HandbookStepPage.js.map +1 -0
- package/dist/pages/onboarding/InvitesStepPage.d.ts +2 -0
- package/dist/pages/onboarding/InvitesStepPage.d.ts.map +1 -0
- package/dist/pages/onboarding/InvitesStepPage.js +77 -0
- package/dist/pages/onboarding/InvitesStepPage.js.map +1 -0
- package/dist/pages/onboarding/WorkspaceStepPage.d.ts +2 -0
- package/dist/pages/onboarding/WorkspaceStepPage.d.ts.map +1 -0
- package/dist/pages/onboarding/WorkspaceStepPage.js +72 -0
- package/dist/pages/onboarding/WorkspaceStepPage.js.map +1 -0
- package/dist/pages/positionDirectory.d.ts +20 -0
- package/dist/pages/positionDirectory.d.ts.map +1 -0
- package/dist/pages/positionDirectory.js +58 -0
- package/dist/pages/positionDirectory.js.map +1 -0
- package/dist/registry/UiExtensionProvider.d.ts +12 -0
- package/dist/registry/UiExtensionProvider.d.ts.map +1 -0
- package/dist/registry/UiExtensionProvider.js +10 -0
- package/dist/registry/UiExtensionProvider.js.map +1 -0
- package/dist/registry/context.d.ts +31 -0
- package/dist/registry/context.d.ts.map +1 -0
- package/dist/registry/context.js +45 -0
- package/dist/registry/context.js.map +1 -0
- package/dist/registry/contributions.d.ts +71 -0
- package/dist/registry/contributions.d.ts.map +1 -0
- package/dist/registry/contributions.js +25 -0
- package/dist/registry/contributions.js.map +1 -0
- package/dist/registry/overridable.d.ts +27 -0
- package/dist/registry/overridable.d.ts.map +1 -0
- package/dist/registry/overridable.js +29 -0
- package/dist/registry/overridable.js.map +1 -0
- package/dist/registry/registry.d.ts +68 -0
- package/dist/registry/registry.d.ts.map +1 -0
- package/dist/registry/registry.js +112 -0
- package/dist/registry/registry.js.map +1 -0
- package/dist/testing/inputs.d.ts +13 -0
- package/dist/testing/inputs.d.ts.map +1 -0
- package/dist/testing/inputs.js +16 -0
- package/dist/testing/inputs.js.map +1 -0
- package/dist/testing/stubClient.d.ts +42 -0
- package/dist/testing/stubClient.d.ts.map +1 -0
- package/dist/testing/stubClient.js +29 -0
- package/dist/testing/stubClient.js.map +1 -0
- package/package.json +73 -0
- package/src/ServiceStatus.tsx +61 -0
- package/src/api/ApiProvider.tsx +40 -0
- package/src/api/client.ts +267 -0
- package/src/api/context.ts +25 -0
- package/src/api/errors.ts +14 -0
- package/src/api/health.ts +38 -0
- package/src/api/json.ts +4 -0
- package/src/api/queryClient.ts +35 -0
- package/src/api/resource.ts +412 -0
- package/src/api/resources/account.ts +220 -0
- package/src/api/resources/activities.ts +31 -0
- package/src/api/resources/agentTasks.ts +172 -0
- package/src/api/resources/candidates.ts +69 -0
- package/src/api/resources/companies.ts +72 -0
- package/src/api/resources/dashboard.ts +39 -0
- package/src/api/resources/deals.ts +82 -0
- package/src/api/resources/decisions.ts +60 -0
- package/src/api/resources/forms.ts +218 -0
- package/src/api/resources/handbookPages.ts +77 -0
- package/src/api/resources/importJobs.ts +229 -0
- package/src/api/resources/invites.ts +112 -0
- package/src/api/resources/mcpTools.ts +28 -0
- package/src/api/resources/members.ts +105 -0
- package/src/api/resources/moduleSettings.ts +67 -0
- package/src/api/resources/mutation.ts +31 -0
- package/src/api/resources/notes.ts +62 -0
- package/src/api/resources/opportunities.ts +84 -0
- package/src/api/resources/partnerships.ts +89 -0
- package/src/api/resources/people.ts +72 -0
- package/src/api/resources/pipelineStages.ts +93 -0
- package/src/api/resources/planItems.ts +103 -0
- package/src/api/resources/positions.ts +70 -0
- package/src/api/resources/raises.ts +82 -0
- package/src/api/resources/roles.ts +65 -0
- package/src/api/resources/search.ts +49 -0
- package/src/api/resources/session.ts +220 -0
- package/src/api/resources/webhooks.ts +157 -0
- package/src/api/resources/workspace.ts +81 -0
- package/src/app/KelpieApp.tsx +162 -0
- package/src/app/SessionGate.tsx +42 -0
- package/src/components/ActivitiesPanel.tsx +235 -0
- package/src/components/AgentTasks.tsx +473 -0
- package/src/components/Chip.tsx +36 -0
- package/src/components/CopyButton.tsx +48 -0
- package/src/components/DataTable.tsx +209 -0
- package/src/components/DecisionsPanel.tsx +233 -0
- package/src/components/DeleteRecord.tsx +73 -0
- package/src/components/EntitySearch.tsx +268 -0
- package/src/components/ErrorBoundary.tsx +58 -0
- package/src/components/InlineEdit.tsx +179 -0
- package/src/components/KanbanBoard.tsx +234 -0
- package/src/components/MarkdownView.tsx +73 -0
- package/src/components/NotesPanel.tsx +169 -0
- package/src/components/PageHeader.tsx +61 -0
- package/src/components/PhonesField.tsx +204 -0
- package/src/components/PlanAttention.tsx +249 -0
- package/src/components/PlanPanel.tsx +317 -0
- package/src/components/QueryState.tsx +83 -0
- package/src/components/RecordTabs.tsx +69 -0
- package/src/components/SectionHeader.tsx +63 -0
- package/src/components/SegmentedControl.tsx +48 -0
- package/src/components/Shell.tsx +300 -0
- package/src/components/SidebarField.tsx +18 -0
- package/src/components/SocialProfilesField.tsx +356 -0
- package/src/components/StageSettings.tsx +319 -0
- package/src/components/SummaryBlock.tsx +27 -0
- package/src/index.ts +190 -0
- package/src/lib/dates.ts +90 -0
- package/src/lib/money.ts +12 -0
- package/src/lib/names.ts +13 -0
- package/src/lib/plan.ts +147 -0
- package/src/lib/theme.ts +53 -0
- package/src/pages/CompaniesPage.tsx +143 -0
- package/src/pages/CompanyDetail.tsx +502 -0
- package/src/pages/DealDetail.tsx +512 -0
- package/src/pages/DealStageSettingsPage.tsx +67 -0
- package/src/pages/DealsPage.tsx +342 -0
- package/src/pages/DecisionsPage.tsx +211 -0
- package/src/pages/FormDetail.tsx +130 -0
- package/src/pages/FormsPage.tsx +151 -0
- package/src/pages/FundraisingPage.tsx +354 -0
- package/src/pages/HiringPage.tsx +169 -0
- package/src/pages/NotFoundPage.tsx +27 -0
- package/src/pages/OpportunitiesPage.tsx +349 -0
- package/src/pages/OpportunityDetail.tsx +337 -0
- package/src/pages/OpportunityStageSettingsPage.tsx +63 -0
- package/src/pages/PartnershipDetail.tsx +490 -0
- package/src/pages/PartnershipStageSettingsPage.tsx +63 -0
- package/src/pages/PartnershipsPage.tsx +353 -0
- package/src/pages/PeoplePage.tsx +145 -0
- package/src/pages/PersonDetail.tsx +526 -0
- package/src/pages/PlanningPage.tsx +318 -0
- package/src/pages/RaiseDetail.tsx +498 -0
- package/src/pages/RaiseStageSettingsPage.tsx +63 -0
- package/src/pages/RoleDetail.tsx +455 -0
- package/src/pages/SearchPage.tsx +135 -0
- package/src/pages/account/AccountLayout.tsx +38 -0
- package/src/pages/account/Field.tsx +20 -0
- package/src/pages/account/PreferencesPage.tsx +224 -0
- package/src/pages/account/ProfilePage.tsx +147 -0
- package/src/pages/account/SecurityPage.tsx +237 -0
- package/src/pages/admin/DataPage.tsx +772 -0
- package/src/pages/admin/McpPage.tsx +404 -0
- package/src/pages/admin/ModulesPage.tsx +113 -0
- package/src/pages/admin/TeamPage.tsx +386 -0
- package/src/pages/admin/WebhookDeliveries.tsx +184 -0
- package/src/pages/admin/WebhooksPage.tsx +443 -0
- package/src/pages/admin/WorkspaceSettingsPage.tsx +274 -0
- package/src/pages/auth/AuthForm.tsx +118 -0
- package/src/pages/auth/AuthLayout.tsx +74 -0
- package/src/pages/auth/ForgotPasswordPage.tsx +80 -0
- package/src/pages/auth/JoinPage.tsx +85 -0
- package/src/pages/auth/ResetPasswordPage.tsx +124 -0
- package/src/pages/auth/SignInPage.tsx +83 -0
- package/src/pages/auth/SignUpPage.tsx +93 -0
- package/src/pages/candidateFields.tsx +175 -0
- package/src/pages/dashboard/DashboardPage.tsx +108 -0
- package/src/pages/dashboard/attention.ts +206 -0
- package/src/pages/dashboard/sections.tsx +269 -0
- package/src/pages/fields.ts +21 -0
- package/src/pages/forms/EmbedPanel.tsx +95 -0
- package/src/pages/forms/FieldsEditor.tsx +412 -0
- package/src/pages/forms/FormSettings.tsx +159 -0
- package/src/pages/forms/SubmissionsTable.tsx +171 -0
- package/src/pages/forms/fieldList.ts +209 -0
- package/src/pages/forms/template.ts +37 -0
- package/src/pages/handbook/HandbookPage.tsx +500 -0
- package/src/pages/handbook/tree.ts +327 -0
- package/src/pages/hiringDirectory.ts +146 -0
- package/src/pages/onboarding/HandbookStepPage.tsx +75 -0
- package/src/pages/onboarding/InvitesStepPage.tsx +180 -0
- package/src/pages/onboarding/WorkspaceStepPage.tsx +122 -0
- package/src/pages/positionDirectory.ts +98 -0
- package/src/registry/UiExtensionProvider.tsx +20 -0
- package/src/registry/context.ts +67 -0
- package/src/registry/contributions.ts +89 -0
- package/src/registry/overridable.ts +62 -0
- package/src/registry/registry.ts +204 -0
- package/src/styles.css +175 -0
- package/src/testing/inputs.ts +18 -0
- package/src/testing/stubClient.ts +78 -0
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import type { CreateWebhookInput, CreatedWebhook, RotateWebhookSecretInput, Webhook, WebhookDelivery, WebhookInput } from '@kelpie/schemas';
|
|
2
|
+
import type { MutationResult, RecordListResult, UpdateArguments } from '../resource.ts';
|
|
3
|
+
export interface WebhookFilters {
|
|
4
|
+
readonly status?: Webhook['status'];
|
|
5
|
+
}
|
|
6
|
+
export declare function useWebhooks(filters?: WebhookFilters): RecordListResult<Webhook>;
|
|
7
|
+
export declare function useUpdateWebhook(): MutationResult<UpdateArguments<WebhookInput>, Webhook>;
|
|
8
|
+
export declare function useDeleteWebhook(): MutationResult<string, void>;
|
|
9
|
+
export interface WebhookDeliveryFilters {
|
|
10
|
+
readonly status?: WebhookDelivery['status'];
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* One webhook's deliveries, newest first.
|
|
14
|
+
*
|
|
15
|
+
* Written out rather than built from `createResourceHooks`, for the reason
|
|
16
|
+
* `useFormSubmissions` gives: the path carries the parent id, and generalising
|
|
17
|
+
* the factory for a nested list would complicate every resource to shorten one.
|
|
18
|
+
*
|
|
19
|
+
* The status is part of the cache key. Without it, switching the filter would
|
|
20
|
+
* read the previous filter's pages out of the cache and append the new filter's
|
|
21
|
+
* next page to them.
|
|
22
|
+
*/
|
|
23
|
+
export declare function useWebhookDeliveries(webhookId: string, filters?: WebhookDeliveryFilters): RecordListResult<WebhookDelivery>;
|
|
24
|
+
/**
|
|
25
|
+
* Registers a webhook.
|
|
26
|
+
*
|
|
27
|
+
* Written out rather than taken from `createResourceHooks`, because the `201`
|
|
28
|
+
* is the only response that ever carries the signing secret and the shared hook
|
|
29
|
+
* decodes with the schema that has no such field. The secret has to survive the
|
|
30
|
+
* decode: it cannot be fetched again, so a page that dropped it would have
|
|
31
|
+
* created a webhook nobody can verify deliveries from.
|
|
32
|
+
*/
|
|
33
|
+
export declare function useCreateWebhook(): MutationResult<CreateWebhookInput, CreatedWebhook>;
|
|
34
|
+
export interface RotateSecretArguments extends RotateWebhookSecretInput {
|
|
35
|
+
readonly id: string;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Replaces a webhook's signing secret.
|
|
39
|
+
*
|
|
40
|
+
* Written out for the same reason `useCreateWebhook` is: the response carries
|
|
41
|
+
* the new secret, which no later request can retrieve, so it has to survive a
|
|
42
|
+
* decode that the shared `Webhook` schema would drop.
|
|
43
|
+
*/
|
|
44
|
+
export declare function useRotateWebhookSecret(): MutationResult<RotateSecretArguments, CreatedWebhook>;
|
|
45
|
+
//# sourceMappingURL=webhooks.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"webhooks.d.ts","sourceRoot":"","sources":["../../../src/api/resources/webhooks.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EACV,kBAAkB,EAClB,cAAc,EACd,wBAAwB,EACxB,OAAO,EACP,eAAe,EACf,YAAY,EACb,MAAM,iBAAiB,CAAA;AAOxB,OAAO,KAAK,EAAE,cAAc,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAoBvF,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAA;CACpC;AAMD,wBAAgB,WAAW,CAAC,OAAO,GAAE,cAAmB,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAEnF;AAED,wBAAgB,gBAAgB,IAAI,cAAc,CAAC,eAAe,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC,CAEzF;AAED,wBAAgB,gBAAgB,IAAI,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,CAE/D;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,MAAM,CAAC,EAAE,eAAe,CAAC,QAAQ,CAAC,CAAA;CAC5C;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,oBAAoB,CAClC,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,sBAA2B,GACnC,gBAAgB,CAAC,eAAe,CAAC,CAwBnC;AAED;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,IAAI,cAAc,CAAC,kBAAkB,EAAE,cAAc,CAAC,CAYrF;AAED,MAAM,WAAW,qBAAsB,SAAQ,wBAAwB;IACrE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;CACpB;AAED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,IAAI,cAAc,CAAC,qBAAqB,EAAE,cAAc,CAAC,CAgB9F"}
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
import { createWebhookBody, createdWebhookSchema, rotateWebhookSecretBody, webhookBody, webhookDeliverySchema, webhookSchema, } from '@kelpie/schemas';
|
|
2
|
+
import { keepPreviousData, useInfiniteQuery, useMutation, useQueryClient } from '@tanstack/react-query';
|
|
3
|
+
import { useApiClient } from '../context.js';
|
|
4
|
+
import { toError } from '../errors.js';
|
|
5
|
+
import { createResourceHooks } from '../resource.js';
|
|
6
|
+
import { asMutationResult } from './mutation.js';
|
|
7
|
+
/**
|
|
8
|
+
* `/v1/webhooks`: outbound event delivery.
|
|
9
|
+
*
|
|
10
|
+
* Every verb needs the admin role, reads included, so a member's list request
|
|
11
|
+
* answers `403` and the page renders that rather than an empty table. A webhook
|
|
12
|
+
* URL routinely carries its own credential in the path, which is what puts
|
|
13
|
+
* reading them alongside API keys.
|
|
14
|
+
*/
|
|
15
|
+
const webhooks = createResourceHooks({
|
|
16
|
+
name: 'webhooks',
|
|
17
|
+
path: '/webhooks',
|
|
18
|
+
decode: webhookSchema.parse,
|
|
19
|
+
createBody: createWebhookBody,
|
|
20
|
+
updateBody: webhookBody,
|
|
21
|
+
});
|
|
22
|
+
function webhookQuery(filters) {
|
|
23
|
+
return { status: filters.status };
|
|
24
|
+
}
|
|
25
|
+
export function useWebhooks(filters = {}) {
|
|
26
|
+
return webhooks.useList(webhookQuery(filters));
|
|
27
|
+
}
|
|
28
|
+
export function useUpdateWebhook() {
|
|
29
|
+
return webhooks.useUpdate();
|
|
30
|
+
}
|
|
31
|
+
export function useDeleteWebhook() {
|
|
32
|
+
return webhooks.useRemove();
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* One webhook's deliveries, newest first.
|
|
36
|
+
*
|
|
37
|
+
* Written out rather than built from `createResourceHooks`, for the reason
|
|
38
|
+
* `useFormSubmissions` gives: the path carries the parent id, and generalising
|
|
39
|
+
* the factory for a nested list would complicate every resource to shorten one.
|
|
40
|
+
*
|
|
41
|
+
* The status is part of the cache key. Without it, switching the filter would
|
|
42
|
+
* read the previous filter's pages out of the cache and append the new filter's
|
|
43
|
+
* next page to them.
|
|
44
|
+
*/
|
|
45
|
+
export function useWebhookDeliveries(webhookId, filters = {}) {
|
|
46
|
+
const client = useApiClient();
|
|
47
|
+
const result = useInfiniteQuery({
|
|
48
|
+
queryKey: ['webhooks', 'deliveries', webhookId, filters.status ?? 'all'],
|
|
49
|
+
queryFn: ({ pageParam }) => client.list(`/webhooks/${webhookId}/deliveries`, webhookDeliverySchema.parse, {
|
|
50
|
+
status: filters.status,
|
|
51
|
+
...(pageParam === null ? {} : { cursor: pageParam }),
|
|
52
|
+
}),
|
|
53
|
+
initialPageParam: null,
|
|
54
|
+
getNextPageParam: (lastPage) => lastPage.nextCursor,
|
|
55
|
+
placeholderData: keepPreviousData,
|
|
56
|
+
});
|
|
57
|
+
return {
|
|
58
|
+
records: result.data?.pages.flatMap((page) => page.items) ?? [],
|
|
59
|
+
isLoading: result.isPending,
|
|
60
|
+
error: toError(result.error),
|
|
61
|
+
hasMore: result.hasNextPage,
|
|
62
|
+
isLoadingMore: result.isFetchingNextPage,
|
|
63
|
+
loadMore: () => {
|
|
64
|
+
void result.fetchNextPage();
|
|
65
|
+
},
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Registers a webhook.
|
|
70
|
+
*
|
|
71
|
+
* Written out rather than taken from `createResourceHooks`, because the `201`
|
|
72
|
+
* is the only response that ever carries the signing secret and the shared hook
|
|
73
|
+
* decodes with the schema that has no such field. The secret has to survive the
|
|
74
|
+
* decode: it cannot be fetched again, so a page that dropped it would have
|
|
75
|
+
* created a webhook nobody can verify deliveries from.
|
|
76
|
+
*/
|
|
77
|
+
export function useCreateWebhook() {
|
|
78
|
+
const client = useApiClient();
|
|
79
|
+
const queryClient = useQueryClient();
|
|
80
|
+
const mutation = useMutation({
|
|
81
|
+
mutationFn: (input) => client.post('/webhooks', createWebhookBody(input), createdWebhookSchema.parse),
|
|
82
|
+
onSettled: () => {
|
|
83
|
+
void queryClient.invalidateQueries({ queryKey: ['webhooks', 'list'] });
|
|
84
|
+
},
|
|
85
|
+
});
|
|
86
|
+
return asMutationResult(mutation);
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Replaces a webhook's signing secret.
|
|
90
|
+
*
|
|
91
|
+
* Written out for the same reason `useCreateWebhook` is: the response carries
|
|
92
|
+
* the new secret, which no later request can retrieve, so it has to survive a
|
|
93
|
+
* decode that the shared `Webhook` schema would drop.
|
|
94
|
+
*/
|
|
95
|
+
export function useRotateWebhookSecret() {
|
|
96
|
+
const client = useApiClient();
|
|
97
|
+
const queryClient = useQueryClient();
|
|
98
|
+
const mutation = useMutation({
|
|
99
|
+
mutationFn: ({ id, ...input }) => client.post(`/webhooks/${id}/rotate_secret`, rotateWebhookSecretBody(input), createdWebhookSchema.parse),
|
|
100
|
+
onSettled: () => {
|
|
101
|
+
void queryClient.invalidateQueries({ queryKey: ['webhooks', 'list'] });
|
|
102
|
+
},
|
|
103
|
+
});
|
|
104
|
+
return asMutationResult(mutation);
|
|
105
|
+
}
|
|
106
|
+
//# sourceMappingURL=webhooks.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"webhooks.js","sourceRoot":"","sources":["../../../src/api/resources/webhooks.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { UpdateWorkspaceInput, Workspace } from '@kelpie/schemas';
|
|
2
|
+
import type { MutationResult } from '../resource.ts';
|
|
3
|
+
export interface WorkspaceState {
|
|
4
|
+
readonly workspace: Workspace | undefined;
|
|
5
|
+
readonly isLoading: boolean;
|
|
6
|
+
readonly error: Error | null;
|
|
7
|
+
}
|
|
8
|
+
export declare function useWorkspace(): WorkspaceState;
|
|
9
|
+
export declare function useUpdateWorkspace(): MutationResult<UpdateWorkspaceInput, Workspace>;
|
|
10
|
+
/**
|
|
11
|
+
* Deletes the workspace, everything in it, and the caller's way back.
|
|
12
|
+
*
|
|
13
|
+
* The slug goes with the request because the API asks the caller to name what it
|
|
14
|
+
* is destroying. Afterwards the whole cache is dropped: every cached list
|
|
15
|
+
* belongs to a workspace that no longer exists.
|
|
16
|
+
*/
|
|
17
|
+
export declare function useDeleteWorkspace(): MutationResult<{
|
|
18
|
+
readonly slug: string;
|
|
19
|
+
}, void>;
|
|
20
|
+
//# sourceMappingURL=workspace.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workspace.d.ts","sourceRoot":"","sources":["../../../src/api/resources/workspace.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAKtE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAcpD,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,SAAS,EAAE,SAAS,GAAG,SAAS,CAAA;IACzC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAA;IAC3B,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAA;CAC7B;AAED,wBAAgB,YAAY,IAAI,cAAc,CAe7C;AAED,wBAAgB,kBAAkB,IAAI,cAAc,CAAC,oBAAoB,EAAE,SAAS,CAAC,CAcpF;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,IAAI,cAAc,CAAC;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EAAE,IAAI,CAAC,CAcpF"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { updateWorkspaceBody, workspaceSchema } from '@kelpie/schemas';
|
|
2
|
+
import { useMutation, useQuery, useQueryClient } from '@tanstack/react-query';
|
|
3
|
+
import { useApiClient } from '../context.js';
|
|
4
|
+
import { toError } from '../errors.js';
|
|
5
|
+
import { asMutationResult } from './mutation.js';
|
|
6
|
+
import { useSession } from './session.js';
|
|
7
|
+
/**
|
|
8
|
+
* The workspace the session is in.
|
|
9
|
+
*
|
|
10
|
+
* Not a CRM resource: there is one of them, its id comes from the session rather
|
|
11
|
+
* than a route, and there is no list. `createResourceHooks` would have nothing
|
|
12
|
+
* to configure.
|
|
13
|
+
*/
|
|
14
|
+
const WORKSPACE_KEY = 'workspace';
|
|
15
|
+
export function useWorkspace() {
|
|
16
|
+
const client = useApiClient();
|
|
17
|
+
const { session } = useSession();
|
|
18
|
+
const workspaceId = session?.workspaceId ?? undefined;
|
|
19
|
+
const result = useQuery({
|
|
20
|
+
queryKey: [WORKSPACE_KEY, workspaceId],
|
|
21
|
+
queryFn: () => client.get(`/workspaces/${workspaceId ?? ''}`, workspaceSchema.parse),
|
|
22
|
+
enabled: workspaceId !== undefined,
|
|
23
|
+
});
|
|
24
|
+
return {
|
|
25
|
+
workspace: result.data,
|
|
26
|
+
isLoading: result.isPending && workspaceId !== undefined,
|
|
27
|
+
error: toError(result.error),
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
export function useUpdateWorkspace() {
|
|
31
|
+
const client = useApiClient();
|
|
32
|
+
const queryClient = useQueryClient();
|
|
33
|
+
const { session } = useSession();
|
|
34
|
+
const workspaceId = session?.workspaceId ?? '';
|
|
35
|
+
const mutation = useMutation({
|
|
36
|
+
mutationFn: (input) => client.patch(`/workspaces/${workspaceId}`, updateWorkspaceBody(input), workspaceSchema.parse),
|
|
37
|
+
onSuccess: (workspace) => {
|
|
38
|
+
queryClient.setQueryData([WORKSPACE_KEY, workspaceId], workspace);
|
|
39
|
+
},
|
|
40
|
+
});
|
|
41
|
+
return asMutationResult(mutation);
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Deletes the workspace, everything in it, and the caller's way back.
|
|
45
|
+
*
|
|
46
|
+
* The slug goes with the request because the API asks the caller to name what it
|
|
47
|
+
* is destroying. Afterwards the whole cache is dropped: every cached list
|
|
48
|
+
* belongs to a workspace that no longer exists.
|
|
49
|
+
*/
|
|
50
|
+
export function useDeleteWorkspace() {
|
|
51
|
+
const client = useApiClient();
|
|
52
|
+
const queryClient = useQueryClient();
|
|
53
|
+
const { session } = useSession();
|
|
54
|
+
const workspaceId = session?.workspaceId ?? '';
|
|
55
|
+
const mutation = useMutation({
|
|
56
|
+
mutationFn: ({ slug }) => client.delete(`/workspaces/${workspaceId}`, { slug }),
|
|
57
|
+
onSuccess: () => {
|
|
58
|
+
queryClient.clear();
|
|
59
|
+
},
|
|
60
|
+
});
|
|
61
|
+
return asMutationResult(mutation);
|
|
62
|
+
}
|
|
63
|
+
//# sourceMappingURL=workspace.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workspace.js","sourceRoot":"","sources":["../../../src/api/resources/workspace.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAEtE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAE7E,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAEtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAEzC;;;;;;GAMG;AAEH,MAAM,aAAa,GAAG,WAAW,CAAA;AAQjC,MAAM,UAAU,YAAY;IAC1B,MAAM,MAAM,GAAG,YAAY,EAAE,CAAA;IAC7B,MAAM,EAAE,OAAO,EAAE,GAAG,UAAU,EAAE,CAAA;IAChC,MAAM,WAAW,GAAG,OAAO,EAAE,WAAW,IAAI,SAAS,CAAA;IACrD,MAAM,MAAM,GAAG,QAAQ,CAAC;QACtB,QAAQ,EAAE,CAAC,aAAa,EAAE,WAAW,CAAC;QACtC,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,eAAe,WAAW,IAAI,EAAE,EAAE,EAAE,eAAe,CAAC,KAAK,CAAC;QACpF,OAAO,EAAE,WAAW,KAAK,SAAS;KACnC,CAAC,CAAA;IAEF,OAAO;QACL,SAAS,EAAE,MAAM,CAAC,IAAI;QACtB,SAAS,EAAE,MAAM,CAAC,SAAS,IAAI,WAAW,KAAK,SAAS;QACxD,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;KAC7B,CAAA;AACH,CAAC;AAED,MAAM,UAAU,kBAAkB;IAChC,MAAM,MAAM,GAAG,YAAY,EAAE,CAAA;IAC7B,MAAM,WAAW,GAAG,cAAc,EAAE,CAAA;IACpC,MAAM,EAAE,OAAO,EAAE,GAAG,UAAU,EAAE,CAAA;IAChC,MAAM,WAAW,GAAG,OAAO,EAAE,WAAW,IAAI,EAAE,CAAA;IAC9C,MAAM,QAAQ,GAAG,WAAW,CAAC;QAC3B,UAAU,EAAE,CAAC,KAA2B,EAAE,EAAE,CAC1C,MAAM,CAAC,KAAK,CAAC,eAAe,WAAW,EAAE,EAAE,mBAAmB,CAAC,KAAK,CAAC,EAAE,eAAe,CAAC,KAAK,CAAC;QAC/F,SAAS,EAAE,CAAC,SAAS,EAAE,EAAE;YACvB,WAAW,CAAC,YAAY,CAAC,CAAC,aAAa,EAAE,WAAW,CAAC,EAAE,SAAS,CAAC,CAAA;QACnE,CAAC;KACF,CAAC,CAAA;IAEF,OAAO,gBAAgB,CAAC,QAAQ,CAAC,CAAA;AACnC,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,kBAAkB;IAChC,MAAM,MAAM,GAAG,YAAY,EAAE,CAAA;IAC7B,MAAM,WAAW,GAAG,cAAc,EAAE,CAAA;IACpC,MAAM,EAAE,OAAO,EAAE,GAAG,UAAU,EAAE,CAAA;IAChC,MAAM,WAAW,GAAG,OAAO,EAAE,WAAW,IAAI,EAAE,CAAA;IAC9C,MAAM,QAAQ,GAAG,WAAW,CAAC;QAC3B,UAAU,EAAE,CAAC,EAAE,IAAI,EAA6B,EAAE,EAAE,CAClD,MAAM,CAAC,MAAM,CAAC,eAAe,WAAW,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;QACvD,SAAS,EAAE,GAAG,EAAE;YACd,WAAW,CAAC,KAAK,EAAE,CAAA;QACrB,CAAC;KACF,CAAC,CAAA;IAEF,OAAO,gBAAgB,CAAC,QAAQ,CAAC,CAAA;AACnC,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { UiExtensions } from '../registry/registry.ts';
|
|
2
|
+
/**
|
|
3
|
+
* The whole application: providers, router, and the route table.
|
|
4
|
+
*
|
|
5
|
+
* It lives in `@kelpie/ui` rather than in `apps/kelpie` so the cloud assembly
|
|
6
|
+
* gets the same application and differs only by the modules it registers. The
|
|
7
|
+
* assembly's job is to build the registry and render this.
|
|
8
|
+
*
|
|
9
|
+
* Routes here are the ported pages. The mockup's other routes arrive with the
|
|
10
|
+
* features behind them; module routes mount alongside through the registry.
|
|
11
|
+
*/
|
|
12
|
+
export interface KelpieAppProps {
|
|
13
|
+
readonly extensions: UiExtensions;
|
|
14
|
+
/** Origin plus base path for the API. Defaults to same-origin `/v1`. */
|
|
15
|
+
readonly baseUrl?: string;
|
|
16
|
+
}
|
|
17
|
+
export declare function KelpieApp({ extensions, baseUrl }: KelpieAppProps): React.JSX.Element;
|
|
18
|
+
//# sourceMappingURL=KelpieApp.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"KelpieApp.d.ts","sourceRoot":"","sources":["../../src/app/KelpieApp.tsx"],"names":[],"mappings":"AAkDA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAA;AAG3D;;;;;;;;;GASG;AAEH,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,UAAU,EAAE,YAAY,CAAA;IACjC,wEAAwE;IACxE,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAC1B;AAED,wBAAgB,SAAS,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,EAAE,cAAc,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAUpF"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { BrowserRouter, Navigate, Route, Routes } from 'react-router';
|
|
3
|
+
import { ApiProvider } from '../api/ApiProvider.js';
|
|
4
|
+
import { Shell } from '../components/Shell.js';
|
|
5
|
+
import { CompaniesPage } from '../pages/CompaniesPage.js';
|
|
6
|
+
import { CompanyDetail } from '../pages/CompanyDetail.js';
|
|
7
|
+
import { DealDetail } from '../pages/DealDetail.js';
|
|
8
|
+
import { DealStageSettingsPage } from '../pages/DealStageSettingsPage.js';
|
|
9
|
+
import { DealsPage } from '../pages/DealsPage.js';
|
|
10
|
+
import { DecisionsPage } from '../pages/DecisionsPage.js';
|
|
11
|
+
import { SearchPage } from '../pages/SearchPage.js';
|
|
12
|
+
import { FormDetail } from '../pages/FormDetail.js';
|
|
13
|
+
import { FormsPage } from '../pages/FormsPage.js';
|
|
14
|
+
import { FundraisingPage } from '../pages/FundraisingPage.js';
|
|
15
|
+
import { HiringPage } from '../pages/HiringPage.js';
|
|
16
|
+
import { NotFoundPage } from '../pages/NotFoundPage.js';
|
|
17
|
+
import { OpportunitiesPage } from '../pages/OpportunitiesPage.js';
|
|
18
|
+
import { OpportunityDetail } from '../pages/OpportunityDetail.js';
|
|
19
|
+
import { OpportunityStageSettingsPage } from '../pages/OpportunityStageSettingsPage.js';
|
|
20
|
+
import { PartnershipDetail } from '../pages/PartnershipDetail.js';
|
|
21
|
+
import { PartnershipStageSettingsPage } from '../pages/PartnershipStageSettingsPage.js';
|
|
22
|
+
import { PartnershipsPage } from '../pages/PartnershipsPage.js';
|
|
23
|
+
import { PeoplePage } from '../pages/PeoplePage.js';
|
|
24
|
+
import { PersonDetail } from '../pages/PersonDetail.js';
|
|
25
|
+
import { PlanningPage } from '../pages/PlanningPage.js';
|
|
26
|
+
import { RaiseDetail } from '../pages/RaiseDetail.js';
|
|
27
|
+
import { RaiseStageSettingsPage } from '../pages/RaiseStageSettingsPage.js';
|
|
28
|
+
import { RoleDetail } from '../pages/RoleDetail.js';
|
|
29
|
+
import { AccountLayout } from '../pages/account/AccountLayout.js';
|
|
30
|
+
import { PreferencesPage } from '../pages/account/PreferencesPage.js';
|
|
31
|
+
import { ProfilePage } from '../pages/account/ProfilePage.js';
|
|
32
|
+
import { SecurityPage } from '../pages/account/SecurityPage.js';
|
|
33
|
+
import { DataPage } from '../pages/admin/DataPage.js';
|
|
34
|
+
import { McpPage } from '../pages/admin/McpPage.js';
|
|
35
|
+
import { ModulesPage } from '../pages/admin/ModulesPage.js';
|
|
36
|
+
import { TeamPage } from '../pages/admin/TeamPage.js';
|
|
37
|
+
import { WebhooksPage } from '../pages/admin/WebhooksPage.js';
|
|
38
|
+
import { WorkspaceSettingsPage } from '../pages/admin/WorkspaceSettingsPage.js';
|
|
39
|
+
import { ForgotPasswordPage } from '../pages/auth/ForgotPasswordPage.js';
|
|
40
|
+
import { JoinPage } from '../pages/auth/JoinPage.js';
|
|
41
|
+
import { ResetPasswordPage } from '../pages/auth/ResetPasswordPage.js';
|
|
42
|
+
import { SignInPage } from '../pages/auth/SignInPage.js';
|
|
43
|
+
import { SignUpPage } from '../pages/auth/SignUpPage.js';
|
|
44
|
+
import { DashboardPage } from '../pages/dashboard/DashboardPage.js';
|
|
45
|
+
import { HandbookLayout } from '../pages/handbook/HandbookPage.js';
|
|
46
|
+
import { HandbookStepPage } from '../pages/onboarding/HandbookStepPage.js';
|
|
47
|
+
import { InvitesStepPage } from '../pages/onboarding/InvitesStepPage.js';
|
|
48
|
+
import { WorkspaceStepPage } from '../pages/onboarding/WorkspaceStepPage.js';
|
|
49
|
+
import { UiExtensionProvider } from '../registry/UiExtensionProvider.js';
|
|
50
|
+
import { useModuleRoutes } from '../registry/context.js';
|
|
51
|
+
import { SessionGate } from './SessionGate.js';
|
|
52
|
+
export function KelpieApp({ extensions, baseUrl }) {
|
|
53
|
+
return (_jsx(ApiProvider, { baseUrl: baseUrl, children: _jsx(UiExtensionProvider, { extensions: extensions, children: _jsx(BrowserRouter, { children: _jsx(AppRoutes, {}) }) }) }));
|
|
54
|
+
}
|
|
55
|
+
function AppRoutes() {
|
|
56
|
+
const moduleRoutes = useModuleRoutes();
|
|
57
|
+
return (_jsxs(Routes, { children: [_jsx(Route, { path: "/login", element: _jsx(SignInPage, {}) }), _jsx(Route, { path: "/signup", element: _jsx(SignUpPage, {}) }), _jsx(Route, { path: "/forgot-password", element: _jsx(ForgotPasswordPage, {}) }), _jsx(Route, { path: "/reset-password", element: _jsx(ResetPasswordPage, {}) }), _jsx(Route, { path: "/join", element: _jsx(JoinPage, {}) }), _jsx(Route, { path: "/onboarding/workspace", element: _jsx(WorkspaceStepPage, {}) }), _jsxs(Route, { element: _jsx(SessionGate, {}), children: [_jsx(Route, { path: "/onboarding/invites", element: _jsx(InvitesStepPage, {}) }), _jsx(Route, { path: "/onboarding/handbook", element: _jsx(HandbookStepPage, {}) }), _jsxs(Route, { element: _jsx(Shell, {}), children: [_jsx(Route, { index: true, element: _jsx(Navigate, { to: "/dashboard", replace: true }) }), _jsx(Route, { path: "dashboard", element: _jsx(DashboardPage, {}) }), _jsx(Route, { path: "search", element: _jsx(SearchPage, {}) }), _jsx(Route, { path: "people", element: _jsx(PeoplePage, {}) }), _jsx(Route, { path: "people/:id", element: _jsx(PersonDetail, {}) }), _jsx(Route, { path: "hiring", element: _jsx(HiringPage, {}) }), _jsx(Route, { path: "hiring/:id", element: _jsx(RoleDetail, {}) }), _jsx(Route, { path: "companies", element: _jsx(CompaniesPage, {}) }), _jsx(Route, { path: "companies/:id", element: _jsx(CompanyDetail, {}) }), _jsx(Route, { path: "deals", element: _jsx(DealsPage, {}) }), _jsx(Route, { path: "deals/settings", element: _jsx(DealStageSettingsPage, {}) }), _jsx(Route, { path: "deals/:id", element: _jsx(DealDetail, {}) }), _jsx(Route, { path: "opportunities", element: _jsx(OpportunitiesPage, {}) }), _jsx(Route, { path: "opportunities/settings", element: _jsx(OpportunityStageSettingsPage, {}) }), _jsx(Route, { path: "opportunities/:id", element: _jsx(OpportunityDetail, {}) }), _jsx(Route, { path: "fundraising", element: _jsx(FundraisingPage, {}) }), _jsx(Route, { path: "fundraising/settings", element: _jsx(RaiseStageSettingsPage, {}) }), _jsx(Route, { path: "fundraising/:id", element: _jsx(RaiseDetail, {}) }), _jsx(Route, { path: "partnerships", element: _jsx(PartnershipsPage, {}) }), _jsx(Route, { path: "partnerships/settings", element: _jsx(PartnershipStageSettingsPage, {}) }), _jsx(Route, { path: "partnerships/:id", element: _jsx(PartnershipDetail, {}) }), _jsx(Route, { path: "planning", element: _jsx(PlanningPage, {}) }), _jsx(Route, { path: "decisions", element: _jsx(DecisionsPage, {}) }), _jsx(Route, { path: "forms", element: _jsx(FormsPage, {}) }), _jsx(Route, { path: "forms/:id", element: _jsx(FormDetail, {}) }), _jsx(Route, { path: "handbook", element: _jsx(HandbookLayout, {}) }), _jsx(Route, { path: "handbook/:pageId", element: _jsx(HandbookLayout, {}) }), _jsx(Route, { path: "admin/workspace", element: _jsx(WorkspaceSettingsPage, {}) }), _jsx(Route, { path: "admin/team", element: _jsx(TeamPage, {}) }), _jsx(Route, { path: "admin/data", element: _jsx(DataPage, {}) }), _jsx(Route, { path: "admin/mcp", element: _jsx(McpPage, {}) }), _jsx(Route, { path: "admin/webhooks", element: _jsx(WebhooksPage, {}) }), _jsx(Route, { path: "admin/modules", element: _jsx(ModulesPage, {}) }), _jsxs(Route, { path: "account", element: _jsx(AccountLayout, {}), children: [_jsx(Route, { index: true, element: _jsx(Navigate, { to: "/account/profile", replace: true }) }), _jsx(Route, { path: "profile", element: _jsx(ProfilePage, {}) }), _jsx(Route, { path: "security", element: _jsx(SecurityPage, {}) }), _jsx(Route, { path: "preferences", element: _jsx(PreferencesPage, {}) })] }), moduleRoutes.map((route) => (_jsx(Route, { path: route.path, element: route.element }, route.path))), _jsx(Route, { path: "*", element: _jsx(NotFoundPage, {}) })] })] })] }));
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=KelpieApp.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"KelpieApp.js","sourceRoot":"","sources":["../../src/app/KelpieApp.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AAErE,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAwB,CAAA;AACpD,OAAO,EAAE,KAAK,EAAE,MAAM,wBAAyB,CAAA;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA4B,CAAA;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA4B,CAAA;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAyB,CAAA;AACpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAoC,CAAA;AAC1E,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAwB,CAAA;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA4B,CAAA;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAyB,CAAA;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAyB,CAAA;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAwB,CAAA;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA8B,CAAA;AAC9D,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAyB,CAAA;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA2B,CAAA;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAAgC,CAAA;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAAgC,CAAA;AAClE,OAAO,EAAE,4BAA4B,EAAE,MAAM,0CAA2C,CAAA;AACxF,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAAgC,CAAA;AAClE,OAAO,EAAE,4BAA4B,EAAE,MAAM,0CAA2C,CAAA;AACxF,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA+B,CAAA;AAChE,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAyB,CAAA;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA2B,CAAA;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA2B,CAAA;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAA0B,CAAA;AACtD,OAAO,EAAE,sBAAsB,EAAE,MAAM,oCAAqC,CAAA;AAC5E,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAyB,CAAA;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAoC,CAAA;AAClE,OAAO,EAAE,eAAe,EAAE,MAAM,qCAAsC,CAAA;AACtE,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAkC,CAAA;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAmC,CAAA;AAChE,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA6B,CAAA;AACtD,OAAO,EAAE,OAAO,EAAE,MAAM,2BAA4B,CAAA;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,+BAAgC,CAAA;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA6B,CAAA;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAiC,CAAA;AAC9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,yCAA0C,CAAA;AAChF,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAsC,CAAA;AACzE,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA4B,CAAA;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAqC,CAAA;AACvE,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA8B,CAAA;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA8B,CAAA;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,qCAAsC,CAAA;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAoC,CAAA;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,yCAA0C,CAAA;AAC3E,OAAO,EAAE,eAAe,EAAE,MAAM,wCAAyC,CAAA;AACzE,OAAO,EAAE,iBAAiB,EAAE,MAAM,0CAA2C,CAAA;AAC7E,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAqC,CAAA;AACzE,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AAExD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAmB,CAAA;AAmB/C,MAAM,UAAU,SAAS,CAAC,EAAE,UAAU,EAAE,OAAO,EAAkB;IAC/D,OAAO,CACL,KAAC,WAAW,IAAC,OAAO,EAAE,OAAO,YAC3B,KAAC,mBAAmB,IAAC,UAAU,EAAE,UAAU,YACzC,KAAC,aAAa,cACZ,KAAC,SAAS,KAAG,GACC,GACI,GACV,CACf,CAAA;AACH,CAAC;AAED,SAAS,SAAS;IAChB,MAAM,YAAY,GAAG,eAAe,EAAE,CAAA;IAEtC,OAAO,CACL,MAAC,MAAM,eAGL,KAAC,KAAK,IAAC,IAAI,EAAC,QAAQ,EAAC,OAAO,EAAE,KAAC,UAAU,KAAG,GAAI,EAChD,KAAC,KAAK,IAAC,IAAI,EAAC,SAAS,EAAC,OAAO,EAAE,KAAC,UAAU,KAAG,GAAI,EACjD,KAAC,KAAK,IAAC,IAAI,EAAC,kBAAkB,EAAC,OAAO,EAAE,KAAC,kBAAkB,KAAG,GAAI,EAClE,KAAC,KAAK,IAAC,IAAI,EAAC,iBAAiB,EAAC,OAAO,EAAE,KAAC,iBAAiB,KAAG,GAAI,EAIhE,KAAC,KAAK,IAAC,IAAI,EAAC,OAAO,EAAC,OAAO,EAAE,KAAC,QAAQ,KAAG,GAAI,EAC7C,KAAC,KAAK,IAAC,IAAI,EAAC,uBAAuB,EAAC,OAAO,EAAE,KAAC,iBAAiB,KAAG,GAAI,EAEtE,MAAC,KAAK,IAAC,OAAO,EAAE,KAAC,WAAW,KAAG,aAI7B,KAAC,KAAK,IAAC,IAAI,EAAC,qBAAqB,EAAC,OAAO,EAAE,KAAC,eAAe,KAAG,GAAI,EAClE,KAAC,KAAK,IAAC,IAAI,EAAC,sBAAsB,EAAC,OAAO,EAAE,KAAC,gBAAgB,KAAG,GAAI,EAEpE,MAAC,KAAK,IAAC,OAAO,EAAE,KAAC,KAAK,KAAG,aAEvB,KAAC,KAAK,IAAC,KAAK,QAAC,OAAO,EAAE,KAAC,QAAQ,IAAC,EAAE,EAAC,YAAY,EAAC,OAAO,SAAG,GAAI,EAC9D,KAAC,KAAK,IAAC,IAAI,EAAC,WAAW,EAAC,OAAO,EAAE,KAAC,aAAa,KAAG,GAAI,EACtD,KAAC,KAAK,IAAC,IAAI,EAAC,QAAQ,EAAC,OAAO,EAAE,KAAC,UAAU,KAAG,GAAI,EAChD,KAAC,KAAK,IAAC,IAAI,EAAC,QAAQ,EAAC,OAAO,EAAE,KAAC,UAAU,KAAG,GAAI,EAChD,KAAC,KAAK,IAAC,IAAI,EAAC,YAAY,EAAC,OAAO,EAAE,KAAC,YAAY,KAAG,GAAI,EACtD,KAAC,KAAK,IAAC,IAAI,EAAC,QAAQ,EAAC,OAAO,EAAE,KAAC,UAAU,KAAG,GAAI,EAChD,KAAC,KAAK,IAAC,IAAI,EAAC,YAAY,EAAC,OAAO,EAAE,KAAC,UAAU,KAAG,GAAI,EACpD,KAAC,KAAK,IAAC,IAAI,EAAC,WAAW,EAAC,OAAO,EAAE,KAAC,aAAa,KAAG,GAAI,EACtD,KAAC,KAAK,IAAC,IAAI,EAAC,eAAe,EAAC,OAAO,EAAE,KAAC,aAAa,KAAG,GAAI,EAC1D,KAAC,KAAK,IAAC,IAAI,EAAC,OAAO,EAAC,OAAO,EAAE,KAAC,SAAS,KAAG,GAAI,EAC9C,KAAC,KAAK,IAAC,IAAI,EAAC,gBAAgB,EAAC,OAAO,EAAE,KAAC,qBAAqB,KAAG,GAAI,EACnE,KAAC,KAAK,IAAC,IAAI,EAAC,WAAW,EAAC,OAAO,EAAE,KAAC,UAAU,KAAG,GAAI,EACnD,KAAC,KAAK,IAAC,IAAI,EAAC,eAAe,EAAC,OAAO,EAAE,KAAC,iBAAiB,KAAG,GAAI,EAC9D,KAAC,KAAK,IAAC,IAAI,EAAC,wBAAwB,EAAC,OAAO,EAAE,KAAC,4BAA4B,KAAG,GAAI,EAClF,KAAC,KAAK,IAAC,IAAI,EAAC,mBAAmB,EAAC,OAAO,EAAE,KAAC,iBAAiB,KAAG,GAAI,EAClE,KAAC,KAAK,IAAC,IAAI,EAAC,aAAa,EAAC,OAAO,EAAE,KAAC,eAAe,KAAG,GAAI,EAC1D,KAAC,KAAK,IAAC,IAAI,EAAC,sBAAsB,EAAC,OAAO,EAAE,KAAC,sBAAsB,KAAG,GAAI,EAC1E,KAAC,KAAK,IAAC,IAAI,EAAC,iBAAiB,EAAC,OAAO,EAAE,KAAC,WAAW,KAAG,GAAI,EAC1D,KAAC,KAAK,IAAC,IAAI,EAAC,cAAc,EAAC,OAAO,EAAE,KAAC,gBAAgB,KAAG,GAAI,EAC5D,KAAC,KAAK,IAAC,IAAI,EAAC,uBAAuB,EAAC,OAAO,EAAE,KAAC,4BAA4B,KAAG,GAAI,EACjF,KAAC,KAAK,IAAC,IAAI,EAAC,kBAAkB,EAAC,OAAO,EAAE,KAAC,iBAAiB,KAAG,GAAI,EACjE,KAAC,KAAK,IAAC,IAAI,EAAC,UAAU,EAAC,OAAO,EAAE,KAAC,YAAY,KAAG,GAAI,EACpD,KAAC,KAAK,IAAC,IAAI,EAAC,WAAW,EAAC,OAAO,EAAE,KAAC,aAAa,KAAG,GAAI,EACtD,KAAC,KAAK,IAAC,IAAI,EAAC,OAAO,EAAC,OAAO,EAAE,KAAC,SAAS,KAAG,GAAI,EAC9C,KAAC,KAAK,IAAC,IAAI,EAAC,WAAW,EAAC,OAAO,EAAE,KAAC,UAAU,KAAG,GAAI,EAEnD,KAAC,KAAK,IAAC,IAAI,EAAC,UAAU,EAAC,OAAO,EAAE,KAAC,cAAc,KAAG,GAAI,EACtD,KAAC,KAAK,IAAC,IAAI,EAAC,kBAAkB,EAAC,OAAO,EAAE,KAAC,cAAc,KAAG,GAAI,EAC9D,KAAC,KAAK,IAAC,IAAI,EAAC,iBAAiB,EAAC,OAAO,EAAE,KAAC,qBAAqB,KAAG,GAAI,EACpE,KAAC,KAAK,IAAC,IAAI,EAAC,YAAY,EAAC,OAAO,EAAE,KAAC,QAAQ,KAAG,GAAI,EAClD,KAAC,KAAK,IAAC,IAAI,EAAC,YAAY,EAAC,OAAO,EAAE,KAAC,QAAQ,KAAG,GAAI,EAClD,KAAC,KAAK,IAAC,IAAI,EAAC,WAAW,EAAC,OAAO,EAAE,KAAC,OAAO,KAAG,GAAI,EAChD,KAAC,KAAK,IAAC,IAAI,EAAC,gBAAgB,EAAC,OAAO,EAAE,KAAC,YAAY,KAAG,GAAI,EAC1D,KAAC,KAAK,IAAC,IAAI,EAAC,eAAe,EAAC,OAAO,EAAE,KAAC,WAAW,KAAG,GAAI,EAExD,MAAC,KAAK,IAAC,IAAI,EAAC,SAAS,EAAC,OAAO,EAAE,KAAC,aAAa,KAAG,aAC9C,KAAC,KAAK,IAAC,KAAK,QAAC,OAAO,EAAE,KAAC,QAAQ,IAAC,EAAE,EAAC,kBAAkB,EAAC,OAAO,SAAG,GAAI,EACpE,KAAC,KAAK,IAAC,IAAI,EAAC,SAAS,EAAC,OAAO,EAAE,KAAC,WAAW,KAAG,GAAI,EAClD,KAAC,KAAK,IAAC,IAAI,EAAC,UAAU,EAAC,OAAO,EAAE,KAAC,YAAY,KAAG,GAAI,EACpD,KAAC,KAAK,IAAC,IAAI,EAAC,aAAa,EAAC,OAAO,EAAE,KAAC,eAAe,KAAG,GAAI,IACpD,EACP,YAAY,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAC3B,KAAC,KAAK,IAAkB,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,IAApD,KAAK,CAAC,IAAI,CAA8C,CACrE,CAAC,EAKF,KAAC,KAAK,IAAC,IAAI,EAAC,GAAG,EAAC,OAAO,EAAE,KAAC,YAAY,KAAG,GAAI,IACvC,IACF,IACD,CACV,CAAA;AACH,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* What stands between a URL and a page that needs a workspace.
|
|
3
|
+
*
|
|
4
|
+
* Three answers, and they are not the same thing:
|
|
5
|
+
*
|
|
6
|
+
* - `401` means sign in. That is a redirect.
|
|
7
|
+
* - Signed in with no workspace means create one. Also a redirect, to a
|
|
8
|
+
* different place, because sending someone to a sign-in form they have
|
|
9
|
+
* already passed is a loop.
|
|
10
|
+
* - Anything else is the service being unreachable or broken, and redirecting
|
|
11
|
+
* on that would hide it behind a sign-in form that will also fail.
|
|
12
|
+
*/
|
|
13
|
+
export declare function SessionGate(): React.JSX.Element;
|
|
14
|
+
//# sourceMappingURL=SessionGate.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SessionGate.d.ts","sourceRoot":"","sources":["../../src/app/SessionGate.tsx"],"names":[],"mappings":"AAKA;;;;;;;;;;;GAWG;AACH,wBAAgB,WAAW,IAAI,KAAK,CAAC,GAAG,CAAC,OAAO,CAwB/C"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { Navigate, Outlet } from 'react-router';
|
|
3
|
+
import { useSession } from '../api/resources/session.js';
|
|
4
|
+
import { ErrorPanel, LoadingPanel } from '../components/QueryState.js';
|
|
5
|
+
/**
|
|
6
|
+
* What stands between a URL and a page that needs a workspace.
|
|
7
|
+
*
|
|
8
|
+
* Three answers, and they are not the same thing:
|
|
9
|
+
*
|
|
10
|
+
* - `401` means sign in. That is a redirect.
|
|
11
|
+
* - Signed in with no workspace means create one. Also a redirect, to a
|
|
12
|
+
* different place, because sending someone to a sign-in form they have
|
|
13
|
+
* already passed is a loop.
|
|
14
|
+
* - Anything else is the service being unreachable or broken, and redirecting
|
|
15
|
+
* on that would hide it behind a sign-in form that will also fail.
|
|
16
|
+
*/
|
|
17
|
+
export function SessionGate() {
|
|
18
|
+
const { isLoading, isSignedOut, needsWorkspace, error } = useSession();
|
|
19
|
+
if (isSignedOut) {
|
|
20
|
+
return _jsx(Navigate, { to: "/login", replace: true });
|
|
21
|
+
}
|
|
22
|
+
if (error !== null) {
|
|
23
|
+
return (_jsx("div", { className: "mx-auto max-w-xl px-6 py-16", children: _jsx(ErrorPanel, { error: error }) }));
|
|
24
|
+
}
|
|
25
|
+
if (isLoading) {
|
|
26
|
+
return _jsx(LoadingPanel, {});
|
|
27
|
+
}
|
|
28
|
+
if (needsWorkspace) {
|
|
29
|
+
return _jsx(Navigate, { to: "/onboarding/workspace", replace: true });
|
|
30
|
+
}
|
|
31
|
+
return _jsx(Outlet, {});
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=SessionGate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SessionGate.js","sourceRoot":"","sources":["../../src/app/SessionGate.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AAE/C,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAA;AACxD,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,6BAA8B,CAAA;AAEvE;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,WAAW;IACzB,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,cAAc,EAAE,KAAK,EAAE,GAAG,UAAU,EAAE,CAAA;IAEtE,IAAI,WAAW,EAAE,CAAC;QAChB,OAAO,KAAC,QAAQ,IAAC,EAAE,EAAC,QAAQ,EAAC,OAAO,SAAG,CAAA;IACzC,CAAC;IAED,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QACnB,OAAO,CACL,cAAK,SAAS,EAAC,6BAA6B,YAC1C,KAAC,UAAU,IAAC,KAAK,EAAE,KAAK,GAAI,GACxB,CACP,CAAA;IACH,CAAC;IAED,IAAI,SAAS,EAAE,CAAC;QACd,OAAO,KAAC,YAAY,KAAG,CAAA;IACzB,CAAC;IAED,IAAI,cAAc,EAAE,CAAC;QACnB,OAAO,KAAC,QAAQ,IAAC,EAAE,EAAC,uBAAuB,EAAC,OAAO,SAAG,CAAA;IACxD,CAAC;IAED,OAAO,KAAC,MAAM,KAAG,CAAA;AACnB,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type { RecordTargetType } from '@kelpie/schemas';
|
|
2
|
+
/**
|
|
3
|
+
* What happened to one record, newest first, grouped by month.
|
|
4
|
+
*
|
|
5
|
+
* Read-only, because the API is. Every row here was written by the service that
|
|
6
|
+
* made the change.
|
|
7
|
+
*
|
|
8
|
+
* The roll-up is the server's: a person's timeline already carries the deals and
|
|
9
|
+
* partnerships they are on, so nothing here fetches related records to merge in.
|
|
10
|
+
*
|
|
11
|
+
* A rolled-up row says which kind of record it came from and stops there. The
|
|
12
|
+
* mockup also names it and links to it, which needs the Deals, Opportunities and
|
|
13
|
+
* Partnerships endpoints. Naming a record this page cannot fetch would mean
|
|
14
|
+
* printing an id or inventing a label, and both are worse than the type alone.
|
|
15
|
+
*/
|
|
16
|
+
export interface ActivitiesPanelProps {
|
|
17
|
+
readonly targetType: RecordTargetType;
|
|
18
|
+
readonly targetId: string;
|
|
19
|
+
}
|
|
20
|
+
export declare function ActivitiesPanel({ targetType, targetId, }: ActivitiesPanelProps): React.JSX.Element;
|
|
21
|
+
/**
|
|
22
|
+
* The single most recent event, for a record's Overview tab.
|
|
23
|
+
*
|
|
24
|
+
* Its own request rather than a slice of the panel's: the panel lives on a
|
|
25
|
+
* different tab, so on Overview there is no list to take the first row of.
|
|
26
|
+
*/
|
|
27
|
+
export declare function LatestActivity({ targetType, targetId, }: ActivitiesPanelProps): React.JSX.Element;
|
|
28
|
+
//# sourceMappingURL=ActivitiesPanel.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ActivitiesPanel.d.ts","sourceRoot":"","sources":["../../src/components/ActivitiesPanel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAA0B,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAQ/E;;;;;;;;;;;;;GAaG;AAEH,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,UAAU,EAAE,gBAAgB,CAAA;IACrC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;CAC1B;AAgDD,wBAAgB,eAAe,CAAC,EAC9B,UAAU,EACV,QAAQ,GACT,EAAE,oBAAoB,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAgD1C;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,EAC7B,UAAU,EACV,QAAQ,GACT,EAAE,oBAAoB,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CA6B1C"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useActivities } from '../api/resources/activities.js';
|
|
3
|
+
import { useMembers } from '../api/resources/members.js';
|
|
4
|
+
import { formatRelativeTime, monthLabel } from '../lib/dates.js';
|
|
5
|
+
import { ErrorPanel } from './QueryState.js';
|
|
6
|
+
import { SectionHeader } from './SectionHeader.js';
|
|
7
|
+
/** Two letters per kind, as the mockup's timeline gutter shows them. */
|
|
8
|
+
const KIND_GLYPHS = {
|
|
9
|
+
created: 'Cr',
|
|
10
|
+
updated: 'Up',
|
|
11
|
+
stage_changed: 'St',
|
|
12
|
+
note_added: 'Nt',
|
|
13
|
+
email: 'Em',
|
|
14
|
+
call: 'Ca',
|
|
15
|
+
meeting: 'Mt',
|
|
16
|
+
linked: 'Ln',
|
|
17
|
+
unlinked: 'Un',
|
|
18
|
+
};
|
|
19
|
+
const TARGET_TYPE_LABELS = {
|
|
20
|
+
person: 'Person',
|
|
21
|
+
company: 'Company',
|
|
22
|
+
deal: 'Deal',
|
|
23
|
+
opportunity: 'Opportunity',
|
|
24
|
+
partnership: 'Partnership',
|
|
25
|
+
raise: 'Raise',
|
|
26
|
+
candidate: 'Candidate',
|
|
27
|
+
};
|
|
28
|
+
/** Consecutive runs, not a map: the list is already ordered, so a month never recurs. */
|
|
29
|
+
function groupByMonth(activities, now) {
|
|
30
|
+
const groups = [];
|
|
31
|
+
for (const activity of activities) {
|
|
32
|
+
const label = monthLabel(activity.createdAt, now);
|
|
33
|
+
const last = groups.at(-1);
|
|
34
|
+
if (last?.label === label) {
|
|
35
|
+
last.items.push(activity);
|
|
36
|
+
}
|
|
37
|
+
else {
|
|
38
|
+
groups.push({ label, items: [activity] });
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
return groups;
|
|
42
|
+
}
|
|
43
|
+
export function ActivitiesPanel({ targetType, targetId, }) {
|
|
44
|
+
const activities = useActivities({ targetType, targetId });
|
|
45
|
+
const members = useMembers();
|
|
46
|
+
const groups = groupByMonth(activities.records, new Date());
|
|
47
|
+
return (_jsxs("section", { children: [_jsx(SectionHeader, { title: "Activity" }), activities.error !== null && _jsx(ErrorPanel, { error: activities.error }), activities.isLoading && _jsx("p", { className: "text-[13px] text-ink-faint", children: "Loading activity\u2026" }), !activities.isLoading && activities.records.length === 0 && activities.error === null && (_jsx("p", { className: "text-[13px] text-ink-faint", children: "No activity yet." })), _jsx("div", { className: "space-y-4", children: groups.map((group) => (_jsxs("div", { children: [_jsx("h3", { className: "mb-2 text-[12px] font-semibold text-ink", children: group.label }), _jsx("ol", { className: "overflow-hidden rounded-md border border-border", children: group.items.map((activity, index) => (_jsx(ActivityEvent, { activity: activity, actorName: actorNameFor(activity, members.nameById), contextType: targetType, contextId: targetId, isLast: index === group.items.length - 1 }, activity.id))) })] }, group.label))) }), activities.hasMore && (_jsx("button", { type: "button", onClick: activities.loadMore, disabled: activities.isLoadingMore, className: "mt-3 rounded-md border border-border px-3 py-1.5 text-[12px] font-medium text-ink-muted transition hover:border-border-strong hover:text-ink", children: activities.isLoadingMore ? 'Loading…' : 'Load more' }))] }));
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* The single most recent event, for a record's Overview tab.
|
|
51
|
+
*
|
|
52
|
+
* Its own request rather than a slice of the panel's: the panel lives on a
|
|
53
|
+
* different tab, so on Overview there is no list to take the first row of.
|
|
54
|
+
*/
|
|
55
|
+
export function LatestActivity({ targetType, targetId, }) {
|
|
56
|
+
const activities = useActivities({ targetType, targetId });
|
|
57
|
+
const members = useMembers();
|
|
58
|
+
const latest = activities.records[0];
|
|
59
|
+
return (_jsxs("section", { children: [_jsx(SectionHeader, { title: "Latest activity" }), activities.error !== null && _jsx(ErrorPanel, { error: activities.error }), activities.isLoading && _jsx("p", { className: "text-[13px] text-ink-faint", children: "Loading activity\u2026" }), !activities.isLoading && latest === undefined && activities.error === null && (_jsx("p", { className: "text-[13px] text-ink-faint", children: "No activity yet." })), latest !== undefined && (_jsx("ol", { className: "overflow-hidden rounded-md border border-border", children: _jsx(ActivityEvent, { activity: latest, actorName: actorNameFor(latest, members.nameById), contextType: targetType, contextId: targetId, isLast: true }) }))] }));
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Exactly one of the two actor columns is set. `actorLabel` carries the display
|
|
63
|
+
* name when nothing on the team did this: "Form", "Gmail", "API key".
|
|
64
|
+
*/
|
|
65
|
+
function actorNameFor(activity, nameById) {
|
|
66
|
+
if (activity.actorMemberId === null) {
|
|
67
|
+
return activity.actorLabel ?? 'System';
|
|
68
|
+
}
|
|
69
|
+
return nameById.get(activity.actorMemberId) ?? 'Unknown';
|
|
70
|
+
}
|
|
71
|
+
function ActivityEvent({ activity, actorName, contextType, contextId, isLast, }) {
|
|
72
|
+
const isRolledUp = activity.targetType !== contextType || activity.targetId !== contextId;
|
|
73
|
+
return (_jsxs("li", { className: "flex gap-2 border-b border-border px-4 py-3 last:border-0", children: [_jsxs("div", { className: "relative flex w-5 shrink-0 justify-center", children: [!isLast && (_jsx("span", { "aria-hidden": true, className: "absolute top-5 bottom-[-12px] left-1/2 w-px -translate-x-1/2 bg-border" })), _jsx("div", { className: "relative z-10 flex h-5 w-5 items-center justify-center rounded border border-border bg-surface text-[9px] font-semibold tracking-wide text-ink-muted uppercase", title: activity.kind, children: KIND_GLYPHS[activity.kind] })] }), _jsxs("div", { className: "min-w-0 flex-1", children: [_jsxs("div", { className: "flex items-baseline justify-between gap-3", children: [_jsxs("p", { className: "min-w-0 text-[12px] leading-snug text-ink", children: [_jsx("span", { className: "font-semibold", children: actorName }), ' ', _jsx("span", { className: "text-ink-muted", children: activity.action })] }), _jsx("time", { dateTime: activity.createdAt.toISOString(), className: "shrink-0 text-[11px] text-ink-faint", children: formatRelativeTime(activity.createdAt) })] }), isRolledUp && (_jsxs("p", { className: "text-[11px] leading-snug text-ink-faint", children: ["on ", _jsx("span", { className: "text-ink-muted", children: TARGET_TYPE_LABELS[activity.targetType] })] })), activity.detail !== null && (_jsx("p", { className: "text-[11px] leading-snug text-ink-faint", children: activity.detail }))] })] }));
|
|
74
|
+
}
|
|
75
|
+
//# sourceMappingURL=ActivitiesPanel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ActivitiesPanel.js","sourceRoot":"","sources":["../../src/components/ActivitiesPanel.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { AgentTaskTargetType } from '@kelpie/schemas';
|
|
2
|
+
/**
|
|
3
|
+
* The Agent menu on a record: every task for its target type, each with Copy
|
|
4
|
+
* prompt, Preview, and Run. Ported from the mockup with the in-memory resolve
|
|
5
|
+
* swapped for `POST …/resolve` and the pretend status ladder swapped for the
|
|
6
|
+
* run record the server settles, polled until it does.
|
|
7
|
+
*/
|
|
8
|
+
export interface AgentTasksProps {
|
|
9
|
+
readonly targetType: AgentTaskTargetType;
|
|
10
|
+
readonly targetId: string;
|
|
11
|
+
readonly targetLabel: string;
|
|
12
|
+
/** Smaller trigger for dense rows (e.g. candidates). */
|
|
13
|
+
readonly compact?: boolean;
|
|
14
|
+
}
|
|
15
|
+
export declare function AgentTasks({ targetType, targetId, targetLabel, compact, }: AgentTasksProps): React.JSX.Element | null;
|
|
16
|
+
//# sourceMappingURL=AgentTasks.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AgentTasks.d.ts","sourceRoot":"","sources":["../../src/components/AgentTasks.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAiC,mBAAmB,EAAqB,MAAM,iBAAiB,CAAA;AAW5G;;;;;GAKG;AACH,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,UAAU,EAAE,mBAAmB,CAAA;IACxC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,wDAAwD;IACxD,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAC3B;AAMD,wBAAgB,UAAU,CAAC,EACzB,UAAU,EACV,QAAQ,EACR,WAAW,EACX,OAAe,GAChB,EAAE,eAAe,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,GAAG,IAAI,CA6Q5C"}
|