create-principles-disciple 1.146.4 → 1.146.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/_release/product-identity.json +1 -1
- package/package.json +3 -3
- package/release-manager/package.json +3 -3
- package/console/dist/ui/App.d.ts +0 -1
- package/console/dist/ui/App.js +0 -172
- package/console/dist/ui/api.d.ts +0 -611
- package/console/dist/ui/api.js +0 -1094
- package/console/dist/ui/components/auth/login-form.d.ts +0 -4
- package/console/dist/ui/components/auth/login-form.js +0 -142
- package/console/dist/ui/components/auth/splash-screen.d.ts +0 -9
- package/console/dist/ui/components/auth/splash-screen.js +0 -22
- package/console/dist/ui/components/error-boundary.d.ts +0 -15
- package/console/dist/ui/components/error-boundary.js +0 -30
- package/console/dist/ui/components/focus/daily-thought-card.d.ts +0 -1
- package/console/dist/ui/components/focus/daily-thought-card.js +0 -41
- package/console/dist/ui/components/language-switcher.d.ts +0 -2
- package/console/dist/ui/components/language-switcher.js +0 -17
- package/console/dist/ui/components/layout/app-sidebar.d.ts +0 -27
- package/console/dist/ui/components/layout/app-sidebar.js +0 -128
- package/console/dist/ui/components/layout/page-loading.d.ts +0 -13
- package/console/dist/ui/components/layout/page-loading.js +0 -14
- package/console/dist/ui/components/layout/page-shell.d.ts +0 -12
- package/console/dist/ui/components/layout/page-shell.js +0 -11
- package/console/dist/ui/components/layout/section-title.d.ts +0 -10
- package/console/dist/ui/components/layout/section-title.js +0 -9
- package/console/dist/ui/components/notifications/NotificationProvider.d.ts +0 -14
- package/console/dist/ui/components/notifications/NotificationProvider.js +0 -136
- package/console/dist/ui/components/notifications/favicon-badge.d.ts +0 -3
- package/console/dist/ui/components/notifications/favicon-badge.js +0 -68
- package/console/dist/ui/components/notifications/notification-reducer.d.ts +0 -9
- package/console/dist/ui/components/notifications/notification-reducer.js +0 -9
- package/console/dist/ui/components/notifications/sound-storage.d.ts +0 -3
- package/console/dist/ui/components/notifications/sound-storage.js +0 -37
- package/console/dist/ui/components/notifications/useNotifications.d.ts +0 -1
- package/console/dist/ui/components/notifications/useNotifications.js +0 -9
- package/console/dist/ui/components/onboarding/CircuitDiagram.d.ts +0 -8
- package/console/dist/ui/components/onboarding/CircuitDiagram.js +0 -18
- package/console/dist/ui/components/onboarding/DemoResultView.d.ts +0 -22
- package/console/dist/ui/components/onboarding/DemoResultView.js +0 -33
- package/console/dist/ui/components/onboarding/SlashCommandsCard.d.ts +0 -16
- package/console/dist/ui/components/onboarding/SlashCommandsCard.js +0 -20
- package/console/dist/ui/components/onboarding/slashCommands.d.ts +0 -20
- package/console/dist/ui/components/onboarding/slashCommands.js +0 -22
- package/console/dist/ui/components/receipts/ReceiptCoverageDisclosure.d.ts +0 -6
- package/console/dist/ui/components/receipts/ReceiptCoverageDisclosure.js +0 -66
- package/console/dist/ui/components/theme-provider.d.ts +0 -14
- package/console/dist/ui/components/theme-provider.js +0 -40
- package/console/dist/ui/components/theme-toggle.d.ts +0 -2
- package/console/dist/ui/components/theme-toggle.js +0 -11
- package/console/dist/ui/components/ui/alert-dialog.d.ts +0 -20
- package/console/dist/ui/components/ui/alert-dialog.js +0 -26
- package/console/dist/ui/components/ui/badge.d.ts +0 -9
- package/console/dist/ui/components/ui/badge.js +0 -22
- package/console/dist/ui/components/ui/button.d.ts +0 -11
- package/console/dist/ui/components/ui/button.js +0 -34
- package/console/dist/ui/components/ui/card.d.ts +0 -8
- package/console/dist/ui/components/ui/card.js +0 -16
- package/console/dist/ui/components/ui/charts.d.ts +0 -51
- package/console/dist/ui/components/ui/charts.js +0 -72
- package/console/dist/ui/components/ui/dialog.d.ts +0 -19
- package/console/dist/ui/components/ui/dialog.js +0 -22
- package/console/dist/ui/components/ui/input.d.ts +0 -3
- package/console/dist/ui/components/ui/input.js +0 -8
- package/console/dist/ui/components/ui/markdown.d.ts +0 -24
- package/console/dist/ui/components/ui/markdown.js +0 -119
- package/console/dist/ui/components/ui/progress-bar.d.ts +0 -20
- package/console/dist/ui/components/ui/progress-bar.js +0 -38
- package/console/dist/ui/components/ui/select.d.ts +0 -13
- package/console/dist/ui/components/ui/select.js +0 -26
- package/console/dist/ui/components/ui/separator.d.ts +0 -3
- package/console/dist/ui/components/ui/separator.js +0 -6
- package/console/dist/ui/components/ui/sheet.d.ts +0 -25
- package/console/dist/ui/components/ui/sheet.js +0 -37
- package/console/dist/ui/components/ui/shiny-text.d.ts +0 -28
- package/console/dist/ui/components/ui/shiny-text.js +0 -46
- package/console/dist/ui/components/ui/skeleton.d.ts +0 -3
- package/console/dist/ui/components/ui/skeleton.js +0 -6
- package/console/dist/ui/components/ui/sonner.d.ts +0 -3
- package/console/dist/ui/components/ui/sonner.js +0 -13
- package/console/dist/ui/components/ui/tooltip.d.ts +0 -7
- package/console/dist/ui/components/ui/tooltip.js +0 -10
- package/console/dist/ui/data/daily-thoughts.d.ts +0 -15
- package/console/dist/ui/data/daily-thoughts.js +0 -164
- package/console/dist/ui/hooks/useNotificationSound.d.ts +0 -12
- package/console/dist/ui/hooks/useNotificationSound.js +0 -74
- package/console/dist/ui/i18n/en.json +0 -2399
- package/console/dist/ui/i18n/index.d.ts +0 -2
- package/console/dist/ui/i18n/index.js +0 -32
- package/console/dist/ui/i18n/zh-CN.json +0 -2399
- package/console/dist/ui/main.d.ts +0 -1
- package/console/dist/ui/main.js +0 -9
- package/console/dist/ui/pages/ReportProblemValidators.d.ts +0 -144
- package/console/dist/ui/pages/ReportProblemValidators.js +0 -418
- package/console/dist/ui/pages/activation/ActivationPage.d.ts +0 -1
- package/console/dist/ui/pages/activation/ActivationPage.js +0 -512
- package/console/dist/ui/pages/activation/ActivationValidators.d.ts +0 -20
- package/console/dist/ui/pages/activation/ActivationValidators.js +0 -160
- package/console/dist/ui/pages/control-center/AgentCard.d.ts +0 -31
- package/console/dist/ui/pages/control-center/AgentCard.js +0 -212
- package/console/dist/ui/pages/control-center/AgentGroup.d.ts +0 -26
- package/console/dist/ui/pages/control-center/AgentGroup.js +0 -38
- package/console/dist/ui/pages/control-center/ControlCenterPage.d.ts +0 -1
- package/console/dist/ui/pages/control-center/ControlCenterPage.js +0 -509
- package/console/dist/ui/pages/control-center/DesignGatePanel.d.ts +0 -1
- package/console/dist/ui/pages/control-center/DesignGatePanel.js +0 -137
- package/console/dist/ui/pages/control-center/RuntimeProfileManager.d.ts +0 -31
- package/console/dist/ui/pages/control-center/RuntimeProfileManager.js +0 -199
- package/console/dist/ui/pages/control-center/WorkflowDiagram.d.ts +0 -17
- package/console/dist/ui/pages/control-center/WorkflowDiagram.js +0 -55
- package/console/dist/ui/pages/debt/DebtPage.d.ts +0 -2
- package/console/dist/ui/pages/debt/DebtPage.js +0 -222
- package/console/dist/ui/pages/design-system/DesignSystemPage.d.ts +0 -2
- package/console/dist/ui/pages/design-system/DesignSystemPage.js +0 -30
- package/console/dist/ui/pages/examiner/ExaminerPage.d.ts +0 -15
- package/console/dist/ui/pages/examiner/ExaminerPage.js +0 -158
- package/console/dist/ui/pages/failed-tasks/FailedTasksPage.d.ts +0 -1
- package/console/dist/ui/pages/failed-tasks/FailedTasksPage.js +0 -421
- package/console/dist/ui/pages/focus/ApprovalSubjectReading.d.ts +0 -24
- package/console/dist/ui/pages/focus/ApprovalSubjectReading.js +0 -133
- package/console/dist/ui/pages/focus/FocusPage.d.ts +0 -123
- package/console/dist/ui/pages/focus/FocusPage.js +0 -567
- package/console/dist/ui/pages/focus/OwnerDecisionCard.d.ts +0 -9
- package/console/dist/ui/pages/focus/OwnerDecisionCard.js +0 -111
- package/console/dist/ui/pages/focus/OwnerWorkbench.d.ts +0 -19
- package/console/dist/ui/pages/focus/OwnerWorkbench.js +0 -75
- package/console/dist/ui/pages/focus/RuleCandidateBindingPanel.d.ts +0 -34
- package/console/dist/ui/pages/focus/RuleCandidateBindingPanel.js +0 -298
- package/console/dist/ui/pages/focus/focus-validation.d.ts +0 -40
- package/console/dist/ui/pages/focus/focus-validation.js +0 -211
- package/console/dist/ui/pages/intent/IntentOnboarding.d.ts +0 -67
- package/console/dist/ui/pages/intent/IntentOnboarding.js +0 -289
- package/console/dist/ui/pages/intent/IntentPage.d.ts +0 -1
- package/console/dist/ui/pages/intent/IntentPage.js +0 -252
- package/console/dist/ui/pages/pain/PainEvidenceValidators.d.ts +0 -59
- package/console/dist/ui/pages/pain/PainEvidenceValidators.js +0 -125
- package/console/dist/ui/pages/pain/PainPage.d.ts +0 -1
- package/console/dist/ui/pages/pain/PainPage.js +0 -420
- package/console/dist/ui/pages/pain/pain-card-helpers.d.ts +0 -175
- package/console/dist/ui/pages/pain/pain-card-helpers.js +0 -181
- package/console/dist/ui/pages/principles/CorePrinciplesPage.d.ts +0 -10
- package/console/dist/ui/pages/principles/CorePrinciplesPage.js +0 -59
- package/console/dist/ui/pages/principles/PrincipleDetailPage.d.ts +0 -60
- package/console/dist/ui/pages/principles/PrincipleDetailPage.js +0 -602
- package/console/dist/ui/pages/principles/PrinciplesPage.d.ts +0 -1
- package/console/dist/ui/pages/principles/PrinciplesPage.js +0 -327
- package/console/dist/ui/pages/principles/PrinciplesViewNav.d.ts +0 -8
- package/console/dist/ui/pages/principles/PrinciplesViewNav.js +0 -15
- package/console/dist/ui/pages/report-problem/ReportProblemPage.d.ts +0 -1
- package/console/dist/ui/pages/report-problem/ReportProblemPage.js +0 -467
- package/console/dist/ui/pages/settings/SettingsPage.d.ts +0 -4
- package/console/dist/ui/pages/settings/SettingsPage.js +0 -457
- package/console/dist/ui/pages/settings/UpdatePage.d.ts +0 -1
- package/console/dist/ui/pages/settings/UpdatePage.js +0 -215
- package/console/dist/ui/pages/welcome/WelcomePage.d.ts +0 -5
- package/console/dist/ui/pages/welcome/WelcomePage.js +0 -187
- package/console/dist/ui/utils/agent-metadata.d.ts +0 -71
- package/console/dist/ui/utils/agent-metadata.js +0 -284
- package/console/dist/ui/utils/approval-review.d.ts +0 -30
- package/console/dist/ui/utils/approval-review.js +0 -50
- package/console/dist/ui/utils/approval-warning-localization.d.ts +0 -34
- package/console/dist/ui/utils/approval-warning-localization.js +0 -148
- package/console/dist/ui/utils/attention-presentation.d.ts +0 -35
- package/console/dist/ui/utils/attention-presentation.js +0 -46
- package/console/dist/ui/utils/blocker-localization.d.ts +0 -23
- package/console/dist/ui/utils/blocker-localization.js +0 -36
- package/console/dist/ui/utils/control-center-helpers.d.ts +0 -79
- package/console/dist/ui/utils/control-center-helpers.js +0 -189
- package/console/dist/ui/utils/enum-labels.d.ts +0 -50
- package/console/dist/ui/utils/enum-labels.js +0 -171
- package/console/dist/ui/utils/format-date.d.ts +0 -11
- package/console/dist/ui/utils/format-date.js +0 -17
- package/console/dist/ui/utils/onboarding-state.d.ts +0 -25
- package/console/dist/ui/utils/onboarding-state.js +0 -77
- package/console/dist/ui/utils/reading-layout.d.ts +0 -20
- package/console/dist/ui/utils/reading-layout.js +0 -46
- package/console/dist/ui/utils/rule-binding-validators.d.ts +0 -13
- package/console/dist/ui/utils/rule-binding-validators.js +0 -188
- package/console/dist/ui/utils/runtime-mode.d.ts +0 -11
- package/console/dist/ui/utils/runtime-mode.js +0 -11
- package/console/dist/ui/utils/token-storage.d.ts +0 -22
- package/console/dist/ui/utils/token-storage.js +0 -47
- package/console/dist/ui/utils/validators.d.ts +0 -1178
- package/console/dist/ui/utils/validators.js +0 -3297
- package/release-manager/dist/bootstrap-entry.d.ts +0 -2
- package/release-manager/dist/bootstrap-entry.d.ts.map +0 -1
- package/release-manager/dist/bootstrap-entry.js.map +0 -1
- package/release-manager/dist/i18n.d.ts +0 -6
- package/release-manager/dist/i18n.d.ts.map +0 -1
- package/release-manager/dist/i18n.js.map +0 -1
- package/release-manager/dist/index.d.ts +0 -7
- package/release-manager/dist/index.d.ts.map +0 -1
- package/release-manager/dist/index.js +0 -656
- package/release-manager/dist/index.js.map +0 -1
- package/release-manager/dist/installer.d.ts +0 -629
- package/release-manager/dist/installer.d.ts.map +0 -1
- package/release-manager/dist/installer.js.map +0 -1
- package/release-manager/dist/installers/codex-host-installer.d.ts +0 -39
- package/release-manager/dist/installers/codex-host-installer.d.ts.map +0 -1
- package/release-manager/dist/installers/codex-host-installer.js.map +0 -1
- package/release-manager/dist/installers/index.d.ts +0 -51
- package/release-manager/dist/installers/index.d.ts.map +0 -1
- package/release-manager/dist/installers/index.js.map +0 -1
- package/release-manager/dist/installers/openclaw-host-installer.d.ts +0 -14
- package/release-manager/dist/installers/openclaw-host-installer.d.ts.map +0 -1
- package/release-manager/dist/installers/openclaw-host-installer.js.map +0 -1
- package/release-manager/dist/installers/workbuddy-host-installer.d.ts +0 -335
- package/release-manager/dist/installers/workbuddy-host-installer.d.ts.map +0 -1
- package/release-manager/dist/installers/workbuddy-host-installer.js.map +0 -1
- package/release-manager/dist/mvp-config.d.ts +0 -233
- package/release-manager/dist/mvp-config.d.ts.map +0 -1
- package/release-manager/dist/mvp-config.js.map +0 -1
- package/release-manager/dist/prompts.d.ts +0 -43
- package/release-manager/dist/prompts.d.ts.map +0 -1
- package/release-manager/dist/prompts.js +0 -268
- package/release-manager/dist/prompts.js.map +0 -1
- package/release-manager/dist/skill-language.d.ts +0 -32
- package/release-manager/dist/skill-language.d.ts.map +0 -1
- package/release-manager/dist/skill-language.js.map +0 -1
- package/release-manager/dist/uninstaller.d.ts +0 -68
- package/release-manager/dist/uninstaller.d.ts.map +0 -1
- package/release-manager/dist/uninstaller.js +0 -746
- package/release-manager/dist/uninstaller.js.map +0 -1
- package/release-manager/dist/update/apply-payload.d.ts +0 -143
- package/release-manager/dist/update/apply-payload.d.ts.map +0 -1
- package/release-manager/dist/update/apply-payload.js.map +0 -1
- package/release-manager/dist/update/atomic-file.d.ts +0 -35
- package/release-manager/dist/update/atomic-file.d.ts.map +0 -1
- package/release-manager/dist/update/atomic-file.js.map +0 -1
- package/release-manager/dist/update/bootstrap-executor.d.ts +0 -21
- package/release-manager/dist/update/bootstrap-executor.d.ts.map +0 -1
- package/release-manager/dist/update/bootstrap-executor.js.map +0 -1
- package/release-manager/dist/update/bootstrap-protocol.d.ts +0 -56
- package/release-manager/dist/update/bootstrap-protocol.d.ts.map +0 -1
- package/release-manager/dist/update/bootstrap-protocol.js.map +0 -1
- package/release-manager/dist/update/channel-metadata.d.ts +0 -28
- package/release-manager/dist/update/channel-metadata.d.ts.map +0 -1
- package/release-manager/dist/update/channel-metadata.js.map +0 -1
- package/release-manager/dist/update/channel-promotion.d.ts +0 -39
- package/release-manager/dist/update/channel-promotion.d.ts.map +0 -1
- package/release-manager/dist/update/channel-promotion.js +0 -55
- package/release-manager/dist/update/channel-promotion.js.map +0 -1
- package/release-manager/dist/update/console-surface.d.ts +0 -19
- package/release-manager/dist/update/console-surface.d.ts.map +0 -1
- package/release-manager/dist/update/console-surface.js.map +0 -1
- package/release-manager/dist/update/data-compatibility.d.ts +0 -35
- package/release-manager/dist/update/data-compatibility.d.ts.map +0 -1
- package/release-manager/dist/update/data-compatibility.js +0 -45
- package/release-manager/dist/update/data-compatibility.js.map +0 -1
- package/release-manager/dist/update/install-layout.d.ts +0 -105
- package/release-manager/dist/update/install-layout.d.ts.map +0 -1
- package/release-manager/dist/update/install-layout.js.map +0 -1
- package/release-manager/dist/update/product-identity.d.ts +0 -70
- package/release-manager/dist/update/product-identity.d.ts.map +0 -1
- package/release-manager/dist/update/product-identity.js.map +0 -1
- package/release-manager/dist/update/release-asset-manifest.d.ts +0 -31
- package/release-manager/dist/update/release-asset-manifest.d.ts.map +0 -1
- package/release-manager/dist/update/release-asset-manifest.js.map +0 -1
- package/release-manager/dist/update/release-identity.d.ts +0 -33
- package/release-manager/dist/update/release-identity.d.ts.map +0 -1
- package/release-manager/dist/update/release-identity.js.map +0 -1
- package/release-manager/dist/update/release-manager-authority.d.ts +0 -39
- package/release-manager/dist/update/release-manager-authority.d.ts.map +0 -1
- package/release-manager/dist/update/release-manager-authority.js.map +0 -1
- package/release-manager/dist/update/release-manager.d.ts +0 -156
- package/release-manager/dist/update/release-manager.d.ts.map +0 -1
- package/release-manager/dist/update/release-manager.js.map +0 -1
- package/release-manager/dist/update/release-metadata-publisher.d.ts +0 -199
- package/release-manager/dist/update/release-metadata-publisher.d.ts.map +0 -1
- package/release-manager/dist/update/release-metadata-publisher.js +0 -478
- package/release-manager/dist/update/release-metadata-publisher.js.map +0 -1
- package/release-manager/dist/update/release-metadata-source.d.ts +0 -85
- package/release-manager/dist/update/release-metadata-source.d.ts.map +0 -1
- package/release-manager/dist/update/release-metadata-source.js.map +0 -1
- package/release-manager/dist/update/release-metadata.d.ts +0 -60
- package/release-manager/dist/update/release-metadata.d.ts.map +0 -1
- package/release-manager/dist/update/release-metadata.js.map +0 -1
- package/release-manager/dist/update/release-policy.d.ts +0 -51
- package/release-manager/dist/update/release-policy.d.ts.map +0 -1
- package/release-manager/dist/update/release-policy.js.map +0 -1
- package/release-manager/dist/update/rollback-policy.d.ts +0 -56
- package/release-manager/dist/update/rollback-policy.d.ts.map +0 -1
- package/release-manager/dist/update/rollback-policy.js +0 -61
- package/release-manager/dist/update/rollback-policy.js.map +0 -1
- package/release-manager/dist/update/transaction-journal.d.ts +0 -212
- package/release-manager/dist/update/transaction-journal.d.ts.map +0 -1
- package/release-manager/dist/update/transaction-journal.js.map +0 -1
- package/release-manager/dist/update/trust-metadata.d.ts +0 -55
- package/release-manager/dist/update/trust-metadata.d.ts.map +0 -1
- package/release-manager/dist/update/trust-metadata.js.map +0 -1
- package/release-manager/dist/update/trust-root-provisioning.d.ts +0 -99
- package/release-manager/dist/update/trust-root-provisioning.d.ts.map +0 -1
- package/release-manager/dist/update/trust-root-provisioning.js.map +0 -1
- package/release-manager/dist/update/update-history.d.ts +0 -46
- package/release-manager/dist/update/update-history.d.ts.map +0 -1
- package/release-manager/dist/update/update-history.js +0 -123
- package/release-manager/dist/update/update-history.js.map +0 -1
- package/release-manager/dist/utils/config-file-io.d.ts +0 -34
- package/release-manager/dist/utils/config-file-io.d.ts.map +0 -1
- package/release-manager/dist/utils/config-file-io.js.map +0 -1
- package/release-manager/dist/utils/env.d.ts +0 -94
- package/release-manager/dist/utils/env.d.ts.map +0 -1
- package/release-manager/dist/utils/env.js.map +0 -1
- package/release-manager/dist/utils/logger.d.ts +0 -15
- package/release-manager/dist/utils/logger.d.ts.map +0 -1
- package/release-manager/dist/utils/logger.js.map +0 -1
- package/release-manager/dist/utils/workspace-divergence.d.ts +0 -36
- package/release-manager/dist/utils/workspace-divergence.d.ts.map +0 -1
- package/release-manager/dist/utils/workspace-divergence.js.map +0 -1
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Strict Release Metadata contract (SPEC §4.2).
|
|
3
|
-
*
|
|
4
|
-
* Release Metadata is immutable after publication. It records product
|
|
5
|
-
* version, release ID, source commit, asset digests, supported platforms,
|
|
6
|
-
* minimum bootstrap version, compatibility constraints, and the publication
|
|
7
|
-
* sequence. Signed envelopes arrive as `unknown`; nothing is trusted until
|
|
8
|
-
* this validator accepts it. Required fields fail loud (rc-3), elements are
|
|
9
|
-
* validated (rc-4), and own-property access is used throughout (rc-5).
|
|
10
|
-
*/
|
|
11
|
-
import { type ReleaseAssetIdentity } from './release-identity.js';
|
|
12
|
-
export declare const RELEASE_METADATA_SCHEMA_VERSION = 1;
|
|
13
|
-
export interface ReleaseMetadata {
|
|
14
|
-
readonly schemaVersion: number;
|
|
15
|
-
readonly productVersion: string;
|
|
16
|
-
readonly releaseId: string;
|
|
17
|
-
readonly sourceCommit: string;
|
|
18
|
-
readonly metadataDigest: string;
|
|
19
|
-
readonly minBootstrapVersion: string;
|
|
20
|
-
readonly publicationSequence: number;
|
|
21
|
-
readonly expiresAt: string;
|
|
22
|
-
readonly assets: readonly (ReleaseAssetIdentity & {
|
|
23
|
-
/** PRI-854 (option A): where the bytes are served from (signed). */
|
|
24
|
-
readonly url?: string;
|
|
25
|
-
})[];
|
|
26
|
-
readonly compatibility: {
|
|
27
|
-
readonly dataSchemaForwardReadableFrom: string;
|
|
28
|
-
};
|
|
29
|
-
}
|
|
30
|
-
export type ReleaseMetadataErrorCode = 'release_metadata_invalid' | 'release_metadata_identity_mismatch';
|
|
31
|
-
export declare class ReleaseMetadataError extends Error {
|
|
32
|
-
readonly code: ReleaseMetadataErrorCode;
|
|
33
|
-
readonly field: string;
|
|
34
|
-
constructor(code: ReleaseMetadataErrorCode, field: string, message: string);
|
|
35
|
-
}
|
|
36
|
-
/**
|
|
37
|
-
* Field-by-field strict parse. Rejects unknown top-level fields so a future
|
|
38
|
-
* schema change fails loud instead of silently dropping meaning.
|
|
39
|
-
*/
|
|
40
|
-
export declare function parseReleaseMetadata(value: unknown): ReleaseMetadata;
|
|
41
|
-
/**
|
|
42
|
-
* Verifies the internal identity chain: recomputing the release ID from the
|
|
43
|
-
* metadata's own content must reproduce `releaseId`, and the canonical
|
|
44
|
-
* document digest must reproduce `metadataDigest`. A metadata document whose
|
|
45
|
-
* identity does not close is refuse-before-activation (SPEC §4.3).
|
|
46
|
-
*/
|
|
47
|
-
export declare function verifyReleaseMetadataIdentity(metadata: ReleaseMetadata): void;
|
|
48
|
-
export declare function isReleaseMetadataExpired(metadata: ReleaseMetadata, now?: Date): boolean;
|
|
49
|
-
/** Builds a well-formed metadata document from identity inputs (producer side). */
|
|
50
|
-
export declare function buildReleaseMetadata(input: {
|
|
51
|
-
productVersion: string;
|
|
52
|
-
sourceCommit: string;
|
|
53
|
-
minBootstrapVersion: string;
|
|
54
|
-
publicationSequence: number;
|
|
55
|
-
expiresAt: string;
|
|
56
|
-
assets: readonly ReleaseAssetIdentity[];
|
|
57
|
-
dataSchemaForwardReadableFrom: string;
|
|
58
|
-
}): ReleaseMetadata;
|
|
59
|
-
export declare function isReleaseMetadata(value: unknown): value is ReleaseMetadata;
|
|
60
|
-
//# sourceMappingURL=release-metadata.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"release-metadata.d.ts","sourceRoot":"","sources":["../../src/update/release-metadata.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AASH,OAAO,EAIL,KAAK,oBAAoB,EAC1B,MAAM,uBAAuB,CAAC;AAE/B,eAAO,MAAM,+BAA+B,IAAI,CAAC;AAEjD,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC,oBAAoB,GAAG;QAChD,oEAAoE;QACpE,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;KACvB,CAAC,EAAE,CAAC;IACL,QAAQ,CAAC,aAAa,EAAE;QACtB,QAAQ,CAAC,6BAA6B,EAAE,MAAM,CAAC;KAChD,CAAC;CACH;AAED,MAAM,MAAM,wBAAwB,GAChC,0BAA0B,GAC1B,oCAAoC,CAAC;AAEzC,qBAAa,oBAAqB,SAAQ,KAAK;IAC7C,QAAQ,CAAC,IAAI,EAAE,wBAAwB,CAAC;IACxC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAEvB,YAAY,IAAI,EAAE,wBAAwB,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAKzE;CACF;AA2DD;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,eAAe,CA6FpE;AAgBD;;;;;GAKG;AACH,wBAAgB,6BAA6B,CAAC,QAAQ,EAAE,eAAe,GAAG,IAAI,CAsB7E;AAED,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,eAAe,EAAE,GAAG,GAAE,IAAiB,GAAG,OAAO,CAEnG;AAED,mFAAmF;AACnF,wBAAgB,oBAAoB,CAAC,KAAK,EAAE;IAC1C,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,SAAS,oBAAoB,EAAE,CAAC;IACxC,6BAA6B,EAAE,MAAM,CAAC;CACvC,GAAG,eAAe,CAkBlB;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,eAAe,CAS1E"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"release-metadata.js","sourceRoot":"","sources":["../../src/update/release-metadata.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Release advancement preflight policy (SPEC §4.3, §9, §13).
|
|
3
|
-
*
|
|
4
|
-
* Pure decisions over already-validated metadata: publication sequence
|
|
5
|
-
* monotonicity, the explicit downgrade policy, channel pointer integrity,
|
|
6
|
-
* expiry, and bootstrap compatibility. Every refusal carries a stable reason
|
|
7
|
-
* code and an Owner-visible next action (rc-9) and must happen BEFORE any
|
|
8
|
-
* installation state is mutated (ERR-074 guard placement).
|
|
9
|
-
*/
|
|
10
|
-
import type { ChannelMetadata } from './channel-metadata.js';
|
|
11
|
-
import type { ReleaseMetadata } from './release-metadata.js';
|
|
12
|
-
export type ReleasePolicyRefusalReason = 'channel_pointer_mismatch' | 'release_metadata_expired' | 'channel_metadata_expired' | 'sequence_regression' | 'downgrade_blocked' | 'bootstrap_too_old';
|
|
13
|
-
export interface ReleasePolicyRefusal {
|
|
14
|
-
readonly allowed: false;
|
|
15
|
-
readonly reason: ReleasePolicyRefusalReason;
|
|
16
|
-
readonly message: string;
|
|
17
|
-
readonly nextAction: string;
|
|
18
|
-
}
|
|
19
|
-
export interface ReleasePolicyAllowance {
|
|
20
|
-
readonly allowed: true;
|
|
21
|
-
readonly direction: 'update' | 'reinstall' | 'explicit_downgrade';
|
|
22
|
-
}
|
|
23
|
-
export type ReleasePolicyDecision = ReleasePolicyRefusal | ReleasePolicyAllowance;
|
|
24
|
-
export interface CurrentInstallationState {
|
|
25
|
-
readonly productVersion: string;
|
|
26
|
-
readonly releaseId: string;
|
|
27
|
-
readonly publicationSequence: number;
|
|
28
|
-
readonly bootstrapVersion: string;
|
|
29
|
-
/** Releases previously confirmed on this installation (rollback-safe targets). */
|
|
30
|
-
readonly previouslyConfirmedReleaseIds: readonly string[];
|
|
31
|
-
}
|
|
32
|
-
/**
|
|
33
|
-
* The channel pointer must reference exactly this release metadata document
|
|
34
|
-
* (SPEC §4.3: "Channel Metadata references the exact Release Metadata digest").
|
|
35
|
-
*/
|
|
36
|
-
export declare function verifyChannelPointer(channel: ChannelMetadata, release: ReleaseMetadata): ReleasePolicyRefusal | null;
|
|
37
|
-
/**
|
|
38
|
-
* Full advancement decision. `allowExplicitDowngrade` is the Owner's explicit
|
|
39
|
-
* confirmation flag; even with it, the target must be a previously confirmed
|
|
40
|
-
* release — arbitrary downgrades to unseen releases stay refused because their
|
|
41
|
-
* data compatibility window is unproven (SPEC §10).
|
|
42
|
-
*/
|
|
43
|
-
export declare function evaluateReleaseAdvancement(input: {
|
|
44
|
-
channel: ChannelMetadata;
|
|
45
|
-
candidate: ReleaseMetadata;
|
|
46
|
-
current: CurrentInstallationState | null;
|
|
47
|
-
bootstrapVersion: string;
|
|
48
|
-
now?: Date;
|
|
49
|
-
allowExplicitDowngrade?: boolean;
|
|
50
|
-
}): ReleasePolicyDecision;
|
|
51
|
-
//# sourceMappingURL=release-policy.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"release-policy.d.ts","sourceRoot":"","sources":["../../src/update/release-policy.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAK7D,MAAM,MAAM,0BAA0B,GAClC,0BAA0B,GAC1B,0BAA0B,GAC1B,0BAA0B,GAC1B,qBAAqB,GACrB,mBAAmB,GACnB,mBAAmB,CAAC;AAExB,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,0BAA0B,CAAC;IAC5C,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC;IACvB,QAAQ,CAAC,SAAS,EAAE,QAAQ,GAAG,WAAW,GAAG,oBAAoB,CAAC;CACnE;AAED,MAAM,MAAM,qBAAqB,GAAG,oBAAoB,GAAG,sBAAsB,CAAC;AAElF,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,kFAAkF;IAClF,QAAQ,CAAC,6BAA6B,EAAE,SAAS,MAAM,EAAE,CAAC;CAC3D;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,eAAe,GAAG,oBAAoB,GAAG,IAAI,CAkBpH;AAED;;;;;GAKG;AACH,wBAAgB,0BAA0B,CAAC,KAAK,EAAE;IAChD,OAAO,EAAE,eAAe,CAAC;IACzB,SAAS,EAAE,eAAe,CAAC;IAC3B,OAAO,EAAE,wBAAwB,GAAG,IAAI,CAAC;IACzC,gBAAgB,EAAE,MAAM,CAAC;IACzB,GAAG,CAAC,EAAE,IAAI,CAAC;IACX,sBAAsB,CAAC,EAAE,OAAO,CAAC;CAClC,GAAG,qBAAqB,CAmExB"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"release-policy.js","sourceRoot":"","sources":["../../src/update/release-policy.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Host coordination and automatic-rollback policy (SPEC §9).
|
|
3
|
-
*
|
|
4
|
-
* One global active release per installation. Only hosts that were RUNNING
|
|
5
|
-
* before activation must restart and complete the handshake — hosts that
|
|
6
|
-
* were already stopped are not failures. If any previously-running host
|
|
7
|
-
* cannot start the same release, every affected host returns to the prior
|
|
8
|
-
* release: a split-brain component mix must never become active.
|
|
9
|
-
*
|
|
10
|
-
* Attribution rules:
|
|
11
|
-
* - Deterministic failures attributable to the new release (entrypoint load,
|
|
12
|
-
* handshake mismatch, startup crash) qualify for automatic rollback.
|
|
13
|
-
* - Network unavailability, empty business data, and unrelated
|
|
14
|
-
* external-service failures do NOT — they would roll back a healthy
|
|
15
|
-
* release for environmental noise.
|
|
16
|
-
*
|
|
17
|
-
* At most ONE automatic rollback per transaction. A second deterministic
|
|
18
|
-
* failure opens the circuit breaker: the last confirmed release stays
|
|
19
|
-
* active and an explicit Owner action is required.
|
|
20
|
-
*/
|
|
21
|
-
export type HostHandshakeOutcome = {
|
|
22
|
-
readonly kind: 'passed';
|
|
23
|
-
} | {
|
|
24
|
-
readonly kind: 'not_restarted';
|
|
25
|
-
} | {
|
|
26
|
-
readonly kind: 'failed';
|
|
27
|
-
readonly failureClass: HostFailureClass;
|
|
28
|
-
readonly detail: string;
|
|
29
|
-
};
|
|
30
|
-
export type HostFailureClass = 'deterministic_start_failure' | 'handshake_mismatch' | 'network_unavailable' | 'external_service_unavailable' | 'unknown';
|
|
31
|
-
export interface HostObservation {
|
|
32
|
-
readonly hostId: string;
|
|
33
|
-
readonly wasRunningBeforeActivation: boolean;
|
|
34
|
-
readonly outcome: HostHandshakeOutcome;
|
|
35
|
-
}
|
|
36
|
-
export type RollbackDecision = {
|
|
37
|
-
readonly action: 'confirm';
|
|
38
|
-
readonly reason: string;
|
|
39
|
-
} | {
|
|
40
|
-
readonly action: 'retry_handshake';
|
|
41
|
-
readonly reason: string;
|
|
42
|
-
readonly nextAction: string;
|
|
43
|
-
} | {
|
|
44
|
-
readonly action: 'auto_rollback';
|
|
45
|
-
readonly reason: string;
|
|
46
|
-
readonly hosts: readonly string[];
|
|
47
|
-
} | {
|
|
48
|
-
readonly action: 'circuit_breaker_open';
|
|
49
|
-
readonly reason: string;
|
|
50
|
-
readonly nextAction: string;
|
|
51
|
-
};
|
|
52
|
-
export declare function decideHostCoordination(input: {
|
|
53
|
-
observations: readonly HostObservation[];
|
|
54
|
-
autoRollbackAlreadyUsed: boolean;
|
|
55
|
-
}): RollbackDecision;
|
|
56
|
-
//# sourceMappingURL=rollback-policy.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"rollback-policy.d.ts","sourceRoot":"","sources":["../../src/update/rollback-policy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,MAAM,MAAM,oBAAoB,GAC5B;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAA;CAAE,GAC3B;IAAE,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAA;CAAE,GAClC;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,YAAY,EAAE,gBAAgB,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAElG,MAAM,MAAM,gBAAgB,GACxB,6BAA6B,GAC7B,oBAAoB,GACpB,qBAAqB,GACrB,8BAA8B,GAC9B,SAAS,CAAC;AAEd,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,0BAA0B,EAAE,OAAO,CAAC;IAC7C,QAAQ,CAAC,OAAO,EAAE,oBAAoB,CAAC;CACxC;AAED,MAAM,MAAM,gBAAgB,GACxB;IAAE,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACvD;IAAE,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GAC5F;IAAE,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE,GAChG;IAAE,QAAQ,CAAC,MAAM,EAAE,sBAAsB,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAAC;AAItG,wBAAgB,sBAAsB,CAAC,KAAK,EAAE;IAC5C,YAAY,EAAE,SAAS,eAAe,EAAE,CAAC;IACzC,uBAAuB,EAAE,OAAO,CAAC;CAClC,GAAG,gBAAgB,CA2CnB"}
|
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Host coordination and automatic-rollback policy (SPEC §9).
|
|
3
|
-
*
|
|
4
|
-
* One global active release per installation. Only hosts that were RUNNING
|
|
5
|
-
* before activation must restart and complete the handshake — hosts that
|
|
6
|
-
* were already stopped are not failures. If any previously-running host
|
|
7
|
-
* cannot start the same release, every affected host returns to the prior
|
|
8
|
-
* release: a split-brain component mix must never become active.
|
|
9
|
-
*
|
|
10
|
-
* Attribution rules:
|
|
11
|
-
* - Deterministic failures attributable to the new release (entrypoint load,
|
|
12
|
-
* handshake mismatch, startup crash) qualify for automatic rollback.
|
|
13
|
-
* - Network unavailability, empty business data, and unrelated
|
|
14
|
-
* external-service failures do NOT — they would roll back a healthy
|
|
15
|
-
* release for environmental noise.
|
|
16
|
-
*
|
|
17
|
-
* At most ONE automatic rollback per transaction. A second deterministic
|
|
18
|
-
* failure opens the circuit breaker: the last confirmed release stays
|
|
19
|
-
* active and an explicit Owner action is required.
|
|
20
|
-
*/
|
|
21
|
-
const DETERMINISTIC_CLASSES = new Set(['deterministic_start_failure', 'handshake_mismatch']);
|
|
22
|
-
export function decideHostCoordination(input) {
|
|
23
|
-
const { observations, autoRollbackAlreadyUsed } = input;
|
|
24
|
-
if (observations.length === 0) {
|
|
25
|
-
return { action: 'confirm', reason: 'no hosts required coordination' };
|
|
26
|
-
}
|
|
27
|
-
const mustRestart = observations.filter((observation) => observation.wasRunningBeforeActivation);
|
|
28
|
-
if (mustRestart.length === 0) {
|
|
29
|
-
return { action: 'confirm', reason: 'no hosts were running before activation; nothing to restart' };
|
|
30
|
-
}
|
|
31
|
-
const deterministicFailures = mustRestart.filter((observation) => observation.outcome.kind === 'failed'
|
|
32
|
-
&& DETERMINISTIC_CLASSES.has(observation.outcome.failureClass));
|
|
33
|
-
const environmentalFailures = mustRestart.filter((observation) => observation.outcome.kind === 'failed'
|
|
34
|
-
&& !DETERMINISTIC_CLASSES.has(observation.outcome.failureClass));
|
|
35
|
-
const pending = mustRestart.filter((observation) => observation.outcome.kind === 'not_restarted');
|
|
36
|
-
if (deterministicFailures.length > 0) {
|
|
37
|
-
const failingHosts = deterministicFailures.map((observation) => observation.hostId);
|
|
38
|
-
if (autoRollbackAlreadyUsed) {
|
|
39
|
-
return {
|
|
40
|
-
action: 'circuit_breaker_open',
|
|
41
|
-
reason: `A second deterministic failure followed the transaction's single automatic rollback (hosts: ${failingHosts.join(', ')}).`,
|
|
42
|
-
nextAction: 'The last confirmed release remains active. Inspect the failing host logs under ~/.pd/logs, fix the cause, and run an explicit update or rollback operation.',
|
|
43
|
-
};
|
|
44
|
-
}
|
|
45
|
-
return {
|
|
46
|
-
action: 'auto_rollback',
|
|
47
|
-
reason: `Deterministic startup failures attributable to the new release (hosts: ${failingHosts.join(', ')}); all affected hosts return to the previous confirmed release to avoid split brain.`,
|
|
48
|
-
hosts: failingHosts,
|
|
49
|
-
};
|
|
50
|
-
}
|
|
51
|
-
if (environmentalFailures.length > 0 || pending.length > 0) {
|
|
52
|
-
const affected = [...environmentalFailures, ...pending].map((observation) => observation.hostId);
|
|
53
|
-
return {
|
|
54
|
-
action: 'retry_handshake',
|
|
55
|
-
reason: `Non-deterministic conditions (network / external service / still restarting) on hosts: ${affected.join(', ')}. These do not qualify for automatic rollback.`,
|
|
56
|
-
nextAction: 'Retry the release handshake for the affected hosts. The release stays activated-but-unconfirmed until every previously running host passes or a deterministic failure appears.',
|
|
57
|
-
};
|
|
58
|
-
}
|
|
59
|
-
return { action: 'confirm', reason: 'every previously running host completed the release handshake' };
|
|
60
|
-
}
|
|
61
|
-
//# sourceMappingURL=rollback-policy.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"rollback-policy.js","sourceRoot":"","sources":["../../src/update/rollback-policy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AA0BH,MAAM,qBAAqB,GAAkC,IAAI,GAAG,CAAC,CAAC,6BAA6B,EAAE,oBAAoB,CAAC,CAAC,CAAC;AAE5H,MAAM,UAAU,sBAAsB,CAAC,KAGtC;IACC,MAAM,EAAE,YAAY,EAAE,uBAAuB,EAAE,GAAG,KAAK,CAAC;IACxD,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9B,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,gCAAgC,EAAE,CAAC;IACzE,CAAC;IAED,MAAM,WAAW,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,0BAA0B,CAAC,CAAC;IACjG,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7B,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,6DAA6D,EAAE,CAAC;IACtG,CAAC;IAED,MAAM,qBAAqB,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,KAAK,QAAQ;WAClG,qBAAqB,CAAC,GAAG,CAAC,WAAW,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC;IAClE,MAAM,qBAAqB,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,KAAK,QAAQ;WAClG,CAAC,qBAAqB,CAAC,GAAG,CAAC,WAAW,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC;IACnE,MAAM,OAAO,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,KAAK,eAAe,CAAC,CAAC;IAElG,IAAI,qBAAqB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrC,MAAM,YAAY,GAAG,qBAAqB,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QACpF,IAAI,uBAAuB,EAAE,CAAC;YAC5B,OAAO;gBACL,MAAM,EAAE,sBAAsB;gBAC9B,MAAM,EAAE,+FAA+F,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;gBAClI,UAAU,EAAE,6JAA6J;aAC1K,CAAC;QACJ,CAAC;QACD,OAAO;YACL,MAAM,EAAE,eAAe;YACvB,MAAM,EAAE,0EAA0E,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,sFAAsF;YAC/L,KAAK,EAAE,YAAY;SACpB,CAAC;IACJ,CAAC;IAED,IAAI,qBAAqB,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3D,MAAM,QAAQ,GAAG,CAAC,GAAG,qBAAqB,EAAE,GAAG,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QACjG,OAAO;YACL,MAAM,EAAE,iBAAiB;YACzB,MAAM,EAAE,0FAA0F,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,gDAAgD;YACrK,UAAU,EAAE,gLAAgL;SAC7L,CAAC;IACJ,CAAC;IAED,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,+DAA+D,EAAE,CAAC;AACxG,CAAC"}
|
|
@@ -1,212 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Transaction journal and recovery (SPEC §8, §14.3).
|
|
3
|
-
*
|
|
4
|
-
* An update follows a persisted state machine:
|
|
5
|
-
*
|
|
6
|
-
* planned -> downloaded -> verified -> staged -> probed
|
|
7
|
-
* -> activated -> host_verified -> confirmed
|
|
8
|
-
* -> rolled_back | refused | failed
|
|
9
|
-
*
|
|
10
|
-
* EVERY transition is appended (and fsynced) to the transaction journal
|
|
11
|
-
* BEFORE the side effect it describes. On restart, recovery reconciles any
|
|
12
|
-
* unfinished transaction: the outcome is always old-confirmed, new-confirmed,
|
|
13
|
-
* or an explicit safe refusal — never a hybrid.
|
|
14
|
-
*/
|
|
15
|
-
export declare const TRANSACTION_STATES: readonly ['planned', 'downloaded', 'verified', 'staged', 'probed', 'activated', 'host_verified', 'confirmed', 'rolled_back', 'refused', 'failed'];
|
|
16
|
-
export type TransactionState = typeof TRANSACTION_STATES[number];
|
|
17
|
-
export type TransactionKind = 'update' | 'reinstall' | 'explicit_downgrade' | 'rollback' | 'legacy_migration' | 'recovery';
|
|
18
|
-
/**
|
|
19
|
-
* Provenance of a transition's `releaseMetadataDigest` (PRI-664 review):
|
|
20
|
-
* - `manifest` — sha256 of the self-contained asset manifest (whole-payload identity)
|
|
21
|
-
* - `package_manifest` — sha256 of the bundled component package manifest
|
|
22
|
-
* - `fallback` — synthetic digest (identity data unavailable); readable but NOT verifiable
|
|
23
|
-
* - `signed_channel` — PRI-698 Phase 1: digest bound in the TUF-signed channel document
|
|
24
|
-
* (ReleaseManager apply orchestration identity chain)
|
|
25
|
-
*/
|
|
26
|
-
export declare const RELEASE_METADATA_DIGEST_SOURCES: readonly ['manifest', 'package_manifest', 'fallback', 'signed_channel'];
|
|
27
|
-
export type ReleaseMetadataDigestSource = typeof RELEASE_METADATA_DIGEST_SOURCES[number];
|
|
28
|
-
export interface JournalTransition {
|
|
29
|
-
readonly at: string;
|
|
30
|
-
readonly from: TransactionState | null;
|
|
31
|
-
readonly to: TransactionState;
|
|
32
|
-
readonly transactionId: string;
|
|
33
|
-
readonly releaseId: string;
|
|
34
|
-
readonly productVersion: string;
|
|
35
|
-
/**
|
|
36
|
-
* PRI-926: the product version this update started FROM, recorded once on
|
|
37
|
-
* the transaction's first (planned) transition from the active record.
|
|
38
|
-
* Absent on journals written before PRI-926 and on later transitions —
|
|
39
|
-
* absence is the visible fromVersion-unavailable marker for Owner-facing
|
|
40
|
-
* history reconciliation, never a placeholder value.
|
|
41
|
-
*/
|
|
42
|
-
readonly preUpdateProductVersion?: string;
|
|
43
|
-
/**
|
|
44
|
-
* Embedded product identity provenance (SPEC §12): the source commit stamped
|
|
45
|
-
* into the installed payload. Absent on legacy payloads/journals without an
|
|
46
|
-
* embedded stamp — absence is the visible provenance-unavailable marker and
|
|
47
|
-
* must never be replaced by a placeholder value.
|
|
48
|
-
*/
|
|
49
|
-
readonly sourceCommit?: string;
|
|
50
|
-
readonly releaseMetadataDigest: string;
|
|
51
|
-
/** Optional provenance marker; absent on journals written before PRI-664 review. */
|
|
52
|
-
readonly releaseMetadataDigestSource?: ReleaseMetadataDigestSource;
|
|
53
|
-
readonly generation: number;
|
|
54
|
-
readonly detail?: string;
|
|
55
|
-
}
|
|
56
|
-
export interface ActiveRecord {
|
|
57
|
-
readonly schemaVersion: 1;
|
|
58
|
-
readonly generation: number;
|
|
59
|
-
readonly releaseId: string;
|
|
60
|
-
readonly releaseMetadataDigest: string;
|
|
61
|
-
readonly previousReleaseId: string | null;
|
|
62
|
-
readonly transactionId: string;
|
|
63
|
-
readonly productVersion: string;
|
|
64
|
-
/** Embedded provenance: stamped source commit; absent on legacy records. */
|
|
65
|
-
readonly sourceCommit?: string;
|
|
66
|
-
}
|
|
67
|
-
export declare class TransactionJournalError extends Error {
|
|
68
|
-
readonly code: string;
|
|
69
|
-
constructor(code: string, message: string);
|
|
70
|
-
}
|
|
71
|
-
export interface RecoveryAwareJournalRead {
|
|
72
|
-
readonly transitions: readonly JournalTransition[];
|
|
73
|
-
/**
|
|
74
|
-
* True when the final physical journal record was a torn (unparseable,
|
|
75
|
-
* unterminated) write — its transition never durably committed and is
|
|
76
|
-
* EXCLUDED from `transitions`. Physical repair (truncation) belongs to an
|
|
77
|
-
* explicit recovery operation, never to this reader.
|
|
78
|
-
*/
|
|
79
|
-
readonly tornTailDetected: boolean;
|
|
80
|
-
}
|
|
81
|
-
/** Reads and strictly validates the whole journal (fail loud on any tear). */
|
|
82
|
-
export declare function readTransactionJournal(journalPath: string): readonly JournalTransition[];
|
|
83
|
-
/** True when the state ends a transaction (no further transition may follow). */
|
|
84
|
-
export declare function isTerminalTransactionState(state: TransactionState): boolean;
|
|
85
|
-
/**
|
|
86
|
-
* Recovery-aware journal reader (crash contract, SPEC §8).
|
|
87
|
-
*
|
|
88
|
-
* The writer appends `JSON + '\n'` and fsyncs. A crash mid-append can leave a
|
|
89
|
-
* TORN final record: unparseable JSON without a trailing newline. Such a
|
|
90
|
-
* record never durably committed, so recovery drops it. Everything else is
|
|
91
|
-
* strict: a malformed line anywhere else (including a complete-but-invalid
|
|
92
|
-
* final line that DOES end with a newline) fails loud, because a complete
|
|
93
|
-
* write with bad content is corruption, not a torn write.
|
|
94
|
-
*/
|
|
95
|
-
export declare function readTransactionJournalForRecovery(journalPath: string): RecoveryAwareJournalRead;
|
|
96
|
-
export interface AppendJournalTransitionOptions {
|
|
97
|
-
/**
|
|
98
|
-
* O_EXCL create: fail with EEXIST if the journal file already exists. Used
|
|
99
|
-
* for the FIRST transition of a transaction so two concurrent writers cannot
|
|
100
|
-
* both open the same journal volume and each append a `planned` line — that
|
|
101
|
-
* duplicate would break whole-file sequence validation forever
|
|
102
|
-
* (journal_sequence_broken). This closes the TOCTOU window an `existsSync`
|
|
103
|
-
* pre-check cannot: the create-or-fail is atomic at the OS level.
|
|
104
|
-
*/
|
|
105
|
-
readonly exclusive?: boolean;
|
|
106
|
-
}
|
|
107
|
-
/**
|
|
108
|
-
* Appends one transition durably (append + fsync) BEFORE the caller performs
|
|
109
|
-
* the side effect the transition describes. Journal-first ordering is what
|
|
110
|
-
* makes crash recovery sound.
|
|
111
|
-
*/
|
|
112
|
-
export declare function appendJournalTransition(journalPath: string, transition: JournalTransition, options?: AppendJournalTransitionOptions): void;
|
|
113
|
-
export interface ActiveRecordWrite {
|
|
114
|
-
readonly generation: number;
|
|
115
|
-
readonly releaseId: string;
|
|
116
|
-
readonly releaseMetadataDigest: string;
|
|
117
|
-
readonly previousReleaseId: string | null;
|
|
118
|
-
readonly transactionId: string;
|
|
119
|
-
readonly productVersion: string;
|
|
120
|
-
/** Embedded provenance: stamped source commit; omit for legacy payloads. */
|
|
121
|
-
readonly sourceCommit?: string;
|
|
122
|
-
}
|
|
123
|
-
/** Serializes + atomically replaces active.json (see atomic-file adapter). */
|
|
124
|
-
export declare function writeActiveRecord(recordPath: string, write: ActiveRecordWrite): void;
|
|
125
|
-
/** Strict active.json reader; returns null when absent. */
|
|
126
|
-
export declare function readActiveRecord(recordPath: string): ActiveRecord | null;
|
|
127
|
-
export type RecoveryOutcome = {
|
|
128
|
-
readonly kind: 'old_confirmed';
|
|
129
|
-
readonly releaseId: string | null;
|
|
130
|
-
readonly generation: number | null;
|
|
131
|
-
readonly reason: string;
|
|
132
|
-
} | {
|
|
133
|
-
readonly kind: 'new_confirmed';
|
|
134
|
-
readonly releaseId: string;
|
|
135
|
-
readonly generation: number;
|
|
136
|
-
readonly reason: string;
|
|
137
|
-
} | {
|
|
138
|
-
readonly kind: 'explicit_refusal';
|
|
139
|
-
readonly reason: string;
|
|
140
|
-
readonly nextAction: string;
|
|
141
|
-
};
|
|
142
|
-
/**
|
|
143
|
-
* Reconciles ONE transaction against the active record after a crash. The
|
|
144
|
-
* invariant: the result is old-confirmed, new-confirmed, or an explicit
|
|
145
|
-
* refusal — never a hybrid release (SPEC §18-4).
|
|
146
|
-
*
|
|
147
|
-
* Rules:
|
|
148
|
-
* - No journal activity for this transaction → nothing to reconcile.
|
|
149
|
-
* - Journal reached `confirmed` → new release stands.
|
|
150
|
-
* - Journal never reached `activated` → old release stands (nothing was
|
|
151
|
-
* swapped); staging residue is cleaned up by the caller.
|
|
152
|
-
* - Journal reached `activated` (or later, unconfirmed) but active.json does
|
|
153
|
-
* not carry this transaction's generation → the crash interrupted the
|
|
154
|
-
* active-record write. The active record IS the previously confirmed
|
|
155
|
-
* release (PRI-922: there is no separate previous slot; the sole pointer is
|
|
156
|
-
* the authority), so recovery re-points to it; a hybrid (new code, old
|
|
157
|
-
* pointer) is never activated. If there is no active record at all, refuse
|
|
158
|
-
* explicitly and demand the official installer.
|
|
159
|
-
*/
|
|
160
|
-
export declare function recoverUnfinishedTransaction(input: {
|
|
161
|
-
transitions: readonly JournalTransition[];
|
|
162
|
-
activeRecord: ActiveRecord | null;
|
|
163
|
-
transactionId: string;
|
|
164
|
-
}): RecoveryOutcome;
|
|
165
|
-
/**
|
|
166
|
-
* PRI-1069/1070 (G1 P0-4, SPEC v1.2 §17): machine-readable detail prefixes the
|
|
167
|
-
* installer writes on a terminal `failed` when the PHYSICAL install was left
|
|
168
|
-
* inconsistent — `restore_incomplete:` (a restore ran but a tree did not land
|
|
169
|
-
* or could not be proven back), `restore_deferred:` (destructive restore
|
|
170
|
-
* withheld because a child process could not be confirmed exited), or
|
|
171
|
-
* `install_residue:` (fresh-install cleanup could not remove everything this
|
|
172
|
-
* run deployed). Recovery surfaces must NOT skip such transactions merely
|
|
173
|
-
* because their journal is terminal — that wholesale skip is how the
|
|
174
|
-
* PRI-1069 half-restored runtime stayed invisible.
|
|
175
|
-
*/
|
|
176
|
-
export declare const RESTORE_INCONSISTENCY_MARKER: RegExp;
|
|
177
|
-
/**
|
|
178
|
-
* The sidecar that marks a recovery-pending failed transaction as RESOLVED.
|
|
179
|
-
* Journals are append-only and end at exactly one terminal state, so recovery
|
|
180
|
-
* completion cannot be written into the old journal file; a separate record
|
|
181
|
-
* keyed by the recovered transaction id is the smallest auditable fact.
|
|
182
|
-
*/
|
|
183
|
-
export interface RecoveryResolution {
|
|
184
|
-
readonly schemaVersion: 1;
|
|
185
|
-
/** The failed transaction this record closes out. */
|
|
186
|
-
readonly resolvedTransactionId: string;
|
|
187
|
-
/** The install/transaction that physically restored (or superseded) it. */
|
|
188
|
-
readonly resolvedByTransactionId: string;
|
|
189
|
-
readonly resolvedAt: string;
|
|
190
|
-
}
|
|
191
|
-
/** True when a resolution record exists for the given failed transaction. */
|
|
192
|
-
export declare function hasRecoveryResolution(transactionsDir: string, transactionId: string): boolean;
|
|
193
|
-
/**
|
|
194
|
-
* Records that a recovery-pending failed transaction has been physically
|
|
195
|
-
* recovered by a later completed install. Written ONLY after that install
|
|
196
|
-
* journaled `confirmed` — never speculatively (the alarm must persist until
|
|
197
|
-
* real physical recovery evidence exists).
|
|
198
|
-
*/
|
|
199
|
-
export declare function writeRecoveryResolution(transactionsDir: string, input: {
|
|
200
|
-
resolvedTransactionId: string;
|
|
201
|
-
resolvedByTransactionId: string;
|
|
202
|
-
}): void;
|
|
203
|
-
/**
|
|
204
|
-
* Scans the transactions directory (read-only) for terminal `failed` journals
|
|
205
|
-
* whose final detail carries a restore-inconsistency marker and that have no
|
|
206
|
-
* resolution record yet — the exact set recovery surfaces must keep visible
|
|
207
|
-
* and the set a recovering install must NOT prune backups against.
|
|
208
|
-
* Unreadable journals are skipped (the strict reader can reject torn or
|
|
209
|
-
* corrupt files; those are already reported by the recovery surfaces).
|
|
210
|
-
*/
|
|
211
|
-
export declare function findRecoveryPendingTransactionIds(transactionsDir: string): string[];
|
|
212
|
-
//# sourceMappingURL=transaction-journal.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"transaction-journal.d.ts","sourceRoot":"","sources":["../../src/update/transaction-journal.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"transaction-journal.js","sourceRoot":"","sources":["../../src/update/transaction-journal.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
import { type Fetcher } from 'tuf-js';
|
|
2
|
-
export type ReleaseTrustErrorCode = 'invalid_request' | 'metadata_refresh_failed' | 'target_not_found' | 'target_identity_mismatch' | 'target_integrity_missing';
|
|
3
|
-
interface ReleaseTrustErrorOptions {
|
|
4
|
-
code: ReleaseTrustErrorCode;
|
|
5
|
-
message: string;
|
|
6
|
-
nextAction: string;
|
|
7
|
-
cause?: unknown;
|
|
8
|
-
}
|
|
9
|
-
export declare class ReleaseTrustError extends Error {
|
|
10
|
-
readonly code: ReleaseTrustErrorCode;
|
|
11
|
-
readonly nextAction: string;
|
|
12
|
-
constructor(options: ReleaseTrustErrorOptions);
|
|
13
|
-
}
|
|
14
|
-
export interface ResolveTrustedReleaseTargetOptions {
|
|
15
|
-
metadataDir: string;
|
|
16
|
-
metadataBaseUrl: string;
|
|
17
|
-
targetPath: string;
|
|
18
|
-
expectedChannel: string;
|
|
19
|
-
expectedPlatform: string;
|
|
20
|
-
fetcher?: Fetcher;
|
|
21
|
-
}
|
|
22
|
-
export interface TrustedReleaseTarget {
|
|
23
|
-
artifactSha256: string;
|
|
24
|
-
artifactSize: number;
|
|
25
|
-
channel: string;
|
|
26
|
-
platform: string;
|
|
27
|
-
releaseId: string;
|
|
28
|
-
targetPath: string;
|
|
29
|
-
}
|
|
30
|
-
/**
|
|
31
|
-
* Resolves a release target only after the official TUF client verifies the
|
|
32
|
-
* trusted-root → timestamp → snapshot → targets metadata chain.
|
|
33
|
-
*
|
|
34
|
-
* This module deliberately does not download or install the target. Phase 1
|
|
35
|
-
* uses it as an independently testable trust boundary before update execution
|
|
36
|
-
* is wired to the new release system.
|
|
37
|
-
*/
|
|
38
|
-
export declare function resolveTrustedReleaseTarget(options: ResolveTrustedReleaseTargetOptions): Promise<TrustedReleaseTarget>;
|
|
39
|
-
export interface DownloadTrustedReleasePayloadOptions {
|
|
40
|
-
metadataDir: string;
|
|
41
|
-
metadataBaseUrl: string;
|
|
42
|
-
targetPath: string;
|
|
43
|
-
destinationPath: string;
|
|
44
|
-
fetcher?: Fetcher;
|
|
45
|
-
}
|
|
46
|
-
/**
|
|
47
|
-
* Downloads a trusted target to an exact destination path. The TUF client
|
|
48
|
-
* verifies length + digest DURING the download; a mismatch aborts and the
|
|
49
|
-
* partial file never reaches the destination. The destination is replaced
|
|
50
|
-
* atomically only after verification (temp file + rename in the same
|
|
51
|
-
* directory).
|
|
52
|
-
*/
|
|
53
|
-
export declare function downloadTrustedReleasePayload(options: DownloadTrustedReleasePayloadOptions): Promise<void>;
|
|
54
|
-
export {};
|
|
55
|
-
//# sourceMappingURL=trust-metadata.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"trust-metadata.d.ts","sourceRoot":"","sources":["../../src/update/trust-metadata.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAAW,MAAM,QAAQ,CAAC;AAE/C,MAAM,MAAM,qBAAqB,GAC7B,iBAAiB,GACjB,yBAAyB,GACzB,kBAAkB,GAClB,0BAA0B,GAC1B,0BAA0B,CAAC;AAE/B,UAAU,wBAAwB;IAChC,IAAI,EAAE,qBAAqB,CAAC;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,qBAAa,iBAAkB,SAAQ,KAAK;IAC1C,QAAQ,CAAC,IAAI,EAAE,qBAAqB,CAAC;IACrC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAE5B,YAAY,OAAO,EAAE,wBAAwB,EAK5C;CACF;AAED,MAAM,WAAW,kCAAkC;IACjD,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,oBAAoB;IACnC,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;CACpB;AA4CD;;;;;;;GAOG;AACH,wBAAsB,2BAA2B,CAC/C,OAAO,EAAE,kCAAkC,GAC1C,OAAO,CAAC,oBAAoB,CAAC,CAoD/B;AAOD,MAAM,WAAW,oCAAoC;IACnD,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;IACxB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;;;;;GAMG;AACH,wBAAsB,6BAA6B,CACjD,OAAO,EAAE,oCAAoC,GAC5C,OAAO,CAAC,IAAI,CAAC,CAoDf"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"trust-metadata.js","sourceRoot":"","sources":["../../src/update/trust-metadata.ts"],"names":[],"mappings":"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"}
|