@agimon-ai/doompi 0.0.1-alpha.76 → 0.0.1-alpha.78
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/dist/_virtual/_rolldown/runtime.cjs +23 -0
- package/dist/antigravity.cjs +5 -0
- package/dist/antigravity.d.cts +2 -0
- package/dist/antigravity.d.mts +2 -0
- package/dist/antigravity.mjs +2 -0
- package/dist/api-contracts.cjs +11 -0
- package/dist/api-contracts.cjs.map +1 -0
- package/dist/api-contracts.d.cts +52 -0
- package/dist/api-contracts.d.cts.map +1 -0
- package/dist/api-contracts.d.mts +52 -0
- package/dist/api-contracts.d.mts.map +1 -0
- package/dist/api-contracts.mjs +7 -0
- package/dist/api-contracts.mjs.map +1 -0
- package/dist/base-command.cjs +3 -0
- package/dist/base-command.d.cts +2 -0
- package/dist/base-command.d.mts +2 -0
- package/dist/base-command.mjs +2 -0
- package/dist/bin/cli.cjs +29 -0
- package/dist/bin/cli.cjs.map +1 -0
- package/dist/bin/cli.d.cts +1 -0
- package/dist/bin/cli.d.mts +1 -0
- package/dist/bin/cli.mjs +30 -0
- package/dist/bin/cli.mjs.map +1 -0
- package/dist/bin/doomRunner.cjs +39 -0
- package/dist/bin/doomRunner.cjs.map +1 -0
- package/dist/bin/doomRunner.d.cts +12 -0
- package/dist/bin/doomRunner.d.cts.map +1 -0
- package/dist/bin/doomRunner.d.mts +12 -0
- package/dist/bin/doomRunner.d.mts.map +1 -0
- package/dist/bin/doomRunner.mjs +38 -0
- package/dist/bin/doomRunner.mjs.map +1 -0
- package/dist/bin/dpi.cjs +12 -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 +14 -0
- package/dist/bin/dpi.mjs.map +1 -0
- package/dist/bin/serve.cjs +11 -0
- package/dist/bin/serve.cjs.map +1 -0
- package/dist/bin/serve.d.cts +1 -0
- package/dist/bin/serve.d.mts +1 -0
- package/dist/bin/serve.mjs +13 -0
- package/dist/bin/serve.mjs.map +1 -0
- package/dist/builders/apiContractExport/index.cjs +81 -0
- package/dist/builders/apiContractExport/index.cjs.map +1 -0
- package/dist/builders/apiContractExport/index.mjs +77 -0
- package/dist/builders/apiContractExport/index.mjs.map +1 -0
- package/dist/builders/apiContracts/index.cjs +87 -0
- package/dist/builders/apiContracts/index.cjs.map +1 -0
- package/dist/builders/apiContracts/index.mjs +82 -0
- package/dist/builders/apiContracts/index.mjs.map +1 -0
- package/dist/builders/cli/bootstrapClaim.cjs +53 -0
- package/dist/builders/cli/bootstrapClaim.cjs.map +1 -0
- package/dist/builders/cli/bootstrapClaim.mjs +51 -0
- package/dist/builders/cli/bootstrapClaim.mjs.map +1 -0
- package/dist/builders/cli/bootstrapLocator/index.cjs +204 -0
- package/dist/builders/cli/bootstrapLocator/index.cjs.map +1 -0
- package/dist/builders/cli/bootstrapLocator/index.d.cts +5 -0
- package/dist/builders/cli/bootstrapLocator/index.d.cts.map +1 -0
- package/dist/builders/cli/bootstrapLocator/index.d.mts +5 -0
- package/dist/builders/cli/bootstrapLocator/index.d.mts.map +1 -0
- package/dist/builders/cli/bootstrapLocator/index.mjs +196 -0
- package/dist/builders/cli/bootstrapLocator/index.mjs.map +1 -0
- package/dist/builders/cli/composition.cjs +378 -0
- package/dist/builders/cli/composition.cjs.map +1 -0
- package/dist/builders/cli/composition.d.cts +119 -0
- package/dist/builders/cli/composition.d.cts.map +1 -0
- package/dist/builders/cli/composition.d.mts +119 -0
- package/dist/builders/cli/composition.d.mts.map +1 -0
- package/dist/builders/cli/composition.mjs +351 -0
- package/dist/builders/cli/composition.mjs.map +1 -0
- package/dist/builders/cli/compositionState.cjs +33 -0
- package/dist/builders/cli/compositionState.cjs.map +1 -0
- package/dist/builders/cli/compositionState.d.cts +9 -0
- package/dist/builders/cli/compositionState.d.cts.map +1 -0
- package/dist/builders/cli/compositionState.d.mts +9 -0
- package/dist/builders/cli/compositionState.d.mts.map +1 -0
- package/dist/builders/cli/compositionState.mjs +30 -0
- package/dist/builders/cli/compositionState.mjs.map +1 -0
- package/dist/builders/cli/constants.cjs +20 -0
- package/dist/builders/cli/constants.cjs.map +1 -0
- package/dist/builders/cli/constants.d.cts +17 -0
- package/dist/builders/cli/constants.d.cts.map +1 -0
- package/dist/builders/cli/constants.d.mts +17 -0
- package/dist/builders/cli/constants.d.mts.map +1 -0
- package/dist/builders/cli/constants.mjs +19 -0
- package/dist/builders/cli/constants.mjs.map +1 -0
- package/dist/builders/cli/contextCatalog.cjs +130 -0
- package/dist/builders/cli/contextCatalog.cjs.map +1 -0
- package/dist/builders/cli/contextCatalog.mjs +130 -0
- package/dist/builders/cli/contextCatalog.mjs.map +1 -0
- package/dist/builders/cli/dpiSettings.cjs +118 -0
- package/dist/builders/cli/dpiSettings.cjs.map +1 -0
- package/dist/builders/cli/dpiSettings.mjs +111 -0
- package/dist/builders/cli/dpiSettings.mjs.map +1 -0
- package/dist/builders/cli/entryResolution.cjs +23 -0
- package/dist/builders/cli/entryResolution.cjs.map +1 -0
- package/dist/builders/cli/entryResolution.d.cts +5 -0
- package/dist/builders/cli/entryResolution.d.cts.map +1 -0
- package/dist/builders/cli/entryResolution.d.mts +5 -0
- package/dist/builders/cli/entryResolution.d.mts.map +1 -0
- package/dist/builders/cli/entryResolution.mjs +20 -0
- package/dist/builders/cli/entryResolution.mjs.map +1 -0
- package/dist/builders/cli/extensionAssembler/index.cjs +386 -0
- package/dist/builders/cli/extensionAssembler/index.cjs.map +1 -0
- package/dist/builders/cli/extensionAssembler/index.d.cts +113 -0
- package/dist/builders/cli/extensionAssembler/index.d.cts.map +1 -0
- package/dist/builders/cli/extensionAssembler/index.d.mts +113 -0
- package/dist/builders/cli/extensionAssembler/index.d.mts.map +1 -0
- package/dist/builders/cli/extensionAssembler/index.mjs +376 -0
- package/dist/builders/cli/extensionAssembler/index.mjs.map +1 -0
- package/dist/builders/cli/harnessContext.cjs +186 -0
- package/dist/builders/cli/harnessContext.cjs.map +1 -0
- package/dist/builders/cli/harnessContext.d.cts +51 -0
- package/dist/builders/cli/harnessContext.d.cts.map +1 -0
- package/dist/builders/cli/harnessContext.d.mts +51 -0
- package/dist/builders/cli/harnessContext.d.mts.map +1 -0
- package/dist/builders/cli/harnessContext.mjs +179 -0
- package/dist/builders/cli/harnessContext.mjs.map +1 -0
- package/dist/builders/cli/index.cjs +151 -0
- package/dist/builders/cli/index.cjs.map +1 -0
- package/dist/builders/cli/index.d.cts +22 -0
- package/dist/builders/cli/index.d.cts.map +1 -0
- package/dist/builders/cli/index.d.mts +22 -0
- package/dist/builders/cli/index.d.mts.map +1 -0
- package/dist/builders/cli/index.mjs +147 -0
- package/dist/builders/cli/index.mjs.map +1 -0
- package/dist/builders/cli/launchPlan/index.cjs +102 -0
- package/dist/builders/cli/launchPlan/index.cjs.map +1 -0
- package/dist/builders/cli/launchPlan/index.d.cts +43 -0
- package/dist/builders/cli/launchPlan/index.d.cts.map +1 -0
- package/dist/builders/cli/launchPlan/index.d.mts +43 -0
- package/dist/builders/cli/launchPlan/index.d.mts.map +1 -0
- package/dist/builders/cli/launchPlan/index.mjs +100 -0
- package/dist/builders/cli/launchPlan/index.mjs.map +1 -0
- package/dist/builders/cli/launcherComposition/index.cjs +84 -0
- package/dist/builders/cli/launcherComposition/index.cjs.map +1 -0
- package/dist/builders/cli/launcherComposition/index.mjs +80 -0
- package/dist/builders/cli/launcherComposition/index.mjs.map +1 -0
- package/dist/builders/cli/piExtensionAlias/index.cjs +40 -0
- package/dist/builders/cli/piExtensionAlias/index.cjs.map +1 -0
- package/dist/builders/cli/piExtensionAlias/index.mjs +35 -0
- package/dist/builders/cli/piExtensionAlias/index.mjs.map +1 -0
- package/dist/builders/cli/piExtensionDispatcher/index.cjs +205 -0
- package/dist/builders/cli/piExtensionDispatcher/index.cjs.map +1 -0
- package/dist/builders/cli/piExtensionDispatcher/index.mjs +198 -0
- package/dist/builders/cli/piExtensionDispatcher/index.mjs.map +1 -0
- package/dist/builders/cli/prepare.cjs +64 -0
- package/dist/builders/cli/prepare.cjs.map +1 -0
- package/dist/builders/cli/prepare.mjs +62 -0
- package/dist/builders/cli/prepare.mjs.map +1 -0
- package/dist/builders/cli/projectSettings.cjs +155 -0
- package/dist/builders/cli/projectSettings.cjs.map +1 -0
- package/dist/builders/cli/projectSettings.d.cts +27 -0
- package/dist/builders/cli/projectSettings.d.cts.map +1 -0
- package/dist/builders/cli/projectSettings.d.mts +27 -0
- package/dist/builders/cli/projectSettings.d.mts.map +1 -0
- package/dist/builders/cli/projectSettings.mjs +144 -0
- package/dist/builders/cli/projectSettings.mjs.map +1 -0
- package/dist/builders/cli/runtimeBundle/index.cjs +130 -0
- package/dist/builders/cli/runtimeBundle/index.cjs.map +1 -0
- package/dist/builders/cli/runtimeBundle/index.d.cts +21 -0
- package/dist/builders/cli/runtimeBundle/index.d.cts.map +1 -0
- package/dist/builders/cli/runtimeBundle/index.d.mts +21 -0
- package/dist/builders/cli/runtimeBundle/index.d.mts.map +1 -0
- package/dist/builders/cli/runtimeBundle/index.mjs +126 -0
- package/dist/builders/cli/runtimeBundle/index.mjs.map +1 -0
- package/dist/builders/server/index.cjs +184 -0
- package/dist/builders/server/index.cjs.map +1 -0
- package/dist/builders/server/index.mjs +181 -0
- package/dist/builders/server/index.mjs.map +1 -0
- package/dist/builders/server/runtime.cjs +603 -0
- package/dist/builders/server/runtime.cjs.map +1 -0
- package/dist/builders/server/runtime.mjs +595 -0
- package/dist/builders/server/runtime.mjs.map +1 -0
- package/dist/builders/server/selectionStatus.cjs +12 -0
- package/dist/builders/server/selectionStatus.cjs.map +1 -0
- package/dist/builders/server/selectionStatus.mjs +12 -0
- package/dist/builders/server/selectionStatus.mjs.map +1 -0
- package/dist/builders/server/sessionArguments.cjs +22 -0
- package/dist/builders/server/sessionArguments.cjs.map +1 -0
- package/dist/builders/server/sessionArguments.mjs +22 -0
- package/dist/builders/server/sessionArguments.mjs.map +1 -0
- package/dist/builders/web/bundle.cjs +110 -0
- package/dist/builders/web/bundle.cjs.map +1 -0
- package/dist/builders/web/bundle.d.cts +29 -0
- package/dist/builders/web/bundle.d.cts.map +1 -0
- package/dist/builders/web/bundle.d.mts +29 -0
- package/dist/builders/web/bundle.d.mts.map +1 -0
- package/dist/builders/web/bundle.mjs +107 -0
- package/dist/builders/web/bundle.mjs.map +1 -0
- package/dist/builders/web/bundleAssetPolicy.cjs +96 -0
- package/dist/builders/web/bundleAssetPolicy.cjs.map +1 -0
- package/dist/builders/web/bundleAssetPolicy.d.cts +22 -0
- package/dist/builders/web/bundleAssetPolicy.d.cts.map +1 -0
- package/dist/builders/web/bundleAssetPolicy.d.mts +22 -0
- package/dist/builders/web/bundleAssetPolicy.d.mts.map +1 -0
- package/dist/builders/web/bundleAssetPolicy.mjs +95 -0
- package/dist/builders/web/bundleAssetPolicy.mjs.map +1 -0
- package/dist/builders/web/index.cjs +75 -0
- package/dist/builders/web/index.cjs.map +1 -0
- package/dist/builders/web/index.d.cts +29 -0
- package/dist/builders/web/index.d.cts.map +1 -0
- package/dist/builders/web/index.d.mts +29 -0
- package/dist/builders/web/index.d.mts.map +1 -0
- package/dist/builders/web/index.mjs +72 -0
- package/dist/builders/web/index.mjs.map +1 -0
- package/dist/builders/web/webDevRoots.cjs +27 -0
- package/dist/builders/web/webDevRoots.cjs.map +1 -0
- package/dist/builders/web/webDevRoots.d.cts +22 -0
- package/dist/builders/web/webDevRoots.d.cts.map +1 -0
- package/dist/builders/web/webDevRoots.d.mts +22 -0
- package/dist/builders/web/webDevRoots.d.mts.map +1 -0
- package/dist/builders/web/webDevRoots.mjs +25 -0
- package/dist/builders/web/webDevRoots.mjs.map +1 -0
- package/dist/builders/web/webPluginGenerate.cjs +113 -0
- package/dist/builders/web/webPluginGenerate.cjs.map +1 -0
- package/dist/builders/web/webPluginGenerate.d.cts +28 -0
- package/dist/builders/web/webPluginGenerate.d.cts.map +1 -0
- package/dist/builders/web/webPluginGenerate.d.mts +28 -0
- package/dist/builders/web/webPluginGenerate.d.mts.map +1 -0
- package/dist/builders/web/webPluginGenerate.mjs +106 -0
- package/dist/builders/web/webPluginGenerate.mjs.map +1 -0
- package/dist/builders/web/webPluginManifest.cjs +92 -0
- package/dist/builders/web/webPluginManifest.cjs.map +1 -0
- package/dist/builders/web/webPluginManifest.d.cts +44 -0
- package/dist/builders/web/webPluginManifest.d.cts.map +1 -0
- package/dist/builders/web/webPluginManifest.d.mts +44 -0
- package/dist/builders/web/webPluginManifest.d.mts.map +1 -0
- package/dist/builders/web/webPluginManifest.mjs +88 -0
- package/dist/builders/web/webPluginManifest.mjs.map +1 -0
- package/dist/builders/web/webPluginScan.cjs +53 -0
- package/dist/builders/web/webPluginScan.cjs.map +1 -0
- package/dist/builders/web/webPluginScan.d.cts +16 -0
- package/dist/builders/web/webPluginScan.d.cts.map +1 -0
- package/dist/builders/web/webPluginScan.d.mts +16 -0
- package/dist/builders/web/webPluginScan.d.mts.map +1 -0
- package/dist/builders/web/webPluginScan.mjs +50 -0
- package/dist/builders/web/webPluginScan.mjs.map +1 -0
- package/dist/builders/web/webPluginVite.cjs +124 -0
- package/dist/builders/web/webPluginVite.cjs.map +1 -0
- package/dist/builders/web/webPluginVite.d.cts +36 -0
- package/dist/builders/web/webPluginVite.d.cts.map +1 -0
- package/dist/builders/web/webPluginVite.d.mts +36 -0
- package/dist/builders/web/webPluginVite.d.mts.map +1 -0
- package/dist/builders/web/webPluginVite.mjs +116 -0
- package/dist/builders/web/webPluginVite.mjs.map +1 -0
- package/dist/builders/web.cjs +33 -0
- package/dist/builders/web.d.cts +9 -0
- package/dist/builders/web.d.mts +9 -0
- package/dist/builders/web.mjs +9 -0
- package/dist/cli/cliApp.cjs +177 -0
- package/dist/cli/cliApp.cjs.map +1 -0
- package/dist/cli/cliApp.d.cts +25 -0
- package/dist/cli/cliApp.d.cts.map +1 -0
- package/dist/cli/cliApp.d.mts +25 -0
- package/dist/cli/cliApp.d.mts.map +1 -0
- package/dist/cli/cliApp.mjs +175 -0
- package/dist/cli/cliApp.mjs.map +1 -0
- package/dist/cli/commands/api-export/index.cjs +65 -0
- package/dist/cli/commands/api-export/index.cjs.map +1 -0
- package/dist/cli/commands/api-export/index.mjs +61 -0
- package/dist/cli/commands/api-export/index.mjs.map +1 -0
- package/dist/cli/commands/baseCommand.cjs +16 -0
- package/dist/cli/commands/baseCommand.cjs.map +1 -0
- package/dist/cli/commands/baseCommand.d.cts +24 -0
- package/dist/cli/commands/baseCommand.d.cts.map +1 -0
- package/dist/cli/commands/baseCommand.d.mts +24 -0
- package/dist/cli/commands/baseCommand.d.mts.map +1 -0
- package/dist/cli/commands/baseCommand.mjs +16 -0
- package/dist/cli/commands/baseCommand.mjs.map +1 -0
- package/dist/cli/commands/compat/context.cjs +115 -0
- package/dist/cli/commands/compat/context.cjs.map +1 -0
- package/dist/cli/commands/compat/context.d.cts +22 -0
- package/dist/cli/commands/compat/context.d.cts.map +1 -0
- package/dist/cli/commands/compat/context.d.mts +22 -0
- package/dist/cli/commands/compat/context.d.mts.map +1 -0
- package/dist/cli/commands/compat/context.mjs +110 -0
- package/dist/cli/commands/compat/context.mjs.map +1 -0
- package/dist/cli/commands/compat/help.cjs +26 -0
- package/dist/cli/commands/compat/help.cjs.map +1 -0
- package/dist/cli/commands/compat/help.d.cts +4 -0
- package/dist/cli/commands/compat/help.d.cts.map +1 -0
- package/dist/cli/commands/compat/help.d.mts +4 -0
- package/dist/cli/commands/compat/help.d.mts.map +1 -0
- package/dist/cli/commands/compat/help.mjs +25 -0
- package/dist/cli/commands/compat/help.mjs.map +1 -0
- package/dist/cli/commands/compat/index.cjs +73 -0
- package/dist/cli/commands/compat/index.cjs.map +1 -0
- package/dist/cli/commands/compat/index.d.cts +14 -0
- package/dist/cli/commands/compat/index.d.cts.map +1 -0
- package/dist/cli/commands/compat/index.d.mts +14 -0
- package/dist/cli/commands/compat/index.d.mts.map +1 -0
- package/dist/cli/commands/compat/index.mjs +70 -0
- package/dist/cli/commands/compat/index.mjs.map +1 -0
- package/dist/cli/commands/compat/options.cjs +88 -0
- package/dist/cli/commands/compat/options.cjs.map +1 -0
- package/dist/cli/commands/compat/options.d.cts +15 -0
- package/dist/cli/commands/compat/options.d.cts.map +1 -0
- package/dist/cli/commands/compat/options.d.mts +15 -0
- package/dist/cli/commands/compat/options.d.mts.map +1 -0
- package/dist/cli/commands/compat/options.mjs +86 -0
- package/dist/cli/commands/compat/options.mjs.map +1 -0
- package/dist/cli/commands/compat/providers/antigravity.cjs +294 -0
- package/dist/cli/commands/compat/providers/antigravity.cjs.map +1 -0
- package/dist/cli/commands/compat/providers/antigravity.d.cts +9 -0
- package/dist/cli/commands/compat/providers/antigravity.d.cts.map +1 -0
- package/dist/cli/commands/compat/providers/antigravity.d.mts +9 -0
- package/dist/cli/commands/compat/providers/antigravity.d.mts.map +1 -0
- package/dist/cli/commands/compat/providers/antigravity.mjs +289 -0
- package/dist/cli/commands/compat/providers/antigravity.mjs.map +1 -0
- package/dist/cli/commands/compat/providers/codex.cjs +178 -0
- package/dist/cli/commands/compat/providers/codex.cjs.map +1 -0
- package/dist/cli/commands/compat/providers/codex.d.cts +17 -0
- package/dist/cli/commands/compat/providers/codex.d.cts.map +1 -0
- package/dist/cli/commands/compat/providers/codex.d.mts +17 -0
- package/dist/cli/commands/compat/providers/codex.d.mts.map +1 -0
- package/dist/cli/commands/compat/providers/codex.mjs +170 -0
- package/dist/cli/commands/compat/providers/codex.mjs.map +1 -0
- package/dist/cli/commands/compat/providers/index.cjs +65 -0
- package/dist/cli/commands/compat/providers/index.cjs.map +1 -0
- package/dist/cli/commands/compat/providers/index.d.cts +15 -0
- package/dist/cli/commands/compat/providers/index.d.cts.map +1 -0
- package/dist/cli/commands/compat/providers/index.d.mts +15 -0
- package/dist/cli/commands/compat/providers/index.d.mts.map +1 -0
- package/dist/cli/commands/compat/providers/index.mjs +45 -0
- package/dist/cli/commands/compat/providers/index.mjs.map +1 -0
- package/dist/cli/commands/compat/providers/process.cjs +172 -0
- package/dist/cli/commands/compat/providers/process.cjs.map +1 -0
- package/dist/cli/commands/compat/providers/process.d.cts +33 -0
- package/dist/cli/commands/compat/providers/process.d.cts.map +1 -0
- package/dist/cli/commands/compat/providers/process.d.mts +33 -0
- package/dist/cli/commands/compat/providers/process.d.mts.map +1 -0
- package/dist/cli/commands/compat/providers/process.mjs +159 -0
- package/dist/cli/commands/compat/providers/process.mjs.map +1 -0
- package/dist/cli/commands/compat/providers/shared.cjs +76 -0
- package/dist/cli/commands/compat/providers/shared.cjs.map +1 -0
- package/dist/cli/commands/compat/providers/shared.d.cts +40 -0
- package/dist/cli/commands/compat/providers/shared.d.cts.map +1 -0
- package/dist/cli/commands/compat/providers/shared.d.mts +40 -0
- package/dist/cli/commands/compat/providers/shared.d.mts.map +1 -0
- package/dist/cli/commands/compat/providers/shared.mjs +61 -0
- package/dist/cli/commands/compat/providers/shared.mjs.map +1 -0
- package/dist/cli/commands/compat/types.d.cts +31 -0
- package/dist/cli/commands/compat/types.d.cts.map +1 -0
- package/dist/cli/commands/compat/types.d.mts +31 -0
- package/dist/cli/commands/compat/types.d.mts.map +1 -0
- package/dist/cli/commands/doctor/help.cjs +19 -0
- package/dist/cli/commands/doctor/help.cjs.map +1 -0
- package/dist/cli/commands/doctor/help.d.cts +4 -0
- package/dist/cli/commands/doctor/help.d.cts.map +1 -0
- package/dist/cli/commands/doctor/help.d.mts +4 -0
- package/dist/cli/commands/doctor/help.d.mts.map +1 -0
- package/dist/cli/commands/doctor/help.mjs +19 -0
- package/dist/cli/commands/doctor/help.mjs.map +1 -0
- package/dist/cli/commands/doctor/index.cjs +116 -0
- package/dist/cli/commands/doctor/index.cjs.map +1 -0
- package/dist/cli/commands/doctor/index.d.cts +12 -0
- package/dist/cli/commands/doctor/index.d.cts.map +1 -0
- package/dist/cli/commands/doctor/index.d.mts +12 -0
- package/dist/cli/commands/doctor/index.d.mts.map +1 -0
- package/dist/cli/commands/doctor/index.mjs +112 -0
- package/dist/cli/commands/doctor/index.mjs.map +1 -0
- package/dist/cli/commands/emit-mcp/index.cjs +32 -0
- package/dist/cli/commands/emit-mcp/index.cjs.map +1 -0
- package/dist/cli/commands/emit-mcp/index.d.cts +19 -0
- package/dist/cli/commands/emit-mcp/index.d.cts.map +1 -0
- package/dist/cli/commands/emit-mcp/index.d.mts +19 -0
- package/dist/cli/commands/emit-mcp/index.d.mts.map +1 -0
- package/dist/cli/commands/emit-mcp/index.mjs +31 -0
- package/dist/cli/commands/emit-mcp/index.mjs.map +1 -0
- package/dist/cli/commands/explain/index.cjs +155 -0
- package/dist/cli/commands/explain/index.cjs.map +1 -0
- package/dist/cli/commands/explain/index.d.cts +57 -0
- package/dist/cli/commands/explain/index.d.cts.map +1 -0
- package/dist/cli/commands/explain/index.d.mts +57 -0
- package/dist/cli/commands/explain/index.d.mts.map +1 -0
- package/dist/cli/commands/explain/index.mjs +150 -0
- package/dist/cli/commands/explain/index.mjs.map +1 -0
- package/dist/cli/commands/history-export/help.cjs +18 -0
- package/dist/cli/commands/history-export/help.cjs.map +1 -0
- package/dist/cli/commands/history-export/help.d.cts +4 -0
- package/dist/cli/commands/history-export/help.d.cts.map +1 -0
- package/dist/cli/commands/history-export/help.d.mts +4 -0
- package/dist/cli/commands/history-export/help.d.mts.map +1 -0
- package/dist/cli/commands/history-export/help.mjs +18 -0
- package/dist/cli/commands/history-export/help.mjs.map +1 -0
- package/dist/cli/commands/history-export/index.cjs +76 -0
- package/dist/cli/commands/history-export/index.cjs.map +1 -0
- package/dist/cli/commands/history-export/index.mjs +74 -0
- package/dist/cli/commands/history-export/index.mjs.map +1 -0
- package/dist/cli/commands/history-import/help.cjs +20 -0
- package/dist/cli/commands/history-import/help.cjs.map +1 -0
- package/dist/cli/commands/history-import/help.d.cts +4 -0
- package/dist/cli/commands/history-import/help.d.cts.map +1 -0
- package/dist/cli/commands/history-import/help.d.mts +4 -0
- package/dist/cli/commands/history-import/help.d.mts.map +1 -0
- package/dist/cli/commands/history-import/help.mjs +20 -0
- package/dist/cli/commands/history-import/help.mjs.map +1 -0
- package/dist/cli/commands/history-import/index.cjs +78 -0
- package/dist/cli/commands/history-import/index.cjs.map +1 -0
- package/dist/cli/commands/history-import/index.mjs +75 -0
- package/dist/cli/commands/history-import/index.mjs.map +1 -0
- package/dist/cli/commands/init/constants.cjs +11 -0
- package/dist/cli/commands/init/constants.cjs.map +1 -0
- package/dist/cli/commands/init/constants.mjs +11 -0
- package/dist/cli/commands/init/constants.mjs.map +1 -0
- package/dist/cli/commands/init/help.cjs +17 -0
- package/dist/cli/commands/init/help.cjs.map +1 -0
- package/dist/cli/commands/init/help.d.cts +4 -0
- package/dist/cli/commands/init/help.d.cts.map +1 -0
- package/dist/cli/commands/init/help.d.mts +4 -0
- package/dist/cli/commands/init/help.d.mts.map +1 -0
- package/dist/cli/commands/init/help.mjs +17 -0
- package/dist/cli/commands/init/help.mjs.map +1 -0
- package/dist/cli/commands/init/index.cjs +87 -0
- package/dist/cli/commands/init/index.cjs.map +1 -0
- package/dist/cli/commands/init/index.d.cts +12 -0
- package/dist/cli/commands/init/index.d.cts.map +1 -0
- package/dist/cli/commands/init/index.d.mts +12 -0
- package/dist/cli/commands/init/index.d.mts.map +1 -0
- package/dist/cli/commands/init/index.mjs +83 -0
- package/dist/cli/commands/init/index.mjs.map +1 -0
- package/dist/cli/commands/init/presenter.cjs +170 -0
- package/dist/cli/commands/init/presenter.cjs.map +1 -0
- package/dist/cli/commands/init/presenter.d.cts +8 -0
- package/dist/cli/commands/init/presenter.d.cts.map +1 -0
- package/dist/cli/commands/init/presenter.d.mts +8 -0
- package/dist/cli/commands/init/presenter.d.mts.map +1 -0
- package/dist/cli/commands/init/presenter.mjs +170 -0
- package/dist/cli/commands/init/presenter.mjs.map +1 -0
- package/dist/cli/commands/launch/index.cjs +128 -0
- package/dist/cli/commands/launch/index.cjs.map +1 -0
- package/dist/cli/commands/launch/index.d.cts +29 -0
- package/dist/cli/commands/launch/index.d.cts.map +1 -0
- package/dist/cli/commands/launch/index.d.mts +29 -0
- package/dist/cli/commands/launch/index.d.mts.map +1 -0
- package/dist/cli/commands/launch/index.mjs +122 -0
- package/dist/cli/commands/launch/index.mjs.map +1 -0
- package/dist/cli/commands/sandbox/args.cjs +50 -0
- package/dist/cli/commands/sandbox/args.cjs.map +1 -0
- package/dist/cli/commands/sandbox/args.mjs +50 -0
- package/dist/cli/commands/sandbox/args.mjs.map +1 -0
- package/dist/cli/commands/sandbox/harness.cjs +61 -0
- package/dist/cli/commands/sandbox/harness.cjs.map +1 -0
- package/dist/cli/commands/sandbox/harness.mjs +60 -0
- package/dist/cli/commands/sandbox/harness.mjs.map +1 -0
- package/dist/cli/commands/sandbox/index.cjs +57 -0
- package/dist/cli/commands/sandbox/index.cjs.map +1 -0
- package/dist/cli/commands/sandbox/index.mjs +56 -0
- package/dist/cli/commands/sandbox/index.mjs.map +1 -0
- package/dist/cli/commands/sync/help.cjs +31 -0
- package/dist/cli/commands/sync/help.cjs.map +1 -0
- package/dist/cli/commands/sync/help.d.cts +4 -0
- package/dist/cli/commands/sync/help.d.cts.map +1 -0
- package/dist/cli/commands/sync/help.d.mts +4 -0
- package/dist/cli/commands/sync/help.d.mts.map +1 -0
- package/dist/cli/commands/sync/help.mjs +31 -0
- package/dist/cli/commands/sync/help.mjs.map +1 -0
- package/dist/cli/commands/sync/index.cjs +577 -0
- package/dist/cli/commands/sync/index.cjs.map +1 -0
- package/dist/cli/commands/sync/index.d.cts +65 -0
- package/dist/cli/commands/sync/index.d.cts.map +1 -0
- package/dist/cli/commands/sync/index.d.mts +65 -0
- package/dist/cli/commands/sync/index.d.mts.map +1 -0
- package/dist/cli/commands/sync/index.mjs +560 -0
- package/dist/cli/commands/sync/index.mjs.map +1 -0
- package/dist/cli/commands/sync/prepare.cjs +43 -0
- package/dist/cli/commands/sync/prepare.cjs.map +1 -0
- package/dist/cli/commands/sync/prepare.mjs +40 -0
- package/dist/cli/commands/sync/prepare.mjs.map +1 -0
- package/dist/cli/commands/sync/presenter.cjs +58 -0
- package/dist/cli/commands/sync/presenter.cjs.map +1 -0
- package/dist/cli/commands/sync/presenter.d.cts +16 -0
- package/dist/cli/commands/sync/presenter.d.cts.map +1 -0
- package/dist/cli/commands/sync/presenter.d.mts +16 -0
- package/dist/cli/commands/sync/presenter.d.mts.map +1 -0
- package/dist/cli/commands/sync/presenter.mjs +57 -0
- package/dist/cli/commands/sync/presenter.mjs.map +1 -0
- package/dist/cli/commands/sync/workflow.cjs +99 -0
- package/dist/cli/commands/sync/workflow.cjs.map +1 -0
- package/dist/cli/commands/sync/workflow.mjs +96 -0
- package/dist/cli/commands/sync/workflow.mjs.map +1 -0
- package/dist/cli/dpi.cjs +98 -0
- package/dist/cli/dpi.cjs.map +1 -0
- package/dist/cli/dpi.mjs +91 -0
- package/dist/cli/dpi.mjs.map +1 -0
- package/dist/cli/harnessOptions.cjs +60 -0
- package/dist/cli/harnessOptions.cjs.map +1 -0
- package/dist/cli/harnessOptions.d.cts +24 -0
- package/dist/cli/harnessOptions.d.cts.map +1 -0
- package/dist/cli/harnessOptions.d.mts +24 -0
- package/dist/cli/harnessOptions.d.mts.map +1 -0
- package/dist/cli/harnessOptions.mjs +57 -0
- package/dist/cli/harnessOptions.mjs.map +1 -0
- package/dist/cli/help.cjs +89 -0
- package/dist/cli/help.cjs.map +1 -0
- package/dist/cli/help.d.cts +12 -0
- package/dist/cli/help.d.cts.map +1 -0
- package/dist/cli/help.d.mts +12 -0
- package/dist/cli/help.d.mts.map +1 -0
- package/dist/cli/help.mjs +83 -0
- package/dist/cli/help.mjs.map +1 -0
- package/dist/cli/matrixOptions.cjs +178 -0
- package/dist/cli/matrixOptions.cjs.map +1 -0
- package/dist/cli/matrixOptions.d.cts +90 -0
- package/dist/cli/matrixOptions.d.cts.map +1 -0
- package/dist/cli/matrixOptions.d.mts +90 -0
- package/dist/cli/matrixOptions.d.mts.map +1 -0
- package/dist/cli/matrixOptions.mjs +151 -0
- package/dist/cli/matrixOptions.mjs.map +1 -0
- package/dist/cli/options.cjs +306 -0
- package/dist/cli/options.cjs.map +1 -0
- package/dist/cli/options.d.cts +5 -0
- package/dist/cli/options.d.cts.map +1 -0
- package/dist/cli/options.d.mts +5 -0
- package/dist/cli/options.d.mts.map +1 -0
- package/dist/cli/options.mjs +304 -0
- package/dist/cli/options.mjs.map +1 -0
- package/dist/cli/router.cjs +59 -0
- package/dist/cli/router.cjs.map +1 -0
- package/dist/cli/router.d.cts +32 -0
- package/dist/cli/router.d.cts.map +1 -0
- package/dist/cli/router.d.mts +32 -0
- package/dist/cli/router.d.mts.map +1 -0
- package/dist/cli/router.mjs +56 -0
- package/dist/cli/router.mjs.map +1 -0
- package/dist/cli/server/options.cjs +71 -0
- package/dist/cli/server/options.cjs.map +1 -0
- package/dist/cli/server/options.mjs +70 -0
- package/dist/cli/server/options.mjs.map +1 -0
- package/dist/cli/server/run.cjs +45 -0
- package/dist/cli/server/run.cjs.map +1 -0
- package/dist/cli/server/run.mjs +45 -0
- package/dist/cli/server/run.mjs.map +1 -0
- package/dist/cli-app.cjs +5 -0
- package/dist/cli-app.d.cts +2 -0
- package/dist/cli-app.d.mts +2 -0
- package/dist/cli-app.mjs +2 -0
- package/dist/cli.cjs +28 -0
- package/dist/cli.d.cts +11 -0
- package/dist/cli.d.mts +11 -0
- package/dist/cli.mjs +11 -0
- package/dist/codex.cjs +8 -0
- package/dist/codex.d.cts +2 -0
- package/dist/codex.d.mts +2 -0
- package/dist/codex.mjs +2 -0
- package/dist/commands.cjs +23 -0
- package/dist/commands.d.cts +9 -0
- package/dist/commands.d.mts +9 -0
- package/dist/commands.mjs +9 -0
- package/dist/compatibility-command.cjs +4 -0
- package/dist/compatibility-command.d.cts +2 -0
- package/dist/compatibility-command.d.mts +2 -0
- package/dist/compatibility-command.mjs +2 -0
- package/dist/compatibility-context.cjs +3 -0
- package/dist/compatibility-context.d.cts +2 -0
- package/dist/compatibility-context.d.mts +2 -0
- package/dist/compatibility-context.mjs +2 -0
- package/dist/compatibility-options.cjs +5 -0
- package/dist/compatibility-options.d.cts +2 -0
- package/dist/compatibility-options.d.mts +2 -0
- package/dist/compatibility-options.mjs +2 -0
- package/dist/compatibility.cjs +27 -0
- package/dist/compatibility.d.cts +6 -0
- package/dist/compatibility.d.mts +6 -0
- package/dist/compatibility.mjs +6 -0
- package/dist/compiler/cache.cjs +331 -0
- package/dist/compiler/cache.cjs.map +1 -0
- package/dist/compiler/cache.mjs +323 -0
- package/dist/compiler/cache.mjs.map +1 -0
- package/dist/compiler/index.cjs +996 -0
- package/dist/compiler/index.cjs.map +1 -0
- package/dist/compiler/index.mjs +988 -0
- package/dist/compiler/index.mjs.map +1 -0
- package/dist/compiler/inputs.cjs +83 -0
- package/dist/compiler/inputs.cjs.map +1 -0
- package/dist/compiler/inputs.mjs +78 -0
- package/dist/compiler/inputs.mjs.map +1 -0
- package/dist/composer.cjs +28 -0
- package/dist/composer.d.cts +4 -0
- package/dist/composer.d.mts +4 -0
- package/dist/composer.mjs +4 -0
- package/dist/composition/harnessState/index.cjs +48 -0
- package/dist/composition/harnessState/index.cjs.map +1 -0
- package/dist/composition/harnessState/index.d.cts +19 -0
- package/dist/composition/harnessState/index.d.cts.map +1 -0
- package/dist/composition/harnessState/index.d.mts +19 -0
- package/dist/composition/harnessState/index.d.mts.map +1 -0
- package/dist/composition/harnessState/index.mjs +34 -0
- package/dist/composition/harnessState/index.mjs.map +1 -0
- package/dist/composition/layerPackageInstaller/index.cjs +342 -0
- package/dist/composition/layerPackageInstaller/index.cjs.map +1 -0
- package/dist/composition/layerPackageInstaller/index.d.cts +45 -0
- package/dist/composition/layerPackageInstaller/index.d.cts.map +1 -0
- package/dist/composition/layerPackageInstaller/index.d.mts +45 -0
- package/dist/composition/layerPackageInstaller/index.d.mts.map +1 -0
- package/dist/composition/layerPackageInstaller/index.mjs +334 -0
- package/dist/composition/layerPackageInstaller/index.mjs.map +1 -0
- package/dist/composition/projectTrust/index.cjs +51 -0
- package/dist/composition/projectTrust/index.cjs.map +1 -0
- package/dist/composition/projectTrust/index.d.cts +22 -0
- package/dist/composition/projectTrust/index.d.cts.map +1 -0
- package/dist/composition/projectTrust/index.d.mts +22 -0
- package/dist/composition/projectTrust/index.d.mts.map +1 -0
- package/dist/composition/projectTrust/index.mjs +48 -0
- package/dist/composition/projectTrust/index.mjs.map +1 -0
- package/dist/composition/repository/index.cjs +69 -0
- package/dist/composition/repository/index.cjs.map +1 -0
- package/dist/composition/repository/index.d.cts +22 -0
- package/dist/composition/repository/index.d.cts.map +1 -0
- package/dist/composition/repository/index.d.mts +22 -0
- package/dist/composition/repository/index.d.mts.map +1 -0
- package/dist/composition/repository/index.mjs +64 -0
- package/dist/composition/repository/index.mjs.map +1 -0
- package/dist/composition/syncDrift/index.cjs +160 -0
- package/dist/composition/syncDrift/index.cjs.map +1 -0
- package/dist/composition/syncDrift/index.d.cts +41 -0
- package/dist/composition/syncDrift/index.d.cts.map +1 -0
- package/dist/composition/syncDrift/index.d.mts +41 -0
- package/dist/composition/syncDrift/index.d.mts.map +1 -0
- package/dist/composition/syncDrift/index.mjs +152 -0
- package/dist/composition/syncDrift/index.mjs.map +1 -0
- package/dist/composition/syncState/index.cjs +593 -0
- package/dist/composition/syncState/index.cjs.map +1 -0
- package/dist/composition/syncState/index.d.cts +188 -0
- package/dist/composition/syncState/index.d.cts.map +1 -0
- package/dist/composition/syncState/index.d.mts +188 -0
- package/dist/composition/syncState/index.d.mts.map +1 -0
- package/dist/composition/syncState/index.mjs +559 -0
- package/dist/composition/syncState/index.mjs.map +1 -0
- package/dist/composition/transitionLayers.cjs +17 -0
- package/dist/composition/transitionLayers.cjs.map +1 -0
- package/dist/composition/transitionLayers.d.cts +6 -0
- package/dist/composition/transitionLayers.d.cts.map +1 -0
- package/dist/composition/transitionLayers.d.mts +6 -0
- package/dist/composition/transitionLayers.d.mts.map +1 -0
- package/dist/composition/transitionLayers.mjs +16 -0
- package/dist/composition/transitionLayers.mjs.map +1 -0
- package/dist/composition/types/harness.d.cts +49 -0
- package/dist/composition/types/harness.d.cts.map +1 -0
- package/dist/composition/types/harness.d.mts +49 -0
- package/dist/composition/types/harness.d.mts.map +1 -0
- package/dist/config.cjs +163 -0
- package/dist/config.d.cts +7 -0
- package/dist/config.d.mts +7 -0
- package/dist/config.mjs +7 -0
- package/dist/emit-mcp-command.cjs +4 -0
- package/dist/emit-mcp-command.d.cts +2 -0
- package/dist/emit-mcp-command.d.mts +2 -0
- package/dist/emit-mcp-command.mjs +2 -0
- package/dist/explain-command.cjs +5 -0
- package/dist/explain-command.d.cts +2 -0
- package/dist/explain-command.d.mts +2 -0
- package/dist/explain-command.mjs +2 -0
- package/dist/extensions/agent-model.cjs +41 -0
- package/dist/extensions/agent-model.cjs.map +1 -0
- package/dist/extensions/agent-model.d.cts +22 -0
- package/dist/extensions/agent-model.d.cts.map +1 -0
- package/dist/extensions/agent-model.d.mts +22 -0
- package/dist/extensions/agent-model.d.mts.map +1 -0
- package/dist/extensions/agent-model.mjs +35 -0
- package/dist/extensions/agent-model.mjs.map +1 -0
- package/dist/extensions/composed-pi.cjs +46 -0
- package/dist/extensions/composed-pi.cjs.map +1 -0
- package/dist/extensions/composed-pi.d.cts +13 -0
- package/dist/extensions/composed-pi.d.cts.map +1 -0
- package/dist/extensions/composed-pi.d.mts +13 -0
- package/dist/extensions/composed-pi.d.mts.map +1 -0
- package/dist/extensions/composed-pi.mjs +41 -0
- package/dist/extensions/composed-pi.mjs.map +1 -0
- package/dist/extensions/context-catalog.cjs +96 -0
- package/dist/extensions/context-catalog.cjs.map +1 -0
- package/dist/extensions/context-catalog.d.cts +4 -0
- package/dist/extensions/context-catalog.d.cts.map +1 -0
- package/dist/extensions/context-catalog.d.mts +5 -0
- package/dist/extensions/context-catalog.d.mts.map +1 -0
- package/dist/extensions/context-catalog.mjs +96 -0
- package/dist/extensions/context-catalog.mjs.map +1 -0
- package/dist/extensions/cordis-finalizer.cjs +24 -0
- package/dist/extensions/cordis-finalizer.cjs.map +1 -0
- package/dist/extensions/cordis-finalizer.d.cts +7 -0
- package/dist/extensions/cordis-finalizer.d.cts.map +1 -0
- package/dist/extensions/cordis-finalizer.d.mts +7 -0
- package/dist/extensions/cordis-finalizer.d.mts.map +1 -0
- package/dist/extensions/cordis-finalizer.mjs +19 -0
- package/dist/extensions/cordis-finalizer.mjs.map +1 -0
- package/dist/extensions/cordis-host.cjs +19 -0
- package/dist/extensions/cordis-host.cjs.map +1 -0
- package/dist/extensions/cordis-host.d.cts +7 -0
- package/dist/extensions/cordis-host.d.cts.map +1 -0
- package/dist/extensions/cordis-host.d.mts +7 -0
- package/dist/extensions/cordis-host.d.mts.map +1 -0
- package/dist/extensions/cordis-host.mjs +14 -0
- package/dist/extensions/cordis-host.mjs.map +1 -0
- package/dist/extensions/effort.cjs +54 -0
- package/dist/extensions/effort.cjs.map +1 -0
- package/dist/extensions/effort.d.cts +8 -0
- package/dist/extensions/effort.d.cts.map +1 -0
- package/dist/extensions/effort.d.mts +8 -0
- package/dist/extensions/effort.d.mts.map +1 -0
- package/dist/extensions/effort.mjs +48 -0
- package/dist/extensions/effort.mjs.map +1 -0
- package/dist/extensions/launcher-bootstrap.cjs +38 -0
- package/dist/extensions/launcher-bootstrap.cjs.map +1 -0
- package/dist/extensions/launcher-bootstrap.d.cts +16 -0
- package/dist/extensions/launcher-bootstrap.d.cts.map +1 -0
- package/dist/extensions/launcher-bootstrap.d.mts +16 -0
- package/dist/extensions/launcher-bootstrap.d.mts.map +1 -0
- package/dist/extensions/launcher-bootstrap.mjs +33 -0
- package/dist/extensions/launcher-bootstrap.mjs.map +1 -0
- package/dist/extensions/ollama-provider.cjs +32 -0
- package/dist/extensions/ollama-provider.cjs.map +1 -0
- package/dist/extensions/ollama-provider.d.cts +5 -0
- package/dist/extensions/ollama-provider.d.cts.map +1 -0
- package/dist/extensions/ollama-provider.d.mts +5 -0
- package/dist/extensions/ollama-provider.d.mts.map +1 -0
- package/dist/extensions/ollama-provider.mjs +32 -0
- package/dist/extensions/ollama-provider.mjs.map +1 -0
- package/dist/extensions/pi.cjs +63 -0
- package/dist/extensions/pi.cjs.map +1 -0
- package/dist/extensions/pi.d.cts +7 -0
- package/dist/extensions/pi.d.cts.map +1 -0
- package/dist/extensions/pi.d.mts +7 -0
- package/dist/extensions/pi.d.mts.map +1 -0
- package/dist/extensions/pi.mjs +58 -0
- package/dist/extensions/pi.mjs.map +1 -0
- package/dist/extensions/server.cjs +20 -0
- package/dist/extensions/server.cjs.map +1 -0
- package/dist/extensions/server.d.cts +5 -0
- package/dist/extensions/server.d.cts.map +1 -0
- package/dist/extensions/server.d.mts +5 -0
- package/dist/extensions/server.d.mts.map +1 -0
- package/dist/extensions/server.mjs +15 -0
- package/dist/extensions/server.mjs.map +1 -0
- package/dist/extensions/style-system.cjs +234 -0
- package/dist/extensions/style-system.cjs.map +1 -0
- package/dist/extensions/style-system.d.cts +32 -0
- package/dist/extensions/style-system.d.cts.map +1 -0
- package/dist/extensions/style-system.d.mts +32 -0
- package/dist/extensions/style-system.d.mts.map +1 -0
- package/dist/extensions/style-system.mjs +219 -0
- package/dist/extensions/style-system.mjs.map +1 -0
- package/dist/extensions/terminal-child-session.cjs +76 -0
- package/dist/extensions/terminal-child-session.cjs.map +1 -0
- package/dist/extensions/terminal-child-session.d.cts +7 -0
- package/dist/extensions/terminal-child-session.d.cts.map +1 -0
- package/dist/extensions/terminal-child-session.d.mts +7 -0
- package/dist/extensions/terminal-child-session.d.mts.map +1 -0
- package/dist/extensions/terminal-child-session.mjs +69 -0
- package/dist/extensions/terminal-child-session.mjs.map +1 -0
- package/dist/extensions/transition-coordinator.cjs +154 -0
- package/dist/extensions/transition-coordinator.cjs.map +1 -0
- package/dist/extensions/transition-coordinator.d.cts +8 -0
- package/dist/extensions/transition-coordinator.d.cts.map +1 -0
- package/dist/extensions/transition-coordinator.d.mts +8 -0
- package/dist/extensions/transition-coordinator.d.mts.map +1 -0
- package/dist/extensions/transition-coordinator.mjs +146 -0
- package/dist/extensions/transition-coordinator.mjs.map +1 -0
- package/dist/harness-context.cjs +5 -0
- package/dist/harness-context.d.cts +2 -0
- package/dist/harness-context.d.mts +2 -0
- package/dist/harness-context.mjs +2 -0
- package/dist/harness-state.cjs +19 -0
- package/dist/harness-state.d.cts +2 -0
- package/dist/harness-state.d.mts +2 -0
- package/dist/harness-state.mjs +2 -0
- package/dist/help.cjs +16 -0
- package/dist/help.d.cts +8 -0
- package/dist/help.d.mts +8 -0
- package/dist/help.mjs +8 -0
- package/dist/index.cjs +368 -0
- package/dist/index.d.cts +49 -0
- package/dist/index.d.mts +49 -0
- package/dist/index.mjs +46 -0
- package/dist/init-command.cjs +4 -0
- package/dist/init-command.d.cts +2 -0
- package/dist/init-command.d.mts +2 -0
- package/dist/init-command.mjs +2 -0
- package/dist/launch-command.cjs +7 -0
- package/dist/launch-command.d.cts +2 -0
- package/dist/launch-command.d.mts +2 -0
- package/dist/launch-command.mjs +2 -0
- package/dist/matrix-options.cjs +28 -0
- package/dist/matrix-options.d.cts +2 -0
- package/dist/matrix-options.d.mts +2 -0
- package/dist/matrix-options.mjs +2 -0
- package/dist/matrix-switcher.cjs +11 -0
- package/dist/matrix-switcher.d.cts +3 -0
- package/dist/matrix-switcher.d.mts +3 -0
- package/dist/matrix-switcher.mjs +3 -0
- package/dist/mcp-filter.cjs +9 -0
- package/dist/mcp-filter.d.cts +1 -0
- package/dist/mcp-filter.d.mts +1 -0
- package/dist/mcp-filter.mjs +2 -0
- package/dist/options.cjs +3 -0
- package/dist/options.d.cts +2 -0
- package/dist/options.d.mts +2 -0
- package/dist/options.mjs +2 -0
- package/dist/process.cjs +12 -0
- package/dist/process.d.cts +2 -0
- package/dist/process.d.mts +2 -0
- package/dist/process.mjs +2 -0
- package/dist/project-trust.cjs +6 -0
- package/dist/project-trust.d.cts +2 -0
- package/dist/project-trust.d.mts +2 -0
- package/dist/project-trust.mjs +2 -0
- package/dist/repository.cjs +5 -0
- package/dist/repository.d.cts +2 -0
- package/dist/repository.d.mts +2 -0
- package/dist/repository.mjs +2 -0
- package/dist/resource-collector.cjs +9 -0
- package/dist/resource-collector.d.cts +1 -0
- package/dist/resource-collector.d.mts +1 -0
- package/dist/resource-collector.mjs +2 -0
- package/dist/services.cjs +154 -0
- package/dist/services.d.cts +21 -0
- package/dist/services.d.mts +21 -0
- package/dist/services.mjs +21 -0
- package/dist/shared.cjs +18 -0
- package/dist/shared.d.cts +2 -0
- package/dist/shared.d.mts +2 -0
- package/dist/shared.mjs +2 -0
- package/dist/sync-command.cjs +13 -0
- package/dist/sync-command.d.cts +2 -0
- package/dist/sync-command.d.mts +2 -0
- package/dist/sync-command.mjs +2 -0
- package/dist/sync-state.cjs +33 -0
- package/dist/sync-state.d.cts +2 -0
- package/dist/sync-state.d.mts +2 -0
- package/dist/sync-state.mjs +2 -0
- package/dist/utils.cjs +6 -0
- package/dist/utils.d.cts +3 -0
- package/dist/utils.d.mts +3 -0
- package/dist/utils.mjs +3 -0
- package/package.json +16 -16
|
@@ -0,0 +1,304 @@
|
|
|
1
|
+
import { ADD_DIRECTORY_OPTION, DEFAULT_MAJOR_MODE, DOMAINS_OPTION, MAJOR_MODE_OPTION, PROFILE_OPTION, REMOVED_LAYERS_OPTION, REMOVED_LAYER_OPTION, REMOVED_TARGET_OPTION, matchesOption, parseCsv, parseMajorMode, parseProfileValue, readOption, resolveAdditionalDirectories, resolveInheritedMajorMode, resolveInheritedProfile } from "./matrixOptions.mjs";
|
|
2
|
+
import path from "node:path";
|
|
3
|
+
import { defaultDomainsForMajorMode } from "@agimon-ai/doompi-config/domains";
|
|
4
|
+
//#region src/cli/options.ts
|
|
5
|
+
const KIMI_FOR_CODING = "kimi-for-coding";
|
|
6
|
+
const KIMI_FOR_CODING_HIGHSPEED = "kimi-for-coding-highspeed";
|
|
7
|
+
const KIMI_K2_6 = "kimi-k2.6";
|
|
8
|
+
const DEFAULT_PRESET = "default";
|
|
9
|
+
const KIMI_PRESET = "kimi";
|
|
10
|
+
const OLLAMA_PRESET = "ollama";
|
|
11
|
+
const OLLAMA_PREFIX = "ollama/";
|
|
12
|
+
const KIMI_CODING_PREFIX = "kimi-coding/";
|
|
13
|
+
const CLOUD_SUFFIX = ":cloud";
|
|
14
|
+
const NATIVE_FORMAT = "native";
|
|
15
|
+
const KIMI_CODE_MODEL_ENV = "KIMI_CODE_MODEL";
|
|
16
|
+
const OLLAMA_CLAUDE_MODEL_ENV = "OLLAMA_CLAUDE_MODEL";
|
|
17
|
+
const MODEL_OPTION = "--model";
|
|
18
|
+
const MODEL_SHORT_OPTION = "-m";
|
|
19
|
+
const MODE_OPTION = "--mode";
|
|
20
|
+
const THINKING_OPTION = "--thinking";
|
|
21
|
+
const PRINT_OPTION = "--print";
|
|
22
|
+
const PRINT_SHORT_OPTION = "-p";
|
|
23
|
+
const APPROVE_OPTION = "--approve";
|
|
24
|
+
const APPROVE_SHORT_OPTION = "-a";
|
|
25
|
+
const PROFILES_OPTION = "--profiles";
|
|
26
|
+
const NO_DOMAINS_OPTION = "--no-domains";
|
|
27
|
+
const PRESET_OPTION = "--preset";
|
|
28
|
+
const EFFORT_OPTION = "--effort";
|
|
29
|
+
const OUTPUT_FORMAT_OPTION = "--output-format";
|
|
30
|
+
const MUTE_OPTION = "--mute";
|
|
31
|
+
const VIBE_LINT_FORMAT = "vibe-lint";
|
|
32
|
+
const STREAM_JSON_FORMAT = "stream-json";
|
|
33
|
+
const JSON_FORMAT = "json";
|
|
34
|
+
const EXPLAIN_OPTION = "--explain";
|
|
35
|
+
const EMIT_MCP_OPTION = "--emit-mcp";
|
|
36
|
+
const PLUGIN_DIRECTORY_OPTION = "--plugin-dir";
|
|
37
|
+
const CWD_OPTION = "--cwd";
|
|
38
|
+
const CD_OPTION = "--cd";
|
|
39
|
+
const AUTOMATION_OPTION = "--automation";
|
|
40
|
+
const AUTO_STOP_OPTION = "--auto-stop";
|
|
41
|
+
const SANDBOX_OPTION = "--sandbox";
|
|
42
|
+
const ALLOW_PROTECTED_WRITES_OPTION = "--allow-protected-writes";
|
|
43
|
+
const HOOKS_OPTION = "--hooks";
|
|
44
|
+
const MCP_OPTION = "--mcp";
|
|
45
|
+
const AGENTS_OPTION = "--agents";
|
|
46
|
+
const NO_HOOKS_OPTION = "--no-hooks";
|
|
47
|
+
const NO_MCP_OPTION = "--no-mcp";
|
|
48
|
+
const NO_AGENTS_OPTION = "--no-agents";
|
|
49
|
+
const VERBOSE_OPTION = "--verbose";
|
|
50
|
+
const DANGEROUSLY_SKIP_PERMISSIONS_OPTION = "--dangerously-skip-permissions";
|
|
51
|
+
const HELP_OPTION = "--help";
|
|
52
|
+
const HELP_SHORT_OPTION = "-h";
|
|
53
|
+
const VERSION_OPTION = "--version";
|
|
54
|
+
const VERSION_SHORT_OPTION = "-v";
|
|
55
|
+
const KIMI_ALIASES = /* @__PURE__ */ new Map([
|
|
56
|
+
["k2p5", KIMI_FOR_CODING],
|
|
57
|
+
["k2p6", KIMI_FOR_CODING],
|
|
58
|
+
["k2p7", KIMI_FOR_CODING],
|
|
59
|
+
["kimi-k2.5", KIMI_FOR_CODING],
|
|
60
|
+
[KIMI_K2_6, KIMI_FOR_CODING],
|
|
61
|
+
["kimi-k2.7-code", KIMI_FOR_CODING],
|
|
62
|
+
[KIMI_FOR_CODING, KIMI_FOR_CODING],
|
|
63
|
+
[KIMI_FOR_CODING_HIGHSPEED, KIMI_FOR_CODING_HIGHSPEED]
|
|
64
|
+
]);
|
|
65
|
+
function parsePreset(value) {
|
|
66
|
+
if (value === DEFAULT_PRESET || value === KIMI_PRESET || value === OLLAMA_PRESET) return value;
|
|
67
|
+
throw new Error(`Unsupported preset: ${value}`);
|
|
68
|
+
}
|
|
69
|
+
function hasOption(args, ...names) {
|
|
70
|
+
return args.some((arg) => names.includes(arg) || names.some((name) => arg.startsWith(`${name}=`)));
|
|
71
|
+
}
|
|
72
|
+
function modelValue(args) {
|
|
73
|
+
for (let index = 0; index < args.length; index += 1) {
|
|
74
|
+
if (args[index] === MODEL_OPTION || args[index] === MODEL_SHORT_OPTION) {
|
|
75
|
+
const value = args[index + 1];
|
|
76
|
+
if (value) return {
|
|
77
|
+
index,
|
|
78
|
+
value,
|
|
79
|
+
inline: false
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
if (args[index]?.startsWith(`${MODEL_OPTION}=`)) return {
|
|
83
|
+
index,
|
|
84
|
+
value: args[index].slice(`${MODEL_OPTION}=`.length),
|
|
85
|
+
inline: true
|
|
86
|
+
};
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
function replaceModel(args, value) {
|
|
90
|
+
const selected = modelValue(args);
|
|
91
|
+
if (!selected) args.unshift(MODEL_OPTION, value);
|
|
92
|
+
else if (selected.inline) args[selected.index] = `${MODEL_OPTION}=${value}`;
|
|
93
|
+
else args[selected.index + 1] = value;
|
|
94
|
+
}
|
|
95
|
+
function normalizeProviderArgs(preset, piArgs, environment) {
|
|
96
|
+
const selected = modelValue(piArgs);
|
|
97
|
+
if (preset === KIMI_PRESET) {
|
|
98
|
+
const value = selected?.value ?? environment[KIMI_CODE_MODEL_ENV] ?? KIMI_FOR_CODING;
|
|
99
|
+
const unqualified = value.includes("/") ? value.slice(value.indexOf("/") + 1) : value;
|
|
100
|
+
replaceModel(piArgs, `${KIMI_CODING_PREFIX}${KIMI_ALIASES.get(unqualified) ?? unqualified}`);
|
|
101
|
+
}
|
|
102
|
+
if (preset === OLLAMA_PRESET) {
|
|
103
|
+
const value = selected?.value ?? environment[OLLAMA_CLAUDE_MODEL_ENV] ?? KIMI_K2_6;
|
|
104
|
+
const unqualified = value.startsWith(OLLAMA_PREFIX) ? value.slice(7) : value;
|
|
105
|
+
replaceModel(piArgs, `${OLLAMA_PREFIX}${unqualified.includes(":") ? unqualified : `${unqualified}${CLOUD_SUFFIX}`}`);
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* Answers `--help` and `--version` without reading the environment.
|
|
110
|
+
*
|
|
111
|
+
* The caller only looks at `help` and `version` for these, and never launches,
|
|
112
|
+
* so the options carry defaults rather than a resolved matrix. This exists so a
|
|
113
|
+
* stale export cannot break the one command that explains how to fix it.
|
|
114
|
+
*/
|
|
115
|
+
function parseInformationalArgs(args, currentDirectory) {
|
|
116
|
+
const help = args.some((arg) => arg === HELP_OPTION || arg === HELP_SHORT_OPTION);
|
|
117
|
+
const version = args.some((arg) => arg === VERSION_OPTION || arg === VERSION_SHORT_OPTION);
|
|
118
|
+
if (!help && !version) return void 0;
|
|
119
|
+
return {
|
|
120
|
+
options: {
|
|
121
|
+
cwd: currentDirectory,
|
|
122
|
+
profile: void 0,
|
|
123
|
+
domains: [],
|
|
124
|
+
majorMode: DEFAULT_MAJOR_MODE,
|
|
125
|
+
explain: false,
|
|
126
|
+
emitMcp: void 0,
|
|
127
|
+
pluginDirectories: [],
|
|
128
|
+
additionalDirectories: [],
|
|
129
|
+
preset: DEFAULT_PRESET,
|
|
130
|
+
outputFormat: NATIVE_FORMAT,
|
|
131
|
+
mute: false,
|
|
132
|
+
automation: false,
|
|
133
|
+
autoStop: false,
|
|
134
|
+
sandbox: false,
|
|
135
|
+
allowProtectedWrites: false,
|
|
136
|
+
hooks: true,
|
|
137
|
+
mcp: true,
|
|
138
|
+
agents: true,
|
|
139
|
+
piArgs: []
|
|
140
|
+
},
|
|
141
|
+
help,
|
|
142
|
+
version
|
|
143
|
+
};
|
|
144
|
+
}
|
|
145
|
+
function parseHarnessArgs(args, environment = process.env, currentDirectory = process.cwd(), defaultMajorMode = DEFAULT_MAJOR_MODE, defaultDomains, defaultProfile) {
|
|
146
|
+
const informational = parseInformationalArgs(args, currentDirectory);
|
|
147
|
+
if (informational) return informational;
|
|
148
|
+
let profile = resolveInheritedProfile(environment) ?? defaultProfile;
|
|
149
|
+
let profileProvided = false;
|
|
150
|
+
let majorMode = resolveInheritedMajorMode(environment, defaultMajorMode);
|
|
151
|
+
let majorModeProvided = false;
|
|
152
|
+
const domains = [];
|
|
153
|
+
const pluginDirectoryValues = [];
|
|
154
|
+
const additionalDirectoryValues = [];
|
|
155
|
+
const piArgs = [];
|
|
156
|
+
let cwd = currentDirectory;
|
|
157
|
+
let preset = parsePreset(environment["DOOMPI_PRESET"] ?? DEFAULT_PRESET);
|
|
158
|
+
let outputFormat = NATIVE_FORMAT;
|
|
159
|
+
let domainsDisabled = false;
|
|
160
|
+
let mute = false;
|
|
161
|
+
let automation = false;
|
|
162
|
+
let autoStop = false;
|
|
163
|
+
let sandbox = false;
|
|
164
|
+
let allowProtectedWrites = false;
|
|
165
|
+
let hooks = true;
|
|
166
|
+
let mcp = true;
|
|
167
|
+
let agents = true;
|
|
168
|
+
let help = false;
|
|
169
|
+
let version = false;
|
|
170
|
+
let explain = false;
|
|
171
|
+
let emitMcp;
|
|
172
|
+
for (let index = 0; index < args.length; index += 1) {
|
|
173
|
+
const arg = args[index];
|
|
174
|
+
if (matchesOption(arg, "--target")) throw new Error(`${REMOVED_TARGET_OPTION} was replaced by ${MAJOR_MODE_OPTION}`);
|
|
175
|
+
if (matchesOption(arg, "--layer")) throw new Error(`${REMOVED_LAYER_OPTION} was replaced by ${MAJOR_MODE_OPTION}`);
|
|
176
|
+
if (matchesOption(arg, "--layers")) throw new Error(`${REMOVED_LAYERS_OPTION} was removed; select one major mode with ${MAJOR_MODE_OPTION}`);
|
|
177
|
+
if (matchesOption(arg, PROFILES_OPTION)) throw new Error(`${PROFILES_OPTION} was replaced by ${DOMAINS_OPTION}`);
|
|
178
|
+
const majorModeMatch = readOption(args, index, MAJOR_MODE_OPTION);
|
|
179
|
+
if (majorModeMatch) {
|
|
180
|
+
if (majorModeProvided) throw new Error(`${MAJOR_MODE_OPTION} can only be provided once`);
|
|
181
|
+
majorMode = parseMajorMode(majorModeMatch.value, MAJOR_MODE_OPTION);
|
|
182
|
+
majorModeProvided = true;
|
|
183
|
+
index = majorModeMatch.nextIndex;
|
|
184
|
+
continue;
|
|
185
|
+
}
|
|
186
|
+
const profileMatch = readOption(args, index, PROFILE_OPTION);
|
|
187
|
+
if (profileMatch) {
|
|
188
|
+
if (profileProvided) throw new Error(`${PROFILE_OPTION} can only be provided once`);
|
|
189
|
+
profile = parseProfileValue(profileMatch.value, PROFILE_OPTION);
|
|
190
|
+
profileProvided = true;
|
|
191
|
+
index = profileMatch.nextIndex;
|
|
192
|
+
continue;
|
|
193
|
+
}
|
|
194
|
+
const domainMatch = readOption(args, index, "--domains") ?? readOption(args, index, "--domain");
|
|
195
|
+
if (domainMatch) {
|
|
196
|
+
domains.push(...parseCsv(domainMatch.value));
|
|
197
|
+
index = domainMatch.nextIndex;
|
|
198
|
+
continue;
|
|
199
|
+
}
|
|
200
|
+
const emitMcpMatch = readOption(args, index, EMIT_MCP_OPTION);
|
|
201
|
+
if (emitMcpMatch) {
|
|
202
|
+
emitMcp = path.resolve(currentDirectory, emitMcpMatch.value);
|
|
203
|
+
index = emitMcpMatch.nextIndex;
|
|
204
|
+
continue;
|
|
205
|
+
}
|
|
206
|
+
const pluginDirectoryMatch = readOption(args, index, PLUGIN_DIRECTORY_OPTION);
|
|
207
|
+
if (pluginDirectoryMatch) {
|
|
208
|
+
pluginDirectoryValues.push(pluginDirectoryMatch.value);
|
|
209
|
+
index = pluginDirectoryMatch.nextIndex;
|
|
210
|
+
continue;
|
|
211
|
+
}
|
|
212
|
+
const addDirectoryMatch = readOption(args, index, ADD_DIRECTORY_OPTION);
|
|
213
|
+
if (addDirectoryMatch) {
|
|
214
|
+
additionalDirectoryValues.push(addDirectoryMatch.value);
|
|
215
|
+
index = addDirectoryMatch.nextIndex;
|
|
216
|
+
continue;
|
|
217
|
+
}
|
|
218
|
+
const presetMatch = readOption(args, index, PRESET_OPTION);
|
|
219
|
+
if (presetMatch) {
|
|
220
|
+
preset = parsePreset(presetMatch.value);
|
|
221
|
+
index = presetMatch.nextIndex;
|
|
222
|
+
continue;
|
|
223
|
+
}
|
|
224
|
+
const cwdMatch = readOption(args, index, CWD_OPTION) ?? readOption(args, index, CD_OPTION);
|
|
225
|
+
if (cwdMatch) {
|
|
226
|
+
cwd = path.resolve(currentDirectory, cwdMatch.value);
|
|
227
|
+
index = cwdMatch.nextIndex;
|
|
228
|
+
continue;
|
|
229
|
+
}
|
|
230
|
+
const effortMatch = readOption(args, index, EFFORT_OPTION);
|
|
231
|
+
if (effortMatch) {
|
|
232
|
+
if (effortMatch.inline) piArgs.push(`${THINKING_OPTION}=${effortMatch.value}`);
|
|
233
|
+
else piArgs.push(THINKING_OPTION, effortMatch.value);
|
|
234
|
+
index = effortMatch.nextIndex;
|
|
235
|
+
continue;
|
|
236
|
+
}
|
|
237
|
+
const outputFormatMatch = readOption(args, index, OUTPUT_FORMAT_OPTION);
|
|
238
|
+
if (outputFormatMatch) {
|
|
239
|
+
const requested = outputFormatMatch.value;
|
|
240
|
+
if (requested === VIBE_LINT_FORMAT) outputFormat = VIBE_LINT_FORMAT;
|
|
241
|
+
else {
|
|
242
|
+
const mode = requested === STREAM_JSON_FORMAT ? JSON_FORMAT : requested;
|
|
243
|
+
if (outputFormatMatch.inline) piArgs.push(`${MODE_OPTION}=${mode}`);
|
|
244
|
+
else piArgs.push(MODE_OPTION, mode);
|
|
245
|
+
}
|
|
246
|
+
index = outputFormatMatch.nextIndex;
|
|
247
|
+
continue;
|
|
248
|
+
}
|
|
249
|
+
if (arg === NO_DOMAINS_OPTION) domainsDisabled = true;
|
|
250
|
+
else if (arg === EXPLAIN_OPTION) explain = true;
|
|
251
|
+
else if (arg === AUTOMATION_OPTION) automation = true;
|
|
252
|
+
else if (arg === MUTE_OPTION) mute = true;
|
|
253
|
+
else if (arg === AUTO_STOP_OPTION) autoStop = true;
|
|
254
|
+
else if (arg === SANDBOX_OPTION) sandbox = true;
|
|
255
|
+
else if (arg === ALLOW_PROTECTED_WRITES_OPTION) allowProtectedWrites = true;
|
|
256
|
+
else if (arg === HOOKS_OPTION) hooks = true;
|
|
257
|
+
else if (arg === MCP_OPTION) mcp = true;
|
|
258
|
+
else if (arg === AGENTS_OPTION) agents = true;
|
|
259
|
+
else if (arg === NO_HOOKS_OPTION) hooks = false;
|
|
260
|
+
else if (arg === NO_MCP_OPTION) mcp = false;
|
|
261
|
+
else if (arg === NO_AGENTS_OPTION) agents = false;
|
|
262
|
+
else if (arg === HELP_OPTION || arg === HELP_SHORT_OPTION) help = true;
|
|
263
|
+
else if (arg === VERSION_OPTION || arg === VERSION_SHORT_OPTION) version = true;
|
|
264
|
+
else if (arg !== VERBOSE_OPTION && arg !== DANGEROUSLY_SKIP_PERMISSIONS_OPTION) piArgs.push(arg);
|
|
265
|
+
}
|
|
266
|
+
if (domainsDisabled && domains.length > 0) throw new Error(`${NO_DOMAINS_OPTION} cannot be combined with ${DOMAINS_OPTION}`);
|
|
267
|
+
if (!domainsDisabled && domains.length === 0 && pluginDirectoryValues.length === 0) domains.push(...defaultDomainsForMajorMode(majorMode, environment, defaultDomains));
|
|
268
|
+
if (automation) {
|
|
269
|
+
if (!hasOption(piArgs, PRINT_OPTION, PRINT_SHORT_OPTION)) piArgs.unshift(PRINT_OPTION);
|
|
270
|
+
if (!hasOption(piArgs, MODE_OPTION)) piArgs.unshift(MODE_OPTION, JSON_FORMAT);
|
|
271
|
+
if (!hasOption(piArgs, APPROVE_OPTION, APPROVE_SHORT_OPTION)) piArgs.unshift(APPROVE_OPTION);
|
|
272
|
+
}
|
|
273
|
+
if (autoStop && (automation || outputFormat === VIBE_LINT_FORMAT || hasOption(piArgs, PRINT_OPTION, PRINT_SHORT_OPTION, MODE_OPTION))) throw new Error(`${AUTO_STOP_OPTION} only supports interactive Pi mode`);
|
|
274
|
+
normalizeProviderArgs(preset, piArgs, environment);
|
|
275
|
+
return {
|
|
276
|
+
options: {
|
|
277
|
+
cwd,
|
|
278
|
+
profile,
|
|
279
|
+
domains,
|
|
280
|
+
majorMode,
|
|
281
|
+
explain,
|
|
282
|
+
emitMcp,
|
|
283
|
+
pluginDirectories: pluginDirectoryValues.map((value) => path.resolve(currentDirectory, value)),
|
|
284
|
+
additionalDirectories: [.../* @__PURE__ */ new Set([...resolveAdditionalDirectories(environment, currentDirectory), ...additionalDirectoryValues.map((value) => path.resolve(currentDirectory, value))])],
|
|
285
|
+
preset,
|
|
286
|
+
outputFormat,
|
|
287
|
+
mute,
|
|
288
|
+
automation,
|
|
289
|
+
autoStop,
|
|
290
|
+
sandbox,
|
|
291
|
+
allowProtectedWrites,
|
|
292
|
+
hooks,
|
|
293
|
+
mcp,
|
|
294
|
+
agents,
|
|
295
|
+
piArgs
|
|
296
|
+
},
|
|
297
|
+
help,
|
|
298
|
+
version
|
|
299
|
+
};
|
|
300
|
+
}
|
|
301
|
+
//#endregion
|
|
302
|
+
export { parseHarnessArgs };
|
|
303
|
+
|
|
304
|
+
//# sourceMappingURL=options.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"options.mjs","names":[],"sources":["../../src/cli/options.ts"],"sourcesContent":["import path from 'node:path';\n\nimport { defaultDomainsForMajorMode } from '@agimon-ai/doompi-config/domains';\n\nimport type { HarnessOutputFormat, HarnessPreset, ParsedHarnessArgs } from '../composition/types/harness';\nimport {\n ADD_DIRECTORY_OPTION,\n DEFAULT_MAJOR_MODE,\n DOMAIN_OPTION,\n DOMAINS_OPTION,\n DOOMPI_PRESET_ENV,\n MAJOR_MODE_OPTION,\n matchesOption,\n PROFILE_OPTION,\n parseCsv,\n parseMajorMode,\n parseProfileValue,\n REMOVED_LAYER_OPTION,\n REMOVED_LAYERS_OPTION,\n REMOVED_TARGET_OPTION,\n readOption,\n resolveAdditionalDirectories,\n resolveInheritedMajorMode,\n resolveInheritedProfile,\n} from './matrixOptions';\n\nconst KIMI_FOR_CODING = 'kimi-for-coding';\nconst KIMI_FOR_CODING_HIGHSPEED = 'kimi-for-coding-highspeed';\nconst KIMI_K2_6 = 'kimi-k2.6';\nconst DEFAULT_PRESET = 'default';\nconst KIMI_PRESET = 'kimi';\nconst OLLAMA_PRESET = 'ollama';\nconst OLLAMA_PREFIX = 'ollama/';\nconst KIMI_CODING_PREFIX = 'kimi-coding/';\nconst CLOUD_SUFFIX = ':cloud';\nconst NATIVE_FORMAT = 'native';\nconst KIMI_CODE_MODEL_ENV = 'KIMI_CODE_MODEL';\nconst OLLAMA_CLAUDE_MODEL_ENV = 'OLLAMA_CLAUDE_MODEL';\nconst MODEL_OPTION = '--model';\nconst MODEL_SHORT_OPTION = '-m';\nconst MODE_OPTION = '--mode';\nconst THINKING_OPTION = '--thinking';\nconst PRINT_OPTION = '--print';\nconst PRINT_SHORT_OPTION = '-p';\nconst APPROVE_OPTION = '--approve';\nconst APPROVE_SHORT_OPTION = '-a';\nconst PROFILES_OPTION = '--profiles';\nconst NO_DOMAINS_OPTION = '--no-domains';\nconst PRESET_OPTION = '--preset';\nconst EFFORT_OPTION = '--effort';\nconst OUTPUT_FORMAT_OPTION = '--output-format';\nconst MUTE_OPTION = '--mute';\nconst VIBE_LINT_FORMAT = 'vibe-lint';\nconst STREAM_JSON_FORMAT = 'stream-json';\nconst JSON_FORMAT = 'json';\nconst EXPLAIN_OPTION = '--explain';\nconst EMIT_MCP_OPTION = '--emit-mcp';\nconst PLUGIN_DIRECTORY_OPTION = '--plugin-dir';\nconst CWD_OPTION = '--cwd';\nconst CD_OPTION = '--cd';\nconst AUTOMATION_OPTION = '--automation';\nconst AUTO_STOP_OPTION = '--auto-stop';\nconst SANDBOX_OPTION = '--sandbox';\nconst ALLOW_PROTECTED_WRITES_OPTION = '--allow-protected-writes';\nconst HOOKS_OPTION = '--hooks';\nconst MCP_OPTION = '--mcp';\nconst AGENTS_OPTION = '--agents';\nconst NO_HOOKS_OPTION = '--no-hooks';\nconst NO_MCP_OPTION = '--no-mcp';\nconst NO_AGENTS_OPTION = '--no-agents';\nconst VERBOSE_OPTION = '--verbose';\nconst DANGEROUSLY_SKIP_PERMISSIONS_OPTION = '--dangerously-skip-permissions';\nconst HELP_OPTION = '--help';\nconst HELP_SHORT_OPTION = '-h';\nconst VERSION_OPTION = '--version';\nconst VERSION_SHORT_OPTION = '-v';\n\nconst KIMI_ALIASES = new Map([\n ['k2p5', KIMI_FOR_CODING],\n ['k2p6', KIMI_FOR_CODING],\n ['k2p7', KIMI_FOR_CODING],\n ['kimi-k2.5', KIMI_FOR_CODING],\n [KIMI_K2_6, KIMI_FOR_CODING],\n ['kimi-k2.7-code', KIMI_FOR_CODING],\n [KIMI_FOR_CODING, KIMI_FOR_CODING],\n [KIMI_FOR_CODING_HIGHSPEED, KIMI_FOR_CODING_HIGHSPEED],\n]);\n\nfunction parsePreset(value: string): HarnessPreset {\n if (value === DEFAULT_PRESET || value === KIMI_PRESET || value === OLLAMA_PRESET) return value;\n throw new Error(`Unsupported preset: ${value}`);\n}\n\nfunction hasOption(args: string[], ...names: string[]): boolean {\n return args.some((arg) => names.includes(arg) || names.some((name) => arg.startsWith(`${name}=`)));\n}\n\nfunction modelValue(args: string[]): { index: number; value: string; inline: boolean } | undefined {\n for (let index = 0; index < args.length; index += 1) {\n if (args[index] === MODEL_OPTION || args[index] === MODEL_SHORT_OPTION) {\n const value = args[index + 1];\n if (value) return { index, value, inline: false };\n }\n if (args[index]?.startsWith(`${MODEL_OPTION}=`)) {\n return { index, value: args[index].slice(`${MODEL_OPTION}=`.length), inline: true };\n }\n }\n return undefined;\n}\n\nfunction replaceModel(args: string[], value: string): void {\n const selected = modelValue(args);\n if (!selected) {\n args.unshift(MODEL_OPTION, value);\n } else if (selected.inline) {\n args[selected.index] = `${MODEL_OPTION}=${value}`;\n } else {\n args[selected.index + 1] = value;\n }\n}\n\nfunction normalizeProviderArgs(preset: HarnessPreset, piArgs: string[], environment: NodeJS.ProcessEnv): void {\n const selected = modelValue(piArgs);\n if (preset === KIMI_PRESET) {\n const value = selected?.value ?? environment[KIMI_CODE_MODEL_ENV] ?? KIMI_FOR_CODING;\n const unqualified = value.includes('/') ? value.slice(value.indexOf('/') + 1) : value;\n replaceModel(piArgs, `${KIMI_CODING_PREFIX}${KIMI_ALIASES.get(unqualified) ?? unqualified}`);\n }\n if (preset === OLLAMA_PRESET) {\n const value = selected?.value ?? environment[OLLAMA_CLAUDE_MODEL_ENV] ?? KIMI_K2_6;\n const unqualified = value.startsWith(OLLAMA_PREFIX) ? value.slice(OLLAMA_PREFIX.length) : value;\n replaceModel(\n piArgs,\n `${OLLAMA_PREFIX}${unqualified.includes(':') ? unqualified : `${unqualified}${CLOUD_SUFFIX}`}`,\n );\n }\n}\n\n/**\n * Answers `--help` and `--version` without reading the environment.\n *\n * The caller only looks at `help` and `version` for these, and never launches,\n * so the options carry defaults rather than a resolved matrix. This exists so a\n * stale export cannot break the one command that explains how to fix it.\n */\nfunction parseInformationalArgs(args: string[], currentDirectory: string): ParsedHarnessArgs | undefined {\n const help = args.some((arg) => arg === HELP_OPTION || arg === HELP_SHORT_OPTION);\n const version = args.some((arg) => arg === VERSION_OPTION || arg === VERSION_SHORT_OPTION);\n if (!help && !version) return undefined;\n return {\n options: {\n cwd: currentDirectory,\n profile: undefined,\n domains: [],\n majorMode: DEFAULT_MAJOR_MODE,\n explain: false,\n emitMcp: undefined,\n pluginDirectories: [],\n additionalDirectories: [],\n preset: DEFAULT_PRESET,\n outputFormat: NATIVE_FORMAT,\n mute: false,\n automation: false,\n autoStop: false,\n sandbox: false,\n allowProtectedWrites: false,\n hooks: true,\n mcp: true,\n agents: true,\n piArgs: [],\n },\n help,\n version,\n };\n}\n\nexport function parseHarnessArgs(\n args: string[],\n environment: NodeJS.ProcessEnv = process.env,\n currentDirectory = process.cwd(),\n defaultMajorMode: string = DEFAULT_MAJOR_MODE,\n defaultDomains?: readonly string[],\n defaultProfile?: string,\n): ParsedHarnessArgs {\n const informational = parseInformationalArgs(args, currentDirectory);\n if (informational) return informational;\n\n // An inherited profile wins: a nested run stays on the persona its parent\n // chose rather than snapping back to the repository default.\n let profile = resolveInheritedProfile(environment) ?? defaultProfile;\n let profileProvided = false;\n let majorMode = resolveInheritedMajorMode(environment, defaultMajorMode);\n let majorModeProvided = false;\n const domains: string[] = [];\n // Directory options are collected verbatim and resolved once after the loop,\n // so a relative path means the same thing regardless of where --cwd appears\n // in the argument list.\n const pluginDirectoryValues: string[] = [];\n const additionalDirectoryValues: string[] = [];\n const piArgs: string[] = [];\n let cwd = currentDirectory;\n let preset = parsePreset(environment[DOOMPI_PRESET_ENV] ?? DEFAULT_PRESET);\n let outputFormat: HarnessOutputFormat = NATIVE_FORMAT;\n let domainsDisabled = false;\n let mute = false;\n let automation = false;\n let autoStop = false;\n let sandbox = false;\n let allowProtectedWrites = false;\n let hooks = true;\n let mcp = true;\n let agents = true;\n let help = false;\n let version = false;\n let explain = false;\n let emitMcp: string | undefined;\n\n for (let index = 0; index < args.length; index += 1) {\n const arg = args[index]!;\n\n if (matchesOption(arg, REMOVED_TARGET_OPTION)) {\n throw new Error(`${REMOVED_TARGET_OPTION} was replaced by ${MAJOR_MODE_OPTION}`);\n }\n if (matchesOption(arg, REMOVED_LAYER_OPTION)) {\n throw new Error(`${REMOVED_LAYER_OPTION} was replaced by ${MAJOR_MODE_OPTION}`);\n }\n if (matchesOption(arg, REMOVED_LAYERS_OPTION)) {\n throw new Error(`${REMOVED_LAYERS_OPTION} was removed; select one major mode with ${MAJOR_MODE_OPTION}`);\n }\n if (matchesOption(arg, PROFILES_OPTION)) {\n throw new Error(`${PROFILES_OPTION} was replaced by ${DOMAINS_OPTION}`);\n }\n\n const majorModeMatch = readOption(args, index, MAJOR_MODE_OPTION);\n if (majorModeMatch) {\n if (majorModeProvided) throw new Error(`${MAJOR_MODE_OPTION} can only be provided once`);\n majorMode = parseMajorMode(majorModeMatch.value, MAJOR_MODE_OPTION);\n majorModeProvided = true;\n index = majorModeMatch.nextIndex;\n continue;\n }\n\n const profileMatch = readOption(args, index, PROFILE_OPTION);\n if (profileMatch) {\n if (profileProvided) throw new Error(`${PROFILE_OPTION} can only be provided once`);\n profile = parseProfileValue(profileMatch.value, PROFILE_OPTION);\n profileProvided = true;\n index = profileMatch.nextIndex;\n continue;\n }\n\n const domainMatch = readOption(args, index, DOMAINS_OPTION) ?? readOption(args, index, DOMAIN_OPTION);\n if (domainMatch) {\n domains.push(...parseCsv(domainMatch.value));\n index = domainMatch.nextIndex;\n continue;\n }\n\n const emitMcpMatch = readOption(args, index, EMIT_MCP_OPTION);\n if (emitMcpMatch) {\n emitMcp = path.resolve(currentDirectory, emitMcpMatch.value);\n index = emitMcpMatch.nextIndex;\n continue;\n }\n\n const pluginDirectoryMatch = readOption(args, index, PLUGIN_DIRECTORY_OPTION);\n if (pluginDirectoryMatch) {\n pluginDirectoryValues.push(pluginDirectoryMatch.value);\n index = pluginDirectoryMatch.nextIndex;\n continue;\n }\n\n const addDirectoryMatch = readOption(args, index, ADD_DIRECTORY_OPTION);\n if (addDirectoryMatch) {\n additionalDirectoryValues.push(addDirectoryMatch.value);\n index = addDirectoryMatch.nextIndex;\n continue;\n }\n\n const presetMatch = readOption(args, index, PRESET_OPTION);\n if (presetMatch) {\n preset = parsePreset(presetMatch.value);\n index = presetMatch.nextIndex;\n continue;\n }\n\n const cwdMatch = readOption(args, index, CWD_OPTION) ?? readOption(args, index, CD_OPTION);\n if (cwdMatch) {\n cwd = path.resolve(currentDirectory, cwdMatch.value);\n index = cwdMatch.nextIndex;\n continue;\n }\n\n const effortMatch = readOption(args, index, EFFORT_OPTION);\n if (effortMatch) {\n if (effortMatch.inline) piArgs.push(`${THINKING_OPTION}=${effortMatch.value}`);\n else piArgs.push(THINKING_OPTION, effortMatch.value);\n index = effortMatch.nextIndex;\n continue;\n }\n\n const outputFormatMatch = readOption(args, index, OUTPUT_FORMAT_OPTION);\n if (outputFormatMatch) {\n const requested = outputFormatMatch.value;\n if (requested === VIBE_LINT_FORMAT) {\n outputFormat = VIBE_LINT_FORMAT;\n } else {\n const mode = requested === STREAM_JSON_FORMAT ? JSON_FORMAT : requested;\n if (outputFormatMatch.inline) piArgs.push(`${MODE_OPTION}=${mode}`);\n else piArgs.push(MODE_OPTION, mode);\n }\n index = outputFormatMatch.nextIndex;\n continue;\n }\n\n if (arg === NO_DOMAINS_OPTION) domainsDisabled = true;\n else if (arg === EXPLAIN_OPTION) explain = true;\n else if (arg === AUTOMATION_OPTION) automation = true;\n else if (arg === MUTE_OPTION) mute = true;\n else if (arg === AUTO_STOP_OPTION) autoStop = true;\n else if (arg === SANDBOX_OPTION) sandbox = true;\n else if (arg === ALLOW_PROTECTED_WRITES_OPTION) allowProtectedWrites = true;\n else if (arg === HOOKS_OPTION) hooks = true;\n else if (arg === MCP_OPTION) mcp = true;\n else if (arg === AGENTS_OPTION) agents = true;\n else if (arg === NO_HOOKS_OPTION) hooks = false;\n else if (arg === NO_MCP_OPTION) mcp = false;\n else if (arg === NO_AGENTS_OPTION) agents = false;\n else if (arg === HELP_OPTION || arg === HELP_SHORT_OPTION) help = true;\n else if (arg === VERSION_OPTION || arg === VERSION_SHORT_OPTION) version = true;\n // Accepted for Claude Code compatibility and deliberately not forwarded.\n else if (arg !== VERBOSE_OPTION && arg !== DANGEROUSLY_SKIP_PERMISSIONS_OPTION) piArgs.push(arg);\n }\n\n if (domainsDisabled && domains.length > 0) {\n throw new Error(`${NO_DOMAINS_OPTION} cannot be combined with ${DOMAINS_OPTION}`);\n }\n if (!domainsDisabled && domains.length === 0 && pluginDirectoryValues.length === 0) {\n domains.push(...defaultDomainsForMajorMode(majorMode, environment, defaultDomains));\n }\n if (automation) {\n if (!hasOption(piArgs, PRINT_OPTION, PRINT_SHORT_OPTION)) piArgs.unshift(PRINT_OPTION);\n if (!hasOption(piArgs, MODE_OPTION)) piArgs.unshift(MODE_OPTION, JSON_FORMAT);\n if (!hasOption(piArgs, APPROVE_OPTION, APPROVE_SHORT_OPTION)) piArgs.unshift(APPROVE_OPTION);\n }\n if (\n autoStop &&\n (automation ||\n outputFormat === VIBE_LINT_FORMAT ||\n hasOption(piArgs, PRINT_OPTION, PRINT_SHORT_OPTION, MODE_OPTION))\n ) {\n throw new Error(`${AUTO_STOP_OPTION} only supports interactive Pi mode`);\n }\n normalizeProviderArgs(preset, piArgs, environment);\n\n return {\n options: {\n cwd,\n profile,\n domains,\n majorMode,\n explain,\n emitMcp,\n pluginDirectories: pluginDirectoryValues.map((value) => path.resolve(currentDirectory, value)),\n additionalDirectories: [\n ...new Set([\n ...resolveAdditionalDirectories(environment, currentDirectory),\n ...additionalDirectoryValues.map((value) => path.resolve(currentDirectory, value)),\n ]),\n ],\n preset,\n outputFormat,\n mute,\n automation,\n autoStop,\n sandbox,\n allowProtectedWrites,\n hooks,\n mcp,\n agents,\n piArgs,\n },\n help,\n version,\n };\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
//#region src/cli/router.ts
|
|
2
|
+
/**
|
|
3
|
+
* Top-level argv routing for the `doompi` binary.
|
|
4
|
+
*
|
|
5
|
+
* Deliberately tiny and dependency-free. It answers two questions before any
|
|
6
|
+
* command module loads: which subcommand was named, and whether this run only
|
|
7
|
+
* wants help or a version. Everything else, including the harness options and
|
|
8
|
+
* the Pi passthrough, stays with `parseHarnessArgs`, which already knows the
|
|
9
|
+
* harness vocabulary and forwards what it does not own.
|
|
10
|
+
*/
|
|
11
|
+
/** Subcommands that parse their own arguments instead of passing them to Pi. */
|
|
12
|
+
const KNOWN_COMMANDS = [
|
|
13
|
+
"init",
|
|
14
|
+
"sync",
|
|
15
|
+
"api-export",
|
|
16
|
+
"compat",
|
|
17
|
+
"doctor",
|
|
18
|
+
"history-export",
|
|
19
|
+
"history-import"
|
|
20
|
+
];
|
|
21
|
+
const HELP_FLAGS = ["--help", "-h"];
|
|
22
|
+
const VERSION_FLAGS = ["--version", "-v"];
|
|
23
|
+
/** Everything after this belongs to a provider or to Pi, never to doompi. */
|
|
24
|
+
const PASSTHROUGH_SEPARATOR = "--";
|
|
25
|
+
/**
|
|
26
|
+
* The named subcommand, or undefined when this run is a Pi invocation.
|
|
27
|
+
*
|
|
28
|
+
* Reads argv[0] only. A token later in the line is a flag value or prompt text,
|
|
29
|
+
* never a command, so scanning further would let `doompi --profile sync` look
|
|
30
|
+
* like a sync.
|
|
31
|
+
*/
|
|
32
|
+
function routeCommand(args) {
|
|
33
|
+
const first = args[0];
|
|
34
|
+
return first !== void 0 && KNOWN_COMMANDS.includes(first) ? first : void 0;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Whether this run asks for help or a version, before the passthrough boundary.
|
|
38
|
+
*
|
|
39
|
+
* The scan stops at the first bare `--` so a provider's own `--help` reaches
|
|
40
|
+
* the provider rather than printing doompi's help and exiting.
|
|
41
|
+
*/
|
|
42
|
+
function informationalRequest(args) {
|
|
43
|
+
for (const argument of args) {
|
|
44
|
+
if (argument === PASSTHROUGH_SEPARATOR) return void 0;
|
|
45
|
+
if (HELP_FLAGS.includes(argument)) return "help";
|
|
46
|
+
if (VERSION_FLAGS.includes(argument)) return "version";
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
/** Convenience for a subcommand that only needs to know whether to print help. */
|
|
50
|
+
function wantsHelp(args) {
|
|
51
|
+
return informationalRequest(args) === "help";
|
|
52
|
+
}
|
|
53
|
+
//#endregion
|
|
54
|
+
exports.KNOWN_COMMANDS = KNOWN_COMMANDS;
|
|
55
|
+
exports.informationalRequest = informationalRequest;
|
|
56
|
+
exports.routeCommand = routeCommand;
|
|
57
|
+
exports.wantsHelp = wantsHelp;
|
|
58
|
+
|
|
59
|
+
//# sourceMappingURL=router.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"router.cjs","names":[],"sources":["../../src/cli/router.ts"],"sourcesContent":["/**\n * Top-level argv routing for the `doompi` binary.\n *\n * Deliberately tiny and dependency-free. It answers two questions before any\n * command module loads: which subcommand was named, and whether this run only\n * wants help or a version. Everything else, including the harness options and\n * the Pi passthrough, stays with `parseHarnessArgs`, which already knows the\n * harness vocabulary and forwards what it does not own.\n */\n\n/** Subcommands that parse their own arguments instead of passing them to Pi. */\nexport const KNOWN_COMMANDS = [\n 'init',\n 'sync',\n 'api-export',\n 'compat',\n 'doctor',\n 'history-export',\n 'history-import',\n] as const;\n\nexport type KnownCommand = (typeof KNOWN_COMMANDS)[number];\n\nconst HELP_FLAGS = ['--help', '-h'];\nconst VERSION_FLAGS = ['--version', '-v'];\n/** Everything after this belongs to a provider or to Pi, never to doompi. */\nconst PASSTHROUGH_SEPARATOR = '--';\n\n/**\n * The named subcommand, or undefined when this run is a Pi invocation.\n *\n * Reads argv[0] only. A token later in the line is a flag value or prompt text,\n * never a command, so scanning further would let `doompi --profile sync` look\n * like a sync.\n */\nexport function routeCommand(args: readonly string[]): KnownCommand | undefined {\n const first = args[0];\n return first !== undefined && (KNOWN_COMMANDS as readonly string[]).includes(first)\n ? (first as KnownCommand)\n : undefined;\n}\n\n/**\n * Whether this run asks for help or a version, before the passthrough boundary.\n *\n * The scan stops at the first bare `--` so a provider's own `--help` reaches\n * the provider rather than printing doompi's help and exiting.\n */\nexport function informationalRequest(args: readonly string[]): 'help' | 'version' | undefined {\n for (const argument of args) {\n if (argument === PASSTHROUGH_SEPARATOR) return undefined;\n if (HELP_FLAGS.includes(argument)) return 'help';\n if (VERSION_FLAGS.includes(argument)) return 'version';\n }\n return undefined;\n}\n\n/** Convenience for a subcommand that only needs to know whether to print help. */\nexport function wantsHelp(args: readonly string[]): boolean {\n return informationalRequest(args) === 'help';\n}\n"],"mappings":";;;;;;;;;;;AAWA,MAAa,iBAAiB;CAC5B;CACA;CACA;CACA;CACA;CACA;CACA;AACF;AAIA,MAAM,aAAa,CAAC,UAAU,IAAI;AAClC,MAAM,gBAAgB,CAAC,aAAa,IAAI;;AAExC,MAAM,wBAAwB;;;;;;;;AAS9B,SAAgB,aAAa,MAAmD;CAC9E,MAAM,QAAQ,KAAK;CACnB,OAAO,UAAU,KAAA,KAAc,eAAqC,SAAS,KAAK,IAC7E,QACD,KAAA;AACN;;;;;;;AAQA,SAAgB,qBAAqB,MAAyD;CAC5F,KAAK,MAAM,YAAY,MAAM;EAC3B,IAAI,aAAa,uBAAuB,OAAO,KAAA;EAC/C,IAAI,WAAW,SAAS,QAAQ,GAAG,OAAO;EAC1C,IAAI,cAAc,SAAS,QAAQ,GAAG,OAAO;CAC/C;AAEF;;AAGA,SAAgB,UAAU,MAAkC;CAC1D,OAAO,qBAAqB,IAAI,MAAM;AACxC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
//#region src/cli/router.d.ts
|
|
2
|
+
/**
|
|
3
|
+
* Top-level argv routing for the `doompi` binary.
|
|
4
|
+
*
|
|
5
|
+
* Deliberately tiny and dependency-free. It answers two questions before any
|
|
6
|
+
* command module loads: which subcommand was named, and whether this run only
|
|
7
|
+
* wants help or a version. Everything else, including the harness options and
|
|
8
|
+
* the Pi passthrough, stays with `parseHarnessArgs`, which already knows the
|
|
9
|
+
* harness vocabulary and forwards what it does not own.
|
|
10
|
+
*/
|
|
11
|
+
/** Subcommands that parse their own arguments instead of passing them to Pi. */
|
|
12
|
+
export declare const KNOWN_COMMANDS: readonly ['init', 'sync', 'api-export', 'compat', 'doctor', 'history-export', 'history-import'];
|
|
13
|
+
export type KnownCommand = (typeof KNOWN_COMMANDS)[number];
|
|
14
|
+
/**
|
|
15
|
+
* The named subcommand, or undefined when this run is a Pi invocation.
|
|
16
|
+
*
|
|
17
|
+
* Reads argv[0] only. A token later in the line is a flag value or prompt text,
|
|
18
|
+
* never a command, so scanning further would let `doompi --profile sync` look
|
|
19
|
+
* like a sync.
|
|
20
|
+
*/
|
|
21
|
+
export declare function routeCommand(args: readonly string[]): KnownCommand | undefined;
|
|
22
|
+
/**
|
|
23
|
+
* Whether this run asks for help or a version, before the passthrough boundary.
|
|
24
|
+
*
|
|
25
|
+
* The scan stops at the first bare `--` so a provider's own `--help` reaches
|
|
26
|
+
* the provider rather than printing doompi's help and exiting.
|
|
27
|
+
*/
|
|
28
|
+
export declare function informationalRequest(args: readonly string[]): 'help' | 'version' | undefined;
|
|
29
|
+
/** Convenience for a subcommand that only needs to know whether to print help. */
|
|
30
|
+
export declare function wantsHelp(args: readonly string[]): boolean;
|
|
31
|
+
//#endregion
|
|
32
|
+
//# sourceMappingURL=router.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"router.d.cts","names":[],"sources":["../../src/cli/router.ts"],"mappings":";;;;;;;;;;;qBAWa;YAUD,uBAAuB;;;;;;;;wBAcnB,aAAa,0BAA0B;;;;;;;wBAavC,qBAAqB;;wBAUrB,UAAU"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
//#region src/cli/router.d.ts
|
|
2
|
+
/**
|
|
3
|
+
* Top-level argv routing for the `doompi` binary.
|
|
4
|
+
*
|
|
5
|
+
* Deliberately tiny and dependency-free. It answers two questions before any
|
|
6
|
+
* command module loads: which subcommand was named, and whether this run only
|
|
7
|
+
* wants help or a version. Everything else, including the harness options and
|
|
8
|
+
* the Pi passthrough, stays with `parseHarnessArgs`, which already knows the
|
|
9
|
+
* harness vocabulary and forwards what it does not own.
|
|
10
|
+
*/
|
|
11
|
+
/** Subcommands that parse their own arguments instead of passing them to Pi. */
|
|
12
|
+
export declare const KNOWN_COMMANDS: readonly ['init', 'sync', 'api-export', 'compat', 'doctor', 'history-export', 'history-import'];
|
|
13
|
+
export type KnownCommand = (typeof KNOWN_COMMANDS)[number];
|
|
14
|
+
/**
|
|
15
|
+
* The named subcommand, or undefined when this run is a Pi invocation.
|
|
16
|
+
*
|
|
17
|
+
* Reads argv[0] only. A token later in the line is a flag value or prompt text,
|
|
18
|
+
* never a command, so scanning further would let `doompi --profile sync` look
|
|
19
|
+
* like a sync.
|
|
20
|
+
*/
|
|
21
|
+
export declare function routeCommand(args: readonly string[]): KnownCommand | undefined;
|
|
22
|
+
/**
|
|
23
|
+
* Whether this run asks for help or a version, before the passthrough boundary.
|
|
24
|
+
*
|
|
25
|
+
* The scan stops at the first bare `--` so a provider's own `--help` reaches
|
|
26
|
+
* the provider rather than printing doompi's help and exiting.
|
|
27
|
+
*/
|
|
28
|
+
export declare function informationalRequest(args: readonly string[]): 'help' | 'version' | undefined;
|
|
29
|
+
/** Convenience for a subcommand that only needs to know whether to print help. */
|
|
30
|
+
export declare function wantsHelp(args: readonly string[]): boolean;
|
|
31
|
+
//#endregion
|
|
32
|
+
//# sourceMappingURL=router.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"router.d.mts","names":[],"sources":["../../src/cli/router.ts"],"mappings":";;;;;;;;;;;qBAWa;YAUD,uBAAuB;;;;;;;;wBAcnB,aAAa,0BAA0B;;;;;;;wBAavC,qBAAqB;;wBAUrB,UAAU"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
//#region src/cli/router.ts
|
|
2
|
+
/**
|
|
3
|
+
* Top-level argv routing for the `doompi` binary.
|
|
4
|
+
*
|
|
5
|
+
* Deliberately tiny and dependency-free. It answers two questions before any
|
|
6
|
+
* command module loads: which subcommand was named, and whether this run only
|
|
7
|
+
* wants help or a version. Everything else, including the harness options and
|
|
8
|
+
* the Pi passthrough, stays with `parseHarnessArgs`, which already knows the
|
|
9
|
+
* harness vocabulary and forwards what it does not own.
|
|
10
|
+
*/
|
|
11
|
+
/** Subcommands that parse their own arguments instead of passing them to Pi. */
|
|
12
|
+
const KNOWN_COMMANDS = [
|
|
13
|
+
"init",
|
|
14
|
+
"sync",
|
|
15
|
+
"api-export",
|
|
16
|
+
"compat",
|
|
17
|
+
"doctor",
|
|
18
|
+
"history-export",
|
|
19
|
+
"history-import"
|
|
20
|
+
];
|
|
21
|
+
const HELP_FLAGS = ["--help", "-h"];
|
|
22
|
+
const VERSION_FLAGS = ["--version", "-v"];
|
|
23
|
+
/** Everything after this belongs to a provider or to Pi, never to doompi. */
|
|
24
|
+
const PASSTHROUGH_SEPARATOR = "--";
|
|
25
|
+
/**
|
|
26
|
+
* The named subcommand, or undefined when this run is a Pi invocation.
|
|
27
|
+
*
|
|
28
|
+
* Reads argv[0] only. A token later in the line is a flag value or prompt text,
|
|
29
|
+
* never a command, so scanning further would let `doompi --profile sync` look
|
|
30
|
+
* like a sync.
|
|
31
|
+
*/
|
|
32
|
+
function routeCommand(args) {
|
|
33
|
+
const first = args[0];
|
|
34
|
+
return first !== void 0 && KNOWN_COMMANDS.includes(first) ? first : void 0;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Whether this run asks for help or a version, before the passthrough boundary.
|
|
38
|
+
*
|
|
39
|
+
* The scan stops at the first bare `--` so a provider's own `--help` reaches
|
|
40
|
+
* the provider rather than printing doompi's help and exiting.
|
|
41
|
+
*/
|
|
42
|
+
function informationalRequest(args) {
|
|
43
|
+
for (const argument of args) {
|
|
44
|
+
if (argument === PASSTHROUGH_SEPARATOR) return void 0;
|
|
45
|
+
if (HELP_FLAGS.includes(argument)) return "help";
|
|
46
|
+
if (VERSION_FLAGS.includes(argument)) return "version";
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
/** Convenience for a subcommand that only needs to know whether to print help. */
|
|
50
|
+
function wantsHelp(args) {
|
|
51
|
+
return informationalRequest(args) === "help";
|
|
52
|
+
}
|
|
53
|
+
//#endregion
|
|
54
|
+
export { KNOWN_COMMANDS, informationalRequest, routeCommand, wantsHelp };
|
|
55
|
+
|
|
56
|
+
//# sourceMappingURL=router.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"router.mjs","names":[],"sources":["../../src/cli/router.ts"],"sourcesContent":["/**\n * Top-level argv routing for the `doompi` binary.\n *\n * Deliberately tiny and dependency-free. It answers two questions before any\n * command module loads: which subcommand was named, and whether this run only\n * wants help or a version. Everything else, including the harness options and\n * the Pi passthrough, stays with `parseHarnessArgs`, which already knows the\n * harness vocabulary and forwards what it does not own.\n */\n\n/** Subcommands that parse their own arguments instead of passing them to Pi. */\nexport const KNOWN_COMMANDS = [\n 'init',\n 'sync',\n 'api-export',\n 'compat',\n 'doctor',\n 'history-export',\n 'history-import',\n] as const;\n\nexport type KnownCommand = (typeof KNOWN_COMMANDS)[number];\n\nconst HELP_FLAGS = ['--help', '-h'];\nconst VERSION_FLAGS = ['--version', '-v'];\n/** Everything after this belongs to a provider or to Pi, never to doompi. */\nconst PASSTHROUGH_SEPARATOR = '--';\n\n/**\n * The named subcommand, or undefined when this run is a Pi invocation.\n *\n * Reads argv[0] only. A token later in the line is a flag value or prompt text,\n * never a command, so scanning further would let `doompi --profile sync` look\n * like a sync.\n */\nexport function routeCommand(args: readonly string[]): KnownCommand | undefined {\n const first = args[0];\n return first !== undefined && (KNOWN_COMMANDS as readonly string[]).includes(first)\n ? (first as KnownCommand)\n : undefined;\n}\n\n/**\n * Whether this run asks for help or a version, before the passthrough boundary.\n *\n * The scan stops at the first bare `--` so a provider's own `--help` reaches\n * the provider rather than printing doompi's help and exiting.\n */\nexport function informationalRequest(args: readonly string[]): 'help' | 'version' | undefined {\n for (const argument of args) {\n if (argument === PASSTHROUGH_SEPARATOR) return undefined;\n if (HELP_FLAGS.includes(argument)) return 'help';\n if (VERSION_FLAGS.includes(argument)) return 'version';\n }\n return undefined;\n}\n\n/** Convenience for a subcommand that only needs to know whether to print help. */\nexport function wantsHelp(args: readonly string[]): boolean {\n return informationalRequest(args) === 'help';\n}\n"],"mappings":";;;;;;;;;;;AAWA,MAAa,iBAAiB;CAC5B;CACA;CACA;CACA;CACA;CACA;CACA;AACF;AAIA,MAAM,aAAa,CAAC,UAAU,IAAI;AAClC,MAAM,gBAAgB,CAAC,aAAa,IAAI;;AAExC,MAAM,wBAAwB;;;;;;;;AAS9B,SAAgB,aAAa,MAAmD;CAC9E,MAAM,QAAQ,KAAK;CACnB,OAAO,UAAU,KAAA,KAAc,eAAqC,SAAS,KAAK,IAC7E,QACD,KAAA;AACN;;;;;;;AAQA,SAAgB,qBAAqB,MAAyD;CAC5F,KAAK,MAAM,YAAY,MAAM;EAC3B,IAAI,aAAa,uBAAuB,OAAO,KAAA;EAC/C,IAAI,WAAW,SAAS,QAAQ,GAAG,OAAO;EAC1C,IAAI,cAAc,SAAS,QAAQ,GAAG,OAAO;CAC/C;AAEF;;AAGA,SAAgB,UAAU,MAAkC;CAC1D,OAAO,qBAAqB,IAAI,MAAM;AACxC"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
require("../../builders/server/sessionArguments.cjs");
|
|
2
|
+
//#region src/cli/server/options.ts
|
|
3
|
+
const TOKEN_FILE_OPTION = "--auth-token-file";
|
|
4
|
+
const WEB_OPTION = "--web";
|
|
5
|
+
const NAME_OPTION = "--name";
|
|
6
|
+
const SESSION_ID_OPTION = "--session-id";
|
|
7
|
+
const AGENT_SEPARATOR = "--";
|
|
8
|
+
const DEFAULT_WEB_PORT = 7433;
|
|
9
|
+
const DEFAULT_SESSION_NAME = "untitled";
|
|
10
|
+
const SERVE_USAGE = `doompi-server ${TOKEN_FILE_OPTION} <file> [--no-session] [${NAME_OPTION} <name>] [${SESSION_ID_OPTION} <id>] [${WEB_OPTION} [port]] [${AGENT_SEPARATOR} <agent arguments>]`;
|
|
11
|
+
/**
|
|
12
|
+
* Parses the server's own arguments, leaving the agent's untouched.
|
|
13
|
+
*
|
|
14
|
+
* The token is read from a file rather than a flag because command arguments are visible to other local processes.
|
|
15
|
+
*/
|
|
16
|
+
function parseServeOptions(argv) {
|
|
17
|
+
let noSession = false;
|
|
18
|
+
let tokenFile;
|
|
19
|
+
let webPort = DEFAULT_WEB_PORT;
|
|
20
|
+
let sessionName;
|
|
21
|
+
let sessionId;
|
|
22
|
+
const agentArgs = [];
|
|
23
|
+
for (let index = 0; index < argv.length; index += 1) {
|
|
24
|
+
const argument = argv[index];
|
|
25
|
+
if (argument === "--no-session") {
|
|
26
|
+
noSession = true;
|
|
27
|
+
continue;
|
|
28
|
+
}
|
|
29
|
+
if (argument === AGENT_SEPARATOR) {
|
|
30
|
+
agentArgs.push(...argv.slice(index + 1));
|
|
31
|
+
break;
|
|
32
|
+
}
|
|
33
|
+
if (argument === WEB_OPTION) {
|
|
34
|
+
const value = argv[index + 1];
|
|
35
|
+
if (value !== void 0 && /^\d+$/u.test(value)) {
|
|
36
|
+
const parsed = Number.parseInt(value, 10);
|
|
37
|
+
if (parsed < 1 || parsed > 65535) throw new Error(`${WEB_OPTION} expects a port number, received "${value}".`);
|
|
38
|
+
webPort = parsed;
|
|
39
|
+
index += 1;
|
|
40
|
+
} else webPort = DEFAULT_WEB_PORT;
|
|
41
|
+
continue;
|
|
42
|
+
}
|
|
43
|
+
if (argument === TOKEN_FILE_OPTION || argument === NAME_OPTION || argument === SESSION_ID_OPTION) {
|
|
44
|
+
const value = argv[index + 1];
|
|
45
|
+
if (value === void 0 || value.startsWith("-")) throw new Error(`${argument} requires a value.`);
|
|
46
|
+
if (argument === TOKEN_FILE_OPTION) tokenFile = value;
|
|
47
|
+
else if (argument === NAME_OPTION) sessionName = value;
|
|
48
|
+
else {
|
|
49
|
+
if (value.includes("/")) throw new Error(`${SESSION_ID_OPTION} must not contain "/".`);
|
|
50
|
+
sessionId = value;
|
|
51
|
+
}
|
|
52
|
+
index += 1;
|
|
53
|
+
continue;
|
|
54
|
+
}
|
|
55
|
+
throw new Error(`Unknown option ${argument}. Usage: ${SERVE_USAGE}`);
|
|
56
|
+
}
|
|
57
|
+
if (!tokenFile) throw new Error(`${TOKEN_FILE_OPTION} is required. Usage: ${SERVE_USAGE}`);
|
|
58
|
+
return {
|
|
59
|
+
...noSession ? { noSession: true } : {},
|
|
60
|
+
tokenFile,
|
|
61
|
+
agentArgs,
|
|
62
|
+
webPort,
|
|
63
|
+
sessionName: sessionName ?? DEFAULT_SESSION_NAME,
|
|
64
|
+
sessionId
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
//#endregion
|
|
68
|
+
exports.SERVE_USAGE = SERVE_USAGE;
|
|
69
|
+
exports.parseServeOptions = parseServeOptions;
|
|
70
|
+
|
|
71
|
+
//# sourceMappingURL=options.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"options.cjs","names":[],"sources":["../../../src/cli/server/options.ts"],"sourcesContent":["import type { ServeOptions } from '../../builders/server/types';\nexport type { ServeOptions } from '../../builders/server/types';\nexport {\n resolveSessionIdentity,\n relaunchAgentArgs,\n type SessionIdentity,\n} from '../../builders/server/sessionArguments';\nconst TOKEN_FILE_OPTION = '--auth-token-file';\nconst WEB_OPTION = '--web';\nconst NAME_OPTION = '--name';\nconst SESSION_ID_OPTION = '--session-id';\nconst AGENT_SEPARATOR = '--';\nconst DEFAULT_WEB_PORT = 7433;\nconst DEFAULT_SESSION_NAME = 'untitled';\n\nexport const SERVE_USAGE = `doompi-server ${TOKEN_FILE_OPTION} <file> [--no-session] [${NAME_OPTION} <name>] [${SESSION_ID_OPTION} <id>] [${WEB_OPTION} [port]] [${AGENT_SEPARATOR} <agent arguments>]`;\n\n/**\n * Parses the server's own arguments, leaving the agent's untouched.\n *\n * The token is read from a file rather than a flag because command arguments are visible to other local processes.\n */\nexport function parseServeOptions(argv: readonly string[]): ServeOptions {\n let noSession = false;\n let tokenFile: string | undefined;\n let webPort = DEFAULT_WEB_PORT;\n let sessionName: string | undefined;\n let sessionId: string | undefined;\n const agentArgs: string[] = [];\n\n for (let index = 0; index < argv.length; index += 1) {\n const argument = argv[index];\n if (argument === '--no-session') {\n noSession = true;\n continue;\n }\n if (argument === AGENT_SEPARATOR) {\n agentArgs.push(...argv.slice(index + 1));\n break;\n }\n if (argument === WEB_OPTION) {\n // The port is optional, so only consume the next token when it reads as\n // one; otherwise it belongs to whatever flag follows.\n const value = argv[index + 1];\n if (value !== undefined && /^\\d+$/u.test(value)) {\n const parsed = Number.parseInt(value, 10);\n if (parsed < 1 || parsed > 65535) throw new Error(`${WEB_OPTION} expects a port number, received \"${value}\".`);\n webPort = parsed;\n index += 1;\n } else {\n webPort = DEFAULT_WEB_PORT;\n }\n continue;\n }\n if (argument === TOKEN_FILE_OPTION || argument === NAME_OPTION || argument === SESSION_ID_OPTION) {\n const value = argv[index + 1];\n if (value === undefined || value.startsWith('-')) throw new Error(`${argument} requires a value.`);\n if (argument === TOKEN_FILE_OPTION) tokenFile = value;\n else if (argument === NAME_OPTION) sessionName = value;\n else {\n if (value.includes('/')) throw new Error(`${SESSION_ID_OPTION} must not contain \"/\".`);\n sessionId = value;\n }\n index += 1;\n continue;\n }\n throw new Error(`Unknown option ${argument}. Usage: ${SERVE_USAGE}`);\n }\n\n if (!tokenFile) throw new Error(`${TOKEN_FILE_OPTION} is required. Usage: ${SERVE_USAGE}`);\n return {\n ...(noSession ? { noSession: true } : {}),\n tokenFile,\n agentArgs,\n webPort,\n sessionName: sessionName ?? DEFAULT_SESSION_NAME,\n sessionId,\n };\n}\n"],"mappings":";;AAOA,MAAM,oBAAoB;AAC1B,MAAM,aAAa;AACnB,MAAM,cAAc;AACpB,MAAM,oBAAoB;AAC1B,MAAM,kBAAkB;AACxB,MAAM,mBAAmB;AACzB,MAAM,uBAAuB;AAE7B,MAAa,cAAc,iBAAiB,kBAAkB,0BAA0B,YAAY,YAAY,kBAAkB,UAAU,WAAW,YAAY,gBAAgB;;;;;;AAOnL,SAAgB,kBAAkB,MAAuC;CACvE,IAAI,YAAY;CAChB,IAAI;CACJ,IAAI,UAAU;CACd,IAAI;CACJ,IAAI;CACJ,MAAM,YAAsB,CAAC;CAE7B,KAAK,IAAI,QAAQ,GAAG,QAAQ,KAAK,QAAQ,SAAS,GAAG;EACnD,MAAM,WAAW,KAAK;EACtB,IAAI,aAAa,gBAAgB;GAC/B,YAAY;GACZ;EACF;EACA,IAAI,aAAa,iBAAiB;GAChC,UAAU,KAAK,GAAG,KAAK,MAAM,QAAQ,CAAC,CAAC;GACvC;EACF;EACA,IAAI,aAAa,YAAY;GAG3B,MAAM,QAAQ,KAAK,QAAQ;GAC3B,IAAI,UAAU,KAAA,KAAa,SAAS,KAAK,KAAK,GAAG;IAC/C,MAAM,SAAS,OAAO,SAAS,OAAO,EAAE;IACxC,IAAI,SAAS,KAAK,SAAS,OAAO,MAAM,IAAI,MAAM,GAAG,WAAW,oCAAoC,MAAM,GAAG;IAC7G,UAAU;IACV,SAAS;GACX,OACE,UAAU;GAEZ;EACF;EACA,IAAI,aAAa,qBAAqB,aAAa,eAAe,aAAa,mBAAmB;GAChG,MAAM,QAAQ,KAAK,QAAQ;GAC3B,IAAI,UAAU,KAAA,KAAa,MAAM,WAAW,GAAG,GAAG,MAAM,IAAI,MAAM,GAAG,SAAS,mBAAmB;GACjG,IAAI,aAAa,mBAAmB,YAAY;QAC3C,IAAI,aAAa,aAAa,cAAc;QAC5C;IACH,IAAI,MAAM,SAAS,GAAG,GAAG,MAAM,IAAI,MAAM,GAAG,kBAAkB,uBAAuB;IACrF,YAAY;GACd;GACA,SAAS;GACT;EACF;EACA,MAAM,IAAI,MAAM,kBAAkB,SAAS,WAAW,aAAa;CACrE;CAEA,IAAI,CAAC,WAAW,MAAM,IAAI,MAAM,GAAG,kBAAkB,uBAAuB,aAAa;CACzF,OAAO;EACL,GAAI,YAAY,EAAE,WAAW,KAAK,IAAI,CAAC;EACvC;EACA;EACA;EACA,aAAa,eAAe;EAC5B;CACF;AACF"}
|