refactor: delete dead infra and config exports (#106019)

* refactor: delete dead infra and config exports

* refactor: preserve live infra and config contracts

* refactor(config): remove obsolete file-store lifecycle APIs

* refactor(infra): finish current-main dead export cleanup
This commit is contained in:
Peter Steinberger
2026-07-13 12:00:47 -07:00
committed by GitHub
parent 8dd57279cd
commit d1684f48a3
444 changed files with 3161 additions and 14814 deletions
-547
View File
@@ -1311,214 +1311,6 @@ export const KNIP_UNUSED_EXPORT_BASELINE = [
"src/commitments/store.ts: saveCommitmentStore",
"src/compat/legacy-names.ts: MACOS_APP_SOURCES_DIR",
"src/compat/legacy-names.ts: PROJECT_NAME",
"src/config/backup-rotation.ts: cleanOrphanBackups",
"src/config/backup-rotation.ts: hardenBackupPermissions",
"src/config/backup-rotation.ts: rotateConfigBackups",
"src/config/channel-config-metadata.ts: ChannelDmPolicyMetadata",
"src/config/channel-config-metadata.ts: ChannelSchemaMetadataWithOwnership",
"src/config/commands.ts: isCommandFlagEnabled",
"src/config/commands.ts: isRestartEnabled",
"src/config/cron-limits.ts: DEFAULT_CRON_TRIGGER_MIN_INTERVAL_MS",
"src/config/env-vars.ts: collectDurableServiceEnvVars",
"src/config/env-vars.ts: readStateDirDotEnvVars",
"src/config/includes.ts: deepMerge",
"src/config/includes.ts: MAX_INCLUDE_FILE_BYTES",
"src/config/includes.ts: MAX_INCLUDE_PATH_LENGTH",
"src/config/io.audit.ts: redactConfigAuditArgv",
"src/config/io.health-state.ts: ConfigHealthStateDeps",
"src/config/io.invalid-config.ts: formatInvalidConfigLogMessage",
"src/config/io.invalid-config.ts: logInvalidConfigOnce",
"src/config/io.observe-recovery.ts: ObserveRecoveryDeps",
"src/config/io.observe-recovery.ts: resolveLastKnownGoodConfigPath",
"src/config/io.observe-suspicious.ts: ConfigObserveSuspiciousBaseline",
"src/config/io.owner-display-secret.ts: OwnerDisplaySecretRuntimeState",
"src/config/io.write-prepare.ts: unsetPathForWrite",
"src/config/issue-format.ts: normalizeConfigIssue",
"src/config/issue-format.ts: normalizeConfigIssuePath",
"src/config/markdown-tables.ts: ResolveMarkdownTableMode",
"src/config/markdown-tables.ts: ResolveMarkdownTableModeParams",
"src/config/markdown-tables.types.ts: ResolveMarkdownTableMode",
"src/config/media-audio-field-metadata.ts: MEDIA_AUDIO_FIELD_KEYS",
"src/config/mutate.ts: ConfigMutationBase",
"src/config/patch-replace-paths.ts: normalizeConfigPatchReplacePath",
"src/config/plugin-auto-enable.shared.ts: PluginAutoEnableCandidate",
"src/config/plugin-auto-enable.shared.ts: PluginAutoEnableResult",
"src/config/runtime-group-policy.ts: resetMissingProviderGroupPolicyFallbackWarningsForTesting",
"src/config/runtime-group-policy.ts: resolveRuntimeGroupPolicy",
"src/config/schema-base.ts: BaseConfigSchemaResponse",
"src/config/schema.hints.ts: __test__",
"src/config/schema.hints.ts: isPluginOwnedChannelHintPath",
"src/config/schema.hints.ts: isSensitiveConfigPath",
"src/config/schema.tags.ts: CONFIG_TAGS",
"src/config/schema.tags.ts: ConfigTag",
"src/config/schema.tags.ts: deriveTagsForPath",
"src/config/schema.ts: ConfigSchema",
"src/config/schema.ts: ConfigSchemaLookupChild",
"src/config/schema.ts: ConfigSchemaLookupResult",
"src/config/schema.ts: ConfigSchemaReloadKind",
"src/config/schema.ts: ConfigSchemaReloadMetadata",
"src/config/schema.ts: ConfigSchemaReloadMetadataResolver",
"src/config/schema.ts: ConfigUiHint",
"src/config/schema.ts: ConfigUiHints",
"src/config/sessions.ts: CanonicalizeSessionEntryAliasesResult",
"src/config/sessions.ts: DeleteSessionEntryLifecycleParams",
"src/config/sessions.ts: DeleteSessionEntryLifecycleResult",
"src/config/sessions.ts: ResetSessionEntryLifecycleParams",
"src/config/sessions.ts: ResetSessionEntryLifecycleResult",
"src/config/sessions.ts: ResolvedSessionEntryCandidateTarget",
"src/config/sessions.ts: SessionEntryCandidateAccessScope",
"src/config/sessions.ts: SessionLifecycleArchivedTranscript",
"src/config/sessions.ts: SessionLifecycleStoreTarget",
"src/config/sessions/artifacts.ts: isTrajectoryPointerArtifactName",
"src/config/sessions/artifacts.ts: isTrajectoryRuntimeArtifactName",
"src/config/sessions/artifacts.ts: parseCompactionCheckpointTranscriptFileName",
"src/config/sessions/cleanup-service.ts: SessionCleanupAction",
"src/config/sessions/cleanup-service.ts: SessionsCleanupRunResult",
"src/config/sessions/disk-budget.ts: SessionDiskBudgetConfig",
"src/config/sessions/disk-budget.ts: SessionDiskBudgetLogger",
"src/config/sessions/entry-freshness.ts: ResolvedSessionEntryResetFreshness",
"src/config/sessions/entry-freshness.ts: ResolveSessionEntryResetFreshnessParams",
"src/config/sessions/entry-freshness.ts: SessionEntryLifecycleTimestamps",
"src/config/sessions/goals.ts: SessionGoalSnapshot",
"src/config/sessions/lifecycle.ts: SESSION_WORK_START_INVALIDATED_ERROR_CODE",
"src/config/sessions/paths.ts: SAFE_SESSION_ID_RE",
"src/config/sessions/plugin-host-cleanup.ts: PluginHostSessionCleanupMode",
"src/config/sessions/reset-policy.ts: DEFAULT_RESET_AT_HOUR",
"src/config/sessions/reset-policy.ts: DEFAULT_RESET_MODE",
"src/config/sessions/reset-policy.ts: resolveDailyResetAtMs",
"src/config/sessions/reset.ts: DEFAULT_RESET_AT_HOUR",
"src/config/sessions/reset.ts: DEFAULT_RESET_MODE",
"src/config/sessions/reset.ts: isThreadSessionKey",
"src/config/sessions/reset.ts: resolveDailyResetAtMs",
"src/config/sessions/runtime-types.ts: ReadSessionUpdatedAt",
"src/config/sessions/runtime-types.ts: RecordSessionMetaFromInbound",
"src/config/sessions/runtime-types.ts: UpdateLastRoute",
"src/config/sessions/session-accessor.sqlite.ts: appendSqliteTranscriptEvents",
"src/config/sessions/session-accessor.sqlite.ts: deleteSqliteTranscript",
"src/config/sessions/session-accessor.sqlite.ts: sqliteTranscriptExists",
"src/config/sessions/session-registry-maintenance.ts: SessionRegistryMaintenanceStoreOptions",
"src/config/sessions/session-registry-maintenance.ts: SessionRegistryMaintenanceStoreSummary",
"src/config/sessions/session-transcript-index.ts: extractTranscriptIndexEntry",
"src/config/sessions/session-transcript-search.ts: resetSessionTranscriptSearchForTest",
"src/config/sessions/session-transcript-search.ts: waitForSessionTranscriptReconcileForTest",
"src/config/sessions/skill-prompt-blobs.ts: getSessionSkillPromptRefCacheStatsForTest",
"src/config/sessions/skill-prompt-blobs.ts: getValidSessionSkillPromptBlobCacheStatsForTest",
"src/config/sessions/store-cache.ts: DeepReadonly",
"src/config/sessions/store-cache.ts: getSerializedSessionStoreCacheStatsForTest",
"src/config/sessions/store-cache.ts: getSessionStoreSnapshotCacheStatsForTest",
"src/config/sessions/store-cache.ts: getSessionStoreStringInternStatsForTest",
"src/config/sessions/store-load.ts: LoadSessionStoreOptions",
"src/config/sessions/store-load.ts: ReadSessionEntryOptions",
"src/config/sessions/store-load.ts: readSessionStoreSnapshot",
"src/config/sessions/store-maintenance-operations.ts: FileBackedSessionStoreMaintenanceParams",
"src/config/sessions/store-maintenance-operations.ts: FileBackedSessionStoreMaintenanceResult",
"src/config/sessions/store-maintenance-preserve.ts: SessionMaintenancePreserveKeysProvider",
"src/config/sessions/store-maintenance.ts: isGatewayModelRunSessionKey",
"src/config/sessions/store-maintenance.ts: isProtectedSessionMaintenanceEntry",
"src/config/sessions/store-maintenance.ts: QuotaSuspensionEntryMaintenanceResult",
"src/config/sessions/store-maintenance.ts: resolveSessionEntryMaintenanceHighWater",
"src/config/sessions/store-writer-state.ts: getSessionStoreWriterQueueSizeForTest",
"src/config/sessions/store-writer-state.ts: SessionStoreWriterQueue",
"src/config/sessions/store-writer.ts: RunExclusiveSessionStoreWriteOptions",
"src/config/sessions/store.ts: applySessionEntryLifecycleMutation",
"src/config/sessions/store.ts: archiveRemovedSessionTranscripts",
"src/config/sessions/store.ts: capEntryCount",
"src/config/sessions/store.ts: cleanupSessionLifecycleArtifacts",
"src/config/sessions/store.ts: drainSessionStoreWriterQueuesForTest",
"src/config/sessions/store.ts: getActiveSessionMaintenanceWarning",
"src/config/sessions/store.ts: getSessionStoreWriterQueueSizeForTest",
"src/config/sessions/store.ts: listSessionEntries",
"src/config/sessions/store.ts: normalizeStoreSessionKey",
"src/config/sessions/store.ts: patchSessionEntry",
"src/config/sessions/store.ts: pruneStaleModelRunEntries",
"src/config/sessions/store.ts: purgeDeletedAgentSessionEntries",
"src/config/sessions/store.ts: readSessionEntries",
"src/config/sessions/store.ts: readSessionStoreSnapshot",
"src/config/sessions/store.ts: recordSessionMetaFromInbound",
"src/config/sessions/store.ts: ResolvedSessionMaintenanceConfig",
"src/config/sessions/store.ts: resolveMaintenanceConfig",
"src/config/sessions/store.ts: rollbackAgentHarnessSessionEntryLifecycle",
"src/config/sessions/store.ts: rollbackPluginOwnedSessionEntryLifecycle",
"src/config/sessions/store.ts: SessionMaintenanceApplyReport",
"src/config/sessions/store.ts: SessionMaintenanceWarning",
"src/config/sessions/store.ts: SessionStoreSnapshot",
"src/config/sessions/store.ts: SessionStoreSnapshotEntries",
"src/config/sessions/store.ts: SessionStoreSnapshotEntry",
"src/config/sessions/store.ts: updateLastRoute",
"src/config/sessions/store.ts: upsertSessionEntry",
"src/config/sessions/transcript-jsonl.ts: appendJsonlEntry",
"src/config/sessions/transcript-jsonl.ts: appendSerializedJsonlEntry",
"src/config/sessions/transcript-jsonl.ts: writeJsonlEntry",
"src/config/sessions/transcript-replay.ts: DEFAULT_REPLAY_MAX_MESSAGES",
"src/config/sessions/transcript-stream.ts: TranscriptReverseStreamOptions",
"src/config/sessions/transcript-stream.ts: TranscriptStreamOptions",
"src/config/sessions/transcript-tree.ts: SessionTranscriptTreeEntry",
"src/config/sessions/transcript-tree.ts: SessionTranscriptTreeNode",
"src/config/sessions/transcript-write-context.ts: resolveOwnedSessionTranscriptWriteLockRunner",
"src/config/sessions/transcript-write-context.ts: runWithOwnedSessionTranscriptWritePublication",
"src/config/sessions/transcript.ts: ReadRecentSessionConversationTextOptions",
"src/config/sessions/transcript.ts: ReadRecentSessionConversationTextParams",
"src/config/sessions/transcript.ts: readRecentUserAssistantTextFromSessionTranscript",
"src/config/sessions/transcript.ts: TailAssistantTranscriptText",
"src/config/sessions/types.ts: LaneExecutionState",
"src/config/sessions/types.ts: mergeSessionEntryWithPolicy",
"src/config/sessions/types.ts: SessionAcpIdentitySource",
"src/config/sessions/types.ts: SessionAcpIdentityState",
"src/config/sessions/types.ts: SessionChannelId",
"src/config/sessions/types.ts: SessionCompactionTranscriptReference",
"src/config/sessions/types.ts: SessionContextBudgetStatusRoute",
"src/config/sessions/types.ts: SessionEntryMergePolicy",
"src/config/sessions/types.ts: SessionPluginDebugEntry",
"src/config/sessions/types.ts: SessionPluginJsonValue",
"src/config/sessions/types.ts: SessionPluginNextTurnInjection",
"src/config/sessions/types.ts: SubagentRecoveryState",
"src/config/state-dir-dotenv.ts: DurableServiceEnvVarSources",
"src/config/state-dir-dotenv.ts: readStateDirDotEnvVars",
"src/config/validation.ts: __testing",
"src/config/validation.ts: testing",
"src/config/version.ts: isSameOpenClawStableFamily",
"src/config/version.ts: parseOpenClawVersion",
"src/config/zod-schema.agent-runtime.ts: AgentRuntimePolicySchema",
"src/config/zod-schema.agents.ts: BroadcastStrategySchema",
"src/config/zod-schema.core.ts: _ModelCompatSchemaAssignableToType",
"src/config/zod-schema.core.ts: _ModelCompatTypeAssignableToSchema",
"src/config/zod-schema.core.ts: _ToolsMediaAsyncCompletionSchemaAssignableToType",
"src/config/zod-schema.core.ts: _ToolsMediaAsyncCompletionTypeAssignableToSchema",
"src/config/zod-schema.core.ts: MarkdownTableModeSchema",
"src/config/zod-schema.core.ts: MentionPatternsModeSchema",
"src/config/zod-schema.core.ts: normalizeAllowFrom",
"src/config/zod-schema.providers-core.ts: DiscordAccountSchema",
"src/config/zod-schema.providers-core.ts: DiscordDmSchema",
"src/config/zod-schema.providers-core.ts: DiscordGuildChannelSchema",
"src/config/zod-schema.providers-core.ts: DiscordGuildSchema",
"src/config/zod-schema.providers-core.ts: DiscordThreadSchema",
"src/config/zod-schema.providers-core.ts: IMessageAccountSchemaBase",
"src/config/zod-schema.providers-core.ts: IrcAccountSchema",
"src/config/zod-schema.providers-core.ts: IrcAccountSchemaBase",
"src/config/zod-schema.providers-core.ts: IrcConfigSchema",
"src/config/zod-schema.providers-core.ts: IrcGroupSchema",
"src/config/zod-schema.providers-core.ts: IrcNickServSchema",
"src/config/zod-schema.providers-core.ts: MSTeamsChannelSchema",
"src/config/zod-schema.providers-core.ts: MSTeamsTeamSchema",
"src/config/zod-schema.providers-core.ts: SignalAccountSchemaBase",
"src/config/zod-schema.providers-core.ts: SlackAccountSchema",
"src/config/zod-schema.providers-core.ts: SlackChannelSchema",
"src/config/zod-schema.providers-core.ts: SlackDmSchema",
"src/config/zod-schema.providers-core.ts: SlackRelaySchema",
"src/config/zod-schema.providers-core.ts: SlackSocketModeSchema",
"src/config/zod-schema.providers-core.ts: SlackThreadSchema",
"src/config/zod-schema.providers-core.ts: TelegramAccountSchema",
"src/config/zod-schema.providers-core.ts: TelegramAccountSchemaBase",
"src/config/zod-schema.providers-core.ts: TelegramDirectSchema",
"src/config/zod-schema.providers-core.ts: TelegramGroupSchema",
"src/config/zod-schema.providers-core.ts: TelegramTopicSchema",
"src/config/zod-schema.providers-googlechat.ts: GoogleChatAccountSchema",
"src/config/zod-schema.providers-googlechat.ts: GoogleChatDmSchema",
"src/config/zod-schema.providers-googlechat.ts: GoogleChatGroupSchema",
"src/config/zod-schema.providers-whatsapp.ts: WhatsAppAccountSchema",
"src/config/zod-schema.proxy.ts: ProxyLoopbackModeSchema",
"src/config/zod-schema.ts: installZodDefaultLocale",
"src/config/zod-schema.ts: McpServerSchema",
"src/context-engine/registry.ts: clearContextEngineRuntimeQuarantine",
"src/context-engine/registry.ts: ContextEngineRegistrationResult",
"src/context-engine/registry.ts: getContextEngineFactory",
@@ -1606,345 +1398,6 @@ export const KNIP_UNUSED_EXPORT_BASELINE = [
"src/image-generation/runtime-types.ts: ListRuntimeImageGenerationProvidersParams",
"src/image-generation/runtime-types.ts: RuntimeImageGenerationProvider",
"src/image-generation/runtime.ts: ImageGenerationRuntimeDeps",
"src/infra/active-node-context.ts: ActiveNodeContext",
"src/infra/active-node-context.ts: resetActiveNodeContextForTests",
"src/infra/agent-events.ts: AgentApprovalEventKind",
"src/infra/agent-events.ts: AgentApprovalEventPhase",
"src/infra/agent-events.ts: AgentApprovalEventStatus",
"src/infra/agent-events.ts: AgentItemEventKind",
"src/infra/agent-events.ts: AgentItemEventPhase",
"src/infra/agent-events.ts: AgentItemEventStatus",
"src/infra/agent-events.ts: AgentRunContext",
"src/infra/agent-events.ts: resetAgentRunContextForTest",
"src/infra/approval-native-route-coordinator.ts: clearApprovalNativeRouteStateForTest",
"src/infra/approval-resolution-ref.ts: APPROVAL_RESOLUTION_REF_LENGTH",
"src/infra/approval-view-model.ts: isTypedApprovalActionView",
"src/infra/archive.ts: ArchiveSecurityError",
"src/infra/backup-create.ts: __test",
"src/infra/backup-create.ts: buildExtensionsNodeModulesFilter",
"src/infra/backup-create.ts: testApi",
"src/infra/clawhub-install-trust.ts: ClawHubTrustAcceptedResult",
"src/infra/clawhub-install-trust.ts: ClawHubTrustFailure",
"src/infra/clawhub-install-trust.ts: ClawHubTrustInstallRecordFields",
"src/infra/clawhub.ts: ClawHubArtifactModerationState",
"src/infra/clawhub.ts: ClawHubArtifactScanState",
"src/infra/clawhub.ts: ClawHubPackageEnvironmentSummary",
"src/infra/clawhub.ts: ClawHubPackageHostTarget",
"src/infra/clawhub.ts: ClawHubPackageListItem",
"src/infra/clawhub.ts: ClawHubPromotionModel",
"src/infra/clawhub.ts: ClawHubPromotionsFeed",
"src/infra/clawhub.ts: ClawHubPromotionsFeedFetchResult",
"src/infra/clawhub.ts: ClawHubSkillSecurityVerdictRequestItem",
"src/infra/clawhub.ts: ClawHubSkillSecurityVerdictsResponse",
"src/infra/clawhub.ts: ClawHubSkillVerificationDecision",
"src/infra/clawhub.ts: parseClawHubPromotion",
"src/infra/clawhub.ts: resolveClawHubAuthToken",
"src/infra/command-analysis/explain.ts: explainCommandForDisplay",
"src/infra/command-analysis/explain.ts: summarizeCommandExplanation",
"src/infra/command-analysis/explain.ts: summarizeCommandSegmentsForDisplay",
"src/infra/command-analysis/policy.ts: CommandPolicyAnalysis",
"src/infra/command-analysis/risks.ts: CarriedShellBuiltinHit",
"src/infra/command-analysis/risks.ts: COMMAND_CARRIER_EXECUTABLES",
"src/infra/command-analysis/risks.ts: CommandCarrierHit",
"src/infra/command-analysis/risks.ts: detectEnvSplitStringFlag",
"src/infra/command-analysis/risks.ts: resolveCarrierCommandArgv",
"src/infra/command-carriers.ts: ParsedEnvInvocationPrelude",
"src/infra/command-explainer/tree-sitter-runtime.ts: getBashParserForCommandExplanation",
"src/infra/command-explainer/tree-sitter-runtime.ts: resolvePackageFileForCommandExplanation",
"src/infra/command-explainer/tree-sitter-runtime.ts: setBashParserLoaderForCommandExplanationForTest",
"src/infra/control-ui-assets.ts: resolveControlUiDistIndexPath",
"src/infra/control-ui-assets.ts: resolveControlUiRepoRoot",
"src/infra/delivery-queue-sqlite.ts: DeliveryQueueEntryState",
"src/infra/delivery-queue-sqlite.ts: FailedDeliveryQueueCount",
"src/infra/delivery-queue-sqlite.ts: FailPendingDeliveryQueueEntryResult",
"src/infra/delivery-recovery.shared.ts: RECOVERY_REPLAY_SPACING_MS",
"src/infra/dev-install-branch.ts: detectDevInstallGitBranch",
"src/infra/device-bootstrap.ts: DEVICE_BOOTSTRAP_TOKEN_TTL_MS",
"src/infra/device-bootstrap.ts: DeviceBootstrapTokenRecord",
"src/infra/device-pairing-migration.ts: LegacyDevicePairingMigrationResult",
"src/infra/device-pairing-store.ts: DevicePairingStoreState",
"src/infra/device-pairing-store.ts: DevicePairingStoreTarget",
"src/infra/device-pairing-store.ts: resolveDevicePairingStateDbOptions",
"src/infra/device-pairing.ts: ApproveDevicePairingResult",
"src/infra/device-pairing.ts: DevicePairingAccessMetadata",
"src/infra/device-pairing.ts: DevicePairingForbiddenReason",
"src/infra/device-pairing.ts: DevicePairingForbiddenResult",
"src/infra/device-pairing.ts: DevicePairingList",
"src/infra/device-pairing.ts: DevicePairingPendingRecord",
"src/infra/device-pairing.ts: DevicePairingSupersededRequest",
"src/infra/device-pairing.ts: PairedDeviceApprovalKind",
"src/infra/device-pairing.ts: PairedDeviceMetadataPatch",
"src/infra/device-pairing.ts: PairedDeviceNodeSurface",
"src/infra/device-pairing.ts: RequestDevicePairingResult",
"src/infra/device-pairing.ts: RevokeDeviceTokenResult",
"src/infra/device-pairing.ts: RotateDeviceTokenResult",
"src/infra/diagnostic-trace-context.ts: resetDiagnosticTraceContextForTest",
"src/infra/dispatch-wrapper-resolution.ts: unwrapEnvInvocation",
"src/infra/ed25519-signature.ts: base64UrlEncode",
"src/infra/event-session-routing.ts: parseDirectAgentSessionTarget",
"src/infra/exec-approval-forwarder.ts: buildExecApprovalRequestMessage",
"src/infra/exec-approval-policy-snapshot.ts: ExecApprovalPolicyRule",
"src/infra/exec-approvals-effective.ts: ExecPolicyHostDefaults",
"src/infra/exec-approvals.ts: DurableExecApprovalRequirement",
"src/infra/exec-approvals.ts: persistAllowAlwaysDecisionLocked",
"src/infra/exec-approvals.ts: recordAllowlistMatchesUseLocked",
"src/infra/exec-authorization-plan.ts: ExecAuthorizationDialect",
"src/infra/exec-authorization-plan.ts: ExecAuthorizationGroup",
"src/infra/exec-authorization-plan.ts: ExecAuthorizationTransport",
"src/infra/exec-authorization-plan.ts: ExecAuthorizationTrustMode",
"src/infra/exec-authorization-render.ts: AuthorizedShellRenderMode",
"src/infra/exec-authorization-render.ts: AuthorizedShellRenderResult",
"src/infra/exec-auto-review.ts: ExecAutoReviewHost",
"src/infra/exec-control-command-guard.ts: UnsafeExecControlShellCommandKind",
"src/infra/exec-policy.ts: ExecPolicyLayer",
"src/infra/exec-safe-bin-policy-profiles.ts: renderDefaultSafeBinsDocText",
"src/infra/exec-safe-bin-policy-profiles.ts: renderSafeBinDeniedFlagsDocBullets",
"src/infra/exec-safe-bin-policy-profiles.ts: SAFE_BIN_PROFILE_FIXTURES",
"src/infra/exec-safe-bin-policy.ts: buildLongFlagPrefixMap",
"src/infra/exec-safe-bin-policy.ts: collectKnownLongFlags",
"src/infra/exec-safe-bin-policy.ts: renderDefaultSafeBinsDocText",
"src/infra/exec-safe-bin-policy.ts: renderSafeBinDeniedFlagsDocBullets",
"src/infra/exec-safe-bin-policy.ts: SAFE_BIN_PROFILE_FIXTURES",
"src/infra/exec-wrapper-resolution.ts: basenameLower",
"src/infra/exec-wrapper-resolution.ts: extractShellWrapperInlineCommand",
"src/infra/exec-wrapper-resolution.ts: isDispatchWrapperExecutable",
"src/infra/exec-wrapper-resolution.ts: resolveDispatchWrapperTrustPlan",
"src/infra/exec-wrapper-resolution.ts: unwrapEnvInvocation",
"src/infra/exec-wrapper-tokens.ts: basenameLower",
"src/infra/executable-path.ts: isExecutableFile",
"src/infra/file-store.ts: FileStore",
"src/infra/fs-safe-advanced.ts: assertNoHardlinkedFinalPath",
"src/infra/fs-safe-advanced.ts: FileIdentityStat",
"src/infra/fs-safe-advanced.ts: writeSiblingTempFile",
"src/infra/gateway-active-work.ts: GatewayActiveWorkCounts",
"src/infra/gateway-boot-lifecycle.ts: GATEWAY_BOOT_LIFECYCLE_RETENTION_MS",
"src/infra/gateway-boot-lifecycle.ts: GATEWAY_BOOT_LOOP_UNCLEAN_THRESHOLD",
"src/infra/gateway-boot-lifecycle.ts: GATEWAY_BOOT_LOOP_WINDOW_MS",
"src/infra/gateway-boot-lifecycle.ts: GatewayBootLifecycleOutcome",
"src/infra/gateway-suspend-coordinator.ts: GATEWAY_SUSPEND_RETRY_AFTER_MS",
"src/infra/gateway-suspend-coordinator.ts: GATEWAY_SUSPEND_TTL_MS",
"src/infra/gateway-suspend-coordinator.ts: GatewaySuspendPrepareResult",
"src/infra/gateway-suspend-coordinator.ts: GatewaySuspendResumeResult",
"src/infra/gateway-suspend-coordinator.ts: GatewaySuspendStatusResult",
"src/infra/gateway-suspend-coordinator.ts: resetGatewaySuspendCoordinatorForTest",
"src/infra/git-commit.ts: CommitMetadataReaders",
"src/infra/git-commit.ts: testing",
"src/infra/heartbeat-cooldown.ts: DEFAULT_FLOOD_THRESHOLD",
"src/infra/heartbeat-cooldown.ts: DEFAULT_MIN_WAKE_SPACING_MS",
"src/infra/heartbeat-cooldown.ts: ShouldDeferInput",
"src/infra/heartbeat-wake.ts: hasHeartbeatWakeHandler",
"src/infra/heartbeat-wake.ts: hasPendingHeartbeatWake",
"src/infra/heartbeat-wake.ts: HeartbeatWakeOverride",
"src/infra/heartbeat-wake.ts: resetHeartbeatWakeStateForTests",
"src/infra/heartbeat-wake.ts: RetryableHeartbeatBusySkipReason",
"src/infra/inline-option-token.ts: InlineOptionToken",
"src/infra/install-source-utils.ts: NpmResolutionFields",
"src/infra/jsonl-socket.ts: testApi",
"src/infra/net/http-connect-tunnel.ts: HttpConnectTunnelParams",
"src/infra/net/proxy/active-proxy-state.ts: resetActiveManagedProxyStateForTests",
"src/infra/net/proxy/proxy-validation.ts: DEFAULT_PROXY_VALIDATION_ALLOWED_URLS",
"src/infra/net/proxy/proxy-validation.ts: ProxyValidationApnsCheck",
"src/infra/net/proxy/proxy-validation.ts: ProxyValidationApnsCheckParams",
"src/infra/net/proxy/proxy-validation.ts: ProxyValidationApnsCheckResult",
"src/infra/net/proxy/proxy-validation.ts: ProxyValidationCheck",
"src/infra/net/proxy/proxy-validation.ts: ProxyValidationCheckKind",
"src/infra/net/proxy/proxy-validation.ts: ProxyValidationConfigSource",
"src/infra/net/proxy/proxy-validation.ts: ProxyValidationFetchCheck",
"src/infra/net/proxy/proxy-validation.ts: ProxyValidationFetchCheckParams",
"src/infra/net/proxy/proxy-validation.ts: ProxyValidationFetchCheckResult",
"src/infra/net/proxy/proxy-validation.ts: ProxyValidationResolvedConfig",
"src/infra/net/proxy/proxy-validation.ts: resolveProxyValidationConfig",
"src/infra/net/proxy/proxy-validation.ts: ResolveProxyValidationConfigOptions",
"src/infra/net/proxy/proxy-validation.ts: RunProxyValidationOptions",
"src/infra/net/undici-runtime.ts: TEST_UNDICI_RUNTIME_DEPS_KEY",
"src/infra/node-pairing-migration.ts: LegacyNodePairingMigrationResult",
"src/infra/node-pairing.ts: NodePairingPendingSnapshot",
"src/infra/npm-integrity.ts: resolveNpmIntegrityDrift",
"src/infra/npm-managed-root.ts: MissingRequiredPlatformPackage",
"src/infra/npm-pack-install.ts: installFromNpmSpecArchive",
"src/infra/npm-registry-spec.ts: isOpenClawStableCorrectionVersion",
"src/infra/openclaw-exec-env.ts: OPENCLAW_CLI_ENV_VALUE",
"src/infra/openclaw-root.ts: __testing",
"src/infra/openclaw-root.ts: testing",
"src/infra/outbound/channel-resolution.ts: resetOutboundChannelResolutionStateForTest",
"src/infra/outbound/channel-selection.ts: testing",
"src/infra/outbound/deliver-types.ts: PLATFORM_MESSAGE_NOT_DISPATCHED_ERROR_CODE",
"src/infra/outbound/deliver.ts: normalizeOutboundPayloads",
"src/infra/outbound/delivery-queue-recovery.ts: computeBackoffMs",
"src/infra/outbound/delivery-queue-recovery.ts: isEntryEligibleForRecoveryRetry",
"src/infra/outbound/delivery-queue-recovery.ts: isPermanentDeliveryError",
"src/infra/outbound/delivery-queue-recovery.ts: MAX_RETRIES",
"src/infra/outbound/delivery-queue.ts: computeBackoffMs",
"src/infra/outbound/delivery-queue.ts: failPendingDelivery",
"src/infra/outbound/delivery-queue.ts: isEntryEligibleForRecoveryRetry",
"src/infra/outbound/delivery-queue.ts: isPermanentDeliveryError",
"src/infra/outbound/delivery-queue.ts: loadPendingDeliveries",
"src/infra/outbound/delivery-queue.ts: loadPendingDelivery",
"src/infra/outbound/delivery-queue.ts: MAX_RETRIES",
"src/infra/outbound/delivery-queue.ts: moveToFailed",
"src/infra/outbound/directory-cache.ts: DirectoryCacheKey",
"src/infra/outbound/payloads.ts: normalizeOutboundPayloads",
"src/infra/outbound/target-errors.ts: ambiguousTargetMessage",
"src/infra/outbound/target-errors.ts: missingTargetMessage",
"src/infra/outbound/target-errors.ts: unknownTargetMessage",
"src/infra/outbound/target-normalization.ts: testing",
"src/infra/outbound/target-resolver.ts: resolveMessagingTarget",
"src/infra/package-dist-inventory.ts: assertNoLegacyPluginDependencyStagingDebris",
"src/infra/package-dist-inventory.ts: collectLegacyPluginDependencyStagingDebrisPaths",
"src/infra/package-dist-inventory.ts: isLegacyPluginDependencyInstallStagePath",
"src/infra/package-dist-inventory.ts: LOCAL_BUILD_METADATA_DIST_PATHS",
"src/infra/package-dist-inventory.ts: writePackageDistInventory",
"src/infra/package-json.ts: readPackageJson",
"src/infra/package-manager-exec-wrapper.ts: NPM_EXEC_OPTIONS_WITH_VALUE",
"src/infra/package-manager-exec-wrapper.ts: PackageManagerExecInvocation",
"src/infra/package-update-steps.ts: PackageUpdateStepResult",
"src/infra/pairing-files.ts: writeJson",
"src/infra/pairing-token.ts: PAIRING_TOKEN_BYTES",
"src/infra/path-guards.ts: hasNodeErrorCode",
"src/infra/path-guards.ts: isNodeError",
"src/infra/path-guards.ts: isPathInsideWithRealpath",
"src/infra/path-guards.ts: isSymlinkOpenError",
"src/infra/path-guards.ts: isWithinDir",
"src/infra/path-guards.ts: resolveSafeBaseDir",
"src/infra/path-guards.ts: resolveSafeRelativePath",
"src/infra/path-guards.ts: safeRealpathSync",
"src/infra/path-guards.ts: splitSafeRelativePath",
"src/infra/path-safety.ts: hasNodeErrorCode",
"src/infra/path-safety.ts: isNodeError",
"src/infra/path-safety.ts: isNotFoundPathError",
"src/infra/path-safety.ts: isSymlinkOpenError",
"src/infra/path-safety.ts: normalizeWindowsPathForComparison",
"src/infra/path-safety.ts: resolveSafeBaseDir",
"src/infra/path-safety.ts: resolveSafeRelativePath",
"src/infra/path-safety.ts: splitSafeRelativePath",
"src/infra/permissions.ts: formatWindowsAclSummary",
"src/infra/permissions.ts: inspectWindowsAcl",
"src/infra/permissions.ts: parseIcaclsOutput",
"src/infra/permissions.ts: resolveWindowsUserPrincipal",
"src/infra/permissions.ts: summarizeWindowsAcl",
"src/infra/permissions.ts: WindowsAclEntry",
"src/infra/permissions.ts: WindowsAclSummary",
"src/infra/ports-format.ts: formatPortListener",
"src/infra/ports-format.ts: isSingleExpectedGatewayListener",
"src/infra/ports-netstat.ts: WindowsNetstatListener",
"src/infra/ports.ts: buildPortHints",
"src/infra/ports.ts: isSingleExpectedGatewayListener",
"src/infra/ports.ts: PortConnections",
"src/infra/ports.ts: PortListenerKind",
"src/infra/private-file-store.ts: PrivateFileStoreSync",
"src/infra/promotions-feed.ts: PromotionClaimRecord",
"src/infra/promotions-feed.ts: PromotionsFeedState",
"src/infra/promotions-feed.ts: readPromotionsFeedState",
"src/infra/push-apns-http2.ts: ApnsResponseBodyCapture",
"src/infra/push-apns-http2.ts: ConnectApnsHttp2SessionParams",
"src/infra/push-apns-http2.ts: ProbeApnsHttp2ReachabilityViaProxyParams",
"src/infra/push-apns-http2.ts: ProbeApnsHttp2ReachabilityViaProxyResult",
"src/infra/push-apns.relay.ts: DEFAULT_APNS_RELAY_BASE_URL",
"src/infra/push-apns.relay.ts: DEFAULT_APNS_SANDBOX_RELAY_BASE_URL",
"src/infra/push-apns.ts: ApnsPushResult",
"src/infra/push-apns.ts: shouldInvalidateApnsRegistration",
"src/infra/push-web.ts: listWebPushSubscriptions",
"src/infra/regular-file.ts: RegularFileStatResult",
"src/infra/regular-file.ts: resolveRegularFileAppendFlags",
"src/infra/regular-file.ts: statRegularFile",
"src/infra/regular-file.ts: statRegularFileSync",
"src/infra/resolve-system-bin.ts: getTrustedDirsForTest",
"src/infra/resolve-system-bin.ts: resetResolveSystemBin",
"src/infra/restart-coordinator.ts: SafeGatewayRestartBlocker",
"src/infra/restart-coordinator.ts: SafeGatewayRestartCounts",
"src/infra/restart-coordinator.ts: SafeGatewayRestartPreflight",
"src/infra/restart-handoff.ts: GATEWAY_SUPERVISOR_RESTART_HANDOFF_KIND",
"src/infra/restart-handoff.ts: GatewayRestartHandoffRestartKind",
"src/infra/restart-handoff.ts: GatewayRestartHandoffSource",
"src/infra/restart-handoff.ts: GatewayRestartHandoffSupervisorMode",
"src/infra/restart-sentinel.ts: RestartSentinel",
"src/infra/restart-sentinel.ts: RestartSentinelLog",
"src/infra/restart-sentinel.ts: RestartSentinelStats",
"src/infra/restart-sentinel.ts: RestartSentinelStep",
"src/infra/restart-stale-pids.ts: __testing",
"src/infra/restart-stale-pids.ts: testing",
"src/infra/restart.ts: __testing",
"src/infra/restart.ts: DEFAULT_RESTART_DEFERRAL_TIMEOUT_MS",
"src/infra/restart.ts: emitGatewayRestart",
"src/infra/restart.ts: findGatewayPidsOnPortSync",
"src/infra/restart.ts: GatewayRestartEmitResult",
"src/infra/restart.ts: RestartAttempt",
"src/infra/restart.ts: RestartAuditInfo",
"src/infra/restart.ts: RestartDeferralHooks",
"src/infra/restart.ts: RestartEmitHooks",
"src/infra/restart.ts: testing",
"src/infra/root-paths.ts: ensureDirectoryWithinRoot",
"src/infra/runtime-guard.ts: detectRuntime",
"src/infra/runtime-guard.ts: parseMinimumNodeEngine",
"src/infra/runtime-guard.ts: RuntimeDetails",
"src/infra/runtime-guard.ts: runtimeSatisfies",
"src/infra/session-cost-usage-cache.sqlite.ts: sessionCostUsageCacheTestApi",
"src/infra/session-cost-usage.ts: loadSessionCostSummaryFromCache",
"src/infra/session-cost-usage.ts: refreshCostUsageCache",
"src/infra/session-cost-usage.ts: requestCostUsageCacheRefresh",
"src/infra/session-delivery-queue-recovery.ts: isSessionDeliveryEligibleForRetry",
"src/infra/session-delivery-queue.ts: ackSessionDelivery",
"src/infra/session-delivery-queue.ts: failSessionDelivery",
"src/infra/session-delivery-queue.ts: isSessionDeliveryEligibleForRetry",
"src/infra/session-delivery-queue.ts: loadPendingSessionDeliveries",
"src/infra/session-maintenance-warning.ts: __testing",
"src/infra/session-maintenance-warning.ts: testing",
"src/infra/shell-env.ts: resetShellPathCacheForTests",
"src/infra/shell-inline-command.ts: POWERSHELL_INLINE_COMMAND_FLAGS",
"src/infra/sqlite-integrity.ts: SqliteIntegrityChecks",
"src/infra/sqlite-snapshot.ts: CreateVerifiedSqliteSnapshotOptions",
"src/infra/sqlite-snapshot.ts: PublishedSqliteFileGuard",
"src/infra/sqlite-snapshot.ts: PublishVerifiedSqliteFileOptions",
"src/infra/sqlite-snapshot.ts: SqliteFileContent",
"src/infra/sqlite-snapshot.ts: VerifiedSqliteSnapshot",
"src/infra/sqlite-wal.ts: DEFAULT_SQLITE_WAL_AUTOCHECKPOINT_PAGES",
"src/infra/sqlite-wal.ts: DEFAULT_SQLITE_WAL_CHECKPOINT_INTERVAL_MS",
"src/infra/sqlite-wal.ts: enableIncrementalAutoVacuumForFreshDatabase",
"src/infra/stale-lock-file.ts: LockFileOwnerPayload",
"src/infra/state-migrations.cron-run-logs.ts: CRON_RUN_LOG_TASK_IMPORT_MIGRATION_ID",
"src/infra/state-migrations.cron-run-logs.ts: CronRunLogTaskImportResult",
"src/infra/state-migrations.debug-proxy.ts: LegacyDebugProxyCaptureDetection",
"src/infra/state-migrations.fs.ts: isLegacyWhatsAppAuthFile",
"src/infra/state-migrations.session-store.ts: sessionStoreTextMayNeedCanonicalization",
"src/infra/state-migrations.ts: sessionStoreTextMayNeedCanonicalization",
"src/infra/supervisor-markers.ts: DetectRespawnSupervisorOptions",
"src/infra/system-run-approval-binding.ts: matchSystemRunApprovalEnvHash",
"src/infra/system-run-command.ts: validateSystemRunCommandConsistency",
"src/infra/tailnet.ts: listTailnetAddresses",
"src/infra/tailscale.ts: getTestTailscaleBinaryOverride",
"src/infra/tailscale.ts: tailscaleFunnelStatusCoversPort",
"src/infra/update-channels.ts: isPrereleaseTag",
"src/infra/update-channels.ts: UpdateChannelSource",
"src/infra/update-check.ts: checkDepsStatus",
"src/infra/update-check.ts: DepsStatus",
"src/infra/update-check.ts: ExtendedStableResolutionResult",
"src/infra/update-check.ts: fetchNpmLatestVersion",
"src/infra/update-check.ts: fetchNpmRegistryVersionForChannel",
"src/infra/update-check.ts: GitUpdateStatus",
"src/infra/update-check.ts: NpmPackageTargetStatus",
"src/infra/update-check.ts: NpmTagStatus",
"src/infra/update-check.ts: PackageManager",
"src/infra/update-check.ts: RegistryStatus",
"src/infra/update-global.ts: isExplicitPackageInstallSpec",
"src/infra/update-global.ts: isMainPackageTarget",
"src/infra/update-global.ts: OPENCLAW_MAIN_PACKAGE_SPEC",
"src/infra/update-global.ts: resolveGlobalInstallCommand",
"src/infra/update-global.ts: resolveGlobalRoot",
"src/infra/update-managed-service-handoff.ts: ManagedServiceUpdateHandoffResult",
"src/infra/update-managed-service-handoff.ts: stripSupervisorHintEnv",
"src/infra/update-package-manager.ts: PackageManagerCommandRunner",
"src/infra/update-post-core-finalize.ts: PostCoreFinalizeOutcome",
"src/infra/update-post-core-finalize.ts: PostCoreFinalizeSpawner",
"src/infra/update-runner.ts: UpdateInstallSurface",
"src/infra/update-runner.ts: UpdateStepCompletion",
"src/infra/voicewake-routing.ts: normalizeVoiceWakeTriggerWord",
"src/infra/windows-encoding.ts: parseWindowsCodePage",
"src/infra/windows-install-roots.ts: DEFAULT_WINDOWS_SYSTEM_ROOT",
"src/infra/windows-install-roots.ts: normalizeWindowsInstallRoot",
"src/infra/windows-install-roots.ts: privateTestApi",
"src/infra/windows-install-roots.ts: resetWindowsInstallRootsForTests",
"src/infra/windows-shell-command.ts: RebuiltShellCommandResult",
"src/infra/windows-shell-command.ts: ShellSegmentRenderResult",
"src/llm/providers/stream-wrappers/anthropic-family-cache-semantics.ts: isAnthropicBedrockModel",
"src/llm/utils/node-http-proxy.ts: resolveHttpProxyUrlForTarget",
"src/llm/utils/node-http-proxy.ts: UNSUPPORTED_PROXY_PROTOCOL_MESSAGE",
+125
View File
@@ -0,0 +1,125 @@
import fs from "node:fs/promises";
import path from "node:path";
import { sortUniqueStrings } from "@openclaw/normalization-core/string-normalization";
import { writeJson } from "../../src/infra/json-files.ts";
import {
collectPackageDistInventory,
PACKAGE_DIST_INVENTORY_RELATIVE_PATH,
} from "../../src/infra/package-dist-inventory.ts";
export { LOCAL_BUILD_METADATA_DIST_PATHS } from "./local-build-metadata-paths.mjs";
export { PACKAGE_DIST_INVENTORY_RELATIVE_PATH };
const INSTALL_STAGE_DEBRIS_DIR_PATTERN = /^\.openclaw-install-stage(?:-[^/]+)?$/iu;
function normalizeRelativePath(value: string): string {
return value.replace(/\\/g, "/");
}
function isInstallStageDirName(value: string): boolean {
return INSTALL_STAGE_DEBRIS_DIR_PATTERN.test(value);
}
export function isLegacyPluginDependencyInstallStagePath(relativePath: string): boolean {
const parts = normalizeRelativePath(relativePath).split("/");
return (
parts.length >= 4 &&
parts[0]?.toLowerCase() === "dist" &&
parts[1]?.toLowerCase() === "extensions" &&
Boolean(parts[2]) &&
isInstallStageDirName(parts[3] ?? "")
);
}
async function collectLegacyPluginDependencyStagingDebrisPaths(
packageRoot: string,
): Promise<string[]> {
const distDirs: string[] = [];
try {
const packageRootEntries = await fs.readdir(packageRoot, { withFileTypes: true });
for (const entry of packageRootEntries) {
if (entry.isDirectory() && entry.name.toLowerCase() === "dist") {
distDirs.push(path.join(packageRoot, entry.name));
}
}
} catch (error) {
if ((error as NodeJS.ErrnoException).code === "ENOENT") {
return [];
}
throw error;
}
const debris: string[] = [];
for (const distDir of distDirs) {
let distEntries: import("node:fs").Dirent[];
try {
distEntries = await fs.readdir(distDir, { withFileTypes: true });
} catch (error) {
if ((error as NodeJS.ErrnoException).code === "ENOENT") {
continue;
}
throw error;
}
for (const distEntry of distEntries) {
if (!distEntry.isDirectory() || distEntry.name.toLowerCase() !== "extensions") {
continue;
}
const extensionsDir = path.join(distDir, distEntry.name);
let extensionEntries: import("node:fs").Dirent[];
try {
extensionEntries = await fs.readdir(extensionsDir, { withFileTypes: true });
} catch (error) {
if ((error as NodeJS.ErrnoException).code === "ENOENT") {
continue;
}
throw error;
}
for (const extensionEntry of extensionEntries) {
if (!extensionEntry.isDirectory()) {
continue;
}
const extensionPath = path.join(extensionsDir, extensionEntry.name);
let stagingEntries: import("node:fs").Dirent[];
try {
stagingEntries = await fs.readdir(extensionPath, { withFileTypes: true });
} catch (error) {
if ((error as NodeJS.ErrnoException).code === "ENOENT") {
continue;
}
throw error;
}
for (const stagingEntry of stagingEntries) {
if (!isInstallStageDirName(stagingEntry.name)) {
continue;
}
debris.push(
normalizeRelativePath(
path.relative(packageRoot, path.join(extensionPath, stagingEntry.name)),
),
);
}
}
}
}
return debris.toSorted((left, right) => left.localeCompare(right));
}
async function assertNoLegacyPluginDependencyStagingDebris(packageRoot: string): Promise<void> {
const debris = await collectLegacyPluginDependencyStagingDebrisPaths(packageRoot);
if (debris.length === 0) {
return;
}
throw new Error(
`unexpected legacy plugin dependency staging debris in package dist: ${debris.join(", ")}`,
);
}
export async function writePackageDistInventory(packageRoot: string): Promise<string[]> {
await assertNoLegacyPluginDependencyStagingDebris(packageRoot);
const inventory = sortUniqueStrings(await collectPackageDistInventory(packageRoot));
const inventoryPath = path.join(packageRoot, PACKAGE_DIST_INVENTORY_RELATIVE_PATH);
await writeJson(inventoryPath, inventory, { trailingNewline: true });
return inventory;
}
@@ -11,8 +11,8 @@
"src/commands/doctor/shared/codex-route-warnings.ts": 3,
"src/config/sessions/session-accessor.sqlite.ts": 2,
"src/config/sessions/session-accessor.ts": 12,
"src/config/sessions/store-load.ts": 5,
"src/config/sessions/store.ts": 15,
"src/config/sessions/store-load.ts": 3,
"src/config/sessions/store.ts": 10,
"src/config/sessions/test-helpers.ts": 2,
"src/config/sessions/transcript.ts": 2
},
@@ -31,7 +31,7 @@
"sessionLifecycleCleanup": {
"src/config/sessions/session-accessor.sqlite.ts": 2,
"src/config/sessions/store-maintenance-operations.ts": 2,
"src/config/sessions/store.ts": 5
"src/config/sessions/store.ts": 2
},
"transcriptWriter": {
"src/agents/embedded-agent-runner/compaction-hooks.ts": 2,
@@ -39,7 +39,6 @@
"src/agents/embedded-agent-runner/tool-result-truncation.ts": 3,
"src/agents/embedded-agent-runner/transcript-rewrite.ts": 3,
"src/config/sessions/session-accessor.sqlite.ts": 3,
"src/config/sessions/session-accessor.ts": 2,
"src/config/sessions/store.ts": 2
"src/config/sessions/session-accessor.ts": 2
}
}
+5 -5
View File
@@ -5,17 +5,17 @@ import { execFileSync } from "node:child_process";
import { readFileSync } from "node:fs";
import { join } from "node:path";
import { pathToFileURL } from "node:url";
import {
LOCAL_BUILD_METADATA_DIST_PATHS,
PACKAGE_DIST_INVENTORY_RELATIVE_PATH,
writePackageDistInventory,
} from "../src/infra/package-dist-inventory.ts";
import {
compareReleaseVersions as compareReleaseVersionsBase,
collectReleaseVersionFloorErrors as collectReleaseVersionFloorErrorsBase,
resolveNpmDistTagMirrorAuth as resolveNpmDistTagMirrorAuthBase,
parseReleaseVersion as parseReleaseVersionBase,
} from "./lib/npm-publish-plan.mjs";
import {
LOCAL_BUILD_METADATA_DIST_PATHS,
PACKAGE_DIST_INVENTORY_RELATIVE_PATH,
writePackageDistInventory,
} from "./lib/package-dist-inventory.ts";
import { WORKSPACE_TEMPLATE_PACK_PATHS } from "./lib/workspace-bootstrap-smoke.mjs";
import { buildCmdExeCommandLine, resolveWindowsCmdExePath } from "./windows-cmd-helpers.mjs";
+1 -1
View File
@@ -5,7 +5,7 @@ import { spawnSync, type SpawnSyncOptions } from "node:child_process";
import { existsSync, readdirSync } from "node:fs";
import { pathToFileURL } from "node:url";
import { formatErrorMessage } from "../src/infra/errors.ts";
import { writePackageDistInventory } from "../src/infra/package-dist-inventory.ts";
import { writePackageDistInventory } from "./lib/package-dist-inventory.ts";
import { preparePackageChangelog } from "./package-changelog.mjs";
import { createPnpmRunnerSpawnSpec } from "./pnpm-runner.mjs";
const FULL_GIT_COMMIT_RE = /^[0-9a-f]{40}$/iu;
+1 -1
View File
@@ -742,7 +742,7 @@ async function main() {
"tsx",
"--input-type=module",
"-e",
"const { writePackageDistInventory } = await import('./src/infra/package-dist-inventory.ts'); await writePackageDistInventory(process.cwd());",
"const { writePackageDistInventory } = await import('./scripts/lib/package-dist-inventory.ts'); await writePackageDistInventory(process.cwd());",
],
sourceDir,
{
+6 -6
View File
@@ -20,12 +20,6 @@ import { basename, dirname, join, resolve, win32 } from "node:path";
import { pathToFileURL } from "node:url";
import { expectDefined } from "../packages/normalization-core/src/expect.js";
import { COMPLETION_SKIP_PLUGIN_COMMANDS_ENV } from "../src/cli/completion-runtime.ts";
import {
isLegacyPluginDependencyInstallStagePath,
LOCAL_BUILD_METADATA_DIST_PATHS,
PACKAGE_DIST_INVENTORY_RELATIVE_PATH,
writePackageDistInventory,
} from "../src/infra/package-dist-inventory.ts";
import { escapeRegExp } from "../src/shared/regexp.js";
import { checkCliBootstrapExternalImports } from "./check-cli-bootstrap-imports.mjs";
import {
@@ -38,6 +32,12 @@ import {
listBundledPluginPackArtifacts,
} from "./lib/bundled-plugin-build-entries.mjs";
import { collectPackUnpackedSizeErrors as collectNpmPackUnpackedSizeErrors } from "./lib/npm-pack-budget.mjs";
import {
isLegacyPluginDependencyInstallStagePath,
LOCAL_BUILD_METADATA_DIST_PATHS,
PACKAGE_DIST_INVENTORY_RELATIVE_PATH,
writePackageDistInventory,
} from "./lib/package-dist-inventory.ts";
import { collectBundledPluginPackageDependencySpecs } from "./lib/plugin-package-dependencies.mjs";
import {
listPluginSdkDistArtifacts,
+1 -1
View File
@@ -2,7 +2,7 @@
// Write Package Dist Inventory script supports OpenClaw repository automation.
import { pathToFileURL } from "node:url";
import { writePackageDistInventory } from "../src/infra/package-dist-inventory.ts";
import { writePackageDistInventory } from "./lib/package-dist-inventory.ts";
async function writeCurrentPackageDistInventory(): Promise<void> {
await writePackageDistInventory(process.cwd());