@agimon-ai/po 0.0.0-alpha.0
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/LICENSE +21 -0
- package/README.md +755 -0
- package/assets/banner.png +0 -0
- package/assets/banner.svg +25 -0
- package/assets/favicon.svg +15 -0
- package/assets/logo-light.png +0 -0
- package/assets/logo-light.svg +25 -0
- package/assets/logo.png +0 -0
- package/assets/logo.svg +25 -0
- package/assets/mascot.png +0 -0
- package/assets/mascot.svg +25 -0
- package/dist/_virtual/_rolldown/runtime.cjs +23 -0
- package/dist/antigravity.cjs +5 -0
- package/dist/antigravity.d.mts +2 -0
- package/dist/antigravity.mjs +2 -0
- package/dist/apiContracts.cjs +11 -0
- package/dist/apiContracts.cjs.map +1 -0
- package/dist/apiContracts.d.mts +52 -0
- package/dist/apiContracts.d.mts.map +1 -0
- package/dist/apiContracts.mjs +7 -0
- package/dist/apiContracts.mjs.map +1 -0
- package/dist/baseCommand.cjs +3 -0
- package/dist/baseCommand.d.mts +2 -0
- package/dist/baseCommand.mjs +2 -0
- package/dist/bin/cli.cjs +24 -0
- package/dist/bin/cli.cjs.map +1 -0
- package/dist/bin/cli.d.mts +1 -0
- package/dist/bin/cli.mjs +25 -0
- package/dist/bin/cli.mjs.map +1 -0
- package/dist/bin/doomRunner.cjs +33 -0
- package/dist/bin/doomRunner.cjs.map +1 -0
- package/dist/bin/doomRunner.d.mts +4 -0
- package/dist/bin/doomRunner.d.mts.map +1 -0
- package/dist/bin/doomRunner.mjs +32 -0
- package/dist/bin/doomRunner.mjs.map +1 -0
- package/dist/bin/serve.cjs +30 -0
- package/dist/bin/serve.cjs.map +1 -0
- package/dist/bin/serve.d.mts +1 -0
- package/dist/bin/serve.mjs +31 -0
- package/dist/bin/serve.mjs.map +1 -0
- package/dist/builders/cli/extensionAssembler/index.cjs +342 -0
- package/dist/builders/cli/extensionAssembler/index.cjs.map +1 -0
- package/dist/builders/cli/extensionAssembler/index.d.mts +85 -0
- package/dist/builders/cli/extensionAssembler/index.d.mts.map +1 -0
- package/dist/builders/cli/extensionAssembler/index.mjs +335 -0
- package/dist/builders/cli/extensionAssembler/index.mjs.map +1 -0
- package/dist/catalog/index.json +430 -0
- package/dist/cli.cjs +28 -0
- package/dist/cli.d.mts +11 -0
- package/dist/cli.mjs +11 -0
- package/dist/cliApp.cjs +6 -0
- package/dist/cliApp.d.mts +2 -0
- package/dist/cliApp.mjs +2 -0
- package/dist/codex.cjs +8 -0
- package/dist/codex.d.mts +2 -0
- package/dist/codex.mjs +2 -0
- package/dist/commands.cjs +18 -0
- package/dist/commands.d.mts +9 -0
- package/dist/commands.mjs +9 -0
- package/dist/compatibility.cjs +27 -0
- package/dist/compatibility.d.mts +6 -0
- package/dist/compatibility.mjs +6 -0
- package/dist/compatibilityCommand.cjs +4 -0
- package/dist/compatibilityCommand.d.mts +2 -0
- package/dist/compatibilityCommand.mjs +2 -0
- package/dist/compatibilityContext.cjs +3 -0
- package/dist/compatibilityContext.d.mts +2 -0
- package/dist/compatibilityContext.mjs +2 -0
- package/dist/compatibilityOptions.cjs +5 -0
- package/dist/compatibilityOptions.d.mts +2 -0
- package/dist/compatibilityOptions.mjs +2 -0
- package/dist/config.cjs +163 -0
- package/dist/config.d.mts +7 -0
- package/dist/config.mjs +7 -0
- package/dist/doctorCommand.cjs +5 -0
- package/dist/doctorCommand.d.mts +2 -0
- package/dist/doctorCommand.mjs +2 -0
- package/dist/emitMcpCommand.cjs +4 -0
- package/dist/emitMcpCommand.d.mts +2 -0
- package/dist/emitMcpCommand.mjs +2 -0
- package/dist/explainCommand.cjs +5 -0
- package/dist/explainCommand.d.mts +2 -0
- package/dist/explainCommand.mjs +2 -0
- package/dist/extensions/server.cjs +39 -0
- package/dist/extensions/server.cjs.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 +34 -0
- package/dist/extensions/server.mjs.map +1 -0
- package/dist/harnessContext.cjs +5 -0
- package/dist/harnessContext.d.mts +2 -0
- package/dist/harnessContext.mjs +2 -0
- package/dist/harnessState.cjs +19 -0
- package/dist/harnessState.d.mts +2 -0
- package/dist/harnessState.mjs +2 -0
- package/dist/help.cjs +12 -0
- package/dist/help.d.mts +6 -0
- package/dist/help.mjs +6 -0
- package/dist/index.cjs +306 -0
- package/dist/index.d.mts +40 -0
- package/dist/index.mjs +37 -0
- package/dist/initCommand.cjs +4 -0
- package/dist/initCommand.d.mts +2 -0
- package/dist/initCommand.mjs +2 -0
- package/dist/matrixOptions.cjs +28 -0
- package/dist/matrixOptions.d.mts +2 -0
- package/dist/matrixOptions.mjs +2 -0
- package/dist/matrixSwitcher.cjs +11 -0
- package/dist/matrixSwitcher.d.mts +3 -0
- package/dist/matrixSwitcher.mjs +3 -0
- package/dist/mcpFilter.cjs +9 -0
- package/dist/mcpFilter.d.mts +1 -0
- package/dist/mcpFilter.mjs +2 -0
- package/dist/options.cjs +3 -0
- package/dist/options.d.mts +2 -0
- package/dist/options.mjs +2 -0
- package/dist/process.cjs +12 -0
- package/dist/process.d.mts +2 -0
- package/dist/process.mjs +2 -0
- package/dist/projectTrust.cjs +6 -0
- package/dist/projectTrust.d.mts +2 -0
- package/dist/projectTrust.mjs +2 -0
- package/dist/repository.cjs +5 -0
- package/dist/repository.d.mts +2 -0
- package/dist/repository.mjs +2 -0
- package/dist/resourceCollector.cjs +9 -0
- package/dist/resourceCollector.d.mts +1 -0
- package/dist/resourceCollector.mjs +2 -0
- package/dist/router.cjs +6 -0
- package/dist/router.d.mts +2 -0
- package/dist/router.mjs +2 -0
- package/dist/services.cjs +97 -0
- package/dist/services.d.mts +12 -0
- package/dist/services.mjs +12 -0
- package/dist/shared.cjs +18 -0
- package/dist/shared.d.mts +2 -0
- package/dist/shared.mjs +2 -0
- package/dist/src/bin/agentDirectory.cjs +27 -0
- package/dist/src/bin/agentDirectory.cjs.map +1 -0
- package/dist/src/bin/agentDirectory.mjs +26 -0
- package/dist/src/bin/agentDirectory.mjs.map +1 -0
- package/dist/src/builders/apiContractExport/index.cjs +126 -0
- package/dist/src/builders/apiContractExport/index.cjs.map +1 -0
- package/dist/src/builders/apiContractExport/index.mjs +123 -0
- package/dist/src/builders/apiContractExport/index.mjs.map +1 -0
- package/dist/src/builders/cli/entryResolution.cjs +39 -0
- package/dist/src/builders/cli/entryResolution.cjs.map +1 -0
- package/dist/src/builders/cli/entryResolution.mjs +35 -0
- package/dist/src/builders/cli/entryResolution.mjs.map +1 -0
- package/dist/src/builders/cli/harnessContext.cjs +175 -0
- package/dist/src/builders/cli/harnessContext.cjs.map +1 -0
- package/dist/src/builders/cli/harnessContext.d.mts +48 -0
- package/dist/src/builders/cli/harnessContext.d.mts.map +1 -0
- package/dist/src/builders/cli/harnessContext.mjs +167 -0
- package/dist/src/builders/cli/harnessContext.mjs.map +1 -0
- package/dist/src/builders/cli/sessionComposition.cjs +27 -0
- package/dist/src/builders/cli/sessionComposition.cjs.map +1 -0
- package/dist/src/builders/cli/sessionComposition.mjs +26 -0
- package/dist/src/builders/cli/sessionComposition.mjs.map +1 -0
- package/dist/src/builders/hooks/index.cjs +238 -0
- package/dist/src/builders/hooks/index.cjs.map +1 -0
- package/dist/src/builders/hooks/index.mjs +231 -0
- package/dist/src/builders/hooks/index.mjs.map +1 -0
- package/dist/src/builders/native/index.cjs +176 -0
- package/dist/src/builders/native/index.cjs.map +1 -0
- package/dist/src/builders/native/index.d.mts +36 -0
- package/dist/src/builders/native/index.d.mts.map +1 -0
- package/dist/src/builders/native/index.mjs +170 -0
- package/dist/src/builders/native/index.mjs.map +1 -0
- package/dist/src/builders/server/backgroundSync.cjs +333 -0
- package/dist/src/builders/server/backgroundSync.cjs.map +1 -0
- package/dist/src/builders/server/backgroundSync.mjs +320 -0
- package/dist/src/builders/server/backgroundSync.mjs.map +1 -0
- package/dist/src/builders/server/computerUseBinding.cjs +273 -0
- package/dist/src/builders/server/computerUseBinding.cjs.map +1 -0
- package/dist/src/builders/server/computerUseBinding.mjs +269 -0
- package/dist/src/builders/server/computerUseBinding.mjs.map +1 -0
- package/dist/src/builders/server/computerUseRecordings.cjs +188 -0
- package/dist/src/builders/server/computerUseRecordings.cjs.map +1 -0
- package/dist/src/builders/server/computerUseRecordings.mjs +184 -0
- package/dist/src/builders/server/computerUseRecordings.mjs.map +1 -0
- package/dist/src/builders/server/defaultWorkspace.cjs +38 -0
- package/dist/src/builders/server/defaultWorkspace.cjs.map +1 -0
- package/dist/src/builders/server/defaultWorkspace.mjs +35 -0
- package/dist/src/builders/server/defaultWorkspace.mjs.map +1 -0
- package/dist/src/builders/server/idleRestart.cjs +149 -0
- package/dist/src/builders/server/idleRestart.cjs.map +1 -0
- package/dist/src/builders/server/idleRestart.mjs +136 -0
- package/dist/src/builders/server/idleRestart.mjs.map +1 -0
- package/dist/src/builders/server/index.cjs +63 -0
- package/dist/src/builders/server/index.cjs.map +1 -0
- package/dist/src/builders/server/index.mjs +60 -0
- package/dist/src/builders/server/index.mjs.map +1 -0
- package/dist/src/builders/server/logSink.cjs +57 -0
- package/dist/src/builders/server/logSink.cjs.map +1 -0
- package/dist/src/builders/server/logSink.mjs +57 -0
- package/dist/src/builders/server/logSink.mjs.map +1 -0
- package/dist/src/builders/server/mcpApp.cjs +152 -0
- package/dist/src/builders/server/mcpApp.cjs.map +1 -0
- package/dist/src/builders/server/mcpApp.d.mts +18 -0
- package/dist/src/builders/server/mcpApp.d.mts.map +1 -0
- package/dist/src/builders/server/mcpApp.mjs +147 -0
- package/dist/src/builders/server/mcpApp.mjs.map +1 -0
- package/dist/src/builders/server/mcpAppBuild.cjs +111 -0
- package/dist/src/builders/server/mcpAppBuild.cjs.map +1 -0
- package/dist/src/builders/server/mcpAppBuild.d.mts +24 -0
- package/dist/src/builders/server/mcpAppBuild.d.mts.map +1 -0
- package/dist/src/builders/server/mcpAppBuild.mjs +105 -0
- package/dist/src/builders/server/mcpAppBuild.mjs.map +1 -0
- package/dist/src/builders/server/mcpBundle.cjs +87 -0
- package/dist/src/builders/server/mcpBundle.cjs.map +1 -0
- package/dist/src/builders/server/mcpBundle.d.mts +23 -0
- package/dist/src/builders/server/mcpBundle.d.mts.map +1 -0
- package/dist/src/builders/server/mcpBundle.mjs +84 -0
- package/dist/src/builders/server/mcpBundle.mjs.map +1 -0
- package/dist/src/builders/server/packageReloadCheck.cjs +62 -0
- package/dist/src/builders/server/packageReloadCheck.cjs.map +1 -0
- package/dist/src/builders/server/packageReloadCheck.mjs +61 -0
- package/dist/src/builders/server/packageReloadCheck.mjs.map +1 -0
- package/dist/src/builders/server/packageUrl.cjs +210 -0
- package/dist/src/builders/server/packageUrl.cjs.map +1 -0
- package/dist/src/builders/server/packageUrl.mjs +203 -0
- package/dist/src/builders/server/packageUrl.mjs.map +1 -0
- package/dist/src/builders/server/runtime.cjs +1428 -0
- package/dist/src/builders/server/runtime.cjs.map +1 -0
- package/dist/src/builders/server/runtime.mjs +1420 -0
- package/dist/src/builders/server/runtime.mjs.map +1 -0
- package/dist/src/builders/server/runtimeResources.cjs +72 -0
- package/dist/src/builders/server/runtimeResources.cjs.map +1 -0
- package/dist/src/builders/server/runtimeResources.mjs +71 -0
- package/dist/src/builders/server/runtimeResources.mjs.map +1 -0
- package/dist/src/builders/server/selectionStatus.cjs +12 -0
- package/dist/src/builders/server/selectionStatus.cjs.map +1 -0
- package/dist/src/builders/server/selectionStatus.mjs +12 -0
- package/dist/src/builders/server/selectionStatus.mjs.map +1 -0
- package/dist/src/builders/server/sessionArguments.cjs +63 -0
- package/dist/src/builders/server/sessionArguments.cjs.map +1 -0
- package/dist/src/builders/server/sessionArguments.mjs +62 -0
- package/dist/src/builders/server/sessionArguments.mjs.map +1 -0
- package/dist/src/builders/server/shutdown.cjs +16 -0
- package/dist/src/builders/server/shutdown.cjs.map +1 -0
- package/dist/src/builders/server/shutdown.mjs +16 -0
- package/dist/src/builders/server/shutdown.mjs.map +1 -0
- package/dist/src/builders/server/webTemplateDecision.cjs +34 -0
- package/dist/src/builders/server/webTemplateDecision.cjs.map +1 -0
- package/dist/src/builders/server/webTemplateDecision.mjs +32 -0
- package/dist/src/builders/server/webTemplateDecision.mjs.map +1 -0
- package/dist/src/builders/server/workspaceCheckout.cjs +31 -0
- package/dist/src/builders/server/workspaceCheckout.cjs.map +1 -0
- package/dist/src/builders/server/workspaceCheckout.mjs +29 -0
- package/dist/src/builders/server/workspaceCheckout.mjs.map +1 -0
- package/dist/src/builders/web/bundle.cjs +225 -0
- package/dist/src/builders/web/bundle.cjs.map +1 -0
- package/dist/src/builders/web/bundle.d.mts +65 -0
- package/dist/src/builders/web/bundle.d.mts.map +1 -0
- package/dist/src/builders/web/bundle.mjs +221 -0
- package/dist/src/builders/web/bundle.mjs.map +1 -0
- package/dist/src/builders/web/bundleAssetPolicy.cjs +96 -0
- package/dist/src/builders/web/bundleAssetPolicy.cjs.map +1 -0
- package/dist/src/builders/web/bundleAssetPolicy.d.mts +22 -0
- package/dist/src/builders/web/bundleAssetPolicy.d.mts.map +1 -0
- package/dist/src/builders/web/bundleAssetPolicy.mjs +95 -0
- package/dist/src/builders/web/bundleAssetPolicy.mjs.map +1 -0
- package/dist/src/builders/web/index.cjs +361 -0
- package/dist/src/builders/web/index.cjs.map +1 -0
- package/dist/src/builders/web/index.d.mts +109 -0
- package/dist/src/builders/web/index.d.mts.map +1 -0
- package/dist/src/builders/web/index.mjs +342 -0
- package/dist/src/builders/web/index.mjs.map +1 -0
- package/dist/src/builders/web/webDevRoots.cjs +27 -0
- package/dist/src/builders/web/webDevRoots.cjs.map +1 -0
- package/dist/src/builders/web/webDevRoots.d.mts +22 -0
- package/dist/src/builders/web/webDevRoots.d.mts.map +1 -0
- package/dist/src/builders/web/webDevRoots.mjs +25 -0
- package/dist/src/builders/web/webDevRoots.mjs.map +1 -0
- package/dist/src/builders/web/webPluginGenerate.cjs +188 -0
- package/dist/src/builders/web/webPluginGenerate.cjs.map +1 -0
- package/dist/src/builders/web/webPluginGenerate.d.mts +56 -0
- package/dist/src/builders/web/webPluginGenerate.d.mts.map +1 -0
- package/dist/src/builders/web/webPluginGenerate.mjs +178 -0
- package/dist/src/builders/web/webPluginGenerate.mjs.map +1 -0
- package/dist/src/builders/web/webPluginManifest.cjs +128 -0
- package/dist/src/builders/web/webPluginManifest.cjs.map +1 -0
- package/dist/src/builders/web/webPluginManifest.d.mts +64 -0
- package/dist/src/builders/web/webPluginManifest.d.mts.map +1 -0
- package/dist/src/builders/web/webPluginManifest.mjs +118 -0
- package/dist/src/builders/web/webPluginManifest.mjs.map +1 -0
- package/dist/src/builders/web/webPluginScan.cjs +57 -0
- package/dist/src/builders/web/webPluginScan.cjs.map +1 -0
- package/dist/src/builders/web/webPluginScan.d.mts +19 -0
- package/dist/src/builders/web/webPluginScan.d.mts.map +1 -0
- package/dist/src/builders/web/webPluginScan.mjs +54 -0
- package/dist/src/builders/web/webPluginScan.mjs.map +1 -0
- package/dist/src/builders/web/webPluginVite.cjs +255 -0
- package/dist/src/builders/web/webPluginVite.cjs.map +1 -0
- package/dist/src/builders/web/webPluginVite.d.mts +64 -0
- package/dist/src/builders/web/webPluginVite.d.mts.map +1 -0
- package/dist/src/builders/web/webPluginVite.mjs +242 -0
- package/dist/src/builders/web/webPluginVite.mjs.map +1 -0
- package/dist/src/cli/cliApp.cjs +187 -0
- package/dist/src/cli/cliApp.cjs.map +1 -0
- package/dist/src/cli/cliApp.d.mts +32 -0
- package/dist/src/cli/cliApp.d.mts.map +1 -0
- package/dist/src/cli/cliApp.mjs +184 -0
- package/dist/src/cli/cliApp.mjs.map +1 -0
- package/dist/src/cli/commands/api-export/index.cjs +66 -0
- package/dist/src/cli/commands/api-export/index.cjs.map +1 -0
- package/dist/src/cli/commands/api-export/index.mjs +62 -0
- package/dist/src/cli/commands/api-export/index.mjs.map +1 -0
- package/dist/src/cli/commands/baseCommand.cjs +16 -0
- package/dist/src/cli/commands/baseCommand.cjs.map +1 -0
- package/dist/src/cli/commands/baseCommand.d.mts +24 -0
- package/dist/src/cli/commands/baseCommand.d.mts.map +1 -0
- package/dist/src/cli/commands/baseCommand.mjs +16 -0
- package/dist/src/cli/commands/baseCommand.mjs.map +1 -0
- package/dist/src/cli/commands/compat/context.cjs +115 -0
- package/dist/src/cli/commands/compat/context.cjs.map +1 -0
- package/dist/src/cli/commands/compat/context.d.mts +22 -0
- package/dist/src/cli/commands/compat/context.d.mts.map +1 -0
- package/dist/src/cli/commands/compat/context.mjs +110 -0
- package/dist/src/cli/commands/compat/context.mjs.map +1 -0
- package/dist/src/cli/commands/compat/help.cjs +26 -0
- package/dist/src/cli/commands/compat/help.cjs.map +1 -0
- package/dist/src/cli/commands/compat/help.d.mts +4 -0
- package/dist/src/cli/commands/compat/help.d.mts.map +1 -0
- package/dist/src/cli/commands/compat/help.mjs +25 -0
- package/dist/src/cli/commands/compat/help.mjs.map +1 -0
- package/dist/src/cli/commands/compat/index.cjs +73 -0
- package/dist/src/cli/commands/compat/index.cjs.map +1 -0
- package/dist/src/cli/commands/compat/index.d.mts +14 -0
- package/dist/src/cli/commands/compat/index.d.mts.map +1 -0
- package/dist/src/cli/commands/compat/index.mjs +70 -0
- package/dist/src/cli/commands/compat/index.mjs.map +1 -0
- package/dist/src/cli/commands/compat/options.cjs +88 -0
- package/dist/src/cli/commands/compat/options.cjs.map +1 -0
- package/dist/src/cli/commands/compat/options.d.mts +15 -0
- package/dist/src/cli/commands/compat/options.d.mts.map +1 -0
- package/dist/src/cli/commands/compat/options.mjs +86 -0
- package/dist/src/cli/commands/compat/options.mjs.map +1 -0
- package/dist/src/cli/commands/compat/providers/antigravity.cjs +294 -0
- package/dist/src/cli/commands/compat/providers/antigravity.cjs.map +1 -0
- package/dist/src/cli/commands/compat/providers/antigravity.d.mts +9 -0
- package/dist/src/cli/commands/compat/providers/antigravity.d.mts.map +1 -0
- package/dist/src/cli/commands/compat/providers/antigravity.mjs +289 -0
- package/dist/src/cli/commands/compat/providers/antigravity.mjs.map +1 -0
- package/dist/src/cli/commands/compat/providers/codex.cjs +178 -0
- package/dist/src/cli/commands/compat/providers/codex.cjs.map +1 -0
- package/dist/src/cli/commands/compat/providers/codex.d.mts +17 -0
- package/dist/src/cli/commands/compat/providers/codex.d.mts.map +1 -0
- package/dist/src/cli/commands/compat/providers/codex.mjs +170 -0
- package/dist/src/cli/commands/compat/providers/codex.mjs.map +1 -0
- package/dist/src/cli/commands/compat/providers/index.cjs +65 -0
- package/dist/src/cli/commands/compat/providers/index.cjs.map +1 -0
- package/dist/src/cli/commands/compat/providers/index.d.mts +15 -0
- package/dist/src/cli/commands/compat/providers/index.d.mts.map +1 -0
- package/dist/src/cli/commands/compat/providers/index.mjs +45 -0
- package/dist/src/cli/commands/compat/providers/index.mjs.map +1 -0
- package/dist/src/cli/commands/compat/providers/process.cjs +172 -0
- package/dist/src/cli/commands/compat/providers/process.cjs.map +1 -0
- package/dist/src/cli/commands/compat/providers/process.d.mts +33 -0
- package/dist/src/cli/commands/compat/providers/process.d.mts.map +1 -0
- package/dist/src/cli/commands/compat/providers/process.mjs +159 -0
- package/dist/src/cli/commands/compat/providers/process.mjs.map +1 -0
- package/dist/src/cli/commands/compat/providers/shared.cjs +76 -0
- package/dist/src/cli/commands/compat/providers/shared.cjs.map +1 -0
- package/dist/src/cli/commands/compat/providers/shared.d.mts +40 -0
- package/dist/src/cli/commands/compat/providers/shared.d.mts.map +1 -0
- package/dist/src/cli/commands/compat/providers/shared.mjs +61 -0
- package/dist/src/cli/commands/compat/providers/shared.mjs.map +1 -0
- package/dist/src/cli/commands/compat/types.d.mts +31 -0
- package/dist/src/cli/commands/compat/types.d.mts.map +1 -0
- package/dist/src/cli/commands/doctor/help.cjs +19 -0
- package/dist/src/cli/commands/doctor/help.cjs.map +1 -0
- package/dist/src/cli/commands/doctor/help.d.mts +4 -0
- package/dist/src/cli/commands/doctor/help.d.mts.map +1 -0
- package/dist/src/cli/commands/doctor/help.mjs +19 -0
- package/dist/src/cli/commands/doctor/help.mjs.map +1 -0
- package/dist/src/cli/commands/doctor/index.cjs +118 -0
- package/dist/src/cli/commands/doctor/index.cjs.map +1 -0
- package/dist/src/cli/commands/doctor/index.d.mts +33 -0
- package/dist/src/cli/commands/doctor/index.d.mts.map +1 -0
- package/dist/src/cli/commands/doctor/index.mjs +113 -0
- package/dist/src/cli/commands/doctor/index.mjs.map +1 -0
- package/dist/src/cli/commands/emit-mcp/index.cjs +32 -0
- package/dist/src/cli/commands/emit-mcp/index.cjs.map +1 -0
- package/dist/src/cli/commands/emit-mcp/index.d.mts +19 -0
- package/dist/src/cli/commands/emit-mcp/index.d.mts.map +1 -0
- package/dist/src/cli/commands/emit-mcp/index.mjs +31 -0
- package/dist/src/cli/commands/emit-mcp/index.mjs.map +1 -0
- package/dist/src/cli/commands/explain/index.cjs +155 -0
- package/dist/src/cli/commands/explain/index.cjs.map +1 -0
- package/dist/src/cli/commands/explain/index.d.mts +57 -0
- package/dist/src/cli/commands/explain/index.d.mts.map +1 -0
- package/dist/src/cli/commands/explain/index.mjs +150 -0
- package/dist/src/cli/commands/explain/index.mjs.map +1 -0
- package/dist/src/cli/commands/init/constants.cjs +11 -0
- package/dist/src/cli/commands/init/constants.cjs.map +1 -0
- package/dist/src/cli/commands/init/constants.mjs +11 -0
- package/dist/src/cli/commands/init/constants.mjs.map +1 -0
- package/dist/src/cli/commands/init/help.cjs +17 -0
- package/dist/src/cli/commands/init/help.cjs.map +1 -0
- package/dist/src/cli/commands/init/help.d.mts +4 -0
- package/dist/src/cli/commands/init/help.d.mts.map +1 -0
- package/dist/src/cli/commands/init/help.mjs +17 -0
- package/dist/src/cli/commands/init/help.mjs.map +1 -0
- package/dist/src/cli/commands/init/index.cjs +67 -0
- package/dist/src/cli/commands/init/index.cjs.map +1 -0
- package/dist/src/cli/commands/init/index.d.mts +12 -0
- package/dist/src/cli/commands/init/index.d.mts.map +1 -0
- package/dist/src/cli/commands/init/index.mjs +63 -0
- package/dist/src/cli/commands/init/index.mjs.map +1 -0
- package/dist/src/cli/commands/init/presenter.cjs +140 -0
- package/dist/src/cli/commands/init/presenter.cjs.map +1 -0
- package/dist/src/cli/commands/init/presenter.d.mts +8 -0
- package/dist/src/cli/commands/init/presenter.d.mts.map +1 -0
- package/dist/src/cli/commands/init/presenter.mjs +140 -0
- package/dist/src/cli/commands/init/presenter.mjs.map +1 -0
- package/dist/src/cli/commands/sync/help.cjs +34 -0
- package/dist/src/cli/commands/sync/help.cjs.map +1 -0
- package/dist/src/cli/commands/sync/help.d.mts +4 -0
- package/dist/src/cli/commands/sync/help.d.mts.map +1 -0
- package/dist/src/cli/commands/sync/help.mjs +34 -0
- package/dist/src/cli/commands/sync/help.mjs.map +1 -0
- package/dist/src/cli/commands/sync/index.cjs +215 -0
- package/dist/src/cli/commands/sync/index.cjs.map +1 -0
- package/dist/src/cli/commands/sync/index.d.mts +20 -0
- package/dist/src/cli/commands/sync/index.d.mts.map +1 -0
- package/dist/src/cli/commands/sync/index.mjs +206 -0
- package/dist/src/cli/commands/sync/index.mjs.map +1 -0
- package/dist/src/cli/commands/sync/presenter.cjs +58 -0
- package/dist/src/cli/commands/sync/presenter.cjs.map +1 -0
- package/dist/src/cli/commands/sync/presenter.d.mts +16 -0
- package/dist/src/cli/commands/sync/presenter.d.mts.map +1 -0
- package/dist/src/cli/commands/sync/presenter.mjs +57 -0
- package/dist/src/cli/commands/sync/presenter.mjs.map +1 -0
- package/dist/src/cli/commands/sync/workflow.cjs +16 -0
- package/dist/src/cli/commands/sync/workflow.cjs.map +1 -0
- package/dist/src/cli/commands/sync/workflow.mjs +16 -0
- package/dist/src/cli/commands/sync/workflow.mjs.map +1 -0
- package/dist/src/cli/commands/web/index.cjs +88 -0
- package/dist/src/cli/commands/web/index.cjs.map +1 -0
- package/dist/src/cli/commands/web/index.mjs +85 -0
- package/dist/src/cli/commands/web/index.mjs.map +1 -0
- package/dist/src/cli/harnessOptions.cjs +70 -0
- package/dist/src/cli/harnessOptions.cjs.map +1 -0
- package/dist/src/cli/harnessOptions.d.mts +26 -0
- package/dist/src/cli/harnessOptions.d.mts.map +1 -0
- package/dist/src/cli/harnessOptions.mjs +66 -0
- package/dist/src/cli/harnessOptions.mjs.map +1 -0
- package/dist/src/cli/help.cjs +82 -0
- package/dist/src/cli/help.cjs.map +1 -0
- package/dist/src/cli/help.d.mts +10 -0
- package/dist/src/cli/help.d.mts.map +1 -0
- package/dist/src/cli/help.mjs +78 -0
- package/dist/src/cli/help.mjs.map +1 -0
- package/dist/src/cli/matrixOptions.cjs +178 -0
- package/dist/src/cli/matrixOptions.cjs.map +1 -0
- package/dist/src/cli/matrixOptions.d.mts +90 -0
- package/dist/src/cli/matrixOptions.d.mts.map +1 -0
- package/dist/src/cli/matrixOptions.mjs +151 -0
- package/dist/src/cli/matrixOptions.mjs.map +1 -0
- package/dist/src/cli/options.cjs +281 -0
- package/dist/src/cli/options.cjs.map +1 -0
- package/dist/src/cli/options.d.mts +5 -0
- package/dist/src/cli/options.d.mts.map +1 -0
- package/dist/src/cli/options.mjs +279 -0
- package/dist/src/cli/options.mjs.map +1 -0
- package/dist/src/cli/router.cjs +57 -0
- package/dist/src/cli/router.cjs.map +1 -0
- package/dist/src/cli/router.d.mts +32 -0
- package/dist/src/cli/router.d.mts.map +1 -0
- package/dist/src/cli/router.mjs +54 -0
- package/dist/src/cli/router.mjs.map +1 -0
- package/dist/src/cli/server/options.cjs +71 -0
- package/dist/src/cli/server/options.cjs.map +1 -0
- package/dist/src/cli/server/options.mjs +70 -0
- package/dist/src/cli/server/options.mjs.map +1 -0
- package/dist/src/cli/server/processGuards.cjs +83 -0
- package/dist/src/cli/server/processGuards.cjs.map +1 -0
- package/dist/src/cli/server/processGuards.mjs +79 -0
- package/dist/src/cli/server/processGuards.mjs.map +1 -0
- package/dist/src/cli/server/run.cjs +69 -0
- package/dist/src/cli/server/run.cjs.map +1 -0
- package/dist/src/cli/server/run.mjs +66 -0
- package/dist/src/cli/server/run.mjs.map +1 -0
- package/dist/src/composition/harnessState/index.cjs +48 -0
- package/dist/src/composition/harnessState/index.cjs.map +1 -0
- package/dist/src/composition/harnessState/index.d.mts +19 -0
- package/dist/src/composition/harnessState/index.d.mts.map +1 -0
- package/dist/src/composition/harnessState/index.mjs +34 -0
- package/dist/src/composition/harnessState/index.mjs.map +1 -0
- package/dist/src/composition/layerPackageInstaller/index.cjs +651 -0
- package/dist/src/composition/layerPackageInstaller/index.cjs.map +1 -0
- package/dist/src/composition/layerPackageInstaller/index.d.mts +74 -0
- package/dist/src/composition/layerPackageInstaller/index.d.mts.map +1 -0
- package/dist/src/composition/layerPackageInstaller/index.mjs +637 -0
- package/dist/src/composition/layerPackageInstaller/index.mjs.map +1 -0
- package/dist/src/composition/poHomeMigration/index.cjs +234 -0
- package/dist/src/composition/poHomeMigration/index.cjs.map +1 -0
- package/dist/src/composition/poHomeMigration/index.d.mts +12 -0
- package/dist/src/composition/poHomeMigration/index.d.mts.map +1 -0
- package/dist/src/composition/poHomeMigration/index.mjs +226 -0
- package/dist/src/composition/poHomeMigration/index.mjs.map +1 -0
- package/dist/src/composition/projectTrust/index.cjs +51 -0
- package/dist/src/composition/projectTrust/index.cjs.map +1 -0
- package/dist/src/composition/projectTrust/index.d.mts +22 -0
- package/dist/src/composition/projectTrust/index.d.mts.map +1 -0
- package/dist/src/composition/projectTrust/index.mjs +48 -0
- package/dist/src/composition/projectTrust/index.mjs.map +1 -0
- package/dist/src/composition/repository/index.cjs +68 -0
- package/dist/src/composition/repository/index.cjs.map +1 -0
- package/dist/src/composition/repository/index.d.mts +22 -0
- package/dist/src/composition/repository/index.d.mts.map +1 -0
- package/dist/src/composition/repository/index.mjs +63 -0
- package/dist/src/composition/repository/index.mjs.map +1 -0
- package/dist/src/composition/syncPrune/index.cjs +85 -0
- package/dist/src/composition/syncPrune/index.cjs.map +1 -0
- package/dist/src/composition/syncPrune/index.d.mts +33 -0
- package/dist/src/composition/syncPrune/index.d.mts.map +1 -0
- package/dist/src/composition/syncPrune/index.mjs +82 -0
- package/dist/src/composition/syncPrune/index.mjs.map +1 -0
- package/dist/src/composition/syncService/index.cjs +808 -0
- package/dist/src/composition/syncService/index.cjs.map +1 -0
- package/dist/src/composition/syncService/index.d.mts +65 -0
- package/dist/src/composition/syncService/index.d.mts.map +1 -0
- package/dist/src/composition/syncService/index.mjs +792 -0
- package/dist/src/composition/syncService/index.mjs.map +1 -0
- package/dist/src/composition/syncService/localBuilds.cjs +367 -0
- package/dist/src/composition/syncService/localBuilds.cjs.map +1 -0
- package/dist/src/composition/syncService/localBuilds.mjs +358 -0
- package/dist/src/composition/syncService/localBuilds.mjs.map +1 -0
- package/dist/src/composition/transitionLayers.cjs +17 -0
- package/dist/src/composition/transitionLayers.cjs.map +1 -0
- package/dist/src/composition/transitionLayers.d.mts +6 -0
- package/dist/src/composition/transitionLayers.d.mts.map +1 -0
- package/dist/src/composition/transitionLayers.mjs +16 -0
- package/dist/src/composition/transitionLayers.mjs.map +1 -0
- package/dist/src/composition/types/harness.d.mts +52 -0
- package/dist/src/composition/types/harness.d.mts.map +1 -0
- package/dist/src/extensions/setupDiagnostics.cjs +65 -0
- package/dist/src/extensions/setupDiagnostics.cjs.map +1 -0
- package/dist/src/extensions/setupDiagnostics.mjs +64 -0
- package/dist/src/extensions/setupDiagnostics.mjs.map +1 -0
- package/dist/utils.cjs +4 -0
- package/dist/utils.d.mts +2 -0
- package/dist/utils.mjs +2 -0
- package/dist/webBuilder.cjs +59 -0
- package/dist/webBuilder.d.mts +9 -0
- package/dist/webBuilder.mjs +9 -0
- package/docs/server/api-export.md +86 -0
- package/docs/server/api.md +144 -0
- package/docs/server/getting-started.md +114 -0
- package/docs/server/index.md +67 -0
- package/docs/server/ipc.md +97 -0
- package/docs/server/lifecycle.md +108 -0
- package/docs/server/security.md +101 -0
- package/llms.txt +12 -0
- package/package.json +295 -0
- package/src/prompts/po-author-extension/SKILL.md +35 -0
- package/src/prompts/po-author-extension/references/extension-contract.md +134 -0
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
+
const require_process = require("./src/cli/commands/compat/providers/process.cjs");
|
|
3
|
+
const require_antigravity = require("./src/cli/commands/compat/providers/antigravity.cjs");
|
|
4
|
+
const require_codex = require("./src/cli/commands/compat/providers/codex.cjs");
|
|
5
|
+
const require_context = require("./src/cli/commands/compat/context.cjs");
|
|
6
|
+
const require_index = require("./src/cli/commands/compat/providers/index.cjs");
|
|
7
|
+
const require_index$1 = require("./src/composition/layerPackageInstaller/index.cjs");
|
|
8
|
+
const require_harnessContext = require("./src/builders/cli/harnessContext.cjs");
|
|
9
|
+
let _agimon_ai_po_domain_mcp = require("@agimon-ai/po-domain/mcp");
|
|
10
|
+
let _agimon_ai_po_domain_resources = require("@agimon-ai/po-domain/resources");
|
|
11
|
+
let _agimon_ai_po_domain_apply = require("@agimon-ai/po-domain/apply");
|
|
12
|
+
let _agimon_ai_po_minor_mode_catalog = require("@agimon-ai/po-minor-mode/catalog");
|
|
13
|
+
Object.defineProperty(exports, "DISPATCHER_AGENT_NAME", {
|
|
14
|
+
enumerable: true,
|
|
15
|
+
get: function() {
|
|
16
|
+
return _agimon_ai_po_domain_resources.DISPATCHER_AGENT_NAME;
|
|
17
|
+
}
|
|
18
|
+
});
|
|
19
|
+
Object.defineProperty(exports, "PROXY_SERVER_NAME", {
|
|
20
|
+
enumerable: true,
|
|
21
|
+
get: function() {
|
|
22
|
+
return _agimon_ai_po_domain_mcp.PROXY_SERVER_NAME;
|
|
23
|
+
}
|
|
24
|
+
});
|
|
25
|
+
Object.defineProperty(exports, "adaptAgentDefinition", {
|
|
26
|
+
enumerable: true,
|
|
27
|
+
get: function() {
|
|
28
|
+
return _agimon_ai_po_domain_resources.adaptAgentDefinition;
|
|
29
|
+
}
|
|
30
|
+
});
|
|
31
|
+
exports.adaptAntigravityMcpDefinition = require_antigravity.adaptAntigravityMcpDefinition;
|
|
32
|
+
exports.antigravityCompatibilityArgs = require_antigravity.antigravityCompatibilityArgs;
|
|
33
|
+
Object.defineProperty(exports, "applyDomains", {
|
|
34
|
+
enumerable: true,
|
|
35
|
+
get: function() {
|
|
36
|
+
return _agimon_ai_po_domain_apply.applyDomains;
|
|
37
|
+
}
|
|
38
|
+
});
|
|
39
|
+
Object.defineProperty(exports, "applyMcpAllowlist", {
|
|
40
|
+
enumerable: true,
|
|
41
|
+
get: function() {
|
|
42
|
+
return _agimon_ai_po_domain_mcp.applyMcpAllowlist;
|
|
43
|
+
}
|
|
44
|
+
});
|
|
45
|
+
exports.buildCompatibilityContext = require_context.buildCompatibilityContext;
|
|
46
|
+
exports.buildHarnessContext = require_harnessContext.buildHarnessContext;
|
|
47
|
+
exports.claudeCompatibilityArgs = require_index.claudeCompatibilityArgs;
|
|
48
|
+
exports.codexCompatibilityArgs = require_codex.codexCompatibilityArgs;
|
|
49
|
+
Object.defineProperty(exports, "collectResources", {
|
|
50
|
+
enumerable: true,
|
|
51
|
+
get: function() {
|
|
52
|
+
return _agimon_ai_po_domain_resources.collectResources;
|
|
53
|
+
}
|
|
54
|
+
});
|
|
55
|
+
exports.configurePreset = require_harnessContext.configurePreset;
|
|
56
|
+
Object.defineProperty(exports, "createMinorModeCatalogHost", {
|
|
57
|
+
enumerable: true,
|
|
58
|
+
get: function() {
|
|
59
|
+
return _agimon_ai_po_minor_mode_catalog.createMinorModeCatalogHost;
|
|
60
|
+
}
|
|
61
|
+
});
|
|
62
|
+
exports.ensureLayerPackages = require_index$1.ensureLayerPackages;
|
|
63
|
+
Object.defineProperty(exports, "filterMcpServers", {
|
|
64
|
+
enumerable: true,
|
|
65
|
+
get: function() {
|
|
66
|
+
return _agimon_ai_po_domain_mcp.filterMcpServers;
|
|
67
|
+
}
|
|
68
|
+
});
|
|
69
|
+
Object.defineProperty(exports, "filterProxyConfig", {
|
|
70
|
+
enumerable: true,
|
|
71
|
+
get: function() {
|
|
72
|
+
return _agimon_ai_po_domain_mcp.filterProxyConfig;
|
|
73
|
+
}
|
|
74
|
+
});
|
|
75
|
+
exports.launchCompatibility = require_index.launchCompatibility;
|
|
76
|
+
Object.defineProperty(exports, "mergeMcpConfigs", {
|
|
77
|
+
enumerable: true,
|
|
78
|
+
get: function() {
|
|
79
|
+
return _agimon_ai_po_domain_resources.mergeMcpConfigs;
|
|
80
|
+
}
|
|
81
|
+
});
|
|
82
|
+
Object.defineProperty(exports, "persistMcpConfig", {
|
|
83
|
+
enumerable: true,
|
|
84
|
+
get: function() {
|
|
85
|
+
return _agimon_ai_po_domain_mcp.persistMcpConfig;
|
|
86
|
+
}
|
|
87
|
+
});
|
|
88
|
+
exports.resolveHarnessProfile = require_harnessContext.resolveHarnessProfile;
|
|
89
|
+
Object.defineProperty(exports, "resolveMcpAllowlist", {
|
|
90
|
+
enumerable: true,
|
|
91
|
+
get: function() {
|
|
92
|
+
return _agimon_ai_po_domain_mcp.resolveMcpAllowlist;
|
|
93
|
+
}
|
|
94
|
+
});
|
|
95
|
+
exports.runInteractive = require_process.runInteractive;
|
|
96
|
+
exports.signalExitCode = require_process.signalExitCode;
|
|
97
|
+
exports.supportsCodexManagedProfile = require_codex.supportsCodexManagedProfile;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { CompatibilityContext, buildCompatibilityContext } from "./src/cli/commands/compat/context.mjs";
|
|
2
|
+
import { adaptAntigravityMcpDefinition, antigravityCompatibilityArgs } from "./src/cli/commands/compat/providers/antigravity.mjs";
|
|
3
|
+
import { HarnessContext, buildHarnessContext, configurePreset, resolveHarnessProfile } from "./src/builders/cli/harnessContext.mjs";
|
|
4
|
+
import { codexCompatibilityArgs, supportsCodexManagedProfile } from "./src/cli/commands/compat/providers/codex.mjs";
|
|
5
|
+
import { EnsureLayerPackagesOptions, ensureLayerPackages } from "./src/composition/layerPackageInstaller/index.mjs";
|
|
6
|
+
import { runInteractive, signalExitCode } from "./src/cli/commands/compat/providers/process.mjs";
|
|
7
|
+
import { claudeCompatibilityArgs, launchCompatibility } from "./src/cli/commands/compat/providers/index.mjs";
|
|
8
|
+
import { PROXY_SERVER_NAME, applyMcpAllowlist, filterMcpServers, filterProxyConfig, persistMcpConfig, resolveMcpAllowlist } from "@agimon-ai/po-domain/mcp";
|
|
9
|
+
import { DISPATCHER_AGENT_NAME, adaptAgentDefinition, collectResources, mergeMcpConfigs } from "@agimon-ai/po-domain/resources";
|
|
10
|
+
import { applyDomains } from "@agimon-ai/po-domain/apply";
|
|
11
|
+
import { MinorModeCatalogHostOptions, createMinorModeCatalogHost } from "@agimon-ai/po-minor-mode/catalog";
|
|
12
|
+
export { type CompatibilityContext, DISPATCHER_AGENT_NAME, type EnsureLayerPackagesOptions, type HarnessContext, type MinorModeCatalogHostOptions, PROXY_SERVER_NAME, adaptAgentDefinition, adaptAntigravityMcpDefinition, antigravityCompatibilityArgs, applyDomains, applyMcpAllowlist, buildCompatibilityContext, buildHarnessContext, claudeCompatibilityArgs, codexCompatibilityArgs, collectResources, configurePreset, createMinorModeCatalogHost, ensureLayerPackages, filterMcpServers, filterProxyConfig, launchCompatibility, mergeMcpConfigs, persistMcpConfig, resolveHarnessProfile, resolveMcpAllowlist, runInteractive, signalExitCode, supportsCodexManagedProfile };
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { runInteractive, signalExitCode } from "./src/cli/commands/compat/providers/process.mjs";
|
|
2
|
+
import { adaptAntigravityMcpDefinition, antigravityCompatibilityArgs } from "./src/cli/commands/compat/providers/antigravity.mjs";
|
|
3
|
+
import { codexCompatibilityArgs, supportsCodexManagedProfile } from "./src/cli/commands/compat/providers/codex.mjs";
|
|
4
|
+
import { buildCompatibilityContext } from "./src/cli/commands/compat/context.mjs";
|
|
5
|
+
import { claudeCompatibilityArgs, launchCompatibility } from "./src/cli/commands/compat/providers/index.mjs";
|
|
6
|
+
import { ensureLayerPackages } from "./src/composition/layerPackageInstaller/index.mjs";
|
|
7
|
+
import { buildHarnessContext, configurePreset, resolveHarnessProfile } from "./src/builders/cli/harnessContext.mjs";
|
|
8
|
+
import { PROXY_SERVER_NAME, applyMcpAllowlist, filterMcpServers, filterProxyConfig, persistMcpConfig, resolveMcpAllowlist } from "@agimon-ai/po-domain/mcp";
|
|
9
|
+
import { DISPATCHER_AGENT_NAME, adaptAgentDefinition, collectResources, mergeMcpConfigs } from "@agimon-ai/po-domain/resources";
|
|
10
|
+
import { applyDomains } from "@agimon-ai/po-domain/apply";
|
|
11
|
+
import { createMinorModeCatalogHost } from "@agimon-ai/po-minor-mode/catalog";
|
|
12
|
+
export { DISPATCHER_AGENT_NAME, PROXY_SERVER_NAME, adaptAgentDefinition, adaptAntigravityMcpDefinition, antigravityCompatibilityArgs, applyDomains, applyMcpAllowlist, buildCompatibilityContext, buildHarnessContext, claudeCompatibilityArgs, codexCompatibilityArgs, collectResources, configurePreset, createMinorModeCatalogHost, ensureLayerPackages, filterMcpServers, filterProxyConfig, launchCompatibility, mergeMcpConfigs, persistMcpConfig, resolveHarnessProfile, resolveMcpAllowlist, runInteractive, signalExitCode, supportsCodexManagedProfile };
|
package/dist/shared.cjs
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
+
const require_shared = require("./src/cli/commands/compat/providers/shared.cjs");
|
|
3
|
+
exports.ADD_DIRECTORY_OPTION = require_shared.ADD_DIRECTORY_OPTION;
|
|
4
|
+
exports.AGIFLOW_PROXY_SERVER_NAME = require_shared.AGIFLOW_PROXY_SERVER_NAME;
|
|
5
|
+
exports.ANTIGRAVITY_MCP_PROXY_PACKAGE = require_shared.ANTIGRAVITY_MCP_PROXY_PACKAGE;
|
|
6
|
+
exports.CORE_PLUGIN_NAME = require_shared.CORE_PLUGIN_NAME;
|
|
7
|
+
exports.MCP_CONFIG_OPTION = require_shared.MCP_CONFIG_OPTION;
|
|
8
|
+
exports.MCP_PRESTART_OPTION = require_shared.MCP_PRESTART_OPTION;
|
|
9
|
+
exports.MCP_PROXY_PACKAGE = require_shared.MCP_PROXY_PACKAGE;
|
|
10
|
+
exports.MCP_PROXY_VERSION = require_shared.MCP_PROXY_VERSION;
|
|
11
|
+
exports.MCP_SERVERS_KEY = require_shared.MCP_SERVERS_KEY;
|
|
12
|
+
exports.NPX_COMMAND = require_shared.NPX_COMMAND;
|
|
13
|
+
exports.PLUGINS_DIRECTORY = require_shared.PLUGINS_DIRECTORY;
|
|
14
|
+
exports.PLUGIN_MANIFEST_FILENAME = require_shared.PLUGIN_MANIFEST_FILENAME;
|
|
15
|
+
exports.SKILLS_DIRECTORY = require_shared.SKILLS_DIRECTORY;
|
|
16
|
+
exports.SKIP_PERMISSIONS_OPTION = require_shared.SKIP_PERMISSIONS_OPTION;
|
|
17
|
+
exports.additionalDirectoryArgs = require_shared.additionalDirectoryArgs;
|
|
18
|
+
exports.mcpProxyArguments = require_shared.mcpProxyArguments;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import { ADD_DIRECTORY_OPTION, AGIFLOW_PROXY_SERVER_NAME, ANTIGRAVITY_MCP_PROXY_PACKAGE, CORE_PLUGIN_NAME, MCP_CONFIG_OPTION, MCP_PRESTART_OPTION, MCP_PROXY_PACKAGE, MCP_PROXY_VERSION, MCP_SERVERS_KEY, NPX_COMMAND, PLUGINS_DIRECTORY, PLUGIN_MANIFEST_FILENAME, SKILLS_DIRECTORY, SKIP_PERMISSIONS_OPTION, additionalDirectoryArgs, mcpProxyArguments } from "./src/cli/commands/compat/providers/shared.mjs";
|
|
2
|
+
export { ADD_DIRECTORY_OPTION, AGIFLOW_PROXY_SERVER_NAME, ANTIGRAVITY_MCP_PROXY_PACKAGE, CORE_PLUGIN_NAME, MCP_CONFIG_OPTION, MCP_PRESTART_OPTION, MCP_PROXY_PACKAGE, MCP_PROXY_VERSION, MCP_SERVERS_KEY, NPX_COMMAND, PLUGINS_DIRECTORY, PLUGIN_MANIFEST_FILENAME, SKILLS_DIRECTORY, SKIP_PERMISSIONS_OPTION, additionalDirectoryArgs, mcpProxyArguments };
|
package/dist/shared.mjs
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import { ADD_DIRECTORY_OPTION, AGIFLOW_PROXY_SERVER_NAME, ANTIGRAVITY_MCP_PROXY_PACKAGE, CORE_PLUGIN_NAME, MCP_CONFIG_OPTION, MCP_PRESTART_OPTION, MCP_PROXY_PACKAGE, MCP_PROXY_VERSION, MCP_SERVERS_KEY, NPX_COMMAND, PLUGINS_DIRECTORY, PLUGIN_MANIFEST_FILENAME, SKILLS_DIRECTORY, SKIP_PERMISSIONS_OPTION, additionalDirectoryArgs, mcpProxyArguments } from "./src/cli/commands/compat/providers/shared.mjs";
|
|
2
|
+
export { ADD_DIRECTORY_OPTION, AGIFLOW_PROXY_SERVER_NAME, ANTIGRAVITY_MCP_PROXY_PACKAGE, CORE_PLUGIN_NAME, MCP_CONFIG_OPTION, MCP_PRESTART_OPTION, MCP_PROXY_PACKAGE, MCP_PROXY_VERSION, MCP_SERVERS_KEY, NPX_COMMAND, PLUGINS_DIRECTORY, PLUGIN_MANIFEST_FILENAME, SKILLS_DIRECTORY, SKIP_PERMISSIONS_OPTION, additionalDirectoryArgs, mcpProxyArguments };
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
const require_runtime = require("../../_virtual/_rolldown/runtime.cjs");
|
|
2
|
+
const require_index = require("../composition/poHomeMigration/index.cjs");
|
|
3
|
+
let node_path = require("node:path");
|
|
4
|
+
node_path = require_runtime.__toESM(node_path, 1);
|
|
5
|
+
let node_os = require("node:os");
|
|
6
|
+
node_os = require_runtime.__toESM(node_os, 1);
|
|
7
|
+
//#region src/bin/agentDirectory.ts
|
|
8
|
+
/**
|
|
9
|
+
* Pins Pi's agent directory to Po's own, before anything else in the process
|
|
10
|
+
* reads it.
|
|
11
|
+
*
|
|
12
|
+
* Every Po executable imports this first. It assigns unconditionally, so a
|
|
13
|
+
* PI_CODING_AGENT_DIR exported for plain Pi cannot pull Po back into `~/.pi`;
|
|
14
|
+
* PO_HOME is the supported way to move Po, agent directory included. Pi reads
|
|
15
|
+
* the variable on every call, and the server freezes its environment after
|
|
16
|
+
* this runs, so both sides agree. It also runs the one-time copy of `~/.pi/.po`.
|
|
17
|
+
*/
|
|
18
|
+
const poHome = (0, require("@agimon-ai/po-core/piSettings").poHomeDirectory)();
|
|
19
|
+
process.env.PI_CODING_AGENT_DIR = node_path.default.join(poHome, "agent");
|
|
20
|
+
try {
|
|
21
|
+
require_index.migratePoHome(process.env.HOME ?? node_os.default.homedir(), poHome);
|
|
22
|
+
} catch (error) {
|
|
23
|
+
process.stderr.write(`[po] Could not move ~/.pi/.po into ${poHome}: ${error instanceof Error ? error.message : String(error)}\n`);
|
|
24
|
+
}
|
|
25
|
+
//#endregion
|
|
26
|
+
|
|
27
|
+
//# sourceMappingURL=agentDirectory.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agentDirectory.cjs","names":["poHomeDirectory","path","os"],"sources":["../../../src/bin/agentDirectory.ts"],"sourcesContent":["/**\n * Pins Pi's agent directory to Po's own, before anything else in the process\n * reads it.\n *\n * Every Po executable imports this first. It assigns unconditionally, so a\n * PI_CODING_AGENT_DIR exported for plain Pi cannot pull Po back into `~/.pi`;\n * PO_HOME is the supported way to move Po, agent directory included. Pi reads\n * the variable on every call, and the server freezes its environment after\n * this runs, so both sides agree. It also runs the one-time copy of `~/.pi/.po`.\n */\n\nimport os from 'node:os';\nimport path from 'node:path';\n\nimport { poHomeDirectory } from '@agimon-ai/po-core/piSettings';\n\nimport { migratePoHome } from '../composition/poHomeMigration';\n\nconst poHome = poHomeDirectory();\nprocess.env.PI_CODING_AGENT_DIR = path.join(poHome, 'agent');\n\n// Before anything reads configuration: copy the user's data out of ~/.pi/.po once.\n// A failed copy must not stop Po from starting; the next start tries again.\ntry {\n migratePoHome(process.env.HOME ?? os.homedir(), poHome);\n} catch (error) {\n process.stderr.write(\n `[po] Could not move ~/.pi/.po into ${poHome}: ${error instanceof Error ? error.message : String(error)}\\n`,\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;AAkBA,MAAM,UAAA,0CAASA,CAAAA,CAAAA,gBAAAA,CAAgB;AAC/B,QAAQ,IAAI,sBAAsBC,UAAAA,QAAK,KAAK,QAAQ,OAAO;AAI3D,IAAI;CACF,cAAA,cAAc,QAAQ,IAAI,QAAQC,QAAAA,QAAG,QAAQ,GAAG,MAAM;AACxD,SAAS,OAAO;CACd,QAAQ,OAAO,MACb,sCAAsC,OAAO,IAAI,iBAAiB,QAAQ,MAAM,UAAU,OAAO,KAAK,EAAE,GAC1G;AACF"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { migratePoHome } from "../composition/poHomeMigration/index.mjs";
|
|
2
|
+
import path from "node:path";
|
|
3
|
+
import os from "node:os";
|
|
4
|
+
import { poHomeDirectory } from "@agimon-ai/po-core/piSettings";
|
|
5
|
+
//#region src/bin/agentDirectory.ts
|
|
6
|
+
/**
|
|
7
|
+
* Pins Pi's agent directory to Po's own, before anything else in the process
|
|
8
|
+
* reads it.
|
|
9
|
+
*
|
|
10
|
+
* Every Po executable imports this first. It assigns unconditionally, so a
|
|
11
|
+
* PI_CODING_AGENT_DIR exported for plain Pi cannot pull Po back into `~/.pi`;
|
|
12
|
+
* PO_HOME is the supported way to move Po, agent directory included. Pi reads
|
|
13
|
+
* the variable on every call, and the server freezes its environment after
|
|
14
|
+
* this runs, so both sides agree. It also runs the one-time copy of `~/.pi/.po`.
|
|
15
|
+
*/
|
|
16
|
+
const poHome = poHomeDirectory();
|
|
17
|
+
process.env.PI_CODING_AGENT_DIR = path.join(poHome, "agent");
|
|
18
|
+
try {
|
|
19
|
+
migratePoHome(process.env.HOME ?? os.homedir(), poHome);
|
|
20
|
+
} catch (error) {
|
|
21
|
+
process.stderr.write(`[po] Could not move ~/.pi/.po into ${poHome}: ${error instanceof Error ? error.message : String(error)}\n`);
|
|
22
|
+
}
|
|
23
|
+
//#endregion
|
|
24
|
+
export {};
|
|
25
|
+
|
|
26
|
+
//# sourceMappingURL=agentDirectory.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agentDirectory.mjs","names":[],"sources":["../../../src/bin/agentDirectory.ts"],"sourcesContent":["/**\n * Pins Pi's agent directory to Po's own, before anything else in the process\n * reads it.\n *\n * Every Po executable imports this first. It assigns unconditionally, so a\n * PI_CODING_AGENT_DIR exported for plain Pi cannot pull Po back into `~/.pi`;\n * PO_HOME is the supported way to move Po, agent directory included. Pi reads\n * the variable on every call, and the server freezes its environment after\n * this runs, so both sides agree. It also runs the one-time copy of `~/.pi/.po`.\n */\n\nimport os from 'node:os';\nimport path from 'node:path';\n\nimport { poHomeDirectory } from '@agimon-ai/po-core/piSettings';\n\nimport { migratePoHome } from '../composition/poHomeMigration';\n\nconst poHome = poHomeDirectory();\nprocess.env.PI_CODING_AGENT_DIR = path.join(poHome, 'agent');\n\n// Before anything reads configuration: copy the user's data out of ~/.pi/.po once.\n// A failed copy must not stop Po from starting; the next start tries again.\ntry {\n migratePoHome(process.env.HOME ?? os.homedir(), poHome);\n} catch (error) {\n process.stderr.write(\n `[po] Could not move ~/.pi/.po into ${poHome}: ${error instanceof Error ? error.message : String(error)}\\n`,\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;AAkBA,MAAM,SAAS,gBAAgB;AAC/B,QAAQ,IAAI,sBAAsB,KAAK,KAAK,QAAQ,OAAO;AAI3D,IAAI;CACF,cAAc,QAAQ,IAAI,QAAQ,GAAG,QAAQ,GAAG,MAAM;AACxD,SAAS,OAAO;CACd,QAAQ,OAAO,MACb,sCAAsC,OAAO,IAAI,iBAAiB,QAAQ,MAAM,UAAU,OAAO,KAAK,EAAE,GAC1G;AACF"}
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
const require_runtime = require("../../../_virtual/_rolldown/runtime.cjs");
|
|
2
|
+
const require_index = require("../../composition/repository/index.cjs");
|
|
3
|
+
const require_sessionComposition = require("../cli/sessionComposition.cjs");
|
|
4
|
+
const require_index$1 = require("../server/index.cjs");
|
|
5
|
+
let node_fs = require("node:fs");
|
|
6
|
+
node_fs = require_runtime.__toESM(node_fs, 1);
|
|
7
|
+
let node_path = require("node:path");
|
|
8
|
+
node_path = require_runtime.__toESM(node_path, 1);
|
|
9
|
+
let node_child_process = require("node:child_process");
|
|
10
|
+
let _agimon_ai_po_core_apiContracts = require("@agimon-ai/po-core/apiContracts");
|
|
11
|
+
let _agimon_ai_po_config_config = require("@agimon-ai/po-config/config");
|
|
12
|
+
let _agimon_ai_po_config_majorModes = require("@agimon-ai/po-config/majorModes");
|
|
13
|
+
let node_url = require("node:url");
|
|
14
|
+
let node_crypto = require("node:crypto");
|
|
15
|
+
node_crypto = require_runtime.__toESM(node_crypto, 1);
|
|
16
|
+
//#region src/builders/apiContractExport/index.ts
|
|
17
|
+
const execute = (0, require("node:util").promisify)(node_child_process.execFile);
|
|
18
|
+
/** Imports one built contract module and prints its default export as strict JSON. */
|
|
19
|
+
const CONTRACT_PRINTER = "try { const m = await import(process.argv[1]); process.stdout.write(JSON.stringify(m.default, (_key, value) => { if (typeof value === \"function\" || typeof value === \"bigint\" || typeof value === \"undefined\" || (typeof value === \"number\" && !Number.isFinite(value))) throw new Error(\"Contract contains non-JSON data\"); return value; })); } catch (error) { process.stderr.write(error instanceof Error ? `${error.name}: ${error.message}` : String(error)); process.exitCode = 1; }";
|
|
20
|
+
function problemOf(error) {
|
|
21
|
+
return ((error !== null && typeof error === "object" && "stderr" in error && typeof error.stderr === "string" ? error.stderr.trim() : "") || (error instanceof Error ? error.message : String(error))).slice(0, 1e3);
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Reads each server facet's built `poServer.contracts.dist` straight from its installed package.
|
|
25
|
+
*
|
|
26
|
+
* Contracts have their own entry so exporting never imports a server facet, and each one is
|
|
27
|
+
* imported in a bounded child process so its module graph, timers and errors stay out of here.
|
|
28
|
+
* A package without a readable contract is recorded as a gap rather than failing the export.
|
|
29
|
+
*/
|
|
30
|
+
async function collectApiContracts(candidates) {
|
|
31
|
+
const packages = [];
|
|
32
|
+
for (const { declaration, owners } of candidates) {
|
|
33
|
+
const root = declaration.packageDir;
|
|
34
|
+
const manifest = JSON.parse(node_fs.default.readFileSync(node_path.default.join(root, "package.json"), "utf8"));
|
|
35
|
+
const entry = {
|
|
36
|
+
packageName: declaration.packageName,
|
|
37
|
+
packageVersion: manifest.version ?? "unknown",
|
|
38
|
+
scopes: declaration.scopes,
|
|
39
|
+
owners: [...owners]
|
|
40
|
+
};
|
|
41
|
+
packages.push(entry);
|
|
42
|
+
try {
|
|
43
|
+
const contracts = manifest.poServer?.contracts;
|
|
44
|
+
if (!contracts) throw new Error("No poServer.contracts declaration");
|
|
45
|
+
for (const value of [contracts.entry, contracts.dist]) if (typeof value !== "string" || !value.startsWith("./") || value.includes("..") || /[\\%?#]/u.test(value)) throw new Error("Contract entry and dist must be contained package-relative files");
|
|
46
|
+
const built = node_fs.default.realpathSync(node_path.default.join(root, contracts.dist));
|
|
47
|
+
const relative = node_path.default.relative(node_fs.default.realpathSync(root), built);
|
|
48
|
+
if (relative.startsWith("..") || node_path.default.isAbsolute(relative)) throw new Error("Contract entry escapes package");
|
|
49
|
+
const { stdout } = await execute(process.execPath, [
|
|
50
|
+
"--input-type=module",
|
|
51
|
+
"-e",
|
|
52
|
+
CONTRACT_PRINTER,
|
|
53
|
+
(0, node_url.pathToFileURL)(built).href
|
|
54
|
+
], {
|
|
55
|
+
timeout: 1e4,
|
|
56
|
+
maxBuffer: 16777216
|
|
57
|
+
});
|
|
58
|
+
entry.contract = (0, _agimon_ai_po_core_apiContracts.parseApiContract)(JSON.parse(stdout));
|
|
59
|
+
} catch (error) {
|
|
60
|
+
entry.problem = problemOf(error);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
const fingerprint = node_crypto.default.createHash("sha256").update(JSON.stringify(packages.map(({ packageName, packageVersion }) => [packageName, packageVersion]))).digest("hex");
|
|
64
|
+
return (0, _agimon_ai_po_core_apiContracts.parseCompiledContracts)({
|
|
65
|
+
version: 1,
|
|
66
|
+
generation: "live",
|
|
67
|
+
fingerprint,
|
|
68
|
+
packages
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
/** Reads the installed packages of the global root and the workspace. Export never builds or activates a facet. */
|
|
72
|
+
async function exportApiContracts(options) {
|
|
73
|
+
const environment = options.environment ?? process.env;
|
|
74
|
+
const globalRoot = (0, _agimon_ai_po_config_config.globalDoomConfigDirectory)(options.homeDirectory);
|
|
75
|
+
const workspaceRoot = require_index.resolveDoomConfigurationRoot(options.cwd, options.homeDirectory);
|
|
76
|
+
const read = async (root) => ({
|
|
77
|
+
compiled: await collectApiContracts(require_index$1.serverFacetCandidates(require_sessionComposition.rootCompositions({
|
|
78
|
+
root,
|
|
79
|
+
homeDirectory: options.homeDirectory,
|
|
80
|
+
environment
|
|
81
|
+
}))),
|
|
82
|
+
config: (0, _agimon_ai_po_config_majorModes.loadMajorModesConfig)(root, options.homeDirectory, environment)
|
|
83
|
+
});
|
|
84
|
+
const global = await read(globalRoot);
|
|
85
|
+
const workspace = globalRoot === workspaceRoot ? global : await read(workspaceRoot);
|
|
86
|
+
const sessionMode = options.majorMode ?? workspace.config.defaultMajorMode;
|
|
87
|
+
const selection = (source, scope, majorMode) => ({
|
|
88
|
+
scope,
|
|
89
|
+
majorMode,
|
|
90
|
+
activeLayers: (0, _agimon_ai_po_config_majorModes.resolveLayers)(source.config, majorMode),
|
|
91
|
+
compiled: source.compiled
|
|
92
|
+
});
|
|
93
|
+
if (!Object.hasOwn(workspace.config.majorMode, sessionMode)) throw new Error(`Unknown major mode '${sessionMode}'`);
|
|
94
|
+
const documents = (0, _agimon_ai_po_core_apiContracts.createApiDocuments)([
|
|
95
|
+
selection(global, "global", global.config.defaultMajorMode),
|
|
96
|
+
selection(workspace, "workspace", workspace.config.defaultMajorMode),
|
|
97
|
+
selection(workspace, "session", sessionMode)
|
|
98
|
+
]);
|
|
99
|
+
const files = {
|
|
100
|
+
"openapi.json": (0, _agimon_ai_po_core_apiContracts.canonicalContractJson)(documents.openapi),
|
|
101
|
+
"asyncapi.json": (0, _agimon_ai_po_core_apiContracts.canonicalContractJson)(documents.asyncapi)
|
|
102
|
+
};
|
|
103
|
+
const manifest = {
|
|
104
|
+
...documents.manifest,
|
|
105
|
+
artifacts: Object.fromEntries(Object.entries(files).map(([name, bytes]) => [name, { sha256: node_crypto.default.createHash("sha256").update(bytes).digest("hex") }]))
|
|
106
|
+
};
|
|
107
|
+
node_fs.default.mkdirSync(options.outputDirectory, { recursive: true });
|
|
108
|
+
for (const [name, bytes] of Object.entries({
|
|
109
|
+
...files,
|
|
110
|
+
"manifest.json": (0, _agimon_ai_po_core_apiContracts.canonicalContractJson)(manifest)
|
|
111
|
+
})) {
|
|
112
|
+
const target = node_path.default.join(options.outputDirectory, name);
|
|
113
|
+
const temporary = `${target}.${node_crypto.default.randomUUID()}.tmp`;
|
|
114
|
+
try {
|
|
115
|
+
node_fs.default.writeFileSync(temporary, bytes, { flag: "wx" });
|
|
116
|
+
node_fs.default.renameSync(temporary, target);
|
|
117
|
+
} finally {
|
|
118
|
+
node_fs.default.rmSync(temporary, { force: true });
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
return documents.manifest;
|
|
122
|
+
}
|
|
123
|
+
//#endregion
|
|
124
|
+
exports.exportApiContracts = exportApiContracts;
|
|
125
|
+
|
|
126
|
+
//# sourceMappingURL=index.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.cjs","names":["promisify","execFile","fs","path","pathToFileURL","parseApiContract","crypto","parseCompiledContracts","globalDoomConfigDirectory","resolveDoomConfigurationRoot","serverFacetCandidates","rootCompositions","loadMajorModesConfig","resolveLayers","createApiDocuments","canonicalContractJson"],"sources":["../../../../src/builders/apiContractExport/index.ts"],"sourcesContent":["import { execFile } from 'node:child_process';\nimport crypto from 'node:crypto';\nimport fs from 'node:fs';\nimport path from 'node:path';\nimport { pathToFileURL } from 'node:url';\nimport { promisify } from 'node:util';\n\nimport { globalDoomConfigDirectory } from '@agimon-ai/po-config/config';\nimport { loadMajorModesConfig, resolveLayers } from '@agimon-ai/po-config/majorModes';\nimport {\n canonicalContractJson,\n createApiDocuments,\n parseApiContract,\n parseCompiledContracts,\n type ApiContractSelection,\n type ApiDocuments,\n type DoomCompiledContracts,\n type DoomPackageContract,\n} from '@agimon-ai/po-core/apiContracts';\n\nimport { resolveDoomConfigurationRoot } from '../../composition/repository';\nimport { rootCompositions } from '../cli/sessionComposition';\nimport { serverFacetCandidates, type ServerFacetCandidate } from '../server';\n\nconst execute = promisify(execFile);\n/** Imports one built contract module and prints its default export as strict JSON. */\nconst CONTRACT_PRINTER =\n 'try { const m = await import(process.argv[1]); process.stdout.write(JSON.stringify(m.default, (_key, value) => { if (typeof value === \"function\" || typeof value === \"bigint\" || typeof value === \"undefined\" || (typeof value === \"number\" && !Number.isFinite(value))) throw new Error(\"Contract contains non-JSON data\"); return value; })); } catch (error) { process.stderr.write(error instanceof Error ? `${error.name}: ${error.message}` : String(error)); process.exitCode = 1; }';\n\nfunction problemOf(error: unknown): string {\n const stderr =\n error !== null && typeof error === 'object' && 'stderr' in error && typeof error.stderr === 'string'\n ? error.stderr.trim()\n : '';\n return (stderr || (error instanceof Error ? error.message : String(error))).slice(0, 1000);\n}\n\n/**\n * Reads each server facet's built `poServer.contracts.dist` straight from its installed package.\n *\n * Contracts have their own entry so exporting never imports a server facet, and each one is\n * imported in a bounded child process so its module graph, timers and errors stay out of here.\n * A package without a readable contract is recorded as a gap rather than failing the export.\n */\nasync function collectApiContracts(candidates: readonly ServerFacetCandidate[]): Promise<DoomCompiledContracts> {\n const packages: DoomPackageContract[] = [];\n for (const { declaration, owners } of candidates) {\n const root = declaration.packageDir;\n const manifest = JSON.parse(fs.readFileSync(path.join(root, 'package.json'), 'utf8')) as {\n version?: string;\n poServer?: { contracts?: { entry?: string; dist?: string } };\n };\n const entry: DoomPackageContract = {\n packageName: declaration.packageName,\n packageVersion: manifest.version ?? 'unknown',\n scopes: declaration.scopes,\n owners: [...owners],\n };\n packages.push(entry);\n try {\n const contracts = manifest.poServer?.contracts;\n if (!contracts) throw new Error('No poServer.contracts declaration');\n for (const value of [contracts.entry, contracts.dist]) {\n if (typeof value !== 'string' || !value.startsWith('./') || value.includes('..') || /[\\\\%?#]/u.test(value))\n throw new Error('Contract entry and dist must be contained package-relative files');\n }\n const built = fs.realpathSync(path.join(root, contracts.dist!));\n const relative = path.relative(fs.realpathSync(root), built);\n if (relative.startsWith('..') || path.isAbsolute(relative)) throw new Error('Contract entry escapes package');\n const { stdout } = await execute(\n process.execPath,\n ['--input-type=module', '-e', CONTRACT_PRINTER, pathToFileURL(built).href],\n { timeout: 10_000, maxBuffer: 16 * 1024 * 1024 },\n );\n entry.contract = parseApiContract(JSON.parse(stdout));\n } catch (error) {\n entry.problem = problemOf(error);\n }\n }\n const fingerprint = crypto\n .createHash('sha256')\n .update(JSON.stringify(packages.map(({ packageName, packageVersion }) => [packageName, packageVersion])))\n .digest('hex');\n return parseCompiledContracts({ version: 1, generation: 'live', fingerprint, packages });\n}\n\n/** Reads the installed packages of the global root and the workspace. Export never builds or activates a facet. */\nexport async function exportApiContracts(options: {\n cwd: string;\n homeDirectory: string;\n outputDirectory: string;\n majorMode?: string;\n environment?: NodeJS.ProcessEnv;\n}): Promise<ApiDocuments['manifest']> {\n const environment = options.environment ?? process.env;\n const globalRoot = globalDoomConfigDirectory(options.homeDirectory);\n const workspaceRoot = resolveDoomConfigurationRoot(options.cwd, options.homeDirectory);\n const read = async (root: string) => ({\n compiled: await collectApiContracts(\n serverFacetCandidates(rootCompositions({ root, homeDirectory: options.homeDirectory, environment })),\n ),\n config: loadMajorModesConfig(root, options.homeDirectory, environment),\n });\n const global = await read(globalRoot);\n const workspace = globalRoot === workspaceRoot ? global : await read(workspaceRoot);\n const sessionMode = options.majorMode ?? workspace.config.defaultMajorMode;\n const selection = (\n source: typeof global,\n scope: ApiContractSelection['scope'],\n majorMode: string,\n ): ApiContractSelection => ({\n scope,\n majorMode,\n activeLayers: resolveLayers(source.config, majorMode),\n compiled: source.compiled,\n });\n // A typo must not silently export an empty session surface.\n if (!Object.hasOwn(workspace.config.majorMode, sessionMode)) throw new Error(`Unknown major mode '${sessionMode}'`);\n const documents = createApiDocuments([\n selection(global, 'global', global.config.defaultMajorMode),\n selection(workspace, 'workspace', workspace.config.defaultMajorMode),\n selection(workspace, 'session', sessionMode),\n ]);\n const files = {\n 'openapi.json': canonicalContractJson(documents.openapi),\n 'asyncapi.json': canonicalContractJson(documents.asyncapi),\n };\n const manifest = {\n ...documents.manifest,\n artifacts: Object.fromEntries(\n Object.entries(files).map(([name, bytes]) => [\n name,\n {\n sha256: crypto.createHash('sha256').update(bytes).digest('hex'),\n },\n ]),\n ),\n };\n fs.mkdirSync(options.outputDirectory, { recursive: true });\n // Write the manifest last. Consumers verify both checksums before accepting the bundle.\n for (const [name, bytes] of Object.entries({ ...files, 'manifest.json': canonicalContractJson(manifest) })) {\n const target = path.join(options.outputDirectory, name);\n const temporary = `${target}.${crypto.randomUUID()}.tmp`;\n try {\n fs.writeFileSync(temporary, bytes, { flag: 'wx' });\n fs.renameSync(temporary, target);\n } finally {\n fs.rmSync(temporary, { force: true });\n }\n }\n return documents.manifest;\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
import { resolveDoomConfigurationRoot } from "../../composition/repository/index.mjs";
|
|
2
|
+
import { rootCompositions } from "../cli/sessionComposition.mjs";
|
|
3
|
+
import { serverFacetCandidates } from "../server/index.mjs";
|
|
4
|
+
import fs from "node:fs";
|
|
5
|
+
import path from "node:path";
|
|
6
|
+
import { execFile } from "node:child_process";
|
|
7
|
+
import { canonicalContractJson, createApiDocuments, parseApiContract, parseCompiledContracts } from "@agimon-ai/po-core/apiContracts";
|
|
8
|
+
import { globalDoomConfigDirectory } from "@agimon-ai/po-config/config";
|
|
9
|
+
import { loadMajorModesConfig, resolveLayers } from "@agimon-ai/po-config/majorModes";
|
|
10
|
+
import { pathToFileURL } from "node:url";
|
|
11
|
+
import crypto from "node:crypto";
|
|
12
|
+
import { promisify } from "node:util";
|
|
13
|
+
//#region src/builders/apiContractExport/index.ts
|
|
14
|
+
const execute = promisify(execFile);
|
|
15
|
+
/** Imports one built contract module and prints its default export as strict JSON. */
|
|
16
|
+
const CONTRACT_PRINTER = "try { const m = await import(process.argv[1]); process.stdout.write(JSON.stringify(m.default, (_key, value) => { if (typeof value === \"function\" || typeof value === \"bigint\" || typeof value === \"undefined\" || (typeof value === \"number\" && !Number.isFinite(value))) throw new Error(\"Contract contains non-JSON data\"); return value; })); } catch (error) { process.stderr.write(error instanceof Error ? `${error.name}: ${error.message}` : String(error)); process.exitCode = 1; }";
|
|
17
|
+
function problemOf(error) {
|
|
18
|
+
return ((error !== null && typeof error === "object" && "stderr" in error && typeof error.stderr === "string" ? error.stderr.trim() : "") || (error instanceof Error ? error.message : String(error))).slice(0, 1e3);
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Reads each server facet's built `poServer.contracts.dist` straight from its installed package.
|
|
22
|
+
*
|
|
23
|
+
* Contracts have their own entry so exporting never imports a server facet, and each one is
|
|
24
|
+
* imported in a bounded child process so its module graph, timers and errors stay out of here.
|
|
25
|
+
* A package without a readable contract is recorded as a gap rather than failing the export.
|
|
26
|
+
*/
|
|
27
|
+
async function collectApiContracts(candidates) {
|
|
28
|
+
const packages = [];
|
|
29
|
+
for (const { declaration, owners } of candidates) {
|
|
30
|
+
const root = declaration.packageDir;
|
|
31
|
+
const manifest = JSON.parse(fs.readFileSync(path.join(root, "package.json"), "utf8"));
|
|
32
|
+
const entry = {
|
|
33
|
+
packageName: declaration.packageName,
|
|
34
|
+
packageVersion: manifest.version ?? "unknown",
|
|
35
|
+
scopes: declaration.scopes,
|
|
36
|
+
owners: [...owners]
|
|
37
|
+
};
|
|
38
|
+
packages.push(entry);
|
|
39
|
+
try {
|
|
40
|
+
const contracts = manifest.poServer?.contracts;
|
|
41
|
+
if (!contracts) throw new Error("No poServer.contracts declaration");
|
|
42
|
+
for (const value of [contracts.entry, contracts.dist]) if (typeof value !== "string" || !value.startsWith("./") || value.includes("..") || /[\\%?#]/u.test(value)) throw new Error("Contract entry and dist must be contained package-relative files");
|
|
43
|
+
const built = fs.realpathSync(path.join(root, contracts.dist));
|
|
44
|
+
const relative = path.relative(fs.realpathSync(root), built);
|
|
45
|
+
if (relative.startsWith("..") || path.isAbsolute(relative)) throw new Error("Contract entry escapes package");
|
|
46
|
+
const { stdout } = await execute(process.execPath, [
|
|
47
|
+
"--input-type=module",
|
|
48
|
+
"-e",
|
|
49
|
+
CONTRACT_PRINTER,
|
|
50
|
+
pathToFileURL(built).href
|
|
51
|
+
], {
|
|
52
|
+
timeout: 1e4,
|
|
53
|
+
maxBuffer: 16777216
|
|
54
|
+
});
|
|
55
|
+
entry.contract = parseApiContract(JSON.parse(stdout));
|
|
56
|
+
} catch (error) {
|
|
57
|
+
entry.problem = problemOf(error);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
const fingerprint = crypto.createHash("sha256").update(JSON.stringify(packages.map(({ packageName, packageVersion }) => [packageName, packageVersion]))).digest("hex");
|
|
61
|
+
return parseCompiledContracts({
|
|
62
|
+
version: 1,
|
|
63
|
+
generation: "live",
|
|
64
|
+
fingerprint,
|
|
65
|
+
packages
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
/** Reads the installed packages of the global root and the workspace. Export never builds or activates a facet. */
|
|
69
|
+
async function exportApiContracts(options) {
|
|
70
|
+
const environment = options.environment ?? process.env;
|
|
71
|
+
const globalRoot = globalDoomConfigDirectory(options.homeDirectory);
|
|
72
|
+
const workspaceRoot = resolveDoomConfigurationRoot(options.cwd, options.homeDirectory);
|
|
73
|
+
const read = async (root) => ({
|
|
74
|
+
compiled: await collectApiContracts(serverFacetCandidates(rootCompositions({
|
|
75
|
+
root,
|
|
76
|
+
homeDirectory: options.homeDirectory,
|
|
77
|
+
environment
|
|
78
|
+
}))),
|
|
79
|
+
config: loadMajorModesConfig(root, options.homeDirectory, environment)
|
|
80
|
+
});
|
|
81
|
+
const global = await read(globalRoot);
|
|
82
|
+
const workspace = globalRoot === workspaceRoot ? global : await read(workspaceRoot);
|
|
83
|
+
const sessionMode = options.majorMode ?? workspace.config.defaultMajorMode;
|
|
84
|
+
const selection = (source, scope, majorMode) => ({
|
|
85
|
+
scope,
|
|
86
|
+
majorMode,
|
|
87
|
+
activeLayers: resolveLayers(source.config, majorMode),
|
|
88
|
+
compiled: source.compiled
|
|
89
|
+
});
|
|
90
|
+
if (!Object.hasOwn(workspace.config.majorMode, sessionMode)) throw new Error(`Unknown major mode '${sessionMode}'`);
|
|
91
|
+
const documents = createApiDocuments([
|
|
92
|
+
selection(global, "global", global.config.defaultMajorMode),
|
|
93
|
+
selection(workspace, "workspace", workspace.config.defaultMajorMode),
|
|
94
|
+
selection(workspace, "session", sessionMode)
|
|
95
|
+
]);
|
|
96
|
+
const files = {
|
|
97
|
+
"openapi.json": canonicalContractJson(documents.openapi),
|
|
98
|
+
"asyncapi.json": canonicalContractJson(documents.asyncapi)
|
|
99
|
+
};
|
|
100
|
+
const manifest = {
|
|
101
|
+
...documents.manifest,
|
|
102
|
+
artifacts: Object.fromEntries(Object.entries(files).map(([name, bytes]) => [name, { sha256: crypto.createHash("sha256").update(bytes).digest("hex") }]))
|
|
103
|
+
};
|
|
104
|
+
fs.mkdirSync(options.outputDirectory, { recursive: true });
|
|
105
|
+
for (const [name, bytes] of Object.entries({
|
|
106
|
+
...files,
|
|
107
|
+
"manifest.json": canonicalContractJson(manifest)
|
|
108
|
+
})) {
|
|
109
|
+
const target = path.join(options.outputDirectory, name);
|
|
110
|
+
const temporary = `${target}.${crypto.randomUUID()}.tmp`;
|
|
111
|
+
try {
|
|
112
|
+
fs.writeFileSync(temporary, bytes, { flag: "wx" });
|
|
113
|
+
fs.renameSync(temporary, target);
|
|
114
|
+
} finally {
|
|
115
|
+
fs.rmSync(temporary, { force: true });
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
return documents.manifest;
|
|
119
|
+
}
|
|
120
|
+
//#endregion
|
|
121
|
+
export { exportApiContracts };
|
|
122
|
+
|
|
123
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.mjs","names":[],"sources":["../../../../src/builders/apiContractExport/index.ts"],"sourcesContent":["import { execFile } from 'node:child_process';\nimport crypto from 'node:crypto';\nimport fs from 'node:fs';\nimport path from 'node:path';\nimport { pathToFileURL } from 'node:url';\nimport { promisify } from 'node:util';\n\nimport { globalDoomConfigDirectory } from '@agimon-ai/po-config/config';\nimport { loadMajorModesConfig, resolveLayers } from '@agimon-ai/po-config/majorModes';\nimport {\n canonicalContractJson,\n createApiDocuments,\n parseApiContract,\n parseCompiledContracts,\n type ApiContractSelection,\n type ApiDocuments,\n type DoomCompiledContracts,\n type DoomPackageContract,\n} from '@agimon-ai/po-core/apiContracts';\n\nimport { resolveDoomConfigurationRoot } from '../../composition/repository';\nimport { rootCompositions } from '../cli/sessionComposition';\nimport { serverFacetCandidates, type ServerFacetCandidate } from '../server';\n\nconst execute = promisify(execFile);\n/** Imports one built contract module and prints its default export as strict JSON. */\nconst CONTRACT_PRINTER =\n 'try { const m = await import(process.argv[1]); process.stdout.write(JSON.stringify(m.default, (_key, value) => { if (typeof value === \"function\" || typeof value === \"bigint\" || typeof value === \"undefined\" || (typeof value === \"number\" && !Number.isFinite(value))) throw new Error(\"Contract contains non-JSON data\"); return value; })); } catch (error) { process.stderr.write(error instanceof Error ? `${error.name}: ${error.message}` : String(error)); process.exitCode = 1; }';\n\nfunction problemOf(error: unknown): string {\n const stderr =\n error !== null && typeof error === 'object' && 'stderr' in error && typeof error.stderr === 'string'\n ? error.stderr.trim()\n : '';\n return (stderr || (error instanceof Error ? error.message : String(error))).slice(0, 1000);\n}\n\n/**\n * Reads each server facet's built `poServer.contracts.dist` straight from its installed package.\n *\n * Contracts have their own entry so exporting never imports a server facet, and each one is\n * imported in a bounded child process so its module graph, timers and errors stay out of here.\n * A package without a readable contract is recorded as a gap rather than failing the export.\n */\nasync function collectApiContracts(candidates: readonly ServerFacetCandidate[]): Promise<DoomCompiledContracts> {\n const packages: DoomPackageContract[] = [];\n for (const { declaration, owners } of candidates) {\n const root = declaration.packageDir;\n const manifest = JSON.parse(fs.readFileSync(path.join(root, 'package.json'), 'utf8')) as {\n version?: string;\n poServer?: { contracts?: { entry?: string; dist?: string } };\n };\n const entry: DoomPackageContract = {\n packageName: declaration.packageName,\n packageVersion: manifest.version ?? 'unknown',\n scopes: declaration.scopes,\n owners: [...owners],\n };\n packages.push(entry);\n try {\n const contracts = manifest.poServer?.contracts;\n if (!contracts) throw new Error('No poServer.contracts declaration');\n for (const value of [contracts.entry, contracts.dist]) {\n if (typeof value !== 'string' || !value.startsWith('./') || value.includes('..') || /[\\\\%?#]/u.test(value))\n throw new Error('Contract entry and dist must be contained package-relative files');\n }\n const built = fs.realpathSync(path.join(root, contracts.dist!));\n const relative = path.relative(fs.realpathSync(root), built);\n if (relative.startsWith('..') || path.isAbsolute(relative)) throw new Error('Contract entry escapes package');\n const { stdout } = await execute(\n process.execPath,\n ['--input-type=module', '-e', CONTRACT_PRINTER, pathToFileURL(built).href],\n { timeout: 10_000, maxBuffer: 16 * 1024 * 1024 },\n );\n entry.contract = parseApiContract(JSON.parse(stdout));\n } catch (error) {\n entry.problem = problemOf(error);\n }\n }\n const fingerprint = crypto\n .createHash('sha256')\n .update(JSON.stringify(packages.map(({ packageName, packageVersion }) => [packageName, packageVersion])))\n .digest('hex');\n return parseCompiledContracts({ version: 1, generation: 'live', fingerprint, packages });\n}\n\n/** Reads the installed packages of the global root and the workspace. Export never builds or activates a facet. */\nexport async function exportApiContracts(options: {\n cwd: string;\n homeDirectory: string;\n outputDirectory: string;\n majorMode?: string;\n environment?: NodeJS.ProcessEnv;\n}): Promise<ApiDocuments['manifest']> {\n const environment = options.environment ?? process.env;\n const globalRoot = globalDoomConfigDirectory(options.homeDirectory);\n const workspaceRoot = resolveDoomConfigurationRoot(options.cwd, options.homeDirectory);\n const read = async (root: string) => ({\n compiled: await collectApiContracts(\n serverFacetCandidates(rootCompositions({ root, homeDirectory: options.homeDirectory, environment })),\n ),\n config: loadMajorModesConfig(root, options.homeDirectory, environment),\n });\n const global = await read(globalRoot);\n const workspace = globalRoot === workspaceRoot ? global : await read(workspaceRoot);\n const sessionMode = options.majorMode ?? workspace.config.defaultMajorMode;\n const selection = (\n source: typeof global,\n scope: ApiContractSelection['scope'],\n majorMode: string,\n ): ApiContractSelection => ({\n scope,\n majorMode,\n activeLayers: resolveLayers(source.config, majorMode),\n compiled: source.compiled,\n });\n // A typo must not silently export an empty session surface.\n if (!Object.hasOwn(workspace.config.majorMode, sessionMode)) throw new Error(`Unknown major mode '${sessionMode}'`);\n const documents = createApiDocuments([\n selection(global, 'global', global.config.defaultMajorMode),\n selection(workspace, 'workspace', workspace.config.defaultMajorMode),\n selection(workspace, 'session', sessionMode),\n ]);\n const files = {\n 'openapi.json': canonicalContractJson(documents.openapi),\n 'asyncapi.json': canonicalContractJson(documents.asyncapi),\n };\n const manifest = {\n ...documents.manifest,\n artifacts: Object.fromEntries(\n Object.entries(files).map(([name, bytes]) => [\n name,\n {\n sha256: crypto.createHash('sha256').update(bytes).digest('hex'),\n },\n ]),\n ),\n };\n fs.mkdirSync(options.outputDirectory, { recursive: true });\n // Write the manifest last. Consumers verify both checksums before accepting the bundle.\n for (const [name, bytes] of Object.entries({ ...files, 'manifest.json': canonicalContractJson(manifest) })) {\n const target = path.join(options.outputDirectory, name);\n const temporary = `${target}.${crypto.randomUUID()}.tmp`;\n try {\n fs.writeFileSync(temporary, bytes, { flag: 'wx' });\n fs.renameSync(temporary, target);\n } finally {\n fs.rmSync(temporary, { force: true });\n }\n }\n return documents.manifest;\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
const require_runtime = require("../../../_virtual/_rolldown/runtime.cjs");
|
|
2
|
+
let node_fs = require("node:fs");
|
|
3
|
+
node_fs = require_runtime.__toESM(node_fs, 1);
|
|
4
|
+
let node_path = require("node:path");
|
|
5
|
+
node_path = require_runtime.__toESM(node_path, 1);
|
|
6
|
+
let node_url = require("node:url");
|
|
7
|
+
let _agimon_ai_po_core_doomPackage = require("@agimon-ai/po-core/doomPackage");
|
|
8
|
+
//#region src/builders/cli/entryResolution.ts
|
|
9
|
+
/** Directory of this module; the desktop bundle rewrites it to its staged package root. */
|
|
10
|
+
function moduleDirectory() {
|
|
11
|
+
return node_path.default.dirname((0, node_url.fileURLToPath)(require("url").pathToFileURL(__filename).href));
|
|
12
|
+
}
|
|
13
|
+
/** Installed package root for the source or compiled module executing sync. */
|
|
14
|
+
function poPackageRoot() {
|
|
15
|
+
const start = moduleDirectory();
|
|
16
|
+
let directory = node_path.default.resolve(start);
|
|
17
|
+
while ((0, _agimon_ai_po_core_doomPackage.manifestName)(directory) !== _agimon_ai_po_core_doomPackage.DOOM_PACKAGE_NAME) {
|
|
18
|
+
const parent = node_path.default.dirname(directory);
|
|
19
|
+
if (parent === directory) throw new Error(`Could not locate installed ${_agimon_ai_po_core_doomPackage.DOOM_PACKAGE_NAME} package from ${start}`);
|
|
20
|
+
directory = parent;
|
|
21
|
+
}
|
|
22
|
+
return directory;
|
|
23
|
+
}
|
|
24
|
+
/** Distribution entries must resolve relative to po, never a dependency's installation. */
|
|
25
|
+
function ownEntry(name) {
|
|
26
|
+
let directory = moduleDirectory();
|
|
27
|
+
while (!node_fs.default.existsSync(node_path.default.join(directory, "package.json"))) {
|
|
28
|
+
const parent = node_path.default.dirname(directory);
|
|
29
|
+
if (parent === directory) throw new Error("Cannot locate the Po distribution");
|
|
30
|
+
directory = parent;
|
|
31
|
+
}
|
|
32
|
+
const source = require("url").pathToFileURL(__filename).href.endsWith(".ts");
|
|
33
|
+
return node_path.default.join(directory, source ? "src" : "dist", "extensions", `${name}.${source ? "ts" : "mjs"}`);
|
|
34
|
+
}
|
|
35
|
+
//#endregion
|
|
36
|
+
exports.ownEntry = ownEntry;
|
|
37
|
+
exports.poPackageRoot = poPackageRoot;
|
|
38
|
+
|
|
39
|
+
//# sourceMappingURL=entryResolution.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"entryResolution.cjs","names":["path","fileURLToPath","manifestName","DOOM_PACKAGE_NAME","fs"],"sources":["../../../../src/builders/cli/entryResolution.ts"],"sourcesContent":["import fs from 'node:fs';\nimport path from 'node:path';\nimport { fileURLToPath } from 'node:url';\n\nimport { DOOM_PACKAGE_NAME, manifestName } from '@agimon-ai/po-core/doomPackage';\n\n/** Directory of this module; the desktop bundle rewrites it to its staged package root. */\nfunction moduleDirectory(): string {\n return path.dirname(fileURLToPath(import.meta.url));\n}\n\n/** Installed package root for the source or compiled module executing sync. */\nexport function poPackageRoot(): string {\n const start = moduleDirectory();\n let directory = path.resolve(start);\n while (manifestName(directory) !== DOOM_PACKAGE_NAME) {\n const parent = path.dirname(directory);\n if (parent === directory) {\n throw new Error(`Could not locate installed ${DOOM_PACKAGE_NAME} package from ${start}`);\n }\n directory = parent;\n }\n return directory;\n}\n\n/** Distribution entries must resolve relative to po, never a dependency's installation. */\nexport function ownEntry(name: string): string {\n let directory = moduleDirectory();\n while (!fs.existsSync(path.join(directory, 'package.json'))) {\n const parent = path.dirname(directory);\n if (parent === directory) throw new Error('Cannot locate the Po distribution');\n directory = parent;\n }\n const source = import.meta.url.endsWith('.ts');\n return path.join(directory, source ? 'src' : 'dist', 'extensions', `${name}.${source ? 'ts' : 'mjs'}`);\n}\n"],"mappings":";;;;;;;;;AAOA,SAAS,kBAA0B;CACjC,OAAOA,UAAAA,QAAK,SAAA,GAAQC,SAAAA,cAAAA,CAAAA,QAAAA,KAAAA,CAAAA,CAAAA,cAAAA,UAAAA,CAAAA,CAAAA,IAA6B,CAAC;AACpD;;AAGA,SAAgB,gBAAwB;CACtC,MAAM,QAAQ,gBAAgB;CAC9B,IAAI,YAAYD,UAAAA,QAAK,QAAQ,KAAK;CAClC,QAAA,GAAOE,+BAAAA,aAAAA,CAAa,SAAS,MAAMC,+BAAAA,mBAAmB;EACpD,MAAM,SAASH,UAAAA,QAAK,QAAQ,SAAS;EACrC,IAAI,WAAW,WACb,MAAM,IAAI,MAAM,8BAA8BG,+BAAAA,kBAAkB,gBAAgB,OAAO;EAEzF,YAAY;CACd;CACA,OAAO;AACT;;AAGA,SAAgB,SAAS,MAAsB;CAC7C,IAAI,YAAY,gBAAgB;CAChC,OAAO,CAACC,QAAAA,QAAG,WAAWJ,UAAAA,QAAK,KAAK,WAAW,cAAc,CAAC,GAAG;EAC3D,MAAM,SAASA,UAAAA,QAAK,QAAQ,SAAS;EACrC,IAAI,WAAW,WAAW,MAAM,IAAI,MAAM,mCAAmC;EAC7E,YAAY;CACd;CACA,MAAM,SAAA,QAAA,KAAA,CAAA,CAAA,cAAA,UAAA,CAAA,CAAA,KAAyB,SAAS,KAAK;CAC7C,OAAOA,UAAAA,QAAK,KAAK,WAAW,SAAS,QAAQ,QAAQ,cAAc,GAAG,KAAK,GAAG,SAAS,OAAO,OAAO;AACvG"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import fs from "node:fs";
|
|
2
|
+
import path from "node:path";
|
|
3
|
+
import { fileURLToPath } from "node:url";
|
|
4
|
+
import { DOOM_PACKAGE_NAME, manifestName } from "@agimon-ai/po-core/doomPackage";
|
|
5
|
+
//#region src/builders/cli/entryResolution.ts
|
|
6
|
+
/** Directory of this module; the desktop bundle rewrites it to its staged package root. */
|
|
7
|
+
function moduleDirectory() {
|
|
8
|
+
return path.dirname(fileURLToPath(import.meta.url));
|
|
9
|
+
}
|
|
10
|
+
/** Installed package root for the source or compiled module executing sync. */
|
|
11
|
+
function poPackageRoot() {
|
|
12
|
+
const start = moduleDirectory();
|
|
13
|
+
let directory = path.resolve(start);
|
|
14
|
+
while (manifestName(directory) !== DOOM_PACKAGE_NAME) {
|
|
15
|
+
const parent = path.dirname(directory);
|
|
16
|
+
if (parent === directory) throw new Error(`Could not locate installed ${DOOM_PACKAGE_NAME} package from ${start}`);
|
|
17
|
+
directory = parent;
|
|
18
|
+
}
|
|
19
|
+
return directory;
|
|
20
|
+
}
|
|
21
|
+
/** Distribution entries must resolve relative to po, never a dependency's installation. */
|
|
22
|
+
function ownEntry(name) {
|
|
23
|
+
let directory = moduleDirectory();
|
|
24
|
+
while (!fs.existsSync(path.join(directory, "package.json"))) {
|
|
25
|
+
const parent = path.dirname(directory);
|
|
26
|
+
if (parent === directory) throw new Error("Cannot locate the Po distribution");
|
|
27
|
+
directory = parent;
|
|
28
|
+
}
|
|
29
|
+
const source = import.meta.url.endsWith(".ts");
|
|
30
|
+
return path.join(directory, source ? "src" : "dist", "extensions", `${name}.${source ? "ts" : "mjs"}`);
|
|
31
|
+
}
|
|
32
|
+
//#endregion
|
|
33
|
+
export { ownEntry, poPackageRoot };
|
|
34
|
+
|
|
35
|
+
//# sourceMappingURL=entryResolution.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"entryResolution.mjs","names":[],"sources":["../../../../src/builders/cli/entryResolution.ts"],"sourcesContent":["import fs from 'node:fs';\nimport path from 'node:path';\nimport { fileURLToPath } from 'node:url';\n\nimport { DOOM_PACKAGE_NAME, manifestName } from '@agimon-ai/po-core/doomPackage';\n\n/** Directory of this module; the desktop bundle rewrites it to its staged package root. */\nfunction moduleDirectory(): string {\n return path.dirname(fileURLToPath(import.meta.url));\n}\n\n/** Installed package root for the source or compiled module executing sync. */\nexport function poPackageRoot(): string {\n const start = moduleDirectory();\n let directory = path.resolve(start);\n while (manifestName(directory) !== DOOM_PACKAGE_NAME) {\n const parent = path.dirname(directory);\n if (parent === directory) {\n throw new Error(`Could not locate installed ${DOOM_PACKAGE_NAME} package from ${start}`);\n }\n directory = parent;\n }\n return directory;\n}\n\n/** Distribution entries must resolve relative to po, never a dependency's installation. */\nexport function ownEntry(name: string): string {\n let directory = moduleDirectory();\n while (!fs.existsSync(path.join(directory, 'package.json'))) {\n const parent = path.dirname(directory);\n if (parent === directory) throw new Error('Cannot locate the Po distribution');\n directory = parent;\n }\n const source = import.meta.url.endsWith('.ts');\n return path.join(directory, source ? 'src' : 'dist', 'extensions', `${name}.${source ? 'ts' : 'mjs'}`);\n}\n"],"mappings":";;;;;;AAOA,SAAS,kBAA0B;CACjC,OAAO,KAAK,QAAQ,cAAc,YAAY,GAAG,CAAC;AACpD;;AAGA,SAAgB,gBAAwB;CACtC,MAAM,QAAQ,gBAAgB;CAC9B,IAAI,YAAY,KAAK,QAAQ,KAAK;CAClC,OAAO,aAAa,SAAS,MAAM,mBAAmB;EACpD,MAAM,SAAS,KAAK,QAAQ,SAAS;EACrC,IAAI,WAAW,WACb,MAAM,IAAI,MAAM,8BAA8B,kBAAkB,gBAAgB,OAAO;EAEzF,YAAY;CACd;CACA,OAAO;AACT;;AAGA,SAAgB,SAAS,MAAsB;CAC7C,IAAI,YAAY,gBAAgB;CAChC,OAAO,CAAC,GAAG,WAAW,KAAK,KAAK,WAAW,cAAc,CAAC,GAAG;EAC3D,MAAM,SAAS,KAAK,QAAQ,SAAS;EACrC,IAAI,WAAW,WAAW,MAAM,IAAI,MAAM,mCAAmC;EAC7E,YAAY;CACd;CACA,MAAM,SAAS,YAAY,IAAI,SAAS,KAAK;CAC7C,OAAO,KAAK,KAAK,WAAW,SAAS,QAAQ,QAAQ,cAAc,GAAG,KAAK,GAAG,SAAS,OAAO,OAAO;AACvG"}
|