charness 3.7.0 → 3.9.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/CHANGELOG.md +36 -0
- package/DEVELOPMENT.md +8 -2
- package/README.md +5 -5
- package/SETUP.md +17 -5
- package/agent-plugin/skills/charness-manager/SKILL.md +3 -3
- package/dist/adapters/openCodeAdapter.d.ts.map +1 -1
- package/dist/adapters/openCodeAdapter.js +2 -1
- package/dist/adapters/openCodeAdapter.js.map +1 -1
- package/dist/bot.d.ts.map +1 -1
- package/dist/bot.js +50 -9
- package/dist/bot.js.map +1 -1
- package/dist/cli.d.ts +2 -0
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +56 -6
- package/dist/cli.js.map +1 -1
- package/dist/configDirFile.d.ts +7 -3
- package/dist/configDirFile.d.ts.map +1 -1
- package/dist/configDirFile.js +12 -5
- package/dist/configDirFile.js.map +1 -1
- package/dist/connectors/telegram/commands/botCore.d.ts +5 -1
- package/dist/connectors/telegram/commands/botCore.d.ts.map +1 -1
- package/dist/connectors/telegram/commands/runners.d.ts +52 -0
- package/dist/connectors/telegram/commands/runners.d.ts.map +1 -0
- package/dist/connectors/telegram/commands/runners.js +524 -0
- package/dist/connectors/telegram/commands/runners.js.map +1 -0
- package/dist/connectors/telegram/runnerPairingMessages.d.ts +29 -0
- package/dist/connectors/telegram/runnerPairingMessages.d.ts.map +1 -0
- package/dist/connectors/telegram/runnerPairingMessages.js +112 -0
- package/dist/connectors/telegram/runnerPairingMessages.js.map +1 -0
- package/dist/i18n/de.d.ts.map +1 -1
- package/dist/i18n/de.js +60 -0
- package/dist/i18n/de.js.map +1 -1
- package/dist/i18n/en.d.ts.map +1 -1
- package/dist/i18n/en.js +60 -0
- package/dist/i18n/en.js.map +1 -1
- package/dist/i18n/es.d.ts.map +1 -1
- package/dist/i18n/es.js +60 -0
- package/dist/i18n/es.js.map +1 -1
- package/dist/i18n/fr.d.ts.map +1 -1
- package/dist/i18n/fr.js +60 -0
- package/dist/i18n/fr.js.map +1 -1
- package/dist/i18n/hi.d.ts.map +1 -1
- package/dist/i18n/hi.js +60 -0
- package/dist/i18n/hi.js.map +1 -1
- package/dist/i18n/ja.d.ts.map +1 -1
- package/dist/i18n/ja.js +60 -0
- package/dist/i18n/ja.js.map +1 -1
- package/dist/i18n/ka.d.ts.map +1 -1
- package/dist/i18n/ka.js +60 -0
- package/dist/i18n/ka.js.map +1 -1
- package/dist/i18n/pt.d.ts.map +1 -1
- package/dist/i18n/pt.js +60 -0
- package/dist/i18n/pt.js.map +1 -1
- package/dist/i18n/ru.d.ts.map +1 -1
- package/dist/i18n/ru.js +60 -0
- package/dist/i18n/ru.js.map +1 -1
- package/dist/i18n/uk.d.ts.map +1 -1
- package/dist/i18n/uk.js +60 -0
- package/dist/i18n/uk.js.map +1 -1
- package/dist/i18n/uz.d.ts.map +1 -1
- package/dist/i18n/uz.js +60 -0
- package/dist/i18n/uz.js.map +1 -1
- package/dist/i18n/zh.d.ts.map +1 -1
- package/dist/i18n/zh.js +60 -0
- package/dist/i18n/zh.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/installManager.d.ts +57 -1
- package/dist/installManager.d.ts.map +1 -1
- package/dist/installManager.js +88 -10
- package/dist/installManager.js.map +1 -1
- package/dist/instanceSettings.d.ts +12 -2
- package/dist/instanceSettings.d.ts.map +1 -1
- package/dist/instanceSettings.js +17 -3
- package/dist/instanceSettings.js.map +1 -1
- package/dist/outputTrace.d.ts +6 -0
- package/dist/outputTrace.d.ts.map +1 -1
- package/dist/outputTrace.js +24 -1
- package/dist/outputTrace.js.map +1 -1
- package/dist/remoteRun/cliArgs.d.ts +2 -0
- package/dist/remoteRun/cliArgs.d.ts.map +1 -1
- package/dist/remoteRun/cliArgs.js +11 -2
- package/dist/remoteRun/cliArgs.js.map +1 -1
- package/dist/remoteRun/commands.d.ts +21 -0
- package/dist/remoteRun/commands.d.ts.map +1 -1
- package/dist/remoteRun/commands.js +38 -17
- package/dist/remoteRun/commands.js.map +1 -1
- package/dist/remoteRun/interrupts.d.ts +10 -0
- package/dist/remoteRun/interrupts.d.ts.map +1 -1
- package/dist/remoteRun/interrupts.js +43 -6
- package/dist/remoteRun/interrupts.js.map +1 -1
- package/dist/remoteRun/output.d.ts +2 -0
- package/dist/remoteRun/output.d.ts.map +1 -1
- package/dist/remoteRun/output.js +45 -0
- package/dist/remoteRun/output.js.map +1 -1
- package/dist/remoteRun/pairedRunners.d.ts +51 -0
- package/dist/remoteRun/pairedRunners.d.ts.map +1 -0
- package/dist/remoteRun/pairedRunners.js +165 -0
- package/dist/remoteRun/pairedRunners.js.map +1 -0
- package/dist/remoteRun/probe.d.ts +23 -1
- package/dist/remoteRun/probe.d.ts.map +1 -1
- package/dist/remoteRun/probe.js +45 -11
- package/dist/remoteRun/probe.js.map +1 -1
- package/dist/remoteRun/remoteRunCli.d.ts +13 -6
- package/dist/remoteRun/remoteRunCli.d.ts.map +1 -1
- package/dist/remoteRun/remoteRunCli.js +34 -59
- package/dist/remoteRun/remoteRunCli.js.map +1 -1
- package/dist/remoteRun/runnerClient.d.ts +2 -0
- package/dist/remoteRun/runnerClient.d.ts.map +1 -1
- package/dist/remoteRun/runnerClient.js +5 -1
- package/dist/remoteRun/runnerClient.js.map +1 -1
- package/dist/remoteRun/runnerSummary.d.ts +24 -0
- package/dist/remoteRun/runnerSummary.d.ts.map +1 -0
- package/dist/remoteRun/runnerSummary.js +86 -0
- package/dist/remoteRun/runnerSummary.js.map +1 -0
- package/dist/remoteRun/runnerWait.d.ts +68 -0
- package/dist/remoteRun/runnerWait.d.ts.map +1 -0
- package/dist/remoteRun/runnerWait.js +137 -0
- package/dist/remoteRun/runnerWait.js.map +1 -0
- package/dist/remoteRun/runnerWaitTiming.d.ts +16 -0
- package/dist/remoteRun/runnerWaitTiming.d.ts.map +1 -0
- package/dist/remoteRun/runnerWaitTiming.js +37 -0
- package/dist/remoteRun/runnerWaitTiming.js.map +1 -0
- package/dist/remoteRun/runners.d.ts +15 -8
- package/dist/remoteRun/runners.d.ts.map +1 -1
- package/dist/remoteRun/runners.js +59 -19
- package/dist/remoteRun/runners.js.map +1 -1
- package/dist/remoteRun/runnersCatalog.d.ts +14 -0
- package/dist/remoteRun/runnersCatalog.d.ts.map +1 -0
- package/dist/remoteRun/runnersCatalog.js +68 -0
- package/dist/remoteRun/runnersCatalog.js.map +1 -0
- package/dist/remoteRun/runnersConfig.d.ts +31 -20
- package/dist/remoteRun/runnersConfig.d.ts.map +1 -1
- package/dist/remoteRun/runnersConfig.js +14 -12
- package/dist/remoteRun/runnersConfig.js.map +1 -1
- package/dist/remoteRun/ssh.d.ts +22 -2
- package/dist/remoteRun/ssh.d.ts.map +1 -1
- package/dist/remoteRun/ssh.js +41 -7
- package/dist/remoteRun/ssh.js.map +1 -1
- package/dist/runnerUtility/adminCheck.d.ts +18 -0
- package/dist/runnerUtility/adminCheck.d.ts.map +1 -0
- package/dist/runnerUtility/adminCheck.js +69 -0
- package/dist/runnerUtility/adminCheck.js.map +1 -0
- package/dist/runnerUtility/adminService.d.ts +22 -0
- package/dist/runnerUtility/adminService.d.ts.map +1 -0
- package/dist/runnerUtility/adminService.js +145 -0
- package/dist/runnerUtility/adminService.js.map +1 -0
- package/dist/runnerUtility/appInstall.d.ts +25 -0
- package/dist/runnerUtility/appInstall.d.ts.map +1 -0
- package/dist/runnerUtility/appInstall.js +147 -0
- package/dist/runnerUtility/appInstall.js.map +1 -0
- package/dist/runnerUtility/appUpdate.d.ts +39 -0
- package/dist/runnerUtility/appUpdate.d.ts.map +1 -0
- package/dist/runnerUtility/appUpdate.js +90 -0
- package/dist/runnerUtility/appUpdate.js.map +1 -0
- package/dist/runnerUtility/execEnv.d.ts +21 -0
- package/dist/runnerUtility/execEnv.d.ts.map +1 -0
- package/dist/runnerUtility/execEnv.js +109 -0
- package/dist/runnerUtility/execEnv.js.map +1 -0
- package/dist/runnerUtility/execSession.d.ts +13 -0
- package/dist/runnerUtility/execSession.d.ts.map +1 -0
- package/dist/runnerUtility/execSession.js +58 -0
- package/dist/runnerUtility/execSession.js.map +1 -0
- package/dist/runnerUtility/hubClient.d.ts +30 -0
- package/dist/runnerUtility/hubClient.d.ts.map +1 -0
- package/dist/runnerUtility/hubClient.js +127 -0
- package/dist/runnerUtility/hubClient.js.map +1 -0
- package/dist/runnerUtility/injectStream.d.ts +9 -0
- package/dist/runnerUtility/injectStream.d.ts.map +1 -0
- package/dist/runnerUtility/injectStream.js +12 -0
- package/dist/runnerUtility/injectStream.js.map +1 -0
- package/dist/runnerUtility/iosCheck.d.ts +62 -0
- package/dist/runnerUtility/iosCheck.d.ts.map +1 -0
- package/dist/runnerUtility/iosCheck.js +200 -0
- package/dist/runnerUtility/iosCheck.js.map +1 -0
- package/dist/runnerUtility/launcher.d.ts +5 -0
- package/dist/runnerUtility/launcher.d.ts.map +1 -0
- package/dist/runnerUtility/launcher.js +85 -0
- package/dist/runnerUtility/launcher.js.map +1 -0
- package/dist/runnerUtility/linkLoop.d.ts +39 -0
- package/dist/runnerUtility/linkLoop.d.ts.map +1 -0
- package/dist/runnerUtility/linkLoop.js +274 -0
- package/dist/runnerUtility/linkLoop.js.map +1 -0
- package/dist/runnerUtility/localLinkStop.d.ts +23 -0
- package/dist/runnerUtility/localLinkStop.d.ts.map +1 -0
- package/dist/runnerUtility/localLinkStop.js +79 -0
- package/dist/runnerUtility/localLinkStop.js.map +1 -0
- package/dist/runnerUtility/machineReport.d.ts +39 -0
- package/dist/runnerUtility/machineReport.d.ts.map +1 -0
- package/dist/runnerUtility/machineReport.js +161 -0
- package/dist/runnerUtility/machineReport.js.map +1 -0
- package/dist/runnerUtility/packageId.d.ts +5 -0
- package/dist/runnerUtility/packageId.d.ts.map +1 -0
- package/dist/runnerUtility/packageId.js +64 -0
- package/dist/runnerUtility/packageId.js.map +1 -0
- package/dist/runnerUtility/pairArgs.d.ts +16 -0
- package/dist/runnerUtility/pairArgs.d.ts.map +1 -0
- package/dist/runnerUtility/pairArgs.js +17 -0
- package/dist/runnerUtility/pairArgs.js.map +1 -0
- package/dist/runnerUtility/pairingRecovery.d.ts +31 -0
- package/dist/runnerUtility/pairingRecovery.d.ts.map +1 -0
- package/dist/runnerUtility/pairingRecovery.js +24 -0
- package/dist/runnerUtility/pairingRecovery.js.map +1 -0
- package/dist/runnerUtility/pueueDaemon.d.ts +36 -0
- package/dist/runnerUtility/pueueDaemon.d.ts.map +1 -0
- package/dist/runnerUtility/pueueDaemon.js +165 -0
- package/dist/runnerUtility/pueueDaemon.js.map +1 -0
- package/dist/runnerUtility/rootServiceCli.d.ts +8 -0
- package/dist/runnerUtility/rootServiceCli.d.ts.map +1 -0
- package/dist/runnerUtility/rootServiceCli.js +31 -0
- package/dist/runnerUtility/rootServiceCli.js.map +1 -0
- package/dist/runnerUtility/runnerCli.d.ts +18 -0
- package/dist/runnerUtility/runnerCli.d.ts.map +1 -0
- package/dist/runnerUtility/runnerCli.js +190 -0
- package/dist/runnerUtility/runnerCli.js.map +1 -0
- package/dist/runnerUtility/runnerCommands.d.ts +76 -0
- package/dist/runnerUtility/runnerCommands.d.ts.map +1 -0
- package/dist/runnerUtility/runnerCommands.js +464 -0
- package/dist/runnerUtility/runnerCommands.js.map +1 -0
- package/dist/runnerUtility/runnerConfig.d.ts +63 -0
- package/dist/runnerUtility/runnerConfig.d.ts.map +1 -0
- package/dist/runnerUtility/runnerConfig.js +153 -0
- package/dist/runnerUtility/runnerConfig.js.map +1 -0
- package/dist/runnerUtility/runnerFlags.d.ts +9 -0
- package/dist/runnerUtility/runnerFlags.d.ts.map +1 -0
- package/dist/runnerUtility/runnerFlags.js +53 -0
- package/dist/runnerUtility/runnerFlags.js.map +1 -0
- package/dist/runnerUtility/runnerHome.d.ts +30 -0
- package/dist/runnerUtility/runnerHome.d.ts.map +1 -0
- package/dist/runnerUtility/runnerHome.js +82 -0
- package/dist/runnerUtility/runnerHome.js.map +1 -0
- package/dist/runnerUtility/runnerKeys.d.ts +11 -0
- package/dist/runnerUtility/runnerKeys.d.ts.map +1 -0
- package/dist/runnerUtility/runnerKeys.js +80 -0
- package/dist/runnerUtility/runnerKeys.js.map +1 -0
- package/dist/runnerUtility/runnerServers.d.ts +40 -0
- package/dist/runnerUtility/runnerServers.d.ts.map +1 -0
- package/dist/runnerUtility/runnerServers.js +79 -0
- package/dist/runnerUtility/runnerServers.js.map +1 -0
- package/dist/runnerUtility/serviceCommon.d.ts +97 -0
- package/dist/runnerUtility/serviceCommon.d.ts.map +1 -0
- package/dist/runnerUtility/serviceCommon.js +209 -0
- package/dist/runnerUtility/serviceCommon.js.map +1 -0
- package/dist/runnerUtility/serviceManager.d.ts +51 -0
- package/dist/runnerUtility/serviceManager.d.ts.map +1 -0
- package/dist/runnerUtility/serviceManager.js +344 -0
- package/dist/runnerUtility/serviceManager.js.map +1 -0
- package/dist/runnerUtility/serviceUnits.d.ts +38 -0
- package/dist/runnerUtility/serviceUnits.d.ts.map +1 -0
- package/dist/runnerUtility/serviceUnits.js +189 -0
- package/dist/runnerUtility/serviceUnits.js.map +1 -0
- package/dist/runnerUtility/toolInstall.d.ts +95 -0
- package/dist/runnerUtility/toolInstall.d.ts.map +1 -0
- package/dist/runnerUtility/toolInstall.js +232 -0
- package/dist/runnerUtility/toolInstall.js.map +1 -0
- package/dist/runnerUtility/versionPollTiming.d.ts +16 -0
- package/dist/runnerUtility/versionPollTiming.d.ts.map +1 -0
- package/dist/runnerUtility/versionPollTiming.js +36 -0
- package/dist/runnerUtility/versionPollTiming.js.map +1 -0
- package/dist/runners/authorizedKeys.d.ts +52 -0
- package/dist/runners/authorizedKeys.d.ts.map +1 -0
- package/dist/runners/authorizedKeys.js +153 -0
- package/dist/runners/authorizedKeys.js.map +1 -0
- package/dist/runners/bootstrapLine.d.ts +13 -0
- package/dist/runners/bootstrapLine.d.ts.map +1 -0
- package/dist/runners/bootstrapLine.js +154 -0
- package/dist/runners/bootstrapLine.js.map +1 -0
- package/dist/runners/gate.d.ts +41 -0
- package/dist/runners/gate.d.ts.map +1 -0
- package/dist/runners/gate.js +225 -0
- package/dist/runners/gate.js.map +1 -0
- package/dist/runners/gateLink.d.ts +26 -0
- package/dist/runners/gateLink.d.ts.map +1 -0
- package/dist/runners/gateLink.js +240 -0
- package/dist/runners/gateLink.js.map +1 -0
- package/dist/runners/gateProtocol.d.ts +104 -0
- package/dist/runners/gateProtocol.d.ts.map +1 -0
- package/dist/runners/gateProtocol.js +151 -0
- package/dist/runners/gateProtocol.js.map +1 -0
- package/dist/runners/gateWrapper.d.ts +6 -0
- package/dist/runners/gateWrapper.d.ts.map +1 -0
- package/dist/runners/gateWrapper.js +70 -0
- package/dist/runners/gateWrapper.js.map +1 -0
- package/dist/runners/hubAddress.d.ts +33 -0
- package/dist/runners/hubAddress.d.ts.map +1 -0
- package/dist/runners/hubAddress.js +88 -0
- package/dist/runners/hubAddress.js.map +1 -0
- package/dist/runners/hubAddressCandidates.d.ts +16 -0
- package/dist/runners/hubAddressCandidates.d.ts.map +1 -0
- package/dist/runners/hubAddressCandidates.js +96 -0
- package/dist/runners/hubAddressCandidates.js.map +1 -0
- package/dist/runners/hubIds.d.ts +16 -0
- package/dist/runners/hubIds.d.ts.map +1 -0
- package/dist/runners/hubIds.js +25 -0
- package/dist/runners/hubIds.js.map +1 -0
- package/dist/runners/hubKey.d.ts +6 -0
- package/dist/runners/hubKey.d.ts.map +1 -0
- package/dist/runners/hubKey.js +78 -0
- package/dist/runners/hubKey.js.map +1 -0
- package/dist/runners/hubLock.d.ts +7 -0
- package/dist/runners/hubLock.d.ts.map +1 -0
- package/dist/runners/hubLock.js +230 -0
- package/dist/runners/hubLock.js.map +1 -0
- package/dist/runners/hubPackage.d.ts +23 -0
- package/dist/runners/hubPackage.d.ts.map +1 -0
- package/dist/runners/hubPackage.js +184 -0
- package/dist/runners/hubPackage.js.map +1 -0
- package/dist/runners/hubPairing.d.ts +70 -0
- package/dist/runners/hubPairing.d.ts.map +1 -0
- package/dist/runners/hubPairing.js +277 -0
- package/dist/runners/hubPairing.js.map +1 -0
- package/dist/runners/hubPaths.d.ts +42 -0
- package/dist/runners/hubPaths.d.ts.map +1 -0
- package/dist/runners/hubPaths.js +96 -0
- package/dist/runners/hubPaths.js.map +1 -0
- package/dist/runners/hubRegistry.d.ts +134 -0
- package/dist/runners/hubRegistry.d.ts.map +1 -0
- package/dist/runners/hubRegistry.js +256 -0
- package/dist/runners/hubRegistry.js.map +1 -0
- package/dist/runners/linkControl.d.ts +38 -0
- package/dist/runners/linkControl.d.ts.map +1 -0
- package/dist/runners/linkControl.js +171 -0
- package/dist/runners/linkControl.js.map +1 -0
- package/dist/runners/pairCode.d.ts +30 -0
- package/dist/runners/pairCode.d.ts.map +1 -0
- package/dist/runners/pairCode.js +46 -0
- package/dist/runners/pairCode.js.map +1 -0
- package/dist/runners/pairingTiming.d.ts +18 -0
- package/dist/runners/pairingTiming.d.ts.map +1 -0
- package/dist/runners/pairingTiming.js +42 -0
- package/dist/runners/pairingTiming.js.map +1 -0
- package/dist/runners/removalTiming.d.ts +13 -0
- package/dist/runners/removalTiming.d.ts.map +1 -0
- package/dist/runners/removalTiming.js +17 -0
- package/dist/runners/removalTiming.js.map +1 -0
- package/dist/runners/runnerProxy.d.ts +9 -0
- package/dist/runners/runnerProxy.d.ts.map +1 -0
- package/dist/runners/runnerProxy.js +67 -0
- package/dist/runners/runnerProxy.js.map +1 -0
- package/dist/runners/runnerRemoval.d.ts +21 -0
- package/dist/runners/runnerRemoval.d.ts.map +1 -0
- package/dist/runners/runnerRemoval.js +94 -0
- package/dist/runners/runnerRemoval.js.map +1 -0
- package/dist/runners/runnerServiceKind.d.ts +10 -0
- package/dist/runners/runnerServiceKind.d.ts.map +1 -0
- package/dist/runners/runnerServiceKind.js +13 -0
- package/dist/runners/runnerServiceKind.js.map +1 -0
- package/dist/runners/runnersCli.d.ts +25 -0
- package/dist/runners/runnersCli.d.ts.map +1 -0
- package/dist/runners/runnersCli.js +239 -0
- package/dist/runners/runnersCli.js.map +1 -0
- package/dist/runners/runnersList.d.ts +14 -0
- package/dist/runners/runnersList.d.ts.map +1 -0
- package/dist/runners/runnersList.js +51 -0
- package/dist/runners/runnersList.js.map +1 -0
- package/dist/runners/runnersOverview.d.ts +20 -0
- package/dist/runners/runnersOverview.d.ts.map +1 -0
- package/dist/runners/runnersOverview.js +56 -0
- package/dist/runners/runnersOverview.js.map +1 -0
- package/dist/runners/sshKeys.d.ts +26 -0
- package/dist/runners/sshKeys.d.ts.map +1 -0
- package/dist/runners/sshKeys.js +60 -0
- package/dist/runners/sshKeys.js.map +1 -0
- package/dist/runners/tarArchive.d.ts +20 -0
- package/dist/runners/tarArchive.d.ts.map +1 -0
- package/dist/runners/tarArchive.js +70 -0
- package/dist/runners/tarArchive.js.map +1 -0
- package/dist/scheduler/mcpSurface.d.ts +11 -5
- package/dist/scheduler/mcpSurface.d.ts.map +1 -1
- package/dist/scheduler/mcpSurface.js +59 -26
- package/dist/scheduler/mcpSurface.js.map +1 -1
- package/dist/selfUpdate/selfCheck.d.ts +13 -0
- package/dist/selfUpdate/selfCheck.d.ts.map +1 -1
- package/dist/selfUpdate/selfCheck.js +9 -3
- package/dist/selfUpdate/selfCheck.js.map +1 -1
- package/dist/stt/sttInstallEntry.js +7 -4
- package/dist/stt/sttInstallEntry.js.map +1 -1
- package/dist/testTimings.d.ts +5 -2
- package/dist/testTimings.d.ts.map +1 -1
- package/dist/testTimings.js +10 -1
- package/dist/testTimings.js.map +1 -1
- package/dist/utils/agentEnvironment.d.ts +6 -2
- package/dist/utils/agentEnvironment.d.ts.map +1 -1
- package/dist/utils/agentEnvironment.js +13 -2
- package/dist/utils/agentEnvironment.js.map +1 -1
- package/dist/utils/runnersScreenPlan.d.ts +141 -0
- package/dist/utils/runnersScreenPlan.d.ts.map +1 -0
- package/dist/utils/runnersScreenPlan.js +272 -0
- package/dist/utils/runnersScreenPlan.js.map +1 -0
- package/package.json +5 -2
- package/remoteRun/runner.sh +81 -6
|
@@ -0,0 +1,190 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
"use strict";
|
|
3
|
+
/**
|
|
4
|
+
* `charness-runner` — the program that attaches a machine to a charness hub as a runner (see `src/runners/README.md` for the hub side
|
|
5
|
+
* and `src/runnerUtility/README.md` for this one).
|
|
6
|
+
*
|
|
7
|
+
* charness-runner what this account is attached to and what the link is doing (= `status`)
|
|
8
|
+
* charness-runner pair <code> attach this account with a pairing code (the line from /runners does it for you)
|
|
9
|
+
* charness-runner run hold the link to the hub; Ctrl-C stops (a service does the same, see the pairing text)
|
|
10
|
+
* charness-runner check look at this machine and install what a runner needs (Pueue, rsync)
|
|
11
|
+
* charness-runner service install keep it running without a terminal (see `serviceManager.ts`)
|
|
12
|
+
* charness-runner pause | resume | unpair
|
|
13
|
+
*
|
|
14
|
+
* This file is the FIRST thing a pairing runs, from a package that has no `node_modules` yet (`pair --bootstrap <folder> <code>`,
|
|
15
|
+
* started by the pasted line): it imports Node built-ins only, installs the package's dependencies into a new app folder, and starts
|
|
16
|
+
* the installed copy to do the pairing. Everything else is loaded after that, on demand.
|
|
17
|
+
*/
|
|
18
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
19
|
+
if (k2 === undefined) k2 = k;
|
|
20
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
21
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
22
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
23
|
+
}
|
|
24
|
+
Object.defineProperty(o, k2, desc);
|
|
25
|
+
}) : (function(o, m, k, k2) {
|
|
26
|
+
if (k2 === undefined) k2 = k;
|
|
27
|
+
o[k2] = m[k];
|
|
28
|
+
}));
|
|
29
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
30
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
31
|
+
}) : function(o, v) {
|
|
32
|
+
o["default"] = v;
|
|
33
|
+
});
|
|
34
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
35
|
+
var ownKeys = function(o) {
|
|
36
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
37
|
+
var ar = [];
|
|
38
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
39
|
+
return ar;
|
|
40
|
+
};
|
|
41
|
+
return ownKeys(o);
|
|
42
|
+
};
|
|
43
|
+
return function (mod) {
|
|
44
|
+
if (mod && mod.__esModule) return mod;
|
|
45
|
+
var result = {};
|
|
46
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
47
|
+
__setModuleDefault(result, mod);
|
|
48
|
+
return result;
|
|
49
|
+
};
|
|
50
|
+
})();
|
|
51
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
52
|
+
const child_process_1 = require("child_process");
|
|
53
|
+
const fs = __importStar(require("fs"));
|
|
54
|
+
const os = __importStar(require("os"));
|
|
55
|
+
const path = __importStar(require("path"));
|
|
56
|
+
const appInstall_1 = require("./appInstall");
|
|
57
|
+
const packageId_1 = require("./packageId");
|
|
58
|
+
const pairArgs_1 = require("./pairArgs");
|
|
59
|
+
const runnerHome_1 = require("./runnerHome");
|
|
60
|
+
const usageExitCode = 2;
|
|
61
|
+
const usage = `Usage:
|
|
62
|
+
charness-runner what this account is attached to and what the link is doing
|
|
63
|
+
charness-runner pair <code> attach this account with a pairing code
|
|
64
|
+
charness-runner run hold the link to the hub (Ctrl-C stops)
|
|
65
|
+
charness-runner check look at this machine; install Pueue and rsync when they are missing
|
|
66
|
+
charness-runner service install keep it running in the background (systemd user service on Linux, LaunchAgent on macOS)
|
|
67
|
+
(always on, also logged out: an admin pastes the admin line from /runners, see docs/remote-run.md)
|
|
68
|
+
charness-runner service uninstall remove the services (an always-on one: prints the admin's commands)
|
|
69
|
+
charness-runner pause | resume take this machine out of rotation, or back in
|
|
70
|
+
charness-runner unpair [--local] tell the hub and forget the pairing (--local: forget it here only)
|
|
71
|
+
`;
|
|
72
|
+
/** The folder of the copy that is running: this file is `<app>/dist/runnerUtility/runnerCli.js`. */
|
|
73
|
+
function getOwnAppDir() {
|
|
74
|
+
return path.resolve(__dirname, '..', '..');
|
|
75
|
+
}
|
|
76
|
+
/** `--bootstrap <folder> --archive <file> --package-id <id> [--service-follows] <code>` — what the pasted line passes. */
|
|
77
|
+
function parseBootstrapArgs(args) {
|
|
78
|
+
const { rest: plainArgs, isServiceFollowing } = (0, pairArgs_1.splitServiceFollowsFlag)(args);
|
|
79
|
+
const [bootstrapFlag, bootstrapDir, archiveFlag, archivePath, idFlag, packageId, code, ...rest] = plainArgs;
|
|
80
|
+
if (bootstrapFlag !== '--bootstrap' || archiveFlag !== '--archive' || idFlag !== '--package-id' || rest.length > 0)
|
|
81
|
+
return null;
|
|
82
|
+
return bootstrapDir === undefined || archivePath === undefined || packageId === undefined || code === undefined ? null : { bootstrapDir, archivePath, packageId, code, isServiceFollowing };
|
|
83
|
+
}
|
|
84
|
+
/** `<code> [--package-id <id>] [--service-follows]` — `pair` from an installed copy. */
|
|
85
|
+
function parsePairArgs(args) {
|
|
86
|
+
const { rest: plainArgs, isServiceFollowing } = (0, pairArgs_1.splitServiceFollowsFlag)(args);
|
|
87
|
+
const [code, flag, packageId, ...rest] = plainArgs;
|
|
88
|
+
if (code === undefined || rest.length > 0)
|
|
89
|
+
return null;
|
|
90
|
+
if (flag === undefined)
|
|
91
|
+
return { code, packageId: null, isServiceFollowing };
|
|
92
|
+
return flag === '--package-id' && packageId !== undefined && (0, packageId_1.checkIsPackageId)(packageId) ? { code, packageId, isServiceFollowing } : null;
|
|
93
|
+
}
|
|
94
|
+
function runBootstrap(args) {
|
|
95
|
+
const { bootstrapDir, archivePath, packageId, code, isServiceFollowing } = args;
|
|
96
|
+
// The archive is checked against the id the hub announced with it, and THAT id — not whatever the hub offers a moment later — is
|
|
97
|
+
// what the runner records as installed.
|
|
98
|
+
if (!(0, packageId_1.checkArchiveHasId)(archivePath, packageId)) {
|
|
99
|
+
process.stderr.write('charness-runner: the package that was downloaded is not the one the hub announced; run the line again\n');
|
|
100
|
+
return 1;
|
|
101
|
+
}
|
|
102
|
+
const paths = (0, runnerHome_1.getRunnerHomePaths)();
|
|
103
|
+
let appDir;
|
|
104
|
+
try {
|
|
105
|
+
appDir = (0, appInstall_1.installAppFromDirectory)(bootstrapDir, paths);
|
|
106
|
+
}
|
|
107
|
+
catch (error) {
|
|
108
|
+
process.stderr.write(`charness-runner: ${error instanceof Error ? error.message : 'could not install'}\n`);
|
|
109
|
+
return 1;
|
|
110
|
+
}
|
|
111
|
+
const installedCli = path.join(appDir, 'dist', 'runnerUtility', 'runnerCli.js');
|
|
112
|
+
const result = (0, child_process_1.spawnSync)(process.execPath, [installedCli, 'pair', code, '--package-id', packageId, ...(isServiceFollowing ? [pairArgs_1.serviceFollowsFlag] : [])], { stdio: 'inherit' });
|
|
113
|
+
const isCurrent = fs.existsSync(paths.currentApp) && fs.realpathSync(paths.currentApp) === fs.realpathSync(appDir);
|
|
114
|
+
if (!isCurrent)
|
|
115
|
+
fs.rmSync(appDir, { recursive: true, force: true });
|
|
116
|
+
return result.status ?? 1;
|
|
117
|
+
}
|
|
118
|
+
async function main() {
|
|
119
|
+
const [command = 'status', ...args] = process.argv.slice(2);
|
|
120
|
+
if (command === 'pair' && (0, pairArgs_1.splitServiceFollowsFlag)(args).rest[0] === '--bootstrap') {
|
|
121
|
+
const bootstrapArgs = parseBootstrapArgs(args);
|
|
122
|
+
if (bootstrapArgs === null) {
|
|
123
|
+
process.stderr.write(usage);
|
|
124
|
+
return usageExitCode;
|
|
125
|
+
}
|
|
126
|
+
return runBootstrap(bootstrapArgs);
|
|
127
|
+
}
|
|
128
|
+
const io = { stdout: (text) => { process.stdout.write(text); }, stderr: (text) => { process.stderr.write(text); } };
|
|
129
|
+
switch (command) {
|
|
130
|
+
case 'pair': {
|
|
131
|
+
const pairArgs = parsePairArgs(args);
|
|
132
|
+
if (pairArgs === null) {
|
|
133
|
+
process.stderr.write(usage);
|
|
134
|
+
return usageExitCode;
|
|
135
|
+
}
|
|
136
|
+
const { runPair } = await Promise.resolve().then(() => __importStar(require('./runnerCommands')));
|
|
137
|
+
return runPair(pairArgs.code, getOwnAppDir(), pairArgs.packageId, io, os.homedir(), { isServiceFollowing: pairArgs.isServiceFollowing });
|
|
138
|
+
}
|
|
139
|
+
case 'run': {
|
|
140
|
+
const { runLink } = await Promise.resolve().then(() => __importStar(require('./runnerCommands')));
|
|
141
|
+
return runLink(io, getOwnAppDir());
|
|
142
|
+
}
|
|
143
|
+
case 'status': {
|
|
144
|
+
const { runStatus } = await Promise.resolve().then(() => __importStar(require('./runnerCommands')));
|
|
145
|
+
return runStatus(io);
|
|
146
|
+
}
|
|
147
|
+
case 'check': {
|
|
148
|
+
const { runCheck } = await Promise.resolve().then(() => __importStar(require('./runnerCommands')));
|
|
149
|
+
return runCheck(io);
|
|
150
|
+
}
|
|
151
|
+
case 'service': {
|
|
152
|
+
const { runService } = await Promise.resolve().then(() => __importStar(require('./runnerCommands')));
|
|
153
|
+
return runService(args, io);
|
|
154
|
+
}
|
|
155
|
+
case 'pause':
|
|
156
|
+
case 'resume': {
|
|
157
|
+
const { runPause } = await Promise.resolve().then(() => __importStar(require('./runnerCommands')));
|
|
158
|
+
return runPause(command === 'pause', io);
|
|
159
|
+
}
|
|
160
|
+
case 'unpair': {
|
|
161
|
+
if (args.length > 1 || (args.length === 1 && args[0] !== '--local')) {
|
|
162
|
+
process.stderr.write(usage);
|
|
163
|
+
return usageExitCode;
|
|
164
|
+
}
|
|
165
|
+
const { runUnpair } = await Promise.resolve().then(() => __importStar(require('./runnerCommands')));
|
|
166
|
+
return runUnpair({ isLocalOnly: args[0] === '--local' }, io);
|
|
167
|
+
}
|
|
168
|
+
case 'help':
|
|
169
|
+
case '--help':
|
|
170
|
+
case '-h':
|
|
171
|
+
process.stdout.write(usage);
|
|
172
|
+
return 0;
|
|
173
|
+
default:
|
|
174
|
+
process.stderr.write(`charness-runner: unknown command: ${command}\n\n${usage}`);
|
|
175
|
+
return usageExitCode;
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
// Only when this file IS the program (`charness-runner`, `node …/runnerCli.js`): importing it, as the self-check does, runs no command.
|
|
179
|
+
if (require.main === module) {
|
|
180
|
+
main().then((code) => {
|
|
181
|
+
process.exitCode = code;
|
|
182
|
+
// `run` holds sockets, a Pueue probe and timers: it leaves by itself — also with the restart code after an update; every other command ends when its output is flushed.
|
|
183
|
+
if (process.argv[2] === 'run' || code === appInstall_1.restartExitCode)
|
|
184
|
+
process.exit(code);
|
|
185
|
+
}, (error) => {
|
|
186
|
+
process.stderr.write(`charness-runner: ${error.message}\n`);
|
|
187
|
+
process.exit(1);
|
|
188
|
+
});
|
|
189
|
+
}
|
|
190
|
+
//# sourceMappingURL=runnerCli.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runnerCli.js","sourceRoot":"","sources":["../../src/runnerUtility/runnerCli.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { type RedeemReply } from '../runners/gateProtocol';
|
|
2
|
+
import { type HubEndpoint } from './hubClient';
|
|
3
|
+
import { type ProcessControl } from './localLinkStop';
|
|
4
|
+
import { type CommandRunner } from '../selfUpdate/commandRunner';
|
|
5
|
+
import { type ServiceDeps } from './serviceManager';
|
|
6
|
+
import { type RunnerHomePaths } from './runnerHome';
|
|
7
|
+
import { type RunnerKeys } from './runnerKeys';
|
|
8
|
+
/**
|
|
9
|
+
* @description The commands of `charness-runner` that need the installed package (and so its dependencies): `pair`, `run`, `status`,
|
|
10
|
+
* `check`. `runnerCli.ts` starts them only after the app is installed.
|
|
11
|
+
*/
|
|
12
|
+
export interface CommandIo {
|
|
13
|
+
stdout: (text: string) => void;
|
|
14
|
+
stderr: (text: string) => void;
|
|
15
|
+
}
|
|
16
|
+
/** @description The «Keep it running» part of the pairing text: the terminal, a service without admin, and — on a Mac — the admin line that makes it always on. */
|
|
17
|
+
export declare function formatKeepRunningHelp(paths: RunnerHomePaths, platform?: NodeJS.Platform): string;
|
|
18
|
+
export declare function formatRemovedMessage(label: string): string;
|
|
19
|
+
/** @description What the pairing says in place of {@link formatKeepRunningHelp} when an admin's line installs the service next. */
|
|
20
|
+
export declare function formatServiceFollowsNote(): string;
|
|
21
|
+
export interface PairingOptions {
|
|
22
|
+
/** An admin's line installs the service right after this pairing (`pairArgs.ts`): no help about keeping it running is printed. */
|
|
23
|
+
isServiceFollowing: boolean;
|
|
24
|
+
}
|
|
25
|
+
export interface PairingOutcomeInputs {
|
|
26
|
+
endpoint: HubEndpoint;
|
|
27
|
+
keys: RunnerKeys;
|
|
28
|
+
reply: Extract<RedeemReply, {
|
|
29
|
+
ok: true;
|
|
30
|
+
}>;
|
|
31
|
+
/** The id of the archive this copy was installed from — NOT the hub's current package, which is only what is available now. */
|
|
32
|
+
packageId: string | null;
|
|
33
|
+
appDir: string;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* @description `charness-runner pair <code>` (run from the INSTALLED copy): redeem the code, record who the runner serves, install its
|
|
37
|
+
* tools. A pairing that an earlier run left half done is recovered FIRST (with the runner's own key), whatever the new code is. Returns the exit code.
|
|
38
|
+
*/
|
|
39
|
+
export declare function runPair(code: string, appDir: string, packageId: string | null, io: CommandIo, homeDir?: string, options?: PairingOptions): Promise<number>;
|
|
40
|
+
/** @description `charness-runner run`: ensure the tools and Pueue, then hold the link until stopped. Returns the exit code (75 = restart onto an update). */
|
|
41
|
+
export declare function runLink(io: CommandIo, appDir: string, homeDir?: string): Promise<number>;
|
|
42
|
+
/** @description `charness-runner status`. */
|
|
43
|
+
export declare function runStatus(io: CommandIo, homeDir?: string, processControl?: ProcessControl): number;
|
|
44
|
+
/** @description `charness-runner check`: the machine report and the tools, installing what is missing. */
|
|
45
|
+
export declare function runCheck(io: CommandIo, homeDir?: string): Promise<number>;
|
|
46
|
+
/** @description `charness-runner pause` / `resume`: take this machine out of rotation, or back in. */
|
|
47
|
+
export declare function runPause(isPaused: boolean, io: CommandIo, homeDir?: string): number;
|
|
48
|
+
/**
|
|
49
|
+
* @description `charness-runner service install|uninstall`, and the internal `service system-step prepare|abandon` (the account's side of
|
|
50
|
+
* the admin line's always-on install: one JSON line on stdout, see `serviceManager.ts`).
|
|
51
|
+
*/
|
|
52
|
+
export declare function runService(args: readonly string[], io: CommandIo, deps?: ServiceDeps): Promise<number>;
|
|
53
|
+
export interface UnpairOptions {
|
|
54
|
+
/** Do not tell the hub (it is gone, or this machine cannot reach it). */
|
|
55
|
+
isLocalOnly: boolean;
|
|
56
|
+
}
|
|
57
|
+
export interface UnpairDeps {
|
|
58
|
+
service: ServiceDeps;
|
|
59
|
+
process: ProcessControl;
|
|
60
|
+
queueRunner: CommandRunner;
|
|
61
|
+
}
|
|
62
|
+
export declare function createUnpairDeps(): UnpairDeps;
|
|
63
|
+
/**
|
|
64
|
+
* @description `charness-runner unpair`: forget the pairing — and make that true. In this order:
|
|
65
|
+
* 1. a system service (installed by an admin) is NOT touched from the account: unpair stops there and prints the admin command, because a
|
|
66
|
+
* pairing cannot be forgotten under a running daemon that holds it;
|
|
67
|
+
* 2. the hub is told (it removes the key line and cuts the link) unless `--local`;
|
|
68
|
+
* 3. the link on this machine is STOPPED and checked to be gone — the user service removed (verified), a foreground `run` ended — since a
|
|
69
|
+
* running link keeps the keys in memory and goes on serving the hub's commands whatever the files say;
|
|
70
|
+
* 4. the queue's jobs are stopped (this machine no longer serves that hub's agents);
|
|
71
|
+
* 5. only then `config.json`, the keys, the status, the pause and the iOS result are deleted. The installed program, the tools, the work
|
|
72
|
+
* folder and the queue (now empty) stay.
|
|
73
|
+
* A step that fails stops the command with exit 1 and says what is left.
|
|
74
|
+
*/
|
|
75
|
+
export declare function runUnpair(options: UnpairOptions, io: CommandIo, homeDir?: string, deps?: UnpairDeps): Promise<number>;
|
|
76
|
+
//# sourceMappingURL=runnerCommands.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runnerCommands.d.ts","sourceRoot":"","sources":["../../src/runnerUtility/runnerCommands.ts"],"names":[],"mappings":"AAIA,OAAO,EAA2D,KAAK,WAAW,EAAsB,MAAM,yBAAyB,CAAC;AAKxI,OAAO,EAAqD,KAAK,WAAW,EAAE,MAAM,aAAa,CAAC;AAMlG,OAAO,EAAiE,KAAK,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACrH,OAAO,EAAc,KAAK,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAG7E,OAAO,EAAwI,KAAK,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE1L,OAAO,EAAsB,KAAK,eAAe,EAAE,MAAM,cAAc,CAAC;AACxE,OAAO,EAAoC,KAAK,UAAU,EAAE,MAAM,cAAc,CAAC;AAKjF;;;GAGG;AAEH,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/B,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CAChC;AA4CD,mKAAmK;AACnK,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,eAAe,EAAE,QAAQ,GAAE,MAAM,CAAC,QAA2B,GAAG,MAAM,CAalH;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAE1D;AAED,mIAAmI;AACnI,wBAAgB,wBAAwB,IAAI,MAAM,CAEjD;AAED,MAAM,WAAW,cAAc;IAC7B,kIAAkI;IAClI,kBAAkB,EAAE,OAAO,CAAC;CAC7B;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,WAAW,CAAC;IACtB,IAAI,EAAE,UAAU,CAAC;IACjB,KAAK,EAAE,OAAO,CAAC,WAAW,EAAE;QAAE,EAAE,EAAE,IAAI,CAAA;KAAE,CAAC,CAAC;IAC1C,+HAA+H;IAC/H,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,MAAM,EAAE,MAAM,CAAC;CAChB;AAsCD;;;GAGG;AACH,wBAAsB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,EAAE,EAAE,EAAE,SAAS,EAAE,OAAO,GAAE,MAAqB,EAAE,OAAO,GAAE,cAA8C,GAAG,OAAO,CAAC,MAAM,CAAC,CAmF7M;AAED,6JAA6J;AAC7J,wBAAsB,OAAO,CAAC,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAE,MAAqB,GAAG,OAAO,CAAC,MAAM,CAAC,CAuD5G;AAED,6CAA6C;AAC7C,wBAAgB,SAAS,CAAC,EAAE,EAAE,SAAS,EAAE,OAAO,GAAE,MAAqB,EAAE,cAAc,GAAE,cAAuC,GAAG,MAAM,CAwBxI;AAED,0GAA0G;AAC1G,wBAAsB,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,OAAO,GAAE,MAAqB,GAAG,OAAO,CAAC,MAAM,CAAC,CAM7F;AAED,sGAAsG;AACtG,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE,OAAO,GAAE,MAAqB,GAAG,MAAM,CASjG;AAED;;;GAGG;AACH,wBAAsB,UAAU,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,GAAE,WAAiC,GAAG,OAAO,CAAC,MAAM,CAAC,CAkBjI;AAED,MAAM,WAAW,aAAa;IAC5B,yEAAyE;IACzE,WAAW,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,WAAW,CAAC;IACrB,OAAO,EAAE,cAAc,CAAC;IACxB,WAAW,EAAE,aAAa,CAAC;CAC5B;AAED,wBAAgB,gBAAgB,IAAI,UAAU,CAE7C;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,SAAS,CAAC,OAAO,EAAE,aAAa,EAAE,EAAE,EAAE,SAAS,EAAE,OAAO,GAAE,MAAqB,EAAE,IAAI,GAAE,UAA+B,GAAG,OAAO,CAAC,MAAM,CAAC,CA8C7J"}
|