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,77 +0,0 @@
1
- /**
2
- * Onboarding state persistence with workspaceId dimension.
3
- * Prevents cross-workspace state leakage (spec §6.3 改动 1).
4
- * localStorage is the single source of truth (no cross-device sync — YAGNI).
5
- */
6
- const DEFAULT_STATE = {
7
- completed: false,
8
- step: 0,
9
- status: 'pending',
10
- };
11
- export const ONBOARDING_STORAGE_KEY_PREFIX = 'pd_onboarding';
12
- function storageKey(workspaceId) {
13
- return `${ONBOARDING_STORAGE_KEY_PREFIX}_${workspaceId}`;
14
- }
15
- /**
16
- * Type guard for OnboardingState (rc-2: no `as` bypass).
17
- */
18
- function isOnboardingState(value) {
19
- if (typeof value !== 'object' || value === null)
20
- return false;
21
- const completed = Object.hasOwn(value, 'completed') ? Reflect.get(value, 'completed') : undefined;
22
- const step = Object.hasOwn(value, 'step') ? Reflect.get(value, 'step') : undefined;
23
- const status = Object.hasOwn(value, 'status') ? Reflect.get(value, 'status') : undefined;
24
- const completedAt = Object.hasOwn(value, 'completedAt') ? Reflect.get(value, 'completedAt') : undefined;
25
- return (typeof completed === 'boolean' &&
26
- typeof step === 'number' &&
27
- (status === 'pending' || status === 'demo' || status === 'skipped' || status === 'evidence_found') &&
28
- (!Object.hasOwn(value, 'completedAt') || typeof completedAt === 'string'));
29
- }
30
- /**
31
- * Get onboarding state for a specific workspace.
32
- * Treats localStorage data as unknown (rc-1) — validates shape before use.
33
- */
34
- export function getOnboardingState(workspaceId) {
35
- try {
36
- const raw = localStorage.getItem(storageKey(workspaceId));
37
- if (!raw)
38
- return DEFAULT_STATE;
39
- // rc-1: treat parsed JSON as unknown, validate shape
40
- const parsed = JSON.parse(raw);
41
- if (!isOnboardingState(parsed))
42
- return DEFAULT_STATE;
43
- return parsed;
44
- }
45
- catch (err) {
46
- // rc-9: surface the failure — don't silently swallow.
47
- console.error('[onboarding-state] Failed to read onboarding state:', err);
48
- return DEFAULT_STATE;
49
- }
50
- }
51
- /**
52
- * Set onboarding state for a specific workspace.
53
- */
54
- export function setOnboardingState(workspaceId, state) {
55
- try {
56
- localStorage.setItem(storageKey(workspaceId), JSON.stringify(state));
57
- return true;
58
- }
59
- catch (err) {
60
- // rc-9: surface the failure — don't silently swallow.
61
- console.error('[onboarding-state] Failed to save onboarding state:', err);
62
- return false;
63
- }
64
- }
65
- /**
66
- * Reset onboarding state for a specific workspace (Settings page "reset" button).
67
- */
68
- export function resetOnboardingState(workspaceId) {
69
- try {
70
- localStorage.removeItem(storageKey(workspaceId));
71
- return true;
72
- }
73
- catch (err) {
74
- console.error('[onboarding-state] Failed to reset onboarding state:', err);
75
- return false;
76
- }
77
- }
@@ -1,20 +0,0 @@
1
- /**
2
- * SPEC-PD-CONSOLE-READABILITY-002 切片 1 — 阅读分层(R2/R3/R7)。
3
- *
4
- * 长规则正文曾被整段当作加粗标题渲染(Focus 卡标题、原则详情 h1)。这里把
5
- * 「候选描述/原则正文」拆成短标题预览 + 逐字全文两层:
6
- * - 短单行文本:只作标题,不产生正文(R7:同一卡片正文只出现一次);
7
- * - 长文本/多行文本:标题取首个非空行的截断预览(截断只作预览),正文承载
8
- * 完整原文(逐字保留换行/空行/编号/特殊字符,由容器 whitespace-pre-wrap
9
- * 渲染)。
10
- *
11
- * 这是纯展示拆分:不解析、不改写、不截断存储值——body 永远是原文。
12
- */
13
- export interface ReadingLayout {
14
- /** 短标题(预览)。空串表示没有可用文本,由调用方落到本地化占位。 */
15
- title: string;
16
- /** 逐字全文。null 表示原文即短标题、已由 title 完整承载(不重复渲染)。 */
17
- body: string | null;
18
- }
19
- export declare function truncateByCodePoints(text: string, max: number): string;
20
- export declare function splitReadingTitleBody(text: string | null | undefined): ReadingLayout;
@@ -1,46 +0,0 @@
1
- /**
2
- * SPEC-PD-CONSOLE-READABILITY-002 切片 1 — 阅读分层(R2/R3/R7)。
3
- *
4
- * 长规则正文曾被整段当作加粗标题渲染(Focus 卡标题、原则详情 h1)。这里把
5
- * 「候选描述/原则正文」拆成短标题预览 + 逐字全文两层:
6
- * - 短单行文本:只作标题,不产生正文(R7:同一卡片正文只出现一次);
7
- * - 长文本/多行文本:标题取首个非空行的截断预览(截断只作预览),正文承载
8
- * 完整原文(逐字保留换行/空行/编号/特殊字符,由容器 whitespace-pre-wrap
9
- * 渲染)。
10
- *
11
- * 这是纯展示拆分:不解析、不改写、不截断存储值——body 永远是原文。
12
- */
13
- /** 单行短文本直接作标题的码点上限(约一条短句)。 */
14
- const SINGLE_LINE_TITLE_MAX = 48;
15
- /** 长文本标题预览的码点上限(预览不是全文替代品,保持一行可扫读)。 */
16
- const TITLE_PREVIEW_MAX = 24;
17
- function firstNonEmptyLine(text) {
18
- for (const line of text.split("\n")) {
19
- const trimmed = line.trim();
20
- if (trimmed.length > 0)
21
- return trimmed;
22
- }
23
- return "";
24
- }
25
- export function truncateByCodePoints(text, max) {
26
- const chars = Array.from(text);
27
- if (chars.length <= max)
28
- return text;
29
- return `${chars.slice(0, max).join("")}…`;
30
- }
31
- export function splitReadingTitleBody(text) {
32
- if (typeof text !== "string")
33
- return { title: "", body: null };
34
- const trimmed = text.trim();
35
- if (trimmed.length === 0)
36
- return { title: "", body: null };
37
- const hasNewline = trimmed.includes("\n");
38
- const codePoints = Array.from(trimmed).length;
39
- if (!hasNewline && codePoints <= SINGLE_LINE_TITLE_MAX) {
40
- return { title: trimmed, body: null };
41
- }
42
- return {
43
- title: truncateByCodePoints(firstNonEmptyLine(trimmed), TITLE_PREVIEW_MAX),
44
- body: text,
45
- };
46
- }
@@ -1,13 +0,0 @@
1
- import type { RuleBindingReviewView, RuleBindingQueueView } from '../../shared/rule-candidate-binding-contract.js';
2
- export declare function validateBindingQueue(value: unknown): RuleBindingQueueView | null;
3
- export declare function validateBindingReview(value: unknown): RuleBindingReviewView | null;
4
- export declare function validateBindingMutation(value: unknown): {
5
- status: string;
6
- revisionStatus?: string;
7
- nextAction?: string;
8
- } | null;
9
- export declare function validateBindingRevise(value: unknown): {
10
- status: string;
11
- reason?: string;
12
- nextAction?: string;
13
- } | null;
@@ -1,188 +0,0 @@
1
- function record(value) { return typeof value === 'object' && value !== null && !Array.isArray(value); }
2
- function integer(value) { return typeof value === 'number' && Number.isSafeInteger(value) && value >= 0; }
3
- function stringOrNull(value) { return value === null || typeof value === 'string'; }
4
- function validatePainSource(value) {
5
- if (!record(value) || typeof value.painId !== 'string' || !stringOrNull(value.text)
6
- || typeof value.source !== 'string' || !stringOrNull(value.createdAt))
7
- return null;
8
- return { painId: value.painId, text: value.text, source: value.source, createdAt: value.createdAt };
9
- }
10
- const GENERATION_STAGES = ['not_built', 'in_progress', 'blocked', 'advanced', 'ambiguous'];
11
- function isGenerationStage(value) {
12
- return typeof value === 'string' && GENERATION_STAGES.includes(value);
13
- }
14
- /** null = legitimately absent (unlinked row); 'invalid' = malformed row. */
15
- function validateGeneration(value) {
16
- if (value === null)
17
- return null;
18
- if (!record(value) || !isGenerationStage(value.stage) || !stringOrNull(value.stageKind)
19
- || !stringOrNull(value.reasonCode) || !stringOrNull(value.detail))
20
- return 'invalid';
21
- // A blocked generation names the stage it stopped at; reasonCode may be
22
- // null for legacy tasks without humanReviewContext.
23
- return { stage: value.stage, stageKind: value.stageKind, reasonCode: value.reasonCode, detail: value.detail };
24
- }
25
- function validateResume(value) {
26
- if (value === null)
27
- return null;
28
- if (!record(value) || (value.status !== 'ready' && value.status !== 'refused')
29
- || !stringOrNull(value.reason) || !stringOrNull(value.scribeTaskId)
30
- || !(value.taskRevisionEpoch === null || integer(value.taskRevisionEpoch)))
31
- return 'invalid';
32
- return { status: value.status, reason: value.reason, scribeTaskId: value.scribeTaskId, taskRevisionEpoch: value.taskRevisionEpoch };
33
- }
34
- /** PRI-1048 R6 #4: source-correct-once eligibility preview (null = not applicable). */
35
- function validateSourceCorrection(value) {
36
- if (value === null)
37
- return null;
38
- if (!record(value) || (value.status !== 'ready' && value.status !== 'unavailable')
39
- || !stringOrNull(value.reason) || !stringOrNull(value.scribeTaskId)
40
- || !stringOrNull(value.artificerTaskId) || !stringOrNull(value.scribeArtifactDigest)
41
- || !(value.expectedBindingRevision === null || integer(value.expectedBindingRevision)))
42
- return 'invalid';
43
- // ready MUST carry the full CAS input set — a half-filled preview would render
44
- // a CTA that can never fire.
45
- if (value.status === 'ready' && (value.scribeTaskId === null || value.artificerTaskId === null
46
- || value.scribeArtifactDigest === null || value.expectedBindingRevision === null))
47
- return 'invalid';
48
- return {
49
- status: value.status, reason: value.reason, scribeTaskId: value.scribeTaskId,
50
- artificerTaskId: value.artificerTaskId, scribeArtifactDigest: value.scribeArtifactDigest,
51
- expectedBindingRevision: value.expectedBindingRevision,
52
- };
53
- }
54
- function validateBinding(value) {
55
- if (!record(value))
56
- return null;
57
- if (value.status === 'unlinked')
58
- return { status: 'unlinked' };
59
- if (value.status === 'binding_revoked')
60
- return { status: 'binding_revoked' };
61
- if (value.status === 'attention' && typeof value.reason === 'string')
62
- return { status: 'attention', reason: value.reason };
63
- if (value.status === 'bound' && record(value.principle) && typeof value.principle.principleId === 'string'
64
- && typeof value.principle.text === 'string' && typeof value.principle.status === 'string'
65
- && integer(value.principle.version) && integer(value.principle.revision) && typeof value.principle.decidedAt === 'string') {
66
- const principle = {
67
- principleId: value.principle.principleId, text: value.principle.text, status: value.principle.status,
68
- version: value.principle.version, revision: value.principle.revision, decidedAt: value.principle.decidedAt,
69
- };
70
- return { status: 'bound', principle };
71
- }
72
- return null;
73
- }
74
- export function validateBindingQueue(value) {
75
- if (!record(value) || !Array.isArray(value.items) || typeof value.truncated !== 'boolean'
76
- || !record(value.summary) || !integer(value.summary.painGroups) || !integer(value.summary.candidates)
77
- || !integer(value.summary.bound) || !integer(value.summary.unlinked) || !integer(value.summary.blocked))
78
- return null;
79
- const items = [];
80
- const seen = new Set();
81
- for (const item of value.items) {
82
- if (!record(item) || typeof item.candidateId !== 'string' || typeof item.text !== 'string'
83
- || typeof item.diagnosisStatus !== 'string')
84
- return null;
85
- // The queue contract is one entry per canonical candidate (PRI-1048);
86
- // a duplicated id means the response itself is malformed.
87
- if (seen.has(item.candidateId))
88
- return null;
89
- seen.add(item.candidateId);
90
- const pain = validatePainSource(item.pain);
91
- const binding = validateBinding(item.binding);
92
- // Nullable projection fields must still be PRESENT keys (rc-3): an absent
93
- // generation/resume is a malformed row, not an unlinked row.
94
- const generation = validateGeneration(item.generation);
95
- const resume = validateResume(item.resume);
96
- const sourceCorrection = validateSourceCorrection(item.sourceCorrection);
97
- if (!pain || !binding || generation === 'invalid' || resume === 'invalid' || sourceCorrection === 'invalid'
98
- || !Object.hasOwn(item, 'generation') || !Object.hasOwn(item, 'resume') || !Object.hasOwn(item, 'sourceCorrection'))
99
- return null;
100
- items.push({
101
- candidateId: item.candidateId, text: item.text, pain,
102
- diagnosisStatus: item.diagnosisStatus, binding,
103
- generation,
104
- resume,
105
- sourceCorrection,
106
- });
107
- }
108
- return {
109
- items,
110
- summary: {
111
- painGroups: value.summary.painGroups, candidates: value.summary.candidates,
112
- bound: value.summary.bound, unlinked: value.summary.unlinked, blocked: value.summary.blocked,
113
- },
114
- truncated: value.truncated,
115
- };
116
- }
117
- export function validateBindingReview(value) {
118
- if (!record(value) || typeof value.candidateId !== 'string' || typeof value.candidateText !== 'string'
119
- || typeof value.evidence !== 'string' || typeof value.candidateDigest !== 'string' || !integer(value.currentRevision)
120
- || typeof value.resumeNotice !== 'string' || !Array.isArray(value.eligibleTargets) || value.eligibleTargets.length > 20)
121
- return null;
122
- const sourcePain = validatePainSource(value.sourcePain);
123
- if (!sourcePain)
124
- return null;
125
- let currentBinding = null;
126
- if (value.currentBinding !== null) {
127
- const b = value.currentBinding;
128
- if (!record(b) || (b.action !== 'bind' && b.action !== 'revoke') || typeof b.principleId !== 'string' || typeof b.reason !== 'string' || !integer(b.revision))
129
- return null;
130
- currentBinding = { action: b.action, principleId: b.principleId, reason: b.reason, revision: b.revision };
131
- }
132
- let boundPrinciple = null;
133
- if (value.boundPrinciple !== null) {
134
- if (!record(value.boundPrinciple) || typeof value.boundPrinciple.principleId !== 'string'
135
- || typeof value.boundPrinciple.text !== 'string' || typeof value.boundPrinciple.status !== 'string'
136
- || !integer(value.boundPrinciple.version) || !integer(value.boundPrinciple.revision)
137
- || typeof value.boundPrinciple.decidedAt !== 'string')
138
- return null;
139
- boundPrinciple = {
140
- principleId: value.boundPrinciple.principleId, text: value.boundPrinciple.text,
141
- status: value.boundPrinciple.status, version: value.boundPrinciple.version,
142
- revision: value.boundPrinciple.revision, decidedAt: value.boundPrinciple.decidedAt,
143
- };
144
- }
145
- const eligibleTargets = [];
146
- for (const p of value.eligibleTargets) {
147
- if (!record(p) || typeof p.principleId !== 'string' || typeof p.text !== 'string' || typeof p.status !== 'string' || !integer(p.version) || typeof p.digest !== 'string')
148
- return null;
149
- eligibleTargets.push({ principleId: p.principleId, text: p.text, status: p.status, version: p.version, digest: p.digest });
150
- }
151
- if (!Object.hasOwn(value, 'generation') || !Object.hasOwn(value, 'resume') || !Object.hasOwn(value, 'sourceCorrection'))
152
- return null;
153
- const generation = validateGeneration(value.generation);
154
- const resume = validateResume(value.resume);
155
- const sourceCorrection = validateSourceCorrection(value.sourceCorrection);
156
- if (generation === 'invalid' || resume === 'invalid' || sourceCorrection === 'invalid')
157
- return null;
158
- return {
159
- candidateId: value.candidateId, candidateText: value.candidateText, sourcePain,
160
- evidence: value.evidence, candidateDigest: value.candidateDigest, currentRevision: value.currentRevision,
161
- currentBinding, boundPrinciple, eligibleTargets,
162
- generation,
163
- resume,
164
- sourceCorrection,
165
- resumeNotice: value.resumeNotice,
166
- };
167
- }
168
- export function validateBindingMutation(value) {
169
- if (!record(value) || !['bound', 'already_bound', 'revoked', 'already_revoked'].includes(String(value.status)) || typeof value.status !== 'string')
170
- return null;
171
- if (value.runtimeDeactivated !== false || value.inFlightOperationsMayComplete !== true)
172
- return null;
173
- if (value.nextAction !== undefined && typeof value.nextAction !== 'string')
174
- return null;
175
- if (value.revision !== undefined && (!record(value.revision) || typeof value.revision.status !== 'string'))
176
- return null;
177
- return { status: value.status, ...(record(value.revision) && typeof value.revision.status === 'string' ? { revisionStatus: value.revision.status } : {}),
178
- ...(typeof value.nextAction === 'string' ? { nextAction: value.nextAction } : {}) };
179
- }
180
- export function validateBindingRevise(value) {
181
- if (!record(value) || typeof value.status !== 'string' || value.status.length === 0)
182
- return null;
183
- if (value.reason !== undefined && typeof value.reason !== 'string')
184
- return null;
185
- if (value.nextAction !== undefined && typeof value.nextAction !== 'string')
186
- return null;
187
- return { status: value.status, ...(typeof value.reason === 'string' ? { reason: value.reason } : {}), ...(typeof value.nextAction === 'string' ? { nextAction: value.nextAction } : {}) };
188
- }
@@ -1,11 +0,0 @@
1
- /**
2
- * Build-time runtime mode.
3
- *
4
- * Vite replaces `import.meta.env.DEV` with a boolean literal at build time, so
5
- * a production bundle resolves this to `false` and dead-code elimination can
6
- * drop the DEV-only surfaces from the shipped UI. This is a trust boundary in
7
- * the CLIENT only — the server independently refuses the Examiner API outside
8
- * a dev runtime (see `resolveLabRoot` / the offline-only gates in the examiner
9
- * route).
10
- */
11
- export declare const IS_DEV: boolean;
@@ -1,11 +0,0 @@
1
- /**
2
- * Build-time runtime mode.
3
- *
4
- * Vite replaces `import.meta.env.DEV` with a boolean literal at build time, so
5
- * a production bundle resolves this to `false` and dead-code elimination can
6
- * drop the DEV-only surfaces from the shipped UI. This is a trust boundary in
7
- * the CLIENT only — the server independently refuses the Examiner API outside
8
- * a dev runtime (see `resolveLabRoot` / the offline-only gates in the examiner
9
- * route).
10
- */
11
- export const IS_DEV = import.meta.env.DEV;
@@ -1,22 +0,0 @@
1
- /**
2
- * Browser-side persistence for the Console login token (PRI-793).
3
- *
4
- * The token lives in localStorage so the Owner is not re-prompted on every
5
- * browser start. sessionStorage is only a migration source: a token left
6
- * there by older builds is promoted to localStorage once and then removed —
7
- * localStorage is the single source of truth afterwards (P4).
8
- *
9
- * Clearing (logout / Settings "清除凭证") removes both keys so a stale copy
10
- * can never resurrect the session.
11
- *
12
- * Storages are resolved from globalThis (browsers expose localStorage /
13
- * sessionStorage there) and may be absent — non-DOM test environments run
14
- * the same code path with null storages, where persistence degrades to
15
- * "no stored token" instead of crashing. Explicit arguments override the
16
- * builtins for tests.
17
- */
18
- type TokenStorage = Storage | null | undefined;
19
- export declare function loadStoredToken(storage?: TokenStorage, legacy?: TokenStorage): string | null;
20
- export declare function storeToken(token: string, storage?: TokenStorage, legacy?: TokenStorage): void;
21
- export declare function clearStoredToken(storage?: TokenStorage, legacy?: TokenStorage): void;
22
- export {};
@@ -1,47 +0,0 @@
1
- /**
2
- * Browser-side persistence for the Console login token (PRI-793).
3
- *
4
- * The token lives in localStorage so the Owner is not re-prompted on every
5
- * browser start. sessionStorage is only a migration source: a token left
6
- * there by older builds is promoted to localStorage once and then removed —
7
- * localStorage is the single source of truth afterwards (P4).
8
- *
9
- * Clearing (logout / Settings "清除凭证") removes both keys so a stale copy
10
- * can never resurrect the session.
11
- *
12
- * Storages are resolved from globalThis (browsers expose localStorage /
13
- * sessionStorage there) and may be absent — non-DOM test environments run
14
- * the same code path with null storages, where persistence degrades to
15
- * "no stored token" instead of crashing. Explicit arguments override the
16
- * builtins for tests.
17
- */
18
- const TOKEN_KEY = "pd_token";
19
- function builtin(kind) {
20
- const g = globalThis;
21
- return (kind === "local" ? g.localStorage : g.sessionStorage) ?? null;
22
- }
23
- export function loadStoredToken(storage, legacy) {
24
- const main = storage ?? builtin("local");
25
- const old = legacy ?? builtin("session");
26
- const current = main?.getItem(TOKEN_KEY) ?? null;
27
- if (current !== null)
28
- return current;
29
- const legacyToken = old?.getItem(TOKEN_KEY) ?? null;
30
- if (legacyToken === null)
31
- return null;
32
- main?.setItem(TOKEN_KEY, legacyToken);
33
- old?.removeItem(TOKEN_KEY);
34
- return legacyToken;
35
- }
36
- export function storeToken(token, storage, legacy) {
37
- const main = storage ?? builtin("local");
38
- const old = legacy ?? builtin("session");
39
- main?.setItem(TOKEN_KEY, token);
40
- old?.removeItem(TOKEN_KEY);
41
- }
42
- export function clearStoredToken(storage, legacy) {
43
- const main = storage ?? builtin("local");
44
- const old = legacy ?? builtin("session");
45
- main?.removeItem(TOKEN_KEY);
46
- old?.removeItem(TOKEN_KEY);
47
- }