@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
package/package.json
CHANGED
|
@@ -1,15 +1,24 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@agimon-ai/doompi",
|
|
3
|
-
"version": "0.0.1-alpha.
|
|
3
|
+
"version": "0.0.1-alpha.21",
|
|
4
4
|
"description": "Pi-based agent harness for repository automations and developer workflows",
|
|
5
|
+
"keywords": [
|
|
6
|
+
"ai",
|
|
7
|
+
"coding-agent",
|
|
8
|
+
"developer-tools",
|
|
9
|
+
"doompi",
|
|
10
|
+
"pi-package"
|
|
11
|
+
],
|
|
5
12
|
"homepage": "https://agimon.ai",
|
|
6
13
|
"license": "MIT",
|
|
7
14
|
"author": "Vuong Ngo",
|
|
8
15
|
"bin": {
|
|
9
16
|
"doom-runner": "./dist/bin/doomRunner.mjs",
|
|
10
|
-
"doompi": "./dist/bin/cli.mjs"
|
|
17
|
+
"doompi": "./dist/bin/cli.mjs",
|
|
18
|
+
"dpi": "./dist/bin/dpi.mjs"
|
|
11
19
|
},
|
|
12
20
|
"files": [
|
|
21
|
+
"assets",
|
|
13
22
|
"dist"
|
|
14
23
|
],
|
|
15
24
|
"type": "module",
|
|
@@ -31,6 +40,11 @@
|
|
|
31
40
|
"import": "./dist/bin/doomRunner.mjs",
|
|
32
41
|
"require": "./dist/bin/doomRunner.cjs"
|
|
33
42
|
},
|
|
43
|
+
"./bin/dpi": {
|
|
44
|
+
"types": "./dist/bin/dpi.d.mts",
|
|
45
|
+
"import": "./dist/bin/dpi.mjs",
|
|
46
|
+
"require": "./dist/bin/dpi.cjs"
|
|
47
|
+
},
|
|
34
48
|
"./cli": {
|
|
35
49
|
"types": "./dist/cli/index.d.mts",
|
|
36
50
|
"import": "./dist/cli/index.mjs",
|
|
@@ -71,11 +85,6 @@
|
|
|
71
85
|
"import": "./dist/commands/baseCommand.mjs",
|
|
72
86
|
"require": "./dist/commands/baseCommand.cjs"
|
|
73
87
|
},
|
|
74
|
-
"./commands/buildCommand": {
|
|
75
|
-
"types": "./dist/commands/buildCommand.d.mts",
|
|
76
|
-
"import": "./dist/commands/buildCommand.mjs",
|
|
77
|
-
"require": "./dist/commands/buildCommand.cjs"
|
|
78
|
-
},
|
|
79
88
|
"./commands/compatibilityCommand": {
|
|
80
89
|
"types": "./dist/commands/compatibilityCommand.d.mts",
|
|
81
90
|
"import": "./dist/commands/compatibilityCommand.mjs",
|
|
@@ -121,10 +130,10 @@
|
|
|
121
130
|
"import": "./dist/config/projectTrust.mjs",
|
|
122
131
|
"require": "./dist/config/projectTrust.cjs"
|
|
123
132
|
},
|
|
124
|
-
"./
|
|
125
|
-
"types": "./dist/
|
|
126
|
-
"import": "./dist/
|
|
127
|
-
"require": "./dist/
|
|
133
|
+
"./extensions/pi": {
|
|
134
|
+
"types": "./dist/extensions/pi.d.mts",
|
|
135
|
+
"import": "./dist/extensions/pi.mjs",
|
|
136
|
+
"require": "./dist/extensions/pi.cjs"
|
|
128
137
|
},
|
|
129
138
|
"./entries/autoStop": {
|
|
130
139
|
"types": "./dist/entries/autoStop.d.mts",
|
|
@@ -161,6 +170,11 @@
|
|
|
161
170
|
"import": "./dist/entries/majorMode.mjs",
|
|
162
171
|
"require": "./dist/entries/majorMode.cjs"
|
|
163
172
|
},
|
|
173
|
+
"./entries/modeCatalog": {
|
|
174
|
+
"types": "./dist/entries/modeCatalog.d.mts",
|
|
175
|
+
"import": "./dist/entries/modeCatalog.mjs",
|
|
176
|
+
"require": "./dist/entries/modeCatalog.cjs"
|
|
177
|
+
},
|
|
164
178
|
"./entries/notifications": {
|
|
165
179
|
"types": "./dist/entries/notifications.d.mts",
|
|
166
180
|
"import": "./dist/entries/notifications.mjs",
|
|
@@ -256,6 +270,11 @@
|
|
|
256
270
|
"import": "./dist/services/matrixSwitcher.mjs",
|
|
257
271
|
"require": "./dist/services/matrixSwitcher.cjs"
|
|
258
272
|
},
|
|
273
|
+
"./services/modeCatalog": {
|
|
274
|
+
"types": "./dist/services/modeCatalog.d.mts",
|
|
275
|
+
"import": "./dist/services/modeCatalog.mjs",
|
|
276
|
+
"require": "./dist/services/modeCatalog.cjs"
|
|
277
|
+
},
|
|
259
278
|
"./services/mcpFilter": {
|
|
260
279
|
"types": "./dist/services/mcpFilter.d.mts",
|
|
261
280
|
"import": "./dist/services/mcpFilter.mjs",
|
|
@@ -318,35 +337,37 @@
|
|
|
318
337
|
"registry": "https://registry.npmjs.org/"
|
|
319
338
|
},
|
|
320
339
|
"dependencies": {
|
|
321
|
-
"@
|
|
322
|
-
"@narumitw/pi-goal": "0.39.0",
|
|
340
|
+
"@earendil-works/pi-coding-agent": "0.84.2",
|
|
323
341
|
"cross-spawn": "7.0.6",
|
|
324
342
|
"gpt-tokenizer": "3.4.0",
|
|
325
|
-
"
|
|
343
|
+
"minimatch": "10.2.5",
|
|
326
344
|
"pi-cache-optimizer": "2.6.25",
|
|
327
345
|
"protobufjs": "8.0.1",
|
|
328
346
|
"rolldown": "1.0.0-rc.17",
|
|
347
|
+
"typebox": "1.1.38",
|
|
329
348
|
"yaml": "2.9.0",
|
|
330
|
-
"@agimon-ai/doompi-
|
|
331
|
-
"@agimon-ai/doompi-
|
|
332
|
-
"@agimon-ai/doompi-
|
|
333
|
-
"@agimon-ai/doompi-
|
|
334
|
-
"@agimon-ai/doompi-
|
|
335
|
-
"@agimon-ai/doompi-
|
|
336
|
-
"@agimon-ai/doompi-
|
|
337
|
-
"@agimon-ai/doompi-
|
|
338
|
-
"@agimon-ai/doompi-
|
|
339
|
-
"@agimon-ai/doompi-
|
|
340
|
-
"@agimon-ai/doompi-
|
|
341
|
-
"@agimon-ai/doompi-
|
|
342
|
-
"@agimon-ai/doompi-
|
|
343
|
-
"@agimon-ai/doompi-
|
|
344
|
-
"@agimon-ai/doompi-
|
|
349
|
+
"@agimon-ai/doompi-autocompact": "0.0.1-alpha.21",
|
|
350
|
+
"@agimon-ai/doompi-extension-contracts": "0.0.1-alpha.21",
|
|
351
|
+
"@agimon-ai/doompi-config": "0.0.1-alpha.21",
|
|
352
|
+
"@agimon-ai/doompi-help": "0.0.1-alpha.4",
|
|
353
|
+
"@agimon-ai/doompi-log": "0.0.1-alpha.21",
|
|
354
|
+
"@agimon-ai/doompi-loop": "0.0.1-alpha.21",
|
|
355
|
+
"@agimon-ai/doompi-file-edit": "0.0.1-alpha.21",
|
|
356
|
+
"@agimon-ai/doompi-mcp": "0.0.1-alpha.21",
|
|
357
|
+
"@agimon-ai/doompi-plan": "0.0.1-alpha.21",
|
|
358
|
+
"@agimon-ai/doompi-goal": "0.0.1-alpha.11",
|
|
359
|
+
"@agimon-ai/doompi-runner": "0.0.1-alpha.21",
|
|
360
|
+
"@agimon-ai/doompi-telemetry": "0.0.1-alpha.21",
|
|
361
|
+
"@agimon-ai/doompi-user-feedback": "0.0.1-alpha.10",
|
|
362
|
+
"@agimon-ai/doompi-voice": "0.0.1-alpha.21",
|
|
363
|
+
"@agimon-ai/doompi-workflow": "0.0.1-alpha.21",
|
|
364
|
+
"@agimon-ai/doompi-team": "0.0.1-alpha.21",
|
|
365
|
+
"@agimon-ai/doompi-ui": "0.0.1-alpha.21",
|
|
366
|
+
"@agimon-ai/doompi-task": "0.0.1-alpha.21"
|
|
345
367
|
},
|
|
346
368
|
"devDependencies": {
|
|
347
|
-
"@earendil-works/pi-ai": "0.84.
|
|
348
|
-
"@earendil-works/pi-
|
|
349
|
-
"@earendil-works/pi-tui": "0.84.1",
|
|
369
|
+
"@earendil-works/pi-ai": "0.84.2",
|
|
370
|
+
"@earendil-works/pi-tui": "0.84.2",
|
|
350
371
|
"@types/cross-spawn": "6.0.6",
|
|
351
372
|
"@types/node": "26.1.1",
|
|
352
373
|
"@vitest/coverage-v8": "4.1.10",
|
|
@@ -354,13 +375,9 @@
|
|
|
354
375
|
"vitest": "4.1.10"
|
|
355
376
|
},
|
|
356
377
|
"peerDependencies": {
|
|
357
|
-
"@earendil-works/pi-
|
|
358
|
-
"@earendil-works/pi-tui": "0.84.1"
|
|
378
|
+
"@earendil-works/pi-tui": "0.84.2"
|
|
359
379
|
},
|
|
360
380
|
"peerDependenciesMeta": {
|
|
361
|
-
"@earendil-works/pi-coding-agent": {
|
|
362
|
-
"optional": true
|
|
363
|
-
},
|
|
364
381
|
"@earendil-works/pi-tui": {
|
|
365
382
|
"optional": true
|
|
366
383
|
}
|
|
@@ -368,6 +385,11 @@
|
|
|
368
385
|
"engines": {
|
|
369
386
|
"node": ">=22.19.0"
|
|
370
387
|
},
|
|
388
|
+
"pi": {
|
|
389
|
+
"extensions": [
|
|
390
|
+
"./dist/extensions/pi.mjs"
|
|
391
|
+
]
|
|
392
|
+
},
|
|
371
393
|
"scripts": {
|
|
372
394
|
"build": "tsdown",
|
|
373
395
|
"test": "vitest --run",
|
package/dist/cli/cliApp.cjs.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cliApp.cjs","names":["parseHarnessArgs","HARNESS_VERSION","path"],"sources":["../../src/cli/cliApp.ts"],"sourcesContent":["import path from 'node:path';\nimport type { BaseCommand } from '../commands/baseCommand.ts';\nimport type { HarnessOptions } from '../interfaces/index.ts';\nimport type { HarnessTelemetry } from '../logSinkTelemetry.ts';\nimport { HARNESS_VERSION, printHelp } from './help.ts';\nimport { parseHarnessArgs } from './options.ts';\n\n/**\n * Main CLI Application\n *\n * Owns command registration and dispatch. Preparation is shared: the context\n * is built once and handed to whichever command claims the run.\n */\nexport class CliApp {\n private telemetry: HarnessTelemetry | undefined;\n private ownsTelemetry = false;\n\n // Fields are declared and assigned explicitly rather than as constructor\n // parameter properties: the launcher scripts run this file straight from\n // source under Node's strip-only TypeScript mode, which rejects them.\n constructor(telemetry?: HarnessTelemetry) {\n this.telemetry = telemetry;\n }\n\n /** Creates telemetry only for commands that actually report a run. */\n private async getTelemetry(): Promise<HarnessTelemetry> {\n if (this.telemetry) return this.telemetry;\n const { createHarnessTelemetry } = await import('../logSinkTelemetry.ts');\n // Telemetry's transport graph costs roughly one launcher budget slice by\n // itself. Startup callbacks and lifecycle events buffer until shutdown, so\n // transport initialization cannot compete with the Pi child for input.\n this.telemetry = createHarnessTelemetry({ deferSpans: true });\n this.ownsTelemetry = true;\n return this.telemetry;\n }\n\n /** Picks and imports only the command the parsed options select. */\n async selectCommand(options: HarnessOptions): Promise<BaseCommand> {\n if (options.emitMcp) {\n const { EmitMcpCommand } = await import('../commands/emitMcpCommand.ts');\n return new EmitMcpCommand();\n }\n if (options.explain) {\n const { ExplainCommand } = await import('../commands/explainCommand.ts');\n return new ExplainCommand();\n }\n const { LaunchCommand } = await import('../commands/launchCommand.ts');\n return new LaunchCommand();\n }\n\n /**\n * Builds the context, runs the selected command, and always cleans up.\n *\n * The whole run is one span so the sink shows preparation and the child\n * process as a single timeline: a slow launch is almost always a slow stage\n * inside here, and that is only visible when the stages share a trace.\n */\n async runHarness(options: HarnessOptions): Promise<number> {\n const telemetry = await this.getTelemetry();\n const [{ buildHarnessContext }, { HARNESS_EVENT }] = await Promise.all([\n import('../services/harnessContext.ts'),\n import('../logSinkTelemetry.ts'),\n ]);\n return telemetry.runInSpan(\n 'doom_pi.run',\n {\n 'harness.major_mode': options.majorMode,\n 'harness.domain_count': options.domains.length,\n 'harness.agents': options.agents,\n 'harness.mcp': options.mcp,\n 'harness.hooks': options.hooks,\n ...(options.profile ? { 'harness.profile': options.profile } : {}),\n ...(options.preset ? { 'harness.preset': options.preset } : {}),\n },\n async () => {\n const context = await buildHarnessContext(options, telemetry);\n const command = await this.selectCommand(context.options);\n try {\n // Selection uses the same resolved options used to build the context.\n return await command.execute(context, telemetry);\n } catch (error) {\n await telemetry.recordError(HARNESS_EVENT.cliFailed, error);\n throw error;\n } finally {\n await context.cleanup();\n }\n },\n );\n }\n\n /** Entry point for raw process arguments. */\n async run(args: string[]): Promise<number> {\n if (args[0] === 'init') {\n const { InitCommand } = await import('../commands/initCommand.ts');\n return new InitCommand().execute(args);\n }\n // Config management rather than a launch: it resolves the matrix and writes\n // it out for plain Pi, so it never builds a launch context of its own.\n if (args[0] === 'sync') {\n const { SyncCommand } = await import('../commands/syncCommand.ts');\n return new SyncCommand().execute(args);\n }\n if (args[0] === 'build') {\n const [{ BuildCommand }, telemetry] = await Promise.all([\n import('../commands/buildCommand.ts'),\n this.getTelemetry(),\n ]);\n return new BuildCommand(telemetry).execute(args);\n }\n if (args[0] === 'compat') {\n const [{ CompatibilityCommand }, telemetry] = await Promise.all([\n import('../commands/compatibilityCommand.ts'),\n this.getTelemetry(),\n ]);\n return new CompatibilityCommand(telemetry).execute(args);\n }\n\n // The first pass resolves --cwd without touching repository configuration,\n // which keeps help and version available even when modes.yaml is malformed.\n const initial = parseHarnessArgs(args);\n if (initial.help) {\n printHelp();\n return 0;\n }\n if (initial.version) {\n process.stdout.write(`${HARNESS_VERSION}\\n`);\n return 0;\n }\n // An inherited root wins, which is how a nested run stays pinned to the\n // outer repository rather than re-deriving one from its own cwd.\n const telemetry = await this.getTelemetry();\n const [\n { readHarnessState },\n { loadDomains },\n { loadMajorModesConfig },\n { toFailureReporter },\n { findRepositoryRoot },\n ] = await Promise.all([\n import('../config/harnessState.ts'),\n import('@agimon-ai/doompi-config/domains'),\n import('@agimon-ai/doompi-config/majorModes'),\n import('../logSinkTelemetry.ts'),\n import('../utils/repository.ts'),\n ]);\n const inheritedRoot = readHarnessState(process.env, toFailureReporter(telemetry)).root;\n const repoRoot = inheritedRoot ? path.resolve(inheritedRoot) : findRepositoryRoot(initial.options.cwd);\n const parsed = parseHarnessArgs(\n args,\n process.env,\n process.cwd(),\n loadMajorModesConfig(repoRoot).defaultMajorMode,\n loadDomains(repoRoot).defaultDomains,\n );\n return this.runHarness({ repoRoot, ...parsed.options });\n }\n\n /** Flushes telemetry if this application created it lazily. */\n async shutdown(): Promise<void> {\n if (this.ownsTelemetry) await this.telemetry?.shutdown();\n }\n}\n\n/**\n * Convenience wrapper kept so the binary and tests need no CliApp knowledge.\n *\n * Telemetry is shut down here rather than inside runHarness, because this is\n * the only scope that owns the process: flushing earlier would drop the records\n * a later command still emits.\n */\nexport async function runCli(args: string[]): Promise<number> {\n const app = new CliApp();\n try {\n return await app.run(args);\n } finally {\n await app.shutdown();\n }\n}\n\n/** Runs an already-resolved option set, skipping argument parsing. */\nexport async function runHarness(options: HarnessOptions): Promise<number> {\n const app = new CliApp();\n try {\n return await app.runHarness(options);\n } finally {\n await app.shutdown();\n }\n}\n"],"mappings":"uNAaA,IAAa,EAAb,KAAoB,CAClB,UACA,cAAwB,GAKxB,YAAY,EAA8B,CACxC,KAAK,UAAY,EAInB,MAAc,cAA0C,CACtD,GAAI,KAAK,UAAW,OAAO,KAAK,UAChC,GAAM,CAAE,0BAA2B,MAAA,QAAA,SAAA,CAAA,SAAA,QAAM,0BAAA,CAAA,CAMzC,MAFA,MAAK,UAAY,EAAuB,CAAE,WAAY,GAAM,CAAC,CAC7D,KAAK,cAAgB,GACd,KAAK,UAId,MAAM,cAAc,EAA+C,CACjE,GAAI,EAAQ,QAAS,CACnB,GAAM,CAAE,kBAAmB,MAAA,QAAA,SAAA,CAAA,SAAA,QAAM,iCAAA,CAAA,CACjC,OAAO,IAAI,EAEb,GAAI,EAAQ,QAAS,CACnB,GAAM,CAAE,kBAAmB,MAAA,QAAA,SAAA,CAAA,SAAA,QAAM,iCAAA,CAAA,CACjC,OAAO,IAAI,EAEb,GAAM,CAAE,iBAAkB,MAAA,QAAA,SAAA,CAAA,SAAA,QAAM,gCAAA,CAAA,CAChC,OAAO,IAAI,EAUb,MAAM,WAAW,EAA0C,CACzD,IAAM,EAAY,MAAM,KAAK,cAAc,CACrC,CAAC,CAAE,uBAAuB,CAAE,kBAAmB,MAAM,QAAQ,IAAI,CAAA,QAAA,SAAA,CAAA,SAAA,QACrE,iCAAA,CAAA,CAAA,QAAA,SAAA,CAAA,SAAA,QACA,0BAAA,CAAA,CACD,CAAC,CACF,OAAO,EAAU,UACf,cACA,CACE,qBAAsB,EAAQ,UAC9B,uBAAwB,EAAQ,QAAQ,OACxC,iBAAkB,EAAQ,OAC1B,cAAe,EAAQ,IACvB,gBAAiB,EAAQ,MACzB,GAAI,EAAQ,QAAU,CAAE,kBAAmB,EAAQ,QAAS,CAAG,EAAE,CACjE,GAAI,EAAQ,OAAS,CAAE,iBAAkB,EAAQ,OAAQ,CAAG,EAAE,CAC/D,CACD,SAAY,CACV,IAAM,EAAU,MAAM,EAAoB,EAAS,EAAU,CACvD,EAAU,MAAM,KAAK,cAAc,EAAQ,QAAQ,CACzD,GAAI,CAEF,OAAO,MAAM,EAAQ,QAAQ,EAAS,EAAU,OACzC,EAAO,CAEd,MADA,MAAM,EAAU,YAAY,EAAc,UAAW,EAAM,CACrD,SACE,CACR,MAAM,EAAQ,SAAS,GAG5B,CAIH,MAAM,IAAI,EAAiC,CACzC,GAAI,EAAK,KAAO,OAAQ,CACtB,GAAM,CAAE,eAAgB,MAAA,QAAA,SAAA,CAAA,SAAA,QAAM,8BAAA,CAAA,CAC9B,OAAO,IAAI,GAAa,CAAC,QAAQ,EAAK,CAIxC,GAAI,EAAK,KAAO,OAAQ,CACtB,GAAM,CAAE,eAAgB,MAAA,QAAA,SAAA,CAAA,SAAA,QAAM,8BAAA,CAAA,CAC9B,OAAO,IAAI,GAAa,CAAC,QAAQ,EAAK,CAExC,GAAI,EAAK,KAAO,QAAS,CACvB,GAAM,CAAC,CAAE,gBAAgB,GAAa,MAAM,QAAQ,IAAI,CAAA,QAAA,SAAA,CAAA,SAAA,QACtD,+BAAA,CAAA,CACA,KAAK,cAAc,CACpB,CAAC,CACF,OAAO,IAAI,EAAa,EAAU,CAAC,QAAQ,EAAK,CAElD,GAAI,EAAK,KAAO,SAAU,CACxB,GAAM,CAAC,CAAE,wBAAwB,GAAa,MAAM,QAAQ,IAAI,CAAA,QAAA,SAAA,CAAA,SAAA,QAC9D,uCAAA,CAAA,CACA,KAAK,cAAc,CACpB,CAAC,CACF,OAAO,IAAI,EAAqB,EAAU,CAAC,QAAQ,EAAK,CAK1D,IAAM,EAAUA,EAAAA,iBAAiB,EAAK,CACtC,GAAI,EAAQ,KAEV,OADA,EAAA,WAAW,CACJ,EAET,GAAI,EAAQ,QAEV,OADA,QAAQ,OAAO,MAAM,GAAGC,EAAAA,gBAAgB,IAAI,CACrC,EAIT,IAAM,EAAY,MAAM,KAAK,cAAc,CACrC,CACJ,CAAE,oBACF,CAAE,eACF,CAAE,wBACF,CAAE,qBACF,CAAE,uBACA,MAAM,QAAQ,IAAI,oCACpB,6BAAA,CAAA,CACA,OAAO,oCACP,OAAO,0EACP,0BAAA,CAAA,oCACA,0BAAA,CAAA,CACD,CAAC,CACI,EAAgB,EAAiB,QAAQ,IAAK,EAAkB,EAAU,CAAC,CAAC,KAC5E,EAAW,EAAgBC,EAAAA,QAAK,QAAQ,EAAc,CAAG,EAAmB,EAAQ,QAAQ,IAAI,CAChG,EAASF,EAAAA,iBACb,EACA,QAAQ,IACR,QAAQ,KAAK,CACb,EAAqB,EAAS,CAAC,iBAC/B,EAAY,EAAS,CAAC,eACvB,CACD,OAAO,KAAK,WAAW,CAAE,WAAU,GAAG,EAAO,QAAS,CAAC,CAIzD,MAAM,UAA0B,CAC1B,KAAK,eAAe,MAAM,KAAK,WAAW,UAAU,GAW5D,eAAsB,EAAO,EAAiC,CAC5D,IAAM,EAAM,IAAI,EAChB,GAAI,CACF,OAAO,MAAM,EAAI,IAAI,EAAK,QAClB,CACR,MAAM,EAAI,UAAU,EAKxB,eAAsB,EAAW,EAA0C,CACzE,IAAM,EAAM,IAAI,EAChB,GAAI,CACF,OAAO,MAAM,EAAI,WAAW,EAAQ,QAC5B,CACR,MAAM,EAAI,UAAU"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cliApp.d.cts","names":[],"sources":["../../src/cli/cliApp.ts"],"mappings":";;;;;;;AAaA;;;;cAAa,MAAA;EAAA,QACH,SAAA;EAAA,QACA,aAAA;cAKI,SAAA,GAAY,gBAAA;EAqCmB;EAAA,QAhC7B,YAAA;EAoII;EAxHZ,aAAA,CAAc,OAAA,EAAS,cAAA,GAAiB,OAAA,CAAQ,WAAA;EAwH7B;;;;;;;EApGnB,UAAA,CAAW,OAAA,EAAS,cAAA,GAAiB,OAAA;EApBd;EAsDvB,GAAA,CAAI,IAAA,aAAiB,OAAA;EAtDmB;EAwHxC,QAAA,CAAA,GAAY,OAAA;AAAA;;;;;;;;iBAYE,MAAA,CAAO,IAAA,aAAiB,OAAA;;iBAUxB,UAAA,CAAW,OAAA,EAAS,cAAA,GAAiB,OAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cliApp.d.mts","names":[],"sources":["../../src/cli/cliApp.ts"],"mappings":";;;;;;;AAaA;;;;cAAa,MAAA;EAAA,QACH,SAAA;EAAA,QACA,aAAA;cAKI,SAAA,GAAY,gBAAA;EAqCmB;EAAA,QAhC7B,YAAA;EAoII;EAxHZ,aAAA,CAAc,OAAA,EAAS,cAAA,GAAiB,OAAA,CAAQ,WAAA;EAwH7B;;;;;;;EApGnB,UAAA,CAAW,OAAA,EAAS,cAAA,GAAiB,OAAA;EApBd;EAsDvB,GAAA,CAAI,IAAA,aAAiB,OAAA;EAtDmB;EAwHxC,QAAA,CAAA,GAAY,OAAA;AAAA;;;;;;;;iBAYE,MAAA,CAAO,IAAA,aAAiB,OAAA;;iBAUxB,UAAA,CAAW,OAAA,EAAS,cAAA,GAAiB,OAAA"}
|
package/dist/cli/cliApp.mjs.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cliApp.mjs","names":[],"sources":["../../src/cli/cliApp.ts"],"sourcesContent":["import path from 'node:path';\nimport type { BaseCommand } from '../commands/baseCommand.ts';\nimport type { HarnessOptions } from '../interfaces/index.ts';\nimport type { HarnessTelemetry } from '../logSinkTelemetry.ts';\nimport { HARNESS_VERSION, printHelp } from './help.ts';\nimport { parseHarnessArgs } from './options.ts';\n\n/**\n * Main CLI Application\n *\n * Owns command registration and dispatch. Preparation is shared: the context\n * is built once and handed to whichever command claims the run.\n */\nexport class CliApp {\n private telemetry: HarnessTelemetry | undefined;\n private ownsTelemetry = false;\n\n // Fields are declared and assigned explicitly rather than as constructor\n // parameter properties: the launcher scripts run this file straight from\n // source under Node's strip-only TypeScript mode, which rejects them.\n constructor(telemetry?: HarnessTelemetry) {\n this.telemetry = telemetry;\n }\n\n /** Creates telemetry only for commands that actually report a run. */\n private async getTelemetry(): Promise<HarnessTelemetry> {\n if (this.telemetry) return this.telemetry;\n const { createHarnessTelemetry } = await import('../logSinkTelemetry.ts');\n // Telemetry's transport graph costs roughly one launcher budget slice by\n // itself. Startup callbacks and lifecycle events buffer until shutdown, so\n // transport initialization cannot compete with the Pi child for input.\n this.telemetry = createHarnessTelemetry({ deferSpans: true });\n this.ownsTelemetry = true;\n return this.telemetry;\n }\n\n /** Picks and imports only the command the parsed options select. */\n async selectCommand(options: HarnessOptions): Promise<BaseCommand> {\n if (options.emitMcp) {\n const { EmitMcpCommand } = await import('../commands/emitMcpCommand.ts');\n return new EmitMcpCommand();\n }\n if (options.explain) {\n const { ExplainCommand } = await import('../commands/explainCommand.ts');\n return new ExplainCommand();\n }\n const { LaunchCommand } = await import('../commands/launchCommand.ts');\n return new LaunchCommand();\n }\n\n /**\n * Builds the context, runs the selected command, and always cleans up.\n *\n * The whole run is one span so the sink shows preparation and the child\n * process as a single timeline: a slow launch is almost always a slow stage\n * inside here, and that is only visible when the stages share a trace.\n */\n async runHarness(options: HarnessOptions): Promise<number> {\n const telemetry = await this.getTelemetry();\n const [{ buildHarnessContext }, { HARNESS_EVENT }] = await Promise.all([\n import('../services/harnessContext.ts'),\n import('../logSinkTelemetry.ts'),\n ]);\n return telemetry.runInSpan(\n 'doom_pi.run',\n {\n 'harness.major_mode': options.majorMode,\n 'harness.domain_count': options.domains.length,\n 'harness.agents': options.agents,\n 'harness.mcp': options.mcp,\n 'harness.hooks': options.hooks,\n ...(options.profile ? { 'harness.profile': options.profile } : {}),\n ...(options.preset ? { 'harness.preset': options.preset } : {}),\n },\n async () => {\n const context = await buildHarnessContext(options, telemetry);\n const command = await this.selectCommand(context.options);\n try {\n // Selection uses the same resolved options used to build the context.\n return await command.execute(context, telemetry);\n } catch (error) {\n await telemetry.recordError(HARNESS_EVENT.cliFailed, error);\n throw error;\n } finally {\n await context.cleanup();\n }\n },\n );\n }\n\n /** Entry point for raw process arguments. */\n async run(args: string[]): Promise<number> {\n if (args[0] === 'init') {\n const { InitCommand } = await import('../commands/initCommand.ts');\n return new InitCommand().execute(args);\n }\n // Config management rather than a launch: it resolves the matrix and writes\n // it out for plain Pi, so it never builds a launch context of its own.\n if (args[0] === 'sync') {\n const { SyncCommand } = await import('../commands/syncCommand.ts');\n return new SyncCommand().execute(args);\n }\n if (args[0] === 'build') {\n const [{ BuildCommand }, telemetry] = await Promise.all([\n import('../commands/buildCommand.ts'),\n this.getTelemetry(),\n ]);\n return new BuildCommand(telemetry).execute(args);\n }\n if (args[0] === 'compat') {\n const [{ CompatibilityCommand }, telemetry] = await Promise.all([\n import('../commands/compatibilityCommand.ts'),\n this.getTelemetry(),\n ]);\n return new CompatibilityCommand(telemetry).execute(args);\n }\n\n // The first pass resolves --cwd without touching repository configuration,\n // which keeps help and version available even when modes.yaml is malformed.\n const initial = parseHarnessArgs(args);\n if (initial.help) {\n printHelp();\n return 0;\n }\n if (initial.version) {\n process.stdout.write(`${HARNESS_VERSION}\\n`);\n return 0;\n }\n // An inherited root wins, which is how a nested run stays pinned to the\n // outer repository rather than re-deriving one from its own cwd.\n const telemetry = await this.getTelemetry();\n const [\n { readHarnessState },\n { loadDomains },\n { loadMajorModesConfig },\n { toFailureReporter },\n { findRepositoryRoot },\n ] = await Promise.all([\n import('../config/harnessState.ts'),\n import('@agimon-ai/doompi-config/domains'),\n import('@agimon-ai/doompi-config/majorModes'),\n import('../logSinkTelemetry.ts'),\n import('../utils/repository.ts'),\n ]);\n const inheritedRoot = readHarnessState(process.env, toFailureReporter(telemetry)).root;\n const repoRoot = inheritedRoot ? path.resolve(inheritedRoot) : findRepositoryRoot(initial.options.cwd);\n const parsed = parseHarnessArgs(\n args,\n process.env,\n process.cwd(),\n loadMajorModesConfig(repoRoot).defaultMajorMode,\n loadDomains(repoRoot).defaultDomains,\n );\n return this.runHarness({ repoRoot, ...parsed.options });\n }\n\n /** Flushes telemetry if this application created it lazily. */\n async shutdown(): Promise<void> {\n if (this.ownsTelemetry) await this.telemetry?.shutdown();\n }\n}\n\n/**\n * Convenience wrapper kept so the binary and tests need no CliApp knowledge.\n *\n * Telemetry is shut down here rather than inside runHarness, because this is\n * the only scope that owns the process: flushing earlier would drop the records\n * a later command still emits.\n */\nexport async function runCli(args: string[]): Promise<number> {\n const app = new CliApp();\n try {\n return await app.run(args);\n } finally {\n await app.shutdown();\n }\n}\n\n/** Runs an already-resolved option set, skipping argument parsing. */\nexport async function runHarness(options: HarnessOptions): Promise<number> {\n const app = new CliApp();\n try {\n return await app.runHarness(options);\n } finally {\n await app.shutdown();\n }\n}\n"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"compatibilityOptions.cjs","names":["resolveInheritedProfile","resolveInheritedMajorMode","matchesOption","REMOVED_TARGET_OPTION","MAJOR_MODE_OPTION","REMOVED_LAYER_OPTION","REMOVED_LAYERS_OPTION","readOption","parseMajorMode","PROFILE_OPTION","parseProfileValue","parseRequiredCsv","DOMAINS_OPTION","DOMAIN_OPTION","defaultDomainsForMajorMode","resolveAdditionalDirectories"],"sources":["../../src/cli/compatibilityOptions.ts"],"sourcesContent":["import type { CompatibilityProvider, ParsedCompatibilityArgs } from '../interfaces/index.ts';\nimport {\n DOMAIN_OPTION,\n DOMAINS_OPTION,\n defaultDomainsForMajorMode,\n MAJOR_MODE_OPTION,\n matchesOption,\n PROFILE_OPTION,\n parseMajorMode,\n parseProfileValue,\n parseRequiredCsv,\n REMOVED_LAYER_OPTION,\n REMOVED_LAYERS_OPTION,\n REMOVED_TARGET_OPTION,\n readOption,\n resolveAdditionalDirectories,\n resolveInheritedMajorMode,\n resolveInheritedProfile,\n} from './matrixOptions.ts';\n\nconst COMPATIBILITY_PROVIDERS = new Set<CompatibilityProvider>(['antigravity', 'claude', 'codex']);\nconst PROVIDER_ARGUMENT_SEPARATOR = '--';\n\nexport function parseCompatibilityProvider(value: string | undefined): CompatibilityProvider {\n if (!value || !COMPATIBILITY_PROVIDERS.has(value as CompatibilityProvider)) {\n throw new Error(`compat requires one of: ${[...COMPATIBILITY_PROVIDERS].join(', ')}`);\n }\n return value as CompatibilityProvider;\n}\n\n/**\n * Parses only the matrix options shared by every frontend.\n *\n * Every other argument remains untouched for the selected provider. In\n * particular, Pi aliases such as --effort and --output-format are not rewritten.\n * Use -- to pass a provider-native --profile, --domain, or --major-mode option.\n */\nexport function parseCompatibilityArgs(\n args: string[],\n environment: NodeJS.ProcessEnv = process.env,\n currentDirectory = process.cwd(),\n defaultMajorMode?: string,\n defaultDomains?: readonly string[],\n): ParsedCompatibilityArgs {\n let profile = resolveInheritedProfile(environment);\n let profileProvided = false;\n let majorMode = resolveInheritedMajorMode(environment, defaultMajorMode);\n let majorModeProvided = false;\n const domains: string[] = [];\n const providerArgs: string[] = [];\n\n for (let index = 0; index < args.length; index += 1) {\n const arg = args[index]!;\n if (arg === PROVIDER_ARGUMENT_SEPARATOR) {\n providerArgs.push(...args.slice(index + 1));\n break;\n }\n if (matchesOption(arg, REMOVED_TARGET_OPTION)) {\n throw new Error(`${REMOVED_TARGET_OPTION} was replaced by ${MAJOR_MODE_OPTION}`);\n }\n if (matchesOption(arg, REMOVED_LAYER_OPTION)) {\n throw new Error(`${REMOVED_LAYER_OPTION} was replaced by ${MAJOR_MODE_OPTION}`);\n }\n if (matchesOption(arg, REMOVED_LAYERS_OPTION)) {\n throw new Error(`${REMOVED_LAYERS_OPTION} was removed; select one major mode with ${MAJOR_MODE_OPTION}`);\n }\n\n const majorModeMatch = readOption(args, index, MAJOR_MODE_OPTION);\n if (majorModeMatch) {\n if (majorModeProvided) throw new Error(`${MAJOR_MODE_OPTION} can only be provided once`);\n majorMode = parseMajorMode(majorModeMatch.value, MAJOR_MODE_OPTION);\n majorModeProvided = true;\n index = majorModeMatch.nextIndex;\n continue;\n }\n\n const profileMatch = readOption(args, index, PROFILE_OPTION);\n if (profileMatch) {\n if (profileProvided) throw new Error(`${PROFILE_OPTION} can only be provided once`);\n profile = parseProfileValue(profileMatch.value, PROFILE_OPTION);\n profileProvided = true;\n index = profileMatch.nextIndex;\n continue;\n }\n\n const domainMatch = readOption(args, index, DOMAINS_OPTION) ?? readOption(args, index, DOMAIN_OPTION);\n if (domainMatch) {\n domains.push(\n ...parseRequiredCsv(domainMatch.value, matchesOption(arg, DOMAINS_OPTION) ? DOMAINS_OPTION : DOMAIN_OPTION),\n );\n index = domainMatch.nextIndex;\n continue;\n }\n\n providerArgs.push(arg);\n }\n\n if (domains.length === 0) domains.push(...defaultDomainsForMajorMode(majorMode, environment, defaultDomains));\n\n return {\n options: {\n currentDirectory,\n profile,\n domains,\n majorMode,\n providerArgs,\n additionalDirectories: [...new Set(resolveAdditionalDirectories(environment, currentDirectory))],\n },\n };\n}\n"],"mappings":"0GAoBM,EAA0B,IAAI,IAA2B,CAAC,cAAe,SAAU,QAAQ,CAAC,CAGlG,SAAgB,EAA2B,EAAkD,CAC3F,GAAI,CAAC,GAAS,CAAC,EAAwB,IAAI,EAA+B,CACxE,MAAU,MAAM,2BAA2B,CAAC,GAAG,EAAwB,CAAC,KAAK,KAAK,GAAG,CAEvF,OAAO,EAUT,SAAgB,EACd,EACA,EAAiC,QAAQ,IACzC,EAAmB,QAAQ,KAAK,CAChC,EACA,EACyB,CACzB,IAAI,EAAUA,EAAAA,wBAAwB,EAAY,CAC9C,EAAkB,GAClB,EAAYC,EAAAA,0BAA0B,EAAa,EAAiB,CACpE,EAAoB,GAClB,EAAoB,EAAE,CACtB,EAAyB,EAAE,CAEjC,IAAK,IAAI,EAAQ,EAAG,EAAQ,EAAK,OAAQ,GAAS,EAAG,CACnD,IAAM,EAAM,EAAK,GACjB,GAAI,IAAQ,KAA6B,CACvC,EAAa,KAAK,GAAG,EAAK,MAAM,EAAQ,EAAE,CAAC,CAC3C,MAEF,GAAIC,EAAAA,cAAc,EAAA,WAA2B,CAC3C,MAAU,MAAM,GAAGC,EAAAA,sBAAsB,mBAAmBC,EAAAA,oBAAoB,CAElF,GAAIF,EAAAA,cAAc,EAAA,UAA0B,CAC1C,MAAU,MAAM,GAAGG,EAAAA,qBAAqB,mBAAmBD,EAAAA,oBAAoB,CAEjF,GAAIF,EAAAA,cAAc,EAAA,WAA2B,CAC3C,MAAU,MAAM,GAAGI,EAAAA,sBAAsB,2CAA2CF,EAAAA,oBAAoB,CAG1G,IAAM,EAAiBG,EAAAA,WAAW,EAAM,EAAOH,EAAAA,kBAAkB,CACjE,GAAI,EAAgB,CAClB,GAAI,EAAmB,MAAU,MAAM,GAAGA,EAAAA,kBAAkB,4BAA4B,CACxF,EAAYI,EAAAA,eAAe,EAAe,MAAOJ,EAAAA,kBAAkB,CACnE,EAAoB,GACpB,EAAQ,EAAe,UACvB,SAGF,IAAM,EAAeG,EAAAA,WAAW,EAAM,EAAOE,EAAAA,eAAe,CAC5D,GAAI,EAAc,CAChB,GAAI,EAAiB,MAAU,MAAM,GAAGA,EAAAA,eAAe,4BAA4B,CACnF,EAAUC,EAAAA,kBAAkB,EAAa,MAAOD,EAAAA,eAAe,CAC/D,EAAkB,GAClB,EAAQ,EAAa,UACrB,SAGF,IAAM,EAAcF,EAAAA,WAAW,EAAM,EAAA,YAAsB,EAAIA,EAAAA,WAAW,EAAM,EAAA,WAAqB,CACrG,GAAI,EAAa,CACf,EAAQ,KACN,GAAGI,EAAAA,iBAAiB,EAAY,MAAOT,EAAAA,cAAc,EAAA,YAAoB,CAAGU,EAAAA,eAAiBC,EAAAA,cAAc,CAC5G,CACD,EAAQ,EAAY,UACpB,SAGF,EAAa,KAAK,EAAI,CAKxB,OAFI,EAAQ,SAAW,GAAG,EAAQ,KAAK,GAAGC,EAAAA,2BAA2B,EAAW,EAAa,EAAe,CAAC,CAEtG,CACL,QAAS,CACP,mBACA,UACA,UACA,YACA,eACA,sBAAuB,CAAC,GAAG,IAAI,IAAIC,EAAAA,6BAA6B,EAAa,EAAiB,CAAC,CAAC,CACjG,CACF"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"compatibilityOptions.d.cts","names":[],"sources":["../../src/cli/compatibilityOptions.ts"],"mappings":";;;iBAuBgB,0BAAA,CAA2B,KAAA,uBAA4B,qBAAA;;AAAvE;;;;;AAcA;iBAAgB,sBAAA,CACd,IAAA,YACA,WAAA,GAAa,MAAA,CAAO,UAAA,EACpB,gBAAA,WACA,gBAAA,WACA,cAAA,uBACC,uBAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"compatibilityOptions.d.mts","names":[],"sources":["../../src/cli/compatibilityOptions.ts"],"mappings":";;;iBAuBgB,0BAAA,CAA2B,KAAA,uBAA4B,qBAAA;;AAAvE;;;;;AAcA;iBAAgB,sBAAA,CACd,IAAA,YACA,WAAA,GAAa,MAAA,CAAO,UAAA,EACpB,gBAAA,WACA,gBAAA,WACA,cAAA,uBACC,uBAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"compatibilityOptions.mjs","names":[],"sources":["../../src/cli/compatibilityOptions.ts"],"sourcesContent":["import type { CompatibilityProvider, ParsedCompatibilityArgs } from '../interfaces/index.ts';\nimport {\n DOMAIN_OPTION,\n DOMAINS_OPTION,\n defaultDomainsForMajorMode,\n MAJOR_MODE_OPTION,\n matchesOption,\n PROFILE_OPTION,\n parseMajorMode,\n parseProfileValue,\n parseRequiredCsv,\n REMOVED_LAYER_OPTION,\n REMOVED_LAYERS_OPTION,\n REMOVED_TARGET_OPTION,\n readOption,\n resolveAdditionalDirectories,\n resolveInheritedMajorMode,\n resolveInheritedProfile,\n} from './matrixOptions.ts';\n\nconst COMPATIBILITY_PROVIDERS = new Set<CompatibilityProvider>(['antigravity', 'claude', 'codex']);\nconst PROVIDER_ARGUMENT_SEPARATOR = '--';\n\nexport function parseCompatibilityProvider(value: string | undefined): CompatibilityProvider {\n if (!value || !COMPATIBILITY_PROVIDERS.has(value as CompatibilityProvider)) {\n throw new Error(`compat requires one of: ${[...COMPATIBILITY_PROVIDERS].join(', ')}`);\n }\n return value as CompatibilityProvider;\n}\n\n/**\n * Parses only the matrix options shared by every frontend.\n *\n * Every other argument remains untouched for the selected provider. In\n * particular, Pi aliases such as --effort and --output-format are not rewritten.\n * Use -- to pass a provider-native --profile, --domain, or --major-mode option.\n */\nexport function parseCompatibilityArgs(\n args: string[],\n environment: NodeJS.ProcessEnv = process.env,\n currentDirectory = process.cwd(),\n defaultMajorMode?: string,\n defaultDomains?: readonly string[],\n): ParsedCompatibilityArgs {\n let profile = resolveInheritedProfile(environment);\n let profileProvided = false;\n let majorMode = resolveInheritedMajorMode(environment, defaultMajorMode);\n let majorModeProvided = false;\n const domains: string[] = [];\n const providerArgs: string[] = [];\n\n for (let index = 0; index < args.length; index += 1) {\n const arg = args[index]!;\n if (arg === PROVIDER_ARGUMENT_SEPARATOR) {\n providerArgs.push(...args.slice(index + 1));\n break;\n }\n if (matchesOption(arg, REMOVED_TARGET_OPTION)) {\n throw new Error(`${REMOVED_TARGET_OPTION} was replaced by ${MAJOR_MODE_OPTION}`);\n }\n if (matchesOption(arg, REMOVED_LAYER_OPTION)) {\n throw new Error(`${REMOVED_LAYER_OPTION} was replaced by ${MAJOR_MODE_OPTION}`);\n }\n if (matchesOption(arg, REMOVED_LAYERS_OPTION)) {\n throw new Error(`${REMOVED_LAYERS_OPTION} was removed; select one major mode with ${MAJOR_MODE_OPTION}`);\n }\n\n const majorModeMatch = readOption(args, index, MAJOR_MODE_OPTION);\n if (majorModeMatch) {\n if (majorModeProvided) throw new Error(`${MAJOR_MODE_OPTION} can only be provided once`);\n majorMode = parseMajorMode(majorModeMatch.value, MAJOR_MODE_OPTION);\n majorModeProvided = true;\n index = majorModeMatch.nextIndex;\n continue;\n }\n\n const profileMatch = readOption(args, index, PROFILE_OPTION);\n if (profileMatch) {\n if (profileProvided) throw new Error(`${PROFILE_OPTION} can only be provided once`);\n profile = parseProfileValue(profileMatch.value, PROFILE_OPTION);\n profileProvided = true;\n index = profileMatch.nextIndex;\n continue;\n }\n\n const domainMatch = readOption(args, index, DOMAINS_OPTION) ?? readOption(args, index, DOMAIN_OPTION);\n if (domainMatch) {\n domains.push(\n ...parseRequiredCsv(domainMatch.value, matchesOption(arg, DOMAINS_OPTION) ? DOMAINS_OPTION : DOMAIN_OPTION),\n );\n index = domainMatch.nextIndex;\n continue;\n }\n\n providerArgs.push(arg);\n }\n\n if (domains.length === 0) domains.push(...defaultDomainsForMajorMode(majorMode, environment, defaultDomains));\n\n return {\n options: {\n currentDirectory,\n profile,\n domains,\n majorMode,\n providerArgs,\n additionalDirectories: [...new Set(resolveAdditionalDirectories(environment, currentDirectory))],\n },\n };\n}\n"],"mappings":"qaAoBA,MAAM,EAA0B,IAAI,IAA2B,CAAC,cAAe,SAAU,QAAQ,CAAC,CAGlG,SAAgB,EAA2B,EAAkD,CAC3F,GAAI,CAAC,GAAS,CAAC,EAAwB,IAAI,EAA+B,CACxE,MAAU,MAAM,2BAA2B,CAAC,GAAG,EAAwB,CAAC,KAAK,KAAK,GAAG,CAEvF,OAAO,EAUT,SAAgB,EACd,EACA,EAAiC,QAAQ,IACzC,EAAmB,QAAQ,KAAK,CAChC,EACA,EACyB,CACzB,IAAI,EAAU,EAAwB,EAAY,CAC9C,EAAkB,GAClB,EAAY,EAA0B,EAAa,EAAiB,CACpE,EAAoB,GAClB,EAAoB,EAAE,CACtB,EAAyB,EAAE,CAEjC,IAAK,IAAI,EAAQ,EAAG,EAAQ,EAAK,OAAQ,GAAS,EAAG,CACnD,IAAM,EAAM,EAAK,GACjB,GAAI,IAAQ,KAA6B,CACvC,EAAa,KAAK,GAAG,EAAK,MAAM,EAAQ,EAAE,CAAC,CAC3C,MAEF,GAAI,EAAc,EAAA,WAA2B,CAC3C,MAAU,MAAM,GAAG,EAAsB,mBAAmB,IAAoB,CAElF,GAAI,EAAc,EAAA,UAA0B,CAC1C,MAAU,MAAM,GAAG,EAAqB,mBAAmB,IAAoB,CAEjF,GAAI,EAAc,EAAA,WAA2B,CAC3C,MAAU,MAAM,GAAG,EAAsB,2CAA2C,IAAoB,CAG1G,IAAM,EAAiB,EAAW,EAAM,EAAO,EAAkB,CACjE,GAAI,EAAgB,CAClB,GAAI,EAAmB,MAAU,MAAM,GAAG,EAAkB,4BAA4B,CACxF,EAAY,EAAe,EAAe,MAAO,EAAkB,CACnE,EAAoB,GACpB,EAAQ,EAAe,UACvB,SAGF,IAAM,EAAe,EAAW,EAAM,EAAO,EAAe,CAC5D,GAAI,EAAc,CAChB,GAAI,EAAiB,MAAU,MAAM,GAAG,EAAe,4BAA4B,CACnF,EAAU,EAAkB,EAAa,MAAO,EAAe,CAC/D,EAAkB,GAClB,EAAQ,EAAa,UACrB,SAGF,IAAM,EAAc,EAAW,EAAM,EAAA,YAAsB,EAAI,EAAW,EAAM,EAAA,WAAqB,CACrG,GAAI,EAAa,CACf,EAAQ,KACN,GAAG,EAAiB,EAAY,MAAO,EAAc,EAAA,YAAoB,CAAG,EAAiB,EAAc,CAC5G,CACD,EAAQ,EAAY,UACpB,SAGF,EAAa,KAAK,EAAI,CAKxB,OAFI,EAAQ,SAAW,GAAG,EAAQ,KAAK,GAAG,EAA2B,EAAW,EAAa,EAAe,CAAC,CAEtG,CACL,QAAS,CACP,mBACA,UACA,UACA,YACA,eACA,sBAAuB,CAAC,GAAG,IAAI,IAAI,EAA6B,EAAa,EAAiB,CAAC,CAAC,CACjG,CACF"}
|
package/dist/cli/help.d.cts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"help.d.cts","names":[],"sources":["../../src/cli/help.ts"],"mappings":";cAOa,eAAA;AAAA,iBAEG,SAAA,CAAA"}
|
package/dist/cli/help.d.mts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"help.d.mts","names":[],"sources":["../../src/cli/help.ts"],"mappings":";cAOa,eAAA;AAAA,iBAEG,SAAA,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"matrixOptions.cjs","names":["path"],"sources":["../../src/cli/matrixOptions.ts"],"sourcesContent":["import path from 'node:path';\n\n/**\n * Matrix selection shared by the Pi and compatibility parsers.\n *\n * Both frontends pick the same three axes (profile, domains, major mode) out of\n * the same environment variables with the same defaults. They used to hold two\n * copies of that logic, and the copies drifted: the inline `--name=value` forms\n * and the strict value reader existed in the compatibility parser only, so\n * `./pi.sh --profile=x` silently forwarded an unknown flag to Pi. One copy here\n * is what keeps them honest.\n */\n\n/**\n * One variable per axis.\n *\n * These used to come in pairs, `DOOM_PI_*` for what the caller selected and\n * `DOOMPI_*` for what the harness resolved and published, with the second\n * outranking the first. A nested run still inherits its launcher's choice under\n * one name, because the launcher projects into the child environment and\n * overwrites the same key. Two names for one value only ever meant two ways to\n * disagree.\n */\nexport const DOOMPI_PROFILE_ENV = 'DOOMPI_PROFILE';\nexport const DOOMPI_DOMAINS_ENV = 'DOOMPI_DOMAINS';\nexport const DOOMPI_MAJOR_MODE_ENV = 'DOOMPI_MAJOR_MODE';\nexport const DOOMPI_ADDITIONAL_DIRECTORIES_ENV = 'DOOMPI_ADDITIONAL_DIRS';\nexport const DOOMPI_PRESET_ENV = 'DOOMPI_PRESET';\n\n/** Removed spelling of the major mode axis, reported rather than honored. */\nexport const REMOVED_DOOMPI_LAYER_ENV = 'DOOMPI_LAYER';\n\n/**\n * The whole retired namespace, reported rather than ignored.\n *\n * A prefix scan rather than a constant per variable: there were 28 of them, and\n * a list maintained by hand is a list that misses one. A stale\n * `export AGENT_HARNESS_MAJOR_MODE=dev` in a shell profile would otherwise\n * silently start the session on `copilot`.\n */\nconst RETIRED_ENV_PREFIX = 'AGENT_HARNESS_';\nconst CURRENT_ENV_PREFIX = 'DOOMPI_';\n\nexport const PROFILE_OPTION = '--profile';\nexport const DOMAIN_OPTION = '--domain';\nexport const DOMAINS_OPTION = '--domains';\n/**\n * The major mode flag.\n *\n * Not `--mode`: Pi owns that one for its output mode, and for a value outside\n * `text|json|rpc` it consumes both tokens and ignores them without a\n * diagnostic. A synced `pi --mode dev` would have failed silently.\n */\nexport const MAJOR_MODE_OPTION = '--major-mode';\nexport const ADD_DIRECTORY_OPTION = '--add-dir';\nexport const REMOVED_LAYER_OPTION = '--layer';\nexport const REMOVED_LAYERS_OPTION = '--layers';\nexport const REMOVED_TARGET_OPTION = '--target';\n\nexport const DEFAULT_MAJOR_MODE = 'copilot';\nexport const DEFAULT_DOMAIN = 'default';\n\nconst MARKETING_MAJOR_MODE = 'marketing';\nconst CSV_DELIMITER = ',';\nconst OPTION_PREFIX = '--';\n\nexport interface OptionMatch {\n value: string;\n /** Index of the last argument consumed, for the caller's loop cursor. */\n nextIndex: number;\n /** True for `--name=value`. Callers that re-emit an option preserve the form. */\n inline: boolean;\n}\n\n/**\n * Reads `--name value` or `--name=value`, returning undefined for anything else.\n *\n * A value starting with `--` is rejected rather than consumed, so\n * `--profile --explain` reports a missing value instead of swallowing the next\n * flag. In compatibility mode this is also what stops the `--` provider\n * delimiter being taken as a matrix value.\n */\nexport function readOption(args: string[], index: number, name: string): OptionMatch | undefined {\n // Callers walk `args` by index, so this is always in range.\n const arg = args[index]!;\n if (arg === name) {\n const value = args[index + 1];\n if (!value || value.startsWith(OPTION_PREFIX)) throw new Error(`${name} requires a value`);\n return { value, nextIndex: index + 1, inline: false };\n }\n const inlinePrefix = `${name}=`;\n if (!arg.startsWith(inlinePrefix)) return undefined;\n const value = arg.slice(inlinePrefix.length);\n if (!value) throw new Error(`${name} requires a value`);\n return { value, nextIndex: index, inline: true };\n}\n\n/** Matches `--name` or `--name=value`, for reporting options that were removed. */\nexport function matchesOption(arg: string, name: string): boolean {\n return arg === name || arg.startsWith(`${name}=`);\n}\n\nexport function parseCsv(value: string): string[] {\n return value\n .split(CSV_DELIMITER)\n .map((item) => item.trim())\n .filter(Boolean);\n}\n\nexport function parseRequiredCsv(value: string, option: string): string[] {\n const values = parseCsv(value);\n if (values.length === 0) throw new Error(`${option} requires a value`);\n return values;\n}\n\nexport function parseMajorMode(value: string, source: string): string {\n const majorMode = value.trim();\n if (!majorMode) throw new Error(`${source} requires a value`);\n if (majorMode.includes(CSV_DELIMITER)) throw new Error(`${source} accepts one major mode name`);\n return majorMode;\n}\n\nexport function parseProfileValue(value: string, source: string): string {\n if (value.includes(CSV_DELIMITER)) throw new Error(`${source} accepts one profile name`);\n if (!value.trim()) throw new Error(`${source} requires a value`);\n return value;\n}\n\n/**\n * Reports any variable left over from the retired `AGENT_HARNESS_*` namespace.\n *\n * Called before anything reads the environment, so a stale export fails the\n * session instead of being quietly outvoted by a default. Both prefixes are\n * built from the constants above rather than written inline, because a\n * search-and-replace over this repository is exactly what retired the old one.\n */\nexport function assertNoRetiredEnvironment(environment: NodeJS.ProcessEnv): void {\n const stale = Object.keys(environment)\n .filter((key) => key.startsWith(RETIRED_ENV_PREFIX))\n .sort();\n if (stale.length === 0) return;\n const replacements = stale.map((key) => `${key} -> ${CURRENT_ENV_PREFIX}${key.slice(RETIRED_ENV_PREFIX.length)}`);\n throw new Error(\n `The ${RETIRED_ENV_PREFIX}* environment was replaced by ${CURRENT_ENV_PREFIX}*. Unset or rename: ${replacements.join(', ')}`,\n );\n}\n\n/**\n * The major mode a nested run inherits from its launcher, or the default.\n *\n * The removed spelling throws rather than being ignored. A stale\n * `export DOOMPI_LAYER=dev` left in a shell profile would otherwise silently\n * select `copilot`, which is the exact confusion the rename removed.\n */\nexport function resolveInheritedMajorMode(\n environment: NodeJS.ProcessEnv,\n defaultMajorMode: string = DEFAULT_MAJOR_MODE,\n): string {\n assertNoRetiredEnvironment(environment);\n if (environment[REMOVED_DOOMPI_LAYER_ENV]) {\n throw new Error(`${REMOVED_DOOMPI_LAYER_ENV} was replaced by ${DOOMPI_MAJOR_MODE_ENV}`);\n }\n const inherited = environment[DOOMPI_MAJOR_MODE_ENV];\n return parseMajorMode(inherited || defaultMajorMode, inherited ? DOOMPI_MAJOR_MODE_ENV : 'defaultMajorMode');\n}\n\n/** The profile a run inherits from its environment, validated once up front. */\nexport function resolveInheritedProfile(environment: NodeJS.ProcessEnv): string | undefined {\n const inherited = environment[DOOMPI_PROFILE_ENV] || undefined;\n if (inherited?.includes(CSV_DELIMITER)) throw new Error(`${DOOMPI_PROFILE_ENV} accepts one profile name`);\n return inherited;\n}\n\n/**\n * Domains selected when the caller names none.\n *\n * Configuration keeps this axis independent. The major-mode-derived choice is\n * retained only as the compatibility fallback for domains files that do not\n * declare defaultDomains.\n */\nexport function defaultDomainsForMajorMode(\n majorMode: string,\n environment: NodeJS.ProcessEnv,\n defaultDomains?: readonly string[],\n): string[] {\n const inherited = environment[DOOMPI_DOMAINS_ENV];\n // An explicitly empty variable means no domains, so this tests for the key\n // rather than for a truthy value.\n if (inherited !== undefined) return parseCsv(inherited);\n if (defaultDomains !== undefined) return [...defaultDomains];\n return parseCsv(majorMode === MARKETING_MAJOR_MODE ? MARKETING_MAJOR_MODE : DEFAULT_DOMAIN);\n}\n\n/** Directories inherited from the launcher environment. */\nexport function resolveAdditionalDirectories(environment: NodeJS.ProcessEnv, baseDirectory: string): string[] {\n return (environment[DOOMPI_ADDITIONAL_DIRECTORIES_ENV] ?? '')\n .split(path.delimiter)\n .filter(Boolean)\n .map((directory) => path.resolve(baseDirectory, directory));\n}\n"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"matrixOptions.d.cts","names":[],"sources":["../../src/cli/matrixOptions.ts"],"mappings":";;AAuBA;;;;;AACA;;;;;AACA;;;;;AACA;;;;cAHa,kBAAA;AAAA,cACA,kBAAA;AAAA,cACA,qBAAA;AAAA,cACA,iCAAA;AAAA,cACA,iBAAA;;cAGA,wBAAA;AAAA,cAaA,cAAA;AAAA,cACA,aAAA;AAAA,cACA,cAAA;;AAFb;;;;;AACA;cASa,iBAAA;AAAA,cACA,oBAAA;AAAA,cACA,oBAAA;AAAA,cACA,qBAAA;AAAA,cACA,qBAAA;AAAA,cAEA,kBAAA;AAAA,cACA,cAAA;AAAA,UAMI,WAAA;EACf,KAAA;EAdW;EAgBX,SAAA;;EAEA,MAAA;AAAA;AAjBF;;;;;AACA;;;AADA,iBA4BgB,UAAA,CAAW,IAAA,YAAgB,KAAA,UAAe,IAAA,WAAe,WAAA;;iBAgBzD,aAAA,CAAc,GAAA,UAAa,IAAA;AAAA,iBAI3B,QAAA,CAAS,KAAA;AAAA,iBAOT,gBAAA,CAAiB,KAAA,UAAe,MAAA;AAAA,iBAMhC,cAAA,CAAe,KAAA,UAAe,MAAA;AAAA,iBAO9B,iBAAA,CAAkB,KAAA,UAAe,MAAA;AAjEjD;;;;;AAEA;;;AAFA,iBA+EgB,0BAAA,CAA2B,WAAA,EAAa,MAAA,CAAO,UAAA;;AA5E/D;;;;;AAMA;iBAwFgB,yBAAA,CACd,WAAA,EAAa,MAAA,CAAO,UAAA,EACpB,gBAAA;;iBAWc,uBAAA,CAAwB,WAAA,EAAa,MAAA,CAAO,UAAA;;;;;;AArF5D;;iBAkGgB,0BAAA,CACd,SAAA,UACA,WAAA,EAAa,MAAA,CAAO,UAAA,EACpB,cAAA;;iBAWc,4BAAA,CAA6B,WAAA,EAAa,MAAA,CAAO,UAAA,EAAY,aAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"matrixOptions.d.mts","names":[],"sources":["../../src/cli/matrixOptions.ts"],"mappings":";;AAuBA;;;;;AACA;;;;;AACA;;;;;AACA;;;;cAHa,kBAAA;AAAA,cACA,kBAAA;AAAA,cACA,qBAAA;AAAA,cACA,iCAAA;AAAA,cACA,iBAAA;;cAGA,wBAAA;AAAA,cAaA,cAAA;AAAA,cACA,aAAA;AAAA,cACA,cAAA;;AAFb;;;;;AACA;cASa,iBAAA;AAAA,cACA,oBAAA;AAAA,cACA,oBAAA;AAAA,cACA,qBAAA;AAAA,cACA,qBAAA;AAAA,cAEA,kBAAA;AAAA,cACA,cAAA;AAAA,UAMI,WAAA;EACf,KAAA;EAdW;EAgBX,SAAA;;EAEA,MAAA;AAAA;AAjBF;;;;;AACA;;;AADA,iBA4BgB,UAAA,CAAW,IAAA,YAAgB,KAAA,UAAe,IAAA,WAAe,WAAA;;iBAgBzD,aAAA,CAAc,GAAA,UAAa,IAAA;AAAA,iBAI3B,QAAA,CAAS,KAAA;AAAA,iBAOT,gBAAA,CAAiB,KAAA,UAAe,MAAA;AAAA,iBAMhC,cAAA,CAAe,KAAA,UAAe,MAAA;AAAA,iBAO9B,iBAAA,CAAkB,KAAA,UAAe,MAAA;AAjEjD;;;;;AAEA;;;AAFA,iBA+EgB,0BAAA,CAA2B,WAAA,EAAa,MAAA,CAAO,UAAA;;AA5E/D;;;;;AAMA;iBAwFgB,yBAAA,CACd,WAAA,EAAa,MAAA,CAAO,UAAA,EACpB,gBAAA;;iBAWc,uBAAA,CAAwB,WAAA,EAAa,MAAA,CAAO,UAAA;;;;;;AArF5D;;iBAkGgB,0BAAA,CACd,SAAA,UACA,WAAA,EAAa,MAAA,CAAO,UAAA,EACpB,cAAA;;iBAWc,4BAAA,CAA6B,WAAA,EAAa,MAAA,CAAO,UAAA,EAAY,aAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"matrixOptions.mjs","names":[],"sources":["../../src/cli/matrixOptions.ts"],"sourcesContent":["import path from 'node:path';\n\n/**\n * Matrix selection shared by the Pi and compatibility parsers.\n *\n * Both frontends pick the same three axes (profile, domains, major mode) out of\n * the same environment variables with the same defaults. They used to hold two\n * copies of that logic, and the copies drifted: the inline `--name=value` forms\n * and the strict value reader existed in the compatibility parser only, so\n * `./pi.sh --profile=x` silently forwarded an unknown flag to Pi. One copy here\n * is what keeps them honest.\n */\n\n/**\n * One variable per axis.\n *\n * These used to come in pairs, `DOOM_PI_*` for what the caller selected and\n * `DOOMPI_*` for what the harness resolved and published, with the second\n * outranking the first. A nested run still inherits its launcher's choice under\n * one name, because the launcher projects into the child environment and\n * overwrites the same key. Two names for one value only ever meant two ways to\n * disagree.\n */\nexport const DOOMPI_PROFILE_ENV = 'DOOMPI_PROFILE';\nexport const DOOMPI_DOMAINS_ENV = 'DOOMPI_DOMAINS';\nexport const DOOMPI_MAJOR_MODE_ENV = 'DOOMPI_MAJOR_MODE';\nexport const DOOMPI_ADDITIONAL_DIRECTORIES_ENV = 'DOOMPI_ADDITIONAL_DIRS';\nexport const DOOMPI_PRESET_ENV = 'DOOMPI_PRESET';\n\n/** Removed spelling of the major mode axis, reported rather than honored. */\nexport const REMOVED_DOOMPI_LAYER_ENV = 'DOOMPI_LAYER';\n\n/**\n * The whole retired namespace, reported rather than ignored.\n *\n * A prefix scan rather than a constant per variable: there were 28 of them, and\n * a list maintained by hand is a list that misses one. A stale\n * `export AGENT_HARNESS_MAJOR_MODE=dev` in a shell profile would otherwise\n * silently start the session on `copilot`.\n */\nconst RETIRED_ENV_PREFIX = 'AGENT_HARNESS_';\nconst CURRENT_ENV_PREFIX = 'DOOMPI_';\n\nexport const PROFILE_OPTION = '--profile';\nexport const DOMAIN_OPTION = '--domain';\nexport const DOMAINS_OPTION = '--domains';\n/**\n * The major mode flag.\n *\n * Not `--mode`: Pi owns that one for its output mode, and for a value outside\n * `text|json|rpc` it consumes both tokens and ignores them without a\n * diagnostic. A synced `pi --mode dev` would have failed silently.\n */\nexport const MAJOR_MODE_OPTION = '--major-mode';\nexport const ADD_DIRECTORY_OPTION = '--add-dir';\nexport const REMOVED_LAYER_OPTION = '--layer';\nexport const REMOVED_LAYERS_OPTION = '--layers';\nexport const REMOVED_TARGET_OPTION = '--target';\n\nexport const DEFAULT_MAJOR_MODE = 'copilot';\nexport const DEFAULT_DOMAIN = 'default';\n\nconst MARKETING_MAJOR_MODE = 'marketing';\nconst CSV_DELIMITER = ',';\nconst OPTION_PREFIX = '--';\n\nexport interface OptionMatch {\n value: string;\n /** Index of the last argument consumed, for the caller's loop cursor. */\n nextIndex: number;\n /** True for `--name=value`. Callers that re-emit an option preserve the form. */\n inline: boolean;\n}\n\n/**\n * Reads `--name value` or `--name=value`, returning undefined for anything else.\n *\n * A value starting with `--` is rejected rather than consumed, so\n * `--profile --explain` reports a missing value instead of swallowing the next\n * flag. In compatibility mode this is also what stops the `--` provider\n * delimiter being taken as a matrix value.\n */\nexport function readOption(args: string[], index: number, name: string): OptionMatch | undefined {\n // Callers walk `args` by index, so this is always in range.\n const arg = args[index]!;\n if (arg === name) {\n const value = args[index + 1];\n if (!value || value.startsWith(OPTION_PREFIX)) throw new Error(`${name} requires a value`);\n return { value, nextIndex: index + 1, inline: false };\n }\n const inlinePrefix = `${name}=`;\n if (!arg.startsWith(inlinePrefix)) return undefined;\n const value = arg.slice(inlinePrefix.length);\n if (!value) throw new Error(`${name} requires a value`);\n return { value, nextIndex: index, inline: true };\n}\n\n/** Matches `--name` or `--name=value`, for reporting options that were removed. */\nexport function matchesOption(arg: string, name: string): boolean {\n return arg === name || arg.startsWith(`${name}=`);\n}\n\nexport function parseCsv(value: string): string[] {\n return value\n .split(CSV_DELIMITER)\n .map((item) => item.trim())\n .filter(Boolean);\n}\n\nexport function parseRequiredCsv(value: string, option: string): string[] {\n const values = parseCsv(value);\n if (values.length === 0) throw new Error(`${option} requires a value`);\n return values;\n}\n\nexport function parseMajorMode(value: string, source: string): string {\n const majorMode = value.trim();\n if (!majorMode) throw new Error(`${source} requires a value`);\n if (majorMode.includes(CSV_DELIMITER)) throw new Error(`${source} accepts one major mode name`);\n return majorMode;\n}\n\nexport function parseProfileValue(value: string, source: string): string {\n if (value.includes(CSV_DELIMITER)) throw new Error(`${source} accepts one profile name`);\n if (!value.trim()) throw new Error(`${source} requires a value`);\n return value;\n}\n\n/**\n * Reports any variable left over from the retired `AGENT_HARNESS_*` namespace.\n *\n * Called before anything reads the environment, so a stale export fails the\n * session instead of being quietly outvoted by a default. Both prefixes are\n * built from the constants above rather than written inline, because a\n * search-and-replace over this repository is exactly what retired the old one.\n */\nexport function assertNoRetiredEnvironment(environment: NodeJS.ProcessEnv): void {\n const stale = Object.keys(environment)\n .filter((key) => key.startsWith(RETIRED_ENV_PREFIX))\n .sort();\n if (stale.length === 0) return;\n const replacements = stale.map((key) => `${key} -> ${CURRENT_ENV_PREFIX}${key.slice(RETIRED_ENV_PREFIX.length)}`);\n throw new Error(\n `The ${RETIRED_ENV_PREFIX}* environment was replaced by ${CURRENT_ENV_PREFIX}*. Unset or rename: ${replacements.join(', ')}`,\n );\n}\n\n/**\n * The major mode a nested run inherits from its launcher, or the default.\n *\n * The removed spelling throws rather than being ignored. A stale\n * `export DOOMPI_LAYER=dev` left in a shell profile would otherwise silently\n * select `copilot`, which is the exact confusion the rename removed.\n */\nexport function resolveInheritedMajorMode(\n environment: NodeJS.ProcessEnv,\n defaultMajorMode: string = DEFAULT_MAJOR_MODE,\n): string {\n assertNoRetiredEnvironment(environment);\n if (environment[REMOVED_DOOMPI_LAYER_ENV]) {\n throw new Error(`${REMOVED_DOOMPI_LAYER_ENV} was replaced by ${DOOMPI_MAJOR_MODE_ENV}`);\n }\n const inherited = environment[DOOMPI_MAJOR_MODE_ENV];\n return parseMajorMode(inherited || defaultMajorMode, inherited ? DOOMPI_MAJOR_MODE_ENV : 'defaultMajorMode');\n}\n\n/** The profile a run inherits from its environment, validated once up front. */\nexport function resolveInheritedProfile(environment: NodeJS.ProcessEnv): string | undefined {\n const inherited = environment[DOOMPI_PROFILE_ENV] || undefined;\n if (inherited?.includes(CSV_DELIMITER)) throw new Error(`${DOOMPI_PROFILE_ENV} accepts one profile name`);\n return inherited;\n}\n\n/**\n * Domains selected when the caller names none.\n *\n * Configuration keeps this axis independent. The major-mode-derived choice is\n * retained only as the compatibility fallback for domains files that do not\n * declare defaultDomains.\n */\nexport function defaultDomainsForMajorMode(\n majorMode: string,\n environment: NodeJS.ProcessEnv,\n defaultDomains?: readonly string[],\n): string[] {\n const inherited = environment[DOOMPI_DOMAINS_ENV];\n // An explicitly empty variable means no domains, so this tests for the key\n // rather than for a truthy value.\n if (inherited !== undefined) return parseCsv(inherited);\n if (defaultDomains !== undefined) return [...defaultDomains];\n return parseCsv(majorMode === MARKETING_MAJOR_MODE ? MARKETING_MAJOR_MODE : DEFAULT_DOMAIN);\n}\n\n/** Directories inherited from the launcher environment. */\nexport function resolveAdditionalDirectories(environment: NodeJS.ProcessEnv, baseDirectory: string): string[] {\n return (environment[DOOMPI_ADDITIONAL_DIRECTORIES_ENV] ?? '')\n .split(path.delimiter)\n .filter(Boolean)\n .map((directory) => path.resolve(baseDirectory, directory));\n}\n"],"mappings":"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"}
|
package/dist/cli/options.cjs.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"options.cjs","names":["DEFAULT_MAJOR_MODE","resolveInheritedProfile","resolveInheritedMajorMode","matchesOption","REMOVED_TARGET_OPTION","MAJOR_MODE_OPTION","REMOVED_LAYER_OPTION","REMOVED_LAYERS_OPTION","DOMAINS_OPTION","readOption","parseMajorMode","PROFILE_OPTION","parseProfileValue","parseCsv","path","ADD_DIRECTORY_OPTION","defaultDomainsForMajorMode","resolveAdditionalDirectories"],"sources":["../../src/cli/options.ts"],"sourcesContent":["import path from 'node:path';\nimport type { HarnessOutputFormat, HarnessPreset, ParsedHarnessArgs } from '../interfaces/index.ts';\nimport {\n ADD_DIRECTORY_OPTION,\n DEFAULT_MAJOR_MODE,\n DOMAIN_OPTION,\n DOMAINS_OPTION,\n DOOMPI_PRESET_ENV,\n defaultDomainsForMajorMode,\n MAJOR_MODE_OPTION,\n matchesOption,\n PROFILE_OPTION,\n parseCsv,\n parseMajorMode,\n parseProfileValue,\n REMOVED_LAYER_OPTION,\n REMOVED_LAYERS_OPTION,\n REMOVED_TARGET_OPTION,\n readOption,\n resolveAdditionalDirectories,\n resolveInheritedMajorMode,\n resolveInheritedProfile,\n} from './matrixOptions.ts';\n\nconst KIMI_FOR_CODING = 'kimi-for-coding';\nconst KIMI_FOR_CODING_HIGHSPEED = 'kimi-for-coding-highspeed';\nconst KIMI_K2_6 = 'kimi-k2.6';\nconst DEFAULT_PRESET = 'default';\nconst KIMI_PRESET = 'kimi';\nconst OLLAMA_PRESET = 'ollama';\nconst OLLAMA_PREFIX = 'ollama/';\nconst KIMI_CODING_PREFIX = 'kimi-coding/';\nconst CLOUD_SUFFIX = ':cloud';\nconst NATIVE_FORMAT = 'native';\nconst KIMI_CODE_MODEL_ENV = 'KIMI_CODE_MODEL';\nconst OLLAMA_CLAUDE_MODEL_ENV = 'OLLAMA_CLAUDE_MODEL';\nconst MODEL_OPTION = '--model';\nconst MODEL_SHORT_OPTION = '-m';\nconst MODE_OPTION = '--mode';\nconst THINKING_OPTION = '--thinking';\nconst PRINT_OPTION = '--print';\nconst PRINT_SHORT_OPTION = '-p';\nconst APPROVE_OPTION = '--approve';\nconst APPROVE_SHORT_OPTION = '-a';\nconst PROFILES_OPTION = '--profiles';\nconst NO_DOMAINS_OPTION = '--no-domains';\nconst PRESET_OPTION = '--preset';\nconst EFFORT_OPTION = '--effort';\nconst OUTPUT_FORMAT_OPTION = '--output-format';\nconst MUTE_OPTION = '--mute';\nconst VIBE_LINT_FORMAT = 'vibe-lint';\nconst STREAM_JSON_FORMAT = 'stream-json';\nconst JSON_FORMAT = 'json';\nconst EXPLAIN_OPTION = '--explain';\nconst EMIT_MCP_OPTION = '--emit-mcp';\nconst PLUGIN_DIRECTORY_OPTION = '--plugin-dir';\nconst CWD_OPTION = '--cwd';\nconst CD_OPTION = '--cd';\nconst AUTOMATION_OPTION = '--automation';\nconst AUTO_STOP_OPTION = '--auto-stop';\nconst ALLOW_PROTECTED_WRITES_OPTION = '--allow-protected-writes';\nconst HOOKS_OPTION = '--hooks';\nconst MCP_OPTION = '--mcp';\nconst AGENTS_OPTION = '--agents';\nconst NO_HOOKS_OPTION = '--no-hooks';\nconst NO_MCP_OPTION = '--no-mcp';\nconst NO_AGENTS_OPTION = '--no-agents';\nconst VERBOSE_OPTION = '--verbose';\nconst DANGEROUSLY_SKIP_PERMISSIONS_OPTION = '--dangerously-skip-permissions';\nconst HELP_OPTION = '--help';\nconst HELP_SHORT_OPTION = '-h';\nconst VERSION_OPTION = '--version';\nconst VERSION_SHORT_OPTION = '-v';\n\nconst KIMI_ALIASES = new Map([\n ['k2p5', KIMI_FOR_CODING],\n ['k2p6', KIMI_FOR_CODING],\n ['k2p7', KIMI_FOR_CODING],\n ['kimi-k2.5', KIMI_FOR_CODING],\n [KIMI_K2_6, KIMI_FOR_CODING],\n ['kimi-k2.7-code', KIMI_FOR_CODING],\n [KIMI_FOR_CODING, KIMI_FOR_CODING],\n [KIMI_FOR_CODING_HIGHSPEED, KIMI_FOR_CODING_HIGHSPEED],\n]);\n\nfunction parsePreset(value: string): HarnessPreset {\n if (value === DEFAULT_PRESET || value === KIMI_PRESET || value === OLLAMA_PRESET) return value;\n throw new Error(`Unsupported preset: ${value}`);\n}\n\nfunction hasOption(args: string[], ...names: string[]): boolean {\n return args.some((arg) => names.includes(arg) || names.some((name) => arg.startsWith(`${name}=`)));\n}\n\nfunction modelValue(args: string[]): { index: number; value: string; inline: boolean } | undefined {\n for (let index = 0; index < args.length; index += 1) {\n if (args[index] === MODEL_OPTION || args[index] === MODEL_SHORT_OPTION) {\n const value = args[index + 1];\n if (value) return { index, value, inline: false };\n }\n if (args[index]?.startsWith(`${MODEL_OPTION}=`)) {\n return { index, value: args[index].slice(`${MODEL_OPTION}=`.length), inline: true };\n }\n }\n return undefined;\n}\n\nfunction replaceModel(args: string[], value: string): void {\n const selected = modelValue(args);\n if (!selected) {\n args.unshift(MODEL_OPTION, value);\n } else if (selected.inline) {\n args[selected.index] = `${MODEL_OPTION}=${value}`;\n } else {\n args[selected.index + 1] = value;\n }\n}\n\nfunction normalizeProviderArgs(preset: HarnessPreset, piArgs: string[], environment: NodeJS.ProcessEnv): void {\n const selected = modelValue(piArgs);\n if (preset === KIMI_PRESET) {\n const value = selected?.value ?? environment[KIMI_CODE_MODEL_ENV] ?? KIMI_FOR_CODING;\n const unqualified = value.includes('/') ? value.slice(value.indexOf('/') + 1) : value;\n replaceModel(piArgs, `${KIMI_CODING_PREFIX}${KIMI_ALIASES.get(unqualified) ?? unqualified}`);\n }\n if (preset === OLLAMA_PRESET) {\n const value = selected?.value ?? environment[OLLAMA_CLAUDE_MODEL_ENV] ?? KIMI_K2_6;\n const unqualified = value.startsWith(OLLAMA_PREFIX) ? value.slice(OLLAMA_PREFIX.length) : value;\n replaceModel(\n piArgs,\n `${OLLAMA_PREFIX}${unqualified.includes(':') ? unqualified : `${unqualified}${CLOUD_SUFFIX}`}`,\n );\n }\n}\n\n/**\n * Answers `--help` and `--version` without reading the environment.\n *\n * The caller only looks at `help` and `version` for these, and never launches,\n * so the options carry defaults rather than a resolved matrix. This exists so a\n * stale export cannot break the one command that explains how to fix it.\n */\nfunction parseInformationalArgs(args: string[], currentDirectory: string): ParsedHarnessArgs | undefined {\n const help = args.some((arg) => arg === HELP_OPTION || arg === HELP_SHORT_OPTION);\n const version = args.some((arg) => arg === VERSION_OPTION || arg === VERSION_SHORT_OPTION);\n if (!help && !version) return undefined;\n return {\n options: {\n cwd: currentDirectory,\n profile: undefined,\n domains: [],\n majorMode: DEFAULT_MAJOR_MODE,\n explain: false,\n emitMcp: undefined,\n pluginDirectories: [],\n additionalDirectories: [],\n preset: DEFAULT_PRESET,\n outputFormat: NATIVE_FORMAT,\n mute: false,\n automation: false,\n autoStop: false,\n allowProtectedWrites: false,\n hooks: true,\n mcp: true,\n agents: true,\n piArgs: [],\n },\n help,\n version,\n };\n}\n\nexport function parseHarnessArgs(\n args: string[],\n environment: NodeJS.ProcessEnv = process.env,\n currentDirectory = process.cwd(),\n defaultMajorMode: string = DEFAULT_MAJOR_MODE,\n defaultDomains?: readonly string[],\n): ParsedHarnessArgs {\n const informational = parseInformationalArgs(args, currentDirectory);\n if (informational) return informational;\n\n let profile = resolveInheritedProfile(environment);\n let profileProvided = false;\n let majorMode = resolveInheritedMajorMode(environment, defaultMajorMode);\n let majorModeProvided = false;\n const domains: string[] = [];\n // Directory options are collected verbatim and resolved once after the loop,\n // so a relative path means the same thing regardless of where --cwd appears\n // in the argument list.\n const pluginDirectoryValues: string[] = [];\n const additionalDirectoryValues: string[] = [];\n const piArgs: string[] = [];\n let cwd = currentDirectory;\n let preset = parsePreset(environment[DOOMPI_PRESET_ENV] ?? DEFAULT_PRESET);\n let outputFormat: HarnessOutputFormat = NATIVE_FORMAT;\n let domainsDisabled = false;\n let mute = false;\n let automation = false;\n let autoStop = false;\n let allowProtectedWrites = false;\n let hooks = true;\n let mcp = true;\n let agents = true;\n let help = false;\n let version = false;\n let explain = false;\n let emitMcp: string | undefined;\n\n for (let index = 0; index < args.length; index += 1) {\n const arg = args[index]!;\n\n if (matchesOption(arg, REMOVED_TARGET_OPTION)) {\n throw new Error(`${REMOVED_TARGET_OPTION} was replaced by ${MAJOR_MODE_OPTION}`);\n }\n if (matchesOption(arg, REMOVED_LAYER_OPTION)) {\n throw new Error(`${REMOVED_LAYER_OPTION} was replaced by ${MAJOR_MODE_OPTION}`);\n }\n if (matchesOption(arg, REMOVED_LAYERS_OPTION)) {\n throw new Error(`${REMOVED_LAYERS_OPTION} was removed; select one major mode with ${MAJOR_MODE_OPTION}`);\n }\n if (matchesOption(arg, PROFILES_OPTION)) {\n throw new Error(`${PROFILES_OPTION} was replaced by ${DOMAINS_OPTION}`);\n }\n\n const majorModeMatch = readOption(args, index, MAJOR_MODE_OPTION);\n if (majorModeMatch) {\n if (majorModeProvided) throw new Error(`${MAJOR_MODE_OPTION} can only be provided once`);\n majorMode = parseMajorMode(majorModeMatch.value, MAJOR_MODE_OPTION);\n majorModeProvided = true;\n index = majorModeMatch.nextIndex;\n continue;\n }\n\n const profileMatch = readOption(args, index, PROFILE_OPTION);\n if (profileMatch) {\n if (profileProvided) throw new Error(`${PROFILE_OPTION} can only be provided once`);\n profile = parseProfileValue(profileMatch.value, PROFILE_OPTION);\n profileProvided = true;\n index = profileMatch.nextIndex;\n continue;\n }\n\n const domainMatch = readOption(args, index, DOMAINS_OPTION) ?? readOption(args, index, DOMAIN_OPTION);\n if (domainMatch) {\n domains.push(...parseCsv(domainMatch.value));\n index = domainMatch.nextIndex;\n continue;\n }\n\n const emitMcpMatch = readOption(args, index, EMIT_MCP_OPTION);\n if (emitMcpMatch) {\n emitMcp = path.resolve(currentDirectory, emitMcpMatch.value);\n index = emitMcpMatch.nextIndex;\n continue;\n }\n\n const pluginDirectoryMatch = readOption(args, index, PLUGIN_DIRECTORY_OPTION);\n if (pluginDirectoryMatch) {\n pluginDirectoryValues.push(pluginDirectoryMatch.value);\n index = pluginDirectoryMatch.nextIndex;\n continue;\n }\n\n const addDirectoryMatch = readOption(args, index, ADD_DIRECTORY_OPTION);\n if (addDirectoryMatch) {\n additionalDirectoryValues.push(addDirectoryMatch.value);\n index = addDirectoryMatch.nextIndex;\n continue;\n }\n\n const presetMatch = readOption(args, index, PRESET_OPTION);\n if (presetMatch) {\n preset = parsePreset(presetMatch.value);\n index = presetMatch.nextIndex;\n continue;\n }\n\n const cwdMatch = readOption(args, index, CWD_OPTION) ?? readOption(args, index, CD_OPTION);\n if (cwdMatch) {\n cwd = path.resolve(currentDirectory, cwdMatch.value);\n index = cwdMatch.nextIndex;\n continue;\n }\n\n const effortMatch = readOption(args, index, EFFORT_OPTION);\n if (effortMatch) {\n if (effortMatch.inline) piArgs.push(`${THINKING_OPTION}=${effortMatch.value}`);\n else piArgs.push(THINKING_OPTION, effortMatch.value);\n index = effortMatch.nextIndex;\n continue;\n }\n\n const outputFormatMatch = readOption(args, index, OUTPUT_FORMAT_OPTION);\n if (outputFormatMatch) {\n const requested = outputFormatMatch.value;\n if (requested === VIBE_LINT_FORMAT) {\n outputFormat = VIBE_LINT_FORMAT;\n } else {\n const mode = requested === STREAM_JSON_FORMAT ? JSON_FORMAT : requested;\n if (outputFormatMatch.inline) piArgs.push(`${MODE_OPTION}=${mode}`);\n else piArgs.push(MODE_OPTION, mode);\n }\n index = outputFormatMatch.nextIndex;\n continue;\n }\n\n if (arg === NO_DOMAINS_OPTION) domainsDisabled = true;\n else if (arg === EXPLAIN_OPTION) explain = true;\n else if (arg === AUTOMATION_OPTION) automation = true;\n else if (arg === MUTE_OPTION) mute = true;\n else if (arg === AUTO_STOP_OPTION) autoStop = true;\n else if (arg === ALLOW_PROTECTED_WRITES_OPTION) allowProtectedWrites = true;\n else if (arg === HOOKS_OPTION) hooks = true;\n else if (arg === MCP_OPTION) mcp = true;\n else if (arg === AGENTS_OPTION) agents = true;\n else if (arg === NO_HOOKS_OPTION) hooks = false;\n else if (arg === NO_MCP_OPTION) mcp = false;\n else if (arg === NO_AGENTS_OPTION) agents = false;\n else if (arg === HELP_OPTION || arg === HELP_SHORT_OPTION) help = true;\n else if (arg === VERSION_OPTION || arg === VERSION_SHORT_OPTION) version = true;\n // Accepted for Claude Code compatibility and deliberately not forwarded.\n else if (arg !== VERBOSE_OPTION && arg !== DANGEROUSLY_SKIP_PERMISSIONS_OPTION) piArgs.push(arg);\n }\n\n if (domainsDisabled && domains.length > 0) {\n throw new Error(`${NO_DOMAINS_OPTION} cannot be combined with ${DOMAINS_OPTION}`);\n }\n if (!domainsDisabled && domains.length === 0 && pluginDirectoryValues.length === 0) {\n domains.push(...defaultDomainsForMajorMode(majorMode, environment, defaultDomains));\n }\n if (automation) {\n if (!hasOption(piArgs, PRINT_OPTION, PRINT_SHORT_OPTION)) piArgs.unshift(PRINT_OPTION);\n if (!hasOption(piArgs, MODE_OPTION)) piArgs.unshift(MODE_OPTION, JSON_FORMAT);\n if (!hasOption(piArgs, APPROVE_OPTION, APPROVE_SHORT_OPTION)) piArgs.unshift(APPROVE_OPTION);\n }\n if (\n autoStop &&\n (automation ||\n outputFormat === VIBE_LINT_FORMAT ||\n hasOption(piArgs, PRINT_OPTION, PRINT_SHORT_OPTION, MODE_OPTION))\n ) {\n throw new Error(`${AUTO_STOP_OPTION} only supports interactive Pi mode`);\n }\n normalizeProviderArgs(preset, piArgs, environment);\n\n return {\n options: {\n cwd,\n profile,\n domains,\n majorMode,\n explain,\n emitMcp,\n pluginDirectories: pluginDirectoryValues.map((value) => path.resolve(currentDirectory, value)),\n additionalDirectories: [\n ...new Set([\n ...resolveAdditionalDirectories(environment, currentDirectory),\n ...additionalDirectoryValues.map((value) => path.resolve(currentDirectory, value)),\n ]),\n ],\n preset,\n outputFormat,\n mute,\n automation,\n autoStop,\n allowProtectedWrites,\n hooks,\n mcp,\n agents,\n piArgs,\n },\n help,\n version,\n };\n}\n"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"options.d.cts","names":[],"sources":["../../src/cli/options.ts"],"mappings":";;;iBA4KgB,gBAAA,CACd,IAAA,YACA,WAAA,GAAa,MAAA,CAAO,UAAA,EACpB,gBAAA,WACA,gBAAA,WACA,cAAA,uBACC,iBAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"options.d.mts","names":[],"sources":["../../src/cli/options.ts"],"mappings":";;;iBA4KgB,gBAAA,CACd,IAAA,YACA,WAAA,GAAa,MAAA,CAAO,UAAA,EACpB,gBAAA,WACA,gBAAA,WACA,cAAA,uBACC,iBAAA"}
|
package/dist/cli/options.mjs.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"options.mjs","names":[],"sources":["../../src/cli/options.ts"],"sourcesContent":["import path from 'node:path';\nimport type { HarnessOutputFormat, HarnessPreset, ParsedHarnessArgs } from '../interfaces/index.ts';\nimport {\n ADD_DIRECTORY_OPTION,\n DEFAULT_MAJOR_MODE,\n DOMAIN_OPTION,\n DOMAINS_OPTION,\n DOOMPI_PRESET_ENV,\n defaultDomainsForMajorMode,\n MAJOR_MODE_OPTION,\n matchesOption,\n PROFILE_OPTION,\n parseCsv,\n parseMajorMode,\n parseProfileValue,\n REMOVED_LAYER_OPTION,\n REMOVED_LAYERS_OPTION,\n REMOVED_TARGET_OPTION,\n readOption,\n resolveAdditionalDirectories,\n resolveInheritedMajorMode,\n resolveInheritedProfile,\n} from './matrixOptions.ts';\n\nconst KIMI_FOR_CODING = 'kimi-for-coding';\nconst KIMI_FOR_CODING_HIGHSPEED = 'kimi-for-coding-highspeed';\nconst KIMI_K2_6 = 'kimi-k2.6';\nconst DEFAULT_PRESET = 'default';\nconst KIMI_PRESET = 'kimi';\nconst OLLAMA_PRESET = 'ollama';\nconst OLLAMA_PREFIX = 'ollama/';\nconst KIMI_CODING_PREFIX = 'kimi-coding/';\nconst CLOUD_SUFFIX = ':cloud';\nconst NATIVE_FORMAT = 'native';\nconst KIMI_CODE_MODEL_ENV = 'KIMI_CODE_MODEL';\nconst OLLAMA_CLAUDE_MODEL_ENV = 'OLLAMA_CLAUDE_MODEL';\nconst MODEL_OPTION = '--model';\nconst MODEL_SHORT_OPTION = '-m';\nconst MODE_OPTION = '--mode';\nconst THINKING_OPTION = '--thinking';\nconst PRINT_OPTION = '--print';\nconst PRINT_SHORT_OPTION = '-p';\nconst APPROVE_OPTION = '--approve';\nconst APPROVE_SHORT_OPTION = '-a';\nconst PROFILES_OPTION = '--profiles';\nconst NO_DOMAINS_OPTION = '--no-domains';\nconst PRESET_OPTION = '--preset';\nconst EFFORT_OPTION = '--effort';\nconst OUTPUT_FORMAT_OPTION = '--output-format';\nconst MUTE_OPTION = '--mute';\nconst VIBE_LINT_FORMAT = 'vibe-lint';\nconst STREAM_JSON_FORMAT = 'stream-json';\nconst JSON_FORMAT = 'json';\nconst EXPLAIN_OPTION = '--explain';\nconst EMIT_MCP_OPTION = '--emit-mcp';\nconst PLUGIN_DIRECTORY_OPTION = '--plugin-dir';\nconst CWD_OPTION = '--cwd';\nconst CD_OPTION = '--cd';\nconst AUTOMATION_OPTION = '--automation';\nconst AUTO_STOP_OPTION = '--auto-stop';\nconst ALLOW_PROTECTED_WRITES_OPTION = '--allow-protected-writes';\nconst HOOKS_OPTION = '--hooks';\nconst MCP_OPTION = '--mcp';\nconst AGENTS_OPTION = '--agents';\nconst NO_HOOKS_OPTION = '--no-hooks';\nconst NO_MCP_OPTION = '--no-mcp';\nconst NO_AGENTS_OPTION = '--no-agents';\nconst VERBOSE_OPTION = '--verbose';\nconst DANGEROUSLY_SKIP_PERMISSIONS_OPTION = '--dangerously-skip-permissions';\nconst HELP_OPTION = '--help';\nconst HELP_SHORT_OPTION = '-h';\nconst VERSION_OPTION = '--version';\nconst VERSION_SHORT_OPTION = '-v';\n\nconst KIMI_ALIASES = new Map([\n ['k2p5', KIMI_FOR_CODING],\n ['k2p6', KIMI_FOR_CODING],\n ['k2p7', KIMI_FOR_CODING],\n ['kimi-k2.5', KIMI_FOR_CODING],\n [KIMI_K2_6, KIMI_FOR_CODING],\n ['kimi-k2.7-code', KIMI_FOR_CODING],\n [KIMI_FOR_CODING, KIMI_FOR_CODING],\n [KIMI_FOR_CODING_HIGHSPEED, KIMI_FOR_CODING_HIGHSPEED],\n]);\n\nfunction parsePreset(value: string): HarnessPreset {\n if (value === DEFAULT_PRESET || value === KIMI_PRESET || value === OLLAMA_PRESET) return value;\n throw new Error(`Unsupported preset: ${value}`);\n}\n\nfunction hasOption(args: string[], ...names: string[]): boolean {\n return args.some((arg) => names.includes(arg) || names.some((name) => arg.startsWith(`${name}=`)));\n}\n\nfunction modelValue(args: string[]): { index: number; value: string; inline: boolean } | undefined {\n for (let index = 0; index < args.length; index += 1) {\n if (args[index] === MODEL_OPTION || args[index] === MODEL_SHORT_OPTION) {\n const value = args[index + 1];\n if (value) return { index, value, inline: false };\n }\n if (args[index]?.startsWith(`${MODEL_OPTION}=`)) {\n return { index, value: args[index].slice(`${MODEL_OPTION}=`.length), inline: true };\n }\n }\n return undefined;\n}\n\nfunction replaceModel(args: string[], value: string): void {\n const selected = modelValue(args);\n if (!selected) {\n args.unshift(MODEL_OPTION, value);\n } else if (selected.inline) {\n args[selected.index] = `${MODEL_OPTION}=${value}`;\n } else {\n args[selected.index + 1] = value;\n }\n}\n\nfunction normalizeProviderArgs(preset: HarnessPreset, piArgs: string[], environment: NodeJS.ProcessEnv): void {\n const selected = modelValue(piArgs);\n if (preset === KIMI_PRESET) {\n const value = selected?.value ?? environment[KIMI_CODE_MODEL_ENV] ?? KIMI_FOR_CODING;\n const unqualified = value.includes('/') ? value.slice(value.indexOf('/') + 1) : value;\n replaceModel(piArgs, `${KIMI_CODING_PREFIX}${KIMI_ALIASES.get(unqualified) ?? unqualified}`);\n }\n if (preset === OLLAMA_PRESET) {\n const value = selected?.value ?? environment[OLLAMA_CLAUDE_MODEL_ENV] ?? KIMI_K2_6;\n const unqualified = value.startsWith(OLLAMA_PREFIX) ? value.slice(OLLAMA_PREFIX.length) : value;\n replaceModel(\n piArgs,\n `${OLLAMA_PREFIX}${unqualified.includes(':') ? unqualified : `${unqualified}${CLOUD_SUFFIX}`}`,\n );\n }\n}\n\n/**\n * Answers `--help` and `--version` without reading the environment.\n *\n * The caller only looks at `help` and `version` for these, and never launches,\n * so the options carry defaults rather than a resolved matrix. This exists so a\n * stale export cannot break the one command that explains how to fix it.\n */\nfunction parseInformationalArgs(args: string[], currentDirectory: string): ParsedHarnessArgs | undefined {\n const help = args.some((arg) => arg === HELP_OPTION || arg === HELP_SHORT_OPTION);\n const version = args.some((arg) => arg === VERSION_OPTION || arg === VERSION_SHORT_OPTION);\n if (!help && !version) return undefined;\n return {\n options: {\n cwd: currentDirectory,\n profile: undefined,\n domains: [],\n majorMode: DEFAULT_MAJOR_MODE,\n explain: false,\n emitMcp: undefined,\n pluginDirectories: [],\n additionalDirectories: [],\n preset: DEFAULT_PRESET,\n outputFormat: NATIVE_FORMAT,\n mute: false,\n automation: false,\n autoStop: false,\n allowProtectedWrites: false,\n hooks: true,\n mcp: true,\n agents: true,\n piArgs: [],\n },\n help,\n version,\n };\n}\n\nexport function parseHarnessArgs(\n args: string[],\n environment: NodeJS.ProcessEnv = process.env,\n currentDirectory = process.cwd(),\n defaultMajorMode: string = DEFAULT_MAJOR_MODE,\n defaultDomains?: readonly string[],\n): ParsedHarnessArgs {\n const informational = parseInformationalArgs(args, currentDirectory);\n if (informational) return informational;\n\n let profile = resolveInheritedProfile(environment);\n let profileProvided = false;\n let majorMode = resolveInheritedMajorMode(environment, defaultMajorMode);\n let majorModeProvided = false;\n const domains: string[] = [];\n // Directory options are collected verbatim and resolved once after the loop,\n // so a relative path means the same thing regardless of where --cwd appears\n // in the argument list.\n const pluginDirectoryValues: string[] = [];\n const additionalDirectoryValues: string[] = [];\n const piArgs: string[] = [];\n let cwd = currentDirectory;\n let preset = parsePreset(environment[DOOMPI_PRESET_ENV] ?? DEFAULT_PRESET);\n let outputFormat: HarnessOutputFormat = NATIVE_FORMAT;\n let domainsDisabled = false;\n let mute = false;\n let automation = false;\n let autoStop = false;\n let allowProtectedWrites = false;\n let hooks = true;\n let mcp = true;\n let agents = true;\n let help = false;\n let version = false;\n let explain = false;\n let emitMcp: string | undefined;\n\n for (let index = 0; index < args.length; index += 1) {\n const arg = args[index]!;\n\n if (matchesOption(arg, REMOVED_TARGET_OPTION)) {\n throw new Error(`${REMOVED_TARGET_OPTION} was replaced by ${MAJOR_MODE_OPTION}`);\n }\n if (matchesOption(arg, REMOVED_LAYER_OPTION)) {\n throw new Error(`${REMOVED_LAYER_OPTION} was replaced by ${MAJOR_MODE_OPTION}`);\n }\n if (matchesOption(arg, REMOVED_LAYERS_OPTION)) {\n throw new Error(`${REMOVED_LAYERS_OPTION} was removed; select one major mode with ${MAJOR_MODE_OPTION}`);\n }\n if (matchesOption(arg, PROFILES_OPTION)) {\n throw new Error(`${PROFILES_OPTION} was replaced by ${DOMAINS_OPTION}`);\n }\n\n const majorModeMatch = readOption(args, index, MAJOR_MODE_OPTION);\n if (majorModeMatch) {\n if (majorModeProvided) throw new Error(`${MAJOR_MODE_OPTION} can only be provided once`);\n majorMode = parseMajorMode(majorModeMatch.value, MAJOR_MODE_OPTION);\n majorModeProvided = true;\n index = majorModeMatch.nextIndex;\n continue;\n }\n\n const profileMatch = readOption(args, index, PROFILE_OPTION);\n if (profileMatch) {\n if (profileProvided) throw new Error(`${PROFILE_OPTION} can only be provided once`);\n profile = parseProfileValue(profileMatch.value, PROFILE_OPTION);\n profileProvided = true;\n index = profileMatch.nextIndex;\n continue;\n }\n\n const domainMatch = readOption(args, index, DOMAINS_OPTION) ?? readOption(args, index, DOMAIN_OPTION);\n if (domainMatch) {\n domains.push(...parseCsv(domainMatch.value));\n index = domainMatch.nextIndex;\n continue;\n }\n\n const emitMcpMatch = readOption(args, index, EMIT_MCP_OPTION);\n if (emitMcpMatch) {\n emitMcp = path.resolve(currentDirectory, emitMcpMatch.value);\n index = emitMcpMatch.nextIndex;\n continue;\n }\n\n const pluginDirectoryMatch = readOption(args, index, PLUGIN_DIRECTORY_OPTION);\n if (pluginDirectoryMatch) {\n pluginDirectoryValues.push(pluginDirectoryMatch.value);\n index = pluginDirectoryMatch.nextIndex;\n continue;\n }\n\n const addDirectoryMatch = readOption(args, index, ADD_DIRECTORY_OPTION);\n if (addDirectoryMatch) {\n additionalDirectoryValues.push(addDirectoryMatch.value);\n index = addDirectoryMatch.nextIndex;\n continue;\n }\n\n const presetMatch = readOption(args, index, PRESET_OPTION);\n if (presetMatch) {\n preset = parsePreset(presetMatch.value);\n index = presetMatch.nextIndex;\n continue;\n }\n\n const cwdMatch = readOption(args, index, CWD_OPTION) ?? readOption(args, index, CD_OPTION);\n if (cwdMatch) {\n cwd = path.resolve(currentDirectory, cwdMatch.value);\n index = cwdMatch.nextIndex;\n continue;\n }\n\n const effortMatch = readOption(args, index, EFFORT_OPTION);\n if (effortMatch) {\n if (effortMatch.inline) piArgs.push(`${THINKING_OPTION}=${effortMatch.value}`);\n else piArgs.push(THINKING_OPTION, effortMatch.value);\n index = effortMatch.nextIndex;\n continue;\n }\n\n const outputFormatMatch = readOption(args, index, OUTPUT_FORMAT_OPTION);\n if (outputFormatMatch) {\n const requested = outputFormatMatch.value;\n if (requested === VIBE_LINT_FORMAT) {\n outputFormat = VIBE_LINT_FORMAT;\n } else {\n const mode = requested === STREAM_JSON_FORMAT ? JSON_FORMAT : requested;\n if (outputFormatMatch.inline) piArgs.push(`${MODE_OPTION}=${mode}`);\n else piArgs.push(MODE_OPTION, mode);\n }\n index = outputFormatMatch.nextIndex;\n continue;\n }\n\n if (arg === NO_DOMAINS_OPTION) domainsDisabled = true;\n else if (arg === EXPLAIN_OPTION) explain = true;\n else if (arg === AUTOMATION_OPTION) automation = true;\n else if (arg === MUTE_OPTION) mute = true;\n else if (arg === AUTO_STOP_OPTION) autoStop = true;\n else if (arg === ALLOW_PROTECTED_WRITES_OPTION) allowProtectedWrites = true;\n else if (arg === HOOKS_OPTION) hooks = true;\n else if (arg === MCP_OPTION) mcp = true;\n else if (arg === AGENTS_OPTION) agents = true;\n else if (arg === NO_HOOKS_OPTION) hooks = false;\n else if (arg === NO_MCP_OPTION) mcp = false;\n else if (arg === NO_AGENTS_OPTION) agents = false;\n else if (arg === HELP_OPTION || arg === HELP_SHORT_OPTION) help = true;\n else if (arg === VERSION_OPTION || arg === VERSION_SHORT_OPTION) version = true;\n // Accepted for Claude Code compatibility and deliberately not forwarded.\n else if (arg !== VERBOSE_OPTION && arg !== DANGEROUSLY_SKIP_PERMISSIONS_OPTION) piArgs.push(arg);\n }\n\n if (domainsDisabled && domains.length > 0) {\n throw new Error(`${NO_DOMAINS_OPTION} cannot be combined with ${DOMAINS_OPTION}`);\n }\n if (!domainsDisabled && domains.length === 0 && pluginDirectoryValues.length === 0) {\n domains.push(...defaultDomainsForMajorMode(majorMode, environment, defaultDomains));\n }\n if (automation) {\n if (!hasOption(piArgs, PRINT_OPTION, PRINT_SHORT_OPTION)) piArgs.unshift(PRINT_OPTION);\n if (!hasOption(piArgs, MODE_OPTION)) piArgs.unshift(MODE_OPTION, JSON_FORMAT);\n if (!hasOption(piArgs, APPROVE_OPTION, APPROVE_SHORT_OPTION)) piArgs.unshift(APPROVE_OPTION);\n }\n if (\n autoStop &&\n (automation ||\n outputFormat === VIBE_LINT_FORMAT ||\n hasOption(piArgs, PRINT_OPTION, PRINT_SHORT_OPTION, MODE_OPTION))\n ) {\n throw new Error(`${AUTO_STOP_OPTION} only supports interactive Pi mode`);\n }\n normalizeProviderArgs(preset, piArgs, environment);\n\n return {\n options: {\n cwd,\n profile,\n domains,\n majorMode,\n explain,\n emitMcp,\n pluginDirectories: pluginDirectoryValues.map((value) => path.resolve(currentDirectory, value)),\n additionalDirectories: [\n ...new Set([\n ...resolveAdditionalDirectories(environment, currentDirectory),\n ...additionalDirectoryValues.map((value) => path.resolve(currentDirectory, value)),\n ]),\n ],\n preset,\n outputFormat,\n mute,\n automation,\n autoStop,\n allowProtectedWrites,\n hooks,\n mcp,\n agents,\n piArgs,\n },\n help,\n version,\n };\n}\n"],"mappings":"2dAwBA,MAAM,EAAkB,kBAClB,EAA4B,4BAC5B,EAAY,YACZ,EAAiB,UACjB,EAAc,OACd,EAAgB,SAChB,EAAgB,UAGhB,EAAgB,SAGhB,EAAe,UAEf,EAAc,SACd,EAAkB,aAClB,EAAe,UAEf,EAAiB,YAEjB,EAAkB,aAClB,EAAoB,eAKpB,EAAmB,YAEnB,EAAc,OAOd,EAAmB,cAUnB,EAAc,SAEd,EAAiB,YAGjB,EAAe,IAAI,IAAI,CAC3B,CAAC,OAAQ,EAAgB,CACzB,CAAC,OAAQ,EAAgB,CACzB,CAAC,OAAQ,EAAgB,CACzB,CAAC,YAAa,EAAgB,CAC9B,CAAC,EAAW,EAAgB,CAC5B,CAAC,iBAAkB,EAAgB,CACnC,CAAC,EAAiB,EAAgB,CAClC,CAAC,EAA2B,EAA0B,CACvD,CAAC,CAEF,SAAS,EAAY,EAA8B,CACjD,GAAI,IAAU,GAAkB,IAAU,GAAe,IAAU,EAAe,OAAO,EACzF,MAAU,MAAM,uBAAuB,IAAQ,CAGjD,SAAS,EAAU,EAAgB,GAAG,EAA0B,CAC9D,OAAO,EAAK,KAAM,GAAQ,EAAM,SAAS,EAAI,EAAI,EAAM,KAAM,GAAS,EAAI,WAAW,GAAG,EAAK,GAAG,CAAC,CAAC,CAGpG,SAAS,EAAW,EAA+E,CACjG,IAAK,IAAI,EAAQ,EAAG,EAAQ,EAAK,OAAQ,GAAS,EAAG,CACnD,GAAI,EAAK,KAAW,GAAgB,EAAK,KAAW,KAAoB,CACtE,IAAM,EAAQ,EAAK,EAAQ,GAC3B,GAAI,EAAO,MAAO,CAAE,QAAO,QAAO,OAAQ,GAAO,CAEnD,GAAI,EAAK,IAAQ,WAAW,GAAG,EAAa,GAAG,CAC7C,MAAO,CAAE,QAAO,MAAO,EAAK,GAAO,MAAM,GAAG,EAAa,GAAG,OAAO,CAAE,OAAQ,GAAM,EAMzF,SAAS,EAAa,EAAgB,EAAqB,CACzD,IAAM,EAAW,EAAW,EAAK,CAC5B,EAEM,EAAS,OAClB,EAAK,EAAS,OAAS,GAAG,EAAa,GAAG,IAE1C,EAAK,EAAS,MAAQ,GAAK,EAJ3B,EAAK,QAAQ,EAAc,EAAM,CAQrC,SAAS,GAAsB,EAAuB,EAAkB,EAAsC,CAC5G,IAAM,EAAW,EAAW,EAAO,CACnC,GAAI,IAAW,EAAa,CAC1B,IAAM,EAAQ,GAAU,OAAS,EAAY,iBAAwB,EAC/D,EAAc,EAAM,SAAS,IAAI,CAAG,EAAM,MAAM,EAAM,QAAQ,IAAI,CAAG,EAAE,CAAG,EAChF,EAAa,EAAQ,eAAwB,EAAa,IAAI,EAAY,EAAI,IAAc,CAE9F,GAAI,IAAW,EAAe,CAC5B,IAAM,EAAQ,GAAU,OAAS,EAAY,qBAA4B,EACnE,EAAc,EAAM,WAAW,EAAc,CAAG,EAAM,MAAM,EAAqB,CAAG,EAC1F,EACE,EACA,GAAG,IAAgB,EAAY,SAAS,IAAI,CAAG,EAAc,GAAG,YACjE,EAWL,SAAS,GAAuB,EAAgB,EAAyD,CACvG,IAAM,EAAO,EAAK,KAAM,GAAQ,IAAQ,GAAe,IAAQ,KAAkB,CAC3E,EAAU,EAAK,KAAM,GAAQ,IAAQ,GAAkB,IAAQ,KAAqB,CACtF,MAAC,GAAQ,CAAC,GACd,MAAO,CACL,QAAS,CACP,IAAK,EACL,QAAS,IAAA,GACT,QAAS,EAAE,CACX,UAAW,EACX,QAAS,GACT,QAAS,IAAA,GACT,kBAAmB,EAAE,CACrB,sBAAuB,EAAE,CACzB,OAAQ,EACR,aAAc,EACd,KAAM,GACN,WAAY,GACZ,SAAU,GACV,qBAAsB,GACtB,MAAO,GACP,IAAK,GACL,OAAQ,GACR,OAAQ,EAAE,CACX,CACD,OACA,UACD,CAGH,SAAgB,EACd,EACA,EAAiC,QAAQ,IACzC,EAAmB,QAAQ,KAAK,CAChC,EAA2B,EAC3B,EACmB,CACnB,IAAM,EAAgB,GAAuB,EAAM,EAAiB,CACpE,GAAI,EAAe,OAAO,EAE1B,IAAI,EAAU,EAAwB,EAAY,CAC9C,EAAkB,GAClB,EAAY,EAA0B,EAAa,EAAiB,CACpE,EAAoB,GAClB,EAAoB,EAAE,CAItB,EAAkC,EAAE,CACpC,EAAsC,EAAE,CACxC,EAAmB,EAAE,CACvB,EAAM,EACN,EAAS,EAAY,EAAA,eAAkC,EAAe,CACtE,EAAoC,EACpC,EAAkB,GAClB,EAAO,GACP,EAAa,GACb,EAAW,GACX,EAAuB,GACvB,EAAQ,GACR,EAAM,GACN,EAAS,GACT,EAAO,GACP,EAAU,GACV,GAAU,GACV,GAEJ,IAAK,IAAI,EAAQ,EAAG,EAAQ,EAAK,OAAQ,GAAS,EAAG,CACnD,IAAM,EAAM,EAAK,GAEjB,GAAI,EAAc,EAAA,WAA2B,CAC3C,MAAU,MAAM,GAAG,GAAsB,mBAAmB,IAAoB,CAElF,GAAI,EAAc,EAAA,UAA0B,CAC1C,MAAU,MAAM,GAAG,GAAqB,mBAAmB,IAAoB,CAEjF,GAAI,EAAc,EAAA,WAA2B,CAC3C,MAAU,MAAM,GAAG,GAAsB,2CAA2C,IAAoB,CAE1G,GAAI,EAAc,EAAK,EAAgB,CACrC,MAAU,MAAM,GAAG,EAAgB,mBAAmB,IAAiB,CAGzE,IAAM,EAAiB,EAAW,EAAM,EAAO,EAAkB,CACjE,GAAI,EAAgB,CAClB,GAAI,EAAmB,MAAU,MAAM,GAAG,EAAkB,4BAA4B,CACxF,EAAY,GAAe,EAAe,MAAO,EAAkB,CACnE,EAAoB,GACpB,EAAQ,EAAe,UACvB,SAGF,IAAM,EAAe,EAAW,EAAM,EAAO,EAAe,CAC5D,GAAI,EAAc,CAChB,GAAI,EAAiB,MAAU,MAAM,GAAG,EAAe,4BAA4B,CACnF,EAAU,GAAkB,EAAa,MAAO,EAAe,CAC/D,EAAkB,GAClB,EAAQ,EAAa,UACrB,SAGF,IAAM,EAAc,EAAW,EAAM,EAAA,YAAsB,EAAI,EAAW,EAAM,EAAA,WAAqB,CACrG,GAAI,EAAa,CACf,EAAQ,KAAK,GAAG,GAAS,EAAY,MAAM,CAAC,CAC5C,EAAQ,EAAY,UACpB,SAGF,IAAM,EAAe,EAAW,EAAM,EAAO,aAAgB,CAC7D,GAAI,EAAc,CAChB,GAAU,EAAK,QAAQ,EAAkB,EAAa,MAAM,CAC5D,EAAQ,EAAa,UACrB,SAGF,IAAM,EAAuB,EAAW,EAAM,EAAO,eAAwB,CAC7E,GAAI,EAAsB,CACxB,EAAsB,KAAK,EAAqB,MAAM,CACtD,EAAQ,EAAqB,UAC7B,SAGF,IAAM,EAAoB,EAAW,EAAM,EAAO,EAAqB,CACvE,GAAI,EAAmB,CACrB,EAA0B,KAAK,EAAkB,MAAM,CACvD,EAAQ,EAAkB,UAC1B,SAGF,IAAM,EAAc,EAAW,EAAM,EAAO,WAAc,CAC1D,GAAI,EAAa,CACf,EAAS,EAAY,EAAY,MAAM,CACvC,EAAQ,EAAY,UACpB,SAGF,IAAM,EAAW,EAAW,EAAM,EAAO,QAAW,EAAI,EAAW,EAAM,EAAO,OAAU,CAC1F,GAAI,EAAU,CACZ,EAAM,EAAK,QAAQ,EAAkB,EAAS,MAAM,CACpD,EAAQ,EAAS,UACjB,SAGF,IAAM,EAAc,EAAW,EAAM,EAAO,WAAc,CAC1D,GAAI,EAAa,CACX,EAAY,OAAQ,EAAO,KAAK,GAAG,EAAgB,GAAG,EAAY,QAAQ,CACzE,EAAO,KAAK,EAAiB,EAAY,MAAM,CACpD,EAAQ,EAAY,UACpB,SAGF,IAAM,EAAoB,EAAW,EAAM,EAAO,kBAAqB,CACvE,GAAI,EAAmB,CACrB,IAAM,EAAY,EAAkB,MACpC,GAAI,IAAc,EAChB,EAAe,MACV,CACL,IAAM,EAAO,IAAc,cAAqB,EAAc,EAC1D,EAAkB,OAAQ,EAAO,KAAK,GAAG,EAAY,GAAG,IAAO,CAC9D,EAAO,KAAK,EAAa,EAAK,CAErC,EAAQ,EAAkB,UAC1B,SAGE,IAAQ,EAAmB,EAAkB,GACxC,IAAQ,YAAgB,GAAU,GAClC,IAAQ,eAAmB,EAAa,GACxC,IAAQ,SAAa,EAAO,GAC5B,IAAQ,EAAkB,EAAW,GACrC,IAAQ,2BAA+B,EAAuB,GAC9D,IAAQ,UAAc,EAAQ,GAC9B,IAAQ,QAAY,EAAM,GAC1B,IAAQ,WAAe,EAAS,GAChC,IAAQ,aAAiB,EAAQ,GACjC,IAAQ,WAAe,EAAM,GAC7B,IAAQ,cAAkB,EAAS,GACnC,IAAQ,GAAe,IAAQ,KAAmB,EAAO,GACzD,IAAQ,GAAkB,IAAQ,KAAsB,EAAU,GAElE,IAAQ,aAAkB,IAAQ,kCAAqC,EAAO,KAAK,EAAI,CAGlG,GAAI,GAAmB,EAAQ,OAAS,EACtC,MAAU,MAAM,GAAG,EAAkB,2BAA2B,IAAiB,CAUnF,GARI,CAAC,GAAmB,EAAQ,SAAW,GAAK,EAAsB,SAAW,GAC/E,EAAQ,KAAK,GAAG,EAA2B,EAAW,EAAa,EAAe,CAAC,CAEjF,IACG,EAAU,EAAQ,EAAc,KAAmB,EAAE,EAAO,QAAQ,EAAa,CACjF,EAAU,EAAQ,EAAY,EAAE,EAAO,QAAQ,EAAa,EAAY,CACxE,EAAU,EAAQ,EAAgB,KAAqB,EAAE,EAAO,QAAQ,EAAe,EAG5F,IACC,GACC,IAAiB,GACjB,EAAU,EAAQ,EAAc,KAAoB,EAAY,EAElE,MAAU,MAAM,GAAG,EAAiB,oCAAoC,CAI1E,OAFA,GAAsB,EAAQ,EAAQ,EAAY,CAE3C,CACL,QAAS,CACP,MACA,UACA,UACA,YACA,WACA,WACA,kBAAmB,EAAsB,IAAK,GAAU,EAAK,QAAQ,EAAkB,EAAM,CAAC,CAC9F,sBAAuB,CACrB,GAAG,IAAI,IAAI,CACT,GAAG,EAA6B,EAAa,EAAiB,CAC9D,GAAG,EAA0B,IAAK,GAAU,EAAK,QAAQ,EAAkB,EAAM,CAAC,CACnF,CAAC,CACH,CACD,SACA,eACA,OACA,aACA,WACA,uBACA,QACA,MACA,SACA,SACD,CACD,OACA,UACD"}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { HarnessTelemetry } from "../logSinkTelemetry.cjs";
|
|
2
|
-
|
|
3
|
-
//#region src/commands/buildCommand.d.ts
|
|
4
|
-
type BuildOutput = Pick<NodeJS.WritableStream, 'write'>;
|
|
5
|
-
interface BuildResult {
|
|
6
|
-
bundle: string;
|
|
7
|
-
manifest: string;
|
|
8
|
-
extensionCount: number;
|
|
9
|
-
skillCount: number;
|
|
10
|
-
agentCount: number;
|
|
11
|
-
}
|
|
12
|
-
declare function formatBuildResult(result: BuildResult): string;
|
|
13
|
-
/** Builds the selected mode extension without launching Pi or changing settings. */
|
|
14
|
-
declare class BuildCommand {
|
|
15
|
-
readonly name = "build";
|
|
16
|
-
private readonly telemetry;
|
|
17
|
-
constructor(telemetry?: HarnessTelemetry);
|
|
18
|
-
matches(args: string[]): boolean;
|
|
19
|
-
execute(args: string[], environment?: NodeJS.ProcessEnv, currentDirectory?: string, output?: BuildOutput): Promise<number>;
|
|
20
|
-
}
|
|
21
|
-
//#endregion
|
|
22
|
-
export { BuildCommand, BuildResult, formatBuildResult };
|
|
23
|
-
//# sourceMappingURL=buildCommand.d.cts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"buildCommand.d.cts","names":[],"sources":["../../src/commands/buildCommand.ts"],"mappings":";;;KAYK,WAAA,GAAc,IAAA,CAAK,MAAA,CAAO,cAAA;AAAA,UAEd,WAAA;EACf,MAAA;EACA,QAAA;EACA,cAAA;EACA,UAAA;EACA,UAAA;AAAA;AAAA,iBAGc,iBAAA,CAAkB,MAAA,EAAQ,WAAA;;cAc7B,YAAA;EAAA,SACF,IAAA;EAAA,iBACQ,SAAA;cAEL,SAAA,GAAY,gBAAA;EAIxB,OAAA,CAAQ,IAAA;EAIF,OAAA,CACJ,IAAA,YACA,WAAA,GAAa,MAAA,CAAO,UAAA,EACpB,gBAAA,WACA,MAAA,GAAQ,WAAA,GACP,OAAA;AAAA"}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { HarnessTelemetry } from "../logSinkTelemetry.mjs";
|
|
2
|
-
|
|
3
|
-
//#region src/commands/buildCommand.d.ts
|
|
4
|
-
type BuildOutput = Pick<NodeJS.WritableStream, 'write'>;
|
|
5
|
-
interface BuildResult {
|
|
6
|
-
bundle: string;
|
|
7
|
-
manifest: string;
|
|
8
|
-
extensionCount: number;
|
|
9
|
-
skillCount: number;
|
|
10
|
-
agentCount: number;
|
|
11
|
-
}
|
|
12
|
-
declare function formatBuildResult(result: BuildResult): string;
|
|
13
|
-
/** Builds the selected mode extension without launching Pi or changing settings. */
|
|
14
|
-
declare class BuildCommand {
|
|
15
|
-
readonly name = "build";
|
|
16
|
-
private readonly telemetry;
|
|
17
|
-
constructor(telemetry?: HarnessTelemetry);
|
|
18
|
-
matches(args: string[]): boolean;
|
|
19
|
-
execute(args: string[], environment?: NodeJS.ProcessEnv, currentDirectory?: string, output?: BuildOutput): Promise<number>;
|
|
20
|
-
}
|
|
21
|
-
//#endregion
|
|
22
|
-
export { BuildCommand, BuildResult, formatBuildResult };
|
|
23
|
-
//# sourceMappingURL=buildCommand.d.mts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"buildCommand.d.mts","names":[],"sources":["../../src/commands/buildCommand.ts"],"mappings":";;;KAYK,WAAA,GAAc,IAAA,CAAK,MAAA,CAAO,cAAA;AAAA,UAEd,WAAA;EACf,MAAA;EACA,QAAA;EACA,cAAA;EACA,UAAA;EACA,UAAA;AAAA;AAAA,iBAGc,iBAAA,CAAkB,MAAA,EAAQ,WAAA;;cAc7B,YAAA;EAAA,SACF,IAAA;EAAA,iBACQ,SAAA;cAEL,SAAA,GAAY,gBAAA;EAIxB,OAAA,CAAQ,IAAA;EAIF,OAAA,CACJ,IAAA,YACA,WAAA,GAAa,MAAA,CAAO,UAAA,EACpB,gBAAA,WACA,MAAA,GAAQ,WAAA,GACP,OAAA;AAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"harnessState.cjs","names":["HARNESS_EVENT"],"sources":["../../src/config/harnessState.ts"],"sourcesContent":["import {\n appendDoomConfigSelection,\n createHarnessSession,\n getHarnessState as getSharedHarnessState,\n HARNESS_STATE_KEYS,\n HARNESS_STATE_POINTER,\n harnessRoot,\n loadHarnessState,\n projectHarnessEnvironment,\n readHarnessState as readSharedHarnessState,\n requireHarnessPaths,\n requireHarnessRoot,\n resetHarnessStore,\n type HarnessState,\n updateHarnessState as updateSharedHarnessState,\n} from '@agimon-ai/doompi-config';\nimport type { ExtensionAPI } from '@earendil-works/pi-coding-agent';\nimport { HARNESS_EVENT, type HarnessFailureReporter } from '../logSinkTelemetry.ts';\n\nexport {\n createHarnessSession,\n HARNESS_STATE_KEYS,\n HARNESS_STATE_POINTER,\n harnessRoot,\n loadHarnessState,\n projectHarnessEnvironment,\n requireHarnessPaths,\n requireHarnessRoot,\n resetHarnessStore,\n};\nexport type { HarnessState } from '@agimon-ai/doompi-config';\nexport type { DoomHarnessContext } from '@agimon-ai/doompi-config';\n\nfunction telemetryReporter(report?: HarnessFailureReporter): ((key: string, error: unknown) => void) | undefined {\n if (!report) return undefined;\n return (key, error) => {\n report.warn(HARNESS_EVENT.harnessStateParseFailed, error, { 'harness.state.key': key });\n };\n}\n\nexport function readHarnessState(\n environment: NodeJS.ProcessEnv = process.env,\n report?: HarnessFailureReporter,\n): HarnessState {\n return readSharedHarnessState(environment, telemetryReporter(report));\n}\n\nexport function getHarnessState(report?: HarnessFailureReporter): HarnessState {\n return getSharedHarnessState(telemetryReporter(report));\n}\n\n/**\n * Re-reads the state, dropping what this process had cached.\n *\n * The store caches for the life of a process because nothing else writes the\n * file it owns. A test suite and a Pi reload are the two places that outlive\n * that assumption, so both come through here.\n */\nexport function refreshHarnessState(report?: HarnessFailureReporter): HarnessState {\n resetHarnessStore();\n return getHarnessState(report);\n}\n\nexport function updateHarnessState(\n patch: Partial<HarnessState>,\n environment: NodeJS.ProcessEnv = process.env,\n): HarnessState {\n return updateSharedHarnessState(patch, environment);\n}\n\nexport function persistHarnessSelection(\n pi: Pick<ExtensionAPI, 'appendEntry'>,\n state: {\n readonly majorMode: string;\n readonly domains: readonly string[];\n readonly profile?: string;\n } = getHarnessState(),\n): void {\n appendDoomConfigSelection(pi, {\n version: 1,\n majorMode: state.majorMode,\n domains: state.domains,\n profile: state.profile,\n });\n}\n"],"mappings":"qMAiCA,SAAS,EAAkB,EAAsF,CAC1G,KACL,OAAQ,EAAK,IAAU,CACrB,EAAO,KAAKA,EAAAA,cAAc,wBAAyB,EAAO,CAAE,oBAAqB,EAAK,CAAC,EAI3F,SAAgB,EACd,EAAiC,QAAQ,IACzC,EACc,CACd,OAAA,EAAA,EAAA,kBAA8B,EAAa,EAAkB,EAAO,CAAC,CAGvE,SAAgB,EAAgB,EAA+C,CAC7E,OAAA,EAAA,EAAA,iBAA6B,EAAkB,EAAO,CAAC,CAUzD,SAAgB,EAAoB,EAA+C,CAEjF,OADA,EAAA,EAAA,oBAAmB,CACZ,EAAgB,EAAO,CAGhC,SAAgB,EACd,EACA,EAAiC,QAAQ,IAC3B,CACd,OAAA,EAAA,EAAA,oBAAgC,EAAO,EAAY,CAGrD,SAAgB,EACd,EACA,EAII,GAAiB,CACf,EACN,EAAA,EAAA,2BAA0B,EAAI,CAC5B,QAAS,EACT,UAAW,EAAM,UACjB,QAAS,EAAM,QACf,QAAS,EAAM,QAChB,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"harnessState.d.cts","names":[],"sources":["../../src/config/harnessState.ts"],"mappings":";;;;;iBAwCgB,gBAAA,CACd,WAAA,GAAa,MAAA,CAAO,UAAA,EACpB,MAAA,GAAS,sBAAA,GACR,cAAA;AAAA,iBAIa,eAAA,CAAgB,MAAA,GAAS,sBAAA,GAAyB,cAAA;;;;;;;;iBAWlD,mBAAA,CAAoB,MAAA,GAAS,sBAAA,GAAyB,cAAA;AAAA,iBAKtD,kBAAA,CACd,KAAA,EAAO,OAAA,CAAQ,cAAA,GACf,WAAA,GAAa,MAAA,CAAO,UAAA,GACnB,cAAA;AAAA,iBAIa,uBAAA,CACd,EAAA,EAAI,IAAA,CAAK,YAAA,kBACT,KAAA;EAAA,SACW,SAAA;EAAA,SACA,OAAA;EAAA,SACA,OAAA;AAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"harnessState.d.mts","names":[],"sources":["../../src/config/harnessState.ts"],"mappings":";;;;;iBAwCgB,gBAAA,CACd,WAAA,GAAa,MAAA,CAAO,UAAA,EACpB,MAAA,GAAS,sBAAA,GACR,cAAA;AAAA,iBAIa,eAAA,CAAgB,MAAA,GAAS,sBAAA,GAAyB,cAAA;;;;;;;;iBAWlD,mBAAA,CAAoB,MAAA,GAAS,sBAAA,GAAyB,cAAA;AAAA,iBAKtD,kBAAA,CACd,KAAA,EAAO,OAAA,CAAQ,cAAA,GACf,WAAA,GAAa,MAAA,CAAO,UAAA,GACnB,cAAA;AAAA,iBAIa,uBAAA,CACd,EAAA,EAAI,IAAA,CAAK,YAAA,kBACT,KAAA;EAAA,SACW,SAAA;EAAA,SACA,OAAA;EAAA,SACA,OAAA;AAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"harnessState.mjs","names":["readSharedHarnessState","getSharedHarnessState","updateSharedHarnessState"],"sources":["../../src/config/harnessState.ts"],"sourcesContent":["import {\n appendDoomConfigSelection,\n createHarnessSession,\n getHarnessState as getSharedHarnessState,\n HARNESS_STATE_KEYS,\n HARNESS_STATE_POINTER,\n harnessRoot,\n loadHarnessState,\n projectHarnessEnvironment,\n readHarnessState as readSharedHarnessState,\n requireHarnessPaths,\n requireHarnessRoot,\n resetHarnessStore,\n type HarnessState,\n updateHarnessState as updateSharedHarnessState,\n} from '@agimon-ai/doompi-config';\nimport type { ExtensionAPI } from '@earendil-works/pi-coding-agent';\nimport { HARNESS_EVENT, type HarnessFailureReporter } from '../logSinkTelemetry.ts';\n\nexport {\n createHarnessSession,\n HARNESS_STATE_KEYS,\n HARNESS_STATE_POINTER,\n harnessRoot,\n loadHarnessState,\n projectHarnessEnvironment,\n requireHarnessPaths,\n requireHarnessRoot,\n resetHarnessStore,\n};\nexport type { HarnessState } from '@agimon-ai/doompi-config';\nexport type { DoomHarnessContext } from '@agimon-ai/doompi-config';\n\nfunction telemetryReporter(report?: HarnessFailureReporter): ((key: string, error: unknown) => void) | undefined {\n if (!report) return undefined;\n return (key, error) => {\n report.warn(HARNESS_EVENT.harnessStateParseFailed, error, { 'harness.state.key': key });\n };\n}\n\nexport function readHarnessState(\n environment: NodeJS.ProcessEnv = process.env,\n report?: HarnessFailureReporter,\n): HarnessState {\n return readSharedHarnessState(environment, telemetryReporter(report));\n}\n\nexport function getHarnessState(report?: HarnessFailureReporter): HarnessState {\n return getSharedHarnessState(telemetryReporter(report));\n}\n\n/**\n * Re-reads the state, dropping what this process had cached.\n *\n * The store caches for the life of a process because nothing else writes the\n * file it owns. A test suite and a Pi reload are the two places that outlive\n * that assumption, so both come through here.\n */\nexport function refreshHarnessState(report?: HarnessFailureReporter): HarnessState {\n resetHarnessStore();\n return getHarnessState(report);\n}\n\nexport function updateHarnessState(\n patch: Partial<HarnessState>,\n environment: NodeJS.ProcessEnv = process.env,\n): HarnessState {\n return updateSharedHarnessState(patch, environment);\n}\n\nexport function persistHarnessSelection(\n pi: Pick<ExtensionAPI, 'appendEntry'>,\n state: {\n readonly majorMode: string;\n readonly domains: readonly string[];\n readonly profile?: string;\n } = getHarnessState(),\n): void {\n appendDoomConfigSelection(pi, {\n version: 1,\n majorMode: state.majorMode,\n domains: state.domains,\n profile: state.profile,\n });\n}\n"],"mappings":"2ZAiCA,SAAS,EAAkB,EAAsF,CAC1G,KACL,OAAQ,EAAK,IAAU,CACrB,EAAO,KAAK,EAAc,wBAAyB,EAAO,CAAE,oBAAqB,EAAK,CAAC,EAI3F,SAAgB,EACd,EAAiC,QAAQ,IACzC,EACc,CACd,OAAOA,EAAuB,EAAa,EAAkB,EAAO,CAAC,CAGvE,SAAgB,EAAgB,EAA+C,CAC7E,OAAOC,EAAsB,EAAkB,EAAO,CAAC,CAUzD,SAAgB,EAAoB,EAA+C,CAEjF,OADA,GAAmB,CACZ,EAAgB,EAAO,CAGhC,SAAgB,EACd,EACA,EAAiC,QAAQ,IAC3B,CACd,OAAOC,EAAyB,EAAO,EAAY,CAGrD,SAAgB,EACd,EACA,EAII,GAAiB,CACf,CACN,EAA0B,EAAI,CAC5B,QAAS,EACT,UAAW,EAAM,UACjB,QAAS,EAAM,QACf,QAAS,EAAM,QAChB,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"projectTrust.cjs","names":[],"sources":["../../src/config/projectTrust.ts"],"sourcesContent":["import {\n loadDoomConfig as loadSharedDoomConfig,\n type DoomSelectionConfig,\n type ProjectTrust,\n} from '@agimon-ai/doompi-config';\n\nconst APPROVE_OPTION = '--approve';\nconst APPROVE_SHORT_OPTION = '-a';\nconst NO_APPROVE_OPTION = '--no-approve';\nconst NO_APPROVE_SHORT_OPTION = '-na';\nconst PROJECT_TRUST_ALWAYS: ProjectTrust = 'always';\nconst PROJECT_TRUST_NEVER: ProjectTrust = 'never';\nexport type { ProjectTrust };\n\nexport interface DoomConfig {\n projectTrust: ProjectTrust;\n /** The matrix the repository declares by default, read by `doom-pi sync`. */\n selection?: DoomSelectionConfig;\n}\n\nexport function loadDoomConfig(repoRoot: string): DoomConfig {\n const config = loadSharedDoomConfig(repoRoot);\n return { projectTrust: config.projectTrust, selection: config.selection };\n}\n\nexport function hasProjectTrustOption(piArgs: string[]): boolean {\n return piArgs.some((argument) =>\n [APPROVE_OPTION, APPROVE_SHORT_OPTION, NO_APPROVE_OPTION, NO_APPROVE_SHORT_OPTION].includes(argument),\n );\n}\n\nexport function applyProjectTrust(piArgs: string[], config: DoomConfig): string[] {\n if (hasProjectTrustOption(piArgs)) {\n return [...piArgs];\n }\n if (config.projectTrust === PROJECT_TRUST_ALWAYS) return [APPROVE_OPTION, ...piArgs];\n if (config.projectTrust === PROJECT_TRUST_NEVER) return [NO_APPROVE_OPTION, ...piArgs];\n return [...piArgs];\n}\n"],"mappings":"0JAMA,MAAM,EAAiB,YAEjB,EAAoB,eAY1B,SAAgB,EAAe,EAA8B,CAC3D,IAAM,GAAA,EAAA,EAAA,gBAA8B,EAAS,CAC7C,MAAO,CAAE,aAAc,EAAO,aAAc,UAAW,EAAO,UAAW,CAG3E,SAAgB,EAAsB,EAA2B,CAC/D,OAAO,EAAO,KAAM,GAClB,CAAC,EAAgB,KAAsB,EAAmB,MAAwB,CAAC,SAAS,EAAS,CACtG,CAGH,SAAgB,EAAkB,EAAkB,EAA8B,CAMhF,OALI,EAAsB,EAAO,CACxB,CAAC,GAAG,EAAO,CAEhB,EAAO,eAAiB,SAA6B,CAAC,EAAgB,GAAG,EAAO,CAChF,EAAO,eAAiB,QAA4B,CAAC,EAAmB,GAAG,EAAO,CAC/E,CAAC,GAAG,EAAO"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"projectTrust.d.cts","names":[],"sources":["../../src/config/projectTrust.ts"],"mappings":";;;UAciB,UAAA;EACf,YAAA,EAAc,YAAA;EADW;EAGzB,SAAA,GAAY,mBAAA;AAAA;AAAA,iBAGE,cAAA,CAAe,QAAA,WAAmB,UAAA;AAAA,iBAKlC,qBAAA,CAAsB,MAAA;AAAA,iBAMtB,iBAAA,CAAkB,MAAA,YAAkB,MAAA,EAAQ,UAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"projectTrust.d.mts","names":[],"sources":["../../src/config/projectTrust.ts"],"mappings":";;;UAciB,UAAA;EACf,YAAA,EAAc,YAAA;EADW;EAGzB,SAAA,GAAY,mBAAA;AAAA;AAAA,iBAGE,cAAA,CAAe,QAAA,WAAmB,UAAA;AAAA,iBAKlC,qBAAA,CAAsB,MAAA;AAAA,iBAMtB,iBAAA,CAAkB,MAAA,YAAkB,MAAA,EAAQ,UAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"projectTrust.mjs","names":["loadSharedDoomConfig"],"sources":["../../src/config/projectTrust.ts"],"sourcesContent":["import {\n loadDoomConfig as loadSharedDoomConfig,\n type DoomSelectionConfig,\n type ProjectTrust,\n} from '@agimon-ai/doompi-config';\n\nconst APPROVE_OPTION = '--approve';\nconst APPROVE_SHORT_OPTION = '-a';\nconst NO_APPROVE_OPTION = '--no-approve';\nconst NO_APPROVE_SHORT_OPTION = '-na';\nconst PROJECT_TRUST_ALWAYS: ProjectTrust = 'always';\nconst PROJECT_TRUST_NEVER: ProjectTrust = 'never';\nexport type { ProjectTrust };\n\nexport interface DoomConfig {\n projectTrust: ProjectTrust;\n /** The matrix the repository declares by default, read by `doom-pi sync`. */\n selection?: DoomSelectionConfig;\n}\n\nexport function loadDoomConfig(repoRoot: string): DoomConfig {\n const config = loadSharedDoomConfig(repoRoot);\n return { projectTrust: config.projectTrust, selection: config.selection };\n}\n\nexport function hasProjectTrustOption(piArgs: string[]): boolean {\n return piArgs.some((argument) =>\n [APPROVE_OPTION, APPROVE_SHORT_OPTION, NO_APPROVE_OPTION, NO_APPROVE_SHORT_OPTION].includes(argument),\n );\n}\n\nexport function applyProjectTrust(piArgs: string[], config: DoomConfig): string[] {\n if (hasProjectTrustOption(piArgs)) {\n return [...piArgs];\n }\n if (config.projectTrust === PROJECT_TRUST_ALWAYS) return [APPROVE_OPTION, ...piArgs];\n if (config.projectTrust === PROJECT_TRUST_NEVER) return [NO_APPROVE_OPTION, ...piArgs];\n return [...piArgs];\n}\n"],"mappings":"0DAMA,MAAM,EAAiB,YAEjB,EAAoB,eAY1B,SAAgB,EAAe,EAA8B,CAC3D,IAAM,EAASA,EAAqB,EAAS,CAC7C,MAAO,CAAE,aAAc,EAAO,aAAc,UAAW,EAAO,UAAW,CAG3E,SAAgB,EAAsB,EAA2B,CAC/D,OAAO,EAAO,KAAM,GAClB,CAAC,EAAgB,KAAsB,EAAmB,MAAwB,CAAC,SAAS,EAAS,CACtG,CAGH,SAAgB,EAAkB,EAAkB,EAA8B,CAMhF,OALI,EAAsB,EAAO,CACxB,CAAC,GAAG,EAAO,CAEhB,EAAO,eAAiB,SAA6B,CAAC,EAAgB,GAAG,EAAO,CAChF,EAAO,eAAiB,QAA4B,CAAC,EAAmB,GAAG,EAAO,CAC/E,CAAC,GAAG,EAAO"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
const e=`doompi-add-dir-reload`,t=`Reload skills added by add_directory (Doom Pi compatibility bridge)`,n=`add_directory`,r=`/reload`;function i(e){if(e.toolName!==n||e.isError||!e.details||typeof e.details!=`object`||Array.isArray(e.details))return!1;let t=e.details.skillCount;return typeof t==`number`&&t>0}function a(e){let n=e.getCommands().find(e=>e.source===`extension`&&e.description===t);return n?`/${n.name}`:r}function o(t){let n=t.getCommands().map(e=>e.name),r=e=>n.some(t=>t===e||t.startsWith(`${e}:`));if(!r(e))return e;let i=2;for(;r(`${e}-${i}`);)i+=1;return`${e}-${i}`}function s(e){return e===r?`After this turn, submit ${e} to register the discovered skills as /skill:name commands.`:`Submit ${e} to register the discovered skills as /skill:name commands; it waits for the current turn to finish.`}function c(e,t){let n=e.map(e=>e.type===`text`?{...e,text:e.text.replaceAll(`Triggering reload to register skills as /skill:name commands...`,``).trimEnd()}:e);for(let e=n.length-1;e>=0;--e){let r=n[e];if(!(!r||r.type!==`text`))return n[e]={...r,text:`${r.text}\n\n${t}`},n}return[...n,{type:`text`,text:t}]}function l(e){let l=new Set,u=!1,d,f=!1,p=()=>{if(u)return;let n=o(e);e.registerCommand(n,{description:t,handler:async(e,t)=>{await t.waitForIdle(),d&&clearTimeout(d),await t.reload()}}),u=!0},m=()=>{d&&clearTimeout(d),d=setTimeout(()=>{d=void 0},1e3),d.unref()};e.on(`tool_call`,e=>{e.toolName===n&&(p(),l.add(e.toolCallId))}),e.on(`tool_result`,t=>{if(t.toolName!==n||(l.delete(t.toolCallId),!i(t)))return;m();let r=a(e);return{content:c(t.content,s(r))}}),e.on(`input`,(t,n)=>{let i=l.size>0||d!==void 0;if(!(t.source!==`extension`||t.text!==r||!i)){if(!f&&n.hasUI){let t=a(e);n.ui.getEditorText().trim()||n.ui.setEditorText(t),n.ui.notify(`pi-add-dir added skills. Submit ${t} to reload when the current turn is idle.`,`info`),f=!0}return{action:`handled`}}})}module.exports=l;
|
|
2
|
-
//# sourceMappingURL=addDirCompatibility.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"addDirCompatibility.cjs","names":[],"sources":["../../src/entries/addDirCompatibility.ts"],"sourcesContent":["import type { ExtensionAPI, ToolResultEvent } from '@earendil-works/pi-coding-agent';\n\nconst ADD_DIR_RELOAD_COMMAND = 'doompi-add-dir-reload';\nconst ADD_DIR_RELOAD_DESCRIPTION = 'Reload skills added by add_directory (Doom Pi compatibility bridge)';\n\nconst ADD_DIRECTORY_TOOL = 'add_directory';\nconst BUILTIN_RELOAD_COMMAND = '/reload';\nconst PI_ADD_DIR_RELOAD_NOTICE = 'Triggering reload to register skills as /skill:name commands...';\nconst RELOAD_INPUT_WINDOW_MS = 1_000;\n\nfunction addedSkills(event: ToolResultEvent): boolean {\n if (event.toolName !== ADD_DIRECTORY_TOOL || event.isError) return false;\n if (!event.details || typeof event.details !== 'object' || Array.isArray(event.details)) return false;\n const skillCount = (event.details as Record<string, unknown>).skillCount;\n return typeof skillCount === 'number' && skillCount > 0;\n}\n\nfunction reloadInvocation(pi: ExtensionAPI): string {\n const command = pi\n .getCommands()\n .find((candidate) => candidate.source === 'extension' && candidate.description === ADD_DIR_RELOAD_DESCRIPTION);\n return command ? `/${command.name}` : BUILTIN_RELOAD_COMMAND;\n}\n\nfunction availableReloadCommand(pi: ExtensionAPI): string {\n const names = pi.getCommands().map((command) => command.name);\n const isTaken = (name: string): boolean =>\n names.some((candidate) => candidate === name || candidate.startsWith(`${name}:`));\n if (!isTaken(ADD_DIR_RELOAD_COMMAND)) return ADD_DIR_RELOAD_COMMAND;\n\n let suffix = 2;\n while (isTaken(`${ADD_DIR_RELOAD_COMMAND}-${suffix}`)) suffix += 1;\n return `${ADD_DIR_RELOAD_COMMAND}-${suffix}`;\n}\n\nfunction reloadInstruction(invocation: string): string {\n if (invocation === BUILTIN_RELOAD_COMMAND) {\n return `After this turn, submit ${invocation} to register the discovered skills as /skill:name commands.`;\n }\n return `Submit ${invocation} to register the discovered skills as /skill:name commands; it waits for the current turn to finish.`;\n}\n\nfunction rewriteResultContent(content: ToolResultEvent['content'], instruction: string): ToolResultEvent['content'] {\n const rewritten = content.map((part) =>\n part.type === 'text' ? { ...part, text: part.text.replaceAll(PI_ADD_DIR_RELOAD_NOTICE, '').trimEnd() } : part,\n );\n\n for (let index = rewritten.length - 1; index >= 0; index -= 1) {\n const part = rewritten[index];\n if (!part || part.type !== 'text') continue;\n rewritten[index] = { ...part, text: `${part.text}\\n\\n${instruction}` };\n return rewritten;\n }\n\n return [...rewritten, { type: 'text', text: instruction }];\n}\n\n/**\n * Compatibility boundary for pi-add-dir@1.3.1.\n *\n * Its tool queues the built-in `/reload` through sendUserMessage(), but Pi treats\n * extension-origin input as model input. Keep that message out of the model and\n * offer an extension command, whose command context can reload safely instead.\n */\nexport default function addDirCompatibility(pi: ExtensionAPI): void {\n const activeCalls = new Set<string>();\n let commandRegistered = false;\n let reloadGuardExpiration: ReturnType<typeof setTimeout> | undefined;\n let reloadPromptShown = false;\n\n const ensureReloadCommand = (): void => {\n if (commandRegistered) return;\n const commandName = availableReloadCommand(pi);\n pi.registerCommand(commandName, {\n description: ADD_DIR_RELOAD_DESCRIPTION,\n handler: async (_args, ctx) => {\n await ctx.waitForIdle();\n if (reloadGuardExpiration) clearTimeout(reloadGuardExpiration);\n await ctx.reload();\n return;\n },\n });\n commandRegistered = true;\n };\n\n const armReloadGuard = (): void => {\n if (reloadGuardExpiration) clearTimeout(reloadGuardExpiration);\n reloadGuardExpiration = setTimeout(() => {\n reloadGuardExpiration = undefined;\n }, RELOAD_INPUT_WINDOW_MS);\n reloadGuardExpiration.unref();\n };\n\n pi.on('tool_call', (event) => {\n if (event.toolName !== ADD_DIRECTORY_TOOL) return;\n ensureReloadCommand();\n activeCalls.add(event.toolCallId);\n });\n\n pi.on('tool_result', (event) => {\n if (event.toolName !== ADD_DIRECTORY_TOOL) return;\n activeCalls.delete(event.toolCallId);\n if (!addedSkills(event)) return;\n\n armReloadGuard();\n const invocation = reloadInvocation(pi);\n return {\n content: rewriteResultContent(event.content, reloadInstruction(invocation)),\n };\n });\n\n pi.on('input', (event, ctx) => {\n // Pi exposes only the broad \"extension\" source, not the sending factory.\n // Keep this non-consuming guard narrow in command and time so concurrent\n // pi-add-dir timers cannot exhaust it and leak a later `/reload`.\n const reloadGuarded = activeCalls.size > 0 || reloadGuardExpiration !== undefined;\n if (event.source !== 'extension' || event.text !== BUILTIN_RELOAD_COMMAND || !reloadGuarded) return;\n\n if (!reloadPromptShown && ctx.hasUI) {\n const invocation = reloadInvocation(pi);\n if (!ctx.ui.getEditorText().trim()) ctx.ui.setEditorText(invocation);\n ctx.ui.notify(`pi-add-dir added skills. Submit ${invocation} to reload when the current turn is idle.`, 'info');\n reloadPromptShown = true;\n }\n\n return { action: 'handled' };\n });\n}\n"],"mappings":"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"}
|