@agimon-ai/doompi 0.0.1-alpha.2 → 0.0.1-alpha.21
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/README.md +437 -452
- package/assets/doompi-tui.png +0 -0
- package/dist/adapters/bootstrapClaim.cjs +2 -0
- package/dist/adapters/bootstrapClaim.cjs.map +1 -0
- package/dist/adapters/bootstrapClaim.mjs +2 -0
- package/dist/adapters/bootstrapClaim.mjs.map +1 -0
- package/dist/adapters/bootstrapLocator.cjs +2 -0
- package/dist/adapters/bootstrapLocator.cjs.map +1 -0
- package/dist/adapters/bootstrapLocator.d.cts +6 -0
- package/dist/adapters/bootstrapLocator.d.cts.map +1 -0
- package/dist/adapters/bootstrapLocator.d.mts +6 -0
- package/dist/adapters/bootstrapLocator.d.mts.map +1 -0
- package/dist/adapters/bootstrapLocator.mjs +2 -0
- package/dist/adapters/bootstrapLocator.mjs.map +1 -0
- package/dist/adapters/compatibility/antigravity.cjs +2 -0
- package/dist/{services → adapters}/compatibility/antigravity.cjs.map +1 -1
- package/dist/adapters/compatibility/antigravity.d.cts +11 -0
- package/dist/{services → adapters}/compatibility/antigravity.d.cts.map +1 -1
- package/dist/adapters/compatibility/antigravity.d.mts +11 -0
- package/dist/{services → adapters}/compatibility/antigravity.d.mts.map +1 -1
- package/dist/adapters/compatibility/antigravity.mjs +2 -0
- package/dist/{services → adapters}/compatibility/antigravity.mjs.map +1 -1
- package/dist/adapters/compatibility/codex.cjs +2 -0
- package/dist/{services → adapters}/compatibility/codex.cjs.map +1 -1
- package/dist/adapters/compatibility/codex.d.cts +19 -0
- package/dist/{services → adapters}/compatibility/codex.d.cts.map +1 -1
- package/dist/adapters/compatibility/codex.d.mts +19 -0
- package/dist/{services → adapters}/compatibility/codex.d.mts.map +1 -1
- package/dist/adapters/compatibility/codex.mjs +2 -0
- package/dist/{services → adapters}/compatibility/codex.mjs.map +1 -1
- package/dist/adapters/compatibility/index.cjs +2 -0
- package/dist/adapters/compatibility/index.cjs.map +1 -0
- package/dist/adapters/compatibility/index.d.cts +16 -0
- package/dist/{services → adapters}/compatibility/index.d.cts.map +1 -1
- package/dist/adapters/compatibility/index.d.mts +16 -0
- package/dist/{services → adapters}/compatibility/index.d.mts.map +1 -1
- package/dist/adapters/compatibility/index.mjs +2 -0
- package/dist/adapters/compatibility/index.mjs.map +1 -0
- package/dist/adapters/compatibility/process.cjs +2 -0
- package/dist/{services → adapters}/compatibility/process.cjs.map +1 -1
- package/dist/adapters/compatibility/process.d.cts +35 -0
- package/dist/{services → adapters}/compatibility/process.d.cts.map +1 -1
- package/dist/adapters/compatibility/process.d.mts +35 -0
- package/dist/{services → adapters}/compatibility/process.d.mts.map +1 -1
- package/dist/adapters/compatibility/process.mjs +2 -0
- package/dist/{services → adapters}/compatibility/process.mjs.map +1 -1
- package/dist/adapters/compatibility/shared.cjs +2 -0
- package/dist/{services → adapters}/compatibility/shared.cjs.map +1 -1
- package/dist/adapters/compatibility/shared.d.cts +33 -0
- package/dist/{services → adapters}/compatibility/shared.d.cts.map +1 -1
- package/dist/adapters/compatibility/shared.d.mts +33 -0
- package/dist/{services → adapters}/compatibility/shared.d.mts.map +1 -1
- package/dist/adapters/compatibility/shared.mjs +2 -0
- package/dist/{services → adapters}/compatibility/shared.mjs.map +1 -1
- package/dist/adapters/compatibilityContext.cjs +2 -0
- package/dist/adapters/compatibilityContext.cjs.map +1 -0
- package/dist/adapters/compatibilityContext.d.cts +23 -0
- package/dist/{services → adapters}/compatibilityContext.d.cts.map +1 -1
- package/dist/adapters/compatibilityContext.d.mts +23 -0
- package/dist/{services → adapters}/compatibilityContext.d.mts.map +1 -1
- package/dist/adapters/compatibilityContext.mjs +2 -0
- package/dist/adapters/compatibilityContext.mjs.map +1 -0
- package/dist/adapters/composer.cjs +2 -0
- package/dist/adapters/composer.cjs.map +1 -0
- package/dist/adapters/composer.d.cts +113 -0
- package/dist/adapters/composer.d.cts.map +1 -0
- package/dist/adapters/composer.d.mts +113 -0
- package/dist/adapters/composer.d.mts.map +1 -0
- package/dist/adapters/composer.mjs +2 -0
- package/dist/adapters/composer.mjs.map +1 -0
- package/dist/adapters/compositionState.cjs +2 -0
- package/dist/adapters/compositionState.cjs.map +1 -0
- package/dist/adapters/compositionState.d.cts +12 -0
- package/dist/adapters/compositionState.d.cts.map +1 -0
- package/dist/adapters/compositionState.d.mts +12 -0
- package/dist/adapters/compositionState.d.mts.map +1 -0
- package/dist/adapters/compositionState.mjs +2 -0
- package/dist/adapters/compositionState.mjs.map +1 -0
- package/dist/adapters/config/harnessState.cjs +2 -0
- package/dist/adapters/config/harnessState.cjs.map +1 -0
- package/dist/adapters/config/harnessState.d.cts +26 -0
- package/dist/adapters/config/harnessState.d.cts.map +1 -0
- package/dist/adapters/config/harnessState.d.mts +26 -0
- package/dist/adapters/config/harnessState.d.mts.map +1 -0
- package/dist/adapters/config/harnessState.mjs +2 -0
- package/dist/adapters/config/harnessState.mjs.map +1 -0
- package/dist/adapters/deferredSkills.cjs +12 -0
- package/dist/adapters/deferredSkills.cjs.map +1 -0
- package/dist/adapters/deferredSkills.mjs +12 -0
- package/dist/adapters/deferredSkills.mjs.map +1 -0
- package/dist/adapters/doomPackage.cjs +2 -0
- package/dist/adapters/doomPackage.cjs.map +1 -0
- package/dist/adapters/doomPackage.mjs +2 -0
- package/dist/adapters/doomPackage.mjs.map +1 -0
- package/dist/adapters/dpiRunner.cjs +3 -0
- package/dist/adapters/dpiRunner.cjs.map +1 -0
- package/dist/adapters/dpiRunner.mjs +3 -0
- package/dist/adapters/dpiRunner.mjs.map +1 -0
- package/dist/adapters/dpiSettings.cjs +2 -0
- package/dist/adapters/dpiSettings.cjs.map +1 -0
- package/dist/adapters/dpiSettings.mjs +2 -0
- package/dist/adapters/dpiSettings.mjs.map +1 -0
- package/dist/adapters/extensionCompiler.cjs +3 -0
- package/dist/adapters/extensionCompiler.cjs.map +1 -0
- package/dist/adapters/extensionCompiler.mjs +3 -0
- package/dist/adapters/extensionCompiler.mjs.map +1 -0
- package/dist/adapters/harnessContext.cjs +2 -0
- package/dist/adapters/harnessContext.cjs.map +1 -0
- package/dist/adapters/harnessContext.d.cts +61 -0
- package/dist/{services → adapters}/harnessContext.d.cts.map +1 -1
- package/dist/adapters/harnessContext.d.mts +61 -0
- package/dist/{services → adapters}/harnessContext.d.mts.map +1 -1
- package/dist/adapters/harnessContext.mjs +2 -0
- package/dist/adapters/harnessContext.mjs.map +1 -0
- package/dist/adapters/helpSkills.cjs +2 -0
- package/dist/adapters/helpSkills.cjs.map +1 -0
- package/dist/adapters/helpSkills.mjs +2 -0
- package/dist/adapters/helpSkills.mjs.map +1 -0
- package/dist/adapters/layerPackageInstaller.cjs +2 -0
- package/dist/adapters/layerPackageInstaller.cjs.map +1 -0
- package/dist/adapters/layerPackageInstaller.mjs +2 -0
- package/dist/adapters/layerPackageInstaller.mjs.map +1 -0
- package/dist/adapters/matrixSwitcher.cjs +2 -0
- package/dist/adapters/matrixSwitcher.cjs.map +1 -0
- package/dist/adapters/matrixSwitcher.d.cts +46 -0
- package/dist/{services → adapters}/matrixSwitcher.d.cts.map +1 -1
- package/dist/adapters/matrixSwitcher.d.mts +46 -0
- package/dist/{services → adapters}/matrixSwitcher.d.mts.map +1 -1
- package/dist/adapters/matrixSwitcher.mjs +2 -0
- package/dist/adapters/matrixSwitcher.mjs.map +1 -0
- package/dist/adapters/mcpFilter.cjs +3 -0
- package/dist/adapters/mcpFilter.cjs.map +1 -0
- package/dist/adapters/mcpFilter.d.cts +40 -0
- package/dist/adapters/mcpFilter.d.cts.map +1 -0
- package/dist/adapters/mcpFilter.d.mts +40 -0
- package/dist/adapters/mcpFilter.d.mts.map +1 -0
- package/dist/adapters/mcpFilter.mjs +3 -0
- package/dist/adapters/mcpFilter.mjs.map +1 -0
- package/dist/adapters/modules/moduleResolution.cjs +2 -0
- package/dist/adapters/modules/moduleResolution.cjs.map +1 -0
- package/dist/adapters/modules/moduleResolution.d.cts +69 -0
- package/dist/adapters/modules/moduleResolution.d.cts.map +1 -0
- package/dist/adapters/modules/moduleResolution.d.mts +69 -0
- package/dist/adapters/modules/moduleResolution.d.mts.map +1 -0
- package/dist/adapters/modules/moduleResolution.mjs +2 -0
- package/dist/adapters/modules/moduleResolution.mjs.map +1 -0
- package/dist/adapters/packageBootstrap.cjs +2 -0
- package/dist/adapters/packageBootstrap.cjs.map +1 -0
- package/dist/adapters/packageBootstrap.d.cts +8 -0
- package/dist/adapters/packageBootstrap.d.cts.map +1 -0
- package/dist/adapters/packageBootstrap.d.mts +8 -0
- package/dist/adapters/packageBootstrap.d.mts.map +1 -0
- package/dist/adapters/packageBootstrap.mjs +2 -0
- package/dist/adapters/packageBootstrap.mjs.map +1 -0
- package/dist/adapters/piExtensionAlias.cjs +2 -0
- package/dist/adapters/piExtensionAlias.cjs.map +1 -0
- package/dist/adapters/piExtensionAlias.mjs +2 -0
- package/dist/adapters/piExtensionAlias.mjs.map +1 -0
- package/dist/adapters/piSettings.cjs +2 -0
- package/dist/adapters/piSettings.cjs.map +1 -0
- package/dist/adapters/piSettings.d.cts +25 -0
- package/dist/adapters/piSettings.d.cts.map +1 -0
- package/dist/adapters/piSettings.d.mts +25 -0
- package/dist/adapters/piSettings.d.mts.map +1 -0
- package/dist/adapters/piSettings.mjs +2 -0
- package/dist/adapters/piSettings.mjs.map +1 -0
- package/dist/adapters/pluginMaterializer.cjs +2 -0
- package/dist/adapters/pluginMaterializer.cjs.map +1 -0
- package/dist/adapters/pluginMaterializer.mjs +2 -0
- package/dist/adapters/pluginMaterializer.mjs.map +1 -0
- package/dist/adapters/projectPiSettings.cjs +2 -0
- package/dist/adapters/projectPiSettings.cjs.map +1 -0
- package/dist/adapters/projectPiSettings.d.cts +29 -0
- package/dist/adapters/projectPiSettings.d.cts.map +1 -0
- package/dist/adapters/projectPiSettings.d.mts +29 -0
- package/dist/adapters/projectPiSettings.d.mts.map +1 -0
- package/dist/adapters/projectPiSettings.mjs +2 -0
- package/dist/adapters/projectPiSettings.mjs.map +1 -0
- package/dist/adapters/repository/repository.cjs +2 -0
- package/dist/adapters/repository/repository.cjs.map +1 -0
- package/dist/adapters/repository/repository.d.cts +21 -0
- package/dist/adapters/repository/repository.d.cts.map +1 -0
- package/dist/adapters/repository/repository.d.mts +21 -0
- package/dist/adapters/repository/repository.d.mts.map +1 -0
- package/dist/adapters/repository/repository.mjs +2 -0
- package/dist/adapters/repository/repository.mjs.map +1 -0
- package/dist/adapters/resourceCollector.cjs +3 -0
- package/dist/adapters/resourceCollector.cjs.map +1 -0
- package/dist/adapters/resourceCollector.d.cts +25 -0
- package/dist/adapters/resourceCollector.d.cts.map +1 -0
- package/dist/adapters/resourceCollector.d.mts +25 -0
- package/dist/adapters/resourceCollector.d.mts.map +1 -0
- package/dist/adapters/resourceCollector.mjs +3 -0
- package/dist/adapters/resourceCollector.mjs.map +1 -0
- package/dist/adapters/runtimeBundle.cjs +2 -0
- package/dist/adapters/runtimeBundle.cjs.map +1 -0
- package/dist/{services → adapters}/runtimeBundle.d.cts +4 -2
- package/dist/adapters/runtimeBundle.d.cts.map +1 -0
- package/dist/{services → adapters}/runtimeBundle.d.mts +4 -2
- package/dist/adapters/runtimeBundle.d.mts.map +1 -0
- package/dist/adapters/runtimeBundle.mjs +2 -0
- package/dist/adapters/runtimeBundle.mjs.map +1 -0
- package/dist/adapters/serialization/json.cjs +2 -0
- package/dist/adapters/serialization/json.cjs.map +1 -0
- package/dist/adapters/serialization/json.d.cts +23 -0
- package/dist/adapters/serialization/json.d.cts.map +1 -0
- package/dist/adapters/serialization/json.d.mts +23 -0
- package/dist/adapters/serialization/json.d.mts.map +1 -0
- package/dist/adapters/serialization/json.mjs +2 -0
- package/dist/adapters/serialization/json.mjs.map +1 -0
- package/dist/adapters/sharedBuildCache.cjs +2 -0
- package/dist/adapters/sharedBuildCache.cjs.map +1 -0
- package/dist/adapters/sharedBuildCache.mjs +2 -0
- package/dist/adapters/sharedBuildCache.mjs.map +1 -0
- package/dist/adapters/skillCatalog.cjs +2 -0
- package/dist/adapters/skillCatalog.cjs.map +1 -0
- package/dist/adapters/skillCatalog.d.cts +61 -0
- package/dist/adapters/skillCatalog.d.cts.map +1 -0
- package/dist/adapters/skillCatalog.d.mts +61 -0
- package/dist/adapters/skillCatalog.d.mts.map +1 -0
- package/dist/adapters/skillCatalog.mjs +2 -0
- package/dist/adapters/skillCatalog.mjs.map +1 -0
- package/dist/adapters/skillSources.cjs +2 -0
- package/dist/{services → adapters}/skillSources.cjs.map +1 -1
- package/dist/adapters/skillSources.d.cts +24 -0
- package/dist/{services → adapters}/skillSources.d.cts.map +1 -1
- package/dist/adapters/skillSources.d.mts +24 -0
- package/dist/{services → adapters}/skillSources.d.mts.map +1 -1
- package/dist/adapters/skillSources.mjs +2 -0
- package/dist/{services → adapters}/skillSources.mjs.map +1 -1
- package/dist/adapters/startupPrecompiler.cjs +2 -0
- package/dist/adapters/startupPrecompiler.cjs.map +1 -0
- package/dist/adapters/startupPrecompiler.d.cts +13 -0
- package/dist/adapters/startupPrecompiler.d.cts.map +1 -0
- package/dist/adapters/startupPrecompiler.d.mts +13 -0
- package/dist/adapters/startupPrecompiler.d.mts.map +1 -0
- package/dist/adapters/startupPrecompiler.mjs +2 -0
- package/dist/adapters/startupPrecompiler.mjs.map +1 -0
- package/dist/adapters/syncLocation.cjs +2 -0
- package/dist/adapters/syncLocation.cjs.map +1 -0
- package/dist/adapters/syncLocation.d.cts +19 -0
- package/dist/adapters/syncLocation.d.cts.map +1 -0
- package/dist/adapters/syncLocation.d.mts +19 -0
- package/dist/adapters/syncLocation.d.mts.map +1 -0
- package/dist/adapters/syncLocation.mjs +2 -0
- package/dist/adapters/syncLocation.mjs.map +1 -0
- package/dist/adapters/syncState.cjs +2 -0
- package/dist/adapters/syncState.cjs.map +1 -0
- package/dist/adapters/syncState.d.cts +153 -0
- package/dist/adapters/syncState.d.cts.map +1 -0
- package/dist/adapters/syncState.d.mts +153 -0
- package/dist/adapters/syncState.d.mts.map +1 -0
- package/dist/adapters/syncState.mjs +2 -0
- package/dist/adapters/syncState.mjs.map +1 -0
- package/dist/adapters/syncStateContract.cjs +2 -0
- package/dist/adapters/syncStateContract.cjs.map +1 -0
- package/dist/adapters/syncStateContract.d.cts +13 -0
- package/dist/adapters/syncStateContract.d.cts.map +1 -0
- package/dist/adapters/syncStateContract.d.mts +13 -0
- package/dist/adapters/syncStateContract.d.mts.map +1 -0
- package/dist/adapters/syncStateContract.mjs +2 -0
- package/dist/adapters/syncStateContract.mjs.map +1 -0
- package/dist/adapters/syncedRuntimeBuilder.cjs +2 -0
- package/dist/adapters/syncedRuntimeBuilder.cjs.map +1 -0
- package/dist/adapters/syncedRuntimeBuilder.d.cts +11 -0
- package/dist/adapters/syncedRuntimeBuilder.d.cts.map +1 -0
- package/dist/adapters/syncedRuntimeBuilder.d.mts +11 -0
- package/dist/adapters/syncedRuntimeBuilder.d.mts.map +1 -0
- package/dist/adapters/syncedRuntimeBuilder.mjs +2 -0
- package/dist/adapters/syncedRuntimeBuilder.mjs.map +1 -0
- package/dist/adapters/telemetry/logSinkTelemetry.cjs +2 -0
- package/dist/adapters/telemetry/logSinkTelemetry.cjs.map +1 -0
- package/dist/adapters/telemetry/logSinkTelemetry.d.cts +51 -0
- package/dist/adapters/telemetry/logSinkTelemetry.d.cts.map +1 -0
- package/dist/adapters/telemetry/logSinkTelemetry.d.mts +51 -0
- package/dist/adapters/telemetry/logSinkTelemetry.d.mts.map +1 -0
- package/dist/adapters/telemetry/logSinkTelemetry.mjs +2 -0
- package/dist/adapters/telemetry/logSinkTelemetry.mjs.map +1 -0
- package/dist/bin/cli.cjs +1 -1
- package/dist/bin/cli.cjs.map +1 -1
- package/dist/bin/cli.mjs +1 -1
- package/dist/bin/cli.mjs.map +1 -1
- package/dist/bin/dpi.cjs +3 -0
- package/dist/bin/dpi.cjs.map +1 -0
- package/dist/bin/dpi.d.cts +1 -0
- package/dist/bin/dpi.d.mts +1 -0
- package/dist/bin/dpi.mjs +3 -0
- package/dist/bin/dpi.mjs.map +1 -0
- package/dist/cli/cliApp.cjs +1 -2
- package/dist/cli/cliApp.d.cts +2 -45
- package/dist/cli/cliApp.d.mts +2 -45
- package/dist/cli/cliApp.mjs +1 -2
- package/dist/cli/compatibilityOptions.cjs +1 -2
- package/dist/cli/compatibilityOptions.d.cts +2 -15
- package/dist/cli/compatibilityOptions.d.mts +2 -15
- package/dist/cli/compatibilityOptions.mjs +1 -2
- package/dist/cli/help.cjs +1 -63
- package/dist/cli/help.d.cts +2 -6
- package/dist/cli/help.d.mts +2 -6
- package/dist/cli/help.mjs +1 -63
- package/dist/cli/index.cjs +1 -1
- package/dist/cli/index.d.cts +4 -4
- package/dist/cli/index.d.mts +4 -4
- package/dist/cli/index.mjs +1 -1
- package/dist/cli/matrixOptions.cjs +1 -2
- package/dist/cli/matrixOptions.d.cts +2 -99
- package/dist/cli/matrixOptions.d.mts +2 -99
- package/dist/cli/matrixOptions.mjs +1 -2
- package/dist/cli/options.cjs +1 -2
- package/dist/cli/options.d.cts +2 -7
- package/dist/cli/options.d.mts +2 -7
- package/dist/cli/options.mjs +1 -2
- package/dist/commands/baseCommand.cjs.map +1 -1
- package/dist/commands/baseCommand.d.cts +3 -3
- package/dist/commands/baseCommand.d.mts +3 -3
- package/dist/commands/baseCommand.mjs.map +1 -1
- package/dist/commands/buildCommand.cjs +2 -2
- package/dist/commands/buildCommand.cjs.map +1 -1
- package/dist/commands/buildCommand.mjs +2 -2
- package/dist/commands/buildCommand.mjs.map +1 -1
- package/dist/commands/cli/cliApp.cjs +2 -0
- package/dist/commands/cli/cliApp.cjs.map +1 -0
- package/dist/commands/cli/cliApp.d.cts +45 -0
- package/dist/commands/cli/cliApp.d.cts.map +1 -0
- package/dist/commands/cli/cliApp.d.mts +45 -0
- package/dist/commands/cli/cliApp.d.mts.map +1 -0
- package/dist/commands/cli/cliApp.mjs +2 -0
- package/dist/commands/cli/cliApp.mjs.map +1 -0
- package/dist/commands/cli/compatibilityOptions.cjs +2 -0
- package/dist/commands/cli/compatibilityOptions.cjs.map +1 -0
- package/dist/commands/cli/compatibilityOptions.d.cts +15 -0
- package/dist/commands/cli/compatibilityOptions.d.cts.map +1 -0
- package/dist/commands/cli/compatibilityOptions.d.mts +15 -0
- package/dist/commands/cli/compatibilityOptions.d.mts.map +1 -0
- package/dist/commands/cli/compatibilityOptions.mjs +2 -0
- package/dist/commands/cli/compatibilityOptions.mjs.map +1 -0
- package/dist/commands/cli/help.cjs +68 -0
- package/dist/{cli → commands/cli}/help.cjs.map +1 -1
- package/dist/commands/cli/help.d.cts +6 -0
- package/dist/commands/cli/help.d.cts.map +1 -0
- package/dist/commands/cli/help.d.mts +6 -0
- package/dist/commands/cli/help.d.mts.map +1 -0
- package/dist/commands/cli/help.mjs +68 -0
- package/dist/{cli → commands/cli}/help.mjs.map +1 -1
- package/dist/commands/cli/index.cjs +1 -0
- package/dist/commands/cli/index.d.cts +4 -0
- package/dist/commands/cli/index.d.mts +4 -0
- package/dist/commands/cli/index.mjs +1 -0
- package/dist/commands/cli/matrixOptions.cjs +2 -0
- package/dist/commands/cli/matrixOptions.cjs.map +1 -0
- package/dist/commands/cli/matrixOptions.d.cts +99 -0
- package/dist/commands/cli/matrixOptions.d.cts.map +1 -0
- package/dist/commands/cli/matrixOptions.d.mts +99 -0
- package/dist/commands/cli/matrixOptions.d.mts.map +1 -0
- package/dist/commands/cli/matrixOptions.mjs +2 -0
- package/dist/commands/cli/matrixOptions.mjs.map +1 -0
- package/dist/commands/cli/options.cjs +2 -0
- package/dist/commands/cli/options.cjs.map +1 -0
- package/dist/commands/cli/options.d.cts +7 -0
- package/dist/commands/cli/options.d.cts.map +1 -0
- package/dist/commands/cli/options.d.mts +7 -0
- package/dist/commands/cli/options.d.mts.map +1 -0
- package/dist/commands/cli/options.mjs +2 -0
- package/dist/commands/cli/options.mjs.map +1 -0
- package/dist/commands/compatibilityCommand.cjs +1 -1
- package/dist/commands/compatibilityCommand.cjs.map +1 -1
- package/dist/commands/compatibilityCommand.d.cts +1 -1
- package/dist/commands/compatibilityCommand.d.cts.map +1 -1
- package/dist/commands/compatibilityCommand.d.mts +1 -1
- package/dist/commands/compatibilityCommand.d.mts.map +1 -1
- package/dist/commands/compatibilityCommand.mjs +1 -1
- package/dist/commands/compatibilityCommand.mjs.map +1 -1
- package/dist/commands/emitMcpCommand.cjs +1 -1
- package/dist/commands/emitMcpCommand.cjs.map +1 -1
- package/dist/commands/emitMcpCommand.d.cts +2 -2
- package/dist/commands/emitMcpCommand.d.mts +2 -2
- package/dist/commands/emitMcpCommand.mjs +1 -1
- package/dist/commands/emitMcpCommand.mjs.map +1 -1
- package/dist/commands/explainCommand.cjs +2 -2
- package/dist/commands/explainCommand.cjs.map +1 -1
- package/dist/commands/explainCommand.d.cts +2 -2
- package/dist/commands/explainCommand.d.mts +2 -2
- package/dist/commands/explainCommand.mjs +2 -2
- package/dist/commands/explainCommand.mjs.map +1 -1
- package/dist/commands/index.cjs +1 -1
- package/dist/commands/index.d.cts +2 -3
- package/dist/commands/index.d.mts +2 -3
- package/dist/commands/index.mjs +1 -1
- package/dist/commands/initCommand.cjs +1 -2
- package/dist/commands/initCommand.cjs.map +1 -1
- package/dist/commands/initCommand.d.cts +4 -3
- package/dist/commands/initCommand.d.cts.map +1 -1
- package/dist/commands/initCommand.d.mts +4 -3
- package/dist/commands/initCommand.d.mts.map +1 -1
- package/dist/commands/initCommand.mjs +1 -2
- package/dist/commands/initCommand.mjs.map +1 -1
- package/dist/commands/initPresenter.cjs +3 -0
- package/dist/commands/initPresenter.cjs.map +1 -0
- package/dist/commands/initPresenter.d.cts +8 -0
- package/dist/commands/initPresenter.d.cts.map +1 -0
- package/dist/commands/initPresenter.d.mts +8 -0
- package/dist/commands/initPresenter.d.mts.map +1 -0
- package/dist/commands/initPresenter.mjs +3 -0
- package/dist/commands/initPresenter.mjs.map +1 -0
- package/dist/commands/launchCommand.cjs +1 -1
- package/dist/commands/launchCommand.cjs.map +1 -1
- package/dist/commands/launchCommand.d.cts +6 -4
- package/dist/commands/launchCommand.d.cts.map +1 -1
- package/dist/commands/launchCommand.d.mts +6 -4
- package/dist/commands/launchCommand.d.mts.map +1 -1
- package/dist/commands/launchCommand.mjs +1 -1
- package/dist/commands/launchCommand.mjs.map +1 -1
- package/dist/commands/syncCommand.cjs +5 -5
- package/dist/commands/syncCommand.cjs.map +1 -1
- package/dist/commands/syncCommand.d.cts +19 -7
- package/dist/commands/syncCommand.d.cts.map +1 -1
- package/dist/commands/syncCommand.d.mts +19 -7
- package/dist/commands/syncCommand.d.mts.map +1 -1
- package/dist/commands/syncCommand.mjs +5 -5
- package/dist/commands/syncCommand.mjs.map +1 -1
- package/dist/commands/syncPipeline.cjs +2 -0
- package/dist/commands/syncPipeline.cjs.map +1 -0
- package/dist/commands/syncPipeline.mjs +2 -0
- package/dist/commands/syncPipeline.mjs.map +1 -0
- package/dist/config/harnessState.cjs +1 -2
- package/dist/config/harnessState.d.cts +2 -24
- package/dist/config/harnessState.d.mts +2 -24
- package/dist/config/harnessState.mjs +1 -2
- package/dist/config/index.cjs +1 -1
- package/dist/config/index.d.cts +4 -7
- package/dist/config/index.d.mts +4 -7
- package/dist/config/index.mjs +1 -1
- package/dist/config/projectTrust.cjs +1 -2
- package/dist/config/projectTrust.d.cts +2 -14
- package/dist/config/projectTrust.d.mts +2 -14
- package/dist/config/projectTrust.mjs +1 -2
- package/dist/entries/autoStop.cjs +1 -2
- package/dist/entries/autoStop.d.cts +2 -6
- package/dist/entries/autoStop.d.mts +2 -7
- package/dist/entries/autoStop.mjs +1 -2
- package/dist/entries/components/matrixPicker.cjs +1 -2
- package/dist/entries/components/matrixPicker.d.cts +2 -55
- package/dist/entries/components/matrixPicker.d.mts +2 -55
- package/dist/entries/components/matrixPicker.mjs +1 -2
- package/dist/entries/components/skillsOverlay.cjs +1 -4
- package/dist/entries/components/skillsOverlay.d.cts +2 -58
- package/dist/entries/components/skillsOverlay.d.mts +2 -58
- package/dist/entries/components/skillsOverlay.mjs +1 -4
- package/dist/entries/domains.cjs +1 -2
- package/dist/entries/domains.d.cts +2 -10
- package/dist/entries/domains.d.mts +2 -10
- package/dist/entries/domains.mjs +1 -2
- package/dist/entries/doom.cjs +1 -2
- package/dist/entries/doom.d.cts +2 -13
- package/dist/entries/doom.d.mts +2 -14
- package/dist/entries/doom.mjs +1 -2
- package/dist/entries/effort.cjs +1 -2
- package/dist/entries/effort.d.cts +2 -10
- package/dist/entries/effort.d.mts +2 -10
- package/dist/entries/effort.mjs +1 -2
- package/dist/entries/majorMode.cjs +1 -6
- package/dist/entries/majorMode.d.cts +2 -29
- package/dist/entries/majorMode.d.mts +2 -29
- package/dist/entries/majorMode.mjs +1 -6
- package/dist/entries/modeCatalog.cjs +1 -0
- package/dist/entries/modeCatalog.d.cts +2 -0
- package/dist/entries/modeCatalog.d.mts +2 -0
- package/dist/entries/modeCatalog.mjs +1 -0
- package/dist/entries/notifications.cjs +1 -2
- package/dist/entries/notifications.d.cts +2 -13
- package/dist/entries/notifications.d.mts +2 -13
- package/dist/entries/notifications.mjs +1 -2
- package/dist/entries/ollamaProvider.cjs +1 -2
- package/dist/entries/ollamaProvider.d.cts +2 -6
- package/dist/entries/ollamaProvider.d.mts +2 -7
- package/dist/entries/ollamaProvider.mjs +1 -2
- package/dist/entries/persona.cjs +1 -2
- package/dist/entries/persona.d.cts +2 -14
- package/dist/entries/persona.d.mts +2 -15
- package/dist/entries/persona.mjs +1 -2
- package/dist/entries/profile.cjs +1 -3
- package/dist/entries/profile.d.cts +2 -16
- package/dist/entries/profile.d.mts +2 -16
- package/dist/entries/profile.mjs +1 -3
- package/dist/entries/repositoryHooks.cjs +1 -9
- package/dist/entries/repositoryHooks.d.cts +2 -7
- package/dist/entries/repositoryHooks.d.mts +2 -8
- package/dist/entries/repositoryHooks.mjs +1 -9
- package/dist/entries/skills.cjs +1 -2
- package/dist/entries/skills.d.cts +2 -34
- package/dist/entries/skills.d.mts +2 -34
- package/dist/entries/skills.mjs +1 -2
- package/dist/entries/styleSystem.cjs +1 -4
- package/dist/entries/styleSystem.d.cts +2 -32
- package/dist/entries/styleSystem.d.mts +2 -32
- package/dist/entries/styleSystem.mjs +1 -4
- package/dist/extensions/entries/autoStop.cjs +2 -0
- package/dist/extensions/entries/autoStop.cjs.map +1 -0
- package/dist/extensions/entries/autoStop.d.cts +7 -0
- package/dist/extensions/entries/autoStop.d.cts.map +1 -0
- package/dist/extensions/entries/autoStop.d.mts +7 -0
- package/dist/extensions/entries/autoStop.d.mts.map +1 -0
- package/dist/extensions/entries/autoStop.mjs +2 -0
- package/dist/extensions/entries/autoStop.mjs.map +1 -0
- package/dist/extensions/entries/cacheOptimizer.mjs +2 -0
- package/dist/extensions/entries/cacheOptimizer.mjs.map +1 -0
- package/dist/extensions/entries/components/matrixPicker.cjs +2 -0
- package/dist/extensions/entries/components/matrixPicker.cjs.map +1 -0
- package/dist/extensions/entries/components/matrixPicker.d.cts +55 -0
- package/dist/extensions/entries/components/matrixPicker.d.cts.map +1 -0
- package/dist/extensions/entries/components/matrixPicker.d.mts +55 -0
- package/dist/extensions/entries/components/matrixPicker.d.mts.map +1 -0
- package/dist/extensions/entries/components/matrixPicker.mjs +2 -0
- package/dist/extensions/entries/components/matrixPicker.mjs.map +1 -0
- package/dist/extensions/entries/components/skillsOverlay.cjs +4 -0
- package/dist/extensions/entries/components/skillsOverlay.cjs.map +1 -0
- package/dist/extensions/entries/components/skillsOverlay.d.cts +58 -0
- package/dist/extensions/entries/components/skillsOverlay.d.cts.map +1 -0
- package/dist/extensions/entries/components/skillsOverlay.d.mts +58 -0
- package/dist/extensions/entries/components/skillsOverlay.d.mts.map +1 -0
- package/dist/extensions/entries/components/skillsOverlay.mjs +4 -0
- package/dist/extensions/entries/components/skillsOverlay.mjs.map +1 -0
- package/dist/extensions/entries/domains.cjs +2 -0
- package/dist/extensions/entries/domains.cjs.map +1 -0
- package/dist/extensions/entries/domains.d.cts +18 -0
- package/dist/extensions/entries/domains.d.cts.map +1 -0
- package/dist/extensions/entries/domains.d.mts +18 -0
- package/dist/extensions/entries/domains.d.mts.map +1 -0
- package/dist/extensions/entries/domains.mjs +2 -0
- package/dist/extensions/entries/domains.mjs.map +1 -0
- package/dist/extensions/entries/doom.cjs +2 -0
- package/dist/extensions/entries/doom.cjs.map +1 -0
- package/dist/extensions/entries/doom.d.cts +14 -0
- package/dist/extensions/entries/doom.d.cts.map +1 -0
- package/dist/extensions/entries/doom.d.mts +14 -0
- package/dist/extensions/entries/doom.d.mts.map +1 -0
- package/dist/extensions/entries/doom.mjs +2 -0
- package/dist/extensions/entries/doom.mjs.map +1 -0
- package/dist/extensions/entries/effort.cjs +2 -0
- package/dist/extensions/entries/effort.cjs.map +1 -0
- package/dist/extensions/entries/effort.d.cts +10 -0
- package/dist/extensions/entries/effort.d.cts.map +1 -0
- package/dist/extensions/entries/effort.d.mts +10 -0
- package/dist/extensions/entries/effort.d.mts.map +1 -0
- package/dist/extensions/entries/effort.mjs +2 -0
- package/dist/extensions/entries/effort.mjs.map +1 -0
- package/dist/extensions/entries/majorMode.cjs +6 -0
- package/dist/extensions/entries/majorMode.cjs.map +1 -0
- package/dist/extensions/entries/majorMode.d.cts +27 -0
- package/dist/extensions/entries/majorMode.d.cts.map +1 -0
- package/dist/extensions/entries/majorMode.d.mts +27 -0
- package/dist/extensions/entries/majorMode.d.mts.map +1 -0
- package/dist/extensions/entries/majorMode.mjs +6 -0
- package/dist/extensions/entries/majorMode.mjs.map +1 -0
- package/dist/extensions/entries/modeCatalog.cjs +2 -0
- package/dist/extensions/entries/modeCatalog.cjs.map +1 -0
- package/dist/extensions/entries/modeCatalog.d.cts +7 -0
- package/dist/extensions/entries/modeCatalog.d.cts.map +1 -0
- package/dist/extensions/entries/modeCatalog.d.mts +7 -0
- package/dist/extensions/entries/modeCatalog.d.mts.map +1 -0
- package/dist/extensions/entries/modeCatalog.mjs +2 -0
- package/dist/extensions/entries/modeCatalog.mjs.map +1 -0
- package/dist/extensions/entries/notifications.cjs +2 -0
- package/dist/extensions/entries/notifications.cjs.map +1 -0
- package/dist/extensions/entries/notifications.d.cts +14 -0
- package/dist/extensions/entries/notifications.d.cts.map +1 -0
- package/dist/extensions/entries/notifications.d.mts +14 -0
- package/dist/extensions/entries/notifications.d.mts.map +1 -0
- package/dist/extensions/entries/notifications.mjs +2 -0
- package/dist/extensions/entries/notifications.mjs.map +1 -0
- package/dist/extensions/entries/ollamaProvider.cjs +2 -0
- package/dist/extensions/entries/ollamaProvider.cjs.map +1 -0
- package/dist/extensions/entries/ollamaProvider.d.cts +7 -0
- package/dist/extensions/entries/ollamaProvider.d.cts.map +1 -0
- package/dist/extensions/entries/ollamaProvider.d.mts +7 -0
- package/dist/extensions/entries/ollamaProvider.d.mts.map +1 -0
- package/dist/extensions/entries/ollamaProvider.mjs +2 -0
- package/dist/extensions/entries/ollamaProvider.mjs.map +1 -0
- package/dist/extensions/entries/persona.cjs +2 -0
- package/dist/extensions/entries/persona.cjs.map +1 -0
- package/dist/extensions/entries/persona.d.cts +15 -0
- package/dist/extensions/entries/persona.d.cts.map +1 -0
- package/dist/extensions/entries/persona.d.mts +15 -0
- package/dist/extensions/entries/persona.d.mts.map +1 -0
- package/dist/extensions/entries/persona.mjs +2 -0
- package/dist/extensions/entries/persona.mjs.map +1 -0
- package/dist/extensions/entries/profile.cjs +3 -0
- package/dist/extensions/entries/profile.cjs.map +1 -0
- package/dist/extensions/entries/profile.d.cts +18 -0
- package/dist/extensions/entries/profile.d.cts.map +1 -0
- package/dist/extensions/entries/profile.d.mts +18 -0
- package/dist/extensions/entries/profile.d.mts.map +1 -0
- package/dist/extensions/entries/profile.mjs +3 -0
- package/dist/extensions/entries/profile.mjs.map +1 -0
- package/dist/extensions/entries/repositoryHooks.cjs +9 -0
- package/dist/extensions/entries/repositoryHooks.cjs.map +1 -0
- package/dist/extensions/entries/repositoryHooks.d.cts +8 -0
- package/dist/extensions/entries/repositoryHooks.d.cts.map +1 -0
- package/dist/extensions/entries/repositoryHooks.d.mts +8 -0
- package/dist/extensions/entries/repositoryHooks.d.mts.map +1 -0
- package/dist/extensions/entries/repositoryHooks.mjs +9 -0
- package/dist/extensions/entries/repositoryHooks.mjs.map +1 -0
- package/dist/extensions/entries/shellTitleController.cjs +27 -0
- package/dist/extensions/entries/shellTitleController.cjs.map +1 -0
- package/dist/extensions/entries/shellTitleController.d.cts +11 -0
- package/dist/extensions/entries/shellTitleController.d.cts.map +1 -0
- package/dist/extensions/entries/shellTitleController.d.mts +11 -0
- package/dist/extensions/entries/shellTitleController.d.mts.map +1 -0
- package/dist/extensions/entries/shellTitleController.mjs +27 -0
- package/dist/extensions/entries/shellTitleController.mjs.map +1 -0
- package/dist/extensions/entries/skills.cjs +4 -0
- package/dist/extensions/entries/skills.cjs.map +1 -0
- package/dist/extensions/entries/skills.d.cts +34 -0
- package/dist/extensions/entries/skills.d.cts.map +1 -0
- package/dist/extensions/entries/skills.d.mts +34 -0
- package/dist/extensions/entries/skills.d.mts.map +1 -0
- package/dist/extensions/entries/skills.mjs +4 -0
- package/dist/extensions/entries/skills.mjs.map +1 -0
- package/dist/extensions/entries/styleSystem.cjs +4 -0
- package/dist/extensions/entries/styleSystem.cjs.map +1 -0
- package/dist/extensions/entries/styleSystem.d.cts +32 -0
- package/dist/extensions/entries/styleSystem.d.cts.map +1 -0
- package/dist/extensions/entries/styleSystem.d.mts +32 -0
- package/dist/extensions/entries/styleSystem.d.mts.map +1 -0
- package/dist/extensions/entries/styleSystem.mjs +4 -0
- package/dist/{entries/styleSystem.cjs.map → extensions/entries/styleSystem.mjs.map} +1 -1
- package/dist/extensions/pi.cjs +1 -0
- package/dist/extensions/pi.d.cts +2 -0
- package/dist/extensions/pi.d.mts +2 -0
- package/dist/extensions/pi.mjs +1 -0
- package/dist/extensions/services/domainSwitchHandoff.cjs +2 -0
- package/dist/extensions/services/domainSwitchHandoff.cjs.map +1 -0
- package/dist/extensions/services/domainSwitchHandoff.mjs +2 -0
- package/dist/extensions/services/domainSwitchHandoff.mjs.map +1 -0
- package/dist/index.cjs +1 -1
- package/dist/index.d.cts +33 -29
- package/dist/index.d.mts +33 -29
- package/dist/index.mjs +1 -1
- package/dist/logSinkTelemetry.cjs +1 -2
- package/dist/logSinkTelemetry.d.cts +2 -51
- package/dist/logSinkTelemetry.d.mts +2 -51
- package/dist/logSinkTelemetry.mjs +1 -2
- package/dist/pi-cache-optimizer-D9beVnnH.mjs +50 -0
- package/dist/pi-cache-optimizer-D9beVnnH.mjs.map +1 -0
- package/dist/schemas/domainVoiceTools.cjs +2 -0
- package/dist/schemas/domainVoiceTools.cjs.map +1 -0
- package/dist/schemas/domainVoiceTools.mjs +2 -0
- package/dist/schemas/domainVoiceTools.mjs.map +1 -0
- package/dist/schemas/majorModeVoiceTools.cjs +2 -0
- package/dist/schemas/majorModeVoiceTools.cjs.map +1 -0
- package/dist/schemas/majorModeVoiceTools.mjs +2 -0
- package/dist/schemas/majorModeVoiceTools.mjs.map +1 -0
- package/dist/services/compatibility/antigravity.cjs +1 -2
- package/dist/services/compatibility/antigravity.d.cts +2 -11
- package/dist/services/compatibility/antigravity.d.mts +2 -11
- package/dist/services/compatibility/antigravity.mjs +1 -2
- package/dist/services/compatibility/codex.cjs +1 -2
- package/dist/services/compatibility/codex.d.cts +2 -19
- package/dist/services/compatibility/codex.d.mts +2 -19
- package/dist/services/compatibility/codex.mjs +1 -2
- package/dist/services/compatibility/index.cjs +1 -2
- package/dist/services/compatibility/index.d.cts +6 -16
- package/dist/services/compatibility/index.d.mts +6 -16
- package/dist/services/compatibility/index.mjs +1 -2
- package/dist/services/compatibility/process.cjs +1 -2
- package/dist/services/compatibility/process.d.cts +2 -35
- package/dist/services/compatibility/process.d.mts +2 -35
- package/dist/services/compatibility/process.mjs +1 -2
- package/dist/services/compatibility/shared.cjs +1 -2
- package/dist/services/compatibility/shared.d.cts +2 -33
- package/dist/services/compatibility/shared.d.mts +2 -33
- package/dist/services/compatibility/shared.mjs +1 -2
- package/dist/services/compatibilityContext.cjs +1 -2
- package/dist/services/compatibilityContext.d.cts +2 -23
- package/dist/services/compatibilityContext.d.mts +2 -23
- package/dist/services/compatibilityContext.mjs +1 -2
- package/dist/services/composer.cjs +1 -2
- package/dist/services/composer.d.cts +4 -135
- package/dist/services/composer.d.mts +4 -135
- package/dist/services/composer.mjs +1 -2
- package/dist/services/config/index.cjs +1 -0
- package/dist/services/config/index.d.cts +7 -0
- package/dist/services/config/index.d.mts +7 -0
- package/dist/services/config/index.mjs +1 -0
- package/dist/services/config/projectTrust.cjs +2 -0
- package/dist/services/config/projectTrust.cjs.map +1 -0
- package/dist/services/config/projectTrust.d.cts +14 -0
- package/dist/services/config/projectTrust.d.cts.map +1 -0
- package/dist/services/config/projectTrust.d.mts +14 -0
- package/dist/services/config/projectTrust.d.mts.map +1 -0
- package/dist/services/config/projectTrust.mjs +2 -0
- package/dist/services/config/projectTrust.mjs.map +1 -0
- package/dist/services/extensionAssembler.cjs +1 -1
- package/dist/services/extensionAssembler.cjs.map +1 -1
- package/dist/services/extensionAssembler.d.cts +13 -6
- package/dist/services/extensionAssembler.d.cts.map +1 -1
- package/dist/services/extensionAssembler.d.mts +13 -6
- package/dist/services/extensionAssembler.d.mts.map +1 -1
- package/dist/services/extensionAssembler.mjs +1 -1
- package/dist/services/extensionAssembler.mjs.map +1 -1
- package/dist/services/harnessContext.cjs +1 -2
- package/dist/services/harnessContext.d.cts +2 -61
- package/dist/services/harnessContext.d.mts +2 -61
- package/dist/services/harnessContext.mjs +1 -2
- package/dist/services/index.cjs +1 -1
- package/dist/services/index.d.cts +18 -14
- package/dist/services/index.d.mts +18 -14
- package/dist/services/index.mjs +1 -1
- package/dist/services/matrixSwitcher.cjs +1 -2
- package/dist/services/matrixSwitcher.d.cts +2 -46
- package/dist/services/matrixSwitcher.d.mts +2 -46
- package/dist/services/matrixSwitcher.mjs +1 -2
- package/dist/services/mcpFilter.cjs +1 -3
- package/dist/services/mcpFilter.d.cts +2 -40
- package/dist/services/mcpFilter.d.mts +2 -40
- package/dist/services/mcpFilter.mjs +1 -3
- package/dist/services/modeCatalog.cjs +2 -0
- package/dist/services/modeCatalog.cjs.map +1 -0
- package/dist/services/modeCatalog.d.cts +18 -0
- package/dist/services/modeCatalog.d.cts.map +1 -0
- package/dist/services/modeCatalog.d.mts +18 -0
- package/dist/services/modeCatalog.d.mts.map +1 -0
- package/dist/services/modeCatalog.mjs +2 -0
- package/dist/services/modeCatalog.mjs.map +1 -0
- package/dist/services/piSettings.cjs +1 -2
- package/dist/services/piSettings.d.cts +2 -24
- package/dist/services/piSettings.d.mts +2 -24
- package/dist/services/piSettings.mjs +1 -2
- package/dist/services/resourceCollector.cjs +1 -3
- package/dist/services/resourceCollector.d.cts +2 -23
- package/dist/services/resourceCollector.d.mts +2 -23
- package/dist/services/resourceCollector.mjs +1 -3
- package/dist/services/skillCatalog.cjs +1 -2
- package/dist/services/skillCatalog.d.cts +2 -56
- package/dist/services/skillCatalog.d.mts +2 -56
- package/dist/services/skillCatalog.mjs +1 -2
- package/dist/services/skillSources.cjs +1 -2
- package/dist/services/skillSources.d.cts +2 -24
- package/dist/services/skillSources.d.mts +2 -24
- package/dist/services/skillSources.mjs +1 -2
- package/dist/services/syncState.cjs +1 -2
- package/dist/services/syncState.d.cts +3 -133
- package/dist/services/syncState.d.mts +3 -133
- package/dist/services/syncState.mjs +1 -2
- package/dist/services/tools/toolNames.cjs +2 -0
- package/dist/services/tools/toolNames.cjs.map +1 -0
- package/dist/services/tools/toolNames.d.cts +25 -0
- package/dist/services/tools/toolNames.d.cts.map +1 -0
- package/dist/services/tools/toolNames.d.mts +25 -0
- package/dist/services/tools/toolNames.d.mts.map +1 -0
- package/dist/services/tools/toolNames.mjs +2 -0
- package/dist/services/tools/toolNames.mjs.map +1 -0
- package/dist/{interfaces → types/interfaces}/compatibility.d.cts +1 -1
- package/dist/types/interfaces/compatibility.d.cts.map +1 -0
- package/dist/{interfaces → types/interfaces}/compatibility.d.mts +1 -1
- package/dist/types/interfaces/compatibility.d.mts.map +1 -0
- package/dist/{interfaces → types/interfaces}/harness.d.cts +6 -2
- package/dist/types/interfaces/harness.d.cts.map +1 -0
- package/dist/{interfaces → types/interfaces}/harness.d.mts +6 -2
- package/dist/types/interfaces/harness.d.mts.map +1 -0
- package/dist/utils/index.cjs +1 -1
- package/dist/utils/index.d.cts +5 -5
- package/dist/utils/index.d.mts +5 -5
- package/dist/utils/index.mjs +1 -1
- package/dist/utils/json.cjs +1 -2
- package/dist/utils/json.d.cts +2 -23
- package/dist/utils/json.d.mts +2 -23
- package/dist/utils/json.mjs +1 -2
- package/dist/utils/moduleResolution.cjs +1 -2
- package/dist/utils/moduleResolution.d.cts +2 -56
- package/dist/utils/moduleResolution.d.mts +2 -56
- package/dist/utils/moduleResolution.mjs +1 -2
- package/dist/utils/repository.cjs +1 -2
- package/dist/utils/repository.d.cts +2 -21
- package/dist/utils/repository.d.mts +2 -21
- package/dist/utils/repository.mjs +1 -2
- package/dist/utils/toolNames.cjs +1 -2
- package/dist/utils/toolNames.d.cts +2 -25
- package/dist/utils/toolNames.d.mts +2 -25
- package/dist/utils/toolNames.mjs +1 -2
- package/package.json +59 -37
- package/dist/cli/cliApp.cjs.map +0 -1
- package/dist/cli/cliApp.d.cts.map +0 -1
- package/dist/cli/cliApp.d.mts.map +0 -1
- package/dist/cli/cliApp.mjs.map +0 -1
- package/dist/cli/compatibilityOptions.cjs.map +0 -1
- package/dist/cli/compatibilityOptions.d.cts.map +0 -1
- package/dist/cli/compatibilityOptions.d.mts.map +0 -1
- package/dist/cli/compatibilityOptions.mjs.map +0 -1
- package/dist/cli/help.d.cts.map +0 -1
- package/dist/cli/help.d.mts.map +0 -1
- package/dist/cli/matrixOptions.cjs.map +0 -1
- package/dist/cli/matrixOptions.d.cts.map +0 -1
- package/dist/cli/matrixOptions.d.mts.map +0 -1
- package/dist/cli/matrixOptions.mjs.map +0 -1
- package/dist/cli/options.cjs.map +0 -1
- package/dist/cli/options.d.cts.map +0 -1
- package/dist/cli/options.d.mts.map +0 -1
- package/dist/cli/options.mjs.map +0 -1
- package/dist/commands/buildCommand.d.cts +0 -23
- package/dist/commands/buildCommand.d.cts.map +0 -1
- package/dist/commands/buildCommand.d.mts +0 -23
- package/dist/commands/buildCommand.d.mts.map +0 -1
- package/dist/config/harnessState.cjs.map +0 -1
- package/dist/config/harnessState.d.cts.map +0 -1
- package/dist/config/harnessState.d.mts.map +0 -1
- package/dist/config/harnessState.mjs.map +0 -1
- package/dist/config/projectTrust.cjs.map +0 -1
- package/dist/config/projectTrust.d.cts.map +0 -1
- package/dist/config/projectTrust.d.mts.map +0 -1
- package/dist/config/projectTrust.mjs.map +0 -1
- package/dist/entries/addDirCompatibility.cjs +0 -2
- package/dist/entries/addDirCompatibility.cjs.map +0 -1
- package/dist/entries/addDirCompatibility.d.cts +0 -13
- package/dist/entries/addDirCompatibility.d.cts.map +0 -1
- package/dist/entries/addDirCompatibility.d.mts +0 -14
- package/dist/entries/addDirCompatibility.d.mts.map +0 -1
- package/dist/entries/addDirCompatibility.mjs +0 -2
- package/dist/entries/addDirCompatibility.mjs.map +0 -1
- package/dist/entries/autoStop.cjs.map +0 -1
- package/dist/entries/autoStop.d.cts.map +0 -1
- package/dist/entries/autoStop.d.mts.map +0 -1
- package/dist/entries/autoStop.mjs.map +0 -1
- package/dist/entries/components/matrixPicker.cjs.map +0 -1
- package/dist/entries/components/matrixPicker.d.cts.map +0 -1
- package/dist/entries/components/matrixPicker.d.mts.map +0 -1
- package/dist/entries/components/matrixPicker.mjs.map +0 -1
- package/dist/entries/components/skillsOverlay.cjs.map +0 -1
- package/dist/entries/components/skillsOverlay.d.cts.map +0 -1
- package/dist/entries/components/skillsOverlay.d.mts.map +0 -1
- package/dist/entries/components/skillsOverlay.mjs.map +0 -1
- package/dist/entries/domains.cjs.map +0 -1
- package/dist/entries/domains.d.cts.map +0 -1
- package/dist/entries/domains.d.mts.map +0 -1
- package/dist/entries/domains.mjs.map +0 -1
- package/dist/entries/doom.cjs.map +0 -1
- package/dist/entries/doom.d.cts.map +0 -1
- package/dist/entries/doom.d.mts.map +0 -1
- package/dist/entries/doom.mjs.map +0 -1
- package/dist/entries/effort.cjs.map +0 -1
- package/dist/entries/effort.d.cts.map +0 -1
- package/dist/entries/effort.d.mts.map +0 -1
- package/dist/entries/effort.mjs.map +0 -1
- package/dist/entries/majorMode.cjs.map +0 -1
- package/dist/entries/majorMode.d.cts.map +0 -1
- package/dist/entries/majorMode.d.mts.map +0 -1
- package/dist/entries/majorMode.mjs.map +0 -1
- package/dist/entries/notifications.cjs.map +0 -1
- package/dist/entries/notifications.d.cts.map +0 -1
- package/dist/entries/notifications.d.mts.map +0 -1
- package/dist/entries/notifications.mjs.map +0 -1
- package/dist/entries/ollamaProvider.cjs.map +0 -1
- package/dist/entries/ollamaProvider.d.cts.map +0 -1
- package/dist/entries/ollamaProvider.d.mts.map +0 -1
- package/dist/entries/ollamaProvider.mjs.map +0 -1
- package/dist/entries/persona.cjs.map +0 -1
- package/dist/entries/persona.d.cts.map +0 -1
- package/dist/entries/persona.d.mts.map +0 -1
- package/dist/entries/persona.mjs.map +0 -1
- package/dist/entries/profile.cjs.map +0 -1
- package/dist/entries/profile.d.cts.map +0 -1
- package/dist/entries/profile.d.mts.map +0 -1
- package/dist/entries/profile.mjs.map +0 -1
- package/dist/entries/repositoryHooks.cjs.map +0 -1
- package/dist/entries/repositoryHooks.d.cts.map +0 -1
- package/dist/entries/repositoryHooks.d.mts.map +0 -1
- package/dist/entries/repositoryHooks.mjs.map +0 -1
- package/dist/entries/skills.cjs.map +0 -1
- package/dist/entries/skills.d.cts.map +0 -1
- package/dist/entries/skills.d.mts.map +0 -1
- package/dist/entries/skills.mjs.map +0 -1
- package/dist/entries/styleSystem.d.cts.map +0 -1
- package/dist/entries/styleSystem.d.mts.map +0 -1
- package/dist/entries/styleSystem.mjs.map +0 -1
- package/dist/interfaces/compatibility.d.cts.map +0 -1
- package/dist/interfaces/compatibility.d.mts.map +0 -1
- package/dist/interfaces/harness.d.cts.map +0 -1
- package/dist/interfaces/harness.d.mts.map +0 -1
- package/dist/logSinkTelemetry.cjs.map +0 -1
- package/dist/logSinkTelemetry.d.cts.map +0 -1
- package/dist/logSinkTelemetry.d.mts.map +0 -1
- package/dist/logSinkTelemetry.mjs.map +0 -1
- package/dist/node_modules/.pnpm/@juicesharp_rpiv-ask-user-question@2.2.0_@earendil-works_pi-coding-agent@0.84.1_support_6ba1249e24a50b62791c1c91c9f324c6/node_modules/@juicesharp/rpiv-ask-user-question/events.cjs +0 -2
- package/dist/node_modules/.pnpm/@juicesharp_rpiv-ask-user-question@2.2.0_@earendil-works_pi-coding-agent@0.84.1_support_6ba1249e24a50b62791c1c91c9f324c6/node_modules/@juicesharp/rpiv-ask-user-question/events.cjs.map +0 -1
- package/dist/node_modules/.pnpm/@juicesharp_rpiv-ask-user-question@2.2.0_@earendil-works_pi-coding-agent@0.84.1_support_6ba1249e24a50b62791c1c91c9f324c6/node_modules/@juicesharp/rpiv-ask-user-question/events.mjs +0 -2
- package/dist/node_modules/.pnpm/@juicesharp_rpiv-ask-user-question@2.2.0_@earendil-works_pi-coding-agent@0.84.1_support_6ba1249e24a50b62791c1c91c9f324c6/node_modules/@juicesharp/rpiv-ask-user-question/events.mjs.map +0 -1
- package/dist/services/compatibility/index.cjs.map +0 -1
- package/dist/services/compatibility/index.mjs.map +0 -1
- package/dist/services/compatibilityContext.cjs.map +0 -1
- package/dist/services/compatibilityContext.mjs.map +0 -1
- package/dist/services/composer.cjs.map +0 -1
- package/dist/services/composer.d.cts.map +0 -1
- package/dist/services/composer.d.mts.map +0 -1
- package/dist/services/composer.mjs.map +0 -1
- package/dist/services/extensionCompiler.cjs +0 -3
- package/dist/services/extensionCompiler.cjs.map +0 -1
- package/dist/services/extensionCompiler.mjs +0 -3
- package/dist/services/extensionCompiler.mjs.map +0 -1
- package/dist/services/harnessContext.cjs.map +0 -1
- package/dist/services/harnessContext.mjs.map +0 -1
- package/dist/services/matrixSwitcher.cjs.map +0 -1
- package/dist/services/matrixSwitcher.mjs.map +0 -1
- package/dist/services/mcpFilter.cjs.map +0 -1
- package/dist/services/mcpFilter.d.cts.map +0 -1
- package/dist/services/mcpFilter.d.mts.map +0 -1
- package/dist/services/mcpFilter.mjs.map +0 -1
- package/dist/services/piSettings.cjs.map +0 -1
- package/dist/services/piSettings.d.cts.map +0 -1
- package/dist/services/piSettings.d.mts.map +0 -1
- package/dist/services/piSettings.mjs.map +0 -1
- package/dist/services/resourceCollector.cjs.map +0 -1
- package/dist/services/resourceCollector.d.cts.map +0 -1
- package/dist/services/resourceCollector.d.mts.map +0 -1
- package/dist/services/resourceCollector.mjs.map +0 -1
- package/dist/services/runtimeBundle.cjs +0 -2
- package/dist/services/runtimeBundle.cjs.map +0 -1
- package/dist/services/runtimeBundle.d.cts.map +0 -1
- package/dist/services/runtimeBundle.d.mts.map +0 -1
- package/dist/services/runtimeBundle.mjs +0 -2
- package/dist/services/runtimeBundle.mjs.map +0 -1
- package/dist/services/skillCatalog.cjs.map +0 -1
- package/dist/services/skillCatalog.d.cts.map +0 -1
- package/dist/services/skillCatalog.d.mts.map +0 -1
- package/dist/services/skillCatalog.mjs.map +0 -1
- package/dist/services/syncState.cjs.map +0 -1
- package/dist/services/syncState.d.cts.map +0 -1
- package/dist/services/syncState.d.mts.map +0 -1
- package/dist/services/syncState.mjs.map +0 -1
- package/dist/utils/json.cjs.map +0 -1
- package/dist/utils/json.d.cts.map +0 -1
- package/dist/utils/json.d.mts.map +0 -1
- package/dist/utils/json.mjs.map +0 -1
- package/dist/utils/moduleResolution.cjs.map +0 -1
- package/dist/utils/moduleResolution.d.cts.map +0 -1
- package/dist/utils/moduleResolution.d.mts.map +0 -1
- package/dist/utils/moduleResolution.mjs.map +0 -1
- package/dist/utils/repository.cjs.map +0 -1
- package/dist/utils/repository.d.cts.map +0 -1
- package/dist/utils/repository.d.mts.map +0 -1
- package/dist/utils/repository.mjs.map +0 -1
- package/dist/utils/toolNames.cjs.map +0 -1
- package/dist/utils/toolNames.d.cts.map +0 -1
- package/dist/utils/toolNames.d.mts.map +0 -1
- package/dist/utils/toolNames.mjs.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codex.mjs","names":[],"sources":["../../../src/
|
|
1
|
+
{"version":3,"file":"codex.mjs","names":[],"sources":["../../../src/adapters/compatibility/codex.ts"],"sourcesContent":["import { spawnSync } from 'node:child_process';\nimport fs from 'node:fs';\nimport path from 'node:path';\nimport type { JsonObject } from '../../utils/index.ts';\nimport type { CompatibilityContext } from '../compatibilityContext.ts';\nimport { runCaptured, runChecked, runInteractive } from './process.ts';\nimport {\n ADD_DIRECTORY_OPTION,\n AGIFLOW_PROXY_SERVER_NAME,\n additionalDirectoryArgs,\n MCP_CONFIG_OPTION,\n MCP_PRESTART_OPTION,\n MCP_PROXY_PACKAGE,\n mcpProxyArguments,\n NPX_COMMAND,\n PLUGINS_DIRECTORY,\n} from './shared.ts';\n\nexport const CODEX_PROVIDER = 'codex';\n\nconst PROFILE_FLAG = '--profile';\nconst PROFILE_V2_FLAG = '--profile-v2';\nconst PROFILE_CONFIG_NAME_PATTERN = /^[A-Za-z0-9_-]+$/;\nconst SYNC_SCRIPT_RELATIVE_PATH = ['tools', 'harness', 'sync-codex-state.cjs'];\n\n/** Codex options that consume the following argument, so it is not a subcommand. */\nfunction optionRequiresValue(argument: string): boolean {\n return new Set([\n PROFILE_FLAG,\n PROFILE_V2_FLAG,\n '-c',\n MCP_CONFIG_OPTION,\n '--enable',\n '--disable',\n '--remote',\n '--remote-auth-token-env',\n '-i',\n '--image',\n '-m',\n '--model',\n '--local-provider',\n '-s',\n '--sandbox',\n '-C',\n '--cd',\n ADD_DIRECTORY_OPTION,\n '-a',\n '--ask-for-approval',\n ]).has(argument);\n}\n\n/**\n * Whether the managed profile, persona, and proxy config apply to this run.\n *\n * Codex management subcommands reject session options, so injecting them would\n * turn `codex login` into an error.\n */\nexport function supportsCodexManagedProfile(args: string[]): boolean {\n let previousRequiresValue = false;\n let command = '';\n let debugSubcommand = '';\n\n for (const argument of args) {\n if (previousRequiresValue) {\n previousRequiresValue = false;\n continue;\n }\n if (optionRequiresValue(argument)) {\n previousRequiresValue = true;\n continue;\n }\n if (argument.startsWith('-')) continue;\n if (!command) {\n command = argument;\n continue;\n }\n if (command === 'debug' && !debugSubcommand) debugSubcommand = argument;\n break;\n }\n\n if (!command || ['exec', 'e', 'review', 'resume', 'fork'].includes(command)) return true;\n if (command === 'debug') return debugSubcommand === 'prompt-input';\n if (\n [\n 'login',\n 'logout',\n 'mcp',\n 'plugin',\n 'mcp-server',\n 'app-server',\n 'remote-control',\n 'app',\n 'completion',\n 'update',\n 'doctor',\n 'sandbox',\n 'apply',\n 'a',\n 'cloud',\n 'exec-server',\n 'features',\n 'archive',\n 'delete',\n 'unarchive',\n 'help',\n ].includes(command)\n ) {\n return false;\n }\n return true;\n}\n\n/** Plugin directory names relative to `plugins/`, which is all Codex accepts. */\nexport function codexPluginDirectories(context: CompatibilityContext): string[] {\n const pluginsRoot = path.join(context.options.repoRoot, PLUGINS_DIRECTORY);\n return context.plugins.map((plugin) => {\n const relative = path.relative(pluginsRoot, plugin.directory);\n if (!relative || relative === '..' || relative.startsWith(`..${path.sep}`) || relative.includes(path.sep)) {\n throw new Error(`Codex compatibility requires a direct repository plugin: ${plugin.directory}`);\n }\n return relative;\n });\n}\n\nfunction codexProxyArguments(context: CompatibilityContext): string[] {\n return mcpProxyArguments(MCP_PROXY_PACKAGE, context.proxyConfigPath, true, true);\n}\n\nexport function codexCompatibilityArgs(\n context: CompatibilityContext,\n managedProfileName: string,\n managedProfileFlag: string,\n): string[] {\n const args = ['--yolo', '--enable', 'hooks', ...additionalDirectoryArgs(context)];\n if (supportsCodexManagedProfile(context.options.providerArgs)) {\n args.push(managedProfileFlag, managedProfileName);\n if (context.personaFile) {\n const persona = fs.readFileSync(context.personaFile, 'utf8');\n args.push('-c', `developer_instructions=${JSON.stringify(persona)}`);\n }\n if (context.mcpAllowlist) {\n args.push('-c', `mcp_servers.${AGIFLOW_PROXY_SERVER_NAME}.args=${JSON.stringify(codexProxyArguments(context))}`);\n }\n }\n return [...args, ...context.options.providerArgs];\n}\n\nexport function codexEnvironment(context: CompatibilityContext): NodeJS.ProcessEnv {\n const environment = { ...context.environment };\n const originResult = spawnSync('git', ['-C', context.options.repoRoot, 'remote', 'get-url', 'origin'], {\n encoding: 'utf8',\n env: environment,\n });\n environment.CODEX_REPO_ORIGIN = originResult.status === 0 ? originResult.stdout.trim() : '';\n environment.CODEX_PROFILE_NAMES = context.options.domains.join(',');\n environment.CODEX_PLUGIN_DIRS = codexPluginDirectories(context).join(',');\n environment.CODEX_ENABLE_XCODE_MCP =\n spawnSync('xcrun', ['mcpbridge', '--help'], { env: environment, stdio: 'ignore' }).status === 0 ? '1' : '0';\n return environment;\n}\n\nexport async function launchCodex(context: CompatibilityContext): Promise<number> {\n const environment = codexEnvironment(context);\n const syncScript = path.join(context.options.repoRoot, ...SYNC_SCRIPT_RELATIVE_PATH);\n const stateName = runCaptured(process.execPath, [syncScript, 'owner-key'], context.options.repoRoot, environment);\n const home = environment.HOME;\n environment.CODEX_LEGACY_HOME = home ? path.join(home, '.codex', 'agirepo') : undefined;\n environment.CODEX_HOME = home\n ? path.join(home, '.codex', stateName)\n : path.join(context.options.repoRoot, '.codex-local', 'state', stateName);\n\n runChecked(\n NPX_COMMAND,\n [...mcpProxyArguments(MCP_PROXY_PACKAGE, context.proxyConfigPath, true), MCP_PRESTART_OPTION],\n context.options.repoRoot,\n environment,\n );\n\n const syncOutput = runCaptured(process.execPath, [syncScript, 'sync'], context.options.repoRoot, environment);\n const syncResult = JSON.parse(syncOutput) as JsonObject;\n if (\n typeof syncResult.profileConfigName !== 'string' ||\n !PROFILE_CONFIG_NAME_PATTERN.test(syncResult.profileConfigName)\n ) {\n throw new Error('Codex sync returned an invalid profile config name');\n }\n // Older Codex builds only understand --profile, so the flag is probed rather\n // than assumed.\n const help = runCaptured(CODEX_PROVIDER, ['--help'], context.options.repoRoot, environment);\n const profileFlag = help.includes(PROFILE_V2_FLAG) ? PROFILE_V2_FLAG : PROFILE_FLAG;\n return runInteractive(\n CODEX_PROVIDER,\n codexCompatibilityArgs(context, syncResult.profileConfigName, profileFlag),\n context.options.repoRoot,\n environment,\n );\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const e=require(`./process.cjs`),t=require(`./shared.cjs`),n=require(`./antigravity.cjs`),r=require(`./codex.cjs`),i=`claude`;function a(e){let n=[t.SKIP_PERMISSIONS_OPTION];for(let t of e.plugins)n.push(`--plugin-dir`,t.directory);return e.mcpAllowlist&&n.push(`--mcp-config`,e.mcpConfigPath,`--strict-mcp-config`),e.personaFile&&n.push(`--append-system-prompt-file`,e.personaFile),n.push(...t.additionalDirectoryArgs(e)),[...n,...e.options.providerArgs]}async function o(t){let o=t.options.provider;return o===i?e.runInteractive(i,a(t),t.options.currentDirectory,t.environment):o===`codex`?r.launchCodex(t):n.launchAntigravity(t)}exports.claudeCompatibilityArgs=a,exports.launchCompatibility=o;
|
|
2
|
+
//# sourceMappingURL=index.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.cjs","names":["SKIP_PERMISSIONS_OPTION","additionalDirectoryArgs","runInteractive","launchCodex","launchAntigravity"],"sources":["../../../src/adapters/compatibility/index.ts"],"sourcesContent":["import type { CompatibilityProvider } from '../../types/interfaces/index.ts';\nimport type { CompatibilityContext } from '../compatibilityContext.ts';\nimport { launchAntigravity } from './antigravity.ts';\nimport { CODEX_PROVIDER, launchCodex } from './codex.ts';\nimport { runInteractive } from './process.ts';\nimport { additionalDirectoryArgs, SKIP_PERMISSIONS_OPTION } from './shared.ts';\n\nexport { adaptAntigravityMcpDefinition, antigravityCompatibilityArgs, launchAntigravity } from './antigravity.ts';\nexport {\n codexCompatibilityArgs,\n codexEnvironment,\n codexPluginDirectories,\n launchCodex,\n supportsCodexManagedProfile,\n} from './codex.ts';\nexport {\n acquireDirectoryLock,\n forwardSignals,\n isFileSystemError,\n lockOwnerIsRunning,\n pathInside,\n runCaptured,\n runChecked,\n runInteractive,\n signalExitCode,\n waitForExit,\n} from './process.ts';\nexport { mcpProxyArguments } from './shared.ts';\n\nconst CLAUDE_PROVIDER = 'claude';\nconst PLUGIN_DIRECTORY_OPTION = '--plugin-dir';\nconst MCP_CONFIG_OPTION = '--mcp-config';\nconst STRICT_MCP_CONFIG_OPTION = '--strict-mcp-config';\nconst APPEND_SYSTEM_PROMPT_FILE_OPTION = '--append-system-prompt-file';\n\n/**\n * Claude needs no state sync: everything it reads is passed as an argument, so\n * a run leaves nothing behind to revert.\n */\nexport function claudeCompatibilityArgs(context: CompatibilityContext): string[] {\n const args = [SKIP_PERMISSIONS_OPTION];\n for (const plugin of context.plugins) args.push(PLUGIN_DIRECTORY_OPTION, plugin.directory);\n if (context.mcpAllowlist) args.push(MCP_CONFIG_OPTION, context.mcpConfigPath, STRICT_MCP_CONFIG_OPTION);\n if (context.personaFile) args.push(APPEND_SYSTEM_PROMPT_FILE_OPTION, context.personaFile);\n args.push(...additionalDirectoryArgs(context));\n return [...args, ...context.options.providerArgs];\n}\n\nexport async function launchCompatibility(context: CompatibilityContext): Promise<number> {\n const provider: CompatibilityProvider = context.options.provider;\n if (provider === CLAUDE_PROVIDER) {\n return runInteractive(\n CLAUDE_PROVIDER,\n claudeCompatibilityArgs(context),\n context.options.currentDirectory,\n context.environment,\n );\n }\n if (provider === CODEX_PROVIDER) return launchCodex(context);\n return launchAntigravity(context);\n}\n"],"mappings":"mHA6BM,EAAkB,SAUxB,SAAgB,EAAwB,EAAyC,CAC/E,IAAM,EAAO,CAACA,EAAAA,wBAAwB,CACtC,IAAK,IAAM,KAAU,EAAQ,QAAS,EAAK,KAAK,eAAyB,EAAO,UAAU,CAI1F,OAHI,EAAQ,cAAc,EAAK,KAAK,eAAmB,EAAQ,cAAe,sBAAyB,CACnG,EAAQ,aAAa,EAAK,KAAK,8BAAkC,EAAQ,YAAY,CACzF,EAAK,KAAK,GAAGC,EAAAA,wBAAwB,EAAQ,CAAC,CACvC,CAAC,GAAG,EAAM,GAAG,EAAQ,QAAQ,aAAa,CAGnD,eAAsB,EAAoB,EAAgD,CACxF,IAAM,EAAkC,EAAQ,QAAQ,SAUxD,OATI,IAAa,EACRC,EAAAA,eACL,EACA,EAAwB,EAAQ,CAChC,EAAQ,QAAQ,iBAChB,EAAQ,YACT,CAEC,IAAA,QAAoCC,EAAAA,YAAY,EAAQ,CACrDC,EAAAA,kBAAkB,EAAQ"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { CompatibilityContext } from "../compatibilityContext.cjs";
|
|
2
|
+
import { adaptAntigravityMcpDefinition, antigravityCompatibilityArgs, launchAntigravity } from "./antigravity.cjs";
|
|
3
|
+
import { codexCompatibilityArgs, codexEnvironment, codexPluginDirectories, launchCodex, supportsCodexManagedProfile } from "./codex.cjs";
|
|
4
|
+
import { acquireDirectoryLock, forwardSignals, isFileSystemError, lockOwnerIsRunning, pathInside, runCaptured, runChecked, runInteractive, signalExitCode, waitForExit } from "./process.cjs";
|
|
5
|
+
import { mcpProxyArguments } from "./shared.cjs";
|
|
6
|
+
|
|
7
|
+
//#region src/adapters/compatibility/index.d.ts
|
|
8
|
+
/**
|
|
9
|
+
* Claude needs no state sync: everything it reads is passed as an argument, so
|
|
10
|
+
* a run leaves nothing behind to revert.
|
|
11
|
+
*/
|
|
12
|
+
declare function claudeCompatibilityArgs(context: CompatibilityContext): string[];
|
|
13
|
+
declare function launchCompatibility(context: CompatibilityContext): Promise<number>;
|
|
14
|
+
//#endregion
|
|
15
|
+
export { claudeCompatibilityArgs, launchCompatibility };
|
|
16
|
+
//# sourceMappingURL=index.d.cts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.cts","names":[],"sources":["../../../src/
|
|
1
|
+
{"version":3,"file":"index.d.cts","names":[],"sources":["../../../src/adapters/compatibility/index.ts"],"mappings":";;;;;;;;;AAuCA;;iBAAgB,uBAAA,CAAwB,OAAA,EAAS,oBAAA;AAAA,iBAS3B,mBAAA,CAAoB,OAAA,EAAS,oBAAA,GAAuB,OAAA"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { CompatibilityContext } from "../compatibilityContext.mjs";
|
|
2
|
+
import { adaptAntigravityMcpDefinition, antigravityCompatibilityArgs, launchAntigravity } from "./antigravity.mjs";
|
|
3
|
+
import { codexCompatibilityArgs, codexEnvironment, codexPluginDirectories, launchCodex, supportsCodexManagedProfile } from "./codex.mjs";
|
|
4
|
+
import { acquireDirectoryLock, forwardSignals, isFileSystemError, lockOwnerIsRunning, pathInside, runCaptured, runChecked, runInteractive, signalExitCode, waitForExit } from "./process.mjs";
|
|
5
|
+
import { mcpProxyArguments } from "./shared.mjs";
|
|
6
|
+
|
|
7
|
+
//#region src/adapters/compatibility/index.d.ts
|
|
8
|
+
/**
|
|
9
|
+
* Claude needs no state sync: everything it reads is passed as an argument, so
|
|
10
|
+
* a run leaves nothing behind to revert.
|
|
11
|
+
*/
|
|
12
|
+
declare function claudeCompatibilityArgs(context: CompatibilityContext): string[];
|
|
13
|
+
declare function launchCompatibility(context: CompatibilityContext): Promise<number>;
|
|
14
|
+
//#endregion
|
|
15
|
+
export { claudeCompatibilityArgs, launchCompatibility };
|
|
16
|
+
//# sourceMappingURL=index.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.mts","names":[],"sources":["../../../src/
|
|
1
|
+
{"version":3,"file":"index.d.mts","names":[],"sources":["../../../src/adapters/compatibility/index.ts"],"mappings":";;;;;;;;;AAuCA;;iBAAgB,uBAAA,CAAwB,OAAA,EAAS,oBAAA;AAAA,iBAS3B,mBAAA,CAAoB,OAAA,EAAS,oBAAA,GAAuB,OAAA"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{runInteractive as e}from"./process.mjs";import{SKIP_PERMISSIONS_OPTION as t,additionalDirectoryArgs as n}from"./shared.mjs";import{launchAntigravity as r}from"./antigravity.mjs";import{launchCodex as i}from"./codex.mjs";const a=`claude`;function o(e){let r=[t];for(let t of e.plugins)r.push(`--plugin-dir`,t.directory);return e.mcpAllowlist&&r.push(`--mcp-config`,e.mcpConfigPath,`--strict-mcp-config`),e.personaFile&&r.push(`--append-system-prompt-file`,e.personaFile),r.push(...n(e)),[...r,...e.options.providerArgs]}async function s(t){let n=t.options.provider;return n===a?e(a,o(t),t.options.currentDirectory,t.environment):n===`codex`?i(t):r(t)}export{o as claudeCompatibilityArgs,s as launchCompatibility};
|
|
2
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.mjs","names":[],"sources":["../../../src/adapters/compatibility/index.ts"],"sourcesContent":["import type { CompatibilityProvider } from '../../types/interfaces/index.ts';\nimport type { CompatibilityContext } from '../compatibilityContext.ts';\nimport { launchAntigravity } from './antigravity.ts';\nimport { CODEX_PROVIDER, launchCodex } from './codex.ts';\nimport { runInteractive } from './process.ts';\nimport { additionalDirectoryArgs, SKIP_PERMISSIONS_OPTION } from './shared.ts';\n\nexport { adaptAntigravityMcpDefinition, antigravityCompatibilityArgs, launchAntigravity } from './antigravity.ts';\nexport {\n codexCompatibilityArgs,\n codexEnvironment,\n codexPluginDirectories,\n launchCodex,\n supportsCodexManagedProfile,\n} from './codex.ts';\nexport {\n acquireDirectoryLock,\n forwardSignals,\n isFileSystemError,\n lockOwnerIsRunning,\n pathInside,\n runCaptured,\n runChecked,\n runInteractive,\n signalExitCode,\n waitForExit,\n} from './process.ts';\nexport { mcpProxyArguments } from './shared.ts';\n\nconst CLAUDE_PROVIDER = 'claude';\nconst PLUGIN_DIRECTORY_OPTION = '--plugin-dir';\nconst MCP_CONFIG_OPTION = '--mcp-config';\nconst STRICT_MCP_CONFIG_OPTION = '--strict-mcp-config';\nconst APPEND_SYSTEM_PROMPT_FILE_OPTION = '--append-system-prompt-file';\n\n/**\n * Claude needs no state sync: everything it reads is passed as an argument, so\n * a run leaves nothing behind to revert.\n */\nexport function claudeCompatibilityArgs(context: CompatibilityContext): string[] {\n const args = [SKIP_PERMISSIONS_OPTION];\n for (const plugin of context.plugins) args.push(PLUGIN_DIRECTORY_OPTION, plugin.directory);\n if (context.mcpAllowlist) args.push(MCP_CONFIG_OPTION, context.mcpConfigPath, STRICT_MCP_CONFIG_OPTION);\n if (context.personaFile) args.push(APPEND_SYSTEM_PROMPT_FILE_OPTION, context.personaFile);\n args.push(...additionalDirectoryArgs(context));\n return [...args, ...context.options.providerArgs];\n}\n\nexport async function launchCompatibility(context: CompatibilityContext): Promise<number> {\n const provider: CompatibilityProvider = context.options.provider;\n if (provider === CLAUDE_PROVIDER) {\n return runInteractive(\n CLAUDE_PROVIDER,\n claudeCompatibilityArgs(context),\n context.options.currentDirectory,\n context.environment,\n );\n }\n if (provider === CODEX_PROVIDER) return launchCodex(context);\n return launchAntigravity(context);\n}\n"],"mappings":"mOA6BA,MAAM,EAAkB,SAUxB,SAAgB,EAAwB,EAAyC,CAC/E,IAAM,EAAO,CAAC,EAAwB,CACtC,IAAK,IAAM,KAAU,EAAQ,QAAS,EAAK,KAAK,eAAyB,EAAO,UAAU,CAI1F,OAHI,EAAQ,cAAc,EAAK,KAAK,eAAmB,EAAQ,cAAe,sBAAyB,CACnG,EAAQ,aAAa,EAAK,KAAK,8BAAkC,EAAQ,YAAY,CACzF,EAAK,KAAK,GAAG,EAAwB,EAAQ,CAAC,CACvC,CAAC,GAAG,EAAM,GAAG,EAAQ,QAAQ,aAAa,CAGnD,eAAsB,EAAoB,EAAgD,CACxF,IAAM,EAAkC,EAAQ,QAAQ,SAUxD,OATI,IAAa,EACR,EACL,EACA,EAAwB,EAAQ,CAChC,EAAQ,QAAQ,iBAChB,EAAQ,YACT,CAEC,IAAA,QAAoC,EAAY,EAAQ,CACrD,EAAkB,EAAQ"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const e=require(`../../_virtual/_rolldown/runtime.cjs`),t=require(`../serialization/json.cjs`);require(`../../utils/index.cjs`);let n=require(`node:path`);n=e.__toESM(n,1);let r=require(`node:fs`);r=e.__toESM(r,1);let i=require(`node:os`),a=require(`node:child_process`),o=require(`node:timers/promises`),s=require(`cross-spawn`);s=e.__toESM(s,1);const c=[`SIGINT`,`SIGTERM`,`SIGHUP`,`SIGQUIT`],l=`owner.json`;function u(e,t,n,r){let i=(0,a.spawnSync)(e,t,{cwd:n,encoding:`utf8`,env:r});if(i.error)throw i.error;if(i.stderr&&process.stderr.write(i.stderr),i.status!==0)throw Error(`${e} exited with status ${i.status??1}`);return i.stdout.trim()}function d(e,t,n,r){let i=(0,a.spawnSync)(e,t,{cwd:n,env:r,stdio:`inherit`});if(i.error)throw i.error;if(i.status!==0)throw Error(`${e} exited with status ${i.status??1}`)}function f(e){if(!e)return 1;let t=i.constants.signals[e];return t?128+t:1}function p(e){let t=t=>{e.exitCode===null&&e.signalCode===null&&e.kill(t)};for(let e of c)process.on(e,t);return()=>{for(let e of c)process.removeListener(e,t)}}function m(e){return new Promise((t,n)=>{e.once(`error`,n),e.once(`exit`,(e,n)=>t(e??f(n)))})}async function h(e,t,n,r){let i=(0,s.default)(e,t,{cwd:n,env:r,stdio:`inherit`}),a=p(i);try{return await m(i)}finally{a()}}function g(e){return e instanceof Error&&typeof e.code==`string`}function _(e){let r=t.readJson(n.default.join(e,l));if(typeof r.pid!=`number`||!Number.isSafeInteger(r.pid)||r.pid<=0)return!1;try{return process.kill(r.pid,0),!0}catch(e){return!g(e)||e.code!==`ESRCH`}}async function v(e){r.default.mkdirSync(n.default.dirname(e),{recursive:!0});let i=Date.now();for(;;)try{await r.default.promises.mkdir(e);try{t.writeJson(n.default.join(e,l),{pid:process.pid})}catch(t){throw await r.default.promises.rm(e,{recursive:!0,force:!0}),t}return()=>r.default.promises.rm(e,{recursive:!0,force:!0})}catch(t){if(!g(t)||t.code!==`EEXIST`)throw t;try{let t=await r.default.promises.stat(e);if(Date.now()-t.mtimeMs>=1e4&&!_(e)){await r.default.promises.rm(e,{recursive:!0,force:!0});continue}}catch(e){if(g(e)&&e.code===`ENOENT`)continue;throw e}if(Date.now()-i>=3e4)throw Error(`Timed out waiting for Antigravity state lock: ${e}`);await(0,o.setTimeout)(25)}}function y(e,t){let r=n.default.relative(e,t);return r===``||!r.startsWith(`..${n.default.sep}`)&&r!==`..`&&!n.default.isAbsolute(r)}exports.acquireDirectoryLock=v,exports.forwardSignals=p,exports.isFileSystemError=g,exports.lockOwnerIsRunning=_,exports.pathInside=y,exports.runCaptured=u,exports.runChecked=d,exports.runInteractive=h,exports.signalExitCode=f,exports.waitForExit=m;
|
|
2
|
+
//# sourceMappingURL=process.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"process.cjs","names":["osConstants","readJson","path","fs"],"sources":["../../../src/
|
|
1
|
+
{"version":3,"file":"process.cjs","names":["osConstants","readJson","path","fs"],"sources":["../../../src/adapters/compatibility/process.ts"],"sourcesContent":["import { type ChildProcess, spawnSync } from 'node:child_process';\nimport fs from 'node:fs';\nimport { constants as osConstants } from 'node:os';\nimport path from 'node:path';\nimport { setTimeout as delay } from 'node:timers/promises';\nimport spawn from 'cross-spawn';\nimport { readJson, writeJson } from '../../utils/index.ts';\n\n/**\n * Child process and cross-repository locking primitives.\n *\n * Shared by every compatibility provider and by the Pi launch command, so that\n * signal forwarding behaves the same however the harness starts a child.\n */\n\nconst FORWARDED_SIGNALS: NodeJS.Signals[] = ['SIGINT', 'SIGTERM', 'SIGHUP', 'SIGQUIT'];\nconst SIGNAL_EXIT_CODE_OFFSET = 128;\nconst UNKNOWN_SIGNAL_EXIT_CODE = 1;\nconst LOCK_RETRY_MS = 25;\nconst LOCK_STALE_MS = 10_000;\nconst LOCK_TIMEOUT_MS = 30_000;\nconst FILE_EXISTS_ERROR = 'EEXIST';\nconst FILE_NOT_FOUND_ERROR = 'ENOENT';\nconst PROCESS_NOT_FOUND_ERROR = 'ESRCH';\nconst LOCK_OWNER_FILENAME = 'owner.json';\n\n/** Runs a command and returns its trimmed stdout, throwing on a non-zero exit. */\nexport function runCaptured(command: string, args: string[], cwd: string, environment: NodeJS.ProcessEnv): string {\n const result = spawnSync(command, args, { cwd, encoding: 'utf8', env: environment });\n if (result.error) throw result.error;\n if (result.stderr) process.stderr.write(result.stderr);\n if (result.status !== 0) {\n throw new Error(`${command} exited with status ${result.status ?? 1}`);\n }\n return result.stdout.trim();\n}\n\n/** Runs a command with inherited stdio, throwing on a non-zero exit. */\nexport function runChecked(command: string, args: string[], cwd: string, environment: NodeJS.ProcessEnv): void {\n const result = spawnSync(command, args, { cwd, env: environment, stdio: 'inherit' });\n if (result.error) throw result.error;\n if (result.status !== 0) throw new Error(`${command} exited with status ${result.status ?? 1}`);\n}\n\n/** The conventional 128+n exit code for a child killed by a signal. */\nexport function signalExitCode(signal: NodeJS.Signals | null): number {\n if (!signal) return UNKNOWN_SIGNAL_EXIT_CODE;\n const signalNumber = osConstants.signals[signal];\n return signalNumber ? SIGNAL_EXIT_CODE_OFFSET + signalNumber : UNKNOWN_SIGNAL_EXIT_CODE;\n}\n\n/**\n * Runs an interactive child, forwarding terminal signals for its lifetime.\n *\n * Listeners are registered with `on` rather than `once` so a second Ctrl-C still\n * reaches the child, and removed in a finally so repeated launches in one\n * process do not accumulate handlers.\n */\nexport function forwardSignals(child: ChildProcess): () => void {\n const forward = (signal: NodeJS.Signals): void => {\n if (child.exitCode === null && child.signalCode === null) child.kill(signal);\n };\n for (const signal of FORWARDED_SIGNALS) process.on(signal, forward);\n return () => {\n for (const signal of FORWARDED_SIGNALS) process.removeListener(signal, forward);\n };\n}\n\n/** Resolves with the child's exit code, or the conventional code for its signal. */\nexport function waitForExit(child: ChildProcess): Promise<number> {\n return new Promise<number>((resolve, reject) => {\n child.once('error', reject);\n child.once('exit', (code, signal) => resolve(code ?? signalExitCode(signal)));\n });\n}\n\nexport async function runInteractive(\n command: string,\n args: string[],\n cwd: string,\n environment: NodeJS.ProcessEnv,\n): Promise<number> {\n const child = spawn(command, args, { cwd, env: environment, stdio: 'inherit' });\n const stopForwarding = forwardSignals(child);\n try {\n return await waitForExit(child);\n } finally {\n stopForwarding();\n }\n}\n\nexport function isFileSystemError(error: unknown): error is NodeJS.ErrnoException {\n return error instanceof Error && typeof (error as NodeJS.ErrnoException).code === 'string';\n}\n\n/** True when the recorded lock owner is still a live process. */\nexport function lockOwnerIsRunning(lockPath: string): boolean {\n const owner = readJson(path.join(lockPath, LOCK_OWNER_FILENAME));\n if (typeof owner.pid !== 'number' || !Number.isSafeInteger(owner.pid) || owner.pid <= 0) return false;\n try {\n process.kill(owner.pid, 0);\n return true;\n } catch (error) {\n // Anything other than \"no such process\" means the pid exists but is not\n // ours to signal, so the lock is still held.\n return !isFileSystemError(error) || error.code !== PROCESS_NOT_FOUND_ERROR;\n }\n}\n\n/**\n * Takes an exclusive lock by creating a directory, which is atomic everywhere.\n *\n * A lock older than the stale window whose owner is gone is reclaimed, so a\n * harness killed mid-sync cannot block every other repository forever.\n */\nexport async function acquireDirectoryLock(lockPath: string): Promise<() => Promise<void>> {\n fs.mkdirSync(path.dirname(lockPath), { recursive: true });\n const startedAt = Date.now();\n\n while (true) {\n try {\n await fs.promises.mkdir(lockPath);\n try {\n writeJson(path.join(lockPath, LOCK_OWNER_FILENAME), { pid: process.pid });\n } catch (error) {\n await fs.promises.rm(lockPath, { recursive: true, force: true });\n throw error;\n }\n return () => fs.promises.rm(lockPath, { recursive: true, force: true });\n } catch (error) {\n if (!isFileSystemError(error) || error.code !== FILE_EXISTS_ERROR) throw error;\n try {\n const stat = await fs.promises.stat(lockPath);\n if (Date.now() - stat.mtimeMs >= LOCK_STALE_MS && !lockOwnerIsRunning(lockPath)) {\n await fs.promises.rm(lockPath, { recursive: true, force: true });\n continue;\n }\n } catch (statError) {\n // The holder released between the failed mkdir and this stat, so retry\n // immediately rather than waiting out the retry delay.\n if (isFileSystemError(statError) && statError.code === FILE_NOT_FOUND_ERROR) continue;\n throw statError;\n }\n if (Date.now() - startedAt >= LOCK_TIMEOUT_MS) {\n throw new Error(`Timed out waiting for Antigravity state lock: ${lockPath}`);\n }\n await delay(LOCK_RETRY_MS);\n }\n }\n}\n\n/** True when `candidate` is `root` itself or sits underneath it. */\nexport function pathInside(root: string, candidate: string): boolean {\n const relative = path.relative(root, candidate);\n return relative === '' || (!relative.startsWith(`..${path.sep}`) && relative !== '..' && !path.isAbsolute(relative));\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { ChildProcess } from "node:child_process";
|
|
2
|
+
|
|
3
|
+
//#region src/adapters/compatibility/process.d.ts
|
|
4
|
+
/** Runs a command and returns its trimmed stdout, throwing on a non-zero exit. */
|
|
5
|
+
declare function runCaptured(command: string, args: string[], cwd: string, environment: NodeJS.ProcessEnv): string;
|
|
6
|
+
/** Runs a command with inherited stdio, throwing on a non-zero exit. */
|
|
7
|
+
declare function runChecked(command: string, args: string[], cwd: string, environment: NodeJS.ProcessEnv): void;
|
|
8
|
+
/** The conventional 128+n exit code for a child killed by a signal. */
|
|
9
|
+
declare function signalExitCode(signal: NodeJS.Signals | null): number;
|
|
10
|
+
/**
|
|
11
|
+
* Runs an interactive child, forwarding terminal signals for its lifetime.
|
|
12
|
+
*
|
|
13
|
+
* Listeners are registered with `on` rather than `once` so a second Ctrl-C still
|
|
14
|
+
* reaches the child, and removed in a finally so repeated launches in one
|
|
15
|
+
* process do not accumulate handlers.
|
|
16
|
+
*/
|
|
17
|
+
declare function forwardSignals(child: ChildProcess): () => void;
|
|
18
|
+
/** Resolves with the child's exit code, or the conventional code for its signal. */
|
|
19
|
+
declare function waitForExit(child: ChildProcess): Promise<number>;
|
|
20
|
+
declare function runInteractive(command: string, args: string[], cwd: string, environment: NodeJS.ProcessEnv): Promise<number>;
|
|
21
|
+
declare function isFileSystemError(error: unknown): error is NodeJS.ErrnoException;
|
|
22
|
+
/** True when the recorded lock owner is still a live process. */
|
|
23
|
+
declare function lockOwnerIsRunning(lockPath: string): boolean;
|
|
24
|
+
/**
|
|
25
|
+
* Takes an exclusive lock by creating a directory, which is atomic everywhere.
|
|
26
|
+
*
|
|
27
|
+
* A lock older than the stale window whose owner is gone is reclaimed, so a
|
|
28
|
+
* harness killed mid-sync cannot block every other repository forever.
|
|
29
|
+
*/
|
|
30
|
+
declare function acquireDirectoryLock(lockPath: string): Promise<() => Promise<void>>;
|
|
31
|
+
/** True when `candidate` is `root` itself or sits underneath it. */
|
|
32
|
+
declare function pathInside(root: string, candidate: string): boolean;
|
|
33
|
+
//#endregion
|
|
34
|
+
export { acquireDirectoryLock, forwardSignals, isFileSystemError, lockOwnerIsRunning, pathInside, runCaptured, runChecked, runInteractive, signalExitCode, waitForExit };
|
|
35
|
+
//# sourceMappingURL=process.d.cts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"process.d.cts","names":[],"sources":["../../../src/
|
|
1
|
+
{"version":3,"file":"process.d.cts","names":[],"sources":["../../../src/adapters/compatibility/process.ts"],"mappings":";;;;iBA2BgB,WAAA,CAAY,OAAA,UAAiB,IAAA,YAAgB,GAAA,UAAa,WAAA,EAAa,MAAA,CAAO,UAAA;AAA9F;AAAA,iBAWgB,UAAA,CAAW,OAAA,UAAiB,IAAA,YAAgB,GAAA,UAAa,WAAA,EAAa,MAAA,CAAO,UAAA;;iBAO7E,cAAA,CAAe,MAAA,EAAQ,MAAA,CAAO,OAAA;;;;;;;;iBAa9B,cAAA,CAAe,KAAA,EAAO,YAAA;AApBtC;AAAA,iBA+BgB,WAAA,CAAY,KAAA,EAAO,YAAA,GAAe,OAAA;AAAA,iBAO5B,cAAA,CACpB,OAAA,UACA,IAAA,YACA,GAAA,UACA,WAAA,EAAa,MAAA,CAAO,UAAA,GACnB,OAAA;AAAA,iBAUa,iBAAA,CAAkB,KAAA,YAAiB,KAAA,IAAS,MAAA,CAAO,cAAA;;iBAKnD,kBAAA,CAAmB,QAAA;;;;;;;iBAmBb,oBAAA,CAAqB,QAAA,WAAmB,OAAA,OAAc,OAAA;;iBAqC5D,UAAA,CAAW,IAAA,UAAc,SAAA"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { ChildProcess } from "node:child_process";
|
|
2
|
+
|
|
3
|
+
//#region src/adapters/compatibility/process.d.ts
|
|
4
|
+
/** Runs a command and returns its trimmed stdout, throwing on a non-zero exit. */
|
|
5
|
+
declare function runCaptured(command: string, args: string[], cwd: string, environment: NodeJS.ProcessEnv): string;
|
|
6
|
+
/** Runs a command with inherited stdio, throwing on a non-zero exit. */
|
|
7
|
+
declare function runChecked(command: string, args: string[], cwd: string, environment: NodeJS.ProcessEnv): void;
|
|
8
|
+
/** The conventional 128+n exit code for a child killed by a signal. */
|
|
9
|
+
declare function signalExitCode(signal: NodeJS.Signals | null): number;
|
|
10
|
+
/**
|
|
11
|
+
* Runs an interactive child, forwarding terminal signals for its lifetime.
|
|
12
|
+
*
|
|
13
|
+
* Listeners are registered with `on` rather than `once` so a second Ctrl-C still
|
|
14
|
+
* reaches the child, and removed in a finally so repeated launches in one
|
|
15
|
+
* process do not accumulate handlers.
|
|
16
|
+
*/
|
|
17
|
+
declare function forwardSignals(child: ChildProcess): () => void;
|
|
18
|
+
/** Resolves with the child's exit code, or the conventional code for its signal. */
|
|
19
|
+
declare function waitForExit(child: ChildProcess): Promise<number>;
|
|
20
|
+
declare function runInteractive(command: string, args: string[], cwd: string, environment: NodeJS.ProcessEnv): Promise<number>;
|
|
21
|
+
declare function isFileSystemError(error: unknown): error is NodeJS.ErrnoException;
|
|
22
|
+
/** True when the recorded lock owner is still a live process. */
|
|
23
|
+
declare function lockOwnerIsRunning(lockPath: string): boolean;
|
|
24
|
+
/**
|
|
25
|
+
* Takes an exclusive lock by creating a directory, which is atomic everywhere.
|
|
26
|
+
*
|
|
27
|
+
* A lock older than the stale window whose owner is gone is reclaimed, so a
|
|
28
|
+
* harness killed mid-sync cannot block every other repository forever.
|
|
29
|
+
*/
|
|
30
|
+
declare function acquireDirectoryLock(lockPath: string): Promise<() => Promise<void>>;
|
|
31
|
+
/** True when `candidate` is `root` itself or sits underneath it. */
|
|
32
|
+
declare function pathInside(root: string, candidate: string): boolean;
|
|
33
|
+
//#endregion
|
|
34
|
+
export { acquireDirectoryLock, forwardSignals, isFileSystemError, lockOwnerIsRunning, pathInside, runCaptured, runChecked, runInteractive, signalExitCode, waitForExit };
|
|
35
|
+
//# sourceMappingURL=process.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"process.d.mts","names":[],"sources":["../../../src/
|
|
1
|
+
{"version":3,"file":"process.d.mts","names":[],"sources":["../../../src/adapters/compatibility/process.ts"],"mappings":";;;;iBA2BgB,WAAA,CAAY,OAAA,UAAiB,IAAA,YAAgB,GAAA,UAAa,WAAA,EAAa,MAAA,CAAO,UAAA;AAA9F;AAAA,iBAWgB,UAAA,CAAW,OAAA,UAAiB,IAAA,YAAgB,GAAA,UAAa,WAAA,EAAa,MAAA,CAAO,UAAA;;iBAO7E,cAAA,CAAe,MAAA,EAAQ,MAAA,CAAO,OAAA;;;;;;;;iBAa9B,cAAA,CAAe,KAAA,EAAO,YAAA;AApBtC;AAAA,iBA+BgB,WAAA,CAAY,KAAA,EAAO,YAAA,GAAe,OAAA;AAAA,iBAO5B,cAAA,CACpB,OAAA,UACA,IAAA,YACA,GAAA,UACA,WAAA,EAAa,MAAA,CAAO,UAAA,GACnB,OAAA;AAAA,iBAUa,iBAAA,CAAkB,KAAA,YAAiB,KAAA,IAAS,MAAA,CAAO,cAAA;;iBAKnD,kBAAA,CAAmB,QAAA;;;;;;;iBAmBb,oBAAA,CAAqB,QAAA,WAAmB,OAAA,OAAc,OAAA;;iBAqC5D,UAAA,CAAW,IAAA,UAAc,SAAA"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{readJson as e,writeJson as t}from"../serialization/json.mjs";import"../../utils/index.mjs";import n from"node:path";import r from"node:fs";import{constants as i}from"node:os";import{spawnSync as a}from"node:child_process";import{setTimeout as o}from"node:timers/promises";import s from"cross-spawn";const c=[`SIGINT`,`SIGTERM`,`SIGHUP`,`SIGQUIT`],l=`owner.json`;function u(e,t,n,r){let i=a(e,t,{cwd:n,encoding:`utf8`,env:r});if(i.error)throw i.error;if(i.stderr&&process.stderr.write(i.stderr),i.status!==0)throw Error(`${e} exited with status ${i.status??1}`);return i.stdout.trim()}function d(e,t,n,r){let i=a(e,t,{cwd:n,env:r,stdio:`inherit`});if(i.error)throw i.error;if(i.status!==0)throw Error(`${e} exited with status ${i.status??1}`)}function f(e){if(!e)return 1;let t=i.signals[e];return t?128+t:1}function p(e){let t=t=>{e.exitCode===null&&e.signalCode===null&&e.kill(t)};for(let e of c)process.on(e,t);return()=>{for(let e of c)process.removeListener(e,t)}}function m(e){return new Promise((t,n)=>{e.once(`error`,n),e.once(`exit`,(e,n)=>t(e??f(n)))})}async function h(e,t,n,r){let i=s(e,t,{cwd:n,env:r,stdio:`inherit`}),a=p(i);try{return await m(i)}finally{a()}}function g(e){return e instanceof Error&&typeof e.code==`string`}function _(t){let r=e(n.join(t,l));if(typeof r.pid!=`number`||!Number.isSafeInteger(r.pid)||r.pid<=0)return!1;try{return process.kill(r.pid,0),!0}catch(e){return!g(e)||e.code!==`ESRCH`}}async function v(e){r.mkdirSync(n.dirname(e),{recursive:!0});let i=Date.now();for(;;)try{await r.promises.mkdir(e);try{t(n.join(e,l),{pid:process.pid})}catch(t){throw await r.promises.rm(e,{recursive:!0,force:!0}),t}return()=>r.promises.rm(e,{recursive:!0,force:!0})}catch(t){if(!g(t)||t.code!==`EEXIST`)throw t;try{let t=await r.promises.stat(e);if(Date.now()-t.mtimeMs>=1e4&&!_(e)){await r.promises.rm(e,{recursive:!0,force:!0});continue}}catch(e){if(g(e)&&e.code===`ENOENT`)continue;throw e}if(Date.now()-i>=3e4)throw Error(`Timed out waiting for Antigravity state lock: ${e}`);await o(25)}}function y(e,t){let r=n.relative(e,t);return r===``||!r.startsWith(`..${n.sep}`)&&r!==`..`&&!n.isAbsolute(r)}export{v as acquireDirectoryLock,p as forwardSignals,g as isFileSystemError,_ as lockOwnerIsRunning,y as pathInside,u as runCaptured,d as runChecked,h as runInteractive,f as signalExitCode,m as waitForExit};
|
|
2
|
+
//# sourceMappingURL=process.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"process.mjs","names":["osConstants","spawn","delay"],"sources":["../../../src/
|
|
1
|
+
{"version":3,"file":"process.mjs","names":["osConstants","spawn","delay"],"sources":["../../../src/adapters/compatibility/process.ts"],"sourcesContent":["import { type ChildProcess, spawnSync } from 'node:child_process';\nimport fs from 'node:fs';\nimport { constants as osConstants } from 'node:os';\nimport path from 'node:path';\nimport { setTimeout as delay } from 'node:timers/promises';\nimport spawn from 'cross-spawn';\nimport { readJson, writeJson } from '../../utils/index.ts';\n\n/**\n * Child process and cross-repository locking primitives.\n *\n * Shared by every compatibility provider and by the Pi launch command, so that\n * signal forwarding behaves the same however the harness starts a child.\n */\n\nconst FORWARDED_SIGNALS: NodeJS.Signals[] = ['SIGINT', 'SIGTERM', 'SIGHUP', 'SIGQUIT'];\nconst SIGNAL_EXIT_CODE_OFFSET = 128;\nconst UNKNOWN_SIGNAL_EXIT_CODE = 1;\nconst LOCK_RETRY_MS = 25;\nconst LOCK_STALE_MS = 10_000;\nconst LOCK_TIMEOUT_MS = 30_000;\nconst FILE_EXISTS_ERROR = 'EEXIST';\nconst FILE_NOT_FOUND_ERROR = 'ENOENT';\nconst PROCESS_NOT_FOUND_ERROR = 'ESRCH';\nconst LOCK_OWNER_FILENAME = 'owner.json';\n\n/** Runs a command and returns its trimmed stdout, throwing on a non-zero exit. */\nexport function runCaptured(command: string, args: string[], cwd: string, environment: NodeJS.ProcessEnv): string {\n const result = spawnSync(command, args, { cwd, encoding: 'utf8', env: environment });\n if (result.error) throw result.error;\n if (result.stderr) process.stderr.write(result.stderr);\n if (result.status !== 0) {\n throw new Error(`${command} exited with status ${result.status ?? 1}`);\n }\n return result.stdout.trim();\n}\n\n/** Runs a command with inherited stdio, throwing on a non-zero exit. */\nexport function runChecked(command: string, args: string[], cwd: string, environment: NodeJS.ProcessEnv): void {\n const result = spawnSync(command, args, { cwd, env: environment, stdio: 'inherit' });\n if (result.error) throw result.error;\n if (result.status !== 0) throw new Error(`${command} exited with status ${result.status ?? 1}`);\n}\n\n/** The conventional 128+n exit code for a child killed by a signal. */\nexport function signalExitCode(signal: NodeJS.Signals | null): number {\n if (!signal) return UNKNOWN_SIGNAL_EXIT_CODE;\n const signalNumber = osConstants.signals[signal];\n return signalNumber ? SIGNAL_EXIT_CODE_OFFSET + signalNumber : UNKNOWN_SIGNAL_EXIT_CODE;\n}\n\n/**\n * Runs an interactive child, forwarding terminal signals for its lifetime.\n *\n * Listeners are registered with `on` rather than `once` so a second Ctrl-C still\n * reaches the child, and removed in a finally so repeated launches in one\n * process do not accumulate handlers.\n */\nexport function forwardSignals(child: ChildProcess): () => void {\n const forward = (signal: NodeJS.Signals): void => {\n if (child.exitCode === null && child.signalCode === null) child.kill(signal);\n };\n for (const signal of FORWARDED_SIGNALS) process.on(signal, forward);\n return () => {\n for (const signal of FORWARDED_SIGNALS) process.removeListener(signal, forward);\n };\n}\n\n/** Resolves with the child's exit code, or the conventional code for its signal. */\nexport function waitForExit(child: ChildProcess): Promise<number> {\n return new Promise<number>((resolve, reject) => {\n child.once('error', reject);\n child.once('exit', (code, signal) => resolve(code ?? signalExitCode(signal)));\n });\n}\n\nexport async function runInteractive(\n command: string,\n args: string[],\n cwd: string,\n environment: NodeJS.ProcessEnv,\n): Promise<number> {\n const child = spawn(command, args, { cwd, env: environment, stdio: 'inherit' });\n const stopForwarding = forwardSignals(child);\n try {\n return await waitForExit(child);\n } finally {\n stopForwarding();\n }\n}\n\nexport function isFileSystemError(error: unknown): error is NodeJS.ErrnoException {\n return error instanceof Error && typeof (error as NodeJS.ErrnoException).code === 'string';\n}\n\n/** True when the recorded lock owner is still a live process. */\nexport function lockOwnerIsRunning(lockPath: string): boolean {\n const owner = readJson(path.join(lockPath, LOCK_OWNER_FILENAME));\n if (typeof owner.pid !== 'number' || !Number.isSafeInteger(owner.pid) || owner.pid <= 0) return false;\n try {\n process.kill(owner.pid, 0);\n return true;\n } catch (error) {\n // Anything other than \"no such process\" means the pid exists but is not\n // ours to signal, so the lock is still held.\n return !isFileSystemError(error) || error.code !== PROCESS_NOT_FOUND_ERROR;\n }\n}\n\n/**\n * Takes an exclusive lock by creating a directory, which is atomic everywhere.\n *\n * A lock older than the stale window whose owner is gone is reclaimed, so a\n * harness killed mid-sync cannot block every other repository forever.\n */\nexport async function acquireDirectoryLock(lockPath: string): Promise<() => Promise<void>> {\n fs.mkdirSync(path.dirname(lockPath), { recursive: true });\n const startedAt = Date.now();\n\n while (true) {\n try {\n await fs.promises.mkdir(lockPath);\n try {\n writeJson(path.join(lockPath, LOCK_OWNER_FILENAME), { pid: process.pid });\n } catch (error) {\n await fs.promises.rm(lockPath, { recursive: true, force: true });\n throw error;\n }\n return () => fs.promises.rm(lockPath, { recursive: true, force: true });\n } catch (error) {\n if (!isFileSystemError(error) || error.code !== FILE_EXISTS_ERROR) throw error;\n try {\n const stat = await fs.promises.stat(lockPath);\n if (Date.now() - stat.mtimeMs >= LOCK_STALE_MS && !lockOwnerIsRunning(lockPath)) {\n await fs.promises.rm(lockPath, { recursive: true, force: true });\n continue;\n }\n } catch (statError) {\n // The holder released between the failed mkdir and this stat, so retry\n // immediately rather than waiting out the retry delay.\n if (isFileSystemError(statError) && statError.code === FILE_NOT_FOUND_ERROR) continue;\n throw statError;\n }\n if (Date.now() - startedAt >= LOCK_TIMEOUT_MS) {\n throw new Error(`Timed out waiting for Antigravity state lock: ${lockPath}`);\n }\n await delay(LOCK_RETRY_MS);\n }\n }\n}\n\n/** True when `candidate` is `root` itself or sits underneath it. */\nexport function pathInside(root: string, candidate: string): boolean {\n const relative = path.relative(root, candidate);\n return relative === '' || (!relative.startsWith(`..${path.sep}`) && relative !== '..' && !path.isAbsolute(relative));\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const e=`--config`,t=`--add-dir`,n=`--proxy-mode`,r=`flat`,i=`${n}=${r}`;function a(t,a,o,s=!1){return[...o?[`-y`]:[],t,`mcp-serve`,`--type`,`stdio-http`,...s?[i]:[n,r],e,a]}function o(e){return e.options.additionalDirectories.flatMap(e=>[t,e])}exports.ADD_DIRECTORY_OPTION=t,exports.AGIFLOW_PROXY_SERVER_NAME=`agiflow-proxy`,exports.ANTIGRAVITY_MCP_PROXY_PACKAGE=`@agimon-ai/mcp-proxy`,exports.CORE_PLUGIN_NAME=`core`,exports.MCP_CONFIG_OPTION=e,exports.MCP_PRESTART_OPTION=`--prestart-http`,exports.MCP_PROXY_PACKAGE=`@agimon-ai/mcp-proxy@latest`,exports.MCP_SERVERS_KEY=`mcpServers`,exports.NPX_COMMAND=`npx`,exports.PLUGINS_DIRECTORY=`plugins`,exports.PLUGIN_MANIFEST_FILENAME=`plugin.json`,exports.SKILLS_DIRECTORY=`skills`,exports.SKIP_PERMISSIONS_OPTION=`--dangerously-skip-permissions`,exports.additionalDirectoryArgs=o,exports.mcpProxyArguments=a;
|
|
2
|
+
//# sourceMappingURL=shared.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared.cjs","names":[],"sources":["../../../src/
|
|
1
|
+
{"version":3,"file":"shared.cjs","names":[],"sources":["../../../src/adapters/compatibility/shared.ts"],"sourcesContent":["import type { CompatibilityContext } from '../compatibilityContext.ts';\n\n/**\n * Values and argument builders shared by more than one provider.\n *\n * Kept separate from index.ts so the provider modules can import them without\n * depending on the dispatch that imports the provider modules.\n */\n\nexport const MCP_PROXY_PACKAGE = '@agimon-ai/mcp-proxy@latest';\nexport const ANTIGRAVITY_MCP_PROXY_PACKAGE = '@agimon-ai/mcp-proxy';\nexport const AGIFLOW_PROXY_SERVER_NAME = 'agiflow-proxy';\nexport const MCP_CONFIG_OPTION = '--config';\nexport const MCP_PRESTART_OPTION = '--prestart-http';\nexport const ADD_DIRECTORY_OPTION = '--add-dir';\nexport const SKIP_PERMISSIONS_OPTION = '--dangerously-skip-permissions';\nexport const NPX_COMMAND = 'npx';\nexport const PLUGINS_DIRECTORY = 'plugins';\nexport const SKILLS_DIRECTORY = 'skills';\nexport const MCP_SERVERS_KEY = 'mcpServers';\nexport const CORE_PLUGIN_NAME = 'core';\nexport const PLUGIN_MANIFEST_FILENAME = 'plugin.json';\n\nconst MCP_SERVE_COMMAND = 'mcp-serve';\nconst MCP_TYPE_OPTION = '--type';\nconst MCP_STDIO_HTTP_TYPE = 'stdio-http';\nconst MCP_PROXY_MODE_OPTION = '--proxy-mode';\nconst MCP_PROXY_MODE = 'flat';\nconst MCP_PROXY_MODE_ASSIGNMENT = `${MCP_PROXY_MODE_OPTION}=${MCP_PROXY_MODE}`;\nconst NPX_ASSUME_YES_OPTION = '-y';\n\n/**\n * Command line for the MCP proxy.\n *\n * `inlineProxyMode` picks `--proxy-mode=flat` over `--proxy-mode flat`, which\n * Codex needs because it receives the whole argument vector as one `-c` value.\n */\nexport function mcpProxyArguments(\n packageName: string,\n configPath: string,\n assumeYes: boolean,\n inlineProxyMode = false,\n): string[] {\n return [\n ...(assumeYes ? [NPX_ASSUME_YES_OPTION] : []),\n packageName,\n MCP_SERVE_COMMAND,\n MCP_TYPE_OPTION,\n MCP_STDIO_HTTP_TYPE,\n ...(inlineProxyMode ? [MCP_PROXY_MODE_ASSIGNMENT] : [MCP_PROXY_MODE_OPTION, MCP_PROXY_MODE]),\n MCP_CONFIG_OPTION,\n configPath,\n ];\n}\n\nexport function additionalDirectoryArgs(context: CompatibilityContext): string[] {\n return context.options.additionalDirectories.flatMap((directory) => [ADD_DIRECTORY_OPTION, directory]);\n}\n"],"mappings":"AASA,MAGa,EAAoB,WAEpB,EAAuB,YAY9B,EAAwB,eACxB,EAAiB,OACjB,EAA4B,GAAG,EAAsB,GAAG,IAS9D,SAAgB,EACd,EACA,EACA,EACA,EAAkB,GACR,CACV,MAAO,CACL,GAAI,EAAY,CAAC,KAAsB,CAAG,EAAE,CAC5C,EACA,YACA,SACA,aACA,GAAI,EAAkB,CAAC,EAA0B,CAAG,CAAC,EAAuB,EAAe,CAC3F,EACA,EACD,CAGH,SAAgB,EAAwB,EAAyC,CAC/E,OAAO,EAAQ,QAAQ,sBAAsB,QAAS,GAAc,CAAC,EAAsB,EAAU,CAAC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { CompatibilityContext } from "../compatibilityContext.cjs";
|
|
2
|
+
|
|
3
|
+
//#region src/adapters/compatibility/shared.d.ts
|
|
4
|
+
/**
|
|
5
|
+
* Values and argument builders shared by more than one provider.
|
|
6
|
+
*
|
|
7
|
+
* Kept separate from index.ts so the provider modules can import them without
|
|
8
|
+
* depending on the dispatch that imports the provider modules.
|
|
9
|
+
*/
|
|
10
|
+
declare const MCP_PROXY_PACKAGE = "@agimon-ai/mcp-proxy@latest";
|
|
11
|
+
declare const ANTIGRAVITY_MCP_PROXY_PACKAGE = "@agimon-ai/mcp-proxy";
|
|
12
|
+
declare const AGIFLOW_PROXY_SERVER_NAME = "agiflow-proxy";
|
|
13
|
+
declare const MCP_CONFIG_OPTION = "--config";
|
|
14
|
+
declare const MCP_PRESTART_OPTION = "--prestart-http";
|
|
15
|
+
declare const ADD_DIRECTORY_OPTION = "--add-dir";
|
|
16
|
+
declare const SKIP_PERMISSIONS_OPTION = "--dangerously-skip-permissions";
|
|
17
|
+
declare const NPX_COMMAND = "npx";
|
|
18
|
+
declare const PLUGINS_DIRECTORY = "plugins";
|
|
19
|
+
declare const SKILLS_DIRECTORY = "skills";
|
|
20
|
+
declare const MCP_SERVERS_KEY = "mcpServers";
|
|
21
|
+
declare const CORE_PLUGIN_NAME = "core";
|
|
22
|
+
declare const PLUGIN_MANIFEST_FILENAME = "plugin.json";
|
|
23
|
+
/**
|
|
24
|
+
* Command line for the MCP proxy.
|
|
25
|
+
*
|
|
26
|
+
* `inlineProxyMode` picks `--proxy-mode=flat` over `--proxy-mode flat`, which
|
|
27
|
+
* Codex needs because it receives the whole argument vector as one `-c` value.
|
|
28
|
+
*/
|
|
29
|
+
declare function mcpProxyArguments(packageName: string, configPath: string, assumeYes: boolean, inlineProxyMode?: boolean): string[];
|
|
30
|
+
declare function additionalDirectoryArgs(context: CompatibilityContext): string[];
|
|
31
|
+
//#endregion
|
|
32
|
+
export { ADD_DIRECTORY_OPTION, AGIFLOW_PROXY_SERVER_NAME, ANTIGRAVITY_MCP_PROXY_PACKAGE, CORE_PLUGIN_NAME, MCP_CONFIG_OPTION, MCP_PRESTART_OPTION, MCP_PROXY_PACKAGE, MCP_SERVERS_KEY, NPX_COMMAND, PLUGINS_DIRECTORY, PLUGIN_MANIFEST_FILENAME, SKILLS_DIRECTORY, SKIP_PERMISSIONS_OPTION, additionalDirectoryArgs, mcpProxyArguments };
|
|
33
|
+
//# sourceMappingURL=shared.d.cts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared.d.cts","names":[],"sources":["../../../src/
|
|
1
|
+
{"version":3,"file":"shared.d.cts","names":[],"sources":["../../../src/adapters/compatibility/shared.ts"],"mappings":";;;;;AASA;;;;cAAa,iBAAA;AAAA,cACA,6BAAA;AAAA,cACA,yBAAA;AAAA,cACA,iBAAA;AAAA,cACA,mBAAA;AAAA,cACA,oBAAA;AAAA,cACA,uBAAA;AAAA,cACA,WAAA;AAAA,cACA,iBAAA;AAAA,cACA,gBAAA;AAAA,cACA,eAAA;AAAA,cACA,gBAAA;AAAA,cACA,wBAAA;;;;AARb;;;iBAwBgB,iBAAA,CACd,WAAA,UACA,UAAA,UACA,SAAA,WACA,eAAA;AAAA,iBAcc,uBAAA,CAAwB,OAAA,EAAS,oBAAA"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { CompatibilityContext } from "../compatibilityContext.mjs";
|
|
2
|
+
|
|
3
|
+
//#region src/adapters/compatibility/shared.d.ts
|
|
4
|
+
/**
|
|
5
|
+
* Values and argument builders shared by more than one provider.
|
|
6
|
+
*
|
|
7
|
+
* Kept separate from index.ts so the provider modules can import them without
|
|
8
|
+
* depending on the dispatch that imports the provider modules.
|
|
9
|
+
*/
|
|
10
|
+
declare const MCP_PROXY_PACKAGE = "@agimon-ai/mcp-proxy@latest";
|
|
11
|
+
declare const ANTIGRAVITY_MCP_PROXY_PACKAGE = "@agimon-ai/mcp-proxy";
|
|
12
|
+
declare const AGIFLOW_PROXY_SERVER_NAME = "agiflow-proxy";
|
|
13
|
+
declare const MCP_CONFIG_OPTION = "--config";
|
|
14
|
+
declare const MCP_PRESTART_OPTION = "--prestart-http";
|
|
15
|
+
declare const ADD_DIRECTORY_OPTION = "--add-dir";
|
|
16
|
+
declare const SKIP_PERMISSIONS_OPTION = "--dangerously-skip-permissions";
|
|
17
|
+
declare const NPX_COMMAND = "npx";
|
|
18
|
+
declare const PLUGINS_DIRECTORY = "plugins";
|
|
19
|
+
declare const SKILLS_DIRECTORY = "skills";
|
|
20
|
+
declare const MCP_SERVERS_KEY = "mcpServers";
|
|
21
|
+
declare const CORE_PLUGIN_NAME = "core";
|
|
22
|
+
declare const PLUGIN_MANIFEST_FILENAME = "plugin.json";
|
|
23
|
+
/**
|
|
24
|
+
* Command line for the MCP proxy.
|
|
25
|
+
*
|
|
26
|
+
* `inlineProxyMode` picks `--proxy-mode=flat` over `--proxy-mode flat`, which
|
|
27
|
+
* Codex needs because it receives the whole argument vector as one `-c` value.
|
|
28
|
+
*/
|
|
29
|
+
declare function mcpProxyArguments(packageName: string, configPath: string, assumeYes: boolean, inlineProxyMode?: boolean): string[];
|
|
30
|
+
declare function additionalDirectoryArgs(context: CompatibilityContext): string[];
|
|
31
|
+
//#endregion
|
|
32
|
+
export { ADD_DIRECTORY_OPTION, AGIFLOW_PROXY_SERVER_NAME, ANTIGRAVITY_MCP_PROXY_PACKAGE, CORE_PLUGIN_NAME, MCP_CONFIG_OPTION, MCP_PRESTART_OPTION, MCP_PROXY_PACKAGE, MCP_SERVERS_KEY, NPX_COMMAND, PLUGINS_DIRECTORY, PLUGIN_MANIFEST_FILENAME, SKILLS_DIRECTORY, SKIP_PERMISSIONS_OPTION, additionalDirectoryArgs, mcpProxyArguments };
|
|
33
|
+
//# sourceMappingURL=shared.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared.d.mts","names":[],"sources":["../../../src/
|
|
1
|
+
{"version":3,"file":"shared.d.mts","names":[],"sources":["../../../src/adapters/compatibility/shared.ts"],"mappings":";;;;;AASA;;;;cAAa,iBAAA;AAAA,cACA,6BAAA;AAAA,cACA,yBAAA;AAAA,cACA,iBAAA;AAAA,cACA,mBAAA;AAAA,cACA,oBAAA;AAAA,cACA,uBAAA;AAAA,cACA,WAAA;AAAA,cACA,iBAAA;AAAA,cACA,gBAAA;AAAA,cACA,eAAA;AAAA,cACA,gBAAA;AAAA,cACA,wBAAA;;;;AARb;;;iBAwBgB,iBAAA,CACd,WAAA,UACA,UAAA,UACA,SAAA,WACA,eAAA;AAAA,iBAcc,uBAAA,CAAwB,OAAA,EAAS,oBAAA"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const e=`@agimon-ai/mcp-proxy@latest`,t=`@agimon-ai/mcp-proxy`,n=`agiflow-proxy`,r=`--config`,i=`--prestart-http`,a=`--add-dir`,o=`--dangerously-skip-permissions`,s=`npx`,c=`plugins`,l=`skills`,u=`mcpServers`,d=`core`,f=`plugin.json`,p=`--proxy-mode`,m=`flat`,h=`${p}=${m}`;function g(e,t,n,i=!1){return[...n?[`-y`]:[],e,`mcp-serve`,`--type`,`stdio-http`,...i?[h]:[p,m],r,t]}function _(e){return e.options.additionalDirectories.flatMap(e=>[a,e])}export{a as ADD_DIRECTORY_OPTION,n as AGIFLOW_PROXY_SERVER_NAME,t as ANTIGRAVITY_MCP_PROXY_PACKAGE,d as CORE_PLUGIN_NAME,r as MCP_CONFIG_OPTION,i as MCP_PRESTART_OPTION,e as MCP_PROXY_PACKAGE,u as MCP_SERVERS_KEY,s as NPX_COMMAND,c as PLUGINS_DIRECTORY,f as PLUGIN_MANIFEST_FILENAME,l as SKILLS_DIRECTORY,o as SKIP_PERMISSIONS_OPTION,_ as additionalDirectoryArgs,g as mcpProxyArguments};
|
|
2
|
+
//# sourceMappingURL=shared.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared.mjs","names":[],"sources":["../../../src/
|
|
1
|
+
{"version":3,"file":"shared.mjs","names":[],"sources":["../../../src/adapters/compatibility/shared.ts"],"sourcesContent":["import type { CompatibilityContext } from '../compatibilityContext.ts';\n\n/**\n * Values and argument builders shared by more than one provider.\n *\n * Kept separate from index.ts so the provider modules can import them without\n * depending on the dispatch that imports the provider modules.\n */\n\nexport const MCP_PROXY_PACKAGE = '@agimon-ai/mcp-proxy@latest';\nexport const ANTIGRAVITY_MCP_PROXY_PACKAGE = '@agimon-ai/mcp-proxy';\nexport const AGIFLOW_PROXY_SERVER_NAME = 'agiflow-proxy';\nexport const MCP_CONFIG_OPTION = '--config';\nexport const MCP_PRESTART_OPTION = '--prestart-http';\nexport const ADD_DIRECTORY_OPTION = '--add-dir';\nexport const SKIP_PERMISSIONS_OPTION = '--dangerously-skip-permissions';\nexport const NPX_COMMAND = 'npx';\nexport const PLUGINS_DIRECTORY = 'plugins';\nexport const SKILLS_DIRECTORY = 'skills';\nexport const MCP_SERVERS_KEY = 'mcpServers';\nexport const CORE_PLUGIN_NAME = 'core';\nexport const PLUGIN_MANIFEST_FILENAME = 'plugin.json';\n\nconst MCP_SERVE_COMMAND = 'mcp-serve';\nconst MCP_TYPE_OPTION = '--type';\nconst MCP_STDIO_HTTP_TYPE = 'stdio-http';\nconst MCP_PROXY_MODE_OPTION = '--proxy-mode';\nconst MCP_PROXY_MODE = 'flat';\nconst MCP_PROXY_MODE_ASSIGNMENT = `${MCP_PROXY_MODE_OPTION}=${MCP_PROXY_MODE}`;\nconst NPX_ASSUME_YES_OPTION = '-y';\n\n/**\n * Command line for the MCP proxy.\n *\n * `inlineProxyMode` picks `--proxy-mode=flat` over `--proxy-mode flat`, which\n * Codex needs because it receives the whole argument vector as one `-c` value.\n */\nexport function mcpProxyArguments(\n packageName: string,\n configPath: string,\n assumeYes: boolean,\n inlineProxyMode = false,\n): string[] {\n return [\n ...(assumeYes ? [NPX_ASSUME_YES_OPTION] : []),\n packageName,\n MCP_SERVE_COMMAND,\n MCP_TYPE_OPTION,\n MCP_STDIO_HTTP_TYPE,\n ...(inlineProxyMode ? [MCP_PROXY_MODE_ASSIGNMENT] : [MCP_PROXY_MODE_OPTION, MCP_PROXY_MODE]),\n MCP_CONFIG_OPTION,\n configPath,\n ];\n}\n\nexport function additionalDirectoryArgs(context: CompatibilityContext): string[] {\n return context.options.additionalDirectories.flatMap((directory) => [ADD_DIRECTORY_OPTION, directory]);\n}\n"],"mappings":"AASA,MAAa,EAAoB,8BACpB,EAAgC,uBAChC,EAA4B,gBAC5B,EAAoB,WACpB,EAAsB,kBACtB,EAAuB,YACvB,EAA0B,iCAC1B,EAAc,MACd,EAAoB,UACpB,EAAmB,SACnB,EAAkB,aAClB,EAAmB,OACnB,EAA2B,cAKlC,EAAwB,eACxB,EAAiB,OACjB,EAA4B,GAAG,EAAsB,GAAG,IAS9D,SAAgB,EACd,EACA,EACA,EACA,EAAkB,GACR,CACV,MAAO,CACL,GAAI,EAAY,CAAC,KAAsB,CAAG,EAAE,CAC5C,EACA,YACA,SACA,aACA,GAAI,EAAkB,CAAC,EAA0B,CAAG,CAAC,EAAuB,EAAe,CAC3F,EACA,EACD,CAGH,SAAgB,EAAwB,EAAyC,CAC/E,OAAO,EAAQ,QAAQ,sBAAsB,QAAS,GAAc,CAAC,EAAsB,EAAU,CAAC"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const e=require(`../_virtual/_rolldown/runtime.cjs`);require(`../services/config/index.cjs`);const t=require(`./mcpFilter.cjs`),n=require(`./pluginMaterializer.cjs`),r=require(`./resourceCollector.cjs`);let i=require(`node:path`);i=e.__toESM(i,1);let a=require(`node:fs`);a=e.__toESM(a,1);let o=require(`node:os`);o=e.__toESM(o,1);let s=require(`@agimon-ai/doompi-config/majorModes`),c=require(`@agimon-ai/doompi-config/profiles`),l=require(`@agimon-ai/doompi-config/domains`),u=require(`@agimon-ai/doompi-config/harnessState`);const d=`.mcp.json`;function f(e,t){let n=[i.default.join(e,d)];for(let e of t){if(e.mcp===!1)continue;let t=i.default.join(e.directory,d);a.default.existsSync(t)&&n.push(t)}return n}function p(e,n){let r=(e.mcpServers??{})[t.PROXY_SERVER_NAME],a=Array.isArray(r?.args)?r.args.map(String):[],o=a.indexOf(`--config`),s=o===-1?void 0:a[o+1];return s?i.default.resolve(n,s):i.default.join(n,`mcp-config.yaml`)}async function m(e,n,o,s){let c=await t.applyMcpAllowlist(r.mergeMcpConfigs(f(e,n)),o,e,s),l=i.default.join(s,`mcp.json`);return await a.default.promises.writeFile(l,`${JSON.stringify(c,null,2)}\n`,{mode:384}),{mcpConfigPath:l,proxyConfigPath:p(c,e)}}async function h(e){let r=(0,s.loadMajorModesConfig)(e.repoRoot),d=(0,s.resolveLayers)(r,e.majorMode),f=(0,s.layerHookGroups)(r,d),p=await a.default.promises.mkdtemp(i.default.join(o.default.tmpdir(),`doom-pi-compat-`));await a.default.promises.chmod(p,448);try{let r=e.profile?(0,c.resolveProfile)(e.repoRoot,e.profile):void 0,o=await n.materializePluginEntries((0,l.resolvePluginEntries)(e.repoRoot,e.domains,[])),s=t.resolveMcpAllowlist(e.repoRoot,e.domains),h=await m(e.repoRoot,o,s,p),g={...process.env};g.NX_DAEMON??=`false`;let _=(0,c.applyProfileEnvironment)(g,r?.env??{}),v=r?.persona?(0,c.buildPersonaPrompt)(r.personaRoot,r.persona):void 0,y;return v&&(y=i.default.join(p,`persona.md`),await a.default.promises.writeFile(y,`${v}\n`,{mode:384})),(0,u.projectHarnessEnvironment)({root:e.repoRoot,majorMode:e.majorMode,temporaryDirectory:p,domains:e.domains,layers:d,profile:r?.name,profileEnvironment:_,hookGroups:f,mcpConfigPath:h.mcpConfigPath,personaFile:y,additionalDirectories:e.additionalDirectories,hooks:!0},g),g.DOOMPI_ADDITIONAL_DIRS=e.additionalDirectories.join(i.default.delimiter),g.CLAUDE_PROJECT_DIR=e.repoRoot,g.CODEX_REPO_ROOT=e.repoRoot,g.AGY_REPO_ROOT=e.repoRoot,g.ORIGINAL_REPO_PATH||=e.repoRoot,{options:e,environment:g,plugins:o,profile:r,personaFile:y,mcpAllowlist:s,mcpConfigPath:h.mcpConfigPath,proxyConfigPath:h.proxyConfigPath,selectedLayers:d,hookGroups:f,sharedSkills:(0,l.resolveSharedSkills)(e.repoRoot,e.domains),cleanup:()=>a.default.promises.rm(p,{recursive:!0,force:!0})}}catch(e){throw await a.default.promises.rm(p,{recursive:!0,force:!0}),e}}exports.buildCompatibilityContext=h;
|
|
2
|
+
//# sourceMappingURL=compatibilityContext.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compatibilityContext.cjs","names":["path","fs","PROXY_SERVER_NAME","applyMcpAllowlist","mergeMcpConfigs","os","materializePluginEntries","resolveMcpAllowlist"],"sources":["../../src/adapters/compatibilityContext.ts"],"sourcesContent":["import fs from 'node:fs';\nimport os from 'node:os';\nimport path from 'node:path';\nimport {\n type AgentProfile,\n applyProfileEnvironment,\n buildPersonaPrompt,\n type DomainMcpAllowlist,\n layerHookGroups,\n loadMajorModesConfig,\n type PluginEntry,\n projectHarnessEnvironment,\n resolveLayers,\n resolvePluginEntries,\n resolveProfile,\n resolveSharedSkills,\n} from '../services/config/index.ts';\nimport type { CompatibilityOptions } from '../types/interfaces/index.ts';\nimport { applyMcpAllowlist, PROXY_SERVER_NAME, resolveMcpAllowlist } from './mcpFilter.ts';\nimport { materializePluginEntries } from './pluginMaterializer.ts';\nimport { mergeMcpConfigs } from './resourceCollector.ts';\n\ntype JsonObject = Record<string, unknown>;\n\nconst MCP_CONFIG_FILENAME = '.mcp.json';\nconst GENERATED_MCP_CONFIG_FILENAME = 'mcp.json';\nconst PROXY_CONFIG_FILENAME = 'mcp-config.yaml';\nconst PERSONA_FILENAME = 'persona.md';\nconst PRIVATE_FILE_MODE = 0o600;\nconst PRIVATE_DIRECTORY_MODE = 0o700;\nconst CONFIG_OPTION = '--config';\nconst TEMPORARY_DIRECTORY_PREFIX = 'doom-pi-compat-';\nconst ADDITIONAL_DIRS_ENV = 'DOOMPI_ADDITIONAL_DIRS';\nconst CLAUDE_PROJECT_DIR_ENV = 'CLAUDE_PROJECT_DIR';\nconst CODEX_REPO_ROOT_ENV = 'CODEX_REPO_ROOT';\nconst AGY_REPO_ROOT_ENV = 'AGY_REPO_ROOT';\nconst ORIGINAL_REPO_PATH_ENV = 'ORIGINAL_REPO_PATH';\n\nexport interface CompatibilityContext {\n options: CompatibilityOptions;\n environment: NodeJS.ProcessEnv;\n plugins: PluginEntry[];\n profile?: AgentProfile;\n personaFile?: string;\n mcpAllowlist?: DomainMcpAllowlist;\n mcpConfigPath: string;\n proxyConfigPath: string;\n selectedLayers: string[];\n hookGroups: string[];\n sharedSkills: boolean;\n cleanup(): Promise<void>;\n}\n\nfunction pluginMcpPaths(repoRoot: string, plugins: PluginEntry[]): string[] {\n const paths = [path.join(repoRoot, MCP_CONFIG_FILENAME)];\n for (const plugin of plugins) {\n if (plugin.mcp === false) continue;\n const configPath = path.join(plugin.directory, MCP_CONFIG_FILENAME);\n if (fs.existsSync(configPath)) paths.push(configPath);\n }\n return paths;\n}\n\nfunction resolveProxyConfigPath(config: JsonObject, repoRoot: string): string {\n const servers = (config.mcpServers ?? {}) as Record<string, JsonObject>;\n const proxy = servers[PROXY_SERVER_NAME];\n const args = Array.isArray(proxy?.args) ? proxy.args.map(String) : [];\n const configIndex = args.indexOf(CONFIG_OPTION);\n const selected = configIndex === -1 ? undefined : args[configIndex + 1];\n return selected ? path.resolve(repoRoot, selected) : path.join(repoRoot, PROXY_CONFIG_FILENAME);\n}\n\nasync function writeCompatibilityMcpConfig(\n repoRoot: string,\n plugins: PluginEntry[],\n allowlist: DomainMcpAllowlist | undefined,\n temporaryDirectory: string,\n): Promise<{ mcpConfigPath: string; proxyConfigPath: string }> {\n const config = await applyMcpAllowlist(\n mergeMcpConfigs(pluginMcpPaths(repoRoot, plugins)),\n allowlist,\n repoRoot,\n temporaryDirectory,\n );\n const mcpConfigPath = path.join(temporaryDirectory, GENERATED_MCP_CONFIG_FILENAME);\n await fs.promises.writeFile(mcpConfigPath, `${JSON.stringify(config, null, 2)}\\n`, { mode: PRIVATE_FILE_MODE });\n return { mcpConfigPath, proxyConfigPath: resolveProxyConfigPath(config, repoRoot) };\n}\n\n/** Resolves only the resources shared by Pi and compatibility frontends. */\nexport async function buildCompatibilityContext(options: CompatibilityOptions): Promise<CompatibilityContext> {\n const majorModesConfig = loadMajorModesConfig(options.repoRoot);\n const selectedLayers = resolveLayers(majorModesConfig, options.majorMode);\n const hookGroups = layerHookGroups(majorModesConfig, selectedLayers);\n const temporaryDirectory = await fs.promises.mkdtemp(path.join(os.tmpdir(), TEMPORARY_DIRECTORY_PREFIX));\n await fs.promises.chmod(temporaryDirectory, PRIVATE_DIRECTORY_MODE);\n\n try {\n const profile = options.profile ? resolveProfile(options.repoRoot, options.profile) : undefined;\n const plugins = await materializePluginEntries(resolvePluginEntries(options.repoRoot, options.domains, []));\n const mcpAllowlist = resolveMcpAllowlist(options.repoRoot, options.domains);\n const mcp = await writeCompatibilityMcpConfig(options.repoRoot, plugins, mcpAllowlist, temporaryDirectory);\n const environment = { ...process.env };\n environment.NX_DAEMON ??= 'false';\n const profileEnvironment = applyProfileEnvironment(environment, profile?.env ?? {});\n const personaPrompt = profile?.persona ? buildPersonaPrompt(profile.personaRoot, profile.persona) : undefined;\n let personaFile: string | undefined;\n\n if (personaPrompt) {\n personaFile = path.join(temporaryDirectory, PERSONA_FILENAME);\n await fs.promises.writeFile(personaFile, `${personaPrompt}\\n`, { mode: PRIVATE_FILE_MODE });\n }\n\n // Projection only, with no state file: Claude, Codex and Antigravity read\n // an environment and never the store.\n projectHarnessEnvironment(\n {\n root: options.repoRoot,\n majorMode: options.majorMode,\n temporaryDirectory,\n domains: options.domains,\n layers: selectedLayers,\n profile: profile?.name,\n profileEnvironment,\n hookGroups,\n mcpConfigPath: mcp.mcpConfigPath,\n personaFile,\n additionalDirectories: options.additionalDirectories,\n hooks: true,\n },\n environment,\n );\n environment[ADDITIONAL_DIRS_ENV] = options.additionalDirectories.join(path.delimiter);\n environment[CLAUDE_PROJECT_DIR_ENV] = options.repoRoot;\n environment[CODEX_REPO_ROOT_ENV] = options.repoRoot;\n environment[AGY_REPO_ROOT_ENV] = options.repoRoot;\n environment[ORIGINAL_REPO_PATH_ENV] ||= options.repoRoot;\n\n return {\n options,\n environment,\n plugins,\n profile,\n personaFile,\n mcpAllowlist,\n mcpConfigPath: mcp.mcpConfigPath,\n proxyConfigPath: mcp.proxyConfigPath,\n selectedLayers,\n hookGroups,\n sharedSkills: resolveSharedSkills(options.repoRoot, options.domains),\n cleanup: () => fs.promises.rm(temporaryDirectory, { recursive: true, force: true }),\n };\n } catch (error) {\n await fs.promises.rm(temporaryDirectory, { recursive: true, force: true });\n throw error;\n }\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { CompatibilityOptions } from "../types/interfaces/compatibility.cjs";
|
|
2
|
+
import { AgentProfile, DomainMcpAllowlist, PluginEntry } from "../services/config/index.cjs";
|
|
3
|
+
|
|
4
|
+
//#region src/adapters/compatibilityContext.d.ts
|
|
5
|
+
interface CompatibilityContext {
|
|
6
|
+
options: CompatibilityOptions;
|
|
7
|
+
environment: NodeJS.ProcessEnv;
|
|
8
|
+
plugins: PluginEntry[];
|
|
9
|
+
profile?: AgentProfile;
|
|
10
|
+
personaFile?: string;
|
|
11
|
+
mcpAllowlist?: DomainMcpAllowlist;
|
|
12
|
+
mcpConfigPath: string;
|
|
13
|
+
proxyConfigPath: string;
|
|
14
|
+
selectedLayers: string[];
|
|
15
|
+
hookGroups: string[];
|
|
16
|
+
sharedSkills: boolean;
|
|
17
|
+
cleanup(): Promise<void>;
|
|
18
|
+
}
|
|
19
|
+
/** Resolves only the resources shared by Pi and compatibility frontends. */
|
|
20
|
+
declare function buildCompatibilityContext(options: CompatibilityOptions): Promise<CompatibilityContext>;
|
|
21
|
+
//#endregion
|
|
22
|
+
export { CompatibilityContext, buildCompatibilityContext };
|
|
23
|
+
//# sourceMappingURL=compatibilityContext.d.cts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compatibilityContext.d.cts","names":[],"sources":["../../src/
|
|
1
|
+
{"version":3,"file":"compatibilityContext.d.cts","names":[],"sources":["../../src/adapters/compatibilityContext.ts"],"mappings":";;;;UAsCiB,oBAAA;EACf,OAAA,EAAS,oBAAA;EACT,WAAA,EAAa,MAAA,CAAO,UAAA;EACpB,OAAA,EAAS,WAAA;EACT,OAAA,GAAU,YAAA;EACV,WAAA;EACA,YAAA,GAAe,kBAAA;EACf,aAAA;EACA,eAAA;EACA,cAAA;EACA,UAAA;EACA,YAAA;EACA,OAAA,IAAW,OAAA;AAAA;;iBAwCS,yBAAA,CAA0B,OAAA,EAAS,oBAAA,GAAuB,OAAA,CAAQ,oBAAA"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { CompatibilityOptions } from "../types/interfaces/compatibility.mjs";
|
|
2
|
+
import { AgentProfile, DomainMcpAllowlist, PluginEntry } from "../services/config/index.mjs";
|
|
3
|
+
|
|
4
|
+
//#region src/adapters/compatibilityContext.d.ts
|
|
5
|
+
interface CompatibilityContext {
|
|
6
|
+
options: CompatibilityOptions;
|
|
7
|
+
environment: NodeJS.ProcessEnv;
|
|
8
|
+
plugins: PluginEntry[];
|
|
9
|
+
profile?: AgentProfile;
|
|
10
|
+
personaFile?: string;
|
|
11
|
+
mcpAllowlist?: DomainMcpAllowlist;
|
|
12
|
+
mcpConfigPath: string;
|
|
13
|
+
proxyConfigPath: string;
|
|
14
|
+
selectedLayers: string[];
|
|
15
|
+
hookGroups: string[];
|
|
16
|
+
sharedSkills: boolean;
|
|
17
|
+
cleanup(): Promise<void>;
|
|
18
|
+
}
|
|
19
|
+
/** Resolves only the resources shared by Pi and compatibility frontends. */
|
|
20
|
+
declare function buildCompatibilityContext(options: CompatibilityOptions): Promise<CompatibilityContext>;
|
|
21
|
+
//#endregion
|
|
22
|
+
export { CompatibilityContext, buildCompatibilityContext };
|
|
23
|
+
//# sourceMappingURL=compatibilityContext.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compatibilityContext.d.mts","names":[],"sources":["../../src/
|
|
1
|
+
{"version":3,"file":"compatibilityContext.d.mts","names":[],"sources":["../../src/adapters/compatibilityContext.ts"],"mappings":";;;;UAsCiB,oBAAA;EACf,OAAA,EAAS,oBAAA;EACT,WAAA,EAAa,MAAA,CAAO,UAAA;EACpB,OAAA,EAAS,WAAA;EACT,OAAA,GAAU,YAAA;EACV,WAAA;EACA,YAAA,GAAe,kBAAA;EACf,aAAA;EACA,eAAA;EACA,cAAA;EACA,UAAA;EACA,YAAA;EACA,OAAA,IAAW,OAAA;AAAA;;iBAwCS,yBAAA,CAA0B,OAAA,EAAS,oBAAA,GAAuB,OAAA,CAAQ,oBAAA"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{projectHarnessEnvironment as e}from"./config/harnessState.mjs";import{applyProfileEnvironment as t,buildPersonaPrompt as n,layerHookGroups as r,loadMajorModesConfig as i,resolveLayers as a,resolvePluginEntries as o,resolveProfile as s,resolveSharedSkills as c}from"../services/config/index.mjs";import{PROXY_SERVER_NAME as l,applyMcpAllowlist as u,resolveMcpAllowlist as d}from"./mcpFilter.mjs";import{materializePluginEntries as f}from"./pluginMaterializer.mjs";import{mergeMcpConfigs as p}from"./resourceCollector.mjs";import m from"node:path";import h from"node:fs";import g from"node:os";const _=`.mcp.json`;function v(e,t){let n=[m.join(e,_)];for(let e of t){if(e.mcp===!1)continue;let t=m.join(e.directory,_);h.existsSync(t)&&n.push(t)}return n}function y(e,t){let n=(e.mcpServers??{})[l],r=Array.isArray(n?.args)?n.args.map(String):[],i=r.indexOf(`--config`),a=i===-1?void 0:r[i+1];return a?m.resolve(t,a):m.join(t,`mcp-config.yaml`)}async function b(e,t,n,r){let i=await u(p(v(e,t)),n,e,r),a=m.join(r,`mcp.json`);return await h.promises.writeFile(a,`${JSON.stringify(i,null,2)}\n`,{mode:384}),{mcpConfigPath:a,proxyConfigPath:y(i,e)}}async function x(l){let u=i(l.repoRoot),p=a(u,l.majorMode),_=r(u,p),v=await h.promises.mkdtemp(m.join(g.tmpdir(),`doom-pi-compat-`));await h.promises.chmod(v,448);try{let r=l.profile?s(l.repoRoot,l.profile):void 0,i=await f(o(l.repoRoot,l.domains,[])),a=d(l.repoRoot,l.domains),u=await b(l.repoRoot,i,a,v),g={...process.env};g.NX_DAEMON??=`false`;let y=t(g,r?.env??{}),x=r?.persona?n(r.personaRoot,r.persona):void 0,S;return x&&(S=m.join(v,`persona.md`),await h.promises.writeFile(S,`${x}\n`,{mode:384})),e({root:l.repoRoot,majorMode:l.majorMode,temporaryDirectory:v,domains:l.domains,layers:p,profile:r?.name,profileEnvironment:y,hookGroups:_,mcpConfigPath:u.mcpConfigPath,personaFile:S,additionalDirectories:l.additionalDirectories,hooks:!0},g),g.DOOMPI_ADDITIONAL_DIRS=l.additionalDirectories.join(m.delimiter),g.CLAUDE_PROJECT_DIR=l.repoRoot,g.CODEX_REPO_ROOT=l.repoRoot,g.AGY_REPO_ROOT=l.repoRoot,g.ORIGINAL_REPO_PATH||=l.repoRoot,{options:l,environment:g,plugins:i,profile:r,personaFile:S,mcpAllowlist:a,mcpConfigPath:u.mcpConfigPath,proxyConfigPath:u.proxyConfigPath,selectedLayers:p,hookGroups:_,sharedSkills:c(l.repoRoot,l.domains),cleanup:()=>h.promises.rm(v,{recursive:!0,force:!0})}}catch(e){throw await h.promises.rm(v,{recursive:!0,force:!0}),e}}export{x as buildCompatibilityContext};
|
|
2
|
+
//# sourceMappingURL=compatibilityContext.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compatibilityContext.mjs","names":[],"sources":["../../src/adapters/compatibilityContext.ts"],"sourcesContent":["import fs from 'node:fs';\nimport os from 'node:os';\nimport path from 'node:path';\nimport {\n type AgentProfile,\n applyProfileEnvironment,\n buildPersonaPrompt,\n type DomainMcpAllowlist,\n layerHookGroups,\n loadMajorModesConfig,\n type PluginEntry,\n projectHarnessEnvironment,\n resolveLayers,\n resolvePluginEntries,\n resolveProfile,\n resolveSharedSkills,\n} from '../services/config/index.ts';\nimport type { CompatibilityOptions } from '../types/interfaces/index.ts';\nimport { applyMcpAllowlist, PROXY_SERVER_NAME, resolveMcpAllowlist } from './mcpFilter.ts';\nimport { materializePluginEntries } from './pluginMaterializer.ts';\nimport { mergeMcpConfigs } from './resourceCollector.ts';\n\ntype JsonObject = Record<string, unknown>;\n\nconst MCP_CONFIG_FILENAME = '.mcp.json';\nconst GENERATED_MCP_CONFIG_FILENAME = 'mcp.json';\nconst PROXY_CONFIG_FILENAME = 'mcp-config.yaml';\nconst PERSONA_FILENAME = 'persona.md';\nconst PRIVATE_FILE_MODE = 0o600;\nconst PRIVATE_DIRECTORY_MODE = 0o700;\nconst CONFIG_OPTION = '--config';\nconst TEMPORARY_DIRECTORY_PREFIX = 'doom-pi-compat-';\nconst ADDITIONAL_DIRS_ENV = 'DOOMPI_ADDITIONAL_DIRS';\nconst CLAUDE_PROJECT_DIR_ENV = 'CLAUDE_PROJECT_DIR';\nconst CODEX_REPO_ROOT_ENV = 'CODEX_REPO_ROOT';\nconst AGY_REPO_ROOT_ENV = 'AGY_REPO_ROOT';\nconst ORIGINAL_REPO_PATH_ENV = 'ORIGINAL_REPO_PATH';\n\nexport interface CompatibilityContext {\n options: CompatibilityOptions;\n environment: NodeJS.ProcessEnv;\n plugins: PluginEntry[];\n profile?: AgentProfile;\n personaFile?: string;\n mcpAllowlist?: DomainMcpAllowlist;\n mcpConfigPath: string;\n proxyConfigPath: string;\n selectedLayers: string[];\n hookGroups: string[];\n sharedSkills: boolean;\n cleanup(): Promise<void>;\n}\n\nfunction pluginMcpPaths(repoRoot: string, plugins: PluginEntry[]): string[] {\n const paths = [path.join(repoRoot, MCP_CONFIG_FILENAME)];\n for (const plugin of plugins) {\n if (plugin.mcp === false) continue;\n const configPath = path.join(plugin.directory, MCP_CONFIG_FILENAME);\n if (fs.existsSync(configPath)) paths.push(configPath);\n }\n return paths;\n}\n\nfunction resolveProxyConfigPath(config: JsonObject, repoRoot: string): string {\n const servers = (config.mcpServers ?? {}) as Record<string, JsonObject>;\n const proxy = servers[PROXY_SERVER_NAME];\n const args = Array.isArray(proxy?.args) ? proxy.args.map(String) : [];\n const configIndex = args.indexOf(CONFIG_OPTION);\n const selected = configIndex === -1 ? undefined : args[configIndex + 1];\n return selected ? path.resolve(repoRoot, selected) : path.join(repoRoot, PROXY_CONFIG_FILENAME);\n}\n\nasync function writeCompatibilityMcpConfig(\n repoRoot: string,\n plugins: PluginEntry[],\n allowlist: DomainMcpAllowlist | undefined,\n temporaryDirectory: string,\n): Promise<{ mcpConfigPath: string; proxyConfigPath: string }> {\n const config = await applyMcpAllowlist(\n mergeMcpConfigs(pluginMcpPaths(repoRoot, plugins)),\n allowlist,\n repoRoot,\n temporaryDirectory,\n );\n const mcpConfigPath = path.join(temporaryDirectory, GENERATED_MCP_CONFIG_FILENAME);\n await fs.promises.writeFile(mcpConfigPath, `${JSON.stringify(config, null, 2)}\\n`, { mode: PRIVATE_FILE_MODE });\n return { mcpConfigPath, proxyConfigPath: resolveProxyConfigPath(config, repoRoot) };\n}\n\n/** Resolves only the resources shared by Pi and compatibility frontends. */\nexport async function buildCompatibilityContext(options: CompatibilityOptions): Promise<CompatibilityContext> {\n const majorModesConfig = loadMajorModesConfig(options.repoRoot);\n const selectedLayers = resolveLayers(majorModesConfig, options.majorMode);\n const hookGroups = layerHookGroups(majorModesConfig, selectedLayers);\n const temporaryDirectory = await fs.promises.mkdtemp(path.join(os.tmpdir(), TEMPORARY_DIRECTORY_PREFIX));\n await fs.promises.chmod(temporaryDirectory, PRIVATE_DIRECTORY_MODE);\n\n try {\n const profile = options.profile ? resolveProfile(options.repoRoot, options.profile) : undefined;\n const plugins = await materializePluginEntries(resolvePluginEntries(options.repoRoot, options.domains, []));\n const mcpAllowlist = resolveMcpAllowlist(options.repoRoot, options.domains);\n const mcp = await writeCompatibilityMcpConfig(options.repoRoot, plugins, mcpAllowlist, temporaryDirectory);\n const environment = { ...process.env };\n environment.NX_DAEMON ??= 'false';\n const profileEnvironment = applyProfileEnvironment(environment, profile?.env ?? {});\n const personaPrompt = profile?.persona ? buildPersonaPrompt(profile.personaRoot, profile.persona) : undefined;\n let personaFile: string | undefined;\n\n if (personaPrompt) {\n personaFile = path.join(temporaryDirectory, PERSONA_FILENAME);\n await fs.promises.writeFile(personaFile, `${personaPrompt}\\n`, { mode: PRIVATE_FILE_MODE });\n }\n\n // Projection only, with no state file: Claude, Codex and Antigravity read\n // an environment and never the store.\n projectHarnessEnvironment(\n {\n root: options.repoRoot,\n majorMode: options.majorMode,\n temporaryDirectory,\n domains: options.domains,\n layers: selectedLayers,\n profile: profile?.name,\n profileEnvironment,\n hookGroups,\n mcpConfigPath: mcp.mcpConfigPath,\n personaFile,\n additionalDirectories: options.additionalDirectories,\n hooks: true,\n },\n environment,\n );\n environment[ADDITIONAL_DIRS_ENV] = options.additionalDirectories.join(path.delimiter);\n environment[CLAUDE_PROJECT_DIR_ENV] = options.repoRoot;\n environment[CODEX_REPO_ROOT_ENV] = options.repoRoot;\n environment[AGY_REPO_ROOT_ENV] = options.repoRoot;\n environment[ORIGINAL_REPO_PATH_ENV] ||= options.repoRoot;\n\n return {\n options,\n environment,\n plugins,\n profile,\n personaFile,\n mcpAllowlist,\n mcpConfigPath: mcp.mcpConfigPath,\n proxyConfigPath: mcp.proxyConfigPath,\n selectedLayers,\n hookGroups,\n sharedSkills: resolveSharedSkills(options.repoRoot, options.domains),\n cleanup: () => fs.promises.rm(temporaryDirectory, { recursive: true, force: true }),\n };\n } catch (error) {\n await fs.promises.rm(temporaryDirectory, { recursive: true, force: true });\n throw error;\n }\n}\n"],"mappings":"ulBAwBA,MAAM,EAAsB,YA6B5B,SAAS,EAAe,EAAkB,EAAkC,CAC1E,IAAM,EAAQ,CAAC,EAAK,KAAK,EAAU,EAAoB,CAAC,CACxD,IAAK,IAAM,KAAU,EAAS,CAC5B,GAAI,EAAO,MAAQ,GAAO,SAC1B,IAAM,EAAa,EAAK,KAAK,EAAO,UAAW,EAAoB,CAC/D,EAAG,WAAW,EAAW,EAAE,EAAM,KAAK,EAAW,CAEvD,OAAO,EAGT,SAAS,EAAuB,EAAoB,EAA0B,CAE5E,IAAM,GADW,EAAO,YAAc,EAAE,EAClB,GAChB,EAAO,MAAM,QAAQ,GAAO,KAAK,CAAG,EAAM,KAAK,IAAI,OAAO,CAAG,EAAE,CAC/D,EAAc,EAAK,QAAQ,WAAc,CACzC,EAAW,IAAgB,GAAK,IAAA,GAAY,EAAK,EAAc,GACrE,OAAO,EAAW,EAAK,QAAQ,EAAU,EAAS,CAAG,EAAK,KAAK,EAAU,kBAAsB,CAGjG,eAAe,EACb,EACA,EACA,EACA,EAC6D,CAC7D,IAAM,EAAS,MAAM,EACnB,EAAgB,EAAe,EAAU,EAAQ,CAAC,CAClD,EACA,EACA,EACD,CACK,EAAgB,EAAK,KAAK,EAAoB,WAA8B,CAElF,OADA,MAAM,EAAG,SAAS,UAAU,EAAe,GAAG,KAAK,UAAU,EAAQ,KAAM,EAAE,CAAC,IAAK,CAAE,KAAM,IAAmB,CAAC,CACxG,CAAE,gBAAe,gBAAiB,EAAuB,EAAQ,EAAS,CAAE,CAIrF,eAAsB,EAA0B,EAA8D,CAC5G,IAAM,EAAmB,EAAqB,EAAQ,SAAS,CACzD,EAAiB,EAAc,EAAkB,EAAQ,UAAU,CACnE,EAAa,EAAgB,EAAkB,EAAe,CAC9D,EAAqB,MAAM,EAAG,SAAS,QAAQ,EAAK,KAAK,EAAG,QAAQ,CAAE,kBAA2B,CAAC,CACxG,MAAM,EAAG,SAAS,MAAM,EAAoB,IAAuB,CAEnE,GAAI,CACF,IAAM,EAAU,EAAQ,QAAU,EAAe,EAAQ,SAAU,EAAQ,QAAQ,CAAG,IAAA,GAChF,EAAU,MAAM,EAAyB,EAAqB,EAAQ,SAAU,EAAQ,QAAS,EAAE,CAAC,CAAC,CACrG,EAAe,EAAoB,EAAQ,SAAU,EAAQ,QAAQ,CACrE,EAAM,MAAM,EAA4B,EAAQ,SAAU,EAAS,EAAc,EAAmB,CACpG,EAAc,CAAE,GAAG,QAAQ,IAAK,CACtC,EAAY,YAAc,QAC1B,IAAM,EAAqB,EAAwB,EAAa,GAAS,KAAO,EAAE,CAAC,CAC7E,EAAgB,GAAS,QAAU,EAAmB,EAAQ,YAAa,EAAQ,QAAQ,CAAG,IAAA,GAChG,EAgCJ,OA9BI,IACF,EAAc,EAAK,KAAK,EAAoB,aAAiB,CAC7D,MAAM,EAAG,SAAS,UAAU,EAAa,GAAG,EAAc,IAAK,CAAE,KAAM,IAAmB,CAAC,EAK7F,EACE,CACE,KAAM,EAAQ,SACd,UAAW,EAAQ,UACnB,qBACA,QAAS,EAAQ,QACjB,OAAQ,EACR,QAAS,GAAS,KAClB,qBACA,aACA,cAAe,EAAI,cACnB,cACA,sBAAuB,EAAQ,sBAC/B,MAAO,GACR,CACD,EACD,CACD,EAAY,uBAAuB,EAAQ,sBAAsB,KAAK,EAAK,UAAU,CACrF,EAAY,mBAA0B,EAAQ,SAC9C,EAAY,gBAAuB,EAAQ,SAC3C,EAAY,cAAqB,EAAQ,SACzC,EAAY,qBAA4B,EAAQ,SAEzC,CACL,UACA,cACA,UACA,UACA,cACA,eACA,cAAe,EAAI,cACnB,gBAAiB,EAAI,gBACrB,iBACA,aACA,aAAc,EAAoB,EAAQ,SAAU,EAAQ,QAAQ,CACpE,YAAe,EAAG,SAAS,GAAG,EAAoB,CAAE,UAAW,GAAM,MAAO,GAAM,CAAC,CACpF,OACM,EAAO,CAEd,MADA,MAAM,EAAG,SAAS,GAAG,EAAoB,CAAE,UAAW,GAAM,MAAO,GAAM,CAAC,CACpE"}
|