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
- export declare function PrinciplesPage(): import("react").JSX.Element;
@@ -1,327 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { useState, useEffect, useCallback, useRef } from "react";
3
- import { Link, useSearchParams } from "react-router-dom";
4
- import { useTranslation } from "react-i18next";
5
- import { PageShell } from "../../components/layout/page-shell.js";
6
- import { SectionTitle } from "../../components/layout/section-title.js";
7
- import { Button } from "../../components/ui/button.js";
8
- import { Skeleton } from "../../components/ui/skeleton.js";
9
- import { ShinyText } from "../../components/ui/shiny-text.js";
10
- import { fetchPrinciples, fetchApprovalsGrouped, fetchOwnerDecisionLibrary, } from "../../api.js";
11
- import { enumLabel } from "../../utils/enum-labels.js";
12
- import { splitReadingTitleBody, truncateByCodePoints } from "../../utils/reading-layout.js";
13
- import { formatDate } from "../../utils/format-date.js";
14
- import { PrinciplesViewNav } from "./PrinciplesViewNav.js";
15
- // ── Map principle status to review status ───────────────────────────────────
16
- function toReviewStatus(principleStatus, approvalStatus) {
17
- if (approvalStatus === "approved")
18
- return "approved";
19
- if (approvalStatus === "rejected")
20
- return "rejected";
21
- if (principleStatus === "active")
22
- return "approved";
23
- if (principleStatus === "archived")
24
- return "parked";
25
- if (principleStatus === "deprecated")
26
- return "rejected";
27
- // PRI-629 INV-02: candidate/probation 是生命周期(内化进行中),不是"待你
28
- // 审查"。真实 Owner 决策只在治理焦点 Owner Inbox 呈现。
29
- return "candidate";
30
- }
31
- // ── Status visual mapping ───────────────────────────────────────────────────
32
- const STATUS_BORDER = {
33
- pending: "border-l-gov",
34
- candidate: "border-l-ink-3",
35
- approved: "border-l-green",
36
- rejected: "border-l-danger",
37
- parked: "border-l-ink-3",
38
- };
39
- const STATUS_TEXT = {
40
- pending: "text-gov",
41
- candidate: "text-ink-3",
42
- approved: "text-green",
43
- rejected: "text-danger",
44
- parked: "text-ink-3",
45
- };
46
- const CHANNEL_LABELS = {
47
- prompt: "channelPrompt",
48
- defer_archive: "channelDeferArchive",
49
- code_tool_hook: "channelCodeToolHook",
50
- };
51
- // ── PRI-558: timeline node fill + status-driven copy (theme tokens, dark-mode safe) ──
52
- const STATUS_DOT_BG = {
53
- pending: "bg-gov",
54
- candidate: "bg-ink-3",
55
- approved: "bg-green",
56
- rejected: "bg-danger",
57
- parked: "bg-ink-3",
58
- };
59
- // Governance decision row mirrors the true review status — rejected/parked must
60
- // not read as "awaiting review" (labels reuse the existing status* keys).
61
- const GOV_DECISION = {
62
- approved: { glyph: "✓", labelKey: "principles.govApproved" },
63
- pending: { glyph: "⏳", labelKey: "principles.govPending" },
64
- candidate: { glyph: "○", labelKey: "principles.statusCandidate" },
65
- rejected: { glyph: "✗", labelKey: "principles.statusRejected" },
66
- parked: { glyph: "⏸", labelKey: "principles.statusParked" },
67
- };
68
- const BLOCK_IMPACT_KEY = {
69
- approved: "principles.blockImpactActive",
70
- pending: "principles.blockImpactPending",
71
- candidate: "principles.blockImpactPending",
72
- rejected: "principles.blockImpactRejected",
73
- parked: "principles.blockImpactParked",
74
- };
75
- // Summary metric tile (one of the three numbers in the metrics bar)
76
- function Metric({ num, label }) {
77
- return (_jsxs("div", { className: "flex-1 min-w-[120px] px-4 py-3 border-r border-line last:border-r-0", children: [_jsx("div", { className: "font-mono text-[22px] font-semibold text-gov leading-none", children: num }), _jsx("div", { className: "font-mono text-[11px] uppercase tracking-[0.02em] text-ink-3 mt-1.5", children: label })] }));
78
- }
79
- // Evolution block rendered under each principle card
80
- function EvolutionBlock({ label, children }) {
81
- return (_jsxs("div", { className: "mt-3 pt-3 border-t border-line/60", children: [_jsx("div", { className: "font-mono text-[11px] uppercase tracking-[0.02em] text-ink-4 mb-1", children: label }), _jsx("div", { className: "text-ink-3 text-[13px] leading-relaxed", children: children })] }));
82
- }
83
- // ── Runtime validation helpers (H section) ──────────────────────────────────
84
- function isString(v) {
85
- return typeof v === "string";
86
- }
87
- function isRecord(v) {
88
- return typeof v === "object" && v !== null && !Array.isArray(v);
89
- }
90
- function isStringArray(v) {
91
- return Array.isArray(v) && v.every(isString);
92
- }
93
- function validatePrinciplesData(data) {
94
- if (!isRecord(data))
95
- return null;
96
- if (!Object.hasOwn(data, "principles") || !Array.isArray(data.principles))
97
- return null;
98
- // Validate each principle element has required string fields
99
- for (const item of data.principles) {
100
- if (!isRecord(item))
101
- return null;
102
- if (!Object.hasOwn(item, "id") || !isString(item.id))
103
- return null;
104
- if (!Object.hasOwn(item, "text") || !isString(item.text))
105
- return null;
106
- if (!Object.hasOwn(item, "status") || !isString(item.status))
107
- return null;
108
- if (!Object.hasOwn(item, "updatedAt") || !isString(item.updatedAt))
109
- return null;
110
- if (!Object.hasOwn(item, "createdAt") || !isString(item.createdAt))
111
- return null;
112
- }
113
- return data;
114
- }
115
- function validateApprovalsGrouped(data) {
116
- if (!isRecord(data))
117
- return null;
118
- if (!Object.hasOwn(data, "groups") || !Array.isArray(data.groups))
119
- return null;
120
- // Validate each group element
121
- for (const g of data.groups) {
122
- if (!isRecord(g))
123
- return null;
124
- if (!Object.hasOwn(g, "principleId") || !isString(g.principleId))
125
- return null;
126
- if (!Object.hasOwn(g, "status") || !isString(g.status))
127
- return null;
128
- if (!Object.hasOwn(g, "records") || !Array.isArray(g.records))
129
- return null;
130
- for (const r of g.records) {
131
- if (!isRecord(r))
132
- return null;
133
- if (!Object.hasOwn(r, "id") || !isString(r.id))
134
- return null;
135
- if (!Object.hasOwn(r, "channel") || !isString(r.channel))
136
- return null;
137
- }
138
- }
139
- return data;
140
- }
141
- // ── Component ───────────────────────────────────────────────────────────────
142
- export function PrinciplesPage() {
143
- const { t, i18n } = useTranslation("pages");
144
- const [principles, setPrinciples] = useState([]);
145
- const [approvalGroups, setApprovalGroups] = useState([]);
146
- const [loading, setLoading] = useState(true);
147
- const [error, setError] = useState(null);
148
- // PRI-558: summary powers the metrics bar (already returned by /api/principles)
149
- const [summary, setSummary] = useState(null);
150
- // Search / filter / sort
151
- const [searchParams, setSearchParams] = useSearchParams();
152
- const updateQuery = (key, value) => { const next = new URLSearchParams(searchParams); next.set(key, value); setSearchParams(next, { replace: true, preventScrollReset: true }); };
153
- const search = searchParams.get('q') ?? '';
154
- const setSearch = (value) => updateQuery('q', value);
155
- const statusParam = searchParams.get('status');
156
- const statusFilter = statusParam === 'pending' || statusParam === 'candidate' || statusParam === 'approved' || statusParam === 'rejected' || statusParam === 'parked' ? statusParam : 'all';
157
- const setStatusFilter = (value) => updateQuery('status', value);
158
- const sortBy = searchParams.get('sort') === 'createdAt' ? 'createdAt' : 'updatedAt';
159
- const setSortBy = (value) => updateQuery('sort', value);
160
- // PRI-629 (INV-02): 默认展示全部 — candidate 是生命周期而非待办,
161
- // "只看待决策"不再作为默认视图 (真实决策在治理焦点)。
162
- const filterMode = searchParams.get('mode') === 'actionable' ? 'actionable' : 'all';
163
- const setFilterMode = (value) => updateQuery('mode', value);
164
- const [categories, setCategories] = useState();
165
- // Owner Decision Experience v1: backend semantic titles + decision states
166
- // (display-only — the page never re-derives decision qualification).
167
- const [ownerDecisionLibrary, setOwnerDecisionLibrary] = useState(null);
168
- // PRI-956 (F15, D3): runtime status cannot be confirmed when set
169
- const [revocationUnavailable, setRevocationUnavailable] = useState(null);
170
- const requestEpoch = useRef(0);
171
- // Fetch data
172
- const loadData = useCallback(async () => {
173
- const epoch = ++requestEpoch.current;
174
- setLoading(true);
175
- setError(null);
176
- try {
177
- const [pResult, aResult, dResult] = await Promise.all([
178
- fetchPrinciples(filterMode),
179
- fetchApprovalsGrouped(),
180
- fetchOwnerDecisionLibrary(),
181
- ]);
182
- if (epoch !== requestEpoch.current)
183
- return;
184
- setOwnerDecisionLibrary(dResult.success && dResult.data ? dResult.data : null);
185
- if (!pResult.success) {
186
- setError(pResult.error ?? "Failed to load principles");
187
- return;
188
- }
189
- const pData = validatePrinciplesData(pResult.data);
190
- if (!pData) {
191
- setError("Invalid principles data received");
192
- return;
193
- }
194
- setPrinciples(pData.principles);
195
- // PRI-330: Store categories for UI display
196
- setCategories(pData.categories);
197
- // PRI-558: expose summary for the metrics bar
198
- setSummary(pData.summary);
199
- // PRI-956 (F15, D3): propagate revocation check unavailability
200
- setRevocationUnavailable(pData.revocationCheckUnavailable ?? null);
201
- const aData = aResult.success ? validateApprovalsGrouped(aResult.data) : null;
202
- setApprovalGroups(aData?.groups ?? []);
203
- }
204
- catch (err) {
205
- if (epoch !== requestEpoch.current)
206
- return;
207
- setError(err instanceof Error ? err.message : "Unknown error");
208
- }
209
- finally {
210
- if (epoch === requestEpoch.current)
211
- setLoading(false);
212
- }
213
- }, [filterMode]);
214
- useEffect(() => {
215
- void loadData();
216
- return () => { requestEpoch.current++; };
217
- }, [loadData]);
218
- // Build approval lookup
219
- const approvalByPrinciple = new Map();
220
- for (const g of approvalGroups) {
221
- approvalByPrinciple.set(g.principleId, g);
222
- }
223
- // Merge principle + approval data into cards
224
- const cards = principles.map((p) => {
225
- const ag = approvalByPrinciple.get(p.id);
226
- const channels = ag
227
- ? ag.records.map((r) => r.channel).filter(isString)
228
- : ["prompt"];
229
- const uniqueChannels = [...new Set(channels)];
230
- // Owner Decision Experience v1 (SPEC §10/§11.2): the card title comes
231
- // from the backend Semantic Selector; when no readable principle exists
232
- // the card shows a NEUTRAL placeholder — the technical trigger/original
233
- // text stays reachable in the collapsed details below (never the title).
234
- const decision = ownerDecisionLibrary?.entries[p.id];
235
- const semanticTitle = decision?.learnedPrinciple.status === 'known' ? decision.learnedPrinciple.text : undefined;
236
- // PRI-332: Determine display title with bounded fallback for unreadable titles
237
- const rawTitle = p.triggerPattern || truncateByCodePoints(p.text, 80);
238
- const detectedLang = p.detectedLanguage ?? 'unknown';
239
- const readWarningCode = p.readabilityWarningCode;
240
- let displayTitle = rawTitle;
241
- let usedFallback = false;
242
- if (semanticTitle !== undefined) {
243
- displayTitle = semanticTitle;
244
- usedFallback = rawTitle !== semanticTitle;
245
- }
246
- else if (readWarningCode || decision !== undefined) {
247
- // No qualified semantic text: neutral placeholder instead of a
248
- // technical trigger as the Owner-facing title.
249
- displayTitle = t("principles.readabilityFallbackTitle");
250
- usedFallback = true;
251
- }
252
- return {
253
- principleId: p.id,
254
- title: splitReadingTitleBody(displayTitle).title,
255
- searchText: semanticTitle ?? rawTitle,
256
- originalTitle: rawTitle,
257
- titleUsedFallback: usedFallback,
258
- text: p.text,
259
- action: p.action,
260
- status: toReviewStatus(p.status, ag?.status),
261
- channels: uniqueChannels,
262
- evaluability: p.evaluability,
263
- decisionState: decision?.decisionState,
264
- runtimeDeactivated: p.runtimeDeactivated === true,
265
- updatedAt: p.updatedAt,
266
- createdAt: p.createdAt,
267
- priority: p.priority,
268
- detectedLanguage: detectedLang,
269
- readabilityWarningCode: readWarningCode,
270
- };
271
- });
272
- // Filter + sort
273
- const filtered = cards
274
- .filter((c) => {
275
- if (statusFilter !== "all" && c.status !== statusFilter)
276
- return false;
277
- if (search) {
278
- const q = search.toLowerCase();
279
- if (!c.text.toLowerCase().includes(q) && !c.title.toLowerCase().includes(q) && !c.searchText.toLowerCase().includes(q))
280
- return false;
281
- }
282
- return true;
283
- })
284
- .sort((a, b) => {
285
- const key = sortBy === "updatedAt" ? "updatedAt" : "createdAt";
286
- return new Date(b[key]).getTime() - new Date(a[key]).getTime();
287
- });
288
- const statusFilters = [
289
- { value: "all", label: t("principles.allStatuses") },
290
- { value: "pending", label: t("principles.statusPending") },
291
- { value: "approved", label: t("principles.statusApproved") },
292
- { value: "rejected", label: t("principles.statusRejected") },
293
- { value: "parked", label: t("principles.statusParked") },
294
- ];
295
- // PRI-558: most recent update across loaded principles (drives "Last Updated" metric)
296
- const latestUpdatedAt = principles.reduce((max, p) => (new Date(p.updatedAt).getTime() > new Date(max).getTime() ? p.updatedAt : max), principles[0]?.updatedAt ?? "");
297
- return (_jsxs(PageShell, { children: [revocationUnavailable && (_jsx("div", { className: "mb-4 p-3 bg-amber-50 border border-amber-300 rounded-[var(--radius-md)] text-sm text-amber-800", children: t("principles.revocationStatusUnknown") })), _jsx(SectionTitle, { children: t("principles.reviewTitle") }), _jsx(ShinyText, { as: "h1", className: "text-[29px] font-semibold tracking-tight text-ink mb-2", duration: 4.5, brightness: 0.5, disabled: !(filterMode === 'actionable' && (categories?.owner_actionable ?? 0) > 0), children: t("principles.reviewSubtitle") }), _jsx("p", { className: "text-ink-3 text-[14px] leading-relaxed mb-6", children: t("principles.reviewDescription") }), _jsx(PrinciplesViewNav, { view: "workspace" }), _jsxs("div", { className: "flex flex-wrap items-center gap-3 mb-6", children: [_jsxs("div", { className: "flex gap-1", role: "group", "aria-label": "Filter mode", children: [_jsxs("button", { onClick: () => setFilterMode('actionable'), className: "font-mono text-[11px] uppercase tracking-[0.02em] border rounded-[2px] px-2 py-1 transition-colors focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-gov " +
298
- (filterMode === 'actionable'
299
- ? "bg-gov text-paper border-gov"
300
- : "bg-surface text-ink-3 border-line hover:border-line-2"), children: [t("principles.filterActionable", { defaultValue: "Actionable" }), categories?.owner_actionable ? ` (${categories.owner_actionable})` : ''] }), _jsxs("button", { onClick: () => setFilterMode('all'), className: "font-mono text-[11px] uppercase tracking-[0.02em] border rounded-[2px] px-2 py-1 transition-colors focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-gov " +
301
- (filterMode === 'all'
302
- ? "bg-gov text-paper border-gov"
303
- : "bg-surface text-ink-3 border-line hover:border-line-2"), children: [t("principles.filterAll", { defaultValue: "Show All" }), categories ? ` (${Object.values(categories).reduce((a, b) => a + b, 0)})` : ''] })] }), _jsx("input", { type: "text", value: search, onChange: (e) => setSearch(e.target.value), placeholder: t("principles.searchPlaceholder"), className: "flex-1 min-w-[200px] border border-line rounded-[var(--radius-md)] bg-surface text-ink px-3 py-2 text-[13px] focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-gov", "aria-label": t("principles.searchPlaceholder") }), _jsx("div", { className: "flex gap-1", role: "group", "aria-label": "Status filter", children: statusFilters.map((sf) => (_jsx("button", { onClick: () => setStatusFilter(sf.value), className: "font-mono text-[11px] uppercase tracking-[0.02em] border rounded-[2px] px-2 py-1 transition-colors focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-gov " +
304
- (statusFilter === sf.value
305
- ? "bg-gov text-paper border-gov"
306
- : "bg-surface text-ink-3 border-line hover:border-line-2"), children: sf.label }, sf.value))) }), _jsxs("select", { value: sortBy, onChange: (e) => setSortBy(e.target.value), className: "border border-line rounded-[var(--radius-md)] bg-surface text-ink-3 px-2 py-1 text-[12px] font-mono focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-gov", "aria-label": "Sort order", children: [_jsx("option", { value: "updatedAt", children: t("principles.sortByUpdated") }), _jsx("option", { value: "createdAt", children: t("principles.sortByCreated") })] })] }), !loading && !error && summary && (_jsxs("details", { className: "mb-6 text-[12px] text-ink-3", "data-testid": "principle-library-overview", children: [_jsx("summary", { className: "cursor-pointer text-gov", children: t('principles.libraryOverview') }), _jsxs("div", { className: "mt-3 flex flex-wrap border border-line rounded-[var(--radius-md)] bg-panel overflow-hidden", children: [_jsx(Metric, { num: String(summary.total), label: t("principles.metricDeposited") }), _jsx(Metric, { num: String(summary.active), label: t("principles.metricActive") }), _jsx(Metric, { num: latestUpdatedAt ? formatDate(latestUpdatedAt, i18n.language) : "—", label: t("principles.metricLatest") })] })] })), loading && (_jsx("div", { className: "grid gap-3 animate-[pdFadeIn_200ms_ease-out]", role: "status", "aria-live": "polite", "aria-label": t("principles.loading", { defaultValue: "Loading…" }), children: Array.from({ length: 4 }).map((_, i) => (_jsxs("div", { className: "bg-panel border border-line rounded-[var(--radius-md)] p-4 border-l-[3px] border-l-transparent", children: [_jsxs("div", { className: "flex items-start justify-between gap-3 mb-3", children: [_jsx(Skeleton, { className: "h-5 w-[55%] rounded-sm" }), _jsx(Skeleton, { className: "h-5 w-16 rounded-[2px]" })] }), _jsx(Skeleton, { className: "h-4 w-full rounded-sm mb-2" }), _jsx(Skeleton, { className: "h-4 w-[80%] rounded-sm mb-4" }), _jsxs("div", { className: "flex items-center gap-2", children: [_jsx(Skeleton, { className: "h-3.5 w-20 rounded-sm" }), _jsx(Skeleton, { className: "h-3.5 w-24 rounded-sm" })] })] }, i))) })), error && (_jsxs("div", { className: "border border-danger/30 rounded-[var(--radius-md)] p-4 mb-4", children: [_jsx("p", { className: "text-danger text-sm", children: error }), _jsx(Button, { variant: "outline", size: "sm", onClick: loadData, className: "mt-2", children: t("principles.retry", { defaultValue: "Retry" }) })] })), !loading && !error && filtered.length === 0 && principles.length === 0 && (_jsxs("div", { className: "text-center py-12", children: [_jsx("h2", { className: "text-ink-2 text-lg font-semibold mb-2", children: t("principles.emptyTitle") }), _jsx("p", { className: "text-ink-3 text-[14px] max-w-[480px] mx-auto leading-relaxed", children: filterMode === 'actionable'
307
- ? t("principles.emptyActionable", { defaultValue: "No owner-actionable principles at this time. When PD captures behavior deviation signals, principle candidates will appear here for your review." })
308
- : t("principles.emptyDescription") }), categories && filterMode === 'actionable' && (_jsx("div", { className: "flex justify-center gap-2 flex-wrap mt-4", children: Object.entries(categories).map(([cat, count]) => (_jsxs("span", { className: "font-mono text-[11px] uppercase tracking-[0.02em] border border-line rounded-[2px] px-2 py-0.5 text-ink-4", children: [cat, ": ", count] }, cat))) }))] })), !loading && !error && filtered.length === 0 && principles.length > 0 && (_jsx("p", { className: "text-ink-3 text-sm", children: t("principles.noResults") })), !loading && !error && filtered.length > 0 && (_jsxs("div", { className: "relative pl-6 grid gap-3 animate-[pdFadeIn_400ms_ease-out]", children: [_jsx("span", { className: "absolute left-[12.5px] top-3 bottom-3 w-px bg-line", "aria-hidden": "true" }), filtered.map((card) => {
309
- const ag = approvalByPrinciple.get(card.principleId);
310
- const decision = GOV_DECISION[card.status];
311
- const decisionRecord = ag?.records?.find((r) => r.status === ag.status) ?? ag?.records?.[0];
312
- const decisionDate = decisionRecord?.createdAt;
313
- return (_jsxs("article", { className: "relative bg-panel border border-line rounded-[var(--radius-md)] p-5 " +
314
- "border-l-[3px] " +
315
- STATUS_BORDER[card.status] + " " +
316
- "transition-[border-color,background,transform] duration-150 " +
317
- "hover:border-line-2 " +
318
- "focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-gov", children: [_jsx("span", { className: "absolute -left-[19px] top-4 h-2.5 w-2.5 rounded-full border-2 border-paper " +
319
- STATUS_DOT_BG[card.status], "aria-hidden": "true" }), _jsxs("div", { className: "mb-2 flex flex-wrap items-start justify-between gap-3", children: [_jsx("h3", { className: "min-w-0 flex-1 text-[15px] font-semibold leading-relaxed text-ink", children: _jsx(Link, { className: "rounded-sm hover:text-gov focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-gov", to: `/principles/${card.principleId}`, state: { returnTo: `/principles?${searchParams}` }, children: card.title }) }), _jsx("span", { className: `rounded-[2px] border px-2 py-1 text-[11px] ${STATUS_TEXT[card.status]}`, children: card.decisionState !== undefined ? t(`principles.ownerDecision.state.${card.decisionState}`, { defaultValue: card.decisionState }) : t(decision.labelKey) })] }), card.readabilityWarningCode && (_jsx("div", { className: "mb-2 px-3 py-1.5 bg-amber/5 border border-amber/20 rounded-[3px] text-ink-3 text-[12px] leading-snug", children: t("principles.readabilityWarning." + card.readabilityWarningCode, { defaultValue: t("principles.readabilityFallbackTitle") }) })), card.text.trim() !== card.title.trim() && _jsx("p", { className: "text-ink-3 text-[13px] line-clamp-2 leading-relaxed", children: card.text }), card.runtimeDeactivated === true && _jsx("p", { className: "mt-3 text-[12px] text-amber", role: "status", children: t('principles.runtimeDeactivated') }), _jsxs("details", { className: "mt-4 border-t border-line/60 pt-3", "data-testid": "principle-context-disclosure", children: [_jsx("summary", { className: "cursor-pointer text-[12px] text-gov", children: t('principles.contextDisclosure') }), _jsxs("div", { className: "mt-4 space-y-3", children: [_jsxs("div", { className: "flex items-center gap-2 mb-2 flex-wrap", children: [_jsx("span", { className: "font-mono text-[11px] uppercase tracking-[0.02em] border rounded-[2px] px-2 py-0.5 " +
320
- STATUS_TEXT[card.status] +
321
- " border-current/20", children: t("principles.status" + card.status.charAt(0).toUpperCase() + card.status.slice(1)) }), card.channels.map((ch) => (_jsx("span", { className: "font-mono text-[11px] uppercase tracking-[0.02em] border border-line rounded-[2px] px-2 py-0.5 text-ink-3", children: enumLabel('channel', ch, t) }, ch))), card.detectedLanguage && card.detectedLanguage !== 'unknown' && (_jsx("span", { className: "font-mono text-[11px] tracking-[0.02em] border border-line rounded-[2px] px-2 py-0.5 text-ink-4", children: card.detectedLanguage === 'zh'
322
- ? t("principles.languageHintZh")
323
- : t("principles.languageHintEn") })), _jsxs("span", { className: "font-mono text-[11px] text-ink-4", children: [t("principles.evaluabilityLabel", { defaultValue: "可评价性" }), ": ", enumLabel('evaluability', card.evaluability, t)] }), card.decisionState !== undefined && (_jsx("span", { className: "font-mono text-[11px] tracking-[0.02em] border border-line rounded-[2px] px-2 py-0.5 text-ink-4", children: t(`principles.ownerDecision.state.${card.decisionState}`, { defaultValue: card.decisionState }) }))] }), card.detectedLanguage && card.detectedLanguage !== 'unknown' && i18n.language && !i18n.language.startsWith(card.detectedLanguage) && (_jsx("div", { className: "mb-2 px-3 py-1.5 bg-surface/60 border-l-2 border-line rounded-[3px] text-ink-4 text-[12px] leading-snug", children: t("principles.languageMismatchHint", { lang: card.detectedLanguage === 'en' ? 'English' : '中文' }) })), card.titleUsedFallback && card.originalTitle && (_jsxs("details", { className: "mb-1", children: [_jsx("summary", { className: "text-ink-4 text-[11px] font-mono cursor-pointer hover:underline", children: t("principles.readabilityOriginalLabel") }), _jsx("div", { className: "text-ink-4 text-[12px] leading-snug mt-1 font-mono bg-surface/40 px-2 py-1 rounded-[3px] break-all", children: card.originalTitle })] })), _jsxs("p", { className: "font-mono text-[11px] text-ink-4 mt-2", children: [t("principles.updatedAt"), ": ", formatDate(card.updatedAt, i18n.language)] }), _jsx(EvolutionBlock, { label: t("principles.blockBasis"), children: t("principles.blockBasisFallback") }), _jsx(EvolutionBlock, { label: t("principles.blockImpact"), children: card.decisionState !== undefined
324
- ? t("principles.blockImpactSeeDecisionView", { defaultValue: "以详情页「当前实际执行」为准(本卡片不据此判断影响)。" })
325
- : t(BLOCK_IMPACT_KEY[card.status]) }), _jsx(EvolutionBlock, { label: t("principles.blockBehavior"), children: card.action ? card.action : t("principles.blockBehaviorFallback") }), decisionDate && _jsxs("p", { className: "text-[11px] text-ink-4", children: [t('principles.govDecision'), ": ", formatDate(decisionDate, i18n.language)] })] })] }), _jsx(Link, { className: "mt-3 inline-block text-[12px] text-gov underline underline-offset-4", to: `/principles/${card.principleId}`, state: { returnTo: `/principles?${searchParams}` }, children: t('principles.openDetails') })] }, card.principleId));
326
- })] }))] }));
327
- }
@@ -1,8 +0,0 @@
1
- /**
2
- * PRI-641: internal navigation inside the Principles section — Workspace
3
- * Principles vs the read-only PD Core Principles reference surface. The
4
- * sidebar keeps a single "Principles" entry; this is the only extra nav.
5
- */
6
- export declare function PrinciplesViewNav({ view }: {
7
- view: "workspace" | "core";
8
- }): import("react").JSX.Element;
@@ -1,15 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { Link } from "react-router-dom";
3
- import { useTranslation } from "react-i18next";
4
- /**
5
- * PRI-641: internal navigation inside the Principles section — Workspace
6
- * Principles vs the read-only PD Core Principles reference surface. The
7
- * sidebar keeps a single "Principles" entry; this is the only extra nav.
8
- */
9
- export function PrinciplesViewNav({ view }) {
10
- const { t } = useTranslation("pages");
11
- const base = "font-mono text-[11px] uppercase tracking-[0.02em] border rounded-[2px] px-2 py-1 transition-colors focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-gov ";
12
- const active = "bg-gov text-paper border-gov";
13
- const inactive = "bg-surface text-ink-3 border-line hover:border-line-2";
14
- return (_jsxs("div", { className: "flex gap-1 mb-6", role: "group", "aria-label": t("principles.viewNavLabel"), children: [_jsx(Link, { to: "/principles", className: base + (view === "workspace" ? active : inactive), "aria-current": view === "workspace" ? "page" : undefined, children: t("principles.tabWorkspace") }), _jsx(Link, { to: "/principles/core", className: base + (view === "core" ? active : inactive), "aria-current": view === "core" ? "page" : undefined, children: t("principles.tabCore") })] }));
15
- }
@@ -1 +0,0 @@
1
- export declare function ReportProblemPage(): import("react").JSX.Element;