@agimon-ai/doompi 0.0.1-alpha.2 → 0.0.1-alpha.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +437 -452
- package/assets/doompi-tui.png +0 -0
- package/dist/adapters/bootstrapClaim.cjs +2 -0
- package/dist/adapters/bootstrapClaim.cjs.map +1 -0
- package/dist/adapters/bootstrapClaim.mjs +2 -0
- package/dist/adapters/bootstrapClaim.mjs.map +1 -0
- package/dist/adapters/bootstrapLocator.cjs +2 -0
- package/dist/adapters/bootstrapLocator.cjs.map +1 -0
- package/dist/adapters/bootstrapLocator.d.cts +6 -0
- package/dist/adapters/bootstrapLocator.d.cts.map +1 -0
- package/dist/adapters/bootstrapLocator.d.mts +6 -0
- package/dist/adapters/bootstrapLocator.d.mts.map +1 -0
- package/dist/adapters/bootstrapLocator.mjs +2 -0
- package/dist/adapters/bootstrapLocator.mjs.map +1 -0
- package/dist/adapters/compatibility/antigravity.cjs +2 -0
- package/dist/{services → adapters}/compatibility/antigravity.cjs.map +1 -1
- package/dist/adapters/compatibility/antigravity.d.cts +11 -0
- package/dist/{services → adapters}/compatibility/antigravity.d.cts.map +1 -1
- package/dist/adapters/compatibility/antigravity.d.mts +11 -0
- package/dist/{services → adapters}/compatibility/antigravity.d.mts.map +1 -1
- package/dist/adapters/compatibility/antigravity.mjs +2 -0
- package/dist/{services → adapters}/compatibility/antigravity.mjs.map +1 -1
- package/dist/adapters/compatibility/codex.cjs +2 -0
- package/dist/{services → adapters}/compatibility/codex.cjs.map +1 -1
- package/dist/adapters/compatibility/codex.d.cts +19 -0
- package/dist/{services → adapters}/compatibility/codex.d.cts.map +1 -1
- package/dist/adapters/compatibility/codex.d.mts +19 -0
- package/dist/{services → adapters}/compatibility/codex.d.mts.map +1 -1
- package/dist/adapters/compatibility/codex.mjs +2 -0
- package/dist/{services → adapters}/compatibility/codex.mjs.map +1 -1
- package/dist/adapters/compatibility/index.cjs +2 -0
- package/dist/adapters/compatibility/index.cjs.map +1 -0
- package/dist/adapters/compatibility/index.d.cts +16 -0
- package/dist/{services → adapters}/compatibility/index.d.cts.map +1 -1
- package/dist/adapters/compatibility/index.d.mts +16 -0
- package/dist/{services → adapters}/compatibility/index.d.mts.map +1 -1
- package/dist/adapters/compatibility/index.mjs +2 -0
- package/dist/adapters/compatibility/index.mjs.map +1 -0
- package/dist/adapters/compatibility/process.cjs +2 -0
- package/dist/{services → adapters}/compatibility/process.cjs.map +1 -1
- package/dist/adapters/compatibility/process.d.cts +35 -0
- package/dist/{services → adapters}/compatibility/process.d.cts.map +1 -1
- package/dist/adapters/compatibility/process.d.mts +35 -0
- package/dist/{services → adapters}/compatibility/process.d.mts.map +1 -1
- package/dist/adapters/compatibility/process.mjs +2 -0
- package/dist/{services → adapters}/compatibility/process.mjs.map +1 -1
- package/dist/adapters/compatibility/shared.cjs +2 -0
- package/dist/{services → adapters}/compatibility/shared.cjs.map +1 -1
- package/dist/adapters/compatibility/shared.d.cts +33 -0
- package/dist/{services → adapters}/compatibility/shared.d.cts.map +1 -1
- package/dist/adapters/compatibility/shared.d.mts +33 -0
- package/dist/{services → adapters}/compatibility/shared.d.mts.map +1 -1
- package/dist/adapters/compatibility/shared.mjs +2 -0
- package/dist/{services → adapters}/compatibility/shared.mjs.map +1 -1
- package/dist/adapters/compatibilityContext.cjs +2 -0
- package/dist/adapters/compatibilityContext.cjs.map +1 -0
- package/dist/adapters/compatibilityContext.d.cts +23 -0
- package/dist/{services → adapters}/compatibilityContext.d.cts.map +1 -1
- package/dist/adapters/compatibilityContext.d.mts +23 -0
- package/dist/{services → adapters}/compatibilityContext.d.mts.map +1 -1
- package/dist/adapters/compatibilityContext.mjs +2 -0
- package/dist/adapters/compatibilityContext.mjs.map +1 -0
- package/dist/adapters/composer.cjs +2 -0
- package/dist/adapters/composer.cjs.map +1 -0
- package/dist/adapters/composer.d.cts +113 -0
- package/dist/adapters/composer.d.cts.map +1 -0
- package/dist/adapters/composer.d.mts +113 -0
- package/dist/adapters/composer.d.mts.map +1 -0
- package/dist/adapters/composer.mjs +2 -0
- package/dist/adapters/composer.mjs.map +1 -0
- package/dist/adapters/compositionState.cjs +2 -0
- package/dist/adapters/compositionState.cjs.map +1 -0
- package/dist/adapters/compositionState.d.cts +12 -0
- package/dist/adapters/compositionState.d.cts.map +1 -0
- package/dist/adapters/compositionState.d.mts +12 -0
- package/dist/adapters/compositionState.d.mts.map +1 -0
- package/dist/adapters/compositionState.mjs +2 -0
- package/dist/adapters/compositionState.mjs.map +1 -0
- package/dist/adapters/config/harnessState.cjs +2 -0
- package/dist/adapters/config/harnessState.cjs.map +1 -0
- package/dist/adapters/config/harnessState.d.cts +26 -0
- package/dist/adapters/config/harnessState.d.cts.map +1 -0
- package/dist/adapters/config/harnessState.d.mts +26 -0
- package/dist/adapters/config/harnessState.d.mts.map +1 -0
- package/dist/adapters/config/harnessState.mjs +2 -0
- package/dist/adapters/config/harnessState.mjs.map +1 -0
- package/dist/adapters/deferredSkills.cjs +12 -0
- package/dist/adapters/deferredSkills.cjs.map +1 -0
- package/dist/adapters/deferredSkills.mjs +12 -0
- package/dist/adapters/deferredSkills.mjs.map +1 -0
- package/dist/adapters/doomPackage.cjs +2 -0
- package/dist/adapters/doomPackage.cjs.map +1 -0
- package/dist/adapters/doomPackage.mjs +2 -0
- package/dist/adapters/doomPackage.mjs.map +1 -0
- package/dist/adapters/dpiRunner.cjs +3 -0
- package/dist/adapters/dpiRunner.cjs.map +1 -0
- package/dist/adapters/dpiRunner.mjs +3 -0
- package/dist/adapters/dpiRunner.mjs.map +1 -0
- package/dist/adapters/dpiSettings.cjs +2 -0
- package/dist/adapters/dpiSettings.cjs.map +1 -0
- package/dist/adapters/dpiSettings.mjs +2 -0
- package/dist/adapters/dpiSettings.mjs.map +1 -0
- package/dist/adapters/extensionCompiler.cjs +3 -0
- package/dist/adapters/extensionCompiler.cjs.map +1 -0
- package/dist/adapters/extensionCompiler.mjs +3 -0
- package/dist/adapters/extensionCompiler.mjs.map +1 -0
- package/dist/adapters/harnessContext.cjs +2 -0
- package/dist/adapters/harnessContext.cjs.map +1 -0
- package/dist/adapters/harnessContext.d.cts +61 -0
- package/dist/{services → adapters}/harnessContext.d.cts.map +1 -1
- package/dist/adapters/harnessContext.d.mts +61 -0
- package/dist/{services → adapters}/harnessContext.d.mts.map +1 -1
- package/dist/adapters/harnessContext.mjs +2 -0
- package/dist/adapters/harnessContext.mjs.map +1 -0
- package/dist/adapters/helpSkills.cjs +2 -0
- package/dist/adapters/helpSkills.cjs.map +1 -0
- package/dist/adapters/helpSkills.mjs +2 -0
- package/dist/adapters/helpSkills.mjs.map +1 -0
- package/dist/adapters/layerPackageInstaller.cjs +2 -0
- package/dist/adapters/layerPackageInstaller.cjs.map +1 -0
- package/dist/adapters/layerPackageInstaller.mjs +2 -0
- package/dist/adapters/layerPackageInstaller.mjs.map +1 -0
- package/dist/adapters/matrixSwitcher.cjs +2 -0
- package/dist/adapters/matrixSwitcher.cjs.map +1 -0
- package/dist/adapters/matrixSwitcher.d.cts +46 -0
- package/dist/{services → adapters}/matrixSwitcher.d.cts.map +1 -1
- package/dist/adapters/matrixSwitcher.d.mts +46 -0
- package/dist/{services → adapters}/matrixSwitcher.d.mts.map +1 -1
- package/dist/adapters/matrixSwitcher.mjs +2 -0
- package/dist/adapters/matrixSwitcher.mjs.map +1 -0
- package/dist/adapters/mcpFilter.cjs +3 -0
- package/dist/adapters/mcpFilter.cjs.map +1 -0
- package/dist/adapters/mcpFilter.d.cts +40 -0
- package/dist/adapters/mcpFilter.d.cts.map +1 -0
- package/dist/adapters/mcpFilter.d.mts +40 -0
- package/dist/adapters/mcpFilter.d.mts.map +1 -0
- package/dist/adapters/mcpFilter.mjs +3 -0
- package/dist/adapters/mcpFilter.mjs.map +1 -0
- package/dist/adapters/modules/moduleResolution.cjs +2 -0
- package/dist/adapters/modules/moduleResolution.cjs.map +1 -0
- package/dist/adapters/modules/moduleResolution.d.cts +69 -0
- package/dist/adapters/modules/moduleResolution.d.cts.map +1 -0
- package/dist/adapters/modules/moduleResolution.d.mts +69 -0
- package/dist/adapters/modules/moduleResolution.d.mts.map +1 -0
- package/dist/adapters/modules/moduleResolution.mjs +2 -0
- package/dist/adapters/modules/moduleResolution.mjs.map +1 -0
- package/dist/adapters/packageBootstrap.cjs +2 -0
- package/dist/adapters/packageBootstrap.cjs.map +1 -0
- package/dist/adapters/packageBootstrap.d.cts +8 -0
- package/dist/adapters/packageBootstrap.d.cts.map +1 -0
- package/dist/adapters/packageBootstrap.d.mts +8 -0
- package/dist/adapters/packageBootstrap.d.mts.map +1 -0
- package/dist/adapters/packageBootstrap.mjs +2 -0
- package/dist/adapters/packageBootstrap.mjs.map +1 -0
- package/dist/adapters/piExtensionAlias.cjs +2 -0
- package/dist/adapters/piExtensionAlias.cjs.map +1 -0
- package/dist/adapters/piExtensionAlias.mjs +2 -0
- package/dist/adapters/piExtensionAlias.mjs.map +1 -0
- package/dist/adapters/piSettings.cjs +2 -0
- package/dist/adapters/piSettings.cjs.map +1 -0
- package/dist/adapters/piSettings.d.cts +25 -0
- package/dist/adapters/piSettings.d.cts.map +1 -0
- package/dist/adapters/piSettings.d.mts +25 -0
- package/dist/adapters/piSettings.d.mts.map +1 -0
- package/dist/adapters/piSettings.mjs +2 -0
- package/dist/adapters/piSettings.mjs.map +1 -0
- package/dist/adapters/pluginMaterializer.cjs +2 -0
- package/dist/adapters/pluginMaterializer.cjs.map +1 -0
- package/dist/adapters/pluginMaterializer.mjs +2 -0
- package/dist/adapters/pluginMaterializer.mjs.map +1 -0
- package/dist/adapters/projectPiSettings.cjs +2 -0
- package/dist/adapters/projectPiSettings.cjs.map +1 -0
- package/dist/adapters/projectPiSettings.d.cts +29 -0
- package/dist/adapters/projectPiSettings.d.cts.map +1 -0
- package/dist/adapters/projectPiSettings.d.mts +29 -0
- package/dist/adapters/projectPiSettings.d.mts.map +1 -0
- package/dist/adapters/projectPiSettings.mjs +2 -0
- package/dist/adapters/projectPiSettings.mjs.map +1 -0
- package/dist/adapters/repository/repository.cjs +2 -0
- package/dist/adapters/repository/repository.cjs.map +1 -0
- package/dist/adapters/repository/repository.d.cts +21 -0
- package/dist/adapters/repository/repository.d.cts.map +1 -0
- package/dist/adapters/repository/repository.d.mts +21 -0
- package/dist/adapters/repository/repository.d.mts.map +1 -0
- package/dist/adapters/repository/repository.mjs +2 -0
- package/dist/adapters/repository/repository.mjs.map +1 -0
- package/dist/adapters/resourceCollector.cjs +3 -0
- package/dist/adapters/resourceCollector.cjs.map +1 -0
- package/dist/adapters/resourceCollector.d.cts +25 -0
- package/dist/adapters/resourceCollector.d.cts.map +1 -0
- package/dist/adapters/resourceCollector.d.mts +25 -0
- package/dist/adapters/resourceCollector.d.mts.map +1 -0
- package/dist/adapters/resourceCollector.mjs +3 -0
- package/dist/adapters/resourceCollector.mjs.map +1 -0
- package/dist/adapters/runtimeBundle.cjs +2 -0
- package/dist/adapters/runtimeBundle.cjs.map +1 -0
- package/dist/{services → adapters}/runtimeBundle.d.cts +4 -2
- package/dist/adapters/runtimeBundle.d.cts.map +1 -0
- package/dist/{services → adapters}/runtimeBundle.d.mts +4 -2
- package/dist/adapters/runtimeBundle.d.mts.map +1 -0
- package/dist/adapters/runtimeBundle.mjs +2 -0
- package/dist/adapters/runtimeBundle.mjs.map +1 -0
- package/dist/adapters/serialization/json.cjs +2 -0
- package/dist/adapters/serialization/json.cjs.map +1 -0
- package/dist/adapters/serialization/json.d.cts +23 -0
- package/dist/adapters/serialization/json.d.cts.map +1 -0
- package/dist/adapters/serialization/json.d.mts +23 -0
- package/dist/adapters/serialization/json.d.mts.map +1 -0
- package/dist/adapters/serialization/json.mjs +2 -0
- package/dist/adapters/serialization/json.mjs.map +1 -0
- package/dist/adapters/sharedBuildCache.cjs +2 -0
- package/dist/adapters/sharedBuildCache.cjs.map +1 -0
- package/dist/adapters/sharedBuildCache.mjs +2 -0
- package/dist/adapters/sharedBuildCache.mjs.map +1 -0
- package/dist/adapters/skillCatalog.cjs +2 -0
- package/dist/adapters/skillCatalog.cjs.map +1 -0
- package/dist/adapters/skillCatalog.d.cts +61 -0
- package/dist/adapters/skillCatalog.d.cts.map +1 -0
- package/dist/adapters/skillCatalog.d.mts +61 -0
- package/dist/adapters/skillCatalog.d.mts.map +1 -0
- package/dist/adapters/skillCatalog.mjs +2 -0
- package/dist/adapters/skillCatalog.mjs.map +1 -0
- package/dist/adapters/skillSources.cjs +2 -0
- package/dist/{services → adapters}/skillSources.cjs.map +1 -1
- package/dist/adapters/skillSources.d.cts +24 -0
- package/dist/{services → adapters}/skillSources.d.cts.map +1 -1
- package/dist/adapters/skillSources.d.mts +24 -0
- package/dist/{services → adapters}/skillSources.d.mts.map +1 -1
- package/dist/adapters/skillSources.mjs +2 -0
- package/dist/{services → adapters}/skillSources.mjs.map +1 -1
- package/dist/adapters/startupPrecompiler.cjs +2 -0
- package/dist/adapters/startupPrecompiler.cjs.map +1 -0
- package/dist/adapters/startupPrecompiler.d.cts +13 -0
- package/dist/adapters/startupPrecompiler.d.cts.map +1 -0
- package/dist/adapters/startupPrecompiler.d.mts +13 -0
- package/dist/adapters/startupPrecompiler.d.mts.map +1 -0
- package/dist/adapters/startupPrecompiler.mjs +2 -0
- package/dist/adapters/startupPrecompiler.mjs.map +1 -0
- package/dist/adapters/syncLocation.cjs +2 -0
- package/dist/adapters/syncLocation.cjs.map +1 -0
- package/dist/adapters/syncLocation.d.cts +19 -0
- package/dist/adapters/syncLocation.d.cts.map +1 -0
- package/dist/adapters/syncLocation.d.mts +19 -0
- package/dist/adapters/syncLocation.d.mts.map +1 -0
- package/dist/adapters/syncLocation.mjs +2 -0
- package/dist/adapters/syncLocation.mjs.map +1 -0
- package/dist/adapters/syncState.cjs +2 -0
- package/dist/adapters/syncState.cjs.map +1 -0
- package/dist/adapters/syncState.d.cts +153 -0
- package/dist/adapters/syncState.d.cts.map +1 -0
- package/dist/adapters/syncState.d.mts +153 -0
- package/dist/adapters/syncState.d.mts.map +1 -0
- package/dist/adapters/syncState.mjs +2 -0
- package/dist/adapters/syncState.mjs.map +1 -0
- package/dist/adapters/syncStateContract.cjs +2 -0
- package/dist/adapters/syncStateContract.cjs.map +1 -0
- package/dist/adapters/syncStateContract.d.cts +13 -0
- package/dist/adapters/syncStateContract.d.cts.map +1 -0
- package/dist/adapters/syncStateContract.d.mts +13 -0
- package/dist/adapters/syncStateContract.d.mts.map +1 -0
- package/dist/adapters/syncStateContract.mjs +2 -0
- package/dist/adapters/syncStateContract.mjs.map +1 -0
- package/dist/adapters/syncedRuntimeBuilder.cjs +2 -0
- package/dist/adapters/syncedRuntimeBuilder.cjs.map +1 -0
- package/dist/adapters/syncedRuntimeBuilder.d.cts +11 -0
- package/dist/adapters/syncedRuntimeBuilder.d.cts.map +1 -0
- package/dist/adapters/syncedRuntimeBuilder.d.mts +11 -0
- package/dist/adapters/syncedRuntimeBuilder.d.mts.map +1 -0
- package/dist/adapters/syncedRuntimeBuilder.mjs +2 -0
- package/dist/adapters/syncedRuntimeBuilder.mjs.map +1 -0
- package/dist/adapters/telemetry/logSinkTelemetry.cjs +2 -0
- package/dist/adapters/telemetry/logSinkTelemetry.cjs.map +1 -0
- package/dist/adapters/telemetry/logSinkTelemetry.d.cts +51 -0
- package/dist/adapters/telemetry/logSinkTelemetry.d.cts.map +1 -0
- package/dist/adapters/telemetry/logSinkTelemetry.d.mts +51 -0
- package/dist/adapters/telemetry/logSinkTelemetry.d.mts.map +1 -0
- package/dist/adapters/telemetry/logSinkTelemetry.mjs +2 -0
- package/dist/adapters/telemetry/logSinkTelemetry.mjs.map +1 -0
- package/dist/bin/cli.cjs +1 -1
- package/dist/bin/cli.cjs.map +1 -1
- package/dist/bin/cli.mjs +1 -1
- package/dist/bin/cli.mjs.map +1 -1
- package/dist/bin/dpi.cjs +3 -0
- package/dist/bin/dpi.cjs.map +1 -0
- package/dist/bin/dpi.d.cts +1 -0
- package/dist/bin/dpi.d.mts +1 -0
- package/dist/bin/dpi.mjs +3 -0
- package/dist/bin/dpi.mjs.map +1 -0
- package/dist/cli/cliApp.cjs +1 -2
- package/dist/cli/cliApp.d.cts +2 -45
- package/dist/cli/cliApp.d.mts +2 -45
- package/dist/cli/cliApp.mjs +1 -2
- package/dist/cli/compatibilityOptions.cjs +1 -2
- package/dist/cli/compatibilityOptions.d.cts +2 -15
- package/dist/cli/compatibilityOptions.d.mts +2 -15
- package/dist/cli/compatibilityOptions.mjs +1 -2
- package/dist/cli/help.cjs +1 -63
- package/dist/cli/help.d.cts +2 -6
- package/dist/cli/help.d.mts +2 -6
- package/dist/cli/help.mjs +1 -63
- package/dist/cli/index.cjs +1 -1
- package/dist/cli/index.d.cts +4 -4
- package/dist/cli/index.d.mts +4 -4
- package/dist/cli/index.mjs +1 -1
- package/dist/cli/matrixOptions.cjs +1 -2
- package/dist/cli/matrixOptions.d.cts +2 -99
- package/dist/cli/matrixOptions.d.mts +2 -99
- package/dist/cli/matrixOptions.mjs +1 -2
- package/dist/cli/options.cjs +1 -2
- package/dist/cli/options.d.cts +2 -7
- package/dist/cli/options.d.mts +2 -7
- package/dist/cli/options.mjs +1 -2
- package/dist/commands/baseCommand.cjs.map +1 -1
- package/dist/commands/baseCommand.d.cts +3 -3
- package/dist/commands/baseCommand.d.mts +3 -3
- package/dist/commands/baseCommand.mjs.map +1 -1
- package/dist/commands/buildCommand.cjs +2 -2
- package/dist/commands/buildCommand.cjs.map +1 -1
- package/dist/commands/buildCommand.mjs +2 -2
- package/dist/commands/buildCommand.mjs.map +1 -1
- package/dist/commands/cli/cliApp.cjs +2 -0
- package/dist/commands/cli/cliApp.cjs.map +1 -0
- package/dist/commands/cli/cliApp.d.cts +45 -0
- package/dist/commands/cli/cliApp.d.cts.map +1 -0
- package/dist/commands/cli/cliApp.d.mts +45 -0
- package/dist/commands/cli/cliApp.d.mts.map +1 -0
- package/dist/commands/cli/cliApp.mjs +2 -0
- package/dist/commands/cli/cliApp.mjs.map +1 -0
- package/dist/commands/cli/compatibilityOptions.cjs +2 -0
- package/dist/commands/cli/compatibilityOptions.cjs.map +1 -0
- package/dist/commands/cli/compatibilityOptions.d.cts +15 -0
- package/dist/commands/cli/compatibilityOptions.d.cts.map +1 -0
- package/dist/commands/cli/compatibilityOptions.d.mts +15 -0
- package/dist/commands/cli/compatibilityOptions.d.mts.map +1 -0
- package/dist/commands/cli/compatibilityOptions.mjs +2 -0
- package/dist/commands/cli/compatibilityOptions.mjs.map +1 -0
- package/dist/commands/cli/help.cjs +68 -0
- package/dist/{cli → commands/cli}/help.cjs.map +1 -1
- package/dist/commands/cli/help.d.cts +6 -0
- package/dist/commands/cli/help.d.cts.map +1 -0
- package/dist/commands/cli/help.d.mts +6 -0
- package/dist/commands/cli/help.d.mts.map +1 -0
- package/dist/commands/cli/help.mjs +68 -0
- package/dist/{cli → commands/cli}/help.mjs.map +1 -1
- package/dist/commands/cli/index.cjs +1 -0
- package/dist/commands/cli/index.d.cts +4 -0
- package/dist/commands/cli/index.d.mts +4 -0
- package/dist/commands/cli/index.mjs +1 -0
- package/dist/commands/cli/matrixOptions.cjs +2 -0
- package/dist/commands/cli/matrixOptions.cjs.map +1 -0
- package/dist/commands/cli/matrixOptions.d.cts +99 -0
- package/dist/commands/cli/matrixOptions.d.cts.map +1 -0
- package/dist/commands/cli/matrixOptions.d.mts +99 -0
- package/dist/commands/cli/matrixOptions.d.mts.map +1 -0
- package/dist/commands/cli/matrixOptions.mjs +2 -0
- package/dist/commands/cli/matrixOptions.mjs.map +1 -0
- package/dist/commands/cli/options.cjs +2 -0
- package/dist/commands/cli/options.cjs.map +1 -0
- package/dist/commands/cli/options.d.cts +7 -0
- package/dist/commands/cli/options.d.cts.map +1 -0
- package/dist/commands/cli/options.d.mts +7 -0
- package/dist/commands/cli/options.d.mts.map +1 -0
- package/dist/commands/cli/options.mjs +2 -0
- package/dist/commands/cli/options.mjs.map +1 -0
- package/dist/commands/compatibilityCommand.cjs +1 -1
- package/dist/commands/compatibilityCommand.cjs.map +1 -1
- package/dist/commands/compatibilityCommand.d.cts +1 -1
- package/dist/commands/compatibilityCommand.d.cts.map +1 -1
- package/dist/commands/compatibilityCommand.d.mts +1 -1
- package/dist/commands/compatibilityCommand.d.mts.map +1 -1
- package/dist/commands/compatibilityCommand.mjs +1 -1
- package/dist/commands/compatibilityCommand.mjs.map +1 -1
- package/dist/commands/emitMcpCommand.cjs +1 -1
- package/dist/commands/emitMcpCommand.cjs.map +1 -1
- package/dist/commands/emitMcpCommand.d.cts +2 -2
- package/dist/commands/emitMcpCommand.d.mts +2 -2
- package/dist/commands/emitMcpCommand.mjs +1 -1
- package/dist/commands/emitMcpCommand.mjs.map +1 -1
- package/dist/commands/explainCommand.cjs +2 -2
- package/dist/commands/explainCommand.cjs.map +1 -1
- package/dist/commands/explainCommand.d.cts +2 -2
- package/dist/commands/explainCommand.d.mts +2 -2
- package/dist/commands/explainCommand.mjs +2 -2
- package/dist/commands/explainCommand.mjs.map +1 -1
- package/dist/commands/index.cjs +1 -1
- package/dist/commands/index.d.cts +2 -3
- package/dist/commands/index.d.mts +2 -3
- package/dist/commands/index.mjs +1 -1
- package/dist/commands/initCommand.cjs +1 -2
- package/dist/commands/initCommand.cjs.map +1 -1
- package/dist/commands/initCommand.d.cts +4 -3
- package/dist/commands/initCommand.d.cts.map +1 -1
- package/dist/commands/initCommand.d.mts +4 -3
- package/dist/commands/initCommand.d.mts.map +1 -1
- package/dist/commands/initCommand.mjs +1 -2
- package/dist/commands/initCommand.mjs.map +1 -1
- package/dist/commands/initPresenter.cjs +3 -0
- package/dist/commands/initPresenter.cjs.map +1 -0
- package/dist/commands/initPresenter.d.cts +8 -0
- package/dist/commands/initPresenter.d.cts.map +1 -0
- package/dist/commands/initPresenter.d.mts +8 -0
- package/dist/commands/initPresenter.d.mts.map +1 -0
- package/dist/commands/initPresenter.mjs +3 -0
- package/dist/commands/initPresenter.mjs.map +1 -0
- package/dist/commands/launchCommand.cjs +1 -1
- package/dist/commands/launchCommand.cjs.map +1 -1
- package/dist/commands/launchCommand.d.cts +6 -4
- package/dist/commands/launchCommand.d.cts.map +1 -1
- package/dist/commands/launchCommand.d.mts +6 -4
- package/dist/commands/launchCommand.d.mts.map +1 -1
- package/dist/commands/launchCommand.mjs +1 -1
- package/dist/commands/launchCommand.mjs.map +1 -1
- package/dist/commands/syncCommand.cjs +5 -5
- package/dist/commands/syncCommand.cjs.map +1 -1
- package/dist/commands/syncCommand.d.cts +19 -7
- package/dist/commands/syncCommand.d.cts.map +1 -1
- package/dist/commands/syncCommand.d.mts +19 -7
- package/dist/commands/syncCommand.d.mts.map +1 -1
- package/dist/commands/syncCommand.mjs +5 -5
- package/dist/commands/syncCommand.mjs.map +1 -1
- package/dist/commands/syncPipeline.cjs +2 -0
- package/dist/commands/syncPipeline.cjs.map +1 -0
- package/dist/commands/syncPipeline.mjs +2 -0
- package/dist/commands/syncPipeline.mjs.map +1 -0
- package/dist/config/harnessState.cjs +1 -2
- package/dist/config/harnessState.d.cts +2 -24
- package/dist/config/harnessState.d.mts +2 -24
- package/dist/config/harnessState.mjs +1 -2
- package/dist/config/index.cjs +1 -1
- package/dist/config/index.d.cts +4 -7
- package/dist/config/index.d.mts +4 -7
- package/dist/config/index.mjs +1 -1
- package/dist/config/projectTrust.cjs +1 -2
- package/dist/config/projectTrust.d.cts +2 -14
- package/dist/config/projectTrust.d.mts +2 -14
- package/dist/config/projectTrust.mjs +1 -2
- package/dist/entries/autoStop.cjs +1 -2
- package/dist/entries/autoStop.d.cts +2 -6
- package/dist/entries/autoStop.d.mts +2 -7
- package/dist/entries/autoStop.mjs +1 -2
- package/dist/entries/components/matrixPicker.cjs +1 -2
- package/dist/entries/components/matrixPicker.d.cts +2 -55
- package/dist/entries/components/matrixPicker.d.mts +2 -55
- package/dist/entries/components/matrixPicker.mjs +1 -2
- package/dist/entries/components/skillsOverlay.cjs +1 -4
- package/dist/entries/components/skillsOverlay.d.cts +2 -58
- package/dist/entries/components/skillsOverlay.d.mts +2 -58
- package/dist/entries/components/skillsOverlay.mjs +1 -4
- package/dist/entries/domains.cjs +1 -2
- package/dist/entries/domains.d.cts +2 -10
- package/dist/entries/domains.d.mts +2 -10
- package/dist/entries/domains.mjs +1 -2
- package/dist/entries/doom.cjs +1 -2
- package/dist/entries/doom.d.cts +2 -13
- package/dist/entries/doom.d.mts +2 -14
- package/dist/entries/doom.mjs +1 -2
- package/dist/entries/effort.cjs +1 -2
- package/dist/entries/effort.d.cts +2 -10
- package/dist/entries/effort.d.mts +2 -10
- package/dist/entries/effort.mjs +1 -2
- package/dist/entries/majorMode.cjs +1 -6
- package/dist/entries/majorMode.d.cts +2 -29
- package/dist/entries/majorMode.d.mts +2 -29
- package/dist/entries/majorMode.mjs +1 -6
- package/dist/entries/modeCatalog.cjs +1 -0
- package/dist/entries/modeCatalog.d.cts +2 -0
- package/dist/entries/modeCatalog.d.mts +2 -0
- package/dist/entries/modeCatalog.mjs +1 -0
- package/dist/entries/notifications.cjs +1 -2
- package/dist/entries/notifications.d.cts +2 -13
- package/dist/entries/notifications.d.mts +2 -13
- package/dist/entries/notifications.mjs +1 -2
- package/dist/entries/ollamaProvider.cjs +1 -2
- package/dist/entries/ollamaProvider.d.cts +2 -6
- package/dist/entries/ollamaProvider.d.mts +2 -7
- package/dist/entries/ollamaProvider.mjs +1 -2
- package/dist/entries/persona.cjs +1 -2
- package/dist/entries/persona.d.cts +2 -14
- package/dist/entries/persona.d.mts +2 -15
- package/dist/entries/persona.mjs +1 -2
- package/dist/entries/profile.cjs +1 -3
- package/dist/entries/profile.d.cts +2 -16
- package/dist/entries/profile.d.mts +2 -16
- package/dist/entries/profile.mjs +1 -3
- package/dist/entries/repositoryHooks.cjs +1 -9
- package/dist/entries/repositoryHooks.d.cts +2 -7
- package/dist/entries/repositoryHooks.d.mts +2 -8
- package/dist/entries/repositoryHooks.mjs +1 -9
- package/dist/entries/skills.cjs +1 -2
- package/dist/entries/skills.d.cts +2 -34
- package/dist/entries/skills.d.mts +2 -34
- package/dist/entries/skills.mjs +1 -2
- package/dist/entries/styleSystem.cjs +1 -4
- package/dist/entries/styleSystem.d.cts +2 -32
- package/dist/entries/styleSystem.d.mts +2 -32
- package/dist/entries/styleSystem.mjs +1 -4
- package/dist/extensions/entries/autoStop.cjs +2 -0
- package/dist/extensions/entries/autoStop.cjs.map +1 -0
- package/dist/extensions/entries/autoStop.d.cts +7 -0
- package/dist/extensions/entries/autoStop.d.cts.map +1 -0
- package/dist/extensions/entries/autoStop.d.mts +7 -0
- package/dist/extensions/entries/autoStop.d.mts.map +1 -0
- package/dist/extensions/entries/autoStop.mjs +2 -0
- package/dist/extensions/entries/autoStop.mjs.map +1 -0
- package/dist/extensions/entries/cacheOptimizer.mjs +2 -0
- package/dist/extensions/entries/cacheOptimizer.mjs.map +1 -0
- package/dist/extensions/entries/components/matrixPicker.cjs +2 -0
- package/dist/extensions/entries/components/matrixPicker.cjs.map +1 -0
- package/dist/extensions/entries/components/matrixPicker.d.cts +55 -0
- package/dist/extensions/entries/components/matrixPicker.d.cts.map +1 -0
- package/dist/extensions/entries/components/matrixPicker.d.mts +55 -0
- package/dist/extensions/entries/components/matrixPicker.d.mts.map +1 -0
- package/dist/extensions/entries/components/matrixPicker.mjs +2 -0
- package/dist/extensions/entries/components/matrixPicker.mjs.map +1 -0
- package/dist/extensions/entries/components/skillsOverlay.cjs +4 -0
- package/dist/extensions/entries/components/skillsOverlay.cjs.map +1 -0
- package/dist/extensions/entries/components/skillsOverlay.d.cts +58 -0
- package/dist/extensions/entries/components/skillsOverlay.d.cts.map +1 -0
- package/dist/extensions/entries/components/skillsOverlay.d.mts +58 -0
- package/dist/extensions/entries/components/skillsOverlay.d.mts.map +1 -0
- package/dist/extensions/entries/components/skillsOverlay.mjs +4 -0
- package/dist/extensions/entries/components/skillsOverlay.mjs.map +1 -0
- package/dist/extensions/entries/domains.cjs +2 -0
- package/dist/extensions/entries/domains.cjs.map +1 -0
- package/dist/extensions/entries/domains.d.cts +18 -0
- package/dist/extensions/entries/domains.d.cts.map +1 -0
- package/dist/extensions/entries/domains.d.mts +18 -0
- package/dist/extensions/entries/domains.d.mts.map +1 -0
- package/dist/extensions/entries/domains.mjs +2 -0
- package/dist/extensions/entries/domains.mjs.map +1 -0
- package/dist/extensions/entries/doom.cjs +2 -0
- package/dist/extensions/entries/doom.cjs.map +1 -0
- package/dist/extensions/entries/doom.d.cts +14 -0
- package/dist/extensions/entries/doom.d.cts.map +1 -0
- package/dist/extensions/entries/doom.d.mts +14 -0
- package/dist/extensions/entries/doom.d.mts.map +1 -0
- package/dist/extensions/entries/doom.mjs +2 -0
- package/dist/extensions/entries/doom.mjs.map +1 -0
- package/dist/extensions/entries/effort.cjs +2 -0
- package/dist/extensions/entries/effort.cjs.map +1 -0
- package/dist/extensions/entries/effort.d.cts +10 -0
- package/dist/extensions/entries/effort.d.cts.map +1 -0
- package/dist/extensions/entries/effort.d.mts +10 -0
- package/dist/extensions/entries/effort.d.mts.map +1 -0
- package/dist/extensions/entries/effort.mjs +2 -0
- package/dist/extensions/entries/effort.mjs.map +1 -0
- package/dist/extensions/entries/majorMode.cjs +6 -0
- package/dist/extensions/entries/majorMode.cjs.map +1 -0
- package/dist/extensions/entries/majorMode.d.cts +27 -0
- package/dist/extensions/entries/majorMode.d.cts.map +1 -0
- package/dist/extensions/entries/majorMode.d.mts +27 -0
- package/dist/extensions/entries/majorMode.d.mts.map +1 -0
- package/dist/extensions/entries/majorMode.mjs +6 -0
- package/dist/extensions/entries/majorMode.mjs.map +1 -0
- package/dist/extensions/entries/modeCatalog.cjs +2 -0
- package/dist/extensions/entries/modeCatalog.cjs.map +1 -0
- package/dist/extensions/entries/modeCatalog.d.cts +7 -0
- package/dist/extensions/entries/modeCatalog.d.cts.map +1 -0
- package/dist/extensions/entries/modeCatalog.d.mts +7 -0
- package/dist/extensions/entries/modeCatalog.d.mts.map +1 -0
- package/dist/extensions/entries/modeCatalog.mjs +2 -0
- package/dist/extensions/entries/modeCatalog.mjs.map +1 -0
- package/dist/extensions/entries/notifications.cjs +2 -0
- package/dist/extensions/entries/notifications.cjs.map +1 -0
- package/dist/extensions/entries/notifications.d.cts +14 -0
- package/dist/extensions/entries/notifications.d.cts.map +1 -0
- package/dist/extensions/entries/notifications.d.mts +14 -0
- package/dist/extensions/entries/notifications.d.mts.map +1 -0
- package/dist/extensions/entries/notifications.mjs +2 -0
- package/dist/extensions/entries/notifications.mjs.map +1 -0
- package/dist/extensions/entries/ollamaProvider.cjs +2 -0
- package/dist/extensions/entries/ollamaProvider.cjs.map +1 -0
- package/dist/extensions/entries/ollamaProvider.d.cts +7 -0
- package/dist/extensions/entries/ollamaProvider.d.cts.map +1 -0
- package/dist/extensions/entries/ollamaProvider.d.mts +7 -0
- package/dist/extensions/entries/ollamaProvider.d.mts.map +1 -0
- package/dist/extensions/entries/ollamaProvider.mjs +2 -0
- package/dist/extensions/entries/ollamaProvider.mjs.map +1 -0
- package/dist/extensions/entries/persona.cjs +2 -0
- package/dist/extensions/entries/persona.cjs.map +1 -0
- package/dist/extensions/entries/persona.d.cts +15 -0
- package/dist/extensions/entries/persona.d.cts.map +1 -0
- package/dist/extensions/entries/persona.d.mts +15 -0
- package/dist/extensions/entries/persona.d.mts.map +1 -0
- package/dist/extensions/entries/persona.mjs +2 -0
- package/dist/extensions/entries/persona.mjs.map +1 -0
- package/dist/extensions/entries/profile.cjs +3 -0
- package/dist/extensions/entries/profile.cjs.map +1 -0
- package/dist/extensions/entries/profile.d.cts +18 -0
- package/dist/extensions/entries/profile.d.cts.map +1 -0
- package/dist/extensions/entries/profile.d.mts +18 -0
- package/dist/extensions/entries/profile.d.mts.map +1 -0
- package/dist/extensions/entries/profile.mjs +3 -0
- package/dist/extensions/entries/profile.mjs.map +1 -0
- package/dist/extensions/entries/repositoryHooks.cjs +9 -0
- package/dist/extensions/entries/repositoryHooks.cjs.map +1 -0
- package/dist/extensions/entries/repositoryHooks.d.cts +8 -0
- package/dist/extensions/entries/repositoryHooks.d.cts.map +1 -0
- package/dist/extensions/entries/repositoryHooks.d.mts +8 -0
- package/dist/extensions/entries/repositoryHooks.d.mts.map +1 -0
- package/dist/extensions/entries/repositoryHooks.mjs +9 -0
- package/dist/extensions/entries/repositoryHooks.mjs.map +1 -0
- package/dist/extensions/entries/shellTitleController.cjs +27 -0
- package/dist/extensions/entries/shellTitleController.cjs.map +1 -0
- package/dist/extensions/entries/shellTitleController.d.cts +11 -0
- package/dist/extensions/entries/shellTitleController.d.cts.map +1 -0
- package/dist/extensions/entries/shellTitleController.d.mts +11 -0
- package/dist/extensions/entries/shellTitleController.d.mts.map +1 -0
- package/dist/extensions/entries/shellTitleController.mjs +27 -0
- package/dist/extensions/entries/shellTitleController.mjs.map +1 -0
- package/dist/extensions/entries/skills.cjs +4 -0
- package/dist/extensions/entries/skills.cjs.map +1 -0
- package/dist/extensions/entries/skills.d.cts +34 -0
- package/dist/extensions/entries/skills.d.cts.map +1 -0
- package/dist/extensions/entries/skills.d.mts +34 -0
- package/dist/extensions/entries/skills.d.mts.map +1 -0
- package/dist/extensions/entries/skills.mjs +4 -0
- package/dist/extensions/entries/skills.mjs.map +1 -0
- package/dist/extensions/entries/styleSystem.cjs +4 -0
- package/dist/extensions/entries/styleSystem.cjs.map +1 -0
- package/dist/extensions/entries/styleSystem.d.cts +32 -0
- package/dist/extensions/entries/styleSystem.d.cts.map +1 -0
- package/dist/extensions/entries/styleSystem.d.mts +32 -0
- package/dist/extensions/entries/styleSystem.d.mts.map +1 -0
- package/dist/extensions/entries/styleSystem.mjs +4 -0
- package/dist/{entries/styleSystem.cjs.map → extensions/entries/styleSystem.mjs.map} +1 -1
- package/dist/extensions/pi.cjs +1 -0
- package/dist/extensions/pi.d.cts +2 -0
- package/dist/extensions/pi.d.mts +2 -0
- package/dist/extensions/pi.mjs +1 -0
- package/dist/extensions/services/domainSwitchHandoff.cjs +2 -0
- package/dist/extensions/services/domainSwitchHandoff.cjs.map +1 -0
- package/dist/extensions/services/domainSwitchHandoff.mjs +2 -0
- package/dist/extensions/services/domainSwitchHandoff.mjs.map +1 -0
- package/dist/index.cjs +1 -1
- package/dist/index.d.cts +33 -29
- package/dist/index.d.mts +33 -29
- package/dist/index.mjs +1 -1
- package/dist/logSinkTelemetry.cjs +1 -2
- package/dist/logSinkTelemetry.d.cts +2 -51
- package/dist/logSinkTelemetry.d.mts +2 -51
- package/dist/logSinkTelemetry.mjs +1 -2
- package/dist/pi-cache-optimizer-D9beVnnH.mjs +50 -0
- package/dist/pi-cache-optimizer-D9beVnnH.mjs.map +1 -0
- package/dist/schemas/domainVoiceTools.cjs +2 -0
- package/dist/schemas/domainVoiceTools.cjs.map +1 -0
- package/dist/schemas/domainVoiceTools.mjs +2 -0
- package/dist/schemas/domainVoiceTools.mjs.map +1 -0
- package/dist/schemas/majorModeVoiceTools.cjs +2 -0
- package/dist/schemas/majorModeVoiceTools.cjs.map +1 -0
- package/dist/schemas/majorModeVoiceTools.mjs +2 -0
- package/dist/schemas/majorModeVoiceTools.mjs.map +1 -0
- package/dist/services/compatibility/antigravity.cjs +1 -2
- package/dist/services/compatibility/antigravity.d.cts +2 -11
- package/dist/services/compatibility/antigravity.d.mts +2 -11
- package/dist/services/compatibility/antigravity.mjs +1 -2
- package/dist/services/compatibility/codex.cjs +1 -2
- package/dist/services/compatibility/codex.d.cts +2 -19
- package/dist/services/compatibility/codex.d.mts +2 -19
- package/dist/services/compatibility/codex.mjs +1 -2
- package/dist/services/compatibility/index.cjs +1 -2
- package/dist/services/compatibility/index.d.cts +6 -16
- package/dist/services/compatibility/index.d.mts +6 -16
- package/dist/services/compatibility/index.mjs +1 -2
- package/dist/services/compatibility/process.cjs +1 -2
- package/dist/services/compatibility/process.d.cts +2 -35
- package/dist/services/compatibility/process.d.mts +2 -35
- package/dist/services/compatibility/process.mjs +1 -2
- package/dist/services/compatibility/shared.cjs +1 -2
- package/dist/services/compatibility/shared.d.cts +2 -33
- package/dist/services/compatibility/shared.d.mts +2 -33
- package/dist/services/compatibility/shared.mjs +1 -2
- package/dist/services/compatibilityContext.cjs +1 -2
- package/dist/services/compatibilityContext.d.cts +2 -23
- package/dist/services/compatibilityContext.d.mts +2 -23
- package/dist/services/compatibilityContext.mjs +1 -2
- package/dist/services/composer.cjs +1 -2
- package/dist/services/composer.d.cts +4 -135
- package/dist/services/composer.d.mts +4 -135
- package/dist/services/composer.mjs +1 -2
- package/dist/services/config/index.cjs +1 -0
- package/dist/services/config/index.d.cts +7 -0
- package/dist/services/config/index.d.mts +7 -0
- package/dist/services/config/index.mjs +1 -0
- package/dist/services/config/projectTrust.cjs +2 -0
- package/dist/services/config/projectTrust.cjs.map +1 -0
- package/dist/services/config/projectTrust.d.cts +14 -0
- package/dist/services/config/projectTrust.d.cts.map +1 -0
- package/dist/services/config/projectTrust.d.mts +14 -0
- package/dist/services/config/projectTrust.d.mts.map +1 -0
- package/dist/services/config/projectTrust.mjs +2 -0
- package/dist/services/config/projectTrust.mjs.map +1 -0
- package/dist/services/extensionAssembler.cjs +1 -1
- package/dist/services/extensionAssembler.cjs.map +1 -1
- package/dist/services/extensionAssembler.d.cts +13 -6
- package/dist/services/extensionAssembler.d.cts.map +1 -1
- package/dist/services/extensionAssembler.d.mts +13 -6
- package/dist/services/extensionAssembler.d.mts.map +1 -1
- package/dist/services/extensionAssembler.mjs +1 -1
- package/dist/services/extensionAssembler.mjs.map +1 -1
- package/dist/services/harnessContext.cjs +1 -2
- package/dist/services/harnessContext.d.cts +2 -61
- package/dist/services/harnessContext.d.mts +2 -61
- package/dist/services/harnessContext.mjs +1 -2
- package/dist/services/index.cjs +1 -1
- package/dist/services/index.d.cts +18 -14
- package/dist/services/index.d.mts +18 -14
- package/dist/services/index.mjs +1 -1
- package/dist/services/matrixSwitcher.cjs +1 -2
- package/dist/services/matrixSwitcher.d.cts +2 -46
- package/dist/services/matrixSwitcher.d.mts +2 -46
- package/dist/services/matrixSwitcher.mjs +1 -2
- package/dist/services/mcpFilter.cjs +1 -3
- package/dist/services/mcpFilter.d.cts +2 -40
- package/dist/services/mcpFilter.d.mts +2 -40
- package/dist/services/mcpFilter.mjs +1 -3
- package/dist/services/modeCatalog.cjs +2 -0
- package/dist/services/modeCatalog.cjs.map +1 -0
- package/dist/services/modeCatalog.d.cts +18 -0
- package/dist/services/modeCatalog.d.cts.map +1 -0
- package/dist/services/modeCatalog.d.mts +18 -0
- package/dist/services/modeCatalog.d.mts.map +1 -0
- package/dist/services/modeCatalog.mjs +2 -0
- package/dist/services/modeCatalog.mjs.map +1 -0
- package/dist/services/piSettings.cjs +1 -2
- package/dist/services/piSettings.d.cts +2 -24
- package/dist/services/piSettings.d.mts +2 -24
- package/dist/services/piSettings.mjs +1 -2
- package/dist/services/resourceCollector.cjs +1 -3
- package/dist/services/resourceCollector.d.cts +2 -23
- package/dist/services/resourceCollector.d.mts +2 -23
- package/dist/services/resourceCollector.mjs +1 -3
- package/dist/services/skillCatalog.cjs +1 -2
- package/dist/services/skillCatalog.d.cts +2 -56
- package/dist/services/skillCatalog.d.mts +2 -56
- package/dist/services/skillCatalog.mjs +1 -2
- package/dist/services/skillSources.cjs +1 -2
- package/dist/services/skillSources.d.cts +2 -24
- package/dist/services/skillSources.d.mts +2 -24
- package/dist/services/skillSources.mjs +1 -2
- package/dist/services/syncState.cjs +1 -2
- package/dist/services/syncState.d.cts +3 -133
- package/dist/services/syncState.d.mts +3 -133
- package/dist/services/syncState.mjs +1 -2
- package/dist/services/tools/toolNames.cjs +2 -0
- package/dist/services/tools/toolNames.cjs.map +1 -0
- package/dist/services/tools/toolNames.d.cts +25 -0
- package/dist/services/tools/toolNames.d.cts.map +1 -0
- package/dist/services/tools/toolNames.d.mts +25 -0
- package/dist/services/tools/toolNames.d.mts.map +1 -0
- package/dist/services/tools/toolNames.mjs +2 -0
- package/dist/services/tools/toolNames.mjs.map +1 -0
- package/dist/{interfaces → types/interfaces}/compatibility.d.cts +1 -1
- package/dist/types/interfaces/compatibility.d.cts.map +1 -0
- package/dist/{interfaces → types/interfaces}/compatibility.d.mts +1 -1
- package/dist/types/interfaces/compatibility.d.mts.map +1 -0
- package/dist/{interfaces → types/interfaces}/harness.d.cts +6 -2
- package/dist/types/interfaces/harness.d.cts.map +1 -0
- package/dist/{interfaces → types/interfaces}/harness.d.mts +6 -2
- package/dist/types/interfaces/harness.d.mts.map +1 -0
- package/dist/utils/index.cjs +1 -1
- package/dist/utils/index.d.cts +5 -5
- package/dist/utils/index.d.mts +5 -5
- package/dist/utils/index.mjs +1 -1
- package/dist/utils/json.cjs +1 -2
- package/dist/utils/json.d.cts +2 -23
- package/dist/utils/json.d.mts +2 -23
- package/dist/utils/json.mjs +1 -2
- package/dist/utils/moduleResolution.cjs +1 -2
- package/dist/utils/moduleResolution.d.cts +2 -56
- package/dist/utils/moduleResolution.d.mts +2 -56
- package/dist/utils/moduleResolution.mjs +1 -2
- package/dist/utils/repository.cjs +1 -2
- package/dist/utils/repository.d.cts +2 -21
- package/dist/utils/repository.d.mts +2 -21
- package/dist/utils/repository.mjs +1 -2
- package/dist/utils/toolNames.cjs +1 -2
- package/dist/utils/toolNames.d.cts +2 -25
- package/dist/utils/toolNames.d.mts +2 -25
- package/dist/utils/toolNames.mjs +1 -2
- package/package.json +59 -37
- package/dist/cli/cliApp.cjs.map +0 -1
- package/dist/cli/cliApp.d.cts.map +0 -1
- package/dist/cli/cliApp.d.mts.map +0 -1
- package/dist/cli/cliApp.mjs.map +0 -1
- package/dist/cli/compatibilityOptions.cjs.map +0 -1
- package/dist/cli/compatibilityOptions.d.cts.map +0 -1
- package/dist/cli/compatibilityOptions.d.mts.map +0 -1
- package/dist/cli/compatibilityOptions.mjs.map +0 -1
- package/dist/cli/help.d.cts.map +0 -1
- package/dist/cli/help.d.mts.map +0 -1
- package/dist/cli/matrixOptions.cjs.map +0 -1
- package/dist/cli/matrixOptions.d.cts.map +0 -1
- package/dist/cli/matrixOptions.d.mts.map +0 -1
- package/dist/cli/matrixOptions.mjs.map +0 -1
- package/dist/cli/options.cjs.map +0 -1
- package/dist/cli/options.d.cts.map +0 -1
- package/dist/cli/options.d.mts.map +0 -1
- package/dist/cli/options.mjs.map +0 -1
- package/dist/commands/buildCommand.d.cts +0 -23
- package/dist/commands/buildCommand.d.cts.map +0 -1
- package/dist/commands/buildCommand.d.mts +0 -23
- package/dist/commands/buildCommand.d.mts.map +0 -1
- package/dist/config/harnessState.cjs.map +0 -1
- package/dist/config/harnessState.d.cts.map +0 -1
- package/dist/config/harnessState.d.mts.map +0 -1
- package/dist/config/harnessState.mjs.map +0 -1
- package/dist/config/projectTrust.cjs.map +0 -1
- package/dist/config/projectTrust.d.cts.map +0 -1
- package/dist/config/projectTrust.d.mts.map +0 -1
- package/dist/config/projectTrust.mjs.map +0 -1
- package/dist/entries/addDirCompatibility.cjs +0 -2
- package/dist/entries/addDirCompatibility.cjs.map +0 -1
- package/dist/entries/addDirCompatibility.d.cts +0 -13
- package/dist/entries/addDirCompatibility.d.cts.map +0 -1
- package/dist/entries/addDirCompatibility.d.mts +0 -14
- package/dist/entries/addDirCompatibility.d.mts.map +0 -1
- package/dist/entries/addDirCompatibility.mjs +0 -2
- package/dist/entries/addDirCompatibility.mjs.map +0 -1
- package/dist/entries/autoStop.cjs.map +0 -1
- package/dist/entries/autoStop.d.cts.map +0 -1
- package/dist/entries/autoStop.d.mts.map +0 -1
- package/dist/entries/autoStop.mjs.map +0 -1
- package/dist/entries/components/matrixPicker.cjs.map +0 -1
- package/dist/entries/components/matrixPicker.d.cts.map +0 -1
- package/dist/entries/components/matrixPicker.d.mts.map +0 -1
- package/dist/entries/components/matrixPicker.mjs.map +0 -1
- package/dist/entries/components/skillsOverlay.cjs.map +0 -1
- package/dist/entries/components/skillsOverlay.d.cts.map +0 -1
- package/dist/entries/components/skillsOverlay.d.mts.map +0 -1
- package/dist/entries/components/skillsOverlay.mjs.map +0 -1
- package/dist/entries/domains.cjs.map +0 -1
- package/dist/entries/domains.d.cts.map +0 -1
- package/dist/entries/domains.d.mts.map +0 -1
- package/dist/entries/domains.mjs.map +0 -1
- package/dist/entries/doom.cjs.map +0 -1
- package/dist/entries/doom.d.cts.map +0 -1
- package/dist/entries/doom.d.mts.map +0 -1
- package/dist/entries/doom.mjs.map +0 -1
- package/dist/entries/effort.cjs.map +0 -1
- package/dist/entries/effort.d.cts.map +0 -1
- package/dist/entries/effort.d.mts.map +0 -1
- package/dist/entries/effort.mjs.map +0 -1
- package/dist/entries/majorMode.cjs.map +0 -1
- package/dist/entries/majorMode.d.cts.map +0 -1
- package/dist/entries/majorMode.d.mts.map +0 -1
- package/dist/entries/majorMode.mjs.map +0 -1
- package/dist/entries/notifications.cjs.map +0 -1
- package/dist/entries/notifications.d.cts.map +0 -1
- package/dist/entries/notifications.d.mts.map +0 -1
- package/dist/entries/notifications.mjs.map +0 -1
- package/dist/entries/ollamaProvider.cjs.map +0 -1
- package/dist/entries/ollamaProvider.d.cts.map +0 -1
- package/dist/entries/ollamaProvider.d.mts.map +0 -1
- package/dist/entries/ollamaProvider.mjs.map +0 -1
- package/dist/entries/persona.cjs.map +0 -1
- package/dist/entries/persona.d.cts.map +0 -1
- package/dist/entries/persona.d.mts.map +0 -1
- package/dist/entries/persona.mjs.map +0 -1
- package/dist/entries/profile.cjs.map +0 -1
- package/dist/entries/profile.d.cts.map +0 -1
- package/dist/entries/profile.d.mts.map +0 -1
- package/dist/entries/profile.mjs.map +0 -1
- package/dist/entries/repositoryHooks.cjs.map +0 -1
- package/dist/entries/repositoryHooks.d.cts.map +0 -1
- package/dist/entries/repositoryHooks.d.mts.map +0 -1
- package/dist/entries/repositoryHooks.mjs.map +0 -1
- package/dist/entries/skills.cjs.map +0 -1
- package/dist/entries/skills.d.cts.map +0 -1
- package/dist/entries/skills.d.mts.map +0 -1
- package/dist/entries/skills.mjs.map +0 -1
- package/dist/entries/styleSystem.d.cts.map +0 -1
- package/dist/entries/styleSystem.d.mts.map +0 -1
- package/dist/entries/styleSystem.mjs.map +0 -1
- package/dist/interfaces/compatibility.d.cts.map +0 -1
- package/dist/interfaces/compatibility.d.mts.map +0 -1
- package/dist/interfaces/harness.d.cts.map +0 -1
- package/dist/interfaces/harness.d.mts.map +0 -1
- package/dist/logSinkTelemetry.cjs.map +0 -1
- package/dist/logSinkTelemetry.d.cts.map +0 -1
- package/dist/logSinkTelemetry.d.mts.map +0 -1
- package/dist/logSinkTelemetry.mjs.map +0 -1
- package/dist/node_modules/.pnpm/@juicesharp_rpiv-ask-user-question@2.2.0_@earendil-works_pi-coding-agent@0.84.1_support_6ba1249e24a50b62791c1c91c9f324c6/node_modules/@juicesharp/rpiv-ask-user-question/events.cjs +0 -2
- package/dist/node_modules/.pnpm/@juicesharp_rpiv-ask-user-question@2.2.0_@earendil-works_pi-coding-agent@0.84.1_support_6ba1249e24a50b62791c1c91c9f324c6/node_modules/@juicesharp/rpiv-ask-user-question/events.cjs.map +0 -1
- package/dist/node_modules/.pnpm/@juicesharp_rpiv-ask-user-question@2.2.0_@earendil-works_pi-coding-agent@0.84.1_support_6ba1249e24a50b62791c1c91c9f324c6/node_modules/@juicesharp/rpiv-ask-user-question/events.mjs +0 -2
- package/dist/node_modules/.pnpm/@juicesharp_rpiv-ask-user-question@2.2.0_@earendil-works_pi-coding-agent@0.84.1_support_6ba1249e24a50b62791c1c91c9f324c6/node_modules/@juicesharp/rpiv-ask-user-question/events.mjs.map +0 -1
- package/dist/services/compatibility/index.cjs.map +0 -1
- package/dist/services/compatibility/index.mjs.map +0 -1
- package/dist/services/compatibilityContext.cjs.map +0 -1
- package/dist/services/compatibilityContext.mjs.map +0 -1
- package/dist/services/composer.cjs.map +0 -1
- package/dist/services/composer.d.cts.map +0 -1
- package/dist/services/composer.d.mts.map +0 -1
- package/dist/services/composer.mjs.map +0 -1
- package/dist/services/extensionCompiler.cjs +0 -3
- package/dist/services/extensionCompiler.cjs.map +0 -1
- package/dist/services/extensionCompiler.mjs +0 -3
- package/dist/services/extensionCompiler.mjs.map +0 -1
- package/dist/services/harnessContext.cjs.map +0 -1
- package/dist/services/harnessContext.mjs.map +0 -1
- package/dist/services/matrixSwitcher.cjs.map +0 -1
- package/dist/services/matrixSwitcher.mjs.map +0 -1
- package/dist/services/mcpFilter.cjs.map +0 -1
- package/dist/services/mcpFilter.d.cts.map +0 -1
- package/dist/services/mcpFilter.d.mts.map +0 -1
- package/dist/services/mcpFilter.mjs.map +0 -1
- package/dist/services/piSettings.cjs.map +0 -1
- package/dist/services/piSettings.d.cts.map +0 -1
- package/dist/services/piSettings.d.mts.map +0 -1
- package/dist/services/piSettings.mjs.map +0 -1
- package/dist/services/resourceCollector.cjs.map +0 -1
- package/dist/services/resourceCollector.d.cts.map +0 -1
- package/dist/services/resourceCollector.d.mts.map +0 -1
- package/dist/services/resourceCollector.mjs.map +0 -1
- package/dist/services/runtimeBundle.cjs +0 -2
- package/dist/services/runtimeBundle.cjs.map +0 -1
- package/dist/services/runtimeBundle.d.cts.map +0 -1
- package/dist/services/runtimeBundle.d.mts.map +0 -1
- package/dist/services/runtimeBundle.mjs +0 -2
- package/dist/services/runtimeBundle.mjs.map +0 -1
- package/dist/services/skillCatalog.cjs.map +0 -1
- package/dist/services/skillCatalog.d.cts.map +0 -1
- package/dist/services/skillCatalog.d.mts.map +0 -1
- package/dist/services/skillCatalog.mjs.map +0 -1
- package/dist/services/syncState.cjs.map +0 -1
- package/dist/services/syncState.d.cts.map +0 -1
- package/dist/services/syncState.d.mts.map +0 -1
- package/dist/services/syncState.mjs.map +0 -1
- package/dist/utils/json.cjs.map +0 -1
- package/dist/utils/json.d.cts.map +0 -1
- package/dist/utils/json.d.mts.map +0 -1
- package/dist/utils/json.mjs.map +0 -1
- package/dist/utils/moduleResolution.cjs.map +0 -1
- package/dist/utils/moduleResolution.d.cts.map +0 -1
- package/dist/utils/moduleResolution.d.mts.map +0 -1
- package/dist/utils/moduleResolution.mjs.map +0 -1
- package/dist/utils/repository.cjs.map +0 -1
- package/dist/utils/repository.d.cts.map +0 -1
- package/dist/utils/repository.d.mts.map +0 -1
- package/dist/utils/repository.mjs.map +0 -1
- package/dist/utils/toolNames.cjs.map +0 -1
- package/dist/utils/toolNames.d.cts.map +0 -1
- package/dist/utils/toolNames.d.mts.map +0 -1
- package/dist/utils/toolNames.mjs.map +0 -1
|
@@ -1,46 +1,2 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
import { AgentProfile } from "@agimon-ai/doompi-config/profiles";
|
|
4
|
-
import { MajorModesConfig } from "@agimon-ai/doompi-config/majorModes";
|
|
5
|
-
|
|
6
|
-
//#region src/services/matrixSwitcher.d.ts
|
|
7
|
-
/**
|
|
8
|
-
* Live matrix switching.
|
|
9
|
-
*
|
|
10
|
-
* Every axis writes through the harness state module and relies on Pi's reload
|
|
11
|
-
* re-executing extension modules, which drops their module-level caches and
|
|
12
|
-
* makes them re-read the environment. That is the same path /domains has always
|
|
13
|
-
* used; major mode and profile persona changes now share it.
|
|
14
|
-
*
|
|
15
|
-
* What reload cannot do is change the SET of loaded extensions: Pi freezes the
|
|
16
|
-
* CLI --extension list at construction (resource-loader.js:164) and re-resolves
|
|
17
|
-
* that same array on every reload. Callers report those parts as needing a
|
|
18
|
-
* relaunch instead of pretending they applied.
|
|
19
|
-
*/
|
|
20
|
-
/** Domains: skills, plugin hooks, MCP config, and subagent directories. */
|
|
21
|
-
declare function applyDomains(domainNames: string[], state: DoomHarnessContext): Promise<HarnessState$1>;
|
|
22
|
-
/** Applies one major mode and the hook groups its effective layers contribute. */
|
|
23
|
-
declare function applyMajorMode(config: MajorModesConfig, majorMode: string, state: DoomHarnessContext): HarnessState$1;
|
|
24
|
-
/** Layers that contribute extensions or packages, which reload cannot swap. */
|
|
25
|
-
declare function extensionLayers(config: MajorModesConfig, names: string[]): string[];
|
|
26
|
-
/** Whether a mode change alters the extension set, and so needs a relaunch. */
|
|
27
|
-
declare function needsRelaunch(config: MajorModesConfig, before: string[], after: string[]): boolean;
|
|
28
|
-
/**
|
|
29
|
-
* Persona: rewrites the assembled prompt file that the persona extension reads.
|
|
30
|
-
*
|
|
31
|
-
* The extension re-reads the file on reload and appends its block to whatever
|
|
32
|
-
* system prompt it is given, so the repository's own AGENTS.md keeps applying
|
|
33
|
-
* underneath. Returns false when the directories hold no readable persona.
|
|
34
|
-
*/
|
|
35
|
-
declare function applyPersona(personaDirectory: string, state: DoomHarnessContext, personaRoot?: string): Promise<boolean>;
|
|
36
|
-
/**
|
|
37
|
-
* Profile: one persona plus the environment defaults it declares.
|
|
38
|
-
*
|
|
39
|
-
* Lives beside the other switchers rather than in the /profile command,
|
|
40
|
-
* because the synced Pi path applies the same switch from its `--profile` flag
|
|
41
|
-
* before any command exists to run it.
|
|
42
|
-
*/
|
|
43
|
-
declare function applyProfile(profile: AgentProfile, state: DoomHarnessContext): Promise<string>;
|
|
44
|
-
//#endregion
|
|
45
|
-
export { applyDomains, applyMajorMode, applyPersona, applyProfile, extensionLayers, needsRelaunch };
|
|
46
|
-
//# sourceMappingURL=matrixSwitcher.d.mts.map
|
|
1
|
+
import { applyDomains, applyMajorMode, applyPersona, applyProfile, extensionLayers, needsRelaunch } from "../adapters/matrixSwitcher.mjs";
|
|
2
|
+
export { applyDomains, applyMajorMode, applyPersona, applyProfile, extensionLayers, needsRelaunch };
|
|
@@ -1,2 +1 @@
|
|
|
1
|
-
import{
|
|
2
|
-
//# sourceMappingURL=matrixSwitcher.mjs.map
|
|
1
|
+
import{applyDomains as e,applyMajorMode as t,applyPersona as n,applyProfile as r,extensionLayers as i,needsRelaunch as a}from"../adapters/matrixSwitcher.mjs";export{e as applyDomains,t as applyMajorMode,n as applyPersona,r as applyProfile,i as extensionLayers,a as needsRelaunch};
|
|
@@ -1,3 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`../
|
|
2
|
-
`)}${(0,i.stringify)({...n,mcpServers:a})}`}async function l(e,n,i){await r.default.promises.mkdir(i,{recursive:!0});let o=JSON.parse(r.default.readFileSync(e,`utf8`)),s=o.mcpServers??{},c=s[a],l=t.default.join(n,`mcp-config.yaml`);if(c&&r.default.existsSync(l)){let e=[...c.args??[]],n=e.indexOf(`--config`);if(n!==-1){let o=t.default.join(i,`mcp-config.yaml`);await r.default.promises.copyFile(l,o),e[n+1]=o,s[a]={...c,args:e}}}let u=t.default.join(i,`mcp.json`);return await r.default.promises.writeFile(u,`${JSON.stringify({...o,mcpServers:s},null,2)}\n`,{mode:384}),u}async function u(e,n,i,o){if(!n)return e;let l=s(e,n.servers),u=l.mcpServers??{},d=u[a];if(!d||!n.proxy||n.proxy.length===0)return l;let f=[...d.args??[]],p=f.indexOf(`--config`);if(p===-1||!f[p+1])return l;let m=t.default.resolve(i,f[p+1]);if(!r.default.existsSync(m))return l;let h=t.default.join(o,`mcp-config.yaml`);return await r.default.promises.writeFile(h,c(r.default.readFileSync(m,`utf8`),n.proxy),{mode:384}),f[p+1]=h,{...l,mcpServers:{...u,[a]:{...d,args:f}}}}exports.PROXY_SERVER_NAME=a,exports.applyMcpAllowlist=u,exports.filterMcpServers=s,exports.filterProxyConfig=c,exports.persistMcpConfig=l,exports.resolveMcpAllowlist=o;
|
|
3
|
-
//# sourceMappingURL=mcpFilter.cjs.map
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`../adapters/mcpFilter.cjs`);exports.PROXY_SERVER_NAME=e.PROXY_SERVER_NAME,exports.applyMcpAllowlist=e.applyMcpAllowlist,exports.filterMcpServers=e.filterMcpServers,exports.filterProxyConfig=e.filterProxyConfig,exports.persistMcpConfig=e.persistMcpConfig,exports.resolveMcpAllowlist=e.resolveMcpAllowlist;
|
|
@@ -1,40 +1,2 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
//#region src/services/mcpFilter.d.ts
|
|
4
|
-
/** Server name in .mcp.json whose upstreams are declared in mcp-config.yaml. */
|
|
5
|
-
declare const PROXY_SERVER_NAME = "agiflow-proxy";
|
|
6
|
-
type JsonObject = Record<string, unknown>;
|
|
7
|
-
/**
|
|
8
|
-
* Unions the mcp allowlists of the selected domains.
|
|
9
|
-
*
|
|
10
|
-
* Returns undefined when any selected domain omits `mcp`, which means "give me
|
|
11
|
-
* everything". Filtering only kicks in once every selected domain has opted in,
|
|
12
|
-
* so a domain that has not been migrated yet cannot silently lose its tools.
|
|
13
|
-
*/
|
|
14
|
-
declare function resolveMcpAllowlist(repoRoot: string, domainNames: string[]): DomainMcpAllowlist | undefined;
|
|
15
|
-
/** Drops servers that are not on the allowlist. An empty list means keep all. */
|
|
16
|
-
declare function filterMcpServers(config: JsonObject, allowed?: string[]): JsonObject;
|
|
17
|
-
/**
|
|
18
|
-
* Rewrites the proxy's upstream list, keeping only allowed servers.
|
|
19
|
-
*
|
|
20
|
-
* Entries are removed rather than marked disabled so a filtered upstream cannot
|
|
21
|
-
* be reached even if the proxy ignores the disabled flag. Comments in the
|
|
22
|
-
* source file are not preserved; the result is a per-run temporary file.
|
|
23
|
-
*/
|
|
24
|
-
declare function filterProxyConfig(yamlText: string, allowed?: string[]): string;
|
|
25
|
-
/**
|
|
26
|
-
* Copies a generated MCP config out of the run directory so another frontend
|
|
27
|
-
* can use it, keeping the proxy's --config pointing at the copy.
|
|
28
|
-
*
|
|
29
|
-
* The run directory is deleted when the harness exits, so emitting for
|
|
30
|
-
* claude.sh or codex.sh has to relocate both files together.
|
|
31
|
-
*/
|
|
32
|
-
declare function persistMcpConfig(sourceConfigPath: string, temporaryDirectory: string, targetDirectory: string): Promise<string>;
|
|
33
|
-
/**
|
|
34
|
-
* Applies the allowlist to a merged MCP config, writing a filtered proxy config
|
|
35
|
-
* into the run directory and repointing the proxy at it when needed.
|
|
36
|
-
*/
|
|
37
|
-
declare function applyMcpAllowlist(config: JsonObject, allowlist: DomainMcpAllowlist | undefined, repoRoot: string, temporaryDirectory: string): Promise<JsonObject>;
|
|
38
|
-
//#endregion
|
|
39
|
-
export { PROXY_SERVER_NAME, applyMcpAllowlist, filterMcpServers, filterProxyConfig, persistMcpConfig, resolveMcpAllowlist };
|
|
40
|
-
//# sourceMappingURL=mcpFilter.d.cts.map
|
|
1
|
+
import { PROXY_SERVER_NAME, applyMcpAllowlist, filterMcpServers, filterProxyConfig, persistMcpConfig, resolveMcpAllowlist } from "../adapters/mcpFilter.cjs";
|
|
2
|
+
export { PROXY_SERVER_NAME, applyMcpAllowlist, filterMcpServers, filterProxyConfig, persistMcpConfig, resolveMcpAllowlist };
|
|
@@ -1,40 +1,2 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
//#region src/services/mcpFilter.d.ts
|
|
4
|
-
/** Server name in .mcp.json whose upstreams are declared in mcp-config.yaml. */
|
|
5
|
-
declare const PROXY_SERVER_NAME = "agiflow-proxy";
|
|
6
|
-
type JsonObject = Record<string, unknown>;
|
|
7
|
-
/**
|
|
8
|
-
* Unions the mcp allowlists of the selected domains.
|
|
9
|
-
*
|
|
10
|
-
* Returns undefined when any selected domain omits `mcp`, which means "give me
|
|
11
|
-
* everything". Filtering only kicks in once every selected domain has opted in,
|
|
12
|
-
* so a domain that has not been migrated yet cannot silently lose its tools.
|
|
13
|
-
*/
|
|
14
|
-
declare function resolveMcpAllowlist(repoRoot: string, domainNames: string[]): DomainMcpAllowlist | undefined;
|
|
15
|
-
/** Drops servers that are not on the allowlist. An empty list means keep all. */
|
|
16
|
-
declare function filterMcpServers(config: JsonObject, allowed?: string[]): JsonObject;
|
|
17
|
-
/**
|
|
18
|
-
* Rewrites the proxy's upstream list, keeping only allowed servers.
|
|
19
|
-
*
|
|
20
|
-
* Entries are removed rather than marked disabled so a filtered upstream cannot
|
|
21
|
-
* be reached even if the proxy ignores the disabled flag. Comments in the
|
|
22
|
-
* source file are not preserved; the result is a per-run temporary file.
|
|
23
|
-
*/
|
|
24
|
-
declare function filterProxyConfig(yamlText: string, allowed?: string[]): string;
|
|
25
|
-
/**
|
|
26
|
-
* Copies a generated MCP config out of the run directory so another frontend
|
|
27
|
-
* can use it, keeping the proxy's --config pointing at the copy.
|
|
28
|
-
*
|
|
29
|
-
* The run directory is deleted when the harness exits, so emitting for
|
|
30
|
-
* claude.sh or codex.sh has to relocate both files together.
|
|
31
|
-
*/
|
|
32
|
-
declare function persistMcpConfig(sourceConfigPath: string, temporaryDirectory: string, targetDirectory: string): Promise<string>;
|
|
33
|
-
/**
|
|
34
|
-
* Applies the allowlist to a merged MCP config, writing a filtered proxy config
|
|
35
|
-
* into the run directory and repointing the proxy at it when needed.
|
|
36
|
-
*/
|
|
37
|
-
declare function applyMcpAllowlist(config: JsonObject, allowlist: DomainMcpAllowlist | undefined, repoRoot: string, temporaryDirectory: string): Promise<JsonObject>;
|
|
38
|
-
//#endregion
|
|
39
|
-
export { PROXY_SERVER_NAME, applyMcpAllowlist, filterMcpServers, filterProxyConfig, persistMcpConfig, resolveMcpAllowlist };
|
|
40
|
-
//# sourceMappingURL=mcpFilter.d.mts.map
|
|
1
|
+
import { PROXY_SERVER_NAME, applyMcpAllowlist, filterMcpServers, filterProxyConfig, persistMcpConfig, resolveMcpAllowlist } from "../adapters/mcpFilter.mjs";
|
|
2
|
+
export { PROXY_SERVER_NAME, applyMcpAllowlist, filterMcpServers, filterProxyConfig, persistMcpConfig, resolveMcpAllowlist };
|
|
@@ -1,3 +1 @@
|
|
|
1
|
-
import e
|
|
2
|
-
`)}${a({...n,mcpServers:o})}`}async function u(t,n,i){await r.promises.mkdir(i,{recursive:!0});let a=JSON.parse(r.readFileSync(t,`utf8`)),s=a.mcpServers??{},c=s[o],l=e.join(n,`mcp-config.yaml`);if(c&&r.existsSync(l)){let t=[...c.args??[]],n=t.indexOf(`--config`);if(n!==-1){let a=e.join(i,`mcp-config.yaml`);await r.promises.copyFile(l,a),t[n+1]=a,s[o]={...c,args:t}}}let u=e.join(i,`mcp.json`);return await r.promises.writeFile(u,`${JSON.stringify({...a,mcpServers:s},null,2)}\n`,{mode:384}),u}async function d(t,n,i,a){if(!n)return t;let s=c(t,n.servers),u=s.mcpServers??{},d=u[o];if(!d||!n.proxy||n.proxy.length===0)return s;let f=[...d.args??[]],p=f.indexOf(`--config`);if(p===-1||!f[p+1])return s;let m=e.resolve(i,f[p+1]);if(!r.existsSync(m))return s;let h=e.join(a,`mcp-config.yaml`);return await r.promises.writeFile(h,l(r.readFileSync(m,`utf8`),n.proxy),{mode:384}),f[p+1]=h,{...s,mcpServers:{...u,[o]:{...d,args:f}}}}export{o as PROXY_SERVER_NAME,d as applyMcpAllowlist,c as filterMcpServers,l as filterProxyConfig,u as persistMcpConfig,s as resolveMcpAllowlist};
|
|
3
|
-
//# sourceMappingURL=mcpFilter.mjs.map
|
|
1
|
+
import{PROXY_SERVER_NAME as e,applyMcpAllowlist as t,filterMcpServers as n,filterProxyConfig as r,persistMcpConfig as i,resolveMcpAllowlist as a}from"../adapters/mcpFilter.mjs";export{e as PROXY_SERVER_NAME,t as applyMcpAllowlist,n as filterMcpServers,r as filterProxyConfig,i as persistMcpConfig,a as resolveMcpAllowlist};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`}),require(`../_virtual/_rolldown/runtime.cjs`);let e=require(`@agimon-ai/doompi-extension-contracts/mode`),t=require(`@agimon-ai/doompi-extension-contracts/protocol`);function n(e,n,r=!1){return new t.DoomProtocolError({code:e,message:n,retryable:r})}function r(e,t){return e.descriptor.source===t.source&&e.descriptor.id===t.id&&e.ownerGeneration===t.ownerGeneration&&e.registrationId===t.registrationId}function i(e,t){return JSON.stringify(e)===JSON.stringify(t)}function a(e,t){return e.ownerGeneration===t.ownerGeneration&&e.stateRevision===t.stateRevision&&JSON.stringify(e.descriptor)===JSON.stringify(t.descriptor)&&JSON.stringify(e.state)===JSON.stringify(t.state)}function o(o,s){let c=`${e.MINOR_MODE_CATALOG_SOURCE}:${crypto.randomUUID()}`,l=s.actionTimeoutMs??e.MINOR_MODE_ACTION_TIMEOUT_MS,u=new Map,d=new Map,f=new Map,p=new Map,m=[],h=0,g=!1,_=()=>({hostGeneration:c,revision:h,modes:[...u.values()].map(e=>structuredClone(e)).sort((e,t)=>e.descriptor.order-t.descriptor.order||e.descriptor.source.localeCompare(t.descriptor.source)||e.descriptor.id.localeCompare(t.descriptor.id))}),v=()=>{h+=1,o.notify(e.MinorModeCatalogChanged,_())},y=(t,n)=>{p.set(t,n),p.size>e.MINOR_MODE_TERMINAL_OPERATION_LIMIT&&p.delete(p.keys().next().value)},b=(t,n)=>{o.notify(e.MinorModeOwnerCancellation,{hostGeneration:c,operationId:t.request.operationId,mode:structuredClone(t.request.mode),reason:n})},x=e=>{clearTimeout(e.timer),d.delete(e.request.operationId),f.get(e.modeKey)===e.request.operationId&&f.delete(e.modeKey)},S=(e,t,n)=>{x(e),n&&b(e,n);let r={code:t.code,message:t.message,retryable:t.retryable};y(e.request.operationId,{status:`failed`,request:structuredClone(e.request),requesterSource:e.requesterSource,error:r}),e.reject(t)},C=(e,t,n)=>{for(let r of d.values())r.modeKey===e&&S(r,t,n)},w=(t,r)=>{if(g)throw n(e.MINOR_MODE_ERROR_CODE.sessionReplaced,`Minor-mode catalog is disposed.`);if(r.source!==t.descriptor.source)throw n(e.MINOR_MODE_ERROR_CODE.registrationConflict,`Registration source does not match its envelope.`);let i=(0,e.validateMinorModeDefinition)(t.descriptor,t.state);if(i)throw n(e.MINOR_MODE_ERROR_CODE.registrationConflict,i);let o=(0,e.minorModeKey)(t.descriptor),s=u.get(o);if(s){if(!a(s,t))throw n(e.MINOR_MODE_ERROR_CODE.registrationConflict,`Minor mode '${t.descriptor.source}/${t.descriptor.id}' already has a live owner.`);return{hostGeneration:c,registrationId:s.registrationId,catalogRevision:h}}if(u.size>=e.MINOR_MODE_MAX_RECORDS)throw n(e.MINOR_MODE_ERROR_CODE.registrationConflict,`Minor-mode catalog capacity reached.`);let l={descriptor:structuredClone(t.descriptor),state:structuredClone(t.state),ownerGeneration:t.ownerGeneration,registrationId:`minor-mode-registration:${crypto.randomUUID()}`,stateRevision:t.stateRevision};return u.set(o,l),v(),{hostGeneration:c,registrationId:l.registrationId,catalogRevision:h}},T=(t,n)=>{if(n.source!==t.source||t.hostGeneration!==c)return;let i=(0,e.minorModeKey)(t),a=u.get(i);!a||!r(a,t)||t.stateRevision<=a.stateRevision||(0,e.validateMinorModeDefinition)(a.descriptor,t.state)||(u.set(i,{...a,state:structuredClone(t.state),stateRevision:t.stateRevision}),v())},E=(t,i)=>{if(i.source!==t.source||t.hostGeneration!==c)return;let a=(0,e.minorModeKey)(t),o=u.get(a);!o||!r(o,t)||(u.delete(a),C(a,n(e.MINOR_MODE_ERROR_CODE.staleRegistration,`Minor-mode owner unregistered.`),`Minor-mode owner unregistered.`),v())},D=(i,a)=>{if(x(i),a.status===`failed`){let e=new t.DoomProtocolError(a.error);y(i.request.operationId,{status:`failed`,request:structuredClone(i.request),requesterSource:i.requesterSource,error:a.error}),i.reject(e);return}let o=u.get(i.modeKey);if(!o||!r(o,i.request.mode)){let t=n(e.MINOR_MODE_ERROR_CODE.staleRegistration,`Minor-mode owner changed during action.`);y(i.request.operationId,{status:`failed`,request:structuredClone(i.request),requesterSource:i.requesterSource,error:{code:t.code,message:t.message,retryable:t.retryable}}),i.reject(t);return}let s={operationId:i.request.operationId,catalogRevision:h,mode:structuredClone(o),...a.message?{message:a.message}:{}};y(i.request.operationId,{status:`completed`,request:structuredClone(i.request),requesterSource:i.requesterSource,response:s}),i.resolve(s)},O=(e,t)=>{if(t.source!==e.mode.source||e.hostGeneration!==c)return;let n=d.get(e.operationId);if(!n)return;let i=u.get(n.modeKey);!i||!r(i,e.mode)||!r(i,n.request.mode)||D(n,e)},k=(a,m,h)=>{if(h?.aborted)return Promise.reject(n(e.MINOR_MODE_ERROR_CODE.actionAborted,`Minor-mode action was aborted.`));if(g)return Promise.reject(n(e.MINOR_MODE_ERROR_CODE.sessionReplaced,`Minor-mode catalog is disposed.`));let _=p.get(a.operationId);if(_)return _.requesterSource!==m||!i(_.request,a)?Promise.reject(n(e.MINOR_MODE_ERROR_CODE.invalidArguments,`Operation id is already used by another request.`)):_.status===`completed`?Promise.resolve(structuredClone(_.response)):Promise.reject(new t.DoomProtocolError(_.error));let v=d.get(a.operationId);if(v)return v.requesterSource!==m||!i(v.request,a)?Promise.reject(n(e.MINOR_MODE_ERROR_CODE.invalidArguments,`Operation id is already used by another request.`)):new Promise((e,t)=>{let n=v.resolve,r=v.reject;v.resolve=t=>{n(t),e(structuredClone(t))},v.reject=e=>{r(e),t(e)}});let y=(0,e.minorModeKey)(a.mode),b=u.get(y);if(!b)return Promise.reject(n(e.MINOR_MODE_ERROR_CODE.modeNotFound,`Minor mode is unavailable.`));if(!r(b,a.mode))return Promise.reject(n(e.MINOR_MODE_ERROR_CODE.staleRegistration,`Minor-mode reference is stale.`));let x=b.descriptor.actions.find(({id:e})=>e===a.actionId);if(!x)return Promise.reject(n(e.MINOR_MODE_ERROR_CODE.actionNotFound,`Minor-mode action is unknown.`));let C=b.state.actions.find(({id:e})=>e===a.actionId);if(!C?.enabled)return Promise.reject(n(e.MINOR_MODE_ERROR_CODE.actionDisabled,C?.disabledReason??`Action '${a.actionId}' is disabled.`));if(!x.contexts.includes(s.sessionKind))return Promise.reject(n(e.MINOR_MODE_ERROR_CODE.unsupportedContext,`Action '${a.actionId}' is unavailable in ${s.sessionKind} sessions.`));try{(0,e.validateMinorModeActionArguments)(x,a.arguments)}catch(e){return Promise.reject(e)}if(f.has(y))return Promise.reject(n(e.MINOR_MODE_ERROR_CODE.modeBusy,`Minor mode already has an action in flight.`,!0));let w=new Promise((t,r)=>{let i,u=setTimeout(()=>{S(i,n(e.MINOR_MODE_ERROR_CODE.actionTimeout,`Minor-mode owner action timed out.`,!0),`Minor-mode action timed out.`)},l);i={request:structuredClone(a),requesterSource:m,modeKey:y,timer:u,resolve:t,reject:r},d.set(a.operationId,i),f.set(y,a.operationId),o.notify(e.MinorModeOwnerInvocation,{hostGeneration:c,operationId:a.operationId,mode:structuredClone(a.mode),actionId:a.actionId,arguments:structuredClone(a.arguments),sessionKind:s.sessionKind,deadlineAt:Date.now()+l})});if(!h)return w;let T=()=>{let t=d.get(a.operationId);!t||t.requesterSource!==m||S(t,n(e.MINOR_MODE_ERROR_CODE.actionAborted,`Minor-mode action was aborted.`),`Minor-mode action caller aborted.`)};return h.addEventListener(`abort`,T,{once:!0}),w.finally(()=>h.removeEventListener(`abort`,T))};return m.push(o.provide(e.MinorModeRegistration,w),o.provide(e.MinorModeCatalogQuery,()=>_()),o.provide(e.MinorModeAction,(e,t)=>k(e,t.source)),o.onNotification(e.MinorModeStateChanged,(e,t)=>T(e,t)),o.onNotification(e.MinorModeUnregistration,(e,t)=>E(e,t)),o.onNotification(e.MinorModeOwnerOutcome,(e,t)=>O(e,t)),o.onNotification(e.MinorModeActionCancellation,(t,r)=>{let i=d.get(t.operationId);!i||i.requesterSource!==r.source||S(i,n(e.MINOR_MODE_ERROR_CODE.actionAborted,`Minor-mode action was aborted.`),`Minor-mode action caller aborted.`)})),o.notify(e.MinorModeHostAvailable,{hostGeneration:c}),{generation:c,getSnapshot:_,invoke:k,dispose(){if(!g){g=!0;for(let t of d.values())S(t,n(e.MINOR_MODE_ERROR_CODE.sessionReplaced,`Minor-mode catalog session ended.`),`Minor-mode catalog session ended.`);for(let e of m.splice(0))e();u.clear(),f.clear(),p.clear()}}}}exports.createMinorModeCatalogHost=o;
|
|
2
|
+
//# sourceMappingURL=modeCatalog.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"modeCatalog.cjs","names":["DoomProtocolError","MINOR_MODE_CATALOG_SOURCE","MINOR_MODE_ACTION_TIMEOUT_MS","MinorModeCatalogChanged","MINOR_MODE_TERMINAL_OPERATION_LIMIT","MinorModeOwnerCancellation","MINOR_MODE_ERROR_CODE","MINOR_MODE_MAX_RECORDS","MinorModeOwnerInvocation","MinorModeRegistration","MinorModeCatalogQuery","MinorModeAction","MinorModeStateChanged","MinorModeUnregistration","MinorModeOwnerOutcome","MinorModeActionCancellation","MinorModeHostAvailable"],"sources":["../../src/services/modeCatalog.ts"],"sourcesContent":["import {\n MINOR_MODE_ACTION_TIMEOUT_MS,\n MINOR_MODE_CATALOG_SOURCE,\n MINOR_MODE_ERROR_CODE,\n MINOR_MODE_MAX_RECORDS,\n MINOR_MODE_TERMINAL_OPERATION_LIMIT,\n MinorModeAction,\n MinorModeActionCancellation,\n type MinorModeActionRequest,\n type MinorModeActionResponse,\n MinorModeCatalogChanged,\n MinorModeCatalogQuery,\n type MinorModeCatalogSnapshot,\n MinorModeHostAvailable,\n MinorModeOwnerCancellation,\n MinorModeOwnerInvocation,\n MinorModeOwnerOutcome,\n type MinorModeOwnerOutcomePayload,\n type MinorModeRecord,\n MinorModeRegistration,\n type MinorModeRegistrationRef,\n type MinorModeRegistrationRequest,\n type MinorModeRegistrationResponse,\n type MinorModeSessionKind,\n MinorModeStateChanged,\n type MinorModeStateChangedPayload,\n MinorModeUnregistration,\n type MinorModeUnregistrationPayload,\n minorModeKey,\n validateMinorModeActionArguments,\n validateMinorModeDefinition,\n} from '@agimon-ai/doompi-extension-contracts/mode';\nimport {\n DoomProtocolError,\n type ProtocolErrorPayload,\n type ProtocolIdentity,\n type ProtocolRuntime,\n} from '@agimon-ai/doompi-extension-contracts/protocol';\n\ninterface PendingOperation {\n request: MinorModeActionRequest;\n requesterSource: string;\n modeKey: string;\n timer: ReturnType<typeof setTimeout>;\n resolve(this: void, value: MinorModeActionResponse): void;\n reject(this: void, error: DoomProtocolError): void;\n}\n\ninterface TerminalSuccess {\n status: 'completed';\n request: MinorModeActionRequest;\n requesterSource: string;\n response: MinorModeActionResponse;\n}\n\ninterface TerminalFailure {\n status: 'failed';\n request: MinorModeActionRequest;\n requesterSource: string;\n error: ProtocolErrorPayload;\n}\n\ntype TerminalOperation = TerminalSuccess | TerminalFailure;\n\nexport interface MinorModeCatalogHostOptions {\n sessionKind: MinorModeSessionKind;\n actionTimeoutMs?: number;\n}\n\nexport interface MinorModeCatalogHost {\n readonly generation: string;\n getSnapshot(): MinorModeCatalogSnapshot;\n invoke(\n request: MinorModeActionRequest,\n requesterSource: string,\n signal?: AbortSignal,\n ): Promise<MinorModeActionResponse>;\n dispose(): void;\n}\n\nfunction protocolError(code: string, message: string, retryable = false): DoomProtocolError {\n return new DoomProtocolError({ code, message, retryable });\n}\n\nfunction sameRegistration(record: MinorModeRecord, ref: MinorModeRegistrationRef): boolean {\n return (\n record.descriptor.source === ref.source &&\n record.descriptor.id === ref.id &&\n record.ownerGeneration === ref.ownerGeneration &&\n record.registrationId === ref.registrationId\n );\n}\n\nfunction sameRequest(left: MinorModeActionRequest, right: MinorModeActionRequest): boolean {\n return JSON.stringify(left) === JSON.stringify(right);\n}\n\nfunction sameRegistrationPayload(record: MinorModeRecord, request: MinorModeRegistrationRequest): boolean {\n return (\n record.ownerGeneration === request.ownerGeneration &&\n record.stateRevision === request.stateRevision &&\n JSON.stringify(record.descriptor) === JSON.stringify(request.descriptor) &&\n JSON.stringify(record.state) === JSON.stringify(request.state)\n );\n}\n\nexport function createMinorModeCatalogHost(\n runtime: ProtocolRuntime,\n options: MinorModeCatalogHostOptions,\n): MinorModeCatalogHost {\n const hostGeneration = `${MINOR_MODE_CATALOG_SOURCE}:${crypto.randomUUID()}`;\n const actionTimeoutMs = options.actionTimeoutMs ?? MINOR_MODE_ACTION_TIMEOUT_MS;\n const records = new Map<string, MinorModeRecord>();\n const pending = new Map<string, PendingOperation>();\n const activeByMode = new Map<string, string>();\n const terminal = new Map<string, TerminalOperation>();\n const disposers: Array<() => void> = [];\n let revision = 0;\n let disposed = false;\n\n const snapshot = (): MinorModeCatalogSnapshot => ({\n hostGeneration,\n revision,\n modes: [...records.values()]\n .map((record) => structuredClone(record))\n .sort(\n (left, right) =>\n left.descriptor.order - right.descriptor.order ||\n left.descriptor.source.localeCompare(right.descriptor.source) ||\n left.descriptor.id.localeCompare(right.descriptor.id),\n ),\n });\n\n const publish = (): void => {\n revision += 1;\n runtime.notify(MinorModeCatalogChanged, snapshot());\n };\n\n const remember = (operationId: string, outcome: TerminalOperation): void => {\n terminal.set(operationId, outcome);\n if (terminal.size > MINOR_MODE_TERMINAL_OPERATION_LIMIT) {\n terminal.delete(terminal.keys().next().value as string);\n }\n };\n\n const cancelOwner = (operation: PendingOperation, reason: string): void => {\n runtime.notify(MinorModeOwnerCancellation, {\n hostGeneration,\n operationId: operation.request.operationId,\n mode: structuredClone(operation.request.mode),\n reason,\n });\n };\n\n const removePending = (operation: PendingOperation): void => {\n clearTimeout(operation.timer);\n pending.delete(operation.request.operationId);\n if (activeByMode.get(operation.modeKey) === operation.request.operationId) {\n activeByMode.delete(operation.modeKey);\n }\n };\n\n const fail = (operation: PendingOperation, error: DoomProtocolError, cancelReason?: string): void => {\n removePending(operation);\n if (cancelReason) cancelOwner(operation, cancelReason);\n const payload = { code: error.code, message: error.message, retryable: error.retryable };\n remember(operation.request.operationId, {\n status: 'failed',\n request: structuredClone(operation.request),\n requesterSource: operation.requesterSource,\n error: payload,\n });\n operation.reject(error);\n };\n\n const cancelModeOperations = (key: string, error: DoomProtocolError, reason: string): void => {\n for (const operation of pending.values()) {\n if (operation.modeKey === key) fail(operation, error, reason);\n }\n };\n\n const register = (\n request: MinorModeRegistrationRequest,\n identity: ProtocolIdentity,\n ): MinorModeRegistrationResponse => {\n if (disposed) throw protocolError(MINOR_MODE_ERROR_CODE.sessionReplaced, 'Minor-mode catalog is disposed.');\n if (identity.source !== request.descriptor.source) {\n throw protocolError(\n MINOR_MODE_ERROR_CODE.registrationConflict,\n 'Registration source does not match its envelope.',\n );\n }\n const definitionError = validateMinorModeDefinition(request.descriptor, request.state);\n if (definitionError) throw protocolError(MINOR_MODE_ERROR_CODE.registrationConflict, definitionError);\n const key = minorModeKey(request.descriptor);\n const existing = records.get(key);\n if (existing) {\n if (!sameRegistrationPayload(existing, request)) {\n throw protocolError(\n MINOR_MODE_ERROR_CODE.registrationConflict,\n `Minor mode '${request.descriptor.source}/${request.descriptor.id}' already has a live owner.`,\n );\n }\n return { hostGeneration, registrationId: existing.registrationId, catalogRevision: revision };\n }\n if (records.size >= MINOR_MODE_MAX_RECORDS) {\n throw protocolError(MINOR_MODE_ERROR_CODE.registrationConflict, 'Minor-mode catalog capacity reached.');\n }\n const record: MinorModeRecord = {\n descriptor: structuredClone(request.descriptor),\n state: structuredClone(request.state),\n ownerGeneration: request.ownerGeneration,\n registrationId: `minor-mode-registration:${crypto.randomUUID()}`,\n stateRevision: request.stateRevision,\n };\n records.set(key, record);\n publish();\n return { hostGeneration, registrationId: record.registrationId, catalogRevision: revision };\n };\n\n const stateChanged = (update: MinorModeStateChangedPayload, identity: ProtocolIdentity): void => {\n if (identity.source !== update.source || update.hostGeneration !== hostGeneration) return;\n const key = minorModeKey(update);\n const record = records.get(key);\n if (!record || !sameRegistration(record, update) || update.stateRevision <= record.stateRevision) return;\n const definitionError = validateMinorModeDefinition(record.descriptor, update.state);\n if (definitionError) return;\n records.set(key, { ...record, state: structuredClone(update.state), stateRevision: update.stateRevision });\n publish();\n };\n\n const unregister = (registration: MinorModeUnregistrationPayload, identity: ProtocolIdentity): void => {\n if (identity.source !== registration.source || registration.hostGeneration !== hostGeneration) return;\n const key = minorModeKey(registration);\n const record = records.get(key);\n if (!record || !sameRegistration(record, registration)) return;\n records.delete(key);\n cancelModeOperations(\n key,\n protocolError(MINOR_MODE_ERROR_CODE.staleRegistration, 'Minor-mode owner unregistered.'),\n 'Minor-mode owner unregistered.',\n );\n publish();\n };\n\n const complete = (operation: PendingOperation, outcome: MinorModeOwnerOutcomePayload): void => {\n removePending(operation);\n if (outcome.status === 'failed') {\n const error = new DoomProtocolError(outcome.error);\n remember(operation.request.operationId, {\n status: 'failed',\n request: structuredClone(operation.request),\n requesterSource: operation.requesterSource,\n error: outcome.error,\n });\n operation.reject(error);\n return;\n }\n const record = records.get(operation.modeKey);\n if (!record || !sameRegistration(record, operation.request.mode)) {\n const error = protocolError(MINOR_MODE_ERROR_CODE.staleRegistration, 'Minor-mode owner changed during action.');\n remember(operation.request.operationId, {\n status: 'failed',\n request: structuredClone(operation.request),\n requesterSource: operation.requesterSource,\n error: { code: error.code, message: error.message, retryable: error.retryable },\n });\n operation.reject(error);\n return;\n }\n const response: MinorModeActionResponse = {\n operationId: operation.request.operationId,\n catalogRevision: revision,\n mode: structuredClone(record),\n ...(outcome.message ? { message: outcome.message } : {}),\n };\n remember(operation.request.operationId, {\n status: 'completed',\n request: structuredClone(operation.request),\n requesterSource: operation.requesterSource,\n response,\n });\n operation.resolve(response);\n };\n\n const ownerOutcome = (outcome: MinorModeOwnerOutcomePayload, identity: ProtocolIdentity): void => {\n if (identity.source !== outcome.mode.source || outcome.hostGeneration !== hostGeneration) return;\n const operation = pending.get(outcome.operationId);\n if (!operation) return;\n const record = records.get(operation.modeKey);\n if (!record || !sameRegistration(record, outcome.mode) || !sameRegistration(record, operation.request.mode)) return;\n complete(operation, outcome);\n };\n\n const invoke = (\n request: MinorModeActionRequest,\n requesterSource: string,\n signal?: AbortSignal,\n ): Promise<MinorModeActionResponse> => {\n if (signal?.aborted) {\n return Promise.reject(protocolError(MINOR_MODE_ERROR_CODE.actionAborted, 'Minor-mode action was aborted.'));\n }\n if (disposed) {\n return Promise.reject(protocolError(MINOR_MODE_ERROR_CODE.sessionReplaced, 'Minor-mode catalog is disposed.'));\n }\n const cached = terminal.get(request.operationId);\n if (cached) {\n if (cached.requesterSource !== requesterSource || !sameRequest(cached.request, request)) {\n return Promise.reject(\n protocolError(MINOR_MODE_ERROR_CODE.invalidArguments, 'Operation id is already used by another request.'),\n );\n }\n return cached.status === 'completed'\n ? Promise.resolve(structuredClone(cached.response))\n : Promise.reject(new DoomProtocolError(cached.error));\n }\n const existingPending = pending.get(request.operationId);\n if (existingPending) {\n if (existingPending.requesterSource !== requesterSource || !sameRequest(existingPending.request, request)) {\n return Promise.reject(\n protocolError(MINOR_MODE_ERROR_CODE.invalidArguments, 'Operation id is already used by another request.'),\n );\n }\n return new Promise((resolve, reject) => {\n const originalResolve = existingPending.resolve;\n const originalReject = existingPending.reject;\n existingPending.resolve = (value) => {\n originalResolve(value);\n resolve(structuredClone(value));\n };\n existingPending.reject = (error) => {\n originalReject(error);\n reject(error);\n };\n });\n }\n const key = minorModeKey(request.mode);\n const record = records.get(key);\n if (!record) return Promise.reject(protocolError(MINOR_MODE_ERROR_CODE.modeNotFound, 'Minor mode is unavailable.'));\n if (!sameRegistration(record, request.mode)) {\n return Promise.reject(protocolError(MINOR_MODE_ERROR_CODE.staleRegistration, 'Minor-mode reference is stale.'));\n }\n const action = record.descriptor.actions.find(({ id }) => id === request.actionId);\n if (!action)\n return Promise.reject(protocolError(MINOR_MODE_ERROR_CODE.actionNotFound, 'Minor-mode action is unknown.'));\n const availability = record.state.actions.find(({ id }) => id === request.actionId);\n if (!availability?.enabled) {\n return Promise.reject(\n protocolError(\n MINOR_MODE_ERROR_CODE.actionDisabled,\n availability?.disabledReason ?? `Action '${request.actionId}' is disabled.`,\n ),\n );\n }\n if (!action.contexts.includes(options.sessionKind)) {\n return Promise.reject(\n protocolError(\n MINOR_MODE_ERROR_CODE.unsupportedContext,\n `Action '${request.actionId}' is unavailable in ${options.sessionKind} sessions.`,\n ),\n );\n }\n try {\n validateMinorModeActionArguments(action, request.arguments);\n } catch (error) {\n return Promise.reject(error);\n }\n if (activeByMode.has(key)) {\n return Promise.reject(\n protocolError(MINOR_MODE_ERROR_CODE.modeBusy, 'Minor mode already has an action in flight.', true),\n );\n }\n\n const actionPromise = new Promise<MinorModeActionResponse>((resolve, reject) => {\n let operation: PendingOperation;\n const timer = setTimeout(() => {\n fail(\n operation,\n protocolError(MINOR_MODE_ERROR_CODE.actionTimeout, 'Minor-mode owner action timed out.', true),\n 'Minor-mode action timed out.',\n );\n }, actionTimeoutMs);\n operation = {\n request: structuredClone(request),\n requesterSource,\n modeKey: key,\n timer,\n resolve,\n reject,\n };\n pending.set(request.operationId, operation);\n activeByMode.set(key, request.operationId);\n runtime.notify(MinorModeOwnerInvocation, {\n hostGeneration,\n operationId: request.operationId,\n mode: structuredClone(request.mode),\n actionId: request.actionId,\n arguments: structuredClone(request.arguments),\n sessionKind: options.sessionKind,\n deadlineAt: Date.now() + actionTimeoutMs,\n });\n });\n if (!signal) return actionPromise;\n const abort = (): void => {\n const operation = pending.get(request.operationId);\n if (!operation || operation.requesterSource !== requesterSource) return;\n fail(\n operation,\n protocolError(MINOR_MODE_ERROR_CODE.actionAborted, 'Minor-mode action was aborted.'),\n 'Minor-mode action caller aborted.',\n );\n };\n signal.addEventListener('abort', abort, { once: true });\n return actionPromise.finally(() => signal.removeEventListener('abort', abort));\n };\n\n disposers.push(\n runtime.provide(MinorModeRegistration, register),\n runtime.provide(MinorModeCatalogQuery, () => snapshot()),\n runtime.provide(MinorModeAction, (request, identity) => invoke(request, identity.source)),\n runtime.onNotification(MinorModeStateChanged, (payload, identity) => stateChanged(payload, identity)),\n runtime.onNotification(MinorModeUnregistration, (payload, identity) => unregister(payload, identity)),\n runtime.onNotification(MinorModeOwnerOutcome, (payload, identity) => ownerOutcome(payload, identity)),\n runtime.onNotification(MinorModeActionCancellation, (cancellation, identity) => {\n const operation = pending.get(cancellation.operationId);\n if (!operation || operation.requesterSource !== identity.source) return;\n fail(\n operation,\n protocolError(MINOR_MODE_ERROR_CODE.actionAborted, 'Minor-mode action was aborted.'),\n 'Minor-mode action caller aborted.',\n );\n }),\n );\n runtime.notify(MinorModeHostAvailable, { hostGeneration });\n\n return {\n generation: hostGeneration,\n getSnapshot: snapshot,\n invoke,\n dispose() {\n if (disposed) return;\n disposed = true;\n for (const operation of pending.values()) {\n fail(\n operation,\n protocolError(MINOR_MODE_ERROR_CODE.sessionReplaced, 'Minor-mode catalog session ended.'),\n 'Minor-mode catalog session ended.',\n );\n }\n for (const dispose of disposers.splice(0)) dispose();\n records.clear();\n activeByMode.clear();\n terminal.clear();\n },\n };\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { MinorModeActionRequest, MinorModeActionResponse, MinorModeCatalogSnapshot, MinorModeSessionKind } from "@agimon-ai/doompi-extension-contracts/mode";
|
|
2
|
+
import { ProtocolRuntime } from "@agimon-ai/doompi-extension-contracts/protocol";
|
|
3
|
+
|
|
4
|
+
//#region src/services/modeCatalog.d.ts
|
|
5
|
+
interface MinorModeCatalogHostOptions {
|
|
6
|
+
sessionKind: MinorModeSessionKind;
|
|
7
|
+
actionTimeoutMs?: number;
|
|
8
|
+
}
|
|
9
|
+
interface MinorModeCatalogHost {
|
|
10
|
+
readonly generation: string;
|
|
11
|
+
getSnapshot(): MinorModeCatalogSnapshot;
|
|
12
|
+
invoke(request: MinorModeActionRequest, requesterSource: string, signal?: AbortSignal): Promise<MinorModeActionResponse>;
|
|
13
|
+
dispose(): void;
|
|
14
|
+
}
|
|
15
|
+
declare function createMinorModeCatalogHost(runtime: ProtocolRuntime, options: MinorModeCatalogHostOptions): MinorModeCatalogHost;
|
|
16
|
+
//#endregion
|
|
17
|
+
export { MinorModeCatalogHost, MinorModeCatalogHostOptions, createMinorModeCatalogHost };
|
|
18
|
+
//# sourceMappingURL=modeCatalog.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"modeCatalog.d.cts","names":[],"sources":["../../src/services/modeCatalog.ts"],"mappings":";;;;UAgEiB,2BAAA;EACf,WAAA,EAAa,oBAAA;EACb,eAAA;AAAA;AAAA,UAGe,oBAAA;EAAA,SACN,UAAA;EACT,WAAA,IAAe,wBAAA;EACf,MAAA,CACE,OAAA,EAAS,sBAAA,EACT,eAAA,UACA,MAAA,GAAS,WAAA,GACR,OAAA,CAAQ,uBAAA;EACX,OAAA;AAAA;AAAA,iBA6Bc,0BAAA,CACd,OAAA,EAAS,eAAA,EACT,OAAA,EAAS,2BAAA,GACR,oBAAA"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { MinorModeActionRequest, MinorModeActionResponse, MinorModeCatalogSnapshot, MinorModeSessionKind } from "@agimon-ai/doompi-extension-contracts/mode";
|
|
2
|
+
import { ProtocolRuntime } from "@agimon-ai/doompi-extension-contracts/protocol";
|
|
3
|
+
|
|
4
|
+
//#region src/services/modeCatalog.d.ts
|
|
5
|
+
interface MinorModeCatalogHostOptions {
|
|
6
|
+
sessionKind: MinorModeSessionKind;
|
|
7
|
+
actionTimeoutMs?: number;
|
|
8
|
+
}
|
|
9
|
+
interface MinorModeCatalogHost {
|
|
10
|
+
readonly generation: string;
|
|
11
|
+
getSnapshot(): MinorModeCatalogSnapshot;
|
|
12
|
+
invoke(request: MinorModeActionRequest, requesterSource: string, signal?: AbortSignal): Promise<MinorModeActionResponse>;
|
|
13
|
+
dispose(): void;
|
|
14
|
+
}
|
|
15
|
+
declare function createMinorModeCatalogHost(runtime: ProtocolRuntime, options: MinorModeCatalogHostOptions): MinorModeCatalogHost;
|
|
16
|
+
//#endregion
|
|
17
|
+
export { MinorModeCatalogHost, MinorModeCatalogHostOptions, createMinorModeCatalogHost };
|
|
18
|
+
//# sourceMappingURL=modeCatalog.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"modeCatalog.d.mts","names":[],"sources":["../../src/services/modeCatalog.ts"],"mappings":";;;;UAgEiB,2BAAA;EACf,WAAA,EAAa,oBAAA;EACb,eAAA;AAAA;AAAA,UAGe,oBAAA;EAAA,SACN,UAAA;EACT,WAAA,IAAe,wBAAA;EACf,MAAA,CACE,OAAA,EAAS,sBAAA,EACT,eAAA,UACA,MAAA,GAAS,WAAA,GACR,OAAA,CAAQ,uBAAA;EACX,OAAA;AAAA;AAAA,iBA6Bc,0BAAA,CACd,OAAA,EAAS,eAAA,EACT,OAAA,EAAS,2BAAA,GACR,oBAAA"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{MINOR_MODE_ACTION_TIMEOUT_MS as e,MINOR_MODE_CATALOG_SOURCE as t,MINOR_MODE_ERROR_CODE as n,MINOR_MODE_MAX_RECORDS as r,MINOR_MODE_TERMINAL_OPERATION_LIMIT as i,MinorModeAction as a,MinorModeActionCancellation as o,MinorModeCatalogChanged as s,MinorModeCatalogQuery as c,MinorModeHostAvailable as l,MinorModeOwnerCancellation as u,MinorModeOwnerInvocation as d,MinorModeOwnerOutcome as f,MinorModeRegistration as p,MinorModeStateChanged as m,MinorModeUnregistration as h,minorModeKey as g,validateMinorModeActionArguments as _,validateMinorModeDefinition as v}from"@agimon-ai/doompi-extension-contracts/mode";import{DoomProtocolError as y}from"@agimon-ai/doompi-extension-contracts/protocol";function b(e,t,n=!1){return new y({code:e,message:t,retryable:n})}function x(e,t){return e.descriptor.source===t.source&&e.descriptor.id===t.id&&e.ownerGeneration===t.ownerGeneration&&e.registrationId===t.registrationId}function S(e,t){return JSON.stringify(e)===JSON.stringify(t)}function C(e,t){return e.ownerGeneration===t.ownerGeneration&&e.stateRevision===t.stateRevision&&JSON.stringify(e.descriptor)===JSON.stringify(t.descriptor)&&JSON.stringify(e.state)===JSON.stringify(t.state)}function w(w,T){let E=`${t}:${crypto.randomUUID()}`,D=T.actionTimeoutMs??e,O=new Map,k=new Map,A=new Map,j=new Map,M=[],N=0,P=!1,F=()=>({hostGeneration:E,revision:N,modes:[...O.values()].map(e=>structuredClone(e)).sort((e,t)=>e.descriptor.order-t.descriptor.order||e.descriptor.source.localeCompare(t.descriptor.source)||e.descriptor.id.localeCompare(t.descriptor.id))}),I=()=>{N+=1,w.notify(s,F())},L=(e,t)=>{j.set(e,t),j.size>i&&j.delete(j.keys().next().value)},R=(e,t)=>{w.notify(u,{hostGeneration:E,operationId:e.request.operationId,mode:structuredClone(e.request.mode),reason:t})},z=e=>{clearTimeout(e.timer),k.delete(e.request.operationId),A.get(e.modeKey)===e.request.operationId&&A.delete(e.modeKey)},B=(e,t,n)=>{z(e),n&&R(e,n);let r={code:t.code,message:t.message,retryable:t.retryable};L(e.request.operationId,{status:`failed`,request:structuredClone(e.request),requesterSource:e.requesterSource,error:r}),e.reject(t)},V=(e,t,n)=>{for(let r of k.values())r.modeKey===e&&B(r,t,n)},H=(e,t)=>{if(P)throw b(n.sessionReplaced,`Minor-mode catalog is disposed.`);if(t.source!==e.descriptor.source)throw b(n.registrationConflict,`Registration source does not match its envelope.`);let i=v(e.descriptor,e.state);if(i)throw b(n.registrationConflict,i);let a=g(e.descriptor),o=O.get(a);if(o){if(!C(o,e))throw b(n.registrationConflict,`Minor mode '${e.descriptor.source}/${e.descriptor.id}' already has a live owner.`);return{hostGeneration:E,registrationId:o.registrationId,catalogRevision:N}}if(O.size>=r)throw b(n.registrationConflict,`Minor-mode catalog capacity reached.`);let s={descriptor:structuredClone(e.descriptor),state:structuredClone(e.state),ownerGeneration:e.ownerGeneration,registrationId:`minor-mode-registration:${crypto.randomUUID()}`,stateRevision:e.stateRevision};return O.set(a,s),I(),{hostGeneration:E,registrationId:s.registrationId,catalogRevision:N}},U=(e,t)=>{if(t.source!==e.source||e.hostGeneration!==E)return;let n=g(e),r=O.get(n);!r||!x(r,e)||e.stateRevision<=r.stateRevision||v(r.descriptor,e.state)||(O.set(n,{...r,state:structuredClone(e.state),stateRevision:e.stateRevision}),I())},W=(e,t)=>{if(t.source!==e.source||e.hostGeneration!==E)return;let r=g(e),i=O.get(r);!i||!x(i,e)||(O.delete(r),V(r,b(n.staleRegistration,`Minor-mode owner unregistered.`),`Minor-mode owner unregistered.`),I())},G=(e,t)=>{if(z(e),t.status===`failed`){let n=new y(t.error);L(e.request.operationId,{status:`failed`,request:structuredClone(e.request),requesterSource:e.requesterSource,error:t.error}),e.reject(n);return}let r=O.get(e.modeKey);if(!r||!x(r,e.request.mode)){let t=b(n.staleRegistration,`Minor-mode owner changed during action.`);L(e.request.operationId,{status:`failed`,request:structuredClone(e.request),requesterSource:e.requesterSource,error:{code:t.code,message:t.message,retryable:t.retryable}}),e.reject(t);return}let i={operationId:e.request.operationId,catalogRevision:N,mode:structuredClone(r),...t.message?{message:t.message}:{}};L(e.request.operationId,{status:`completed`,request:structuredClone(e.request),requesterSource:e.requesterSource,response:i}),e.resolve(i)},K=(e,t)=>{if(t.source!==e.mode.source||e.hostGeneration!==E)return;let n=k.get(e.operationId);if(!n)return;let r=O.get(n.modeKey);!r||!x(r,e.mode)||!x(r,n.request.mode)||G(n,e)},q=(e,t,r)=>{if(r?.aborted)return Promise.reject(b(n.actionAborted,`Minor-mode action was aborted.`));if(P)return Promise.reject(b(n.sessionReplaced,`Minor-mode catalog is disposed.`));let i=j.get(e.operationId);if(i)return i.requesterSource!==t||!S(i.request,e)?Promise.reject(b(n.invalidArguments,`Operation id is already used by another request.`)):i.status===`completed`?Promise.resolve(structuredClone(i.response)):Promise.reject(new y(i.error));let a=k.get(e.operationId);if(a)return a.requesterSource!==t||!S(a.request,e)?Promise.reject(b(n.invalidArguments,`Operation id is already used by another request.`)):new Promise((e,t)=>{let n=a.resolve,r=a.reject;a.resolve=t=>{n(t),e(structuredClone(t))},a.reject=e=>{r(e),t(e)}});let o=g(e.mode),s=O.get(o);if(!s)return Promise.reject(b(n.modeNotFound,`Minor mode is unavailable.`));if(!x(s,e.mode))return Promise.reject(b(n.staleRegistration,`Minor-mode reference is stale.`));let c=s.descriptor.actions.find(({id:t})=>t===e.actionId);if(!c)return Promise.reject(b(n.actionNotFound,`Minor-mode action is unknown.`));let l=s.state.actions.find(({id:t})=>t===e.actionId);if(!l?.enabled)return Promise.reject(b(n.actionDisabled,l?.disabledReason??`Action '${e.actionId}' is disabled.`));if(!c.contexts.includes(T.sessionKind))return Promise.reject(b(n.unsupportedContext,`Action '${e.actionId}' is unavailable in ${T.sessionKind} sessions.`));try{_(c,e.arguments)}catch(e){return Promise.reject(e)}if(A.has(o))return Promise.reject(b(n.modeBusy,`Minor mode already has an action in flight.`,!0));let u=new Promise((r,i)=>{let a,s=setTimeout(()=>{B(a,b(n.actionTimeout,`Minor-mode owner action timed out.`,!0),`Minor-mode action timed out.`)},D);a={request:structuredClone(e),requesterSource:t,modeKey:o,timer:s,resolve:r,reject:i},k.set(e.operationId,a),A.set(o,e.operationId),w.notify(d,{hostGeneration:E,operationId:e.operationId,mode:structuredClone(e.mode),actionId:e.actionId,arguments:structuredClone(e.arguments),sessionKind:T.sessionKind,deadlineAt:Date.now()+D})});if(!r)return u;let f=()=>{let r=k.get(e.operationId);!r||r.requesterSource!==t||B(r,b(n.actionAborted,`Minor-mode action was aborted.`),`Minor-mode action caller aborted.`)};return r.addEventListener(`abort`,f,{once:!0}),u.finally(()=>r.removeEventListener(`abort`,f))};return M.push(w.provide(p,H),w.provide(c,()=>F()),w.provide(a,(e,t)=>q(e,t.source)),w.onNotification(m,(e,t)=>U(e,t)),w.onNotification(h,(e,t)=>W(e,t)),w.onNotification(f,(e,t)=>K(e,t)),w.onNotification(o,(e,t)=>{let r=k.get(e.operationId);!r||r.requesterSource!==t.source||B(r,b(n.actionAborted,`Minor-mode action was aborted.`),`Minor-mode action caller aborted.`)})),w.notify(l,{hostGeneration:E}),{generation:E,getSnapshot:F,invoke:q,dispose(){if(!P){P=!0;for(let e of k.values())B(e,b(n.sessionReplaced,`Minor-mode catalog session ended.`),`Minor-mode catalog session ended.`);for(let e of M.splice(0))e();O.clear(),A.clear(),j.clear()}}}}export{w as createMinorModeCatalogHost};
|
|
2
|
+
//# sourceMappingURL=modeCatalog.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"modeCatalog.mjs","names":[],"sources":["../../src/services/modeCatalog.ts"],"sourcesContent":["import {\n MINOR_MODE_ACTION_TIMEOUT_MS,\n MINOR_MODE_CATALOG_SOURCE,\n MINOR_MODE_ERROR_CODE,\n MINOR_MODE_MAX_RECORDS,\n MINOR_MODE_TERMINAL_OPERATION_LIMIT,\n MinorModeAction,\n MinorModeActionCancellation,\n type MinorModeActionRequest,\n type MinorModeActionResponse,\n MinorModeCatalogChanged,\n MinorModeCatalogQuery,\n type MinorModeCatalogSnapshot,\n MinorModeHostAvailable,\n MinorModeOwnerCancellation,\n MinorModeOwnerInvocation,\n MinorModeOwnerOutcome,\n type MinorModeOwnerOutcomePayload,\n type MinorModeRecord,\n MinorModeRegistration,\n type MinorModeRegistrationRef,\n type MinorModeRegistrationRequest,\n type MinorModeRegistrationResponse,\n type MinorModeSessionKind,\n MinorModeStateChanged,\n type MinorModeStateChangedPayload,\n MinorModeUnregistration,\n type MinorModeUnregistrationPayload,\n minorModeKey,\n validateMinorModeActionArguments,\n validateMinorModeDefinition,\n} from '@agimon-ai/doompi-extension-contracts/mode';\nimport {\n DoomProtocolError,\n type ProtocolErrorPayload,\n type ProtocolIdentity,\n type ProtocolRuntime,\n} from '@agimon-ai/doompi-extension-contracts/protocol';\n\ninterface PendingOperation {\n request: MinorModeActionRequest;\n requesterSource: string;\n modeKey: string;\n timer: ReturnType<typeof setTimeout>;\n resolve(this: void, value: MinorModeActionResponse): void;\n reject(this: void, error: DoomProtocolError): void;\n}\n\ninterface TerminalSuccess {\n status: 'completed';\n request: MinorModeActionRequest;\n requesterSource: string;\n response: MinorModeActionResponse;\n}\n\ninterface TerminalFailure {\n status: 'failed';\n request: MinorModeActionRequest;\n requesterSource: string;\n error: ProtocolErrorPayload;\n}\n\ntype TerminalOperation = TerminalSuccess | TerminalFailure;\n\nexport interface MinorModeCatalogHostOptions {\n sessionKind: MinorModeSessionKind;\n actionTimeoutMs?: number;\n}\n\nexport interface MinorModeCatalogHost {\n readonly generation: string;\n getSnapshot(): MinorModeCatalogSnapshot;\n invoke(\n request: MinorModeActionRequest,\n requesterSource: string,\n signal?: AbortSignal,\n ): Promise<MinorModeActionResponse>;\n dispose(): void;\n}\n\nfunction protocolError(code: string, message: string, retryable = false): DoomProtocolError {\n return new DoomProtocolError({ code, message, retryable });\n}\n\nfunction sameRegistration(record: MinorModeRecord, ref: MinorModeRegistrationRef): boolean {\n return (\n record.descriptor.source === ref.source &&\n record.descriptor.id === ref.id &&\n record.ownerGeneration === ref.ownerGeneration &&\n record.registrationId === ref.registrationId\n );\n}\n\nfunction sameRequest(left: MinorModeActionRequest, right: MinorModeActionRequest): boolean {\n return JSON.stringify(left) === JSON.stringify(right);\n}\n\nfunction sameRegistrationPayload(record: MinorModeRecord, request: MinorModeRegistrationRequest): boolean {\n return (\n record.ownerGeneration === request.ownerGeneration &&\n record.stateRevision === request.stateRevision &&\n JSON.stringify(record.descriptor) === JSON.stringify(request.descriptor) &&\n JSON.stringify(record.state) === JSON.stringify(request.state)\n );\n}\n\nexport function createMinorModeCatalogHost(\n runtime: ProtocolRuntime,\n options: MinorModeCatalogHostOptions,\n): MinorModeCatalogHost {\n const hostGeneration = `${MINOR_MODE_CATALOG_SOURCE}:${crypto.randomUUID()}`;\n const actionTimeoutMs = options.actionTimeoutMs ?? MINOR_MODE_ACTION_TIMEOUT_MS;\n const records = new Map<string, MinorModeRecord>();\n const pending = new Map<string, PendingOperation>();\n const activeByMode = new Map<string, string>();\n const terminal = new Map<string, TerminalOperation>();\n const disposers: Array<() => void> = [];\n let revision = 0;\n let disposed = false;\n\n const snapshot = (): MinorModeCatalogSnapshot => ({\n hostGeneration,\n revision,\n modes: [...records.values()]\n .map((record) => structuredClone(record))\n .sort(\n (left, right) =>\n left.descriptor.order - right.descriptor.order ||\n left.descriptor.source.localeCompare(right.descriptor.source) ||\n left.descriptor.id.localeCompare(right.descriptor.id),\n ),\n });\n\n const publish = (): void => {\n revision += 1;\n runtime.notify(MinorModeCatalogChanged, snapshot());\n };\n\n const remember = (operationId: string, outcome: TerminalOperation): void => {\n terminal.set(operationId, outcome);\n if (terminal.size > MINOR_MODE_TERMINAL_OPERATION_LIMIT) {\n terminal.delete(terminal.keys().next().value as string);\n }\n };\n\n const cancelOwner = (operation: PendingOperation, reason: string): void => {\n runtime.notify(MinorModeOwnerCancellation, {\n hostGeneration,\n operationId: operation.request.operationId,\n mode: structuredClone(operation.request.mode),\n reason,\n });\n };\n\n const removePending = (operation: PendingOperation): void => {\n clearTimeout(operation.timer);\n pending.delete(operation.request.operationId);\n if (activeByMode.get(operation.modeKey) === operation.request.operationId) {\n activeByMode.delete(operation.modeKey);\n }\n };\n\n const fail = (operation: PendingOperation, error: DoomProtocolError, cancelReason?: string): void => {\n removePending(operation);\n if (cancelReason) cancelOwner(operation, cancelReason);\n const payload = { code: error.code, message: error.message, retryable: error.retryable };\n remember(operation.request.operationId, {\n status: 'failed',\n request: structuredClone(operation.request),\n requesterSource: operation.requesterSource,\n error: payload,\n });\n operation.reject(error);\n };\n\n const cancelModeOperations = (key: string, error: DoomProtocolError, reason: string): void => {\n for (const operation of pending.values()) {\n if (operation.modeKey === key) fail(operation, error, reason);\n }\n };\n\n const register = (\n request: MinorModeRegistrationRequest,\n identity: ProtocolIdentity,\n ): MinorModeRegistrationResponse => {\n if (disposed) throw protocolError(MINOR_MODE_ERROR_CODE.sessionReplaced, 'Minor-mode catalog is disposed.');\n if (identity.source !== request.descriptor.source) {\n throw protocolError(\n MINOR_MODE_ERROR_CODE.registrationConflict,\n 'Registration source does not match its envelope.',\n );\n }\n const definitionError = validateMinorModeDefinition(request.descriptor, request.state);\n if (definitionError) throw protocolError(MINOR_MODE_ERROR_CODE.registrationConflict, definitionError);\n const key = minorModeKey(request.descriptor);\n const existing = records.get(key);\n if (existing) {\n if (!sameRegistrationPayload(existing, request)) {\n throw protocolError(\n MINOR_MODE_ERROR_CODE.registrationConflict,\n `Minor mode '${request.descriptor.source}/${request.descriptor.id}' already has a live owner.`,\n );\n }\n return { hostGeneration, registrationId: existing.registrationId, catalogRevision: revision };\n }\n if (records.size >= MINOR_MODE_MAX_RECORDS) {\n throw protocolError(MINOR_MODE_ERROR_CODE.registrationConflict, 'Minor-mode catalog capacity reached.');\n }\n const record: MinorModeRecord = {\n descriptor: structuredClone(request.descriptor),\n state: structuredClone(request.state),\n ownerGeneration: request.ownerGeneration,\n registrationId: `minor-mode-registration:${crypto.randomUUID()}`,\n stateRevision: request.stateRevision,\n };\n records.set(key, record);\n publish();\n return { hostGeneration, registrationId: record.registrationId, catalogRevision: revision };\n };\n\n const stateChanged = (update: MinorModeStateChangedPayload, identity: ProtocolIdentity): void => {\n if (identity.source !== update.source || update.hostGeneration !== hostGeneration) return;\n const key = minorModeKey(update);\n const record = records.get(key);\n if (!record || !sameRegistration(record, update) || update.stateRevision <= record.stateRevision) return;\n const definitionError = validateMinorModeDefinition(record.descriptor, update.state);\n if (definitionError) return;\n records.set(key, { ...record, state: structuredClone(update.state), stateRevision: update.stateRevision });\n publish();\n };\n\n const unregister = (registration: MinorModeUnregistrationPayload, identity: ProtocolIdentity): void => {\n if (identity.source !== registration.source || registration.hostGeneration !== hostGeneration) return;\n const key = minorModeKey(registration);\n const record = records.get(key);\n if (!record || !sameRegistration(record, registration)) return;\n records.delete(key);\n cancelModeOperations(\n key,\n protocolError(MINOR_MODE_ERROR_CODE.staleRegistration, 'Minor-mode owner unregistered.'),\n 'Minor-mode owner unregistered.',\n );\n publish();\n };\n\n const complete = (operation: PendingOperation, outcome: MinorModeOwnerOutcomePayload): void => {\n removePending(operation);\n if (outcome.status === 'failed') {\n const error = new DoomProtocolError(outcome.error);\n remember(operation.request.operationId, {\n status: 'failed',\n request: structuredClone(operation.request),\n requesterSource: operation.requesterSource,\n error: outcome.error,\n });\n operation.reject(error);\n return;\n }\n const record = records.get(operation.modeKey);\n if (!record || !sameRegistration(record, operation.request.mode)) {\n const error = protocolError(MINOR_MODE_ERROR_CODE.staleRegistration, 'Minor-mode owner changed during action.');\n remember(operation.request.operationId, {\n status: 'failed',\n request: structuredClone(operation.request),\n requesterSource: operation.requesterSource,\n error: { code: error.code, message: error.message, retryable: error.retryable },\n });\n operation.reject(error);\n return;\n }\n const response: MinorModeActionResponse = {\n operationId: operation.request.operationId,\n catalogRevision: revision,\n mode: structuredClone(record),\n ...(outcome.message ? { message: outcome.message } : {}),\n };\n remember(operation.request.operationId, {\n status: 'completed',\n request: structuredClone(operation.request),\n requesterSource: operation.requesterSource,\n response,\n });\n operation.resolve(response);\n };\n\n const ownerOutcome = (outcome: MinorModeOwnerOutcomePayload, identity: ProtocolIdentity): void => {\n if (identity.source !== outcome.mode.source || outcome.hostGeneration !== hostGeneration) return;\n const operation = pending.get(outcome.operationId);\n if (!operation) return;\n const record = records.get(operation.modeKey);\n if (!record || !sameRegistration(record, outcome.mode) || !sameRegistration(record, operation.request.mode)) return;\n complete(operation, outcome);\n };\n\n const invoke = (\n request: MinorModeActionRequest,\n requesterSource: string,\n signal?: AbortSignal,\n ): Promise<MinorModeActionResponse> => {\n if (signal?.aborted) {\n return Promise.reject(protocolError(MINOR_MODE_ERROR_CODE.actionAborted, 'Minor-mode action was aborted.'));\n }\n if (disposed) {\n return Promise.reject(protocolError(MINOR_MODE_ERROR_CODE.sessionReplaced, 'Minor-mode catalog is disposed.'));\n }\n const cached = terminal.get(request.operationId);\n if (cached) {\n if (cached.requesterSource !== requesterSource || !sameRequest(cached.request, request)) {\n return Promise.reject(\n protocolError(MINOR_MODE_ERROR_CODE.invalidArguments, 'Operation id is already used by another request.'),\n );\n }\n return cached.status === 'completed'\n ? Promise.resolve(structuredClone(cached.response))\n : Promise.reject(new DoomProtocolError(cached.error));\n }\n const existingPending = pending.get(request.operationId);\n if (existingPending) {\n if (existingPending.requesterSource !== requesterSource || !sameRequest(existingPending.request, request)) {\n return Promise.reject(\n protocolError(MINOR_MODE_ERROR_CODE.invalidArguments, 'Operation id is already used by another request.'),\n );\n }\n return new Promise((resolve, reject) => {\n const originalResolve = existingPending.resolve;\n const originalReject = existingPending.reject;\n existingPending.resolve = (value) => {\n originalResolve(value);\n resolve(structuredClone(value));\n };\n existingPending.reject = (error) => {\n originalReject(error);\n reject(error);\n };\n });\n }\n const key = minorModeKey(request.mode);\n const record = records.get(key);\n if (!record) return Promise.reject(protocolError(MINOR_MODE_ERROR_CODE.modeNotFound, 'Minor mode is unavailable.'));\n if (!sameRegistration(record, request.mode)) {\n return Promise.reject(protocolError(MINOR_MODE_ERROR_CODE.staleRegistration, 'Minor-mode reference is stale.'));\n }\n const action = record.descriptor.actions.find(({ id }) => id === request.actionId);\n if (!action)\n return Promise.reject(protocolError(MINOR_MODE_ERROR_CODE.actionNotFound, 'Minor-mode action is unknown.'));\n const availability = record.state.actions.find(({ id }) => id === request.actionId);\n if (!availability?.enabled) {\n return Promise.reject(\n protocolError(\n MINOR_MODE_ERROR_CODE.actionDisabled,\n availability?.disabledReason ?? `Action '${request.actionId}' is disabled.`,\n ),\n );\n }\n if (!action.contexts.includes(options.sessionKind)) {\n return Promise.reject(\n protocolError(\n MINOR_MODE_ERROR_CODE.unsupportedContext,\n `Action '${request.actionId}' is unavailable in ${options.sessionKind} sessions.`,\n ),\n );\n }\n try {\n validateMinorModeActionArguments(action, request.arguments);\n } catch (error) {\n return Promise.reject(error);\n }\n if (activeByMode.has(key)) {\n return Promise.reject(\n protocolError(MINOR_MODE_ERROR_CODE.modeBusy, 'Minor mode already has an action in flight.', true),\n );\n }\n\n const actionPromise = new Promise<MinorModeActionResponse>((resolve, reject) => {\n let operation: PendingOperation;\n const timer = setTimeout(() => {\n fail(\n operation,\n protocolError(MINOR_MODE_ERROR_CODE.actionTimeout, 'Minor-mode owner action timed out.', true),\n 'Minor-mode action timed out.',\n );\n }, actionTimeoutMs);\n operation = {\n request: structuredClone(request),\n requesterSource,\n modeKey: key,\n timer,\n resolve,\n reject,\n };\n pending.set(request.operationId, operation);\n activeByMode.set(key, request.operationId);\n runtime.notify(MinorModeOwnerInvocation, {\n hostGeneration,\n operationId: request.operationId,\n mode: structuredClone(request.mode),\n actionId: request.actionId,\n arguments: structuredClone(request.arguments),\n sessionKind: options.sessionKind,\n deadlineAt: Date.now() + actionTimeoutMs,\n });\n });\n if (!signal) return actionPromise;\n const abort = (): void => {\n const operation = pending.get(request.operationId);\n if (!operation || operation.requesterSource !== requesterSource) return;\n fail(\n operation,\n protocolError(MINOR_MODE_ERROR_CODE.actionAborted, 'Minor-mode action was aborted.'),\n 'Minor-mode action caller aborted.',\n );\n };\n signal.addEventListener('abort', abort, { once: true });\n return actionPromise.finally(() => signal.removeEventListener('abort', abort));\n };\n\n disposers.push(\n runtime.provide(MinorModeRegistration, register),\n runtime.provide(MinorModeCatalogQuery, () => snapshot()),\n runtime.provide(MinorModeAction, (request, identity) => invoke(request, identity.source)),\n runtime.onNotification(MinorModeStateChanged, (payload, identity) => stateChanged(payload, identity)),\n runtime.onNotification(MinorModeUnregistration, (payload, identity) => unregister(payload, identity)),\n runtime.onNotification(MinorModeOwnerOutcome, (payload, identity) => ownerOutcome(payload, identity)),\n runtime.onNotification(MinorModeActionCancellation, (cancellation, identity) => {\n const operation = pending.get(cancellation.operationId);\n if (!operation || operation.requesterSource !== identity.source) return;\n fail(\n operation,\n protocolError(MINOR_MODE_ERROR_CODE.actionAborted, 'Minor-mode action was aborted.'),\n 'Minor-mode action caller aborted.',\n );\n }),\n );\n runtime.notify(MinorModeHostAvailable, { hostGeneration });\n\n return {\n generation: hostGeneration,\n getSnapshot: snapshot,\n invoke,\n dispose() {\n if (disposed) return;\n disposed = true;\n for (const operation of pending.values()) {\n fail(\n operation,\n protocolError(MINOR_MODE_ERROR_CODE.sessionReplaced, 'Minor-mode catalog session ended.'),\n 'Minor-mode catalog session ended.',\n );\n }\n for (const dispose of disposers.splice(0)) dispose();\n records.clear();\n activeByMode.clear();\n terminal.clear();\n },\n };\n}\n"],"mappings":"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"}
|
|
@@ -1,2 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`../
|
|
2
|
-
//# sourceMappingURL=piSettings.cjs.map
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`../adapters/piSettings.cjs`);exports.AMBIENT_EXTENSION_FILTER=e.AMBIENT_EXTENSION_FILTER,exports.DOOM_EXTENSION=e.DOOM_EXTENSION,exports.mergePiSettings=e.mergePiSettings,exports.piAgentDirectory=e.piAgentDirectory,exports.piSettingsPath=e.piSettingsPath,exports.piThemeDirectory=e.piThemeDirectory,exports.readPiSettings=e.readPiSettings,exports.serializePiSettings=e.serializePiSettings,exports.writePiSettings=e.writePiSettings;
|
|
@@ -1,24 +1,2 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
//#region src/services/piSettings.d.ts
|
|
4
|
-
interface PiSettingsUpdate {
|
|
5
|
-
/** Absolute path to the doom-pi Pi extension. */
|
|
6
|
-
extensionEntry: string;
|
|
7
|
-
/** Absolute path to the generated theme file. */
|
|
8
|
-
themePath: string;
|
|
9
|
-
themeName: string;
|
|
10
|
-
}
|
|
11
|
-
declare function piSettingsPath(repoRoot: string): string;
|
|
12
|
-
/**
|
|
13
|
-
* Produces the settings content for an update, without writing it.
|
|
14
|
-
*
|
|
15
|
-
* Split out so `--check` can compare against what a sync would write.
|
|
16
|
-
*/
|
|
17
|
-
declare function mergePiSettings(current: JsonObject, repoRoot: string, update: PiSettingsUpdate): JsonObject;
|
|
18
|
-
declare function readPiSettings(repoRoot: string): JsonObject;
|
|
19
|
-
declare function serializePiSettings(settings: JsonObject): string;
|
|
20
|
-
/** Merges the doom-owned keys into the committed settings file. */
|
|
21
|
-
declare function writePiSettings(repoRoot: string, update: PiSettingsUpdate): string;
|
|
22
|
-
//#endregion
|
|
23
|
-
export { PiSettingsUpdate, mergePiSettings, piSettingsPath, readPiSettings, serializePiSettings, writePiSettings };
|
|
24
|
-
//# sourceMappingURL=piSettings.d.cts.map
|
|
1
|
+
import { AMBIENT_EXTENSION_FILTER, DOOM_EXTENSION, PiSettingsUpdate, mergePiSettings, piAgentDirectory, piSettingsPath, piThemeDirectory, readPiSettings, serializePiSettings, writePiSettings } from "../adapters/piSettings.cjs";
|
|
2
|
+
export { AMBIENT_EXTENSION_FILTER, DOOM_EXTENSION, PiSettingsUpdate, mergePiSettings, piAgentDirectory, piSettingsPath, piThemeDirectory, readPiSettings, serializePiSettings, writePiSettings };
|
|
@@ -1,24 +1,2 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
//#region src/services/piSettings.d.ts
|
|
4
|
-
interface PiSettingsUpdate {
|
|
5
|
-
/** Absolute path to the doom-pi Pi extension. */
|
|
6
|
-
extensionEntry: string;
|
|
7
|
-
/** Absolute path to the generated theme file. */
|
|
8
|
-
themePath: string;
|
|
9
|
-
themeName: string;
|
|
10
|
-
}
|
|
11
|
-
declare function piSettingsPath(repoRoot: string): string;
|
|
12
|
-
/**
|
|
13
|
-
* Produces the settings content for an update, without writing it.
|
|
14
|
-
*
|
|
15
|
-
* Split out so `--check` can compare against what a sync would write.
|
|
16
|
-
*/
|
|
17
|
-
declare function mergePiSettings(current: JsonObject, repoRoot: string, update: PiSettingsUpdate): JsonObject;
|
|
18
|
-
declare function readPiSettings(repoRoot: string): JsonObject;
|
|
19
|
-
declare function serializePiSettings(settings: JsonObject): string;
|
|
20
|
-
/** Merges the doom-owned keys into the committed settings file. */
|
|
21
|
-
declare function writePiSettings(repoRoot: string, update: PiSettingsUpdate): string;
|
|
22
|
-
//#endregion
|
|
23
|
-
export { PiSettingsUpdate, mergePiSettings, piSettingsPath, readPiSettings, serializePiSettings, writePiSettings };
|
|
24
|
-
//# sourceMappingURL=piSettings.d.mts.map
|
|
1
|
+
import { AMBIENT_EXTENSION_FILTER, DOOM_EXTENSION, PiSettingsUpdate, mergePiSettings, piAgentDirectory, piSettingsPath, piThemeDirectory, readPiSettings, serializePiSettings, writePiSettings } from "../adapters/piSettings.mjs";
|
|
2
|
+
export { AMBIENT_EXTENSION_FILTER, DOOM_EXTENSION, PiSettingsUpdate, mergePiSettings, piAgentDirectory, piSettingsPath, piThemeDirectory, readPiSettings, serializePiSettings, writePiSettings };
|
|
@@ -1,2 +1 @@
|
|
|
1
|
-
import{
|
|
2
|
-
//# sourceMappingURL=piSettings.mjs.map
|
|
1
|
+
import{AMBIENT_EXTENSION_FILTER as e,DOOM_EXTENSION as t,mergePiSettings as n,piAgentDirectory as r,piSettingsPath as i,piThemeDirectory as a,readPiSettings as o,serializePiSettings as s,writePiSettings as c}from"../adapters/piSettings.mjs";export{e as AMBIENT_EXTENSION_FILTER,t as DOOM_EXTENSION,n as mergePiSettings,r as piAgentDirectory,i as piSettingsPath,a as piThemeDirectory,o as readPiSettings,s as serializePiSettings,c as writePiSettings};
|
|
@@ -1,3 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`../
|
|
2
|
-
`);return`---\n${(0,o.stringify)(t).trim()}\n---\n\n${n}\n`}function O(e){let t={mcpServers:{}},n=t.mcpServers,r=new Map;for(let t of e){if(!i.default.existsSync(t))continue;let e=JSON.parse(i.default.readFileSync(t,`utf8`)).mcpServers??{};for(let[i,a]of Object.entries(e)){let e=n[i];if(e&&JSON.stringify(e)!==JSON.stringify(a))throw Error(`Conflicting MCP server "${i}": ${r.get(i)} and ${t}`);n[i]=a,r.set(i,t)}}return t}function k(e,t){return e?e.some(e=>e.includes(`*`)?RegExp(`^${e.split(`*`).map(A).join(`.*`)}$`).test(t):e===t):!0}function A(e){return e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`)}async function j(e,t,a){let o=t.map(e=>typeof e==`string`?{directory:e}:e),l=a.temporaryDirectory===void 0,u=a.temporaryDirectory??await i.default.promises.mkdtemp(r.default.join(s.default.tmpdir(),`doom-pi-`));await i.default.promises.mkdir(u,{mode:448,recursive:!0}),await i.default.promises.chmod(u,448);let d=r.default.join(e,`.claude`,`skills`),f=[],p=a.sharedSkills===!1?[]:C(e,d);f.push(...p.map(e=>e.path));let h=[],_=[],v=[],y=[r.default.join(e,`.mcp.json`)];for(let t of o){let n=t.directory,a=r.default.join(n,`skills`);if(i.default.existsSync(a)){let n=C(e,a).filter(e=>k(t.skills,e.name));f.push(...n.map(e=>e.path)),p.push(...n)}let o=r.default.join(n,`agents`);h.push(...w(o).map(e=>({name:T(e),path:e})).filter(e=>k(t.agents,e.name)));let s=r.default.join(n,`hooks`,`hooks.json`);t.hooks!==!1&&i.default.existsSync(s)&&_.push({pluginRoot:n,configPath:s});let c=r.default.join(n,`.mcp.json`);t.mcp!==!1&&i.default.existsSync(c)&&(y.push(c),v.push(c))}if(E(p,`skill`),E(h,`agent`),h.some(e=>e.name===`agiflow-dispatcher`))throw Error(`Conflicting agent "${c}": reserved by the agent harness`);let b=[],x,S=r.default.join(u,`agents`);if(await i.default.promises.rm(S,{recursive:!0,force:!0}),a.agents&&(h.length>0||a.dispatcherWorkflowExtension)){await i.default.promises.mkdir(S,{mode:448});for(let e of h){let t=g(i.default.readFileSync(e.path,`utf8`));await i.default.promises.writeFile(r.default.join(S,`${m(t.name)}.md`),t.content,{mode:384})}a.dispatcherWorkflowExtension&&(x=a.dispatcherWorkflowExtension,await i.default.promises.writeFile(r.default.join(S,`${c}.md`),D(a.dispatcherWorkflowExtension),{mode:384})),b.push(S)}let A;if(a.mcp){A=r.default.join(u,`mcp.json`);let t=await n.applyMcpAllowlist(O(y),a.mcpAllowlist,e,u);await i.default.promises.writeFile(A,`${JSON.stringify(t,null,2)}\n`,{mode:384})}return{temporaryDirectory:u,skillDirectories:f,skillCount:p.length,agentCount:h.length,agentDirectories:b,pluginHooks:_,dispatcherWorkflowExtensionPath:x,mcpConfigPath:A,pluginMcpConfigPaths:v,cleanup:()=>l?i.default.promises.rm(u,{recursive:!0,force:!0}):Promise.resolve()}}exports.DISPATCHER_AGENT_NAME=c,exports.adaptAgentDefinition=g,exports.collectResources=j,exports.discoverSkills=C,exports.mergeMcpConfigs=O,exports.selectWorkflowExtensionForProcess=d;
|
|
3
|
-
//# sourceMappingURL=resourceCollector.cjs.map
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`../adapters/resourceCollector.cjs`);exports.DISPATCHER_AGENT_NAME=e.DISPATCHER_AGENT_NAME,exports.adaptAgentDefinition=e.adaptAgentDefinition,exports.collectResources=e.collectResources,exports.discoverSkills=e.discoverSkills,exports.discoverSkillsAsync=e.discoverSkillsAsync,exports.mergeMcpConfigs=e.mergeMcpConfigs,exports.mergeMcpConfigsAsync=e.mergeMcpConfigsAsync,exports.selectWorkflowExtensionForProcess=e.selectWorkflowExtensionForProcess;
|
|
@@ -1,23 +1,2 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
import { PluginEntry } from "@agimon-ai/doompi-config/domains";
|
|
4
|
-
|
|
5
|
-
//#region src/services/resourceCollector.d.ts
|
|
6
|
-
declare const DISPATCHER_AGENT_NAME = "agiflow-dispatcher";
|
|
7
|
-
interface NamedResource {
|
|
8
|
-
name: string;
|
|
9
|
-
path: string;
|
|
10
|
-
digest?: string;
|
|
11
|
-
}
|
|
12
|
-
declare function selectWorkflowExtensionForProcess(workflowExtension: string | undefined, dispatcherWorkflowExtension: string | undefined, environment?: NodeJS.ProcessEnv): string | undefined;
|
|
13
|
-
declare function adaptAgentDefinition(content: string): {
|
|
14
|
-
name: string;
|
|
15
|
-
content: string;
|
|
16
|
-
};
|
|
17
|
-
/** Cached skill metadata and exact files, ready for Pi without a second tree walk. */
|
|
18
|
-
declare function discoverSkills(repoRoot: string, root: string): NamedResource[];
|
|
19
|
-
declare function mergeMcpConfigs(configPaths: string[]): JsonObject;
|
|
20
|
-
declare function collectResources(repoRoot: string, plugins: Array<string | PluginEntry>, options: HarnessResourceOptions): Promise<HarnessResources>;
|
|
21
|
-
//#endregion
|
|
22
|
-
export { DISPATCHER_AGENT_NAME, adaptAgentDefinition, collectResources, discoverSkills, mergeMcpConfigs, selectWorkflowExtensionForProcess };
|
|
23
|
-
//# sourceMappingURL=resourceCollector.d.cts.map
|
|
1
|
+
import { DISPATCHER_AGENT_NAME, adaptAgentDefinition, collectResources, discoverSkills, discoverSkillsAsync, mergeMcpConfigs, mergeMcpConfigsAsync, selectWorkflowExtensionForProcess } from "../adapters/resourceCollector.cjs";
|
|
2
|
+
export { DISPATCHER_AGENT_NAME, adaptAgentDefinition, collectResources, discoverSkills, discoverSkillsAsync, mergeMcpConfigs, mergeMcpConfigsAsync, selectWorkflowExtensionForProcess };
|
|
@@ -1,23 +1,2 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
import { PluginEntry } from "@agimon-ai/doompi-config/domains";
|
|
4
|
-
|
|
5
|
-
//#region src/services/resourceCollector.d.ts
|
|
6
|
-
declare const DISPATCHER_AGENT_NAME = "agiflow-dispatcher";
|
|
7
|
-
interface NamedResource {
|
|
8
|
-
name: string;
|
|
9
|
-
path: string;
|
|
10
|
-
digest?: string;
|
|
11
|
-
}
|
|
12
|
-
declare function selectWorkflowExtensionForProcess(workflowExtension: string | undefined, dispatcherWorkflowExtension: string | undefined, environment?: NodeJS.ProcessEnv): string | undefined;
|
|
13
|
-
declare function adaptAgentDefinition(content: string): {
|
|
14
|
-
name: string;
|
|
15
|
-
content: string;
|
|
16
|
-
};
|
|
17
|
-
/** Cached skill metadata and exact files, ready for Pi without a second tree walk. */
|
|
18
|
-
declare function discoverSkills(repoRoot: string, root: string): NamedResource[];
|
|
19
|
-
declare function mergeMcpConfigs(configPaths: string[]): JsonObject;
|
|
20
|
-
declare function collectResources(repoRoot: string, plugins: Array<string | PluginEntry>, options: HarnessResourceOptions): Promise<HarnessResources>;
|
|
21
|
-
//#endregion
|
|
22
|
-
export { DISPATCHER_AGENT_NAME, adaptAgentDefinition, collectResources, discoverSkills, mergeMcpConfigs, selectWorkflowExtensionForProcess };
|
|
23
|
-
//# sourceMappingURL=resourceCollector.d.mts.map
|
|
1
|
+
import { DISPATCHER_AGENT_NAME, adaptAgentDefinition, collectResources, discoverSkills, discoverSkillsAsync, mergeMcpConfigs, mergeMcpConfigsAsync, selectWorkflowExtensionForProcess } from "../adapters/resourceCollector.mjs";
|
|
2
|
+
export { DISPATCHER_AGENT_NAME, adaptAgentDefinition, collectResources, discoverSkills, discoverSkillsAsync, mergeMcpConfigs, mergeMcpConfigsAsync, selectWorkflowExtensionForProcess };
|
|
@@ -1,3 +1 @@
|
|
|
1
|
-
import{
|
|
2
|
-
`);return`---\n${o(t).trim()}\n---\n\n${n}\n`}function O(e){let t={mcpServers:{}},n=t.mcpServers,i=new Map;for(let t of e){if(!r.existsSync(t))continue;let e=JSON.parse(r.readFileSync(t,`utf8`)).mcpServers??{};for(let[r,a]of Object.entries(e)){let e=n[r];if(e&&JSON.stringify(e)!==JSON.stringify(a))throw Error(`Conflicting MCP server "${r}": ${i.get(r)} and ${t}`);n[r]=a,i.set(r,t)}}return t}function k(e,t){return e?e.some(e=>e.includes(`*`)?RegExp(`^${e.split(`*`).map(A).join(`.*`)}$`).test(t):e===t):!0}function A(e){return e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`)}async function j(e,i,a){let o=i.map(e=>typeof e==`string`?{directory:e}:e),l=a.temporaryDirectory===void 0,u=a.temporaryDirectory??await r.promises.mkdtemp(n.join(s.tmpdir(),`doom-pi-`));await r.promises.mkdir(u,{mode:448,recursive:!0}),await r.promises.chmod(u,448);let d=n.join(e,`.claude`,`skills`),f=[],p=a.sharedSkills===!1?[]:C(e,d);f.push(...p.map(e=>e.path));let h=[],_=[],v=[],y=[n.join(e,`.mcp.json`)];for(let t of o){let i=t.directory,a=n.join(i,`skills`);if(r.existsSync(a)){let n=C(e,a).filter(e=>k(t.skills,e.name));f.push(...n.map(e=>e.path)),p.push(...n)}let o=n.join(i,`agents`);h.push(...w(o).map(e=>({name:T(e),path:e})).filter(e=>k(t.agents,e.name)));let s=n.join(i,`hooks`,`hooks.json`);t.hooks!==!1&&r.existsSync(s)&&_.push({pluginRoot:i,configPath:s});let c=n.join(i,`.mcp.json`);t.mcp!==!1&&r.existsSync(c)&&(y.push(c),v.push(c))}if(E(p,`skill`),E(h,`agent`),h.some(e=>e.name===`agiflow-dispatcher`))throw Error(`Conflicting agent "${c}": reserved by the agent harness`);let b=[],x,S=n.join(u,`agents`);if(await r.promises.rm(S,{recursive:!0,force:!0}),a.agents&&(h.length>0||a.dispatcherWorkflowExtension)){await r.promises.mkdir(S,{mode:448});for(let e of h){let t=g(r.readFileSync(e.path,`utf8`));await r.promises.writeFile(n.join(S,`${m(t.name)}.md`),t.content,{mode:384})}a.dispatcherWorkflowExtension&&(x=a.dispatcherWorkflowExtension,await r.promises.writeFile(n.join(S,`${c}.md`),D(a.dispatcherWorkflowExtension),{mode:384})),b.push(S)}let A;if(a.mcp){A=n.join(u,`mcp.json`);let i=await t(O(y),a.mcpAllowlist,e,u);await r.promises.writeFile(A,`${JSON.stringify(i,null,2)}\n`,{mode:384})}return{temporaryDirectory:u,skillDirectories:f,skillCount:p.length,agentCount:h.length,agentDirectories:b,pluginHooks:_,dispatcherWorkflowExtensionPath:x,mcpConfigPath:A,pluginMcpConfigPaths:v,cleanup:()=>l?r.promises.rm(u,{recursive:!0,force:!0}):Promise.resolve()}}export{c as DISPATCHER_AGENT_NAME,g as adaptAgentDefinition,j as collectResources,C as discoverSkills,O as mergeMcpConfigs,d as selectWorkflowExtensionForProcess};
|
|
3
|
-
//# sourceMappingURL=resourceCollector.mjs.map
|
|
1
|
+
import{DISPATCHER_AGENT_NAME as e,adaptAgentDefinition as t,collectResources as n,discoverSkills as r,discoverSkillsAsync as i,mergeMcpConfigs as a,mergeMcpConfigsAsync as o,selectWorkflowExtensionForProcess as s}from"../adapters/resourceCollector.mjs";export{e as DISPATCHER_AGENT_NAME,t as adaptAgentDefinition,n as collectResources,r as discoverSkills,i as discoverSkillsAsync,a as mergeMcpConfigs,o as mergeMcpConfigsAsync,s as selectWorkflowExtensionForProcess};
|
|
@@ -1,2 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`../
|
|
2
|
-
//# sourceMappingURL=skillCatalog.cjs.map
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`../adapters/skillCatalog.cjs`);exports.buildSkillCatalog=e.buildSkillCatalog,exports.counter=e.counter,exports.findSkill=e.findSkill;
|