create-principles-disciple 1.146.4 → 1.146.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (350) hide show
  1. package/_release/product-identity.json +1 -1
  2. package/codex-adapter/package.json +1 -1
  3. package/core/dist/runtime-v2/evidence-triage/index.d.ts +1 -3
  4. package/core/dist/runtime-v2/evidence-triage/index.d.ts.map +1 -1
  5. package/core/dist/runtime-v2/evidence-triage/index.js +1 -2
  6. package/core/dist/runtime-v2/evidence-triage/index.js.map +1 -1
  7. package/core/dist/runtime-v2/evidence-triage/observation-resolver.d.ts +0 -19
  8. package/core/dist/runtime-v2/evidence-triage/observation-resolver.d.ts.map +1 -1
  9. package/core/dist/runtime-v2/evidence-triage/observation-resolver.js +0 -25
  10. package/core/dist/runtime-v2/evidence-triage/observation-resolver.js.map +1 -1
  11. package/core/dist/runtime-v2/index.d.ts +2 -2
  12. package/core/dist/runtime-v2/index.d.ts.map +1 -1
  13. package/core/dist/runtime-v2/index.js +1 -1
  14. package/core/dist/runtime-v2/index.js.map +1 -1
  15. package/core/dist/telemetry-event.d.ts +2 -2
  16. package/core/dist/telemetry-event.d.ts.map +1 -1
  17. package/core/dist/telemetry-event.js +4 -5
  18. package/core/dist/telemetry-event.js.map +1 -1
  19. package/core/dist/trajectory-store.d.ts.map +1 -1
  20. package/core/dist/trajectory-store.js +4 -44
  21. package/core/dist/trajectory-store.js.map +1 -1
  22. package/core/package.json +1 -1
  23. package/host-runtime/package.json +1 -1
  24. package/package.json +4 -4
  25. package/plugin/dist/bundle.js +460 -460
  26. package/plugin/dist/core/config.d.ts +0 -2
  27. package/plugin/dist/core/trajectory.d.ts +0 -6
  28. package/plugin/dist/hooks/llm.d.ts +0 -1
  29. package/plugin/dist/hooks/prompt-helpers.d.ts +2 -1
  30. package/plugin/dist/hooks/raw-observation-adapter.d.ts +6 -4
  31. package/plugin/dist/hooks/triage-adapter.d.ts +1 -1
  32. package/plugin/dist/openclaw.plugin.json +1 -1
  33. package/plugin/dist/rulehost-evidence.js +6 -6
  34. package/plugin/dist/templates/pain_settings.json +0 -2
  35. package/plugin/openclaw.plugin.json +1 -1
  36. package/plugin/package.json +1 -1
  37. package/plugin/templates/pain_settings.json +0 -2
  38. package/release-manager/package.json +4 -4
  39. package/workbuddy-adapter/package.json +1 -1
  40. package/console/dist/ui/App.d.ts +0 -1
  41. package/console/dist/ui/App.js +0 -172
  42. package/console/dist/ui/api.d.ts +0 -611
  43. package/console/dist/ui/api.js +0 -1094
  44. package/console/dist/ui/components/auth/login-form.d.ts +0 -4
  45. package/console/dist/ui/components/auth/login-form.js +0 -142
  46. package/console/dist/ui/components/auth/splash-screen.d.ts +0 -9
  47. package/console/dist/ui/components/auth/splash-screen.js +0 -22
  48. package/console/dist/ui/components/error-boundary.d.ts +0 -15
  49. package/console/dist/ui/components/error-boundary.js +0 -30
  50. package/console/dist/ui/components/focus/daily-thought-card.d.ts +0 -1
  51. package/console/dist/ui/components/focus/daily-thought-card.js +0 -41
  52. package/console/dist/ui/components/language-switcher.d.ts +0 -2
  53. package/console/dist/ui/components/language-switcher.js +0 -17
  54. package/console/dist/ui/components/layout/app-sidebar.d.ts +0 -27
  55. package/console/dist/ui/components/layout/app-sidebar.js +0 -128
  56. package/console/dist/ui/components/layout/page-loading.d.ts +0 -13
  57. package/console/dist/ui/components/layout/page-loading.js +0 -14
  58. package/console/dist/ui/components/layout/page-shell.d.ts +0 -12
  59. package/console/dist/ui/components/layout/page-shell.js +0 -11
  60. package/console/dist/ui/components/layout/section-title.d.ts +0 -10
  61. package/console/dist/ui/components/layout/section-title.js +0 -9
  62. package/console/dist/ui/components/notifications/NotificationProvider.d.ts +0 -14
  63. package/console/dist/ui/components/notifications/NotificationProvider.js +0 -136
  64. package/console/dist/ui/components/notifications/favicon-badge.d.ts +0 -3
  65. package/console/dist/ui/components/notifications/favicon-badge.js +0 -68
  66. package/console/dist/ui/components/notifications/notification-reducer.d.ts +0 -9
  67. package/console/dist/ui/components/notifications/notification-reducer.js +0 -9
  68. package/console/dist/ui/components/notifications/sound-storage.d.ts +0 -3
  69. package/console/dist/ui/components/notifications/sound-storage.js +0 -37
  70. package/console/dist/ui/components/notifications/useNotifications.d.ts +0 -1
  71. package/console/dist/ui/components/notifications/useNotifications.js +0 -9
  72. package/console/dist/ui/components/onboarding/CircuitDiagram.d.ts +0 -8
  73. package/console/dist/ui/components/onboarding/CircuitDiagram.js +0 -18
  74. package/console/dist/ui/components/onboarding/DemoResultView.d.ts +0 -22
  75. package/console/dist/ui/components/onboarding/DemoResultView.js +0 -33
  76. package/console/dist/ui/components/onboarding/SlashCommandsCard.d.ts +0 -16
  77. package/console/dist/ui/components/onboarding/SlashCommandsCard.js +0 -20
  78. package/console/dist/ui/components/onboarding/slashCommands.d.ts +0 -20
  79. package/console/dist/ui/components/onboarding/slashCommands.js +0 -22
  80. package/console/dist/ui/components/receipts/ReceiptCoverageDisclosure.d.ts +0 -6
  81. package/console/dist/ui/components/receipts/ReceiptCoverageDisclosure.js +0 -66
  82. package/console/dist/ui/components/theme-provider.d.ts +0 -14
  83. package/console/dist/ui/components/theme-provider.js +0 -40
  84. package/console/dist/ui/components/theme-toggle.d.ts +0 -2
  85. package/console/dist/ui/components/theme-toggle.js +0 -11
  86. package/console/dist/ui/components/ui/alert-dialog.d.ts +0 -20
  87. package/console/dist/ui/components/ui/alert-dialog.js +0 -26
  88. package/console/dist/ui/components/ui/badge.d.ts +0 -9
  89. package/console/dist/ui/components/ui/badge.js +0 -22
  90. package/console/dist/ui/components/ui/button.d.ts +0 -11
  91. package/console/dist/ui/components/ui/button.js +0 -34
  92. package/console/dist/ui/components/ui/card.d.ts +0 -8
  93. package/console/dist/ui/components/ui/card.js +0 -16
  94. package/console/dist/ui/components/ui/charts.d.ts +0 -51
  95. package/console/dist/ui/components/ui/charts.js +0 -72
  96. package/console/dist/ui/components/ui/dialog.d.ts +0 -19
  97. package/console/dist/ui/components/ui/dialog.js +0 -22
  98. package/console/dist/ui/components/ui/input.d.ts +0 -3
  99. package/console/dist/ui/components/ui/input.js +0 -8
  100. package/console/dist/ui/components/ui/markdown.d.ts +0 -24
  101. package/console/dist/ui/components/ui/markdown.js +0 -119
  102. package/console/dist/ui/components/ui/progress-bar.d.ts +0 -20
  103. package/console/dist/ui/components/ui/progress-bar.js +0 -38
  104. package/console/dist/ui/components/ui/select.d.ts +0 -13
  105. package/console/dist/ui/components/ui/select.js +0 -26
  106. package/console/dist/ui/components/ui/separator.d.ts +0 -3
  107. package/console/dist/ui/components/ui/separator.js +0 -6
  108. package/console/dist/ui/components/ui/sheet.d.ts +0 -25
  109. package/console/dist/ui/components/ui/sheet.js +0 -37
  110. package/console/dist/ui/components/ui/shiny-text.d.ts +0 -28
  111. package/console/dist/ui/components/ui/shiny-text.js +0 -46
  112. package/console/dist/ui/components/ui/skeleton.d.ts +0 -3
  113. package/console/dist/ui/components/ui/skeleton.js +0 -6
  114. package/console/dist/ui/components/ui/sonner.d.ts +0 -3
  115. package/console/dist/ui/components/ui/sonner.js +0 -13
  116. package/console/dist/ui/components/ui/tooltip.d.ts +0 -7
  117. package/console/dist/ui/components/ui/tooltip.js +0 -10
  118. package/console/dist/ui/data/daily-thoughts.d.ts +0 -15
  119. package/console/dist/ui/data/daily-thoughts.js +0 -164
  120. package/console/dist/ui/hooks/useNotificationSound.d.ts +0 -12
  121. package/console/dist/ui/hooks/useNotificationSound.js +0 -74
  122. package/console/dist/ui/i18n/en.json +0 -2399
  123. package/console/dist/ui/i18n/index.d.ts +0 -2
  124. package/console/dist/ui/i18n/index.js +0 -32
  125. package/console/dist/ui/i18n/zh-CN.json +0 -2399
  126. package/console/dist/ui/main.d.ts +0 -1
  127. package/console/dist/ui/main.js +0 -9
  128. package/console/dist/ui/pages/ReportProblemValidators.d.ts +0 -144
  129. package/console/dist/ui/pages/ReportProblemValidators.js +0 -418
  130. package/console/dist/ui/pages/activation/ActivationPage.d.ts +0 -1
  131. package/console/dist/ui/pages/activation/ActivationPage.js +0 -512
  132. package/console/dist/ui/pages/activation/ActivationValidators.d.ts +0 -20
  133. package/console/dist/ui/pages/activation/ActivationValidators.js +0 -160
  134. package/console/dist/ui/pages/control-center/AgentCard.d.ts +0 -31
  135. package/console/dist/ui/pages/control-center/AgentCard.js +0 -212
  136. package/console/dist/ui/pages/control-center/AgentGroup.d.ts +0 -26
  137. package/console/dist/ui/pages/control-center/AgentGroup.js +0 -38
  138. package/console/dist/ui/pages/control-center/ControlCenterPage.d.ts +0 -1
  139. package/console/dist/ui/pages/control-center/ControlCenterPage.js +0 -509
  140. package/console/dist/ui/pages/control-center/DesignGatePanel.d.ts +0 -1
  141. package/console/dist/ui/pages/control-center/DesignGatePanel.js +0 -137
  142. package/console/dist/ui/pages/control-center/RuntimeProfileManager.d.ts +0 -31
  143. package/console/dist/ui/pages/control-center/RuntimeProfileManager.js +0 -199
  144. package/console/dist/ui/pages/control-center/WorkflowDiagram.d.ts +0 -17
  145. package/console/dist/ui/pages/control-center/WorkflowDiagram.js +0 -55
  146. package/console/dist/ui/pages/debt/DebtPage.d.ts +0 -2
  147. package/console/dist/ui/pages/debt/DebtPage.js +0 -222
  148. package/console/dist/ui/pages/design-system/DesignSystemPage.d.ts +0 -2
  149. package/console/dist/ui/pages/design-system/DesignSystemPage.js +0 -30
  150. package/console/dist/ui/pages/examiner/ExaminerPage.d.ts +0 -15
  151. package/console/dist/ui/pages/examiner/ExaminerPage.js +0 -158
  152. package/console/dist/ui/pages/failed-tasks/FailedTasksPage.d.ts +0 -1
  153. package/console/dist/ui/pages/failed-tasks/FailedTasksPage.js +0 -421
  154. package/console/dist/ui/pages/focus/ApprovalSubjectReading.d.ts +0 -24
  155. package/console/dist/ui/pages/focus/ApprovalSubjectReading.js +0 -133
  156. package/console/dist/ui/pages/focus/FocusPage.d.ts +0 -123
  157. package/console/dist/ui/pages/focus/FocusPage.js +0 -567
  158. package/console/dist/ui/pages/focus/OwnerDecisionCard.d.ts +0 -9
  159. package/console/dist/ui/pages/focus/OwnerDecisionCard.js +0 -111
  160. package/console/dist/ui/pages/focus/OwnerWorkbench.d.ts +0 -19
  161. package/console/dist/ui/pages/focus/OwnerWorkbench.js +0 -75
  162. package/console/dist/ui/pages/focus/RuleCandidateBindingPanel.d.ts +0 -34
  163. package/console/dist/ui/pages/focus/RuleCandidateBindingPanel.js +0 -298
  164. package/console/dist/ui/pages/focus/focus-validation.d.ts +0 -40
  165. package/console/dist/ui/pages/focus/focus-validation.js +0 -211
  166. package/console/dist/ui/pages/intent/IntentOnboarding.d.ts +0 -67
  167. package/console/dist/ui/pages/intent/IntentOnboarding.js +0 -289
  168. package/console/dist/ui/pages/intent/IntentPage.d.ts +0 -1
  169. package/console/dist/ui/pages/intent/IntentPage.js +0 -252
  170. package/console/dist/ui/pages/pain/PainEvidenceValidators.d.ts +0 -59
  171. package/console/dist/ui/pages/pain/PainEvidenceValidators.js +0 -125
  172. package/console/dist/ui/pages/pain/PainPage.d.ts +0 -1
  173. package/console/dist/ui/pages/pain/PainPage.js +0 -420
  174. package/console/dist/ui/pages/pain/pain-card-helpers.d.ts +0 -175
  175. package/console/dist/ui/pages/pain/pain-card-helpers.js +0 -181
  176. package/console/dist/ui/pages/principles/CorePrinciplesPage.d.ts +0 -10
  177. package/console/dist/ui/pages/principles/CorePrinciplesPage.js +0 -59
  178. package/console/dist/ui/pages/principles/PrincipleDetailPage.d.ts +0 -60
  179. package/console/dist/ui/pages/principles/PrincipleDetailPage.js +0 -602
  180. package/console/dist/ui/pages/principles/PrinciplesPage.d.ts +0 -1
  181. package/console/dist/ui/pages/principles/PrinciplesPage.js +0 -327
  182. package/console/dist/ui/pages/principles/PrinciplesViewNav.d.ts +0 -8
  183. package/console/dist/ui/pages/principles/PrinciplesViewNav.js +0 -15
  184. package/console/dist/ui/pages/report-problem/ReportProblemPage.d.ts +0 -1
  185. package/console/dist/ui/pages/report-problem/ReportProblemPage.js +0 -467
  186. package/console/dist/ui/pages/settings/SettingsPage.d.ts +0 -4
  187. package/console/dist/ui/pages/settings/SettingsPage.js +0 -457
  188. package/console/dist/ui/pages/settings/UpdatePage.d.ts +0 -1
  189. package/console/dist/ui/pages/settings/UpdatePage.js +0 -215
  190. package/console/dist/ui/pages/welcome/WelcomePage.d.ts +0 -5
  191. package/console/dist/ui/pages/welcome/WelcomePage.js +0 -187
  192. package/console/dist/ui/utils/agent-metadata.d.ts +0 -71
  193. package/console/dist/ui/utils/agent-metadata.js +0 -284
  194. package/console/dist/ui/utils/approval-review.d.ts +0 -30
  195. package/console/dist/ui/utils/approval-review.js +0 -50
  196. package/console/dist/ui/utils/approval-warning-localization.d.ts +0 -34
  197. package/console/dist/ui/utils/approval-warning-localization.js +0 -148
  198. package/console/dist/ui/utils/attention-presentation.d.ts +0 -35
  199. package/console/dist/ui/utils/attention-presentation.js +0 -46
  200. package/console/dist/ui/utils/blocker-localization.d.ts +0 -23
  201. package/console/dist/ui/utils/blocker-localization.js +0 -36
  202. package/console/dist/ui/utils/control-center-helpers.d.ts +0 -79
  203. package/console/dist/ui/utils/control-center-helpers.js +0 -189
  204. package/console/dist/ui/utils/enum-labels.d.ts +0 -50
  205. package/console/dist/ui/utils/enum-labels.js +0 -171
  206. package/console/dist/ui/utils/format-date.d.ts +0 -11
  207. package/console/dist/ui/utils/format-date.js +0 -17
  208. package/console/dist/ui/utils/onboarding-state.d.ts +0 -25
  209. package/console/dist/ui/utils/onboarding-state.js +0 -77
  210. package/console/dist/ui/utils/reading-layout.d.ts +0 -20
  211. package/console/dist/ui/utils/reading-layout.js +0 -46
  212. package/console/dist/ui/utils/rule-binding-validators.d.ts +0 -13
  213. package/console/dist/ui/utils/rule-binding-validators.js +0 -188
  214. package/console/dist/ui/utils/runtime-mode.d.ts +0 -11
  215. package/console/dist/ui/utils/runtime-mode.js +0 -11
  216. package/console/dist/ui/utils/token-storage.d.ts +0 -22
  217. package/console/dist/ui/utils/token-storage.js +0 -47
  218. package/console/dist/ui/utils/validators.d.ts +0 -1178
  219. package/console/dist/ui/utils/validators.js +0 -3297
  220. package/core/dist/runtime-v2/evidence-triage/admission-events.d.ts +0 -126
  221. package/core/dist/runtime-v2/evidence-triage/admission-events.d.ts.map +0 -1
  222. package/core/dist/runtime-v2/evidence-triage/admission-events.js +0 -159
  223. package/core/dist/runtime-v2/evidence-triage/admission-events.js.map +0 -1
  224. package/plugin/dist/core/detection-funnel.d.ts +0 -47
  225. package/plugin/dist/core/detection-service.d.ts +0 -15
  226. package/release-manager/dist/bootstrap-entry.d.ts +0 -2
  227. package/release-manager/dist/bootstrap-entry.d.ts.map +0 -1
  228. package/release-manager/dist/bootstrap-entry.js.map +0 -1
  229. package/release-manager/dist/i18n.d.ts +0 -6
  230. package/release-manager/dist/i18n.d.ts.map +0 -1
  231. package/release-manager/dist/i18n.js.map +0 -1
  232. package/release-manager/dist/index.d.ts +0 -7
  233. package/release-manager/dist/index.d.ts.map +0 -1
  234. package/release-manager/dist/index.js +0 -656
  235. package/release-manager/dist/index.js.map +0 -1
  236. package/release-manager/dist/installer.d.ts +0 -629
  237. package/release-manager/dist/installer.d.ts.map +0 -1
  238. package/release-manager/dist/installer.js.map +0 -1
  239. package/release-manager/dist/installers/codex-host-installer.d.ts +0 -39
  240. package/release-manager/dist/installers/codex-host-installer.d.ts.map +0 -1
  241. package/release-manager/dist/installers/codex-host-installer.js.map +0 -1
  242. package/release-manager/dist/installers/index.d.ts +0 -51
  243. package/release-manager/dist/installers/index.d.ts.map +0 -1
  244. package/release-manager/dist/installers/index.js.map +0 -1
  245. package/release-manager/dist/installers/openclaw-host-installer.d.ts +0 -14
  246. package/release-manager/dist/installers/openclaw-host-installer.d.ts.map +0 -1
  247. package/release-manager/dist/installers/openclaw-host-installer.js.map +0 -1
  248. package/release-manager/dist/installers/workbuddy-host-installer.d.ts +0 -335
  249. package/release-manager/dist/installers/workbuddy-host-installer.d.ts.map +0 -1
  250. package/release-manager/dist/installers/workbuddy-host-installer.js.map +0 -1
  251. package/release-manager/dist/mvp-config.d.ts +0 -233
  252. package/release-manager/dist/mvp-config.d.ts.map +0 -1
  253. package/release-manager/dist/mvp-config.js.map +0 -1
  254. package/release-manager/dist/prompts.d.ts +0 -43
  255. package/release-manager/dist/prompts.d.ts.map +0 -1
  256. package/release-manager/dist/prompts.js +0 -268
  257. package/release-manager/dist/prompts.js.map +0 -1
  258. package/release-manager/dist/skill-language.d.ts +0 -32
  259. package/release-manager/dist/skill-language.d.ts.map +0 -1
  260. package/release-manager/dist/skill-language.js.map +0 -1
  261. package/release-manager/dist/uninstaller.d.ts +0 -68
  262. package/release-manager/dist/uninstaller.d.ts.map +0 -1
  263. package/release-manager/dist/uninstaller.js +0 -746
  264. package/release-manager/dist/uninstaller.js.map +0 -1
  265. package/release-manager/dist/update/apply-payload.d.ts +0 -143
  266. package/release-manager/dist/update/apply-payload.d.ts.map +0 -1
  267. package/release-manager/dist/update/apply-payload.js.map +0 -1
  268. package/release-manager/dist/update/atomic-file.d.ts +0 -35
  269. package/release-manager/dist/update/atomic-file.d.ts.map +0 -1
  270. package/release-manager/dist/update/atomic-file.js.map +0 -1
  271. package/release-manager/dist/update/bootstrap-executor.d.ts +0 -21
  272. package/release-manager/dist/update/bootstrap-executor.d.ts.map +0 -1
  273. package/release-manager/dist/update/bootstrap-executor.js.map +0 -1
  274. package/release-manager/dist/update/bootstrap-protocol.d.ts +0 -56
  275. package/release-manager/dist/update/bootstrap-protocol.d.ts.map +0 -1
  276. package/release-manager/dist/update/bootstrap-protocol.js.map +0 -1
  277. package/release-manager/dist/update/channel-metadata.d.ts +0 -28
  278. package/release-manager/dist/update/channel-metadata.d.ts.map +0 -1
  279. package/release-manager/dist/update/channel-metadata.js.map +0 -1
  280. package/release-manager/dist/update/channel-promotion.d.ts +0 -39
  281. package/release-manager/dist/update/channel-promotion.d.ts.map +0 -1
  282. package/release-manager/dist/update/channel-promotion.js +0 -55
  283. package/release-manager/dist/update/channel-promotion.js.map +0 -1
  284. package/release-manager/dist/update/console-surface.d.ts +0 -19
  285. package/release-manager/dist/update/console-surface.d.ts.map +0 -1
  286. package/release-manager/dist/update/console-surface.js.map +0 -1
  287. package/release-manager/dist/update/data-compatibility.d.ts +0 -35
  288. package/release-manager/dist/update/data-compatibility.d.ts.map +0 -1
  289. package/release-manager/dist/update/data-compatibility.js +0 -45
  290. package/release-manager/dist/update/data-compatibility.js.map +0 -1
  291. package/release-manager/dist/update/install-layout.d.ts +0 -105
  292. package/release-manager/dist/update/install-layout.d.ts.map +0 -1
  293. package/release-manager/dist/update/install-layout.js.map +0 -1
  294. package/release-manager/dist/update/product-identity.d.ts +0 -70
  295. package/release-manager/dist/update/product-identity.d.ts.map +0 -1
  296. package/release-manager/dist/update/product-identity.js.map +0 -1
  297. package/release-manager/dist/update/release-asset-manifest.d.ts +0 -31
  298. package/release-manager/dist/update/release-asset-manifest.d.ts.map +0 -1
  299. package/release-manager/dist/update/release-asset-manifest.js.map +0 -1
  300. package/release-manager/dist/update/release-identity.d.ts +0 -33
  301. package/release-manager/dist/update/release-identity.d.ts.map +0 -1
  302. package/release-manager/dist/update/release-identity.js.map +0 -1
  303. package/release-manager/dist/update/release-manager-authority.d.ts +0 -39
  304. package/release-manager/dist/update/release-manager-authority.d.ts.map +0 -1
  305. package/release-manager/dist/update/release-manager-authority.js.map +0 -1
  306. package/release-manager/dist/update/release-manager.d.ts +0 -156
  307. package/release-manager/dist/update/release-manager.d.ts.map +0 -1
  308. package/release-manager/dist/update/release-manager.js.map +0 -1
  309. package/release-manager/dist/update/release-metadata-publisher.d.ts +0 -199
  310. package/release-manager/dist/update/release-metadata-publisher.d.ts.map +0 -1
  311. package/release-manager/dist/update/release-metadata-publisher.js +0 -478
  312. package/release-manager/dist/update/release-metadata-publisher.js.map +0 -1
  313. package/release-manager/dist/update/release-metadata-source.d.ts +0 -85
  314. package/release-manager/dist/update/release-metadata-source.d.ts.map +0 -1
  315. package/release-manager/dist/update/release-metadata-source.js.map +0 -1
  316. package/release-manager/dist/update/release-metadata.d.ts +0 -60
  317. package/release-manager/dist/update/release-metadata.d.ts.map +0 -1
  318. package/release-manager/dist/update/release-metadata.js.map +0 -1
  319. package/release-manager/dist/update/release-policy.d.ts +0 -51
  320. package/release-manager/dist/update/release-policy.d.ts.map +0 -1
  321. package/release-manager/dist/update/release-policy.js.map +0 -1
  322. package/release-manager/dist/update/rollback-policy.d.ts +0 -56
  323. package/release-manager/dist/update/rollback-policy.d.ts.map +0 -1
  324. package/release-manager/dist/update/rollback-policy.js +0 -61
  325. package/release-manager/dist/update/rollback-policy.js.map +0 -1
  326. package/release-manager/dist/update/transaction-journal.d.ts +0 -212
  327. package/release-manager/dist/update/transaction-journal.d.ts.map +0 -1
  328. package/release-manager/dist/update/transaction-journal.js.map +0 -1
  329. package/release-manager/dist/update/trust-metadata.d.ts +0 -55
  330. package/release-manager/dist/update/trust-metadata.d.ts.map +0 -1
  331. package/release-manager/dist/update/trust-metadata.js.map +0 -1
  332. package/release-manager/dist/update/trust-root-provisioning.d.ts +0 -99
  333. package/release-manager/dist/update/trust-root-provisioning.d.ts.map +0 -1
  334. package/release-manager/dist/update/trust-root-provisioning.js.map +0 -1
  335. package/release-manager/dist/update/update-history.d.ts +0 -46
  336. package/release-manager/dist/update/update-history.d.ts.map +0 -1
  337. package/release-manager/dist/update/update-history.js +0 -123
  338. package/release-manager/dist/update/update-history.js.map +0 -1
  339. package/release-manager/dist/utils/config-file-io.d.ts +0 -34
  340. package/release-manager/dist/utils/config-file-io.d.ts.map +0 -1
  341. package/release-manager/dist/utils/config-file-io.js.map +0 -1
  342. package/release-manager/dist/utils/env.d.ts +0 -94
  343. package/release-manager/dist/utils/env.d.ts.map +0 -1
  344. package/release-manager/dist/utils/env.js.map +0 -1
  345. package/release-manager/dist/utils/logger.d.ts +0 -15
  346. package/release-manager/dist/utils/logger.d.ts.map +0 -1
  347. package/release-manager/dist/utils/logger.js.map +0 -1
  348. package/release-manager/dist/utils/workspace-divergence.d.ts +0 -36
  349. package/release-manager/dist/utils/workspace-divergence.d.ts.map +0 -1
  350. package/release-manager/dist/utils/workspace-divergence.js.map +0 -1
@@ -1 +0,0 @@
1
- import "@fontsource/jetbrains-mono";
@@ -1,9 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import "@fontsource/jetbrains-mono";
3
- import { createRoot } from "react-dom/client";
4
- import { App } from "./App.js";
5
- const rootEl = document.getElementById("root");
6
- if (!rootEl) {
7
- throw new Error("Root element not found");
8
- }
9
- createRoot(rootEl).render(_jsx(App, {}));
@@ -1,144 +0,0 @@
1
- export type FeedbackType = 'bug' | 'confusing' | 'privacy_concern' | 'feature_request' | 'other';
2
- export type UserSeverity = 'low' | 'medium' | 'high';
3
- export type FeedbackFrequency = 'always' | 'often' | 'sometimes' | 'once';
4
- export type FeedbackBlockingLevel = 'blocked' | 'workaround' | 'minor';
5
- export type FeedbackStatus = 'draft' | 'submitted';
6
- export type FeedbackSubmittedVia = 'ingest' | 'github' | 'email' | 'file';
7
- export type DraftRecord = {
8
- id: string;
9
- createdAt: string;
10
- type: FeedbackType;
11
- title: string;
12
- userText: {
13
- description: string;
14
- stepsToReproduce?: string;
15
- expectedBehavior?: string;
16
- actualBehavior?: string;
17
- userSeverity?: UserSeverity;
18
- goal?: string;
19
- stuckAt?: string;
20
- job?: string;
21
- currentWorkaround?: string;
22
- sawWhat?: string;
23
- whereSeen?: string;
24
- frequency?: FeedbackFrequency;
25
- blockingLevel?: FeedbackBlockingLevel;
26
- };
27
- diagnosticSummary: {
28
- versions: Record<string, unknown>;
29
- platform: Record<string, unknown>;
30
- featureFlags: Record<string, unknown>;
31
- canary: {
32
- status: 'available' | 'unavailable';
33
- summary?: string;
34
- unavailableReason?: string;
35
- };
36
- recentEvents: {
37
- type: string;
38
- at: string;
39
- severity?: string;
40
- summary: string;
41
- }[];
42
- };
43
- privacy: {
44
- includedSections: string[];
45
- excludedByDefault: string[];
46
- redactionNotes: string[];
47
- };
48
- outputs: {
49
- markdown: string;
50
- emailText: string;
51
- githubIssueUrl: string;
52
- mailtoUrl: string;
53
- };
54
- area?: string;
55
- status?: FeedbackStatus;
56
- submittedAt?: string;
57
- submittedVia?: FeedbackSubmittedVia;
58
- trackingId?: string;
59
- externalUrl?: string;
60
- };
61
- export type FeedbackDraftSummary = {
62
- id: string;
63
- createdAt: string;
64
- type: string;
65
- title: string;
66
- status?: string;
67
- };
68
- /**
69
- * 旧草稿 severity → blockingLevel 的展示映射(仅 UI 展示,不改文件,spec §5.2):
70
- * high→blocked / medium→workaround / low→minor。
71
- */
72
- export declare function mapSeverityToBlockingLevel(severity: UserSeverity | undefined): FeedbackBlockingLevel | undefined;
73
- /**
74
- * 从 context(page / sourceDetail)归一化出反馈来源 area(spec §7)。
75
- * area 值:failed_tasks / pain / principles / activation / focus / intent / error / general。
76
- * 匹配失败缺省返回 'general'。
77
- */
78
- export declare function deriveFeedbackArea(context: Record<string, string> | undefined): string | undefined;
79
- export declare function parseDraftRecord(value: unknown): DraftRecord | null;
80
- export declare function parseDraftSummary(value: unknown): FeedbackDraftSummary | null;
81
- export declare function parseEnvelopeReport(value: unknown): DraftRecord | null;
82
- export declare function getErrorMessage(result: unknown, fallback: string): string;
83
- export declare function buildFeedbackContextFromSearchParams(searchParams: URLSearchParams): Record<string, string> | undefined;
84
- export type FeedbackDiagnostics = {
85
- versions: Record<string, unknown>;
86
- platform: Record<string, unknown>;
87
- featureFlags: Record<string, unknown>;
88
- canary: {
89
- status: 'available' | 'unavailable';
90
- summary?: string;
91
- unavailableReason?: string;
92
- };
93
- recentEvents: {
94
- type: string;
95
- at: string;
96
- summary: string;
97
- severity?: string;
98
- }[];
99
- };
100
- /** Minimal view of Promise.allSettled's settled result, parameterized by value. */
101
- export type SettledResult<T> = {
102
- status: 'fulfilled';
103
- value: T;
104
- } | {
105
- status: 'rejected';
106
- reason: unknown;
107
- };
108
- /** ApiResponse-shaped value used by api.ts request(). */
109
- type ApiResult<T> = {
110
- success: true;
111
- data: T;
112
- } | {
113
- success: false;
114
- error: string;
115
- reason?: string;
116
- nextAction?: string;
117
- };
118
- /**
119
- * Build a diagnostics object from three concurrent API responses.
120
- *
121
- * Each input is a SettledResult<ApiResult<unknown>> — the shape produced by
122
- * `Promise.allSettled([request(...), ...])`. When an API fails (rejected
123
- * promise or ApiResult with success=false), the corresponding diagnostics
124
- * fields record an `unavailableReason` string (rc-9-no-silent-fallback).
125
- *
126
- * Field mapping:
127
- * - versions: P0-2: extracted from /api/health's `versions` field (added
128
- * by HealthCheckModel.checkSystemHealth). Contains PD/core/node
129
- * version strings.
130
- * - platform: P0-2: extracted from /api/health's `platform` field. Contains
131
- * os/arch/nodeVersion.
132
- * - featureFlags: built from /api/v1/config/summary's `features` array. The
133
- * full ConfigSummaryData object is passed through (the server's
134
- * redactSensitiveFields scrubs it again as defense in depth).
135
- * - canary: built from /api/health's `overall` field. 'healthy' and
136
- * 'degraded' map to status='available'; 'error' maps to
137
- * status='unavailable'.
138
- * - recentEvents: P1-5: extracted from /api/v1/lifecycle/state's `recentEvents`
139
- * array (each entry validated; last 5 kept). When the endpoint
140
- * is absent (current state), falls back to /api/health's
141
- * `checks` array so the report is not permanently empty.
142
- */
143
- export declare function buildFeedbackDiagnostics(configSettled: SettledResult<ApiResult<unknown>>, lifecycleSettled: SettledResult<ApiResult<unknown>>, healthSettled: SettledResult<ApiResult<unknown>>): FeedbackDiagnostics;
144
- export {};
@@ -1,418 +0,0 @@
1
- // ReportProblemValidators.ts
2
- // Runtime validators for feedback draft payloads received from the server.
3
- // Extracted from ReportProblemPage.tsx so they can be unit-tested without
4
- // pulling in React/JSX (vitest in this package runs in `node` environment).
5
- //
6
- // The server returns JSON parsed via the standard fetch path. Per ERR-001
7
- // and ERR-005, every field must be runtime-validated before use; no `as`
8
- // casts are allowed to bypass validation.
9
- const FEEDBACK_FREQUENCIES = ['always', 'often', 'sometimes', 'once'];
10
- const FEEDBACK_BLOCKING_LEVELS = ['blocked', 'workaround', 'minor'];
11
- const FEEDBACK_SUBMITTED_VIA = ['ingest', 'github', 'email', 'file'];
12
- function isFeedbackFrequency(value) {
13
- return typeof value === 'string' && FEEDBACK_FREQUENCIES.includes(value);
14
- }
15
- function isFeedbackBlockingLevel(value) {
16
- return typeof value === 'string' && FEEDBACK_BLOCKING_LEVELS.includes(value);
17
- }
18
- function isFeedbackSubmittedVia(value) {
19
- return typeof value === 'string' && FEEDBACK_SUBMITTED_VIA.includes(value);
20
- }
21
- /**
22
- * 旧草稿 severity → blockingLevel 的展示映射(仅 UI 展示,不改文件,spec §5.2):
23
- * high→blocked / medium→workaround / low→minor。
24
- */
25
- export function mapSeverityToBlockingLevel(severity) {
26
- if (severity === 'high')
27
- return 'blocked';
28
- if (severity === 'medium')
29
- return 'workaround';
30
- if (severity === 'low')
31
- return 'minor';
32
- return undefined;
33
- }
34
- /**
35
- * 从 context(page / sourceDetail)归一化出反馈来源 area(spec §7)。
36
- * area 值:failed_tasks / pain / principles / activation / focus / intent / error / general。
37
- * 匹配失败缺省返回 'general'。
38
- */
39
- export function deriveFeedbackArea(context) {
40
- if (!context)
41
- return undefined;
42
- const haystack = `${context.page ?? ''} ${context.sourceDetail ?? ''}`.toLowerCase();
43
- const tokens = [
44
- ['failed_tasks', 'failed_tasks'],
45
- ['pain', 'pain'],
46
- ['principle', 'principles'],
47
- ['activation', 'activation'],
48
- ['focus', 'focus'],
49
- ['intent', 'intent'],
50
- ['error', 'error'],
51
- ];
52
- for (const [token, area] of tokens) {
53
- if (haystack.includes(token))
54
- return area;
55
- }
56
- return undefined;
57
- }
58
- function isString(value) {
59
- return typeof value === 'string';
60
- }
61
- function isRecord(value) {
62
- return typeof value === 'object' && value !== null && !Array.isArray(value);
63
- }
64
- function isStringArray(value) {
65
- return Array.isArray(value) && value.every(isString);
66
- }
67
- function asRecord(v) {
68
- return isRecord(v) ? v : {};
69
- }
70
- export function parseDraftRecord(value) {
71
- if (!isRecord(value))
72
- return null;
73
- if (!isString(value.id) || !isString(value.createdAt) || !isString(value.title))
74
- return null;
75
- if (value.type !== 'bug' &&
76
- value.type !== 'confusing' &&
77
- value.type !== 'privacy_concern' &&
78
- value.type !== 'feature_request' &&
79
- value.type !== 'other') {
80
- return null;
81
- }
82
- const userText = asRecord(value.userText);
83
- if (!isString(userText.description))
84
- return null;
85
- const outputs = asRecord(value.outputs);
86
- if (!isString(outputs.markdown) ||
87
- !isString(outputs.emailText) ||
88
- !isString(outputs.githubIssueUrl)) {
89
- return null;
90
- }
91
- const privacy = asRecord(value.privacy);
92
- if (!isStringArray(privacy.includedSections) ||
93
- !isStringArray(privacy.excludedByDefault) ||
94
- !isStringArray(privacy.redactionNotes)) {
95
- return null;
96
- }
97
- const diagnostic = asRecord(value.diagnosticSummary);
98
- const rawCanary = diagnostic.canary;
99
- const canaryRecord = isRecord(rawCanary) ? rawCanary : null;
100
- let canaryStatus = null;
101
- if (canaryRecord && typeof canaryRecord.status === 'string' && (canaryRecord.status === 'available' || canaryRecord.status === 'unavailable')) {
102
- canaryStatus = canaryRecord.status;
103
- }
104
- const validCanary = canaryStatus
105
- ? { status: canaryStatus, summary: typeof canaryRecord?.summary === 'string' ? canaryRecord.summary : undefined, unavailableReason: typeof canaryRecord?.unavailableReason === 'string' ? canaryRecord.unavailableReason : undefined }
106
- : null;
107
- return {
108
- id: value.id,
109
- createdAt: value.createdAt,
110
- type: value.type,
111
- title: value.title,
112
- userText: {
113
- description: userText.description,
114
- stepsToReproduce: isString(userText.stepsToReproduce) ? userText.stepsToReproduce : undefined,
115
- expectedBehavior: isString(userText.expectedBehavior) ? userText.expectedBehavior : undefined,
116
- actualBehavior: isString(userText.actualBehavior) ? userText.actualBehavior : undefined,
117
- userSeverity: userText.userSeverity === 'low' || userText.userSeverity === 'medium' || userText.userSeverity === 'high'
118
- ? userText.userSeverity
119
- : undefined,
120
- // 类型化新字段(全部可选,旧草稿缺省兼容;枚举校验同 core)
121
- goal: isString(userText.goal) ? userText.goal : undefined,
122
- stuckAt: isString(userText.stuckAt) ? userText.stuckAt : undefined,
123
- job: isString(userText.job) ? userText.job : undefined,
124
- currentWorkaround: isString(userText.currentWorkaround) ? userText.currentWorkaround : undefined,
125
- sawWhat: isString(userText.sawWhat) ? userText.sawWhat : undefined,
126
- whereSeen: isString(userText.whereSeen) ? userText.whereSeen : undefined,
127
- frequency: isFeedbackFrequency(userText.frequency) ? userText.frequency : undefined,
128
- blockingLevel: isFeedbackBlockingLevel(userText.blockingLevel) ? userText.blockingLevel : undefined,
129
- },
130
- diagnosticSummary: {
131
- versions: asRecord(diagnostic.versions),
132
- platform: asRecord(diagnostic.platform),
133
- featureFlags: asRecord(diagnostic.featureFlags),
134
- canary: validCanary ?? { status: 'unavailable', unavailableReason: 'diagnostic summary unavailable' },
135
- recentEvents: Array.isArray(diagnostic.recentEvents) ? diagnostic.recentEvents : [],
136
- },
137
- privacy: {
138
- includedSections: privacy.includedSections,
139
- excludedByDefault: privacy.excludedByDefault,
140
- redactionNotes: privacy.redactionNotes,
141
- },
142
- outputs: {
143
- markdown: outputs.markdown,
144
- emailText: outputs.emailText,
145
- githubIssueUrl: outputs.githubIssueUrl,
146
- // mailtoUrl is newer than the other outputs; older drafts persisted
147
- // before this field existed. Fall back to '' so the UI can hide the
148
- // "Open Email" button gracefully (rc-1: treat as unknown, no `as`).
149
- mailtoUrl: isString(outputs.mailtoUrl) ? outputs.mailtoUrl : '',
150
- },
151
- // 来源与提交元数据(全部可选;status/trackingId/externalUrl 仅当枚举/字符串合法时保留)
152
- area: isString(value.area) ? value.area : undefined,
153
- status: value.status === 'draft' || value.status === 'submitted' ? value.status : undefined,
154
- submittedAt: isString(value.submittedAt) ? value.submittedAt : undefined,
155
- submittedVia: isFeedbackSubmittedVia(value.submittedVia) ? value.submittedVia : undefined,
156
- trackingId: isString(value.trackingId) ? value.trackingId : undefined,
157
- externalUrl: isString(value.externalUrl) ? value.externalUrl : undefined,
158
- };
159
- }
160
- export function parseDraftSummary(value) {
161
- if (!isRecord(value))
162
- return null;
163
- if (!isString(value.id) || !isString(value.createdAt) || !isString(value.type) || !isString(value.title)) {
164
- return null;
165
- }
166
- return {
167
- id: value.id,
168
- createdAt: value.createdAt,
169
- type: value.type,
170
- title: value.title,
171
- status: isString(value.status) ? value.status : undefined,
172
- };
173
- }
174
- export function parseEnvelopeReport(value) {
175
- if (!isRecord(value))
176
- return null;
177
- return parseDraftRecord(value.report);
178
- }
179
- export function getErrorMessage(result, fallback) {
180
- if (isRecord(result) && result.success === false && isString(result.error)) {
181
- return result.error;
182
- }
183
- return fallback;
184
- }
185
- // ── Context builder (Task 6: frontend context passthrough) ──────────────────
186
- //
187
- // Builds a `context` object from URL search params so feedback reports can be
188
- // associated with specific pain / principle / approval / task entities.
189
- //
190
- // P1-3 (rc-9-no-silent-fallback): The `source` field must be a valid
191
- // FeedbackSource enum (console/cli/agent) because the server-side
192
- // `validateFeedbackContext` enforces this enum. Non-enum source values
193
- // (e.g. `failed_tasks_page`, `error`) are NOT silently dropped — they are
194
- // mapped to the nearest valid enum (`console`, since PD Console is the host
195
- // for all these entry points) and the original value is preserved in
196
- // `sourceDetail` so the maintainer can see the concrete entry point.
197
- //
198
- // Returns `undefined` when no relevant query params are present so the caller
199
- // can omit `context` from the request body entirely.
200
- const FEEDBACK_SOURCE_VALUES = ['console', 'cli', 'agent'];
201
- const CONTEXT_STRING_FIELDS = [
202
- 'painId',
203
- 'principleId',
204
- 'approvalId',
205
- 'activationId',
206
- 'taskId',
207
- 'page',
208
- ];
209
- export function buildFeedbackContextFromSearchParams(searchParams) {
210
- const ctx = {};
211
- for (const f of CONTEXT_STRING_FIELDS) {
212
- const v = searchParams.get(f);
213
- if (v)
214
- ctx[f] = v;
215
- }
216
- const source = searchParams.get('source');
217
- if (source) {
218
- if (FEEDBACK_SOURCE_VALUES.includes(source)) {
219
- ctx.source = source;
220
- }
221
- else {
222
- // P1-3: Non-enum source mapped to 'console' (PD Console hosts all these
223
- // entry points). Original value preserved in sourceDetail (rc-9: no
224
- // silent drop). The server-side FeedbackContext now supports sourceDetail.
225
- ctx.source = 'console';
226
- ctx.sourceDetail = source;
227
- }
228
- }
229
- return Object.keys(ctx).length > 0 ? ctx : undefined;
230
- }
231
- const CONFIG_PATH = '/api/v1/config/summary';
232
- const LIFECYCLE_PATH = '/api/v1/lifecycle/state';
233
- const HEALTH_PATH = '/api/health';
234
- function describeFailure(settled, path) {
235
- if (settled.status === 'rejected') {
236
- const { reason } = settled;
237
- const msg = reason instanceof Error ? reason.message : String(reason);
238
- return `${path} fetch failed: ${msg}`;
239
- }
240
- if (!settled.value.success) {
241
- return `${path} fetch failed: ${settled.value.error}`;
242
- }
243
- return '';
244
- }
245
- function pickString(value) {
246
- return typeof value === 'string' ? value : undefined;
247
- }
248
- /**
249
- * Extract recentEvents from the /api/v1/lifecycle/state response body.
250
- *
251
- * The endpoint is not yet implemented in the current server (only
252
- * /api/v1/lifecycle/principles/:id exists). When it returns a 404 or other
253
- * error, the caller passes a failure ApiResult and we return an empty array;
254
- * the diagnostics `recentEvents` field is then populated with an
255
- * `unavailableReason` entry by the caller. When the endpoint exists and
256
- * returns a record with `recentEvents`, we validate each entry's required
257
- * string fields before keeping it (rc-4-validate-array-elements).
258
- */
259
- function extractRecentEvents(data) {
260
- if (!isRecord(data) || !Array.isArray(data.recentEvents))
261
- return [];
262
- const out = [];
263
- for (const entry of data.recentEvents) {
264
- if (!isRecord(entry))
265
- continue;
266
- const type = pickString(entry.type);
267
- const at = pickString(entry.at);
268
- const summary = pickString(entry.summary);
269
- if (!type || !at || !summary)
270
- continue;
271
- const ev = { type, at, summary };
272
- const severity = pickString(entry.severity);
273
- if (severity)
274
- ev.severity = severity;
275
- out.push(ev);
276
- }
277
- // Keep only the last 5 entries (per task spec: "取最后 5 条")
278
- return out.slice(-5);
279
- }
280
- /**
281
- * P1-5: Extract recentEvents from /api/health's `checks` array as a fallback
282
- * when /api/v1/lifecycle/state is unavailable. Each health check becomes an
283
- * event: type=check.id, at=check.lastCheck, summary=check.message, severity
284
- * mapped from check.status (error→'error', warning→'warn', healthy→none).
285
- *
286
- * This ensures the feedback report's "Recent events" section is not permanently
287
- * empty just because the lifecycle endpoint does not exist yet.
288
- */
289
- function extractEventsFromHealthChecks(healthRecord) {
290
- if (!healthRecord || !Array.isArray(healthRecord.checks))
291
- return [];
292
- const out = [];
293
- for (const check of healthRecord.checks) {
294
- if (!isRecord(check))
295
- continue;
296
- const type = pickString(check.id) ?? pickString(check.name);
297
- const at = pickString(check.lastCheck);
298
- const summary = pickString(check.message);
299
- if (!type || !at || !summary)
300
- continue;
301
- const ev = { type, at, summary };
302
- const status = pickString(check.status);
303
- if (status === 'error')
304
- ev.severity = 'error';
305
- else if (status === 'warning')
306
- ev.severity = 'warn';
307
- out.push(ev);
308
- }
309
- return out.slice(-5);
310
- }
311
- /**
312
- * Build a diagnostics object from three concurrent API responses.
313
- *
314
- * Each input is a SettledResult<ApiResult<unknown>> — the shape produced by
315
- * `Promise.allSettled([request(...), ...])`. When an API fails (rejected
316
- * promise or ApiResult with success=false), the corresponding diagnostics
317
- * fields record an `unavailableReason` string (rc-9-no-silent-fallback).
318
- *
319
- * Field mapping:
320
- * - versions: P0-2: extracted from /api/health's `versions` field (added
321
- * by HealthCheckModel.checkSystemHealth). Contains PD/core/node
322
- * version strings.
323
- * - platform: P0-2: extracted from /api/health's `platform` field. Contains
324
- * os/arch/nodeVersion.
325
- * - featureFlags: built from /api/v1/config/summary's `features` array. The
326
- * full ConfigSummaryData object is passed through (the server's
327
- * redactSensitiveFields scrubs it again as defense in depth).
328
- * - canary: built from /api/health's `overall` field. 'healthy' and
329
- * 'degraded' map to status='available'; 'error' maps to
330
- * status='unavailable'.
331
- * - recentEvents: P1-5: extracted from /api/v1/lifecycle/state's `recentEvents`
332
- * array (each entry validated; last 5 kept). When the endpoint
333
- * is absent (current state), falls back to /api/health's
334
- * `checks` array so the report is not permanently empty.
335
- */
336
- export function buildFeedbackDiagnostics(configSettled, lifecycleSettled, healthSettled) {
337
- // ── health response (used for versions, platform, canary, recentEvents fallback) ──
338
- const healthFailure = describeFailure(healthSettled, HEALTH_PATH);
339
- const healthData = (healthSettled.status === 'fulfilled' && healthSettled.value.success)
340
- ? healthSettled.value.data
341
- : null;
342
- const healthRecord = isRecord(healthData) ? healthData : null;
343
- // ── versions / platform (from /api/health) ──────────────────────────────
344
- // P0-2: /api/health now returns versions and platform via HealthCheckModel.
345
- // Previously these came from /api/v1/config/summary which never had them.
346
- let versions;
347
- let platform;
348
- if (healthFailure) {
349
- versions = { unavailableReason: healthFailure };
350
- platform = { unavailableReason: healthFailure };
351
- }
352
- else if (healthRecord && isRecord(healthRecord.versions)) {
353
- versions = { ...healthRecord.versions };
354
- platform = isRecord(healthRecord.platform)
355
- ? { ...healthRecord.platform }
356
- : { unavailableReason: 'platform not in health response' };
357
- }
358
- else {
359
- versions = { unavailableReason: 'versions not in health response' };
360
- platform = { unavailableReason: 'platform not in health response' };
361
- }
362
- // ── featureFlags (from /api/v1/config/summary) ──────────────────────────
363
- // Best-effort: pass the entire config summary data through as featureFlags.
364
- // The server's redactSensitiveFields will scrub sensitive values, and the
365
- // features array (id/category/enabled) is the closest available signal.
366
- const configFailure = describeFailure(configSettled, CONFIG_PATH);
367
- let featureFlags;
368
- if (configFailure) {
369
- featureFlags = { unavailableReason: configFailure };
370
- }
371
- else if (configSettled.status === 'fulfilled' && configSettled.value.success) {
372
- const { data } = configSettled.value;
373
- if (isRecord(data) && Object.hasOwn(data, 'features') && Array.isArray(data.features)) {
374
- featureFlags = { features: data.features, defaultRuntime: pickString(data.defaultRuntime) ?? null };
375
- }
376
- else {
377
- featureFlags = { unavailableReason: 'features field not present in API response' };
378
- }
379
- }
380
- else {
381
- featureFlags = { unavailableReason: 'features field not present in API response' };
382
- }
383
- // ── canary (from /api/health) ───────────────────────────────────────────
384
- let canary;
385
- if (healthFailure) {
386
- canary = { status: 'unavailable', unavailableReason: healthFailure };
387
- }
388
- else if (healthRecord && (healthRecord.overall === 'healthy' || healthRecord.overall === 'degraded' || healthRecord.overall === 'error')) {
389
- const { overall } = healthRecord;
390
- if (overall === 'error') {
391
- canary = { status: 'unavailable', unavailableReason: `system health: ${overall}` };
392
- }
393
- else {
394
- const summary = `overall=${overall}; generatedAt=${pickString(healthRecord.generatedAt) ?? 'unknown'}`;
395
- canary = { status: 'available', summary };
396
- }
397
- }
398
- else {
399
- canary = { status: 'unavailable', unavailableReason: 'overall field not present in API response' };
400
- }
401
- // ── recentEvents (from /api/v1/lifecycle/state, fallback to /api/health checks) ──
402
- // P1-5: /api/v1/lifecycle/state is not yet implemented. When it fails, fall
403
- // back to /api/health's checks array so the report's "Recent events" section
404
- // is not permanently empty. We still attempt the lifecycle fetch so that
405
- // when the endpoint exists in the future, real events flow through.
406
- const lifecycleFailure = describeFailure(lifecycleSettled, LIFECYCLE_PATH);
407
- let recentEvents;
408
- if (lifecycleFailure) {
409
- recentEvents = extractEventsFromHealthChecks(healthRecord);
410
- }
411
- else if (lifecycleSettled.status === 'fulfilled' && lifecycleSettled.value.success) {
412
- recentEvents = extractRecentEvents(lifecycleSettled.value.data);
413
- }
414
- else {
415
- recentEvents = extractEventsFromHealthChecks(healthRecord);
416
- }
417
- return { versions, platform, featureFlags, canary, recentEvents };
418
- }
@@ -1 +0,0 @@
1
- export declare function ActivationPage(): import("react").JSX.Element;