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,136 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import { createContext, useCallback, useEffect, useRef, useState, } from 'react';
3
- import { fetchGovernanceQueue, fetchOwnerDecisions } from '../../api.js';
4
- import { useNotificationSound } from '../../hooks/useNotificationSound.js';
5
- import { diffNotificationCounts } from './notification-reducer.js';
6
- import { loadSoundEnabled, saveSoundEnabled } from './sound-storage.js';
7
- import { resetFaviconAndTitle, updateFaviconAndTitle } from './favicon-badge.js';
8
- const POLL_INTERVAL_MS = 30000;
9
- export const NotificationContext = createContext(null);
10
- export function NotificationProvider({ children }) {
11
- const [state, setState] = useState({
12
- pendingCount: 0,
13
- degradedCount: 0,
14
- soundEnabled: loadSoundEnabled(),
15
- });
16
- const { playSound, unlockAudio, audioUnlocked } = useNotificationSound();
17
- const prevCountsRef = useRef(null);
18
- const hasSuccessfulPollRef = useRef(false);
19
- const pollInFlightRef = useRef(false);
20
- const pendingAlertWhileHiddenRef = useRef(false);
21
- const degradedAlertWhileHiddenRef = useRef(false);
22
- const setSoundEnabled = useCallback((enabled) => {
23
- saveSoundEnabled(enabled);
24
- setState((prev) => ({ ...prev, soundEnabled: enabled }));
25
- }, []);
26
- const poll = useCallback(async () => {
27
- if (pollInFlightRef.current)
28
- return;
29
- pollInFlightRef.current = true;
30
- try {
31
- const result = await fetchGovernanceQueue();
32
- if (!result.success) {
33
- console.warn('Notification poll failed:', result.error);
34
- return;
35
- }
36
- const degradedCount = result.data.degradedSignals?.length ?? 0;
37
- // PRI-629 (SPEC §27): 侧边栏徽标 N = 真实可执行 Owner 决策数
38
- // (OwnerDecisionItem.length) — 不是 approvals pending / candidate /
39
- // needs_human_review 计数。投影失败时回退 approvals pending (保守)。
40
- const decisionsResult = await fetchOwnerDecisions();
41
- const pendingCount = decisionsResult.success
42
- ? decisionsResult.data.total
43
- : result.data.pendingReviewCount;
44
- hasSuccessfulPollRef.current = true;
45
- setState((prev) => ({
46
- ...prev,
47
- pendingCount,
48
- degradedCount,
49
- }));
50
- }
51
- finally {
52
- pollInFlightRef.current = false;
53
- }
54
- }, []);
55
- // Initial poll + interval
56
- useEffect(() => {
57
- poll();
58
- const interval = setInterval(poll, POLL_INTERVAL_MS);
59
- return () => clearInterval(interval);
60
- }, [poll]);
61
- // Play sounds when counts increase (respect hidden state)
62
- useEffect(() => {
63
- if (!hasSuccessfulPollRef.current)
64
- return;
65
- if (typeof document !== 'undefined' && document.hidden) {
66
- const diff = diffNotificationCounts(state, prevCountsRef.current);
67
- if (state.soundEnabled && diff.pendingIncreased)
68
- pendingAlertWhileHiddenRef.current = true;
69
- if (state.soundEnabled && diff.degradedIncreased)
70
- degradedAlertWhileHiddenRef.current = true;
71
- prevCountsRef.current = {
72
- pendingCount: state.pendingCount,
73
- degradedCount: state.degradedCount,
74
- };
75
- return;
76
- }
77
- if (!state.soundEnabled || !audioUnlocked) {
78
- if (!state.soundEnabled) {
79
- pendingAlertWhileHiddenRef.current = false;
80
- degradedAlertWhileHiddenRef.current = false;
81
- }
82
- prevCountsRef.current = {
83
- pendingCount: state.pendingCount,
84
- degradedCount: state.degradedCount,
85
- };
86
- return;
87
- }
88
- const diff = diffNotificationCounts(state, prevCountsRef.current);
89
- if (diff.pendingIncreased || pendingAlertWhileHiddenRef.current) {
90
- playSound('pending');
91
- pendingAlertWhileHiddenRef.current = false;
92
- }
93
- if (diff.degradedIncreased || degradedAlertWhileHiddenRef.current) {
94
- playSound('degraded');
95
- degradedAlertWhileHiddenRef.current = false;
96
- }
97
- prevCountsRef.current = {
98
- pendingCount: state.pendingCount,
99
- degradedCount: state.degradedCount,
100
- };
101
- }, [state, playSound, audioUnlocked]);
102
- // Update favicon + title
103
- useEffect(() => {
104
- updateFaviconAndTitle(state.pendingCount, state.degradedCount);
105
- }, [state.pendingCount, state.degradedCount]);
106
- useEffect(() => () => {
107
- resetFaviconAndTitle();
108
- }, []);
109
- // Unlock audio on first user interaction
110
- useEffect(() => {
111
- if (typeof window === 'undefined')
112
- return;
113
- const handleInteraction = () => {
114
- unlockAudio();
115
- };
116
- window.addEventListener('click', handleInteraction, { once: true });
117
- window.addEventListener('keydown', handleInteraction, { once: true });
118
- return () => {
119
- window.removeEventListener('click', handleInteraction);
120
- window.removeEventListener('keydown', handleInteraction);
121
- };
122
- }, [unlockAudio]);
123
- // Re-poll immediately when tab becomes visible
124
- useEffect(() => {
125
- if (typeof document === 'undefined')
126
- return;
127
- const handleVisibilityChange = () => {
128
- if (!document.hidden) {
129
- poll();
130
- }
131
- };
132
- document.addEventListener('visibilitychange', handleVisibilityChange);
133
- return () => document.removeEventListener('visibilitychange', handleVisibilityChange);
134
- }, [poll]);
135
- return (_jsx(NotificationContext.Provider, { value: { ...state, setSoundEnabled, audioUnlocked }, children: children }));
136
- }
@@ -1,3 +0,0 @@
1
- export declare function renderFaviconDataUrl(totalCount: number): string;
2
- export declare function updateFaviconAndTitle(pendingCount: number, degradedCount: number): void;
3
- export declare function resetFaviconAndTitle(): void;
@@ -1,68 +0,0 @@
1
- const ORIGINAL_TITLE = 'PD Console';
2
- const CANVAS_SIZE = 32;
3
- const DYNAMIC_FAVICON_ID = 'pd-dynamic-favicon';
4
- function drawBaseFavicon(ctx) {
5
- ctx.fillStyle = '#1a1a1a';
6
- ctx.fillRect(0, 0, CANVAS_SIZE, CANVAS_SIZE);
7
- ctx.fillStyle = '#d4a853';
8
- ctx.font = 'bold 14px sans-serif';
9
- ctx.textAlign = 'center';
10
- ctx.textBaseline = 'middle';
11
- ctx.fillText('PD', CANVAS_SIZE / 2, CANVAS_SIZE / 2);
12
- }
13
- function drawRedDot(ctx) {
14
- ctx.fillStyle = '#dc2626';
15
- ctx.beginPath();
16
- ctx.arc(CANVAS_SIZE - 6, 6, 5, 0, Math.PI * 2);
17
- ctx.fill();
18
- }
19
- export function renderFaviconDataUrl(totalCount) {
20
- if (typeof document === 'undefined')
21
- return '';
22
- // eslint-disable-next-line no-undef
23
- const canvas = document.createElement('canvas');
24
- canvas.width = CANVAS_SIZE;
25
- canvas.height = CANVAS_SIZE;
26
- const ctx = canvas.getContext('2d');
27
- if (!ctx)
28
- return '';
29
- drawBaseFavicon(ctx);
30
- if (totalCount > 0) {
31
- drawRedDot(ctx);
32
- }
33
- return canvas.toDataURL('image/png');
34
- }
35
- export function updateFaviconAndTitle(pendingCount, degradedCount) {
36
- if (typeof document === 'undefined')
37
- return;
38
- const totalCount = pendingCount + degradedCount;
39
- // eslint-disable-next-line no-undef
40
- document.title = totalCount > 0
41
- ? `(${totalCount}) PD Governance Workspace`
42
- : ORIGINAL_TITLE;
43
- // eslint-disable-next-line no-undef
44
- const existing = document.getElementById(DYNAMIC_FAVICON_ID);
45
- let link = existing instanceof HTMLLinkElement ? existing : null;
46
- if (!link) {
47
- existing?.remove();
48
- // eslint-disable-next-line no-undef
49
- link = document.createElement('link');
50
- link.id = DYNAMIC_FAVICON_ID;
51
- link.rel = 'icon';
52
- link.type = 'image/png';
53
- // eslint-disable-next-line no-undef
54
- document.head.appendChild(link);
55
- }
56
- const dataUrl = renderFaviconDataUrl(totalCount);
57
- if (dataUrl) {
58
- link.href = dataUrl;
59
- }
60
- }
61
- export function resetFaviconAndTitle() {
62
- if (typeof document === 'undefined')
63
- return;
64
- // eslint-disable-next-line no-undef
65
- document.title = ORIGINAL_TITLE;
66
- // eslint-disable-next-line no-undef
67
- document.getElementById(DYNAMIC_FAVICON_ID)?.remove();
68
- }
@@ -1,9 +0,0 @@
1
- export type NotificationCounts = {
2
- pendingCount: number;
3
- degradedCount: number;
4
- };
5
- export type NotificationDiff = {
6
- pendingIncreased: boolean;
7
- degradedIncreased: boolean;
8
- };
9
- export declare function diffNotificationCounts(current: NotificationCounts, previous: NotificationCounts | null): NotificationDiff;
@@ -1,9 +0,0 @@
1
- export function diffNotificationCounts(current, previous) {
2
- if (previous === null) {
3
- return { pendingIncreased: false, degradedIncreased: false };
4
- }
5
- return {
6
- pendingIncreased: current.pendingCount > previous.pendingCount,
7
- degradedIncreased: current.degradedCount > previous.degradedCount,
8
- };
9
- }
@@ -1,3 +0,0 @@
1
- export declare const SOUND_ENABLED_KEY = "pd-sound-enabled";
2
- export declare function loadSoundEnabled(): boolean;
3
- export declare function saveSoundEnabled(enabled: boolean): void;
@@ -1,37 +0,0 @@
1
- export const SOUND_ENABLED_KEY = 'pd-sound-enabled';
2
- function getStorage() {
3
- if (typeof window === 'undefined')
4
- return null;
5
- try {
6
- // eslint-disable-next-line no-undef
7
- return window.localStorage;
8
- }
9
- catch (error) {
10
- console.warn('Sound preference storage is unavailable:', error);
11
- return null;
12
- }
13
- }
14
- export function loadSoundEnabled() {
15
- const storage = getStorage();
16
- if (!storage)
17
- return true;
18
- try {
19
- const stored = storage.getItem(SOUND_ENABLED_KEY);
20
- return stored === null ? true : stored === 'true';
21
- }
22
- catch (error) {
23
- console.warn('Failed to read sound preference:', error);
24
- return true;
25
- }
26
- }
27
- export function saveSoundEnabled(enabled) {
28
- const storage = getStorage();
29
- if (!storage)
30
- return;
31
- try {
32
- storage.setItem(SOUND_ENABLED_KEY, String(enabled));
33
- }
34
- catch (error) {
35
- console.warn('Failed to save sound preference:', error);
36
- }
37
- }
@@ -1 +0,0 @@
1
- export declare function useNotifications(): import("./NotificationProvider.js").NotificationContextValue;
@@ -1,9 +0,0 @@
1
- import { useContext } from 'react';
2
- import { NotificationContext } from './NotificationProvider.js';
3
- export function useNotifications() {
4
- const ctx = useContext(NotificationContext);
5
- if (!ctx) {
6
- throw new Error('useNotifications must be used within NotificationProvider');
7
- }
8
- return ctx;
9
- }
@@ -1,8 +0,0 @@
1
- interface CircuitDiagramProps {
2
- /** Highlight a specific node (evidence/principle/ownerGate/behavior) */
3
- highlightNode?: 'evidence' | 'principle' | 'ownerGate' | 'behavior' | null;
4
- /** Compact mode for smaller spaces */
5
- compact?: boolean;
6
- }
7
- export declare function CircuitDiagram({ highlightNode, compact }: CircuitDiagramProps): import("react").JSX.Element;
8
- export {};
@@ -1,18 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { useTranslation } from 'react-i18next';
3
- const NODES = [
4
- { id: 'evidence', labelKey: 'pages.welcome.step1.circuitNodes.evidence', cx: 80, cy: 80 },
5
- { id: 'principle', labelKey: 'pages.welcome.step1.circuitNodes.principle', cx: 240, cy: 80 },
6
- { id: 'ownerGate', labelKey: 'pages.welcome.step1.circuitNodes.ownerGate', cx: 240, cy: 180 },
7
- { id: 'behavior', labelKey: 'pages.welcome.step1.circuitNodes.behavior', cx: 80, cy: 180 },
8
- ];
9
- export function CircuitDiagram({ highlightNode = null, compact = false }) {
10
- const { t } = useTranslation();
11
- const size = compact ? 240 : 320;
12
- const nodeRadius = compact ? 28 : 36;
13
- return (_jsx("div", { className: "circuit-diagram", role: "img", "aria-label": t('pages.welcome.step1.circuitLabel'), children: _jsxs("svg", { width: size, height: size * 0.75, viewBox: "0 0 320 240", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: [_jsx("line", { x1: NODES[0].cx, y1: NODES[0].cy, x2: NODES[1].cx, y2: NODES[1].cy, stroke: "var(--color-gov)", strokeWidth: "1.5" }), _jsx("line", { x1: NODES[1].cx, y1: NODES[1].cy, x2: NODES[2].cx, y2: NODES[2].cy, stroke: "var(--color-gov)", strokeWidth: "1.5" }), _jsx("line", { x1: NODES[2].cx, y1: NODES[2].cy, x2: NODES[3].cx, y2: NODES[3].cy, stroke: "var(--color-gov)", strokeWidth: "1.5" }), _jsx("line", { x1: NODES[3].cx, y1: NODES[3].cy, x2: NODES[0].cx, y2: NODES[0].cy, stroke: "var(--color-gov)", strokeWidth: "1.5" }), _jsx("polygon", { points: `${NODES[1].cx - 8},${NODES[1].cy - 4} ${NODES[1].cx - 8},${NODES[1].cy + 4} ${NODES[1].cx},${NODES[1].cy}`, fill: "var(--color-gov)" }), _jsx("polygon", { points: `${NODES[2].cx + 4},${NODES[2].cy - 8} ${NODES[2].cx - 4},${NODES[2].cy - 8} ${NODES[2].cx},${NODES[2].cy}`, fill: "var(--color-gov)" }), _jsx("polygon", { points: `${NODES[3].cx + 8},${NODES[3].cy - 4} ${NODES[3].cx + 8},${NODES[3].cy + 4} ${NODES[3].cx},${NODES[3].cy}`, fill: "var(--color-gov)" }), _jsx("polygon", { points: `${NODES[0].cx - 4},${NODES[0].cy + 8} ${NODES[0].cx + 4},${NODES[0].cy + 8} ${NODES[0].cx},${NODES[0].cy}`, fill: "var(--color-gov)" }), NODES.map((node) => {
14
- const isHighlighted = highlightNode === node.id;
15
- const isOwnerGate = node.id === 'ownerGate';
16
- return (_jsxs("g", { children: [_jsx("circle", { cx: node.cx, cy: node.cy, r: nodeRadius, fill: isHighlighted ? 'var(--color-gov)' : 'var(--color-surface)', stroke: isOwnerGate ? 'var(--color-gov)' : 'var(--color-border)', strokeWidth: isOwnerGate ? 2.5 : 1.5 }), _jsx("text", { x: node.cx, y: node.cy, textAnchor: "middle", dominantBaseline: "middle", fontSize: compact ? 9 : 11, fill: isHighlighted ? 'white' : 'var(--color-ink)', fontFamily: "var(--font-sans)", children: t(node.labelKey) })] }, node.id));
17
- })] }) }));
18
- }
@@ -1,22 +0,0 @@
1
- export interface DemoStage {
2
- name: string;
3
- status: 'passed' | 'failed' | 'degraded' | 'skipped';
4
- reason?: string;
5
- nextAction?: string;
6
- evidenceRef?: string;
7
- }
8
- export interface DemoResultData {
9
- status: string;
10
- generatedAt?: string;
11
- narrative?: string;
12
- storyDescription?: string;
13
- stages?: DemoStage[];
14
- simulated?: boolean;
15
- }
16
- interface DemoResultViewProps {
17
- result: DemoResultData | null;
18
- loading: boolean;
19
- error: string | null;
20
- }
21
- export declare function DemoResultView({ result, loading, error }: DemoResultViewProps): import("react").JSX.Element | null;
22
- export {};
@@ -1,33 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { useTranslation } from 'react-i18next';
3
- /**
4
- * Map backend demo stage identifiers (snake_case English, stable contract
5
- * from demo-story-a-runner.ts) to localized labels. Falls back to the raw
6
- * name if no mapping exists, so new stages still render (rc-9: no silent
7
- * failure) but future stages should be added here.
8
- */
9
- const STAGE_LABEL_KEYS = {
10
- evidence_seed: 'pages.welcome.step2.stages.evidenceSeed',
11
- principle_proposal: 'pages.welcome.step2.stages.principleProposal',
12
- owner_review: 'pages.welcome.step2.stages.ownerReview',
13
- activation: 'pages.welcome.step2.stages.activation',
14
- follow_up_observation: 'pages.welcome.step2.stages.followUpObservation',
15
- rollback_proof: 'pages.welcome.step2.stages.rollbackProof',
16
- };
17
- function localizeStageName(rawName, t) {
18
- const key = STAGE_LABEL_KEYS[rawName];
19
- return key ? t(key) : rawName;
20
- }
21
- export function DemoResultView({ result, loading, error }) {
22
- const { t } = useTranslation();
23
- if (loading) {
24
- return (_jsx("div", { className: "demo-result-view demo-loading", role: "status", "aria-live": "polite", children: _jsx("span", { className: "demo-status-text", children: t('pages.welcome.step2.demoRunning') }) }));
25
- }
26
- if (error) {
27
- return (_jsxs("div", { className: "demo-result-view demo-error", role: "alert", children: [_jsx("span", { className: "demo-status-text", children: t('pages.welcome.step2.demoFailed') }), _jsx("p", { className: "demo-error-detail", children: error })] }));
28
- }
29
- if (!result) {
30
- return null;
31
- }
32
- return (_jsxs("div", { className: "demo-result-view", role: "region", "aria-label": t('pages.welcome.step2.demoComplete'), children: [result.simulated && (_jsx("div", { className: "demo-simulated-banner", role: "note", children: t('pages.welcome.step2.demoSimulatedNote') })), result.stages && result.stages.length > 0 && (_jsx("ol", { className: "demo-stages", children: result.stages.map((stage, idx) => (_jsxs("li", { className: `demo-stage demo-stage-${stage.status}`, children: [_jsx("span", { className: "demo-stage-name", children: localizeStageName(stage.name, t) }), stage.reason && _jsx("span", { className: "demo-stage-detail", children: stage.reason })] }, idx))) })), _jsxs("div", { className: "demo-labels", children: [_jsx("div", { className: "demo-label-item", children: _jsx("span", { className: "demo-label-title", children: t('pages.welcome.step2.evidenceLabel') }) }), _jsx("div", { className: "demo-label-item", children: _jsx("span", { className: "demo-label-title", children: t('pages.welcome.step2.candidateLabel') }) }), _jsx("div", { className: "demo-label-item", children: _jsx("span", { className: "demo-label-title", children: t('pages.welcome.step2.ownerGateLabel') }) }), _jsx("div", { className: "demo-label-item", children: _jsx("span", { className: "demo-label-title", children: t('pages.welcome.step2.activationLabel') }) }), _jsx("div", { className: "demo-label-item", children: _jsx("span", { className: "demo-label-title", children: t('pages.welcome.step2.rollbackLabel') }) })] })] }));
33
- }
@@ -1,16 +0,0 @@
1
- /**
2
- * SlashCommandsCard — renders the core slash command list for onboarding Step 3.
3
- *
4
- * Receives the commands array (with descriptionKey) as a prop from
5
- * ONBOARDING_SLASH_COMMANDS. Each command's description text is fetched via
6
- * i18n using the descriptionKey, keeping all user-facing strings in i18n.
7
- *
8
- * rc-9-no-silent-fallback: when commands array is empty, render the fallback
9
- * message instead of a blank section.
10
- */
11
- import type { SlashCommand } from './slashCommands.js';
12
- interface SlashCommandsCardProps {
13
- commands: SlashCommand[];
14
- }
15
- export declare function SlashCommandsCard({ commands }: SlashCommandsCardProps): import("react").JSX.Element;
16
- export {};
@@ -1,20 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- /**
3
- * SlashCommandsCard — renders the core slash command list for onboarding Step 3.
4
- *
5
- * Receives the commands array (with descriptionKey) as a prop from
6
- * ONBOARDING_SLASH_COMMANDS. Each command's description text is fetched via
7
- * i18n using the descriptionKey, keeping all user-facing strings in i18n.
8
- *
9
- * rc-9-no-silent-fallback: when commands array is empty, render the fallback
10
- * message instead of a blank section.
11
- */
12
- import { useTranslation } from 'react-i18next';
13
- export function SlashCommandsCard({ commands }) {
14
- const { t } = useTranslation();
15
- // rc-9: empty commands must not render as a blank section — show fallback.
16
- if (!commands || commands.length === 0) {
17
- return (_jsx("p", { className: "slash-commands-empty", role: "note", children: t('pages.welcome.step3.emptyListFallback') }));
18
- }
19
- return (_jsx("ul", { className: "slash-commands-list", role: "list", children: commands.map((cmd) => (_jsxs("li", { className: "slash-command-item", children: [_jsxs("div", { className: "slash-command-header", children: [_jsx("code", { className: "slash-command-name", children: cmd.name }), cmd.alias && (_jsx("code", { className: "slash-command-alias", children: cmd.alias }))] }), _jsx("p", { className: "slash-command-description", children: t(cmd.descriptionKey) })] }, cmd.name))) }));
20
- }
@@ -1,20 +0,0 @@
1
- /**
2
- * Onboarding slash command metadata (PRI-506).
3
- *
4
- * Command names and aliases are NOT translatable (they are literal slash
5
- * commands the user types), so they live here in a TS module rather than in
6
- * i18n JSON. Only the human-readable descriptions are translated — they live
7
- * under `pages.welcome.step3.commandDescriptions.*` in en.json / zh-CN.json.
8
- *
9
- * EP-06 (Source of Truth): the canonical command list is in
10
- * packages/openclaw-plugin/src/i18n/commands.ts (`commandDescriptions`).
11
- * This module mirrors the 7 core commands selected for onboarding. When the
12
- * canonical list changes, update the descriptions here and in both i18n
13
- * files manually (no cross-package dependency is introduced).
14
- */
15
- export interface SlashCommand {
16
- name: string;
17
- alias?: string;
18
- descriptionKey: string;
19
- }
20
- export declare const ONBOARDING_SLASH_COMMANDS: SlashCommand[];
@@ -1,22 +0,0 @@
1
- /**
2
- * Onboarding slash command metadata (PRI-506).
3
- *
4
- * Command names and aliases are NOT translatable (they are literal slash
5
- * commands the user types), so they live here in a TS module rather than in
6
- * i18n JSON. Only the human-readable descriptions are translated — they live
7
- * under `pages.welcome.step3.commandDescriptions.*` in en.json / zh-CN.json.
8
- *
9
- * EP-06 (Source of Truth): the canonical command list is in
10
- * packages/openclaw-plugin/src/i18n/commands.ts (`commandDescriptions`).
11
- * This module mirrors the 7 core commands selected for onboarding. When the
12
- * canonical list changes, update the descriptions here and in both i18n
13
- * files manually (no cross-package dependency is introduced).
14
- */
15
- export const ONBOARDING_SLASH_COMMANDS = [
16
- { name: '/pd-init', alias: '/pdi', descriptionKey: 'pages.welcome.step3.commandDescriptions.pdInit' },
17
- { name: '/pd-status', descriptionKey: 'pages.welcome.step3.commandDescriptions.pdStatus' },
18
- { name: '/pd-pain', descriptionKey: 'pages.welcome.step3.commandDescriptions.pdPain' },
19
- { name: '/pd-help', alias: '/pdh', descriptionKey: 'pages.welcome.step3.commandDescriptions.pdHelp' },
20
- { name: '/pd-context', descriptionKey: 'pages.welcome.step3.commandDescriptions.pdContext' },
21
- { name: '/pd-focus', descriptionKey: 'pages.welcome.step3.commandDescriptions.pdFocus' },
22
- ];
@@ -1,6 +0,0 @@
1
- import type { ReceiptEvidenceCoverageData, ReceiptSourceStatusData } from "../../api.js";
2
- /** Localized label key for a source status — shared by the degraded notes. */
3
- export declare function getReceiptSourceStatusLabelKey(status: ReceiptSourceStatusData): string;
4
- export declare function ReceiptCoverageDisclosure({ coverage }: {
5
- coverage: ReceiptEvidenceCoverageData;
6
- }): import("react").JSX.Element;
@@ -1,66 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- /**
3
- * Receipt evidence coverage disclosure — PRI-590.
4
- *
5
- * Shared block that explains what receipt numbers MEAN: source status,
6
- * observed range, retention policy, and the "observed evidence, not full
7
- * history" limitation. Used by the PrincipleDetail receipt section and the
8
- * Activation page counts context.
9
- *
10
- * Never displays file paths, digests, raw payloads, or tool arguments.
11
- *
12
- * Keys use full paths ("pages.principles.…") because this component binds
13
- * useTranslation() to the default `common` namespace, which carries the
14
- * whole locale tree — usable from pages that pick other namespaces.
15
- */
16
- import { useTranslation } from "react-i18next";
17
- import { formatDate } from "../../utils/format-date.js";
18
- // ERR-106: exhaustive Records over the status unions — a binary ternary would
19
- // fold one member into a default and misrepresent its state.
20
- const SOURCE_STATUS_LABEL_KEYS = {
21
- available: "pages.principles.detail.receipts.coverage.statusAvailable",
22
- disabled: "pages.principles.detail.receipts.coverage.statusDisabled",
23
- unavailable: "pages.principles.detail.receipts.coverage.statusUnavailable",
24
- };
25
- const SOURCE_STATUS_PILL_CLASS = {
26
- available: "border-green/35 text-green bg-green/5",
27
- disabled: "border-amber/35 text-amber bg-amber/5",
28
- unavailable: "border-line text-ink-4 bg-surface/80",
29
- };
30
- const VALIDATION_NOTE_KEYS = {
31
- valid: null,
32
- partial: "pages.principles.detail.receipts.coverage.validationPartial",
33
- malformed: "pages.principles.detail.receipts.coverage.validationMalformed",
34
- };
35
- /**
36
- * reasonCode → localized phrase. Owner-facing copy must not leak snake_case
37
- * technical codes (review round 2). A Map (not a plain object) because the
38
- * lookup key comes from the API payload — no prototype-chain exposure
39
- * (EP-01/ERR-013). Unknown codes fall back to the raw code — fail-visible
40
- * rather than blank, so the debug clue survives.
41
- */
42
- const REASON_CODE_LABEL_KEYS = new Map([
43
- ["receipt_rows_dropped", "pages.principles.detail.receipts.coverage.reasonCodes.receiptRowsDropped"],
44
- ["ledger_level_invalid", "pages.principles.detail.receipts.coverage.reasonCodes.ledgerLevelInvalid"],
45
- ["ledger_counts_unreadable", "pages.principles.detail.receipts.coverage.reasonCodes.ledgerCountsUnreadable"],
46
- ]);
47
- /** Localized label key for a source status — shared by the degraded notes. */
48
- export function getReceiptSourceStatusLabelKey(status) {
49
- return SOURCE_STATUS_LABEL_KEYS[status];
50
- }
51
- export function ReceiptCoverageDisclosure({ coverage }) {
52
- const { t, i18n } = useTranslation();
53
- const validationNoteKey = VALIDATION_NOTE_KEYS[coverage.validationStatus];
54
- // Known codes render as a localized phrase; unknown codes fall back to the
55
- // raw code in parentheses (fail-visible debug clue, never a blank verdict).
56
- let reasonSuffix = null;
57
- if (coverage.reasonCode !== undefined) {
58
- const labelKey = REASON_CODE_LABEL_KEYS.get(coverage.reasonCode);
59
- reasonSuffix = labelKey !== undefined ? ` — ${t(labelKey)}` : ` (${coverage.reasonCode})`;
60
- }
61
- return (_jsxs("div", { "data-testid": "receipt-coverage", children: [_jsxs("div", { className: "flex flex-wrap items-center gap-2", children: [_jsx("span", { className: "font-mono text-[11px] uppercase tracking-[0.08em] text-ink-4", children: t("pages.principles.detail.receipts.coverage.label") }), _jsx("span", { className: `inline-flex items-center border rounded-[2px] px-[7px] py-0.5 font-mono text-[11px] uppercase ${SOURCE_STATUS_PILL_CLASS[coverage.sourceStatus]}`, children: t(SOURCE_STATUS_LABEL_KEYS[coverage.sourceStatus]) })] }), _jsxs("p", { className: "mt-1.5 text-[11px] leading-relaxed text-ink-4", children: [coverage.observedFrom !== null
62
- ? t("pages.principles.detail.receipts.coverage.observedSince", {
63
- date: formatDate(coverage.observedFrom, i18n.language),
64
- })
65
- : t("pages.principles.detail.receipts.coverage.observedSinceEmpty"), " · ", t("pages.principles.detail.receipts.coverage.asOf", { date: formatDate(coverage.asOf, i18n.language) }), " · ", t("pages.principles.detail.receipts.coverage.retention", { days: coverage.retentionPolicyDays })] }), _jsx("p", { className: "mt-1 text-[11px] leading-relaxed text-ink-4", children: t("pages.principles.detail.receipts.coverage.limitation") }), validationNoteKey !== null && (_jsxs("p", { "data-testid": "receipt-coverage-validation", className: "mt-1 text-[11px] leading-relaxed text-amber", children: [t(validationNoteKey), reasonSuffix] }))] }));
66
- }
@@ -1,14 +0,0 @@
1
- import * as React from "react";
2
- type Theme = "light" | "dark";
3
- interface ThemeProviderProps {
4
- children: React.ReactNode;
5
- defaultTheme?: Theme;
6
- storageKey?: string;
7
- }
8
- interface ThemeProviderState {
9
- theme: Theme;
10
- setTheme: (theme: Theme) => void;
11
- }
12
- export declare function ThemeProvider({ children, defaultTheme, storageKey, }: ThemeProviderProps): React.JSX.Element;
13
- export declare function useTheme(): ThemeProviderState;
14
- export {};
@@ -1,40 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import * as React from "react";
3
- const initialState = {
4
- theme: "light",
5
- setTheme: () => { },
6
- };
7
- const ThemeProviderContext = React.createContext(initialState);
8
- export function ThemeProvider({ children, defaultTheme, storageKey = "pd-theme", }) {
9
- const [theme, setThemeState] = React.useState(() => {
10
- if (typeof window !== "undefined") {
11
- const stored = localStorage.getItem(storageKey);
12
- if (stored === "light" || stored === "dark") {
13
- return stored;
14
- }
15
- if (defaultTheme) {
16
- return defaultTheme;
17
- }
18
- return window.matchMedia("(prefers-color-scheme: dark)").matches
19
- ? "dark"
20
- : "light";
21
- }
22
- return defaultTheme ?? "light";
23
- });
24
- React.useEffect(() => {
25
- const root = window.document.documentElement;
26
- root.setAttribute("data-theme", theme);
27
- localStorage.setItem(storageKey, theme);
28
- }, [theme, storageKey]);
29
- const setTheme = (newTheme) => {
30
- setThemeState(newTheme);
31
- };
32
- return (_jsx(ThemeProviderContext.Provider, { value: { theme, setTheme }, children: children }));
33
- }
34
- export function useTheme() {
35
- const context = React.useContext(ThemeProviderContext);
36
- if (context === undefined) {
37
- throw new Error("useTheme must be used within a ThemeProvider");
38
- }
39
- return context;
40
- }
@@ -1,2 +0,0 @@
1
- import * as React from "react";
2
- export declare function ThemeToggle(): React.JSX.Element;
@@ -1,11 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import { Sun, Moon } from "lucide-react";
3
- import { Button } from "./ui/button.js";
4
- import { useTheme } from "./theme-provider.js";
5
- export function ThemeToggle() {
6
- const { theme, setTheme } = useTheme();
7
- const toggleTheme = () => {
8
- setTheme(theme === "dark" ? "light" : "dark");
9
- };
10
- return (_jsx(Button, { variant: "ghost", size: "icon", onClick: toggleTheme, className: "transition-transform duration-300 hover:rotate-180 motion-reduce:transition-none motion-reduce:hover:rotate-0", title: theme === "dark" ? "Switch to light mode" : "Switch to dark mode", "aria-label": theme === "dark" ? "Switch to light mode" : "Switch to dark mode", children: theme === "dark" ? (_jsx(Sun, { className: "h-5 w-5" })) : (_jsx(Moon, { className: "h-5 w-5" })) }));
11
- }
@@ -1,20 +0,0 @@
1
- import * as React from "react";
2
- import * as AlertDialogPrimitive from "@radix-ui/react-alert-dialog";
3
- declare const AlertDialog: React.FC<AlertDialogPrimitive.AlertDialogProps>;
4
- declare const AlertDialogTrigger: React.ForwardRefExoticComponent<AlertDialogPrimitive.AlertDialogTriggerProps & React.RefAttributes<HTMLButtonElement>>;
5
- declare const AlertDialogPortal: React.FC<AlertDialogPrimitive.AlertDialogPortalProps>;
6
- declare const AlertDialogOverlay: React.ForwardRefExoticComponent<Omit<AlertDialogPrimitive.AlertDialogOverlayProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
7
- declare const AlertDialogContent: React.ForwardRefExoticComponent<Omit<AlertDialogPrimitive.AlertDialogContentProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
8
- declare function AlertDialogHeader({ className, ...props }: React.HTMLAttributes<HTMLDivElement>): React.JSX.Element;
9
- declare namespace AlertDialogHeader {
10
- var displayName: string;
11
- }
12
- declare function AlertDialogFooter({ className, ...props }: React.HTMLAttributes<HTMLDivElement>): React.JSX.Element;
13
- declare namespace AlertDialogFooter {
14
- var displayName: string;
15
- }
16
- declare const AlertDialogTitle: React.ForwardRefExoticComponent<Omit<AlertDialogPrimitive.AlertDialogTitleProps & React.RefAttributes<HTMLHeadingElement>, "ref"> & React.RefAttributes<HTMLHeadingElement>>;
17
- declare const AlertDialogDescription: React.ForwardRefExoticComponent<Omit<AlertDialogPrimitive.AlertDialogDescriptionProps & React.RefAttributes<HTMLParagraphElement>, "ref"> & React.RefAttributes<HTMLParagraphElement>>;
18
- declare const AlertDialogAction: React.ForwardRefExoticComponent<Omit<AlertDialogPrimitive.AlertDialogActionProps & React.RefAttributes<HTMLButtonElement>, "ref"> & React.RefAttributes<HTMLButtonElement>>;
19
- declare const AlertDialogCancel: React.ForwardRefExoticComponent<Omit<AlertDialogPrimitive.AlertDialogCancelProps & React.RefAttributes<HTMLButtonElement>, "ref"> & React.RefAttributes<HTMLButtonElement>>;
20
- export { AlertDialog, AlertDialogPortal, AlertDialogOverlay, AlertDialogTrigger, AlertDialogContent, AlertDialogHeader, AlertDialogFooter, AlertDialogTitle, AlertDialogDescription, AlertDialogAction, AlertDialogCancel, };